/* ══════════════════════════════════════
   theBetterBean Design Tokens
   신규 디자인 시스템 변수 — 레거시 코드 위에 추가
   ══════════════════════════════════════ */

:root {
  /* ── Colors: Background ── */
  --color-bg-primary: #FAF6ED;
  --color-bg-secondary: #FDFBF7;
  --color-bg-dark: #342D2C;
  --color-bg-overlay: rgba(52, 45, 44, 0.6);
  --color-bg-card: #FFFFFF;

  /* ── Colors: Text ── */
  --color-text-primary: #4C4341;
  --color-text-secondary: #7A706D;
  --color-text-tertiary: #A89E9B;
  --color-text-inverse: #FDFBF7;
  --color-text-accent: #C8652A;

  /* ── Colors: Accent & CTA ── */
  --color-accent: #C8652A;
  --color-accent-hover: #B5581F;
  --color-accent-light: rgba(200, 101, 42, 0.1);
  --color-accent-border: rgba(200, 101, 42, 0.3);

  /* ── Colors: Border & Divider ── */
  --color-border: #E8E2D8;
  --color-border-light: #F0ECE4;
  --color-divider: #E0D9CE;

  /* ── Colors: Origin (Single-Origin Coffee) ── */
  --color-origin-ethiopia: #D4A574;
  --color-origin-colombia: #8B6F47;
  --color-origin-brazil: #6B8F3C;
  --color-origin-guatemala: #C75B39;
  --color-origin-kenya: #A0522D;
  --color-origin-indonesia: #5C4033;

  /* ── Typography ── */
  --font-primary: 'Pretendard', 'Noto Sans KR', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-weight-light: 300;
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;

  /* ── Font Sizes (fluid) ── */
  --text-xs: clamp(0.7rem, 0.65rem + 0.25vw, 0.75rem);
  --text-sm: clamp(0.8rem, 0.75rem + 0.25vw, 0.875rem);
  --text-base: clamp(0.9rem, 0.85rem + 0.25vw, 1rem);
  --text-lg: clamp(1rem, 0.9rem + 0.5vw, 1.125rem);
  --text-xl: clamp(1.15rem, 1rem + 0.75vw, 1.25rem);
  --text-2xl: clamp(1.4rem, 1.2rem + 1vw, 1.5rem);
  --text-3xl: clamp(1.7rem, 1.4rem + 1.5vw, 1.875rem);
  --text-4xl: clamp(2rem, 1.5rem + 2.5vw, 2.5rem);
  --text-5xl: clamp(2.5rem, 1.8rem + 3.5vw, 3.5rem);
  --text-hero: clamp(3rem, 2rem + 5vw, 5rem);

  /* ── Line Heights ── */
  --leading-tight: 1.2;
  --leading-snug: 1.35;
  --leading-normal: 1.6;
  --leading-relaxed: 1.75;

  /* ── Letter Spacing ── */
  --tracking-tight: -0.02em;
  --tracking-normal: 0;
  --tracking-wide: 0.04em;
  --tracking-wider: 0.08em;
  --tracking-widest: 0.15em;

  /* ── Spacing ── */
  --space-xs: 0.25rem;
  --space-sm: 0.5rem;
  --space-md: 1rem;
  --space-lg: 1.5rem;
  --space-xl: 2rem;
  --space-2xl: 3rem;
  --space-3xl: 4rem;
  --space-4xl: 6rem;
  --space-5xl: 8rem;
  --space-section: clamp(3rem, 2rem + 5vw, 8rem);
  --space-section-lg: clamp(4rem, 3rem + 5vw, 10rem);

  /* ── Layout ── */
  --container-max: 1440px;
  --container-content: 1200px;
  --container-narrow: 800px;
  --container-padding: clamp(1rem, 0.5rem + 2.5vw, 2rem);
  --grid-columns: 12;
  --grid-gap: clamp(1rem, 0.5rem + 2.5vw, 2rem);

  /* ── Border Radius ── */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --radius-2xl: 24px;
  --radius-full: 9999px;

  /* ── Shadows ── */
  --shadow-sm: 0 1px 3px rgba(76, 67, 65, 0.06);
  --shadow-md: 0 4px 12px rgba(76, 67, 65, 0.08);
  --shadow-lg: 0 8px 24px rgba(76, 67, 65, 0.1);
  --shadow-xl: 0 12px 40px rgba(76, 67, 65, 0.12);
  --shadow-card: 0 2px 8px rgba(76, 67, 65, 0.05);
  --shadow-card-hover: 0 8px 24px rgba(76, 67, 65, 0.1);

  /* ── Transitions ── */
  --transition-fast: 150ms ease;
  --transition-base: 250ms ease;
  --transition-slow: 400ms ease;
  --transition-spring: 500ms cubic-bezier(0.34, 1.56, 0.64, 1);
  --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out-quart: cubic-bezier(0.76, 0, 0.24, 1);

  /* ── Z-Index Scale ── */
  --z-base: 0;
  --z-dropdown: 100;
  --z-sticky: 200;
  --z-overlay: 300;
  --z-modal: 400;
  --z-toast: 500;

  /* ── Header ── */
  --header-height: 72px;
  --header-height-scrolled: 60px;
}


/* ══════════════════════════════════════
   LEGACY MakeShop Variables (preserved)
   ══════════════════════════════════════ */

:root {
    --cw-font-sans-serif: 'Pretendard', system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans",
        Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    /* 산세리프 폰트 */
    --cw-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    /* 모노스페이스 폰트 */
    --cw-light-color: #999;
    /* Light Color */
    --cw-heading-color: #121212;
    /* Heading Color */
    --cw-point-color: #FF4600;
    /* Point Color */
    --cw-point-color-pri: #5f4541;
    /* Point Primary Color */
    --cw-point-color-blue: #227AFF;
    /* Point Blue Color */
    --cw-warning-40: #FFDA6A;
    /* Warning Color */
    --cw-error-color: #DC3545;
    /* Error Color */
    --cw-color-white: #ffffff;
    /* Neutral/white */
    --cw-color-10: #f6f6f6;
    /* Neutral/10 */
    --cw-color-20: #EDEDED;
    /* Neutral/20 */
    --cw-color-30: #dedede;
    /* Neutral/30 */
    --cw-color-40: #c2c2c2;
    /* Neutral/40 */
    --cw-color-50: #a9a9a9;
    /* Neutral/50 */
    --cw-color-60: #999999;
    /* Neutral/60 */
    --cw-color-80: #555555;
    /* Neutral/80 */
    --cw-color-70: #777777;
    /* Neutral/70 */
    --cw-color-90: #343434;
    /* Neutral/90 */

    --cw-border-radius: 4px;
    /* btn input round */

    --cw-size-2: 0.125rem;
    --cw-size-3: 0.188rem;
    --cw-size-4: 0.25rem;
    --cw-size-5: 0.313rem;
    --cw-size-6: 0.375rem;
    --cw-size-7: 0.438rem;
    --cw-size-8: 0.5rem;
    --cw-size-9: 0.563rem;
    --cw-size-10: 0.625rem;
    --cw-size-11: 0.688rem;
    --cw-size-12: 0.75rem;
    --cw-size-13: 0.813rem;
    --cw-size-14: 0.875rem;
    --cw-size-15: 0.938rem;
    --cw-size-16: 1rem;
    --cw-size-17: 1.063rem;
    --cw-size-18: 1.125rem;
    --cw-size-19: 1.188rem;
    --cw-size-20: 1.25rem;
    --cw-size-22: 1.375rem;
    --cw-size-24: 1.5rem;
    --cw-size-26: 1.625rem;
    --cw-size-28: 1.75rem;
    --cw-size-30: 1.875rem;
    --cw-size-32: 2rem;
    --cw-size-34: 2.125rem;
    --cw-size-36: 2.25rem;
    --cw-size-38: 2.375rem;
    --cw-size-40: 2.5rem;
    --cw-size-42: 2.625rem;
    --cw-size-44: 2.75rem;
    --cw-size-46: 2.875rem;
    --cw-size-48: 3rem;
    --cw-size-50: 3.125rem;
    --cw-size-52: 3.25rem;
    --cw-size-54: 3.375rem;
    --cw-size-56: 3.5rem;
    --cw-size-58: 3.625rem;
    --cw-size-60: 3.75rem;
    --cw-size-62: 3.875rem;
    --cw-size-64: 4rem;
    --cw-size-66: 4.125rem;
    --cw-size-68: 4.25rem;
    --cw-size-70: 4.375rem;
    --cw-size-72: 4.5rem;
    --cw-size-74: 4.625rem;
    --cw-size-76: 4.75rem;
    --cw-size-78: 4.875rem;
    --cw-size-80: 5rem;
    --cw-size-90: 5.625rem;
    --cw-size-100: 6.25rem;
    --cw-size-110: 6.875rem;
    --cw-size-120: 7.5rem;
    --cw-size-130: 8.125rem;
    --cw-size-140: 8.75rem;
    --cw-size-150: 9.375rem;
    --cw-size-160: 10rem;
    --cw-size-170: 10.625rem;
    --cw-size-180: 11.25rem;
    --cw-size-190: 11.875rem;
    --cw-size-200: 12.5rem;
    --cw-size-210: 13.125rem;
    --cw-size-220: 13.75rem;
    --cw-size-230: 14.375rem;
    --cw-size-240: 15rem;
    --cw-size-250: 15.625rem;
    --cw-size-260: 16.25rem;
    --cw-size-270: 16.875rem;
    --cw-size-280: 17.5rem;
    --cw-size-290: 18.125rem;
    --cw-size-300: 18.75rem;
    --cw-size-310: 19.375rem;
    --cw-size-320: 20rem;
    --cw-size-330: 21.25rem;
    --cw-size-340: 21.875rem;
    --cw-size-350: 22.5rem;
    --cw-size-360: 22.5rem;
    --cw-size-370: 23.125rem;
    --cw-size-380: 23.75rem;
    --cw-size-390: 24.375rem;
    --cw-size-400: 25rem;
    --cw-size-410: 25.625rem;
    --cw-size-420: 26.25rem;
    --cw-size-430: 26.875rem;
    --cw-size-440: 27.5rem;
    --cw-size-450: 28.125rem;
    --cw-size-460: 28.75rem;
    --cw-size-470: 29.375rem;
    --cw-size-480: 30rem;
    --cw-size-490: 30.625rem;
    --cw-size-500: 31.25rem;
    --cw-size-540: 33.75rem;
    --cw-size-600: 37.5rem;
    --cw-size-670: 42rem;
    --cw-size-700: 43.75rem;
    --cw-size-750: 46.875rem;
    --cw-size-800: 50rem;
    --cw-size-850: 52.5rem;
    --cw-size-900: 56.25rem;
    --cw-size-950: 59.375rem;
    --cw-size-1000: 62.5rem;

    --rectangle-bg: #121212;
    --rectangle-border-color: rgba(0, 0, 0, 0.15);
}

html,
body,
pre,
h1,
h2,
h3,
h4,
h5,
h6,
dl,
dt,
dd,
ul,
li,
ol,
th,
td,
p,
blockquote,
form,
fieldset,
legend,
menu,
nav,
section,
hgroup,
article,
header,
aside,
footer,
input,
select,
textarea,
button {
    margin: 0;
    padding: 0;
}


