:root {
    --ink: #2f242b;
    --muted: #6f625f;
    --line: #ead8cf;
    --paper: #ffffff;
    --ivory: #fff8f2;
    --blush: #f5e2da;
    --rose: #b9786c;
    --rose-deep: #8f5149;
    --champagne: #d7ae58;
    --sage: #75866d;
    --plum: #3f2233;
    --danger: #9b2d2d;
    --success: #2f7350;
    --shadow: 0 24px 60px rgba(63, 34, 51, 0.14);
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { overflow-x: hidden; }
body {
    background:
        linear-gradient(135deg, rgba(255, 250, 246, 0.94), rgba(247, 229, 223, 0.9)),
        url("../images/jewellery-textile-bg.webp") center / cover fixed;
    color: var(--ink);
    font-family: Arial, Helvetica, sans-serif;
    line-height: 1.5;
    overflow-x: hidden;
}
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, input, select, textarea { font: inherit; }

.top-strip { background: #2d1624; color: #fff4ee; font-size: 13px; font-weight: 800; padding: 8px 18px; text-align: center; }
.navbar { align-items: center; background: rgba(255, 250, 246, 0.96); border-bottom: 1px solid rgba(215, 174, 88, 0.36); box-shadow: 0 12px 34px rgba(63, 34, 51, 0.12); display: grid; gap: 16px; grid-template-columns: 104px minmax(0, 1fr) auto; padding: 10px 24px; position: sticky; top: 0; z-index: 20; }
.brand-stack { align-items: center; display: grid; gap: 6px; justify-items: center; }
.brand { align-items: center; display: flex; }
.brand-mark {
    aspect-ratio: 1;
    background: #6b0f55;
    border: 4px double #d7ae58;
    border-radius: 50%;
    box-shadow: 0 16px 28px rgba(63, 34, 51, 0.22), 0 0 0 1px #3f2233, 0 0 18px rgba(215, 174, 88, 0.24);
    height: 92px;
    object-fit: contain;
    padding: 6px;
      position: relative;
      width: 92px;
  }
.all-categories-menu { position: relative; }
.all-categories-menu[open] .all-categories-link { background: #321c29; color: #fffaf6; }
.category-menu-backdrop { background: rgba(32, 24, 29, 0.62); bottom: 0; display: none; left: 0; position: fixed; right: 0; top: 0; z-index: 38; }
.all-categories-menu[open] .category-menu-backdrop { display: block; }
.all-categories-link { align-items: center; background: #d8b46a; border: 1px solid rgba(255, 244, 239, 0.48); color: #321c29; cursor: pointer; display: inline-flex; font-size: 13px; font-weight: 900; gap: 8px; justify-content: center; letter-spacing: 0; line-height: 1; list-style: none; min-height: 48px; padding: 0 16px; user-select: none; white-space: nowrap; width: fit-content; }
.all-categories-link::-webkit-details-marker { display: none; }
.hamburger-icon { border-top: 2px solid currentColor; display: inline-grid; gap: 3px; width: 15px; }
.hamburger-icon::before,
.hamburger-icon::after { border-top: 2px solid currentColor; content: ""; display: block; }
.all-categories-panel { background: #fffaf6; bottom: 0; box-shadow: 18px 0 50px rgba(28, 20, 25, 0.24); display: grid; gap: 6px; left: 0; max-width: min(380px, 88vw); overflow-y: auto; padding: 0 16px 16px; position: fixed; top: 0; width: min(380px, 88vw); z-index: 46; }
.category-drawer-head { align-items: center; background: #321c29; color: #fffaf6; display: flex; justify-content: space-between; margin: 0 -16px 8px; min-height: 68px; padding: 0 16px; }
.category-drawer-head strong { font-size: 18px; font-weight: 900; }
.category-drawer-head button { align-items: center; background: rgba(255, 250, 246, 0.12); border: 1px solid rgba(255, 250, 246, 0.35); color: #fffaf6; cursor: pointer; display: inline-flex; font-size: 28px; font-weight: 400; height: 42px; justify-content: center; line-height: 1; width: 42px; }
.all-categories-panel a { color: var(--plum); font-size: 14px; font-weight: 800; padding: 7px 10px; }
.all-categories-panel a:hover { background: #f6e8e5; }
.all-categories-panel .category-menu-title { background: #f6e8e5; border-bottom: 1px solid var(--line); color: var(--rose-deep); margin-bottom: 0; }
.all-categories-panel .subcategory-menu-link { color: var(--muted); font-size: 13px; font-weight: 800; padding-left: 26px; }
.category-menu-heading { color: var(--ink); font-size: 13px; font-weight: 900; padding: 6px 10px 2px; text-transform: uppercase; }
.category-menu-grid { display: grid; gap: 1px; grid-template-columns: 1fr; }
.all-categories-panel .category-menu-button { align-items: center; background: transparent; border-left: 3px solid transparent; color: var(--plum); display: flex; line-height: 1.25; min-height: 34px; }
.all-categories-panel .category-menu-button:hover { background: #f6e8e5; border-left-color: var(--champagne); }
.category-menu-group { border-bottom: 1px solid rgba(92, 53, 75, 0.08); }
.category-menu-group summary { align-items: center; color: var(--plum); cursor: pointer; display: flex; font-size: 14px; font-weight: 800; justify-content: space-between; list-style: none; min-height: 34px; padding: 7px 10px; }
.category-menu-group summary::-webkit-details-marker { display: none; }
.category-menu-group summary:hover { background: #f6e8e5; }
.category-menu-chevron { color: var(--rose-deep); font-size: 18px; line-height: 1; transition: transform 0.18s ease; }
.category-menu-group[open] > summary .category-menu-chevron { transform: rotate(90deg); }
.category-menu-children { display: grid; gap: 1px; padding: 0 0 5px 12px; }
.category-menu-children a,
.all-categories-panel .category-menu-button.depth-1 { color: var(--muted); font-size: 13px; font-weight: 700; min-height: 30px; padding-left: 16px; }
.all-categories-panel .category-menu-button.depth-2 { color: #6a4d5c; font-size: 12px; font-weight: 650; min-height: 28px; padding-left: 28px; }
.nav-center { align-items: center; display: flex; gap: 17px; justify-content: flex-start; min-width: 0; overflow-x: auto; padding: 0 4px; scrollbar-width: none; }
.nav-center::-webkit-scrollbar { display: none; }
.nav-center a { color: var(--plum); flex: 0 0 auto; font-size: 14px; font-weight: 800; line-height: 1.18; text-transform: none; white-space: nowrap; }
.nav-center a.active { color: var(--rose-deep); position: relative; }
.nav-center a.active::after { background: var(--champagne); bottom: -8px; content: ""; height: 3px; left: 0; position: absolute; width: 100%; }
.nav-actions { align-items: center; display: flex; gap: 6px; white-space: nowrap; }
.nav-actions a { background: rgba(255, 246, 241, 0.78); border: 1px solid rgba(95, 11, 76, 0.18); color: var(--plum); display: grid; font-size: 13px; font-weight: 800; line-height: 1.12; min-height: 42px; padding: 7px 11px; }
.nav-actions a span { color: var(--rose-deep); font-size: 12px; font-weight: 700; }
.nav-actions .customer-greeting { align-items: center; display: inline-flex; justify-content: center; max-width: 118px; text-align: center; white-space: normal; }
.nav-actions .cart-link { align-items: center; aspect-ratio: 1; background: #fffaf6; border-color: rgba(215, 174, 88, 0.72); border-radius: 50%; color: var(--plum); display: inline-flex; justify-content: center; min-height: 46px; padding: 0; position: relative; width: 46px; }
.nav-actions .cart-link:hover { background: #f6e8e5; border-color: var(--champagne); }
.cart-icon { fill: none; height: 24px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.9; width: 24px; }
.cart-count { align-items: center; background: var(--champagne); border: 2px solid #fffaf6; border-radius: 999px; color: #251922; display: inline-flex; font-size: 10px; font-weight: 900; height: 20px; justify-content: center; min-width: 20px; padding: 0 5px; position: absolute; right: -5px; top: -6px; }
.language-form { margin: 0; }
.language-form select { background: rgba(255, 246, 241, 0.78); border: 1px solid rgba(95, 11, 76, 0.18); color: var(--plum); cursor: pointer; font-size: 13px; font-weight: 800; min-height: 42px; max-width: 92px; outline: 0; padding: 0 7px; }
.language-form select:focus { border-color: var(--rose-deep); box-shadow: 0 0 0 2px rgba(159, 95, 85, 0.12); }
body:not(.lang-en) .navbar {
    align-items: center;
    grid-template-columns: 76px minmax(0, 1fr) auto;
    gap: 12px;
    padding: 7px 28px;
}
body:not(.lang-en) .brand {
    grid-column: 1;
    grid-row: 1;
}
body:not(.lang-en) .brand-mark {
    height: 68px;
    width: 68px;
}
body:not(.lang-en) .nav-center {
    border-top: 0;
    grid-column: 2;
    grid-row: 1;
    gap: 12px;
    justify-content: center;
    overflow-x: auto;
    padding: 0;
    width: 100%;
}
body:not(.lang-en) .nav-center a {
    font-size: 10px;
    line-height: 1.25;
    white-space: nowrap;
}
body:not(.lang-en) .nav-actions {
    grid-column: 3;
    grid-row: 1;
    flex-wrap: nowrap;
    justify-content: flex-end;
    white-space: nowrap;
}
body:not(.lang-en) .nav-actions a {
    align-items: center;
    font-size: 10.5px;
    min-height: 34px;
    padding: 5px 8px;
    text-align: center;
}
body:not(.lang-en) .nav-actions .customer-greeting {
    max-width: 106px;
    white-space: normal;
}
body:not(.lang-en) .nav-actions .cart-link {
    min-height: 40px;
    width: 40px;
}
body:not(.lang-en) .language-form select {
    max-width: 92px;
    min-height: 34px;
}

.search-row { align-items: center; background: #f6e8e5; border-bottom: 1px solid rgba(215, 174, 88, 0.28); display: grid; gap: 22px; grid-template-columns: auto minmax(320px, 820px); justify-content: center; padding: 9px 42px; }
.search-shell { align-items: center; background: #ffffff; border: 0; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12); display: grid; grid-template-columns: minmax(260px, 1fr) 132px; margin: 0; max-width: 820px; min-height: 42px; width: 100%; }
.search-shell input, .search-shell button { background: transparent; border: 0; color: var(--ink); min-height: 42px; outline: 0; }
.search-shell input { font-size: 14px; padding: 0 16px; }
.search-shell button { background: #f3b65b; color: #251922; cursor: pointer; font-size: 14px; font-weight: 900; padding: 0 18px; }

.is-admin .navbar { grid-template-columns: 84px minmax(0, 1fr) auto; padding: 12px 18px; }
.is-admin .brand-mark { height: 72px; width: 72px; }
.is-admin .nav-center { gap: 12px; }
.is-admin .nav-center a { font-size: 13px; line-height: 1.15; }
.is-admin .nav-actions a { font-size: 13px; min-height: 40px; padding: 7px 11px; }
.upload-choice-form { border-top: 1px solid var(--line); margin-top: 14px; padding-top: 14px; }
.upload-choice-form:first-of-type { border-top: 0; margin-top: 0; padding-top: 0; }

.flash { margin: 18px auto 0; max-width: 1180px; padding: 13px 18px; }
.flash.success { background: #edf7f1; border: 1px solid #bfdcc9; color: var(--success); }
.flash.warning { background: #fff5dc; border: 1px solid #edd79b; color: #756022; }
.flash.error { background: #ffecec; border: 1px solid #efb8b8; color: var(--danger); }

.hero {
    background:
        linear-gradient(90deg, rgba(255, 250, 246, 0.98), rgba(255, 250, 246, 0.84), rgba(255, 250, 246, 0.38)),
        url("../images/jewellery-textile-bg.webp") center / cover;
    display: grid;
    gap: 24px;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);
    min-height: 560px;
    padding-right: 7vw;
}
.hero-copy { align-self: center; max-width: 860px; padding: 56px 7vw; }
.eyebrow { color: var(--rose-deep); font-size: 13px; font-weight: 900; margin-bottom: 16px; text-transform: uppercase; }
.hero h1 { color: var(--plum); font-size: 42px; line-height: 1.12; margin-bottom: 16px; max-width: 720px; }
.hero p { color: var(--muted); font-size: 16px; max-width: 560px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.hero-note { color: var(--rose-deep) !important; font-size: 14px !important; font-weight: 800; margin-top: 16px; }
.hero-tags { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.hero-tags a { background: rgba(255, 255, 255, 0.78); border: 1px solid var(--line); color: var(--plum); font-size: 13px; font-weight: 900; padding: 9px 12px; }
.hero-feature { align-self: center; background: rgba(255, 250, 246, 0.82); border: 1px solid rgba(255, 255, 255, 0.76); box-shadow: var(--shadow); display: grid; gap: 14px; padding: 30px; }
.hero-feature span { color: var(--rose-deep); font-size: 12px; font-weight: 900; text-transform: uppercase; }
.hero-feature strong { color: var(--plum); font-size: 22px; line-height: 1.22; }
.hero-feature a { color: var(--rose-deep); font-weight: 900; }

.feeling-band { padding-top: 32px; padding-bottom: 8px; }
.feeling-grid { display: grid; gap: 14px; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.feeling-card {
    background: rgba(255, 250, 246, 0.88);
    border: 1px solid var(--line);
    box-shadow: 0 10px 28px rgba(81, 55, 46, 0.06);
    color: var(--plum);
    display: flex;
    font-size: 16px;
    font-weight: 900;
    justify-content: center;
    min-height: 82px;
    padding: 22px 16px;
    text-align: center;
}
.feeling-card:hover { color: var(--rose-deep); transform: translateY(-1px); }

.promo-rail { background: #321c29; color: #fff2ec; display: grid; gap: 1px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.promo-rail div { background: rgba(255, 255, 255, 0.05); padding: 22px 26px; text-align: center; }
.promo-rail strong { display: block; font-size: 17px; margin-bottom: 5px; }
.promo-rail span { color: #f6d8cf; font-size: 13px; }

.page { margin: 0 auto; max-width: 1320px; padding: 46px 30px 58px; }
.section-head { align-items: end; display: flex; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.section-head h1, .section-head h2 { color: var(--plum); font-size: 26px; }
.section-head p { color: var(--muted); max-width: 620px; }
.shop-products-head p { max-width: none; white-space: nowrap; }
.section-head a { color: var(--rose-deep); font-weight: 900; }
.link-row { align-items: center; display: flex; flex-wrap: wrap; gap: 18px; justify-content: flex-end; }

.btn { align-items: center; border: 0; cursor: pointer; display: inline-flex; font-weight: 900; justify-content: center; min-height: 48px; padding: 13px 22px; }
.btn.primary { background: var(--plum); color: #ffffff; }
.btn.secondary { background: transparent; border: 1px solid var(--rose); color: var(--rose-deep); }
.btn:disabled { cursor: not-allowed; opacity: 0.58; }
.btn.full { width: 100%; }

.category-grid { display: grid; gap: 18px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.category-card { background: rgba(255, 255, 255, 0.9); border: 1px solid var(--line); box-shadow: 0 16px 40px rgba(81, 55, 46, 0.08); display: grid; grid-template-columns: 0.9fr 1.1fr; min-height: 230px; overflow: hidden; }
.category-copy { align-self: center; padding: 26px; }
.category-copy small, .product-body small { color: var(--rose-deep); font-size: 10px; font-weight: 900; text-transform: uppercase; }
.category-copy h3 { color: var(--plum); font-size: 21px; margin: 8px 0; }
.category-copy p { color: var(--muted); }
.category-card img { height: 100%; object-fit: cover; width: 100%; }

.product-grid { display: grid; gap: 16px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.product-card { background: var(--paper); border: 1px solid var(--line); box-shadow: 0 10px 30px rgba(81, 55, 46, 0.07); overflow: hidden; transition: transform 0.2s ease, box-shadow 0.2s ease; }
.product-card:hover { box-shadow: var(--shadow); transform: translateY(-4px); }
.product-media { background: #f8ece6; height: 150px; position: relative; }
.product-media img,
.product-media video { display: block; height: 100%; object-fit: cover; width: 100%; }
.badge { background: rgba(63, 34, 51, 0.92); color: #ffffff; font-size: 11px; font-weight: 900; left: 12px; padding: 6px 9px; position: absolute; top: 12px; }
.badge.out-of-stock { background: var(--danger); }
.product-body { padding: 11px 12px 12px; }
.product-body h3 { color: var(--ink); font-size: 13px; line-height: 1.35; margin: 5px 0 7px; min-height: 36px; }
.rating { color: var(--sage); font-size: 11px; font-weight: 900; margin-bottom: 8px; }
.price-line { align-items: baseline; display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 12px; }
.price { color: var(--plum); font-size: 16px; font-weight: 900; }
.mrp { color: var(--muted); font-size: 13px; text-decoration: line-through; }
.product-card .btn { font-size: 12px; min-height: 36px; padding: 9px 14px; }

.promise-band { background: var(--blush); display: grid; gap: 1px; grid-template-columns: repeat(3, 1fr); margin-top: 38px; }
.promise-band div { background: rgba(255, 250, 246, 0.68); padding: 28px; }
.promise-band strong { color: var(--plum); display: block; font-size: 18px; margin-bottom: 8px; }
.promise-band span { color: var(--muted); font-size: 14px; }

.shop-layout { display: block; }
.shop-sidebar { background: rgba(255, 255, 255, 0.86); border: 1px solid var(--line); box-shadow: 0 10px 30px rgba(81, 55, 46, 0.07); padding: 18px; position: sticky; top: 180px; }
.shop-sidebar h2 { color: var(--plum); font-size: 18px; margin-bottom: 12px; }
.shop-results { min-width: 0; }
.category-filter-bar { display: flex; flex-wrap: wrap; gap: 10px; margin: -10px 0 24px; }
.shop-sidebar .category-filter-bar { display: grid; margin: 0; }
.category-filter-bar a { background: rgba(255, 255, 255, 0.82); border: 1px solid var(--line); color: var(--plum); font-size: 13px; font-weight: 900; padding: 9px 12px; }
.category-filter-bar a.active { background: var(--plum); border-color: var(--plum); color: #ffffff; }
.category-filter-bar a.subcategory-link { font-size: 12px; font-weight: 800; margin-left: 14px; padding: 8px 11px; }
.category-filter-bar a.nested-subcategory-link { font-size: 11px; font-weight: 700; margin-left: 30px; opacity: 0.92; }
.catalog-filter-form { align-items: end; background: rgba(255, 250, 246, 0.9); border: 1px solid rgba(215, 174, 88, 0.34); display: grid; gap: 12px; grid-template-columns: auto minmax(120px, 1fr) minmax(120px, 1fr) minmax(130px, 1fr) minmax(170px, 1.15fr) auto; margin-bottom: 18px; padding: 12px 14px; }
.catalog-filter-title { align-self: center; color: var(--plum); font-size: 12px; font-weight: 700; line-height: 1.2; padding-top: 13px; white-space: nowrap; }
.catalog-filter-form fieldset { border: 0; display: grid; gap: 5px; min-width: 0; padding: 0; }
.catalog-filter-form legend { color: var(--rose-deep); font-size: 9px; font-weight: 700; letter-spacing: 0.04em; line-height: 1.1; text-transform: uppercase; }
.catalog-filter-form select,
.catalog-filter-form input[type="number"] { background: #ffffff; border: 1px solid rgba(215, 174, 88, 0.42); color: var(--ink); font-size: 11px; font-weight: 500; min-height: 36px; outline: 0; padding: 7px 8px; width: 100%; }
.catalog-filter-form select:focus,
.catalog-filter-form input[type="number"]:focus { border-color: var(--rose-deep); box-shadow: 0 0 0 2px rgba(159, 95, 85, 0.12); }
.price-range-inputs { display: grid; gap: 8px; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }
.price-range-inputs label { color: var(--muted); display: grid; font-size: 9px; font-weight: 700; gap: 4px; letter-spacing: 0.03em; line-height: 1.05; text-transform: uppercase; }
.price-range-note { color: var(--muted); font-size: 12px; font-weight: 700; }
.catalog-filter-actions { align-items: center; display: grid; gap: 7px; justify-items: center; }
.catalog-filter-actions .btn { font-size: 12px; min-height: 36px; padding: 8px 16px; width: 100%; }
.filter-reset-link { color: var(--rose-deep); font-size: 11px; font-weight: 600; text-align: center; }

.product-gallery { display: grid; gap: 12px; }
.product-gallery-main { aspect-ratio: 1; background: #f8ece6; display: block; max-height: 430px; object-fit: contain; width: 100%; }
.product-gallery-strip { display: grid; gap: 10px; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.product-gallery-strip button { background: transparent; border: 0; cursor: pointer; padding: 0; }
.product-gallery-strip img,
.product-gallery-strip video { aspect-ratio: 1; border: 1px solid var(--line); display: block; object-fit: cover; width: 100%; }
.product-detail-main { min-width: 0; }
.product-detail-grid { align-items: start; display: grid; gap: 22px; grid-template-columns: minmax(280px, 0.92fr) minmax(260px, 0.58fr); }
.product-gallery-panel { display: grid; justify-items: center; }
.similar-products { margin-top: 26px; }
.compact-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.panel { background: var(--paper); border: 1px solid var(--line); padding: 24px; }
.grid-2 { display: grid; gap: 22px; grid-template-columns: 1fr 0.45fr; }
.form-grid { display: grid; gap: 14px; }
.form-grid label { color: var(--muted); display: grid; gap: 7px; font-size: 14px; font-weight: 800; }
.field-help { color: var(--muted); display: block; font-size: 12px; font-weight: 700; line-height: 1.45; }
.form-grid input, .form-grid textarea, .form-grid select { border: 1px solid var(--line); color: var(--ink); min-height: 46px; padding: 10px 12px; width: 100%; }
.form-grid textarea { min-height: 110px; resize: vertical; }
.special-request-page { max-width: 980px; }
.special-request-form { box-shadow: var(--shadow); }
.special-request-form .btn { justify-self: start; min-width: 190px; }
.password-shell { display: grid; grid-template-columns: minmax(0, 1fr) auto; }
.password-shell input { border-right: 0; }
.password-toggle { align-items: center; background: #fff6f1; border: 1px solid var(--line); color: var(--plum); cursor: pointer; display: inline-flex; justify-content: center; min-height: 46px; min-width: 52px; padding: 0; }
.password-toggle::before { background: currentColor; content: ""; height: 22px; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3-7 10-7 10 7 10 7-3 7-10 7S2 12 2 12Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center / contain no-repeat; width: 22px; }
.password-toggle.is-visible::before { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m2 2 20 20'/%3E%3Cpath d='M10.6 10.6a3 3 0 0 0 4.2 4.2'/%3E%3Cpath d='M9.9 4.2A10.7 10.7 0 0 1 12 4c7 0 10 8 10 8a16.3 16.3 0 0 1-3.1 4.5'/%3E%3Cpath d='M6.6 6.6C3.6 8.6 2 12 2 12s3 8 10 8a10.8 10.8 0 0 0 4.5-1'/%3E%3C/svg%3E"); }
.password-field { position: relative; }
.password-policy-popover { background: var(--paper); border: 1px solid var(--line); box-shadow: var(--shadow); color: var(--muted); display: none; gap: 8px; left: calc(100% + 16px); min-width: 280px; padding: 16px; position: absolute; top: 27px; z-index: 30; }
.password-field.policy-open .password-policy-popover { display: grid; }
.password-policy-popover::before { background: var(--paper); border-bottom: 1px solid var(--line); border-left: 1px solid var(--line); content: ""; height: 12px; left: -7px; position: absolute; top: 18px; transform: rotate(45deg); width: 12px; }
.password-policy-popover strong { color: var(--plum); font-size: 13px; }
.password-policy-popover span { align-items: center; display: flex; font-size: 12px; gap: 8px; line-height: 1.35; }
.password-policy-popover span::before { border: 1px solid #d8c8c0; border-radius: 999px; color: transparent; content: "✓"; display: inline-flex; flex: 0 0 auto; font-size: 10px; font-weight: 900; height: 17px; justify-content: center; line-height: 1; width: 17px; }
.password-policy-popover span.is-valid { color: var(--success); }
.password-policy-popover span.is-valid::before { background: var(--success); border-color: var(--success); color: #ffffff; }
.form-pair { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.check-row { align-items: center; display: flex !important; flex-direction: row; gap: 10px !important; }
.check-row input { min-height: auto; width: auto; }
.section-head.compact h2 { font-size: 24px; }
.category-admin-page { max-width: 1380px; }
.category-management-grid {
    align-items: start;
    display: grid;
    gap: 22px;
    grid-template-columns: minmax(360px, 0.42fr) minmax(0, 1fr);
}
.category-form-panel {
    gap: 16px;
    position: sticky;
    top: 18px;
}
.category-form-title {
    background: #fff7f3;
    border: 1px solid var(--line);
    display: grid;
    gap: 4px;
    padding: 14px;
}
.category-form-title span {
    color: var(--rose-deep);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}
.category-form-title strong {
    color: var(--plum);
    font-size: 18px;
    line-height: 1.25;
}
.category-form-section {
    border-top: 1px solid var(--line);
    display: grid;
    gap: 12px;
    padding-top: 14px;
}
.category-form-row {
    align-items: end;
    border-top: 1px solid var(--line);
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(130px, 0.8fr) minmax(120px, 0.7fr);
    padding-top: 14px;
}
.category-active-row {
    background: #fffaf6;
    border: 1px solid var(--line);
    min-height: 46px;
    padding: 10px 12px;
}
.category-form-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.category-form-actions .btn { min-height: 42px; }
.category-list-panel {
    min-width: 0;
    overflow: hidden;
}
.category-list-head {
    align-items: end;
    border-bottom: 1px solid var(--line);
    display: flex;
    justify-content: space-between;
    margin: -4px 0 12px;
    padding-bottom: 14px;
}
.category-list-head h2 {
    color: var(--plum);
    font-size: 20px;
    margin: 0;
}
.category-list-head p {
    color: var(--muted);
    font-size: 13px;
    margin: 5px 0 0;
}
.category-table-wrap {
    overflow-x: auto;
    width: 100%;
}
.category-admin-table th,
.category-admin-table td {
    font-size: 13px;
    line-height: 1.35;
    vertical-align: top;
}
.category-admin-table td:first-child strong {
    color: var(--plum);
    display: block;
    max-width: 220px;
}
.category-admin-table code {
    background: #fff7f3;
    border: 1px solid var(--line);
    color: var(--muted);
    display: inline-block;
    font-family: inherit;
    font-size: 12px;
    max-width: 180px;
    overflow: hidden;
    padding: 4px 7px;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.category-row-actions {
    align-items: flex-start;
    gap: 8px;
}

@media (max-width: 980px) {
    .category-management-grid {
        grid-template-columns: 1fr;
    }

    .category-form-panel {
        position: static;
    }
}

@media (max-width: 720px) {
    .category-form-row {
        grid-template-columns: 1fr;
    }

    .category-list-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .category-row-actions {
        display: grid;
        justify-items: start;
    }

    .category-admin-table td:first-child strong,
    .category-admin-table code {
        max-width: none;
    }
}

.cart-table { border-collapse: collapse; width: 100%; }
.cart-table th, .cart-table td { border-bottom: 1px solid var(--line); padding: 14px 10px; text-align: left; vertical-align: middle; }
.cart-product { align-items: center; display: flex; gap: 12px; }
.cart-product img,
.cart-product video { height: 72px; object-fit: cover; width: 72px; }
.qty-input { max-width: 78px; }
.cart-remove-heading { text-align: center; }
.cart-remove-button {
    align-items: center;
    background: #fff7f3;
    border: 1px solid rgba(168, 50, 50, 0.32);
    border-radius: 50%;
    color: var(--danger);
    cursor: pointer;
    display: inline-flex;
    font-size: 22px;
    font-weight: 800;
    height: 34px;
    justify-content: center;
    line-height: 1;
    width: 34px;
}
.cart-remove-button:hover { background: #fde7e4; border-color: var(--danger); }
.summary-line { display: flex; justify-content: space-between; margin-bottom: 12px; }
.summary-total { border-top: 1px solid var(--line); color: var(--plum); font-size: 22px; font-weight: 900; padding-top: 14px; }
.empty-state { background: var(--paper); border: 1px solid var(--line); padding: 38px; text-align: center; }

.admin-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 22px; }
.admin-tabs a { border: 1px solid var(--line); color: var(--plum); font-weight: 900; padding: 10px 13px; }
.admin-tabs a.active, .admin-tabs a:hover { background: var(--plum); color: #ffffff; }
.admin-stat-grid { display: grid; gap: 14px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.admin-stat { background: var(--paper); border: 1px solid var(--line); padding: 20px; }
.admin-stat span { color: var(--muted); display: block; font-size: 13px; font-weight: 900; text-transform: uppercase; }
.admin-stat strong { color: var(--plum); display: block; font-size: 34px; margin-top: 8px; }
.admin-filter { align-items: end; display: flex; flex-wrap: wrap; gap: 14px; }
.admin-filter label { color: var(--muted); display: grid; gap: 7px; font-size: 14px; font-weight: 800; min-width: 180px; }
.admin-filter select { border: 1px solid var(--line); min-height: 46px; padding: 10px 12px; }
.table-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 10px; }
.table-actions a, .table-actions button { background: transparent; border: 0; color: var(--rose-deep); cursor: pointer; font-weight: 900; padding: 0; }
.table-actions .danger-link { color: var(--danger); }
.section-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 12px; justify-content: flex-end; }
.section-actions form { margin: 0; }
.danger-button { background: #a83232; border-color: #a83232; color: #fff; }
.danger-button:hover { background: #8d2727; }
.upload-grid { display: grid; gap: 18px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.upload-card { display: grid; gap: 10px; }
.upload-card img,
.upload-card video { aspect-ratio: 1; object-fit: cover; width: 100%; }
.upload-card span { color: var(--muted); font-size: 13px; }
.upload-library-section { margin-top: 28px; }
.bulk-upload-panel { display: grid; gap: 18px; margin-top: 22px; }
.bulk-upload-panel h2 { color: var(--plum); font-size: 22px; }
.bulk-upload-panel p { color: var(--muted); }
.drive-import-card { background: #fffaf6; border: 1px solid rgba(215, 174, 88, 0.4); display: grid; gap: 16px; padding: 18px; }
.drive-import-form { align-items: end; grid-template-columns: minmax(280px, 1fr) auto; }
.drive-import-form .btn { min-width: 180px; }
.cleanup-panel { display: grid; gap: 18px; margin-top: 22px; }
.cleanup-panel h2 { color: var(--plum); font-size: 22px; }
.cleanup-panel p { color: var(--muted); }
.cleanup-form { background: #fffaf6; border: 1px solid var(--line); padding: 16px; }
.cleanup-action-bar { align-items: center; background: #fff3ee; border: 1px solid var(--line); display: flex; gap: 16px; justify-content: space-between; padding: 12px; }
.cleanup-action-bar span { color: var(--muted); font-size: 14px; font-weight: 800; }
.cleanup-action-bar .btn { min-width: 220px; text-align: center; }
.cleanup-action-bar.bottom { background: #fffaf6; }
.cleanup-status-note { background: #ffffff; border: 1px solid rgba(215, 174, 88, 0.42); color: var(--muted); display: grid; gap: 4px; padding: 12px; }
.cleanup-status-note strong { color: var(--plum); }
.individual-cleanup-toggle { height: auto; opacity: 1; position: static; width: auto; }
.individual-cleanup-label { background: #fff3ee; border: 1px solid var(--line); cursor: pointer; padding: 12px; }
.individual-cleanup-options { border: 1px solid var(--line); display: none; gap: 14px; padding: 14px; }
.individual-cleanup-label:has(.individual-cleanup-toggle:checked) + .individual-cleanup-options { display: grid; }
.individual-cleanup-options fieldset { border: 1px solid var(--line); display: grid; gap: 10px; padding: 12px; }
.individual-cleanup-options legend { color: var(--plum); font-size: 14px; font-weight: 900; padding: 0 6px; }
.cleanup-check-grid { display: grid; gap: 8px; grid-template-columns: repeat(2, minmax(0, 1fr)); max-height: 220px; overflow-y: auto; }
.cleanup-check-grid label { align-items: start; display: grid; font-size: 13px; gap: 8px; grid-template-columns: auto minmax(0, 1fr); line-height: 1.35; }
.check-row.unavailable { color: var(--muted); cursor: not-allowed; font-size: 14px; font-weight: 800; opacity: 0.72; }
.upload-category-group { display: grid; gap: 14px; margin-bottom: 24px; }
.upload-category-group h3 { color: var(--plum); font-size: 19px; }
.upload-preview-strip { display: grid; gap: 10px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.upload-preview-strip img,
.upload-preview-strip video { aspect-ratio: 1; border: 1px solid var(--line); object-fit: cover; width: 100%; }
.image-library-picker { border: 1px solid var(--line); display: grid; gap: 12px; padding: 14px; }
.image-library-picker legend { color: var(--plum); font-size: 14px; font-weight: 900; padding: 0 6px; }
.image-library-toolbar { align-items: end; display: flex; flex-wrap: wrap; gap: 12px; justify-content: space-between; }
.image-library-search { color: var(--muted); display: grid; font-size: 12px; font-weight: 800; gap: 5px; min-width: min(100%, 260px); }
.image-library-search input { min-height: 38px; padding: 8px 10px; }
.image-library-count { color: var(--rose-deep); font-size: 12px; font-weight: 900; }
.image-library-grid { display: grid; gap: 10px; grid-template-columns: repeat(4, minmax(0, 1fr)); max-height: none; overflow: visible; padding-right: 0; }
.image-choice { cursor: pointer; display: block !important; }
.image-choice-link { color: inherit; text-decoration: none; }
.image-choice input { height: 1px; opacity: 0; position: absolute; width: 1px; }
.image-choice span { border: 2px solid var(--line); display: grid; gap: 6px; padding: 6px; transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease; }
.image-choice img,
.image-choice video { aspect-ratio: 1; object-fit: cover; width: 100%; }
.image-choice small { color: var(--muted); font-size: 11px; font-weight: 800; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.image-choice em { background: #fff7ee; color: var(--rose-deep); font-size: 11px; font-style: normal; font-weight: 900; padding: 5px 6px; text-align: center; }
.image-library-pagination { align-items: center; display: flex; gap: 10px; justify-content: flex-end; }
.image-library-pagination button { background: #fffaf6; border: 1px solid var(--line); color: var(--plum); cursor: pointer; font-size: 12px; font-weight: 900; min-height: 34px; padding: 6px 10px; }
.image-library-pagination button:disabled { cursor: not-allowed; opacity: 0.45; }
.image-library-pagination span { color: var(--muted); font-size: 12px; font-weight: 800; }
.image-choice:hover span,
.image-choice-link:focus span { border-color: var(--champagne); box-shadow: 0 10px 22px rgba(63, 34, 51, 0.12); transform: translateY(-1px); }
.image-choice input:checked + span { border-color: var(--rose-deep); box-shadow: 0 8px 20px rgba(63, 34, 51, 0.16); }
.empty-state.compact { padding: 14px; }
.admin-checklist { display: grid; gap: 1px; }
.admin-checklist div { border-bottom: 1px solid var(--line); display: grid; gap: 6px; padding: 18px 0; }
.admin-checklist div:first-child { padding-top: 0; }
.admin-checklist strong { color: var(--plum); }
.admin-checklist span { color: var(--muted); }
.status-grid { display: grid; gap: 14px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: 20px; }
.status-card { background: #fffaf6; border: 1px solid var(--line); padding: 18px; }
.status-card span { color: var(--muted); display: block; font-size: 12px; font-weight: 900; margin-bottom: 7px; text-transform: uppercase; }
.status-card strong { color: var(--plum); display: block; font-size: 21px; }
.status-pill { background: #fff6f1; border: 1px solid var(--line); color: var(--plum); display: inline-flex; font-size: 13px; font-weight: 900; padding: 7px 10px; }
.status-pill.paid, .status-pill.delivered { background: #edf7f1; border-color: #bfdcc9; color: var(--success); }
.status-pill.failed, .status-pill.cancelled { background: #ffecec; border-color: #efb8b8; color: var(--danger); }
.status-pill.shipped, .status-pill.confirmed, .status-pill.packed { background: #eef4ff; border-color: #c7d8f6; color: #315c98; }
.status-pill.pending, .status-pill.pending_payment { background: #fff5dc; border-color: #edd79b; color: #756022; }
.status-pill.refunded { background: #f1eef7; border-color: #d4c9e9; color: #5b3b83; }
.payment-metric-grid .admin-stat small { color: var(--muted); display: block; font-size: 12px; font-weight: 800; margin-top: 6px; }
.table-scroll { overflow-x: auto; width: 100%; }
.payment-ref { color: var(--plum); font-family: Consolas, "Courier New", monospace; font-size: 12px; font-weight: 800; overflow-wrap: anywhere; }
.audit-list { display: grid; gap: 10px; }
.audit-item { background: #fffaf6; border: 1px solid var(--line); padding: 12px; }
.audit-item strong { color: var(--plum); display: block; font-size: 13px; margin-bottom: 5px; }
.audit-item span { color: var(--ink); font-size: 14px; }
.audit-note { color: var(--muted); font-size: 12px; font-weight: 800; }
.payment-audit-panel { margin-bottom: 22px; }
.payment-audit-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.section-head.compact { margin-bottom: 16px; }
.section-head.compact h2 { margin: 0; }
  .stock-alert { background: #fff5dc; border: 1px solid #edd79b; color: #756022; font-weight: 900; margin: 18px 0; padding: 12px 14px; }

.account-breadcrumb { align-items: center; color: #1f5c9a; display: flex; font-size: 14px; gap: 8px; margin-bottom: 22px; }
.orders-page { max-width: 1180px; }
.orders-hero { align-items: center; display: grid; gap: 28px; grid-template-columns: 1fr minmax(320px, 0.75fr); margin-bottom: 24px; }
.orders-hero h1 { color: #111111; font-size: 38px; line-height: 1.1; margin-bottom: 8px; }
.orders-hero p { color: var(--muted); }
.order-search { display: grid; gap: 12px; grid-template-columns: minmax(0, 1fr) auto; }
.order-search input { border: 1px solid #aab0b8; border-radius: 10px; min-height: 48px; padding: 0 16px; }
.order-search button { background: #232323; border: 0; border-radius: 999px; color: #ffffff; cursor: pointer; font-weight: 900; padding: 0 22px; }
.orders-tabs { border-bottom: 1px solid #d7d7d7; display: flex; gap: 28px; margin-bottom: 22px; overflow-x: auto; }
.orders-tabs a { color: #17589a; font-size: 16px; font-weight: 700; padding: 0 0 12px; white-space: nowrap; }
.orders-tabs a.active { border-bottom: 3px solid #d77c18; color: #111111; font-weight: 900; }
.orders-summary-row { align-items: center; display: flex; gap: 10px; margin-bottom: 44px; }
.orders-summary-row select { border: 1px solid #aab0b8; border-radius: 9px; min-height: 46px; padding: 0 14px; }
.orders-empty { min-height: 190px; padding: 54px 0; text-align: center; }
.orders-empty p { color: #111111; font-size: 18px; margin-bottom: 8px; }
.orders-empty a { color: #17589a; font-weight: 800; }
.orders-list { display: grid; gap: 16px; }
.order-card { display: grid; gap: 16px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.order-card small { color: var(--muted); display: block; font-size: 12px; font-weight: 900; text-transform: uppercase; }
.order-card-status, .order-card .table-actions { grid-column: 1 / -1; }
.order-card-status { align-items: center; display: flex; flex-wrap: wrap; gap: 10px; }
.order-tracking-block { border-top: 1px solid var(--line); display: grid; gap: 12px; grid-column: 1 / -1; padding-top: 14px; }
.tracking-timeline { display: flex; flex-wrap: wrap; gap: 8px; }
.tracking-timeline span { background: #fffaf6; border: 1px solid var(--line); color: var(--muted); font-size: 12px; font-weight: 800; padding: 8px 10px; }
.tracking-timeline span.complete { background: #edf7f1; border-color: #bfdcc9; color: var(--success); }
.courier-summary { align-items: center; display: flex; flex-wrap: wrap; gap: 12px; }
.courier-summary span { color: var(--muted); font-size: 13px; }
.courier-summary strong { color: var(--plum); }
.fulfillment-panel, .fulfillment-dashboard { margin-bottom: 22px; }
.fulfillment-stat-grid { margin-top: 12px; }
.return-panel { max-width: 920px; }
.return-order-summary {
    background: #fffaf6;
    border: 1px solid var(--line);
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    padding: 16px;
}
.return-order-summary small {
    color: var(--muted);
    display: block;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}
.return-order-summary strong {
    color: var(--plum);
    font-size: 15px;
}
.return-item-list {
    border: 1px solid var(--line);
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 16px;
}
.return-item-list legend {
    color: var(--plum);
    font-size: 15px;
    font-weight: 900;
    padding: 0 8px;
}
.return-item-list label {
    align-items: center;
    display: flex;
    gap: 10px;
    font-weight: 800;
}
.return-item-list input {
    min-height: auto;
    width: auto;
}
.form-note {
    background: #fffaf6;
    border: 1px solid var(--line);
    color: var(--muted);
    margin: 0;
    padding: 12px;
}
.return-detail-grid { display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.return-detail-grid label { display: none; }
.return-detail-grid label.is-visible { display: grid; }

.footer { background: linear-gradient(180deg, rgba(255, 250, 246, 0.98), rgba(247, 229, 223, 0.96)); border-top: 1px solid rgba(215, 174, 88, 0.34); color: var(--plum); padding: 44px 30px 34px; }
.footer-shell { display: grid; gap: 30px; margin: 0 auto; max-width: 1220px; width: 100%; }
.footer-brand { display: grid; gap: 6px; text-align: center; width: 100%; }
.footer-brand strong { color: var(--plum); font-size: 27px; font-weight: 900; }
.footer-brand span, .footer-note { color: var(--muted); }
.footer-link-grid { display: grid; gap: 28px; grid-template-columns: 1fr 1fr 1.2fr 1fr; }
.footer-link-grid section { display: grid; align-content: start; gap: 13px; }
.footer-link-grid h2 { color: var(--plum); font-size: 19px; font-weight: 900; }
.footer-link-grid a,
.footer-link-grid span { color: var(--ink); font-size: 15px; font-weight: 800; line-height: 1.35; }
.footer-link-grid a:hover { color: var(--rose-deep); }
.footer-email-link { color: var(--rose-deep) !important; }
.footer-bottom-row { align-items: end; border-top: 1px solid rgba(63, 34, 51, 0.14); display: grid; gap: 24px; grid-template-columns: 1fr 1fr; padding-top: 24px; }
.footer-payment-block,
.footer-mobile-block { display: grid; gap: 10px; }
.footer-mobile-block { justify-items: end; text-align: right; }
.footer-mobile-block span:last-child { color: #5f555c; max-width: 360px; }
.footer-kicker { color: var(--rose-deep); font-size: 12px; font-weight: 900; letter-spacing: 0; text-transform: uppercase; }
.footer-social-links { align-items: center; display: flex; flex-wrap: wrap; gap: 14px; justify-content: flex-start; }
.social-link { align-items: center; color: var(--plum); display: inline-flex !important; font-size: 14px; font-weight: 800; gap: 8px; width: fit-content; }
.social-icon { background: currentColor; display: inline-block; height: 20px; width: 20px; }
.social-link.whatsapp .social-icon {
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12.04 2C6.58 2 2.14 6.43 2.14 11.88c0 1.74.46 3.44 1.32 4.93L2 22l5.33-1.4a9.9 9.9 0 0 0 4.71 1.2h.01c5.45 0 9.89-4.43 9.89-9.88C21.94 6.46 17.5 2 12.04 2Zm0 18.13h-.01a8.2 8.2 0 0 1-4.17-1.14l-.3-.18-3.16.83.84-3.08-.2-.32a8.15 8.15 0 0 1-1.25-4.36c0-4.52 3.68-8.2 8.21-8.2 2.19 0 4.25.86 5.8 2.41a8.16 8.16 0 0 1 2.4 5.82c0 4.53-3.68 8.22-8.16 8.22Zm4.5-6.15c-.25-.12-1.46-.72-1.69-.8-.23-.08-.39-.12-.56.12-.16.25-.64.8-.78.96-.14.16-.29.18-.54.06-.25-.13-1.04-.38-1.98-1.22-.73-.65-1.23-1.45-1.37-1.7-.14-.25-.02-.38.11-.5.11-.11.25-.29.37-.43.12-.14.16-.25.25-.41.08-.17.04-.31-.02-.43-.06-.12-.56-1.35-.77-1.85-.2-.49-.41-.42-.56-.43h-.48c-.16 0-.43.06-.66.31-.23.25-.86.84-.86 2.04s.88 2.36 1 2.52c.12.17 1.73 2.64 4.2 3.7.59.25 1.04.4 1.4.52.59.19 1.12.16 1.54.1.47-.07 1.46-.6 1.67-1.18.21-.58.21-1.08.14-1.18-.06-.1-.22-.16-.47-.28Z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.social-link.instagram .social-icon {
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7.8 2h8.4A5.8 5.8 0 0 1 22 7.8v8.4a5.8 5.8 0 0 1-5.8 5.8H7.8A5.8 5.8 0 0 1 2 16.2V7.8A5.8 5.8 0 0 1 7.8 2Zm-.2 2A3.6 3.6 0 0 0 4 7.6v8.8A3.6 3.6 0 0 0 7.6 20h8.8a3.6 3.6 0 0 0 3.6-3.6V7.6A3.6 3.6 0 0 0 16.4 4H7.6Zm9.65 1.5a1.25 1.25 0 1 1 0 2.5 1.25 1.25 0 0 1 0-2.5ZM12 7a5 5 0 1 1 0 10 5 5 0 0 1 0-10Zm0 2a3 3 0 1 0 0 6 3 3 0 0 0 0-6Z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.payment-pills { align-items: center; display: flex !important; flex-wrap: wrap; gap: 10px; }
.payment-pill { align-items: center; background: #fffaf6; border: 1px solid rgba(215, 174, 88, 0.42); border-radius: 999px; box-shadow: 0 10px 24px rgba(63, 34, 51, 0.08); color: var(--plum); cursor: default; display: inline-flex; font-size: 12px; font-weight: 900; gap: 8px; min-height: 38px; padding: 0 13px; pointer-events: none; }
.payment-pill i { background: var(--champagne); display: inline-block; height: 20px; width: 20px; }
.payment-pill.gpay i { background: conic-gradient(from 35deg, #4285f4 0 25%, #34a853 0 50%, #fbbc04 0 75%, #ea4335 0); border-radius: 50%; }
.payment-pill.phonepe i { background: #5f259f; border-radius: 50%; position: relative; }
.payment-pill.phonepe i::before { color: #ffffff; content: "P"; font-size: 12px; font-style: normal; font-weight: 900; left: 50%; position: absolute; top: 50%; transform: translate(-50%, -50%); }
.payment-pill.upi i { border-radius: 50%; color: #321c29; display: inline-grid; font-size: 9px; font-style: normal; font-weight: 900; place-items: center; }
.payment-pill.upi i::before { content: "UPI"; }
.payment-pill.visa i { background: #1a4fb6; border-radius: 3px; color: #ffffff; display: inline-grid; font-size: 8px; font-style: normal; font-weight: 900; place-items: center; width: 30px; }
.payment-pill.visa i::before { content: "VISA"; }
.payment-pill.mastercard i { background: radial-gradient(circle at 35% 50%, #eb001b 0 34%, transparent 35%), radial-gradient(circle at 65% 50%, #f79e1b 0 34%, transparent 35%); width: 30px; }
.payment-pill.card i {
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 5h18a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2Zm0 4h18V7H3v2Zm3 5v2h5v-2H6Z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.payment-pill.cod i {
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 6h18v12H3V6Zm2 2v8h14V8H5Zm7 1a3 3 0 1 1 0 6 3 3 0 0 1 0-6Zm-6 1.5A1.5 1.5 0 0 0 7.5 9h-1.5v1.5ZM16.5 9A1.5 1.5 0 0 0 18 10.5V9h-1.5ZM6 13.5V15h1.5A1.5 1.5 0 0 0 6 13.5ZM18 15v-1.5A1.5 1.5 0 0 0 16.5 15H18Z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.app-badge-row { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; }
.app-badge { align-items: center; background: #171116; border: 1px solid rgba(215, 174, 88, 0.5); border-radius: 7px; box-shadow: 0 12px 28px rgba(63, 34, 51, 0.16); color: #fffaf6; display: inline-flex; gap: 9px; min-height: 46px; min-width: 146px; padding: 7px 12px; text-align: left; }
.app-badge i { background: var(--champagne); display: inline-block; height: 24px; width: 24px; }
.app-badge span { color: #fffaf6 !important; display: grid; font-size: 16px; font-weight: 900; line-height: 1.05; }
.app-badge small { color: #e8d5c4; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.app-badge.play-store i { clip-path: polygon(8% 0, 100% 50%, 8% 100%); }
.app-badge.app-store i { border-radius: 50%; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M16.2 2c.1 1.2-.35 2.35-1.1 3.2-.78.9-2.05 1.58-3.25 1.48-.14-1.16.44-2.4 1.14-3.17C13.78 2.65 15.12 2.04 16.2 2ZM20.5 17.2c-.45 1.02-.66 1.47-1.24 2.37-.8 1.22-1.93 2.75-3.33 2.76-1.24.02-1.56-.8-3.24-.79-1.68.01-2.03.81-3.28.8-1.4-.02-2.47-1.39-3.27-2.62-2.24-3.43-2.47-7.46-1.1-9.6.98-1.52 2.52-2.41 3.96-2.41 1.47 0 2.39.81 3.6.81 1.18 0 1.9-.81 3.6-.81 1.29 0 2.65.7 3.62 1.92-3.18 1.74-2.66 6.28.68 7.57Z'/%3E%3C/svg%3E") center / contain no-repeat; }
.info-page { max-width: 980px; }
.info-content { display: grid; gap: 16px; }
.info-content p { color: var(--muted); font-size: 16px; }

.payment-method-field { border: 0; display: grid; gap: 10px; margin: 0; padding: 0; }
.payment-method-field legend { color: var(--muted); font-size: 14px; font-weight: 900; padding: 0; }
.payment-method-options { display: grid; gap: 10px; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); }
.payment-method-card { cursor: pointer; display: block; }
.payment-method-card input { height: 1px; opacity: 0; position: absolute; width: 1px; }
.payment-method-visual { align-items: center; background: #fffaf6; border: 1px solid var(--line); color: var(--ink); display: flex; gap: 12px; min-height: 86px; padding: 14px; transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease; }
.payment-method-card input:checked + .payment-method-visual { background: #fff4ee; border-color: var(--rose-deep); box-shadow: 0 10px 26px rgba(72, 39, 58, 0.14); }
.payment-method-visual strong { display: block; font-size: 14px; font-weight: 900; }
.payment-method-visual small { color: var(--muted); display: block; font-size: 12px; font-weight: 700; line-height: 1.35; margin-top: 4px; }
.payment-method-icon { background: var(--rose-deep); display: inline-block; flex: 0 0 auto; height: 28px; width: 28px; }
.payment-method-icon.upi { background: #d8b46a; border-radius: 50%; color: #321c29; display: inline-grid; font-size: 10px; font-weight: 900; place-items: center; }
.payment-method-icon.upi::before { content: "UPI"; }
.payment-method-icon.card {
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 5h18a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2Zm0 4h18V7H3v2Zm3 5v2h5v-2H6Z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.payment-method-icon.cod {
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 6h18v12H3V6Zm2 2v8h14V8H5Zm7 1a3 3 0 1 1 0 6 3 3 0 0 1 0-6Zm-6 1.5A1.5 1.5 0 0 0 7.5 9h-1.5v1.5ZM16.5 9A1.5 1.5 0 0 0 18 10.5V9h-1.5ZM6 13.5V15h1.5A1.5 1.5 0 0 0 6 13.5ZM18 15v-1.5A1.5 1.5 0 0 0 16.5 15H18Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.auth-page { background: #2d2029; height: 100vh; min-height: 100vh; overflow: hidden; }
.auth-page .top-strip,
.auth-page .navbar,
.auth-page .search-row,
.auth-page .footer { display: none; }
.auth-page .flash { left: 50%; max-width: 860px; position: fixed; top: 18px; transform: translateX(-50%); width: calc(100% - 40px); z-index: 60; }
.auth-screen {
    align-items: center;
    background:
        radial-gradient(circle at 18% 20%, rgba(215, 174, 88, 0.22), transparent 28%),
        radial-gradient(circle at 82% 78%, rgba(201, 135, 120, 0.2), transparent 30%),
        linear-gradient(135deg, #321c29 0%, #5f0b4c 48%, #2d2029 100%);
    display: flex;
    height: 100vh;
    justify-content: center;
    overflow: hidden;
    padding: 12px;
}
.auth-hero { display: none; }
.auth-hero::before { content: none; }
.auth-hero > * { position: relative; z-index: 1; }
.auth-brand-pill,
.auth-company-pill,
.auth-shop-link { background: rgba(255, 255, 255, 0.13); border: 1px solid rgba(255, 255, 255, 0.18); border-radius: 999px; color: #ffffff; display: inline-flex; font-size: 13px; font-weight: 900; gap: 14px; letter-spacing: 0.02em; padding: 13px 20px; width: fit-content; }
.auth-company-pill { min-width: min(520px, 100%); }
.auth-hero-copy { margin-top: 24px; max-width: 760px; }
.auth-hero-copy .eyebrow { color: #f5d8cf; margin-bottom: 16px; }
.auth-hero-copy h1 { color: #ffffff; font-size: 52px; line-height: 1.08; margin-bottom: 20px; }
.auth-hero-copy p:last-child { color: #f6eee9; font-size: 17px; max-width: 620px; }
.auth-shop-link { margin-top: 20px; }
.auth-card { align-content: center; backdrop-filter: blur(18px); background: rgba(255, 250, 246, 0.78); border: 1px solid rgba(255, 255, 255, 0.48); border-radius: 22px; box-shadow: 0 28px 80px rgba(48, 40, 36, 0.28); display: grid; max-height: calc(100vh - 24px); max-width: 500px; overflow-y: auto; padding: 22px 34px; width: min(100%, 500px); }
.auth-card-scroll { align-content: center; }
.auth-logo {
    aspect-ratio: 1;
    background: #6b0f55;
    border: 4px double #d7ae58;
    border-radius: 50%;
    box-shadow: 0 18px 34px rgba(63, 34, 51, 0.25), 0 0 0 1px #3f2233, 0 0 22px rgba(215, 174, 88, 0.26);
    height: 166px;
    margin: -6px auto 14px;
    object-fit: contain;
    padding: 7px;
    width: 166px;
}
.auth-card-heading { margin-bottom: 16px; text-align: center; }
.auth-card-heading span { color: var(--rose-deep); display: block; font-size: 12px; font-weight: 900; margin-bottom: 6px; text-transform: uppercase; }
.auth-card-heading h2 { color: var(--plum); font-size: 30px; line-height: 1.12; margin-bottom: 6px; }
.auth-card-heading p { color: var(--muted); font-size: 15px; }
.auth-form { gap: 8px; }
.auth-form label { color: #665d58; font-size: 13px; font-weight: 700; gap: 4px; }
.auth-form input { background: rgba(255, 246, 241, 0.82); border-color: rgba(226, 212, 204, 0.9); border-radius: 11px; font-size: 14px; font-weight: 600; min-height: 42px; padding: 0 14px; }
.auth-form input::placeholder { color: #766d68; font-weight: 600; }
.auth-form .password-shell { grid-template-columns: minmax(0, 1fr) 56px; }
.auth-form .password-shell input { border-radius: 10px 0 0 10px; }
.auth-form .password-toggle { background: rgba(255, 246, 241, 0.82); border-color: rgba(226, 212, 204, 0.9); border-radius: 0 11px 11px 0; min-height: 42px; min-width: 50px; }
.captcha-shell { display: grid; gap: 8px; grid-template-columns: minmax(96px, 0.7fr) 44px minmax(0, 1fr); }
.captcha-code { align-items: center; background: rgba(255, 246, 241, 0.82); border: 1px solid rgba(226, 212, 204, 0.9); border-radius: 11px; color: var(--plum); display: inline-flex; font-size: 16px; font-weight: 900; justify-content: center; letter-spacing: 0.16em; min-height: 42px; padding: 0 10px; }
.captcha-audio { align-items: center; background: rgba(255, 246, 241, 0.82); border: 1px solid rgba(226, 212, 204, 0.9); border-radius: 11px; color: var(--plum); cursor: pointer; display: inline-flex; justify-content: center; min-height: 42px; }
.captcha-audio::before { background: currentColor; content: ""; height: 20px; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 5 6 9H2v6h4l5 4V5Z'/%3E%3Cpath d='M15.5 8.5a5 5 0 0 1 0 7'/%3E%3Cpath d='M19 5a10 10 0 0 1 0 14'/%3E%3C/svg%3E") center / contain no-repeat; width: 20px; }
.captcha-shell input { min-width: 0; }
.auth-links { align-items: center; display: flex; justify-content: space-between; gap: 16px; }
.auth-links a { color: var(--rose-deep); font-size: 12px; font-weight: 800; }
.auth-submit { border-radius: 11px; font-size: 15px; min-height: 44px; width: 100%; }
.remember-device {
    align-items: center;
    background: rgba(255, 246, 241, 0.7);
    border: 1px solid rgba(226, 212, 204, 0.9);
    border-radius: 11px;
    display: flex;
    gap: 10px;
    padding: 10px 12px;
}
.auth-form .remember-device input {
    accent-color: var(--plum);
    min-height: auto;
    width: 18px;
}
.remember-note {
    font-size: 12px;
    line-height: 1.35;
    padding: 10px 12px;
}
@media (max-height: 760px) {
    .auth-screen { align-items: flex-start; overflow-y: auto; }
    .auth-card { align-content: start; margin: 10px auto; padding: 16px 28px; }
    .auth-logo { height: 126px; margin: 0 auto 10px; width: 126px; }
    .auth-form { gap: 7px; }
    .auth-form input,
    .auth-form .password-toggle,
    .captcha-code,
    .captcha-audio { min-height: 38px; }
    .remember-device { padding: 8px 10px; }
    .remember-note { font-size: 11px; padding: 8px 10px; }
    .auth-submit { min-height: 40px; }
}

@media (max-height: 900px) and (min-width: 721px) {
    .auth-screen { align-items: flex-start; min-height: auto; overflow-y: auto; padding: 8px 16px 72px; }
    .auth-card { align-content: start; margin: 10px auto 72px; max-height: none; padding: 12px 28px 14px; }
    .auth-logo { height: 116px; margin: 0 auto 8px; width: 116px; }
    .auth-form { gap: 6px; }
    .auth-form label { font-size: 12px; }
    .auth-form input,
    .auth-form .password-toggle,
    .captcha-code,
    .captcha-audio { min-height: 36px; }
    .remember-device { padding: 7px 10px; }
    .remember-note { font-size: 11px; padding: 7px 10px; }
    .auth-links { margin-top: 2px; }
    .auth-submit { min-height: 38px; }
}
.auth-register-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.auth-register-form label:nth-of-type(n+3),
.auth-register-form .auth-links,
.auth-register-form .auth-submit { grid-column: 1 / -1; }
.auth-message-card { gap: 12px; text-align: center; }
.auth-message { border: 1px solid var(--line); border-radius: 14px; padding: 16px; }
.auth-message strong { color: var(--plum); display: block; font-size: 18px; margin-bottom: 6px; }
.auth-message p { color: var(--muted); font-size: 14px; line-height: 1.45; }
.auth-message.success { background: rgba(237, 247, 241, 0.86); border-color: #bfdcc9; }
.auth-message.success strong { color: var(--success); }
.auth-message.error { background: rgba(255, 236, 236, 0.86); border-color: #efb8b8; }
.auth-message.error strong { color: var(--danger); }

@media (max-width: 1040px) {
    .navbar { grid-template-columns: 1fr; padding: 14px 22px; }
    .nav-center { justify-content: flex-start; max-width: 100%; min-width: 0; overflow-x: auto; width: 100%; }
    .nav-actions { flex-wrap: wrap; max-width: 100%; min-width: 0; white-space: normal; width: 100%; }
    .language-form select { min-height: 42px; }
    .search-row { grid-template-columns: 1fr; padding: 12px 22px; }
    .all-categories-link { width: 100%; }
    .hero { grid-template-columns: 1fr; padding-right: 0; }
    .hero-copy { padding: 46px 30px 20px; }
    .hero-feature { margin: 0 30px 36px; }
    .hero h1 { font-size: 36px; }
    .shop-layout, .product-detail-grid, .grid-2 { grid-template-columns: 1fr; }
    .shop-sidebar { position: static; }
    .shop-sidebar .category-filter-bar { display: flex; }
    .catalog-filter-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .catalog-filter-title, .price-range-fields, .catalog-filter-actions { grid-column: 1 / -1; }
    .catalog-filter-title { padding-bottom: 0; white-space: normal; }
    .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .product-media { height: 150px; }
    .orders-hero, .order-card, .return-order-summary { grid-template-columns: 1fr; }
    .admin-stat-grid, .upload-grid, .payment-audit-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .status-grid { grid-template-columns: 1fr; }
    .footer-link-grid, .footer-bottom-row { grid-template-columns: 1fr; }
    .footer-mobile-block { justify-items: start; text-align: left; }
    .app-badge-row { justify-content: flex-start; }
    .password-policy-popover { left: 0; margin-top: 8px; min-width: 0; position: relative; top: auto; width: 100%; }
    .password-policy-popover::before { display: none; }
    .auth-screen { padding: 12px; }
    .auth-card { border-radius: 18px; padding: 16px 20px; }
}

@media (max-width: 720px) {
    .page { padding: 34px 16px 44px; }
    .top-strip { display: block; font-size: 10px; line-height: 1.35; overflow-wrap: anywhere; padding: 8px 8px; white-space: normal !important; width: 100%; }
    .navbar { gap: 14px; justify-items: center; padding: 14px 16px; }
    .brand-mark { height: 88px; width: 88px; }
    .nav-center { display: grid; gap: 8px; grid-template-columns: 1fr; overflow: visible; width: 100%; }
    .nav-center a { align-items: center; background: rgba(255, 246, 241, 0.82); border: 1px solid rgba(95, 11, 76, 0.14); display: flex; font-size: 13px; justify-content: center; min-height: 42px; padding: 8px 7px; text-align: center; width: 100%; }
    .nav-center a[href*="special-request"] { grid-column: 1 / -1; }
    .nav-actions { display: grid; gap: 8px; grid-template-columns: 1fr; }
    .language-form, .language-form select { width: 100%; }
    .nav-actions a { align-items: center; display: flex; font-size: 13px; justify-content: center; min-height: 48px; padding: 8px; text-align: center; white-space: normal; }
    .nav-actions .cart-link { justify-self: center; min-height: 48px; padding: 0; width: 48px; }
    .nav-actions a span { display: block; margin-right: 3px; }
    .search-row { gap: 12px; padding: 12px 16px; }
    .all-categories-link { min-height: 46px; width: 100%; }
    .search-shell { grid-template-columns: 1fr; max-width: 100%; min-height: 48px; width: 100%; }
    .search-shell input { min-width: 0; padding: 0 14px; }
    .search-shell button { padding: 0 16px; width: 100%; }
    .hero { background-position: center top; min-height: 0; overflow: hidden; width: 100%; }
    .hero-copy { max-width: 100%; min-width: 0; padding: 34px 18px 26px; width: 100%; }
    .hero h1 { font-size: 24px; line-height: 1.14; max-width: calc(100vw - 36px); overflow-wrap: anywhere; word-break: break-word; }
    .hero p { font-size: 14px; max-width: calc(100vw - 36px); min-width: 0; overflow-wrap: anywhere; width: 100%; }
    .hero-actions { display: grid; grid-template-columns: 1fr; }
    .hero-actions .btn { width: 100%; }
    .hero-tags { display: grid; grid-template-columns: 1fr; }
    .hero-tags a { text-align: center; }
    .hero-feature { margin: 0 22px 30px; padding: 22px; }
    .section-head { align-items: start; flex-direction: column; }
    .shop-products-head p { white-space: normal; }
    .category-grid, .product-grid, .promise-band, .promo-rail, .footer-grid, .footer-service-row, .footer-link-grid, .footer-bottom-row { grid-template-columns: 1fr; }
    .catalog-filter-form { padding: 12px; }
    .catalog-filter-form, .price-range-inputs { grid-template-columns: 1fr; }
    .catalog-filter-form fieldset, .catalog-filter-title, .price-range-fields, .catalog-filter-actions { grid-column: 1 / -1; }
    .footer { padding: 34px 18px 28px; }
    .footer-social-block { justify-items: start; }
    .footer-social-links { justify-content: flex-start; }
    .payment-pills, .app-badge-row { align-items: stretch; flex-direction: column; }
    .payment-pill, .app-badge { width: 100%; }
    .product-media { height: 180px; }
    .product-gallery-strip { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .category-card { grid-template-columns: 1fr; }
    .category-card img { height: 230px; }
    .cart-table, .cart-table tbody, .cart-table tr, .cart-table td { display: block; width: 100%; }
    .cart-table thead { display: none; }
    .form-pair, .admin-stat-grid, .upload-grid, .payment-audit-grid { grid-template-columns: 1fr; }
    .order-search, .return-detail-grid { grid-template-columns: 1fr; }
    .orders-tabs { gap: 18px; }
    .auth-screen { padding: 10px; }
    .auth-card { border-radius: 16px; padding: 14px 16px; }
    .auth-card-heading h2 { font-size: 26px; }
    .auth-links { align-items: center; flex-direction: row; justify-content: space-between; width: 100%; }
    .auth-links a { max-width: 48%; overflow-wrap: anywhere; }
    .captcha-shell { grid-template-columns: minmax(82px, 0.7fr) 38px minmax(0, 1fr); }
    .captcha-code { font-size: 13px; letter-spacing: 0.12em; padding: 0 8px; }
    .auth-register-form { grid-template-columns: 1fr; }
    .auth-register-form label:nth-of-type(n+3),
    .auth-register-form .auth-links,
    .auth-register-form .auth-submit { grid-column: auto; }
}

.admin-product-table {
    table-layout: fixed;
    min-width: 660px;
}
.admin-list-head {
    align-items: center;
    border-top: 1px solid var(--line);
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: space-between;
    margin-top: 18px;
    padding-top: 16px;
}
.admin-list-head p {
    color: var(--muted);
    font-size: 13px;
    font-weight: 800;
    margin: 0;
}
.admin-pagination {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.admin-pagination a,
.admin-pagination span {
    border: 1px solid var(--line);
    color: var(--plum);
    font-size: 12px;
    font-weight: 900;
    padding: 7px 10px;
    text-decoration: none;
}
.admin-pagination span {
    color: var(--muted);
}
.admin-pagination a:hover {
    background: #fff7f1;
    border-color: var(--rose-deep);
}
.admin-product-table-wrap {
    overflow-x: auto;
    width: 100%;
}
.admin-product-table th,
.admin-product-table td {
    padding: 14px 8px;
}
.admin-product-table th:nth-child(1),
.admin-product-table td:nth-child(1) {
    width: 34%;
}
.admin-product-table th:nth-child(2),
.admin-product-table td:nth-child(2) {
    width: 18%;
}
.admin-product-table th:nth-child(3),
.admin-product-table td:nth-child(3) {
    width: 13%;
}
.admin-product-table th:nth-child(4),
.admin-product-table td:nth-child(4) {
    width: 15%;
}
.admin-product-table th:nth-child(5),
.admin-product-table td:nth-child(5) {
    width: 20%;
}
.admin-product-row td { vertical-align: middle; }
.admin-product-summary { align-items: center; display: grid; gap: 9px; grid-template-columns: 46px minmax(0, 1fr); min-width: 0; }
.admin-product-thumb { background: #fffaf6; border: 1px solid var(--line); display: block; height: 46px; object-fit: cover; width: 46px; }
.admin-product-copy { min-width: 0; }
.admin-product-copy strong { color: var(--ink); display: block; font-size: 13px; line-height: 1.3; overflow-wrap: anywhere; }
.admin-product-copy small { color: var(--muted); display: block; font-size: 12px; line-height: 1.35; margin-top: 4px; }
.admin-quick-input { background: #fffaf6; border: 1px solid var(--line); color: var(--ink); font-size: 13px; font-weight: 700; max-width: 100%; min-height: 36px; padding: 6px 8px; width: 82px; }
.admin-quick-stock { width: 58px; }
.admin-quick-input:focus { border-color: var(--rose-deep); box-shadow: 0 0 0 2px rgba(159, 95, 85, 0.12); outline: 0; }
.admin-product-actions { min-width: 104px; }
.admin-quick-form { margin: 0; }
.admin-quick-save { background: var(--plum); border: 0; color: #ffffff; cursor: pointer; font-size: 12px; font-weight: 900; min-height: 32px; padding: 6px 11px; }
.admin-quick-save:hover { background: var(--rose-deep); }

@media (max-width: 720px) {
    .admin-product-summary { grid-template-columns: 58px minmax(0, 1fr); }
    .admin-product-thumb { height: 54px; width: 54px; }
    .admin-quick-input, .admin-quick-stock { width: 100%; }
}

/* Phase 7A Wishlist */
.product-media-link {
    display: block;
    height: 100%;
}
.wishlist-toggle-form {
    margin: 0;
    position: absolute;
    right: 10px;
    top: 10px;
    z-index: 4;
}
.wishlist-toggle {
    align-items: center;
    background: rgba(255, 250, 246, 0.92);
    border: 1px solid rgba(95, 11, 76, 0.18);
    border-radius: 50%;
    box-shadow: 0 8px 20px rgba(63, 38, 49, 0.16);
    color: var(--plum);
    cursor: pointer;
    display: inline-flex;
    height: 38px;
    justify-content: center;
    padding: 0;
    transition: background 0.18s ease, color 0.18s ease, transform 0.18s ease;
    width: 38px;
}
.wishlist-toggle:hover { transform: translateY(-1px); }
.wishlist-toggle svg,
.wishlist-icon {
    fill: none;
    height: 20px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.9;
    width: 20px;
}
.wishlist-toggle.is-active {
    background: var(--plum);
    color: #fffaf6;
}
.nav-actions .wishlist-link {
    align-items: center;
    aspect-ratio: 1;
    background: #fffaf6;
    border-color: rgba(215, 174, 88, 0.72);
    border-radius: 50%;
    color: var(--plum);
    display: inline-flex;
    justify-content: center;
    min-height: 46px;
    padding: 0;
    position: relative;
    width: 46px;
}
.nav-actions .wishlist-link:hover {
    background: #f6e8e5;
    border-color: var(--champagne);
}
.wishlist-count {
    align-items: center;
    background: var(--champagne);
    border: 2px solid #fffaf6;
    border-radius: 999px;
    color: #251922;
    display: inline-flex;
    font-size: 10px;
    font-weight: 900;
    height: 20px;
    justify-content: center;
    min-width: 20px;
    padding: 0 5px;
    position: absolute;
    right: -5px;
    top: -6px;
}
.wishlist-detail-form {
    margin: 18px 0 12px;
}
.wishlist-detail-button.is-active {
    background: var(--plum);
    border-color: var(--plum);
    color: #fffaf6;
}
.wishlist-page .section-head {
    align-items: end;
}
.wishlist-empty {
    text-align: center;
}
@media (max-width: 760px) {
    .nav-actions .wishlist-link {
        justify-self: center;
        min-height: 48px;
        padding: 0;
        width: 48px;
    }
    .wishlist-toggle {
        height: 36px;
        width: 36px;
    }
}

@media (max-width: 760px) {
    .is-admin .top-strip {
        font-size: 12px;
        line-height: 1.25;
        padding: 9px 12px;
        text-align: center;
    }
    .is-admin .navbar {
        align-items: center;
        display: grid;
        gap: 10px;
        grid-template-columns: 1fr;
        justify-items: center;
        padding: 14px 14px 16px;
    }
    .is-admin .brand {
        justify-self: center;
        order: 1;
    }
    .is-admin .brand-mark {
        height: 82px;
        width: 82px;
    }
    .is-admin .nav-center {
        display: flex;
        gap: 8px;
        justify-content: flex-start;
        order: 2;
        overflow-x: auto;
        padding: 2px 0 8px;
        scroll-snap-type: x proximity;
        scrollbar-width: none;
        width: 100%;
    }
    .is-admin .nav-center::-webkit-scrollbar {
        display: none;
    }
    .is-admin .nav-center a {
        background: #fffaf6;
        border: 1px solid rgba(95, 11, 76, 0.14);
        flex: 0 0 auto;
        font-size: 12px;
        line-height: 1.15;
        min-height: 38px;
        padding: 9px 13px;
        scroll-snap-align: start;
        white-space: nowrap;
    }
    .is-admin .nav-center a.active {
        background: var(--plum);
        color: #fffaf6;
    }
    .is-admin .nav-center a.active::after {
        display: none;
    }
    .is-admin .nav-actions {
        display: flex;
        gap: 8px;
        justify-content: center;
        order: 3;
        width: 100%;
    }
    .is-admin .nav-actions a {
        align-items: center;
        display: inline-flex;
        font-size: 12px;
        justify-content: center;
        min-height: 38px;
        padding: 8px 14px;
    }
    body:not(.is-admin) .navbar {
        gap: 10px;
        justify-items: stretch;
        padding: 12px 14px 10px;
    }
    body:not(.is-admin) .brand {
        justify-self: center;
    }
    body:not(.is-admin) .brand-mark {
        height: 74px;
        width: 74px;
    }
    body:not(.is-admin) .nav-center {
        display: flex;
        gap: 8px;
        justify-content: flex-start;
        overflow-x: auto;
        padding: 2px 0 6px;
        scroll-snap-type: x proximity;
        scrollbar-width: none;
        width: 100%;
    }
    body:not(.is-admin) .nav-center::-webkit-scrollbar {
        display: none;
    }
    body:not(.is-admin) .nav-center a {
        background: #fffaf6;
        border: 1px solid rgba(95, 11, 76, 0.14);
        flex: 0 0 auto;
        font-size: 12px;
        justify-content: center;
        line-height: 1.15;
        min-height: 34px;
        padding: 8px 12px;
        scroll-snap-align: start;
        white-space: nowrap;
        width: auto;
    }
    body:not(.is-admin) .nav-center a[href*="special-request"] {
        grid-column: auto;
    }
    body:not(.is-admin) .nav-actions {
        align-items: center;
        display: flex;
        flex-wrap: nowrap;
        gap: 6px;
        justify-content: flex-start;
        overflow-x: auto;
        padding: 0 2px 4px;
        scrollbar-width: none;
        width: 100%;
    }
    body:not(.is-admin) .nav-actions::-webkit-scrollbar {
        display: none;
    }
    body:not(.is-admin) .language-form {
        flex: 0 0 64px;
    }
    body:not(.is-admin) .language-form select {
        font-size: 12px;
        max-width: none;
        min-height: 40px;
        padding: 0 10px;
        width: 100%;
    }
    body:not(.is-admin) .nav-actions a:not(.wishlist-link):not(.cart-link) {
        flex: 0 0 82px;
        flex-direction: column;
        font-size: 11px;
        justify-content: center;
        line-height: 1.15;
        max-width: 92px;
        min-height: 40px;
        padding: 7px 9px;
        white-space: normal;
    }
    body:not(.is-admin) .nav-actions .customer-greeting {
        max-width: 132px;
    }
    body:not(.is-admin) .nav-actions .wishlist-link,
    body:not(.is-admin) .nav-actions .cart-link {
        flex: 0 0 40px;
        min-height: 40px;
        width: 40px;
    }
    body:not(.is-admin) .nav-actions a span {
        display: block;
        margin-right: 0;
    }
    body:not(.is-admin) .search-row {
        align-items: center;
        display: grid;
        gap: 8px;
        grid-template-columns: 86px minmax(0, 1fr);
        padding: 10px 14px;
    }
    body:not(.is-admin) .all-categories-link {
        font-size: 12px;
        min-height: 42px;
        padding: 0 10px;
        width: 100%;
    }
    body:not(.is-admin) .search-shell {
        grid-template-columns: minmax(0, 1fr) 82px;
        max-width: 100%;
        min-height: 42px;
        width: 100%;
    }
    body:not(.is-admin) .search-shell input {
        font-size: 13px;
        min-width: 0;
        padding: 0 12px;
    }
    body:not(.is-admin) .search-shell button {
        font-size: 13px;
        min-height: 42px;
        padding: 0 12px;
        width: 100%;
    }
}

@media (max-width: 420px) {
    body:not(.is-admin) .search-row {
        grid-template-columns: 78px minmax(0, 1fr);
    }
    body:not(.is-admin) .search-shell {
        grid-template-columns: minmax(0, 1fr) 70px;
    }
}
.product-review-section { display: grid; gap: 20px; margin-top: 24px; }
.review-section-head { align-items: center; display: flex; gap: 16px; justify-content: space-between; }
.review-section-head h2 { color: var(--plum); font-size: 24px; margin: 2px 0 0; }
.review-average-card { background: #fff3ee; border: 1px solid var(--line); display: grid; justify-items: center; min-width: 116px; padding: 12px; }
.review-average-card strong { color: var(--plum); font-size: 28px; line-height: 1; }
.review-average-card span, .review-average-card small { color: var(--muted); font-size: 12px; font-weight: 800; }
.review-summary-grid { display: grid; gap: 18px; grid-template-columns: minmax(240px, 0.45fr) minmax(260px, 0.55fr); }
.review-distribution { display: grid; gap: 8px; }
.review-bar-row { align-items: center; display: grid; gap: 9px; grid-template-columns: 34px 1fr 34px; }
.review-bar-row span, .review-bar-row small { color: var(--muted); font-size: 12px; font-weight: 800; }
.review-bar { background: #f2e4df; height: 9px; overflow: hidden; }
.review-bar i { background: var(--champagne); display: block; height: 100%; }
.review-action-panel { background: #fffaf6; border: 1px solid var(--line); padding: 16px; }
.review-action-panel p, .review-status-note { color: var(--muted); font-size: 13px; font-weight: 700; }
.review-form textarea { min-height: 110px; }
.review-delete-form { margin-top: 10px; }
.review-list-head { align-items: center; border-top: 1px solid var(--line); display: flex; gap: 16px; justify-content: space-between; padding-top: 16px; }
.review-list-head h3 { color: var(--plum); font-size: 18px; margin: 0; }
.review-list-head select { min-height: 40px; min-width: 180px; }
.review-list { display: grid; gap: 12px; }
.review-card { background: #fffaf6; border: 1px solid var(--line); padding: 16px; }
.review-card-head { align-items: center; display: flex; gap: 12px; justify-content: space-between; }
.review-card-head strong { color: var(--ink); font-size: 14px; }
.review-card p { color: var(--ink); font-size: 14px; line-height: 1.6; margin: 10px 0; }
.review-stars { color: #d8a932; font-size: 15px; font-weight: 900; letter-spacing: 0; white-space: nowrap; }
.review-stars span { color: #d8c8be; }
.review-meta { display: flex; flex-wrap: wrap; gap: 8px; }
.review-meta span { background: #fff3ee; border: 1px solid var(--line); color: var(--rose-deep); font-size: 11px; font-weight: 900; padding: 4px 7px; }
.review-admin-summary { display: grid; gap: 12px; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 20px; }
.review-admin-stat { background: #fffaf6; border: 1px solid var(--line); color: var(--plum); display: grid; gap: 4px; padding: 14px; }
.review-admin-stat.active { border-color: var(--champagne); box-shadow: inset 0 -3px 0 var(--champagne); }
.review-admin-stat strong { font-size: 24px; }
.review-admin-stat span { color: var(--muted); font-size: 12px; font-weight: 900; text-transform: uppercase; }
.review-admin-list { display: grid; gap: 14px; }
.review-admin-card { border: 1px solid var(--line); display: grid; gap: 16px; grid-template-columns: minmax(220px, 0.32fr) minmax(260px, 1fr) minmax(220px, 0.34fr); padding: 14px; }
.review-admin-card p { color: var(--ink); font-size: 14px; line-height: 1.55; margin: 8px 0; }
.review-admin-actions { display: grid; gap: 10px; }
.review-admin-actions label { color: var(--muted); display: grid; gap: 6px; font-size: 12px; font-weight: 800; }
.review-admin-actions input { min-height: 38px; }
@media (max-width: 900px) {
    .review-summary-grid, .review-admin-summary, .review-admin-card { grid-template-columns: 1fr; }
    .review-section-head, .review-list-head { align-items: stretch; flex-direction: column; }
    .review-average-card { justify-items: start; }
}
/* Phase 8 Sales & Marketing */
.summary-line.discount strong,
.summary-line.discount span { color: var(--rose-deep); }
.coupon-box { border-top: 1px solid var(--line); display: grid; gap: 10px; margin-top: 16px; padding-top: 16px; }
.coupon-box label { display: grid; gap: 8px; }
.coupon-box label span { display: grid; grid-template-columns: minmax(0, 1fr) auto; }
.coupon-box input { min-height: 44px; }
.coupon-box button { background: var(--champagne); border: 0; color: #251922; cursor: pointer; font-weight: 900; padding: 0 18px; }
.text-button { background: transparent; border: 0; color: var(--rose-deep); cursor: pointer; font-weight: 900; padding: 8px 0; text-align: left; }
.marketing-hint { background: #fff3ee; border: 1px solid var(--line); color: var(--muted); font-size: 13px; font-weight: 800; margin-top: 12px; padding: 10px 12px; }
.marketing-card-grid { display: grid; gap: 18px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.marketing-card, .reward-panel { background: #fffaf6; border: 1px solid var(--line); display: grid; gap: 10px; padding: 20px; }
.marketing-card span, .reward-panel span, .muted-copy { color: var(--muted); font-size: 12px; font-weight: 900; text-transform: uppercase; }
.marketing-card h2 { color: var(--plum); font-size: 24px; margin: 0; }
.marketing-card p, .reward-panel p { color: var(--muted); line-height: 1.55; margin: 0; }
.marketing-card strong, .reward-panel strong { color: var(--rose-deep); font-size: 22px; }
.reward-panel input { background: #fff3ee; border: 1px solid var(--line); color: var(--ink); min-height: 44px; padding: 0 12px; }
.profile-reward-row { align-items: center; border-top: 1px solid var(--line); display: flex; flex-wrap: wrap; gap: 12px; margin-top: 16px; padding-top: 16px; }
.profile-reward-row span { color: var(--muted); font-weight: 800; }
.marketing-metric-grid { margin-bottom: 20px; }
.compact-form { gap: 12px; }
.mini-list { display: grid; gap: 10px; margin-top: 16px; }
.mini-list > div { background: #fff3ee; border: 1px solid var(--line); display: grid; gap: 4px; padding: 12px; }
.mini-list span, .mini-list small { color: var(--muted); font-size: 12px; font-weight: 800; }
@media (max-width: 900px) {
    .marketing-card-grid { grid-template-columns: 1fr; }
    .coupon-box label span { grid-template-columns: 1fr; }
}

/* Customer Trust & Conversion Polish */
.customer-section-head { margin-top: 36px; }
.collection-tile-grid { display: grid; gap: 14px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.collection-tile { background: rgba(255, 250, 246, 0.88); border: 1px solid var(--line); box-shadow: 0 10px 28px rgba(81, 55, 46, 0.06); display: grid; gap: 8px; min-height: 128px; padding: 20px; }
.collection-tile span { color: var(--plum); font-size: 18px; font-weight: 900; }
.collection-tile small { color: var(--muted); font-size: 13px; font-weight: 700; line-height: 1.45; }
.trust-strip, .product-trust-strip, .checkout-trust-strip { border: 1px solid var(--line); display: grid; gap: 1px; }
.trust-strip { background: rgba(255, 250, 246, 0.72); grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 34px; }
.trust-strip div { background: rgba(255, 255, 255, 0.52); padding: 18px 20px; }
.trust-strip strong { color: var(--plum); display: block; font-size: 15px; margin-bottom: 5px; }
.trust-strip span { color: var(--muted); font-size: 13px; font-weight: 700; line-height: 1.45; }
.product-trust-strip, .checkout-trust-strip { background: #fffaf6; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 18px 0; }
.product-trust-strip span, .checkout-trust-strip span { color: var(--muted); font-size: 12px; font-weight: 800; line-height: 1.35; padding: 10px 12px; }
@media (max-width: 980px) {
    .collection-tile-grid, .trust-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .feeling-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
    body:not(.is-admin) .hero { grid-template-columns: 1fr; min-height: auto; }
    body:not(.is-admin) .hero-copy { padding: 34px 20px; }
    body:not(.is-admin) .hero h1 { font-size: 32px; }
    body:not(.is-admin) .hero-feature { margin: 0 20px 28px; padding: 20px; }
    body:not(.is-admin) .promo-rail { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body:not(.is-admin) .promo-rail div { padding: 14px 12px; }
    body:not(.is-admin) .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .collection-tile-grid, .feeling-grid, .trust-strip, .product-trust-strip, .checkout-trust-strip { grid-template-columns: 1fr; }
    .collection-tile { min-height: 0; padding: 16px; }
    .feeling-card { min-height: 0; padding: 16px; }
}
@media (max-width: 480px) {
    body:not(.is-admin) .product-grid { grid-template-columns: 1fr; }
    body:not(.is-admin) .hero h1 { font-size: 28px; }
}

/* Medium polish: admin scaling, mobile app table handling, and large-list usability. */
.admin-table-scroll {
    overflow-x: auto;
    width: 100%;
}
.admin-wide-table {
    min-width: 760px;
}
.admin-list-head.compact {
    margin-bottom: 12px;
    padding-top: 0;
}
@media (max-width: 760px) {
    .is-admin .page {
        padding-left: 14px;
        padding-right: 14px;
    }
    .is-admin .section-head h1 {
        font-size: 28px;
        line-height: 1.15;
    }
    .is-admin .section-head p {
        font-size: 15px;
    }
    .is-admin .panel {
        padding: 16px;
    }
    .is-admin .grid-2 {
        grid-template-columns: 1fr;
    }
    .is-admin .admin-filter {
        align-items: stretch;
        display: grid;
        grid-template-columns: 1fr;
    }
    .is-admin .admin-filter label,
    .is-admin .admin-filter select,
    .is-admin .admin-filter .btn {
        min-width: 0;
        width: 100%;
    }
    .is-admin .admin-list-head {
        align-items: stretch;
        flex-direction: column;
        gap: 10px;
    }
    .is-admin .admin-pagination {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 4px;
    }
    .is-admin .admin-table-scroll .cart-table,
    .is-admin .admin-table-scroll .cart-table thead,
    .is-admin .admin-table-scroll .cart-table tbody,
    .is-admin .admin-table-scroll .cart-table tr {
        display: table;
        width: 100%;
    }
    .is-admin .admin-table-scroll .cart-table thead {
        display: table-header-group;
    }
    .is-admin .admin-table-scroll .cart-table tbody {
        display: table-row-group;
    }
    .is-admin .admin-table-scroll .cart-table tr {
        display: table-row;
    }
    .is-admin .admin-table-scroll .cart-table th,
    .is-admin .admin-table-scroll .cart-table td {
        display: table-cell;
        font-size: 13px;
        padding: 12px 8px;
        width: auto;
    }
}
@media (max-width: 560px) {
    .is-admin .navbar {
        padding: 10px 12px;
    }
    .is-admin .brand-mark {
        height: 64px;
        width: 64px;
    }
    .is-admin .nav-center {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        max-height: 172px;
        overflow-y: auto;
        padding-bottom: 4px;
    }
    .is-admin .nav-center a {
        justify-content: center;
        min-height: 42px;
        white-space: normal;
        width: 100%;
    }
    .is-admin .nav-actions {
        justify-content: center;
    }
}

/* Low-risk growth tools: seasonal homepage content, notification templates, and analytics. */
.seasonal-banner-rail {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding-bottom: 0;
    padding-top: 22px;
}
.seasonal-banner-card {
    background: rgba(255, 250, 246, 0.92);
    border: 1px solid var(--line);
    box-shadow: 0 16px 36px rgba(69, 44, 58, 0.08);
    min-height: 168px;
    padding: 22px;
}
.seasonal-banner-card span,
.mini-badge {
    color: var(--accent-deep);
    display: inline-block;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}
.seasonal-banner-card strong {
    color: var(--ink);
    display: block;
    font-size: 24px;
    line-height: 1.2;
    margin-top: 10px;
}
.seasonal-banner-card p {
    color: var(--muted);
    margin: 10px 0 0;
}
.seasonal-banner-card a {
    color: var(--accent-deep);
    display: inline-block;
    font-weight: 800;
    margin-top: 14px;
}
.align-start { align-items: start; }
.compact-grid { gap: 12px; }
.grid-3 {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.checkbox-line {
    align-items: center;
    display: flex;
    gap: 10px;
    font-weight: 800;
}
.checkbox-line input { width: auto; }
.compact-head { margin-bottom: 18px; }
.template-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.template-card {
    background: rgba(255, 255, 255, 0.76);
    border: 1px solid var(--line);
    display: grid;
    gap: 12px;
    padding: 18px;
}
.action-stack form { margin: 0; }
.link-button {
    background: transparent;
    border: 0;
    color: var(--accent-deep);
    cursor: pointer;
    font: inherit;
    font-weight: 800;
    padding: 0;
}
.analytics-stats article { min-height: 124px; }
.analytics-stats span {
    color: var(--muted);
    display: block;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
}
.analytics-stats strong {
    display: block;
    font-size: 34px;
    margin-top: 12px;
}
@media (max-width: 980px) {
    .seasonal-banner-rail,
    .template-grid,
    .grid-3 {
        grid-template-columns: 1fr;
    }
}

/* Auth compact layout refinement */
.auth-screen {
    align-items: flex-start;
    min-height: 100vh;
    overflow-y: auto;
    padding: 12px 16px 72px;
}
.auth-card,
.auth-card.auth-card-scroll {
    align-content: start;
    max-height: none;
    max-width: 470px;
    overflow-y: visible;
    padding: 14px 28px 16px;
    width: min(100%, 470px);
}
.auth-logo {
    height: 118px;
    margin: 0 auto 10px;
    width: 118px;
}
.auth-form {
    gap: 6px;
}
.auth-form label {
    font-size: 12px;
    gap: 3px;
}
.auth-form input {
    font-size: 13px;
    min-height: 38px;
    padding: 0 12px;
}
.auth-form .password-toggle,
.captcha-code,
.captcha-audio {
    min-height: 38px;
}
.captcha-code {
    font-size: 14px;
    letter-spacing: 0.14em;
}
.remember-device {
    padding: 7px 10px;
}
.remember-note {
    font-size: 11px;
    line-height: 1.25;
    padding: 7px 10px;
}
.auth-submit {
    min-height: 40px;
}
@media (min-width: 721px) and (max-height: 900px) {
    .auth-screen {
        padding: 8px 16px 64px;
    }
    .auth-card,
    .auth-card.auth-card-scroll {
        margin: 8px auto 64px;
        padding: 10px 26px 12px;
    }
    .auth-logo {
        height: 96px;
        margin-bottom: 6px;
        width: 96px;
    }
    .auth-form {
        gap: 5px;
    }
    .auth-form input,
    .auth-form .password-toggle,
    .captcha-code,
    .captcha-audio {
        min-height: 35px;
    }
    .auth-submit {
        min-height: 36px;
    }
}
@media (max-width: 720px) {
    .auth-screen {
        padding: 10px 12px 48px;
    }
    .auth-card,
    .auth-card.auth-card-scroll {
        max-width: 100%;
        padding: 14px 16px 16px;
    }
    .auth-logo {
        height: 104px;
        width: 104px;
    }
    .captcha-shell {
        grid-template-columns: minmax(92px, 0.8fr) 42px minmax(0, 1fr);
    }
}

/* Auth compact final fit override */
.auth-screen .auth-card,
.auth-screen .auth-card.auth-card-scroll {
    align-content: start !important;
    margin: 10px auto 64px !important;
    max-height: none !important;
    max-width: 470px !important;
    overflow-y: visible !important;
    padding: 12px 28px 14px !important;
    width: min(100%, 470px) !important;
}
.auth-screen .auth-logo {
    height: 104px !important;
    margin: 0 auto 8px !important;
    width: 104px !important;
}
.auth-screen .auth-form {
    gap: 5px !important;
}
.auth-screen .auth-form label {
    font-size: 12px !important;
    gap: 3px !important;
}
.auth-screen .auth-form input,
.auth-screen .auth-form .password-toggle,
.auth-screen .captcha-code,
.auth-screen .captcha-audio {
    font-size: 13px !important;
    min-height: 35px !important;
    padding: 0 12px !important;
}
.auth-screen .captcha-code {
    font-size: 14px !important;
    letter-spacing: 0.13em !important;
}
.auth-screen .remember-device {
    min-height: 44px !important;
    padding: 7px 10px !important;
}
.auth-screen .remember-note {
    font-size: 11px !important;
    line-height: 1.25 !important;
    padding: 7px 10px !important;
}
.auth-screen .auth-links {
    margin-top: 4px !important;
}
.auth-screen .auth-submit {
    min-height: 38px !important;
}
@media (max-width: 720px) {
    .auth-screen .auth-card,
    .auth-screen .auth-card.auth-card-scroll {
        max-width: 100% !important;
        padding: 12px 14px 14px !important;
    }
    .auth-screen .auth-logo {
        height: 96px !important;
        width: 96px !important;
    }
    .auth-screen .captcha-shell {
        grid-template-columns: minmax(82px, 0.8fr) 38px minmax(0, 1fr) !important;
    }
}

/* Homepage v1.1 brand explanation */
.brand-story {
    background: rgba(255, 250, 246, 0.9);
    border-bottom: 1px solid var(--line);
    border-top: 1px solid var(--line);
    padding-bottom: 38px;
    padding-top: 42px;
}
.brand-story h2 {
    color: var(--plum);
    font-size: 34px;
    line-height: 1.18;
    margin: 0 0 14px;
    max-width: 920px;
}
.brand-story p {
    color: var(--muted);
    font-size: 17px;
    line-height: 1.65;
    margin: 0;
    max-width: 860px;
}
@media (max-width: 760px) {
    body:not(.is-admin) .brand-story {
        padding-bottom: 28px;
        padding-top: 30px;
    }
    body:not(.is-admin) .brand-story h2 {
        font-size: 26px;
    }
    body:not(.is-admin) .brand-story p {
        font-size: 15px;
    }
}
/* Homepage elegant scale refinement - 2026-07-02 */
body:not(.is-admin) .top-strip {
    font-size: 12px;
    padding: 7px 16px;
}

body:not(.is-admin) .navbar {
    gap: 14px;
    grid-template-columns: 86px minmax(0, 1fr) auto;
    padding: 8px 22px;
}

body:not(.is-admin) .brand-mark {
    height: 78px;
    width: 78px;
}

body:not(.is-admin) .nav-center {
    gap: 14px;
}

body:not(.is-admin) .nav-center a {
    font-size: 13px;
    font-weight: 800;
}

body:not(.is-admin) .nav-actions a,
body:not(.is-admin) .language-form select {
    font-size: 12.5px;
    min-height: 38px;
}

body:not(.is-admin) .nav-actions .cart-link,
body:not(.is-admin) .nav-actions .wishlist-link {
    min-height: 42px;
    width: 42px;
}

body:not(.is-admin) .cart-icon,
body:not(.is-admin) .wishlist-icon {
    height: 21px;
    width: 21px;
}

body:not(.is-admin) .search-row {
    gap: 16px;
    grid-template-columns: auto minmax(280px, 760px);
    padding: 8px 38px;
}

body:not(.is-admin) .all-categories-link {
    font-size: 12.5px;
    min-height: 42px;
    padding: 0 14px;
}

body:not(.is-admin) .search-shell {
    grid-template-columns: minmax(240px, 1fr) 118px;
    max-width: 760px;
    min-height: 40px;
}

body:not(.is-admin) .search-shell input,
body:not(.is-admin) .search-shell button {
    min-height: 40px;
}

body:not(.is-admin) .search-shell input,
body:not(.is-admin) .search-shell button {
    font-size: 13.5px;
}

body:not(.is-admin) .hero {
    min-height: 430px;
    padding-right: 5vw;
}

body:not(.is-admin) .hero-copy {
    max-width: 680px;
    padding: 40px 7vw 46px;
}

body:not(.is-admin) .hero .eyebrow {
    font-size: 11px;
    margin-bottom: 10px;
}

body:not(.is-admin) .hero h1 {
    font-size: clamp(34px, 3vw, 48px);
    line-height: 1.08;
    margin-bottom: 12px;
    max-width: 620px;
}

body:not(.is-admin) .hero-actions {
    gap: 10px;
    margin-top: 22px;
}

body:not(.is-admin) .hero-actions .btn {
    font-size: 14px;
    min-height: 42px;
    padding: 10px 18px;
}

body:not(.is-admin) .brand-story {
    padding-top: 28px;
    padding-bottom: 28px;
}

body:not(.is-admin) .brand-story h2 {
    font-size: clamp(23px, 2.2vw, 32px);
}

body:not(.is-admin) .feeling-band {
    padding-top: 24px;
}

body:not(.is-admin) .feeling-card {
    font-size: 14px;
    min-height: 68px;
    padding: 18px 14px;
}

@media (max-width: 980px) {
    body:not(.is-admin) .navbar {
        grid-template-columns: 72px minmax(0, 1fr);
        padding: 8px 16px;
    }

    body:not(.is-admin) .brand-mark {
        height: 66px;
        width: 66px;
    }

    body:not(.is-admin) .search-row {
        grid-template-columns: auto minmax(0, 1fr);
        padding: 8px 18px;
    }
}

@media (max-width: 760px) {
    body:not(.is-admin) .hero {
        min-height: auto;
        padding-right: 0;
    }

    body:not(.is-admin) .hero-copy {
        padding: 28px 18px 30px;
    }

    body:not(.is-admin) .hero h1 {
        font-size: 26px;
        line-height: 1.14;
    }

    body:not(.is-admin) .hero-actions {
        margin-top: 18px;
    }

    body:not(.is-admin) .hero-actions .btn {
        font-size: 13px;
        min-height: 40px;
        width: 100%;
    }

    body:not(.is-admin) .search-shell {
        grid-template-columns: minmax(0, 1fr) 88px;
    }
}

/* Homepage compact discovery refinement - 2026-07-02 */
body:not(.is-admin) .hero {
    min-height: 350px;
    background-position: center right;
}

body:not(.is-admin) .hero-copy {
    max-width: 560px;
    padding: 30px 7vw 34px;
}

body:not(.is-admin) .hero h1 {
    font-size: clamp(30px, 2.55vw, 42px);
    line-height: 1.1;
    max-width: 540px;
}

body:not(.is-admin) .hero-actions {
    margin-top: 18px;
}

body:not(.is-admin) .hero-actions .btn {
    font-size: 13px;
    min-height: 38px;
    padding: 8px 16px;
}

body:not(.is-admin) .feeling-band {
    padding-top: 20px;
    padding-bottom: 4px;
}

body:not(.is-admin) .feeling-band .section-head {
    margin-bottom: 12px;
}

body:not(.is-admin) .feeling-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

body:not(.is-admin) .feeling-card {
    font-size: 13px;
    min-height: 54px;
    padding: 12px 12px;
}

body:not(.is-admin) .feeling-note {
    color: var(--muted);
    font-size: 12.5px;
    margin: 10px 0 0;
    text-align: center;
}

@media (max-width: 760px) {
    body:not(.is-admin) .hero-copy {
        padding: 24px 18px 26px;
    }

    body:not(.is-admin) .feeling-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 420px) {
    body:not(.is-admin) .feeling-grid {
        grid-template-columns: 1fr;
    }
}

/* Homepage hero compact height refinement - 2026-07-02 */
body:not(.is-admin) .hero {
    min-height: 0;
    height: 285px;
    display: flex;
    align-items: center;
    background-size: cover;
    background-position: center right;
}

body:not(.is-admin) .hero-copy {
    padding-top: 0;
    padding-bottom: 0;
}

body:not(.is-admin) .hero .eyebrow {
    margin-bottom: 12px;
}

body:not(.is-admin) .hero h1 {
    margin: 0 0 18px;
    font-size: clamp(26px, 2.05vw, 36px);
    line-height: 1.1;
    max-width: 520px;
}

body:not(.is-admin) .hero-actions {
    margin-top: 0;
}

@media (max-width: 760px) {
    body:not(.is-admin) .hero {
        height: auto;
        min-height: 280px;
        padding: 24px 0 26px;
    }

    body:not(.is-admin) .hero h1 {
        font-size: clamp(25px, 7vw, 34px);
    }
}


/* Homepage v1.1 final compact layout - 2026-07-02 */
body:not(.is-admin) .hero {
    height: 230px;
    min-height: 230px;
    display: flex;
    align-items: center;
    background-size: cover;
    background-position: center right;
}
body:not(.is-admin) .hero-copy {
    max-width: 920px;
    padding: 22px clamp(22px, 7vw, 128px);
}
body:not(.is-admin) .hero-memory-line {
    color: var(--plum);
    font-size: clamp(21px, 1.9vw, 34px);
    font-weight: 900;
    line-height: 1.14;
    max-width: none;
    margin: 0 0 7px;
    white-space: nowrap;
}
body:not(.is-admin) .hero-memory-copy {
    color: var(--muted);
    font-size: clamp(13px, .95vw, 16px);
    line-height: 1.34;
    max-width: none;
    margin: 0 0 14px;
    white-space: nowrap;
}
body:not(.is-admin) .hero h1 {
    font-size: clamp(22px, 1.7vw, 31px);
    line-height: 1.08;
    max-width: none;
    margin: 0 0 14px;
}
@media (min-width: 1120px) {
    body:not(.is-admin) .hero h1 { white-space: nowrap; }
}
body:not(.is-admin) .hero-actions {
    gap: 10px;
    margin-top: 0;
}
body:not(.is-admin) .hero-actions .btn {
    min-height: 42px;
    padding: 11px 22px;
    font-size: 14px;
}
body:not(.is-admin) .feeling-band {
    padding-top: 18px;
    padding-bottom: 12px;
}
body:not(.is-admin) .feeling-band .section-head {
    margin-bottom: 12px;
}
body:not(.is-admin) .feeling-band h2 {
    font-size: clamp(22px, 2vw, 31px);
}
body:not(.is-admin) .feeling-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}
body:not(.is-admin) .feeling-card {
    min-height: 56px;
    align-items: center;
    padding: 12px 14px;
    font-size: 14px;
    line-height: 1.25;
    box-shadow: 0 6px 18px rgba(81, 55, 46, .05);
}
body:not(.is-admin) .feeling-note {
    margin: 10px 0 0;
    font-size: 13px;
}
@media (max-width: 900px) {
    body:not(.is-admin) .hero {
        height: auto;
        min-height: 0;
    }
    body:not(.is-admin) .hero-memory-line,
    body:not(.is-admin) .hero-memory-copy { white-space: normal; }
    body:not(.is-admin) .hero h1 { white-space: normal; }
    body:not(.is-admin) .feeling-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px) {
    body:not(.is-admin) .hero-copy { padding: 18px; }
    body:not(.is-admin) .hero-actions .btn { width: 100%; }
    body:not(.is-admin) .feeling-grid { grid-template-columns: 1fr; }
}

