/* ============================================================
   Fashion Mart storefront
   Bright feminine palette: berry, rose, lilac, coral and warm gold.
   ============================================================ */
:root {
  --ink: #2d1635;
  --ink-soft: #604967;
  --ink-mute: #846f89;
  --berry: #b51f67;
  --berry-dark: #861149;
  --pink: #ef4f91;
  --coral: #ff7f78;
  --purple: #7a43b6;
  --gold: #d5a63d;
  --gold-dark: #a97a16;
  --blush: #fff0f6;
  --lilac: #f4ecff;
  --peach: #fff3ed;
  --page: #fffafd;
  --surface: #ffffff;
  --surface-2: #fff6fa;
  --line: #efdce8;
  --sale: #d91f5d;
  --ok: #18875f;
  --danger: #b91c45;
  --shadow: 0 12px 34px rgba(93, 31, 82, .10);
  --shadow-lg: 0 24px 60px rgba(83, 24, 79, .18);
  --display: "Playfair Display", Georgia, serif;
  --body: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --shell: 1320px;
  --radius: 14px;
  --radius-sm: 9px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; overflow-x: hidden; }
body { margin: 0; min-width: 0; overflow-x: hidden; font-family: var(--body); font-size: 15px; line-height: 1.6; color: var(--ink); background: var(--page); }
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--berry); }
button, input, select, textarea { font: inherit; }
:focus-visible { outline: 3px solid rgba(239,79,145,.32); outline-offset: 2px; }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.muted { color: var(--ink-mute); }
.muted-small { color: var(--ink-mute); font-size: .77rem; }
.text-right { text-align: right; }
.text-link { text-decoration: underline; text-underline-offset: 3px; }
.spaced-heading { margin-top: 1.6rem; }
.shell { width: 100%; max-width: var(--shell); margin: 0 auto; padding-inline: clamp(14px, 3vw, 26px); }

h1,h2,h3,h4 { font-family: var(--display); font-weight: 700; line-height: 1.16; color: var(--ink); margin: 0 0 .55em; }
h1 { font-size: clamp(2rem, 5vw, 3.15rem); }
h2 { font-size: clamp(1.55rem, 3.5vw, 2.2rem); }
h3 { font-size: 1.2rem; }
p { margin: 0 0 1em; max-width: 72ch; }