/* Pretendard 웹폰트 적용 */
@font-face {
    font-family: 'Pretendard';
    font-weight: 900;
    font-display: swap;
    src: local('Pretendard Black'), url(//skin.makeshop.co.kr/skin/rw_shop/pretendard/woff2/Pretendard-Black.woff2) format('woff2'), url(//skin.makeshop.co.kr/skin/rw_shop/pretendard/woff/Pretendard-Black.woff) format('woff');
}

@font-face {
    font-family: 'Pretendard';
    font-weight: 800;
    font-display: swap;
    src: local('Pretendard ExtraBold'), url(//skin.makeshop.co.kr/skin/rw_shop/pretendard/woff2/Pretendard-ExtraBold.woff2) format('woff2'), url(//skin.makeshop.co.kr/skin/rw_shop/pretendard/woff/Pretendard-ExtraBold.woff) format('woff');
}

@font-face {
    font-family: 'Pretendard';
    font-weight: 700;
    font-display: swap;
    src: local('Pretendard Bold'), url(//skin.makeshop.co.kr/skin/rw_shop/pretendard/woff2/Pretendard-Bold.woff2) format('woff2'), url(//skin.makeshop.co.kr/skin/rw_shop/pretendard/woff/Pretendard-Bold.woff) format('woff');
}

@font-face {
    font-family: 'Pretendard';
    font-weight: 600;
    font-display: swap;
    src: local('Pretendard SemiBold'), url(//skin.makeshop.co.kr/skin/rw_shop/pretendard/woff2/Pretendard-SemiBold.woff2) format('woff2'), url(//skin.makeshop.co.kr/skin/rw_shop/pretendard/woff/Pretendard-SemiBold.woff) format('woff');
}

@font-face {
    font-family: 'Pretendard';
    font-weight: 500;
    font-display: swap;
    src: local('Pretendard Medium'), url(//skin.makeshop.co.kr/skin/rw_shop/pretendard/woff2/Pretendard-Medium.woff2) format('woff2'), url(//skin.makeshop.co.kr/skin/rw_shop/pretendard/woff/Pretendard-Medium.woff) format('woff');
}

@font-face {
    font-family: 'Pretendard';
    font-weight: 400;
    font-display: swap;
    src: local('Pretendard Regular'), url(//skin.makeshop.co.kr/skin/rw_shop/pretendard/woff2/Pretendard-Regular.woff2) format('woff2'), url(//skin.makeshop.co.kr/skin/rw_shop/pretendard/woff/Pretendard-Regular.woff) format('woff');
}

@font-face {
    font-family: 'Pretendard';
    font-weight: 300;
    font-display: swap;
    src: local('Pretendard Light'), url(//skin.makeshop.co.kr/skin/rw_shop/pretendard/woff2/Pretendard-Light.woff2) format('woff2'), url(//skin.makeshop.co.kr/skin/rw_shop/pretendard/woff/Pretendard-Light.woff) format('woff');
}

@font-face {
    font-family: 'Pretendard';
    font-weight: 200;
    font-display: swap;
    src: local('Pretendard ExtraLight'), url(//skin.makeshop.co.kr/skin/rw_shop/pretendard/woff2/Pretendard-ExtraLight.woff2) format('woff2'), url(//skin.makeshop.co.kr/skin/rw_shop/pretendard/woff/Pretendard-ExtraLight.woff) format('woff');
}

@font-face {
    font-family: 'Pretendard';
    font-weight: 100;
    font-display: swap;
    src: local('Pretendard Thin'), url(//skin.makeshop.co.kr/skin/rw_shop/pretendard/woff2/Pretendard-Thin.woff2) format('woff2'), url(//skin.makeshop.co.kr/skin/rw_shop/pretendard/woff/Pretendard-Thin.woff) format('woff');
}

/*!
 * Bootstrap Reboot v5.3.3 (https://getbootstrap.com/)
 * Copyright 2011-2024 The Bootstrap Authors
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */
:root {
    /* Bootstrap 테마 색상 */
    --bs-primary: #0d6efd;
    /* 기본 색상 */
    --bs-secondary: #6c757d;
    /* 보조 색상 */
    --bs-success: #198754;
    /* 성공을 나타내는 색상 */
    --bs-info: #0dcaf0;
    /* 정보 색상 */
    --bs-warning: #ffc107;
    /* 경고 색상 */
    --bs-danger: #dc3545;
    /* 위험 색상 */
    --bs-light: #f8f9fa;
    /* 밝은 배경색 */
    --bs-dark: #212529;
    /* 어두운 배경색 */

    /* 폰트 패밀리 설정 */
    --bs-font-sans-serif: var(--cw-font-sans-serif);
    --bs-font-monospace: var(--cw-font-monospace);

    /* 그라디언트 설정 */
    --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
    /* 그라디언트 효과 */

    /* 기본 텍스트 설정 */
    --bs-body-font-family: var(--bs-font-sans-serif);
    /* 기본 폰트 패밀리 */
    --bs-body-font-size: 1rem;
    /* 기본 폰트 크기 */
    --bs-body-font-weight: 400;
    /* 기본 폰트 두께 */
    --bs-body-line-height: 1.5;
    /* 기본 라인 높이 */
    --bs-body-color: #121212;
    /* 기본 텍스트 색상 */
    --bs-body-color-rgb: 33, 37, 41;
    /* 기본 텍스트 색상의 RGB 값 */
    --bs-body-bg: #fff;
    /* 기본 배경색 */
    --bs-body-bg-rgb: 255, 255, 255;
    /* 기본 배경색의 RGB 값 */

    /* 보조 텍스트 및 배경 색상 */
    --bs-secondary-color: rgba(33, 37, 41, 0.75);
    /* 보조 텍스트 색상 */
    --bs-secondary-color-rgb: 33, 37, 41;
    /* 보조 텍스트 색상의 RGB 값 */
    --bs-secondary-bg: #e9ecef;
    /* 보조 배경색 */
    --bs-secondary-bg-rgb: 233, 236, 239;
    /* 보조 배경색의 RGB 값 */

    /* 제목 색상 */
    --bs-heading-color: inherit;
    /* 제목 텍스트 색상 (상속됨) */

    /* 링크 색상 */
    --bs-link-color: #0d6efd;
    /* 링크 텍스트 색상 */
    --bs-link-color-rgb: 13, 110, 253;
    /* 링크 텍스트 색상의 RGB 값 */
    --bs-link-decoration: underline;
    /* 링크 텍스트의 장식 (밑줄) */
    --bs-link-hover-color: #0a58ca;
    /* 링크 텍스트의 호버 시 색상 */
    --bs-link-hover-color-rgb: 10, 88, 202;
    /* 링크 텍스트의 호버 시 RGB 값 */

    /* 코드 및 하이라이트 색상 */
    --bs-code-color: #d63384;
    /* 코드 텍스트 색상 */
    --bs-highlight-color: #212529;
    /* 하이라이트 텍스트 색상 */
    --bs-highlight-bg: #fff3cd;
    /* 하이라이트 배경색 */

    /* 기본 경계선 설정 */
    --bs-border-width: 1px;
    /* 기본 경계선 두께 */
    --bs-border-style: solid;
    /* 기본 경계선 스타일 */
    --bs-border-color: #a9a9a9;
    /* 기본 경계선 색상 */
    --bs-border-color-translucent: rgba(0, 0, 0, 0.175);
    /* 반투명 경계선 색상 */

    /* 경계선 반경 (둥근 모서리) */
    --bs-border-radius: 0.375rem;
    /* 기본 경계선 반경 */
    --bs-border-radius-sm: 0.25rem;
    /* 작은 경계선 반경 */
    --bs-border-radius-lg: 0.5rem;
    /* 큰 경계선 반경 */
    --bs-border-radius-xl: 1rem;
    /* 더 큰 경계선 반경 */
    --bs-border-radius-xxl: 2rem;
    /* 매우 큰 경계선 반경 */
    --bs-border-radius-2xl: var(--bs-border-radius-xxl);
    /* 2xl 크기의 경계선 반경 */
    --bs-border-radius-pill: 50rem;
    /* 완전 둥근 경계선 반경 (알약 모양) */
}


*,
*::before,
*::after {
    box-sizing: border-box;
}

@media (prefers-reduced-motion: no-preference) {
    :root {
        /* scroll-behavior: smooth; */
        scroll-behavior: auto;
    }
}

body {
    margin: 0;
    font-family: var(--bs-body-font-family);
    font-size: var(--bs-body-font-size);
    font-weight: var(--bs-body-font-weight);
    line-height: var(--bs-body-line-height);
    color: var(--bs-body-color);
    background-color: var(--bs-body-bg);
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

hr {
    margin: 1rem 0;
    color: inherit;
    border: 0;
    border-top: var(--bs-border-width) solid;
    opacity: 0.25;
}

h6,
h5,
h4,
h3,
h2,
h1 {
    margin-top: 0;
    margin-bottom: 0;
    font-weight: 500;
    line-height: 1.2;
    color: var(--bs-heading-color);
}

h1 {
    font-size: calc(1.375rem + 1.5vw);
}

@media (min-width: 1200px) {
    h1 {
        font-size: 2.5rem;
    }
}

h2 {
    font-size: calc(1.325rem + 0.9vw);
}

@media (min-width: 1200px) {
    h2 {
        font-size: 2rem;
    }
}

h3 {
    font-size: calc(1.3rem + 0.6vw);
}

@media (min-width: 1200px) {
    h3 {
        font-size: 1.75rem;
    }
}

h4 {
    font-size: calc(1.275rem + 0.3vw);
}

@media (min-width: 1200px) {
    h4 {
        font-size: 1.5rem;
    }
}

h5 {
    font-size: 1.25rem;
}

h6 {
    font-size: 1rem;
}

p {
    margin-top: 0;
    margin-bottom: 0;
}

abbr[title] {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
    cursor: help;
    -webkit-text-decoration-skip-ink: none;
    text-decoration-skip-ink: none;
}

address {
    margin-bottom: 1rem;
    font-style: normal;
    line-height: inherit;
}

ol,
ul {
    list-style-type: none;
    padding-inline-start: 0;
}

ol,
ul,
dl {
    margin-top: 0;
    margin-bottom: 0;
}

ol ol,
ul ul,
ol ul,
ul ol {
    margin-bottom: 0;
}

dt {
    font-weight: 700;
}

dd {
    margin-bottom: 0;
    margin-left: 0;
}

blockquote {
    margin: 0 0 1rem;
}

b,
strong {
    font-weight: bolder;
}

small {
    font-size: 0.875em;
}

mark {
    padding: 0.1875em;
    color: var(--bs-highlight-color);
    background-color: var(--bs-highlight-bg);
}

sub,
sup {
    position: relative;
    font-size: 0.75em;
    line-height: 0;
    vertical-align: baseline;
}

sub {
    bottom: -0.25em;
}

sup {
    top: -0.5em;
}

a {
    color: var(--bs-link-hover-color-rgb);
    text-decoration: none;
}

a:not([href]):not([class]),
a:not([href]):not([class]):hover {
    color: inherit;
    text-decoration: none;
}

pre,
code,
kbd,
samp {
    font-family: var(--bs-font-monospace);
    font-size: 1em;
}

pre {
    display: block;
    margin-top: 0;
    margin-bottom: 1rem;
    overflow: auto;
    font-size: 0.875em;
}

pre code {
    font-size: inherit;
    color: inherit;
    word-break: normal;
}

code {
    font-size: 0.875em;
    color: var(--bs-code-color);
    word-wrap: break-word;
}

a>code {
    color: inherit;
}

kbd {
    padding: 0.1875rem 0.375rem;
    font-size: 0.875em;
    color: var(--bs-body-bg);
    background-color: var(--bs-body-color);
    border-radius: 0.25rem;
}

kbd kbd {
    padding: 0;
    font-size: 1em;
}

figure {
    margin: 0 0 1rem;
}

img,
svg {
    vertical-align: middle;
}

table {
    caption-side: bottom;
    border-collapse: collapse;
}

caption {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    color: var(--bs-secondary-color);
    text-align: left;
}

th {
    text-align: inherit;
    text-align: -webkit-match-parent;
}

thead,
tbody,
tfoot,
tr,
td,
th {
    border-color: inherit;
    border-style: solid;
    border-width: 0;
}

label {
    display: inline-block;
}

button {
    border-radius: 0;
}

button:focus:not(:focus-visible) {
    outline: 0;
}

input,
button,
select,
optgroup,
textarea {
    margin: 0;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}

button,
select {
    text-transform: none;
}

[role="button"] {
    cursor: pointer;
}

select {
    word-wrap: normal;
}

select:disabled {
    opacity: 1;
}

[list]:not([type="date"]):not([type="datetime-local"]):not([type="month"]):not([type="week"]):not([type="time"])::-webkit-calendar-picker-indicator {
    display: none !important;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
    -webkit-appearance: button;
    appearance: button;
}

button:not(:disabled),
[type="button"]:not(:disabled),
[type="reset"]:not(:disabled),
[type="submit"]:not(:disabled) {
    cursor: pointer;
}

::-moz-focus-inner {
    padding: 0;
    border-style: none;
}

textarea {
    resize: vertical;
}

fieldset {
    min-width: 0;
    padding: 0;
    margin: 0;
    border: 0;
}

legend {
    float: left;
    width: 100%;
    padding: 0;
    margin-bottom: 0.5rem;
    font-size: calc(1.275rem + 0.3vw);
    line-height: inherit;
}

@media (min-width: 1200px) {
    legend {
        font-size: 1.5rem;
    }
}

legend+* {
    clear: left;
}

::-webkit-datetime-edit-fields-wrapper,
::-webkit-datetime-edit-text,
::-webkit-datetime-edit-minute,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-year-field {
    padding: 0;
}

::-webkit-inner-spin-button {
    height: auto;
}

[type="search"] {
    -webkit-appearance: textfield;
    appearance: textfiled;
    outline-offset: -2px;
}

/* rtl:raw:
 [type="tel"],
 [type="url"],
 [type="email"],
 [type="number"] {
   direction: ltr;
 }
 */
::-webkit-search-decoration {
    -webkit-appearance: none;
}

::-webkit-color-swatch-wrapper {
    padding: 0;
}

::-webkit-file-upload-button {
    font: inherit;
    -webkit-appearance: button;
}

::file-selector-button {
    font: inherit;
    -webkit-appearance: button;
    appearance: button;
}

output {
    display: inline-block;
}

iframe {
    border: 0;
}

summary {
    display: list-item;
    cursor: pointer;
}

progress {
    vertical-align: baseline;
}

[hidden] {
    display: none !important;
}

.img-fluid {
    max-width: 100%;
    height: auto;
}

.figure {
    display: inline-block;
}

.figure-img {
    margin-bottom: 0.5rem;
    line-height: 1;
}

.figure-caption {
    font-size: 0.875em;
    color: var(--bs-secondary-color);
}

.clearfix::after {
    display: block;
    clear: both;
    content: "";
}

/*!
 * Bootstrap Grid v5.3.3 (https://getbootstrap.com/)
 * Copyright 2011-2024 The Bootstrap Authors
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */
.container,
.container-fluid,
.container-xxl,
.container-xl,
.container-lg,
.container-md,
.container-sm {
    --bs-gutter-x: 2rem;
    --bs-gutter-y: 0;
    width: 100%;
    padding-right: calc(var(--bs-gutter-x) * 0.5);
    padding-left: calc(var(--bs-gutter-x) * 0.5);
    margin-right: auto;
    margin-left: auto;
}

@media (min-width: 576px) {

    .container-sm,
    .container {
        --bs-gutter-x: 2rem;
        /* max-width: 540px; */
    }
}

@media (min-width: 768px) {

    .container-md,
    .container-sm,
    .container {
        --bs-gutter-x: 2rem;
        /* max-width: 720px; */
    }
}

@media (min-width: 992px) {

    .container-lg,
    .container-md,
    .container-sm,
    .container {
        --bs-gutter-x: 3rem;
        /* max-width: 960px; */
    }
}

@media (min-width: 1200px) {

    .container-xl,
    .container-lg,
    .container-md,
    .container-sm,
    .container {
        --bs-gutter-x: 5rem;
        /* max-width: 1140px; */
    }
}

@media (min-width: 1400px) {

    .container-xxl,
    .container-xl,
    .container-lg,
    .container-md,
    .container-sm,
    .container {
        --bs-gutter-x: 5rem;
        max-width: 1440px;
    }
}

.row {
    --bs-gutter-x: 2rem;
    --bs-gutter-y: 0;
    display: flex;
    flex-wrap: wrap;
    margin-top: calc(-1 * var(--bs-gutter-y));
    margin-right: calc(-0.5 * var(--bs-gutter-x));
    margin-left: calc(-0.5 * var(--bs-gutter-x));
}

.row>* {
    box-sizing: border-box;
    flex-shrink: 0;
    width: 100%;
    max-width: 100%;
    padding-right: calc(var(--bs-gutter-x) * 0.5);
    padding-left: calc(var(--bs-gutter-x) * 0.5);
    margin-top: var(--bs-gutter-y);
}

.col {
    flex: 1 0 0%;
}

.row-cols-auto>* {
    flex: 0 0 auto;
    width: auto;
}

.row-cols-1>* {
    flex: 0 0 auto;
    width: 100%;
}

.row-cols-2>* {
    flex: 0 0 auto;
    width: 50%;
}

.row-cols-3>* {
    flex: 0 0 auto;
    width: 33.33333333%;
}

.row-cols-4>* {
    flex: 0 0 auto;
    width: 25%;
}

.row-cols-5>* {
    flex: 0 0 auto;
    width: 20%;
}

.row-cols-6>* {
    flex: 0 0 auto;
    width: 16.66666667%;
}

.col-auto {
    flex: 0 0 auto;
    width: auto;
}

.col-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
}

.col-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
}

.col-3 {
    flex: 0 0 auto;
    width: 25%;
}

.col-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
}

.col-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
}

.col-6 {
    flex: 0 0 auto;
    width: 50%;
}

.col-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
}

.col-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
}

.col-9 {
    flex: 0 0 auto;
    width: 75%;
}

.col-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
}

.col-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
}

.col-12 {
    flex: 0 0 auto;
    width: 100%;
}

.offset-1 {
    margin-left: 8.33333333%;
}

.offset-2 {
    margin-left: 16.66666667%;
}

.offset-3 {
    margin-left: 25%;
}

.offset-4 {
    margin-left: 33.33333333%;
}

.offset-5 {
    margin-left: 41.66666667%;
}

.offset-6 {
    margin-left: 50%;
}

.offset-7 {
    margin-left: 58.33333333%;
}

.offset-8 {
    margin-left: 66.66666667%;
}

.offset-9 {
    margin-left: 75%;
}

.offset-10 {
    margin-left: 83.33333333%;
}

.offset-11 {
    margin-left: 91.66666667%;
}

.g-0,
.gx-0 {
    --bs-gutter-x: 0;
}

.g-0,
.gy-0 {
    --bs-gutter-y: 0;
}

.g-1,
.gx-1 {
    --bs-gutter-x: 0.25rem;
}

.g-1,
.gy-1 {
    --bs-gutter-y: 0.25rem;
}

.g-2,
.gx-2 {
    --bs-gutter-x: 0.5rem;
}

.g-2,
.gy-2 {
    --bs-gutter-y: 0.5rem;
}

.g-3,
.gx-3 {
    --bs-gutter-x: 1rem;
}

.g-3,
.gy-3 {
    --bs-gutter-y: 1rem;
}

.g-4,
.gx-4 {
    --bs-gutter-x: 1.5rem;
}

.g-4,
.gy-4 {
    --bs-gutter-y: 1.5rem;
}

.g-5,
.gx-5 {
    --bs-gutter-x: 3rem;
}

.g-5,
.gy-5 {
    --bs-gutter-y: 3rem;
}

@media (min-width: 576px) {
    .col-sm {
        flex: 1 0 0%;
    }

    .row-cols-sm-auto>* {
        flex: 0 0 auto;
        width: auto;
    }

    .row-cols-sm-1>* {
        flex: 0 0 auto;
        width: 100%;
    }

    .row-cols-sm-2>* {
        flex: 0 0 auto;
        width: 50%;
    }

    .row-cols-sm-3>* {
        flex: 0 0 auto;
        width: 33.33333333%;
    }

    .row-cols-sm-4>* {
        flex: 0 0 auto;
        width: 25%;
    }

    .row-cols-sm-5>* {
        flex: 0 0 auto;
        width: 20%;
    }

    .row-cols-sm-6>* {
        flex: 0 0 auto;
        width: 16.66666667%;
    }

    .col-sm-auto {
        flex: 0 0 auto;
        width: auto;
    }

    .col-sm-1 {
        flex: 0 0 auto;
        width: 8.33333333%;
    }

    .col-sm-2 {
        flex: 0 0 auto;
        width: 16.66666667%;
    }

    .col-sm-3 {
        flex: 0 0 auto;
        width: 25%;
    }

    .col-sm-4 {
        flex: 0 0 auto;
        width: 33.33333333%;
    }

    .col-sm-5 {
        flex: 0 0 auto;
        width: 41.66666667%;
    }

    .col-sm-6 {
        flex: 0 0 auto;
        width: 50%;
    }

    .col-sm-7 {
        flex: 0 0 auto;
        width: 58.33333333%;
    }

    .col-sm-8 {
        flex: 0 0 auto;
        width: 66.66666667%;
    }

    .col-sm-9 {
        flex: 0 0 auto;
        width: 75%;
    }

    .col-sm-10 {
        flex: 0 0 auto;
        width: 83.33333333%;
    }

    .col-sm-11 {
        flex: 0 0 auto;
        width: 91.66666667%;
    }

    .col-sm-12 {
        flex: 0 0 auto;
        width: 100%;
    }

    .offset-sm-0 {
        margin-left: 0;
    }

    .offset-sm-1 {
        margin-left: 8.33333333%;
    }

    .offset-sm-2 {
        margin-left: 16.66666667%;
    }

    .offset-sm-3 {
        margin-left: 25%;
    }

    .offset-sm-4 {
        margin-left: 33.33333333%;
    }

    .offset-sm-5 {
        margin-left: 41.66666667%;
    }

    .offset-sm-6 {
        margin-left: 50%;
    }

    .offset-sm-7 {
        margin-left: 58.33333333%;
    }

    .offset-sm-8 {
        margin-left: 66.66666667%;
    }

    .offset-sm-9 {
        margin-left: 75%;
    }

    .offset-sm-10 {
        margin-left: 83.33333333%;
    }

    .offset-sm-11 {
        margin-left: 91.66666667%;
    }

    .g-sm-0,
    .gx-sm-0 {
        --bs-gutter-x: 0;
    }

    .g-sm-0,
    .gy-sm-0 {
        --bs-gutter-y: 0;
    }

    .g-sm-1,
    .gx-sm-1 {
        --bs-gutter-x: 0.25rem;
    }

    .g-sm-1,
    .gy-sm-1 {
        --bs-gutter-y: 0.25rem;
    }

    .g-sm-2,
    .gx-sm-2 {
        --bs-gutter-x: 0.5rem;
    }

    .g-sm-2,
    .gy-sm-2 {
        --bs-gutter-y: 0.5rem;
    }

    .g-sm-3,
    .gx-sm-3 {
        --bs-gutter-x: 1rem;
    }

    .g-sm-3,
    .gy-sm-3 {
        --bs-gutter-y: 1rem;
    }

    .g-sm-4,
    .gx-sm-4 {
        --bs-gutter-x: 1.5rem;
    }

    .g-sm-4,
    .gy-sm-4 {
        --bs-gutter-y: 1.5rem;
    }

    .g-sm-5,
    .gx-sm-5 {
        --bs-gutter-x: 3rem;
    }

    .g-sm-5,
    .gy-sm-5 {
        --bs-gutter-y: 3rem;
    }
}

@media (min-width: 768px) {
    .col-md {
        flex: 1 0 0%;
    }

    .row-cols-md-auto>* {
        flex: 0 0 auto;
        width: auto;
    }

    .row-cols-md-1>* {
        flex: 0 0 auto;
        width: 100%;
    }

    .row-cols-md-2>* {
        flex: 0 0 auto;
        width: 50%;
    }

    .row-cols-md-3>* {
        flex: 0 0 auto;
        width: 33.33333333%;
    }

    .row-cols-md-4>* {
        flex: 0 0 auto;
        width: 25%;
    }

    .row-cols-md-5>* {
        flex: 0 0 auto;
        width: 20%;
    }

    .row-cols-md-6>* {
        flex: 0 0 auto;
        width: 16.66666667%;
    }

    .col-md-auto {
        flex: 0 0 auto;
        width: auto;
    }

    .col-md-1 {
        flex: 0 0 auto;
        width: 8.33333333%;
    }

    .col-md-2 {
        flex: 0 0 auto;
        width: 16.66666667%;
    }

    .col-md-3 {
        flex: 0 0 auto;
        width: 25%;
    }

    .col-md-4 {
        flex: 0 0 auto;
        width: 33.33333333%;
    }

    .col-md-5 {
        flex: 0 0 auto;
        width: 41.66666667%;
    }

    .col-md-6 {
        flex: 0 0 auto;
        width: 50%;
    }

    .col-md-7 {
        flex: 0 0 auto;
        width: 58.33333333%;
    }

    .col-md-8 {
        flex: 0 0 auto;
        width: 66.66666667%;
    }

    .col-md-9 {
        flex: 0 0 auto;
        width: 75%;
    }

    .col-md-10 {
        flex: 0 0 auto;
        width: 83.33333333%;
    }

    .col-md-11 {
        flex: 0 0 auto;
        width: 91.66666667%;
    }

    .col-md-12 {
        flex: 0 0 auto;
        width: 100%;
    }

    .offset-md-0 {
        margin-left: 0;
    }

    .offset-md-1 {
        margin-left: 8.33333333%;
    }

    .offset-md-2 {
        margin-left: 16.66666667%;
    }

    .offset-md-3 {
        margin-left: 25%;
    }

    .offset-md-4 {
        margin-left: 33.33333333%;
    }

    .offset-md-5 {
        margin-left: 41.66666667%;
    }

    .offset-md-6 {
        margin-left: 50%;
    }

    .offset-md-7 {
        margin-left: 58.33333333%;
    }

    .offset-md-8 {
        margin-left: 66.66666667%;
    }

    .offset-md-9 {
        margin-left: 75%;
    }

    .offset-md-10 {
        margin-left: 83.33333333%;
    }

    .offset-md-11 {
        margin-left: 91.66666667%;
    }

    .g-md-0,
    .gx-md-0 {
        --bs-gutter-x: 0;
    }

    .g-md-0,
    .gy-md-0 {
        --bs-gutter-y: 0;
    }

    .g-md-1,
    .gx-md-1 {
        --bs-gutter-x: 0.25rem;
    }

    .g-md-1,
    .gy-md-1 {
        --bs-gutter-y: 0.25rem;
    }

    .g-md-2,
    .gx-md-2 {
        --bs-gutter-x: 0.5rem;
    }

    .g-md-2,
    .gy-md-2 {
        --bs-gutter-y: 0.5rem;
    }

    .g-md-3,
    .gx-md-3 {
        --bs-gutter-x: 1rem;
    }

    .g-md-3,
    .gy-md-3 {
        --bs-gutter-y: 1rem;
    }

    .g-md-4,
    .gx-md-4 {
        --bs-gutter-x: 1.5rem;
    }

    .g-md-4,
    .gy-md-4 {
        --bs-gutter-y: 1.5rem;
    }

    .g-md-5,
    .gx-md-5 {
        --bs-gutter-x: 3rem;
    }

    .g-md-5,
    .gy-md-5 {
        --bs-gutter-y: 3rem;
    }
}

@media (min-width: 992px) {
    .col-lg {
        flex: 1 0 0%;
    }

    .row-cols-lg-auto>* {
        flex: 0 0 auto;
        width: auto;
    }

    .row-cols-lg-1>* {
        flex: 0 0 auto;
        width: 100%;
    }

    .row-cols-lg-2>* {
        flex: 0 0 auto;
        width: 50%;
    }

    .row-cols-lg-3>* {
        flex: 0 0 auto;
        width: 33.33333333%;
    }

    .row-cols-lg-4>* {
        flex: 0 0 auto;
        width: 25%;
    }

    .row-cols-lg-5>* {
        flex: 0 0 auto;
        width: 20%;
    }

    .row-cols-lg-6>* {
        flex: 0 0 auto;
        width: 16.66666667%;
    }

    .col-lg-auto {
        flex: 0 0 auto;
        width: auto;
    }

    .col-lg-1 {
        flex: 0 0 auto;
        width: 8.33333333%;
    }

    .col-lg-2 {
        flex: 0 0 auto;
        width: 16.66666667%;
    }

    .col-lg-3 {
        flex: 0 0 auto;
        width: 25%;
    }

    .col-lg-4 {
        flex: 0 0 auto;
        width: 33.33333333%;
    }

    .col-lg-5 {
        flex: 0 0 auto;
        width: 41.66666667%;
    }

    .col-lg-6 {
        flex: 0 0 auto;
        width: 50%;
    }

    .col-lg-7 {
        flex: 0 0 auto;
        width: 58.33333333%;
    }

    .col-lg-8 {
        flex: 0 0 auto;
        width: 66.66666667%;
    }

    .col-lg-9 {
        flex: 0 0 auto;
        width: 75%;
    }

    .col-lg-10 {
        flex: 0 0 auto;
        width: 83.33333333%;
    }

    .col-lg-11 {
        flex: 0 0 auto;
        width: 91.66666667%;
    }

    .col-lg-12 {
        flex: 0 0 auto;
        width: 100%;
    }

    .offset-lg-0 {
        margin-left: 0;
    }

    .offset-lg-1 {
        margin-left: 8.33333333%;
    }

    .offset-lg-2 {
        margin-left: 16.66666667%;
    }

    .offset-lg-3 {
        margin-left: 25%;
    }

    .offset-lg-4 {
        margin-left: 33.33333333%;
    }

    .offset-lg-5 {
        margin-left: 41.66666667%;
    }

    .offset-lg-6 {
        margin-left: 50%;
    }

    .offset-lg-7 {
        margin-left: 58.33333333%;
    }

    .offset-lg-8 {
        margin-left: 66.66666667%;
    }

    .offset-lg-9 {
        margin-left: 75%;
    }

    .offset-lg-10 {
        margin-left: 83.33333333%;
    }

    .offset-lg-11 {
        margin-left: 91.66666667%;
    }

    .g-lg-0,
    .gx-lg-0 {
        --bs-gutter-x: 0;
    }

    .g-lg-0,
    .gy-lg-0 {
        --bs-gutter-y: 0;
    }

    .g-lg-1,
    .gx-lg-1 {
        --bs-gutter-x: 0.25rem;
    }

    .g-lg-1,
    .gy-lg-1 {
        --bs-gutter-y: 0.25rem;
    }

    .g-lg-2,
    .gx-lg-2 {
        --bs-gutter-x: 0.5rem;
    }

    .g-lg-2,
    .gy-lg-2 {
        --bs-gutter-y: 0.5rem;
    }

    .g-lg-3,
    .gx-lg-3 {
        --bs-gutter-x: 1rem;
    }

    .g-lg-3,
    .gy-lg-3 {
        --bs-gutter-y: 1rem;
    }

    .g-lg-4,
    .gx-lg-4 {
        --bs-gutter-x: 1.5rem;
    }

    .g-lg-4,
    .gy-lg-4 {
        --bs-gutter-y: 1.5rem;
    }

    .g-lg-5,
    .gx-lg-5 {
        --bs-gutter-x: 3rem;
    }

    .g-lg-5,
    .gy-lg-5 {
        --bs-gutter-y: 3rem;
    }
}

@media (min-width: 1200px) {
    .col-xl {
        flex: 1 0 0%;
    }

    .row-cols-xl-auto>* {
        flex: 0 0 auto;
        width: auto;
    }

    .row-cols-xl-1>* {
        flex: 0 0 auto;
        width: 100%;
    }

    .row-cols-xl-2>* {
        flex: 0 0 auto;
        width: 50%;
    }

    .row-cols-xl-3>* {
        flex: 0 0 auto;
        width: 33.33333333%;
    }

    .row-cols-xl-4>* {
        flex: 0 0 auto;
        width: 25%;
    }

    .row-cols-xl-5>* {
        flex: 0 0 auto;
        width: 20%;
    }

    .row-cols-xl-6>* {
        flex: 0 0 auto;
        width: 16.66666667%;
    }

    .col-xl-auto {
        flex: 0 0 auto;
        width: auto;
    }

    .col-xl-1 {
        flex: 0 0 auto;
        width: 8.33333333%;
    }

    .col-xl-2 {
        flex: 0 0 auto;
        width: 16.66666667%;
    }

    .col-xl-3 {
        flex: 0 0 auto;
        width: 25%;
    }

    .col-xl-4 {
        flex: 0 0 auto;
        width: 33.33333333%;
    }

    .col-xl-5 {
        flex: 0 0 auto;
        width: 41.66666667%;
    }

    .col-xl-6 {
        flex: 0 0 auto;
        width: 50%;
    }

    .col-xl-7 {
        flex: 0 0 auto;
        width: 58.33333333%;
    }

    .col-xl-8 {
        flex: 0 0 auto;
        width: 66.66666667%;
    }

    .col-xl-9 {
        flex: 0 0 auto;
        width: 75%;
    }

    .col-xl-10 {
        flex: 0 0 auto;
        width: 83.33333333%;
    }

    .col-xl-11 {
        flex: 0 0 auto;
        width: 91.66666667%;
    }

    .col-xl-12 {
        flex: 0 0 auto;
        width: 100%;
    }

    .offset-xl-0 {
        margin-left: 0;
    }

    .offset-xl-1 {
        margin-left: 8.33333333%;
    }

    .offset-xl-2 {
        margin-left: 16.66666667%;
    }

    .offset-xl-3 {
        margin-left: 25%;
    }

    .offset-xl-4 {
        margin-left: 33.33333333%;
    }

    .offset-xl-5 {
        margin-left: 41.66666667%;
    }

    .offset-xl-6 {
        margin-left: 50%;
    }

    .offset-xl-7 {
        margin-left: 58.33333333%;
    }

    .offset-xl-8 {
        margin-left: 66.66666667%;
    }

    .offset-xl-9 {
        margin-left: 75%;
    }

    .offset-xl-10 {
        margin-left: 83.33333333%;
    }

    .offset-xl-11 {
        margin-left: 91.66666667%;
    }

    .g-xl-0,
    .gx-xl-0 {
        --bs-gutter-x: 0;
    }

    .g-xl-0,
    .gy-xl-0 {
        --bs-gutter-y: 0;
    }

    .g-xl-1,
    .gx-xl-1 {
        --bs-gutter-x: 0.25rem;
    }

    .g-xl-1,
    .gy-xl-1 {
        --bs-gutter-y: 0.25rem;
    }

    .g-xl-2,
    .gx-xl-2 {
        --bs-gutter-x: 0.5rem;
    }

    .g-xl-2,
    .gy-xl-2 {
        --bs-gutter-y: 0.5rem;
    }

    .g-xl-3,
    .gx-xl-3 {
        --bs-gutter-x: 1rem;
    }

    .g-xl-3,
    .gy-xl-3 {
        --bs-gutter-y: 1rem;
    }

    .g-xl-4,
    .gx-xl-4 {
        --bs-gutter-x: 1.5rem;
    }

    .g-xl-4,
    .gy-xl-4 {
        --bs-gutter-y: 1.5rem;
    }

    .g-xl-5,
    .gx-xl-5 {
        --bs-gutter-x: 3rem;
    }

    .g-xl-5,
    .gy-xl-5 {
        --bs-gutter-y: 3rem;
    }
}

@media (min-width: 1400px) {
    .col-xxl {
        flex: 1 0 0%;
    }

    .row-cols-xxl-auto>* {
        flex: 0 0 auto;
        width: auto;
    }

    .row-cols-xxl-1>* {
        flex: 0 0 auto;
        width: 100%;
    }

    .row-cols-xxl-2>* {
        flex: 0 0 auto;
        width: 50%;
    }

    .row-cols-xxl-3>* {
        flex: 0 0 auto;
        width: 33.33333333%;
    }

    .row-cols-xxl-4>* {
        flex: 0 0 auto;
        width: 25%;
    }

    .row-cols-xxl-5>* {
        flex: 0 0 auto;
        width: 20%;
    }

    .row-cols-xxl-6>* {
        flex: 0 0 auto;
        width: 16.66666667%;
    }

    .col-xxl-auto {
        flex: 0 0 auto;
        width: auto;
    }

    .col-xxl-1 {
        flex: 0 0 auto;
        width: 8.33333333%;
    }

    .col-xxl-2 {
        flex: 0 0 auto;
        width: 16.66666667%;
    }

    .col-xxl-3 {
        flex: 0 0 auto;
        width: 25%;
    }

    .col-xxl-4 {
        flex: 0 0 auto;
        width: 33.33333333%;
    }

    .col-xxl-5 {
        flex: 0 0 auto;
        width: 41.66666667%;
    }

    .col-xxl-6 {
        flex: 0 0 auto;
        width: 50%;
    }

    .col-xxl-7 {
        flex: 0 0 auto;
        width: 58.33333333%;
    }

    .col-xxl-8 {
        flex: 0 0 auto;
        width: 66.66666667%;
    }

    .col-xxl-9 {
        flex: 0 0 auto;
        width: 75%;
    }

    .col-xxl-10 {
        flex: 0 0 auto;
        width: 83.33333333%;
    }

    .col-xxl-11 {
        flex: 0 0 auto;
        width: 91.66666667%;
    }

    .col-xxl-12 {
        flex: 0 0 auto;
        width: 100%;
    }

    .offset-xxl-0 {
        margin-left: 0;
    }

    .offset-xxl-1 {
        margin-left: 8.33333333%;
    }

    .offset-xxl-2 {
        margin-left: 16.66666667%;
    }

    .offset-xxl-3 {
        margin-left: 25%;
    }

    .offset-xxl-4 {
        margin-left: 33.33333333%;
    }

    .offset-xxl-5 {
        margin-left: 41.66666667%;
    }

    .offset-xxl-6 {
        margin-left: 50%;
    }

    .offset-xxl-7 {
        margin-left: 58.33333333%;
    }

    .offset-xxl-8 {
        margin-left: 66.66666667%;
    }

    .offset-xxl-9 {
        margin-left: 75%;
    }

    .offset-xxl-10 {
        margin-left: 83.33333333%;
    }

    .offset-xxl-11 {
        margin-left: 91.66666667%;
    }

    .g-xxl-0,
    .gx-xxl-0 {
        --bs-gutter-x: 0;
    }

    .g-xxl-0,
    .gy-xxl-0 {
        --bs-gutter-y: 0;
    }

    .g-xxl-1,
    .gx-xxl-1 {
        --bs-gutter-x: 0.25rem;
    }

    .g-xxl-1,
    .gy-xxl-1 {
        --bs-gutter-y: 0.25rem;
    }

    .g-xxl-2,
    .gx-xxl-2 {
        --bs-gutter-x: 0.5rem;
    }

    .g-xxl-2,
    .gy-xxl-2 {
        --bs-gutter-y: 0.5rem;
    }

    .g-xxl-3,
    .gx-xxl-3 {
        --bs-gutter-x: 1rem;
    }

    .g-xxl-3,
    .gy-xxl-3 {
        --bs-gutter-y: 1rem;
    }

    .g-xxl-4,
    .gx-xxl-4 {
        --bs-gutter-x: 1.5rem;
    }

    .g-xxl-4,
    .gy-xxl-4 {
        --bs-gutter-y: 1.5rem;
    }

    .g-xxl-5,
    .gx-xxl-5 {
        --bs-gutter-x: 3rem;
    }

    .g-xxl-5,
    .gy-xxl-5 {
        --bs-gutter-y: 3rem;
    }
}

.cw-rotate-180 {
    transform: rotate(-180deg);
}

.cw-hr-empty {
    --bs-border-width: 0;
}

.cw-point-color {
    color: var(--cw-point-color) !important;
}

.cw-heading-color {
    color: var(--cw-heading-color) !important;
}

.cw-error-color {
    color: var(--cw-error-color) !important;
}

.cw-mb-20 {
    margin-bottom: 20px;
}

.cw-mr-4 {
    margin-right: 4px;
}

.cw-f-right {
    float: right;
}

.txt-c {
    text-align: center;
}

.txt-l {
    text-align: left;
}

.txt-r {
    text-align: right;
}

.btn {
    --bs-btn-padding-x: 1.25rem;
    --bs-btn-padding-y: 0;
    --bs-btn-font-family: var(--bs-font-sans-serif);
    --bs-btn-font-size: .875rem;
    --bs-btn-font-weight: 500;
    --bs-btn-line-height: 2.375rem;
    --bs-btn-color: var(--bs-body-color);
    --bs-btn-bg: transparent;
    --bs-btn-border-width: var(--bs-border-width);
    --bs-btn-border-color: transparent;
    --bs-btn-border-radius: 4px;
    --bs-btn-hover-border-color: transparent;
    --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
    --bs-btn-disabled-opacity: 0.65;
    --bs-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);
    display: inline-block;
    padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);
    font-family: var(--bs-btn-font-family);
    font-size: var(--bs-btn-font-size);
    font-weight: var(--bs-btn-font-weight);
    line-height: var(--bs-btn-line-height);
    color: var(--bs-btn-color);
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);
    border-radius: var(--bs-btn-border-radius);
    background-color: var(--bs-btn-bg);
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.btn-primary {
    --bs-btn-color: var(--cw-color-white);
    --bs-btn-bg: var(--cw-point-color-pri);
    --bs-btn-border-color: var(--cw-point-color-pri);
}

