/* VerSans / VerSans - Editorial storefront
   Shared visual system for storefront, product pages, checkout and customer care. */
:root{
  --ink:#17232f;--muted:#67717b;--paper:#fff;--blush:#f2f4f6;--blush-deep:#e9edf0;--line:#dce1e5;
  --navy:#142333;--wine-900:#142333;--wine-800:#23394b;--wine-700:#304b61;--wine-500:#203a50;
  --wine-400:#8094a3;--gold:#816741;--gold-soft:#e2ceb1;--silver:#c9ced6;--ok:#35644e;--err:#a32b22;
  --sans:'Heebo',Arial,sans-serif;--serif:'Frank Ruhl Libre',Georgia,serif;
  --wrap:1800px;--gut:clamp(1.1rem,4vw,4.5rem);--r-sm:2px;--r-md:4px;
  --shadow-soft:0 8px 30px #1423330a;--shadow-lift:0 20px 80px #14233326;--slide:1;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:115px}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1rem/1.75 var(--sans);-webkit-font-smoothing:antialiased}
body.is-locked{overflow:hidden}
[hidden]{display:none!important}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit;color:inherit}
button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
a{color:inherit;text-underline-offset:5px}
button{cursor:pointer}
h1,h2,h3,h4,p{margin:0}
h1,h2{font-family:var(--serif);font-weight:500;line-height:1.1;letter-spacing:-.035em}
h1{font-size:clamp(2.7rem,5vw,5rem)}
h2{font-size:clamp(2.3rem,4vw,4rem)}
h3,h4{font-family:var(--sans);font-weight:500;line-height:1.4}
ul{list-style:none;margin:0;padding:0}
.container{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gut)}
.section{padding-block:clamp(3.5rem,6vw,6.5rem)}
section[id],footer[id]{scroll-margin-top:115px}
.lede{color:var(--muted);font-size:1rem;max-width:38ch;line-height:1.8}
.eyebrow{font-size:.8125rem;font-weight:500;line-height:1.5;margin-bottom:1.05rem}
html[lang=en] .eyebrow{letter-spacing:.13em;font-size:.75rem}
:focus-visible{outline:2px solid #8b6e40;outline-offset:5px}
.skip{position:fixed;top:8px;inset-inline-start:-9999px;z-index:250;background:#fff;padding:.75rem 1rem}
.skip:focus{inset-inline-start:8px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:1rem;min-height:52px;padding:.85rem 1.6rem;border:1px solid transparent;border-radius:2px;text-decoration:none;font-size:.9375rem;font-weight:500;line-height:1.5;transition:background .2s,color .2s,border-color .2s}
.btn--primary{background:var(--navy);color:#fff;border-color:var(--navy)}
.btn--primary:hover{background:#304b61;border-color:#304b61}
.btn--light{background:#fff;color:var(--navy);border-color:#fff}
.btn--light:hover{background:#e4eaf0;border-color:#e4eaf0}
.btn--ghost{background:transparent;border-color:#a4adb4;color:var(--ink)}
.btn--ghost:hover{background:var(--blush);border-color:var(--navy)}
.btn--onDark{background:transparent;border-color:#9caab4;color:#fff}
.btn--block{width:100%}
.btn:disabled{background:#e5e9ec;color:#727c84;border-color:#e5e9ec;cursor:not-allowed}
.text-link{text-decoration:none;border-bottom:1px solid currentColor;padding-block:.45rem;font-size:.9375rem}
.arrow-icon{flex-shrink:0}
html[dir=ltr] .arrow-icon{transform:rotate(180deg)}

/* Wordmark centered independently of the navigation and utility controls. */
.bar{background:var(--navy);color:#e5eaf0;text-align:center;font-size:.8125rem;line-height:1.5;padding:.6rem 1rem}
.bar b{color:#fff;font-weight:500;margin-inline-start:.25rem}
.promo-marquee{position:relative;overflow:hidden;padding:0;background:linear-gradient(105deg,#fff7f1 0%,#fffdfa 18%,#fceee4 47%,#fffdfb 75%,#fbefe8 100%);border-top:1px solid rgba(194,149,130,.18);border-bottom:1px solid rgba(182,135,114,.22);box-shadow:inset 0 1px rgba(255,255,255,.95),inset 0 -1px rgba(148,103,84,.05),0 3px 14px rgba(123,89,71,.05);isolation:isolate}
.promo-marquee::before{content:'';position:absolute;inset:0;background:linear-gradient(112deg,transparent 0 30%,rgba(255,255,255,.18) 38%,rgba(255,255,255,.92) 47%,rgba(255,247,241,.32) 54%,transparent 63%);transform:translateX(-120%);animation:promoShine 8.2s linear infinite;pointer-events:none;z-index:1}
.promo-marquee::after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 18% 50%,rgba(226,180,158,.10),transparent 21%),radial-gradient(circle at 80% 45%,rgba(233,198,177,.11),transparent 24%);z-index:0}
.promo-marquee__viewport{position:relative;z-index:2;overflow:hidden;width:100%;direction:ltr}
.promo-marquee__track{display:flex;width:max-content;will-change:transform;animation:promoMarquee 32s linear infinite}
.promo-marquee__group{display:flex;align-items:center;justify-content:space-around;flex-shrink:0;min-width:100vw;min-height:46px;padding-inline:.45rem}
.promo-marquee__item{display:inline-flex;align-items:center;gap:.62rem;flex:0 0 auto;min-height:46px;padding-inline:clamp(1.3rem,2.7vw,3rem);color:#6d5449;text-decoration:none;font-weight:700;white-space:nowrap;direction:rtl;letter-spacing:.01em;transition:color .18s ease,transform .18s ease}
.promo-marquee__item:hover{color:#3c2b24;transform:translateY(-1px)}
.promo-marquee__icon{display:grid;place-items:center;width:24px;height:24px;border:1px solid rgba(187,145,123,.32);border-radius:999px;font-size:.77rem;font-weight:800;line-height:1;color:#8d6756;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(251,240,232,.9));box-shadow:inset 0 1px rgba(255,255,255,.98),0 3px 10px rgba(157,116,97,.08)}
.promo-marquee__sep{flex:0 0 auto;color:#d7b09f;opacity:.8;font-size:.75rem}
.promo-marquee__item--sale{color:#b4574d;font-weight:800}
.promo-marquee__item--sale .promo-marquee__icon{background:linear-gradient(145deg,#c9675b,#b55247);border-color:#b95b4f;color:#fffdf9;box-shadow:inset 0 1px rgba(255,255,255,.25),0 4px 10px rgba(181,89,77,.17)}
.promo-marquee__item--bundle .promo-marquee__icon{color:#9b6b4f;background:linear-gradient(145deg,#fffaf6,#f8e9dc)}
.promo-marquee__item--greeting .promo-marquee__icon{color:#a5715d;background:linear-gradient(145deg,#fffaf8,#f7e8e1)}
.promo-marquee__item--shipping .promo-marquee__icon{color:#9a7155;background:linear-gradient(145deg,#fffdfb,#f7eee7)}
.promo-marquee__item--projection .promo-marquee__icon{color:#8b6555;background:linear-gradient(145deg,#fffaf8,#f5e6de)}
.promo-marquee__item--rating{color:#8e614e}
.promo-marquee__item--rating .promo-marquee__icon{color:#b88943;background:linear-gradient(145deg,#fffaf1,#f8edd9)}
.promo-marquee__item--reviews{color:#886456}
.promo-marquee__item--reviews .promo-marquee__icon{color:#9b705d;background:linear-gradient(145deg,#fffdfb,#f5ebe4)}
.promo-en{display:none}
html[lang=en] .promo-he{display:none}
html[lang=en] .promo-en{display:inline}
html[lang=en] .promo-marquee__item{direction:ltr}
@keyframes promoMarquee{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@keyframes promoShine{0%{transform:translateX(-120%)}45%,100%{transform:translateX(130%)}}
@media (max-width:700px){.promo-marquee__track{animation-duration:23s}.promo-marquee__group{min-height:42px}.promo-marquee__item{min-height:42px;padding-inline:1.1rem;font-size:.76rem;gap:.42rem}.promo-marquee__icon{width:21px;height:21px;font-size:.64rem}.promo-marquee__sep{font-size:.63rem}}
.nav{position:sticky;top:0;z-index:60;background:#fff;border-bottom:1px solid var(--line)}
.nav.is-stuck{box-shadow:0 5px 20px #14233308}
.nav__inner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(1.25rem,2vw,2.4rem);min-height:100px;position:relative}
.brand{grid-column:1;grid-row:1;justify-self:start;display:flex;flex-direction:column;text-decoration:none;line-height:1;gap:.45rem;white-space:nowrap;padding-block:1rem}
.brand__name{font:500 2.45rem/.95 var(--serif);letter-spacing:-.045em}
.brand__latin{font:400 .625rem/1.3 var(--sans);letter-spacing:.36em;text-align:center;padding-inline-start:.36em}
.brand__mark{display:none}
.nav__menu{grid-column:2;grid-row:1;display:flex;gap:clamp(1rem,1.45vw,1.8rem);align-items:center;justify-content:center;justify-self:center;min-width:0;width:100%}
.nav__menu a{position:relative;font-size:clamp(.9rem,1.05vw,1.14rem);font-weight:500;white-space:nowrap;text-decoration:none;padding-block:1rem;color:var(--ink);transition:color .2s ease}
.nav__menu a::after{content:'';position:absolute;bottom:.6rem;inset-inline:0;height:1px;background:var(--ink);transform:scaleX(0);transition:transform .2s}
.nav__menu a:hover::after{transform:scaleX(1)}
.nav__menu a.is-active{font-weight:700;color:var(--navy)}
.nav__menu a.is-active::after{transform:scaleX(1)}
.nav__item{position:relative;display:flex;align-items:center;align-self:stretch}
.nav__submenu{position:absolute;top:calc(100% - .55rem);inset-inline-start:50%;z-index:72;display:grid;min-width:190px;padding:.5rem;background:#fff;border:1px solid var(--line);box-shadow:0 18px 38px #14233320;opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,-7px);transition:opacity .18s ease,transform .18s ease,visibility .18s ease}
html[dir=rtl] .nav__submenu{transform:translate(50%,-7px)}
.nav__item--has-submenu:hover .nav__submenu,.nav__item--has-submenu:focus-within .nav__submenu,.nav__submenu.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
html[dir=rtl] .nav__item--has-submenu:hover .nav__submenu,html[dir=rtl] .nav__item--has-submenu:focus-within .nav__submenu,html[dir=rtl] .nav__submenu.is-open{transform:translate(50%,0)}
.nav__submenu a{display:block;padding:.68rem .8rem;font-size:.94rem;line-height:1.3;border-radius:2px}
.nav__submenu a::after{display:none}
.nav__submenu a:hover,.nav__submenu a.is-active{background:var(--blush);color:var(--navy)}
.nav__submenu-all{font-weight:650;border-bottom:1px solid var(--line);margin-bottom:.2rem}
.nav__actions{grid-column:3;grid-row:1;display:flex;align-items:center;gap:.9rem;justify-self:end}
.iconbtn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-width:44px;min-height:44px;padding:.5rem;border:0;background:transparent;text-decoration:none;font-size:.875rem}
.iconbtn:hover{background:var(--blush)}
.cartbtn{position:relative}
.cartbtn__n{position:absolute;inset-block-start:0;inset-inline-end:0;min-width:18px;height:18px;padding:0 4px;border-radius:50%;background:var(--navy);color:#fff;font-size:.6875rem;line-height:18px;text-align:center}
.nav__burger,.navscrim,.nav__close{display:none}

/* The photograph and typography form two equally strong panels. */
.hero{display:grid;grid-template-columns:1fr 1fr;background:var(--navy);color:#fff;min-height:620px}
.hero__copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(2.5rem,5.2vw,6rem);min-width:0}
.hero .eyebrow{color:#c1cdd7;margin-bottom:2rem}
.hero__title{font-size:clamp(3rem,5.3vw,6.3rem);font-weight:400;line-height:1.1;letter-spacing:-.035em;max-width:15ch}
.hero__title span{display:block}
.hero__title span:last-child{color:#d7e1e9}
.hero__sub{max-width:37ch;margin-top:1.7rem;font-size:1rem;line-height:1.9;color:#c3ced8}
.hero__cta{display:flex;align-items:center;flex-wrap:wrap;gap:1.1rem 1.8rem;margin-top:2rem}
.hero__note{display:flex;align-items:center;gap:.55rem;color:#acbac6;font-size:.8125rem;margin-top:2.25rem}
.hero__note svg{flex-shrink:0}
.hero__visual{position:relative;display:block;min-width:0;text-decoration:none;overflow:hidden;background:#b69376}
.hero__image{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center 48%;transition:transform .8s ease}
.hero__visual:hover .hero__image{transform:scale(1.025)}
.hero__visual::after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#101b26a6);pointer-events:none}
.hero__caption{position:absolute;inset-inline:2.2rem;bottom:2rem;z-index:1;display:flex;justify-content:space-between;align-items:flex-end;color:#fff}
.hero__caption small{display:block;font-size:.6875rem;letter-spacing:.18em;margin-bottom:.4rem}
.hero__caption strong{font-family:var(--serif);font-size:1.65rem;font-weight:400}
.hero__caption-arrow{border:1px solid #ffffff80;width:44px;height:44px;display:grid;place-items:center;font-size:1.4rem;border-radius:50%}
.trust{background:#fff;border-bottom:1px solid var(--line)}
.trust__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding-block:1.6rem}
.trust__item{display:flex;align-items:center;justify-content:center;gap:1rem;padding:.25rem 1rem;border-inline-end:1px solid var(--line)}
.trust__item:last-child{border:0}
.trust__item svg{width:24px;height:24px;color:#607688;flex-shrink:0}
.trust__t{font-size:.9375rem;font-weight:500;line-height:1.5}
.trust__d{font-size:.8125rem;line-height:1.5;color:var(--muted);margin-top:.2rem}

/* Collection: quiet side navigation, generous imagery, clear pricing. */
.shop__head{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;padding-bottom:2.2rem;border-bottom:1px solid var(--line);margin-bottom:2.3rem}
.shop__head .eyebrow{color:var(--muted);margin-bottom:.65rem}
.glasses-collection-banner,.watches-collection-banner,.other-collections-banner,.greeting-custom-collection-banner,.gift-boxes-collection-banner{width:100%;margin:0 auto 2.3rem;text-align:center}
.glasses-collection-banner[hidden],.watches-collection-banner[hidden],.other-collections-banner[hidden],.greeting-custom-collection-banner[hidden],.gift-boxes-collection-banner[hidden]{display:none}
.glasses-collection-banner__picture,.watches-collection-banner__picture,.other-collections-banner__picture,.greeting-custom-collection-banner__picture,.gift-boxes-collection-banner__picture{display:block;width:100%;max-width:1600px;margin:0 auto}
.glasses-collection-banner img,.watches-collection-banner img,.other-collections-banner img,.greeting-custom-collection-banner img,.gift-boxes-collection-banner img{display:block;width:100%;max-width:1600px;height:auto;margin:0 auto}
.shop__layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:3rem;align-items:start}
.shop__sidebar{position:sticky;top:130px;padding-top:.25rem}
.shop__filter-label{font-size:.875rem;font-weight:500;margin-bottom:.8rem}
.shop__filter-toggle{width:100%;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.55rem .15rem .7rem;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);font:600 1rem/1.3 var(--sans);text-align:start;cursor:pointer}
.shop__filter-toggle-icon{display:inline-flex;align-items:center;justify-content:center;min-width:1.4rem;font-size:1.25rem;font-weight:400;line-height:1}
.filters{display:flex;flex-direction:column;align-items:stretch;gap:.2rem;padding-top:.55rem}
.filters[hidden]{display:none!important}
.filter-group{display:flex;flex-direction:column;min-width:0}
.chip{display:flex;align-items:center;justify-content:space-between;gap:.65rem;text-align:start;background:transparent;border:0;border-bottom:1px solid transparent;border-radius:0;min-height:47px;padding:.6rem .8rem;color:var(--muted);font-size:.9375rem;transition:background .2s,color .2s,border-color .2s}
.chip:hover{background:var(--blush);color:var(--ink)}
.chip.is-on{background:var(--navy);color:#fff}
.chip--group{font-weight:600;color:var(--ink)}
.chip__group-icon{font-size:1.05rem;line-height:1;min-width:1em;text-align:center}
.filter-group__children{display:flex;flex-direction:column;margin-inline-start:.8rem;border-inline-start:1px solid var(--line);padding-inline-start:.2rem}
.filter-group__children[hidden]{display:none}
.chip--sub{position:relative;min-height:43px;padding:.48rem .7rem;color:var(--muted);font-size:.9rem}
.chip--sub.is-on{background:var(--blush);color:var(--ink);font-weight:600}
.chip__sub-arrow{font-size:.9rem;color:currentColor;opacity:.7}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.8rem 1.5rem;min-width:0}
.prod{position:relative;display:flex;flex-direction:column;min-width:0;background:#fff}
.prod__link,.prod__titlelink{text-decoration:none;color:inherit}
.prod__media{display:block;position:relative;aspect-ratio:1;overflow:hidden;background:var(--blush);isolation:isolate}
.prod__img{width:100%;height:100%;object-fit:cover;transition:opacity .35s ease,transform .6s ease;display:block}
.prod__img--hover{position:absolute;inset:0;opacity:0;pointer-events:none}
.prod__badge{position:absolute;top:12px;inset-inline-start:12px;z-index:3;background:#ffffffed;color:var(--ink);border:1px solid #14233312;padding:.3rem .7rem;font-size:.75rem;font-weight:500;max-width:calc(100% - 24px)}
.prod__body{display:flex;flex-direction:column;flex:1;padding:1.1rem 0 0;gap:.55rem}
.prod__name{font:500 1.0625rem/1.55 var(--sans);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:3.3rem}
.prod__titlelink:hover{text-decoration:underline;text-decoration-thickness:1px}
.prod__sub{color:var(--muted);font-size:.875rem;line-height:1.7;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:3rem}
.prod__variant-hint{display:flex;align-items:center;gap:.6rem;min-height:1.35rem;flex-wrap:wrap}.prod__variant-swatches{display:flex;align-items:center;gap:.35rem}.prod__variant-swatch{display:inline-block;width:14px;height:14px;border-radius:50%;border:1px solid #b5bec7;box-shadow:inset 0 0 0 1px rgba(255,255,255,.72)}.prod__variant-more{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 .28rem;border-radius:999px;background:#eef2f5;color:#51606c;font-size:.68rem;font-weight:700;line-height:1}.prod__variant-text{font-size:.8rem;color:#66727d;font-weight:500}
.prod__price{display:flex;align-items:baseline;flex-wrap:wrap;gap:.7rem;font-size:1.0625rem;font-weight:500;line-height:1.5;font-variant-numeric:tabular-nums}
.prod__was{color:#7f8992;font-size:.74rem;font-weight:400;line-height:1.2;text-decoration:line-through;text-decoration-thickness:1.35px;text-decoration-color:#7f8992;opacity:.92}
.prod__actions{display:grid;grid-template-columns:1fr;gap:.15rem;margin-top:auto;padding-top:1rem}
.prod__actions .btn{min-height:45px;font-size:.875rem;padding:.65rem .6rem}
.prod__actions .btn--primary{background:#fff;color:var(--ink);border-color:#b3bcc4}
.prod__actions .btn--primary:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.prod__actions .btn--ghost{border-color:transparent;color:var(--muted);font-size:.8125rem;text-decoration:underline;text-decoration-thickness:1px}
.prod__ph{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;text-align:center;padding:1.5rem;background:var(--blush)}
.prod__ph-title{font:500 2rem/1.2 var(--serif)}
.prod__ph-text{font-size:.875rem;color:var(--muted);margin-top:1rem}
.prod__mobile-arrow{display:none}
@media(hover:hover) and (pointer:fine){
 .prod:hover .prod__img{transform:scale(1.035)}
 .prod:hover .prod__img--hover{opacity:1}
 .prod:hover .prod__media:has(.prod__img--hover) .prod__img--main{opacity:0}
}

/* Gift presentation and practical information. */
.gift-story{display:grid;grid-template-columns:1fr 1fr;background:#eef1f4;direction:ltr}
.gift-story__visual{position:relative;min-height:600px;overflow:hidden}
.gift-story__visual img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:22% center}
.gift-story__copy{direction:rtl;padding:clamp(2rem,4vw,4.5rem)}
html[dir=ltr] .gift-story__copy{direction:ltr}
.gift-story .eyebrow{color:#617182}
.gift-story h2{max-width:15ch;font-size:clamp(2.6rem,3.8vw,4.4rem)}
.steps{counter-reset:steps;display:grid;gap:1.35rem;margin-top:2rem}
.step{counter-increment:steps;display:grid;grid-template-columns:34px 1fr;gap:.35rem 1rem;padding-top:1.2rem;border-top:1px solid #cbd4db}
.step::before{content:counter(steps,decimal-leading-zero);grid-row:1/3;direction:ltr;color:#698091;font:400 1.4rem/1.4 var(--serif)}
.step h3{font-size:1rem;font-weight:500}
.step p{grid-column:2;font-size:.9375rem;line-height:1.8;color:var(--muted);max-width:45ch}
.faq>.container{display:grid;grid-template-columns:1fr 1.4fr;gap:clamp(2rem,7vw,8rem)}
.faq__heading h2{max-width:12ch}
.faq__heading .eyebrow{color:var(--muted)}
.faq__list{border-top:1px solid var(--line);min-width:0}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1.5rem;cursor:pointer;padding:1.35rem 0;font-weight:500;font-size:1rem;line-height:1.6}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';font-size:1.5rem;font-weight:400;color:#6c8192;flex-shrink:0}
.faq details[open] summary::after{content:'−'}
.faq details[open] summary{color:#395e79}
.faq p{color:var(--muted);font-size:.9375rem;line-height:1.9;padding-bottom:1.5rem}
.foot{background:var(--navy);color:#bcc9d4;padding-block:4rem 1.5rem}
.foot__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.1fr;gap:3rem}
.foot__brand .brand__name{color:#fff;font-size:3.5rem;line-height:1.1}
.foot__about{color:#a5b6c4;max-width:28ch;font-size:.9375rem;line-height:1.9;margin-top:1rem}
.foot h4{color:#fff;font-size:.9375rem;margin-bottom:1.1rem}
.foot li{font-size:.875rem;line-height:1.75;margin-bottom:.6rem;overflow-wrap:anywhere}
.foot a{color:inherit;text-decoration:none}
.foot a:hover{text-decoration:underline;color:#fff}
.foot__bottom{border-top:1px solid #ffffff20;margin-top:3rem;padding-top:1.3rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;font-size:.75rem;color:#9fb1bf}
.pay{display:flex;align-items:center;gap:.5rem}

/* Overlays and checkout. */
.ov{position:fixed;inset:0;z-index:100;display:none}
.ov.is-open{display:block}
.ov__scrim{position:absolute;inset:0;background:#0b1721a1;backdrop-filter:blur(5px)}
.ov__panel{position:relative;background:#fff;box-shadow:var(--shadow-lift)}
.ov__close{position:absolute;top:1rem;inset-inline-end:1rem;z-index:5;display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);background:#fff;border-radius:50%}
.ov__close:hover{background:var(--blush)}
.ov--center{padding:clamp(.6rem,3vw,2rem);overflow:auto}
.ov--center.is-open{display:flex;align-items:flex-start;justify-content:center}
.ov--center .ov__panel{width:min(1000px,100%);margin-block:auto}
.ov--side .ov__panel{position:absolute;inset-block:0;inset-inline-end:0;width:min(490px,100%);display:flex;flex-direction:column;transform:translateX(calc(var(--slide)*100%));transition:transform .25s ease}
html[dir=rtl] .ov--side .ov__panel{--slide:-1}
html[dir=ltr] .ov--side .ov__panel{--slide:1}
.ov--side.is-open .ov__panel{transform:translateX(0)}
.drawer__head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:1.5rem 1.75rem}
.drawer__head h3{font:500 2rem/1.2 var(--serif)}
.drawer__body{flex:1;overflow:auto;padding:.75rem 1.75rem}
.drawer__foot{padding:1.5rem 1.75rem;background:#eff3f6;border-top:1px solid var(--line)}
.line{display:flex;gap:1rem;padding-block:1.3rem;border-bottom:1px solid var(--line)}
.line:last-child{border-bottom:0}
.line__thumb{width:90px;height:106px;flex-shrink:0;display:grid;place-items:center;background:var(--blush)}
.line__thumb img{width:100%;height:100%;object-fit:cover}
.line__thumb span{font-family:var(--serif);padding:.5rem}
.line__main{min-width:0;flex:1}
.line__name{font-size:.9375rem;font-weight:500;line-height:1.6}
.line__meta{font-size:.8125rem;color:var(--muted);line-height:1.6;margin-top:.25rem}
.line__row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.7rem}
.line__rm{border:0;background:none;text-decoration:underline;font-size:.8125rem;padding:.4rem 0;color:var(--muted)}
.line__rm:hover{color:var(--err)}
.qty{display:flex;align-items:center;border:1px solid #b9c3cb;background:#fff}
.qty button{width:40px;height:44px;border:0;background:transparent;font-size:1.1rem}
.qty button:hover{background:var(--blush)}
.qty span{min-width:28px;text-align:center;font-size:.9375rem}
.qty--sm button{width:34px;height:36px}
.sum{display:flex;justify-content:space-between;gap:1rem;font-size:.875rem;padding-block:.35rem;color:var(--muted)}
.sum--discount{color:var(--ok);font-weight:600;background:#f1f7f3;border:1px solid #dbe9df;margin:.45rem -.55rem 0;padding:.55rem .55rem}
.sum--total{font-size:1.25rem;color:var(--ink);font-weight:500;border-top:1px solid #cdd7df;margin-top:.7rem;padding-top:.9rem}
.nudge{font-size:.8125rem;color:#47657d;padding-bottom:.75rem}
.empty{grid-column:1/-1;text-align:center;color:var(--muted);padding:4rem 1rem}
.empty svg{margin:0 auto 1.5rem;color:#8194a3}
.co{display:grid;grid-template-columns:1.2fr .8fr}
.co__form{padding:3rem clamp(1.25rem,3vw,2.5rem) 2rem;min-width:0}
.co__side{padding:3rem 1.75rem 2rem;background:var(--blush);border-inline-start:1px solid var(--line);min-width:0}
.co h3{font:500 2rem/1.25 var(--serif);margin-bottom:1.6rem}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.field{display:flex;flex-direction:column;gap:.45rem;min-width:0}
.field--full{grid-column:1/-1}
.field label{font-size:.875rem;font-weight:500}
.field input,.field textarea{width:100%;padding:.8rem .9rem;border:1px solid #bdc8d0;border-radius:2px;background:#fff;font-size:1rem;min-height:50px}
.field textarea{min-height:90px;resize:vertical}
.field input:focus,.field textarea:focus{outline:2px solid #758fa3;outline-offset:1px;border-color:#758fa3}
.field.is-bad input{border-color:var(--err)}
.field__err{font-size:.8125rem;min-height:1em;color:var(--err);line-height:1.4}
.co__secure{display:flex;align-items:flex-start;gap:.6rem;margin-top:1rem;color:var(--muted);font-size:.8125rem;line-height:1.7}
.co__secure svg{flex-shrink:0;margin-top:3px}
.co__err{padding:1rem;border:1px solid #d9a29e;background:#fff3f2;color:var(--err);font-size:.9375rem;margin-bottom:1rem}
.pdp{display:grid;grid-template-columns:1fr 1fr}
.pdp__media{min-width:0;position:relative;background:var(--blush)}
.pdp__media>img{width:100%;aspect-ratio:1;object-fit:contain}
.pdp__thumbs{display:flex;gap:.5rem;padding:.75rem;overflow-x:auto}
.pdp__thumbs button{flex:0 0 60px;width:60px;height:60px;border:1px solid var(--line);padding:0;background:#fff}
.pdp__thumbs button.is-on{border-color:var(--navy)}
.pdp__thumbs img{width:100%;height:100%;object-fit:contain;padding:3px;background:#fff}
.pdp__body{padding:3rem 1.75rem 2rem;display:flex;flex-direction:column}
.pdp__name{font:500 2rem/1.2 var(--serif)}
.pdp__sub{color:var(--muted);margin-top:.75rem;font-size:.9375rem}
.pdp__price{display:flex;gap:.75rem;align-items:baseline;margin-top:1rem;font-size:1.5rem}
.pdp__quote{padding:1.2rem;background:var(--blush);margin-top:1.4rem}
.pdp__quote h4{font-size:.8125rem;color:var(--muted);margin-bottom:.5rem}
.pdp__quote p{font:400 1.15rem/1.75 var(--serif)}
.pdp__list{display:grid;gap:.65rem;margin-top:1.25rem}
.pdp__list li{display:flex;gap:.6rem;color:var(--muted);font-size:.875rem;line-height:1.6}
.pdp__list svg{flex-shrink:0;margin-top:4px}
.pdp__buy{display:flex;gap:.6rem;padding-top:1.5rem;margin-top:auto}
.toast{position:fixed;bottom:1.25rem;left:50%;transform:translate(-50%,150%);visibility:hidden;opacity:0;display:flex;align-items:center;gap:.6rem;max-width:90vw;background:var(--navy);color:#fff;padding:1rem 1.5rem;font-size:.875rem;z-index:150;box-shadow:var(--shadow-lift);transition:transform .25s ease,opacity .25s ease}
.toast.is-on{transform:translate(-50%,0);opacity:1;visibility:visible}
.toast svg{flex-shrink:0}

/* Product page: a vertical gallery rail and a dedicated buying panel. */
.product-page{padding-block:1.1rem 5rem}
.product-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem;padding-bottom:1.6rem;font-size:.8125rem;color:var(--muted)}
.product-breadcrumb a{text-decoration:none}
.product-breadcrumb span:last-child{max-width:50ch;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.product-detail{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(2rem,4vw,4.5rem);align-items:start}
.product-gallery{min-width:0;display:grid;grid-template-columns:70px minmax(0,1fr);gap:1rem;align-items:start;position:sticky;top:124px}
.product-gallery__stage{grid-column:2;grid-row:1;position:relative;aspect-ratio:1;background:var(--blush);overflow:hidden;border:1px solid #eef1f3}
.product-gallery__stage>img{width:100%;height:100%;object-fit:contain;background:#fff;user-select:none;transition:opacity .18s}
.product-gallery__thumbs{grid-column:1;grid-row:1;display:flex;flex-direction:column;gap:.65rem;max-height:570px;overflow:auto;scrollbar-width:thin}
.product-thumb{display:block;flex:0 0 70px;width:70px;height:70px;padding:0;border:1px solid var(--line);background:#fff;overflow:hidden;opacity:.65;transition:border-color .2s,opacity .2s}
.product-thumb:hover,.product-thumb.is-active{opacity:1;border-color:var(--navy)}
.product-thumb.is-active{border-width:2px}
.product-thumb img{width:100%;height:100%;object-fit:contain;padding:4px;background:#fff}
.product-gallery:has(.product-gallery__thumbs[hidden]){grid-template-columns:1fr}
.product-gallery:has(.product-gallery__thumbs[hidden]) .product-gallery__stage{grid-column:1}
.product-gallery__hint{position:absolute;bottom:12px;inset-inline-start:12px;max-width:calc(100% - 24px);padding:.35rem .75rem;background:#ffffffed;color:#415566;border:1px solid #dde3e7;font-size:.75rem}
.product-gallery__selection-summary{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.product-gallery__selection-summary>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;padding:.75rem;border-bottom:1px solid var(--line)}
.product-gallery__selection-summary span{font-size:.8125rem;color:var(--muted)}
.product-gallery__selection-summary strong{font-size:.8125rem;font-weight:500}
.gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border:1px solid var(--line);background:#ffffffed;display:grid;place-items:center;z-index:2}
.gallery-arrow--prev{inset-inline-start:12px}.gallery-arrow--next{inset-inline-end:12px}
.gallery-count{position:absolute;bottom:12px;inset-inline-end:12px;background:var(--navy);color:#fff;padding:.3rem .6rem;font-size:.75rem}
.product-info{background:#f3f5f7;padding:clamp(1.4rem,2.5vw,2.6rem);min-width:0}
.product-info__badge{display:inline-block;padding:.25rem .6rem;border:1px solid #93a4b1;color:#4b6274;font-size:.75rem;margin-bottom:1rem}
.product-info__title{font-size:clamp(2.25rem,3.3vw,3.65rem);line-height:1.15;max-width:22ch}
.product-info__subtitle{font-size:.9375rem;line-height:1.85;color:var(--muted);margin-top:1rem}
.product-info__price{display:flex;align-items:baseline;gap:1rem;flex-wrap:wrap;margin-top:1.2rem;padding-bottom:1.5rem;border-bottom:1px solid #cfd8df;margin-bottom:1.5rem;font-variant-numeric:tabular-nums}
.product-info__price strong{font-size:1.6rem;font-weight:500}
.product-info__compare{color:#7f8992;font-size:.84rem;font-weight:400;line-height:1.2;text-decoration:line-through;text-decoration-thickness:1.45px;text-decoration-color:#7f8992;opacity:.92}
.product-info__divider{display:none}
.product-options{display:grid;gap:1.7rem;margin-bottom:1.7rem}
.product-option-block{display:grid;gap:.8rem}
.product-option-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem 1rem;margin-bottom:.15rem}
.product-option-head>div{display:flex;align-items:center;gap:.55rem}
.product-option-head h2{font:500 .9375rem/1.5 var(--sans);letter-spacing:0}
.product-option-step{font:400 1.1rem/1 var(--serif);color:#6a8294;border-inline-end:1px solid #a8b7c3;padding-inline-end:.55rem}
.product-option-status{font-size:.75rem;color:var(--muted)}
.product-option-status.is-done{color:var(--ok)}
.product-option-grid{display:grid;gap:.6rem}
.product-option-grid--necklaces{grid-template-columns:repeat(3,minmax(0,1fr))}
.product-option-grid--boxes{grid-template-columns:repeat(2,minmax(0,1fr))}
.product-option-grid--colors{grid-template-columns:repeat(2,minmax(0,1fr))}.product-choice--color .product-choice__image{aspect-ratio:1;border-bottom:1px solid #e7ebef}.product-choice--color .product-choice__image img{width:100%;height:100%;object-fit:contain;padding:.45rem;background:#fff}.product-choice--color .product-choice__footer{min-height:56px}
.product-choice{appearance:none;display:block;width:100%;min-width:0;padding:0;background:#fff;border:1px solid #d0d9e0;text-align:inherit;transition:border-color .2s,box-shadow .2s}
.product-choice:hover{border-color:#7d93a5}
.product-choice.is-selected{border-color:var(--navy);box-shadow:inset 0 0 0 1px var(--navy)}
.product-choice__image{display:block;aspect-ratio:1;overflow:hidden}
.product-choice__image img{width:100%;height:100%;object-fit:contain;background:#fff}
.product-choice__footer{display:flex;align-items:center;justify-content:space-between;gap:.3rem;padding:.65rem .5rem;border-top:1px solid #e4e9ed;min-height:50px}
.product-choice__footer strong{font-size:.8125rem;font-weight:500;line-height:1.4}
.product-choice__footer>span:first-child{display:grid;gap:.2rem}
.product-choice__footer small{font-size:.75rem;color:var(--muted);line-height:1.4}
.product-choice__check,.product-size-choice__check{display:grid;place-items:center;flex-shrink:0;width:18px;height:18px;border:1px solid #ccd7de;color:transparent;font-size:.6875rem}
.is-selected .product-choice__check,.is-selected .product-size-choice__check{background:var(--navy);border-color:var(--navy);color:#fff}
.product-size-block,.product-custom-block{display:grid;gap:.8rem;margin-bottom:1.6rem}
.product-size-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}
.product-size-choice{display:flex;align-items:center;justify-content:space-between;gap:.6rem;min-height:66px;padding:.75rem;background:#fff;border:1px solid #c8d3dc;font-size:.875rem;text-align:start}
.product-size-choice:hover{border-color:#718ba0}
.product-size-choice.is-selected{border-color:var(--navy);box-shadow:inset 0 0 0 1px var(--navy)}
.product-size-choice__label{display:flex;flex-direction:column;gap:.25rem;font-weight:500}
.product-size-choice__label small{font-size:.75rem;color:var(--muted);font-weight:400}
.product-color-grid{grid-template-columns:1fr}
.product-color-choice__label{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:.6rem}
.product-color-choice__label small{grid-column:2}
.product-color-choice__label strong{font-size:.875rem;font-weight:500}
.product-color-swatch{width:22px;height:22px;grid-row:1/3;border:1px solid #9ba7b2;border-radius:50%;box-shadow:inset 0 0 0 2px #fff8}
.product-custom-label{font-size:.875rem}
.product-custom-input{width:100%;min-height:52px;background:#fff;border:1px solid #c0ccd5;padding:.8rem;font-size:1rem}
.product-custom-input::placeholder{color:#8e99a3}
.product-custom-help{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;font-size:.75rem;line-height:1.6;color:var(--muted)}
#customNameCount{white-space:nowrap;font-variant-numeric:tabular-nums}
.product-purchase{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.7rem;margin-top:1.5rem}
.product-qty{display:flex;align-items:center;background:#fff;border:1px solid #bdcbd6;min-height:55px}
.product-qty button{border:0;background:transparent;width:34px;height:100%;min-height:52px;font-size:1.2rem}
.product-qty button:hover{background:var(--blush)}
.product-qty button:disabled{opacity:.35;cursor:not-allowed}
.product-qty span{min-width:24px;text-align:center;font-size:.875rem}
.product-add{min-height:56px;height:auto;padding:.8rem;white-space:normal}
.product-assurance{display:flex;flex-wrap:wrap;justify-content:center;gap:.65rem 1.1rem;margin-block:1rem 1.6rem;padding-bottom:1.3rem;border-bottom:1px solid #d3dce3}
.product-assurance>div{display:flex;align-items:center;gap:.35rem;font-size:.75rem;color:#637887}
.product-assurance svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;flex-shrink:0}
.message-card{padding:1.4rem;background:#fff;border:1px solid #d9e0e5;margin-top:1rem;position:relative}
.message-card__eyebrow{font-size:.75rem;color:#6d8190;margin-bottom:.8rem}
.message-card__title{font:500 1.9rem/1.2 var(--serif)}
.message-card__text{font:400 1.15rem/1.9 var(--serif);margin-top:.65rem}
.message-card__signature{font:500 1.25rem/1.5 var(--serif);margin-top:.8rem}
.product-details-list{display:grid;gap:.75rem;margin-top:1.5rem}
.product-detail-row{display:flex;align-items:flex-start;gap:.65rem;font-size:.875rem;line-height:1.8;color:var(--muted)}
.product-detail-row svg{flex-shrink:0;color:#6c8294;margin-top:5px}
.is-standalone-product .product-options,.is-standalone-product .product-gallery__selection-summary,.is-standalone-product .message-card{display:none}
.product-after{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;margin-top:4rem;padding:3.5rem;background:var(--navy);color:#fff}
.product-after__kicker{color:#b1c3d0;font-size:.8125rem}
.product-after h2{font-size:clamp(2rem,3.1vw,3.2rem);max-width:20ch;margin-top:.6rem}
.product-after p{font-size:1rem;color:#b4c4d0;line-height:1.9;max-width:48ch}

/* Customer-care pages follow the same typography and flat editorial layout. */
.policy-page-body{background:#fff}
.policy-hero{background:var(--navy);color:#fff;padding-block:4.5rem}
.policy-hero__eyebrow{display:block;color:#b7c9d7;font-size:.8125rem;margin-bottom:1.3rem}
.policy-hero h1{max-width:20ch;font-size:clamp(2.5rem,5vw,5rem)}
.policy-hero__lead{color:#b7c9d7;font-size:1rem;max-width:66ch;line-height:1.9;margin-top:1.3rem}
.policy-hero__meta{display:flex;flex-wrap:wrap;gap:1.5rem;color:#9eb2c2;font-size:.8125rem;margin-top:1.5rem}
.policy-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:4rem;padding-block:3.5rem;align-items:start}
.policy-toc{position:sticky;top:126px}
.policy-toc__box>strong{display:block;font-size:.875rem;margin-bottom:1rem}
.policy-toc nav{display:grid;gap:.15rem;max-height:calc(100vh - 200px);overflow:auto;scrollbar-width:thin}
.policy-toc a{display:block;text-decoration:none;font-size:.875rem;line-height:1.5;padding:.55rem .65rem;border-inline-start:1px solid var(--line);color:var(--muted)}
.policy-toc a:hover{background:var(--blush);color:var(--ink);border-color:var(--navy)}
.policy-content{min-width:0}
.policy-card{position:relative;padding:2.25rem 0;border-top:1px solid var(--line);scroll-margin-top:120px}
.policy-card h2{font-size:2rem;padding-inline-end:3.5rem;margin-bottom:1rem}
.policy-card p{font-size:1rem;line-height:1.9;color:#5e6a73;margin-top:.9rem}
.policy-card b{color:var(--ink)}
.policy-num{position:absolute;top:2.35rem;inset-inline-end:.2rem;font:400 1.8rem/1 var(--serif);color:#8da0ae}
.policy-data{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:1rem}
.policy-data>div{padding:1rem;background:var(--blush)}
.policy-data dt{font-size:.8125rem;color:var(--muted);margin-bottom:.25rem}
.policy-data dd{margin:0;font-size:.9375rem;overflow-wrap:anywhere}
.policy-card a{color:#385e79;overflow-wrap:anywhere}
.legal-note{margin-block:1.25rem;padding:1.1rem 1.3rem;background:#eff3f6;border-inline-start:2px solid #7f97a9;font-size:.9375rem;line-height:1.8}
.legal-note--warning{background:#faf5eb;border-color:#b79757}
.material-disclosure{background:var(--navy);color:#fff;padding:1.5rem;margin-block:1.3rem}
.material-disclosure strong{font-size:.875rem;color:#cedee8}
.material-disclosure p{color:#bdcfdb;margin-top:.6rem}
.policy-card code{font:400 .875em/1.5 ui-monospace,monospace;background:#e8edf1;padding:.15rem .35rem}
.cancel-form{margin-top:1.3rem}
.cancel-form__grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}
.cancel-form label{display:grid;gap:.5rem;font-size:.875rem}
.cancel-form input,.cancel-form textarea{width:100%;min-height:50px;padding:.75rem;border:1px solid #bdcbd6;font-size:1rem}
.cancel-form__full{grid-column:1/-1}
.cancel-form__direct{font-size:.875rem!important}
.policy-anchor{position:absolute;top:-120px;visibility:hidden;pointer-events:none}
.doc{max-width:75ch;margin-inline:auto;padding-block:4rem}
.doc h1{margin-bottom:1.5rem}.doc h2{font-size:2rem;margin-block:2rem 1rem}
.doc p,.doc li{margin-bottom:1rem;color:var(--muted)}
.doc ul{list-style:disc;padding-inline-start:1.3rem}
.result{max-width:680px;padding:3.5rem clamp(1.25rem,4vw,3.5rem);margin:4rem auto;text-align:center;background:#f0f4f7;border-top:2px solid var(--navy)}
.result__icon{width:64px;height:64px;margin:0 auto 1.5rem}
.result h1{font-size:clamp(2.2rem,4vw,3.5rem)}
.result p{color:var(--muted);margin-top:1rem}
.result__order{display:inline-block;margin-top:1.5rem;border:1px solid #b8c8d4;padding:.65rem 1rem;font-size:1rem}
.result__cta{margin-top:2rem}
.spinner{width:34px;height:34px;border:2px solid #c9d5de;border-top-color:var(--navy);border-radius:50%;animation:spin .9s linear infinite;margin-inline:auto}
@keyframes spin{to{transform:rotate(360deg)}}

/* Responsive layouts; no separate mobile product data or gallery state. */
@media(min-width:1600px){.shop__layout{grid-template-columns:230px minmax(0,1fr)}.grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1200px){
 .nav__inner{gap:.7rem}.nav__menu{gap:.75rem}.nav__menu a{font-size:.88rem}
 .hero{min-height:570px}.hero__copy{padding:3rem}.hero__title{font-size:4.4rem}
 .shop__layout{grid-template-columns:190px minmax(0,1fr);gap:1.7rem}.grid{gap:2.2rem 1rem}
 .product-detail{gap:2rem;grid-template-columns:1fr 1fr}.product-gallery{grid-template-columns:1fr;position:static}
 .product-gallery__stage{grid-column:1;grid-row:1}.product-gallery__thumbs{grid-column:1;grid-row:2;flex-direction:row;max-height:none;padding-bottom:.25rem}.product-gallery__selection-summary{grid-row:3}
 .product-info{padding:1.5rem}.product-info__title{font-size:2.7rem}
 .foot__grid{gap:2rem}
}
@media(max-width:980px){
 .nav__inner{grid-template-columns:1fr auto 1fr;min-height:85px}.brand{grid-column:2;justify-self:center}.brand__name{font-size:2.1rem}
 .nav__burger{display:inline-flex;grid-column:1;grid-row:1;justify-self:start}
 .nav__menu{position:fixed;top:0;bottom:0;inset-inline-start:0;display:flex;flex-direction:column;align-items:stretch;gap:0;width:min(340px,85vw);padding:5rem 1.5rem 2rem;background:#fff;z-index:80;overflow-y:auto;transform:translateX(calc(var(--slide)*105%));transition:transform .25s ease;visibility:hidden}
 html[dir=rtl] .nav__menu{--slide:1}html[dir=ltr] .nav__menu{--slide:-1}
 .nav__menu.is-open{transform:translateX(0);visibility:visible}
 .nav__close{display:grid;position:absolute;top:1.2rem;inset-inline-end:1.2rem}
 .nav__menu a{font:500 1.45rem/1.3 var(--serif);padding-block:1.05rem;border-bottom:1px solid var(--line);white-space:normal}
 .nav__menu a::after{display:none}
 .nav__item{display:block;width:100%;align-self:auto;border-bottom:1px solid var(--line)}
 .nav__item--has-submenu>a{display:block;border-bottom:0}
 .nav__submenu{position:static;display:none;min-width:0;padding:0 .65rem .8rem;margin:0;border:0;box-shadow:none;opacity:1;visibility:visible;pointer-events:auto;transform:none!important;transition:none}
 .nav__submenu.is-open{display:grid}
 .nav__submenu a{font:500 1.08rem/1.3 var(--sans);padding:.72rem .8rem;border:0;background:#f7f9fa}
 .nav__submenu a+a{margin-top:2px}
 .nav__submenu-all{margin-bottom:.25rem;border-bottom:0!important;font-weight:700}
 .navscrim{display:block;position:fixed;inset:0;z-index:75;background:#0d1c2b80}
 .hero{min-height:540px}.hero__copy{padding:2.4rem}.hero__title{font-size:3.65rem}.hero__cta{gap:1rem}
 .trust__item{gap:.6rem;padding-inline:.5rem}.trust__t{font-size:.8125rem}.trust__d{font-size:.75rem}
 .shop__layout{display:block}.shop__sidebar{position:static;margin-bottom:1.5rem}.shop__filter-label{display:none}
 .filters{flex-direction:row;align-items:flex-start;overflow-x:auto;padding-bottom:.5rem;gap:.4rem;scrollbar-width:thin}.chip{flex:0 0 auto;padding-inline:1.1rem;border:1px solid var(--line)}
 .filter-group{flex:0 0 auto}.filter-group__children{margin-inline-start:0;margin-top:.25rem;padding-inline-start:0;border-inline-start:0;gap:.2rem}.chip--sub{width:100%;justify-content:space-between;background:#fff}.shop__head{padding-bottom:1.5rem;margin-bottom:1.3rem}
 .product-detail{grid-template-columns:1fr}.product-gallery{max-width:720px;width:100%;margin-inline:auto}.product-info{max-width:850px;width:100%;margin-inline:auto;padding:2rem}
 .product-option-grid--necklaces{grid-template-columns:repeat(5,minmax(0,1fr))}.product-color-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .gift-story__visual{min-height:610px}.gift-story__copy{padding:2rem}.gift-story h2{font-size:3rem}
 .faq>.container{grid-template-columns:1fr 1.3fr;gap:2.5rem}
 .foot__grid{grid-template-columns:1.3fr 1fr 1fr}.foot__brand{grid-column:1/-1}.foot__about{max-width:46ch}
 .policy-layout{grid-template-columns:1fr;gap:1rem}.policy-toc{position:static}.policy-toc nav{display:flex;max-height:none;padding-bottom:.65rem;gap:.35rem}.policy-toc a{white-space:nowrap;border:1px solid var(--line)}
}
@media(max-width:700px){
 html{scroll-padding-top:90px}section[id],footer[id]{scroll-margin-top:90px}
 .section{padding-block:3.2rem}.nav__inner{min-height:78px;gap:.5rem}.brand{gap:.3rem}.brand__name{font-size:1.85rem}.brand__latin{font-size:.5rem;letter-spacing:.3em}
 .nav__actions{gap:.2rem}#langBtn{font-size:.75rem;padding-inline:.25rem;min-width:35px}
 .hero{display:flex;flex-direction:column;min-height:0}.hero__copy{padding:2.2rem var(--gut) 2.4rem;order:1}.hero .eyebrow{margin-bottom:1.1rem}
 .hero__title{font-size:clamp(2.8rem,10.5vw,4rem);max-width:none}.hero__title span{display:inline}.hero__title span+span::before{content:' '}
 .hero__sub{font-size:.9375rem;line-height:1.85;max-width:44ch;margin-top:1rem}.hero__cta{margin-top:1.3rem;gap:1rem 1.25rem}.hero .btn{min-height:49px;padding:.75rem 1.2rem}.hero__note{margin-top:1.25rem}
 .hero__visual{order:0;aspect-ratio:1.35;min-height:0}.hero__image{object-position:center 53%}.hero__caption{inset-inline:1.25rem;bottom:1.1rem}.hero__caption strong{font-size:1.4rem}.hero__caption small{font-size:.625rem}
 .trust__grid{grid-template-columns:1fr 1fr;padding-block:1.3rem;gap:1.3rem 0}.trust__item{justify-content:flex-start;padding-inline:.75rem;gap:.8rem}.trust__item:nth-child(2){border:0}.trust__item svg{width:22px;height:22px}
 .trust__t{font-size:.875rem}.trust__d{font-size:.75rem}
 .shop__head{display:block}.shop__head h2{font-size:2.6rem}.shop__head .lede{margin-top:.8rem;font-size:.9375rem;max-width:none}.shop__head .eyebrow{font-size:.75rem}
 .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem .85rem}.chip{min-height:44px;font-size:.875rem;padding:.55rem .9rem}
 .prod__badge{top:7px;inset-inline-start:7px;max-width:calc(100% - 14px);font-size:.6875rem;padding:.25rem .45rem}
 .prod__body{padding-top:.8rem;gap:.45rem}.prod__name{font-size:.9375rem;line-height:1.55;min-height:2.9rem}.prod__sub{font-size:.8125rem;line-height:1.65;min-height:2.7rem}.prod__price{font-size:1rem;gap:.35rem .55rem}.prod__was{font-size:.7rem}
 .prod__variant-hint{gap:.45rem}.prod__variant-swatch{width:13px;height:13px}.prod__variant-text{font-size:.76rem}
 .prod__actions .btn{font-size:.8125rem;min-height:44px;padding:.6rem .3rem;gap:.3rem}.prod__actions .btn--ghost{font-size:.75rem}.prod__actions{padding-top:.6rem}
 .gift-story{grid-template-columns:1fr}.gift-story__visual{min-height:0;aspect-ratio:1.4}.gift-story__visual img{object-position:18% center}.gift-story__copy{padding:2.2rem var(--gut) 2.5rem}.gift-story h2{font-size:3rem;max-width:14ch}
 .steps{gap:1.2rem}.step p{font-size:.9375rem}.faq>.container{grid-template-columns:1fr;gap:1.8rem}.faq__heading h2{max-width:none;font-size:2.6rem}.faq summary{font-size:.9375rem}
 .foot{padding-block:2.8rem 1.4rem}.foot__grid{grid-template-columns:1fr 1fr;gap:2.2rem 1.5rem}.foot__brand .brand__name{font-size:3rem}.foot__bottom{font-size:.75rem;align-items:flex-start;flex-direction:column;gap:.75rem}
 .product-page{padding-top:.8rem}.product-breadcrumb{font-size:.75rem;padding-bottom:1.1rem}.product-detail{gap:1.5rem}.product-gallery{gap:.7rem}.product-thumb{width:64px;height:64px;flex-basis:64px}
 .product-info{padding:1.4rem 1.2rem}.product-info__title{font-size:2.5rem}.product-info__subtitle{font-size:.9375rem}.product-info__price strong{font-size:1.5rem}
 .product-option-grid--necklaces{grid-template-columns:repeat(3,minmax(0,1fr))}.product-color-grid{grid-template-columns:1fr}.product-option-grid--boxes{gap:.5rem}.product-option-grid--colors{grid-template-columns:1fr}
 .product-choice__footer{padding:.5rem .4rem}.product-choice__footer strong{font-size:.75rem}.product-choice__check{width:16px;height:16px}
 .product-purchase{gap:.5rem}.product-qty button{width:30px}.product-qty span{min-width:22px}.product-add{font-size:.875rem;padding:.7rem .5rem}
 .product-assurance{justify-content:flex-start;gap:.6rem 1rem}.product-after{grid-template-columns:1fr;padding:2rem 1.4rem;gap:1rem;margin-top:2.5rem}
 .message-card{padding:1.2rem}.message-card__text{font-size:1.125rem}.product-gallery__selection-summary{gap:.4rem}.product-gallery__selection-summary>div{padding:.5rem}
 .co,.pdp{grid-template-columns:1fr}.co__form{padding-top:4rem}.co__side{padding-top:1.5rem;border-inline-start:0;border-top:1px solid var(--line)}.fields{grid-template-columns:1fr;gap:.75rem}
 .drawer__head{padding:1.1rem 1.25rem}.drawer__body,.drawer__foot{padding-inline:1.25rem}.drawer__foot{padding-block:1.2rem}.line__thumb{width:78px;height:90px}
 .policy-hero{padding-block:3rem}.policy-hero h1{font-size:3rem}.policy-layout{padding-block:2rem}.policy-data,.cancel-form__grid{grid-template-columns:1fr}.cancel-form__full{grid-column:auto}.policy-card h2{font-size:1.85rem}.policy-card{padding-block:1.7rem}.policy-num{top:1.8rem}
 .result{margin-block:2rem}
}
@media(hover:none),(pointer:coarse){
 .prod__media{touch-action:pan-y}
 .prod__mobile-arrow{display:grid;place-items:center;position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:32px;height:44px;border:1px solid #1423331f;background:#ffffffdf;color:var(--navy);font:400 25px/1 Arial,sans-serif;user-select:none;cursor:pointer}
 .prod__mobile-arrow--prev{left:5px}.prod__mobile-arrow--next{right:5px}.prod__mobile-arrow:active{background:#fff}
}
@media(max-width:370px){
 .nav__inner{gap:0}.brand__name{font-size:1.6rem}.nav__actions{gap:0}.iconbtn{min-width:36px}.hero__cta{align-items:stretch;gap:.7rem}.hero .btn{padding-inline:1rem}
 .product-purchase{grid-template-columns:1fr}.product-qty{justify-content:space-between}.product-qty button{width:48px}
 .product-info{padding:1.2rem .85rem}.trust__item{padding-inline:.35rem;gap:.5rem}.trust__t{font-size:.8125rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition:none!important}}

/* Full original hero photograph. Its natural aspect ratio keeps the whole image visible. */
.hero.hero--full{display:grid;grid-template-columns:1fr;min-height:0;background:#fff;color:#242424;align-items:center;isolation:isolate}
.hero--full .hero__visual{grid-area:1/1;position:relative;min-height:0;aspect-ratio:auto;background:transparent;overflow:visible;order:0}
.hero--full .hero__image{position:static;inset:auto;display:block;width:100%;height:auto;object-fit:contain;object-position:center;transform:none;transition:none}
.hero--full .hero__visual:hover .hero__image{transform:none}
.hero--full .hero__visual::after{display:none}
.hero--full .hero__copy{grid-area:1/1;position:relative;z-index:1;justify-self:right;width:48%;padding:clamp(1.25rem,2.7vw,3rem) clamp(1.5rem,4vw,4.5rem);background:transparent;min-width:0;order:1}
.hero--full .eyebrow{color:#59534c;margin-bottom:1rem}
.hero--full .hero__title{color:#222;font-size:clamp(2.7rem,4.5vw,5.3rem);line-height:1.08;max-width:none}
.hero--full .hero__title span{display:block;color:#222}
.hero--full .hero__sub{color:#45413d;font-size:1rem;line-height:1.8;margin-top:1rem;max-width:37ch}
.hero--full .hero__cta{margin-top:1.4rem;gap:1rem 1.6rem}
.hero--full .btn--light{background:#242424;border-color:#242424;color:#fff;min-height:50px}
.hero--full .btn--light:hover{background:#45413d;border-color:#45413d}
.hero--full .text-link{color:#333;font-size:.9375rem}
.hero--full .hero__note{color:#5d5750;margin-top:1.25rem}

/* A compact ordering guide replaces the repeated hero image and split panel. */
.how-overview{padding-block:clamp(2.8rem,4.5vw,4.5rem);background:#f7f7f7;border-block:1px solid #e8e8e8;color:#262626}
.how-overview__heading{text-align:center;margin-bottom:2.4rem}
.how-overview__heading .eyebrow{color:#74716c;margin-bottom:.6rem}
.how-overview__heading h2{font-family:var(--sans);font-size:clamp(1.55rem,2.4vw,2.25rem);font-weight:500;line-height:1.4;letter-spacing:-.035em}
.how-overview__steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;max-width:1280px;margin-inline:auto;background:#fff;border:1px solid #e4e4e4}
.how-item{padding:clamp(1.4rem,2.7vw,2.75rem);min-width:0}
.how-item+.how-item{border-inline-start:1px solid #e4e4e4}
.how-item__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.4rem;color:#48433d}
.how-item__top span{font:400 .875rem/1 var(--sans);color:#8a8782}
.how-item h3{font-size:1.0625rem;font-weight:500;line-height:1.5;margin-bottom:.65rem}
.how-item p{font-size:.9375rem;color:#6a6763;line-height:1.85;max-width:38ch}
@media(max-width:1100px){
 .hero--full .hero__copy{width:50%;padding:1.1rem 2rem}
 .hero--full .hero__title{font-size:3rem}
 .hero--full .hero__sub{font-size:.9375rem;line-height:1.7;margin-top:.75rem}
 .hero--full .hero__cta{gap:.75rem 1rem;margin-top:1rem}
 .hero--full .hero__note{margin-top:1rem}
 .hero--full .btn{padding:.7rem 1rem}
}
@media(max-width:900px){
 .hero.hero--full{display:flex;flex-direction:column;align-items:stretch}
 .hero--full .hero__visual{width:100%;aspect-ratio:auto}
 .hero--full .hero__copy{width:100%;padding:1.8rem var(--gut) 2.2rem;background:#fff;align-items:flex-start;justify-self:auto}
 .hero--full .hero__title{font-size:clamp(2.6rem,6.5vw,3.5rem);max-width:23ch}
 .hero--full .hero__title span{display:inline}
 .hero--full .hero__title span+span::before{content:' '}
 .hero--full .hero__sub{max-width:52ch;font-size:1rem}
 .hero--full .hero__cta{margin-top:1.2rem}
 .how-overview__heading{margin-bottom:1.5rem}
 .how-item{padding:1.5rem 1.2rem}
}
@media(max-width:650px){
 .how-overview__steps{grid-template-columns:1fr}
 .how-item{display:grid;grid-template-columns:42px minmax(0,1fr);column-gap:1rem;padding:1.5rem}
 .how-item+.how-item{border-inline-start:0;border-top:1px solid #e4e4e4}
 .how-item__top{grid-row:1/3;flex-direction:column;justify-content:flex-start;gap:.75rem;margin:0;padding-top:.15rem}
 .how-item h3{grid-column:2;margin-bottom:.4rem}
 .how-item p{grid-column:2;max-width:none}
 .hero--full .hero__title{font-size:clamp(2.4rem,9vw,3.1rem)}
}

.product-custom-input.is-uppercase-initial{text-transform:uppercase;letter-spacing:.16em;font-weight:800;font-size:1.08rem}


/* Personal greeting designer entry on products 1–9 */
.greeting-customizer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;margin-top:1rem;border:1px solid #d9e0e5;background:#f8f7f3}
.greeting-customizer[hidden]{display:none!important}
.greeting-customizer__copy{display:grid;gap:.18rem;min-width:0}
.greeting-customizer__eyebrow{font-size:.7rem;color:#7a6e5d;letter-spacing:.05em}
.greeting-customizer__copy strong{font-size:.98rem;font-weight:700;color:#17202a}
.greeting-customizer__copy small{font-size:.78rem;line-height:1.6;color:#66717a}
.greeting-customizer__button{flex:0 0 auto;min-height:44px;padding:.65rem 1rem}
.greeting-customizer__actions{display:flex;flex-direction:column;align-items:stretch;gap:.45rem;flex:0 0 auto}.greeting-customizer__remove{border:0;background:transparent;color:#66717a;font-size:.73rem;text-decoration:underline;text-underline-offset:3px;padding:.25rem .4rem;cursor:pointer}.greeting-customizer__remove:hover{color:#17202a}
.greeting-preview{margin-top:1rem;border:1px solid #d9e0e5;background:#fff;padding:1rem}.greeting-preview[hidden]{display:none!important}.greeting-preview__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.greeting-preview__head>div{display:grid;gap:.1rem}.greeting-preview__head span:not(.greeting-preview__price){font-size:.7rem;color:#7a6e5d}.greeting-preview__head strong{font-size:.96rem}.greeting-preview__price{flex:none;border:1px solid #d8d0c2;background:#faf8f3;color:#65563f;padding:.28rem .55rem;font-size:.75rem;font-weight:700}.greeting-preview__image-wrap{max-width:390px;margin-inline:auto;border:1px solid #e1e4e6;background:#f7f7f5;aspect-ratio:1;overflow:hidden}.greeting-preview__image-wrap img{width:100%;height:100%;object-fit:cover;pointer-events:none;-webkit-user-drag:none;user-select:none}.greeting-preview.is-loading .greeting-preview__image-wrap{position:relative}.greeting-preview.is-loading .greeting-preview__image-wrap::after{content:'…';position:absolute;inset:0;display:grid;place-items:center;font-size:2rem;color:#8b9297}
@media(max-width:560px){.greeting-customizer{align-items:stretch;flex-direction:column}.greeting-customizer__button{width:100%}.greeting-customizer__actions{width:100%}.greeting-preview{padding:.8rem}}

/* Account access in the storefront header */
.accountbtn{max-width:180px;overflow:hidden}
.accountbtn__text{display:block;max-width:112px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.accountbtn.is-authenticated svg{stroke-width:1.8}
@media(max-width:1180px){.accountbtn__text{display:none}.accountbtn{max-width:none}}

/* --- Custom projection photo upload ----------------------------------- */
.product-photo-block{border-top:1px solid #e6ebef;padding-top:1.1rem}
.product-photo-input{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}
.product-photo-picker{display:flex;align-items:center;justify-content:center;gap:.65rem;min-height:58px;padding:.9rem 1rem;background:#fff;border:1px dashed #9fb0bd;cursor:pointer;font-weight:700;transition:border-color .2s ease,background .2s ease,transform .2s ease}
.product-photo-picker:hover{border-color:var(--navy);background:#f8fafb}
.product-photo-picker__icon{display:grid;place-items:center;width:28px;height:28px;border:1px solid #b7c3cc;border-radius:50%;font-size:1.15rem;line-height:1}
.product-photo-preview{display:flex;align-items:center;gap:.85rem;padding:.75rem;border:1px solid #d8e0e6;background:#fff}
.product-photo-preview img{width:92px;height:92px;object-fit:cover;border:1px solid #d4dce2;background:#f7f8f9}
.product-photo-preview button{appearance:none;border:0;background:transparent;text-decoration:underline;cursor:pointer;font:inherit;color:var(--navy);padding:.35rem}
@media (max-width:640px){
  .product-photo-preview{align-items:flex-start}
  .product-photo-preview img{width:78px;height:78px}
}

/* Product 21 visual color blocks */
.product-swatch-grid{display:flex!important;flex-wrap:wrap;gap:.75rem!important}
.product-swatch-choice{position:relative;display:grid!important;place-items:center;width:72px!important;height:72px!important;min-width:72px!important;flex:0 0 72px!important;padding:7px!important;border-radius:12px!important;background:#fff!important}
.product-swatch-choice .product-size-choice__check{position:absolute;right:5px;bottom:5px;width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:var(--navy);color:#fff;font-size:.72rem;opacity:0;transform:scale(.8);transition:.18s}
.product-swatch-choice.is-selected .product-size-choice__check{opacity:1;transform:scale(1)}
.product-big-swatch{display:block;width:100%;height:100%;border-radius:8px;border:1px solid rgba(20,35,51,.22);box-shadow:inset 0 0 0 1px rgba(255,255,255,.58)}
.product-big-swatch--stone{background-color:#f6f6f3!important;background-image:linear-gradient(25deg,transparent 0 42%,rgba(92,92,92,.38) 43% 45%,transparent 46% 66%,rgba(125,125,125,.28) 67% 69%,transparent 70%),linear-gradient(145deg,transparent 0 35%,rgba(105,105,105,.22) 36% 38%,transparent 39% 75%,rgba(120,120,120,.30) 76% 78%,transparent 79%)!important;background-size:42px 36px,51px 47px!important}
@media(max-width:640px){.product-swatch-choice{width:64px!important;height:64px!important;min-width:64px!important;flex-basis:64px!important}}


/* Product 21 - full-width color rows (AliExpress-style selector) */
.product-color-row-grid{display:grid!important;grid-template-columns:1fr!important;gap:.75rem!important}
.product-color-row-choice{width:100%!important;min-height:88px!important;padding:1rem 1.1rem!important;border-radius:0!important;background:#fff!important}
.product-color-row-choice .product-color-choice__label{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:.75rem;row-gap:.1rem}
.product-color-row-choice .product-color-swatch{width:28px;height:28px;border:1px solid #9aa8b4;border-radius:50%;box-shadow:inset 0 0 0 2px rgba(255,255,255,.72),0 0 0 1px rgba(20,35,51,.06)}
.product-color-row-choice .product-color-choice__label strong{font-size:1rem;font-weight:600;line-height:1.35}
.product-color-row-choice .product-color-choice__label small{font-size:.8rem;line-height:1.35}
.product-color-row-choice .product-size-choice__check{width:22px;height:22px;background:#fff;color:transparent;border:1px solid #c9d5de;border-radius:0}
.product-color-row-choice.is-selected .product-size-choice__check{background:var(--navy);border-color:var(--navy);color:#fff}
.product-color-swatch--stone{background-color:#f7f7f4!important;background-image:linear-gradient(25deg,transparent 0 42%,rgba(92,92,92,.38) 43% 45%,transparent 46% 66%,rgba(125,125,125,.28) 67% 69%,transparent 70%),linear-gradient(145deg,transparent 0 35%,rgba(105,105,105,.22) 36% 38%,transparent 39% 75%,rgba(120,120,120,.30) 76% 78%,transparent 79%)!important;background-size:18px 16px,21px 19px!important}
@media(max-width:640px){.product-color-row-choice{min-height:82px!important;padding:.9rem 1rem!important}.product-color-row-choice .product-color-swatch{width:26px;height:26px}}

/* ===== LOVE FOREVER packaging add-on / required necklace flow ===== */
.product-gift-packaging,.product-required-companion{border-top:1px solid #e1e7eb;padding-top:1.15rem}
.product-gift-packaging__copy,.product-required-companion__copy{margin:0;color:var(--muted);font-size:.82rem;line-height:1.75}
.product-packaging-none{width:100%;min-height:46px;padding:.7rem .9rem;border:1px solid #cbd5dc;background:#fff;color:var(--ink);font:500 .84rem/1.4 var(--sans);text-align:start;cursor:pointer;transition:border-color .2s,box-shadow .2s,background .2s}
.product-packaging-none:hover{border-color:#7f94a4}
.product-packaging-none.is-selected{border-color:var(--navy);box-shadow:inset 0 0 0 1px var(--navy);background:#f9fbfc}
.product-packaging-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}
.product-packaging-choice{position:relative;display:grid;grid-template-rows:auto 1fr;min-width:0;padding:0;border:1px solid #cad4dc;background:#fff;text-align:start;cursor:pointer;overflow:hidden;transition:border-color .2s,box-shadow .2s,transform .2s}
.product-packaging-choice:hover{border-color:#71889a;transform:translateY(-1px)}
.product-packaging-choice.is-selected{border-color:var(--navy);box-shadow:inset 0 0 0 1px var(--navy)}
.product-packaging-choice__image{display:block;aspect-ratio:1;overflow:hidden;background:#fff}
.product-packaging-choice__image img{display:block;width:100%;height:100%;object-fit:cover}
.product-packaging-choice__body{display:grid;gap:.2rem;padding:.65rem .55rem .72rem;min-height:62px}
.product-packaging-choice__body strong{font-size:.8rem;line-height:1.35;font-weight:600}
.product-packaging-choice__body small{font-size:.72rem;color:var(--muted)}
.product-packaging-choice .product-choice__check{position:absolute;top:8px;inset-inline-end:8px;background:#fff;color:transparent}
.product-packaging-choice.is-selected .product-choice__check{background:var(--navy);color:#fff;border-color:var(--navy)}
.product-required-companion{padding:1.1rem;border:1px solid #cfd9e0;background:#fff}
.product-required-companion__button{width:100%;margin-top:.2rem;min-height:52px}
.product-required-companion__ready{margin:0;padding:.7rem .85rem;background:#f1f7f3;border:1px solid #cbded0;color:#346246;font-size:.8rem;line-height:1.5}

@media(max-width:640px){
  .product-packaging-grid{grid-template-columns:1fr}
  .product-packaging-choice{grid-template-columns:92px minmax(0,1fr);grid-template-rows:1fr;align-items:stretch}
  .product-packaging-choice__image{aspect-ratio:1}
  .product-packaging-choice__body{align-content:center;padding:.7rem .8rem}
}

/* Delivery estimate shown on every product page */
.product-delivery{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin:-.65rem 0 1.35rem;padding:.72rem .85rem;border:1px solid #cfdbe4;background:#f8fafb;color:#526978;font-size:.8125rem;line-height:1.5}
.product-delivery svg{width:18px;height:18px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.55}
.product-delivery strong{color:var(--ink);font-weight:650;font-variant-numeric:tabular-nums}
.cart-split-note{margin:.75rem 0 .35rem;padding:.72rem .8rem;border:1px solid #d4dee6;background:#f7f9fb;color:#566b7a;font-size:.775rem;line-height:1.65}
@media (max-width:560px){.product-delivery{margin-top:-.55rem;padding:.68rem .72rem}.cart-split-note{font-size:.75rem}}


/* ===== Product page visual refresh - lively / premium ===== */
body.product-page-body{
  background:
    radial-gradient(circle at 8% 14%, rgba(243,199,182,.28), transparent 24%),
    radial-gradient(circle at 92% 10%, rgba(237,214,184,.22), transparent 22%),
    linear-gradient(180deg,#fffdfb 0%,#fff8f3 30%,#fff 100%);
}
.product-page{
  position:relative;
  padding-block:1.5rem 5.5rem;
}
.product-breadcrumb{
  display:inline-flex;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(209,183,165,.36);
  border-radius:999px;
  padding:.75rem 1rem;
  box-shadow:0 10px 24px rgba(20,35,51,.05);
  backdrop-filter:blur(10px);
}
.product-detail{
  align-items:start;
  gap:clamp(1.4rem,3vw,3rem);
}
.product-gallery{
  min-width:0;
  padding:1rem;
  background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(255,250,246,.96));
  border:1px solid rgba(221,198,186,.56);
  border-radius:34px;
  box-shadow:0 28px 70px rgba(20,35,51,.07), inset 0 1px 0 rgba(255,255,255,.88);
  top:132px;
}
.product-gallery__stage{
  border:none;
  border-radius:26px;
  background:linear-gradient(145deg,#fffdfb 0%,#f8ede7 100%);
  box-shadow:inset 0 0 0 1px rgba(224,203,193,.52), 0 22px 50px rgba(20,35,51,.08);
}
.product-gallery__stage::before{
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 82% 16%, rgba(255,255,255,.92), transparent 26%), linear-gradient(135deg, rgba(255,255,255,.55), transparent 48%);
  pointer-events:none;
}
.product-gallery__stage>img{
  position:relative;
  z-index:1;
  padding:1rem;
  background:transparent;
}
.product-gallery__hint{
  border:none;
  border-radius:999px;
  padding:.5rem .85rem;
  background:rgba(255,255,255,.92);
  color:#785b4d;
  box-shadow:0 8px 16px rgba(20,35,51,.08);
}
.product-thumb{
  width:74px;
  height:74px;
  flex-basis:74px;
  border:none;
  border-radius:18px;
  box-shadow:inset 0 0 0 1px rgba(215,223,230,.92), 0 8px 20px rgba(20,35,51,.06);
  opacity:.92;
  overflow:hidden;
}
.product-thumb:hover,.product-thumb.is-active{
  opacity:1;
  border:none;
  box-shadow:inset 0 0 0 2px rgba(180,111,90,.75), 0 12px 22px rgba(20,35,51,.1);
  transform:translateY(-1px);
}
.product-gallery__selection-summary{
  gap:.85rem;
}
.product-gallery__selection-summary>div{
  padding:.95rem 1rem;
  background:#fff;
  border:none;
  border-radius:18px;
  box-shadow:inset 0 0 0 1px rgba(221,228,233,.95), 0 8px 20px rgba(20,35,51,.04);
}
.product-gallery__selection-summary span{color:#8c7465;font-weight:600}
.product-gallery__selection-summary strong{font-weight:700;color:#22313f}
.gallery-arrow{
  width:48px;
  height:48px;
  border:none;
  border-radius:50%;
  background:rgba(255,255,255,.92);
  box-shadow:0 10px 24px rgba(20,35,51,.12);
}
.gallery-count{
  border-radius:999px;
  background:rgba(20,35,51,.86);
  padding:.38rem .72rem;
  box-shadow:0 8px 20px rgba(20,35,51,.18);
}
.product-info{
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg,rgba(255,255,255,.94) 0%,rgba(255,250,247,.96) 100%);
  border:1px solid rgba(220,197,187,.6);
  border-radius:34px;
  box-shadow:0 30px 80px rgba(20,35,51,.09), inset 0 1px 0 rgba(255,255,255,.88);
}
.product-info::before{
  content:'';
  position:absolute;
  inset:auto auto -90px -70px;
  width:220px;
  height:220px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(233,206,187,.28), transparent 65%);
  pointer-events:none;
}
.product-info::after{
  content:'';
  position:absolute;
  inset:0 0 auto auto;
  width:260px;
  height:180px;
  background:radial-gradient(circle at 100% 0, rgba(246,223,206,.34), transparent 60%);
  pointer-events:none;
}
.product-info>*{position:relative;z-index:1}
.product-info__badge{
  border:none;
  border-radius:999px;
  padding:.45rem .85rem;
  background:linear-gradient(135deg,#f6e5d8,#efcdb9);
  color:#7a5443;
  font-weight:700;
  box-shadow:0 8px 18px rgba(188,126,96,.16);
}
.product-info__title{
  font-size:clamp(2.35rem,3.8vw,4.1rem);
  line-height:1.03;
  max-width:18ch;
  color:#182737;
}
.product-info__subtitle{
  font-size:.98rem;
  line-height:1.95;
  color:#5f6b76;
  max-width:52ch;
}
.product-info__price{
  align-items:center;
  gap:.8rem 1rem;
  padding:1rem 1.1rem;
  margin-top:1.5rem;
  margin-bottom:1.25rem;
  border-bottom:none;
  border-radius:24px;
  background:linear-gradient(135deg,#fff 0%,#fff6f0 100%);
  box-shadow:inset 0 0 0 1px rgba(230,210,200,.8), 0 10px 26px rgba(20,35,51,.05);
}
.product-info__price strong{
  font-size:2.15rem;
  font-weight:800;
  color:#132333;
}
.product-info__compare{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:.2rem .65rem;
  border-radius:999px;
  background:rgba(233,238,242,.9);
  color:#7f8992;
  font-size:.88rem;
  font-weight:600;
}
.product-delivery{
  margin:.1rem 0 1.35rem;
  padding:.95rem 1rem;
  border:none;
  border-radius:20px;
  background:linear-gradient(135deg,#f5ece6 0%,#fff 100%);
  color:#6d5648;
  box-shadow:inset 0 0 0 1px rgba(225,204,193,.76), 0 10px 24px rgba(20,35,51,.05);
  font-size:.84rem;
}
.product-delivery svg{color:#b67657}
.product-delivery strong{color:#253342}
.product-review-carousel{
  display:grid;
  gap:1rem;
  padding:1.2rem;
  margin-bottom:1.6rem;
  background:linear-gradient(180deg,#fff 0%,#fff9f5 100%);
  border:1px solid rgba(227,207,198,.7);
  border-radius:26px;
  box-shadow:0 16px 36px rgba(20,35,51,.06);
}
.product-review-carousel__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
}
.product-review-carousel__title{display:grid;gap:.16rem}
.product-review-carousel__title strong{font-size:1.02rem;color:#162534}
.product-review-carousel__count{font-size:.78rem;color:#8d7164}
.product-review-carousel__more{
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:.45rem .8rem;
  border-radius:999px;
  background:#fff;
  box-shadow:inset 0 0 0 1px rgba(216,198,189,.9);
  color:#7a5546;
  font-size:.8rem;
  font-weight:700;
}
.product-review-carousel__viewport{overflow:hidden}
.product-review-carousel__track{
  display:flex;
  gap:1rem;
  align-items:stretch;
  transition:transform .46s cubic-bezier(.22,.61,.36,1);
  will-change:transform;
}
.product-review-carousel__track.is-jump-reset{transition:none!important}
.product-review-carousel__track.is-static{transform:none!important}
.product-review-slide{
  flex:0 0 min(86%,340px);
  display:grid;
  gap:.85rem;
  min-height:196px;
  padding:1rem 1.05rem;
  border-radius:22px;
  background:linear-gradient(180deg,#fff,#fffaf7);
  box-shadow:inset 0 0 0 1px rgba(230,214,205,.9), 0 12px 30px rgba(20,35,51,.06);
  cursor:pointer;
}
.product-review-slide__top,.product-review-slide__footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.7rem;
}
.product-review-slide__reviewer{display:flex;align-items:center;gap:.55rem;font-size:.86rem;font-weight:700;color:#182737;flex-wrap:wrap}
.product-review-slide__verified{display:inline-flex;align-items:center;gap:.3rem;padding:.18rem .45rem;border-radius:999px;background:#eef7f0;color:#35644e;font-size:.68rem;font-weight:700}
.product-review-slide__verified span{display:inline-grid;place-items:center;width:16px;height:16px;border-radius:50%;background:#35644e;color:#fff;font-size:.62rem}
.product-review-slide__stars{font-size:.9rem;color:#c59341;white-space:nowrap;letter-spacing:.04em}
.product-review-slide__text{margin:0;font-size:.9rem;line-height:1.85;color:#5c6872;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.product-review-slide__date{font-size:.74rem;color:#8c97a0}
.product-review-slide__media-note{display:inline-flex;align-items:center;gap:.35rem;padding:.24rem .5rem;border-radius:999px;background:#f7f2ec;color:#87624f;font-size:.68rem;font-weight:700}
.product-review-slide__media-note svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6}
.product-options,.product-size-block,.product-custom-block,.product-gift-packaging,.product-required-companion{
  position:relative;
  padding:1.1rem 1.1rem 1.15rem;
  background:rgba(255,255,255,.84);
  border:1px solid rgba(228,212,204,.8);
  border-radius:24px;
  box-shadow:0 12px 30px rgba(20,35,51,.05);
}
.product-options{gap:1.2rem}
.product-option-block,.product-size-block,.product-custom-block{margin-bottom:0}
.product-option-head h2{font-size:1.02rem;font-weight:800;color:#182737}
.product-option-step{
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  padding:0;
  border:none;
  border-radius:50%;
  background:linear-gradient(135deg,#f4ddd0,#efc4aa);
  color:#7f5846;
  font:700 .92rem/1 var(--sans);
}
.product-option-status{font-size:.76rem;font-weight:700;color:#967765}
.product-choice,.product-size-choice,.product-packaging-none,.product-packaging-choice,.product-required-companion{
  border-radius:20px;
}
.product-choice,.product-size-choice,.product-packaging-none,.product-packaging-choice{
  border:none;
  box-shadow:inset 0 0 0 1px rgba(211,221,228,.95),0 8px 20px rgba(20,35,51,.04);
}
.product-choice:hover,.product-size-choice:hover,.product-packaging-none:hover,.product-packaging-choice:hover{
  transform:translateY(-2px);
  box-shadow:inset 0 0 0 1px rgba(188,131,106,.65),0 16px 28px rgba(20,35,51,.08);
}
.product-choice.is-selected,.product-size-choice.is-selected,.product-packaging-none.is-selected,.product-packaging-choice.is-selected{
  border:none;
  box-shadow:inset 0 0 0 2px rgba(182,107,83,.8),0 16px 28px rgba(20,35,51,.1);
  background:linear-gradient(180deg,#fff,#fff8f4);
}
.product-choice__image,.product-packaging-choice__image{background:linear-gradient(145deg,#fff,#fff8f3)}
.product-choice__footer{padding:.8rem .8rem .85rem;border-top:1px solid rgba(228,234,239,.85)}
.product-choice__footer strong{font-size:.85rem;font-weight:700;color:#1d2d3a}
.product-choice__footer small{font-size:.74rem;color:#7a8791}
.product-choice__check,.product-size-choice__check{border-radius:50%;width:22px;height:22px;border:none;box-shadow:inset 0 0 0 1px rgba(194,203,210,.95);background:#fff}
.is-selected .product-choice__check,.is-selected .product-size-choice__check{background:linear-gradient(135deg,#c15f52,#9f443a);color:#fff;box-shadow:none}
.product-size-grid{gap:.8rem}
.product-size-choice{min-height:72px;padding:.9rem 1rem;background:linear-gradient(180deg,#fff,#fffbf8)}
.product-size-choice__label{font-size:.92rem;color:#1d2d3a}
.product-size-choice__label small{color:#7c8790}
.product-custom-input{
  border:none;
  border-radius:18px;
  background:#fff;
  box-shadow:inset 0 0 0 1px rgba(203,213,221,.96);
  min-height:56px;
  padding:.9rem 1rem;
}
.product-photo-picker{
  display:grid;
  gap:.2rem;
  justify-items:center;
  padding:1.25rem;
  border-radius:22px;
  background:linear-gradient(135deg,#fff,#fff6f0);
  box-shadow:inset 0 0 0 1px rgba(222,206,198,.86);
}
.product-photo-picker__icon{font-size:1.5rem;color:#ba7054}
.product-photo-picker__text{font-weight:800;color:#805847}
.product-photo-preview{
  padding:.85rem;
  border-radius:22px;
  background:#fff;
  box-shadow:inset 0 0 0 1px rgba(217,225,232,.9),0 8px 20px rgba(20,35,51,.04);
}
.product-photo-preview img{border-radius:16px}
.product-purchase{
  align-items:stretch;
  gap:.8rem;
  margin-top:1.85rem;
  padding:1rem;
  border-radius:24px;
  background:linear-gradient(135deg,#1a2c3e 0%,#253f55 100%);
  box-shadow:0 18px 38px rgba(20,35,51,.18);
}
.product-qty{
  min-height:58px;
  border:none;
  border-radius:18px;
  background:rgba(255,255,255,.14);
  color:#fff;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);
}
.product-qty button{color:#fff}
.product-qty button:hover{background:rgba(255,255,255,.12)}
.product-add{
  min-height:58px;
  border:none;
  border-radius:18px;
  background:linear-gradient(135deg,#f1dfd1,#eec7af);
  color:#263544;
  font-weight:900;
  box-shadow:0 12px 24px rgba(0,0,0,.14);
}
.product-add:hover:not(:disabled){background:linear-gradient(135deg,#f4e7dd,#f2d4c0)}
.product-add:disabled{background:rgba(255,255,255,.45);color:rgba(255,255,255,.9);border:none}
.product-assurance{
  gap:.8rem;
  margin-block:1.15rem 1.75rem;
  padding-bottom:0;
  border-bottom:none;
}
.product-assurance>div{
  flex:1 1 160px;
  justify-content:center;
  gap:.5rem;
  padding:.8rem .9rem;
  border-radius:18px;
  background:#fff;
  box-shadow:inset 0 0 0 1px rgba(223,229,234,.95),0 8px 22px rgba(20,35,51,.04);
  color:#5d6b77;
  font-size:.79rem;
  font-weight:700;
}
.product-assurance svg{width:18px;height:18px;color:#b77158}
.greeting-customizer,.greeting-preview,.message-card,.product-required-companion,.product-details-list,
.product-gift-packaging{border-radius:24px}
.greeting-customizer{
  margin-top:1rem;
  padding:1.1rem 1.2rem;
  border:none;
  background:linear-gradient(135deg,#fff,#fff5ef);
  box-shadow:inset 0 0 0 1px rgba(226,206,196,.85),0 12px 28px rgba(20,35,51,.05);
}
.greeting-customizer__eyebrow,.greeting-preview__head span:not(.greeting-preview__price),.message-card__eyebrow{color:#9a6f5c;font-weight:700}
.greeting-preview{
  margin-top:1rem;
  border:none;
  background:linear-gradient(180deg,#fff,#fff9f5);
  box-shadow:inset 0 0 0 1px rgba(225,210,202,.84),0 12px 28px rgba(20,35,51,.05);
}
.greeting-preview__price{
  border:none;
  border-radius:999px;
  background:#f6ece5;
  color:#7b5948;
}
.greeting-preview__image-wrap{border:none;border-radius:20px;background:linear-gradient(145deg,#faf7f4,#fff);box-shadow:inset 0 0 0 1px rgba(224,229,234,.9)}
.message-card{
  margin-top:1rem;
  border:none;
  border-radius:28px;
  background:linear-gradient(180deg,#ffffff 0%,#fffaf7 100%);
  box-shadow:inset 0 0 0 1px rgba(228,213,204,.9),0 16px 34px rgba(20,35,51,.05);
}
.message-card__title{font-size:2rem;color:#162534}
.message-card__text{font-size:1.18rem;color:#41515d}
.message-card__signature{color:#7b5a4a}
.product-details-list{gap:.8rem;margin-top:1.5rem}
.product-detail-row{
  padding:.85rem .95rem;
  border-radius:18px;
  background:#fff;
  box-shadow:inset 0 0 0 1px rgba(223,229,234,.95),0 8px 20px rgba(20,35,51,.04);
}
.product-detail-row svg{color:#ba7257}
.product-gift-packaging,.product-required-companion{border-top:none;padding-top:1.15rem}
.product-packaging-grid{gap:.8rem}
.product-packaging-choice__body{padding:.8rem .8rem .85rem}
.product-required-companion{
  background:linear-gradient(180deg,#fff,#fffaf7);
  box-shadow:inset 0 0 0 1px rgba(226,209,201,.9),0 12px 28px rgba(20,35,51,.05);
}
.product-required-companion__ready{border:none;border-radius:16px;background:#eef7f0}
.product-after{
  margin-top:4.2rem;
  padding:3.2rem;
  border-radius:36px;
  background:linear-gradient(135deg,#142333 0%,#22394d 60%,#2d4a60 100%);
  box-shadow:0 26px 70px rgba(20,35,51,.2);
}
.product-after__kicker{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .7rem;border-radius:999px;background:rgba(255,255,255,.12);color:#f0d8c8}
.product-after h2{margin-top:.9rem}
.product-after p{color:#d7e4ee}
.product-review-detail{
  position:fixed;
  inset:0;
  z-index:240;
  display:grid;
  place-items:center;
  padding:1.25rem;
}
.product-review-detail__backdrop{
  position:absolute;
  inset:0;
  background:rgba(17,28,40,.55);
  backdrop-filter:blur(7px);
}
.product-review-detail__dialog{
  position:relative;
  z-index:1;
  width:min(1080px,100%);
  max-height:min(88vh,900px);
  overflow:auto;
  display:grid;
  grid-template-columns:minmax(0,1.03fr) minmax(320px,.97fr);
  gap:0;
  border-radius:30px;
  background:linear-gradient(180deg,#fff,#fff9f5);
  box-shadow:0 34px 90px rgba(10,18,28,.28);
}
.product-review-detail__dialog.is-no-media{grid-template-columns:1fr;max-width:650px}
.product-review-detail__close{
  position:absolute;
  top:14px;
  inset-inline-end:14px;
  width:42px;
  height:42px;
  border:none;
  border-radius:50%;
  background:rgba(255,255,255,.92);
  color:#243342;
  font-size:1.5rem;
  box-shadow:0 8px 20px rgba(20,35,51,.12);
  z-index:3;
}
.product-review-detail__media{
  position:relative;
  min-height:360px;
  background:linear-gradient(140deg,#fffdfb,#f5ece7);
  border-inline-end:1px solid rgba(227,213,204,.8);
}
.product-review-detail__stage{
  width:100%;
  height:100%;
  min-height:360px;
  display:grid;
  place-items:center;
  padding:1.2rem;
}
.product-review-detail__image,.product-review-detail__video{max-width:100%;max-height:68vh;border-radius:24px;box-shadow:0 18px 40px rgba(20,35,51,.15)}
.product-review-detail__content{display:grid;align-content:start;gap:.9rem;padding:2rem 1.7rem 1.6rem}
.product-review-detail__meta{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.product-review-detail__identity{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin:0;color:#162534}
.product-review-detail__verified{display:inline-flex;align-items:center;gap:.35rem;padding:.22rem .48rem;border-radius:999px;background:#eef7f0;color:#35644e;font-size:.72rem;font-weight:700}
.product-review-detail__verified span{display:inline-grid;place-items:center;width:16px;height:16px;border-radius:50%;background:#35644e;color:#fff;font-size:.62rem}
.product-review-detail__content time{font-size:.8rem;color:#8b97a0}
.product-review-detail__rating{display:flex;align-items:center;gap:.55rem;margin:0}
#productReviewDetailStars{font-size:1rem;letter-spacing:.04em;color:#c59341}
.product-review-detail__score{font-size:.84rem;color:#7b8690}
.product-review-detail__text{margin:0;font-size:.98rem;line-height:1.95;color:#51606b}
.product-review-detail__hint{font-size:.78rem;color:#8b97a0}
.product-review-detail__nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:44px;
  height:44px;
  border:none;
  border-radius:50%;
  background:rgba(255,255,255,.92);
  box-shadow:0 10px 24px rgba(20,35,51,.13);
  color:#2b3a49;
  font-size:1.35rem;
}
.product-review-detail__nav--prev{inset-inline-start:14px}
.product-review-detail__nav--next{inset-inline-end:14px}
.product-review-detail__counter{position:absolute;bottom:14px;inset-inline-end:14px;padding:.3rem .62rem;border-radius:999px;background:rgba(20,35,51,.82);color:#fff;font-size:.74rem}
body.product-review-detail-open{overflow:hidden}
@media (max-width:1100px){
  .product-detail{grid-template-columns:1fr}
  .product-gallery{position:static;top:auto}
}
@media (max-width:900px){
  .product-info{padding:1.3rem}
  .product-gallery{border-radius:26px}
  .product-info,.product-after{border-radius:28px}
  .product-review-detail__dialog{grid-template-columns:1fr;max-height:90vh}
  .product-review-detail__media{border-inline-end:none;border-bottom:1px solid rgba(227,213,204,.8)}
}
@media (max-width:700px){
  .product-breadcrumb{display:flex;border-radius:18px}
  .product-gallery{padding:.75rem}
  .product-gallery__stage{border-radius:22px}
  .product-thumb{width:66px;height:66px;flex-basis:66px;border-radius:16px}
  .product-gallery__selection-summary{grid-template-columns:1fr}
  .product-info__title{font-size:clamp(2rem,9vw,3rem)}
  .product-info__price strong{font-size:1.75rem}
  .product-review-carousel,.message-card,.greeting-customizer,.greeting-preview,.product-options,.product-size-block,.product-custom-block,.product-required-companion,.product-gift-packaging{border-radius:22px}
  .product-review-slide{flex-basis:min(92%,300px)}
  .product-purchase{grid-template-columns:1fr}
  .product-qty{justify-content:center}
  .product-after{grid-template-columns:1fr;padding:2rem}
}
@media (max-width:560px){
  .product-page{padding-block:1rem 4rem}
  .product-breadcrumb{padding:.7rem .85rem;font-size:.74rem}
  .product-info,.product-gallery{border-radius:24px}
  .product-info__price{padding:.85rem .9rem;border-radius:20px}
  .product-delivery{padding:.85rem .9rem;border-radius:18px}
  .product-option-step{width:28px;height:28px;font-size:.82rem}
  .product-option-head h2{font-size:.95rem}
  .product-assurance{gap:.65rem}
  .product-assurance>div{flex-basis:100%}
  .product-review-carousel{padding:1rem}
  .product-review-slide{flex-basis:100%;min-height:unset}
  .product-review-detail{padding:.65rem}
  .product-review-detail__dialog{border-radius:24px}
  .product-review-detail__content{padding:1.2rem}
  .product-review-detail__stage{min-height:280px}
}

/* ===== Product page visual refresh v2 - brighter, clearer, multi-accent ===== */
body.product-page-body{
  --p-font:'Rubik','Assistant',Arial,sans-serif;
  --sans:'Rubik','Assistant',Arial,sans-serif;
  --serif:'Rubik','Assistant',Arial,sans-serif;
  --p-ink:#172333;
  --p-green:#079776;
  --p-green-dark:#06775e;
  --p-blue:#2f6edb;
  --p-violet:#7657d9;
  --p-coral:#ef4f57;
  --p-amber:#d89a1e;
  font-family:var(--p-font);
  background:
    radial-gradient(circle at 7% 13%,rgba(118,87,217,.08),transparent 24%),
    radial-gradient(circle at 93% 17%,rgba(47,110,219,.08),transparent 22%),
    radial-gradient(circle at 77% 78%,rgba(7,151,118,.06),transparent 23%),
    linear-gradient(180deg,#ffffff 0%,#fbfcff 52%,#fff 100%);
  color:var(--p-ink);
}
body.product-page-body h1,
body.product-page-body h2,
body.product-page-body h3,
body.product-page-body h4{
  font-family:var(--p-font);
  letter-spacing:-.025em;
}
.product-page-body .product-page{padding-block:1.15rem 5.5rem}
.product-page-body .product-breadcrumb{
  background:#fff;
  border:1px solid #e8ebf0;
  box-shadow:0 8px 22px rgba(20,35,51,.045);
  color:#74808d;
}
.product-page-body .product-detail{
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:clamp(1.5rem,3.2vw,3.4rem);
  align-items:start;
}

/* The media is intentionally a little smaller than the information panel. */
.product-page-body .product-gallery{
  width:min(100%,710px);
  justify-self:start;
  padding:.85rem;
  border:1px solid #e8ebf1;
  border-radius:28px;
  background:#fff;
  box-shadow:0 20px 55px rgba(20,35,51,.075);
}
.product-page-body .product-gallery__stage{
  border-radius:22px;
  background:
    radial-gradient(circle at 80% 15%,rgba(47,110,219,.08),transparent 29%),
    radial-gradient(circle at 17% 86%,rgba(118,87,217,.07),transparent 27%),
    #fafbfe;
  box-shadow:inset 0 0 0 1px #edf0f5;
}
.product-page-body .product-gallery__stage::before{display:none}
.product-page-body .product-gallery__stage>img{padding:1.35rem;background:transparent}
.product-page-body .product-gallery__hint{
  background:#172333e8;
  color:#fff;
  box-shadow:0 8px 18px rgba(20,35,51,.16);
}
.product-page-body .product-thumb{
  border-radius:14px;
  background:#fff;
  box-shadow:inset 0 0 0 1px #e1e6ec;
}
.product-page-body .product-thumb:hover,
.product-page-body .product-thumb.is-active{
  box-shadow:inset 0 0 0 2px var(--p-blue),0 8px 18px rgba(47,110,219,.12);
}
.product-page-body .product-gallery__selection-summary>div{
  border-radius:15px;
  box-shadow:inset 0 0 0 1px #e5e9ee;
}
.product-page-body .product-gallery__selection-summary>div:first-child{background:#f3f7ff}
.product-page-body .product-gallery__selection-summary>div:last-child{background:#fff8ea}
.product-page-body .product-gallery__selection-summary span{color:#6e7883}
.product-page-body .product-gallery__selection-summary strong{color:#1b2b3d}

/* Product information: white canvas, color comes from useful UI states rather than one tint everywhere. */
.product-page-body .product-info{
  padding:clamp(1.45rem,2.5vw,2.35rem);
  overflow:visible;
  border:1px solid #e7eaf0;
  border-radius:28px;
  background:#fff;
  box-shadow:0 22px 60px rgba(20,35,51,.08);
}
.product-page-body .product-info::before,
.product-page-body .product-info::after{display:none}
.product-info__topline{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:.6rem;
  margin-bottom:.9rem;
}
.product-page-body .product-info__badge{
  margin:0;
  padding:.42rem .78rem;
  border-radius:999px;
  background:#eef1ff;
  color:#5642b6;
  box-shadow:none;
  font-size:.76rem;
  font-weight:800;
}
.product-sale-pill{
  display:inline-flex;
  align-items:center;
  min-height:31px;
  padding:.35rem .72rem;
  border-radius:999px;
  background:#fff0f1;
  color:#d8333d;
  border:1px solid #ffd5d8;
  font-size:.76rem;
  font-weight:900;
}
.product-page-body .product-info__title{
  margin:0;
  max-width:19ch;
  font-size:clamp(2.05rem,3vw,3.35rem);
  line-height:1.08;
  font-weight:800;
  color:#111d2c;
}
.product-review-summary{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:.48rem;
  margin-top:.8rem;
  font-size:.83rem;
}
.product-review-summary__stars{color:#f2b615;letter-spacing:.06em;font-size:1rem}
.product-review-summary strong{color:#152434;font-weight:800}
.product-review-summary__count{
  appearance:none;
  border:0;
  padding:0;
  background:transparent;
  color:#087e65;
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:3px;
}
.product-page-body .product-info__subtitle{
  margin-top:.8rem;
  max-width:58ch;
  color:#687582;
  font-size:.96rem;
  line-height:1.85;
}
.product-page-body .product-info__price{
  gap:.62rem .78rem;
  margin-top:1.15rem;
  margin-bottom:1rem;
  padding:.92rem 1rem;
  border:1px solid #e6eaf0;
  border-radius:18px;
  background:#f8fafc;
  box-shadow:none;
}
.product-page-body .product-info__price strong{
  color:#0f1e2f;
  font-size:1.9rem;
  font-weight:900;
}
.product-page-body .product-info__compare{
  min-height:0;
  padding:0;
  background:transparent;
  color:#8b949d;
  font-size:.88rem;
  font-weight:500;
}
.product-info__save{
  display:inline-flex;
  align-items:center;
  padding:.26rem .58rem;
  border-radius:999px;
  background:#fff0f1;
  color:#d8333d;
  font-size:.74rem;
  font-weight:800;
}
.product-page-body .product-delivery{
  margin:.2rem 0 1.1rem;
  padding:.85rem .95rem;
  border:1px solid #d8e8ff;
  border-radius:16px;
  background:#eef6ff;
  color:#426489;
  box-shadow:none;
}
.product-page-body .product-delivery svg{color:var(--p-blue)}
.product-page-body .product-delivery strong{color:#245b9f;font-weight:800}

/* Reviews = green social-proof accent. */
.product-page-body .product-review-carousel{
  margin-bottom:1.25rem;
  padding:1.05rem;
  border:1px solid #d8eee7;
  border-top:4px solid var(--p-green);
  border-radius:20px;
  background:#f7fcfa;
  box-shadow:none;
}
.product-page-body .product-review-carousel__title strong{color:#17382f;font-weight:800}
.product-page-body .product-review-carousel__count{color:#5c7b72}
.product-page-body .product-review-carousel__more{
  background:#fff;
  color:#087e65;
  box-shadow:inset 0 0 0 1px #bfe0d6;
}
.product-page-body .product-review-slide{
  min-height:176px;
  border-radius:16px;
  background:#fff;
  box-shadow:inset 0 0 0 1px #dfece8,0 7px 18px rgba(20,35,51,.045);
}
.product-page-body .product-review-slide__verified{background:#e8f7f1;color:#087e65}
.product-page-body .product-review-slide__verified span{background:#087e65}
.product-page-body .product-review-slide__stars{color:#f2b615}

/* Options use different accent families so the page feels alive without becoming noisy. */
.product-page-body .product-options,
.product-page-body .product-size-block,
.product-page-body .product-custom-block,
.product-page-body .product-gift-packaging,
.product-page-body .product-required-companion{
  border:1px solid #e4e8ee;
  border-radius:20px;
  background:#fff;
  box-shadow:none;
}
.product-page-body .product-options{padding:1rem;gap:.85rem}
.product-page-body .product-option-block{
  padding:1rem;
  border-radius:16px;
}
.product-page-body #necklaceBlock{background:#f1f5ff}
.product-page-body #boxBlock{background:#fff8e7}
.product-page-body #sizeBlock{background:#eef9ff;border-color:#d7edf8}
.product-page-body #colorBlock{background:#fbf0ff;border-color:#eadcf2}
.product-page-body #customNameBlock{background:#f4f0ff;border-color:#e4dcfb}
.product-page-body #customPhotoBlock{background:#ecfaf5;border-color:#d4eee5}
.product-page-body #giftPackagingBlock{background:#fff3eb;border-color:#f4dfd1}
.product-page-body #requiredCompanionBlock{background:#fff0f1;border-color:#f4d9dc}
.product-page-body .product-option-head h2{color:#172536;font-weight:800}
.product-page-body .product-option-step{
  width:30px;height:30px;
  border-radius:9px;
  background:#e9eef5;
  color:#384d63;
  font:800 .82rem/1 var(--p-font);
}
.product-page-body #necklaceBlock .product-option-step{background:#dfe8ff;color:#2f5fc5}
.product-page-body #boxBlock .product-option-step{background:#ffe9b5;color:#9b6910}
.product-page-body #sizeBlock .product-option-step{background:#d9f2ff;color:#236d91}
.product-page-body #colorBlock .product-option-step{background:#f0ddf8;color:#7b4097}
.product-page-body #customNameBlock .product-option-step{background:#e6ddff;color:#6348b5}
.product-page-body #customPhotoBlock .product-option-step{background:#d6f2e8;color:#087e65}
.product-page-body #giftPackagingBlock .product-option-step{background:#ffe0ce;color:#a95b30}
.product-page-body #requiredCompanionBlock .product-option-step{background:#ffdadd;color:#b33842}
.product-page-body .product-option-status{color:#7b8490;font-weight:700}
.product-page-body .product-option-status.is-done{color:#078066}
.product-page-body .product-choice,
.product-page-body .product-size-choice,
.product-page-body .product-packaging-none,
.product-page-body .product-packaging-choice{
  border:1px solid #dfe4ea;
  border-radius:13px;
  background:#fff;
  box-shadow:none;
}
.product-page-body .product-choice:hover,
.product-page-body .product-size-choice:hover,
.product-page-body .product-packaging-none:hover,
.product-page-body .product-packaging-choice:hover{
  border-color:#8aa5d8;
  transform:translateY(-1px);
  box-shadow:0 7px 18px rgba(47,110,219,.08);
}
.product-page-body .product-choice.is-selected,
.product-page-body .product-size-choice.is-selected,
.product-page-body .product-packaging-none.is-selected,
.product-page-body .product-packaging-choice.is-selected{
  border-color:var(--p-blue);
  box-shadow:inset 0 0 0 1px var(--p-blue),0 7px 18px rgba(47,110,219,.10);
}
.product-page-body .is-selected .product-choice__check,
.product-page-body .is-selected .product-size-choice__check,
.product-page-body .product-packaging-choice.is-selected .product-choice__check{
  background:var(--p-green);
  color:#fff;
  box-shadow:none;
}
.product-page-body .product-choice__footer strong,
.product-page-body .product-size-choice__label{font-weight:700}
.product-page-body .product-custom-input{
  border-radius:12px;
  box-shadow:inset 0 0 0 1px #cfd7e2;
}
.product-page-body .product-photo-picker{
  border-radius:15px;
  background:#fff;
  box-shadow:inset 0 0 0 1px #bfe2d6;
}
.product-page-body .product-photo-picker__icon,
.product-page-body .product-photo-picker__text{color:#087e65}

/* The buy action gets its own strong color instead of inheriting the rest of the page. */
.product-page-body .product-purchase{
  margin-top:1.3rem;
  padding:.75rem;
  border:1px solid #e1e6eb;
  border-radius:18px;
  background:#f7f9fb;
  box-shadow:none;
}
.product-page-body .product-qty{
  min-height:56px;
  border:1px solid #dce2e8;
  border-radius:13px;
  background:#fff;
  color:#1e2b39;
  box-shadow:none;
}
.product-page-body .product-qty button{color:#243545}
.product-page-body .product-qty button:hover{background:#f0f4f7}
.product-page-body .product-add{
  min-height:56px;
  border-radius:13px;
  background:linear-gradient(135deg,#0aa17d,#078566);
  color:#fff;
  font-size:.98rem;
  font-weight:900;
  box-shadow:0 10px 22px rgba(7,151,118,.22);
}
.product-page-body .product-add:hover:not(:disabled){background:linear-gradient(135deg,#098d6e,#06745a)}
.product-page-body .product-add:disabled{background:#aeb7c0;color:#fff;box-shadow:none}
.product-page-body .product-assurance{gap:.65rem;margin-block:.85rem 1.4rem}
.product-page-body .product-assurance>div{
  min-height:58px;
  border-radius:14px;
  box-shadow:none;
  font-size:.76rem;
}
.product-page-body .product-assurance>div:nth-child(1){background:#ecfaf5;box-shadow:inset 0 0 0 1px #d1ece2;color:#27725e}
.product-page-body .product-assurance>div:nth-child(2){background:#eef5ff;box-shadow:inset 0 0 0 1px #d6e5fb;color:#315f9b}
.product-page-body .product-assurance>div:nth-child(3){background:#fff5e9;box-shadow:inset 0 0 0 1px #f1dfc8;color:#91601d}
.product-page-body .product-assurance>div:nth-child(1) svg{color:#079776}
.product-page-body .product-assurance>div:nth-child(2) svg{color:#2f6edb}
.product-page-body .product-assurance>div:nth-child(3) svg{color:#d89a1e}

.product-page-body .greeting-customizer{
  border-radius:20px;
  background:#f4f0ff;
  box-shadow:inset 0 0 0 1px #e2daf9;
}
.product-page-body .greeting-customizer__eyebrow,
.product-page-body .greeting-preview__head span:not(.greeting-preview__price){color:#684db7}
.product-page-body .greeting-preview{border-radius:20px;background:#faf8ff;box-shadow:inset 0 0 0 1px #e6e0f5}
.product-page-body .greeting-preview__price{background:#eae2ff;color:#6549b3}
.product-page-body .message-card{
  border-radius:20px;
  background:#fff9ed;
  box-shadow:inset 0 0 0 1px #f0e1bf;
}
.product-page-body .message-card__eyebrow{color:#9a6b17}
.product-page-body .message-card__title{font-size:1.75rem;font-weight:800}
.product-page-body .product-detail-row{
  border-radius:14px;
  background:#fff;
  box-shadow:inset 0 0 0 1px #e3e8ed;
}
.product-page-body .product-detail-row:nth-child(3n+1) svg{color:#079776}
.product-page-body .product-detail-row:nth-child(3n+2) svg{color:#2f6edb}
.product-page-body .product-detail-row:nth-child(3n) svg{color:#d89a1e}
.product-page-body .product-after{
  margin-top:3.2rem;
  border-radius:28px;
  background:
    radial-gradient(circle at 8% 30%,rgba(118,87,217,.28),transparent 22%),
    radial-gradient(circle at 91% 75%,rgba(7,151,118,.22),transparent 24%),
    #142333;
}
.product-page-body .product-after__kicker{background:#ffffff14;color:#ffe0a3}

@media (max-width:1100px){
  .product-page-body .product-detail{grid-template-columns:1fr}
  .product-page-body .product-gallery{width:min(100%,760px);justify-self:center;position:static;top:auto}
  .product-page-body .product-info{width:min(100%,850px);margin-inline:auto}
}
@media (max-width:700px){
  .product-page-body .product-info{padding:1.15rem;border-radius:20px}
  .product-page-body .product-gallery{padding:.65rem;border-radius:20px}
  .product-page-body .product-gallery__stage{border-radius:16px}
  .product-page-body .product-info__title{font-size:clamp(1.85rem,8.6vw,2.7rem)}
  .product-page-body .product-info__price strong{font-size:1.65rem}
  .product-page-body .product-option-block{padding:.8rem}
  .product-page-body .product-options{padding:.75rem}
  .product-page-body .product-review-summary{font-size:.78rem}
  .product-page-body .product-purchase{padding:.6rem}
}

/* Safe product details accordion - HTML only; product rendering logic remains untouched. */
.product-details-accordion{margin-top:1.5rem;border:1px solid #e3e8ed;border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 8px 20px rgba(20,35,51,.04)}
.product-details-summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:58px;padding:.95rem 1.05rem;cursor:pointer;list-style:none;font-weight:800;color:#203548;user-select:none}
.product-details-summary::-webkit-details-marker{display:none}
.product-details-chevron{font-size:1.35rem;line-height:1;color:#2f6edb;transition:transform .2s ease}
.product-details-accordion[open] .product-details-chevron{transform:rotate(180deg)}
.product-details-accordion .product-details-list{margin-top:0;padding:0 .95rem .95rem}
.product-details-accordion:not([open]) .product-details-list{display:none}


/* Watch product layout refinement: smaller image-based color choices + non-scrolling gallery thumbnails */
.product-page-body .product-size-grid.product-option-grid--colors{
  display:flex;
  flex-wrap:nowrap;
  grid-template-columns:none;
  gap:.45rem;
  overflow-x:hidden;
  padding:.1rem 0 .3rem;
  align-items:stretch;
  justify-content:space-between;
}
.product-page-body .product-choice--color{
  position:relative;
  flex:0 1 92px;
  width:92px;
  min-width:92px;
}
.product-page-body .product-choice--color .product-choice__image{
  aspect-ratio:1;
  border-bottom:1px solid #e7ebef;
}
.product-page-body .product-choice--color .product-choice__image img{
  object-fit:contain;
  padding:.18rem;
}
.product-page-body .product-choice--color .product-choice__footer{
  min-height:auto;
  padding:.28rem .32rem .34rem;
  align-items:flex-start;
}
.product-page-body .product-choice--color .product-choice__footer strong{
  font-size:.7rem;
  line-height:1.15;
}
.product-page-body .product-choice--color .product-choice__footer small{
  font-size:.62rem;
  line-height:1.1;
}
.product-page-body .product-choice--color .product-choice__check{
  position:absolute;
  top:5px;
  inset-inline-start:5px;
  width:15px;
  height:15px;
  z-index:2;
  font-size:.58rem;
}
.product-page-body .product-gallery{
  grid-template-columns:62px minmax(0,1fr);
}
.product-page-body .product-gallery__thumbs{
  gap:.35rem;
  max-height:none;
  overflow:visible;
}
.product-page-body .product-thumb{
  width:56px;
  height:56px;
  flex:0 0 56px;
  padding:2px;
}
.product-page-body .product-thumb img{
  width:100%;
  height:100%;
  object-fit:contain;
  padding:1px;
  background:#fff;
}
@media (max-width:1200px){
  .product-page-body .product-size-grid.product-option-grid--colors{
    flex-wrap:wrap;
    justify-content:flex-start;
    overflow:visible;
  }
  .product-page-body .product-choice--color{
    flex:0 0 86px;
    width:86px;
    min-width:86px;
  }
  .product-page-body .product-gallery__thumbs{
    flex-direction:row;
    max-height:none;
    overflow:visible;
    padding-bottom:.15rem;
    flex-wrap:wrap;
  }
  .product-page-body .product-thumb{
    width:54px;
    height:54px;
    flex-basis:54px;
  }
}
@media (max-width:700px){
  .product-page-body .product-choice--color{
    flex-basis:80px;
    width:80px;
    min-width:80px;
  }
  .product-page-body .product-choice--color .product-choice__footer{
    padding:.24rem .24rem .3rem;
  }
  .product-page-body .product-choice--color .product-choice__footer strong{
    font-size:.66rem;
  }
  .product-page-body .product-choice--color .product-choice__footer small{
    font-size:.58rem;
  }
  .product-page-body .product-gallery__thumbs{
    gap:.3rem;
  }
  .product-page-body .product-thumb{
    width:50px;
    height:50px;
    flex-basis:50px;
  }
}


/* Watch v6: slightly larger cards and gallery thumbs, while still fitting cleanly */
.product-page-body .product-size-grid.product-option-grid--colors{
  gap:.32rem!important;
  justify-content:flex-start!important;
  overflow:visible!important;
  flex-wrap:nowrap!important;
}
.product-page-body .product-choice--color{
  flex:0 0 86px!important;
  width:86px!important;
  min-width:86px!important;
  max-width:86px!important;
  border-radius:10px!important;
}
.product-page-body .product-choice--color .product-choice__image{
  width:84px!important;
  height:84px!important;
  aspect-ratio:auto!important;
}
.product-page-body .product-choice--color .product-choice__image img{
  padding:.1rem!important;
}
.product-page-body .product-choice--color .product-choice__footer{
  padding:.24rem .26rem .28rem!important;
  min-height:42px!important;
}
.product-page-body .product-choice--color .product-choice__footer strong{
  font-size:.66rem!important;
  line-height:1.1!important;
}
.product-page-body .product-choice--color .product-choice__footer small{
  font-size:.56rem!important;
  line-height:1.08!important;
}
.product-page-body .product-choice--color .product-choice__check{
  top:4px!important;
  inset-inline-start:4px!important;
  width:14px!important;
  height:14px!important;
  font-size:.52rem!important;
}
.product-page-body .product-gallery{
  grid-template-columns:68px minmax(0,1fr)!important;
}
.product-page-body .product-gallery__thumbs{
  gap:.38rem!important;
}
.product-page-body .product-thumb{
  width:62px!important;
  height:62px!important;
  flex:0 0 62px!important;
  padding:2px!important;
}
.product-page-body .product-thumb img{
  padding:1px!important;
}
@media(max-width:700px){
  .product-page-body .product-size-grid.product-option-grid--colors{
    gap:.24rem!important;
    flex-wrap:wrap!important;
  }
  .product-page-body .product-choice--color{
    flex-basis:78px!important;
    width:78px!important;
    min-width:78px!important;
    max-width:78px!important;
  }
  .product-page-body .product-choice--color .product-choice__image{
    width:76px!important;
    height:76px!important;
  }
  .product-page-body .product-gallery{
    grid-template-columns:64px minmax(0,1fr)!important;
  }
  .product-page-body .product-thumb{
    width:58px!important;
    height:58px!important;
    flex-basis:58px!important;
  }
}


/* Product 79: fill the small color and gallery image boxes more fully without changing source images. */
.product-page-body[data-product-slug="product-79"] .product-choice--color .product-choice__image,
.product-page-body[data-product-slug="product-79"] .product-thumb{
  overflow:hidden!important;
}
.product-page-body[data-product-slug="product-79"] .product-choice--color .product-choice__image img,
.product-page-body[data-product-slug="product-79"] .product-thumb img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  padding:0!important;
  transform:scale(1.58);
  transform-origin:center;
}

/* Product 79 thumbnail sizing fix: use the available selector width and a wider gallery rail. */
body[data-product-slug="product-79"] .product-size-grid.product-option-grid--colors{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:.5rem!important;
  width:100%!important;
  overflow:visible!important;
}
body[data-product-slug="product-79"] .product-choice--color{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  flex:none!important;
}
body[data-product-slug="product-79"] .product-choice--color .product-choice__image{
  width:100%!important;
  height:auto!important;
  aspect-ratio:1/1!important;
}
body[data-product-slug="product-79"] .product-choice--color .product-choice__footer strong{
  font-size:.78rem!important;
}
body[data-product-slug="product-79"] .product-gallery{
  grid-template-columns:86px minmax(0,1fr)!important;
  gap:.75rem!important;
}
body[data-product-slug="product-79"] .product-gallery__thumbs{
  width:86px!important;
  gap:.5rem!important;
}
body[data-product-slug="product-79"] .product-thumb{
  width:78px!important;
  height:78px!important;
  flex:0 0 78px!important;
  padding:0!important;
}
body[data-product-slug="product-79"] .product-thumb img{
  width:100%!important;
  height:100%!important;
  padding:0!important;
}
@media(max-width:700px){
  body[data-product-slug="product-79"] .product-size-grid.product-option-grid--colors{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  body[data-product-slug="product-79"] .product-gallery{
    grid-template-columns:1fr!important;
  }
  body[data-product-slug="product-79"] .product-gallery__thumbs{
    width:100%!important;
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:wrap!important;
  }
  body[data-product-slug="product-79"] .product-thumb{
    width:72px!important;
    height:72px!important;
    flex-basis:72px!important;
  }
}

/* Product 80: make the watch previews fill the color-choice image area without changing source images. */
body[data-product-slug="product-80"] .product-choice--color .product-choice__image{
  overflow:hidden!important;
}
body[data-product-slug="product-80"] .product-choice--color .product-choice__image img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  padding:0!important;
  transform:scale(1.95)!important;
  transform-origin:center!important;
}

/* Gallery fallback: products with no visible thumbnail rail must use the full gallery width. */
.product-page-body .product-gallery:has(.product-gallery__thumbs[hidden]){
  grid-template-columns:1fr!important;
}
.product-page-body .product-gallery:has(.product-gallery__thumbs[hidden]) .product-gallery__stage{
  grid-column:1!important;
}

/* Product gallery cleanup: hide the dark helper badge on every product page. */
.product-page-body .product-gallery__hint{
  display:none!important;
}

/* Product gallery video support */
.product-gallery__stage>video{
  position:relative;
  z-index:1;
  width:100%;
  height:100%;
  object-fit:contain;
  background:#fff;
}
.product-page-body .product-gallery__stage>video{
  padding:1.35rem;
  background:transparent;
}
.product-thumb--video{
  position:relative;
  display:block;
  overflow:hidden;
  padding:0!important;
  color:#fff;
}
.product-page-body .product-thumb--video .product-thumb__video-preview{
  display:block;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  padding:0!important;
  background:#111!important;
  transform:none!important;
}
.product-thumb__video-icon{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  font-size:1.25rem;
  line-height:1;
  color:#fff;
  background:rgba(10,20,30,.18);
  text-shadow:0 2px 8px rgba(0,0,0,.75);
  pointer-events:none;
}

/* Product 89 collection-card hover: keep the full branded hover artwork inside the square card. */
.prod__img--hover[src*="product-89/product-89-2.png"]{
  object-fit:contain!important;
  object-position:center!important;
  background:#111!important;
  transform:none!important;
}
@media(hover:hover) and (pointer:fine){
  .prod:hover .prod__img--hover[src*="product-89/product-89-2.png"]{
    transform:none!important;
  }
}

/* Ice Supra collection-card hover: keep the full branded hover artwork visible. */
.prod__img--hover[src*="product-90/product-90-2.png"],
.prod__img--hover[src*="product-91/product-91-2.png"],
.prod__img--hover[src*="product-92/product-92-2.png"],
.prod__img--hover[src*="product-93/product-93-2.png"]{
  object-fit:contain!important;
  object-position:center!important;
  background:#fff!important;
  transform:none!important;
}
@media(hover:hover) and (pointer:fine){
  .prod:hover .prod__img--hover[src*="product-90/product-90-2.png"],
  .prod:hover .prod__img--hover[src*="product-91/product-91-2.png"],
  .prod:hover .prod__img--hover[src*="product-92/product-92-2.png"],
  .prod:hover .prod__img--hover[src*="product-93/product-93-2.png"]{
    transform:none!important;
  }
}


/* Category-aware catalog filters. The navbar chooses the collection; this sidebar narrows products inside it. */
.shop__filter-label{font-size:1rem;font-weight:700;color:var(--ink);margin-bottom:1rem}
.shop__sidebar{max-height:calc(100vh - 150px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-inline-end:.35rem}
.filters{display:flex;flex-direction:column;align-items:stretch;gap:1.1rem}
.catalog-filter-section{padding-top:.9rem;border-top:1px solid var(--line)}
.catalog-filter-section:first-of-type{padding-top:0;border-top:0}
.catalog-filter-title{font:700 .92rem/1.4 var(--sans);margin:0 0 .65rem;color:var(--ink)}
.catalog-filter-title--toggle{appearance:none;width:100%;display:flex;align-items:center;justify-content:space-between;gap:.7rem;border:0;background:transparent;padding:0;margin:0 0 .65rem;color:var(--ink);text-align:start;cursor:pointer}
.catalog-filter-title__icon{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#f0f3f5;color:#60707c;font:600 1rem/1 var(--sans);flex:0 0 auto}
.catalog-filter-options{display:flex;flex-direction:column;gap:.25rem}
.catalog-filter-options[hidden]{display:none!important}
.catalog-filter-options--colors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem}
.catalog-filter-options--colors .catalog-filter-option{min-height:38px;padding:.35rem .35rem;gap:.3rem;font-size:.76rem}
.catalog-filter-options--colors .catalog-filter-swatch{width:16px;height:16px}
.catalog-filter-options--colors .catalog-filter-option__count{min-width:1.25rem;padding:.08rem .25rem;font-size:.66rem}
.catalog-filter-option{appearance:none;width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.6rem;min-height:42px;padding:.48rem .5rem;border:1px solid transparent;background:transparent;color:#5f6b75;text-align:start;font:500 .84rem/1.35 var(--sans);cursor:pointer;transition:background .18s,border-color .18s,color .18s}
.catalog-filter-option:hover{background:#f5f7f9;color:var(--ink)}
.catalog-filter-option.is-active{background:#eef3f6;border-color:#9cadba;color:var(--navy)}
.catalog-filter-option--price{grid-template-columns:minmax(0,1fr) auto}
.catalog-price-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}
.catalog-price-field{display:flex;flex-direction:column;gap:.35rem;min-width:0}
.catalog-price-label{font:600 .72rem/1.3 var(--sans);color:#6d7983}
.catalog-price-input{width:100%;min-width:0;height:40px;border:1px solid #cfd7dd;border-radius:10px;background:#fff;color:var(--ink);padding:.45rem .55rem;font:600 .86rem/1 var(--sans);outline:none;text-align:center;font-variant-numeric:tabular-nums}
.catalog-price-input:focus{border-color:#7f96a6;box-shadow:0 0 0 3px rgba(127,150,166,.12)}
.catalog-price-input::placeholder{color:#a3adb5;font-weight:500}
.catalog-filter-swatch{width:18px;height:18px;border-radius:50%;border:1px solid #aeb8c0;background:var(--filter-swatch);box-shadow:inset 0 0 0 2px rgba(255,255,255,.55)}
.catalog-filter-option__label{min-width:0}
.catalog-filter-option__count{min-width:1.5rem;text-align:center;padding:.12rem .35rem;background:#edf1f4;border-radius:999px;color:#6d7983;font-size:.72rem;font-variant-numeric:tabular-nums}
.catalog-filter-option.is-active .catalog-filter-option__count{background:#fff;color:var(--navy)}
.catalog-filter-clear{appearance:none;width:100%;min-height:38px;border:0;border-bottom:1px solid var(--navy);background:transparent;color:var(--navy);font:600 .8rem/1.2 var(--sans);text-align:start;padding:.4rem .2rem;cursor:pointer}
.catalog-filter-clear:hover{background:#f5f7f9}
.catalog-filter-empty{font-size:.82rem;line-height:1.6;color:var(--muted)}

@media(max-width:980px){
  .shop__sidebar{max-height:none;overflow:visible;overscroll-behavior:auto;padding:1rem;border:1px solid var(--line);background:#fff}
  .shop__filter-label{display:block;margin-bottom:.9rem}
  .filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;overflow:visible;padding-bottom:0}
  .catalog-filter-clear{grid-column:1/-1;width:auto}
  .catalog-filter-section{padding:0;border-top:0;min-width:0}
  .catalog-filter-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.3rem}
  .catalog-filter-options--colors{grid-template-columns:repeat(2,minmax(0,1fr))}
  .catalog-filter-option{min-width:0;padding:.45rem .5rem}
}
@media(max-width:600px){
  .filters{grid-template-columns:1fr}
  .catalog-filter-options{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* ===== Mobile storefront polish 2026-09-13 ===== */
@media(max-width:700px){
  html,body{max-width:100%;overflow-x:hidden}
  :root{--gut:.9rem}

  /* Home: remove the old hero completely on phones and get to shopping faster. */
  .home-page .hero.hero--full{display:none!important}
  .home-page #shop{padding-top:1.1rem}
  .home-page .shop__head{padding-bottom:1rem;margin-bottom:1rem}
  .home-page .shop__head .eyebrow{margin-bottom:.35rem}
  .home-page .shop__head h2{font-size:2.15rem;line-height:1.1}
  .home-page .shop__head .lede{margin-top:.55rem;font-size:.86rem;line-height:1.65}
  .home-page .glasses-collection-banner,
  .home-page .watches-collection-banner,
  .home-page .other-collections-banner,
  .home-page .greeting-custom-collection-banner,
  .home-page .gift-boxes-collection-banner{margin-bottom:1.1rem;overflow:hidden;border-radius:10px}

  /* Keep every main collection visible on the home navbar instead of hiding it in a drawer. */
  .home-page .nav{position:sticky;top:0}
  .home-page .nav__inner{
    grid-template-columns:1fr auto 1fr;
    grid-template-rows:62px auto;
    gap:0;
    min-height:0;
    padding-inline:var(--gut);
  }
  .home-page .brand{grid-column:2;grid-row:1;justify-self:center;padding:.35rem 0}
  .home-page .brand__logo img{width:126px!important;height:auto!important;max-height:52px;object-fit:contain}
  .home-page .nav__actions{grid-column:3;grid-row:1;justify-self:end;gap:0}
  .home-page .nav__burger{display:none!important}
  .home-page .nav__close,.home-page .navscrim{display:none!important}
  .home-page .nav__menu{
    grid-column:1/-1;
    grid-row:2;
    position:static!important;
    inset:auto!important;
    transform:none!important;
    visibility:visible!important;
    width:calc(100% + (var(--gut) * 2));
    margin-inline:calc(var(--gut) * -1);
    padding:.25rem .45rem .55rem;
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr));
    align-items:stretch;
    justify-items:stretch;
    gap:.18rem .12rem;
    overflow:visible;
    background:#fff;
    border-top:1px solid #edf0f2;
    box-shadow:0 5px 14px rgba(20,35,51,.04);
  }
  .home-page .nav__menu>a,
  .home-page .nav__item>a{
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:0;
    min-height:34px;
    padding:.35rem .2rem!important;
    border:0!important;
    font:700 .69rem/1.15 var(--sans)!important;
    text-align:center;
    white-space:normal!important;
    border-radius:7px;
  }
  .home-page .nav__menu>a.is-active,
  .home-page .nav__item>a.is-active{background:#f0f3f5;color:var(--navy)}
  .home-page .nav__item{position:relative;display:block!important;width:auto;border:0!important;align-self:stretch}
  .home-page .nav__submenu{
    position:absolute!important;
    top:calc(100% + 4px)!important;
    inset-inline-start:50%!important;
    z-index:90;
    width:172px;
    min-width:172px!important;
    margin:0!important;
    padding:.35rem!important;
    background:#fff;
    border:1px solid var(--line)!important;
    box-shadow:0 16px 34px rgba(20,35,51,.16)!important;
    transform:translateX(-50%)!important;
    border-radius:10px;
  }
  html[dir=rtl] .home-page .nav__submenu{transform:translateX(50%)!important}
  .home-page .nav__submenu:not(.is-open){display:none!important}
  .home-page .nav__submenu.is-open{display:grid!important}
  .home-page .nav__submenu a{justify-content:flex-start!important;min-height:36px;padding:.55rem .65rem!important;font-size:.78rem!important;text-align:start!important;background:#fff}
  .home-page .nav__submenu a:hover,.home-page .nav__submenu a.is-active{background:#f4f6f8}

  /* Product cards: equal-height content slots + lightweight transparent image arrows. */
  .home-page .prod__mobile-arrow{
    display:grid!important;
    place-items:center;
    width:28px!important;
    height:42px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:rgba(20,35,51,.72)!important;
    font:400 30px/1 Arial,sans-serif!important;
    text-shadow:0 0 4px rgba(255,255,255,.98),0 1px 6px rgba(255,255,255,.9);
    opacity:.78;
  }
  .home-page .prod__mobile-arrow--prev{left:1px!important}
  .home-page .prod__mobile-arrow--next{right:1px!important}
  .home-page .prod__mobile-arrow:active{opacity:1;background:transparent!important}
  .home-page .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.55rem .72rem;align-items:stretch}
  .home-page .prod{height:100%}
  .home-page .prod__media{border-radius:10px;background:#f6f7f8;touch-action:pan-y}
  .home-page .prod__body{
    display:grid;
    grid-template-rows:2.45rem 2.2rem 1.45rem 2.7rem 72px;
    padding-top:.65rem;
    gap:.32rem;
    min-height:0;
  }
  .home-page .prod__name{grid-row:1;font-size:.86rem;line-height:1.4;min-height:0;max-height:2.45rem}
  .home-page .prod__sub{grid-row:2;font-size:.74rem;line-height:1.45;min-height:0;max-height:2.2rem}
  .home-page .prod__variant-hint{grid-row:3;min-height:1.45rem;max-height:1.45rem;overflow:hidden;flex-wrap:nowrap}
  .home-page .prod__variant-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .home-page .prod__price{grid-row:4;align-self:center;font-size:.92rem;gap:.3rem .45rem;max-height:2.7rem;overflow:hidden}
  .home-page .prod__actions{grid-row:5;align-self:stretch;padding-top:.25rem;min-height:72px}
  .home-page .prod__actions .btn{min-height:40px;font-size:.76rem;padding:.5rem .25rem}
  .home-page .prod__actions .btn--ghost{min-height:24px;padding:.1rem .25rem}
  .home-page .shop__sidebar{margin-bottom:1rem;padding:.8rem;border-radius:12px}
  .home-page .filters{gap:.75rem}
  .home-page .catalog-filter-options--colors{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-page .catalog-filter-option{min-height:38px}

  /* Product page: gallery first, thumbnails below, compact cards and no sideways overflow. */
  .product-page-body .nav__inner{min-height:66px}
  .product-page-body .brand{padding-block:.35rem}
  .product-page-body .brand__logo img{width:126px!important;height:auto!important;max-height:52px;object-fit:contain}
  .product-page-body .product-page{padding-block:.55rem 3rem}
  .product-page-body .product-page>.container{padding-inline:.72rem}
  .product-page-body .product-breadcrumb{margin-bottom:.65rem;padding:.55rem .7rem;font-size:.68rem;line-height:1.35;max-width:100%;overflow:hidden}
  .product-page-body .product-breadcrumb span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .product-page-body .product-detail{gap:.9rem}
  .product-page-body .product-gallery{
    grid-template-columns:1fr!important;
    gap:.55rem!important;
    width:100%!important;
    padding:.5rem!important;
    border-radius:16px!important;
    position:static!important;
  }
  .product-page-body .product-gallery__stage{
    grid-column:1!important;
    grid-row:1!important;
    width:100%;
    border-radius:13px!important;
  }
  .product-page-body .product-gallery__stage>img{padding:.35rem!important}
  .product-page-body .product-gallery__thumbs{
    grid-column:1!important;
    grid-row:2!important;
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    width:100%!important;
    max-width:100%!important;
    gap:.4rem!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    padding:.08rem .05rem .32rem!important;
  }
  .product-page-body .product-gallery__thumbs::-webkit-scrollbar{display:none}
  .product-page-body .product-thumb{
    width:58px!important;
    height:58px!important;
    flex:0 0 58px!important;
    border-radius:11px!important;
    scroll-snap-align:start;
  }
  .product-page-body .product-gallery__selection-summary{grid-column:1!important;grid-row:3!important;grid-template-columns:1fr!important;gap:.35rem!important}
  .product-page-body .product-gallery__selection-summary>div{padding:.6rem .7rem!important;border-radius:12px!important}

  .product-page-body .product-info{padding:.9rem!important;border-radius:16px!important;overflow:visible}
  .product-page-body .product-info__topline{gap:.4rem;flex-wrap:wrap}
  .product-page-body .product-info__title{font-size:clamp(1.7rem,8vw,2.25rem)!important;line-height:1.08;max-width:none;margin-top:.2rem}
  .product-page-body .product-info__subtitle{font-size:.84rem;line-height:1.65;margin-top:.65rem}
  .product-page-body .product-info__price{margin-top:.85rem;margin-bottom:.8rem;padding:.75rem .8rem!important;border-radius:14px!important;gap:.45rem .65rem}
  .product-page-body .product-info__price strong{font-size:1.45rem!important}
  .product-page-body .product-delivery{margin:0 0 .85rem;padding:.7rem .75rem!important;border-radius:13px!important;font-size:.76rem;line-height:1.45}
  .product-page-body .product-review-carousel{padding:.8rem!important;margin-bottom:.9rem;border-radius:16px!important}
  .product-page-body .product-options{padding:.6rem!important;gap:.65rem!important;border-radius:16px!important}
  .product-page-body .product-option-block{padding:.65rem!important;border-radius:14px!important}
  .product-page-body .product-option-head{gap:.4rem;align-items:flex-start}
  .product-page-body .product-option-head h2{font-size:.9rem!important;line-height:1.3}

  /* Image-based color selectors no longer get squeezed or cut off on narrow phones. */
  .product-page-body .product-size-grid.product-option-grid--colors{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:.42rem!important;
    width:100%!important;
    overflow:visible!important;
  }
  .product-page-body .product-choice--color{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    flex:none!important;
    border-radius:9px!important;
  }
  .product-page-body .product-choice--color .product-choice__image{
    width:100%!important;
    height:auto!important;
    aspect-ratio:1!important;
  }
  .product-page-body .product-choice--color .product-choice__footer{min-height:38px!important;padding:.25rem .22rem!important}
  .product-page-body .product-choice--color .product-choice__footer strong{font-size:.63rem!important;line-height:1.15!important}
  .product-page-body .product-choice--color .product-choice__footer small{font-size:.54rem!important}
  .product-page-body .product-option-grid--necklaces{grid-template-columns:repeat(3,minmax(0,1fr))}
  .product-page-body .product-option-grid--boxes{grid-template-columns:repeat(2,minmax(0,1fr))}
  .product-page-body .product-purchase{padding:.55rem!important;gap:.45rem!important;border-radius:14px!important}
  .product-page-body .product-add{min-height:48px;font-size:.84rem}
  .product-page-body .product-assurance{margin-block:.65rem 1rem;gap:.45rem}
  .product-page-body .product-assurance>div{padding:.65rem .75rem;border-radius:12px!important;font-size:.76rem}
  .product-page-body .product-details-accordion{margin-top:.9rem;border-radius:14px}
  .product-page-body .product-details-summary{min-height:50px;padding:.7rem .8rem;font-size:.88rem}
  .product-page-body .product-after{margin-top:1.25rem;padding:1.15rem!important;border-radius:16px!important}
  .product-page-body .product-after h2{font-size:1.55rem;line-height:1.2}
  .product-page-body .product-after p{font-size:.82rem;line-height:1.65}

  /* Shared overlays / checkout: keep dialogs inside the viewport. */
  .ov--center{padding:.35rem}
  .ov--center .ov__panel{width:100%;max-width:100%;border-radius:14px;overflow:hidden}
  .co__form{padding:2.6rem .9rem 1rem!important}
  .co__side{padding:1rem .9rem!important}
  .drawer__head{padding:.9rem 1rem}
  .drawer__body,.drawer__foot{padding-inline:1rem}
  .foot__grid{gap:1.45rem 1rem}
}

@media(max-width:430px){
  .home-page .nav__menu>a,
  .home-page .nav__item>a{font-size:.64rem!important;padding-inline:.08rem!important}
  .home-page .grid{gap:1.35rem .6rem}
  .product-page-body .product-size-grid.product-option-grid--colors{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .product-page-body .product-option-grid--necklaces{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:370px){
  .home-page .nav__menu{grid-template-columns:repeat(4,minmax(0,1fr))}
  .home-page .nav__menu>a,.home-page .nav__item>a{font-size:.63rem!important}
  .product-page-body .product-size-grid.product-option-grid--colors{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

@media (max-width:980px){
  .shop__filter-toggle{min-height:48px;font-size:1rem;padding:.65rem .1rem .75rem}
}

/* Collapsed catalog filters: do not reserve an empty sidebar column. */
.shop__layout:has(.filters[hidden]){
  grid-template-columns:minmax(0,1fr);
  gap:1rem;
}
.shop__layout:has(.filters[hidden]) .shop__sidebar{
  position:static;
  top:auto;
  max-height:none;
  overflow:visible;
  width:100%;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:flex-start;
}
.shop__layout:has(.filters[hidden]) .shop__filter-toggle{
  width:auto;
  min-width:94px;
  min-height:40px;
  justify-content:center;
  gap:.25rem;
  padding:.45rem .7rem;
  border:1px solid var(--line);
  background:#fff;
}

@media(max-width:980px){
  .shop__layout:has(.filters[hidden]) .shop__sidebar{
    margin-bottom:.85rem;
    padding:.5rem .65rem;
    min-height:52px;
    border:1px solid var(--line);
    border-radius:12px;
    background:#fff;
  }
  .shop__layout:has(.filters[hidden]) .shop__filter-toggle{
    min-width:88px;
    min-height:38px;
    padding:.4rem .6rem;
    border:0;
    border-radius:8px;
  }
}

/* Wide-desktop filter visibility fix: keep the sidebar above the grid and give filter controls enough room. */
.shop__sidebar{z-index:8;background:#fff}
.shop__filter-toggle{position:relative;z-index:1}
@media(min-width:1400px){
  .shop__layout{grid-template-columns:280px minmax(0,1fr);gap:2.4rem}
  .shop__sidebar{padding-inline-end:.55rem}
  .catalog-price-inputs{grid-template-columns:1fr}
}
@media(min-width:1700px){
  .shop__layout{grid-template-columns:300px minmax(0,1fr)}
}
.shop__layout:has(.filters[hidden]) .shop__sidebar{z-index:12}

/* Wide-desktop catalog filters: keep them permanently open so the toggle never overlaps the products. */
@media(min-width:1400px){
  .shop__layout{grid-template-columns:300px minmax(0,1fr);gap:2.4rem}
  .shop__sidebar{position:sticky;top:130px;align-self:start;max-height:calc(100vh - 150px);overflow-y:auto;padding-inline-end:.55rem;background:#fff;z-index:10}
  .shop__filter-label{display:block;margin-bottom:.9rem}
  .shop__filter-toggle{display:none!important}
  .filters,
  .filters[hidden]{display:flex!important;flex-direction:column;align-items:stretch;gap:1.1rem;padding-top:0;overflow:visible}
}

/* ===== Mobile home header & collection banner order refresh 2026-09-13 ===== */
@media(max-width:700px){
  /* Put the collection banner above the collection title/copy. */
  .home-page .shop>.container{display:flex;flex-direction:column}
  .home-page .glasses-collection-banner,
  .home-page .watches-collection-banner,
  .home-page .other-collections-banner,
  .home-page .greeting-custom-collection-banner,
  .home-page .gift-boxes-collection-banner{order:1}
  .home-page .shop__head{order:2}
  .home-page .shop__layout{order:3}

  /* Restore a compact mobile header with burger navigation instead of showing every category inline. */
  .home-page .nav{position:sticky;top:0}
  .home-page .nav__inner{
    grid-template-columns:auto auto 1fr auto;
    grid-template-rows:64px;
    gap:.2rem;
    min-height:64px;
    padding-inline:.75rem;
  }
  .home-page .nav__burger{
    display:inline-flex!important;
    grid-column:1;
    grid-row:1;
    justify-self:start;
    align-self:center;
  }
  .home-page .nav__actions{
    grid-column:2;
    grid-row:1;
    justify-self:start;
    align-self:center;
    gap:.15rem;
  }
  .home-page .brand{
    grid-column:4;
    grid-row:1;
    justify-self:end;
    align-self:center;
    padding:.2rem 0;
  }
  .home-page .brand__logo img{
    width:126px!important;
    max-width:44vw;
    height:auto!important;
    max-height:54px;
    object-fit:contain;
  }
  .home-page .nav__close{display:block!important}
  .home-page .navscrim{display:block!important}

  .home-page .navscrim[hidden]{display:none!important}
  .home-page .navscrim:not([hidden]){display:block!important}
  .home-page .nav__menu{
    grid-column:auto;
    grid-row:auto;
    position:fixed!important;
    top:0;
    bottom:0;
    inset-inline-start:0;
    inset-inline-end:auto;
    display:flex!important;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    width:min(340px,85vw);
    margin:0!important;
    padding:5rem 1.2rem 2rem;
    background:#fff;
    z-index:80;
    overflow-y:auto;
    transform:translateX(calc(var(--slide)*105%))!important;
    transition:transform .25s ease;
    visibility:hidden!important;
    border-top:0;
    box-shadow:0 12px 32px rgba(20,35,51,.16);
  }
  .home-page .nav__menu.is-open{
    transform:translateX(0)!important;
    visibility:visible!important;
  }
  .home-page .nav__menu>a,
  .home-page .nav__item>a{
    display:block;
    min-height:0;
    padding:1rem 0!important;
    border-bottom:1px solid var(--line)!important;
    border-radius:0;
    font:500 1.28rem/1.3 var(--serif)!important;
    text-align:right;
    white-space:normal!important;
    background:transparent!important;
  }
  .home-page .nav__menu>a::after,
  .home-page .nav__item>a::after{display:none!important}
  .home-page .nav__menu>a.is-active,
  .home-page .nav__item>a.is-active{
    color:var(--navy);
    font-weight:700;
  }
  .home-page .nav__item{display:block!important;width:100%;border:0!important;align-self:auto}
  .home-page .nav__submenu{
    position:static!important;
    top:auto!important;
    inset-inline-start:auto!important;
    width:auto;
    min-width:0!important;
    display:none;
    margin:0;
    padding:0 .4rem .8rem;
    border:0;
    box-shadow:none;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none!important;
    background:transparent;
  }
  .home-page .nav__submenu.is-open{display:grid}
  .home-page .nav__submenu a{
    font:500 1rem/1.3 var(--sans)!important;
    padding:.72rem .8rem!important;
    border:0!important;
    background:#f7f9fa!important;
    border-radius:8px;
  }
  .home-page .nav__submenu a+a{margin-top:2px}
  .home-page .nav__submenu-all{font-weight:700}
}

@media(max-width:430px){
  .home-page .nav__inner{grid-template-columns:auto auto 1fr auto;padding-inline:.55rem}
  .home-page .brand__logo img{width:118px!important;max-width:42vw}
  .home-page .nav__menu{width:min(310px,86vw)}
}


/* Mobile categories drawer: always present the first category at the top. */
@media(max-width:700px){
  .home-page .nav__menu{
    overscroll-behavior:contain;
    scroll-behavior:auto;
  }
}


/* Mobile drawer scroll reset hardening: never restore a previous internal position. */
@media(max-width:700px){
  .home-page .nav__menu{
    overflow-anchor:none!important;
    scroll-behavior:auto!important;
    scroll-padding-top:0!important;
    overscroll-behavior:contain;
  }
}

/* ===== Mobile drawer hard layout fix: right side, full list visible ===== */
@media(max-width:700px){
  .home-page .nav__menu{
    inset:0 0 0 auto!important;
    right:0!important;
    left:auto!important;
    top:0!important;
    bottom:0!important;
    width:min(360px,88vw)!important;
    height:100dvh!important;
    max-height:100dvh!important;
    box-sizing:border-box!important;
    margin:0!important;
    padding:3.7rem 1rem .8rem!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    transform:translateX(105%)!important;
    overscroll-behavior:contain!important;
    scrollbar-gutter:stable;
  }
  .home-page .nav__menu.is-open{
    transform:translateX(0)!important;
  }
  .home-page .nav__close{
    position:absolute!important;
    top:.75rem!important;
    right:.8rem!important;
    left:auto!important;
    width:38px!important;
    height:38px!important;
    display:grid!important;
    place-items:center!important;
    z-index:2;
  }
  .home-page .nav__menu>a,
  .home-page .nav__item>a{
    padding:.72rem .2rem!important;
    min-height:44px!important;
    box-sizing:border-box!important;
    font-size:1.08rem!important;
    line-height:1.2!important;
  }
  .home-page .nav__item{flex:0 0 auto!important}
  .home-page .nav__submenu a{
    padding:.58rem .7rem!important;
    min-height:38px!important;
    font-size:.94rem!important;
  }
  .home-page .navscrim{inset:0!important}
}

@media(max-width:430px){
  .home-page .nav__menu{
    width:min(330px,90vw)!important;
    padding:3.5rem .85rem .65rem!important;
  }
  .home-page .nav__menu>a,
  .home-page .nav__item>a{
    padding:.64rem .15rem!important;
    min-height:41px!important;
    font-size:1.02rem!important;
  }
}

/* ===== Mobile drawer top alignment + slightly larger category labels ===== */
@media(max-width:700px){
  .home-page .nav__menu{
    justify-content:flex-start!important;
    align-items:stretch!important;
    padding-top:3rem!important;
  }
  .home-page .nav__menu>a,
  .home-page .nav__item>a{
    font-size:1.16rem!important;
    line-height:1.22!important;
    padding:.76rem .2rem!important;
    min-height:46px!important;
  }
}
@media(max-width:430px){
  .home-page .nav__menu{
    padding-top:2.85rem!important;
  }
  .home-page .nav__menu>a,
  .home-page .nav__item>a{
    font-size:1.1rem!important;
    padding:.7rem .15rem!important;
    min-height:43px!important;
  }
}


/* ===== Mobile submenu fix: open inline inside the right drawer, fully visible ===== */
@media(max-width:700px){
  .home-page .nav__item--has-submenu{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    width:100%!important;
    position:static!important;
  }
  .home-page .nav__item--has-submenu > a{
    display:block!important;
    width:100%!important;
    position:relative!important;
    z-index:1!important;
  }
  .home-page .nav__submenu,
  html[dir=rtl] .home-page .nav__submenu{
    position:relative!important;
    inset:auto!important;
    top:auto!important;
    right:auto!important;
    left:auto!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:.25rem 0 .4rem!important;
    padding:.1rem 0 .45rem!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:none!important;
    overflow:visible!important;
    gap:.35rem!important;
    grid-template-columns:1fr!important;
  }
  .home-page .nav__submenu:not(.is-open){
    display:none!important;
  }
  .home-page .nav__submenu.is-open{
    display:flex!important;
    flex-direction:column!important;
  }
  .home-page .nav__submenu a,
  .home-page .nav__submenu a:hover,
  .home-page .nav__submenu a.is-active{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    margin:0!important;
    padding:.72rem .9rem!important;
    border:0!important;
    border-radius:12px!important;
    background:#f6f8fa!important;
    color:var(--navy)!important;
    text-align:right!important;
    white-space:normal!important;
    line-height:1.35!important;
    font:500 .98rem/1.35 var(--sans)!important;
    opacity:1!important;
    visibility:visible!important;
    box-shadow:none!important;
  }
  .home-page .nav__submenu a + a{
    margin-top:0!important;
  }
  .home-page .nav__submenu-all{
    font-weight:700!important;
  }
}


/* ===== Search + favorites header and PDP likes 2026-09-14 ===== */
.nav__mobile-search{display:none}
.nav__desktop-search,.favoritesbtn{position:relative;flex:0 0 auto}
.favoritesbtn__n{
  position:absolute;
  top:1px;
  inset-inline-end:0;
  min-width:17px;
  height:17px;
  padding:0 4px;
  border-radius:999px;
  background:#fff;
  color:var(--navy);
  border:1px solid #d9dfe5;
  font:700 10px/15px var(--sans);
  text-align:center;
  pointer-events:none;
}

.product-favorite-btn{
  margin-inline-start:auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.45rem;
  min-height:38px;
  padding:.45rem .72rem;
  border:1px solid #dfe4e9;
  border-radius:999px;
  background:#fff;
  color:#253649;
  font:700 .78rem/1 var(--sans);
  cursor:pointer;
  transition:border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease;
}
.product-favorite-btn:hover{border-color:#bfc9d2;background:#f8fafb;transform:translateY(-1px)}
.product-favorite-btn svg{width:19px;height:19px;fill:transparent;transition:fill .18s ease,transform .18s ease}
.product-favorite-btn.is-active{border-color:#e9b8bf;background:#fff5f6;color:#b84455}
.product-favorite-btn.is-active svg{fill:#d95a6b;stroke:#d95a6b;transform:scale(1.04)}

.site-overlay[hidden]{display:none!important}
.site-overlay{position:fixed;inset:0;z-index:200;display:grid;place-items:start center;padding:clamp(4.5rem,10vh,7.5rem) 1rem 1rem}
.site-overlay__backdrop{position:absolute;inset:0;border:0;background:rgba(12,25,38,.48);backdrop-filter:blur(2px);cursor:default}
.site-overlay__panel{position:relative;z-index:1;width:min(720px,calc(100vw - 2rem));max-height:min(720px,calc(100dvh - 6rem));overflow:auto;border:1px solid #e1e6eb;border-radius:22px;background:#fff;box-shadow:0 26px 80px rgba(8,20,31,.22);padding:1.15rem}
.site-overlay__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.1rem .1rem .9rem;border-bottom:1px solid #edf0f2}
.site-overlay__head h2{margin:0;font:600 1.45rem/1.2 var(--serif);color:var(--navy)}
.site-overlay__close{display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:50%;background:#f4f6f8;color:var(--navy);font:300 1.75rem/1 Arial,sans-serif;cursor:pointer}
.site-search-field{display:flex;align-items:center;gap:.65rem;margin:1rem 0 .75rem;padding:.72rem .9rem;border:1px solid #cfd7de;border-radius:14px;background:#fff}
.site-search-field:focus-within{border-color:#72879a;box-shadow:0 0 0 3px rgba(114,135,154,.12)}
.site-search-field svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;flex:0 0 auto;color:#607386}
.site-search-field input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font:500 1rem/1.4 var(--sans)}
.site-search-field input::placeholder{color:#8896a3}
.site-search-results,.site-favorites-results{display:grid;gap:.55rem;padding-top:.25rem}
.site-result-card{position:relative;border:1px solid #e7ebef;border-radius:14px;background:#fff;overflow:hidden}
.site-result-card__link{display:grid;grid-template-columns:70px minmax(0,1fr);align-items:center;gap:.8rem;padding:.5rem;padding-inline-end:2.7rem;text-decoration:none;color:inherit}
.site-result-card__link img,.site-result-card__placeholder{width:70px;height:70px;object-fit:cover;border-radius:10px;background:#f3f5f7}
.site-result-card__placeholder{display:grid;place-items:center;font:600 1.6rem var(--serif)}
.site-result-card__copy{min-width:0;display:grid;gap:.25rem}
.site-result-card__copy strong{font-size:.9rem;line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.site-result-card__copy span{font-weight:800;color:var(--navy);direction:ltr;justify-self:start}
.site-result-card__remove{position:absolute;top:50%;inset-inline-end:.65rem;transform:translateY(-50%);display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:50%;background:#f4f6f8;color:#536575;font-size:1.25rem;cursor:pointer}
.site-overlay__empty{margin:1.1rem .2rem;padding:1rem;border-radius:12px;background:#f7f9fa;color:#687887;text-align:center}
.site-overlay__empty--large{display:grid;justify-items:center;gap:.35rem;padding:2rem 1rem}
.site-overlay__empty--large>span{font-size:2.2rem;color:#8b9aa7}.site-overlay__empty--large strong{color:var(--navy)}.site-overlay__empty--large p{margin:0;font-size:.86rem}
body.site-overlay-open{overflow:hidden}

@media(min-width:981px){
  .nav__actions{gap:.35rem}
  .nav__desktop-search,.favoritesbtn{display:inline-flex}
}

@media(max-width:980px){
  .nav__desktop-search{display:none!important}
  .nav__mobile-search{display:inline-flex;position:absolute;z-index:2;inset-inline-start:48px;top:50%;transform:translateY(-50%)}
}

@media(max-width:700px){
  /* Screenshot-style mobile header: cart + favorites | centered logo | search + menu. */
  .home-page .nav__inner,
  .product-page-body .nav__inner{
    grid-template-columns:1fr auto 1fr!important;
    grid-template-rows:64px!important;
    min-height:64px!important;
    gap:0!important;
    padding-inline:.6rem!important;
  }
  .home-page .brand,
  .product-page-body .brand{
    grid-column:2!important;
    grid-row:1!important;
    justify-self:center!important;
    align-self:center!important;
    position:relative!important;
    inset:auto!important;
    transform:none!important;
    padding:.2rem 0!important;
    z-index:1;
  }
  .home-page .brand__logo img,
  .product-page-body .brand__logo img{
    width:clamp(112px,34vw,145px)!important;
    max-width:36vw!important;
    height:auto!important;
    max-height:55px!important;
    object-fit:contain!important;
  }
  .home-page .nav__burger,
  .product-page-body .nav__burger{
    display:inline-flex!important;
    grid-column:1!important;
    grid-row:1!important;
    justify-self:start!important;
    align-self:center!important;
    min-width:40px!important;
    min-height:40px!important;
  }
  .home-page .nav__mobile-search,
  .product-page-body .nav__mobile-search{
    display:inline-flex!important;
    inset-inline-start:47px!important;
    min-width:40px!important;
    min-height:40px!important;
  }
  .home-page .nav__actions,
  .product-page-body .nav__actions{
    display:flex!important;
    grid-column:3!important;
    grid-row:1!important;
    justify-self:end!important;
    align-self:center!important;
    gap:0!important;
    min-width:0;
  }
  .home-page .nav__actions .accountbtn,
  .product-page-body .nav__actions .accountbtn{display:none!important}
  .home-page .nav__desktop-search,
  .product-page-body .nav__desktop-search{display:none!important}
  .home-page .favoritesbtn,
  .product-page-body .favoritesbtn,
  .home-page .cartbtn,
  .product-page-body .cartbtn{min-width:40px!important;min-height:40px!important;padding:.4rem!important}
  .favoritesbtn__n{top:-1px;inset-inline-end:-1px}
  .product-favorite-btn{min-height:36px;padding:.4rem .62rem;font-size:.73rem}
  .site-overlay{padding:4.2rem .65rem .65rem}
  .site-overlay__panel{width:min(100%,560px);max-height:calc(100dvh - 5rem);border-radius:18px;padding:.85rem}
  .site-overlay__head h2{font-size:1.25rem}
  .site-result-card__link{grid-template-columns:58px minmax(0,1fr);gap:.65rem;padding:.45rem;padding-inline-end:2.45rem}
  .site-result-card__link img,.site-result-card__placeholder{width:58px;height:58px}
  .site-result-card__copy strong{font-size:.82rem}
}

@media(max-width:380px){
  .home-page .brand__logo img,
  .product-page-body .brand__logo img{width:108px!important;max-width:32vw!important}
  .home-page .nav__mobile-search,
  .product-page-body .nav__mobile-search{inset-inline-start:42px!important}
  .home-page .nav__burger,
  .product-page-body .nav__burger,
  .home-page .favoritesbtn,
  .product-page-body .favoritesbtn,
  .home-page .cartbtn,
  .product-page-body .cartbtn{min-width:36px!important;width:36px!important}
}

/* ===== Mobile centered logo crop fix 2026-09-14 v2 =====
   The source PNG is 800x800 with the visible VerSans artwork centered
   inside a large transparent/white square. Crop that canvas only in the
   navigation so the actual logo is visible at mobile header size. */
@media(max-width:700px){
  .home-page .nav__inner .brand__logo,
  .product-page-body .nav__inner .brand__logo{
    display:block!important;
    position:relative!important;
    width:clamp(112px,34vw,145px)!important;
    max-width:36vw!important;
    aspect-ratio:704/260!important;
    overflow:hidden!important;
    flex:0 0 auto!important;
  }
  .home-page .nav__inner .brand__logo img,
  .product-page-body .nav__inner .brand__logo img{
    position:absolute!important;
    left:-7.102273%!important;
    top:-105.769231%!important;
    width:113.636364%!important;
    max-width:none!important;
    max-height:none!important;
    height:auto!important;
    object-fit:contain!important;
  }
}

@media(max-width:380px){
  .home-page .nav__inner .brand__logo,
  .product-page-body .nav__inner .brand__logo{
    width:108px!important;
    max-width:32vw!important;
  }
}


/* ===== Desktop + mobile header logo replacement 2026-09-14 ===== */
.home-page .nav__inner .brand__logo,
.product-page-body .nav__inner .brand__logo{display:flex!important;align-items:center!important;justify-content:center!important;overflow:visible!important;aspect-ratio:auto!important}
.home-page .nav__inner .brand__logo img,
.product-page-body .nav__inner .brand__logo img{position:static!important;left:auto!important;top:auto!important;width:clamp(168px,17vw,250px)!important;max-width:min(250px,22vw)!important;height:auto!important;max-height:64px!important;object-fit:contain!important}
@media(max-width:700px){
  .home-page .nav__inner .brand__logo,
  .product-page-body .nav__inner .brand__logo{width:auto!important;max-width:none!important}
  .home-page .nav__inner .brand__logo img,
  .product-page-body .nav__inner .brand__logo img{width:clamp(120px,34vw,168px)!important;max-width:44vw!important;max-height:52px!important}
}
@media(max-width:380px){
  .home-page .nav__inner .brand__logo img,
  .product-page-body .nav__inner .brand__logo img{width:116px!important;max-width:42vw!important;max-height:48px!important}
}


/* ===== Mobile entrance promo banner 2026-09-14 ===== */
.mobile-entry-banner{display:none}

@media(max-width:700px){
  /* The new campaign artwork replaces the regular collection banner on phones. */
  .home-page #shop{padding-top:0!important}
  .home-page .shop>.container{display:flex;flex-direction:column}
  .home-page .mobile-entry-banner{
    display:block;
    order:1;
    width:100vw;
    max-width:none;
    margin:0 calc(50% - 50vw) 1rem;
    overflow:hidden;
  }
  .home-page .mobile-entry-banner img{
    display:block;
    width:100%;
    height:auto;
    max-width:none;
    object-fit:contain;
  }

  /* On mobile, keep the old collection banner for glasses and watches. */
  .home-page .other-collections-banner{display:none!important}
  .home-page .glasses-collection-banner,
  .home-page .watches-collection-banner,
  .home-page .greeting-custom-collection-banner,
  .home-page .gift-boxes-collection-banner{order:2;margin-top:0!important;margin-bottom:1rem!important}
  .home-page .shop__head{order:3}
  .home-page .shop__layout{order:4}
}

/* ===== Mobile account button 2026-09-14 ===== */
@media(max-width:700px){
  .home-page .nav__actions .accountbtn,
  .product-page-body .nav__actions .accountbtn{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:40px!important;
    min-width:40px!important;
    max-width:40px!important;
    min-height:40px!important;
    padding:.4rem!important;
    flex:0 0 40px!important;
  }
  .home-page .nav__actions .accountbtn__text,
  .product-page-body .nav__actions .accountbtn__text{
    display:none!important;
  }
}

@media(max-width:380px){
  .home-page .nav__actions .accountbtn,
  .product-page-body .nav__actions .accountbtn{
    width:36px!important;
    min-width:36px!important;
    max-width:36px!important;
    min-height:36px!important;
    flex-basis:36px!important;
  }
}

/* ===== Dark luxury promo marquee with original-style shine 2026-09-14 v2 ===== */
.promo-marquee{
  background:linear-gradient(105deg,#08090b 0%,#151316 19%,#211a18 47%,#121216 74%,#07080a 100%)!important;
  border-top:1px solid rgba(220,190,162,.12)!important;
  border-bottom:1px solid rgba(220,190,162,.16)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.07),inset 0 -1px rgba(0,0,0,.72),0 4px 18px rgba(0,0,0,.16)!important;
  isolation:isolate!important;
}
.promo-marquee::before{
  background:linear-gradient(112deg,
    transparent 0 29%,
    rgba(255,255,255,.035) 35%,
    rgba(224,191,160,.20) 41%,
    rgba(255,255,255,.58) 48%,
    rgba(232,205,180,.28) 54%,
    rgba(255,255,255,.04) 60%,
    transparent 67%)!important;
  transform:translateX(-120%);
  animation:promoShine 8.2s linear infinite!important;
  mix-blend-mode:screen;
  opacity:.88;
}
.promo-marquee::after{
  background:radial-gradient(circle at 18% 50%,rgba(184,139,104,.10),transparent 23%),radial-gradient(circle at 80% 45%,rgba(220,190,162,.065),transparent 27%)!important;
}
.promo-marquee__item,
.promo-marquee__item--rating,
.promo-marquee__item--reviews,
.promo-marquee__item--sale{
  color:#f3eee8!important;
  text-shadow:0 1px 8px rgba(0,0,0,.24);
}
.promo-marquee__item:hover{color:#fff!important}
.promo-marquee__sep{color:rgba(217,178,145,.56)!important}
.promo-marquee__icon{
  color:#e0c0a4!important;
  border-color:rgba(221,186,156,.34)!important;
  background:linear-gradient(180deg,#282326 0%,#151416 100%)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.09),inset 0 -1px rgba(0,0,0,.38),0 3px 10px rgba(0,0,0,.28)!important;
}
.promo-marquee__item--sale .promo-marquee__icon{
  color:#fff8f3!important;
  border-color:rgba(201,104,87,.82)!important;
  background:linear-gradient(145deg,#93463b,#622a25)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.15),0 3px 11px rgba(0,0,0,.28)!important;
}
.promo-marquee__item--bundle .promo-marquee__icon,
.promo-marquee__item--greeting .promo-marquee__icon,
.promo-marquee__item--shipping .promo-marquee__icon,
.promo-marquee__item--projection .promo-marquee__icon,
.promo-marquee__item--rating .promo-marquee__icon,
.promo-marquee__item--reviews .promo-marquee__icon{
  color:#e0c0a4!important;
  background:linear-gradient(180deg,#282326 0%,#151416 100%)!important;
}

/* ===== Dark luxury promo marquee richer gradient fallback 2026-09-14 v3 =====
   Keep the moving shine, but make the bar look premium even between passes. */
.promo-marquee{
  background:
    linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,0) 24%),
    linear-gradient(90deg,#050608 0%,#141317 16%,#241d1a 33%,#31241f 50%,#241d1a 67%,#141317 84%,#050608 100%)!important;
  border-top:1px solid rgba(246,223,198,.16)!important;
  border-bottom:1px solid rgba(198,151,114,.24)!important;
  box-shadow:
    inset 0 1px rgba(255,255,255,.09),
    inset 0 -1px rgba(0,0,0,.78),
    inset 0 0 0 1px rgba(255,255,255,.015),
    0 4px 16px rgba(0,0,0,.14)!important;
}
.promo-marquee::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(112deg,
    transparent 0 26%,
    rgba(255,255,255,.03) 31%,
    rgba(245,224,203,.11) 38%,
    rgba(255,255,255,.76) 47%,
    rgba(241,217,187,.22) 55%,
    rgba(255,255,255,.05) 62%,
    transparent 69%)!important;
  transform:translateX(-130%);
  animation:promoShine 7.6s cubic-bezier(.3,0,.2,1) infinite!important;
  opacity:.96!important;
  mix-blend-mode:screen;
  pointer-events:none;
}
.promo-marquee::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(255,255,255,.035),transparent 32%,transparent 68%,rgba(0,0,0,.14)),
    radial-gradient(circle at 18% 50%,rgba(184,139,104,.13),transparent 24%),
    radial-gradient(circle at 82% 45%,rgba(221,188,156,.10),transparent 28%),
    linear-gradient(90deg,transparent 0%,rgba(255,214,168,.05) 50%,transparent 100%)!important;
  pointer-events:none;
}
.promo-marquee__item,
.promo-marquee__item--rating,
.promo-marquee__item--reviews,
.promo-marquee__item--sale{
  color:#f6f0ea!important;
  text-shadow:0 1px 10px rgba(0,0,0,.32)!important;
}
.promo-marquee__sep{color:rgba(234,198,165,.62)!important}
.promo-marquee__icon{
  color:#e8c8ab!important;
  border-color:rgba(234,197,164,.36)!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,0) 36%),
    linear-gradient(180deg,#2c2628 0%,#171518 100%)!important;
  box-shadow:
    inset 0 1px rgba(255,255,255,.11),
    inset 0 -1px rgba(0,0,0,.42),
    0 3px 10px rgba(0,0,0,.28)!important;
}
.promo-marquee__item--sale .promo-marquee__icon{
  color:#fffaf5!important;
  border-color:rgba(216,121,102,.85)!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,0) 34%),
    linear-gradient(145deg,#a14f42,#612925)!important;
}

/* ===== Catalog progressive reveal / load more 2026-09-14 ===== */
.catalog-load-more{
  grid-column:2;
  display:flex;
  justify-content:center;
  align-items:center;
  width:100%;
  margin:2.8rem 0 .4rem;
}
.catalog-load-more[hidden]{display:none!important}
.catalog-load-more__btn{
  appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.65rem;
  min-width:230px;
  min-height:50px;
  padding:.8rem 1.6rem;
  border:1px solid rgba(20,35,51,.22);
  border-radius:999px;
  background:linear-gradient(180deg,#1b2c3e 0%,#142333 100%);
  color:#fff;
  font:700 .9rem/1 var(--sans);
  letter-spacing:.01em;
  box-shadow:inset 0 1px rgba(255,255,255,.11),0 8px 24px rgba(20,35,51,.12);
  cursor:pointer;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
}
.catalog-load-more__btn:hover{
  transform:translateY(-1px);
  background:linear-gradient(180deg,#22384e 0%,#172a3d 100%);
  box-shadow:inset 0 1px rgba(255,255,255,.13),0 11px 28px rgba(20,35,51,.17);
}
.catalog-load-more__btn:active{transform:translateY(0)}
.catalog-load-more__btn:focus-visible{outline:2px solid #8ea2b4;outline-offset:3px}

@media(max-width:980px){
  .catalog-load-more{grid-column:auto;margin-top:2.25rem}
}
@media(max-width:700px){
  .catalog-load-more{margin:2rem 0 0}
  .catalog-load-more__btn{width:min(100%,320px);min-width:0;min-height:48px;font-size:.86rem}
}


/* ===== Load more button refinement 2026-09-14 ===== */
.catalog-load-more__btn{gap:0}
@media(min-width:981px){
  .catalog-load-more__btn{
    min-width:275px;
    min-height:56px;
    padding:.95rem 2rem;
    font-size:.98rem;
  }
}


/* ===== Catalog more / less products 10-row batches 2026-09-14 ===== */
.catalog-load-more{
  gap:18px;
  flex-wrap:wrap;
}
.catalog-load-more__btn[hidden]{display:none!important}
@media(min-width:981px){
  .catalog-load-more--both .catalog-load-more__btn{
    min-width:275px;
    min-height:56px;
    padding:.95rem 2rem;
    font-size:.98rem;
  }
}
@media(max-width:700px){
  .catalog-load-more{
    gap:12px;
  }
  .catalog-load-more__btn{
    width:min(100%,280px);
    min-height:44px;
    padding:.68rem .8rem;
    font-size:.82rem;
  }
  .catalog-load-more--both .catalog-load-more__btn{
    width:calc(50% - 6px);
    max-width:165px;
    min-width:0;
    min-height:44px;
    padding-inline:.5rem;
  }
}

/* ===== All-products shuffle card alignment 2026-09-14 =====
   Product types intentionally have different metadata/actions. Give every
   card the same content slots so mixed rows stay level in the "all" view and
   in filtered collections as well. */
@media(min-width:701px){
  .home-page .grid{align-items:stretch}
  .home-page .prod{height:100%}
  .home-page .prod__body{
    display:grid;
    grid-template-rows:3.3rem 3rem 1.55rem 3rem 82px;
    gap:.48rem;
    min-height:0;
    align-content:start;
  }
  .home-page .prod__name{
    grid-row:1;
    min-height:0;
    max-height:3.3rem;
    overflow:hidden;
  }
  .home-page .prod__sub{
    grid-row:2;
    min-height:0;
    max-height:3rem;
    overflow:hidden;
  }
  .home-page .prod__variant-hint{
    grid-row:3;
    min-height:1.55rem;
    max-height:1.55rem;
    overflow:hidden;
    flex-wrap:nowrap;
  }
  .home-page .prod__variant-text{
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .home-page .prod__price{
    grid-row:4;
    align-self:center;
    min-height:0;
    max-height:3rem;
    overflow:hidden;
  }
  .home-page .prod__actions{
    grid-row:5;
    display:grid;
    grid-template-rows:45px 30px;
    gap:.2rem;
    align-content:start;
    align-self:stretch;
    min-height:82px;
    margin-top:0;
    padding-top:.35rem;
  }
  .home-page .prod__actions .btn--primary{grid-row:1}
  .home-page .prod__actions .btn--ghost{grid-row:2}
}

@media(max-width:700px){
  .home-page .prod__actions{
    display:grid!important;
    grid-template-rows:40px 24px!important;
    gap:.2rem!important;
    align-content:start!important;
    min-height:68px!important;
    margin-top:0!important;
    padding-top:.2rem!important;
  }
  .home-page .prod__actions .btn--primary{grid-row:1}
  .home-page .prod__actions .btn--ghost{grid-row:2}
}

/* ===== Mobile entry banner CTA buttons 2026-09-14 ===== */
.mobile-entry-banner__actions{display:none}

@media(max-width:700px){
  .home-page .mobile-entry-banner{position:relative}
  .home-page .mobile-entry-banner__actions{
    display:flex;
    position:absolute;
    z-index:3;
    top:80.1%;
    left:50%;
    width:min(72vw,340px);
    transform:translate(-50%,-50%);
    flex-direction:column;
    align-items:stretch;
    gap:10px;
  }
  .home-page .mobile-entry-banner__cta{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:46px;
    padding:.72rem 1rem;
    border-radius:999px;
    font-size:.88rem;
    font-weight:800;
    line-height:1.1;
    text-align:center;
    text-decoration:none;
    letter-spacing:.01em;
    -webkit-tap-highlight-color:transparent;
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
  }
  .home-page .mobile-entry-banner__cta:active{transform:scale(.985)}
  .home-page .mobile-entry-banner__cta--primary{
    color:#111;
    background:#f5f313;
    border:1px solid #fff86a;
    box-shadow:0 9px 26px rgba(0,0,0,.30),inset 0 1px rgba(255,255,255,.34),inset 0 -1px rgba(145,136,0,.24);
  }
  .home-page .mobile-entry-banner__cta--secondary{
    color:#fff;
    background:linear-gradient(180deg,rgba(10,11,13,.78),rgba(3,4,5,.68));
    border:1px solid rgba(255,255,255,.78);
    box-shadow:0 8px 24px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.10);
  }
  .home-page #shopTitle,
  .home-page #reviews{scroll-margin-top:110px}
}

@media(max-width:430px){
  .home-page .mobile-entry-banner__actions{
    top:79.8%;
    width:min(74vw,315px);
    gap:9px;
  }
  .home-page .mobile-entry-banner__cta{
    min-height:44px;
    padding:.68rem .85rem;
    font-size:.84rem;
  }
}

@media(max-width:360px){
  .home-page .mobile-entry-banner__actions{
    top:79.3%;
    width:min(76vw,285px);
    gap:8px;
  }
  .home-page .mobile-entry-banner__cta{
    min-height:42px;
    font-size:.80rem;
  }
}

@media(min-width:701px){
  .mobile-entry-banner__actions{display:none!important}
}


/* ===== Product page: replace breadcrumb with back-to-shop button ===== */
.product-back-row{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  padding-bottom:1.35rem;
}
.product-back-to-shop{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  min-height:44px;
  padding:.72rem 1.15rem;
  border:1px solid rgba(16,37,54,.16);
  border-radius:999px;
  background:linear-gradient(180deg,#fff 0%,#f7f9fb 100%);
  color:#102536;
  font-weight:800;
  font-size:.86rem;
  text-decoration:none;
  box-shadow:0 6px 18px rgba(16,37,54,.07),inset 0 1px rgba(255,255,255,.9);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.product-back-to-shop:hover{
  transform:translateY(-1px);
  border-color:rgba(16,37,54,.28);
  box-shadow:0 9px 24px rgba(16,37,54,.10),inset 0 1px rgba(255,255,255,.95);
}
.product-back-to-shop svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  flex:0 0 auto;
}
@media(max-width:700px){
  .product-back-row{padding-bottom:.9rem}
  .product-back-to-shop{
    min-height:40px;
    padding:.62rem .95rem;
    font-size:.80rem;
  }
  .product-back-to-shop svg{width:17px;height:17px}
}

/* ===== Desktop/laptop catalog filter row fix 2026-09-14 =====
   Keep the filter control in its own full-width row above the products.
   Mobile (<=700px) keeps its existing behavior. */
@media(min-width:701px){
  .home-page .shop__layout{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:1.25rem!important;
    grid-template-columns:none!important;
  }
  .home-page .shop__sidebar,
  .home-page .shop__layout:has(.filters[hidden]) .shop__sidebar{
    position:static!important;
    top:auto!important;
    width:100%!important;
    max-height:none!important;
    overflow:visible!important;
    padding:0!important;
    margin:0!important;
    background:transparent!important;
    z-index:auto!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
  }
  .home-page .shop__filter-label{display:none!important}
  .home-page .shop__filter-toggle,
  .home-page .shop__layout:has(.filters[hidden]) .shop__filter-toggle{
    display:flex!important;
    position:relative!important;
    width:auto!important;
    min-width:108px!important;
    min-height:42px!important;
    align-items:center!important;
    justify-content:center!important;
    gap:.35rem!important;
    padding:.5rem .85rem!important;
    border:1px solid var(--line)!important;
    background:#fff!important;
    z-index:1!important;
  }
  .home-page .filters{
    width:100%!important;
    margin-top:.9rem!important;
    padding:1rem!important;
    border:1px solid var(--line)!important;
    background:#fff!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:1rem!important;
    overflow:visible!important;
  }
  .home-page .filters[hidden]{display:none!important}
  .home-page .catalog-filter-clear{grid-column:1/-1!important}
  .home-page .catalog-filter-section{min-width:0!important;padding:0!important;border-top:0!important}
  .home-page .grid{width:100%!important}
}


/* ===== Hard layout fix: filter row is physically outside the product grid 2026-09-14 v4 ===== */
.home-page .shop__filter-row{
  width:100%;
  display:block;
  margin:0 0 1.25rem;
  position:relative;
  z-index:20;
}
.home-page .shop__filter-row .shop__sidebar{
  width:100%;
  position:static!important;
  top:auto!important;
  max-height:none!important;
  overflow:visible!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
}
@media(min-width:701px){
  .home-page .shop__layout{
    display:block!important;
    width:100%!important;
    grid-template-columns:none!important;
    gap:0!important;
  }
  .home-page .shop__filter-row .shop__sidebar{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-end!important;
  }
  .home-page .shop__filter-row .shop__filter-toggle{
    display:flex!important;
    position:static!important;
    width:auto!important;
    min-width:108px!important;
    min-height:42px!important;
    align-items:center!important;
    justify-content:center!important;
    gap:.35rem!important;
    padding:.5rem .85rem!important;
    border:1px solid var(--line)!important;
    background:#fff!important;
    z-index:auto!important;
  }
  .home-page .shop__filter-row .filters{
    align-self:stretch!important;
    width:100%!important;
    margin-top:.9rem!important;
    padding:1rem!important;
    border:1px solid var(--line)!important;
    background:#fff!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:1rem!important;
    overflow:visible!important;
  }
  .home-page .shop__filter-row .filters[hidden]{display:none!important}
  .home-page .shop__filter-row .catalog-filter-clear{grid-column:1/-1!important}
  .home-page .grid{width:100%!important}
}
@media(max-width:700px){
  .home-page .shop__filter-row{margin-bottom:.85rem}
  .home-page .shop__filter-row .shop__sidebar{
    padding:.5rem .65rem!important;
    min-height:52px;
    border:1px solid var(--line);
    border-radius:12px;
    background:#fff!important;
  }
}
/* ===== Mobile filter order fix 2026-09-15 =====
   On phones the filter belongs with the collection, after every promo/banner and the collection heading, before the product grid. */
@media(max-width:700px){
  .home-page .shop>.container{display:flex!important;flex-direction:column!important}
  .home-page .mobile-entry-banner{order:1!important}
  .home-page .glasses-collection-banner,
  .home-page .watches-collection-banner,
  .home-page .other-collections-banner,
  .home-page .greeting-custom-collection-banner,
  .home-page .gift-boxes-collection-banner{order:2!important}
  .home-page .shop__head{order:3!important}
  .home-page .shop__filter-row{order:4!important;width:100%!important;margin-top:0!important}
  .home-page .shop__layout{order:5!important;width:100%!important}
}



/* ===== PRODUCT PAGE MOBILE DRAWER SYNC V4 =====
   Product pages use the same compact, touch-friendly category drawer as the storefront. */
@media(max-width:980px){
  .product-page-body .nav__menu{
    position:fixed!important;
    inset:0 0 0 auto!important;
    right:0!important;
    left:auto!important;
    top:0!important;
    bottom:0!important;
    width:min(360px,88vw)!important;
    height:100dvh!important;
    max-height:100dvh!important;
    box-sizing:border-box!important;
    margin:0!important;
    padding:3rem 1rem .8rem!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:0!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch;
    overflow-anchor:none!important;
    overscroll-behavior:contain!important;
    touch-action:pan-y!important;
    transform:translateX(105%)!important;
    transition:transform .25s ease!important;
    visibility:hidden!important;
    z-index:80!important;
    background:#fff!important;
    box-shadow:0 12px 32px rgba(20,35,51,.16)!important;
  }
  .product-page-body .nav__menu.is-open{
    transform:translateX(0)!important;
    visibility:visible!important;
  }
  .product-page-body .nav__close{
    position:absolute!important;
    top:.75rem!important;
    right:.8rem!important;
    left:auto!important;
    width:38px!important;
    height:38px!important;
    display:grid!important;
    place-items:center!important;
    z-index:3!important;
    pointer-events:auto!important;
    touch-action:manipulation!important;
  }
  .product-page-body .nav__menu>a,
  .product-page-body .nav__item>a{
    display:block!important;
    width:100%!important;
    min-height:46px!important;
    box-sizing:border-box!important;
    padding:.76rem .2rem!important;
    border-bottom:1px solid var(--line)!important;
    border-radius:0!important;
    background:transparent!important;
    color:var(--ink)!important;
    font:500 1.16rem/1.22 var(--serif)!important;
    text-align:right!important;
    white-space:normal!important;
    pointer-events:auto!important;
    touch-action:manipulation!important;
    position:relative!important;
    z-index:2!important;
  }
  .product-page-body .nav__menu>a::after,
  .product-page-body .nav__item>a::after{display:none!important}
  .product-page-body .nav__item{
    display:flex!important;
    flex:0 0 auto!important;
    flex-direction:column!important;
    align-items:stretch!important;
    width:100%!important;
    border:0!important;
    position:static!important;
  }
  .product-page-body .nav__item--has-submenu>a{border-bottom:1px solid var(--line)!important}
  .product-page-body .nav__submenu,
  html[dir=rtl] .product-page-body .nav__submenu{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:.25rem 0 .4rem!important;
    padding:.1rem 0 .45rem!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:none!important;
    overflow:visible!important;
  }
  .product-page-body .nav__submenu:not(.is-open){display:none!important}
  .product-page-body .nav__submenu.is-open{display:flex!important;flex-direction:column!important;gap:.35rem!important}
  .product-page-body .nav__submenu a{
    display:block!important;
    width:100%!important;
    min-height:40px!important;
    box-sizing:border-box!important;
    margin:0!important;
    padding:.68rem .85rem!important;
    border:0!important;
    border-radius:10px!important;
    background:#f6f8fa!important;
    color:var(--navy)!important;
    text-align:right!important;
    white-space:normal!important;
    font:500 .96rem/1.35 var(--sans)!important;
    pointer-events:auto!important;
    touch-action:manipulation!important;
  }
  .product-page-body .navscrim{inset:0!important;z-index:75!important;touch-action:manipulation!important}
}

@media(max-width:430px){
  .product-page-body .nav__menu{
    width:min(330px,90vw)!important;
    padding:2.85rem .85rem .65rem!important;
  }
  .product-page-body .nav__menu>a,
  .product-page-body .nav__item>a{
    min-height:43px!important;
    padding:.7rem .15rem!important;
    font-size:1.1rem!important;
  }
}


/* ===== VERSANS HOME + PRODUCT DESKTOP NAV COMPACT FIX ===== */
@media (min-width:1101px){
  .home-page .nav__inner,
  .product-page-body .nav__inner{
    grid-template-columns:minmax(145px,180px) minmax(0,1fr) auto!important;
    gap:clamp(.45rem,.75vw,.9rem)!important;
    min-height:78px!important;
  }
  .home-page .brand,
  .product-page-body .brand{
    min-width:0!important;
    padding-block:.4rem!important;
  }
  .home-page .nav__inner .brand__logo img,
  .product-page-body .nav__inner .brand__logo img{
    width:clamp(145px,9vw,180px)!important;
    max-width:180px!important;
    max-height:56px!important;
  }
  .home-page .nav__menu,
  .product-page-body .nav__menu{
    min-width:0!important;
    gap:clamp(.45rem,.7vw,.9rem)!important;
  }
  .home-page .nav__menu a,
  .product-page-body .nav__menu a{
    font-size:clamp(.78rem,.8vw,.96rem)!important;
    padding-inline:.04rem!important;
  }
  .home-page .nav__actions,
  .product-page-body .nav__actions{
    gap:.35rem!important;
    min-width:max-content;
  }
}