/* Buttons */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 44px; padding: .7rem 1.25rem; border: 1px solid var(--ink); border-radius: 999px; background: var(--ink); color: #fff; cursor: pointer; font-weight: 700; line-height: 1.2; transition: transform .15s ease, box-shadow .15s ease, background .15s ease, border-color .15s ease; }
.btn:hover { transform: translateY(-1px); background: var(--berry-dark); border-color: var(--berry-dark); color: #fff; box-shadow: 0 8px 22px rgba(181,31,103,.22); }
.btn--brass { background: linear-gradient(135deg, var(--pink), var(--berry)); border-color: transparent; box-shadow: 0 8px 22px rgba(181,31,103,.20); }
.btn--brass:hover { background: linear-gradient(135deg, #ff66a5, var(--berry-dark)); border-color: transparent; }
.btn--ghost { background: #fff; color: var(--ink); border-color: var(--line); }
.btn--ghost:hover { background: var(--blush); color: var(--berry-dark); border-color: #e7bfd6; box-shadow: none; }
.btn--block { width: 100%; }
.btn--sm { min-height: 36px; padding: .48rem .8rem; font-size: .84rem; }
.btn--whatsapp { background: #16a864; border-color: #16a864; color: #fff; }
.btn--whatsapp:hover { background: #128851; border-color: #128851; }
.btn[disabled] { opacity: .48; cursor: not-allowed; transform: none; box-shadow: none; }

/* Top strip */
.topbar { background: linear-gradient(90deg, #7c184e, #b51f67 45%, #7a43b6); color: #fff; font-size: .79rem; }
.topbar__inner { min-height: 40px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.topbar__note { margin: 0; font-weight: 600; letter-spacing: .01em; }
.topbar a { color: #fff; }
.social { display: flex; gap: .25rem; list-style: none; margin: 0; padding: 0; }
.social a { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; transition: background .15s ease; }
.social a:hover { background: rgba(255,255,255,.16); }
.social svg { width: 15px; height: 15px; fill: currentColor; }

/* Header */
.header { position: sticky; top: 0; z-index: 60; background: rgba(255,255,255,.96); border-bottom: 1px solid var(--line); backdrop-filter: blur(15px); }
.header__inner { display: grid; grid-template-columns: auto minmax(240px, 1fr) auto; align-items: center; gap: clamp(.65rem, 2vw, 1.5rem); padding-block: .78rem; }
.brand { min-width: 0; display: inline-flex; align-items: center; gap: .65rem; flex-shrink: 0; }
.brand__logo, .brand img { width: auto; height: 46px; max-width: 82px; object-fit: contain; flex: none; }
.brand__name { font-family: var(--display); font-size: clamp(1.25rem, 2.3vw, 1.7rem); font-weight: 700; color: var(--berry-dark); white-space: nowrap; letter-spacing: .01em; }
.searchbox { position: relative; min-width: 0; }
.searchbox form { display: flex; min-width: 0; overflow: hidden; border: 1.5px solid #e7bfd6; border-radius: 999px; background: var(--surface); box-shadow: 0 4px 16px rgba(119,46,97,.06); }
.searchbox input { width: 100%; min-width: 0; border: 0; outline: 0; padding: .68rem 1rem; background: transparent; color: var(--ink); }
.searchbox input::placeholder { color: #a28da6; }
.searchbox button { flex: none; border: 0; background: linear-gradient(135deg, var(--pink), var(--berry)); color: #fff; padding: 0 1.35rem; cursor: pointer; font-weight: 700; }
.searchbox button:hover { background: var(--berry-dark); }
.suggest { display: none; position: absolute; top: calc(100% + 8px); inset-inline: 0; z-index: 75; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow-lg); }
.suggest[data-open="true"] { display: block; }
.suggest a { display: flex; align-items: center; gap: .7rem; min-width: 0; padding: .6rem .75rem; border-bottom: 1px solid #f8eaf2; }
.suggest a:hover { background: var(--blush); }
.suggest img, .suggest__placeholder { width: 42px; height: 42px; border-radius: 9px; object-fit: cover; flex: none; background: linear-gradient(135deg, var(--blush), var(--lilac)); }
.suggest__title { font-size: .88rem; }
.suggest__price { font-size: .8rem; color: var(--berry); font-weight: 700; }
.suggest__all { justify-content: center; color: var(--berry-dark); font-weight: 700; font-size: .84rem; background: #fff7fb; }
.suggest__empty { padding: .75rem; color: var(--ink-mute); font-size: .86rem; }
.header__tools { display: flex; align-items: center; gap: .25rem; }
.tool { position: relative; width: 42px; height: 42px; display: grid; place-items: center; border: 0; border-radius: 50%; background: transparent; color: var(--ink); cursor: pointer; }
.tool:hover { background: var(--blush); color: var(--berry); }
.tool svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.tool__count { position: absolute; right: -1px; top: -1px; min-width: 19px; height: 19px; padding: 0 4px; display: grid; place-items: center; border-radius: 10px; background: var(--berry); color: #fff; border: 2px solid #fff; font-size: .64rem; font-weight: 800; }
.burger { display: none; }

/* Navigation */
.nav { position: relative; z-index: 50; background: #fff; border-bottom: 1px solid var(--line); }
.nav__list { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 0 .1rem; list-style: none; margin: 0; padding: .12rem 0; overflow: visible; scrollbar-width: none; }
.nav__list::-webkit-scrollbar { display: none; }
.nav__item { position: relative; flex: none; }
.nav__link { display: block; padding: .68rem clamp(.48rem, .8vw, .72rem); font-size: clamp(.78rem, .86vw, .84rem); font-weight: 700; white-space: nowrap; }
.nav__link:hover, .nav__item:hover > .nav__link { color: var(--berry); }
.nav__sub { position: absolute; top: 100%; left: 0; min-width: 225px; list-style: none; margin: 0; padding: .4rem; border: 1px solid var(--line); border-radius: 0 0 var(--radius) var(--radius); background: #fff; box-shadow: var(--shadow-lg); opacity: 0; visibility: hidden; transform: translateY(5px); transition: .15s ease; }
.nav__item:hover .nav__sub, .nav__item:focus-within .nav__sub { opacity: 1; visibility: visible; transform: none; }
.nav__sub a { display: block; padding: .5rem .7rem; border-radius: 8px; font-size: .84rem; }
.nav__sub a:hover { background: var(--blush); }

/* Hero slider */
.hero { position: relative; min-height: clamp(390px, 45vw, 600px); overflow: hidden; background: linear-gradient(135deg, #64133e, #7a43b6); color: #fff; }
.hero__track { position: absolute; inset: 0; }
.hero__slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; background-size: cover; background-position: center; transform: scale(1.025); transition: opacity .7s ease, visibility .7s ease, transform 5.2s linear; }
.hero__slide.is-active { opacity: 1; visibility: visible; transform: scale(1); }
.hero__slide:not([style*="background-image"]) { background: radial-gradient(circle at 80% 20%, rgba(255,151,195,.6), transparent 25%), radial-gradient(circle at 72% 72%, rgba(226,194,255,.48), transparent 30%), linear-gradient(120deg, #5d123e, #af2868 45%, #7a43b6); }
.hero__wash { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(48,10,39,.83) 0%, rgba(99,16,76,.52) 44%, rgba(63,22,89,.20) 78%, rgba(32,11,41,.08) 100%); }
.hero__content { position: relative; z-index: 2; height: 100%; min-height: clamp(390px, 45vw, 600px); display: flex; align-items: center; }
.hero__text { max-width: 620px; padding-block: 4rem; }
.hero__text h1 { color: #fff; font-size: clamp(2.5rem, 6vw, 5rem); text-shadow: 0 3px 20px rgba(50,10,42,.20); }
.hero__text p { color: #fff4fa; font-size: clamp(1rem, 1.7vw, 1.18rem); max-width: 50ch; margin-bottom: 1.4rem; }
.hero__arrow { position: absolute; z-index: 5; top: 50%; transform: translateY(-50%); width: 46px; height: 46px; border: 1px solid rgba(255,255,255,.42); border-radius: 50%; background: rgba(40,10,34,.28); color: #fff; font-size: 2rem; line-height: 1; cursor: pointer; backdrop-filter: blur(5px); }
.hero__arrow:hover { background: rgba(181,31,103,.85); }
.hero__arrow--prev { left: clamp(10px, 2.5vw, 32px); }
.hero__arrow--next { right: clamp(10px, 2.5vw, 32px); }
.hero__dots { position: absolute; z-index: 6; bottom: 22px; left: 50%; transform: translateX(-50%); display: flex; gap: 8px; }
.hero__dots button { width: 9px; height: 9px; padding: 0; border: 1px solid #fff; border-radius: 50%; background: rgba(255,255,255,.35); cursor: pointer; }
.hero__dots button.is-active { width: 26px; border-radius: 9px; background: #fff; }

/* Homepage */
.strip-shell { position: relative; z-index: 8; margin-top: -22px; }
.strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow); }
.strip a { position: relative; padding: 1.15rem 1.25rem; background: #fff; border-right: 1px solid var(--line); transition: .2s ease; }
.strip a:last-child { border-right: 0; }
.strip a::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 4px; background: linear-gradient(var(--pink), var(--purple)); opacity: 0; transition: opacity .2s ease; }
.strip a:hover { background: var(--blush); transform: translateY(-1px); }
.strip a:hover::before { opacity: 1; }
.strip strong { display: block; font-family: var(--display); font-size: 1.15rem; color: var(--berry-dark); }
.strip span { color: var(--ink-mute); font-size: .83rem; }
.section { padding: clamp(2.3rem, 5vw, 4.2rem) 0; }
.section--tint { background: linear-gradient(180deg, rgba(255,240,246,.55), rgba(244,236,255,.55)); }
.section__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-bottom: 1.3rem; }
.section__head h2 { margin: 0; }
.section__head h2::after { content: ""; display: block; width: 52px; height: 4px; margin-top: .45rem; border-radius: 5px; background: linear-gradient(90deg, var(--pink), var(--purple)); }
.section__head > a { color: var(--berry); font-size: .86rem; font-weight: 800; }
.section__sub { color: var(--ink-mute); margin: .25rem 0 0; font-size: .9rem; }
.catrail { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: clamp(.7rem, 2vw, 1.1rem); }
.catrail a { min-width: 0; text-align: center; font-weight: 700; font-size: .84rem; }
.catrail img, .catrail__fallback { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 50%; border: 4px solid #fff; box-shadow: 0 0 0 2px #efcadd, 0 8px 22px rgba(117,40,97,.10); background: linear-gradient(135deg, #ffd4e6, #ead9ff); transition: transform .2s ease, box-shadow .2s ease; }
.catrail__fallback { display: grid; place-items: center; font-family: var(--display); font-size: 2.2rem; color: var(--berry); }
.catrail a:hover img, .catrail a:hover .catrail__fallback { transform: translateY(-4px); box-shadow: 0 0 0 2px #e8a6c9, 0 15px 32px rgba(117,40,97,.17); }
.catrail span { display: block; margin-top: .65rem; }
.category-rail { margin: 1.4rem 0 2rem; }
.grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(.8rem, 2vw, 1.25rem); }
.card { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: 0 5px 18px rgba(107,42,94,.06); transition: transform .2s ease, box-shadow .2s ease; }
.card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.card__media { position: relative; display: block; aspect-ratio: 1; overflow: hidden; background: linear-gradient(135deg, var(--blush), var(--lilac)); }
.card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.card:hover .card__media img { transform: scale(1.04); }
.noimg { width: 100%; height: 100%; display: grid; place-items: center; font-family: var(--display); font-size: 3rem; color: var(--berry); background: linear-gradient(135deg, #ffd9e9, #eadcff 60%, #fff2dd); }
.noimg--pdp { aspect-ratio: 1; }
.badge { position: absolute; left: 10px; top: 10px; z-index: 2; display: inline-flex; align-items: center; min-height: 25px; padding: .2rem .55rem; border-radius: 999px; background: var(--berry); color: #fff; font-size: .7rem; font-weight: 800; }
.badge--new { left: auto; right: 10px; background: var(--purple); }
.badge--out { background: var(--ink); }
.badge--inline { position: static; }
.card__body { display: flex; flex-direction: column; gap: .42rem; padding: .9rem; }
.card__title { min-height: 2.55em; font-size: .9rem; font-weight: 700; line-height: 1.35; }
.card__sku { color: var(--ink-mute); font-size: .72rem; }
.card__price { display: flex; align-items: baseline; gap: .5rem; min-height: 28px; }
.price { color: var(--berry-dark); font-size: 1.12rem; font-weight: 800; }
.price--was { color: #a99aa9; font-size: .83rem; text-decoration: line-through; }
.promo-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1rem; }
.promo-card { position: relative; min-height: 260px; overflow: hidden; border-radius: calc(var(--radius) + 3px); background: linear-gradient(135deg, #5d153f, #9e2b77); color: #fff; box-shadow: var(--shadow); }
.promo-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .8; }
.promo-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(46,10,37,.78), rgba(46,10,37,.02) 70%); }
.promo-card__body { position: absolute; z-index: 2; inset: auto 0 0 0; padding: 1.3rem; display: grid; gap: .15rem; }
.promo-card__body strong { font-family: var(--display); font-size: 1.45rem; }
.promo-card__body span { color: #fff1f8; }
.seo-panel { background: linear-gradient(135deg, #fff, #fff7fb); }

/* Generic panels and forms */
.panel { border: 1px solid var(--line); border-radius: var(--radius); background: #fff; padding: clamp(1rem, 2.5vw, 1.5rem); box-shadow: 0 5px 20px rgba(97,33,84,.05); }
.panel + .panel { margin-top: 1rem; }
.field { margin-bottom: .95rem; }
.field label { display: block; margin-bottom: .35rem; color: var(--ink-soft); font-size: .85rem; font-weight: 700; }
.field input, .field select, .field textarea, .toolbar input, .toolbar select { width: 100%; min-height: 44px; border: 1px solid #e4cedd; border-radius: var(--radius-sm); background: #fff; color: var(--ink); padding: .62rem .75rem; outline: none; }
.field textarea { min-height: 110px; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus, .toolbar input:focus, .toolbar select:focus { border-color: var(--pink); box-shadow: 0 0 0 3px rgba(239,79,145,.11); }
.row-2 { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .9rem; }
.check { display: flex; align-items: flex-start; gap: .55rem; margin: .7rem 0 1rem; color: var(--ink-soft); font-size: .87rem; }
.check input { margin-top: .2rem; accent-color: var(--berry); }
.hint { margin: .25rem 0 0; color: var(--ink-mute); font-size: .78rem; }
.flash { margin: 1rem 0; padding: .8rem 1rem; border: 1px solid #bee4d5; border-left: 4px solid var(--ok); border-radius: var(--radius-sm); background: #effaf5; font-size: .9rem; }
.flash--error { border-color: #f4b9ca; border-left-color: var(--danger); background: #fff0f4; }
.flash--info { border-color: #e9cfe2; border-left-color: var(--berry); background: #fff5fa; }
.empty { max-width: 720px; margin: clamp(2rem, 8vw, 5rem) auto; padding: clamp(2rem, 5vw, 3.5rem); text-align: center; border: 1px solid var(--line); border-radius: 22px; background: linear-gradient(135deg, #fff, #fff2f8 55%, #f7efff); box-shadow: var(--shadow); }
.empty p { margin-inline: auto; color: var(--ink-mute); }
.crumbs { margin-bottom: 1rem; color: var(--ink-mute); font-size: .82rem; overflow-wrap: anywhere; }
.crumbs a { color: var(--berry); }
.prose { overflow-wrap: anywhere; }
.prose h2, .prose h3 { margin-top: 1.35em; }
.prose img { height: auto; }

/* Tables */
.table-wrap { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.data { width: 100%; min-width: 620px; border-collapse: collapse; font-size: .86rem; }
.data th, .data td { padding: .72rem .62rem; border-bottom: 1px solid #f1e3ec; text-align: left; vertical-align: middle; }
.data th { color: var(--ink-soft); font-size: .76rem; text-transform: uppercase; letter-spacing: .04em; }
.data img { width: 50px; height: 50px; object-fit: cover; border-radius: 8px; background: var(--blush); }
.cart-thumb, .order-thumb { width: 62px; }
.cart-qty-form { display: flex; align-items: center; gap: .35rem; }
.cart-qty-form input { width: 66px; min-height: 36px; padding: .4rem; border: 1px solid var(--line); border-radius: 8px; }

/* Category filter */
.toolbar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 1.2rem 0; padding: .75rem .9rem; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.toolbar__count { color: var(--ink-mute); font-size: .86rem; }
.toolbar__form { display: flex; align-items: center; justify-content: flex-end; gap: .5rem; flex-wrap: wrap; }
.toolbar__form label { font-size: .84rem; font-weight: 700; }
.toolbar__form input { width: 105px; }
.toolbar__form select { width: auto; min-width: 160px; }
.pager { display: flex; flex-wrap: wrap; justify-content: center; gap: .35rem; margin-top: 2rem; }
.pager a, .pager span { min-width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: #fff; }
.pager .is-current { background: var(--berry); border-color: var(--berry); color: #fff; }

/* PDP */
.pdp { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(320px,.95fr); gap: clamp(1.4rem, 4vw, 3.5rem); align-items: start; }
.gallery__main { overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: var(--blush); }
.gallery__main img { width: 100%; aspect-ratio: 1; object-fit: cover; }
.gallery__thumbs { display: flex; gap: .55rem; overflow-x: auto; margin-top: .7rem; padding-bottom: .25rem; }
.gallery__thumbs button { width: 70px; height: 70px; flex: none; padding: 0; overflow: hidden; border: 2px solid transparent; border-radius: 10px; background: #fff; cursor: pointer; }
.gallery__thumbs button[aria-current="true"] { border-color: var(--pink); }
.gallery__thumbs img { width: 100%; height: 100%; object-fit: cover; }
.pdp__title { margin-bottom: .15em; }
.pdp__sku { color: var(--ink-mute); font-size: .86rem; }
.pdp__price { display: flex; align-items: center; gap: .55rem; margin: .9rem 0; }
.pdp__price .price { font-size: 1.6rem; }
.buybar { display: flex; gap: .7rem; align-items: center; margin-top: 1.1rem; }
.buybar > .btn { flex: 1; }
.qty { display: flex; align-items: center; overflow: hidden; border: 1px solid #e2c9d9; border-radius: 999px; background: #fff; }
.qty button { width: 40px; height: 42px; border: 0; background: transparent; color: var(--berry); cursor: pointer; font-weight: 800; }
.qty input { width: 50px; border: 0; text-align: center; background: transparent; outline: 0; }
.stock-note { margin-top: .65rem; color: var(--ok); font-size: .84rem; font-weight: 700; }
.stock-note--low { color: var(--sale); }
.whatsapp-cta { display: flex; align-items: center; justify-content: center; min-height: 44px; margin-top: 1rem; padding: .7rem 1rem; border: 1px solid #b9e2cf; border-radius: 999px; background: #edfbf4; color: #137648; font-weight: 800; }
.whatsapp-cta:hover { background: #16a864; color: #fff; }
.pdp__meta { list-style: none; margin: 1.2rem 0; padding: 0; border-top: 1px solid var(--line); }
.pdp__meta li { display: grid; grid-template-columns: 95px 1fr; gap: .65rem; padding: .65rem 0; border-bottom: 1px solid var(--line); font-size: .86rem; }
.pdp__meta b { color: var(--ink-soft); }

/* Cart / checkout */
.cart-layout { display: grid; grid-template-columns: minmax(0,1.65fr) minmax(290px,.8fr); gap: 1.2rem; align-items: start; }
.summary { position: sticky; top: 104px; }
.summary dl { display: grid; grid-template-columns: 1fr auto; gap: .5rem 1rem; margin: 1rem 0; }
.summary dt { color: var(--ink-mute); }
.summary dd { margin: 0; text-align: right; font-weight: 700; }
.summary .total { padding-top: .55rem; border-top: 1px solid var(--line); font-family: var(--display); font-size: 1.18rem; color: var(--ink); }
.summary-secondary { margin-top: .55rem; }
.summary-note { margin: .75rem 0 0; color: var(--ink-mute); font-size: .78rem; }
.free-shipping-note { color: var(--berry); font-size: .82rem; }
.paymethods { display: grid; gap: .55rem; }
.paymethod { display: flex; align-items: flex-start; gap: .65rem; padding: .78rem; border: 1px solid var(--line); border-radius: var(--radius-sm); background: #fff; cursor: pointer; }
.paymethod:has(input:checked) { border-color: #df9bc0; background: #fff4fa; box-shadow: 0 0 0 2px rgba(239,79,145,.08); }
.paymethod input { margin-top: .25rem; accent-color: var(--berry); }
.paymethod > span { min-width: 0; }
.paymethod strong { display: block; }
.paymethod span span { color: var(--ink-mute); font-size: .82rem; }
.checkout-page > h1 { margin-bottom: .55rem; }
.cod-panel { border: 1px solid #e9b9d4; background: linear-gradient(135deg, #fff8fc, #faf5ff); }
.cod-panel__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.cod-kicker { color: var(--berry); font-size: .77rem; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; }
.cod-badge { flex: none; padding: .32rem .7rem; border-radius: 999px; background: linear-gradient(135deg, var(--pink), var(--purple)); color: #fff; font-size: .72rem; font-weight: 800; }
.payment-details { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .7rem; margin: 1rem 0; }
.payment-details > div { padding: .8rem; border: 1px dashed #dea5c5; border-radius: var(--radius-sm); background: #fff; overflow-wrap: anywhere; }
.payment-details span { display: block; color: var(--ink-mute); font-size: .74rem; }
.payment-details strong { display: block; margin-top: .15rem; color: var(--berry-dark); font-size: .9rem; }
.cod-note { color: var(--ink-soft); font-size: .84rem; }
.cod-accept { padding: .85rem; border-radius: var(--radius-sm); background: #fff1f7; color: var(--ink); font-weight: 600; }
.delivery-due { color: var(--berry); }
.advance-callout { display: flex; align-items: center; gap: .65rem; margin: .75rem 0 1rem; padding: .75rem; border-radius: var(--radius-sm); background: linear-gradient(135deg, #ffe5f0, #f0e5ff); }
.advance-callout strong { color: var(--berry-dark); font-size: 1.13rem; }
.advance-callout span { color: var(--ink-soft); font-size: .78rem; }

/* Confirmation */
.confirm-hero { text-align: center; padding-block: clamp(1.7rem, 5vw, 3rem); background: linear-gradient(135deg, #fff, #fff0f7 55%, #f5edff); }
.confirm-hero h1 { margin-bottom: .2em; }
.confirm-hero p { margin-inline: auto; }
.tick { width: 58px; height: 58px; display: grid; place-items: center; margin: 0 auto .8rem; border-radius: 50%; background: linear-gradient(135deg, #24b87a, #12885a); color: #fff; font-size: 1.7rem; font-weight: 800; box-shadow: 0 9px 24px rgba(24,135,95,.18); }
.ordernum { display: inline-block; margin: .2rem 0; padding: .45rem .85rem; border: 1px dashed #d69dbc; border-radius: 999px; background: #fff; color: var(--berry-dark); font-family: var(--display); font-size: 1.12rem; font-weight: 700; letter-spacing: .07em; }
.confirm-note { margin-top: .8rem !important; color: var(--ink-mute); font-size: .84rem; }
.dispatch-panel { display: grid; grid-template-columns: auto 1fr; gap: 1rem; margin-top: 1rem; border-color: #e6b4cf; background: linear-gradient(135deg, #fff6fa, #f8f2ff); }
.dispatch-panel__icon { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; background: var(--berry); color: #fff; font-family: var(--display); font-size: 1.25rem; font-weight: 700; }
.payment-details--confirm { max-width: 720px; }
.confirm-layout { margin-top: 1.2rem; }
.address-block { font-size: .9rem; }

/* Account */
.account-head { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.address-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(250px,1fr)); gap: .75rem; }
.address-card { padding: .9rem; border: 1px solid var(--line); border-radius: var(--radius-sm); background: #fffafd; }
.address-card p { margin: .35rem 0; font-size: .86rem; }
.address-actions { display: flex; gap: .4rem; flex-wrap: wrap; }
.auth-shell { max-width: 470px; }
.auth-shell--wide { max-width: 570px; }
.auth-switch { margin-top: 1rem; font-size: .88rem; }

/* Footer */
.footer { margin-top: 2rem; padding-top: 3.2rem; background: linear-gradient(135deg, #32132f, #4a1741 55%, #35204e); color: #fdf2f8; }
.footer h3 { color: #fff; font-size: 1.08rem; }
.footer a { color: #f7e7f2; }
.footer a:hover { color: #ff9bc6; }
.footer__cols { display: grid; grid-template-columns: 1.3fr repeat(3, 1fr); gap: clamp(1.3rem, 4vw, 3rem); }
.footer__brandcol p { max-width: 36ch; color: #dec9da; }
.footer-brand { display: flex; align-items: center; gap: .6rem; margin-bottom: .6rem; }
.footer-brand img { width: auto; height: 42px; max-width: 76px; object-fit: contain; }
.footer-brand h3 { margin: 0; font-size: 1.35rem; }
.footer ul { list-style: none; margin: 0; padding: 0; }
.footer li { margin: .3rem 0; font-size: .86rem; }
.footer__social-head { margin-top: 1.25rem; }
.footer .social a { color: #fff; background: rgba(255,255,255,.08); }
.footer__bottom { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 2.4rem; padding: 1rem 0 1.4rem; border-top: 1px solid rgba(255,255,255,.12); color: #d9c5d4; font-size: .8rem; }
.paylogos { display: flex; gap: .45rem; flex-wrap: wrap; }
.paylogos span { padding: .28rem .58rem; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; color: #fff; }
.wa-float { position: fixed; right: max(16px, env(safe-area-inset-right)); bottom: max(16px, env(safe-area-inset-bottom)); z-index: 90; width: 54px; height: 54px; display: grid; place-items: center; border-radius: 50%; background: #16a864; color: #fff; box-shadow: 0 12px 30px rgba(11,116,65,.28); }
.wa-float:hover { transform: translateY(-2px); color: #fff; background: #128851; }
.wa-float svg { width: 28px; height: 28px; fill: currentColor; }
.toast-stack { position: fixed; z-index: 200; right: 16px; bottom: 82px; display: flex; flex-direction: column; gap: .5rem; max-width: min(370px, calc(100vw - 32px)); }
.toast { padding: .82rem 1rem; border-radius: 12px; background: #34132f; color: #fff; box-shadow: var(--shadow-lg); font-size: .88rem; }
.toast--error { background: var(--danger); }
.toast a { color: #ffd0e4; text-decoration: underline; }

/* Pills/status */
.pill { display: inline-flex; align-items: center; padding: .24rem .52rem; border-radius: 999px; background: #f0e7f2; color: var(--ink-soft); font-size: .7rem; font-weight: 800; text-transform: capitalize; }
.pill--confirmed, .pill--delivered { background: #ddf5e9; color: #167049; }
.pill--packed, .pill--shipped { background: #e9e2fb; color: #64439b; }
.pill--cancelled { background: #fde3ea; color: #ad2149; }

/* Responsive */
@media (max-width: 1060px) {
  .grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .catrail { grid-template-columns: repeat(4, minmax(0,1fr)); }
  .footer__cols { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 900px) {
  .topbar__inner { justify-content: center; text-align: center; }
  .topbar .social { display: none; }
  .header__inner { grid-template-columns: minmax(0,1fr) auto; gap: .55rem; }
  .brand { min-width: 0; overflow: hidden; }
  .brand__logo, .brand img { height: 40px; max-width: 65px; }
  .brand__name { overflow: hidden; text-overflow: ellipsis; }
  .header__tools { justify-self: end; }
  .burger { display: grid; }
  .searchbox { grid-column: 1 / -1; grid-row: 2; }
  .nav { display: none; position: fixed; left: 0; right: 0; top: auto; max-height: calc(100vh - 122px); overflow: auto; box-shadow: var(--shadow-lg); }
  .nav[data-open="true"] { display: block; }
  .nav__list { display: block; padding: .5rem 0 1rem; overflow: visible; }
  .nav__item { width: 100%; }
  .nav__link { padding: .7rem .2rem; }
  .nav__sub { position: static; min-width: 0; opacity: 1; visibility: visible; transform: none; border: 0; box-shadow: none; padding: 0 0 .4rem 1rem; }
  .nav__sub a { padding: .45rem .6rem; color: var(--ink-mute); }
  .cart-layout, .pdp { grid-template-columns: 1fr; }
  .summary { position: static; }
  .pdp { gap: 1.6rem; }
}

@media (max-width: 760px) {
  body { font-size: 14.5px; }
  .hero, .hero__content { min-height: 430px; }
  .hero__wash { background: linear-gradient(0deg, rgba(49,9,39,.88), rgba(86,18,75,.42)); }
  .hero__content { align-items: flex-end; }
  .hero__text { padding: 3rem 0 4.4rem; }
  .hero__text h1 { font-size: clamp(2.25rem, 11vw, 3.6rem); }
  .hero__arrow { width: 40px; height: 40px; font-size: 1.7rem; }
  .strip-shell { margin-top: 0; padding-inline: 0; }
  .strip { grid-template-columns: 1fr; border-radius: 0; border-inline: 0; }
  .strip a { border-right: 0; border-bottom: 1px solid var(--line); }
  .strip a:last-child { border-bottom: 0; }
  .grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: .75rem; }
  .catrail { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .promo-grid { grid-template-columns: 1fr; }
  .toolbar { align-items: stretch; flex-direction: column; }
  .toolbar__form { display: grid; grid-template-columns: 1fr 1fr; justify-content: stretch; }
  .toolbar__form label { grid-column: 1 / -1; }
  .toolbar__form input, .toolbar__form select, .toolbar__form .btn { width: 100%; }
  .payment-details { grid-template-columns: 1fr; }
  .footer__cols { grid-template-columns: 1fr 1fr; }
  .footer__bottom { align-items: flex-start; flex-direction: column; }
  .dispatch-panel { grid-template-columns: 1fr; }
  .dispatch-panel__icon { margin-bottom: -.3rem; }
}

@media (max-width: 560px) {
  .shell { padding-inline: 13px; }
  .topbar { font-size: .72rem; }
  .topbar__inner { min-height: 36px; }
  .header__inner { padding-block: .6rem; }
  .brand__logo, .brand img { height: 35px; max-width: 54px; }
  .brand__name { font-size: 1.18rem; max-width: 135px; }
  .tool { width: 38px; height: 38px; }
  .searchbox button { padding-inline: 1rem; }
  .hero, .hero__content { min-height: 400px; }
  .hero__arrow { top: 43%; width: 36px; height: 36px; }
  .section { padding: 2.25rem 0; }
  .section__head { align-items: flex-start; }
  .grid { gap: .6rem; }
  .card__body { padding: .7rem; }
  .card__title { font-size: .82rem; }
  .card__price { gap: .35rem; flex-wrap: wrap; }
  .price { font-size: 1rem; }
  .card .btn { min-height: 38px; padding-inline: .55rem; font-size: .77rem; }
  .catrail { grid-template-columns: repeat(3, minmax(0,1fr)); gap: .6rem; }
  .catrail span { font-size: .76rem; }
  .catrail img, .catrail__fallback { border-width: 3px; }
  .row-2 { grid-template-columns: 1fr; gap: 0; }
  .panel { padding: 1rem; }
  .toolbar__form { grid-template-columns: 1fr; }
  .toolbar__form label { grid-column: auto; }
  .buybar { align-items: stretch; flex-direction: column; }
  .qty { align-self: flex-start; }
  .pdp__meta li { grid-template-columns: 78px 1fr; }
  .footer__cols { grid-template-columns: 1fr; }
  .footer { padding-top: 2.5rem; }
  .address-grid { grid-template-columns: 1fr; }
  .toast-stack { left: 12px; right: 12px; max-width: none; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* ===================================================================
   Glam & Go enhancement pack — preserves the established palette/theme
   =================================================================== */

/* Moving admin-controlled announcement ticker */
.topbar { position: relative; min-height: 38px; display: flex; align-items: center; overflow: hidden; }
.topbar__ticker { min-width: 0; flex: 1; overflow: hidden; }
.topbar__track { width: max-content; display: flex; align-items: center; will-change: transform; animation: glamTicker 32s linear infinite; }
.topbar__set { display: flex; align-items: center; white-space: nowrap; }
.topbar__item { display: inline-flex; align-items: center; padding: .55rem .85rem; color: #fff; font-weight: 700; }
.topbar__dot { color: #ffd8e8; opacity: .9; }
.topbar__social { flex: none; padding: 0 .7rem; background: linear-gradient(90deg, rgba(124,24,78,0), rgba(91,20,74,.88) 26%); }
.topbar__social .social { display: flex; }
.topbar:hover .topbar__track { animation-play-state: paused; }
@keyframes glamTicker { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* Larger brand treatment and full brand name */
.brand__logo, .brand img { height: 58px; max-width: 102px; }
.brand__name { font-size: clamp(1.35rem, 2vw, 1.82rem); overflow: visible; text-overflow: clip; max-width: none; }

/* iOS-inspired crystal / glass nav hover */
.nav__link { position: relative; border: 1px solid transparent; border-radius: 999px; transition: color .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.nav__link:hover, .nav__item:hover > .nav__link, .nav__link:focus-visible {
  color: var(--berry-dark);
  background: linear-gradient(135deg, rgba(255,255,255,.86), rgba(255,225,239,.68));
  border-color: rgba(255,255,255,.9);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.92), 0 7px 18px rgba(117,40,97,.12), 0 0 0 1px rgba(224,157,193,.22);
  backdrop-filter: blur(14px) saturate(1.4);
  -webkit-backdrop-filter: blur(14px) saturate(1.4);
  transform: translateY(-1px);
}
.nav__sub { border-radius: 14px; background: rgba(255,255,255,.94); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }

/* Give hero copy a protected safe area so arrows never cover text */
.hero__content { padding-inline: clamp(68px, 7vw, 108px); }
.hero__text { max-width: min(620px, 72%); }
.hero__arrow { border-color: rgba(255,255,255,.7); background: rgba(67,16,58,.42); box-shadow: 0 8px 24px rgba(35,8,30,.22), inset 0 1px 0 rgba(255,255,255,.28); }
.hero__arrow--prev { left: clamp(14px, 2vw, 28px); }
.hero__arrow--next { right: clamp(14px, 2vw, 28px); }

/* Rounded quick-offer chips beneath the hero */
.quick-offers-shell { position: relative; z-index: 8; margin-top: -18px; }
.quick-offers { display: flex; flex-wrap: wrap; justify-content: center; gap: .65rem; padding: .8rem; border: 1px solid rgba(230,188,211,.78); border-radius: 26px; background: rgba(255,255,255,.94); box-shadow: var(--shadow); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
.quick-offer { min-width: 170px; flex: 1 1 210px; max-width: 360px; min-height: 62px; display: flex; align-items: center; gap: .65rem; padding: .65rem .85rem; border: 1px solid #f0d7e5; border-radius: 999px; background: linear-gradient(135deg, #fff, #fff1f7); transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.quick-offer:hover { transform: translateY(-2px); border-color: #e5aecb; box-shadow: 0 9px 22px rgba(117,40,97,.12); }
.quick-offer img { width: 42px; height: 42px; flex: none; object-fit: cover; border-radius: 50%; }
.quick-offer span { min-width: 0; }
.quick-offer strong, .quick-offer small { display: block; }
.quick-offer strong { color: var(--berry-dark); font-family: var(--display); font-size: .98rem; }
.quick-offer small { color: var(--ink-mute); font-size: .74rem; line-height: 1.25; margin-top: .08rem; }

/* Horizontal rails used for categories, products and testimonials */
.section--compact { padding: clamp(1.7rem, 3vw, 2.7rem) 0; }
.rail-shell { position: relative; }
.rail { display: flex !important; grid-template-columns: none !important; gap: clamp(.7rem, 1.5vw, 1.05rem); overflow-x: auto; overflow-y: hidden; padding: .3rem .15rem 1rem; scroll-snap-type: x proximity; scroll-behavior: smooth; scrollbar-width: none; }
.rail::-webkit-scrollbar { display: none; }
.rail > * { scroll-snap-align: start; }
.rail-arrow { position: absolute; z-index: 9; top: 46%; transform: translateY(-50%); width: 39px; height: 39px; padding: 0; display: grid; place-items: center; border: 1px solid rgba(226,174,203,.8); border-radius: 50%; background: rgba(255,255,255,.93); color: var(--berry-dark); box-shadow: 0 7px 20px rgba(102,37,88,.13); font-size: 1.45rem; cursor: pointer; backdrop-filter: blur(10px); }
.rail-arrow:hover { background: var(--berry); color: #fff; border-color: var(--berry); }
.rail-arrow--prev { left: -17px; }
.rail-arrow--next { right: -17px; }
.catrail.rail .catrail__item { width: clamp(106px, 10vw, 150px); flex: 0 0 clamp(106px, 10vw, 150px); min-width: 0; text-align: center; }
.product-rail__item { width: clamp(190px, 21vw, 275px); flex: 0 0 clamp(190px, 21vw, 275px); }
.product-rail__item .card { height: 100%; }
.review-rail .review-card { width: 370px; flex: 0 0 370px; max-width: 82vw; }

/* Promotional cards */
.offer-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1rem; }
.offer-card { position: relative; min-height: 165px; overflow: hidden; display: flex; align-items: stretch; border: 1px solid #efd4e3; border-radius: 22px; background: linear-gradient(135deg,#fff5f9,#f4edff); box-shadow: 0 7px 22px rgba(105,39,89,.08); }
.offer-card img { width: 42%; min-height: 165px; object-fit: cover; }
.offer-card__body { min-width: 0; display: flex; flex: 1; flex-direction: column; justify-content: center; align-items: flex-start; gap: .32rem; padding: 1rem; }
.offer-card__badge { display: inline-flex; padding: .2rem .5rem; border-radius: 999px; background: #ffe3ef; color: var(--berry-dark); font-size: .68rem; font-weight: 800; }
.offer-card strong { color: var(--berry-dark); font-family: var(--display); font-size: 1.12rem; line-height: 1.2; }
.offer-card span:not(.offer-card__badge) { color: var(--ink-mute); font-size: .83rem; }
.offer-card code { border: 1px dashed #d79ab9; border-radius: 7px; background: #fff; padding: .2rem .4rem; color: var(--berry-dark); font-weight: 800; }
.offer-card em { color: var(--berry); font-style: normal; font-weight: 800; font-size: .82rem; }

.register-offer { border-block: 1px solid #f0cfe0; background: linear-gradient(90deg,#fff0f6,#f2eaff,#fff0f6); }
.register-offer__inner { min-height: 92px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-block: .8rem; }
.register-offer__inner > div { display: flex; flex-direction: column; gap: .2rem; }
.register-offer__eyebrow { color: var(--berry); font-size: .68rem; font-weight: 900; letter-spacing: .12em; }
.register-offer strong { color: var(--berry-dark); font-family: var(--display); font-size: clamp(1.02rem,1.7vw,1.3rem); }

/* News */
.news-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.news-card { overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: #fff; box-shadow: 0 6px 20px rgba(105,39,89,.06); }
.news-card > img { width: 100%; aspect-ratio: 16/9; object-fit: cover; }
.news-card > div { padding: 1rem; }
.news-card h3 { margin-bottom: .4rem; color: var(--berry-dark); }
.news-card p { color: var(--ink-mute); font-size: .86rem; }
.news-card a { color: var(--berry); font-weight: 800; font-size: .84rem; }

/* Customer feedback slider */
.section--reviews { background: linear-gradient(180deg,#fff8fb,#f8f0ff); }
.review-card { min-height: 205px; display: flex; flex-direction: column; gap: .55rem; padding: 1.2rem; border: 1px solid #efd3e2; border-radius: 20px; background: rgba(255,255,255,.94); box-shadow: 0 8px 24px rgba(103,36,88,.07); }
.review-stars, .rating-summary .review-stars { color: #e8a620; letter-spacing: .08em; }
.review-card > strong { color: var(--berry-dark); font-family: var(--display); font-size: 1.05rem; }
.review-card p { margin: 0; flex: 1; color: var(--ink-soft); line-height: 1.65; }
.review-card footer { display: flex; flex-direction: column; gap: .15rem; font-size: .78rem; }
.review-card footer a { color: var(--berry); }

/* Category collection background/banner uploaded from Admin */
.collection-hero { min-height: clamp(190px, 28vw, 340px); display: flex; align-items: end; margin-bottom: 1.35rem; overflow: hidden; border-radius: 22px; background-size: cover; background-position: center; box-shadow: var(--shadow); position: relative; }
.collection-hero::before { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(49,9,39,.8),rgba(88,24,75,.06)); }
.collection-hero__content { position: relative; z-index: 1; width: 100%; padding: clamp(1.2rem,3vw,2.2rem); color:#fff; }
.collection-hero__content h1, .collection-hero__content p { color:#fff; }
.collection-hero__content p { max-width: 60ch; margin-bottom:0; }

/* Product choice / urgency / WhatsApp / review UI */
.rating-summary { display: inline-flex; align-items: center; gap: .5rem; margin: -.2rem 0 .65rem; color: var(--ink-mute); font-size: .82rem; }
.product-activity { display: flex; flex-wrap: wrap; gap: .45rem; margin: .9rem 0 .55rem; }
.activity-chip { display: inline-flex; align-items: center; gap:.23rem; min-height: 31px; padding:.35rem .65rem; border-radius:999px; border:1px solid #ecd7e3; background:#fff6fa; color:var(--ink-soft); font-size:.76rem; }
.activity-chip strong { color:var(--berry-dark); }
.activity-chip--stock { background:#fff4ec; border-color:#f2d5bf; }
.activity-chip--sales { background:#f0eafe; border-color:#ded1f4; }
.selling-fast { margin:.2rem 0 .8rem; color:#b64c17; font-size:.84rem; font-weight:800; }
.product-buy-form { display: grid; gap:.75rem; margin-top:.9rem; }
.product-option label { font-weight:800; font-size:.83rem; }
.product-option select { width:100%; margin-top:.28rem; }
.product-option__label { display:flex; align-items:center; justify-content:space-between; gap:.5rem; }
.size-guide-link { padding:0; border:0; background:none; color:var(--berry); font-weight:800; font-size:.8rem; cursor:pointer; text-decoration:underline; }
.stock-note { color:#557260; font-size:.78rem; font-weight:700; margin:.45rem 0; }
.stock-note--low { color:#bc4b36; }
.whatsapp-cta { display:flex; justify-content:center; align-items:center; gap:.45rem; width:100%; min-height:46px; margin:.8rem 0; padding:.65rem .9rem; border-radius:12px; background:#eafaf2; border:1px solid #b9e6ce; color:#117a49; font-weight:800; text-align:center; }
.whatsapp-cta:hover { background:#16a864; border-color:#16a864; color:#fff; }
.size-guide { width:min(680px,calc(100% - 26px)); max-height:88vh; overflow:auto; border:0; border-radius:20px; padding:1.35rem; box-shadow:0 24px 70px rgba(45,10,39,.25); }
.size-guide::backdrop { background:rgba(37,10,33,.54); backdrop-filter:blur(3px); }
.size-guide__close { position:absolute; top:.7rem; right:.7rem; width:36px; height:36px; border:0; border-radius:50%; background:#fff0f6; color:var(--berry-dark); cursor:pointer; font-size:1.35rem; }
.reviews-layout { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr); gap:1rem; }
.review-list { display:grid; gap:.8rem; }
.review-entry { padding:1rem 1.1rem; border:1px solid #eed4e3; border-radius:16px; background:#fff; }
.review-entry h3 { margin:.35rem 0; color:var(--berry-dark); font-size:1.03rem; }
.review-entry p { margin:.3rem 0 .7rem; color:var(--ink-soft); }
.review-entry footer { display:flex; justify-content:space-between; gap:.6rem; color:var(--ink-mute); font-size:.76rem; }
.review-form-panel { align-self:start; }

/* Checkout additions */
.checkout-register-offer, .receipt-upload, .advance-callout { border:1px solid #efd2e1; border-radius:14px; background:#fff7fb; }
.checkout-register-offer { display:flex; flex-wrap:wrap; align-items:center; gap:.4rem 1rem; margin:0 0 1rem; padding:.8rem 1rem; }
.checkout-register-offer strong { color:var(--berry-dark); }
.checkout-register-offer span { color:var(--ink-mute); font-size:.82rem; }
.checkout-register-offer a { margin-left:auto; color:var(--berry); font-weight:800; }
.receipt-upload { margin:1rem 0; padding:.9rem; }
.receipt-upload input { width:100%; margin-top:.45rem; }
.discount-row { color:#128252 !important; font-weight:800; }
.advance-callout { display:flex; justify-content:space-between; align-items:center; gap:.5rem; margin:.8rem 0; padding:.75rem; }
.advance-callout strong { color:var(--berry-dark); font-size:1.15rem; }
.advance-callout span { color:var(--ink-mute); font-size:.78rem; text-align:right; }

/* TJ-inspired mobile side drawer */
.mobile-menu-overlay, .mobile-drawer { display:none; }
.mobile-drawer { position:fixed; inset:0 auto 0 0; z-index:160; width:min(342px,88vw); flex-direction:column; background:#fff; box-shadow:18px 0 60px rgba(36,10,31,.22); transform:translateX(-103%); transition:transform .25s ease; }
.mobile-drawer[data-open="true"] { transform:translateX(0); }
.mobile-menu-overlay { position:fixed; inset:0; z-index:150; background:rgba(30,8,27,.42); opacity:0; visibility:hidden; transition:.25s ease; backdrop-filter:blur(2px); }
.mobile-menu-overlay[data-open="true"] { opacity:1; visibility:visible; }
.mobile-drawer__head { min-height:64px; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.75rem 1rem; border-bottom:1px solid var(--line); background:linear-gradient(135deg,#fff6fa,#f5efff); }
.mobile-drawer__head strong { color:var(--berry-dark); font-family:var(--display); font-size:1.15rem; }
.mobile-drawer__close { width:36px; height:36px; border:0; border-radius:50%; background:#fff; color:var(--berry-dark); font-size:1.5rem; cursor:pointer; }
.mobile-drawer__scroll { overflow:auto; padding:.35rem 0 1rem; }
.mobile-menu-row { min-height:58px; display:grid; grid-template-columns:42px minmax(0,1fr) auto; align-items:center; gap:.7rem; padding:.45rem .85rem; border-bottom:1px solid #f8edf3; color:var(--ink); font-size:.85rem; font-weight:700; }
.mobile-menu-row:hover { background:#fff5fa; color:var(--berry-dark); }
.mobile-menu-thumb { width:40px; height:40px; display:grid; place-items:center; flex:none; border-radius:50%; object-fit:cover; border:1px solid #ecd2e0; background:linear-gradient(135deg,#ffe0ed,#eadcff); color:var(--berry); font-family:var(--display); }
.mobile-menu-thumb--home { font-size:1.05rem; }
.mobile-menu-chevron { color:#aa93aa; font-size:1.25rem; }
.mobile-menu-group > summary { list-style:none; cursor:pointer; }
.mobile-menu-group > summary::-webkit-details-marker { display:none; }
.mobile-menu-group[open] .mobile-menu-chevron { transform:rotate(90deg); }
.mobile-menu-sub { padding:.2rem .8rem .55rem 4.25rem; border-bottom:1px solid #f8edf3; background:#fffafd; }
.mobile-menu-sub a { display:block; padding:.48rem 0; color:var(--ink-mute); font-size:.8rem; }
.mobile-drawer__foot { display:grid; gap:.3rem; margin:.7rem .85rem 0; padding-top:.7rem; border-top:1px solid var(--line); }
.mobile-drawer__foot a { padding:.5rem; border-radius:9px; color:var(--berry-dark); font-weight:700; }
html.menu-open, html.menu-open body { overflow:hidden; }

@media (max-width: 1060px) {
  .offer-grid, .news-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 900px) {
  .desktop-nav { display:none !important; }
  .mobile-drawer { display:flex; }
  .mobile-menu-overlay { display:block; }
  .header__inner { grid-template-columns:minmax(0,1fr) auto; }
  .brand { overflow:visible; }
  .brand__logo, .brand img { height:50px; max-width:88px; }
  .brand__name { max-width:none; overflow:visible; text-overflow:clip; white-space:nowrap; }
  .topbar__social { display:none; }
  .reviews-layout { grid-template-columns:1fr; }
}

@media (max-width: 760px) {
  .hero, .hero__content { min-height:410px; }
  .hero__content { padding-inline:52px; align-items:flex-end; }
  .hero__text { max-width:100%; width:100%; padding:2.7rem 0 4.5rem; }
  .hero__text h1 { font-size:clamp(2rem,9.5vw,3rem); line-height:1.02; }
  .hero__arrow { top:auto; bottom:24px; transform:none; width:36px; height:36px; }
  .hero__arrow--prev { left:14px; }
  .hero__arrow--next { right:14px; }
  .hero__dots { bottom:35px; }
  .quick-offers-shell { margin-top:0; padding-top:.7rem; }
  .quick-offers { border-radius:18px; padding:.55rem; flex-wrap:wrap; }
  .quick-offer { min-width:calc(50% - .35rem); flex:1 1 calc(50% - .35rem); min-height:54px; padding:.5rem .6rem; border-radius:18px; }
  .quick-offer img { width:36px; height:36px; }
  .offer-grid, .news-grid { grid-template-columns:1fr; }
  .register-offer__inner { align-items:flex-start; flex-direction:column; }
  .register-offer .btn { width:100%; }
  .rail-arrow { display:none; }
  .catrail.rail .catrail__item { width:96px; flex-basis:96px; }
  .product-rail__item { width:min(68vw,235px); flex-basis:min(68vw,235px); }
  .review-rail .review-card { width:84vw; flex-basis:84vw; max-width:84vw; }
  .collection-hero { border-radius:16px; }
}

@media (max-width: 560px) {
  .topbar { min-height:32px; }
  .topbar__item { padding:.45rem .7rem; font-size:.68rem; }
  .brand { gap:.42rem; min-width:0; }
  .brand__logo, .brand img { height:46px; max-width:76px; }
  .brand__name { font-size:clamp(.95rem,4.4vw,1.16rem); white-space:nowrap; }
  .header__tools { gap:.05rem; }
  .tool { width:34px; height:34px; }
  .header__inner { gap:.35rem; padding-block:.45rem; }
  .searchbox { margin-top:.05rem; }
  .searchbox input { padding:.58rem .75rem; font-size:.78rem; }
  .searchbox button { padding-inline:.85rem; font-size:.76rem; }
  .hero__content { padding-inline:48px; }
  .hero__text { padding-bottom:4.15rem; }
  .hero__text p { font-size:.85rem; }
  .quick-offer { min-width:100%; flex-basis:100%; }
  .section { padding:1.8rem 0; }
  .section__head { margin-bottom:.9rem; }
  .section__head h2 { font-size:1.45rem; }
  .catrail.rail .catrail__item { width:86px; flex-basis:86px; }
  .catrail span { font-size:.68rem; }
  .product-rail__item { width:62vw; flex-basis:62vw; }
  .offer-card { min-height:142px; }
  .offer-card img { min-height:142px; }
  .review-entry footer { flex-direction:column; }
  .activity-chip { font-size:.69rem; }
}

@media (prefers-reduced-motion: reduce) {
  .topbar__track { animation:none !important; }
  .rail { scroll-behavior:auto; }
}
.collection-hero__wash { position:absolute; inset:0; background:linear-gradient(0deg,rgba(49,9,39,.8),rgba(88,24,75,.08)); }
.collection-hero__body { position:relative; z-index:1; width:100%; padding-block:clamp(1.2rem,3vw,2.2rem); color:#fff; }
.collection-hero__body h1, .collection-hero__body p, .collection-hero__body .crumbs, .collection-hero__body .crumbs a { color:#fff; }
.collection-hero__body > p:last-child { max-width:60ch; margin-bottom:0; }

/* ===================================================================
   Glam & Go v1.0.5 — responsive storefront + popup/collection fixes
   =================================================================== */

/* Keep inner pages close to the menu while retaining comfortable gutters. */
main > .shell.section:first-child,
.browse-page { padding-top: clamp(1rem, 2vw, 1.65rem); }
.browse-head { display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; margin-bottom:1.1rem; }
.browse-head h1 { margin-bottom:.2rem; }
.browse-head p { margin:0; }

/* Hero/banner copy is centered and protected from arrows. */
.hero__content { justify-content:center; }
.hero__text { margin-inline:auto; text-align:center; }
.hero__text p { margin-left:auto; margin-right:auto; }
.promo-card__body { align-items:center; text-align:center; }

/* Homepage-only collection backgrounds uploaded from Admin > Categories. */
.home-collections { padding-bottom:.55rem; }
.collection-spotlight-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.collection-spotlight { position:relative; min-height:clamp(190px,24vw,330px); overflow:hidden; display:flex; align-items:flex-end; justify-content:center; border-radius:22px; background-size:cover; background-position:center; box-shadow:var(--shadow); isolation:isolate; }
.collection-spotlight__wash { position:absolute; inset:0; z-index:-1; background:linear-gradient(0deg,rgba(48,10,39,.78),rgba(62,15,52,.05) 72%); transition:background .25s ease; }
.collection-spotlight:hover .collection-spotlight__wash { background:linear-gradient(0deg,rgba(91,14,64,.84),rgba(62,15,52,.12) 72%); }
.collection-spotlight__body { width:100%; display:flex; flex-direction:column; align-items:center; gap:.15rem; padding:1.3rem; color:#fff; text-align:center; }
.collection-spotlight__body strong { color:#fff; font-family:var(--display); font-size:clamp(1.45rem,2.6vw,2.15rem); text-shadow:0 2px 16px rgba(0,0,0,.25); }
.collection-spotlight__body em { color:#fff4fa; font-style:normal; font-size:.82rem; font-weight:800; }

/* Full browse pages used by the homepage View all links. */
.all-category-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:1rem; }
.all-category-card { min-width:0; overflow:hidden; display:flex; flex-direction:column; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:0 6px 20px rgba(105,39,89,.06); transition:transform .18s ease,box-shadow .18s ease; }
.all-category-card:hover { transform:translateY(-3px); box-shadow:var(--shadow); }
.all-category-card img,.all-category-card__fallback { width:100%; aspect-ratio:1; object-fit:cover; background:linear-gradient(135deg,#ffe2ee,#eee1ff); }
.all-category-card__fallback { display:grid; place-items:center; color:var(--berry); font-family:var(--display); font-size:3rem; }
.all-category-card > div { display:flex; flex-direction:column; gap:.08rem; padding:.75rem .8rem .9rem; text-align:center; }
.all-category-card strong { color:var(--berry-dark); }
.all-category-card span { color:var(--ink-mute); font-size:.72rem; }

/* Promotion + News are popup-only. Multiple active items are queued in-session. */
.site-popup-layer { position:fixed; inset:0; z-index:260; display:grid; place-items:center; padding:clamp(14px,3vw,30px); background:rgba(43,11,38,.48); backdrop-filter:blur(5px); -webkit-backdrop-filter:blur(5px); }
.site-popup-layer[hidden], .site-popup[hidden] { display:none !important; }
.site-popup-layer[aria-hidden="true"] { visibility:hidden !important; pointer-events:none !important; opacity:0 !important; backdrop-filter:none !important; -webkit-backdrop-filter:none !important; }
.site-popup-layer.is-open { visibility:visible; pointer-events:auto; opacity:1; }
.site-popup { position:relative; width:min(560px,100%); max-height:min(86vh,720px); overflow:auto; border:1px solid rgba(238,188,214,.9); border-radius:24px; background:linear-gradient(145deg,#fff,#fff4fa 58%,#f7efff); box-shadow:0 28px 90px rgba(50,11,43,.30); animation:sitePopupIn .24s ease-out both; }
.site-popup__x { position:absolute; top:10px; right:10px; z-index:3; width:38px; height:38px; display:grid; place-items:center; padding:0; border:1px solid rgba(255,255,255,.9); border-radius:50%; background:rgba(255,255,255,.92); color:var(--berry-dark); box-shadow:0 5px 15px rgba(75,21,63,.14); font-size:1.45rem; cursor:pointer; }
.site-popup__media { overflow:hidden; border-radius:23px 23px 0 0; background:var(--blush); }
.site-popup__media img { width:100%; max-height:280px; object-fit:cover; }
.site-popup__body { padding:clamp(1.2rem,4vw,2rem); text-align:center; }
.site-popup__badge { display:inline-flex; margin-bottom:.55rem; padding:.25rem .65rem; border-radius:999px; background:#ffe2ef; color:var(--berry-dark); font-size:.7rem; font-weight:900; letter-spacing:.08em; }
.site-popup h2 { margin:0 0 .55rem; color:var(--berry-dark); font-size:clamp(1.65rem,5vw,2.35rem); }
.site-popup p { max-width:44ch; margin:.25rem auto .9rem; color:var(--ink-soft); }
.site-popup__code { display:inline-flex; gap:.35rem; margin:.15rem 0 .9rem; padding:.4rem .7rem; border:1px dashed #df9dbf; border-radius:10px; background:#fff; color:var(--berry-dark); }
.site-popup__actions { display:flex; justify-content:center; gap:.65rem; flex-wrap:wrap; margin-top:1rem; }
.site-popup__actions .btn { min-width:125px; }
html.popup-open,html.popup-open body { overflow:hidden; }
@keyframes sitePopupIn { from { opacity:0; transform:translateY(12px) scale(.97); } to { opacity:1; transform:none; } }

/* Reviews auto-scroll without cloned/duplicate cards. */
.review-rail[data-auto-rail] { scroll-snap-type:none; }
.review-rail[data-auto-rail] > * { scroll-snap-align:none; }


/* General anti-overflow rules for every storefront page. */
main,main > *, .panel,.card,.summary,.pdp > *,.cart-layout > *,.checkout-layout > * { min-width:0; }
input,select,textarea,button { max-width:100%; }
.prose,.muted,.hint,.summary-note,.address-block,.review-entry,.review-card { overflow-wrap:anywhere; word-break:normal; }
.table-wrap { max-width:100%; }
.checkout-summary .data,.summary .data { min-width:0; }
.checkout-summary .data td,.summary .data td { white-space:normal; }

/* Keep navigation/content transition tight and polished. */
.desktop-nav + .flash,
.desktop-nav + main { margin-top:0; }
.category-page .category-rail { margin-top:.8rem; }
.category-page .toolbar { margin-top:1rem; }

@media (max-width:1100px) {
  .all-category-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (max-width:900px) {
  .shell { padding-inline:18px; }
  main > .shell.section:first-child,.browse-page { padding-top:1rem; }
  h1 { font-size:clamp(2rem,7vw,3rem); }
  h2 { font-size:clamp(1.45rem,5.5vw,2.15rem); }
  .collection-spotlight-grid { grid-template-columns:1fr 1fr; }
  .all-category-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pdp,.cart-layout,.checkout-layout,.confirm-layout,.reviews-layout { grid-template-columns:1fr !important; }
  .summary,.checkout-summary,.review-form-panel { position:static !important; width:100%; }
  .gallery__main { max-width:680px; margin-inline:auto; }
  .panel { width:100%; }
  .browse-head { align-items:flex-start; }
  .toolbar { align-items:stretch; flex-direction:column; }
  .toolbar__form { width:100%; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto; }
  .toolbar__form label { grid-column:1/-1; }
  .toolbar__form input,.toolbar__form select { width:100%; min-width:0; }
  .footer__cols { gap:1.4rem; }
}

@media (max-width:700px) {
  .shell { padding-inline:16px; }
  .hero,.hero__content { min-height:390px; }
  .hero__content { padding-inline:52px; }
  .hero__text { max-width:100%; }
  .hero__text h1 { font-size:clamp(2rem,10vw,3.1rem); }
  .hero__text p { font-size:.9rem; }
  .hero__arrow { top:50%; bottom:auto; transform:translateY(-50%); }
  .hero__arrow--prev { left:9px; }
  .hero__arrow--next { right:9px; }
  .hero__dots { bottom:18px; }
  .collection-spotlight-grid { grid-template-columns:1fr; }
  .collection-spotlight { min-height:210px; }
  .all-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; }
  .section { padding:1.65rem 0; }
  .section__head { align-items:center; gap:.6rem; margin-bottom:.9rem; }
  .section__head > a { flex:none; padding:.35rem .55rem; border:1px solid #efd3e2; border-radius:999px; background:#fff; }
  .row-2 { grid-template-columns:1fr; gap:0; }
  .toolbar__form { grid-template-columns:1fr; }
  .toolbar__form label { grid-column:auto; }
  .toolbar__form .btn { width:100%; }
  .data { font-size:.8rem; }
  .checkout-summary .data,.summary .data { font-size:.78rem; }
  .checkout-page > h1 { margin-top:0; }
  .checkout-register-offer { align-items:flex-start; flex-direction:column; }
  .checkout-register-offer a { margin-left:0; }
  .receipt-upload { overflow:hidden; }
  .receipt-upload input[type="file"] { display:block; width:100%; font-size:.72rem; padding:.45rem; }
  .advance-callout { align-items:flex-start; flex-direction:column; }
  .advance-callout span { text-align:left; }
  .paymethod { min-width:0; }
  .paymethod > span { min-width:0; overflow-wrap:anywhere; }
  .review-entry footer { flex-direction:column; }
  .pdp__meta li { grid-template-columns:minmax(72px,90px) minmax(0,1fr); }
  .site-popup { border-radius:20px; }
  .site-popup__media { border-radius:19px 19px 0 0; }
}

@media (max-width:560px) {
  .shell { padding-inline:14px; }
  .header__inner { grid-template-columns:minmax(0,1fr) auto; gap:.28rem; }
  .brand { min-width:0; gap:.38rem; }
  .brand__logo,.brand img { height:44px; max-width:64px; flex:none; }
  .brand__name { min-width:0; max-width:none; overflow:visible; text-overflow:clip; white-space:nowrap; font-size:clamp(.93rem,4.2vw,1.12rem); }
  .header__tools { gap:0; }
  .tool { width:32px; height:32px; }
  .searchbox { width:100%; }
  .searchbox form { width:100%; }
  .searchbox input { min-width:0; }
  .topbar__item { font-size:.67rem; }
  .grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.6rem; }
  .card__body { padding:.65rem; }
  .card__title { font-size:.78rem; }
  .card .btn { width:100%; min-height:38px; }
  .panel { padding:.9rem; border-radius:12px; }
  .browse-head h1 { font-size:clamp(1.9rem,9vw,2.5rem); }
  .crumbs { margin-bottom:.55rem; }
  .category-page .toolbar { padding:.7rem; }
  .all-category-card > div { padding:.55rem .45rem .7rem; }
  .all-category-card strong { font-size:.8rem; line-height:1.25; }
  .collection-spotlight { border-radius:16px; min-height:190px; }
  .collection-spotlight__body { padding:1rem; }
  .site-popup-layer { padding:12px; }
  .site-popup__body { padding:1.1rem; }
  .site-popup__actions { flex-direction:column-reverse; }
  .site-popup__actions .btn { width:100%; }
  .footer { margin-top:1.25rem; }
  .wa-float { width:48px; height:48px; right:12px; bottom:12px; }
}

@media (max-width:380px) {
  .shell { padding-inline:12px; }
  .brand__logo,.brand img { height:40px; max-width:56px; }
  .brand__name { font-size:.9rem; }
  .tool { width:30px; height:30px; }
  .grid { grid-template-columns:1fr 1fr; gap:.5rem; }
  .all-category-grid { gap:.55rem; }
  .section__head h2 { font-size:1.3rem; }
}

/* ===================================================================
   Glam & Go v1.0.7 — polish, news ticker, mobile submenu & checkout
   =================================================================== */
/* Center the "Under Rs." quick filters cleanly. */
.quick-offer { justify-content:center; text-align:center; }
.quick-offer span { flex:1; text-align:center; }
.quick-offer img + span { text-align:left; }

/* Always-visible, admin-controlled crystal pills behind desktop menu items. */
.nav__link {
  margin:.28rem .08rem;
  padding:.48rem clamp(.52rem,.85vw,.78rem);
  background:color-mix(in srgb, var(--menu-crystal-color, #f7c7df) 24%, rgba(255,255,255,.72));
  border-color:color-mix(in srgb, var(--menu-crystal-color, #f7c7df) 40%, #fff);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.92), 0 4px 12px rgba(117,40,97,.07);
  backdrop-filter:blur(10px) saturate(1.25);
  -webkit-backdrop-filter:blur(10px) saturate(1.25);
}
.nav__link:hover,.nav__item:hover > .nav__link,.nav__link:focus-visible {
  background:color-mix(in srgb, var(--menu-crystal-color, #f7c7df) 44%, rgba(255,255,255,.78));
  border-color:color-mix(in srgb, var(--menu-crystal-color, #f7c7df) 62%, #fff);
}

/* Cooler sparkle shopping-bag cart button. */
.tool--cart { border-radius:50%; background:linear-gradient(145deg,rgba(255,255,255,.95),rgba(255,224,239,.72)); box-shadow:inset 0 1px 0 #fff,0 6px 16px rgba(129,37,100,.12); }
.tool--cart:hover { background:linear-gradient(145deg,#fff,#ffd8e9); transform:translateY(-1px); }

/* Light crystal product-card CTA instead of plain white. */
.card__body form .btn--ghost,.card__body > .btn--ghost {
  border-color:#e8bdd3;
  background:linear-gradient(135deg,rgba(255,246,251,.95),rgba(245,220,238,.76),rgba(236,225,255,.78));
  color:var(--berry-dark);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.98),0 6px 16px rgba(118,37,96,.08);
  backdrop-filter:blur(9px) saturate(1.25);
  -webkit-backdrop-filter:blur(9px) saturate(1.25);
}
.card__body form .btn--ghost:hover,.card__body > .btn--ghost:hover { background:linear-gradient(135deg,#ffe6f1,#efdfff); border-color:#d991b7; }

/* News popup images fit without being cropped. */
.site-popup__media { display:grid; place-items:center; min-height:150px; max-height:320px; padding:.45rem; }
.site-popup__media img { width:100%; height:100%; max-height:305px; object-fit:contain; object-position:center; border-radius:16px; }

/* Scrolling news strip remains on the homepage in addition to news popups. */
.section--news-ticker { overflow:hidden; background:linear-gradient(180deg,#fffafd,#fff4fa); border-block:1px solid #f3dce8; }
.news-marquee { overflow-x:auto; overflow-y:hidden; padding:.2rem 0 .45rem; scrollbar-width:none; scroll-behavior:auto; }
.news-marquee::-webkit-scrollbar { display:none; }
.news-marquee__track { width:max-content; display:flex; gap:.8rem; padding-right:.8rem; }
.news-ticker-card { width:min(360px,82vw); flex:0 0 min(360px,82vw); display:grid; grid-template-columns:76px minmax(0,1fr); gap:.8rem; align-items:center; min-height:92px; padding:.65rem .8rem; border:1px solid #efd4e3; border-radius:18px; background:rgba(255,255,255,.9); box-shadow:0 7px 20px rgba(105,39,89,.07); }
.news-ticker-card img { width:76px; height:76px; object-fit:contain; border-radius:13px; background:#fff5fa; }
.news-ticker-card span { min-width:0; }
.news-ticker-card strong,.news-ticker-card small { display:block; }
.news-ticker-card strong { color:var(--berry-dark); font-family:var(--display); font-size:1rem; }
.news-ticker-card small { margin-top:.22rem; color:var(--ink-mute); font-size:.76rem; line-height:1.35; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }


/* Small visual thumbnails inside expanded mobile submenus. */
.mobile-menu-sub { padding:.25rem .55rem .55rem 3.9rem; }
.mobile-menu-subrow { display:grid !important; grid-template-columns:30px minmax(0,1fr); gap:.55rem; align-items:center; min-height:42px; padding:.35rem .2rem !important; }
.mobile-menu-subrow img,.mobile-menu-subthumb { width:30px; height:30px; object-fit:cover; display:grid; place-items:center; border-radius:50%; border:1px solid #eed4e2; background:linear-gradient(135deg,#ffe3ee,#ece0ff); color:var(--berry); font-size:.72rem; font-family:var(--display); }

/* Saved checkout address: only show manual delivery form when requested. */
[data-manual-address][hidden] { display:none !important; }

@media (max-width:700px) {
  .quick-offers { padding:.65rem; }
  .quick-offer { min-width:0; flex:1 1 calc(50% - .4rem); max-width:none; padding:.58rem .62rem; }
  .quick-offer strong { font-size:.88rem; }
  .quick-offer small { font-size:.68rem; }
  .news-ticker-card { grid-template-columns:60px minmax(0,1fr); min-height:78px; }
  .news-ticker-card img { width:60px; height:60px; }
}
/* Fallback for browsers without color-mix(). */
.nav__link { background:rgba(247,199,223,.22); border-color:rgba(247,199,223,.38); background:color-mix(in srgb, var(--menu-crystal-color, #f7c7df) 24%, rgba(255,255,255,.72)); border-color:color-mix(in srgb, var(--menu-crystal-color, #f7c7df) 40%, #fff); }


/* ===================================================================
   Glam & Go v1.0.9 — menu, profile and cart corrections
   =================================================================== */
/* Keep the desktop navigation on one clean row. A wrapped main-menu item
   looked like part of the opened submenu on medium desktop widths. */
@media (min-width: 1101px) {
  .desktop-nav .shell { max-width:none; padding-inline:clamp(12px,2vw,30px); overflow:visible; }
  .desktop-nav .nav__list { flex-wrap:nowrap; justify-content:center; gap:0 .06rem; }
  .desktop-nav .nav__link { padding-inline:clamp(.36rem,.62vw,.68rem); font-size:clamp(.72rem,.76vw,.82rem); }
  .desktop-nav .nav__sub { z-index:70; top:calc(100% + 1px); }
}
@media (min-width: 901px) and (max-width: 1100px) {
  .desktop-nav { display:none !important; }
  .mobile-drawer { display:flex; }
  .mobile-menu-overlay { display:block; }
  .burger { display:grid !important; }
}

/* Cleaner glam shopping bag icon with a heart + sparkle. */
.tool--cart { background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(255,224,241,.88),rgba(236,224,255,.82)); border:1px solid rgba(213,115,164,.32); }
.tool--cart .cart-glam-icon { width:23px; height:23px; overflow:visible; }
.tool--cart .cart-glam-heart { fill:rgba(225,52,126,.18); stroke:var(--berry); stroke-width:1.25; }
.tool--cart .cart-glam-spark { fill:#d8a73b; stroke:none; }
.tool--cart:hover .cart-glam-icon { transform:rotate(-3deg) scale(1.05); }
.tool--cart .cart-glam-icon { transition:transform .18s ease; }

/* Display-only admin profile card. */
.admin-profile-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.85rem; }
.admin-profile-item { padding:1rem; border:1px solid var(--line); border-radius:14px; background:#fffafd; overflow-wrap:anywhere; }
.admin-profile-item span { display:block; margin-bottom:.28rem; color:var(--ink-mute); font-size:.76rem; text-transform:uppercase; letter-spacing:.04em; }
.admin-profile-item strong { color:var(--berry-dark); font-size:.96rem; }
@media (max-width:700px) { .admin-profile-grid { grid-template-columns:1fr; } }

/* ===================================================================
   Glam & Go v1.0.11 — checkout payment accounts + contact polish
   =================================================================== */
/* Saved-address and COD blocks use the same clean card treatment as the
   order summary so checkout reads as one consistent three-card system. */
.checkout-feature-card,
.checkout-summary {
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  box-shadow:0 8px 26px rgba(97,33,84,.06);
}
.cod-panel.checkout-feature-card { background:#fff; }
.checkout-feature-card > h3,
.checkout-feature-card .cod-panel__head h3,
.checkout-summary > h3 { margin-top:0; }

/* Admin-configured Easypaisa / JazzCash account cards. */
.payment-accounts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; margin:1rem 0; }
.payment-account { min-width:0; padding:.9rem; border:1px solid #eed2e1; border-radius:16px; background:linear-gradient(145deg,#fff,#fff7fb); box-shadow:inset 0 1px 0 rgba(255,255,255,.95); }
.payment-account__brand { display:flex; align-items:center; gap:.65rem; margin-bottom:.7rem; }
.payment-account__brand img { width:54px; height:38px; object-fit:contain; padding:.2rem; border-radius:10px; background:#fff; border:1px solid #f1dce7; }
.payment-account__brand strong { color:var(--berry-dark); font-family:var(--display); font-size:1.05rem; }
.payment-account__fallback { width:38px; height:38px; display:grid; place-items:center; border-radius:12px; background:linear-gradient(135deg,#ffe1ef,#ece2ff); color:var(--berry); font-weight:900; }
.payment-account p { margin:.35rem 0 0; }
.payment-account p span { display:block; color:var(--ink-mute); font-size:.72rem; text-transform:uppercase; letter-spacing:.035em; }
.payment-account p b { display:block; margin-top:.1rem; color:var(--ink); font-size:.9rem; overflow-wrap:anywhere; }
.payment-accounts--confirm { max-width:760px; }

/* Contact page uses the contact + WhatsApp values from Admin > Site settings. */
.contact-page-card { max-width:980px; margin-inline:auto; }
.contact-page-intro { margin-bottom:1.2rem; color:var(--ink-soft); }
.contact-methods { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.85rem; margin-top:1rem; }
.contact-method { display:grid; grid-template-columns:48px minmax(0,1fr); gap:.8rem; align-items:start; padding:1rem; border:1px solid #efd3e2; border-radius:18px; background:linear-gradient(145deg,#fff,#fff7fb); }
.contact-method__icon { width:48px; height:48px; display:grid; place-items:center; border-radius:15px; background:linear-gradient(135deg,#ffe0ee,#eee2ff); color:var(--berry-dark); font-weight:900; font-size:1.05rem; }
.contact-method > div:last-child > span { display:block; color:var(--ink-mute); font-size:.76rem; text-transform:uppercase; letter-spacing:.04em; }
.contact-method strong { display:block; margin:.14rem 0; color:var(--ink); overflow-wrap:anywhere; }
.contact-method small { display:block; margin-top:.25rem; color:var(--ink-mute); line-height:1.45; }
.contact-method a:not(.btn) { color:var(--berry-dark); }
.contact-whatsapp-btn { width:max-content; max-width:100%; margin-top:.7rem; }

@media (max-width:700px) {
  .payment-accounts,.contact-methods { grid-template-columns:1fr; }
  .checkout-feature-card,.checkout-summary { border-radius:16px; padding:.95rem; }
  .payment-account { padding:.8rem; }
  .contact-method { grid-template-columns:42px minmax(0,1fr); padding:.85rem; }
  .contact-method__icon { width:42px; height:42px; border-radius:13px; }
}

/* ===================================================================
   Glam & Go v1.0.12 — saved items, codes, compact hero/order success
   =================================================================== */
/* Slightly shorter homepage banner while preserving the current artwork. */
.hero,.hero__content { min-height:clamp(340px,38vw,520px); }
@media (max-width:900px) { .hero,.hero__content { min-height:370px; } }
@media (max-width:560px) { .hero,.hero__content { min-height:350px; } }

/* Cute text/emoji submenu icons managed from Admin > Categories. */
.nav__sub a { display:flex; align-items:center; gap:.5rem; }
.nav__subicon { width:1.4rem; height:1.4rem; flex:none; display:grid; place-items:center; border-radius:50%; background:linear-gradient(145deg,#fff0f7,#f2eaff); border:1px solid #efd6e5; font-size:.78rem; box-shadow:inset 0 1px 0 #fff; }
.mobile-menu-subthumb--icon { display:grid !important; place-items:center; font-size:.8rem; background:linear-gradient(145deg,#fff0f7,#f1e8ff); border:1px solid #edd1e1; }

/* Favourites / wishlist tools and save buttons. */
.tool--favorite,.tool--wishlist { position:relative; }
.tool--favorite svg,.tool--wishlist svg { fill:none; stroke:currentColor; stroke-width:1.7; stroke-linejoin:round; }
.card { position:relative; }
.card-save-form { position:absolute; top:.55rem; right:.55rem; z-index:6; margin:0; }
.card-save { width:36px; height:36px; display:grid; place-items:center; border:1px solid rgba(222,145,182,.5); border-radius:50%; background:rgba(255,255,255,.88); color:#a96b8a; font-size:1.15rem; cursor:pointer; box-shadow:0 7px 18px rgba(86,31,73,.12); backdrop-filter:blur(8px); }
.card-save:hover,.card-save.is-saved { color:#fff; background:linear-gradient(135deg,#ed438d,#c5226a); border-color:#d8327d; transform:translateY(-1px); }
.pdp-save-form { margin:.7rem 0 0; }
.btn--favorite,.btn--wishlist { border-color:#ecc3d8; color:var(--berry-dark); background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(255,229,242,.85),rgba(240,230,255,.75)); }
.btn--favorite.is-saved,.btn--wishlist.is-saved { background:linear-gradient(135deg,#fce2ee,#efe4ff); border-color:#df8db6; }
.saved-page .grid { margin-top:.4rem; }
.return-destination { margin:.85rem 0 0; padding:.7rem .8rem; border-radius:12px; background:#fff0f7; color:var(--ink-soft); font-size:.88rem; }

/* Global discount / gift-card popup — intentionally appears on each page visit. */
.code-popup-layer { position:fixed; inset:0; z-index:285; display:grid; place-items:center; padding:20px; background:rgba(44,11,39,.48); backdrop-filter:blur(5px); -webkit-backdrop-filter:blur(5px); }
.code-popup-layer[hidden] { display:none !important; }
.code-popup { position:relative; width:min(480px,100%); padding:clamp(1.15rem,3vw,1.65rem); border:1px solid rgba(233,176,207,.9); border-radius:24px; background:linear-gradient(145deg,#fff,#fff0f7 60%,#f3ebff); box-shadow:0 28px 80px rgba(55,13,48,.28); text-align:center; }
.code-popup h2 { margin:.45rem 0 .35rem; font-size:clamp(1.7rem,5vw,2.35rem); }
.code-popup p { margin:.4rem auto .85rem; max-width:40ch; }
.code-copy-box { display:flex; align-items:center; justify-content:space-between; gap:.7rem; margin:1rem 0 .7rem; padding:.55rem .6rem .55rem 1rem; border:1px dashed #d36b9f; border-radius:14px; background:#fff; }
.code-copy-box strong { letter-spacing:.12em; color:var(--berry-dark); font-size:1.08rem; overflow-wrap:anywhere; }
@media (max-width:480px) { .code-copy-box { flex-direction:column; padding:.8rem; } .code-copy-box .btn { width:100%; } }

/* Checkout code / gift-card field. */
.checkout-code-box { margin:.9rem 0 1rem; padding:.85rem; border:1px solid #edd0df; border-radius:14px; background:linear-gradient(145deg,#fff,#fff7fb); }
.checkout-code-box > label { display:block; margin-bottom:.45rem; font-weight:800; color:var(--ink); }
.checkout-code-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.45rem; }
.checkout-code-row input { min-width:0; }
.applied-code { display:flex; align-items:center; justify-content:space-between; gap:.7rem; margin-top:.55rem; color:#157047; font-size:.84rem; }
.text-button { padding:0; border:0; background:none; color:var(--berry); font:inherit; font-weight:800; cursor:pointer; text-decoration:underline; }

/* More compact order-success presentation; no huge unused side areas. */
.confirm-page { max-width:1180px; }
.confirm-hero--compact { max-width:780px; margin-inline:auto; padding:clamp(1.45rem,3vw,2.25rem); border-radius:24px; }
.confirm-hero--compact .tick { margin-inline:auto; }
.confirm-hero--compact h1 { font-size:clamp(2rem,5vw,3.2rem); }
.confirm-actions { display:flex; justify-content:center; flex-wrap:wrap; gap:.55rem; margin-top:1rem; }
.confirm-page .dispatch-panel { max-width:980px; margin-inline:auto; }
.confirm-page .confirm-layout { max-width:1100px; margin-inline:auto; }

/* Brand the floating WhatsApp launcher with the store name like a support pill. */
.wa-float--brand { width:auto; height:48px; min-width:48px; padding:0 .85rem; display:flex; align-items:center; gap:.45rem; border-radius:999px; font-weight:800; font-size:.82rem; text-decoration:none; }
.wa-float--brand svg { width:24px; height:24px; flex:none; }
@media (max-width:560px) { .wa-float--brand { width:48px; padding:0; justify-content:center; } .wa-float--brand span { display:none; } }

@media (max-width:700px) {
  .checkout-code-row { grid-template-columns:1fr; }
  .checkout-code-row .btn { width:100%; }
  .confirm-hero--compact { border-radius:18px; }
}
.account-saved-links { display:flex; flex-wrap:wrap; gap:.55rem; margin:-.15rem 0 1rem; }

/* Glam & Go v1.0.13 — one-time offer popup + dedicated offers page */
.code-popup-layer { display:none; }
.code-popup-layer.is-visible { display:grid; }
.popup-code-use-form { margin:0; }
.nav__link--offers { color:var(--berry-dark); }
.mobile-menu-thumb--offers { background:linear-gradient(145deg,#ffe5f1,#f1e6ff); color:var(--berry-dark); font-weight:900; }
.offers-page .section-head p { margin:.3rem 0 0; max-width:62ch; }
.offers-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.offer-detail-card { border:1px solid #edcddd; border-radius:22px; padding:1.1rem; background:linear-gradient(145deg,#fff,#fff6fb 62%,#f7f0ff); box-shadow:0 12px 35px rgba(83,20,67,.08); }
.offer-detail-card.is-used { opacity:.72; }
.offer-detail-card__top,.offer-detail-card__actions { display:flex; align-items:center; justify-content:space-between; gap:.6rem; flex-wrap:wrap; }
.offer-detail-card h2 { margin:.75rem 0 .35rem; }
.offer-detail-card p { margin:.35rem 0 .8rem; }
.offer-detail-card__actions { margin-top:.9rem; }
.offer-detail-card__actions form { margin:0; }
@media (max-width:900px) { .offers-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:620px) { .offers-grid { grid-template-columns:1fr; } .offers-page .section-head--split { align-items:flex-start; } }

/* v1.0.19 — storefront-style customer review scroller */
.review-rail-shell {
  overflow: hidden;
  position: relative;
  margin-inline: -8px;
  padding-inline: 8px;
}
.review-rail-shell::before,
.review-rail-shell::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 1rem;
  z-index: 2;
  width: clamp(10px, 2.2vw, 34px);
  pointer-events: none;
}
.review-rail-shell::before {
  left: 0;
  background: linear-gradient(90deg, rgba(255,248,251,.95), rgba(255,248,251,0));
}
.review-rail-shell::after {
  right: 0;
  background: linear-gradient(270deg, rgba(248,240,255,.95), rgba(248,240,255,0));
}
.review-rail[data-auto-rail] {
  overflow-x: auto;
  overflow-y: hidden;
  scroll-behavior: auto;
  scroll-snap-type: none;
  overscroll-behavior-inline: contain;
  padding: .45rem clamp(18px, 2.6vw, 36px) 1rem;
  scrollbar-width: none;
  touch-action: pan-x pan-y;
}
.review-rail[data-auto-rail]::-webkit-scrollbar { display: none; }
.review-rail[data-auto-rail] > * { scroll-snap-align: none; }
.review-rail .review-card {
  width: clamp(300px, 27vw, 360px);
  flex: 0 0 clamp(300px, 27vw, 360px);
  max-width: calc(100vw - 72px);
  min-height: 205px;
}
@media (max-width: 760px) {
  .review-rail-shell { margin-inline: -4px; padding-inline: 4px; }
  .review-rail[data-auto-rail] { padding-inline: 18px; }
  .review-rail .review-card {
    width: min(82vw, 340px);
    flex-basis: min(82vw, 340px);
    max-width: min(82vw, 340px);
  }
}

/* ===================================================================
   Glam & Go v1.0.22 — storefront refinements
   =================================================================== */

/* Tighter homepage rhythm: product/news/review widgets sit closer together. */
.home-product-section { padding: clamp(1.05rem, 2.2vw, 1.65rem) 0; }
.home-product-section + .home-product-section { padding-top: clamp(.45rem, 1.2vw, .85rem); }
.home-product-section .section__head { margin-bottom: .8rem; }

/* Homepage SEO copy gets a soft premium panel instead of a plain white block. */
.section--seo { padding: clamp(1.1rem, 2.4vw, 1.8rem) 0 clamp(1.7rem, 3vw, 2.5rem); }
.section--seo .seo-panel {
  position: relative; overflow: hidden; padding: clamp(1.35rem, 3vw, 2rem);
  border: 1px solid #edd9e4; border-radius: 24px;
  background:
    radial-gradient(circle at 10% 12%, rgba(255,224,237,.72), transparent 28%),
    radial-gradient(circle at 92% 82%, rgba(236,225,255,.65), transparent 30%),
    linear-gradient(135deg, #fffdfd 0%, #fff6fa 48%, #f9f4ff 100%);
  box-shadow: 0 14px 36px rgba(92,34,80,.08);
}
.section--seo .seo-panel::after {
  content: "✦"; position: absolute; right: clamp(14px,3vw,34px); top: clamp(10px,2vw,22px);
  color: rgba(181,31,103,.14); font-size: clamp(2.4rem,6vw,4.8rem); line-height: 1;
}
.section--seo .seo-panel h2 { max-width: 28ch; color: var(--berry-dark); font-size: clamp(1.55rem,3vw,2.25rem); }
.section--seo .seo-panel p { color: var(--ink-soft); }

/* Larger, richer news cards. All active admin items remain in one swipeable rail. */
.news-marquee { padding: .25rem 0 .65rem; }
.news-marquee__track { gap: 1rem; padding-right: 1rem; }
.news-ticker-card {
  width: min(520px, 88vw); flex: 0 0 min(520px, 88vw); min-height: 210px; padding: 0;
  grid-template-columns: minmax(155px, 42%) minmax(0, 1fr); gap: 0; align-items: stretch;
  overflow: hidden; border-radius: 22px; background: #fff;
  box-shadow: 0 12px 30px rgba(105,39,89,.10);
}
.news-ticker-card__media { min-height: 210px; overflow: hidden; background: linear-gradient(135deg,#fff0f6,#f3ecff); }
.news-ticker-card__media img { width: 100%; height: 100%; min-height: 210px; object-fit: cover; border-radius: 0; }
.news-ticker-card__body { grid-column: 2; display: flex; min-width: 0; flex-direction: column; justify-content: center; padding: 1.1rem 1.2rem; }
.news-ticker-card > .news-ticker-card__body:first-child { grid-column: 1 / -1; }
.news-ticker-card__body strong { color: var(--berry-dark); font-family: var(--display); font-size: clamp(1.2rem,2vw,1.55rem); line-height: 1.2; }
.news-ticker-card__body small { margin-top: .45rem; color: var(--ink-soft); font-size: .84rem; line-height: 1.5; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; overflow: hidden; }
.news-ticker-card__body em { margin-top: .8rem; color: var(--berry); font-style: normal; font-size: .8rem; font-weight: 800; }

/* Category filter stays collapsed to a single funnel icon until requested. */
.toolbar--collapsible { align-items: flex-start; flex-wrap: wrap; }
.filter-panel { margin-left: auto; }
.filter-panel[open] { flex: 1 1 100%; width: 100%; }
.filter-panel > summary::-webkit-details-marker { display: none; }
.filter-toggle {
  position: relative; width: 44px; height: 44px; margin-left: auto; display: grid; place-items: center;
  list-style: none; cursor: pointer; border: 1px solid #e9ccdc; border-radius: 50%; background: #fff;
  color: var(--berry-dark); box-shadow: 0 5px 15px rgba(95,33,82,.08);
}
.filter-toggle:hover { background: var(--blush); border-color: #dfaac6; }
.filter-toggle svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.filter-toggle span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.filter-toggle b { position: absolute; right: 2px; top: -2px; color: var(--sale); font-size: 1.15rem; line-height: 1; }
.filter-panel__body {
  width: 100%; margin-top: .7rem; padding: .85rem; display: grid;
  grid-template-columns: minmax(150px,.6fr) minmax(190px,1fr) auto; gap: .7rem; align-items: end;
  border: 1px solid #f0dbe7; border-radius: 16px; background: linear-gradient(135deg,#fff,#fff8fb);
}
.filter-panel__body .field { margin: 0; }
.filter-panel__body .field label { display: block; margin-bottom: .25rem; }
.filter-panel__actions { display: flex; gap: .45rem; }

/* Product gallery: contain images, auto-rotate, arrows/dots, and swipe. */
.gallery__main { position: relative; aspect-ratio: 1 / 1; max-height: min(78vh, 760px); background: #fff; touch-action: pan-y; }
.gallery__track { position: absolute; inset: 0; }
.gallery__slide { position: absolute; inset: 0; margin: 0; display: grid; place-items: center; opacity: 0; visibility: hidden; transition: opacity .38s ease, visibility .38s ease; }
.gallery__slide.is-active { opacity: 1; visibility: visible; }
.gallery__slide img { width: 100%; height: 100%; aspect-ratio: auto; object-fit: contain; object-position: center; background: #fff; }
.gallery__arrow {
  position: absolute; top: 50%; z-index: 4; width: 42px; height: 42px; transform: translateY(-50%);
  display: grid; place-items: center; border: 1px solid rgba(255,255,255,.85); border-radius: 50%;
  background: rgba(60,18,52,.50); color: #fff; font-size: 1.8rem; line-height: 1; cursor: pointer;
  backdrop-filter: blur(7px);
}
.gallery__arrow--prev { left: 12px; }
.gallery__arrow--next { right: 12px; }
.gallery__dots { position: absolute; z-index: 4; left: 50%; bottom: 12px; transform: translateX(-50%); display: flex; gap: 6px; padding: 6px 8px; border-radius: 999px; background: rgba(255,255,255,.72); backdrop-filter: blur(7px); }
.gallery__dots button { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 50%; background: #c8a9bb; cursor: pointer; }
.gallery__dots button.is-active { width: 22px; border-radius: 999px; background: var(--berry); }
.gallery__thumbs img { object-fit: contain; background: #fff; }

/* Text-pill product choices replace colour dropdowns. */
.product-option--choices { margin: .8rem 0; padding: 0; border: 0; min-width: 0; }
.product-option--choices legend { width: 100%; margin-bottom: .5rem; font-weight: 800; font-size: .84rem; }
.choice-help { margin-left: .35rem; color: var(--ink-mute); font-weight: 500; font-size: .75rem; }
.option-pills { display: flex; flex-wrap: wrap; gap: .55rem; }
.option-pill { position: relative; cursor: pointer; }
.option-pill input { position: absolute; opacity: 0; pointer-events: none; }
.option-pill span { display: inline-flex; min-height: 38px; align-items: center; justify-content: center; padding: .48rem .85rem; border: 1px solid #e8c8d9; border-radius: 999px; background: #fff; color: var(--ink); font-size: .82rem; font-weight: 700; transition: .16s ease; }
.option-pill:hover span { border-color: #d78caf; background: #fff5fa; }
.option-pill input:checked + span { border-color: var(--berry); background: linear-gradient(135deg,#ffe8f2,#f1e9ff); color: var(--berry-dark); box-shadow: 0 0 0 2px rgba(181,31,103,.08); }
.option-pill input:focus-visible + span { outline: 3px solid rgba(239,79,145,.28); outline-offset: 2px; }

@media (max-width: 760px) {
  .home-product-section { padding: .9rem 0; }
  .news-ticker-card { width: min(88vw, 430px); flex-basis: min(88vw, 430px); min-height: 178px; grid-template-columns: 38% minmax(0,1fr); }
  .news-ticker-card__media, .news-ticker-card__media img { min-height: 178px; }
  .news-ticker-card__body { padding: .85rem; }
  .filter-panel__body { grid-template-columns: 1fr; }
  .filter-panel__actions .btn { flex: 1; }
  .gallery__main { width: 100%; max-width: 100%; max-height: min(68vh, 600px); }
}

@media (max-width: 520px) {
  .news-ticker-card { min-height: 160px; grid-template-columns: 34% minmax(0,1fr); }
  .news-ticker-card__media, .news-ticker-card__media img { min-height: 160px; }
  .news-ticker-card__body small { -webkit-line-clamp: 3; }
  .gallery__arrow { width: 36px; height: 36px; font-size: 1.5rem; }
  .gallery__arrow--prev { left: 8px; }
  .gallery__arrow--next { right: 8px; }
}

/* v1.0.22 final polish requested for the live storefront. */
.section--news-ticker {
  padding-block: clamp(1rem, 2.4vw, 1.7rem);
  background:
    radial-gradient(circle at 8% 18%, rgba(255,224,237,.72), transparent 24%),
    radial-gradient(circle at 92% 78%, rgba(235,225,255,.72), transparent 26%),
    linear-gradient(180deg,#fffafd,#fff5fa 58%,#fbf7ff);
}
.section--news-ticker .section__head h2 {
  color: var(--berry-dark);
  font-size: clamp(2rem, 4.4vw, 3.25rem);
  line-height: 1.05;
}
.section--news-ticker .section__sub { max-width: 60ch; font-size: .95rem; }
.news-ticker-card { border: 1px solid #efd8e5; }
.news-ticker-card:hover { transform: translateY(-3px); box-shadow: 0 18px 40px rgba(105,39,89,.14); }
.news-ticker-card__media img { object-position: center; }

/* Keep the full product artwork visible on cards as well as the product page. */
.card__media { background: linear-gradient(145deg,#fff,#fff7fb); }
.card__media img { object-fit: contain; object-position: center; background: #fff; }

/* Keep homepage content bands visually connected rather than leaving large gaps. */
.home-product-section + .home-product-section { margin-top: 0; }
.home-product-section .rail-shell { margin-bottom: 0; }
.section--reviews.home-product-section { padding-top: clamp(.7rem,1.5vw,1rem); }

/* Product gallery should never exceed the useful viewport on desktop. */
.gallery__main { width: 100%; max-width: 100%; }
.gallery__slide img { user-select: none; -webkit-user-drag: none; }

@media (max-width: 760px) {
  .section--news-ticker .section__head h2 { font-size: clamp(1.8rem, 8vw, 2.55rem); }
}


/* ===================================================================
   v1.0.23 r2 — compact filters + true horizontal product-image slider
   =================================================================== */
.toolbar--collapsible {
  min-height: 42px; padding: .3rem .42rem; gap: .35rem; align-items: center;
}
.toolbar--collapsible .toolbar__count { align-self: center; line-height: 1.15; font-size: .82rem; }
.filter-panel { margin-left: auto; width: auto; max-width: 100%; }
.filter-panel[open] { flex: 0 1 520px; width: min(100%, 520px); }
.filter-toggle { width: 32px; height: 32px; border-radius: 10px; box-shadow: 0 2px 8px rgba(95,33,82,.06); }
.filter-toggle svg { width: 15px; height: 15px; }
.filter-panel__body {
  margin-top: .28rem; padding: .34rem .38rem;
  grid-template-columns: 84px minmax(145px, 1fr) auto; gap: .32rem;
  border-radius: 10px;
}
.filter-panel__body .field label { margin-bottom: .1rem; font-size: .64rem; line-height: 1; }
.filter-panel__body input, .filter-panel__body select {
  min-height: 30px; height: 30px; padding: .22rem .45rem; border-radius: 8px; font-size: .74rem;
}
.filter-panel__actions { gap: .28rem; align-items: end; }
.filter-panel__actions .btn { min-height: 30px; width: auto; padding: .28rem .58rem; font-size: .7rem; border-radius: 999px; }

/* The gallery moves as one horizontal track instead of cross-fading images. */
.gallery__main { overflow: hidden; cursor: grab; touch-action: pan-y; }
.gallery.is-dragging .gallery__main { cursor: grabbing; }
.gallery__track {
  display: flex; width: 100%; height: 100%; transform: translate3d(0,0,0);
  transition: transform .42s cubic-bezier(.22,.72,.2,1); will-change: transform;
}
.gallery__slide, .gallery__slide.is-active {
  position: relative; inset: auto; flex: 0 0 100%; width: 100%; height: 100%;
  opacity: 1; visibility: visible; transition: none;
}
.gallery__slide img { pointer-events: none; }

@media (max-width: 760px) {
  .toolbar--collapsible { flex-direction: row; flex-wrap: wrap; align-items: center; padding: .28rem .36rem; }
  .toolbar--collapsible .toolbar__count { flex: 1 1 auto; font-size: .78rem; }
  .filter-panel { flex: 0 0 auto; }
  .filter-panel[open] { flex: 1 1 100%; width: 100%; }
  .filter-panel__body { grid-template-columns: 78px minmax(120px,1fr) auto; padding: .32rem; gap: .28rem; }
  .filter-panel__actions { justify-content: flex-end; }
  .filter-panel__actions .btn { width: auto; min-width: 52px; }
}
@media (max-width: 430px) {
  .toolbar--collapsible { margin-block: .55rem; }
  .filter-panel__body { grid-template-columns: 72px minmax(0,1fr); }
  .filter-panel__actions { grid-column: 1 / -1; justify-content: flex-end; }
  .filter-panel__actions .btn { flex: 0 0 auto; }
}

/* ===================================================================
   v1.0.23 r3 — mobile filter containment fix
   Keep row 1 = product count + filter icon, row 2 = compact controls.
   =================================================================== */
.filter-panel__body .field { min-width: 0; }
.filter-panel__body input,
.filter-panel__body select {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

@media (max-width: 760px) {
  .toolbar--collapsible {
    position: relative;
    display: block;
    min-width: 0;
    width: 100%;
    min-height: 38px;
    padding: .28rem .34rem;
    overflow: visible;
  }
  .toolbar--collapsible .toolbar__count {
    display: block;
    width: 100%;
    min-width: 0;
    padding: .38rem 38px .38rem .12rem;
    font-size: .74rem;
    line-height: 1.1;
  }
  .toolbar--collapsible .filter-panel,
  .toolbar--collapsible .filter-panel[open] {
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 0;
    min-width: 0;
  }
  .toolbar--collapsible .filter-toggle {
    position: absolute;
    top: .3rem;
    right: .34rem;
    width: 28px;
    height: 28px;
    margin: 0;
    border-radius: 9px;
  }
  .toolbar--collapsible .filter-toggle svg { width: 14px; height: 14px; }
  .toolbar--collapsible .filter-panel__body {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: .12rem 0 0;
    padding: .28rem;
    display: grid;
    grid-template-columns: minmax(42px, .52fr) minmax(0, 1fr) auto;
    gap: .22rem;
    align-items: end;
    overflow: visible;
  }
  .toolbar--collapsible .filter-panel__body .field { min-width: 0; width: 100%; }
  .toolbar--collapsible .filter-panel__body .field label {
    margin: 0 0 .08rem;
    font-size: .58rem;
    line-height: 1;
    white-space: nowrap;
  }
  .toolbar--collapsible .filter-panel__body input,
  .toolbar--collapsible .filter-panel__body select {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    height: 27px;
    min-height: 27px;
    padding: .12rem .28rem;
    font-size: .64rem;
    line-height: 1;
    border-radius: 7px;
  }
  .toolbar--collapsible .filter-panel__actions {
    display: grid;
    grid-template-columns: auto auto;
    gap: .16rem;
    min-width: 0;
    align-items: end;
    justify-content: end;
  }
  .toolbar--collapsible .filter-panel__actions .btn {
    flex: none;
    min-width: 0;
    width: auto;
    min-height: 27px;
    height: 27px;
    padding: .12rem .38rem;
    font-size: .58rem;
    line-height: 1;
    white-space: nowrap;
  }
}

@media (max-width: 430px) {
  .toolbar--collapsible { margin-block: .48rem; padding: .24rem .28rem; }
  .toolbar--collapsible .toolbar__count { padding-right: 34px; font-size: .7rem; }
  .toolbar--collapsible .filter-toggle {
    top: .25rem;
    right: .28rem;
    width: 27px;
    height: 27px;
  }
  .toolbar--collapsible .filter-panel__body {
    grid-template-columns: minmax(38px, .48fr) minmax(0, 1fr) auto;
    gap: .16rem;
    padding: .22rem;
  }
  .toolbar--collapsible .filter-panel__body .field label { font-size: .54rem; }
  .toolbar--collapsible .filter-panel__body input,
  .toolbar--collapsible .filter-panel__body select {
    height: 25px;
    min-height: 25px;
    padding: .08rem .2rem;
    font-size: .58rem;
  }
  .toolbar--collapsible .filter-panel__actions { grid-column: auto; gap: .1rem; }
  .toolbar--collapsible .filter-panel__actions .btn {
    min-width: 0;
    height: 25px;
    min-height: 25px;
    padding: .08rem .28rem;
    font-size: .53rem;
  }
}


/* ===================================================================
   v1.0.23 r4 — live-safe storefront visual/interaction fixes
   CSS/JS/template-only. No database, product, order or upload mutation.
   =================================================================== */

/* 1) Homepage Shop by category — clean compact treatment like the supplied
   reference: centred uppercase heading, simple circular artwork and labels. */
.shop-by-category-section {
  padding: clamp(1.1rem, 2vw, 1.55rem) 0 clamp(1.25rem, 2.2vw, 1.7rem);
  background: #fff;
}
.shop-by-category-section .section__head {
  display: block;
  margin-bottom: clamp(.8rem, 1.4vw, 1.05rem);
  text-align: center;
}
.shop-by-category-section .section__head > div { width: 100%; }
.shop-by-category-section .section__head h2 {
  margin: 0;
  font-family: var(--body);
  font-size: clamp(.8rem, 1vw, .98rem);
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: .035em;
  text-transform: uppercase;
  color: #1f1821;
}
.shop-by-category-section .section__head h2::after,
.shop-by-category-section .section__sub,
.shop-by-category-section .section__head > a { display: none; }
.shop-by-category-section .rail-shell { margin: 0; }
.shop-by-category-section .catrail.rail {
  justify-content: center;
  gap: clamp(1rem, 2.2vw, 2.5rem);
  padding: .12rem .2rem .2rem;
  scroll-snap-type: x proximity;
}
.shop-by-category-section .catrail.rail .catrail__item {
  width: clamp(86px, 7.7vw, 116px);
  flex: 0 0 clamp(86px, 7.7vw, 116px);
  font-size: .7rem;
  font-weight: 600;
  color: #241b27;
}
.shop-by-category-section .catrail img,
.shop-by-category-section .catrail__fallback {
  width: 100%;
  aspect-ratio: 1;
  border: 1px solid #f1d9e2;
  border-radius: 50%;
  background: #fce8ed;
  box-shadow: none;
  object-fit: cover;
}
.shop-by-category-section .catrail a:hover img,
.shop-by-category-section .catrail a:hover .catrail__fallback {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(117,40,97,.10);
}
.shop-by-category-section .catrail span {
  margin-top: .46rem;
  font-size: .68rem;
  line-height: 1.2;
  font-weight: 600;
  letter-spacing: .01em;
  text-transform: uppercase;
}
.shop-by-category-section .rail-arrow { display: none; }

/* 2) Keep the admin-uploaded hero artwork in its original colours. The hero
   image still fills the viewport width; only the purple wash is removed. */
.hero__wash { background: transparent !important; pointer-events: none; }
.hero__slide { background-repeat: no-repeat; background-size: cover; background-position: center; }
.hero__text h1,
.hero__text p { text-shadow: 0 2px 14px rgba(35,10,28,.30); }

/* 3) The social links remain visible at the right edge of the announcement
   ticker on mobile instead of being hidden by the older responsive rules. */
@media (max-width: 900px) {
  .topbar__ticker { min-width: 0; flex: 1 1 auto; }
  .topbar__social {
    display: flex !important;
    align-items: center;
    flex: 0 0 auto;
    padding: 0 .3rem 0 .2rem;
    background: linear-gradient(90deg, rgba(124,24,78,0), rgba(91,20,74,.92) 28%);
  }
  .topbar .topbar__social .social { display: flex !important; gap: 0; }
  .topbar__social .social a { width: 25px; height: 25px; }
  .topbar__social .social svg { width: 12px; height: 12px; }
}
@media (max-width: 430px) {
  .topbar__social { padding-right: .15rem; }
  .topbar__social .social a { width: 23px; height: 23px; }
  .topbar__social .social svg { width: 11px; height: 11px; }
}

/* 4) Homepage content below the hero may use the full viewport width on wide
   CSS viewports (including browser zoom-out), avoiding large empty side bands. */
.home-product-section > .shell,
.quick-offers-shell {
  max-width: none;
  padding-inline: clamp(18px, 2.2vw, 40px);
}
@media (max-width: 700px) {
  .home-product-section > .shell,
  .quick-offers-shell { padding-inline: 14px; }
  .shop-by-category-section .catrail.rail {
    justify-content: flex-start;
    gap: .85rem;
    padding-inline: .1rem;
  }
  .shop-by-category-section .catrail.rail .catrail__item {
    width: 82px;
    flex-basis: 82px;
  }
  .shop-by-category-section .catrail span { font-size: .62rem; }
}

/* 5) Product gallery controls must always sit above the draggable image track
   and remain clickable with a mouse on desktop/laptop. */
.gallery__track { z-index: 1; }
.gallery__arrow,
.gallery__dots { z-index: 10; pointer-events: auto; }
.gallery__arrow { touch-action: manipulation; }
.gallery__thumbs button { touch-action: manipulation; }

/* ===================================================================
   v1.0.23 R5 — category marquee, brand polish, Most Loved mosaic,
   product information accordions and product review slider.
   =================================================================== */

/* Header/footer logo: crop the uploaded logo to a clean circle and zoom the
   artwork slightly so internal whitespace in square logo files is less visible. */
.brand__logo-wrap {
  width: 58px;
  height: 58px;
  flex: 0 0 58px;
  display: block;
  overflow: hidden;
  border-radius: 50%;
  background: #fff6fa;
  box-shadow: 0 0 0 1px rgba(203, 91, 145, .16), 0 5px 16px rgba(93, 32, 75, .10);
}
.brand__logo-wrap .brand__logo,
.brand__logo-wrap img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover;
  object-position: center;
  border-radius: 0;
  transform: scale(1.22);
  transform-origin: center;
}
.footer-brand__logo-wrap {
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
  display: block;
  overflow: hidden;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 0 1px rgba(255,255,255,.16);
}
.footer-brand__logo-wrap img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover;
  object-position: center;
  transform: scale(1.22);
}

/* Shop by category: larger edge-to-edge badge slots with no decorative border,
   no card background and a continuously moving one-way rail. */
.shop-by-category-section {
  overflow: hidden;
  padding-block: clamp(1.15rem, 2vw, 1.65rem);
}
.shop-by-category-section .category-marquee-shell {
  overflow: hidden;
  margin-inline: calc(clamp(18px, 2.2vw, 40px) * -1);
}
.shop-by-category-section .catrail.rail {
  justify-content: flex-start;
  gap: clamp(1.15rem, 2vw, 2rem);
  padding: .15rem clamp(18px, 2.2vw, 40px) .35rem;
  scroll-snap-type: none;
  scroll-behavior: auto;
}
.shop-by-category-section .catrail.rail > * { scroll-snap-align: none; }
.shop-by-category-section .catrail.rail .catrail__item {
  width: 132px;
  flex: 0 0 132px;
  font-size: .72rem;
}
.shop-by-category-section .catrail img,
.shop-by-category-section .catrail__fallback {
  display: block;
  width: 132px;
  height: 132px;
  aspect-ratio: 1;
  border: 0 !important;
  border-radius: 50%;
  box-shadow: none !important;
  background: transparent;
  object-fit: cover;
  object-position: center;
  clip-path: circle(50% at 50% 50%);
}
.shop-by-category-section .catrail__fallback {
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, #fde8f0, #f3e9ff);
  font-size: 2.35rem;
}
.shop-by-category-section .catrail a:hover img,
.shop-by-category-section .catrail a:hover .catrail__fallback {
  transform: scale(1.035);
  box-shadow: none !important;
}
.shop-by-category-section .catrail span {
  margin-top: .52rem;
  font-size: .7rem;
  text-transform: none;
  font-weight: 700;
}

/* Most Loved uses the existing Admin > Products > "Show in Most loved" flag
   and product sort order; only the first four selected products form the mosaic. */
.most-loved-showcase { background: #fff; }
.most-loved-grid {
  display: grid;
  grid-template-columns: .92fr 1fr 1fr;
  grid-template-rows: repeat(2, minmax(190px, 1fr));
  gap: clamp(.55rem, 1vw, .9rem);
  min-height: clamp(430px, 43vw, 650px);
}
.most-loved-tile {
  position: relative;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  border-radius: 18px;
  background: #f7edf3;
  isolation: isolate;
}
.most-loved-tile--1 { grid-column: 1; grid-row: 1 / span 2; }
.most-loved-tile--2 { grid-column: 2; grid-row: 1; }
.most-loved-tile--3 { grid-column: 3; grid-row: 1; }
.most-loved-tile--4 { grid-column: 2 / span 2; grid-row: 2; }
.most-loved-tile img,
.most-loved-tile__fallback {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .45s ease;
}
.most-loved-tile__fallback {
  display: grid;
  place-items: center;
  font-family: var(--display);
  font-size: 5rem;
  color: var(--berry);
  background: linear-gradient(135deg, #ffe6ef, #efe3ff);
}
.most-loved-tile__shade {
  position: absolute;
  z-index: 1;
  inset: 36% 0 0;
  background: linear-gradient(0deg, rgba(39, 12, 31, .68), rgba(39, 12, 31, 0));
  pointer-events: none;
}
.most-loved-tile__copy {
  position: absolute;
  z-index: 2;
  left: clamp(.85rem, 1.5vw, 1.25rem);
  right: clamp(.85rem, 1.5vw, 1.25rem);
  bottom: clamp(.8rem, 1.3vw, 1.2rem);
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: .75rem;
  color: #fff;
  text-shadow: 0 2px 10px rgba(0,0,0,.32);
}
.most-loved-tile__copy strong {
  font-family: var(--display);
  font-size: clamp(1rem, 1.55vw, 1.45rem);
  line-height: 1.08;
}
.most-loved-tile__copy em {
  flex: 0 0 auto;
  font-style: normal;
  font-weight: 800;
  font-size: .82rem;
}
.most-loved-tile:hover img { transform: scale(1.035); }
.most-loved-more { margin: .9rem 0 0; text-align: right; }
.most-loved-more a { color: var(--berry); font-weight: 800; font-size: .86rem; }

/* Product information accordions: compact outlined rows like the supplied
   reference. Native <details> provides keyboard/mouse expand + collapse. */
.product-accordion {
  display: grid;
  gap: .48rem;
  margin-top: 1.1rem;
}
.product-accordion__item {
  border: 1px solid #2d2630;
  background: #fff;
}
.product-accordion__item > summary {
  min-height: 50px;
  padding: .78rem 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  cursor: pointer;
  list-style: none;
  color: #211923;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  user-select: none;
}
.product-accordion__item > summary::-webkit-details-marker { display: none; }
.product-accordion__chevron {
  width: 24px;
  height: 22px;
  flex: 0 0 24px;
  display: grid;
  place-items: center;
  background: var(--menu-crystal-color, #f7c7df);
  color: #271928;
  font-size: 1rem;
  line-height: 1;
  transition: transform .2s ease;
}
.product-accordion__item[open] .product-accordion__chevron { transform: rotate(180deg); }
.product-accordion__content {
  padding: .15rem 1rem 1rem;
  border-top: 1px solid #eee3ea;
  color: var(--ink-soft);
  font-size: .9rem;
  line-height: 1.7;
}
.product-policy-copy { white-space: pre-line; }
.product-accordion__content > :first-child { margin-top: .85rem; }
.product-accordion__content > :last-child { margin-bottom: 0; }

/* Review form first; approved reviews appear below it in the same moving card
   treatment used by the homepage review slider. */
.product-reviews { padding-bottom: 1.25rem; }
.review-form-wrap { max-width: 920px; margin-inline: auto; }
.review-form-panel--wide { padding: clamp(1rem, 2vw, 1.4rem); }
.review-form-panel--wide h2 { margin-top: 0; }
.review-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1rem; }
.product-review-slider { margin-top: clamp(2rem, 4vw, 3.2rem); }
.product-review-slider .review-rail[data-auto-rail] { padding-bottom: .6rem; }
.product-review-slider .review-card { min-height: 190px; }
.product-review-slider .review-card footer span { color: var(--ink-mute); }

@media (max-width: 760px) {
  .brand__logo-wrap { width: 46px; height: 46px; flex-basis: 46px; }
  .shop-by-category-section .catrail.rail {
    gap: .9rem;
    padding-inline: 14px;
  }
  .shop-by-category-section .catrail.rail .catrail__item {
    width: 100px;
    flex-basis: 100px;
  }
  .shop-by-category-section .catrail img,
  .shop-by-category-section .catrail__fallback {
    width: 100px;
    height: 100px;
  }
  .most-loved-grid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 150px 150px 180px;
    min-height: 0;
  }
  .most-loved-tile--1 { grid-column: 1; grid-row: 1 / span 2; }
  .most-loved-tile--2 { grid-column: 2; grid-row: 1; }
  .most-loved-tile--3 { grid-column: 2; grid-row: 2; }
  .most-loved-tile--4 { grid-column: 1 / span 2; grid-row: 3; }
  .most-loved-tile__copy { display: block; }
  .most-loved-tile__copy em { display: block; margin-top: .25rem; }
  .review-form-grid { grid-template-columns: 1fr; gap: 0; }
}

@media (max-width: 430px) {
  .brand__logo-wrap { width: 42px; height: 42px; flex-basis: 42px; }
  .shop-by-category-section .catrail.rail .catrail__item {
    width: 94px;
    flex-basis: 94px;
  }
  .shop-by-category-section .catrail img,
  .shop-by-category-section .catrail__fallback {
    width: 94px;
    height: 94px;
  }
  .most-loved-grid { grid-template-rows: 132px 132px 155px; }
  .most-loved-tile { border-radius: 14px; }
  .product-accordion__item > summary { padding-inline: .8rem; font-size: .7rem; letter-spacing: .14em; }
}

/* Graceful Most Loved layouts when Admin selects fewer than four products. */
.most-loved-grid--count-1 { grid-template-columns: 1fr; grid-template-rows: minmax(320px, 520px); min-height: 0; }
.most-loved-grid--count-1 .most-loved-tile--1 { grid-column: 1; grid-row: 1; }
.most-loved-grid--count-2 { grid-template-columns: repeat(2, 1fr); grid-template-rows: minmax(280px, 460px); min-height: 0; }
.most-loved-grid--count-2 .most-loved-tile--1 { grid-column: 1; grid-row: 1; }
.most-loved-grid--count-2 .most-loved-tile--2 { grid-column: 2; grid-row: 1; }
.most-loved-grid--count-3 { grid-template-columns: repeat(3, 1fr); grid-template-rows: minmax(260px, 420px); min-height: 0; }
.most-loved-grid--count-3 .most-loved-tile--1 { grid-column: 1; grid-row: 1; }
.most-loved-grid--count-3 .most-loved-tile--2 { grid-column: 2; grid-row: 1; }
.most-loved-grid--count-3 .most-loved-tile--3 { grid-column: 3; grid-row: 1; }

@media (max-width: 760px) {
  .most-loved-grid--count-1 { grid-template-columns: 1fr; grid-template-rows: 260px; }
  .most-loved-grid--count-2 { grid-template-columns: 1fr 1fr; grid-template-rows: 210px; }
  .most-loved-grid--count-3 { grid-template-columns: 1fr 1fr; grid-template-rows: 150px 180px; }
  .most-loved-grid--count-3 .most-loved-tile--1 { grid-column: 1; grid-row: 1; }
  .most-loved-grid--count-3 .most-loved-tile--2 { grid-column: 2; grid-row: 1; }
  .most-loved-grid--count-3 .most-loved-tile--3 { grid-column: 1 / span 2; grid-row: 2; }
}

/* =====================================================================
   R6 conversion foundation + shopping experience
   ===================================================================== */
.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.38rem max(18px,calc((100vw - 1180px)/2));min-height:34px}
.topbar__ticker--simple{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;flex:1}
.topbar__ticker--simple .topbar__item{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.topbar__quick{display:flex;align-items:center;gap:.75rem;flex:0 0 auto}
.topbar__quick>a{color:inherit;font-size:.75rem;font-weight:700;text-decoration:none;white-space:nowrap}
.topbar__quick>a:hover{text-decoration:underline}

.pdp-trust-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin:.9rem 0 1rem}
.pdp-trust-row>span{display:flex;align-items:center;gap:.48rem;padding:.68rem .76rem;border:1px solid #f0d8e5;border-radius:12px;background:#fff8fb;font-size:.82rem;line-height:1.25;color:#3d2638}
.pdp-trust-row b{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#f9dce9;color:#a91860;flex:0 0 22px}
.pdp-trust-row strong{font-weight:700}

.buybar__actions{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;flex:1}
.btn--buy-now{background:#171217;color:#fff;border-color:#171217}
.btn--buy-now:hover{background:#000;color:#fff}
.mobile-buy-sticky{display:none}
.product-specs{display:grid;grid-template-columns:minmax(110px,.7fr) 1.3fr;margin:0;gap:0;border:1px solid #f0dde7;border-radius:10px;overflow:hidden}
.product-specs dt,.product-specs dd{margin:0;padding:.65rem .75rem;border-bottom:1px solid #f4e6ed}
.product-specs dt{font-weight:700;background:#fff8fb}
.product-specs dd{background:#fff}
.product-specs dt:last-of-type,.product-specs dd:last-of-type{border-bottom:0}
.verified-purchase{display:inline-flex;align-items:center;gap:.25rem;font-size:.72rem;font-weight:700;color:#167645;background:#eaf8f0;border-radius:999px;padding:.22rem .46rem}
.review-card__identity{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.review-photo{display:block;margin:.65rem 0}
.review-photo img{display:block;width:100%;max-width:220px;aspect-ratio:1/1;object-fit:cover;border-radius:12px;border:1px solid #f0dde7}

.filter-price-row{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}
.filter-stock-check{margin:.2rem 0 .65rem}

.checkout-payment-intro{margin-top:0;color:#735a6c}
.checkout-payment-methods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin:.8rem 0 1rem}
.checkout-payment-methods .paymethod{margin:0;height:100%}
.checkout-advance-note{display:flex;gap:.65rem;align-items:flex-start;margin-top:.8rem;padding:.8rem;border-radius:12px;background:#fff7e9;border:1px solid #f4dcac;font-size:.84rem}
.checkout-advance-note strong{white-space:nowrap;color:#8a5612}
@media (max-width:700px){
  .checkout-advance-note{display:grid;grid-template-columns:minmax(0,1fr);gap:.28rem;align-items:start}
  .checkout-advance-note strong{display:block;white-space:normal;line-height:1.3}
  .checkout-advance-note span{display:block;min-width:0;line-height:1.5}
}
.payment-account[hidden]{display:none!important}

.track-order-head{max-width:680px;margin-bottom:1rem}
.track-order-head h1{margin:.2rem 0 .45rem}
.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:800;color:#b51d68}
.track-order-layout{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,1.45fr);gap:1rem;align-items:start}
.track-order-form{position:sticky;top:1rem}
.track-order-result__head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.track-order-result__head h2{margin:.15rem 0 .8rem}
.order-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:.45rem;margin:1rem 0 1.25rem}
.order-progress__step{text-align:center;position:relative;color:#a28d9c;font-size:.75rem}
.order-progress__step:before{content:"";position:absolute;top:16px;left:-50%;width:100%;height:2px;background:#eadde5;z-index:0}
.order-progress__step:first-child:before{display:none}
.order-progress__step span{position:relative;z-index:1;margin:0 auto .35rem;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#f1e9ee;border:2px solid #eadde5;font-weight:800}
.order-progress__step.is-active{color:#5f2449}
.order-progress__step.is-active span{background:#c72474;color:#fff;border-color:#c72474}
.order-progress__step.is-active:before{background:#c72474}
.track-order-meta{display:grid;grid-template-columns:120px 1fr;gap:.4rem .8rem;padding:1rem 0;border-top:1px solid #f0e3eb;border-bottom:1px solid #f0e3eb}
.track-order-meta dt{font-weight:700;color:#6a5062}.track-order-meta dd{margin:0}
.order-timeline{margin:1.1rem 0}.order-timeline h3{margin-bottom:.65rem}
.order-timeline__item{display:grid;grid-template-columns:18px 1fr;gap:.6rem;position:relative;padding-bottom:.75rem}
.order-timeline__item>span{width:10px;height:10px;border-radius:50%;background:#c72474;margin-top:.32rem;position:relative;z-index:1}
.order-timeline__item:before{content:"";position:absolute;left:4px;top:10px;bottom:-4px;width:2px;background:#eedde7}.order-timeline__item:last-child:before{display:none}
.order-timeline__item small{display:block;color:#8b7684}.order-timeline__item p{margin:.2rem 0 0}
.track-order-items>div{display:grid;grid-template-columns:52px 1fr auto;gap:.65rem;align-items:center;padding:.55rem 0;border-top:1px solid #f2e6ed}
.track-order-items img{width:52px;height:52px;object-fit:cover;border-radius:8px}.track-order-items small{display:block;color:#8b7684}

@media (max-width:900px){
  .topbar{padding:.35rem .65rem}.topbar__quick>a{display:none}.topbar__social{display:flex!important}
  .pdp-trust-row{grid-template-columns:1fr 1fr}
  .checkout-payment-methods{grid-template-columns:1fr}
  .track-order-layout{grid-template-columns:1fr}.track-order-form{position:static}
}
@media (max-width:700px){
  .pdp-trust-row{grid-template-columns:1fr}.buybar__actions{grid-template-columns:1fr}
  .mobile-buy-sticky{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;position:fixed;left:0;right:0;bottom:0;z-index:80;padding:.65rem max(.75rem,env(safe-area-inset-left));padding-bottom:calc(.65rem + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);border-top:1px solid #eedde7;box-shadow:0 -8px 28px rgba(62,22,50,.12);backdrop-filter:blur(10px)}
  .mobile-buy-sticky .btn{min-height:44px}
  .wa-float{bottom:72px}
  .order-progress{gap:.2rem}.order-progress__step b{font-size:.65rem}.track-order-meta{grid-template-columns:95px 1fr}
  .filter-price-row{grid-template-columns:1fr 1fr}
}


/* =====================================================================
   R6.1 responsive + usability fixes (2026-09-23)
   ===================================================================== */
:root{--ticker-bg:#9a1b62}
html,body{width:100%;max-width:100%;overflow-x:hidden}
img,video,svg{max-width:100%}
.topbar{background:var(--ticker-bg)!important;padding:.28rem max(12px,calc((100vw - 1180px)/2));gap:.55rem;overflow:hidden}
.topbar__ticker{flex:1 1 auto;min-width:0;overflow:hidden}
.topbar__track{display:flex;width:max-content;animation:glamTicker 30s linear infinite}
.topbar__set{display:flex;align-items:center;flex:none;white-space:nowrap}
.topbar__item{padding:.38rem .75rem;font-size:.76rem;line-height:1.15}
.topbar__quick{order:-1;display:flex;align-items:center;gap:.45rem;flex:0 0 auto}
.topbar__social{padding:0;background:none!important}
.topbar__social .social{gap:.22rem}
.topbar__social .social a{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;color:#fff}
.topbar__social .social svg{width:19px;height:19px}
.topbar__track-order{display:inline-flex!important;align-items:center;gap:.3rem;min-height:30px;padding:.16rem .45rem;border:1px solid rgba(255,255,255,.28);border-radius:999px;color:#fff!important}
.topbar__track-order img,.topbar__track-order svg{width:19px;height:19px;flex:0 0 19px;object-fit:contain;fill:none;stroke:currentColor;stroke-width:1.8}
.topbar__track-order span{display:inline!important;font-size:.72rem;font-weight:800}

/* all storefront media stays fluid; product photography is never stretched */
.card__media img,.gallery__slide img,.gallery__thumbs img,.catrail img,.review-photo img,.payment-account img{max-width:100%;object-position:center}
.gallery__slide img{object-fit:contain}
.hero__slide{background-size:cover;background-position:center}
.promo-card img,.news-ticker-card__media img,.collection-spotlight img{object-fit:cover}

/* Product accordion controls are neutral; no coloured square behind the arrow */
.product-accordion__chevron{background:transparent!important;color:currentColor!important;border:0!important;box-shadow:none!important;width:auto!important;height:auto!important;padding:0!important;border-radius:0!important}
.whatsapp-cta__icon{width:20px;height:20px;fill:#18a864;flex:0 0 20px}
.whatsapp-cta:hover .whatsapp-cta__icon{fill:#fff}

/* Medium, cleaner category images */
.shop-by-category-section .catrail.rail .catrail__item{width:clamp(124px,11.2vw,164px)!important;flex-basis:clamp(124px,11.2vw,164px)!important}
.shop-by-category-section .catrail__item img{width:clamp(112px,10vw,150px)!important;height:clamp(112px,10vw,150px)!important;object-fit:cover!important}

/* Filter bar: one line on desktop, no huge blank strip */
.toolbar--collapsible{display:flex;align-items:flex-end;gap:.65rem;min-height:0;padding:.65rem .8rem}
.toolbar--collapsible .filter-panel{flex:1;min-width:0}
.toolbar--collapsible .filter-panel[open] .filter-toggle{display:none}
.filter-panel__body{display:flex!important;flex-wrap:nowrap;align-items:flex-end;gap:.45rem;width:100%;padding:.15rem 0!important}
.filter-panel__body>.field,.filter-panel__body>.filter-price-row,.filter-panel__body>.filter-stock-check,.filter-panel__actions{margin:0!important}
.filter-panel__body>.field{flex:1 1 150px;min-width:120px}
.filter-price-row{display:flex!important;gap:.45rem;flex:1.2 1 240px;min-width:210px}
.filter-price-row .field{flex:1;min-width:95px}
.filter-stock-check{flex:0 0 auto;align-items:center;white-space:nowrap;padding-bottom:.55rem}
.filter-panel__actions{display:flex;gap:.35rem;flex:0 0 auto;align-items:center;padding-bottom:.05rem}
.filter-panel__body input,.filter-panel__body select{min-height:38px}

/* SEO section with optional admin image */
.seo-panel--with-image{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(320px,1fr);padding:0!important;overflow:hidden}
.seo-panel__copy{padding:clamp(1.4rem,3vw,2.5rem)}
.seo-panel__media{min-height:240px;background:#fff7fb}
.seo-panel__media img{display:block;width:100%;height:100%;min-height:240px;object-fit:cover}
.seo-panel--with-image::after{display:none!important}

/* checkout COD delivery selection */
.cod-delivery-method{margin:.8rem 0;padding:.85rem 1rem;border:1px solid #efd6e3;border-radius:14px;background:#fff9fc}
.cod-delivery-method>strong{display:block;margin-bottom:.5rem;color:var(--berry-dark)}
.cod-delivery-method .optional-label{font-weight:600;color:#8e7486;font-size:.78em}

.admin-delete-order{color:#9b1d3f!important;border-color:#e7b6c5!important}

@media(max-width:900px){
  .shell{width:min(100% - 24px,var(--shell))}
  .seo-panel--with-image{grid-template-columns:1fr}.seo-panel__media{min-height:210px;order:-1}.seo-panel__media img{min-height:210px}
  .filter-panel__body{flex-wrap:wrap}.filter-panel__body>.field{flex:1 1 31%}.filter-price-row{flex:2 1 48%}.filter-stock-check{flex:1 1 auto}.filter-panel__actions{flex:0 0 auto}
}
@media(max-width:640px){
  .topbar{min-height:38px;padding:.25rem 8px;gap:.3rem}
  .topbar__quick{gap:.2rem}
  .topbar__social .social{gap:.04rem}
  .topbar__social .social a{width:25px;height:25px}
  .topbar__social .social svg{width:17px;height:17px}
  .topbar__track-order{padding:.12rem .3rem;min-height:27px}
  .topbar__track-order img,.topbar__track-order svg{width:16px;height:16px;flex-basis:16px}
  .topbar__track-order span{font-size:.64rem}
  .topbar__item{font-size:.67rem;padding:.35rem .55rem}
  .shop-by-category-section .catrail.rail .catrail__item{width:112px!important;flex-basis:112px!important}
  .shop-by-category-section .catrail__item img{width:102px!important;height:102px!important}
  .toolbar--collapsible{align-items:flex-start;flex-wrap:wrap;padding:.55rem}.toolbar__count{width:100%}
  .toolbar--collapsible .filter-panel{width:100%}
  .filter-panel__body{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem}
  .filter-panel__body>.field,.filter-price-row,.filter-stock-check,.filter-panel__actions{min-width:0;width:auto;flex:none}
  .filter-price-row{display:grid!important;grid-template-columns:1fr 1fr;grid-column:1/-1}
  .filter-stock-check{grid-column:1/2;padding:0;align-self:center}
  .filter-panel__actions{grid-column:2/3;justify-content:flex-end}
  .filter-panel__body label{font-size:.7rem}.filter-panel__body input,.filter-panel__body select{min-height:36px;font-size:.75rem;padding:.4rem .45rem}
  .pdp-trust-row{grid-template-columns:1fr 1fr}.pdp-trust-row>span{font-size:.74rem;padding:.52rem}
  .option-pills{gap:.4rem}.option-pill span{min-height:38px;padding:.45rem .75rem}
}
@media(max-width:430px){
  .header__inner,.pdp,.cart-layout,.checkout-layout{min-width:0}
  .topbar__ticker{min-width:90px}
  .topbar__track-order span{display:inline!important}
  .filter-panel__body{grid-template-columns:1fr 1fr}
  .pdp-trust-row{grid-template-columns:1fr}
  .buybar{gap:.45rem}.buybar__actions{grid-template-columns:1fr 1fr}
}

.activity-chip[hidden]{display:none!important}
@media(max-width:640px){
  .filter-panel__body{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .filter-subcat{grid-column:1/3}.filter-sort{grid-column:3/5}
  .filter-price-row{grid-column:1/3!important}
  .filter-stock-check{grid-column:3/4!important;justify-content:center;padding:0!important;font-size:.68rem!important;white-space:normal!important}
  .filter-panel__actions{grid-column:4/5!important;justify-content:flex-end!important}
  .filter-panel__actions .btn{min-width:0;padding:.42rem .5rem;font-size:.68rem}
}

/* =====================================================================
   R6.2 visual-fit refinements (2026-09-23)
   - Right aligned ticker actions
   - Full-frame/no-crop media presentation
   - Compact SEO split panel
   - Larger Shop by category badges
   - Five-tile Most Loved mosaic
   ===================================================================== */

/* Keep social shortcuts and Track order pinned to the far right while the
   announcement ticker continues moving behind/alongside them. */
.topbar__quick{
  order:initial!important;
  margin-left:auto!important;
  justify-content:flex-end;
  flex:0 0 auto;
  position:relative;
  z-index:3;
}
.topbar__ticker{order:0;flex:1 1 auto;min-width:0}
.topbar__social .social a{width:32px;height:32px}
.topbar__social .social svg{width:20px;height:20px}
.topbar__track-order{min-height:32px;padding:.18rem .55rem}
.topbar__track-order img,.topbar__track-order svg{width:20px;height:20px;flex-basis:20px}

/* The requested fit mode: the complete source image is visible and the media
   box is filled edge-to-edge. This intentionally allows proportional stretch
   when an uploaded source has a different aspect ratio than its storefront box. */
.card__media img,
.promo-card img,
.news-ticker-card__media img,
.quick-offer img,
.most-loved-tile img,
.seo-panel__media img,
.gallery__slide img,
.gallery__thumbs img{
  width:100%!important;
  height:100%!important;
  object-fit:fill!important;
  object-position:center!important;
}
.hero__slide,
.collection-spotlight{
  background-size:100% 100%!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
}

/* PDP: keep a stable square media box and remove the viewport-height clamp that
   made tall artwork appear cut short on desktop/laptop screens. */
.gallery__main{
  width:100%!important;
  aspect-ratio:1 / 1!important;
  max-height:none!important;
  height:auto!important;
  background:#fff!important;
}
.gallery__track,.gallery__slide{height:100%!important}
.gallery__slide img{background:transparent!important}

/* Slightly larger category artwork while retaining the moving rail. */
.shop-by-category-section .catrail.rail .catrail__item{
  width:clamp(142px,12.6vw,184px)!important;
  flex-basis:clamp(142px,12.6vw,184px)!important;
}
.shop-by-category-section .catrail__item img,
.shop-by-category-section .catrail__fallback{
  width:clamp(130px,11.4vw,170px)!important;
  height:clamp(130px,11.4vw,170px)!important;
}

/* Keep the original SEO panel height driven by its text content. The uploaded
   image is absolutely fitted into the existing right half, so a tall image can
   never make the dashboard section taller. */
.seo-panel--with-image{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(320px,1fr)!important;
  padding:0!important;
  overflow:hidden!important;
  align-items:stretch!important;
}
.seo-panel--with-image .seo-panel__copy{min-width:0}
.seo-panel--with-image .seo-panel__media{
  position:relative!important;
  min-height:0!important;
  height:auto!important;
  overflow:hidden!important;
  background:#fff7fb;
}
.seo-panel--with-image .seo-panel__media img{
  position:absolute!important;
  inset:0!important;
  min-height:0!important;
}

/* Five-product Most Loved desktop mosaic: the former bottom-wide tile is split
   into two equal product tiles. Fewer selected products continue to use the
   existing graceful layouts and no product is auto-selected or written to DB. */
.most-loved-grid--count-5{
  grid-template-columns:.92fr 1fr 1fr!important;
  grid-template-rows:repeat(2,minmax(190px,1fr))!important;
}
.most-loved-grid--count-5 .most-loved-tile--1{grid-column:1;grid-row:1 / span 2}
.most-loved-grid--count-5 .most-loved-tile--2{grid-column:2;grid-row:1}
.most-loved-grid--count-5 .most-loved-tile--3{grid-column:3;grid-row:1}
.most-loved-grid--count-5 .most-loved-tile--4{grid-column:2;grid-row:2}
.most-loved-grid--count-5 .most-loved-tile--5{grid-column:3;grid-row:2}

@media(max-width:900px){
  .seo-panel--with-image{grid-template-columns:1fr!important}
  .seo-panel--with-image .seo-panel__media{
    min-height:210px!important;
    height:210px!important;
    order:-1;
  }
}

@media(max-width:760px){
  .topbar{gap:.35rem}
  .topbar__quick{margin-left:auto!important}
  .topbar__social .social a{width:28px;height:28px}
  .topbar__social .social svg{width:18px;height:18px}
  .topbar__track-order{min-height:29px;padding:.14rem .42rem}
  .topbar__track-order img,.topbar__track-order svg{width:18px;height:18px;flex-basis:18px}
  .topbar__track-order span{display:inline!important;font-size:.66rem}

  .shop-by-category-section .catrail.rail .catrail__item{
    width:124px!important;
    flex-basis:124px!important;
  }
  .shop-by-category-section .catrail__item img,
  .shop-by-category-section .catrail__fallback{
    width:114px!important;
    height:114px!important;
  }

  .most-loved-grid--count-5{
    grid-template-columns:1fr 1fr!important;
    grid-template-rows:150px 150px 170px!important;
    min-height:0!important;
  }
  .most-loved-grid--count-5 .most-loved-tile--1{grid-column:1;grid-row:1 / span 2}
  .most-loved-grid--count-5 .most-loved-tile--2{grid-column:2;grid-row:1}
  .most-loved-grid--count-5 .most-loved-tile--3{grid-column:2;grid-row:2}
  .most-loved-grid--count-5 .most-loved-tile--4{grid-column:1;grid-row:3}
  .most-loved-grid--count-5 .most-loved-tile--5{grid-column:2;grid-row:3}
}

@media(max-width:520px){
  .topbar__ticker{min-width:70px}
  .topbar__quick{gap:.12rem}
  .topbar__social .social{gap:0}
  .topbar__social .social a{width:25px;height:25px}
  .topbar__social .social svg{width:16px;height:16px}
  .topbar__track-order{padding:.1rem .3rem;gap:.2rem}
  .topbar__track-order img,.topbar__track-order svg{width:16px;height:16px;flex-basis:16px}
  .topbar__track-order span{font-size:.6rem}
  .shop-by-category-section .catrail.rail .catrail__item{width:116px!important;flex-basis:116px!important}
  .shop-by-category-section .catrail__item img,.shop-by-category-section .catrail__fallback{width:106px!important;height:106px!important}
  .most-loved-grid--count-5{grid-template-rows:138px 138px 154px!important}
}

/* =====================================================================
   R6.3 storefront refinements (2026-09-23)
   - Full-width ticker with actions flush right
   - Multi-image homepage SEO carousel
   - Clear, non-cropped Most Loved cards
   - Refined offer/news popups
   ===================================================================== */

/* Ticker consumes the full browser width. The moving copy owns all space not
   occupied by the social + Track order actions, which remain pinned right. */
.topbar{
  width:100%!important;
  max-width:none!important;
  padding:0!important;
  gap:0!important;
}
.topbar__ticker{
  order:0!important;
  flex:1 1 0!important;
  width:auto!important;
  min-width:0!important;
  padding:0!important;
  overflow:hidden!important;
}
.topbar__track{min-width:max-content!important}
.topbar__set{flex:none!important}
.topbar__quick{
  order:1!important;
  margin:0!important;
  padding:.18rem 10px .18rem .45rem!important;
  margin-left:auto!important;
  align-self:stretch;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  background:var(--ticker-bg)!important;
  box-shadow:-14px 0 18px rgba(58,12,48,.22);
}
.topbar__social{padding:0!important;background:none!important}
.topbar__item{padding-inline:.72rem!important}

/* The homepage SEO copy box keeps the same compact size. Its right-half media
   becomes a fixed carousel viewport; every uploaded image is contained by the
   exact same box, so adding image 2/3 can never change the section height. */
.seo-panel--with-image .seo-panel__media{
  position:relative!important;
  min-height:240px!important;
  height:100%!important;
  isolation:isolate;
}
.seo-panel__slide{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  object-fit:fill!important;
  object-position:center!important;
  opacity:0;
  visibility:hidden;
  transition:opacity .55s ease,visibility .55s ease;
}
.seo-panel__slide.is-active{opacity:1;visibility:visible;z-index:1}
.seo-panel__dots{
  position:absolute;
  z-index:3;
  left:50%;
  bottom:10px;
  transform:translateX(-50%);
  display:flex;
  gap:6px;
  padding:5px 7px;
  border-radius:999px;
  background:rgba(255,255,255,.72);
  backdrop-filter:blur(8px);
}
.seo-panel__dots span{width:7px;height:7px;border-radius:50%;background:rgba(100,39,84,.28)}
.seo-panel__dots span.is-active{width:20px;border-radius:999px;background:var(--berry)}

/* Most Loved: a cleaner five-card lookbook. Product artwork is never cropped,
   stretched or zoomed, so the complete uploaded image remains visible. */
.most-loved-products{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:clamp(.7rem,1.2vw,1rem);
}
.most-loved-product{
  min-width:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid #efd8e5;
  border-radius:20px;
  background:linear-gradient(160deg,#fff 0%,#fff8fb 70%,#f7efff 100%);
  color:inherit;
  text-decoration:none;
  box-shadow:0 10px 28px rgba(82,28,69,.07);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.most-loved-product:hover{
  transform:translateY(-4px);
  border-color:#e8b5ce;
  box-shadow:0 18px 36px rgba(82,28,69,.13);
}
.most-loved-product__media{
  position:relative;
  display:grid;
  place-items:center;
  aspect-ratio:1 / 1;
  overflow:hidden;
  padding:8px;
  background:linear-gradient(145deg,#fff9fc,#f9f2fb);
}
.most-loved-product__media img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
  filter:none!important;
  image-rendering:auto;
}
.most-loved-product__fallback{
  width:100%;height:100%;display:grid;place-items:center;
  border-radius:14px;background:linear-gradient(135deg,#ffe4ef,#eee4ff);
  color:var(--berry);font:700 clamp(2rem,5vw,4rem)/1 var(--display);
}
.most-loved-product__rank{
  position:absolute;top:10px;left:10px;z-index:2;
  min-width:28px;height:28px;padding:0 8px;display:grid;place-items:center;
  border-radius:999px;background:rgba(255,255,255,.94);color:var(--berry-dark);
  border:1px solid #efd3e1;font-size:.72rem;font-weight:900;
  box-shadow:0 5px 14px rgba(76,25,64,.08);
}
.most-loved-product__body{
  display:flex;align-items:flex-start;justify-content:space-between;gap:.55rem;
  padding:.78rem .8rem .88rem;
}
.most-loved-product__body strong{
  min-width:0;color:var(--ink);font-size:.84rem;line-height:1.28;
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;
}
.most-loved-product__body em{
  flex:none;color:var(--berry);font-size:.78rem;font-weight:900;font-style:normal;white-space:nowrap;
}
.most-loved-more{margin:.7rem 0 0;text-align:right;font-size:.82rem;font-weight:800}

/* v1.0.36 responsive storefront advertisement carousel. */
.advertisement-popup-layer{
  position:fixed;inset:0;z-index:310;display:none;place-items:center;padding:18px;
  background:rgba(44,11,39,.54);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);
}
.advertisement-popup-layer.is-visible{display:grid}
.advertisement-popup-layer[hidden]{display:none!important}
.advertisement-popup{
  position:relative;width:min(720px,calc(100vw - 30px));max-height:min(92svh,860px);overflow:auto;
  border:1px solid rgba(225,150,188,.48);border-radius:24px;background:#fff;
  box-shadow:0 22px 70px rgba(54,15,47,.28);overscroll-behavior:contain;
}
.advertisement-popup__slide[hidden]{display:none!important}
.advertisement-popup__media{
  width:100%;aspect-ratio:16 / 9;display:grid;place-items:center;overflow:hidden;
  border-radius:23px 23px 0 0;background:linear-gradient(145deg,#fff6fa,#f5edfb);
}
.advertisement-popup__media img{
  display:block;width:100%;height:100%;max-width:100%;object-fit:contain;object-position:center;
}
.advertisement-popup__copy{padding:1rem clamp(1rem,4vw,1.65rem) .4rem;text-align:center}
.advertisement-popup__copy h2{margin:.05rem 0 .45rem;font-size:clamp(1.55rem,4vw,2.2rem);color:var(--berry-dark)}
.advertisement-popup__copy p{max-width:62ch;margin:.2rem auto;color:var(--ink-soft);line-height:1.6;white-space:pre-line}
.advertisement-popup__footer{padding:.5rem clamp(1rem,4vw,1.65rem) 1.25rem}
.advertisement-popup__count{display:block;min-height:1.2em;margin:0 0 .45rem;text-align:center;color:var(--ink-mute);font-size:.78rem;font-weight:700}
.advertisement-popup__actions{display:flex;align-items:center;justify-content:center;gap:.6rem;flex-wrap:wrap}
.advertisement-popup__actions .btn{min-width:112px}
html.popup-open,body.popup-open{overflow:hidden}
@media(max-width:700px){
  .advertisement-popup-layer{padding:9px}
  .advertisement-popup{width:min(96vw,620px);max-height:94svh;border-radius:20px}
  .advertisement-popup__media{aspect-ratio:4 / 3;border-radius:19px 19px 0 0}
  .advertisement-popup__copy{padding:.8rem .85rem .25rem}
  .advertisement-popup__footer{padding:.45rem .8rem .9rem}
  .advertisement-popup__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
  .advertisement-popup__actions .btn{width:100%;min-width:0}
}
@media(max-width:430px){
  /* Keep the same 4:3 image frame used on larger mobile screens. The old
     square frame added empty space around 1200x900 advertisement artwork. */
  .advertisement-popup__media{aspect-ratio:4 / 3}
  .advertisement-popup__actions{grid-template-columns:1fr 1fr}
}

/* Refined admin-created offer/news popups. The close control stays over the
   top-right of the image, and the offer code immediately follows its badge. */
.site-popup{
  width:min(600px,calc(100vw - 28px))!important;
  max-height:min(90svh,760px)!important;
  overflow:auto!important;
  border-radius:24px!important;
  overscroll-behavior:contain;
}
.site-popup__x{
  position:absolute!important;
  top:10px!important;
  right:10px!important;
  z-index:10!important;
  width:40px!important;
  height:40px!important;
  border:1px solid rgba(225,150,188,.55)!important;
  background:rgba(255,255,255,.96)!important;
  color:var(--berry-dark)!important;
  box-shadow:0 7px 22px rgba(63,17,53,.18)!important;
}
.site-popup__media{
  width:100%;
  aspect-ratio:16 / 9;
  min-height:0!important;
  max-height:none!important;
  padding:0!important;
  display:grid!important;
  place-items:center;
  background:linear-gradient(145deg,#fff6fa,#f5edfb)!important;
  border-radius:23px 23px 0 0!important;
}
.site-popup__media img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center!important;
  border-radius:0!important;
}
.site-popup__body{padding:1.15rem clamp(1rem,4vw,1.7rem) 1.35rem!important;text-align:center}
.site-popup__badge{margin:0 0 .55rem!important}
.site-popup__code-row{
  width:max-content;max-width:100%;margin:0 auto .75rem;
  display:flex;align-items:center;gap:.55rem;padding:.38rem .42rem .38rem .72rem;
  border:1px dashed #d98aae;border-radius:12px;background:#fff;color:var(--berry-dark);
  font-size:.82rem;
}
.site-popup__code-row strong{letter-spacing:.06em}
.site-popup__copy{
  min-height:30px;padding:.28rem .65rem;border:0;border-radius:9px;
  background:linear-gradient(135deg,#ec428b,#c52269);color:#fff;font:inherit;font-weight:800;cursor:pointer;
}
.site-popup h2{margin:.1rem 0 .45rem!important;font-size:clamp(1.65rem,4.5vw,2.35rem)!important}
.site-popup p{margin:.25rem auto .65rem!important;line-height:1.55}
.site-popup__actions{margin-top:.8rem!important}
.site-popup--news .site-popup__body{padding-top:1.25rem!important}
.site-popup--news h2{margin-top:0!important}

@media(max-width:980px){
  .most-loved-products{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:700px){
  .topbar__quick{padding-right:6px!important;padding-left:.25rem!important}
  .topbar__item{padding-inline:.55rem!important}
  .seo-panel--with-image .seo-panel__media{height:210px!important;min-height:210px!important}
  .most-loved-products{
    display:flex;
    gap:.75rem;
    overflow-x:auto;
    padding:.1rem 1px .7rem;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
  }
  .most-loved-products::-webkit-scrollbar{display:none}
  .most-loved-product{flex:0 0 min(74vw,260px);scroll-snap-align:start}
  .site-popup-layer{padding:10px!important}
  .site-popup{width:min(94vw,560px)!important;max-height:92svh!important;border-radius:20px!important}
  .site-popup__media{aspect-ratio:16 / 10;border-radius:19px 19px 0 0!important}
  .site-popup__x{top:8px!important;right:8px!important;width:36px!important;height:36px!important}
  .site-popup__body{padding:1rem .9rem 1.05rem!important}
  .site-popup__actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:.55rem!important}
  .site-popup__actions .btn{width:100%!important;min-width:0!important}
}
@media(max-width:430px){
  .topbar__quick{gap:.08rem!important}
  .topbar__social .social a{width:24px!important;height:24px!important}
  .topbar__track-order{padding:.08rem .28rem!important}
  .topbar__track-order span{font-size:.58rem!important}
  .site-popup__media{aspect-ratio:4 / 3}
  .site-popup__code-row{width:100%;justify-content:space-between}
  .site-popup__actions{grid-template-columns:1fr!important}
}


/* =====================================================================
   R6.4 Most Loved merchandising refresh
   - ultra-slow announcement ticker
   - product shelf with genuine review stars
   - two admin-configurable promotional banners below the product shelf
   ===================================================================== */

/* The announcement remains continuous, but deliberately moves at a very
   gentle pace so it can be read without feeling distracting. */
.topbar__track{animation-duration:240s!important}

.most-loved-showcase{background:#fff!important}
.most-loved-shelf{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:clamp(.65rem,1.1vw,.95rem);
  align-items:start;
}
.most-loved-card{
  min-width:0;
  position:relative;
  background:#fff;
}
.most-loved-card__media{
  position:relative;
  display:grid;
  place-items:center;
  width:100%;
  aspect-ratio:1 / 1.08;
  overflow:hidden;
  border-radius:12px;
  background:linear-gradient(145deg,#fffafb,#f8f2f6);
}
.most-loved-card__media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
  filter:none!important;
}
.most-loved-card__fallback{
  width:100%;height:100%;display:grid;place-items:center;
  color:var(--berry);font:700 clamp(2rem,4vw,3.4rem)/1 var(--display);
  background:linear-gradient(145deg,#ffe9f1,#f3ebfb);
}
.most-loved-card__save{position:absolute;top:7px;right:7px;z-index:3;margin:0}
.most-loved-card__save button{width:29px;height:29px;border:0;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.93);color:#6d5968;font-size:1.02rem;line-height:1;cursor:pointer;box-shadow:0 3px 12px rgba(58,28,48,.1)}
.most-loved-card__save button:hover{color:var(--berry);transform:translateY(-1px)}
.most-loved-card__body{padding:.56rem .08rem .1rem}
.most-loved-card__title{
  display:block;color:var(--ink);font-size:.82rem;font-weight:650;line-height:1.3;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none;
}
.most-loved-card__title:hover{color:var(--berry)}
.most-loved-card__price{display:block;margin-top:.22rem;color:var(--ink);font-size:.78rem;font-weight:800}
.most-loved-card__rating{display:flex;align-items:center;gap:.32rem;margin-top:.25rem;color:#81717d;font-size:.68rem}
.most-loved-card__stars{color:#e33b7f;letter-spacing:.05em;font-size:.76rem;white-space:nowrap}
.most-loved-card__no-reviews{color:#9a8a96;font-size:.66rem}

.most-loved-banners{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(.8rem,1.4vw,1.15rem);
  margin-top:clamp(1rem,1.8vw,1.45rem);
}
.most-loved-banner{
  position:relative;
  min-width:0;
  overflow:hidden;
  border-radius:14px;
  background:#f9eef3;
  box-shadow:0 9px 24px rgba(76,25,64,.07);
}
.most-loved-banner__media{display:block;width:100%;aspect-ratio:2.25 / 1;overflow:hidden;background:#f8eef3}
.most-loved-banner__media img{
  display:block;width:100%;height:100%;object-fit:cover!important;object-position:center!important;
}
.most-loved-banner__button{
  position:absolute;left:clamp(.75rem,2vw,1.35rem);bottom:clamp(.7rem,1.5vw,1.1rem);
  z-index:2;display:inline-flex;align-items:center;justify-content:center;
  min-height:36px;padding:.55rem .92rem;border-radius:7px;
  background:#1c171b;color:#fff;text-decoration:none;font-size:.76rem;font-weight:800;
  box-shadow:0 7px 18px rgba(35,21,31,.18);
}
.most-loved-banner__button:hover{background:var(--berry);color:#fff}

@media(max-width:1080px){
  .most-loved-shelf{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:760px){
  .topbar__track{animation-duration:260s!important}
  .most-loved-shelf{
    display:flex;overflow-x:auto;gap:.7rem;padding:0 1px .55rem;
    scroll-snap-type:x mandatory;scrollbar-width:none;
  }
  .most-loved-shelf::-webkit-scrollbar{display:none}
  .most-loved-card{flex:0 0 min(42vw,170px);scroll-snap-align:start}
  .most-loved-card__title{font-size:.78rem}
  .most-loved-banners{grid-template-columns:1fr;gap:.75rem;margin-top:.75rem}
  .most-loved-banner__media{aspect-ratio:2 / 1}
}
@media(max-width:430px){
  .most-loved-card{flex-basis:min(48vw,165px)}
  .most-loved-banner__button{min-height:32px;padding:.45rem .7rem;font-size:.69rem}
}


/* R6.5: promo banners use their original uploaded artwork without a purple wash. */
.promo-card { background:#fff; }
.promo-card img { opacity:1!important; }
.promo-card::after { display:none!important; }
.promo-card__body { text-shadow:0 2px 10px rgba(0,0,0,.55); }
.promo-card__body strong,.promo-card__body span { color:#fff; }


/* ==========================================================================\n   R6.6 — Shop-by-category promotional banner\n   ========================================================================== */
.category-promo-section{
  padding:clamp(.35rem,.8vw,.65rem) 0 clamp(1rem,2vw,1.55rem);
  background:var(--paper,#fff);
}
.category-promo{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(193,45,112,.13);
  border-radius:clamp(14px,1.4vw,22px);
  background:linear-gradient(135deg,#fff7fb,#fff);
  box-shadow:0 14px 34px rgba(91,26,74,.08);
}
.category-promo__track{
  position:relative;
  width:100%;
  aspect-ratio:4.75/1;
  min-height:150px;
}
.category-promo__slide{
  position:absolute;
  inset:0;
  display:block;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .5s ease,visibility .5s ease;
  color:inherit;
  text-decoration:none;
}
.category-promo__slide.is-active{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.category-promo__slide>img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:fill;
  object-position:center;
  display:block;
}
.category-promo__content{
  position:absolute;
  z-index:2;
  left:clamp(18px,4vw,56px);
  top:50%;
  transform:translateY(-50%);
  width:min(42%,520px);
  display:grid;
  gap:.4rem;
  padding:clamp(.8rem,1.6vw,1.35rem);
  border-radius:16px;
  background:rgba(255,247,251,.86);
  backdrop-filter:blur(8px);
  box-shadow:0 8px 28px rgba(58,13,48,.08);
}
.category-promo__content strong{
  font-family:var(--display);
  color:var(--berry);
  font-size:clamp(1.3rem,2.4vw,2.35rem);
  line-height:1.05;
}
.category-promo__content small{
  font-size:clamp(.78rem,1vw,.98rem);
  line-height:1.45;
  color:var(--ink-mute);
}
.category-promo__button{
  justify-self:start;
  margin-top:.25rem;
  padding:.65rem 1rem;
  border-radius:999px;
  background:var(--berry);
  color:#fff;
  font-style:normal;
  font-weight:800;
  font-size:.82rem;
}
.category-promo__dots{
  position:absolute;
  z-index:3;
  left:50%;
  bottom:10px;
  transform:translateX(-50%);
  display:flex;
  gap:6px;
  padding:5px 8px;
  border-radius:999px;
  background:rgba(255,255,255,.78);
  backdrop-filter:blur(6px);
}
.category-promo__dots button{
  width:8px;
  height:8px;
  padding:0;
  border:0;
  border-radius:999px;
  background:#dcb6cb;
  cursor:pointer;
}
.category-promo__dots button.is-active{
  width:24px;
  background:var(--pink,#d82a79);
}
@media (max-width:760px){
  .category-promo-section{padding:.25rem 0 .85rem}
  .category-promo{border-radius:13px}
  .category-promo__track{aspect-ratio:3.2/1;min-height:118px}
  .category-promo__content{left:10px;width:min(54%,330px);padding:.65rem .75rem;border-radius:12px;gap:.25rem}
  .category-promo__content strong{font-size:clamp(1rem,4.4vw,1.45rem)}
  .category-promo__content small{font-size:.7rem;line-height:1.3}
  .category-promo__button{padding:.48rem .72rem;font-size:.7rem}
  .category-promo__dots{bottom:6px}
}
@media (max-width:420px){
  .category-promo__track{aspect-ratio:2.65/1;min-height:112px}
  .category-promo__content{width:58%;left:8px}
}


/* ==========================================================================
   R6.7 — full-width below-category promotion + cleaner hero controls
   ========================================================================== */
/* Match the same wide content gutters used by the homepage strip while never
   allowing the promotion to spill outside the viewport. */
.category-promo-section > .shell{
  width:100%;
  max-width:none;
  padding-inline:clamp(18px,2.2vw,40px);
  box-sizing:border-box;
}
.category-promo{
  width:100%;
  max-width:100%;
  border-radius:22px;
}
/* Widening the banner must not make it taller. Keep the existing desktop
   visual height and let only the width expand. */
.category-promo__track{
  aspect-ratio:auto;
  height:min(240px,18vw);
  min-height:150px;
}
.category-promo__slide,
.category-promo__slide > img{
  border-radius:inherit;
}
/* Hero keeps auto-rotation + dots; manual previous/next arrows are removed
   from markup in R6.7. */
@media(max-width:700px){
  .category-promo-section > .shell{padding-inline:14px}
  .category-promo{border-radius:16px}
  .category-promo__track{height:118px;min-height:118px}
}
@media(max-width:420px){
  .category-promo__track{height:112px;min-height:112px}
}

/* ========================================================================== 
   v1.0.24 — Premium 3D storefront pass (Phase 1)
   Homepage + header + product cards + buttons + category/collection sections.
   Progressive enhancement: no WebGL, no data changes, reduced-motion safe.
   ========================================================================== */
:root{
  --depth-shadow:0 22px 55px rgba(74,28,62,.16),0 7px 18px rgba(74,28,62,.09);
  --depth-shadow-hover:0 34px 74px rgba(91,30,75,.22),0 12px 26px rgba(91,30,75,.14);
  --depth-highlight:rgba(255,255,255,.72);
}

/* Header + navigation: layered glass, raised controls and deeper dropdowns. */
.header{
  background:linear-gradient(180deg,rgba(255,255,255,.97),rgba(255,249,252,.91));
  border-bottom:1px solid rgba(205,149,180,.28);
  box-shadow:0 9px 30px rgba(78,31,66,.08),inset 0 1px 0 rgba(255,255,255,.95);
  backdrop-filter:blur(18px) saturate(145%);
  -webkit-backdrop-filter:blur(18px) saturate(145%);
}
.header__inner{perspective:1000px;transform-style:preserve-3d}
.brand{transition:transform .24s ease,filter .24s ease}
.brand:hover{transform:translateY(-1px) translateZ(12px);filter:drop-shadow(0 7px 12px rgba(117,40,97,.12))}
.brand__logo-wrap{box-shadow:0 11px 26px rgba(121,50,102,.11),inset 0 1px 0 rgba(255,255,255,.88)}
.searchbox form{
  border-color:rgba(221,167,197,.75);
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,248,252,.92));
  box-shadow:0 12px 28px rgba(100,36,84,.08),inset 0 2px 5px rgba(119,46,97,.035),inset 0 1px 0 rgba(255,255,255,.95);
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.searchbox form:focus-within{
  transform:translateY(-2px);
  border-color:rgba(190,58,124,.55);
  box-shadow:0 17px 36px rgba(103,35,85,.13),0 0 0 4px rgba(229,81,146,.08),inset 0 1px 0 rgba(255,255,255,.95);
}
.searchbox button{
  position:relative;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.3),inset 0 -2px 0 rgba(87,13,60,.18),-7px 0 22px rgba(181,31,103,.12);
  text-shadow:0 1px 1px rgba(75,13,53,.18);
}
.tool{
  background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(255,238,247,.83));
  border:1px solid rgba(226,185,207,.58);
  box-shadow:0 8px 18px rgba(96,37,81,.09),inset 0 1px 0 rgba(255,255,255,.98),inset 0 -2px 4px rgba(131,53,105,.05);
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease;
}
.tool:hover{
  transform:translateY(-3px) scale(1.035);
  box-shadow:0 14px 26px rgba(96,37,81,.15),inset 0 1px 0 rgba(255,255,255,1);
}
.tool:active{transform:translateY(0) scale(.97);box-shadow:0 4px 10px rgba(96,37,81,.09),inset 0 2px 5px rgba(81,25,67,.09)}
.nav{box-shadow:0 9px 24px rgba(64,24,54,.045);background:rgba(255,255,255,.96);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.nav__link{position:relative;transition:color .18s ease,transform .18s ease}
.nav__link::after{content:"";position:absolute;left:50%;right:50%;bottom:.35rem;height:2px;border-radius:3px;background:linear-gradient(90deg,var(--pink),var(--purple));box-shadow:0 3px 9px rgba(181,31,103,.22);transition:left .2s ease,right .2s ease}
.nav__link:hover,.nav__item:hover>.nav__link{transform:translateY(-1px)}
.nav__link:hover::after,.nav__item:hover>.nav__link::after{left:.55rem;right:.55rem}
.nav__sub{
  transform-origin:50% 0;
  box-shadow:0 25px 54px rgba(67,24,57,.18),inset 0 1px 0 rgba(255,255,255,.95);
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,248,252,.97));
}
.nav__item:hover .nav__sub,.nav__item:focus-within .nav__sub{transform:translateY(0) perspective(700px) rotateX(0)}

/* Buttons: tactile raised surface with a restrained gloss highlight. */
.btn{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  box-shadow:0 9px 0 rgba(53,18,45,.10),0 16px 30px rgba(71,27,60,.14),inset 0 1px 0 rgba(255,255,255,.18);
  text-shadow:0 1px 1px rgba(0,0,0,.08);
  transform:translateY(-1px);
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease;
}
.btn::after{
  content:"";
  position:absolute;
  z-index:-1;
  inset:-50% -30%;
  background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.28) 45%,rgba(255,255,255,.1) 53%,transparent 66%);
  transform:translateX(-55%) rotate(7deg);
  transition:transform .5s ease;
  pointer-events:none;
}
.btn:hover{transform:translateY(-4px);box-shadow:0 11px 0 rgba(53,18,45,.085),0 23px 38px rgba(98,30,80,.2),inset 0 1px 0 rgba(255,255,255,.24)}
.btn:hover::after{transform:translateX(48%) rotate(7deg)}
.btn:active{transform:translateY(2px);box-shadow:0 3px 0 rgba(53,18,45,.09),0 8px 16px rgba(72,25,61,.12),inset 0 2px 5px rgba(0,0,0,.08)}
.btn--ghost{box-shadow:0 7px 0 rgba(100,48,86,.055),0 12px 22px rgba(88,35,73,.08),inset 0 1px 0 rgba(255,255,255,.95)}
.btn--ghost:hover{box-shadow:0 8px 0 rgba(100,48,86,.05),0 17px 28px rgba(100,38,83,.12),inset 0 1px 0 rgba(255,255,255,.98)}

/* Hero: cinematic depth without changing admin-managed artwork/content. */
.hero{perspective:1200px;isolation:isolate;box-shadow:inset 0 -1px 0 rgba(255,255,255,.16),0 25px 60px rgba(78,23,64,.16)}
.hero::before,.hero::after{content:"";position:absolute;z-index:1;border-radius:50%;pointer-events:none;filter:blur(1px)}
.hero::before{width:clamp(170px,27vw,430px);aspect-ratio:1;right:-8%;top:-18%;background:radial-gradient(circle at 35% 35%,rgba(255,255,255,.24),rgba(255,170,212,.13) 40%,transparent 72%);box-shadow:inset -30px -35px 60px rgba(96,31,108,.16);transform:translate3d(var(--hero-orb-x,0),var(--hero-orb-y,0),0)}
.hero::after{width:clamp(110px,17vw,250px);aspect-ratio:1;right:17%;bottom:-22%;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.18),rgba(210,180,255,.14) 45%,transparent 72%);transform:translate3d(var(--hero-orb-x2,0),var(--hero-orb-y2,0),0)}
.hero__slide{transform:scale(1.045) translate3d(var(--hero-x,0),var(--hero-y,0),0);will-change:transform,opacity}
.hero__slide.is-active{transform:scale(1.018) translate3d(var(--hero-x,0),var(--hero-y,0),0)}
.hero__wash{background:linear-gradient(90deg,rgba(43,8,35,.86) 0%,rgba(94,15,72,.60) 43%,rgba(63,22,89,.19) 76%,rgba(32,11,41,.05) 100%),linear-gradient(180deg,rgba(255,255,255,.08),transparent 35%,rgba(30,9,28,.16))}
.hero__content{transform-style:preserve-3d}
.hero__text{
  position:relative;
  max-width:min(650px,90vw);
  padding:clamp(1.5rem,3.7vw,3rem);
  border:1px solid rgba(255,255,255,.2);
  border-radius:clamp(20px,2.6vw,34px);
  background:linear-gradient(135deg,rgba(50,10,43,.40),rgba(88,24,75,.20) 58%,rgba(255,255,255,.06));
  box-shadow:0 28px 70px rgba(24,5,21,.25),inset 0 1px 0 rgba(255,255,255,.2),inset 0 -30px 60px rgba(67,14,58,.08);
  backdrop-filter:blur(10px) saturate(120%);
  -webkit-backdrop-filter:blur(10px) saturate(120%);
  transform:translate3d(var(--hero-copy-x,0),var(--hero-copy-y,0),48px);
  transition:transform .18s ease-out;
}
.hero__text::before{content:"";position:absolute;inset:1px;border-radius:inherit;pointer-events:none;background:linear-gradient(125deg,rgba(255,255,255,.12),transparent 28%,transparent 70%,rgba(255,255,255,.045));}
.hero__text h1{position:relative;text-shadow:0 4px 26px rgba(25,5,22,.28),0 1px 0 rgba(255,255,255,.12)}
.hero__text p,.hero__text .btn{position:relative}
.hero__dots{padding:6px 9px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(49,14,42,.22);box-shadow:0 10px 25px rgba(26,5,22,.14);backdrop-filter:blur(8px)}

/* Quick offers beneath hero become floating pill-like cards. */
.quick-offers{box-shadow:0 24px 52px rgba(93,33,78,.13),inset 0 1px 0 rgba(255,255,255,.95);transform:translateZ(0)}
.quick-offer{
  position:relative;
  overflow:hidden;
  transform:perspective(800px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(var(--depth-lift,0));
  box-shadow:0 10px 24px rgba(92,34,77,.09),inset 0 1px 0 rgba(255,255,255,.98),inset 0 -3px 8px rgba(155,65,121,.04);
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
  will-change:transform;
}
.quick-offer::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at var(--shine-x,50%) var(--shine-y,20%),rgba(255,255,255,.48),transparent 36%);opacity:0;transition:opacity .2s ease}
.quick-offer:hover{--depth-lift:-6px;box-shadow:0 18px 34px rgba(92,34,77,.15),inset 0 1px 0 rgba(255,255,255,1)}
.quick-offer:hover::after{opacity:1}
.quick-offer img{box-shadow:0 8px 15px rgba(100,38,84,.13),inset 0 1px 0 rgba(255,255,255,.5)}

/* Product cards: perspective tilt, dynamic highlight and deeper media layer. */
.product-rail__item,.grid>.card{perspective:1100px}
.card{
  --tilt-x:0deg;
  --tilt-y:0deg;
  --depth-lift:0px;
  border-color:rgba(225,190,209,.78);
  background:linear-gradient(165deg,#fff 0%,#fff 62%,#fff8fb 100%);
  box-shadow:0 13px 30px rgba(86,34,72,.085),0 2px 7px rgba(86,34,72,.04),inset 0 1px 0 rgba(255,255,255,.98);
  transform:perspective(1000px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) translateY(var(--depth-lift));
  transition:transform .22s ease-out,box-shadow .22s ease,border-color .22s ease;
  will-change:transform;
}
.card::before{
  content:"";
  position:absolute;
  z-index:5;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:radial-gradient(circle at var(--shine-x,50%) var(--shine-y,18%),rgba(255,255,255,.62),rgba(255,255,255,.08) 23%,transparent 47%);
  opacity:0;
  mix-blend-mode:screen;
  transition:opacity .2s ease;
}
.card:hover{--depth-lift:-9px;border-color:rgba(215,154,187,.72);box-shadow:var(--depth-shadow-hover)}
.card:hover::before{opacity:.72}
.card__media{box-shadow:inset 0 -12px 28px rgba(99,31,82,.05)}
.card__media::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(145deg,rgba(255,255,255,.16),transparent 34%,transparent 65%,rgba(89,29,73,.05));}
.card__media img{transform:scale(1.015);transition:transform .35s cubic-bezier(.2,.72,.2,1),filter .35s ease}
.card:hover .card__media img{transform:scale(1.075) translateY(-2px);filter:saturate(1.04) contrast(1.015)}
.card__body{position:relative;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,250,252,.97));box-shadow:inset 0 1px 0 rgba(255,255,255,.95)}
.card-save{box-shadow:0 9px 22px rgba(78,29,65,.15),inset 0 1px 0 rgba(255,255,255,.95);backdrop-filter:blur(8px);transition:transform .18s ease,box-shadow .18s ease,color .18s ease}
.card-save:hover{transform:translateY(-3px) scale(1.06);box-shadow:0 14px 26px rgba(78,29,65,.2),inset 0 1px 0 rgba(255,255,255,1)}
.badge{box-shadow:0 7px 15px rgba(89,25,70,.18),inset 0 1px 0 rgba(255,255,255,.22);text-shadow:0 1px 1px rgba(0,0,0,.08)}

/* Most Loved cards use the same visual language without changing their compact layout. */
.most-loved-card{
  --tilt-x:0deg;--tilt-y:0deg;--depth-lift:0px;
  padding:.38rem;
  border:1px solid rgba(231,198,215,.62);
  border-radius:17px;
  background:linear-gradient(165deg,#fff,#fff9fc);
  box-shadow:0 10px 24px rgba(87,32,72,.075),inset 0 1px 0 #fff;
  transform:perspective(900px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) translateY(var(--depth-lift));
  transition:transform .22s ease-out,box-shadow .22s ease,border-color .22s ease;
  will-change:transform;
}
.most-loved-card:hover{--depth-lift:-7px;border-color:rgba(219,163,193,.7);box-shadow:0 24px 48px rgba(87,32,72,.15)}
.most-loved-card__media{box-shadow:inset 0 -10px 22px rgba(82,28,68,.05),0 7px 17px rgba(82,28,68,.055)}
.most-loved-card__media img{transition:transform .32s cubic-bezier(.2,.72,.2,1),filter .32s ease}
.most-loved-card:hover .most-loved-card__media img{transform:scale(1.055) translateY(-2px);filter:saturate(1.035)}
.most-loved-card__save button{box-shadow:0 9px 18px rgba(58,28,48,.15),inset 0 1px 0 rgba(255,255,255,.95)}
.most-loved-banner{box-shadow:0 18px 42px rgba(76,25,64,.12),inset 0 1px 0 rgba(255,255,255,.55);transition:transform .25s ease,box-shadow .25s ease}
.most-loved-banner:hover{transform:translateY(-5px);box-shadow:0 27px 58px rgba(76,25,64,.17)}
.most-loved-banner__media img{transition:transform .55s cubic-bezier(.2,.72,.2,1)}
.most-loved-banner:hover .most-loved-banner__media img{transform:scale(1.035)}

/* Shop by category: medallions feel lifted from the page. */
.shop-by-category-section{position:relative;isolation:isolate;overflow:hidden}
.shop-by-category-section::before{content:"";position:absolute;z-index:-1;width:440px;height:440px;left:-180px;top:-170px;border-radius:50%;background:radial-gradient(circle,rgba(248,190,218,.20),transparent 68%);pointer-events:none}
.catrail__item{
  --tilt-x:0deg;--tilt-y:0deg;--depth-lift:0px;
  position:relative;
  transform:perspective(800px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) translateY(var(--depth-lift));
  transform-style:preserve-3d;
  transition:transform .22s ease-out,color .2s ease;
  will-change:transform;
}
.catrail__item:hover{--depth-lift:-7px;color:var(--berry)}
.catrail img,.catrail__fallback{
  box-shadow:0 0 0 2px #efcadd,0 15px 32px rgba(117,40,97,.14),inset 0 2px 0 rgba(255,255,255,.48),inset 0 -8px 18px rgba(104,34,88,.07);
  transition:transform .25s cubic-bezier(.2,.72,.2,1),box-shadow .25s ease,filter .25s ease;
}
.catrail a.catrail__item:hover img,.catrail a.catrail__item:hover .catrail__fallback{transform:translateZ(20px) scale(1.045);box-shadow:0 0 0 2px #e8a6c9,0 23px 42px rgba(117,40,97,.2),inset 0 2px 0 rgba(255,255,255,.58);filter:saturate(1.04)}
.catrail__item span{transform:translateZ(12px);text-shadow:0 6px 13px rgba(90,34,75,.09)}

/* Collection spotlights: tilted poster cards with floating copy. */
.home-collections{perspective:1200px}
.collection-spotlight{
  --tilt-x:0deg;--tilt-y:0deg;--depth-lift:0px;
  border:1px solid rgba(255,255,255,.6);
  background-size:105%;
  box-shadow:0 24px 55px rgba(73,24,61,.16),inset 0 1px 0 rgba(255,255,255,.5);
  transform:perspective(1050px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) translateY(var(--depth-lift));
  transition:transform .24s ease-out,box-shadow .24s ease,background-size .55s cubic-bezier(.2,.72,.2,1);
  will-change:transform;
}
.collection-spotlight::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at var(--shine-x,50%) var(--shine-y,25%),rgba(255,255,255,.25),transparent 37%);opacity:0;transition:opacity .2s ease}
.collection-spotlight:hover{--depth-lift:-8px;background-size:110%;box-shadow:0 35px 75px rgba(73,24,61,.23),inset 0 1px 0 rgba(255,255,255,.62)}
.collection-spotlight:hover::after{opacity:1}
.collection-spotlight__body{position:relative;z-index:2;transform:translateZ(28px);text-shadow:0 8px 24px rgba(28,7,23,.32)}
.collection-spotlight__body em{display:inline-flex;margin-top:.25rem;padding:.42rem .72rem;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(45,10,38,.22);box-shadow:0 8px 20px rgba(31,7,26,.14),inset 0 1px 0 rgba(255,255,255,.18);backdrop-filter:blur(6px)}

/* Below-category promotion: the copy panel floats above the banner art. */
.category-promo{box-shadow:0 22px 54px rgba(91,26,74,.13),inset 0 1px 0 rgba(255,255,255,.55);perspective:1100px;transition:transform .25s ease,box-shadow .25s ease}
.category-promo:hover{transform:translateY(-4px);box-shadow:0 31px 68px rgba(91,26,74,.18),inset 0 1px 0 rgba(255,255,255,.7)}
.category-promo__slide>img{transition:transform .7s cubic-bezier(.2,.72,.2,1),filter .45s ease}
.category-promo:hover .category-promo__slide.is-active>img{transform:scale(1.018);filter:saturate(1.025)}
.category-promo__content{
  border:1px solid rgba(255,255,255,.58);
  background:linear-gradient(145deg,rgba(255,250,253,.91),rgba(255,241,248,.80));
  box-shadow:0 20px 45px rgba(58,13,48,.14),inset 0 1px 0 rgba(255,255,255,.98);
  transform:translateY(-50%) translateZ(38px);
}
.category-promo__button{box-shadow:0 8px 0 rgba(91,20,66,.08),0 13px 24px rgba(117,31,87,.15),inset 0 1px 0 rgba(255,255,255,.2);transition:transform .18s ease,box-shadow .18s ease}
.category-promo__button:hover{transform:translateY(-3px);box-shadow:0 10px 0 rgba(91,20,66,.07),0 18px 29px rgba(117,31,87,.2)}

/* Rail controls receive the same physical-control treatment. */
.rail-arrow{box-shadow:0 8px 0 rgba(98,40,83,.055),0 15px 28px rgba(102,37,88,.14),inset 0 1px 0 rgba(255,255,255,.98);transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease}
.rail-arrow:hover{transform:translateY(calc(-50% - 4px));box-shadow:0 10px 0 rgba(92,26,75,.07),0 21px 34px rgba(102,37,88,.2),inset 0 1px 0 rgba(255,255,255,.35)}
.rail-arrow:active{transform:translateY(calc(-50% + 1px));box-shadow:0 3px 0 rgba(92,26,75,.07),0 8px 15px rgba(102,37,88,.12)}

/* Touch screens keep the depth styling but avoid pointer-tilt motion. */
@media(max-width:900px),(hover:none){
  .hero__text{transform:none;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
  .card,.most-loved-card,.catrail__item,.collection-spotlight,.quick-offer{--tilt-x:0deg!important;--tilt-y:0deg!important}
  .card:hover,.most-loved-card:hover,.catrail__item:hover,.collection-spotlight:hover,.quick-offer:hover{--depth-lift:0px}
  .tool:hover{transform:none}
  .btn:hover{transform:translateY(-2px)}
  .collection-spotlight{background-size:cover}
  .collection-spotlight:hover{background-size:cover}
}
@media(max-width:700px){
  .hero__text{padding:1.25rem 1.1rem;border-radius:20px;background:linear-gradient(135deg,rgba(50,10,43,.52),rgba(88,24,75,.27));box-shadow:0 18px 40px rgba(24,5,21,.2),inset 0 1px 0 rgba(255,255,255,.17)}
  .quick-offers{box-shadow:0 15px 34px rgba(93,33,78,.1)}
  .most-loved-card{padding:.25rem;border-radius:14px}
  .category-promo__content{transform:translateY(-50%)}
}
@media(prefers-reduced-motion:reduce){
  .hero::before,.hero::after,.hero__slide,.hero__text,.card,.most-loved-card,.catrail__item,.collection-spotlight,.quick-offer,.btn,.tool,.category-promo,.category-promo__slide>img{transition:none!important;transform:none!important}
  .card:hover .card__media img,.most-loved-card:hover .most-loved-card__media img,.catrail a.catrail__item:hover img,.catrail a.catrail__item:hover .catrail__fallback{transform:none!important}
  .btn::after{display:none}
}

/* ========================================================================== 
   v1.0.25 — Premium 3D storefront pass (Phase 2 / complete customer UI)
   PDP, cart, checkout, browse/search, wishlist, offers, account/auth,
   order tracking/confirmation, content pages, reviews, footer + mobile drawer.
   Frontend-only progressive enhancement. No persistent-data dependency.
   ========================================================================== */
:root{
  --depth-surface:linear-gradient(145deg,rgba(255,255,255,.985),rgba(255,247,251,.955));
  --depth-surface-soft:linear-gradient(145deg,rgba(255,255,255,.94),rgba(255,242,249,.88));
  --depth-border:rgba(213,160,190,.42);
  --depth-page-shadow:0 28px 70px rgba(72,24,60,.12),0 9px 24px rgba(72,24,60,.07);
  --depth-inset:inset 0 1px 0 rgba(255,255,255,.96),inset 0 -1px 0 rgba(130,57,107,.045);
}

/* Ambient page depth. Kept inside the content shell so it cannot affect layout. */
.depth-page{position:relative;isolation:isolate}
.depth-page::before{
  content:"";position:absolute;z-index:-1;pointer-events:none;
  width:min(52vw,680px);height:min(52vw,680px);right:-17vw;top:2.5rem;border-radius:50%;
  background:radial-gradient(circle,rgba(239,132,183,.105),rgba(201,160,235,.045) 43%,transparent 72%);
  filter:blur(8px);transform:translateZ(0)
}
.depth-page>.crumbs{position:relative;z-index:2}

/* Reusable storefront surfaces. Admin uses a separate stylesheet/layout. */
.depth-page .panel,
.product-page .review-form-panel,
.checkout-page .checkout-feature-card{
  border-color:var(--depth-border);
  background:var(--depth-surface);
  box-shadow:var(--depth-page-shadow),var(--depth-inset);
}
.depth-page .panel{transition:box-shadow .24s ease,border-color .24s ease,transform .24s ease}
.depth-page .panel:hover{border-color:rgba(196,118,163,.46);box-shadow:0 31px 72px rgba(74,26,62,.14),0 10px 25px rgba(74,26,62,.08),var(--depth-inset)}
.depth-page .table-wrap{border-radius:14px;background:rgba(255,255,255,.77);box-shadow:inset 0 1px 0 rgba(255,255,255,.98),inset 0 0 0 1px rgba(222,183,205,.27);overflow:auto}
.depth-page .data tr{transition:background .18s ease,box-shadow .18s ease}
.depth-page .data tbody tr:hover{background:rgba(255,244,250,.86)}
.depth-page .field input,.depth-page .field select,.depth-page .field textarea,
.depth-page .toolbar input,.depth-page .toolbar select,.checkout-code-row input{
  border-color:rgba(217,170,196,.65);
  background:linear-gradient(180deg,#fff,#fffbfd);
  box-shadow:inset 0 2px 5px rgba(93,38,78,.045),inset 0 1px 0 rgba(255,255,255,.98),0 4px 10px rgba(85,29,71,.025);
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,background .18s ease;
}
.depth-page .field input:focus,.depth-page .field select:focus,.depth-page .field textarea:focus,
.depth-page .toolbar input:focus,.depth-page .toolbar select:focus,.checkout-code-row input:focus{
  transform:translateY(-1px);background:#fff;border-color:rgba(190,56,124,.65);
  box-shadow:0 0 0 4px rgba(224,70,139,.08),0 10px 22px rgba(94,32,79,.08),inset 0 1px 0 rgba(255,255,255,.98)
}

/* Product detail: staged gallery + raised product information console. */
.product-page .pdp{perspective:1500px;transform-style:preserve-3d}
.product-page .gallery{perspective:1300px;transform-style:preserve-3d}
.product-page .gallery__main{
  --tilt-x:0deg;--tilt-y:0deg;--shine-x:50%;--shine-y:18%;--depth-x:0px;--depth-y:0px;
  position:relative;isolation:isolate;border-color:rgba(211,156,188,.5)!important;
  background:linear-gradient(145deg,#fff,#fff8fc)!important;
  box-shadow:0 32px 72px rgba(74,26,62,.16),0 12px 30px rgba(74,26,62,.09),inset 0 1px 0 rgba(255,255,255,1);
  transform:perspective(1200px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) translateZ(0);
  transform-style:preserve-3d;transition:transform .16s ease-out,box-shadow .24s ease,border-color .24s ease;
}
.product-page .gallery__main::before{
  content:"";position:absolute;inset:0;z-index:3;pointer-events:none;border-radius:inherit;
  background:radial-gradient(circle at var(--shine-x) var(--shine-y),rgba(255,255,255,.72),rgba(255,255,255,.12) 19%,transparent 42%);
  mix-blend-mode:soft-light;opacity:.82;transition:opacity .2s ease
}
.product-page .gallery__main:hover{box-shadow:0 40px 86px rgba(74,26,62,.2),0 14px 32px rgba(74,26,62,.1),inset 0 1px 0 #fff;border-color:rgba(196,108,158,.58)!important}
.product-page .gallery__slide img,.product-page .noimg--pdp{
  transform:translate3d(var(--depth-x),var(--depth-y),24px) scale(1.018);
  transition:transform .2s ease-out,filter .24s ease;filter:drop-shadow(0 18px 24px rgba(84,30,70,.07))
}
.product-page .gallery__thumbs{padding:.35rem .2rem .65rem;gap:.65rem}
.product-page .gallery__thumbs button{
  border-color:rgba(220,177,201,.55);background:linear-gradient(145deg,#fff,#fff4f9);
  box-shadow:0 8px 16px rgba(82,29,68,.08),inset 0 1px 0 #fff;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease
}
.product-page .gallery__thumbs button:hover{transform:translateY(-3px);box-shadow:0 13px 22px rgba(82,29,68,.13),inset 0 1px 0 #fff}
.product-page .gallery__thumbs button[aria-current="true"]{border-color:var(--pink);box-shadow:0 12px 24px rgba(206,53,123,.17),0 0 0 3px rgba(232,84,151,.07)}
.product-page .gallery__arrow{box-shadow:0 9px 0 rgba(81,26,67,.06),0 16px 28px rgba(69,23,58,.14),inset 0 1px 0 rgba(255,255,255,.98);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}

.product-page .pdp__details{
  position:relative;padding:clamp(1rem,2.2vw,1.55rem);border:1px solid var(--depth-border);border-radius:22px;
  background:var(--depth-surface);box-shadow:0 30px 74px rgba(73,25,61,.12),0 8px 24px rgba(73,25,61,.065),var(--depth-inset);
  transform:translateZ(24px);overflow:hidden
}
.product-page .pdp__details::before{
  content:"";position:absolute;pointer-events:none;width:230px;height:230px;right:-90px;top:-100px;border-radius:50%;
  background:radial-gradient(circle,rgba(237,121,178,.16),rgba(204,160,232,.06) 52%,transparent 72%);filter:blur(2px)
}
.product-page .pdp__title,.product-page .pdp__price,.product-page .pdp__sku,.product-page .rating-summary{position:relative;z-index:1}
.product-page .pdp__price .price{filter:drop-shadow(0 5px 10px rgba(179,40,108,.12))}
.product-page .pdp__price .badge{box-shadow:0 7px 16px rgba(179,40,108,.13),inset 0 1px 0 rgba(255,255,255,.55)}
.product-page .pdp-trust-row>span{
  background:linear-gradient(145deg,#fff,#fff5fa);border-color:rgba(221,175,201,.58);
  box-shadow:0 8px 18px rgba(86,30,72,.07),inset 0 1px 0 rgba(255,255,255,.98);
  transition:transform .18s ease,box-shadow .18s ease
}
.product-page .pdp-trust-row>span:hover{transform:translateY(-2px);box-shadow:0 13px 23px rgba(86,30,72,.11),inset 0 1px 0 #fff}
.product-page .pdp-trust-row b{box-shadow:0 5px 12px rgba(184,43,110,.12),inset 0 1px 0 rgba(255,255,255,.75)}
.product-page .activity-chip,.product-page .selling-fast{
  box-shadow:0 6px 14px rgba(83,31,70,.065),inset 0 1px 0 rgba(255,255,255,.78)
}
.product-page .product-option{
  border-radius:15px;padding:.82rem .85rem;background:linear-gradient(145deg,rgba(255,255,255,.73),rgba(255,246,250,.78));
  box-shadow:inset 0 0 0 1px rgba(226,190,210,.42),inset 0 1px 0 rgba(255,255,255,.96)
}
.product-page .option-pill span,.checkout-page .option-pill span{
  box-shadow:0 6px 13px rgba(82,28,68,.055),inset 0 1px 0 rgba(255,255,255,.96);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease
}
.product-page .option-pill:hover span,.checkout-page .option-pill:hover span{transform:translateY(-2px);box-shadow:0 10px 17px rgba(82,28,68,.09),inset 0 1px 0 #fff}
.product-page .option-pill input:checked+span,.checkout-page .option-pill input:checked+span{box-shadow:0 9px 18px rgba(190,45,115,.14),inset 0 1px 0 rgba(255,255,255,.52)}
.product-page .qty{border-radius:12px;background:linear-gradient(145deg,#fff,#fff5fa);box-shadow:0 8px 18px rgba(77,27,64,.08),inset 0 1px 0 #fff}
.product-page .qty button{transition:transform .15s ease,background .15s ease}
.product-page .qty button:active{transform:translateY(1px) scale(.94)}
.product-page .whatsapp-cta{box-shadow:0 10px 0 rgba(9,98,53,.06),0 15px 28px rgba(18,133,76,.13),inset 0 1px 0 rgba(255,255,255,.22);transition:transform .18s ease,box-shadow .18s ease}
.product-page .whatsapp-cta:hover{transform:translateY(-3px);box-shadow:0 12px 0 rgba(9,98,53,.05),0 21px 34px rgba(18,133,76,.18),inset 0 1px 0 rgba(255,255,255,.24)}
.product-page .product-accordion__item{
  border-color:rgba(221,178,202,.6);background:linear-gradient(145deg,#fff,#fff8fb);
  box-shadow:0 7px 17px rgba(79,28,66,.055),inset 0 1px 0 #fff;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease
}
.product-page .product-accordion__item:hover{transform:translateY(-1px);box-shadow:0 11px 22px rgba(79,28,66,.085),inset 0 1px 0 #fff}
.product-page .product-accordion__item[open]{border-color:rgba(198,115,162,.48);box-shadow:0 14px 28px rgba(79,28,66,.105),inset 0 1px 0 #fff}
.product-page .review-form-panel{position:relative;overflow:hidden}
.product-page .review-card{
  --tilt-x:0deg;--tilt-y:0deg;--shine-x:50%;--shine-y:18%;
  position:relative;isolation:isolate;border-color:rgba(220,173,199,.55)!important;background:var(--depth-surface)!important;
  box-shadow:0 20px 42px rgba(78,28,65,.105),0 6px 16px rgba(78,28,65,.055),var(--depth-inset);
  transform:perspective(900px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));transform-style:preserve-3d;transition:transform .16s ease-out,box-shadow .2s ease
}
.product-page .review-card::after{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:radial-gradient(circle at var(--shine-x) var(--shine-y),rgba(255,255,255,.72),transparent 42%);pointer-events:none}
.product-page .review-card:hover{box-shadow:0 27px 54px rgba(78,28,65,.15),0 8px 18px rgba(78,28,65,.07),var(--depth-inset)}
.product-page .size-guide{border:1px solid rgba(211,158,188,.55);box-shadow:0 35px 100px rgba(49,14,41,.28),inset 0 1px 0 #fff;background:linear-gradient(145deg,#fff,#fff7fb)}

/* Cart: staged basket and a more physical order-summary card. */
.cart-page .cart-layout{perspective:1300px}
.cart-page .cart-layout>.panel:first-child{position:relative;overflow:hidden}
.cart-page .cart-layout>.panel:first-child::after{content:"";position:absolute;pointer-events:none;width:220px;height:220px;left:-110px;bottom:-130px;border-radius:50%;background:radial-gradient(circle,rgba(237,127,181,.11),transparent 70%)}
.cart-page .cart-thumb,.confirm-page .order-thumb{border-radius:12px!important;box-shadow:0 9px 18px rgba(77,28,64,.11);transition:transform .18s ease,box-shadow .18s ease}
.cart-page tr:hover .cart-thumb,.confirm-page tr:hover .order-thumb{transform:translateY(-2px) scale(1.035);box-shadow:0 13px 24px rgba(77,28,64,.15)}
.cart-page .summary,.checkout-page .checkout-summary,.confirm-page .summary{
  border-color:rgba(205,143,178,.5);background:linear-gradient(145deg,#fff,#fff5fa 70%,#faf4ff);
  box-shadow:0 30px 70px rgba(71,24,59,.15),0 9px 24px rgba(71,24,59,.08),var(--depth-inset)
}
.cart-page .summary .total,.checkout-page .checkout-summary .total,.confirm-page .summary .total{text-shadow:0 5px 12px rgba(151,36,100,.08)}
.cart-page .first-order-nudge,.cart-page .free-shipping-note,.checkout-page .advance-callout{
  box-shadow:0 8px 17px rgba(85,31,71,.07),inset 0 1px 0 rgba(255,255,255,.72)
}
.cart-page .cart-qty-form .btn{min-width:36px}

/* Checkout: raised steps, selectable payment tiles and dimensional account cards. */
.checkout-page .checkout-layout{perspective:1400px}
.checkout-page .checkout-feature-card{position:relative;overflow:hidden}
.checkout-page .checkout-feature-card::before{content:"";position:absolute;pointer-events:none;width:210px;height:210px;right:-115px;top:-130px;border-radius:50%;background:radial-gradient(circle,rgba(237,125,180,.12),transparent 72%)}
.checkout-page .paymethod{
  border-color:rgba(218,172,198,.65)!important;background:linear-gradient(145deg,#fff,#fff7fb)!important;
  box-shadow:0 9px 20px rgba(76,27,63,.065),inset 0 1px 0 #fff;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease
}
.checkout-page .paymethod:hover{transform:translateY(-3px);box-shadow:0 15px 26px rgba(76,27,63,.11),inset 0 1px 0 #fff}
.checkout-page .paymethod:has(input:checked){border-color:rgba(193,54,123,.56)!important;background:linear-gradient(145deg,#fff,#fff0f7)!important;box-shadow:0 17px 34px rgba(177,43,108,.13),0 0 0 3px rgba(228,73,141,.06),inset 0 1px 0 #fff;transform:translateY(-2px)}
.checkout-page .cod-delivery-method,.checkout-page .checkout-advance-note,.checkout-page .receipt-upload,.checkout-page .checkout-code-box{
  border-color:rgba(222,180,202,.62);background:linear-gradient(145deg,#fff,#fff8fb);box-shadow:0 8px 18px rgba(80,29,67,.06),inset 0 1px 0 #fff
}
.checkout-page .payment-accounts{perspective:1000px}
.checkout-page .payment-account,.confirm-page .payment-account{
  --tilt-x:0deg;--tilt-y:0deg;--shine-x:50%;--shine-y:18%;position:relative;isolation:isolate;
  border-color:rgba(219,169,196,.6)!important;background:linear-gradient(145deg,#fff,#fff5fa)!important;
  box-shadow:0 16px 32px rgba(80,29,67,.095),inset 0 1px 0 #fff;
  transform:perspective(850px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));transform-style:preserve-3d;transition:transform .16s ease-out,box-shadow .2s ease
}
.checkout-page .payment-account::after,.confirm-page .payment-account::after{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:radial-gradient(circle at var(--shine-x) var(--shine-y),rgba(255,255,255,.7),transparent 42%);pointer-events:none}
.checkout-page .payment-account:hover,.confirm-page .payment-account:hover{box-shadow:0 23px 44px rgba(80,29,67,.135),inset 0 1px 0 #fff}
.checkout-page .payment-account__brand img,.confirm-page .payment-account__brand img{filter:drop-shadow(0 6px 9px rgba(58,22,49,.1))}
.checkout-page .cod-badge{box-shadow:0 6px 14px rgba(83,30,69,.08),inset 0 1px 0 rgba(255,255,255,.7)}

/* Browse, category, search, saved items and offers. */
.browse-page .browse-head,.search-page>h1,.saved-page .section__head{position:relative;z-index:1}
.browse-page .toolbar{
  border-color:rgba(215,164,193,.5);background:var(--depth-surface-soft);
  box-shadow:0 18px 38px rgba(76,27,63,.09),var(--depth-inset);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)
}
.browse-page .filter-toggle{box-shadow:0 7px 15px rgba(80,29,67,.06),inset 0 1px 0 #fff}
.all-categories-page .all-category-grid,.offers-page .offers-grid{perspective:1300px}
.all-categories-page .all-category-card,
.offers-page .offer-detail-card,
.home-product-section .promo-card,
.news-ticker-card,
.content-page .contact-method,
.account-page .address-card{
  --tilt-x:0deg;--tilt-y:0deg;--shine-x:50%;--shine-y:18%;--depth-lift:0px;
  position:relative;isolation:isolate;transform-style:preserve-3d;
  transform:perspective(950px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) translateY(var(--depth-lift));
  transition:transform .16s ease-out,box-shadow .2s ease,border-color .2s ease
}
.all-categories-page .all-category-card::after,
.offers-page .offer-detail-card::after,
.home-product-section .promo-card::before,
.news-ticker-card::after,
.content-page .contact-method::after,
.account-page .address-card::after{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:inherit;
  background:radial-gradient(circle at var(--shine-x) var(--shine-y),rgba(255,255,255,.72),rgba(255,255,255,.08) 25%,transparent 48%)
}
.all-categories-page .all-category-card{border-color:rgba(216,166,194,.55);box-shadow:0 18px 38px rgba(78,28,65,.1),var(--depth-inset)}
.all-categories-page .all-category-card:hover{--depth-lift:-6px;box-shadow:0 29px 55px rgba(78,28,65,.16),var(--depth-inset)}
.all-categories-page .all-category-card img,.all-categories-page .all-category-card__fallback{transform:translate3d(var(--depth-x,0px),var(--depth-y,0px),18px) scale(1.012);transition:transform .2s ease-out}
.offers-page .offer-detail-card{border-color:rgba(213,154,187,.58);box-shadow:0 22px 46px rgba(77,27,64,.11),var(--depth-inset)}
.offers-page .offer-detail-card:hover{--depth-lift:-5px;box-shadow:0 31px 60px rgba(77,27,64,.16),var(--depth-inset)}
.offers-page .code-copy-box{box-shadow:inset 0 1px 4px rgba(91,32,76,.06),0 7px 16px rgba(91,32,76,.05);border-radius:12px}
.search-page .grid,.listing-page .grid,.saved-page .grid,.category-page>.grid{perspective:1400px}
.pager a,.pager span{box-shadow:0 6px 14px rgba(79,28,66,.06),inset 0 1px 0 rgba(255,255,255,.95);transition:transform .16s ease,box-shadow .16s ease}
.pager a:hover{transform:translateY(-2px);box-shadow:0 10px 18px rgba(79,28,66,.1),inset 0 1px 0 #fff}

/* Track order + order confirmation: dimensional progress and receipt/status surfaces. */
.track-order-page .track-order-layout,.confirm-page .confirm-layout{perspective:1300px}
.track-order-page .track-order-form{box-shadow:0 25px 58px rgba(72,25,60,.12),var(--depth-inset)}
.track-order-page .track-order-result{position:relative;overflow:hidden}
.track-order-page .track-order-result::after{content:"";position:absolute;pointer-events:none;width:250px;height:250px;right:-130px;top:-150px;border-radius:50%;background:radial-gradient(circle,rgba(238,126,181,.13),transparent 70%)}
.track-order-page .order-progress__step:before{box-shadow:0 5px 12px rgba(85,31,71,.11),inset 0 1px 0 rgba(255,255,255,.78)}
.track-order-page .order-progress__step.is-active:before{box-shadow:0 7px 15px rgba(185,42,109,.2),0 0 0 4px rgba(231,76,143,.08),inset 0 1px 0 rgba(255,255,255,.45)}
.track-order-page .order-timeline__item{border-radius:12px;padding:.7rem .75rem;background:linear-gradient(145deg,#fff,#fff8fb);box-shadow:0 7px 16px rgba(79,28,66,.055),inset 0 1px 0 #fff}
.track-order-page .track-order-items>div{transition:background .18s ease,transform .18s ease;border-radius:10px;padding-inline:.45rem}
.track-order-page .track-order-items>div:hover{background:#fff7fb;transform:translateX(2px)}
.track-order-page .track-order-items img{box-shadow:0 8px 17px rgba(75,27,63,.1)}
.confirm-page .confirm-hero{
  position:relative;overflow:hidden;border-color:rgba(211,151,185,.48);background:linear-gradient(135deg,#fff,#fff1f7 55%,#f8f2ff);
  box-shadow:0 32px 76px rgba(72,25,60,.14),0 10px 26px rgba(72,25,60,.075),var(--depth-inset)
}
.confirm-page .confirm-hero::before{content:"";position:absolute;width:290px;height:290px;left:50%;top:-205px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle,rgba(235,111,173,.22),rgba(199,155,230,.06) 52%,transparent 70%)}
.confirm-page .tick{box-shadow:0 12px 27px rgba(88,33,74,.13),inset 0 1px 0 rgba(255,255,255,.8);transform:translateZ(24px)}
.confirm-page .dispatch-panel{box-shadow:0 24px 55px rgba(72,25,60,.11),var(--depth-inset)}
.confirm-page .receipt-attached{box-shadow:0 7px 17px rgba(79,28,66,.07),inset 0 1px 0 rgba(255,255,255,.72)}

/* Account/auth + content pages. */
.auth-shell{perspective:1200px}
.auth-shell>.panel{
  position:relative;overflow:hidden;border-color:rgba(208,145,181,.5);background:linear-gradient(145deg,#fff,#fff4f9 70%,#faf4ff);
  box-shadow:0 34px 80px rgba(69,23,58,.16),0 11px 28px rgba(69,23,58,.08),var(--depth-inset)
}
.auth-shell>.panel::before{content:"";position:absolute;pointer-events:none;width:250px;height:250px;right:-145px;top:-155px;border-radius:50%;background:radial-gradient(circle,rgba(237,120,178,.17),transparent 70%)}
.register-page .register-discount-box{box-shadow:0 9px 20px rgba(85,30,71,.07),inset 0 1px 0 rgba(255,255,255,.78)}
.account-page .address-grid{perspective:1100px}
.account-page .address-card{border-color:rgba(219,171,198,.58);background:linear-gradient(145deg,#fff,#fff7fb);box-shadow:0 15px 31px rgba(79,28,66,.085),var(--depth-inset)}
.account-page .address-card:hover{--depth-lift:-4px;box-shadow:0 23px 43px rgba(79,28,66,.13),var(--depth-inset)}
.content-page .contact-methods{perspective:1200px}
.content-page .contact-method{border-color:rgba(217,164,194,.55)!important;background:linear-gradient(145deg,#fff,#fff6fa)!important;box-shadow:0 18px 36px rgba(78,28,65,.09),var(--depth-inset)}
.content-page .contact-method:hover{--depth-lift:-4px;box-shadow:0 27px 50px rgba(78,28,65,.14),var(--depth-inset)}
.content-page .contact-method__icon{filter:drop-shadow(0 8px 13px rgba(74,26,62,.12))}

/* Footer + mobile navigation finish the depth language without changing nav behavior. */
.footer{position:relative;isolation:isolate;overflow:hidden;box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 -18px 50px rgba(61,20,52,.08)}
.footer::before,.footer::after{content:"";position:absolute;z-index:-1;pointer-events:none;border-radius:50%;filter:blur(2px)}
.footer::before{width:420px;height:420px;right:-160px;top:-230px;background:radial-gradient(circle,rgba(255,126,188,.15),transparent 68%)}
.footer::after{width:340px;height:340px;left:-170px;bottom:-190px;background:radial-gradient(circle,rgba(172,132,232,.13),transparent 70%)}
.footer .social a{box-shadow:0 9px 19px rgba(7,1,6,.18),inset 0 1px 0 rgba(255,255,255,.12);transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.footer .social a:hover{transform:translateY(-3px);box-shadow:0 14px 25px rgba(7,1,6,.24),inset 0 1px 0 rgba(255,255,255,.16)}
.footer-brand__logo-wrap{filter:drop-shadow(0 12px 18px rgba(4,0,3,.2))}
.mobile-drawer{background:linear-gradient(165deg,#fff,#fff8fb 58%,#faf5ff);box-shadow:28px 0 75px rgba(43,13,36,.28),inset -1px 0 0 rgba(255,255,255,.88)}
.mobile-drawer__head{box-shadow:0 9px 24px rgba(78,29,65,.07),inset 0 1px 0 #fff}
.mobile-drawer__close,.mobile-menu-thumb,.mobile-menu-subthumb{box-shadow:0 7px 15px rgba(80,29,67,.085),inset 0 1px 0 rgba(255,255,255,.96)}
.mobile-menu-row,.mobile-menu-subrow{transition:transform .16s ease,background .16s ease,box-shadow .16s ease}
.mobile-menu-row:active,.mobile-menu-subrow:active{transform:translateX(2px) scale(.992)}

/* Additional homepage cards that were intentionally left flat in Phase 1. */
.home-product-section .promo-card,.news-ticker-card{box-shadow:0 19px 40px rgba(77,27,64,.1),var(--depth-inset)}
.home-product-section .promo-card:hover,.news-ticker-card:hover{--depth-lift:-4px;box-shadow:0 28px 52px rgba(77,27,64,.15),var(--depth-inset)}

/* Mobile/touch keeps visual depth but removes pointer-driven transforms. */
@media(max-width:900px),(hover:none){
  .product-page .gallery__main,.product-page .review-card,.all-categories-page .all-category-card,
  .offers-page .offer-detail-card,.checkout-page .payment-account,.confirm-page .payment-account,
  .home-product-section .promo-card,.news-ticker-card,.content-page .contact-method,.account-page .address-card{
    --tilt-x:0deg!important;--tilt-y:0deg!important;--depth-x:0px!important;--depth-y:0px!important;--depth-lift:0px!important
  }
  .product-page .gallery__slide img,.product-page .noimg--pdp{transform:scale(1.006)}
  .product-page .pdp__details{transform:none}
  .depth-page .panel:hover{transform:none}
  .checkout-page .paymethod:hover,.checkout-page .paymethod:has(input:checked){transform:none}
}
@media(max-width:760px){
  .depth-page::before{width:88vw;height:88vw;right:-48vw;top:1rem}
  .product-page .pdp__details{padding:1rem;border-radius:18px;box-shadow:0 20px 48px rgba(73,25,61,.1),var(--depth-inset)}
  .product-page .gallery__main{box-shadow:0 22px 50px rgba(74,26,62,.12),0 7px 18px rgba(74,26,62,.07),inset 0 1px 0 #fff}
  .cart-page .summary,.checkout-page .checkout-summary,.confirm-page .summary{box-shadow:0 20px 48px rgba(71,24,59,.11),var(--depth-inset)}
  .track-order-page .track-order-form{position:static}
}
@media(prefers-reduced-motion:reduce){
  .product-page .gallery__main,.product-page .gallery__slide img,.product-page .noimg--pdp,.product-page .review-card,
  .all-categories-page .all-category-card,.offers-page .offer-detail-card,.checkout-page .payment-account,.confirm-page .payment-account,
  .home-product-section .promo-card,.news-ticker-card,.content-page .contact-method,.account-page .address-card,
  .depth-page .panel,.depth-page .field input,.depth-page .field select,.depth-page .field textarea,.mobile-menu-row,.mobile-menu-subrow{
    transition:none!important;transform:none!important
  }
  .product-page .gallery__main::before,.all-categories-page .all-category-card::after,.offers-page .offer-detail-card::after,
  .product-page .review-card::after,.checkout-page .payment-account::after,.confirm-page .payment-account::after{display:none!important}
}
.utility-page .empty{max-width:760px;margin:clamp(2rem,7vw,5rem) auto;padding:clamp(1.4rem,4vw,2.6rem);border:1px solid var(--depth-border);border-radius:24px;background:var(--depth-surface);box-shadow:0 30px 72px rgba(73,25,61,.13),var(--depth-inset)}

/* ==========================================================================
   v1.0.26 — 3D refinement hotfix
   Requested refinements only: clean left-aligned hero, stable PDP hover,
   and no white shine overlay on product-card hover. No data/business changes.
   ========================================================================== */

/* Hero: keep the existing admin-managed words/buttons, remove the glass
   dashboard panel, and restore a clean left-side composition. */
.hero__content{justify-content:flex-start}
.hero__text{
  margin-inline:0;
  max-width:min(620px,72%);
  padding:4rem 0;
  text-align:left;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  transform:none;
  transition:none;
}
.hero__text::before{display:none}
.hero__text p{margin-left:0;margin-right:0}

/* Product cards retain lift/depth but no longer flash a white radial shine
   as the pointer moves across them. */
.card::before{display:none!important}
.card:hover::before{opacity:0!important}

/* Product-detail page: retain the premium static depth, but remove live
   pointer-driven transforms/highlights that can make the cursor appear to
   flicker when the tilted hit-box repeatedly moves beneath the pointer. */
.product-page .gallery__main,
.product-page .review-card{
  --tilt-x:0deg!important;
  --tilt-y:0deg!important;
  --depth-x:0px!important;
  --depth-y:0px!important;
  transform:none!important;
  will-change:auto!important;
}
.product-page .gallery__main::before,
.product-page .review-card::after{display:none!important}
.product-page .gallery__slide img,
.product-page .noimg--pdp{
  transform:scale(1.018)!important;
  will-change:auto!important;
}

@media(max-width:760px){
  .hero__content{justify-content:flex-start}
  .hero__text{
    width:100%;
    max-width:100%;
    padding:2.7rem 0 4.5rem;
    text-align:left;
    background:transparent;
    box-shadow:none;
  }
}

/* ========================================================================== 
   v1.0.28 — Mobile storefront refinement
   Mobile-only visual polish: smaller hero copy/CTA, tighter left alignment,
   and a compact two-column footer. Desktop/tablet behavior is unchanged.
   ========================================================================== */
@media (max-width: 560px) {
  /* Hero: use more of the artwork on small screens and keep copy secondary. */
  .hero__content {
    padding-left: 18px;
    padding-right: 24px;
  }
  .hero__text {
    width: min(78%, 290px);
    max-width: min(78%, 290px);
    padding-top: 2.15rem;
    padding-bottom: 3.7rem;
  }
  .hero__text h1 {
    margin-bottom: .42rem;
    font-size: clamp(1.55rem, 7.4vw, 2.12rem);
    line-height: .98;
    letter-spacing: -.018em;
  }
  .hero__text p {
    max-width: 29ch;
    margin-bottom: .78rem;
    font-size: clamp(.68rem, 3vw, .79rem);
    line-height: 1.35;
  }
  .hero__text .btn {
    min-height: 34px;
    padding: .48rem .78rem;
    border-radius: 10px;
    font-size: .69rem;
    line-height: 1.1;
    box-shadow: 0 7px 0 rgba(91,26,72,.07), 0 12px 20px rgba(91,26,72,.12), inset 0 1px 0 rgba(255,255,255,.28);
  }

  /* Footer: brand/contact stays full width; navigation is grouped compactly. */
  .footer {
    padding-top: 1.45rem;
  }
  .footer__cols {
    grid-template-columns: repeat(2, minmax(0,1fr));
    column-gap: .9rem;
    row-gap: 1.05rem;
  }
  .footer__brandcol {
    grid-column: 1 / -1;
    padding-bottom: .8rem;
    border-bottom: 1px solid rgba(255,255,255,.11);
  }
  .footer-brand {
    margin-bottom: .35rem;
  }
  .footer-brand img {
    height: 34px;
    max-width: 62px;
  }
  .footer-brand h3 {
    font-size: 1.05rem;
  }
  .footer__brandcol p {
    max-width: none;
    margin: .28rem 0;
    font-size: .72rem;
    line-height: 1.42;
  }
  .footer__cols > div:nth-child(2),
  .footer__cols > div:nth-child(3) {
    min-width: 0;
  }
  .footer h3 {
    margin: 0 0 .38rem;
    font-size: .88rem;
  }
  .footer li {
    margin: .16rem 0;
    font-size: .7rem;
    line-height: 1.28;
  }
  .footer__cols > div:nth-child(4) {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr);
    column-gap: .9rem;
    align-items: start;
    padding-top: .75rem;
    border-top: 1px solid rgba(255,255,255,.11);
  }
  .footer__cols > div:nth-child(4) > h3:first-child,
  .footer__cols > div:nth-child(4) > ul:not(.social) {
    grid-column: 1;
  }
  .footer__cols > div:nth-child(4) > .footer__social-head,
  .footer__cols > div:nth-child(4) > .social {
    grid-column: 2;
  }
  .footer__social-head {
    margin-top: 0;
  }
  .footer .social {
    display: flex;
    flex-wrap: wrap;
    gap: .28rem;
  }
  .footer .social a {
    width: 28px;
    height: 28px;
  }
  .footer .social svg {
    width: 14px;
    height: 14px;
  }
  .footer__bottom {
    margin-top: 1.15rem;
    padding: .75rem 0 1rem;
    gap: .45rem;
    font-size: .68rem;
  }
  .footer__bottom .paylogos span {
    padding: .22rem .45rem;
    font-size: .66rem;
  }
}

@media (max-width: 380px) {
  .hero__content {
    padding-left: 15px;
    padding-right: 18px;
  }
  .hero__text {
    width: min(80%, 260px);
    max-width: min(80%, 260px);
  }
  .hero__text h1 {
    font-size: clamp(1.42rem, 7vw, 1.88rem);
  }
  .hero__text p {
    font-size: .66rem;
  }
  .hero__text .btn {
    min-height: 32px;
    padding: .44rem .7rem;
    font-size: .66rem;
  }
  .footer__cols {
    column-gap: .7rem;
  }
}


/* ==========================================================================
   v1.0.29 — Hero mobile positioning + admin typography controls
   The title/subtitle can move upward independently while the CTA remains in
   its v1.0.28 position. Sizes/colour are supplied through validated settings.
   ========================================================================== */
.hero__text h1 {
  color: var(--hero-copy-color, #fff);
  font-size: clamp(var(--hero-title-size-mobile, 29px), 8vw, var(--hero-title-size-desktop, 80px));
}
.hero__text p {
  color: var(--hero-copy-color, #fff);
  font-size: clamp(var(--hero-subtitle-size-mobile, 12px), 2vw, var(--hero-subtitle-size-desktop, 19px));
}
@media (max-width: 560px) {
  .hero__text h1 {
    font-size: var(--hero-title-size-mobile, 29px);
    transform: translateY(-38px);
  }
  .hero__text p {
    font-size: var(--hero-subtitle-size-mobile, 12px);
    transform: translateY(-38px);
  }
  /* Intentionally no transform on the CTA: it stays at the v1.0.28 position. */
  .hero__text .btn { transform: none; }
}


/* ========================================================================== 
   v1.0.31 — Mobile hero/banner + PDP clarity fixes
   - Shorter mobile hero with proportional background rendering (no zoom stretch)
   - Promotional Bridal/Calligraphy artwork keeps its native wide ratio on mobile
   - Softer button depth/shadows
   - Crisp product-detail text (no 3D text-plane transform)
   - Product gallery always contains the full uploaded image without crop/zoom
   ========================================================================== */

/* Softer tactile buttons: keep depth, remove the heavy raised/blurred look. */
.btn{
  transform:none;
  text-shadow:none;
  box-shadow:0 4px 11px rgba(71,27,60,.10),inset 0 1px 0 rgba(255,255,255,.16);
}
.btn:hover{
  transform:translateY(-1px);
  box-shadow:0 6px 15px rgba(98,30,80,.13),inset 0 1px 0 rgba(255,255,255,.20);
}
.btn:active{
  transform:none;
  box-shadow:0 2px 7px rgba(72,25,61,.10),inset 0 1px 2px rgba(0,0,0,.05);
}
.btn--ghost{
  box-shadow:0 3px 9px rgba(88,35,73,.07),inset 0 1px 0 rgba(255,255,255,.95);
}
.btn--ghost:hover{
  box-shadow:0 5px 12px rgba(100,38,83,.09),inset 0 1px 0 rgba(255,255,255,.98);
}
.hero__text .btn{
  box-shadow:0 4px 11px rgba(91,26,72,.10),inset 0 1px 0 rgba(255,255,255,.24);
}
.product-page .whatsapp-cta{
  box-shadow:0 5px 13px rgba(18,133,76,.11),inset 0 1px 0 rgba(255,255,255,.18);
}
.product-page .whatsapp-cta:hover{
  transform:translateY(-1px);
  box-shadow:0 7px 16px rgba(18,133,76,.14),inset 0 1px 0 rgba(255,255,255,.20);
}
.most-loved-banner__button,
.category-promo__button{
  box-shadow:0 4px 11px rgba(73,24,61,.11);
}

/* Product detail: keep the information panel on a normal 2D text plane so
   browser font rasterisation stays crisp at every zoom/device scale. */
.product-page .pdp{
  perspective:none;
  transform-style:flat;
}
.product-page .pdp__details{
  transform:none!important;
  backface-visibility:visible;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.product-page .pdp__title,
.product-page .pdp__details p,
.product-page .pdp__details li,
.product-page .pdp__details span,
.product-page .pdp__details strong,
.product-page .pdp__details b,
.product-page .pdp__details summary,
.product-page .product-accordion__content{
  filter:none!important;
}
.product-page .pdp__price .price{filter:none!important}

/* Product photography: never zoom or crop any edge. This overrides the older
   3D gallery scale that could trim the bottom of portrait/square images. */
.product-page .gallery__main{
  overflow:hidden;
}
.product-page .gallery__slide{
  overflow:hidden;
}
.product-page .gallery__slide img{
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
  filter:none!important;
}
.product-page .gallery__thumbs img{
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
}

@media (max-width:760px){
  /* These promo artworks are uploaded at a wide ~2.33:1 ratio. Let the card
     follow that ratio instead of forcing a tall mobile card that stretches/crops it. */
  .promo-card{
    min-height:0!important;
    aspect-ratio:1916 / 821;
  }
  .promo-card img{
    width:100%;
    height:100%;
    object-fit:contain!important;
    object-position:center!important;
    transform:none!important;
  }
}

@media (max-width:560px){
  /* Shorter mobile hero. Background-size:cover always preserves the source
     aspect ratio; removing the old slide scale prevents extra zoom/cropping. */
  .hero,
  .hero__content{
    min-height:0!important;
    height:clamp(250px,72vw,300px);
  }
  .hero__slide,
  .hero__slide.is-active{
    background-size:cover!important;
    background-position:center!important;
    transform:none!important;
  }
  .hero__content{
    align-items:flex-end;
  }
  .hero__text{
    padding-top:1.55rem;
    padding-bottom:2.55rem;
  }
  .hero__text h1,
  .hero__text p{
    transform:translateY(-20px);
  }
}


/* ======================================================================
   v1.0.40 — arrow-free subcategory scrolling + uncropped desktop adverts
   ====================================================================== */
.category-page .category-rail--scroll { width:100%; min-width:0; overflow:hidden; }
.category-page .category-subcategory-scroll { display:flex; gap:1rem; width:100%; max-width:100%; overflow-x:auto; overflow-y:hidden; padding:.35rem .2rem .75rem; scroll-snap-type:x proximity; scroll-behavior:smooth; overscroll-behavior-inline:contain; -webkit-overflow-scrolling:touch; scrollbar-width:thin; scrollbar-gutter:stable; }
.category-page .category-subcategory-scroll .catrail__item { flex:0 0 clamp(100px,12vw,135px); scroll-snap-align:start; }
.category-page .category-subcategory-scroll:focus-visible { outline:2px solid var(--berry); outline-offset:3px; border-radius:12px; }

@media (min-width:701px) {
  .advertisement-popup__media { aspect-ratio:auto; min-height:0; max-height:min(56svh,560px); display:flex; align-items:center; justify-content:center; overflow:hidden; padding:.55rem; background:#fff; }
  .advertisement-popup__media img { width:auto; height:auto; max-width:100%; max-height:min(54svh,540px); object-fit:contain; object-position:center; padding:0; }
}

/* ======================================================================
   v1.0.40.2 — requested micro-adjustment
   Mobile hero copy only: move title/subtitle slightly higher without
   changing the CTA/button position or any other hero styling.
   ====================================================================== */
@media (max-width:560px){
  .hero__text h1,
  .hero__text p{
    transform:translateY(-32px);
  }
}

/* ======================================================================
   v1.0.40.3 — mobile promotional banner fit hotfix
   Let the uploaded promo artwork define the card height on phones. This
   removes contain/ratio letterboxing (empty bands above or below) while
   preserving the full source image with no crop or stretch.
   ====================================================================== */
@media (max-width:760px){
  .home-product-section .promo-card{
    display:block!important;
    min-height:0!important;
    height:auto!important;
    aspect-ratio:auto!important;
    background:transparent!important;
    line-height:0;
  }
  .home-product-section .promo-card img{
    position:relative!important;
    inset:auto!important;
    display:block!important;
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    margin:0!important;
    object-fit:contain!important;
    object-position:center!important;
    transform:none!important;
  }
  .home-product-section .promo-card__body{
    line-height:normal;
  }
}
.enhancement-links,.language-switch{padding:1rem;display:flex;gap:1rem;flex-wrap:wrap}.enhancement-filters{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0}.enhancement-filters label{display:flex;flex-direction:column;max-width:150px}html[dir=rtl] .field,html[dir=rtl] .panel{text-align:right}video{display:block;width:100%;border-radius:12px}input[readonly]{background:#fff5fa}pre{white-space:pre-wrap;overflow-wrap:anywhere}
/* Customer account, rewards and returns — compact shared navigation. */
.account-hub.section{padding-top:28px;padding-bottom:36px}.account-hub .account-head{margin-bottom:0;gap:16px}.account-hub .account-head h1{font-size:clamp(1.8rem,4vw,3rem);margin:0}.account-eyebrow{font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute);margin:0 0 8px}.account-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 20px}.account-tabs a{padding:10px 16px;border:1px solid #ecd7e5;border-radius:999px;background:#fff9fc;font-size:.84rem;font-weight:600;text-decoration:none}.account-tabs a.is-active{background:#311733;color:#fff;border-color:#311733;box-shadow:0 4px 12px #31173318}.loyalty-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:20px 0}.loyalty-grid>*{min-width:0;margin:0}.loyalty-card{padding:28px;border:1px solid #efd8e6;border-radius:22px;background:linear-gradient(145deg,#fff,#fff2f8)}.loyalty-card--balance{background:linear-gradient(145deg,#321b39,#6c3158);color:white;box-shadow:0 12px 30px #4d254320}.loyalty-card--balance .account-eyebrow,.loyalty-card--balance .hint{color:#f2d6e6}.loyalty-card--balance .btn{background:#fff3fa;color:#321b39;border-color:#fff3fa}.loyalty-balance{font-family:Marcellus,serif;font-size:3.5rem;line-height:1.2;margin:16px 0}.loyalty-balance span{font-family:Inter,sans-serif;font-size:.9rem;margin-left:8px}.referral-copy{display:flex;gap:8px;margin-top:8px}.referral-copy input{width:100%;min-width:0;padding:11px;border:1px solid #ecd7e5;border-radius:12px;background:white}.referral-copy button{flex-shrink:0}.referral-summary{display:flex;gap:20px;margin-top:24px;font-size:.82rem;color:var(--ink-mute)}.referral-summary strong{color:var(--ink);font-size:1.2rem;margin-right:4px}.loyalty-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.loyalty-steps span{display:block;color:#a13d74;font-size:1.5rem;font-family:Marcellus,serif}.loyalty-steps h3{margin:8px 0}.loyalty-steps p{font-size:.86rem;line-height:1.65;margin:0;color:var(--ink-mute)}.account-empty{padding:26px 12px;text-align:center;border:1px dashed #edd8e5;border-radius:16px;margin-top:16px;background:#fff8fc}.account-empty>span{font-size:2rem;color:#aa4c80}.account-empty h3{font-size:1.08rem;margin:12px 0 6px}.account-empty p{font-size:.86rem;color:var(--ink-mute);line-height:1.6}.reward-delta{font-weight:600;color:#8d3c58}.reward-delta--credit{color:#286c51}.return-intro{background:linear-gradient(120deg,#fff0f7,#f7effa);border:1px solid #efd8e6;border-radius:20px;padding:24px}.return-intro p{line-height:1.7;color:var(--ink-mute)}.return-steps{display:flex;flex-wrap:wrap;gap:8px}.return-steps span{border-radius:999px;padding:8px 12px;background:#fff9fc;font-size:.78rem;color:#6b365b}.return-history{display:grid;gap:14px}.return-request{padding:18px;border:1px solid #ecd7e5;border-radius:16px;background:#fffafd}.return-request__head{display:flex;justify-content:space-between;gap:8px;align-items:center}.return-request h3{font-size:1rem;margin:14px 0 4px}.return-request p{overflow-wrap:anywhere}.return-response{background:#f6edf4;border-left:3px solid #a13d74;border-radius:8px;padding:12px;font-size:.85rem}.return-response p{margin:6px 0 0}.account-hub .field select{max-width:100%}.account-hub .table-wrap{max-width:100%}
@media(max-width:700px){.loyalty-grid,.loyalty-steps{grid-template-columns:1fr}.loyalty-grid{gap:16px}.loyalty-card{padding:22px}.account-hub.section{padding-top:20px}.account-tabs{gap:6px;margin:14px 0 18px}.account-tabs a{font-size:.76rem;padding:9px 12px}.referral-copy{flex-wrap:wrap}.referral-copy input{flex-basis:100%}.account-hub .account-head{align-items:flex-start;flex-wrap:wrap}.return-intro{padding:20px}}
/* Keep authentication controls on a flat hit-testing plane. */
.auth-shell{perspective:none}.auth-shell>.panel{transform-style:flat}.auth-shell form{position:relative}.auth-shell form .btn{position:relative;z-index:1;transform:none}.auth-shell form .btn:hover,.auth-shell form .btn:active{transform:none}
.loyalty-grid>.panel{margin-top:0}
.account-hub .loyalty-grid>.panel{margin-top:0}

/* Curved category promotion; preserve the existing width, height and artwork. */
.category-promo{border-radius:clamp(24px,3vw,42px) 12px clamp(24px,3vw,42px) 12px;outline:1px solid rgba(204,156,171,.28);outline-offset:-1px;box-shadow:0 18px 44px rgba(91,26,74,.13);perspective:none}
.category-promo:hover{transform:none;box-shadow:0 22px 48px rgba(91,26,74,.17)}
.category-promo:hover .category-promo__slide.is-active>img{transform:none;filter:none}
@media(max-width:700px){.category-promo{border-radius:24px 9px 24px 9px}}

/* Store and staff live notification controls. */
.notification-bell{border:0;padding:0;background:transparent;cursor:pointer;color:inherit}
.notification-dialog,.mobile-select-dialog{width:min(620px,calc(100vw - 28px));max-height:85dvh;margin:auto;padding:1.3rem;border:1px solid #e9cfe3;border-radius:22px;background:#fff;box-shadow:0 30px 100px rgba(40,14,43,.25);color:#301a35;overflow:auto;overscroll-behavior:contain;box-sizing:border-box}
.notification-dialog::backdrop,.mobile-select-dialog::backdrop{background:rgba(31,16,36,.45);backdrop-filter:blur(4px)}
.notification-section-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.notification-section-head h2{margin:0;font-size:1.5rem}
.notification-close{flex:none;align-self:flex-start;width:38px;height:38px;border:1px solid #edd6e6;border-radius:50%;background:white;color:#5b2254;font:24px/1 sans-serif;cursor:pointer}
.notification-card{padding:1rem;border:1px solid #ead5e6;border-left:4px solid #cb247c;border-radius:16px;background:linear-gradient(125deg,#fff,#fdf4fa);display:flex;flex-direction:column;gap:.35rem;margin:.8rem 0;overflow-wrap:anywhere}
.notification-card p{margin:.2rem 0}.notification-card small{color:#7e6a7d}.notification-card.is-read{border-left-color:#d4c8d5;background:#fff}
.notification-image,.campaign-image-preview{width:100%;height:auto;max-height:220px;object-fit:contain;border-radius:12px;background:#faf4f8}.campaign-image-preview{max-width:260px}
.notification-card .form-actions,.notification-dialog .form-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-top:.5rem}
.live-toast-region{position:fixed;right:18px;bottom:86px;width:min(365px,calc(100vw - 28px));z-index:9000;display:grid;gap:.6rem;pointer-events:none}
.live-toast{padding:1.2rem;border:1px solid #e8bfd8;border-radius:20px;background:linear-gradient(120deg,#fff,#fff0f8);box-shadow:0 14px 45px rgba(74,23,64,.2);pointer-events:auto;overflow-wrap:anywhere}
.live-toast .notification-close{float:right;margin-left:.5rem}.live-toast strong{display:block;color:#762658;padding-right:1rem}.live-toast p{font-size:.88rem;line-height:1.5}.live-toast .btn{width:auto!important}
.mobile-select-wrap{min-width:0;max-width:100%}.mobile-select-wrap:not(.is-mobile){display:contents}
.mobile-select-native{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;opacity:0;pointer-events:none}
.mobile-select-trigger{display:block;width:100%;max-width:100%;min-height:46px;padding:.7rem 2.2rem .7rem .8rem;text-align:left;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;border:1px solid #e5c9df;border-radius:10px;background:#fff;color:inherit;font:inherit;position:relative;cursor:pointer}
.mobile-select-trigger::after{content:'⌄';position:absolute;right:.75rem;top:50%;transform:translateY(-50%);color:#86275f}
.mobile-select-trigger:disabled{background:#eee;cursor:not-allowed;color:#777}.mobile-select-trigger[aria-invalid=true]{border-color:#b93261}
.mobile-select-search{width:100%;min-height:44px;padding:.7rem;margin:.8rem 0;border:1px solid #e5c9df;border-radius:10px;font-size:16px}
.mobile-select-options{display:grid;gap:.4rem;margin-top:.8rem}
.mobile-select-option{padding:.85rem 1rem;border:1px solid #ecdbe7;border-radius:12px;background:#fff;text-align:left;font:inherit;white-space:normal;overflow-wrap:anywhere;min-height:46px;color:#38223e;cursor:pointer}
.mobile-select-option[aria-pressed=true]{background:#f9e9f3;border-color:#c32b7d;color:#86265e}.mobile-select-option:disabled{opacity:.45;cursor:not-allowed}
.mobile-select-option:focus-visible,.mobile-select-trigger:focus-visible,.notification-close:focus-visible{outline:2px solid #aa286f;outline-offset:2px}
@media(max-width:700px){
 .notification-dialog,.mobile-select-dialog{width:calc(100vw - 20px);max-width:calc(100vw - 20px);max-height:85dvh;border-radius:22px 22px 12px 12px;padding:1rem;margin:auto auto 10px}
 .notification-dialog .btn,.mobile-select-trigger,.mobile-select-option{font-size:16px;min-height:44px}
 select{min-width:0;max-width:100%;font-size:16px!important}select[multiple]{max-height:240px;overflow:auto}
 .header__tools{gap:.2rem}.header__tools .tool{width:32px;min-width:32px;height:36px;padding:0}.header__tools .tool svg{width:22px;height:22px}
 .live-toast-region{right:14px;bottom:86px}.mobile-select-wrap.is-mobile{width:100%}
 .notification-card .btn{width:auto!important}
}
/* Keep enhanced native controls from affecting the mobile page width. */
.mobile-select-wrap.is-mobile{position:relative}
.mobile-select-wrap select.mobile-select-native{width:1px!important;max-width:1px!important;min-width:0!important;height:1px!important;min-height:0!important;left:0!important;padding:0!important;border:0!important}
.mobile-select-trigger[hidden]{display:none!important}

.stock-notification[hidden],[data-product-extras][hidden]{display:none!important}

/* V50: a calm bell-only notification inbox. */
.store-notifications{width:min(700px,calc(100vw - 32px));padding:0!important;overflow:hidden;max-height:86dvh;display:none;grid-template-rows:auto auto minmax(0,1fr);border:1px solid #ead9e2;border-radius:24px;background:#fffafc;box-shadow:0 26px 90px #36152745}
.store-notifications[open]{display:grid}
.store-notifications__header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:24px 26px 18px;background:linear-gradient(125deg,#fff2f8,#faf3ff);border-bottom:1px solid #efdee8}
.store-notifications__eyebrow{font-size:10px;font-weight:700;letter-spacing:.16em;color:var(--berry);display:block;margin-bottom:7px}
.store-notifications__header h2{margin:0!important;font-size:clamp(1.45rem,3vw,1.85rem);line-height:1.2}
.store-notifications__header p{margin:.55rem 0 0;color:var(--ink-soft);font-size:.83rem}
.store-notifications__header .notification-close{position:static;flex-shrink:0;width:36px;height:36px}
.store-notifications__tabs{display:flex;gap:5px;padding:12px 24px;border-bottom:1px solid #efdee8;background:#fff}
.store-notifications__tab{border:0;background:transparent;color:#725367;padding:10px 15px;border-radius:12px;font-weight:600;font-size:.8rem;cursor:pointer;min-height:42px}
.store-notifications__tab[aria-pressed=true]{background:#f6e7ef;color:var(--berry-dark)}
.store-notifications__content{padding:0 24px 24px;overflow:auto;overscroll-behavior:contain;min-height:0}
.store-notifications__content>[data-customer-notification-status]{margin:14px 0;font-size:.75rem;color:#806577}
.store-notifications .store-notification{display:grid;grid-template-columns:148px minmax(0,1fr);overflow:hidden;padding:0;margin:0 0 14px;gap:0;border:1px solid #ecdce5;border-radius:18px;background:#fff;box-shadow:0 5px 18px #49133108}
.store-notifications .store-notification:not(:has(img)){grid-template-columns:1fr}
.store-notifications .notification-image{margin:0;width:148px;height:100%;min-height:168px;max-height:none;border-radius:0;background:#fcf3f8;object-fit:contain;align-self:stretch}
.store-notification__body{padding:18px;min-width:0;overflow-wrap:anywhere}
.store-notification__meta{display:flex;gap:8px;justify-content:space-between;align-items:center;flex-wrap:wrap;color:#94758a;font-size:10px}
.store-notification__label{letter-spacing:.1em;font-weight:700;color:var(--berry)}
.store-notification__body h3{font-family:var(--body);font-size:1rem;font-weight:650;margin:10px 0 7px;line-height:1.35}
.store-notification__message{white-space:pre-wrap;font-size:.84rem;line-height:1.65;margin:0 0 14px;color:#73566a}
.store-notification__shop{background:var(--berry);border-color:var(--berry);color:white;box-shadow:none;padding:.6rem 1rem;font-size:.8rem;border-radius:11px}
.store-notifications__empty{text-align:center;padding:36px 15px;color:#76576c}
.store-notifications__empty-icon{display:block;font-size:34px;color:#ba578c;margin-bottom:12px}
.store-notifications__empty strong{display:block;font-size:1rem}
.store-notifications__empty p{font-size:.85rem;line-height:1.6;margin-top:8px}
.section--seo .seo-panel--with-image{align-items:start!important}
.section--seo .seo-panel__copy{display:block!important;align-self:start;padding:clamp(20px,2.4vw,32px)!important;overflow-wrap:anywhere}
.section--seo .seo-panel__copy h2{max-width:none!important;margin:0 0 16px!important;font-size:clamp(1.35rem,2.3vw,1.9rem);line-height:1.25}
.section--seo .seo-panel__copy p{margin:0 0 12px;line-height:1.75;font-size:.88rem}
.section--seo .seo-panel--with-image .seo-panel__media{height:clamp(260px,31vw,400px)!important;min-height:0!important;align-self:start}
.section--seo .seo-panel__media .seo-panel__slide{object-fit:contain!important;object-position:center!important;height:100%!important;width:100%!important;min-height:0!important}
@media(max-width:700px){
 .store-notifications{width:calc(100vw - 20px);max-height:88dvh;margin:auto!important;border-radius:22px!important}
 .store-notifications__header{padding:20px 17px 16px}.store-notifications__tabs{padding:9px 12px}.store-notifications__tab{font-size:.76rem;padding:10px 12px}
 .store-notifications__content{padding:0 14px 16px}.store-notifications .store-notification{grid-template-columns:1fr}
 .store-notifications .notification-image{width:100%;height:155px;min-height:0;max-height:155px}.store-notification__body{padding:16px}
 .section--seo .seo-panel--with-image .seo-panel__media{height:240px!important}
}

.store-notifications [hidden]{display:none!important}
/* Long copy flows into the space below the fixed image instead of stretching it. */
.section--seo .seo-panel--with-image{display:flow-root!important}
.section--seo .seo-panel--with-image .seo-panel__media{float:right;width:46%;margin:0 0 20px 28px;border-bottom-left-radius:20px}
.section--seo .seo-panel__copy{width:auto!important;max-width:none!important;overflow:visible!important;box-sizing:border-box}
@media(max-width:900px){
 .section--seo .seo-panel--with-image{display:flex!important;flex-direction:column}
 .section--seo .seo-panel--with-image .seo-panel__media{float:none;width:100%;margin:0;border-radius:0;order:0!important;height:240px!important}
 .section--seo .seo-panel__copy{width:100%!important;order:1}
}
.section--seo .seo-panel__copy p{max-width:none}

/* V51: compact accessible quantity controls and editable order summary. */
.qty--compact{display:inline-flex;align-items:center;justify-content:center;gap:0;border:1px solid #d9d1cb;border-radius:10px;overflow:hidden;background:#fff;width:auto!important;flex-shrink:0}
.qty--compact button{width:36px;height:36px;min-width:36px;padding:0;border:0;background:transparent;color:var(--ink);font-size:20px;line-height:1;cursor:pointer}
.qty--compact button:hover{background:#f3eee9}.qty--compact button:disabled{opacity:.4;cursor:default}
.qty--compact input{width:44px!important;min-width:0;height:36px;padding:0!important;border:0!important;background:transparent;text-align:center;border-radius:0;appearance:textfield;-moz-appearance:textfield;font-size:14px}
.qty--compact input::-webkit-inner-spin-button,.qty--compact input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.cart-qty-form{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.checkout-line{padding:14px 0;border-bottom:1px solid #e7e1dc}.checkout-line__heading{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.checkout-line__heading strong{overflow-wrap:anywhere}.checkout-line__actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}.checkout-line small{display:block;color:var(--ink-mute)}.checkout-remove{border:0;background:transparent;color:#a24049;text-decoration:underline;padding:8px;font-size:13px;cursor:pointer}.checkout-summary [data-cart-edit-status]{font-size:13px;line-height:1.4;color:#6b4c39;min-height:18px}.checkout-summary #reward-balance{background:#f4f1ed;color:#5a4c42;font-weight:700;cursor:default}.checkout-summary .check{align-items:flex-start;line-height:1.4;gap:8px}
/* Curved homepage story banner: fixed image frame, fluid text and no distortion. */
.section--seo .seo-panel{position:relative;isolation:isolate;overflow:hidden;border-radius:44px 14px 44px 14px;background:linear-gradient(125deg,#f8ebe5 0%,#f6edf5 52%,#ece6f2 100%);border:1px solid #e9dce5;box-shadow:0 12px 34px rgba(92,59,79,.08);padding:26px 32px!important}
.section--seo .seo-panel::before,.section--seo .seo-panel::after{content:'';position:absolute;pointer-events:none;z-index:-1;border-radius:50%;width:440px;height:440px;right:-140px;top:-270px;border:40px solid rgba(255,255,255,.5)}
.section--seo .seo-panel::after{right:auto;top:auto;left:-180px;bottom:-370px;width:560px;height:560px;border:60px solid rgba(220,189,180,.2)}
.section--seo .seo-panel--with-image{display:flow-root!important}.section--seo .seo-panel--with-image .seo-panel__media{float:right!important;width:42%!important;height:280px!important;min-height:0!important;margin:0 0 18px 30px!important;border-radius:80px 20px 65px 20px;overflow:hidden;background:linear-gradient(140deg,#fff8f0,#e7dbe9);box-shadow:0 6px 22px rgba(112,83,112,.1)}
.section--seo .seo-panel__slide{width:100%;height:100%;object-fit:contain!important;object-position:center}.section--seo .seo-panel__copy{display:block!important;padding:10px 0!important;max-width:none!important}.section--seo .seo-panel__copy h2{margin-top:0!important;font-size:clamp(24px,2.5vw,34px);line-height:1.18;letter-spacing:-.6px;color:#513844}.section--seo .seo-panel__copy p{font-size:15px;line-height:1.7;max-width:none}
@media(max-width:900px){.section--seo .seo-panel{padding:20px!important;border-radius:30px 12px 30px 12px}.section--seo .seo-panel--with-image{display:flex!important;flex-direction:column!important;gap:16px!important}.section--seo .seo-panel--with-image .seo-panel__media{float:none!important;width:100%!important;height:220px!important;margin:0!important;border-radius:45px 14px 45px 14px}.section--seo .seo-panel__copy{padding:0!important}.section--seo .seo-panel__copy h2{font-size:25px}.section--seo .seo-panel__copy p{font-size:14px}}
/* Homepage collections management: styled rows retain native table semantics. */
.homepage-category-overview{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px 32px;margin-bottom:20px;border:1px solid #ddcde9;border-radius:24px;background:linear-gradient(125deg,#f4e7ec,#eee7f7 55%,#e5edf4)}.homepage-category-overview>div>span{font-size:11px;letter-spacing:1.6px;color:#755768;font-weight:700}.homepage-category-overview strong{display:block;font-size:25px;color:#51384f}.homepage-category-overview p{max-width:550px;margin:8px 0 0;color:#6c5e6b;line-height:1.5}.homepage-category-overview__stat{min-width:110px;padding:18px;background:#ffffffa6;border-radius:20px;text-align:center}.homepage-category-overview__stat strong{font-size:36px}.homepage-category-overview__stat span{letter-spacing:0!important}.homepage-category-settings{border-radius:20px}.homepage-category-table{border-collapse:separate;border-spacing:0 9px;background:transparent}.homepage-category-table th{background:transparent;color:#75616a;font-size:12px}.homepage-category-table td{background:#faf8fb;border-top:1px solid #eee7ef;border-bottom:1px solid #eee7ef;padding:16px!important;vertical-align:middle}.homepage-category-table td:first-child{border-left:1px solid #eee7ef;border-radius:14px 0 0 14px}.homepage-category-table td:last-child{border-right:1px solid #eee7ef;border-radius:0 14px 14px 0}.homepage-category-table .is-enabled td{background:#f2f7f4}.homepage-category-title{display:flex;align-items:center;gap:10px}.homepage-category-avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,#ecd7e4,#dcd1ee);color:#654463;font-weight:700;font-size:18px;flex-shrink:0}.homepage-category-check input{accent-color:#6b8876;width:19px;height:19px}.homepage-category-order{max-width:96px!important;border-radius:10px!important;text-align:center;font-weight:700}.homepage-category-parent,.homepage-category-url{margin-left:48px}.homepage-category-settings__help{border-radius:12px;background:#f6f1e9}.homepage-category-savebar{border-radius:14px}.image-spec{font-size:12px;line-height:1.5;margin:8px 0 10px;padding:10px 12px;border-radius:10px;background:#f5f0e9;border-left:3px solid #b69567}.image-spec__size{display:block}.image-spec span{display:block}
@media(max-width:600px){.homepage-category-overview{padding:20px;gap:12px}.homepage-category-overview strong{font-size:21px}.homepage-category-overview__stat{padding:12px;min-width:78px}.homepage-category-overview__stat strong{font-size:30px}.homepage-category-overview p{font-size:13px}.homepage-category-table{min-width:600px}.qty--compact button,.qty--compact input{height:40px}}
.checkout-summary .reward-balance-box label.check{display:flex!important;align-items:flex-start;gap:9px;margin:12px 0;font-weight:500}.checkout-summary .reward-balance-box label.check input[type=checkbox]{width:18px!important;height:18px!important;min-height:18px!important;padding:0!important;margin:1px 0 0;flex:0 0 18px;accent-color:#ae1b63;box-shadow:none}