.btn-primary:hover {
    opacity: .8;
}

.btn-primary.disable {
    opacity: .5;
}

.btn-white {
    --bs-btn-color: var(--cw-point-color-pri);
    --bs-btn-bg: var(--cw-color-white);
    --bs-btn-border-color: var(--cw-point-color-pri);
}

.btn-white:hover {
    --bs-btn-bg: var(--cw-color-10);
}

.btn-white.disable {
    opacity: .5;
}

.btn-gray {
    --bs-btn-color: var(--cw-heading-color);
    --bs-btn-bg: var(--cw-color-white);
    --bs-btn-border-color: var(--cw-color-30);
}

.btn-gray:hover {
    --bs-btn-bg: var(--cw-color-10);
}

.btn-gray.disable {
    opacity: .5;
}

.btn-lg {
    --bs-btn-padding-x: 1.875rem;
    --bs-btn-line-height: 3rem;
    --bs-btn-font-size: 1rem;
    --bs-btn-font-weight: 700;
}

.btn-md {
    --bs-btn-padding-x: 1.25rem;
    --bs-btn-line-height: 2.375rem;
}

.btn-sm {
    --bs-btn-padding-x: .75rem;
    --bs-btn-line-height: 1.75rem;
    --bs-btn-font-size: .75rem;
    --bs-btn-border-radius: 4px;
}

.btn-xs {
    --bs-btn-padding-x: .5rem;
    --bs-btn-line-height: 1.375rem;
    --bs-btn-font-size: .75rem;
    --bs-btn-border-radius: 3px;
}

.form-check {
    display: block;
    min-height: 1.5rem;
    padding-left: 1.75em;
    /*margin-bottom: 0.125rem;*/
}

.form-check .form-check-input,
.form-check input[type="radio"],
.form-check input[type="checkbox"] {
    float: left;
    margin-left: -1.75em;
}

.form-check-reverse {
    padding-right: 1.5em;
    padding-left: 0;
    text-align: right;
}

.form-check-reverse .form-check-input,
.form-check-reverse input[type="radio"],
.form-check-reverse input[type="checkbox"] {
    float: right;
    margin-right: -1.5em;
    margin-left: 0;
}

.form-check-input,
input[type="radio"],
.input[type="checkbox"] {
    --bs-form-check-bg: var(--bs-body-bg);
    flex-shrink: 0;
    width: 1.25rem;
    height: 1.25rem;
    margin-top: 0.1em;
    vertical-align: top;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: var(--bs-form-check-bg);
    background-image: var(--bs-form-check-bg-image);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    border: var(--bs-border-width) solid var(--bs-border-color);
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
}

.form-check-input[type="checkbox"],
input[type="checkbox"] {
    border-radius: 0.25em;
    --bs-form-check-bg-image: url("//skin.makeshop.co.kr/skin/rw_shop/images/icons/ico_check_default.svg");
}

.form-check-input[type=radio],
input[type="radio"] {
    border-radius: 50%;
}

.form-check-input:active,
input[type="radio"]:active,
input[type="checkbox"]:active {
    filter: brightness(90%);
}

.form-check-input:focus,
input[type="radio"]:focus,
input[type="checkbox"]:focus {
    /*
    border-color: #86b7fe;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
    */
    outline: 0;
}

.form-check-input:checked,
input[type="radio"]:checked,
input[type="checkbox"]:checked {
    background-color: var(--cw-heading-color);
    border-color: var(--cw-heading-color);
}

.form-check-input:checked[type="checkbox"],
input[type="checkbox"]:checked {
    --bs-form-check-bg-image: url("//skin.makeshop.co.kr/skin/rw_shop/images/icons/ico_check_white.svg");
}

.form-check-input:checked[type="radio"],
input[type="radio"]:checked {
    background-color: #fff;
    background-size: 10px 10px;
    --bs-form-check-bg-image: url("//skin.makeshop.co.kr/skin/rw_shop/images/icons/ico_radio.svg");
}

.form-check-input[type="checkbox"]:indeterminate,
input[type="checkbox"]:indeterminate {
    background-color: #0d6efd;
    border-color: #0d6efd;
    --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e");
}

.form-check-input:disabled,
input[type="radio"]:disabled,
input[type="checkbox"]:disabled {
    pointer-events: none;
    filter: none;
    opacity: 0.5;
    background-color: #c2c2c2;
}

.form-check-input[disabled]~.form-check-label,
.form-check-input:disabled~.form-check-label,
input[type="radio"][disabled]~.form-check-label,
input[type="radio"]:disabled~.form-check-label,
input[type="checkbox"][disabled]~.form-check-label,
input[type="checkbox"]:disabled~.form-check-label {
    cursor: default;
    opacity: 0.5;
}

.form-switch {
    padding-left: 2.5em;
}

.form-switch .form-check-input,
.form-switch input[type="checkbox"],
.form-switch input[type="radio"] {
    --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");
    width: 2em;
    margin-left: -2.5em;
    background-image: var(--bs-form-switch-bg);
    background-position: left center;
    border-radius: 2em;
    transition: background-position 0.15s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {

    .form-switch .form-check-input,
    .form-switch input[type="checkbox"],
    .form-switch input[type="radio"] {
        transition: none;
    }
}

.form-switch .form-check-input:focus,
.form-switch input[type="checkbox"]:focus,
.form-switch input[type="radio"]:focus {
    --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e");
}

.form-switch .form-check-input:checked,
.form-switch input[type="checkbox"]:checked,
.form-switch input[type="radio"]:checked {
    background-position: right center;
    --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
}

.form-switch.form-check-reverse {
    padding-right: 2.5em;
    padding-left: 0;
}

.form-switch.form-check-reverse .form-check-input,
.form-switch.form-check-reverse input[type="checkbox"],
.form-switch.form-check-reverse input[type="radio"] {
    margin-right: -2.5em;
    margin-left: 0;
}

.form-check-inline {
    display: inline-block;
    margin-right: 1rem;
}

.btn-check {
    position: absolute;
    clip: rect(0, 0, 0, 0);
    pointer-events: none;
}

.btn-check[disabled]+.btn,
.btn-check:disabled+.btn {
    pointer-events: none;
    filter: none;
    opacity: 0.65;
}

/* DatePicker */
input[type="date"] {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background: none;
    background-color: #fff;
}

input[type="date"]::-webkit-calendar-picker-indicator {
    display: none;
    -webkit-appearance: none;
}

input[type="date"]::-moz-focus-inner {
    border: 0;
}

.form-date-wrap {
    margin: 2.5rem 0;
    padding: 1.25rem 0;
    background: var(--cw-color-10);
}

.cw-date {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: .375rem;
}

.cw-date input {
    max-width: 128px;
    background: url(//skin.makeshop.co.kr/skin/rw_shop/images/icons/ico_calendar.svg) no-repeat right 10px center / 16px 16px #fff;
}

.cw-date a {
    flex-shrink: 0;
}

@media (max-width: 767.98px) {
    .cw-date input {
        flex: 1 1 0;
        min-width: 0;
        max-width: 100%;
    }
}

/* more 버튼 */
.cw-btn-more {
    margin-top: 2.5rem;
    display: flex;
    justify-content: center;
    align-items: center;
}

.cw-btn-more .btn {
    width: 18.75rem;
    --bs-btn-line-height: 2.75rem;
}

.cw-btn-more .btn span {
    padding-right: 17px;
    background: url(//skin.makeshop.co.kr/skin/rw_shop/images/icons/ico_arrow_more.svg) no-repeat right center;
}

@media (max-width: 767.98px) {
    .cw-btn-more .btn {
        width: 100%;
    }
}

/* 공통 */
.btn-group {
    --cw-font-size: .875rem;
    --cw-width: 36px;
    --cw-text-width: 46px;
    --cw-text-height: 38px;
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--cw-color-30);
    border-radius: var(--cw-border-radius);
}

.btn-group.sm {
    --cw-font-size: .8125rem;
    --cw-width: 28px;
    --cw-text-width: 36px;
    --cw-text-height: 28px;
}

.btn-group .btn-minus {
    width: var(--cw-width);
    text-align: center;
}

.btn-group .btn-plus {
    width: var(--cw-width);
    text-align: center;
}

.btn-group .btn-txt {
    width: var(--cw-text-width);
    height: var(--cw-text-height);
    max-width: 46px;
    font-size: var(--cw-font-size);
    color: var(--cw-heading-color);
    padding: 0;
    border: 0 none;
    text-align: center !important;
}

label {
    cursor: pointer;
}

input[type="text"],
input[type="password"],
input[type="date"],
textarea,
.cw-textfield {
    --cw-border-radius: 4px;
    --cw-border-color: var(--cw-color-30);
    --cw-padding-y: 8px;
    --cw-padding-x: 12px;
    --cw-font-size: 14px;
    --cw-line-height: 22px;
    padding: var(--cw-padding-y) var(--cw-padding-x);
    border: 1px solid var(--cw-border-color);
    border-radius: var(--cw-border-radius);
    font-size: var(--cw-font-size);
    font-weight: 400;
    color: var(--cw-heading-color);
    line-height: var(--cw-line-height);
    resize: none;
}

input[type="text"]:focus,
input[type="password"]:focus,
input[type="date"]:focus,
textarea:focus,
.cw-textfield:focus {
    --cw-border-color: var(--cw-color-50);
    outline: 0;
}

input[type="text"]:disabled,
input[type="password"]:disabled,
input[type="date"]:disabled,
textarea:disabled,
.cw-textfield:disabled {
    opacity: .8;
}

.cw-textfield.sm {
    --cw-padding-y: 6px;
    --cw-padding-x: 10px;
    --cw-font-size: .8125rem;
    --cw-line-height: 16px;
}

select:not(#date_year, #date_month),
.cw-select-box {
    --cw-line-height: 18px;
    --cw-font-size: .875rem;
    padding: 10px 32px 10px 12px;
    line-height: var(--cw-line-height);
    color: var(--cw-heading-color);
    font-size: var(--cw-font-size);
    border: 1px solid var(--cw-color-30);
    border-radius: var(--cw-border-radius);
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    background: #fff url(//skin.makeshop.co.kr/skin/rw_shop/images/icons/ico_cheveron_down.svg) no-repeat right .625rem center;
    cursor: pointer;
    background-size: 1.25rem;
}

select.sm,
.cw-select-box.sm {
    --cw-line-height: 1rem;
    --cw-font-size: .8125rem;
    padding: 6px 26px 6px 10px;
    background-position: right 7px center;
    background-size: 16px 16px;
}

select:focus,
.cw-select-box:focus {
    border-color: var(--cw-color-50);
    outline: none;
}

select:disabled,
.cw-select-box:disabled {
    background-color: #f6f6f6;
    opacity: .8;
}

.board-wrapper,
.gallery-wrapper {
    word-break: break-all;
}

.cw-subtitle {
    font-weight: 700;
    font-size: 1.125rem;
    line-height: 26px;
    color: var(--cw-heading-color);
}

.cw-paging {
    display: flex;
    gap: 4px;
    justify-content: center;
    align-items: center;
}

.cw-paging a {
    display: inline-block;
    padding: 5px 12px;
    font-size: .875rem;
    color: var(--cw-color-60);
    text-decoration: none;
    line-height: 20px;
}

.cw-paging .active {
    color: #fff;
    background-color: var(--cw-point-color-pri);
    border-radius: var(--cw-border-radius);
}

.cw-simpleboard {
    border-top: 1px solid var(--cw-heading-color);
}

.cw-simpleboard .post {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 0;
    border-bottom: 1px solid var(--cw-color-30);
}

.cw-simpleboard .stars {
    display: inline-block;
    width: 100px;
    color: var(--cw-color-50);
    font-size: .875rem;
    line-height: 20px;
}

.cw-simpleboard .stars strong {
    font-weight: 400;
    color: var(--cw-heading-color);
}

.cw-simpleboard .subject {
    flex-grow: 1;
    font-size: .875rem;
    color: var(--cw-heading-color);
    font-size: .8125rem;
    line-height: 18px;
}

.cw-simpleboard .subject .complete {
    font-size: .75rem;
    color: var(--cw-color-60);
}

.cw-simpleboard .author {
    display: inline-block;
    width: 100px;
    font-size: .875rem;
    color: var(--cw-color-80);
}

.cw-simpleboard .date {
    text-align: right;
    display: inline-block;
    width: 100px;
    font-size: .8125rem;
    color: var(--cw-color-80);
}

@media (max-width: 767.98px) {
    .cw-subtitle {
        font-size: 1rem;
        line-height: 24px;
    }

    .cw-simpleboard .post {
        flex-direction: column;
        align-items: flex-start;
        padding: 16px 0;
    }

    .cw-simpleboard .text-end {
        text-align: left;
        margin-top: 4px;
    }

    .cw-simpleboard .author {
        width: auto;
    }

    .cw-simpleboard .author::after {
        content: ' ';
        margin: 0 8px;
        display: inline-block;
        width: 1px;
        height: 14px;
        vertical-align: middle;
        background-color: var(--cw-color-30);
    }

    .cw-simpleboard .date {
        width: auto;
    }

    .cw-simpleboard .reply .text-end {
        margin-left: 28px;
    }
}

.coupon-lists {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    align-items: start;
}

.coupon-lists .coupon {
    position: relative;
    border: 1px solid var(--cw-color-30);
    border-radius: 10px;
    padding: 24px 64px 24px 24px;
}

.coupon--info {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding-right: 24px;
}

.coupon--name {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    line-clamp: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    word-wrap: break-word;
    word-break: break-all;
    white-space: normal;
    font-weight: 700;
    font-size: .875rem;
    color: var(--cw-heading-color);
    line-height: 20px;
}

.coupon--price {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    line-clamp: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    font-weight: 700;
    font-size: 1.25rem;
    color: var(--cw-point-color);
    line-height: 28px;
}

.coupon--desc {
    word-wrap: break-word;
    word-break: break-all;
    white-space: normal;
    font-size: .8125rem;
    color: var(--cw-color-60);
    line-height: 18px;
    min-height: 40px;
}

.coupon--btns {
    position: absolute;
    top: 0;
    right: 0;
    width: 64px;
    height: 100%;
    border-left: 1px dashed var(--cw-color-30);
    background-color: var(--cw-color-10);
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
}

.coupon--btn {
    text-indent: -9999px;
    display: block;
    width: 100%;
    height: 100%;
    background: url(//skin.makeshop.co.kr/skin/rw_shop/images/icons/ico_download.svg) no-repeat center;
    background-size: 24px;
}

@media (min-width: 768px) and (max-width: 991.98px) {
    .coupon-lists {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 767.98px) {
    .coupon-lists {
        grid-template-columns: repeat(1, 1fr);
        gap: 16px;
    }

    .coupon-lists .coupon {
        padding: 20px 64px 20px 20px;
    }

    .coupon--info {
        gap: 6px;
        padding-right: 20px;
    }

    .coupon--name {
        font-size: .8125rem;
        line-height: 18px;
    }

    .coupon--price {
        font-size: 1.125rem;
        line-height: 26px;
    }

    .coupon--desc {
        font-size: .75rem;
        line-height: 16px;
    }
}

/* 상품관련 */
.goods--title {
    --cw-font-size: 1.5rem;
    --cw-line-height: 32px;
    --cw-margin-top: 10px;
    color: var(--cw-heading-color);
    font-size: var(--cw-font-size);
    line-height: var(--cw-line-height);
    margin-top: var(--cw-margin-top);
    font-weight: 600;
    display: -webkit-box;
    line-clamp: 1;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.goods--title.sm {
    --cw-font-size: .875rem;
    --cw-line-height: 20px;
    --cw-margin-top: 0;
}

.goods--title.opts {
    --cw-font-size: .8125rem;
    --cw-line-height: 18px;
    --cw-margin-top: 0;
}

.goods--subtitle,
.goods--engname {
    --cw-font-size: 1rem;
    --cw-line-height: 24px;
    font-size: var(--cw-font-size);
    color: var(--cw-color-60);
    line-height: var(--cw-line-height);
    margin-top: 4px;
    display: -webkit-box;
    line-clamp: 2;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.goods--engname {
    color: var(--cw-color-80);
}

.goods--subtitle.sm {
    --cw-font-size: .8125rem;
    --cw-line-height: 18px;
}

.goods--price-wrap {
    --cw-margin-top: 16px;
    display: flex;
    justify-content: space-between;
    margin-top: var(--cw-margin-top);
}

.goods--price-wrap.sm {
    --cw-margin-top: 12px;
}

.goods--price-wrap.opts {
    --cw-margin-top: 0;
}

.goods--price-wrap .prices {
    display: flex;
    flex-wrap: wrap;
    gap: 2px 8px;
    align-items: center;
}

.goods--price-wrap .prices.in-txt {
    gap: 8px;
}

.goods--price-wrap .prices .price {
    font-size: .875rem;
    line-height: 20px;
    color: var(--cw-heading-color);
}

.goods--price-wrap .prices .price strong {
    font-size: 1rem;
    line-height: 24px;
    font-weight: 700;
}

.goods--price-wrap .prices .original {
    font-size: .875rem;
    line-height: 22px;
    color: var(--cw-color-60);
}

.goods--price-wrap .prices .original strong {
    font-weight: 400;
    text-decoration: line-through;
}

.goods--price-wrap .prices .discount {
    color: var(--cw-point-color);
    font-weight: 700;
    font-size: 1rem;
    line-height: 1.5rem;
}

.goods--price-wrap .share {
    display: flex;
    gap: 12px;
}

.goods--price-wrap .share img {
    width: 24px;
    height: 24px;
}

.goods-list {
    padding: 16px 0;
    flex-wrap: nowrap;
}

.goods-list--item {
    position: relative;
    min-width: 0;
    max-width: 100%;
}

.goods-list--item .item-image {
    margin-bottom: 16px;
}

.goods-list--item .item-image img {
    width: 100%;
    height: auto;
}

.goods-list--item .link {
    text-indent: -9999px;
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
}

.goods--colorchip {
    display: flex;
    flex-direction: row;
    gap: 2px;
    margin-bottom: 12px;
}

.goods--colorchip .rectangle {
    width: 12px;
    height: 4px;
    border-width: 1px;
    border-style: solid;
    background: var(--rectangle-bg);
    border-color: var(--rectangle-border-color);
}

.goods--price-wrap {
    align-items: center;
}

.goods--price-wrap .normal-txt {
    font-size: .75rem;
    font-weight: 400;
    line-height: 1rem;
    color: var(--cw-color-80);
}

.goods--price-wrap .column-line {
    width: 1px;
    height: 14px;
    background-color: var(--cw-color-30);
}

.goods--price-wrap .search-btn {
    position: relative;
    z-index: 1;
    padding: 5px;
    display: flex;
    justify-content: center;
    align-items: self-end;
    align-self: stretch;
}

.goods--icos {
    display: flex;
    gap: 4px;
    flex-wrap: wrap;
    margin-top: 12px;
}

.goods--icos span {
    display: flex;
    height: 18px;
    padding: 0 8px;
    font-size: .6875rem;
    font-weight: 400;
    line-height: 12px;
    color: var(--cw-color-90);
    align-items: center;
    border-radius: 3px;
    background: var(--cw-color-20);
}

.goods--more {
    position: relative;
    z-index: 1;
    display: flex;
    gap: 4px;
    margin-top: 12px;
    align-items: center;
}

.goods--more .benefit-btn {
    display: flex;
    height: 20px;
    border: 1px solid var(--cw-heading-color);
    border-radius: 3px;
}

.goods--more .benefit-btn--black {
    display: flex;
    width: 20px;
    align-items: center;
    justify-content: center;
    font-size: .75rem;
    background: var(--cw-heading-color);
    color: var(--cw-color-white);
}

.goods--more .benefit-btn--white {
    display: flex;
    height: 20px;
    padding: 0 4px;
    align-items: center;
    justify-content: center;
    font-size: .6875rem;
    color: var(--cw-heading-color);
    white-space: nowrap;
}

.goods--more .cw-select-box {
    --cw-line-height: 14px;
    padding: 3px 14px 3px 6px;
    font-size: .6875rem;
    background-size: 8px 8px;
    background-position: right 4px center;
}

.goods--star {
    display: flex;
    gap: 2px;
    align-items: center;
    margin-top: 12px;
}

.goods--star-cnt {
    font-size: .75rem;
    line-height: 1rem;
    color: var(--cw-heading-color);
}

.goods-list--item .item-image .ico-wish {
    z-index: 1;
    position: absolute;
    top: 10px;
    right: 10px;
    width: 32px;
    height: 32px;
}

@media (min-width: 768px) and (max-width: 991.98px) {
    .goods-list--item .item-image .ico-wish {
        width: 24px;
        height: 24px;
        top: 8px;
        right: 8px;
    }

    .goods--title.sm {
        --cw-font-size: .8125rem;
        --cw-line-height: 18px;
    }

    .goods--subtitle.sm {
        --cw-font-size: .75rem;
        --cw-line-height: 16px;
    }

    .goods--price-wrap .prices {
        flex-direction: row;
    }

    .goods-list--item .item-image .ico-wish {
        top: 8px;
        right: 8px;
        width: 24px;
        height: 24px;
    }
}

@media (max-width: 767.98px) {
    .goods--title {
        --cw-font-size: 1.25rem;
        --cw-line-height: 28px;
        --cw-margin-top: 10px;
    }

    .goods--title.sm {
        --cw-font-size: .8125rem;
        --cw-line-height: 18px;
    }

    .goods--subtitle,
    .goods--engname {
        --cw-font-size: .875rem;
        --cw-line-height: 20px;
    }

    .goods--subtitle.sm {
        --cw-font-size: .75rem;
        --cw-line-height: 16px;
    }

    .goods--price-wrap .prices {
        flex-direction: row;
    }

    .goods--price-wrap .prices .original {
        line-height: 16px;
    }

    .goods-list--item .item-image .ico-wish {
        top: 8px;
        right: 8px;
        width: 24px;
        height: 24px;
    }
}

.MS_option_price {
    color: var(--cw-point-color);
}

/* 상품 공통 스타일 */
.prds-list--item {
    position: relative;
    min-width: 0;
    max-width: 100%;

    .link {
        position: absolute;
        left: 0;
        top: 0;
        right: 0;
        bottom: 0;
        text-indent: -99999px;
    }

    .prds--image {
        position: relative;

        img {
            width: 100%;
            height: auto;
        }

        .ico-wish {
            z-index: 1;
            position: absolute;
            top: var(--cw-size-10);
            right: var(--cw-size-10);
            display: flex;
            align-items: center;
            flex-direction: column;
            width: var(--cw-size-32);
            height: var(--cw-size-32);
        }

        .my-wish-list {
            display: inline-block;
            width: var(--cw-size-32);
            height: var(--cw-size-32);
            padding-top: var(--cw-size-26);
            background: url('//skin.makeshop.co.kr/skin/rw_shop/images/icons/ico_wish_off.svg') no-repeat center top;
        }

        .my-wish-list.wish-on {
            background: url('//skin.makeshop.co.kr/skin/rw_shop/images/icons/ico_wish_on.svg');
        }

        .my-wish-count {
            color: var(--cw-color-60);
            font-size: var(--cw-size-12);
        }
    }

    .prds--colorchip {
        display: flex;
        gap: var(--cw-size-2);
        flex-wrap: wrap;
        margin-bottom: var(--cw-size-12);

        .rectangle {
            width: var(--cw-size-12);
            height: var(--cw-size-4);
            border: 1px solid var(--rectangle-border-color);
        }
    }

    .prds--name {
        display: -webkit-box;
        line-clamp: 1;
        -webkit-line-clamp: 1;
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-overflow: ellipsis;
        font-size: var(--cw-size-14);
        font-weight: 600;
        line-height: var(--cw-size-20);
    }

    .prds--engname {
        display: -webkit-box;
        line-clamp: 2;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-overflow: ellipsis;
        font-size: var(--cw-size-13);
        line-height: var(--cw-size-18);
        color: var(--cw-color-80);
        margin-top: var(--cw-size-4);
    }

    .prds--subname {
        display: -webkit-box;
        line-clamp: 2;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-overflow: ellipsis;
        font-size: var(--cw-size-13);
        line-height: var(--cw-size-18);
        color: var(--cw-color-60);
        margin-top: var(--cw-size-4);
    }

    .prds--price-wrap {
        display: flex;
        align-items: center;
        margin: var(--cw-size-12) 0;

        &:not(:has(.price, .original, .discount, .normal-txt, .coupon)) {
            display: none;
        }

        &:has(.coupon) {
            margin-top: calc(var(--cw-size-16) * -1);
        }

        .prices {
            display: flex;
            flex-wrap: wrap;
            column-gap: var(--cw-size-6);
            align-items: center;

            .price {
                font-size: var(--cw-size-14);
                line-height: var(--cw-size-20);
            }

            .price strong {
                font-size: var(--cw-size-16);
                line-height: var(--cw-size-24);
                font-weight: 700;
            }

            .original {
                font-size: var(--cw-size-14);
                line-height: var(--cw-size-22);
                color: var(--cw-color-60);
            }

            .original span {
                text-decoration: line-through;
            }

            .discount {
                font-size: var(--cw-size-16);
                line-height: var(--cw-size-24);
                font-weight: 700;
                color: var(--cw-point-color);
            }

            .coupon {
                font-size: var(--cw-size-12);
                line-height: var(--cw-size-16);
                color: var(--cw-error-color);
            }

            .coupon span {
                font-size: var(--cw-size-14);
                line-height: var(--cw-size-20);
            }

            .coupon span strong {
                font-size: var(--cw-size-16);
                line-height: var(--cw-size-24);
                font-weight: 700;
            }

            &.in-txt {
                gap: var(--cw-size-8);
            }

            &.in-txt .normal-txt {
                font-size: var(--cw-size-12);
                line-height: var(--cw-size-16);
                color: var(--cw-color-80);
            }

            &.in-txt .column-line {
                width: 1px;
                height: var(--cw-size-14);
                background-color: var(--cw-color-30);
            }
        }

        .preview-btn {
            position: relative;
            z-index: 1;
            display: flex;
            justify-content: center;
            align-items: center;
            align-self: stretch;
            padding: 0 var(--cw-size-5);
        }
    }

    .prds--icons {
        display: flex;
        align-items: center;
        gap: var(--cw-size-4);
        flex-wrap: wrap;
        margin-top: var(--cw-size-12);

        &:not(:has(img)) {
            display: none;
        }

        span {
            display: inline-flex;
            align-items: center;
            gap: var(--cw-size-4);
            flex-wrap: wrap;
        }

        img {
            padding: 0;
            margin: 0;
        }
    }

    .prds--more {
        display: flex;
        gap: var(--cw-size-4);
        cursor: pointer;
        line-height: 0;
        margin-top: var(--cw-size-12);

        &:not(:has(.benefit-btn, .option-detail)) {
            display: none;
        }

        .benefit-btn {
            position: relative;
            z-index: 2;
            display: flex;
            height: var(--cw-size-20);
            border: 1px solid var(--cw-heading-color);
            border-radius: var(--cw-size-3);
        }

        .benefit-btn--black {
            display: flex;
            width: var(--cw-size-20);
            align-items: center;
            justify-content: center;
            font-size: var(--cw-size-12);
            background: var(--cw-heading-color);
            color: var(--cw-color-white);
        }

        .benefit-btn--white {
            display: flex;
            height: var(--cw-size-20);
            padding: 0 var(--cw-size-4);
            align-items: center;
            justify-content: center;
            font-size: var(--cw-size-11);
            color: var(--cw-heading-color);
            white-space: nowrap;
        }

        .option-detail {
            position: relative;
            z-index: 2;

            .opt-btn {
                display: inline-block;
                width: var(--cw-size-60);
                height: var(--cw-size-20);
                background: url('//skin.makeshop.co.kr/skin/rw_shop/images/icons/btn_opt_view.svg');
                text-indent: -9999px;
            }

            .opt-btn.on {
                background: url('//skin.makeshop.co.kr/skin/rw_shop/images/icons/btn_opt_view_on.svg');
            }

            .opt-btn.on+.layer-opt-preview {
                display: block;
            }

            .layer-opt-preview {
                display: none;
                position: absolute;
                top: var(--cw-size-20);
                left: 0;
            }

            .opt-wrapper {
                display: flex;
                flex-direction: column;
                align-items: flex-start;
                gap: var(--cw-size-10);
                min-width: var(--cw-size-90);
                padding: var(--cw-size-10);
                border: 1px solid var(--cw-color-30);
                border-radius: var(--cw-size-3);
                background: var(--cw-color-white);
            }

            .opt-wrapper li .detail-opt dt {
                font-size: var(--cw-size-11);
                line-height: var(--cw-size-14);
                font-weight: 700;
            }

            .opt-wrapper li .detail-opt dd {
                font-size: var(--cw-size-11);
                line-height: var(--cw-size-14);
                font-weight: 500;
                color: var(--cw-color-80);
                margin-top: var(--cw-size-4);
            }

            .opt-wrapper li .detail-opt dd:is(:first-of-type) {
                margin-top: var(--cw-size-6);
            }
        }
    }

    .prds--star {
        display: flex;
        gap: var(--cw-size-2);
        align-items: center;
        margin-top: var(--cw-size-12);

        .prds--star-cnt {
            font-size: var(--cw-size-12);
            line-height: var(--cw-size-16);
        }
    }

    .prds--hashtag {
        z-index: 2;
        position: relative;
        display: flex;
        gap: var(--cw-size-6);
        flex-wrap: wrap;
        margin-top: var(--cw-size-12);
        font-size: var(--cw-size-12);
        line-height: var(--cw-size-16);

        a {
            color: var(--cw-heading-color);
        }
    }

    .prds--ranking {
        position: absolute;
        left: 0;
        top: 0;
        right: 0;
        bottom: 0;
        z-index: 1;
        display: flex;
        align-items: center;
        justify-content: center;
        width: var(--cw-size-30);
        height: var(--cw-size-30);
        font-size: var(--cw-size-14);
        line-height: var(--cw-size-20);
        color: var(--cw-color-white);
        background-color: var(--cw-color-60);
    }

    &:nth-child(-n+10) .prds--ranking {
        background-color: var(--cw-point-color-pri);
    }
}

/* 상품 공통 스타일 - 리스트형 */
.prds-list.list .prds-list--item {
    display: grid;
    grid-template-columns: var(--cw-size-240) auto;
    column-gap: var(--cw-size-24);
    align-items: center;

    .prds--price-wrap {
        justify-content: start;
    }
}

/* 상품 공통 스타일 - 갤러리형 */
.prds-list.gallery .prds-list--item {
    .prds--image {
        margin-bottom: var(--cw-size-16);
    }

    .prds--price-wrap {
        justify-content: space-between;
    }
}

@media (max-width: 991.98px) {

    /* 상품 공통 스타일 */
    .prds-list--item {
        .prds--image .ico-wish {
            top: var(--cw-size-8);
            right: var(--cw-size-8);
            width: var(--cw-size-24);
            height: var(--cw-size-24);
        }

        .prds--image .my-wish-list {
            width: var(--cw-size-24);
            height: var(--cw-size-24);
            padding-top: var(--cw-size-22);
            background-size: var(--cw-size-26);
        }

        .prds--image .my-wish-list.wish-on {
            background-size: var(--cw-size-26);
        }

        .prds--name {
            font-size: var(--cw-size-13);
            line-height: var(--cw-size-18);
        }

        .prds--subname {
            font-size: var(--cw-size-12);
            line-height: var(--cw-size-16);
        }

        .prds--price-wrap .prices {
            column-gap: var(--cw-size-4);

            .price {
                font-size: var(--cw-size-12);
                line-height: var(--cw-size-16);
            }

            .price strong {
                font-size: var(--cw-size-14);
                line-height: var(--cw-size-20);
            }

            .original {
                font-size: var(--cw-size-12);
                line-height: var(--cw-size-16);
            }

            .coupon {
                font-size: var(--cw-size-11);
            }

            .coupon span {
                font-size: var(--cw-size-12);
                line-height: var(--cw-size-16);
            }

            .coupon span strong {
                font-size: var(--cw-size-14);
                line-height: var(--cw-size-20);
            }
        }

        .prds--price-wrap .prices-grid {
            display: grid;
        }

        .prds--price-wrap .prices-grid .discount {
            order: -1;
            grid-column: 1 / 3;
            font-size: var(--cw-size-14);
            line-height: var(--cw-size-20);
        }

        .prds--price-wrap .preview-btn {
            align-items: flex-end;
        }
    }

    /* 상품 공통 스타일 - 리스트형 */
    .prds-list.list .prds-list--item {
        grid-template-columns: var(--cw-size-200) auto;
        column-gap: var(--cw-size-20);
    }
}

@media (max-width: 767.98px) {

    /* 상품 공통 스타일 - 리스트형 */
    .prds-list.list .prds-list--item {
        grid-template-columns: var(--cw-size-120) auto;
        column-gap: var(--cw-size-16);
        align-items: start;
    }

    /* 베스트 아이템, 추천 아이템, 프로모션 아이템, 판매순위 상품 */
    :where(.best-wrapper, .recmd-wrapper, .promotion-wrapper, .rank-wrapper) {
        margin-left: calc(-0.5 * var(--bs-gutter-x)) !important;
        margin-right: calc(-0.5 * var(--bs-gutter-x)) !important;
        padding: 0 calc(0.5 * var(--bs-gutter-x)) !important;
    }
}

.cw-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7);
    z-index: 500;
}

legend,
caption {
    display: none;
}

/* 페이지 타이틀 */
.page-title-wrap {
    margin-top: 3.75rem;
    text-align: center;
}

.page-title-wrap h2 {
    font-size: 1.5rem;
    font-weight: 700;
}

.page-title-wrap .pt-20 {
    padding-top: 1.25rem;
}

.page-title-wrap p {
    padding-top: 1.25rem;
    font-size: .875rem;
    color: var(--cw-color-80);
}

@media (min-width: 768px) and (max-width: 991.98px) {
    .page-title-wrap {
        margin-top: 2.5rem;
    }

    .page-title-wrap h2 {
        display: none;
    }

    .page-title-wrap h2.fix-tit {
        display: block;
    }
}

@media (max-width: 767.98px) {
    .page-title-wrap {
        margin-top: 2.5rem;
    }

    .page-title-wrap h2 {
        display: none;
    }

    .page-title-wrap h2.fix-tit {
        display: block;
    }
}

/* flex */
.flex {
    display: flex;
}

.inline-flex {
    display: inline-flex;
}

.flex-wrap {
    flex-wrap: wrap;
}

.flex-base {
    display: flex;
    gap: 6px;
    align-items: center;
}

.flex-right {
    display: flex;
    gap: 6px;
    align-items: center;
    margin-left: auto;
}

.flex-col {
    flex-direction: column;
}

.items-start {
    align-items: flex-start;
}

.items-end {
    align-items: flex-end;
}

.items-center {
    align-items: center;
}

.items-baseline {
    align-items: baseline;
}

.items-stretch {
    align-items: stretch;
}

.justify-normal {
    justify-content: normal;
}

.justify-start {
    justify-content: flex-start;
}

.justify-end {
    justify-content: flex-end;
}

.justify-center {
    justify-content: center;
}

.justify-between {
    justify-content: space-between;
}

.justify-around {
    justify-content: space-around;
}

.justify-evenly {
    justify-content: space-evenly;
}

.justify-stretch {
    justify-content: stretch;
}

/* width */
.w-full {
    width: 100%;
}

.shrink-0 {
    flex-shrink: 0;
}

.gap-0 {
    gap: 0;
}

.gap-2 {
    gap: 2px;
}

.gap-4 {
    gap: 4px;
}

.gap-5 {
    gap: 5px;
}

.gap-6 {
    gap: 6px;
}

.gap-8 {
    gap: 8px;
}

.gap-10 {
    gap: 10px;
}

.gap-12 {
    gap: 12px;
}

.gap-15 {
    gap: 15px;
}

.gap-20 {
    gap: 20px;
}

.gap-x-0 {
    column-gap: 0;
}

.gap-x-10 {
    column-gap: 10px;
}

.gap-y-0 {
    row-gap: 0;
}

.gap-y-10 {
    row-gap: 10px;
}

/* 탭 메뉴 */
.cw-tab {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 3.125rem;
    margin-top: 1.5rem;
    background: var(--cw-color-10);
}

.cw-tab li {
    flex: 1;
    height: 100%;
    text-align: center;
    border-bottom: 1px solid var(--cw-heading-color);
    cursor: pointer;
}

.cw-tab li.now {
    background: var(--cw-color-white);
    border: 1px solid var(--cw-heading-color);
    border-bottom: 0;
}

.cw-tab li a {
    font-size: .875rem;
    line-height: 3rem;
    color: var(--cw-heading-color);
}

.tab-content {
    display: none;
}

.tab-content.active {
    display: block;
}

.tab-navi--links {
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin-bottom: 60px;
}

.tab-navi--links li {
    text-align: center;
    flex-grow: 1;
    border-bottom: 1px solid var(--cw-color-30);
}

.tab-navi--links li a {
    margin-bottom: -1px;
    display: block;
    padding: 18px 0;
    font-size: 1rem;
    font-weight: 700;
    color: var(--cw-heading-color);
    text-decoration: none;
}

.tab-navi--links li em {
    font-style: normal;
    font-weight: 400;
    font-size: 0.9rem;
    color: var(--cw-color-60);
}

.tab-navi--links li.active {
    border-bottom: 2px solid var(--cw-heading-color);
}

.tab-navi--links li.active a {
    margin-bottom: -2px;
}


/* 레이어 팝업 */
.modal-wrap {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    z-index: 1000;
    justify-content: center;
    align-items: center;
}

.modal-wrap.active {
    display: flex;
}

.modal-content {
    /*position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);*/
    background: #fff;
    border-radius: 10px;
    width: 90%;
    max-width: 27.5rem;
    border: 1px solid var(--cw-heading-color);
    padding: 18px 20px 20px;
    animation: fadeIn 0.3s ease-in-out;
}

.modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.modal-title {
    font-size: 1.125rem;
    font-weight: bold;
    margin: 0;
}

.btn-modal-close {
    width: 20px;
    height: 20px;
    background: url('//skin.makeshop.co.kr/skin/rw_shop/images/icons/bullet_delete.svg') no-repeat center top;
    border: none;
}

.modal-footer {
    display: flex;
    gap: 8px;
    justify-content: center;
    margin-top: 1.25rem;
}

.modal-footer button,
.modal-footer a {
    width: 100%;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: scale(0.9);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}

@media (max-width: 767.98px) {
    .modal-title {
        font-size: 1rem;
    }
}

.btn-group .btn-txt {
    width: var(--cw-text-width);
    height: var(--cw-text-height);
    max-width: 46px;
    font-size: var(--cw-font-size);
    color: var(--cw-heading-color);
    padding: 0;
    border: 0 none;
    text-align: center !important;
}

/* 자동입력방지 프로그램 */
#passimg {
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding: var(--cw-size-20);
    border: 1px solid var(--bs-highlight-color);
    border-radius: var(--cw-size-10);
    font-size: var(--cw-size-14);
    background-color: var(--cw-color-white);
    z-index: 102;
}

#authimg {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding: var(--cw-size-20);
    border: 1px solid var(--bs-highlight-color);
    border-radius: var(--cw-size-10);
    font-size: var(--cw-size-14);
    background-color: var(--cw-color-white);
}

#authimg h5 {
    display: flex;
    align-items: center;
    gap: var(--cw-size-8);
    font-size: var(--cw-size-14);
    color: var(--cw-point-color);
}

#authimg .contents table {
    width: 100%;
}

#authimg .contents table tr,
#authimg .contents table td {
    display: flex;
    align-items: center;
}

#authimg .contents table td {
    padding-top: var(--cw-size-10);
}

#authimg .contents table td:first-child,
#authimg .contents table td .cw-textfield {
    width: var(--cw-size-100);
}

#authimg .btns {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--cw-size-6);
    padding-top: var(--cw-size-12);
}

/* 옵션 미리보기 */
#MK_opt_preview {
    z-index: 98 !important;
}

/* 모바일 */
@media (max-width: 767.98px) {
    #authimg .icon-text {
        font-size: var(--cw-size-13);
    }

    #authimg .auth-form dt {
        font-size: var(--cw-size-13);
    }
}








/* 현재위치 */
.loc-navi {
    display: none;
    height: 46px;
    text-align: right;
    overflow: hidden
}

.loc-navi,
.loc-navi a {
    color: #878787;
    text-transform: capitalize;
    vertical-align: top;
    line-height: 46px
}

/* 페이지 타이틀 */
/* 타입 1*/
#content .tit-page {
    padding-bottom: 10px;
    position: relative;
    font-size: 18px;
    color: #202020;
    line-height: 18px;
    font-weight: bold;
    border-bottom: 1px solid #000
}

#content .tit-page .dsc {
    position: absolute;
    right: 0px;
    top: 15px;
    font-size: 11px;
    color: #a5a5a5;
    letter-spacing: -1px;
}

#content .tit-page .dsc em {
    color: #333;
}

/* 타입 2 */
#content .tit-page-2 {
    margin-top: 40px;
    position: relative
}

#content .tit-page-2 h2 {
    font-size: 18px;
    color: #2e2e2e;
    font-weight: bold
}

#content .tit-page-2 .dsc {
    position: absolute;
    top: 8px;
    right: 0
}

/* 타입 3 */
#content .page-hd {
    padding-bottom: 5px;
    border-bottom: 1px solid #e3e3e3
}

#content .page-hd h2 {
    color: #202020;
    font-size: 18px;
    font-weight: bold;
    text-transform: uppercase
}

/* 상품 total/정렬 */
.total-sort {
    zoom: 1;
    overflow: hidden;
    padding-bottom: 5px;
    border-bottom: 1px solid #e5e5e5;
}

/* total */
.total-sort .total {
    float: left;
    width: auto;
}

.total-sort .total dt,
.total-sort .total dd {
    display: inline;
}

.total-sort .total dd {
    font-weight: bold;
}

.total-sort .total dt {
    text-transform: capitalize;
}

/* sort */
.total-sort .sort {
    float: right;
    width: auto;
    display: inline;
    margin-right: 20px;
}

.total-sort .sort li,
.total-sort .sort li a {
    float: left;
    width: auto;
}

.total-sort .sort li {
    display: inline;
    margin-left: 10px;
}

/* 게시판 총게시글,PAGE */
.total-page {
    zoom: 1;
    overflow: hidden;
}

.total-page .total {
    float: left;
    width: auto;
}

.total-page .page {
    float: right;
    width: auto;
}

/* 회원 등급 표시 */
/* 타입 1 */
.mem-lvl {
    *zoom: 1;
    overflow: hidden;
    padding: 25px 0 25px 350px;
    width: 753px;
    margin: 0 auto;
    border-bottom: 1px dashed #e9e9e9
}

.mem-lvl:after {
    display: block;
    clear: both;
    content: ''
}

.mem-lvl .lvl-img,
.mem-lvl p {
    position: relative;
    float: left;
}

.mem-lvl .lvl-img {
    left: -120px;
    margin-right: -120px;
    width: 120px;
}

.mem-lvl p {
    width: 100%;
    padding-top: 10px;
    font-size: 12px;
    color: #2e2e2e;
    line-height: 25px
}

.mem-lvl p em {
    color: #be101a;
    font-weight: bold;
}

.mem-lvl span.MS_group_reserve_msg,
.mem-lvl span.MS_group_dc_msg {
    color: #F26622;
}

/* 타입 2 */
.mem-lvl-2 {
    zoom: 1;
    overflow: hidden;
    padding: 15px 50px 15px 150px;
    border: 5px solid #ededed;
}

.mem-lvl-2 .lvl-img,
.mem-lvl-2 p {
    position: relative;
    float: left;
}

.mem-lvl-2 .lvl-img {
    left: -130px;
    margin-right: -130px;
    width: 120px;
    border-right: 1px solid #ededed;
}

.mem-lvl-2 p {
    width: 100%;
    padding-top: 10px;
    line-height: 16px;
}

.mem-lvl-2 p em {
    color: #be101a;
    font-weight: bold;
}

.mem-lvl-2 span.MS_group_reserve_msg,
.mem-lvl-2 span.MS_group_dc_msg {
    color: #F26622;
}

/* 마이페이지 상단 메시지 박스 */
.t-box-msg {
    padding: 10px 20px;
    border: 5px solid #ededed;
}

.t-box-msg strong {
    color: #0178d3;
}

/*
========================================================================
공통 - 레이어
========================================================================
*/

#comment_password input {
    width: 185px !important
}

/*
========================================================================
공통 - 버튼타입
========================================================================
*/

.CSSbuttonBlack {
    display: inline-block;
    color: #fff;
    text-align: center;
    border: 1px solid #5F4541;
    background: #5F4541;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease
}

.CSSbuttonBlack:hover {
    color: #5F4541;
    background: #fff
}

.CSSbuttonBlack:active {
    position: relative;
    top: 1px
}

.CSSbuttonWhite {
    display: inline-block;
    color: #5F4541;
    text-align: center;
    border: 1px solid #5F4541;
    background: #fff;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease
}

.CSSbuttonWhite:hover {
    color: #fff;
    background: #5F4541
}

.CSSbuttonWhite:active {
    position: relative;
    top: 1px
}

.CSSbuttonGray {
    display: inline-block;
    color: #231f20;
    text-align: center;
    border: 1px solid #e4e4e5;
    background: #fff;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease
}

.CSSbuttonGray:hover {
    color: #fff;
    border: 1px solid #231f20;
    background: #231f20
}

.CSSbuttonGray:active {
    position: relative;
    top: 1px
}

.CSSbuttonMin {
    padding: 3px 10px;
    font-size: 10px
}

/*
========================================================================
공통 - 레이아웃
========================================================================
*/
/* z-index */
#layerWrap {
    z-index: 1;
}

/* layout */
#header,
#layerWrap,
#contentWrap,
#ftLink .link,
#footer {
    position: relative;
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
}

#contentWrapper {
    position: relative;
}

#contentWrap {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 16px;
    *zoom: 1
}

#contentWrap:after {
    content: "";
    display: block;
    clear: both;
}

#aside,
#content {
    position: relative
}

#content {
    min-height: 640px;
    padding: 60px 0
}


/* 상품 미리보기 레이어 */
#detailpage {
    position: absolute;
    top: 100px;
    display: block;
    width: 936px;
    padding: 43px;
    border: 1px solid #838897;
    background-color: #fff;
}

#detailpage .detail {
    zoom: 1;
    overflow: hidden;
    padding-left: 526px
}

#detailpage .detail:after {
    display: inline-block;
    clear: both;
    content: ''
}

#detailpage .thumb-wrap,
#detailpage .txt-wrap {
    position: relative;
    float: left;
}

#detailpage .close-layer {
    position: absolute;
    top: 19px;
    right: 19px;
    width: 26px;
    height: 26px;
    text-indent: -9999em;
    background: url(//image.makeshop.co.kr/makeshop/d3/basic_simple/common/btn_close_layer.gif) 0 0 no-repeat
}

/* thumb-wrap */
#detailpage .thumb-wrap {
    width: 486px;
    height: auto;
    left: -526px;
    margin-right: -526px;
    text-align: center
}

#detailpage .thumb-wrap .btns {
    margin-top: 10px;
    font-size: 0;
    line-height: 0;
}

#detailpage .thumb-wrap .btns a {
    margin-left: 5px;
}

#detailpage .thumb-wrap .thumb img {
    width: 486px
}

/* txt-wrap */
#detailpage .txt-wrap {
    width: 100%;
}

#detailpage .txt-wrap .picon {
    padding-top: 10px
}

#detailpage .txt-wrap .picon img {
    margin-right: 3px
}

#detailpage .txt-wrap .ptit {
    font-size: 18px;
    color: #1c1c1c
}

#detailpage .txt-wrap .table-opt {
    margin-top: 10px
}

#detailpage .txt-wrap .table-opt th,
#detailpage .txt-wrap .table-opt td {
    padding: 4px 0
}

#detailpage .txt-wrap .table-opt th {
    color: #969696;
    font-weight: normal
}

#detailpage .txt-wrap .table-opt th .tb-left,
#detailpage .txt-wrap .table-opt td .tb-left {
    padding: 0
}

#detailpage .txt-wrap .table-opt td {
    color: #555
}

#detailpage .txt-wrap .table-opt .sell_price {
    font-size: 18px;
    color: #1c1c1c;
    font-weight: bold
}

#detailpage .txt-wrap .f-btns {
    margin-top: 10px
}

#detailpage .txt-wrap .f-btns .soldout {
    margin-top: 6px;
    width: 408px;
    height: 104px;
    font-size: 14px;
    color: #231f20;
    text-align: center;
    line-height: 104px;
    letter-spacing: 2px;
    border: 1px solid #231f20;
    background: #fff
}

#detailpage .txt-wrap .f-btns a {
    margin-top: 6px
}

#detailpage .txt-wrap .f-btns .btn_buy {
    display: block;
    width: 408px;
    height: 40px;
    font-size: 13px;
    color: #fff;
    font-family: Verdana;
    text-align: center;
    line-height: 40px;
    border: 1px solid #231f20;
    background: #231f20
}

#detailpage .txt-wrap .f-btns .btn_buy:hover {
    color: #000;
    background: #fff
}

#detailpage .txt-wrap .f-btns .btn_buy:active {
    position: relative;
    top: 1px
}

#detailpage .txt-wrap .f-btns .btn_cart {
    display: block;
    width: 408;
    height: 40px;
    font-size: 14px;
    color: #231f20;
    font-family: Verdana;
    text-align: center;
    line-height: 40px;
    border: 1px solid #231f20;
    background: #fff
}

#detailpage .txt-wrap .f-btns .btn_cart:hover {
    color: #fff;
    background: #231f20
}

#detailpage .txt-wrap .f-btns .btn_cart:active {
    position: relative;
    top: 1px
}

/* opt-spin */
#detailpage .opt-spin {
    display: inline-block;
    position: relative;
    width: 36px;
    height: 20px;
}

#detailpage .opt-spin .txt-spin {
    width: 22px;
    height: 18px;
    padding-right: 2px padding-top: 2px;
    border: 1px solid #acacac;
    font-size: 11px;
    text-align: right;
}

#detailpage .opt-spin .btns {
    position: absolute;
    left: 35px;
    top: 0px;
    width: 12px;
    height: 20px;
}

#detailpage .opt-spin .btns img {
    overflow: hidden;
    float: left;
    text-indent: -999px;
    background: none;
}

#detailpage .thumb-wrap .btns {
    margin-top: 10px;
    font-size: 0;
    line-height: 0;
}

#detailpage .thumb-wrap .btns a {
    margin-left: 5px;
}

/* 게시판 공통 - 일반, 겔러리, 컨텐츠링크, 자료실, 미니홈피, 방명록, 동영상 */
/* 상단 */
.bbs-hd {
    /*padding:65px 0 20px; border-bottom:1px dashed #e9e9e9 */
}

.bbs-hd .link {
    text-align: center
}

.bbs-hd .link li {
    display: inline;
}

.bbs-hd .link li a {
    padding: 0 10px;
    color: #b7b7b7;
    background: url(/images/d3/modern_simple/common/bull_bbs_hd_link.gif) no-repeat left 2px;
}

.bbs-hd .link li.last a {
    background-image: none;
}

/* 타이틀 */
.bbs-tit {
    margin-top: 60px;
    *zoom: 1
}

.bbs-tit:after {
    display: block;
    clear: both;
    content: ''
}

.bbs-tit h3 {
    float: left;
    font-size: 16px;
    color: #000;
    font-weight: bold;
    line-height: 30px
}

/* 검색 */
.bbs-sch {
    float: right
}

.bbs-sch label {
    margin-right: 10px;
    font-size: 11px
}

.bbs-sch label input {
    margin-top: -3px;
    vertical-align: middle
}

.bbs-sch .key-wrap {
    font-size: 0;
    line-height: 0;
}

.bbs-sch .key-wrap,
.bbs-sch .keyword,
.bbs-sch img {
    vertical-align: middle;
}

.bbs-sch .key-wrap a {
    margin-left: -1px;
    vertical-align: top
}

.bbs-sch img {
    *margin-top: 1px;
    *margin-left: -1px;
    vertical-align: top
}

.bbs-sch .MS_input_txt {
    margin: 0;
    padding: 0 0 0 5px;
    width: 178px;
    height: 28px;
    border: 1px solid #c3c3c3
}

.bbs-sch .keyword {
    width: 125px;
    height: 14px;
    padding: 2px 0 0 2px;
    margin-right: 3px;
    line-height: 14px;
    border: 1px solid #ededed;
}

/* 게시판 글쓰기, 목록 이동 링크 */
.bbs-btm {
    padding: 15px 0;
    position: relative;
    *zoom: 1
}

.bbs-btm:after {
    display: block;
    clear: both;
    content: ''
}

.bbs-btm .bbs-link {
    float: right
}

.bbs-btm .bbs-link a {
    margin-left: 3px;
    width: 108px;
    height: 38px;
    font-size: 13px;
    line-height: 38px
}

.bbs-btm .bbs-paging .paging {
    margin: 0 130px;
    padding: 10px 0
}

/* 게시판 한줄공지 */
.bbs-online-notice {
    margin-top: 10px;
    margin-bottom: -10px;
    padding: 7px 10px;
    color: #9d9d9d;
    border-top: 1px solid #e5e5e5;
    border-bottom: 1px solid #e5e5e5;
}

/* 게시판 타입 - 리스트 */
.bbs-table-list {
    margin-top: 10px
}

.bbs-table-list thead th,
.bbs-table-list tbody td {
    padding: 15px 0
}

.bbs-table-list thead th {
    font-size: 13px;
    color: #000;
    font-weight: normal;
    font-family: Verdana;
    border-top: 1px solid #000;
    border-bottom: 1px solid #e9e9e9
}

.bbs-table-list tbody td {
    color: #343434;
    border-bottom: 1px solid #e9e9e9
}

.bbs-table-list tbody td a {}

/* 게시판 타입 - 보기 */
.bbs-table-view {
    margin-top: 10px
}

.bbs-table-view thead th,
.bbs-table-view tbody td {
    padding: 15px 0
}

.bbs-table-view thead th {
    color: #000;
    font-size: 15px;
    font-weight: normal;
    border-top: 1px solid #000;
    border-bottom: 1px solid #e9e9e9
}

.bbs-table-view .btn-dwn {
    margin-top: 15px;
}

.bbs-table-view .privercy-agree label {
    vertical-align: -2px \0/IE8+9;
    *vertical-align: bottom
}

.bbs-table-view .privercy-agree label input {
    vertical-align: top;
    *vertical-align: top
}

/* 팝업 타이틀 (1:1고객게시판) */
.tit-pop {
    position: relative
}

.tit-pop h1 {
    font-size: 18px;
    color: #000;
    font-weight: bold;
    line-height: 18px
}

.tit-pop .txt {
    position: absolute;
    top: 5px;
    right: 0;
    font-size: 12px;
    color: #343434
}

/* 미니홈피, 방명록 게시글 뷰 */
/* 상단 */
.visit-vhd {
    margin-top: 10px;
    border-top: 1px solid #000
}

.visit-vhd th,
.visit-vhd td {
    padding: 15px 0;
    border-bottom: 1px solid #e9e9e9;
    font-size: 15px;
    color: #000
}

.visit-vhd .tb-left {
    padding: 0 10px
}

/* 내용*/
.visit-vcont th,
.visit-vcont td {
    padding: 15px 0;
    color: #000
}

.visit-vcont .info em {
    font-weight: bold
}

.visit-vcont .info .video-writer {
    display: inline-block;
    *display: inline
}

.visit-vcont tr.no-line th,
.visit-vcont tr.no-line td {
    padding-bottom: 0;
    border-bottom: 0;
}

.visit-vcont tr.dot-line th,
.visit-vcont tr.dot-line td {
    padding-top: 2px;
    border-bottom: 1px dotted #e5e5e5;
}

.visit-vcont tr.info td .tb-left {
    padding-left: 0;
    color: #555;
}

.visit-vcont .tb-left {
    padding: 0 3px;
}

.visit-vcont td .tb-cont {
    padding: 15px 0;
    min-height: 250px;
    color: #8d8d8d
}

.visit-vcont td .tb-cont img {
    max-width: 100%;
}

/* 코멘트 */
.visit-vcmt {
    border-top: 1px solid #000
}

.visit-vcmt td {
    padding: 20px 0 15px;
    border-bottom: 1px dashed #e9e9e9;
    vertical-align: top
}

.visit-vcmt .com-name {
    margin-right: 20px;
    font-weight: bold;
    color: #000
}

.visit-vcmt .com-date {
    font-size: 11px;
    color: #aeaeae
}

.visit-vcmt .com-cont {
    padding: 10px 20px 0 0;
    color: #828282;
    line-height: 20px
}

/* 작성 */
.vist-vcmt-reg {
    margin-top: 10px;
    border-bottom: 1px solid #e5e5e5;
}

.vist-vcmt-reg th,
.vist-vcmt-reg td,
#comment_reply_input th {
    padding: 6px 0;
}

.vist-vcmt-reg th,
#comment_reply_input th {
    font-weight: normal;
    color: #9d9d9d;
}

.vist-vcmt-reg .tb-left,
#comment_reply_input .tb-left {
    padding: 0 3px;
}

.vist-vcmt-reg th .tb-left {
    padding-left: 10px;
    background: url('/images/d3/modern_simple/common/bull_join_required.gif') no-repeat 0 45%;
}

/* 게시판 타입 - 쓰기 */
.bbs-table-write {
    margin-top: 10px;
    border-top: 1px solid #000
}

.bbs-table-write tbody th,
.bbs-table-write tbody td {
    padding: 13px 0;
    text-align: left;
    border-bottom: 1px solid #e9e9e9
}

.bbs-table-write tbody th {
    padding-left: 30px;
    font-size: 14px;
    font-weight: normal;
    background: #f8f8f8
}

.bbs-table-write tbody td {
    padding: 13px 10px
}

.bbs-table-write .privercy-agree label {
    vertical-align: -2px \0/IE8+9;
    *vertical-align: bottom
}

.bbs-table-write .privercy-agree label input {
    vertical-align: top;
    *vertical-align: top
}

/* 게시판 타입 - 비밀번호찾기 */
.bbs-table-pwd {
    margin-top: 10px;
    padding: 60px 0;
    border-top: 1px solid #e5e5e5;
    border-bottom: 1px solid #e5e5e5;
}

.bbs-table-pwd table {
    width: 475px;
    margin: 0 auto
}

.bbs-table-pwd tbody th,
.bbs-table-pwd tbody td {
    font-size: 14px;
    color: #8d8d8d;
    font-weight: normal
}

.bbs-table-pwd tbody td input {
    padding: 0 0 0 5px;
    width: 355px;
    height: 42px;
    line-height: 42px;
    border: 1px solid #ddd
}

.pwd-link {
    padding: 40px 0 100px;
    text-align: center
}

.pwd-link a {
    margin: 0 3px;
    width: 188px;
    height: 58px;
    font-size: 16px;
    line-height: 58px
}

/* 공통으로 쓰는거 */
textarea {
    width: 600px;
    height: 47px;
    padding: 2px;
    border: 1px solid #EDEDED;
}

.input-style {
    padding: 2px;
    height: 14px;
    line-height: 14px;
    border: 1px solid #EDEDED;
}

.cont-sub-des {
    position: relative;
}

.cont-sub-des div {
    padding-top: 5px
}

.cont-sub-des span {
    margin-right: 15px;
    color: #343434
}

.cont-sub-des span em {
    font-size: 12px;
    color: #343434;
    font-weight: bold
}

.cont-sub-des span a {}

.comment-list {
    border-top: 1px solid #000
}

.comment-write {
    border-bottom: 1px solid #e9e9e9
}

.bbs-table-view .comment-box td {
    padding-top: 20px;
    border-bottom: 1px dashed #e9e9e9;
    vertical-align: top
}

.comment-box .com-name {
    margin-right: 20px;
    font-weight: bold;
    color: #000
}

.comment-box .com-date {
    font-size: 11px;
    color: #aeaeae
}

.comment-box .com-cont {
    padding: 10px 20px 0 0;
    color: #828282;
    line-height: 20px
}

.bbs-table-view td.com-wrt-box {
    border: 0;
}

.com-wrt-box label {
    padding-left: 12px;
    font-size: 14px;
    color: #000;
    background: url('//image.makeshop.co.kr/makeshop/d3/basic_simple/common/bu_4x4.gif') no-repeat 0 50%;
}

.com-wrt-box .input-style {
    margin: 0 10px 0 7px;
    padding: 0 0 0 5px;
    width: 212px;
    height: 27px;
    line-height: 27px;
    border: 1px solid #ddd
}

.com-wrt-box .wrt {
    margin-top: 7px
}

.com-wrt-box .wrt span {
    margin: 0 10px;
    font-size: 14px;
    color: #828282
}

.com-wrt-box .wrt textarea {
    padding: 1px 0;
    width: 978px;
    height: 118px;
    border: 1px solid #ddd
}

.com-wrt-box .wrt_write {
    padding-bottom: 15px;
    font-size: 0
}

.com-wrt-box .wrt_write .CSSbuttonBlack {
    width: 118px;
    height: 120px;
    font-size: 16px;
    line-height: 120px
}

.view-link {
    padding: 20px 0;
    text-align: right
}

.view-link a {
    width: 108px;
    height: 38px;
    font-size: 13px;
    line-height: 38px
}

/* 게시판 회원 게시글 검색 */
.search_id {
    background: none repeat scroll 0 0 #FFFFFF;
    border: 1px solid #DADADA;
    display: block;
    padding: 3px;
    position: absolute;
    width: 90px;
}

/* 개인정보보호정책 동의 */
.new-privercy-contract {
    text-align: left
}

.new-privercy-contract p {
    font-weight: bold;
    margin: 0;
    margin-bottom: 10px;
    margin-top: 20px;
    text-align: left;
}

.new-privercy-contract .privercy-agree label {
    vertical-align: -2px \0/IE8+9;
    *vertical-align: bottom
}

.new-privercy-contract .privercy-agree label input {
    vertical-align: top;
    *vertical-align: top
}

.privercy-contract-tap {
    position: relative;
    height: 40px;
}

.privercy-contract-tap ul {
    list-style: none;
    margin: 0;
    padding: 0;
    position: absolute;
    bottom: -1px;
    *bottom: -2px;
}

.privercy-contract-tap li {
    border: 1px solid #ccc;
    border-right: none;
    background: #F4F4F4;
    float: left;
    display: inline-block;
}

.privercy-contract-tap li a {
    display: block;
    padding: 10px 10px;
    text-decoration: none;
}

.privercy-contract-tap li.end {
    border-right: 1px solid #ccc;
}

.privercy-contract-tap li.sel {
    background: #FFFFFF;
    border-bottom: 1px solid #FFFFFF;
}

.privercy-contract {
    clear: both;
}

.privercy-contract textarea {
    clear: both;
    border: 1px solid #CCC;
    height: 60px;
    background: #FFFFFF;
    padding: 10px;
    width: 660px;
}

.privercy-agree {
    margin: 10px 0;
}

.privercy-agree label {
    margin-right: 10px
}

/*
========================================================================
hot issue common class
========================================================================
*/

/* .item-wrap */
.item-wrap * {
    font-family: var(--base-font)
}

.item-wrap {
    overflow: hidden;
    margin: 0 auto;
}

.item-wrap .item-hd {
    margin: 40px 0 20px 0
}

.item-wrap .nbg {
    background: none;
    text-align: center;
}

.item-wrap .item-info {
    zoom: 1;
    overflow: hidden;
    padding: 5px 0 10px;
    margin-bottom: 10px;
}

.item-wrap .item-info .all_cnt {
    float: left;
    font-size: 14px;
    letter-spacing: -0.3px;
    color: #777777;
    line-height: 30px;
}

.item-wrap .item-info .all_cnt b {
    font-weight: normal;
}

.item-wrap .item-info:after {
    display: block;
    clear: both;
    content: ''
}

.item-wrap .item-info .item-total {
    float: left;
    font-size: 14px;
    color: #7b7b7b
}

.item-wrap .item-info .item-total span {
    color: #7b7b7b;
}

.item-wrap .item-info .item-order {
    float: right
}

.item-wrap .item-info .item-order select {
    width: 112px;
    padding: 6px 10px;
    border: 1px solid #dedede;
    border-radius: 5px;
    color: #777777;
    font-size: 14px;
}

.item-wrap .item-info .item-order li {
    float: left;
    padding: 0 15px;
    line-height: 12px;
    border-right: 1px solid #ddd
}

.item-wrap .item-info .item-order li.nobg {
    padding-right: 0;
    border-right: none
}

.item-wrap .item-info .item-order li a {
    font-size: 12px;
    color: #a6a6a6;
    line-height: 12px;
    vertical-align: top
}

.item-wrap .item-info .item-order li a .on {
    color: #111
}


.item-wrap .item-cont {
    width: 100%;
    margin: 0 auto;
    *zoom: 1
}

.item-wrap .item-cont:after {
    content: "";
    display: block;
    clear: both
}

.item-wrap .item-cont .item-list {
    margin-right: 30px;
    _float: left;
    text-align: center;
    font-family: var(--base-font)
}

.item-wrap .item-cont dl:last-child {
    padding-right: 0;
}

/*if slide*/
.item-wrap.ifslide .item-cont {
    width: 100%;
    margin: 0 auto;
    display: flex;
    *zoom: 1
}

.item-wrap.ifslide .item-cont:after {
    content: "";
    display: block;
    clear: both
}

.item-wrap.ifslide .item-cont .item-list {
    margin-right: 30px;
    float: left;
    text-align: center;
    font-family: var(--base-font)
}

.item-wrap.ifslide .item-cont dl:last-child {
    padding-right: 0;
}

.item-wrap .item-cont .item-list .thumb .new_option {}

.item-wrap .item-cont .item-list .thumb .new_option .ico {
    display: inline-block;
    text-align: center;
    width: 49%;
}

.item-wrap .item-cont .item-list .thumb .new_option .ico.prd-wish::after {
    /*content:"";display:inline-block;width:1px;height:30px;background-color:#eee8da;position: absolute;right: 50%;bottom:15px;*/
}

.item-wrap .item-cont .item-list .thumb .new_option .ico img {
    width: 20px;
    height: 100%;
}

.item-wrap .item-cont .item-list .thumb .new_option .ico .on {
    display: none;
}

.item-wrap .item-cont .item-list .thumb .new_option .ico .wish-on .off {
    display: none;
}

.item-wrap .item-cont .item-list .thumb .new_option .ico .wish-on .on {
    display: inline-block;
}

.item-wrap .item-cont .item-list .thumb {
    position: relative;
    overflow: hidden
}

.item-wrap .item-cont .item-list .thumb .prd_thumb img {
    width: 100%;
    transform: scale(1);
    transition: all 0.6s ease;
}

.item-wrap .item-cont .item-list .thumb .prd_thumb img:hover {
    transform: scale(1.04);
    transition: all 0.6s ease;
}

.item-wrap .item-cont .item-list .prd-info {
    padding: 16px 0 60px;
    overflow: hidden
}

.item-wrap .item-cont .item-list .prd-ico {
    text-align: left;
    display: inline-block;
}

.item-wrap .item-cont .item-list .prd-ico img {
    margin: 2px
}

.item-wrap .item-cont .item-list .prd-name {
    text-align: left;
    margin-bottom: 6px;
}

.item-wrap .item-cont .item-list .prd-name a {
    color: #121212;
    font-size: 16px;
    word-wrap: normal;
    text-overflow: ellipsis;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    line-height: 20px;
    display: inline-block;
}

.item-wrap .item-cont .item-list .prd-price {
    padding-top: 5px;
    text-align: left;
}

.item-wrap .item-cont .item-list .prd-price strike {
    color: #707070;
}

.item-wrap .item-cont .item-list .prd-price .price {
    color: #1c1c1c;
}

.item-wrap .item-cont .item-list .prd-color {
    padding-top: 15px;
    text-align: left;
}

.item-wrap .item-cont .item-list .prd-preview {
    padding-top: 5px
}

.item-wrap .item-cont .item-list .prd-preview .btn-preview {
    display: inline-block;
    width: 69px;
    height: 17px;
    text-indent: -9999em;
    background: url(//image.makeshop.co.kr/makeshop/d3/basic_simple/common/btn_preview.gif) 0 0 no-repeat
}

.item-wrap .item-cont .item-list .prd-benefit {
    padding-top: 5px;
    text-align: left;
}

.item-wrap .item-cont .item-list .prd-wish a {
    font-family: 'malgun gothic';
    font-size: 14px;
    color: #000;
}

.item-wrap .item-cont .item-list .prd-wish i.fa {
    margin-right: 4px;
    color: #c8c8c8;
    font-size: 22px;
    vertical-align: text-top;
    cursor: pointer;
}

.item-wrap .item-cont .item-list .prd-wish i.fa-heart {
    display: none;
    color: #f41f3a;
}

.item-wrap .item-cont .item-list .prd-wish .wish-on i.fa-heart {
    display: inline-block;
}

.item-wrap .item-cont .item-list .prd-wish .wish-on i.fa-heart-o {
    display: none;
}

.item-wrap .item-cont .item-list .prd-subname {
    margin-bottom: 16px;
    color: #999999;
    text-align: left;
    _word-break: keep-all;
    font-weight: 400;
    text-overflow: ellipsis;
    overflow: hidden;
    font-size: 13px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    min-height: 16px;
}

.item-wrap.col-4 .item-cont {
    width: 25%;
}

#loginWrap {
    padding-top: 0 !important
}

.item-wrap .item-cont .item-list .MK-product-icons img {
    vertical-align: middle
}

.item-wrap .item-cont .nomg {
    padding-right: 0px
}

.item-wrap .item-page {
    margin-top: 50px;
    text-align: center;
}

.item-wrap .item-page a {
    padding: 0 5px
}

.item-wrap .item-page a:hover,
.item-wrap .item-page a.now {
    color: #111;
    font-weight: bold;
    letter-spacing: -1px;
}


/* 타이틀 */
.cateTit {
    padding-top: 60px;
    position: relative;
    text-align: center
}

.cateTit h3 {
    font-size: 20px;
    color: #1c1c1c;
    font-weight: bold;
    font-family: var(--base-font);
    line-height: 20px
}

.cateTit .line {
    margin: 20px auto;
    width: 10px;
    height: 2px;
    background: #1c1c1c
}


/* 타이틀 - 회원가입 등의 페이지 */
.cateTit_v2 {
    *zoom: 1
}

.cateTit_v2:after {
    content: "";
    display: block;
    clear: both;
}

.cateTit_v2 .right {
    float: right;
}

.cateTit_v2 .title {
    font-size: 18px;
    line-height: 1;
    font-weight: bold;
    display: inline-block;
    *float: left;
    *line-height: 20px
}

.cateTit_v2 .subTxt {
    font-size: 12px;
    line-height: 1.5;
}

.cateTit_v2.join {
    margin: 0px 0 20px;
    padding: 14px 0;
    border-bottom: 1px solid #000;
    color: #000;
}



/*상품목록 공통css*/

.product-wrap {
    position: relative;
    max-width: 1760px;
    margin: 0 auto;
    padding: 120px 16px 0;
}

.product-wrap .cateTit {
    padding-top: 0;
}

.product-wrap .cateTit h3 {
    padding-bottom: 24px;
    text-align: left;
    font-size: 32px;
    line-height: 48px;
    color: var(--point-color);
    font-weight: 600;
}

.product-wrap .item-wrap {
    position: relative;
}

.product-wrap .item-wrap .item-cont .item-list .thumb {
    position: relative;
    width: 100%;
    height: auto;
    overflow: hidden;
}

.product-wrap .item-wrap .item-cont .item-list .thumb .prd_thumb img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    display: block;
}

.product-wrap .item-wrap .item-cont .item-list .thumb .new_option {
    position: absolute;
    right: 16px;
    top: 10px;
}

.product-wrap .item-wrap .item-cont .item-list .prd-info {
    padding-bottom: 0
}

.product-wrap .item-wrap .item-cont .item-list .prd-info .prd-price {
    padding-top: 0;
    position: relative;
}

.item-wrap .item-cont .item-list .prd-info .prd-price .price {
    margin-right: 4px;
    color: #121212;
    font-size: 16px;
    line-height: 16px;
    font-weight: 700;
}

.product-wrap .item-wrap .item-cont .item-list .prd-info .prd-price strike {
    color: #999999;
    font-size: 12px;
    line-height: 14px;
    font-weight: 500;
}


.product-wrap .item-wrap .item-cont .item-list .prd-info .prd-price span.replace {
    color: #121212;
    font-size: 16px;
    font-weight: 700;
}

.product-wrap .item-wrap .item-cont .item-list .prd-info .prd-price span.discount {
    color: #5F4541;
    font-size: 16px;
    font-weight: 700;
    line-height: 16px;
    position: absolute;
    right: 0;
    bottom: 0;
}

.product-wrap .item-wrap .item-cont .item-list .prd-info .prd-info-list {
    text-align: left;
}

.product-wrap .item-wrap .item-cont .item-list .prd-info .score img {
    width: 15px;
    margin-top: -3px;
    margin-right: 3px;
}

.product-wrap .item-wrap .item-cont .item-list .prd-info .review {
    margin-left: 5px;
}

.product-wrap .item-wrap .item-cont .item-list .prd-wish {
    padding-top: 0;
}

.product-wrap .swiper-scrollbar {
    background-color: #F2F0EA;
    left: 0 !important;
    width: 100% !important;
}

.product-wrap .swiper-scrollbar .swiper-scrollbar-drag {
    background-color: var(--beige-color);
    height: 8px;
    top: -2px;
    border-radius: 0;
}

.product-wrap .item-wrap .item-cont .item-list .thumb .new_option .ico.prd-wish::after {
    bottom: 18px;
}

.only-mo {
    display: none !important;
}

html,
body {
    overflow-x: hidden;
}

@media (max-width:1024px) {
    .only-mo {
        display: block !important;
    }

    .only-pc {
        display: none !important;
    }



    /* .item-wrap */
    .item-wrap * {
        font-family: var(--base-font)
    }

    .item-wrap {
        overflow: hidden;
        margin: 0 auto;
    }

    .item-wrap .item-hd {
        margin: 40px 0 20px 0
    }

    .item-wrap .nbg {
        background: none;
        text-align: center;
    }

    .item-wrap .item-info {
        zoom: 1;
        overflow: hidden;
        padding: 5px 0 10px;
        margin-bottom: 10px;
    }

    .item-wrap .item-info .all_cnt {
        float: left;
        font-size: 14px;
        letter-spacing: -0.3px;
        color: #777777;
        line-height: 30px;
    }

    .item-wrap .item-info .all_cnt b {
        font-weight: normal;
    }

    .item-wrap .item-info:after {
        display: block;
        clear: both;
        content: ''
    }

    .item-wrap .item-info .item-total {
        float: left;
        font-size: 14px;
        color: #7b7b7b
    }

    .item-wrap .item-info .item-total span {
        color: #7b7b7b;
    }

    .item-wrap .item-info .item-order {
        float: right
    }

    .item-wrap .item-info .item-order select {
        width: 112px;
        padding: 6px 10px;
        border: 1px solid #dedede;
        border-radius: 5px;
        color: #777777;
        font-size: 14px;
    }

    .item-wrap .item-info .item-order li {
        float: left;
        padding: 0 15px;
        line-height: 12px;
        border-right: 1px solid #ddd
    }

    .item-wrap .item-info .item-order li.nobg {
        padding-right: 0;
        border-right: none
    }

    .item-wrap .item-info .item-order li a {
        font-size: 12px;
        color: #a6a6a6;
        line-height: 12px;
        vertical-align: top
    }

    .item-wrap .item-info .item-order li a .on {
        color: #111
    }


    .item-wrap .item-cont {
        width: 100%;
        margin: 0 auto;
        _display: flex;
        *zoom: 1
    }

    .item-wrap .item-cont:after {
        _content: "";
        display: block;
        clear: both
    }

    .item-wrap .item-cont dl:last-child {
        padding-right: 0;
    }

    /*if slide*/
    .item-wrap.ifslide .item-cont {
        width: 100%;
        margin: 0 auto;
        display: flex;
        *zoom: 1
    }

    .item-wrap.ifslide .item-cont:after {
        content: "";
        display: block;
        clear: both
    }

    .item-wrap .item-cont .item-list {
        _margin-right: 30px;
        _float: left;
        text-align: center;
        font-family: var(--base-font)
    }

    .item-wrap.ifslide .item-cont .item-list {
        margin-right: 30px;
        float: left;
        text-align: center;
        font-family: var(--base-font)
    }

    .item-wrap.ifslide .item-cont dl:last-child {
        padding-right: 0;
    }

    .item-wrap .item-cont .item-list .thumb .new_option {}

    .item-wrap .item-cont .item-list .thumb .new_option .ico {
        display: inline-block;
        text-align: center;
        width: 49%;
    }

    .item-wrap .item-cont .item-list .thumb .new_option .ico.prd-wish::after {
        /*content:"";display:inline-block;width:1px;height:30px;background-color:#eee8da;position: absolute;right: 50%;bottom:15px;*/
    }

    .item-wrap .item-cont .item-list .thumb .new_option .ico img {
        width: 20px;
        height: 100%;
    }

    .item-wrap .item-cont .item-list .thumb .new_option .ico .on {
        display: none;
    }

    .item-wrap .item-cont .item-list .thumb .new_option .ico .wish-on .off {
        display: none;
    }

    .item-wrap .item-cont .item-list .thumb .new_option .ico .wish-on .on {
        display: inline-block;
    }

    .item-wrap .item-cont .item-list .thumb {
        position: relative;
        overflow: hidden
    }

    .item-wrap .item-cont .item-list .thumb .prd_thumb img {
        width: 100%;
        transform: scale(1);
        transition: all 0.6s ease;
    }

    .item-wrap .item-cont .item-list .thumb .prd_thumb img:hover {
        transform: scale(1.04);
        transition: all 0.6s ease;
    }

    .item-wrap .item-cont .item-list .prd-info {
        padding: 12px 0 60px;
        overflow: hidden
    }

    .item-wrap .item-cont .item-list .prd-ico {
        text-align: left;
        display: inline-block;
    }

    .item-wrap .item-cont .item-list .prd-ico img {
        margin: 2px
    }

    .item-wrap .item-cont .item-list .prd-name {
        text-align: left;
        _margin-bottom: 6px;
    }

    .item-wrap .item-cont .item-list .prd-name a {
        font-weight: 500;
        color: #121212;
        font-size: 13px;
        word-wrap: normal;
        text-overflow: ellipsis;
        overflow: hidden;
        display: -webkit-box;
        -webkit-line-clamp: 1;
        -webkit-box-orient: vertical;
        line-height: 20px;
        display: inline-block;
    }

    .item-wrap .item-cont .item-list .prd-price {
        padding-top: 5px;
        text-align: left;
    }

    .item-wrap .item-cont .item-list .prd-price strike {
        color: #707070;
    }

    .item-wrap .item-cont .item-list .prd-price .price {
        color: #1c1c1c;
    }

    .item-wrap .item-cont .item-list .prd-color {
        padding-top: 15px;
        text-align: left;
    }

    .item-wrap .item-cont .item-list .prd-preview {
        padding-top: 5px
    }

    .item-wrap .item-cont .item-list .prd-preview .btn-preview {
        display: inline-block;
        width: 69px;
        height: 17px;
        text-indent: -9999em;
        background: url(//image.makeshop.co.kr/makeshop/d3/basic_simple/common/btn_preview.gif) 0 0 no-repeat
    }

    .item-wrap .item-cont .item-list .prd-benefit {
        padding-top: 5px;
        text-align: left;
    }

    .item-wrap .item-cont .item-list .prd-wish a {
        font-family: 'malgun gothic';
        font-size: 14px;
        color: #000;
    }

    .item-wrap .item-cont .item-list .prd-wish i.fa {
        margin-right: 4px;
        color: #c8c8c8;
        font-size: 22px;
        vertical-align: text-top;
        cursor: pointer;
    }

    .item-wrap .item-cont .item-list .prd-wish i.fa-heart {
        display: none;
        color: #f41f3a;
    }

    .item-wrap .item-cont .item-list .prd-wish .wish-on i.fa-heart {
        display: inline-block;
    }

    .item-wrap .item-cont .item-list .prd-wish .wish-on i.fa-heart-o {
        display: none;
    }

    .item-wrap .item-cont .item-list .prd-subname {
        line-height: 16px;
        margin-bottom: 8px;
        color: #999999;
        text-align: left;
        _word-break: keep-all;
        font-weight: 400;
        text-overflow: ellipsis;
        overflow: hidden;
        font-size: 12px;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        min-height: 16px;
    }



    /*상품목록 공통css*/

    .product-wrap {
        position: relative;
        margin: 0 16px;
        padding: 60px 0 0;
        overflow: hidden;
    }

    .product-wrap .cateTit {
        position: relative;
        padding-top: 0;
    }

    .product-wrap .cateTit h3 {
        padding-bottom: 20px;
        text-align: left;
        font-size: 26px;
        line-height: 1;
        color: var(--point-color);
        font-weight: 600;
    }

    .product-wrap .item-wrap {
        position: relative;
    }

    .product-wrap .item-wrap .item-cont .item-list .thumb {
        position: relative;
        overflow: hidden;
    }

    .product-wrap .item-wrap .item-cont .item-list .thumb .prd_thumb img {
        width: 100%;
        aspect-ratio: 1 / 1;
        object-fit: cover;
        display: block;
    }

    .product-wrap .item-wrap .item-cont .item-list .thumb .new_option {
        position: absolute;
        right: 16px;
        top: 10px;
    }

    .product-wrap .item-wrap .item-cont .item-list .prd-info {
        padding-bottom: 0
    }

    .product-wrap .item-wrap .item-cont .item-list .prd-info .prd-price {
        padding-top: 0;
        position: relative;
    }

    .item-wrap .item-cont .item-list .prd-info .prd-price .price {
        margin-right: 6px;
        color: #121212;
        font-size: 14px;
        line-height: 16px;
        font-weight: 700;
    }

    .product-wrap .item-wrap .item-cont .item-list .prd-info .prd-price strike {
        color: #999999;
        font-size: 12px;
        line-height: 14px;
        font-weight: 500;
    }


    .product-wrap .item-wrap .item-cont .item-list .prd-info .prd-price span.replace {
        color: #121212;
        font-size: 14px;
        font-weight: 700;
    }

    .product-wrap .item-wrap .item-cont .item-list .prd-info .prd-price span.discount {
        color: #5F4541;
        font-size: 14px;
        font-weight: 700;
        line-height: 16px;
        position: absolute;
        right: 0;
        bottom: 0;
    }

    .product-wrap .item-wrap .item-cont .item-list .prd-info .prd-info-list {
        text-align: left;
    }

    .product-wrap .item-wrap .item-cont .item-list .prd-info .score img {
        width: 15px;
        margin-top: -3px;
        margin-right: 3px;
    }

    .product-wrap .item-wrap .item-cont .item-list .prd-info .review {
        margin-left: 5px;
    }

    .product-wrap .item-wrap .item-cont .item-list .prd-wish {
        padding-top: 0;
    }

    .product-wrap .swiper-scrollbar {
        background-color: #F2F0EA;
        left: 0 !important;
        width: 100% !important;
    }

    .product-wrap .swiper-scrollbar .swiper-scrollbar-drag {
        background-color: var(--beige-color);
        height: 8px;
        top: -2px;
        border-radius: 0;
    }

    .product-wrap .item-wrap .item-cont .item-list .thumb .new_option .ico.prd-wish::after {
        bottom: 18px;
    }

}


/* ══════════════════════════════════════════════════════════════
   ══════════════════════════════════════════════════════════════

   theBetterBean — NEW DESIGN SYSTEM STYLES
   레거시 Bootstrap/MakeShop 코드 아래에 추가
   충돌 방지: BEM 네이밍, 캐스케이드 순서 활용

   ══════════════════════════════════════════════════════════════
   ══════════════════════════════════════════════════════════════ */


/* ══════════════════════════════════════
   NEW 2. BASE STYLES & RESET SUPPLEMENTS
   ══════════════════════════════════════ */

html {
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  scroll-behavior: smooth;
}

/* ── Screen Reader Only ── */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* ── Typography Size Utilities ── */
.text-xs   { font-size: var(--text-xs); }
.text-sm   { font-size: var(--text-sm); }
.text-base { font-size: var(--text-base); }
.text-lg   { font-size: var(--text-lg); }
.text-xl   { font-size: var(--text-xl); }
.text-2xl  { font-size: var(--text-2xl); }
.text-3xl  { font-size: var(--text-3xl); }
.text-4xl  { font-size: var(--text-4xl); }
.text-5xl  { font-size: var(--text-5xl); }
.text-hero { font-size: var(--text-hero); }

/* ── Semantic Headings (BEM-compatible, won't clash with Bootstrap h1-h6) ── */
.heading-1 {
  font-size: var(--text-5xl);
  font-weight: var(--font-weight-bold);
  line-height: var(--leading-tight);
  letter-spacing: var(--tracking-tight);
  color: var(--color-text-primary);
}

.heading-2 {
  font-size: var(--text-4xl);
  font-weight: var(--font-weight-semibold);
  line-height: var(--leading-tight);
  letter-spacing: var(--tracking-tight);
  color: var(--color-text-primary);
}

.heading-3 {
  font-size: var(--text-3xl);
  font-weight: var(--font-weight-semibold);
  line-height: var(--leading-snug);
  color: var(--color-text-primary);
}

.heading-4 {
  font-size: var(--text-2xl);
  font-weight: var(--font-weight-medium);
  line-height: var(--leading-snug);
  color: var(--color-text-primary);
}

.heading-5 {
  font-size: var(--text-xl);
  font-weight: var(--font-weight-medium);
  line-height: var(--leading-snug);
  color: var(--color-text-primary);
}

.heading-6 {
  font-size: var(--text-lg);
  font-weight: var(--font-weight-medium);
  line-height: var(--leading-normal);
  color: var(--color-text-secondary);
}

/* ── Labels & Captions ── */
.bb-label {
  font-size: var(--text-xs);
  font-weight: var(--font-weight-semibold);
  letter-spacing: var(--tracking-widest);
  text-transform: uppercase;
  color: var(--color-text-tertiary);
}

.bb-caption {
  font-size: var(--text-sm);
  color: var(--color-text-tertiary);
  line-height: var(--leading-normal);
}

/* ── Section Titles ── */
.section-label {
  font-size: var(--text-xs);
  font-weight: var(--font-weight-semibold);
  letter-spacing: var(--tracking-widest);
  text-transform: uppercase;
  color: var(--color-accent);
  margin-bottom: var(--space-md);
}

.section-title {
  font-size: var(--text-4xl);
  font-weight: var(--font-weight-semibold);
  line-height: var(--leading-tight);
  letter-spacing: var(--tracking-tight);
  margin-bottom: var(--space-lg);
}

.section-subtitle {
  font-size: var(--text-lg);
  color: var(--color-text-secondary);
  max-width: 600px;
  line-height: var(--leading-relaxed);
}

/* ── Decorative Line ── */
.accent-line {
  width: 40px;
  height: 2px;
  background-color: var(--color-accent);
  margin-bottom: var(--space-xl);
}

/* ── Scroll Progress Bar ── */
.scroll-progress {
  position: fixed;
  top: 0;
  left: 0;
  width: 0%;
  height: 2px;
  background-color: var(--color-accent);
  z-index: var(--z-toast);
  transition: width 50ms linear;
  transform-origin: left;
}

/* ── Selection ── */
::selection {
  background-color: var(--color-accent-light);
  color: var(--color-text-primary);
}

/* ── Focus Visible ── */
:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
  border-radius: var(--radius-sm);
}

/* ── Price Display ── */
.price {
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
}

.price--original {
  text-decoration: line-through;
  color: var(--color-text-tertiary);
  font-weight: var(--font-weight-regular);
  font-size: var(--text-sm);
}

.price--sale {
  color: var(--color-accent);
  font-weight: var(--font-weight-bold);
}


/* ══════════════════════════════════════
   NEW 3. LAYOUT SYSTEM
   ══════════════════════════════════════ */

/* ── Container (override legacy Bootstrap .container with broader scope) ── */
.bb-container {
  width: 100%;
  max-width: var(--container-max);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--container-padding);
  padding-right: var(--container-padding);
}

.bb-container--content { max-width: var(--container-content); }
.bb-container--narrow  { max-width: var(--container-narrow); }

.bb-container--full {
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}

/* ── CSS Grid System ── */
.bb-grid {
  display: grid;
  grid-template-columns: repeat(var(--grid-columns), 1fr);
  gap: var(--grid-gap);
}

.bb-grid--2 { grid-template-columns: repeat(2, 1fr); }
.bb-grid--3 { grid-template-columns: repeat(3, 1fr); }
.bb-grid--4 { grid-template-columns: repeat(4, 1fr); }

/* ── Grid Spans ── */
.bb-col-1  { grid-column: span 1; }
.bb-col-2  { grid-column: span 2; }
.bb-col-3  { grid-column: span 3; }
.bb-col-4  { grid-column: span 4; }
.bb-col-5  { grid-column: span 5; }
.bb-col-6  { grid-column: span 6; }
.bb-col-7  { grid-column: span 7; }
.bb-col-8  { grid-column: span 8; }
.bb-col-9  { grid-column: span 9; }
.bb-col-10 { grid-column: span 10; }
.bb-col-11 { grid-column: span 11; }
.bb-col-12 { grid-column: span 12; }

/* ── Section Spacing ── */
.section {
  padding-top: var(--space-section);
  padding-bottom: var(--space-section);
}

.section--lg {
  padding-top: var(--space-section-lg);
  padding-bottom: var(--space-section-lg);
}

.section--cream { background-color: var(--color-bg-primary); }
.section--white { background-color: var(--color-bg-secondary); }

.section--dark {
  background-color: var(--color-bg-dark);
  color: var(--color-text-inverse);
}

.section--dark .section-title,
.section--dark h2,
.section--dark h3 {
  color: var(--color-text-inverse);
}

.section--dark p,
.section--dark .section-subtitle {
  color: rgba(253, 251, 247, 0.7);
}

/* ── Flex Utilities ── */
.bb-flex     { display: flex; }
.bb-flex-col { flex-direction: column; }
.bb-flex-wrap { flex-wrap: wrap; }

.bb-items-center  { align-items: center; }
.bb-items-start   { align-items: flex-start; }
.bb-items-end     { align-items: flex-end; }

.bb-justify-center  { justify-content: center; }
.bb-justify-between { justify-content: space-between; }
.bb-justify-end     { justify-content: flex-end; }

.bb-gap-xs  { gap: var(--space-xs); }
.bb-gap-sm  { gap: var(--space-sm); }
.bb-gap-md  { gap: var(--space-md); }
.bb-gap-lg  { gap: var(--space-lg); }
.bb-gap-xl  { gap: var(--space-xl); }
.bb-gap-2xl { gap: var(--space-2xl); }
.bb-gap-3xl { gap: var(--space-3xl); }

/* ── Text Alignment ── */
.bb-text-center { text-align: center; }
.bb-text-left   { text-align: left; }
.bb-text-right  { text-align: right; }

/* ── Margin Utilities ── */
.bb-mx-auto { margin-left: auto; margin-right: auto; }
.bb-mt-md   { margin-top: var(--space-md); }
.bb-mt-lg   { margin-top: var(--space-lg); }
.bb-mt-xl   { margin-top: var(--space-xl); }
.bb-mt-2xl  { margin-top: var(--space-2xl); }
.bb-mb-md   { margin-bottom: var(--space-md); }
.bb-mb-lg   { margin-bottom: var(--space-lg); }
.bb-mb-xl   { margin-bottom: var(--space-xl); }
.bb-mb-2xl  { margin-bottom: var(--space-2xl); }

/* ── Full Viewport Hero ── */
.hero {
  position: relative;
  width: 100%;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.hero__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.hero__bg img,
.hero__bg video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero__overlay {
  position: absolute;
  inset: 0;
  background: var(--color-bg-overlay);
  z-index: 1;
}

.hero__content {
  position: relative;
  z-index: 2;
  text-align: center;
  color: var(--color-text-inverse);
  padding: var(--space-xl);
}

/* ── Split Layout (Product Detail) ── */
.bb-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--grid-gap);
  align-items: start;
}

.bb-split--60-40 { grid-template-columns: 3fr 2fr; }
.bb-split--40-60 { grid-template-columns: 2fr 3fr; }
.bb-split--50-50 { grid-template-columns: 1fr 1fr; }

/* ── Product Grid ── */
.product-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--grid-gap);
}

/* ── Sticky Sidebar ── */
.sticky-sidebar {
  position: sticky;
  top: calc(var(--header-height) + var(--space-xl));
}

/* ── Page Layout with Header Offset ── */
.page-content {
  padding-top: var(--header-height);
}

/* ── Divider ── */
.divider {
  width: 100%;
  height: 1px;
  background-color: var(--color-border);
}

.divider--accent {
  background-color: var(--color-accent);
  height: 2px;
  width: 40px;
}


/* ══════════════════════════════════════
   NEW 4. COMPONENTS
   ══════════════════════════════════════ */

/* ── Buttons (BEM — coexists with legacy .btn-primary, .btn-white etc.) ── */
.btn--accent {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-sm);
  padding: var(--space-sm) var(--space-xl);
  font-family: var(--font-primary);
  font-size: var(--text-sm);
  font-weight: var(--font-weight-medium);
  letter-spacing: var(--tracking-wide);
  line-height: 1;
  border-radius: var(--radius-full);
  cursor: pointer;
  transition: all var(--transition-base);
  white-space: nowrap;
  text-align: center;
  border: 1.5px solid transparent;
  background-color: var(--color-accent);
  color: var(--color-text-inverse);
  border-color: var(--color-accent);
}

.btn--accent:hover {
  background-color: var(--color-accent-hover);
  border-color: var(--color-accent-hover);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(200, 101, 42, 0.3);
  color: var(--color-text-inverse);
}

.btn--accent:active { transform: translateY(0); }

.btn--outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-sm);
  padding: var(--space-sm) var(--space-xl);
  font-family: var(--font-primary);
  font-size: var(--text-sm);
  font-weight: var(--font-weight-medium);
  letter-spacing: var(--tracking-wide);
  line-height: 1;
  border-radius: var(--radius-full);
  cursor: pointer;
  transition: all var(--transition-base);
  white-space: nowrap;
  text-align: center;
  border: 1.5px solid var(--color-border);
  background-color: transparent;
  color: var(--color-text-primary);
}

.btn--outline:hover {
  border-color: var(--color-accent);
  color: var(--color-accent);
  background-color: var(--color-accent-light);
}

.btn--ghost {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-sm);
  font-family: var(--font-primary);
  font-size: var(--text-sm);
  font-weight: var(--font-weight-medium);
  letter-spacing: var(--tracking-wide);
  line-height: 1;
  border-radius: var(--radius-full);
  cursor: pointer;
  transition: all var(--transition-base);
  white-space: nowrap;
  text-align: center;
  border: 1.5px solid transparent;
  background-color: transparent;
  color: var(--color-text-secondary);
  padding: var(--space-sm) var(--space-md);
}

.btn--ghost:hover {
  color: var(--color-accent);
  background-color: var(--color-accent-light);
}

.btn--dark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-sm);
  padding: var(--space-sm) var(--space-xl);
  font-family: var(--font-primary);
  font-size: var(--text-sm);
  font-weight: var(--font-weight-medium);
  letter-spacing: var(--tracking-wide);
  line-height: 1;
  border-radius: var(--radius-full);
  cursor: pointer;
  transition: all var(--transition-base);
  white-space: nowrap;
  border: 1.5px solid transparent;
  background-color: var(--color-bg-dark);
  color: var(--color-text-inverse);
  border-color: var(--color-bg-dark);
}

.btn--dark:hover {
  background-color: #1a1514;
  transform: translateY(-1px);
  color: var(--color-text-inverse);
}

.btn--white {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-sm);
  padding: var(--space-sm) var(--space-xl);
  font-family: var(--font-primary);
  font-size: var(--text-sm);
  font-weight: var(--font-weight-medium);
  letter-spacing: var(--tracking-wide);
  line-height: 1;
  border-radius: var(--radius-full);
  cursor: pointer;
  transition: all var(--transition-base);
  white-space: nowrap;
  border: 1.5px solid transparent;
  background-color: var(--color-bg-card);
  color: var(--color-text-primary);
  border-color: var(--color-bg-card);
}

.btn--white:hover {
  background-color: var(--color-bg-secondary);
  transform: translateY(-1px);
  box-shadow: var(--shadow-md);
}

.btn--sm {
  padding: 6px var(--space-md);
  font-size: var(--text-xs);
}

.btn--lg {
  padding: var(--space-md) var(--space-2xl);
  font-size: var(--text-base);
}

.btn--full { width: 100%; }

.btn--icon {
  width: 40px;
  height: 40px;
  padding: 0;
  border-radius: var(--radius-full);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all var(--transition-base);
  border: 1.5px solid transparent;
}

.btn--icon svg {
  width: 18px;
  height: 18px;
}

/* ── Product Cards ── */
.product-card {
  display: flex;
  flex-direction: column;
  background-color: var(--color-bg-card);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: transform var(--transition-base), box-shadow var(--transition-base);
}

.product-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-card-hover);
}

.product-card__image {
  position: relative;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background-color: var(--color-bg-secondary);
}

.product-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--transition-slow);
}

.product-card:hover .product-card__image img {
  transform: scale(1.05);
}

.product-card__origin-bar {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
}

.product-card__overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(76, 67, 65, 0.4);
  opacity: 0;
  transition: opacity var(--transition-base);
}

.product-card:hover .product-card__overlay { opacity: 1; }

.product-card__quick-view {
  padding: var(--space-sm) var(--space-lg);
  background-color: var(--color-bg-card);
  color: var(--color-text-primary);
  font-size: var(--text-xs);
  font-weight: var(--font-weight-medium);
  letter-spacing: var(--tracking-wide);
  border-radius: var(--radius-full);
  transform: translateY(8px);
  transition: transform var(--transition-base);
}

.product-card:hover .product-card__quick-view { transform: translateY(0); }

.product-card__body {
  padding: var(--space-lg);
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.product-card__origin {
  font-size: var(--text-xs);
  font-weight: var(--font-weight-medium);
  letter-spacing: var(--tracking-wider);
  text-transform: uppercase;
  display: flex;
  align-items: center;
  gap: var(--space-xs);
}

.product-card__origin-dot {
  width: 6px;
  height: 6px;
  border-radius: var(--radius-full);
  display: inline-block;
}

.product-card__name {
  font-size: var(--text-base);
  font-weight: var(--font-weight-medium);
  color: var(--color-text-primary);
  line-height: var(--leading-snug);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.product-card__name a {
  color: inherit;
  transition: color var(--transition-fast);
}

.product-card__name a:hover { color: var(--color-accent); }

.product-card__price {
  display: flex;
  align-items: baseline;
  gap: var(--space-sm);
  margin-top: var(--space-xs);
}

.product-card__price-sell {
  font-size: var(--text-lg);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
}

.product-card__price-original {
  font-size: var(--text-sm);
  color: var(--color-text-tertiary);
  text-decoration: line-through;
}

/* ── Category Cards ── */
.category-card {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  aspect-ratio: 4 / 5;
  border-radius: var(--radius-xl);
  overflow: hidden;
  cursor: pointer;
  transition: transform var(--transition-base);
}

.category-card:hover { transform: translateY(-4px); }

.category-card__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.category-card__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--transition-slow);
}

.category-card:hover .category-card__bg img { transform: scale(1.05); }

.category-card__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(52, 45, 44, 0.8) 0%, transparent 60%);
  z-index: 1;
}

.category-card__content {
  position: relative;
  z-index: 2;
  padding: var(--space-2xl);
  color: var(--color-text-inverse);
}

.category-card__label {
  font-size: var(--text-xs);
  font-weight: var(--font-weight-semibold);
  letter-spacing: var(--tracking-widest);
  text-transform: uppercase;
  opacity: 0.7;
  margin-bottom: var(--space-sm);
}

.category-card__title {
  font-size: var(--text-3xl);
  font-weight: var(--font-weight-bold);
  margin-bottom: var(--space-sm);
}

.category-card__desc {
  font-size: var(--text-sm);
  opacity: 0.8;
  margin-bottom: var(--space-lg);
  line-height: var(--leading-relaxed);
}

.category-card__link {
  display: inline-flex;
  align-items: center;
  gap: var(--space-sm);
  font-size: var(--text-sm);
  font-weight: var(--font-weight-medium);
  letter-spacing: var(--tracking-wide);
  color: var(--color-text-inverse);
  transition: gap var(--transition-base);
}

.category-card__link:hover {
  gap: var(--space-md);
  color: var(--color-text-inverse);
}

.category-card__link svg {
  width: 16px;
  height: 16px;
  transition: transform var(--transition-base);
}

.category-card__link:hover svg { transform: translateX(4px); }

/* ── Badges ── */
.badge--new  { background-color: var(--color-accent-light); color: var(--color-accent); }
.badge--best { background-color: rgba(107, 143, 60, 0.1); color: #6B8F3C; }
.badge--sale { background-color: rgba(199, 91, 57, 0.1); color: #C75B39; }

.badge--origin {
  background-color: var(--color-bg-secondary);
  color: var(--color-text-secondary);
  border: 1px solid var(--color-border-light);
}

/* ── Origin Dots & Tags ── */
.origin-dot {
  width: 8px;
  height: 8px;
  border-radius: var(--radius-full);
  display: inline-block;
  flex-shrink: 0;
}

.origin-dot--ethiopia   { background-color: var(--color-origin-ethiopia); }
.origin-dot--colombia   { background-color: var(--color-origin-colombia); }
.origin-dot--brazil     { background-color: var(--color-origin-brazil); }
.origin-dot--guatemala  { background-color: var(--color-origin-guatemala); }
.origin-dot--kenya      { background-color: var(--color-origin-kenya); }
.origin-dot--indonesia  { background-color: var(--color-origin-indonesia); }

.origin-tag {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  padding: var(--space-xs) var(--space-md);
  border-radius: var(--radius-full);
  font-size: var(--text-xs);
  font-weight: var(--font-weight-medium);
  letter-spacing: var(--tracking-wide);
  background-color: var(--color-bg-secondary);
  border: 1px solid var(--color-border-light);
  color: var(--color-text-secondary);
  cursor: pointer;
  transition: all var(--transition-fast);
}

.origin-tag:hover,
.origin-tag--active {
  border-color: var(--color-accent-border);
  color: var(--color-accent);
  background-color: var(--color-accent-light);
}

/* ── Filter Bar ── */
.filter-bar {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  padding: var(--space-lg) 0;
  border-bottom: 1px solid var(--color-border);
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.filter-bar::-webkit-scrollbar { display: none; }

.filter-btn {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  padding: var(--space-sm) var(--space-lg);
  border-radius: var(--radius-full);
  font-size: var(--text-sm);
  font-weight: var(--font-weight-medium);
  color: var(--color-text-secondary);
  background-color: transparent;
  border: 1px solid var(--color-border);
  cursor: pointer;
  transition: all var(--transition-fast);
  white-space: nowrap;
  flex-shrink: 0;
}

.filter-btn:hover,
.filter-btn--active {
  border-color: var(--color-accent);
  color: var(--color-accent);
  background-color: var(--color-accent-light);
}

.filter-btn__dot {
  width: 6px;
  height: 6px;
  border-radius: var(--radius-full);
}

/* ── Tabs ── */
.bb-tabs {
  border-bottom: 1px solid var(--color-border);
}

.bb-tabs__list {
  display: flex;
  gap: 0;
}

.bb-tabs__btn {
  position: relative;
  padding: var(--space-md) var(--space-xl);
  font-size: var(--text-sm);
  font-weight: var(--font-weight-medium);
  color: var(--color-text-tertiary);
  background: none;
  cursor: pointer;
  transition: color var(--transition-fast);
  border: none;
}

.bb-tabs__btn::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  height: 2px;
  background-color: transparent;
  transition: background-color var(--transition-fast);
}

.bb-tabs__btn:hover { color: var(--color-text-primary); }

.bb-tabs__btn--active {
  color: var(--color-text-primary);
  font-weight: var(--font-weight-semibold);
}

.bb-tabs__btn--active::after { background-color: var(--color-accent); }

.bb-tabs__panel {
  display: none;
  padding: var(--space-2xl) 0;
}

.bb-tabs__panel--active { display: block; }

/* ── Form Elements ── */
.bb-form-input {
  width: 100%;
  padding: var(--space-sm) var(--space-md);
  font-size: var(--text-sm);
  color: var(--color-text-primary);
  background-color: var(--color-bg-card);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.bb-form-input:focus {
  border-color: var(--color-accent);
  box-shadow: 0 0 0 3px var(--color-accent-light);
  outline: none;
}

.bb-form-input::placeholder { color: var(--color-text-tertiary); }

.bb-form-select {
  width: 100%;
  padding: var(--space-sm) var(--space-md);
  padding-right: var(--space-2xl);
  font-size: var(--text-sm);
  color: var(--color-text-primary);
  background-color: var(--color-bg-card);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%237A706D' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  cursor: pointer;
  transition: border-color var(--transition-fast);
}

.bb-form-select:focus {
  border-color: var(--color-accent);
  box-shadow: 0 0 0 3px var(--color-accent-light);
  outline: none;
}

.bb-form-label {
  display: block;
  font-size: var(--text-sm);
  font-weight: var(--font-weight-medium);
  color: var(--color-text-primary);
  margin-bottom: var(--space-sm);
}

.qty-selector {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  overflow: hidden;
}

.qty-selector__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  color: var(--color-text-secondary);
  background-color: var(--color-bg-secondary);
  cursor: pointer;
  transition: background-color var(--transition-fast), color var(--transition-fast);
  font-size: var(--text-lg);
  line-height: 1;
  border: none;
}

.qty-selector__btn:hover {
  background-color: var(--color-accent-light);
  color: var(--color-accent);
}

.qty-selector__input {
  width: 48px;
  height: 36px;
  text-align: center;
  font-size: var(--text-sm);
  font-weight: var(--font-weight-medium);
  border-left: 1px solid var(--color-border);
  border-right: 1px solid var(--color-border);
  border-top: none;
  border-bottom: none;
}

/* ── Breadcrumb ── */
.bb-breadcrumb {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  padding: var(--space-md) 0;
  font-size: var(--text-xs);
  color: var(--color-text-tertiary);
}

.bb-breadcrumb a {
  color: var(--color-text-tertiary);
  transition: color var(--transition-fast);
}

.bb-breadcrumb a:hover { color: var(--color-accent); }

.bb-breadcrumb__sep {
  font-size: 10px;
  opacity: 0.5;
}

.bb-breadcrumb__current {
  color: var(--color-text-secondary);
  font-weight: var(--font-weight-medium);
}

/* ── Pagination ── */
.bb-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-xs);
  padding: var(--space-2xl) 0;
}

.bb-pagination a,
.bb-pagination span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 36px;
  padding: 0 var(--space-sm);
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
  border-radius: var(--radius-full);
  transition: all var(--transition-fast);
}

.bb-pagination a:hover {
  background-color: var(--color-accent-light);
  color: var(--color-accent);
}

.bb-pagination .active,
.bb-pagination .current {
  background-color: var(--color-accent);
  color: var(--color-text-inverse);
  font-weight: var(--font-weight-semibold);
}

.bb-pagination .prev,
.bb-pagination .next {
  font-weight: var(--font-weight-medium);
  letter-spacing: var(--tracking-wide);
}

/* ── Empty State ── */
.empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: var(--space-5xl) var(--space-xl);
  min-height: 400px;
}

.empty-state__icon {
  width: 64px;
  height: 64px;
  color: var(--color-text-tertiary);
  margin-bottom: var(--space-xl);
  opacity: 0.5;
}

.empty-state__title {
  font-size: var(--text-2xl);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  margin-bottom: var(--space-sm);
}

.empty-state__desc {
  font-size: var(--text-base);
  color: var(--color-text-secondary);
  max-width: 400px;
  margin-bottom: var(--space-xl);
}

.empty-state__suggestions {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  font-size: var(--text-sm);
  color: var(--color-text-tertiary);
  margin-bottom: var(--space-2xl);
}

.empty-state__actions {
  display: flex;
  gap: var(--space-md);
}

/* ── Info Table ── */
.bb-info-table {
  width: 100%;
  border-top: 2px solid var(--color-text-primary);
}

.bb-info-table tr { border-bottom: 1px solid var(--color-border); }

.bb-info-table th {
  padding: var(--space-md) var(--space-lg);
  font-size: var(--text-sm);
  font-weight: var(--font-weight-medium);
  color: var(--color-text-primary);
  background-color: var(--color-bg-secondary);
  text-align: left;
  width: 160px;
  vertical-align: top;
}

.bb-info-table td {
  padding: var(--space-md) var(--space-lg);
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
  line-height: var(--leading-relaxed);
}

/* ── Toast Notification ── */
.bb-toast {
  position: fixed;
  bottom: var(--space-2xl);
  left: 50%;
  transform: translateX(-50%) translateY(100px);
  display: flex;
  align-items: center;
  gap: var(--space-md);
  padding: var(--space-md) var(--space-xl);
  background-color: var(--color-bg-dark);
  color: var(--color-text-inverse);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-xl);
  font-size: var(--text-sm);
  z-index: var(--z-toast);
  opacity: 0;
  transition: transform var(--transition-spring), opacity var(--transition-base);
  pointer-events: none;
}

.bb-toast--visible {
  transform: translateX(-50%) translateY(0);
  opacity: 1;
  pointer-events: auto;
}

.bb-toast__icon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

.bb-toast__action {
  font-weight: var(--font-weight-semibold);
  color: var(--color-accent);
  margin-left: var(--space-sm);
  cursor: pointer;
  transition: opacity var(--transition-fast);
}

.bb-toast__action:hover {
  opacity: 0.8;
  color: var(--color-accent);
}

/* ── Scroll Down Indicator ── */
.scroll-indicator {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-sm);
  cursor: pointer;
}

.scroll-indicator__text {
  font-size: var(--text-xs);
  letter-spacing: var(--tracking-widest);
  text-transform: uppercase;
  opacity: 0.6;
}

.scroll-indicator__arrow {
  width: 1px;
  height: 40px;
  position: relative;
  overflow: hidden;
}

.scroll-indicator__arrow::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: currentColor;
  animation: scrollArrow 2s ease-in-out infinite;
}

@keyframes scrollArrow {
  0% { transform: translateY(-100%); }
  50% { transform: translateY(0); }
  100% { transform: translateY(100%); }
}

/* ── Goods List (Legacy Compat) ── */
.goods-list {
  padding: var(--space-md) 0;
  flex-wrap: nowrap;
}

.goods-list--item {
  position: relative;
  min-width: 0;
  max-width: 100%;
}

.goods-list--item .item-image {
  margin-bottom: var(--space-md);
}

.goods-list--item .item-image img {
  width: 100%;
  height: auto;
}

/* ── Legacy Color Utilities ── */
.fc-point { color: var(--color-accent); }
.cw-point-color { color: var(--color-accent); }


/* ══════════════════════════════════════
   NEW 5. ANIMATIONS & TRANSITIONS
   ══════════════════════════════════════ */

/* ── Scroll Reveal ── */
.reveal-init {
  opacity: 0;
  will-change: opacity, transform;
}

[data-reveal="fade-up"].reveal-init,
[data-reveal].reveal-init {
  transform: translateY(30px);
}

[data-reveal="fade-up"].revealed,
[data-reveal].revealed {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.7s var(--ease-out-expo),
              transform 0.7s var(--ease-out-expo);
}

[data-reveal="fade-in"].reveal-init { transform: none; }

[data-reveal="fade-in"].revealed {
  opacity: 1;
  transition: opacity 0.8s ease;
}

[data-reveal="fade-left"].reveal-init { transform: translateX(-30px); }

[data-reveal="fade-left"].revealed {
  opacity: 1;
  transform: translateX(0);
  transition: opacity 0.7s var(--ease-out-expo),
              transform 0.7s var(--ease-out-expo);
}

[data-reveal="fade-right"].reveal-init { transform: translateX(30px); }

[data-reveal="fade-right"].revealed {
  opacity: 1;
  transform: translateX(0);
  transition: opacity 0.7s var(--ease-out-expo),
              transform 0.7s var(--ease-out-expo);
}

[data-reveal="scale-up"].reveal-init { transform: scale(0.95); }

[data-reveal="scale-up"].revealed {
  opacity: 1;
  transform: scale(1);
  transition: opacity 0.6s ease,
              transform 0.6s var(--ease-out-expo);
}

[data-reveal="stagger"] [data-reveal-item] {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.5s var(--ease-out-expo),
              transform 0.5s var(--ease-out-expo);
}

[data-reveal="stagger"].revealed [data-reveal-item] {
  opacity: 1;
  transform: translateY(0);
}

/* ── Hover Animations ── */
.hover-zoom { overflow: hidden; }
.hover-zoom img { transition: transform var(--transition-slow); }
.hover-zoom:hover img { transform: scale(1.05); }

.hover-lift {
  transition: transform var(--transition-base), box-shadow var(--transition-base);
}

.hover-lift:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-lg);
}

.hover-underline { position: relative; }

.hover-underline::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0;
  height: 1.5px;
  background-color: var(--color-accent);
  transition: width var(--transition-base);
}

.hover-underline:hover::after { width: 100%; }

/* ── Skeleton Loading ── */
.skeleton {
  background: linear-gradient(
    90deg,
    var(--color-bg-secondary) 0%,
    var(--color-border-light) 50%,
    var(--color-bg-secondary) 100%
  );
  background-size: 200% 100%;
  animation: shimmer 1.5s ease-in-out infinite;
  border-radius: var(--radius-sm);
}

@keyframes shimmer {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

.skeleton--circle { border-radius: var(--radius-full); }
.skeleton--text   { height: 14px; margin-bottom: var(--space-sm); }
.skeleton--title  { height: 24px; width: 60%; margin-bottom: var(--space-md); }
.skeleton--image  { aspect-ratio: 1 / 1; }

/* ── Cart Badge Animation ── */
@keyframes badgeBounce {
  0%   { transform: scale(1); }
  30%  { transform: scale(1.4); }
  50%  { transform: scale(0.9); }
  70%  { transform: scale(1.1); }
  100% { transform: scale(1); }
}

.cart-badge-bounce {
  animation: badgeBounce 0.5s var(--ease-out-expo);
}

/* ── Hero Animations ── */
@keyframes heroFadeIn {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}

.hero__content > * {
  animation: heroFadeIn 1s var(--ease-out-expo) both;
}

.hero__content > *:nth-child(1) { animation-delay: 0.2s; }
.hero__content > *:nth-child(2) { animation-delay: 0.4s; }
.hero__content > *:nth-child(3) { animation-delay: 0.6s; }
.hero__content > *:nth-child(4) { animation-delay: 0.8s; }

/* ── Page Transitions ── */
@keyframes pageEnter {
  from { opacity: 0; }
  to   { opacity: 1; }
}

.page-content {
  animation: pageEnter 0.4s ease both;
}

/* ── Gallery Animations ── */
.gallery__main {
  overflow: hidden;
  cursor: crosshair;
}

.gallery__main--zooming .gallery__main-img {
  transition: transform 0.05s linear;
}

.gallery__thumb {
  opacity: 0.5;
  transition: opacity var(--transition-fast), border-color var(--transition-fast);
  border: 2px solid transparent;
  border-radius: var(--radius-sm);
  overflow: hidden;
  cursor: pointer;
}

.gallery__thumb:hover,
.gallery__thumb--active {
  opacity: 1;
  border-color: var(--color-accent);
}

/* ── Filter & Tab Animations ── */
.filter-btn:active { transform: scale(0.96); }

.bb-tabs__panel { animation: tabFadeIn 0.3s ease both; }

@keyframes tabFadeIn {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}


/* ══════════════════════════════════════
   NEW 6. RESPONSIVE BREAKPOINTS
   ══════════════════════════════════════ */

/* ── MAX 1440px — Large Desktop Cap ── */
@media (max-width: 1440px) {
  .footer__grid {
    gap: var(--space-2xl);
  }
}

/* ── MAX 1024px — Tablet Landscape ── */
@media (max-width: 1024px) {
  .product-grid { grid-template-columns: repeat(2, 1fr); }
  .bb-grid--4 { grid-template-columns: repeat(2, 1fr); }

  .bb-split,
  .bb-split--60-40,
  .bb-split--40-60 {
    grid-template-columns: 1fr;
    gap: var(--space-2xl);
  }

  .sticky-sidebar { position: static; }

  .footer__grid {
    grid-template-columns: 1fr 1fr;
    gap: var(--space-2xl);
  }

  .footer__brand { grid-column: span 2; }

  .footer__cta-inner {
    flex-direction: column;
    text-align: center;
  }

  .footer__cta-form {
    width: 100%;
    max-width: 400px;
  }

  .footer__cta-input {
    flex: 1;
    width: auto;
  }

  .category-showcase .bb-grid--2 { gap: var(--space-lg); }
}

/* ── MAX 768px — Tablet Portrait / Mobile ── */
@media (max-width: 768px) {
  :root {
    --header-height: 60px;
    --header-height-scrolled: 56px;
  }

  .header__nav { display: none; }
  .header__burger { display: flex; }
  .header__dropdown { display: none; }

  .hero { min-height: 80vh; }
  .hero__content h1 { font-size: var(--text-4xl); }

  .product-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-md);
  }

  .bb-grid--3 { grid-template-columns: repeat(2, 1fr); }
  .bb-grid--2 { grid-template-columns: 1fr; }

  .section {
    padding-top: var(--space-3xl);
    padding-bottom: var(--space-3xl);
  }

  .section--lg {
    padding-top: var(--space-4xl);
    padding-bottom: var(--space-4xl);
  }

  .category-card { aspect-ratio: 3 / 4; }

  .filter-bar {
    padding: var(--space-md) 0;
    gap: var(--space-xs);
  }

  .bb-tabs__list {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .bb-tabs__list::-webkit-scrollbar { display: none; }

  .bb-tabs__btn {
    padding: var(--space-md) var(--space-lg);
    white-space: nowrap;
    flex-shrink: 0;
  }

  .footer__grid {
    grid-template-columns: 1fr;
    gap: var(--space-2xl);
  }

  .footer__brand { grid-column: span 1; }

  .footer__bottom-inner {
    flex-direction: column;
    gap: var(--space-lg);
  }

  .header__search-input { font-size: var(--text-lg); }

  .product-card__body { padding: var(--space-md); }
  .product-card__name { font-size: var(--text-sm); }
  .product-card__price-sell { font-size: var(--text-base); }

  .gallery__thumbs { gap: var(--space-sm); }
  .gallery__thumb { width: 56px; height: 56px; }

  .bb-breadcrumb {
    font-size: 11px;
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
  }

  .origin-list { grid-template-columns: repeat(2, 1fr); }

  .bb-info-table th {
    width: 120px;
    padding: var(--space-sm) var(--space-md);
  }

  .bb-info-table td { padding: var(--space-sm) var(--space-md); }
}

/* ── MAX 480px — Small Mobile ── */
@media (max-width: 480px) {
  :root {
    --container-padding: 1rem;
  }

  .product-grid--single-mobile { grid-template-columns: 1fr; }

  .hero { min-height: 70vh; }
  .hero__content h1 { font-size: var(--text-3xl); }
  .hero__content p { font-size: var(--text-sm); }

  .category-card { aspect-ratio: 1 / 1; }
  .category-card__title { font-size: var(--text-2xl); }
  .category-card__content { padding: var(--space-lg); }

  .section-title { font-size: var(--text-3xl); }

  .btn--lg {
    padding: var(--space-sm) var(--space-xl);
    font-size: var(--text-sm);
  }

  .footer__cta-form { flex-direction: column; }
  .footer__cta-input { width: 100%; }

  .header__mobile-auth { flex-direction: column; }
  .header__mobile-auth .btn--accent,
  .header__mobile-auth .btn--outline { width: 100%; }

  .qty-selector__btn { width: 32px; height: 32px; }
  .qty-selector__input { width: 40px; height: 32px; }

  .product-actions { flex-direction: column; }
  .product-actions .btn--accent,
  .product-actions .btn--outline { width: 100%; }

  .bb-pagination { gap: 2px; }
  .bb-pagination a,
  .bb-pagination span {
    min-width: 32px;
    height: 32px;
    font-size: var(--text-xs);
  }

  .origin-list { grid-template-columns: 1fr; }

  .empty-state {
    padding: var(--space-3xl) var(--space-md);
    min-height: 300px;
  }

  .empty-state__actions {
    flex-direction: column;
    width: 100%;
  }

  .empty-state__actions .btn--accent,
  .empty-state__actions .btn--outline { width: 100%; }

  .bb-toast {
    left: var(--space-md);
    right: var(--space-md);
    transform: translateX(0) translateY(100px);
  }

  .bb-toast--visible { transform: translateX(0) translateY(0); }
}

/* ── Touch Device Optimizations ── */
@media (hover: none) {
  .product-card:hover {
    transform: none;
    box-shadow: var(--shadow-card);
  }

  .product-card:hover .product-card__image img { transform: none; }
  .product-card__overlay { display: none; }
  .hover-zoom:hover img { transform: none; }
  .category-card:hover { transform: none; }
  .category-card:hover .category-card__bg img { transform: none; }
  .gallery__main { cursor: default; }
}

/* ── High Contrast / Accessibility ── */
@media (forced-colors: active) {
  .btn--accent,
  .btn--dark {
    border: 2px solid currentColor;
  }

  .origin-dot,
  .filter-btn__dot,
  .product-card__origin-dot,
  .product-card__origin-bar {
    forced-color-adjust: none;
  }
}

/* ── Print Styles ── */
@media print {
  .site-header,
  .site-footer,
  .scroll-progress,
  .footer__cta,
  .header__mobile-menu,
  .header__search-overlay,
  .bb-toast,
  .filter-bar {
    display: none !important;
  }

  body {
    background: white;
    color: black;
    font-size: 12pt;
  }

  .page-content { padding-top: 0; }

  .product-card {
    break-inside: avoid;
    box-shadow: none;
    border: 1px solid #ccc;
  }

  a[href]::after {
    content: " (" attr(href) ")";
    font-size: 0.8em;
    color: #666;
  }
}

/* ── Reduced Motion ── */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }

  .reveal-init {
    opacity: 1;
    transform: none;
  }

  [data-reveal].revealed { transition-duration: 0.01ms; }
  .hover-zoom:hover img { transform: none; }
}