/* NOORA self-hosted webfonts (SIL OFL) - variable latin subset; Bangla via Hind Siliguri bengali subset */
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:300 700;font-display:swap;src:url(/assets/fonts/cormorant-garamond.woff2) format('woff2')}
@font-face{font-family:'Jost';font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/jost.woff2) format('woff2')}
@font-face{font-family:'Hind Siliguri';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/hind-siliguri-400-bengali.woff2) format('woff2');unicode-range:U+0951-0952, U+0964-0965, U+0980-09FE, U+1CD0, U+1CD2, U+1CD5-1CD6, U+1CD8, U+1CE1, U+1CEA, U+1CED, U+1CF2, U+1CF5-1CF7, U+200C-200D, U+20B9, U+25CC, U+A8F1}
@font-face{font-family:'Hind Siliguri';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/hind-siliguri-600-bengali.woff2) format('woff2');unicode-range:U+0951-0952, U+0964-0965, U+0980-09FE, U+1CD0, U+1CD2, U+1CD5-1CD6, U+1CD8, U+1CE1, U+1CEA, U+1CED, U+1CF2, U+1CF5-1CF7, U+200C-200D, U+20B9, U+25CC, U+A8F1}
@font-face{font-family:'Hind Siliguri';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/hind-siliguri-400-currency.woff2) format('woff2');unicode-range:U+9e6-9ef, U+9f2-9f3}
@font-face{font-family:'Hind Siliguri';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/hind-siliguri-600-currency.woff2) format('woff2');unicode-range:U+9e6-9ef, U+9f2-9f3}
/* ==========================================================================
   NOORA storefront — quiet luxury, editorial modest fashion, mobile first.
   Warm ivory ground · espresso text · taupe rules · burgundy used sparingly.
   No inline styles anywhere: the CSP is style-src 'self'.
   ========================================================================== */
:root{
  --ivory:#FAF6F0; --cream:#FFFDFA; --sand:#F1EAE0; --shell:#EDE3D6;
  --espresso:#3A2A22; --ink:#241A13; --muted:#6B5849; --taupe:#B6A48F;
  --rule:rgba(58,42,34,.14); --rule-2:rgba(58,42,34,.26);
  --burgundy:#5C2F2B; --burgundy-soft:rgba(92,47,43,.07);
  --ok:#2F5A4E; --danger:#8C2F28;
  --f-ed:'Cormorant Garamond','Hind Siliguri',Georgia,'Iowan Old Style','Times New Roman',serif;
  --f-ui:'Inter','Hind Siliguri',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  --f-nav:'Jost','Hind Siliguri',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  --pad:18px; --max:1240px; --r:2px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--espresso);font-family:var(--f-ui);
  font-size:15px;line-height:1.6;font-weight:400;-webkit-font-smoothing:antialiased;
  overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
:focus-visible{outline:2px solid var(--burgundy);outline-offset:3px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad);width:100%}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0}
/* SKIP LINK A11Y: only the "Skip to content" link, only while keyboard-focused.
   Everything else that uses .sr-only stays hidden. */
a.sr-only[href="#main"]:focus-visible{position:fixed;top:8px;left:8px;width:auto;height:auto;
  margin:0;padding:10px 16px;overflow:visible;clip:auto;clip-path:none;white-space:nowrap;
  background:var(--espresso);color:#fff;text-decoration:none;z-index:1000;
  outline:2px solid #fff;outline-offset:-4px}
/* NAV SCROLL LOCK: the open menu drawer locks the page behind it, as the bag
   drawer already does with body.cart-open. */
body.menu-open{overflow:hidden}

h1,h2,h3{font-family:var(--f-ed);font-weight:400;color:var(--ink);margin:0;line-height:1.12;
  letter-spacing:-.01em}
.h-hero{font-size:clamp(34px,9vw,68px)}
.h-1{font-size:clamp(26px,5.6vw,44px)}
.h-2{font-size:clamp(21px,4.4vw,32px)}
.eyebrow{font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--taupe);
  font-weight:600}
.lede{color:var(--muted);max-width:56ch;font-size:15.5px}
.small{font-size:13px} .muted{color:var(--muted)}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;
  padding:13px 30px;background:var(--espresso);color:var(--ivory);font-size:12.5px;
  letter-spacing:.14em;text-transform:uppercase;font-weight:600;border-radius:var(--r);
  transition:background .18s;text-align:center}
.btn:hover{background:var(--ink)}
.btn.light{background:var(--ivory);color:var(--ink)} .btn.light:hover{background:#fff}
.btn.line{background:transparent;border:1px solid currentColor}
.btn.line:hover{background:var(--espresso);color:var(--ivory);border-color:var(--espresso)}
.btn.accent{background:var(--burgundy)} .btn.accent:hover{background:#4a2522}
.btn.block{width:100%}
.btn[disabled],.btn[aria-disabled="true"]{opacity:.45;cursor:not-allowed;pointer-events:none}
.tlink{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;
  border-bottom:1px solid var(--rule-2);padding-bottom:3px;display:inline-block}
.tlink:hover{border-bottom-color:currentColor}

/* ---------- header ---------- */
.announce{background:var(--espresso);color:#EFE6D9;text-align:center;font-size:11px;
  letter-spacing:.12em;text-transform:uppercase;padding:9px 14px;font-weight:600}
.site-head{position:sticky;top:0;z-index:60;background:rgba(250,246,240,.95);
  backdrop-filter:saturate(160%) blur(10px);border-bottom:1px solid var(--rule)}
.head-row{display:flex;align-items:center;justify-content:space-between;height:60px;gap:12px}
.mark{font-family:var(--f-ed);font-size:23px;letter-spacing:.34em;padding-left:.34em;line-height:1}
.head-nav{display:none}
.head-icons{display:flex;align-items:center;gap:16px}
.head-icons svg{width:20px;height:20px;fill:none;stroke:var(--espresso);stroke-width:1.3;
  stroke-linecap:round;stroke-linejoin:round}
.burger{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;
  margin-left:-10px}
.burger svg{width:22px;height:22px;fill:none;stroke:var(--espresso);stroke-width:1.4}
@media(min-width:960px){
  .head-row{height:76px}
  .burger{display:none}
  .head-nav{display:flex;gap:28px;font-size:11.5px;letter-spacing:.15em;text-transform:uppercase;
    font-weight:600}
  .head-nav a{padding-bottom:3px;border-bottom:1px solid transparent}
  .head-nav a:hover{border-bottom-color:var(--espresso)}
}
.drawer{position:fixed;inset:0 30% 0 0;min-width:280px;background:var(--cream);z-index:80;
  transform:translateX(-100%);transition:transform .24s ease;padding:22px var(--pad);
  border-right:1px solid var(--rule);overflow-y:auto}
body.menu-open .drawer{transform:none}
.drawer a{display:block;padding:14px 0;border-bottom:1px solid var(--rule);font-size:15px}
.drawer .eyebrow{margin:22px 0 4px;display:block}
.scrim{position:fixed;inset:0;background:rgba(36,26,19,.45);z-index:70;display:none}
body.menu-open .scrim{display:block}
@media(min-width:960px){ .drawer,.scrim{display:none!important} }

/* ---------- hero ---------- */
.hero{position:relative;min-height:min(78vh,640px);display:flex;align-items:flex-end;
  overflow:hidden;background:var(--shell)}
.hero-media{position:absolute;inset:0}
.hero-media img{width:100%;height:100%;object-fit:cover}
.hero-fallback{position:absolute;inset:0;background:
  radial-gradient(120% 85% at 22% 8%,rgba(255,255,255,.7),transparent 58%),
  linear-gradient(158deg,#F3EADE 0%,#DCCBB6 45%,#B39A80 100%)}
.hero-veil{position:absolute;inset:0;z-index:1;
  background:linear-gradient(to top,rgba(36,26,19,.62) 0%,rgba(36,26,19,.12) 52%,transparent 100%)}
.hero-copy{position:relative;z-index:2;color:#FCF8F2;width:100%;max-width:var(--max);
  margin:0 auto;padding:0 var(--pad) 40px}
.hero-copy h1{color:#FCF8F2;margin:10px 0 0}
.hero-copy .eyebrow{color:rgba(252,248,242,.72)}
.hero-copy p{max-width:32ch;color:rgba(252,248,242,.9);margin:14px 0 24px;font-size:15.5px}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px}
@media(min-width:900px){.hero-copy{padding-bottom:60px}.hero-copy p{font-size:17px}}

/* ---------- sections ---------- */
section{padding:52px 0}
@media(min-width:900px){section{padding:84px 0}}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;
  margin-bottom:24px;flex-wrap:wrap}
.sec-head p{margin:6px 0 0;color:var(--muted);font-size:14.5px}
.band{background:var(--sand)}
.band-dark{background:var(--espresso);color:#F1E8DB}
.band-dark h2{color:#F8F1E6} .band-dark .lede{color:rgba(241,232,219,.82)}
.editorial{display:grid;gap:26px;align-items:center}
@media(min-width:900px){.editorial{grid-template-columns:1fr 1fr;gap:56px}}

/* ---------- product grid ---------- */
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 10px}
@media(min-width:700px){.grid{grid-template-columns:repeat(3,1fr);gap:22px 16px}}
@media(min-width:1040px){.grid{grid-template-columns:repeat(4,1fr)}}
.card{display:block;position:relative}
.card .shot{position:relative;aspect-ratio:3/4;overflow:hidden;background:var(--shell);
  margin-bottom:10px}
.card .shot img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.card:hover .shot img{transform:scale(1.03)}
.ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(160deg,#F3EADE 0%,#E2D3C0 55%,#C9B49B 100%);
  color:rgba(58,42,34,.42);font-family:var(--f-ed);font-size:13px;letter-spacing:.2em}
.card h3{font-family:var(--f-ui);font-size:14px;font-weight:500;line-height:1.35;
  color:var(--espresso)}
.card .cat{font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--taupe);
  margin-bottom:3px}
.price{font-size:14px;margin-top:3px}
.price .was{color:var(--taupe);text-decoration:line-through;margin-left:7px;font-size:13px}
.flag{position:absolute;top:10px;left:10px;z-index:3;background:var(--ivory);color:var(--ink);
  font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;padding:5px 9px;font-weight:600}
.flag.out{background:var(--espresso);color:var(--ivory)}

/* ---------- category tiles ---------- */
.tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
@media(min-width:900px){.tiles{grid-template-columns:repeat(4,1fr);gap:16px}}
.tile{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;background:var(--shell)}
.tile img{width:100%;height:100%;object-fit:cover}
.tile b{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:16px 14px;color:#fff;
  font-weight:600;font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;
  background:linear-gradient(to top,rgba(36,26,19,.72),transparent)}

/* ---------- breadcrumb ---------- */
.crumb{font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--taupe);
  padding:16px 0 0}
.crumb a:hover{color:var(--espresso)}
.crumb span{margin:0 6px}

/* ---------- product detail ---------- */
.pdp{display:grid;gap:0}
@media(min-width:900px){.pdp{grid-template-columns:1.1fr .9fr;gap:52px;padding-top:22px}}
.gallery{display:flex;overflow-x:auto;gap:4px;scroll-snap-type:x mandatory;scrollbar-width:none}
.gallery::-webkit-scrollbar{display:none}
.gallery .g{flex:0 0 88%;aspect-ratio:3/4;scroll-snap-align:center;background:var(--shell);
  position:relative;overflow:hidden}
.gallery .g img{width:100%;height:100%;object-fit:cover}
@media(min-width:900px){
  .gallery{display:grid;grid-template-columns:1fr 1fr;gap:6px;overflow:visible}
  .gallery .g{flex:none}
  .gallery .g:first-child{grid-column:1/-1;aspect-ratio:4/5}
}
.pdp-info{padding:20px var(--pad) 0}
@media(min-width:900px){.pdp-info{padding:6px 0 0;position:sticky;top:96px;align-self:start}}
.pdp-info h1{margin:0 0 8px}
.pdp-price{font-size:19px;margin-bottom:4px}
.pdp-price .was{color:var(--taupe);text-decoration:line-through;margin-left:9px;font-size:16px}
.opt{display:flex;justify-content:space-between;align-items:baseline;margin:22px 0 9px;
  font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--taupe);font-weight:600}
.opt b{color:var(--espresso);font-weight:600;letter-spacing:.04em;text-transform:none;font-size:13px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips button{min-width:54px;min-height:46px;padding:11px 14px;border:1px solid var(--rule-2);
  font-size:13.5px;border-radius:var(--r);background:var(--cream)}
.chips button[aria-pressed="true"]{background:var(--espresso);color:var(--ivory);
  border-color:var(--espresso)}
.chips button[disabled]{opacity:.35;cursor:not-allowed;text-decoration:line-through}
.stock{font-size:13.5px;margin-top:12px}
.stock.in{color:var(--ok)} .stock.out{color:var(--danger)} .stock.low{color:var(--burgundy)}
.sku{font-size:12px;color:var(--taupe);margin-top:4px;letter-spacing:.04em}
.buybar{display:flex;gap:10px;margin-top:20px}
.buybar .btn{flex:1}
.acc{margin-top:26px;border-top:1px solid var(--rule)}
.acc details{border-bottom:1px solid var(--rule)}
.acc summary{list-style:none;cursor:pointer;padding:15px 0;display:flex;justify-content:space-between;
  align-items:center;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;font-weight:600}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"+";font-size:17px;color:var(--taupe)}
.acc details[open] summary::after{content:"\2013"}
.acc .bd{padding:0 0 18px;font-size:14.5px;color:var(--muted);line-height:1.7;white-space:pre-line}
.notice{background:var(--burgundy-soft);border-left:2px solid var(--burgundy);padding:12px 14px;
  font-size:13px;color:var(--muted);margin-top:16px}

/* ---------- empty / 404 ---------- */
.empty{text-align:center;padding:64px 20px;color:var(--muted)}
.empty h2{margin-bottom:8px}
.empty p{margin:0 0 20px;font-size:15px}

/* ---------- footer ---------- */
.site-foot{background:var(--espresso);color:rgba(250,246,240,.7);padding:54px 0 26px;font-size:14px}
.foot-cols{display:grid;grid-template-columns:repeat(2,1fr);gap:30px 20px;margin-bottom:34px}
@media(min-width:900px){.foot-cols{grid-template-columns:1.5fr 1fr 1fr}}
.site-foot h4{color:var(--ivory);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;
  margin:0 0 12px;font-weight:600}
.site-foot ul{margin:0;padding:0} .site-foot li{list-style:none;margin-bottom:8px}
.site-foot a:hover{color:var(--ivory)}
.site-foot .mark{color:var(--ivory);display:inline-block;margin-bottom:10px}
.foot-bot{border-top:1px solid rgba(250,246,240,.14);padding-top:18px;display:flex;flex-wrap:wrap;
  gap:10px;justify-content:space-between;font-size:11.5px;letter-spacing:.04em}

/* ---------- bag button + cart drawer ---------- */
.bag-btn{position:relative;width:44px;height:44px;display:inline-flex;align-items:center;
  justify-content:center}
.bag-count{position:absolute;top:4px;right:2px;min-width:17px;height:17px;padding:0 4px;
  border-radius:100px;background:var(--burgundy);color:#fff;font-size:10.5px;font-weight:600;
  line-height:17px;text-align:center}
.cart-scrim{position:fixed;inset:0;background:rgba(36,26,19,.45);z-index:90;display:none}
body.cart-open .cart-scrim{display:block}
.cart-drawer{position:fixed;top:0;right:0;bottom:0;width:100%;max-width:420px;z-index:100;
  background:var(--cream);border-left:1px solid var(--rule);transform:translateX(100%);
  transition:transform .24s ease;display:flex;flex-direction:column}
body.cart-open .cart-drawer{transform:none}
.cart-head{display:flex;align-items:center;justify-content:space-between;padding:18px var(--pad);
  border-bottom:1px solid var(--rule)}
.cart-head h2{font-size:19px}
.cart-close{width:44px;height:44px;margin-right:-10px;font-size:22px;line-height:1;color:var(--muted)}
.cart-body-scroll{flex:1;overflow-y:auto;padding:0 var(--pad)}
.cart-notice{margin:14px 0 0;padding:10px 12px;border-radius:var(--r);font-size:13px;
  background:var(--sand);color:var(--muted)}
.cart-notice.warn{background:var(--burgundy-soft);color:var(--burgundy)}
.cart-notice.bad{background:rgba(140,47,40,.08);color:var(--danger)}
.cart-line{display:grid;grid-template-columns:64px 1fr auto;gap:12px;padding:16px 0;
  border-bottom:1px solid var(--rule);align-items:start}
.cart-thumb{width:64px;aspect-ratio:3/4;overflow:hidden;background:var(--shell);position:relative}
.cart-thumb img{width:100%;height:100%;object-fit:cover}
.cart-title{font-size:14px;line-height:1.35;display:block}
.cart-title:hover{text-decoration:underline}
.cart-meta,.cart-sku{margin-top:2px}
.cart-flag{margin-top:4px;font-size:12px;color:var(--danger);font-weight:600}
.cart-note{margin-top:4px;font-size:12px;color:var(--burgundy)}
.cart-price{font-size:14px;white-space:nowrap}
.qty{display:flex;align-items:center;gap:6px;margin-top:10px}
.qty-btn{width:32px;height:32px;border:1px solid var(--rule-2);border-radius:var(--r);
  background:#fff;font-size:15px;line-height:1;display:inline-flex;align-items:center;
  justify-content:center}
.qty-btn:hover{background:var(--sand)}
.qty-n{min-width:26px;text-align:center;font-size:14px}
.cart-remove{margin-left:8px;font-size:12px;color:var(--muted);text-decoration:underline;
  min-height:32px}
.cart-remove:hover{color:var(--danger)}
.cart-empty{text-align:center;padding:52px 10px;color:var(--muted)}
.cart-empty p{margin:8px 0 18px;font-size:14px}
.cart-foot{border-top:1px solid var(--rule);padding:16px var(--pad) 22px;background:var(--cream)}
.cart-sum{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px}
.cart-sum b{font-size:18px;font-family:var(--f-ed);font-weight:400}
.cart-foot .hint{font-size:12px;color:var(--muted);margin:0 0 14px}

/* ================= noora-home : homepage ================= */
/* Uses the existing tokens only. No new palette, no new fonts. Mobile first;
   the editorial desktop layout arrives at the existing 900px breakpoint. */
.announce{background:var(--espresso);color:var(--ivory);font-size:12px;letter-spacing:.06em;
  text-transform:uppercase;text-align:center;padding:9px 0}
.announce .wrap{padding-block:0}

.home-hero{display:grid;gap:0;background:var(--cream)}
.home-hero-copy{padding:44px var(--pad) 40px;display:flex;flex-direction:column;
  align-items:flex-start;justify-content:center;gap:14px}
.home-hero-copy .h-hero{margin:0;line-height:1.08}
.home-hero-copy .lede{margin:0;max-width:44ch}
.home-hero .hero-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.home-hero .hero-media{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--shell)}
.home-hero .hero-media img{width:100%;height:100%;object-fit:cover;display:block}
.home-hero .hero-fallback{aspect-ratio:16/11;
  background:linear-gradient(135deg,var(--shell),var(--sand) 60%,var(--ivory))}

.trust{border-block:1px solid var(--rule);background:var(--ivory)}
.trust-row{display:grid;gap:18px;padding-block:22px}
.trust-cell{display:flex;flex-direction:column;gap:3px}
.trust-cell b{font-size:14px;letter-spacing:.02em}
.trust-cell span{font-size:13px;color:var(--muted)}

.cat-grid{display:grid;gap:14px;grid-template-columns:repeat(2,1fr)}
.cat-tile{display:flex;flex-direction:column;gap:8px}
.cat-shot{aspect-ratio:3/4;overflow:hidden;background:var(--shell);position:relative;
  display:flex;align-items:center;justify-content:center}
.cat-shot img{width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .5s ease}
.cat-tile:hover .cat-shot img,.cat-tile:focus-visible .cat-shot img{transform:scale(1.04)}
.cat-tile b{font-family:var(--f-ed);font-weight:400;font-size:17px}
.cat-tile .tlink{font-size:12px}

.editorial-band{background:var(--sand)}
.ed-row{display:grid;gap:0;padding-block:0}
.ed-media{aspect-ratio:4/5;overflow:hidden;background:var(--shell)}
.ed-media img{width:100%;height:100%;object-fit:cover;display:block}
.ed-copy{padding:38px var(--pad);display:flex;flex-direction:column;gap:14px;
  align-items:flex-start;justify-content:center}
.ed-copy .h-1{margin:0}
.ed-copy .lede{margin:0;max-width:46ch}

.story{max-width:60ch;display:flex;flex-direction:column;gap:14px;align-items:flex-start}

.why-grid{display:grid;gap:22px;grid-template-columns:1fr}
.why-cell h3{font-family:var(--f-ed);font-weight:400;font-size:17px;margin:0 0 6px}
.why-cell p{margin:0;font-size:14px;color:var(--muted);max-width:44ch}

.look-strip{display:grid;gap:10px;grid-template-columns:repeat(2,1fr)}
.look-frame{display:block;aspect-ratio:1/1;overflow:hidden;background:var(--shell)}
.look-frame img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.look-frame:hover img,.look-frame:focus-visible img{transform:scale(1.05)}

.news{max-width:52ch;display:flex;flex-direction:column;gap:10px;align-items:flex-start}

@media(min-width:700px){
  .trust-row{grid-template-columns:repeat(3,1fr);gap:26px}
  .cat-grid{grid-template-columns:repeat(3,1fr);gap:18px}
  .why-grid{grid-template-columns:repeat(2,1fr);gap:28px}
  .look-strip{grid-template-columns:repeat(3,1fr)}
}
@media(min-width:900px){
  .home-hero{grid-template-columns:1.05fr 1fr;align-items:stretch}
  .home-hero-copy{padding:76px clamp(28px,5vw,72px)}
  .home-hero .hero-media{aspect-ratio:auto;min-height:clamp(480px,64vh,660px)}
  .ed-row{grid-template-columns:1fr 1fr;align-items:stretch}
  .editorial-band.flip .ed-media{order:2}
  .ed-media{aspect-ratio:auto;min-height:clamp(420px,52vh,560px)}
  .ed-copy{padding:64px clamp(28px,4vw,64px)}
  .why-grid{grid-template-columns:repeat(4,1fr)}
  .look-strip{grid-template-columns:repeat(6,1fr)}
}
@media(prefers-reduced-motion:reduce){
  .cat-shot img,.look-frame img{transition:none}
  .cat-tile:hover .cat-shot img,.look-frame:hover img{transform:none}
}

/* ============== noora-home-r21 : homepage polish ==============
   EVERY rule is scoped under .noora-home-page, which only the home page carries.
   Nothing here can reach the shop, category, product or 404 templates, and the
   footer and global element defaults are deliberately left alone. */

/* Secondary buttons used border:1px solid currentColor, and currentColor on
   .btn is --ivory, so on cream they were invisible. Espresso on taupe fixes the
   contrast - on the homepage only. */
.noora-home-page .btn.line{background:transparent;color:var(--espresso);
  border:1px solid var(--taupe)}
.noora-home-page .btn.line:hover,.noora-home-page .btn.line:focus-visible{
  background:var(--espresso);color:var(--ivory);border-color:var(--espresso)}
.noora-home-page .band-dark .btn.line{color:var(--ivory);border-color:rgba(241,232,219,.55)}
.noora-home-page .band-dark .btn.line:hover{background:var(--ivory);color:var(--ink);
  border-color:var(--ivory)}

/* ---- mobile hero: less dead space, shorter image ---- */
.noora-home-page .home-hero-copy{padding:28px var(--pad) 30px;gap:11px}
.noora-home-page .home-hero-copy .lede{max-width:34ch}
.noora-home-page .home-hero .hero-media{aspect-ratio:5/6}
.noora-home-page .home-hero .hero-cta{margin-top:4px;gap:9px}
.noora-home-page .home-hero .hero-cta .btn{padding:12px 22px;min-height:46px}

/* ---- trust strip: three compact columns at every width ---- */
.noora-home-page .trust-row{grid-template-columns:repeat(3,1fr);gap:10px;padding-block:14px}
.noora-home-page .trust-cell{gap:2px}
.noora-home-page .trust-cell b{font-size:11.5px;letter-spacing:.04em;line-height:1.25}
.noora-home-page .trust-cell span{font-size:11px;line-height:1.3}
@media(max-width:379px){ .noora-home-page .trust-cell span{display:none} }

/* ---- categories: one wide tile, two side by side, three+ in the grid ---- */
.noora-home-page .cat-grid.solo{grid-template-columns:1fr}
.noora-home-page .cat-grid.solo .cat-tile{display:grid;gap:0;grid-template-columns:1fr}
.noora-home-page .cat-grid.solo .cat-shot{aspect-ratio:4/3}
.noora-home-page .cat-grid.solo .cat-body{padding:18px var(--pad) 20px;background:var(--cream);
  display:flex;flex-direction:column;gap:7px}
.noora-home-page .cat-grid.solo .cat-tile b{font-size:21px}
.noora-home-page .cat-grid.pair{grid-template-columns:repeat(2,1fr)}
.noora-home-page .cat-body{display:flex;flex-direction:column;gap:5px;padding-top:2px}

/* ---- a single product gets a composition, not a lonely card ---- */
.noora-home-page .feat-wrap{display:block}
.noora-home-page .feat-card{display:grid;gap:0;background:var(--cream);border:1px solid var(--rule)}
.noora-home-page .feat-shot{position:relative;aspect-ratio:4/5;overflow:hidden;
  background:var(--shell);display:flex;align-items:center;justify-content:center}
.noora-home-page .feat-shot img{width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .5s ease}
.noora-home-page .feat-card:hover .feat-shot img{transform:scale(1.03)}
.noora-home-page .feat-copy{padding:22px var(--pad) 24px;display:flex;flex-direction:column;
  gap:9px;align-items:flex-start;justify-content:center}
.noora-home-page .feat-copy .h-2{margin:0}
.noora-home-page .feat-copy .lede{margin:0;max-width:40ch;font-size:15px}
.noora-home-page .price.big{font-size:19px;letter-spacing:.01em}
.noora-home-page .grid.pair{grid-template-columns:repeat(2,1fr)}

/* ---- typographic editorial band, used when no spare photograph exists ---- */
.noora-home-page .quiet-band{background:var(--sand);border-block:1px solid var(--rule)}
.noora-home-page .quiet{max-width:58ch;display:flex;flex-direction:column;gap:13px;
  align-items:flex-start;text-align:left}
.noora-home-page .quiet .h-1{margin:0}
.noora-home-page .quiet .lede{margin:0}

/* ---- tighter vertical rhythm, homepage only ---- */
.noora-home-page section{padding:40px 0}
.noora-home-page .trust{padding:0}
.noora-home-page .sec-head{margin-bottom:18px}
.noora-home-page .story{gap:12px;max-width:46ch}
.noora-home-page .why-grid{grid-template-columns:repeat(2,1fr);gap:20px 16px}
.noora-home-page .why-cell h3{font-size:15.5px;margin:0 0 4px}
.noora-home-page .why-cell p{font-size:13px;line-height:1.45}
.noora-home-page img{max-width:100%}

@media(min-width:700px){
  .noora-home-page .cat-grid.solo .cat-tile{grid-template-columns:1.1fr 1fr;align-items:stretch}
  .noora-home-page .cat-grid.solo .cat-shot{aspect-ratio:auto;min-height:clamp(300px,38vh,420px)}
  .noora-home-page .cat-grid.solo .cat-body{padding:34px clamp(22px,3vw,44px)}
  .noora-home-page .feat-card{grid-template-columns:1.05fr 1fr;align-items:stretch}
  .noora-home-page .feat-shot{aspect-ratio:auto;min-height:clamp(340px,44vh,480px)}
  .noora-home-page .feat-copy{padding:36px clamp(22px,3vw,48px)}
  .noora-home-page .why-grid{gap:26px 24px}
}
@media(min-width:900px){
  .noora-home-page section{padding:72px 0}
  .noora-home-page .home-hero-copy{padding:64px clamp(30px,4.5vw,64px);gap:15px}
  .noora-home-page .home-hero .hero-media{min-height:clamp(440px,58vh,600px)}
  .noora-home-page .trust-row{gap:34px;padding-block:20px}
  .noora-home-page .trust-cell b{font-size:13.5px}
  .noora-home-page .trust-cell span{font-size:12.5px}
  .noora-home-page .sec-head{margin-bottom:26px}
  .noora-home-page .why-grid{grid-template-columns:repeat(4,1fr);gap:34px 28px}
  .noora-home-page .story{max-width:52ch}
  .noora-home-page .quiet{max-width:64ch}
  .noora-home-page .feat-shot{min-height:clamp(420px,52vh,560px)}
  .noora-home-page .cat-grid.solo .cat-shot{min-height:clamp(380px,48vh,520px)}
}
@media(min-width:1280px){
  .noora-home-page .feat-card{grid-template-columns:1fr 1fr}
  .noora-home-page .cat-grid.solo .cat-tile{grid-template-columns:1fr 1fr}
}

/* ============== noora-home-crop : image framing only ==============
   Scoped to the homepage. Only object-fit, object-position and the mobile
   aspect ratios of two frames change. No size, spacing, copy, colour or
   button rule is touched, and nothing here can reach another page.

   object-fit:cover scales uniformly, so none of these rules can stretch or
   distort a photograph - the only question they answer is which part of the
   frame survives a crop. */

/* 1. Mobile hero: the subject sits high in a portrait photograph, so the crop
      is biased upward and the head is kept. Frame size is unchanged. */
.noora-home-page .home-hero .hero-media img{object-position:50% 20%}

/* 2. Single-category editorial tile: 4/3 cut too much off a portrait shot on a
      phone. A 4/5 frame is portrait-friendly and keeps head plus outfit; the
      desktop rule below already switches to aspect-ratio:auto, so wide screens
      are unaffected by this line. */
.noora-home-page .cat-grid.solo .cat-shot{aspect-ratio:4/5}
.noora-home-page .cat-grid.solo .cat-shot img{object-position:50% 22%}
.noora-home-page .cat-tile .cat-shot img{object-position:50% 25%}

/* 3. Single featured product card: the whole garment matters here, so the
      photograph is contained rather than cropped. contain never stretches;
      any spare space simply shows the shell tone behind it, which reads as a
      deliberate studio backdrop. */
.noora-home-page .feat-shot{background:var(--shell)}
.noora-home-page .feat-shot img{object-fit:contain;object-position:50% 45%}

@media(min-width:700px){
  /* Desktop may stay wider, but the subject is still not cut aggressively. */
  .noora-home-page .cat-grid.solo .cat-shot img{object-position:50% 25%}
  .noora-home-page .home-hero .hero-media img{object-position:50% 25%}
}

/* === NOORA PDP PREMIUM V1 START === */
/* Every rule starts at .noora-pdp-page, so nothing here reaches the homepage,
   the shop, the cart drawer or the shared header. The legacy global rules
   (.pdp, .pdp-info, .pdp-price, .acc) live above this block and are untouched;
   these scoped rules simply win on specificity. */

.noora-pdp-page{padding:0 0 88px}
.noora-pdp-page .crumb{padding:16px 0 4px;font-size:11px;letter-spacing:.12em}

/* -- media ---------------------------------------------------------------- */
.noora-pdp-page .pdp-media{display:flex;flex-direction:column;gap:12px}
.noora-pdp-page .pdp-shot{display:block;width:100%;background:var(--sand);
  overflow:hidden}
.noora-pdp-page .pdp-shot img{display:block;width:100%;height:auto}
.noora-pdp-page #thumbs{display:flex;gap:10px;flex-wrap:wrap;padding:2px 0 0}
.noora-pdp-page #thumbs:empty{display:none}
.noora-pdp-page .thumb{width:68px;height:88px;padding:0;border:1px solid var(--rule);
  background:var(--sand);overflow:hidden;cursor:pointer}
.noora-pdp-page .thumb img{width:100%;height:100%;object-fit:cover;display:block}
.noora-pdp-page .thumb[aria-pressed="true"]{border-color:var(--espresso)}
.noora-pdp-page .thumb:focus-visible{outline:2px solid var(--espresso);outline-offset:2px}

/* -- purchase panel ------------------------------------------------------- */
.noora-pdp-page .pdp-buy{padding:26px 0 0}
.noora-pdp-page .pdp-buy .h-1{font-family:var(--f-ed);font-weight:400;
  font-size:clamp(26px,6.6vw,32px);line-height:1.15;letter-spacing:-.01em;
  margin:0;color:var(--espresso)}
.noora-pdp-page #pdp-price{display:flex;flex-wrap:wrap;gap:12px;align-items:baseline;
  font-size:18px;color:var(--espresso);margin:14px 0 0}
.noora-pdp-page #pdp-price .was{color:var(--taupe);font-size:15px;
  text-decoration-thickness:1px}
.noora-pdp-page .pdp-buy .lede{color:var(--muted);font-size:14.5px;line-height:1.75;
  margin:16px 0 0;max-width:46ch}

/* .opt is only the option label wrapper ("Size  M"). The clickable controls are
   the buttons inside .chips - those are what product.js binds. */
.noora-pdp-page .opt{display:block;font-size:10px;letter-spacing:.22em;
  text-transform:uppercase;color:var(--taupe);margin:26px 0 10px}
.noora-pdp-page .opt b,.noora-pdp-page .opt strong{color:var(--espresso);
  font-weight:400;letter-spacing:.06em}
.noora-pdp-page .chips{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.noora-pdp-page .chips button{min-height:44px;min-width:56px;padding:0 16px;
  background:var(--cream);color:var(--espresso);border:1px solid var(--rule);
  border-radius:0;font:inherit;font-size:13.5px;letter-spacing:.04em;cursor:pointer;
  transition:border-color .18s ease,background-color .18s ease,color .18s ease}
.noora-pdp-page .chips button:hover{border-color:var(--taupe)}
.noora-pdp-page .chips button:focus-visible{outline:2px solid var(--espresso);
  outline-offset:2px}
.noora-pdp-page .chips button[aria-pressed="true"]{background:var(--espresso);
  border-color:var(--espresso);color:var(--ivory)}
.noora-pdp-page .chips button[disabled],
.noora-pdp-page .chips button[aria-disabled="true"]{opacity:.4;cursor:default;
  text-decoration:line-through}

.noora-pdp-page #pdp-stock{font-size:13px;color:var(--muted);margin:22px 0 0}
.noora-pdp-page #pdp-sku{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--muted);margin:8px 0 0}

/* -- add to bag ----------------------------------------------------------- */
.noora-pdp-page .buybar{margin:24px 0 0}
.noora-pdp-page #add-btn{display:flex;align-items:center;justify-content:center;
  width:100%;min-height:50px;border:0;border-radius:0;background:var(--espresso);
  color:var(--ivory);font:inherit;font-size:11.5px;letter-spacing:.22em;
  text-transform:uppercase;cursor:pointer;transition:opacity .18s ease}
.noora-pdp-page #add-btn:hover:not([disabled]){opacity:.88}
.noora-pdp-page #add-btn:focus-visible{outline:2px solid var(--espresso);
  outline-offset:3px}
.noora-pdp-page #add-btn[disabled]{opacity:.42;cursor:default}

/* -- trust ---------------------------------------------------------------- */
.noora-pdp-page .pdp-trust{display:flex;flex-wrap:wrap;gap:8px 22px;margin:20px 0 0;
  padding:16px 0 0;border-top:1px solid var(--sand);list-style:none}
.noora-pdp-page .pdp-trust li{position:relative;padding-left:14px;font-size:12.5px;
  color:var(--muted);line-height:1.6}
.noora-pdp-page .pdp-trust li::before{content:"";position:absolute;left:0;top:8px;
  width:4px;height:4px;border-radius:50%;background:var(--taupe)}

/* -- accordion ------------------------------------------------------------ */
.noora-pdp-page .pdp-details{padding:34px 0 0}
.noora-pdp-page .acc{border-top:1px solid var(--rule)}
.noora-pdp-page .acc details{border-bottom:1px solid var(--rule)}
.noora-pdp-page .acc summary{display:flex;align-items:center;
  justify-content:space-between;gap:16px;min-height:56px;padding:16px 0;
  font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--espresso);
  cursor:pointer;list-style:none}
.noora-pdp-page .acc summary::-webkit-details-marker{display:none}
.noora-pdp-page .acc summary::after{content:"+";font-size:15px;line-height:1;
  color:var(--taupe);font-weight:400;letter-spacing:0}
.noora-pdp-page .acc details[open] summary::after{content:"\2212"}
.noora-pdp-page .acc summary:focus-visible{outline:2px solid var(--espresso);
  outline-offset:2px}
.noora-pdp-page .acc .bd{padding:0 0 22px;color:var(--muted);font-size:14.5px;
  line-height:1.8;max-width:62ch}

/* -- why this piece ------------------------------------------------------- */
.noora-pdp-page .pdp-why{background:var(--sand);margin:56px 0 0;padding:56px 0}
.noora-pdp-page .pdp-why .sec-head{font-size:10px;letter-spacing:.26em;
  text-transform:uppercase;color:var(--taupe);margin:0 0 14px}
.noora-pdp-page .pdp-why .h-2{font-family:var(--f-ed);font-weight:400;
  font-size:clamp(24px,6vw,32px);line-height:1.15;margin:0;color:var(--espresso)}
.noora-pdp-page .pdp-why p:last-child{color:var(--muted);font-size:14.5px;
  line-height:1.75;margin:14px 0 0;max-width:44ch}
.noora-pdp-page .pdp-editorial{margin:56px 0 0}
.noora-pdp-page .pdp-editorial img{display:block;width:100%;height:auto}
.noora-pdp-page .pdp-related{padding:56px 0 0}

@media (prefers-reduced-motion:reduce){
  .noora-pdp-page .chips button,.noora-pdp-page #add-btn{transition:none}
}

@media (min-width:900px){
  .noora-pdp-page{padding:0 0 104px}
  .noora-pdp-page .pdp-top{display:grid;grid-template-columns:minmax(0,59fr) minmax(0,41fr);
    gap:56px;align-items:start}
  .noora-pdp-page .pdp-media{gap:16px}
  .noora-pdp-page .pdp-buy{position:sticky;top:94px;padding:0}
  .noora-pdp-page .pdp-buy .h-1{font-size:clamp(28px,2.6vw,36px)}
  /* .pdp-details is a sibling of .pdp-top, not a grid child, so it needs the
     page gutter of its own to line up with the product content. */
  .noora-pdp-page .pdp-details{padding:56px max(var(--pad),calc(50vw - 640px + var(--pad))) 0 max(var(--pad),calc(50vw - 640px + var(--pad)));max-width:none}
  .noora-pdp-page .pdp-details .acc{max-width:820px}
  .noora-pdp-page .pdp-why{margin:80px 0 0;padding:84px max(var(--pad),calc(50vw - 640px + var(--pad)))}
  .noora-pdp-page .pdp-why .h-2{max-width:22ch}
  .noora-pdp-page .pdp-why p:last-child{max-width:58ch;font-size:15px}
}
/* === NOORA PDP PREMIUM V1 END === */

/* ============== noora-pdp-prelock : confirmed QA fixes ==============
   Every rule is scoped under .noora-pdp-page. Nothing here touches the
   homepage, shop or category pages, and the fixed CTA keeps its behaviour. */

/* 1. The sticky site header sat over the title and price after the fixed
      "View options" link jumped to #buy. scroll-margin-top reserves the
      header's height at the anchor, which is what that property is for. */
.noora-pdp-page .pdp-buy{scroll-margin-top:76px}

/* 2. The global rule is .crumb{padding:16px 0 0}, and that shorthand wipes the
      horizontal gutter .wrap supplies, so the breadcrumb sat on the left edge
      on a phone and out of line with the image on desktop. The inline padding
      is restored for the product page only; the homepage breadcrumb keeps its
      own styling untouched. */
.noora-pdp-page .crumb{padding-left:var(--pad);padding-right:var(--pad)}

/* 3. The clearance for the fixed bar lived on the page wrapper, which put an
      empty cream band between the last section and the footer while still
      letting the footer's final line hide under the bar. The clearance moves
      onto the footer itself, so the gap sits where the bar actually is and the
      band disappears. The :has() selector means this only applies on a page
      that carries the PDP wrapper with its sticky bar - it is conditional, not
      a blanket body or footer rule. */
.noora-pdp-page.has-sticky{padding-bottom:0}
body:has(.noora-pdp-page.has-sticky) .site-foot{
  padding-bottom:calc(26px + 74px + env(safe-area-inset-bottom,0px))}
@media(min-width:900px){
  /* Desktop hides the bar, so neither the clearance nor the offset applies. */
  body:has(.noora-pdp-page.has-sticky) .site-foot{padding-bottom:26px}
}

/* ============== noora-cart-polish : cart drawer ==============
   Appended last so it wins without editing the block above. Every selector
   targets a cart class that cart.js itself creates, or body.cart-open, which
   only exists while the drawer is open. cart.js is not modified: no class is
   renamed, no element is expected that it does not already build.
   Stacking is untouched - PDP CTA 30, scrim 90, drawer 100. */

/* 1. A closed drawer sat off-screen under transform alone, so its buttons and
      links stayed in the tab order and reachable by screen readers.
      visibility:hidden removes it properly. The delay is what keeps the slide
      out visible: closing animates for .24s and only then goes invisible,
      while opening makes it visible immediately. */
.cart-drawer{visibility:hidden;
  transition:transform .24s ease, visibility 0s linear .24s}
body.cart-open .cart-drawer{visibility:visible;
  transition:transform .24s ease, visibility 0s linear 0s}

/* 2. The page used to scroll behind the open drawer on a phone. */
body.cart-open{overflow:hidden}

/* 3. Touch targets. The product page already uses 44px; the bag did not.
      The remove action gets a real 44px band rather than a 12px underline. */
.qty{gap:8px;flex-wrap:wrap;row-gap:6px;margin-top:12px}
.qty-btn{width:44px;height:44px;font-size:17px}
.qty-n{min-width:34px;font-size:15px}
.cart-remove{margin-left:auto;min-height:44px;display:inline-flex;align-items:center;
  padding:0 2px;font-size:12.5px;letter-spacing:.04em;text-decoration:none;
  border-bottom:1px solid var(--rule-2);color:var(--muted)}
.cart-remove:hover,.cart-remove:focus-visible{color:var(--espresso);border-bottom-color:var(--espresso)}

/* 4. The checkout area cleared the viewport edge but not an iPhone home
      indicator. */
.cart-foot{padding-bottom:calc(22px + env(safe-area-inset-bottom,0px))}

/* 5. Quiet-luxury hierarchy. A larger editorial title, the variant line set
      apart from the SKU, a line total that reads as a figure, and a subtotal
      that is clearly the number that matters. Hairlines only - no shadow, no
      badge, no bright colour. */
.cart-line{grid-template-columns:72px 1fr auto;gap:14px;padding:18px 0;
  border-bottom:1px solid var(--rule)}
.cart-line:last-child{border-bottom:0}
.cart-thumb{width:72px;aspect-ratio:3/4}
.cart-title{font-family:var(--f-ed);font-weight:400;font-size:16px;line-height:1.3}
.cart-meta{margin-top:4px;font-size:12.5px;color:var(--taupe);letter-spacing:.02em}
.cart-sku{margin-top:2px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--rule-2)}
.cart-price{font-size:15px;font-family:var(--f-ed);font-weight:400;padding-top:1px}
.cart-head{padding:20px var(--pad) 16px}
.cart-head h2{font-family:var(--f-ed);font-weight:400;font-size:20px;letter-spacing:.01em}
.cart-sum{margin-bottom:6px;padding-top:2px}
.cart-sum span{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.cart-sum b{font-size:22px}
.cart-foot .hint{font-size:11.5px;letter-spacing:.03em}
.cart-empty{padding:64px 12px 56px}
.cart-empty h3{font-family:var(--f-ed);font-weight:400}
.cart-empty p{margin:10px 0 22px;max-width:26ch;margin-left:auto;margin-right:auto}
.cart-notice{margin-top:16px;line-height:1.45}

/* 6. A long title must wrap, and a grid child needs min-width:0 before it is
      allowed to shrink - without it the drawer can scroll sideways. */
.cart-line,.cart-body{min-width:0}
.cart-title,.cart-meta,.cart-sku{overflow-wrap:anywhere}
.cart-drawer{overscroll-behavior:contain}
.cart-body-scroll{overscroll-behavior:contain}

/* ============== noora-cart-empty-fix ==============
   The empty bag's "Browse the collection" link was ivory on cream, so both the
   label and its border were effectively invisible. The global .btn sets
   color:var(--ivory) and .btn.line borders with currentColor, and the homepage
   carries its own override while the cart never had one. Setting the colour
   fixes the border too, because the border follows currentColor. The existing
   :hover (espresso fill, ivory label) still reads correctly. */
.cart-empty .btn.line{color:var(--espresso)}

/* ============== noora-cart-hover-fix ==============
   The previous fix set .cart-empty .btn.line{color:espresso}. That selector
   weighs the same as the global .btn.line:hover - three simple selectors each,
   (0,3,0) - so document order decided it, and coming later it also overrode
   the hover colour. The fill turned espresso while the label stayed espresso.
   Restoring the ivory label at the same scope, for hover and for keyboard
   focus, leaves the default state exactly as it is. */
/* noora-cart-focus-fix: the previous rule sent BOTH states to ivory, but
   only :hover has a background to sit on. :focus-visible has none, so
   ivory text landed on cream. The states are separated here, and the
   focus rule is placed FIRST so that focus-plus-hover still resolves to
   ivory on the espresso fill. No background and no outline is added. */
.cart-empty .btn.line:focus-visible{color:var(--espresso)}
.cart-empty .btn.line:hover{color:var(--ivory)}

/* ---------------------------------------------------------- collection ---- */
/* Everything below starts at .shop- or .noora-shop-page, so none of it can
   reach the homepage, the product page or the cart drawer.
   Kept from the approved polish and not to be undone:
     - the card body has NO horizontal padding, so text sits on the image edge
     - the price stays at var(--muted)
     - the card image keeps its 3:4 crop
     - #new-in (defined outside this block) clears the fixed header       */

.shop-page{overflow-x:clip;padding:0 0 72px}

/* -- hero: text panel left, photograph right ------------------------------ */
.shop-hero{display:grid;grid-template-columns:minmax(0,1fr);background:var(--ivory)}
.shop-hero-panel{display:flex;align-items:center;background:var(--ivory)}
.shop-hero-inner{padding:30px var(--pad) 34px;max-width:34rem}
.shop-hero-eyebrow{font-size:10px;letter-spacing:.26em;text-transform:uppercase;
  color:var(--taupe);margin:0 0 11px}
.shop-hero-title{font-family:var(--f-ed);font-weight:400;line-height:1.08;
  font-size:clamp(29px,7.4vw,40px);letter-spacing:-.01em;margin:0;color:var(--espresso)}
.shop-hero-sub{color:var(--muted);font-size:13.5px;line-height:1.65;margin:11px 0 0}
.shop-hero-accent{font-family:var(--f-ed);font-style:italic;font-size:15px;
  color:var(--taupe);margin:8px 0 0;letter-spacing:.01em}
.shop-hero-cta{display:inline-flex;align-items:center;justify-content:center;
  min-height:44px;margin:18px 0 0;padding:0 26px;background:var(--espresso);
  color:var(--ivory);font-size:12px;letter-spacing:.16em;text-transform:uppercase;
  text-decoration:none;transition:opacity .2s ease}
.shop-hero-cta:hover{opacity:.86;color:var(--ivory)}
.shop-hero-media{position:relative;overflow:hidden;background:var(--sand)}
.shop-hero-img{display:block;width:100%;height:100%;aspect-ratio:4/3;
  object-fit:cover;object-position:50% 22%}

/* -- round category row --------------------------------------------------- */
.shop-circles{margin:0 calc(var(--pad) * -1);padding:15px 0 13px;
  border-bottom:1px solid var(--sand)}
.shop-circles-rail{display:flex;gap:22px;justify-content:flex-start;
  overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;
  scroll-snap-type:x proximity;padding:0 var(--pad);
  scroll-padding-inline:var(--pad)}
.shop-circles-rail::-webkit-scrollbar{display:none}
.shop-circle{flex:0 0 auto;scroll-snap-align:start;display:flex;
  flex-direction:column;align-items:center;gap:9px;text-decoration:none;
  color:inherit;width:72px}
.shop-circle-ring{position:relative;display:flex;align-items:center;
  justify-content:center;width:64px;height:64px;border-radius:50%;
  overflow:hidden;background:var(--sand);border:1px solid var(--rule);
  transition:border-color .2s ease}
.shop-circle-img{width:100%;height:100%;object-fit:cover;display:block}
.shop-circle-initial{font-family:var(--f-ed);font-size:22px;color:var(--taupe)}
/* The neutral mark for All and New In - never a borrowed photograph and never
   a letter that could collide with a category's. A ring around a centred point:
   small, quiet, and unmistakably drawn rather than left empty. */
.shop-circle-mark{position:relative;display:flex;align-items:center;
  justify-content:center;width:38px;height:38px;border-radius:50%;
  border:1px solid var(--taupe);opacity:.85}
.shop-circle-mark::after{content:"";width:6px;height:6px;border-radius:50%;
  background:var(--taupe)}
.shop-circle:hover .shop-circle-mark{opacity:1}
.shop-circle.is-active .shop-circle-mark{border-color:var(--espresso);opacity:1}
.shop-circle.is-active .shop-circle-mark::after{background:var(--espresso)}
.shop-circle-label{font-size:12px;line-height:1.3;color:var(--muted);
  text-align:center;transition:color .2s ease}
.shop-circle:hover .shop-circle-ring{border-color:var(--taupe)}
.shop-circle:hover .shop-circle-label{color:var(--espresso)}
.shop-circle:focus-visible{outline:2px solid var(--espresso);outline-offset:3px}
.shop-circle.is-active .shop-circle-ring{border-color:var(--espresso)}
.shop-circle.is-active .shop-circle-label{color:var(--espresso)}

/* -- collection heading + sort -------------------------------------------- */
.shop-collhead{display:flex;flex-wrap:wrap;align-items:flex-end;
  justify-content:space-between;gap:14px;padding:16px 0 0}
.shop-collhead-title{font-family:var(--f-ed);font-weight:400;
  font-size:clamp(24px,6.5vw,30px);margin:0;color:var(--espresso)}
.shop-collhead-sub{font-size:13px;color:var(--muted);margin:7px 0 0}
.shop-sortwrap{display:flex;align-items:center;gap:8px}
.shop-sort-label{font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--taupe)}
.shop-sort{min-height:40px;padding:0 30px 0 12px;border:1px solid var(--rule);
  border-radius:0;background:var(--cream);color:var(--espresso);font:inherit;
  font-size:13px;appearance:none;cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),
                   linear-gradient(135deg,var(--muted) 50%,transparent 50%);
  background-position:calc(100% - 16px) 18px,calc(100% - 12px) 18px;
  background-size:4px 4px,4px 4px;background-repeat:no-repeat}
.shop-sort:focus-visible{outline:2px solid var(--espresso);outline-offset:1px}
.shop-bar{padding:12px 0 0}
/* On desktop the count sits over the grid column, clear of the sidebar. */
.shop-count{font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--taupe);margin:0}

/* -- sidebar + grid ------------------------------------------------------- */
.shop-main{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;
  padding:14px 0 0}
.shop-filter-toggle{justify-self:start;min-height:42px;padding:0 20px;
  border:1px solid var(--rule);background:var(--cream);color:var(--espresso);
  font:inherit;font-size:12px;letter-spacing:.14em;text-transform:uppercase;
  cursor:pointer}
.shop-filter-toggle:focus-visible{outline:2px solid var(--espresso);outline-offset:2px}
.shop-side{display:none;flex-direction:column;gap:16px;padding:18px;
  background:var(--cream);border:1px solid var(--rule)}
.shop-side.is-open{display:flex}
.shop-filter-group{display:flex;flex-direction:column;gap:9px;
  padding-bottom:16px;border-bottom:1px solid var(--sand)}
.shop-filter-group:last-of-type{border-bottom:0;padding-bottom:4px}
.shop-filter-head{font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;
  color:var(--taupe);margin:0;font-weight:400}
.shop-filter-row{display:flex;align-items:center;gap:9px;min-height:26px;
  font-size:13px;color:var(--ink);cursor:pointer}
.shop-filter-row input{width:14px;height:14px;accent-color:var(--espresso);
  flex:0 0 auto}
.shop-filter-price{width:100%;accent-color:var(--espresso)}
/* A single-price catalogue gets a range that plainly cannot slide. */
.shop-filter-price[disabled]{opacity:.45;cursor:default}
.shop-filter-scale{display:flex;justify-content:space-between;gap:10px;
  font-size:12px;color:var(--muted);margin:0}
.shop-filter-apply{min-height:46px;border:0;background:var(--espresso);
  color:var(--ivory);font:inherit;font-size:11px;letter-spacing:.2em;
  text-transform:uppercase;cursor:pointer}
.shop-filter-apply:hover{opacity:.88}
.shop-filter-reset{min-height:34px;border:0;background:transparent;
  color:var(--muted);font:inherit;font-size:12px;cursor:pointer;
  text-decoration:underline;text-underline-offset:3px;align-self:center}
.shop-filter-apply:focus-visible,.shop-filter-reset:focus-visible{
  outline:2px solid var(--espresso);outline-offset:2px}

.shop-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:26px 12px}
.shop-noresult{font-size:13.5px;color:var(--muted);margin:22px 0 0}
.shop-card{display:flex;flex-direction:column;min-width:0;text-decoration:none;
  color:inherit}
.shop-card[hidden]{display:none}
.shop-card:focus-visible{outline:2px solid var(--espresso);outline-offset:4px}
.shop-card-media{position:relative;display:block;overflow:hidden;
  background:var(--sand);aspect-ratio:3/4}
.shop-card-img{width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .6s cubic-bezier(.2,.6,.2,1)}
.shop-card-ph{position:absolute;inset:0;display:flex;align-items:center;
  justify-content:center;font-family:var(--f-ed);font-size:13px;
  letter-spacing:.3em;color:var(--taupe)}
.shop-card-flag{position:absolute;left:0;bottom:0;padding:8px 13px;
  background:var(--ivory);color:var(--muted);font-size:9.5px;letter-spacing:.18em;
  text-transform:uppercase}
.shop-card.is-out .shop-card-img{opacity:.6}
/* LOCKED: no horizontal padding - the text must sit on the image edge. */
.shop-card-body{display:flex;flex-direction:column;gap:6px;padding:12px 0 0;
  min-width:0}
.shop-card-title{font-family:var(--f-ed);font-weight:400;font-size:14px;
  line-height:1.4;margin:0;color:var(--espresso);overflow-wrap:anywhere}
/* LOCKED: the price stays one step quieter than the title. */
.shop-card-price{font-size:13.5px;color:var(--muted);margin:0;display:flex;
  flex-wrap:wrap;gap:8px;align-items:baseline}
.shop-card-was{color:var(--taupe);font-size:12px;text-decoration-thickness:1px}

.shop-empty{padding:56px 0 24px;max-width:40ch;margin:0 auto;text-align:center}
.shop-empty-title{font-family:var(--f-ed);font-weight:400;
  font-size:clamp(21px,5.5vw,26px);margin:0 0 12px;color:var(--espresso)}
.shop-empty-text{color:var(--muted);line-height:1.75;margin:0 0 26px}
.shop-empty .btn.line{min-height:46px;display:inline-flex;align-items:center;
  justify-content:center;padding:0 30px}

@media (hover:hover) and (pointer:fine){
  .shop-card:hover .shop-card-img{transform:scale(1.03)}
}
@media (prefers-reduced-motion:reduce){
  .shop-card-img{transition:none}
  .shop-card:hover .shop-card-img{transform:none}
}

@media (min-width:900px){
  .shop-page{padding:0 0 88px}
  .shop-hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    align-items:stretch}
  .shop-hero.is-textonly{grid-template-columns:minmax(0,1fr)}
  .shop-hero-inner{padding:26px 38px 26px max(var(--pad),calc(50vw - 620px + var(--pad)));
    max-width:27rem}
  .shop-hero-img{aspect-ratio:auto;height:100%;min-height:300px;max-height:none}
  .shop-circles{margin-left:0;margin-right:0;padding:18px 0 14px}
  .shop-circles-rail{padding-left:0;padding-right:0;gap:0;overflow:visible;
    flex-wrap:wrap;justify-content:center;max-width:760px;margin:0 auto}
  .shop-circle{flex:1 1 0;min-width:112px;max-width:152px}
  .shop-circle{width:112px}
  .shop-circle-ring{width:104px;height:104px}
  .shop-collhead{padding:16px 0 0}
  .shop-bar{margin-left:228px}
  .shop-main{grid-template-columns:200px minmax(0,1fr);gap:28px;
    align-items:start;padding:18px 0 0}
  .shop-filter-toggle{display:none}
  .shop-side{display:flex;position:sticky;top:96px;background:transparent;
    border:0;padding:0;gap:18px}
  .shop-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 18px}
  .shop-card-title{font-size:14.5px}
}
@media (min-width:1400px){
  .shop-grid{gap:30px 22px}
}

/* NOORA-SHOP-POLISH-V3 */
/* The header links to /shop/#new-in. The collection bar is the anchor;
   this keeps it clear of the fixed header when the browser jumps. */
#new-in{scroll-margin-top:76px}
/* NOORA-HEADER-V2 */
/* The announcement strip and the header reorder. The header markup is NOT
   touched: every id, every slot and every JS relationship is exactly where it
   was. The reference's logo-left / nav-centre / icons-right arrangement is
   reached with flex order alone, on desktop only - the phone keeps the
   burger-left, mark-centre layout it already had. */
.noora-announce{background:var(--espresso);color:var(--ivory);text-align:center;
  font-size:10.5px;letter-spacing:.14em;line-height:1.5;padding:7px var(--pad)}
.noora-announce span{opacity:.62;padding:0 8px}
@media (min-width:900px){
  .head-row{height:60px}
  .head-row > .mark{order:-1;font-size:21px}
  .head-nav{order:0;flex:1 1 auto;justify-content:center;gap:24px}
  .head-icons{order:1}
}

/* === NOORA SHOP PREMIUM POLISH V4 START === */
/* --- premium surface system (shop / collection only) ---------------------
   Three layers on every surface: a 1px warm contact edge, a soft local lift,
   and a wide low-opacity ambient shadow. The ambient layer is what the
   reference reads as "premium".

   Four groups, tuned separately, because one strength does not work on four
   different surfaces - an espresso button in particular swallows a shadow
   that reads clearly under a cream one.

   Only background, box-shadow and transition are written, so nothing moves. */
.shop-page{
  --edge:0 0 0 1px rgba(60,44,36,.075);

  /* A. light surfaces: category circles, Filters, Sort */
  --lift-light:0 2px 6px rgba(60,44,36,.06), 0 10px 24px rgba(60,44,36,.08);
  --lift-light-hover:0 3px 8px rgba(60,44,36,.075), 0 16px 34px rgba(60,44,36,.10);

  /* B. dark primary CTA: espresso on cream needs a wider, slightly stronger
     ambient or it reads flat */
  --lift-dark:0 2px 4px rgba(60,44,36,.14), 0 8px 18px rgba(60,44,36,.16),
    0 18px 38px rgba(60,44,36,.13);
  --lift-dark-hover:0 3px 6px rgba(60,44,36,.16), 0 12px 24px rgba(60,44,36,.18),
    0 24px 48px rgba(60,44,36,.15);

  /* C. the product card: the widest ambient on the page */
  --lift-card:0 2px 6px rgba(60,44,36,.055), 0 10px 24px rgba(60,44,36,.075),
    0 26px 54px rgba(60,44,36,.09);
  --lift-card-hover:0 3px 8px rgba(60,44,36,.07), 0 14px 30px rgba(60,44,36,.09),
    0 34px 68px rgba(60,44,36,.11);
}

/* category circles */
.shop-page .shop-circle-ring{background:var(--cream);
  box-shadow:var(--edge),var(--lift-light)}
.shop-page .shop-circle:hover .shop-circle-ring,
.shop-page .shop-circle.is-active .shop-circle-ring{box-shadow:var(--edge),var(--lift-light-hover)}

/* dark primary CTA */
.shop-page .shop-hero-cta,
.shop-page .shop-filter-apply{box-shadow:var(--lift-dark)}
.shop-page .shop-hero-cta:hover,
.shop-page .shop-filter-apply:hover{box-shadow:var(--lift-dark-hover)}

/* light controls */
.shop-page .shop-filter-toggle,
.shop-page .shop-sort{background:var(--cream);box-shadow:var(--edge),var(--lift-light)}
.shop-page .shop-filter-toggle:hover,
.shop-page .shop-sort:hover{box-shadow:var(--edge),var(--lift-light-hover)}

/* the product card is the elevated surface - image, title and price together */
.shop-page .shop-card{background:var(--cream);
  box-shadow:var(--edge),var(--lift-card)}
.shop-page .shop-card:hover,
.shop-page .shop-card:focus-visible{box-shadow:var(--edge),var(--lift-card-hover)}
/* the image keeps a hairline of its own, drawn inside so it cannot add a
   second shadow within the card */
.shop-page .shop-card-media{box-shadow:inset 0 0 0 1px rgba(60,44,36,.05)}

@media (prefers-reduced-motion:no-preference){
  .shop-page .shop-circle-ring,
  .shop-page .shop-hero-cta,
  .shop-page .shop-filter-apply,
  .shop-page .shop-filter-toggle,
  .shop-page .shop-sort,
  .shop-page .shop-card{transition:box-shadow .24s ease}
}
/* === NOORA SHOP PREMIUM POLISH V4 END === */

/* === NOORA BAG BUTTON POLISH V4 START === */
/* --- the bag button, on every page ---------------------------------------
   D. a compact light tile for the one icon-button in the shared header. This
   is the only rule in this pass that is not scoped to the shop, and it is
   deliberate: the header is shared, so the treatment is the same everywhere.

   Only background, box-shadow and transition - the icon, the badge, the
   position, the header height and the click behaviour are all untouched. */
.bag-btn{background:var(--cream);
  box-shadow:0 0 0 1px rgba(60,44,36,.07),
    0 1px 3px rgba(60,44,36,.07), 0 6px 16px rgba(60,44,36,.09)}
.bag-btn:hover{box-shadow:0 0 0 1px rgba(60,44,36,.09),
    0 2px 5px rgba(60,44,36,.09), 0 10px 22px rgba(60,44,36,.11)}
@media (prefers-reduced-motion:no-preference){
  .bag-btn{transition:box-shadow .22s ease}
}
/* === NOORA BAG BUTTON POLISH V4 END === */

/* === NOORA SHOP CARD REFINE V2 START === */
/* --- product card media frame -------------------------------------------
   A fixed portrait frame that any future product photograph drops into
   without stretching and without the layout moving.

   Ratio: 2:3. Taller than the 3:4 it replaces, because NOORA's photography is
   full-length garment on a model - the current file is 941x1672, close to
   9:16. In a 2:3 frame that leaves only thin side margins, while a squarer
   3:4 upload would leave equally small margins top and bottom. Every card in
   the grid keeps the same height whatever the source file is.

   contain, not cover: cover crops, and on a full-length abaya the crop takes
   the head or the hem - which is exactly what the current card does. contain
   shows the whole garment and lets the frame absorb the difference.

   The margins the frame leaves are the existing warm sand token, the same
   colour the media box already used, so they read as part of the card rather
   than as empty bars. The photograph itself is never recoloured.

   Body spacing: the title and the price sat flush against the card's left
   edge. The padding goes on the body only - never on .shop-card - so the card
   width, the grid and the frame are untouched. */
.shop-page .shop-card-media{aspect-ratio:2/3;background:var(--sand)}
.shop-page .shop-card-img{width:100%;height:100%;
  object-fit:contain;object-position:center center}
.shop-page .shop-card-body{padding:13px 14px 15px}
/* === NOORA SHOP CARD REFINE V2 END === */

/* === NOORA SHOP LOAD MORE V1 START === */
/* --- load more ------------------------------------------------------------
   Rendered by the builder only when the collection holds more than one batch,
   and hidden by shop.js the moment every match is on screen. It never appears
   with nothing behind it. */
.shop-page .shop-morewrap{display:flex;justify-content:center;padding:36px 0 0}
.shop-page .shop-more{min-height:46px;padding:0 34px;border:1px solid var(--rule);
  background:var(--cream);color:var(--espresso);font:inherit;font-size:11.5px;
  letter-spacing:.2em;text-transform:uppercase;cursor:pointer;
  box-shadow:0 0 0 1px rgba(60,44,36,.05), 0 2px 6px rgba(60,44,36,.06),
    0 10px 24px rgba(60,44,36,.07)}
.shop-page .shop-more:hover{box-shadow:0 0 0 1px rgba(60,44,36,.07),
    0 3px 8px rgba(60,44,36,.075), 0 16px 34px rgba(60,44,36,.09)}
.shop-page .shop-more:focus-visible{outline:2px solid var(--espresso);outline-offset:3px}
.shop-page .shop-more[hidden]{display:none}
.shop-page .shop-morewrap:has(.shop-more[hidden]){display:none}
/* === NOORA SHOP LOAD MORE V1 END === */

/* === NOORA CATEGORY RAIL POLISH V1 START === */
/* The category circle rail only: breathing room after the hero and before the
   collection, a clear 26px gap between circles on desktop, snap + a faint edge
   fade on narrow screens, and a hairline under the active label. */
.shop-page .shop-circles{padding:26px 0 22px}
.shop-page .shop-circle.is-active .shop-circle-label{text-decoration:underline;
  text-decoration-thickness:1px;text-decoration-color:var(--espresso);
  text-underline-offset:4px}
@media (max-width:899px){
  .shop-page .shop-circles-rail{scroll-snap-type:x mandatory}
}
@media (max-width:559px){
  .shop-page .shop-circles-rail{
    -webkit-mask-image:linear-gradient(to right,#000 calc(100% - 28px),transparent);
            mask-image:linear-gradient(to right,#000 calc(100% - 28px),transparent)}
}
@media (min-width:900px){
  .shop-page .shop-circles{padding:34px 0 26px}
  .shop-page .shop-circles-rail{gap:26px}
  .shop-page .shop-circle{flex:0 0 104px;width:104px;min-width:104px}
}
/* === NOORA CATEGORY RAIL POLISH V1 END === */

/* === NOORA SHOP COLLECTION POLISH V1 START === */
/* Collection section only: more air above the heading, clearer small labels,
   a wider grid gutter and larger filter tap targets below 900px. */
.shop-page .shop-collhead{padding-top:40px}
.shop-page .shop-count,.shop-page .shop-filter-head{color:var(--muted)}
@media (max-width:899px){
  .shop-page .shop-grid{column-gap:18px}
  .shop-page .shop-filter-row{min-height:44px}
  .shop-page .shop-filter-reset{min-height:44px;padding:0 12px}
}
/* === NOORA SHOP COLLECTION POLISH V1 END === */

/* === NOORA PDP SAFE POLISH V1 START === */
/* Product page only (.noora-pdp-page). The main photograph sits in a stable
   9:16 frame and is contained, never cropped; on tablet and desktop the frame
   is capped so it is never taller than the screen. 768-899px gets the two
   column layout. Below 900px a sticky bar carries the price and Add to bag. */
.noora-pdp-page .pdp-shot{aspect-ratio:9/16}
.noora-pdp-page .pdp-shot img{height:100%;object-fit:contain;object-position:center}
@media (min-width:768px){
  .noora-pdp-page .pdp-shot{width:min(100%,calc(min(84vh,860px) * 9 / 16));
    margin-left:auto;margin-right:auto}
}
@media (min-width:768px) and (max-width:899px){
  .noora-pdp-page .pdp-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:28px;align-items:start}
  .noora-pdp-page .pdp-buy{padding:0}
}
/* contrast: breadcrumb, option labels, old price (var(--muted) is AA) */
.noora-pdp-page .crumb{color:var(--muted)}
.noora-pdp-page .opt{color:var(--muted)}
.noora-pdp-page #pdp-price .was{color:var(--muted)}
/* the Add to bag confirmation is for screen readers only */
.noora-pdp-page .pdp-live{position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}
.noora-pdp-page #add-btn[aria-busy="true"]{cursor:progress}
/* sticky price + Add to bag, phones and tablets only */
.noora-pdp-page .pdp-stickybar{display:none}
@media (max-width:899px){
  .noora-pdp-page{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}
  .noora-pdp-page .pdp-stickybar{position:fixed;left:0;right:0;bottom:0;z-index:30;
    display:flex;align-items:center;justify-content:space-between;gap:14px;
    padding:10px var(--pad) calc(10px + env(safe-area-inset-bottom,0px));
    background:var(--ivory);border-top:1px solid var(--rule);
    transform:translateY(110%);visibility:hidden;
    transition:transform .24s ease,visibility 0s linear .24s}
  .noora-pdp-page .pdp-stickybar[hidden]{display:none}
  .noora-pdp-page .pdp-stickybar.is-shown{transform:none;visibility:visible;
    transition:transform .24s ease,visibility 0s}
  body.cart-open .noora-pdp-page .pdp-stickybar{visibility:hidden}
  .noora-pdp-page .pdp-sticky-price{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;
    font-size:16px;color:var(--espresso);min-width:0}
  .noora-pdp-page .pdp-sticky-price .was{color:var(--muted);font-size:13px}
  .noora-pdp-page .pdp-stickybar .btn{flex:0 0 auto;min-height:46px;padding:0 22px}
}
@media (prefers-reduced-motion:reduce){
  .noora-pdp-page .pdp-stickybar,.noora-pdp-page .pdp-stickybar.is-shown{transition:none}
}
/* === NOORA PDP SAFE POLISH V1 END === */

/* === NOORA CHECKOUT UI V1 START === */
/* The checkout and thank-you pages only. Every rule starts at
   .noora-checkout-page, so nothing reaches any other page. */
.noora-checkout-page{--co-error:#8a2f25;padding:0 0 72px}
.noora-checkout-page .co-wrap{padding-top:18px}
.noora-checkout-page .co-crumb{display:flex;gap:8px;font-size:11px;letter-spacing:.12em;
  color:var(--muted);margin:0 0 10px}
.noora-checkout-page .co-crumb a{color:inherit}
.noora-checkout-page .co-title{font-family:var(--f-ed);font-weight:400;
  font-size:clamp(28px,7vw,36px);line-height:1.15;margin:0 0 20px;color:var(--espresso)}
.noora-checkout-page .co-note{color:var(--muted);font-size:14.5px;line-height:1.7;margin:0 0 16px}
.noora-checkout-page .co-state{min-height:180px}
.noora-checkout-page .co-skel{height:360px;background:var(--cream);border:1px solid var(--rule)}
.noora-checkout-page .co-blocked{margin:0 0 18px;padding-left:18px;color:var(--espresso);font-size:14px}
.noora-checkout-page .co-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:28px}
.noora-checkout-page .co-grid[hidden]{display:none}
.noora-checkout-page .co-summary{order:-1}
.noora-checkout-page .co-set{border:0;margin:0 0 26px;padding:0;min-width:0}
.noora-checkout-page .co-set legend{font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--muted);margin:0 0 14px;padding:0}
.noora-checkout-page .co-field{margin:0 0 16px}
.noora-checkout-page .co-field label{display:block;font-size:13px;color:var(--espresso);margin:0 0 6px}
.noora-checkout-page .co-opt{color:var(--muted)}
.noora-checkout-page .co-field input,.noora-checkout-page .co-field select,
.noora-checkout-page .co-field textarea{display:block;width:100%;max-width:100%;min-height:48px;
  padding:12px 14px;font:inherit;font-size:16px;color:var(--espresso);background:var(--ivory);
  border:1px solid var(--rule);border-radius:0;box-sizing:border-box}
.noora-checkout-page .co-field textarea{resize:vertical;min-height:72px}
.noora-checkout-page .co-field :focus-visible{outline:2px solid var(--espresso);outline-offset:1px}
.noora-checkout-page .co-field [aria-invalid="true"]{border-color:var(--co-error)}
.noora-checkout-page .co-hint{font-size:12px;color:var(--muted);margin:6px 0 0}
.noora-checkout-page .co-err{font-size:12.5px;color:var(--co-error);margin:6px 0 0}
.noora-checkout-page .co-rates{list-style:none;display:flex;flex-wrap:wrap;gap:6px 18px;margin:0;padding:0;
  font-size:12.5px;color:var(--muted)}
.noora-checkout-page .co-rates span{color:var(--espresso)}
.noora-checkout-page .co-cod{border:1px solid var(--rule);background:var(--cream);padding:14px 16px}
.noora-checkout-page .co-cod-title{font-size:14px;color:var(--espresso);margin:0 0 4px}
.noora-checkout-page .co-cod-copy{font-size:13px;color:var(--muted);line-height:1.6;margin:0}
.noora-checkout-page .co-form-error{color:var(--co-error);font-size:13.5px;margin:0 0 12px}
.noora-checkout-page .co-submit{min-height:52px}
.noora-checkout-page .co-submit[aria-busy="true"]{cursor:progress}
.noora-checkout-page .co-status{font-size:12.5px;color:var(--muted);min-height:18px;margin:8px 0 0}
.noora-checkout-page .co-sum-box{border:1px solid var(--rule);background:var(--cream);padding:0 16px}
.noora-checkout-page .co-sum-box summary{cursor:pointer;padding:14px 0;font-size:10.5px;letter-spacing:.22em;
  text-transform:uppercase;color:var(--espresso)}
.noora-checkout-page .co-lines{list-style:none;margin:0;padding:0}
.noora-checkout-page .co-line{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:12px;
  align-items:center;padding:10px 0;border-top:1px solid var(--rule)}
.noora-checkout-page .co-line-img{width:56px;height:84px;background:var(--sand);overflow:hidden}
.noora-checkout-page .co-line-img img{width:100%;height:100%;object-fit:contain;display:block}
.noora-checkout-page .co-line-title{font-size:13.5px;color:var(--espresso);margin:0 0 3px;overflow-wrap:anywhere}
.noora-checkout-page .co-line-meta{font-size:12px;color:var(--muted);margin:0}
.noora-checkout-page .co-line-price{font-size:13.5px;color:var(--espresso);margin:0;white-space:nowrap}
.noora-checkout-page .co-totals{margin:0;padding:10px 0;border-top:1px solid var(--rule)}
.noora-checkout-page .co-totals div{display:flex;justify-content:space-between;gap:12px;padding:5px 0;font-size:14px}
.noora-checkout-page .co-totals dt{color:var(--muted)}
.noora-checkout-page .co-totals dd{margin:0;color:var(--espresso)}
.noora-checkout-page .co-grand{border-top:1px solid var(--rule);margin-top:6px;padding-top:10px}
.noora-checkout-page .co-grand dt,.noora-checkout-page .co-grand dd{font-size:16px;color:var(--espresso)}
.noora-checkout-page .co-zone-line,.noora-checkout-page .co-free,.noora-checkout-page .co-fine{font-size:12.5px;
  color:var(--muted);margin:0 0 8px}
.noora-checkout-page .co-free.is-free{color:var(--espresso)}
.noora-checkout-page .co-fine{padding-bottom:14px}
.noora-checkout-page .co-eyebrow{font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}
.noora-checkout-page .co-narrow{max-width:560px}
.noora-checkout-page .ty-ref{font-family:var(--f-ed);font-size:clamp(24px,6vw,30px);letter-spacing:.04em;
  color:var(--espresso);margin:0 0 20px;overflow-wrap:anywhere}
.noora-checkout-page[data-ty="basic"] .ty-full,.noora-checkout-page[data-ty="full"] .ty-basic{display:none}
.noora-checkout-page .ty-full .co-totals{margin-bottom:18px}
.noora-checkout-page .ty-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
@media (min-width:900px){
  .noora-checkout-page .co-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:56px;align-items:start}
  .noora-checkout-page .co-summary{order:0}
  .noora-checkout-page .co-sum-box summary{pointer-events:none;list-style:none}
  .noora-checkout-page .co-sum-box summary::-webkit-details-marker{display:none}
}
/* Sticky only when the whole summary can fit on screen. */
@media (min-width:900px) and (min-height:700px){
  .noora-checkout-page .co-summary{position:sticky;top:94px}
}
/* The bag drawer's Checkout link (every page), styled like the button it replaces. */
.cart-foot a.btn.block{display:flex;align-items:center;justify-content:center;text-decoration:none}
/* === NOORA CHECKOUT UI V1 END === */

/* === NOORA HERO SLIDER PHASE C START === */
/* The published hero: one full-width banner with a real height. Slides share
   one grid cell, so the frame never jumps; images cover the whole banner. */
.shop-page .noora-hero-banner{position:relative;padding:0;width:100%;max-width:100%;
  height:clamp(420px,40vw,560px);overflow:hidden;background:var(--sand)}
@media (max-width:760px){
  .shop-page .noora-hero-banner{height:clamp(220px,64vw,320px)}
}
.shop-page .noora-visually-hidden{position:absolute !important;width:1px !important;
  height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;
  clip:rect(0,0,0,0) !important;clip-path:inset(50%) !important;white-space:nowrap !important;
  border:0 !important}
.shop-page .noora-hero-slides{position:relative;display:grid;width:100%;height:100%;
  background:var(--sand)}
.shop-page .noora-hero-slides:focus-visible{outline:2px solid var(--espresso);outline-offset:-4px}
.shop-page .noora-hero-slide{grid-area:1/1;margin:0;display:block;width:100%;height:100%;
  min-width:0;min-height:0;overflow:hidden;opacity:0;visibility:hidden;
  transition:opacity .9s ease,visibility 0s linear .9s}
.shop-page .noora-hero-slide.is-active{opacity:1;visibility:visible;
  transition:opacity .9s ease,visibility 0s}
.shop-page .noora-hero-slide img{display:block;width:100%;height:100%;max-width:100%;
  object-fit:cover;object-position:center}
.shop-page .noora-hero-dots{position:absolute;left:0;right:0;bottom:14px;display:flex;
  justify-content:center;gap:8px;pointer-events:none}
.shop-page .noora-hero-dot{pointer-events:auto;width:8px;height:8px;padding:0;border:0;
  border-radius:50%;background:rgba(60,44,36,.26);cursor:pointer}
.shop-page .noora-hero-dot[aria-current="true"]{background:rgba(60,44,36,.78)}
.shop-page .noora-hero-dot:focus-visible{outline:2px solid var(--espresso);outline-offset:3px}
@media (prefers-reduced-motion:reduce){
  .shop-page .noora-hero-slide,.shop-page .noora-hero-slide.is-active{transition:none}
}
/* === NOORA HERO SLIDER PHASE C END === */

/* === NOORA Stage 1: typography hierarchy (webfont metrics) === */
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
.h-hero{font-size:clamp(38px,10vw,76px);line-height:.98;letter-spacing:-.012em}
.h-1{font-size:clamp(29px,6.2vw,50px);line-height:1.04;letter-spacing:-.008em}
.h-2{font-size:clamp(23px,4.8vw,36px);line-height:1.12;letter-spacing:-.004em}
.mark{font-weight:600}

/* === NOORA Stage 1c: UI chrome in Jost (nav, buttons, labels, eyebrows) === */
.eyebrow,.btn,.head-nav,.head-nav a,.chips button,.shop-sort-label,.shop-circle-label,.noora-checkout-page .co-field label{font-family:var(--f-nav)}
.head-nav,.eyebrow,.shop-sort-label{font-weight:500}
.noora-pdp-page .chips button,.noora-pdp-page #add-btn,.shop-sort,.shop-filter-toggle,.shop-filter-apply,.shop-filter-reset,.shop-page .shop-more{font-family:var(--f-nav)}

/* ================== NOORA V2 - STEP 1: tokens + type scale ==================
   Appended, not rewritten: deleting this block restores the previous look. */
:root{
  --esp:#3C2C24; --wine:#7C3140; --ph:#A2907C;
  --ivory:#FBF8F3; --cream:#F4EEE6; --sand:#E9E0D3;
  --espresso:var(--esp); --muted:#6F6158;
  --rule:#D8CDBF; --rule-2:#C4B6A4;
  --burgundy:var(--wine); --burgundy-soft:rgba(124,49,64,.07);
  --ok:#4A7A52;
  --display:'Cormorant Garamond','Hind Siliguri',Georgia,serif;
  --ui:'Jost','Hind Siliguri',system-ui,sans-serif;
  --body:'Inter','Hind Siliguri',system-ui,sans-serif;
  --bn:'Hind Siliguri','Inter',system-ui,sans-serif;
  --f-ed:var(--display); --f-nav:var(--ui); --f-ui:var(--body);
  --gutter:16px; --wrap:1328px;
}
@media(min-width:900px){:root{--gutter:56px}}
body{font-family:var(--body);font-weight:300;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
@media(max-width:560px){body{font-size:14px}}
h1,h2,h3{margin:0;font-weight:400}
.bn{font-family:var(--bn);font-weight:400}
.v2-wrap{max-width:var(--wrap);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}
.t-h1{font-family:var(--display);font-weight:400;font-size:clamp(34px,4.6vw,62px);line-height:1.05;letter-spacing:-.006em}
.t-h2{font-family:var(--display);font-weight:400;font-size:clamp(30px,3.2vw,42px);line-height:1.12}
.t-h3{font-family:var(--display);font-weight:400;font-size:clamp(20px,1.7vw,22px);line-height:1.25}
.t-body{font-family:var(--body);font-weight:300;font-size:clamp(14px,1.2vw,16px);line-height:1.62}
.t-sm{font-size:clamp(13.5px,1vw,14.5px)}
.t-micro{font-size:clamp(12px,.9vw,12.5px)}
.t-eyebrow{font-family:var(--ui);font-weight:500;text-transform:uppercase;color:var(--muted);font-size:clamp(10px,.8vw,11px);letter-spacing:.24em}
@media(min-width:900px){.t-eyebrow{letter-spacing:.26em}}
.t-ui{font-family:var(--ui);text-transform:uppercase;letter-spacing:.14em}
.tap{min-height:44px;min-width:44px}
/* photo / video slot - a missing asset must be VISIBLE, never a silent empty box */
.slot{position:relative;background:var(--sand);display:flex;align-items:center;justify-content:center;overflow:hidden}
.slot>img,.slot>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.slot-name{font-family:var(--ui);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--ph);text-align:center;padding:8px;line-height:1.5}
/* ================== END NOORA V2 - STEP 1 ================== */

/* ================== NOORA V2 - STEP 2: shared chrome ================== */
.v2-announce{background:var(--esp);color:var(--cream);min-height:36px;display:flex;align-items:center;justify-content:center;font-family:var(--ui);font-weight:400;font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;text-align:center;padding:0 12px}
@media(min-width:900px){.v2-announce{min-height:44px}}
.v2-ann-d{display:none}
.v2-ann-m{display:inline}
@media(min-width:900px){.v2-ann-d{display:inline}.v2-ann-m{display:none}}
.v2-ann-dot{opacity:.45;padding:0 14px}
.v2-head{background:var(--ivory);border-bottom:1px solid var(--rule);position:sticky;top:0;z-index:40}
.v2-head-in{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter);min-height:60px;display:grid;grid-template-columns:44px 1fr 44px;align-items:center}
@media(min-width:900px){.v2-head-in{min-height:76px;display:flex;gap:0}}
.v2-icon{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;background:none;border:0;color:var(--esp);cursor:pointer;padding:0}
.v2-icon:focus-visible{outline:2px solid var(--esp);outline-offset:2px}
@media(min-width:900px){.v2-burger{display:none}}
.v2-logo{font-family:var(--display);font-weight:400;font-size:21px;letter-spacing:.32em;color:var(--esp);text-decoration:none;text-align:center;padding-left:.32em;white-space:nowrap}
@media(min-width:900px){.v2-logo{font-size:27px;letter-spacing:.34em;text-align:left}}
.v2-nav{display:none}
@media(min-width:900px){.v2-nav{display:flex;gap:30px;margin-left:64px;font-family:var(--ui);font-weight:400;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase}}
.v2-nav a{color:var(--esp);text-decoration:none;white-space:nowrap}
.v2-nav a:hover{color:var(--wine)}
.v2-head-act{display:flex;align-items:center;justify-content:flex-end}
@media(min-width:900px){.v2-head-act{margin-left:auto;gap:6px}}
.v2-bag{position:relative;height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0;background:none;border:0;color:var(--esp);font-family:var(--ui);font-weight:400;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
@media(min-width:900px){.v2-bag{padding:0 16px;background:var(--cream);border:1px solid var(--rule)}}
.v2-bag:focus-visible{outline:2px solid var(--esp);outline-offset:2px}
.v2-bag-lb{display:none}
@media(min-width:900px){.v2-bag-lb{display:inline}}
.v2-bag-n{color:var(--muted);font-size:11px}
.v2-bag-n:not([hidden]){position:absolute;top:4px;right:2px;min-width:17px;height:17px;border-radius:9px;background:var(--wine);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:10px;letter-spacing:0;padding:0 4px}
@media(min-width:900px){.v2-bag-n:not([hidden]){position:static;background:none;color:var(--muted);height:auto;border-radius:0;padding:0}.v2-bag-n:not([hidden])::before{content:"("}.v2-bag-n:not([hidden])::after{content:")"}}
body.menu-open{overflow:hidden}
.scrim,.cart-scrim{background:rgba(60,44,36,.38)}
.drawer.v2-drawer{width:min(320px,88vw);background:var(--ivory);box-shadow:18px 0 44px rgba(60,44,36,.18);padding:0;display:flex;flex-direction:column}
.v2-drawer-head{min-height:62px;display:flex;align-items:center;justify-content:space-between;padding:0 8px 0 18px;border-bottom:1px solid var(--rule);flex:0 0 auto}
.v2-drawer-mark{font-family:var(--display);font-weight:400;font-size:19px;letter-spacing:.32em;padding-left:.32em;color:var(--esp)}
.v2-drawer-body{padding:12px 18px 24px;display:flex;flex-direction:column;overflow-y:auto}
.v2-drawer-body a{display:flex;align-items:center;min-height:44px;color:var(--esp);text-decoration:none;font-family:var(--ui);font-weight:400;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase}
.v2-drawer-body a:hover{color:var(--wine)}
.v2-drawer-eye{margin:18px 0 2px}
.cart-drawer.v2-bagdrawer{width:min(340px,92vw);background:var(--ivory);box-shadow:-18px 0 44px rgba(60,44,36,.18);padding:0;display:flex;flex-direction:column}
.v2-bagdrawer-head{min-height:62px;display:flex;align-items:center;justify-content:space-between;padding:0 8px 0 18px;border-bottom:1px solid var(--rule);flex:0 0 auto}
.v2-bagdrawer-head h2{font-family:var(--display);font-weight:400;font-size:21px;margin:0;letter-spacing:0}
.cart-drawer.v2-bagdrawer .cart-body-scroll{flex:1 1 auto;overflow-y:auto;padding:18px}
.cart-drawer.v2-bagdrawer .cart-foot{flex:0 0 auto;border-top:1px solid var(--rule);padding:16px 18px}
.v2-fd{flex:0 0 auto;background:var(--cream);border-bottom:1px solid var(--rule);padding:14px 16px}
.v2-fd-text{margin:0 0 8px;font-family:var(--ui);font-weight:400;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--esp)}
.v2-fd-track{height:4px;background:#E2D8CA;overflow:hidden}
.v2-fd-fill{height:100%;width:0;background:var(--esp);transition:width .3s ease}
@media(prefers-reduced-motion:reduce){.v2-fd-fill{transition:none}}
.v2-foot{background:var(--esp);color:#D9C9B8}
.v2-foot-in{max-width:var(--wrap);margin:0 auto;padding:48px var(--gutter) 8px;display:grid;gap:36px}
@media(min-width:900px){.v2-foot-in{grid-template-columns:300px 1fr;gap:56px;padding:64px var(--gutter) 40px}}
.v2-foot-mark{font-family:var(--display);font-weight:400;font-size:26px;letter-spacing:.34em;color:#F1E6D8;display:block;padding-left:.34em}
.v2-foot-line{margin:14px 0 0;font-size:14px;line-height:1.6;color:#D9C9B8;max-width:34ch}
.v2-foot-bn{margin:10px 0 0;font-size:14px;color:#C8B6A3}
.v2-foot-cols{display:grid;grid-template-columns:1fr 1fr;gap:28px}
@media(min-width:900px){.v2-foot-cols{grid-template-columns:repeat(3,1fr);gap:56px}}
.v2-foot-cols h4{margin:0 0 14px;font-family:var(--ui);font-weight:500;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#C8B6A3}
.v2-foot-cols ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.v2-foot-cols a{color:#D9C9B8;text-decoration:none;font-size:14px;display:inline-block;min-height:24px}
.v2-foot-cols a:hover{color:#F1E6D8;text-decoration:underline}
.v2-brk{color:#C8B6A3;font-size:13px;font-family:var(--ui);letter-spacing:.06em}
.v2-foot-strip{border-top:1px solid #56412F}
.v2-foot-strip-in{max-width:var(--wrap);margin:0 auto;padding:18px var(--gutter);display:flex;flex-wrap:wrap;gap:6px 24px;justify-content:space-between;font-size:12.5px;color:#C8B6A3}
/* ================== END NOORA V2 - STEP 2 ================== */
/* V2: the nav drawer and its scrim belong to the mobile header, which now ends
   at 900px (the old rule used 960px and left a 60px band with neither). */
@media(min-width:900px){.drawer,.scrim{display:none!important}}

/* ============== NOORA V2 - STEP 3: homepage ============== */
.r-hero{aspect-ratio:3/4}
@media(min-width:900px){.r-hero{aspect-ratio:2/1}}
.r-3x4{aspect-ratio:3/4}.r-1x1{aspect-ratio:1/1}.r-4x3{aspect-ratio:4/3}
.r-5x3{aspect-ratio:5/3}.r-16x9{aspect-ratio:16/9}.r-9x16{aspect-ratio:9/16}
.v2-sec{padding:44px 0}
@media(min-width:900px){.v2-sec{padding:72px 0}}
.v2-sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:0 0 22px}
.v2-sec-head h2{margin:8px 0 0}
.v2-sec-link{font-family:var(--ui);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);text-decoration:none;border-bottom:1px solid var(--rule);padding-bottom:3px;white-space:nowrap}
.v2-sec-link:hover{color:var(--esp)}
.v2-sec-lede{max-width:56ch;color:var(--muted);margin:0 0 24px}
.v2-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 24px;font-family:var(--ui);font-weight:400;font-size:12px;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;cursor:pointer;border:1px solid transparent;transition:background-color .18s,color .18s,border-color .18s}
@media(min-width:900px){.v2-btn{min-height:52px;font-size:12.5px}}
.v2-btn-fill{background:var(--esp);color:var(--ivory)}
.v2-btn-fill:hover{background:#2C1F19}
.v2-btn-line{background:var(--ivory);color:var(--esp);border-color:var(--esp)}
.v2-btn-line:hover{background:var(--cream)}
.v2-btn-wine{background:var(--wine);color:#fff}
.v2-btn-wine:hover{background:#65262F}
.v2-btn-ghost{background:transparent;color:#F1E6D8;border-color:#C8B6A3}
.v2-btn-ghost:hover{background:rgba(241,230,216,.08)}
.v2-ulink{display:inline-block;font-family:var(--ui);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--esp);text-decoration:none;border-bottom:1px solid var(--esp);padding-bottom:3px}
.v2-brk{color:var(--ph);font-family:var(--ui);letter-spacing:.06em}
.v2-hero{position:relative}
.v2-hero .slot{width:100%}
@media(min-width:900px){.v2-hero{display:grid}.v2-hero>.slot{grid-area:1/1}.v2-hero-card{grid-area:1/1}}
.v2-hero-card{background:rgba(251,248,243,.93);border:1px solid var(--rule);padding:24px 20px;margin:-60px 16px 0;position:relative;z-index:2}
@media(min-width:900px){.v2-hero-card{width:560px;padding:52px 48px;margin:0 0 0 80px;align-self:center}}
.v2-hero-card h1{margin:12px 0 0}
.v2-hero-p{color:var(--muted);margin:14px 0 0;max-width:42ch}
.v2-hero-btns{display:grid;gap:10px;margin-top:24px}
@media(min-width:520px){.v2-hero-btns{grid-auto-flow:column;justify-content:start;gap:12px}}
.v2-grid-4{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
@media(min-width:900px){.v2-grid-4{grid-template-columns:repeat(4,1fr);gap:20px}}
.v2-grid-3{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
@media(min-width:900px){.v2-grid-3{grid-template-columns:repeat(3,1fr);gap:20px}}
.v2-card{display:block;text-decoration:none;color:var(--esp)}
.v2-card-media{position:relative;margin-bottom:10px}
.v2-card-name{font-family:var(--display);font-weight:400;font-size:18px;line-height:1.25}
@media(min-width:900px){.v2-card-name{font-size:20px}}
.v2-card-meta{font-size:12.5px;color:var(--muted);margin-top:2px}
.v2-card-price{font-size:14px;margin-top:6px}
.v2-card-price s{color:var(--muted);margin-left:6px}
.v2-badge{position:absolute;top:10px;left:10px;background:var(--wine);color:#fff;font-family:var(--ui);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;padding:5px 11px}
.v2-life-grid{display:grid;grid-auto-flow:column;grid-auto-columns:156px;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;-webkit-overflow-scrolling:touch}
.v2-life-grid>*{scroll-snap-align:start}
@media(min-width:900px){.v2-life-grid{grid-auto-flow:row;grid-template-columns:repeat(5,1fr);grid-auto-columns:auto;gap:20px;overflow:visible}}
.v2-life-card{display:block;text-decoration:none;color:var(--esp)}
.v2-life-name{font-family:var(--display);font-weight:400;font-size:20px;margin-top:10px}
@media(min-width:900px){.v2-life-name{font-size:22px}}
.v2-life-line{font-size:12.5px;color:var(--muted);margin-top:2px}
.v2-editorial{background:var(--esp);color:#D9C9B8;display:grid}
@media(min-width:900px){.v2-editorial{grid-template-columns:52% 1fr;align-items:center}}
.v2-editorial-media .slot{background:#4A382E}
.v2-editorial-media .slot-name{color:#9B8A78}
.v2-editorial-text{padding:32px var(--gutter) 40px}
@media(min-width:900px){.v2-editorial-text{padding:72px}}
.v2-eb-light{color:#C8B6A3}
.v2-editorial-h{font-family:var(--display);font-weight:400;font-size:clamp(28px,3.4vw,46px);line-height:1.12;color:#FBF8F3;margin:12px 0 0}
.v2-editorial-p{color:#D9C9B8;margin:16px 0 26px;max-width:46ch;font-size:15px;line-height:1.65}
.v2-cat-tile{position:relative;display:block;text-decoration:none}
.v2-cat-name{position:absolute;left:0;bottom:0;padding:22px;font-family:var(--display);font-weight:400;font-size:22px;color:var(--ivory);text-shadow:0 1px 14px rgba(40,28,22,.55)}
@media(min-width:900px){.v2-cat-name{font-size:27px}}
.v2-finder{background:var(--cream);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:44px 0}
@media(min-width:900px){.v2-finder{padding:72px 0}}
.v2-finder-in{max-width:980px;text-align:center}
.v2-finder-in h2{margin:10px 0 0}
.v2-finder-p{color:var(--muted);margin:12px 0 26px}
.v2-chiprow{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:12px}
.v2-chip{min-height:44px;padding:0 24px;background:var(--ivory);border:1px solid var(--rule);color:var(--esp);font-family:var(--ui);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
@media(min-width:900px){.v2-chip{min-height:46px}}
.v2-chip[aria-pressed="true"]{background:var(--esp);color:#fff;border-color:var(--esp)}
.v2-chip:focus-visible{outline:2px solid var(--esp);outline-offset:2px}
#finder-go{margin-top:14px}
.v2-fabric{display:grid;gap:26px}
@media(min-width:900px){.v2-fabric{grid-template-columns:46% 1fr;gap:56px;align-items:center}}
.v2-fabric-text h2{margin:10px 0 0}
.v2-fabric-text p{color:var(--muted);margin:14px 0 20px;max-width:44ch}
.v2-fchips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.v2-fchip{display:inline-flex;align-items:center;min-height:38px;padding:0 16px;border:1px solid var(--rule);color:var(--ph);font-family:var(--ui);font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.v2-fabric-media{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(min-width:900px){.v2-fabric-media{gap:20px}}
.v2-watch{border-top:1px solid var(--rule)}
.v2-clip-media{position:relative;margin-bottom:10px}
.v2-clip-pill{position:absolute;top:10px;right:10px;background:rgba(60,44,36,.72);color:#fff;font-family:var(--ui);font-size:10.5px;letter-spacing:.1em;padding:4px 9px}
.v2-clip-play{position:absolute;left:10px;bottom:10px;width:42px;height:42px;border-radius:50%;background:rgba(251,248,243,.94);color:var(--esp);display:flex;align-items:center;justify-content:center}
.v2-clip-name{font-family:var(--display);font-weight:400;font-size:18px;line-height:1.25}
.v2-clip-btn{width:100%;margin-top:10px;min-height:44px}
@media(min-width:900px){.v2-clip-btn{min-height:46px}}
.v2-look{display:grid;gap:20px}
@media(min-width:900px){.v2-look{grid-template-columns:42% 1fr;gap:28px;align-items:start}}
.v2-reviews{background:var(--cream);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.v2-reviews-empty{border:1px dashed var(--rule);background:var(--ivory);padding:40px 24px;text-align:center}
.v2-reviews-empty p{margin:0}
.v2-reviews-empty .t-sm{color:var(--muted);margin-top:8px}
.v2-promise{background:var(--cream);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:32px 0}
@media(min-width:900px){.v2-promise{padding:44px 0}}
.v2-promise-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
@media(min-width:900px){.v2-promise-grid{grid-template-columns:repeat(4,1fr);gap:32px}}
.v2-promise-t{font-family:var(--display);font-weight:400;font-size:21px}
.v2-promise-l{font-size:13px;color:var(--muted);margin-top:4px}
.v2-journal-card{display:block}
.v2-journal-h{font-family:var(--display);font-weight:400;font-size:22px;margin-top:10px}
.v2-news{background:var(--sand);padding:40px 0}
@media(min-width:900px){.v2-news{padding:64px 0}}
.v2-news-in{text-align:center}
.v2-news-in h2{margin:10px 0 0}
.v2-news-in p{color:var(--muted);margin:10px 0 0}
.v2-news-form{display:grid;gap:10px;margin:22px auto 10px;max-width:460px}
@media(min-width:520px){.v2-news-form{grid-template-columns:1fr auto}}
.v2-news-input{min-height:52px;padding:0 16px;background:var(--ivory);border:1px solid #C6B7A4;color:var(--esp);font-family:var(--body);font-size:15px}
.v2-news-input::placeholder{color:var(--ph)}
.v2-news-input:focus-visible{outline:2px solid var(--esp);outline-offset:1px}
/* ============== END NOORA V2 - STEP 3 ============== */
/* V2 step 3 refinements: keep the two full-bleed bands near the spec heights
   (hero 760, editorial 580) instead of letting a wide viewport stretch them. */
@media(min-width:900px){
  .v2-hero>.slot{aspect-ratio:auto;height:clamp(620px,50vw,760px)}
  .v2-editorial{align-items:stretch}
  .v2-editorial-media{display:flex}
  .v2-editorial-media .slot{aspect-ratio:auto;flex:1;min-height:520px}
}
/* ============== NOORA V2 - STEP 4: product page ============== */
.noora-pdp-page .pdp-shot{position:relative}
.pdp-count{position:absolute;right:12px;bottom:12px;background:rgba(60,44,36,.72);color:#fff;font-family:var(--ui);font-size:10.5px;letter-spacing:.12em;padding:4px 9px}
.pdp-addphotos{display:flex;align-items:center;justify-content:center;border:1px dashed var(--rule);color:var(--ph);font-family:var(--ui);font-size:9px;letter-spacing:.18em;text-align:center;aspect-ratio:3/4;padding:4px;line-height:1.4}
#thumbs button[aria-current="true"]{outline:1px solid var(--esp);outline-offset:-1px}
.pdp-brk{color:var(--ph);font-family:var(--ui);font-size:12px;letter-spacing:.06em;margin:10px 0 0}
.pdp-help{font-size:13px;color:var(--muted);margin:14px 0 0;line-height:1.6}
.pdp-help .pdp-brk{display:inline;margin:0}
.noora-pdp-page .pdp-trust li{font-size:13.5px}
/* Desktop: thumbnails become a left column beside the main shot (3:4, 78px).
   Mobile keeps them as a strip under the image, where the thumb can reach. */
@media(min-width:900px){
  .noora-pdp-page .pdp-media{display:flex;align-items:flex-start;gap:14px}
  .noora-pdp-page .pdp-thumbs{order:-1;flex:0 0 78px;display:grid;grid-template-columns:1fr;gap:8px}
  .noora-pdp-page .pdp-shot{flex:1 1 auto}
  .noora-pdp-page .pdp-thumbs button{width:78px;aspect-ratio:3/4;padding:0;border:1px solid var(--rule);background:none;cursor:pointer;overflow:hidden}
  .noora-pdp-page .pdp-thumbs button img{width:100%;height:100%;object-fit:cover}
}
@media(min-width:900px){.noora-pdp-page .pdp-thumbs{flex-direction:column;flex-wrap:nowrap}}
@media(min-width:900px){.noora-pdp-page .pdp-media>.pdp-shot{align-self:flex-start}.noora-pdp-page .pdp-media>.pdp-thumbs{align-self:flex-start}}

/* ============== NOORA V2 - STEP A1: type to match the approved design ==============
   The design file uses two families only: Cormorant Garamond for editorial and
   Jost for everything else, with Hind Siliguri for Bangla. Inter is dropped -
   it is 48,256 bytes a visitor no longer downloads. */
:root{
  --body:'Jost','Hind Siliguri',system-ui,sans-serif;
  --ui:'Jost','Hind Siliguri',system-ui,sans-serif;
  --f-ui:var(--body);
  --ed:var(--display); --sans:var(--body);
}
body{font-family:var(--body);font-weight:300}
.t-body{font-family:var(--body);font-weight:300}
a{color:var(--esp);text-decoration:none}
a:hover{color:var(--wine)}
button{font-family:inherit}
/* ============== END STEP A1 ============== */

/* ============== NOORA V2 - STEP A2: standalone pages ============== */
.v2-page{padding:36px 0 56px}
@media(min-width:900px){.v2-page{padding:56px 0 76px}}
.v2-page-h1{margin:14px 0 0}
.v2-lede{margin:16px 0 0;font-size:15.5px;line-height:1.8;color:var(--muted);max-width:54ch}
.v2-note{margin:16px 0 0;font-size:13px;line-height:1.8;color:var(--muted)}
.v2-split{display:grid;gap:36px}
@media(min-width:900px){.v2-split{grid-template-columns:56% 1fr;gap:64px;align-items:start}}
.v2-split-narrow{min-width:0}
@media(min-width:900px){.v2-split{grid-template-columns:minmax(0,56%) minmax(0,1fr)}}
.v2-split-main,.v2-split-side{min-width:0}
.r-diagram{aspect-ratio:auto;min-height:320px}
@media(min-width:900px){.r-diagram{min-height:470px}}
.r-band{aspect-ratio:auto;height:240px}
@media(min-width:900px){.r-band{height:420px}}
.r-founder{aspect-ratio:auto;height:280px}
@media(min-width:900px){.r-founder{height:340px;width:300px}}
.v2-tablebox{margin-top:30px;border:1px solid var(--rule);overflow-x:auto}
.v2-table{width:100%;border-collapse:collapse;font-size:14px}
.v2-table caption{text-align:left;padding:18px;font-family:var(--display);font-size:20px}
@media(min-width:900px){.v2-table caption{font-size:22px}}
.v2-table th,.v2-table td{padding:13px 16px;text-align:left;border-top:1px solid var(--rule);white-space:nowrap}
.v2-table th{font-family:var(--ui);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:500}
.v2-table td[colspan]{white-space:normal;color:var(--muted)}
.v2-callout{margin-top:32px;padding:22px 24px;background:var(--cream);border:1px solid var(--rule)}
@media(min-width:900px){.v2-callout{padding:26px 30px}}
.v2-callout p{margin:12px 0 0;font-size:14.5px;line-height:1.8;color:var(--muted)}
.v2-howto{margin-top:24px}
.v2-howto ol{margin:16px 0 0;padding-left:22px;font-size:14.5px;line-height:2;color:var(--muted)}
.v2-statement{max-width:840px;text-align:center;padding-top:20px}
.v2-statement-h{margin:22px 0 0}
.v2-statement p{margin:22px 0 0;font-size:16px;line-height:1.85;color:var(--muted)}
@media(min-width:900px){.v2-statement p{font-size:18px}}
.v2-beliefs{display:grid;gap:28px;margin-top:44px}
@media(min-width:900px){.v2-beliefs{grid-template-columns:repeat(3,1fr);gap:44px;margin-top:60px}}
.v2-belief{padding-top:22px;border-top:1px solid var(--rule)}
.v2-belief-h{font-family:var(--display);font-weight:400;font-size:24px}
@media(min-width:900px){.v2-belief-h{font-size:28px}}
.v2-belief p{margin:12px 0 0;font-size:15px;line-height:1.85;color:var(--muted)}
.v2-founder{margin-top:48px;background:var(--cream);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.v2-founder-in{padding:36px 0;display:grid;gap:28px}
@media(min-width:900px){.v2-founder-in{grid-template-columns:300px 1fr;gap:56px;align-items:center;padding:52px 0}}
.v2-founder-quote{margin:18px 0 0;font-family:var(--display);font-size:22px;line-height:1.5;max-width:46ch}
@media(min-width:900px){.v2-founder-quote{font-size:30px}}
.v2-founder-name{margin-top:20px;font-size:14px;color:var(--muted)}
.v2-cta-row{margin-top:44px;display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between}
.v2-form{margin-top:28px;max-width:420px}
.v2-field{margin-bottom:16px}
.v2-field label{display:block;font-family:var(--ui);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.v2-field input{width:100%;min-height:52px;padding:0 16px;background:var(--cream);border:1px solid var(--rule);color:var(--esp);font-family:var(--body);font-size:15px}
.v2-field input:focus-visible{outline:2px solid var(--esp);outline-offset:1px}
.v2-or{margin:4px 0 16px;text-align:center;font-family:var(--ui);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.v2-btn-block{width:100%}
.v2-statusbox{padding:26px 24px;border:1px solid var(--rule);background:var(--cream)}
@media(min-width:900px){.v2-statusbox{padding:30px 32px}}
.v2-timeline{margin-top:22px}
.v2-step{display:flex;gap:18px}
.v2-step-rail{display:flex;flex-direction:column;align-items:center}
.v2-dot{width:14px;height:14px;border-radius:50%;background:var(--esp);flex:0 0 14px}
.v2-line{width:1px;flex-grow:1;background:var(--rule);min-height:34px}
.v2-step:last-child .v2-line{display:none}
.v2-step-body{padding-bottom:22px}
.v2-step-t{font-size:15px}
.v2-step-d{margin-top:4px;font-size:13px;color:var(--muted)}
.v2-searchbar{margin-top:24px;max-width:560px}
.v2-searchbar input{width:100%;min-height:54px;padding:0 18px;background:var(--cream);border:1px solid var(--rule);color:var(--esp);font-family:var(--body);font-size:16px}
.v2-searchbar input:focus-visible{outline:2px solid var(--esp);outline-offset:1px}
.v2-empty{margin-top:28px;padding:40px 24px;border:1px dashed var(--rule);background:var(--cream);text-align:center}
.v2-empty p{margin:0}
.v2-empty .t-sm{margin-top:8px;color:var(--muted)}
.v2-empty .v2-btn{margin-top:22px}
#search-results:empty,#wish-results:empty{display:none}
/* ============== END STEP A2 ============== */

/* ============== NOORA V2 - STEP A3: chrome to the design ============== */
@media(max-width:899px){.v2-head-in{grid-template-columns:44px 1fr auto}.v2-icon-wish{display:none}}
.v2-nav-quiet{color:var(--muted)}
.v2-drawer-lead{font-family:var(--display);font-size:26px;padding:14px 0;text-transform:none;letter-spacing:0}
.v2-drawer-cats a{display:block;min-height:44px;align-items:center;font-family:var(--body);font-size:16px;letter-spacing:0;text-transform:none;border-bottom:1px solid #EDE5DA}
.v2-drawer-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.v2-drawer-chips a{min-height:40px;display:inline-flex;align-items:center;padding:0 14px;border:1px solid var(--rule);font-family:var(--body);font-size:13px;letter-spacing:0;text-transform:none}
.v2-drawer-links{margin-top:22px;padding-top:16px;border-top:1px solid var(--rule);display:flex;flex-direction:column}
.v2-drawer-links a{min-height:40px;font-family:var(--body);font-size:14.5px;letter-spacing:0;text-transform:none;color:var(--muted)}
.v2-drawer-foot{flex:0 0 auto;padding:16px;background:var(--cream);border-top:1px solid var(--rule)}
.v2-drawer-bn{font-size:13.5px;line-height:1.8;color:var(--muted)}
.v2-drawer-call{margin-top:12px;min-height:46px;display:flex;align-items:center;justify-content:center;border:1px solid var(--esp);font-size:12.5px;letter-spacing:.12em}
.v2-bag-qty{font-family:var(--body);font-size:15px;color:var(--muted)}
.v2-bagfoot{background:var(--cream)}
.v2-bagfoot .cart-sum{display:flex;justify-content:space-between;font-size:15px}
.v2-bagfoot .cart-sum span{color:var(--muted)}
.v2-bagfoot .cart-sum b{font-weight:400}
.v2-bagfoot .hint{margin:7px 0 0;font-size:12px;color:var(--muted)}
.v2-checkout{margin-top:14px;min-height:54px}
.v2-continue{margin-top:10px;width:100%;min-height:46px;background:none;border:0;cursor:pointer;font-family:var(--body);font-size:12.5px;color:var(--muted)}
.v2-continue:hover{color:var(--esp)}
/* ============== END STEP A3 ============== */

/* ===== NOORA V2: hero column must not collapse =====
   Wide screens: the 50vw-based left padding used up the 27rem max-width and the
   text column shrank to 0-36px (one word per line). content-box makes the 27rem
   limit apply to the text only; padding sits outside it. */
@media (min-width:900px){.shop-hero-inner{box-sizing:content-box}}

/* ============== NOORA V3: completion layer ==============
   Empty photo slots show a quiet mark, never a label; typographic tiles stand in
   where no photograph exists yet; lifestyle rail; help pages. */
.slot-mark{font-family:var(--display);font-size:15px;letter-spacing:.42em;padding-left:.42em;color:var(--ph);opacity:.8}
.v3-type{background:linear-gradient(160deg,var(--cream) 0%,var(--sand) 100%);box-shadow:inset 0 0 0 1px var(--rule)}
.v3-type-word{font-family:var(--display);font-style:italic;font-weight:400;font-size:clamp(22px,2.3vw,31px);color:var(--esp);opacity:.85;text-align:center;padding:12px;line-height:1.15}
.v2-cat-tile .v3-type .v3-type-word{font-style:normal;font-size:13px;letter-spacing:.42em;padding-left:.42em;opacity:.4}
.v2-cat-tile .v3-type + .v2-cat-name{color:var(--esp);text-shadow:none}
.v2-editorial.is-textonly{grid-template-columns:1fr !important}
.v2-editorial.is-textonly .v2-editorial-text{max-width:780px;margin:0 auto;text-align:center;padding:76px 24px}
.v2-editorial.is-textonly .v2-editorial-p{margin-left:auto;margin-right:auto}
@media(min-width:900px){.v2-promise-grid.is-three{grid-template-columns:repeat(3,1fr)}}
.v2-look.is-gridonly{grid-template-columns:1fr !important}
.v3-life-rail{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:center;margin:4px auto 24px}
.v3-life-lb{font-family:var(--ui);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
.v3-life-chips{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.v3-life-chip{display:inline-flex;align-items:center;min-height:42px;padding:0 16px;border:1px solid var(--rule);background:var(--ivory);color:var(--esp);font-family:var(--ui);font-size:11px;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;white-space:nowrap}
.v3-life-chip:hover{background:var(--cream)}
.v3-life-chip.is-active{background:var(--esp);border-color:var(--esp);color:var(--ivory)}
@media(max-width:899px){.v3-life-rail{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px}.v3-life-chips{flex-wrap:nowrap}.v3-life-lb{white-space:nowrap}}
.v3-narrow{max-width:780px}
.v3-h2{margin:34px 0 10px}
.v3-contact{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}
.v3-about-photo{aspect-ratio:21/9;overflow:hidden;background:var(--sand);margin:8px 0 30px}
.v3-about-photo img{width:100%;height:100%;object-fit:cover;object-position:center 22%;display:block}
@media(max-width:899px){.v3-about-photo{aspect-ratio:4/3}}
.v3-founder{max-width:780px}
.v2-journal-card{display:block;text-decoration:none;color:var(--esp)}
.v2-journal-k{font-family:var(--ui);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin:14px 0 6px}
/* V3 product page: save badge, size chart link, Buy now, wishlist */
.pdp-save{display:inline-block;vertical-align:middle;margin-left:10px;background:var(--wine);color:#fff;font-family:var(--ui);font-size:10px;letter-spacing:.16em;text-transform:uppercase;padding:5px 10px;line-height:1.2}
.pdp-sizechart{font-family:var(--ui);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--esp);text-decoration:none;border-bottom:1px solid var(--rule);padding-bottom:2px}
.pdp-sizechart:hover{border-bottom-color:var(--esp)}
.buybar{display:flex;gap:12px}
.buybar > *{flex:1 1 0;min-height:56px}
.pdp-buynow{background:var(--ivory);color:var(--esp);border:1px solid var(--esp);font-family:var(--ui);font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;cursor:pointer}
.pdp-buynow:hover{background:var(--cream)}
.pdp-buynow[disabled]{border-color:#DED3C4;color:#B7A896;cursor:not-allowed;background:var(--ivory)}
.pdp-wish{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:50px;margin-top:10px;background:transparent;border:1px solid var(--rule);color:var(--esp);font-family:var(--ui);font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;cursor:pointer}
.pdp-wish:hover{background:var(--cream)}
.pdp-wish[aria-pressed="true"] svg{fill:var(--wine);stroke:var(--wine)}
.pdp-help a,.pdp-sizelink{color:var(--esp);text-decoration:underline;text-underline-offset:3px}
.pdp-look{background:var(--ivory)}
.pdp-buy .opt{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.pdp-why .wrap{text-align:center}
.pdp-why .h-2{max-width:none;margin-left:auto;margin-right:auto}
.pdp-why .lede{margin-left:auto;margin-right:auto}
/* V3: journal, article, 404, shop hero height */
.v3-journal-grid{margin-top:26px}
.v3-dek{color:var(--muted);margin:6px 0 0;line-height:1.55}
.v2-journal-h{font-family:var(--display);font-size:22px;line-height:1.2;color:var(--esp)}
.v3-article{max-width:760px}
.v3-crumb{font-family:var(--ui);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 18px}
.v3-crumb a{color:var(--muted)}
.v3-article-body h2{font-family:var(--display);font-weight:400;font-size:clamp(24px,2.4vw,30px);color:var(--esp);margin:34px 0 10px}
.v3-article-body p{font-size:16px;line-height:1.8;color:var(--esp);margin:0 0 14px;max-width:66ch}
.v3-404{padding:72px 0 88px;text-align:center}
.v3-404 .v2-lede{margin-left:auto;margin-right:auto}
.v3-404-row{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;align-items:center;margin:14px 0}
.v3-404-cta{justify-content:center}
@media(min-width:900px){
  .shop-hero:not(.is-textonly) .shop-hero-media{height:clamp(440px,74vh,700px);overflow:hidden}
  .shop-hero:not(.is-textonly) .shop-hero-media .shop-hero-img{height:100%;width:100%;min-height:0;max-height:none;object-fit:cover;object-position:center 18%}
}
/* V3: hero photo starts right under the header and keeps the face in frame */
.noora-home-page .v2-hero{padding-top:0;padding-bottom:0}
.v2-hero .slot img{object-position:center 20%}
.v2-life-grid,.v3-life-rail{scrollbar-width:none}
.v2-life-grid::-webkit-scrollbar,.v3-life-rail::-webkit-scrollbar{display:none}
/* V3: never an empty page - fallback note and explore cards */
.v3-fallback{border:1px solid var(--rule);background:var(--cream);padding:18px 22px;margin:0 0 24px;text-align:center}
.v3-fallback-t{font-family:var(--display);font-size:23px;line-height:1.2;color:var(--esp);margin:0 0 4px}
.v3-fallback-s{font-size:13.5px;color:var(--muted);margin:0}
.v3-explore-cta{font-family:var(--ui);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--esp);margin-top:8px;text-decoration:underline;text-underline-offset:4px}
.v3-explore-sec{border-top:1px solid var(--rule)}
/* Stage 1: discovery - Find Your NOORA */
.v2-sec-sub{font-size:14px;line-height:1.6;color:var(--muted);margin:6px 0 0}
#find-your-noora{scroll-margin-top:84px}
@media(min-width:900px){.v2-need .v2-life-grid{grid-template-columns:repeat(4,1fr);row-gap:28px}}
@media(min-width:900px){.v2-sil .v2-life-grid{grid-template-columns:repeat(6,1fr);gap:16px}}
/* Stage 1: drawer silhouette accordion; the closed drawer casts no shadow */
.v2-drawer-acc{margin-top:18px}
.v2-drawer-acc summary.v2-drawer-eye{margin:0;padding:12px 0}
.v2-drawer-acc .v2-drawer-chips{margin:0 0 14px}
body:not(.menu-open) .drawer.v2-drawer{box-shadow:none}

/* ===== Stage 2: video player ==========================================
   One player for the homepage and the product page. The .slot.r-9x16 box
   reserves the space before anything loads, so nothing jumps. */
.nv-player{background:var(--sand)}
.nv-player>video{background:var(--sand)}
.nv-play{position:absolute;right:12px;bottom:12px;z-index:2;width:44px;height:44px;border:0;border-radius:50%;
  background:rgba(40,28,22,.62);color:#FBF8F3;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
.nv-play svg{width:18px;height:18px;fill:currentColor}
.nv-play .nv-i-pause{display:none}
.nv-player.is-playing .nv-i-play{display:none}
.nv-player.is-playing .nv-i-pause{display:block}
.nv-play:focus-visible{outline:2px solid #FBF8F3;outline-offset:2px;box-shadow:0 0 0 4px rgba(40,28,22,.62)}
@media(hover:hover){.nv-play:hover{background:rgba(40,28,22,.8)}}

/* Homepage "See how it moves": text then full-width video on a phone;
   video left, text right from 900px. */
.nv-watch-in{display:grid;gap:22px}
.nv-watch-text{order:1}
.nv-watch-media{order:2}
.nv-watch-p{color:var(--muted);margin:12px 0 0;max-width:40ch}
@media(min-width:900px){
  .nv-watch-in{grid-template-columns:minmax(0,400px) minmax(0,1fr);gap:72px;align-items:center}
  .nv-watch-text{order:2}
  .nv-watch-media{order:1}
}

/* Product page: after the purchase controls on a phone (so an ad click still
   lands on photo, price and Add to bag), under the main photo on desktop. */
.noora-pdp-page .pdp-video{margin-top:26px;max-width:460px}
@media(min-width:900px){
  .noora-pdp-page .pdp-top.has-video>.pdp-buy{grid-row:1/span 2}
  .noora-pdp-page .pdp-top.has-video>.pdp-video{grid-column:1;grid-row:2;margin-top:16px;max-width:420px}
}

/* ===== Stage 2: reviews (real, approved reviews only) ================== */
.nv-stars{color:var(--esp);letter-spacing:.12em;font-size:14px;line-height:1;white-space:nowrap}
.nv-stars-off{color:var(--rule)}
.nv-review{background:var(--ivory);border:1px solid var(--rule);padding:18px 20px}
.nv-rev-body{margin:10px 0 12px;font-size:15px;line-height:1.65;color:var(--esp)}
.nv-rev-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:0;font-size:12.5px;color:var(--muted)}
.nv-rev-who{color:var(--esp);font-weight:500}
.nv-verified{font-family:var(--ui);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--wine);
  border:1px solid currentColor;padding:3px 7px;line-height:1.2}
.nv-rev-prod{display:inline-block;margin-top:10px;font-size:12.5px;color:var(--esp)}
.pdp-reviews{padding:44px 0;border-top:1px solid var(--rule)}
.nv-rev-summary{display:flex;align-items:center;gap:12px;margin:14px 0 18px}
.nv-rev-avg{font-family:var(--display);font-size:34px;line-height:1;color:var(--esp)}
.nv-rev-count{color:var(--muted);font-size:13px}
.nv-rev-list{display:grid;gap:14px}
.nv-rev-grid{display:grid;grid-template-columns:1fr;gap:14px}
@media(min-width:900px){.nv-rev-grid{grid-template-columns:repeat(3,1fr);gap:20px}}

/* ===== Stage 3: Ask on WhatsApp ===== */
.noora-pdp-page .pdp-ask{margin:16px 0 0}
.noora-pdp-page .pdp-ask .pdp-wa{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px}
.noora-pdp-page .pdp-ask .pdp-help{margin-top:8px}

/* ===== Stage 3: notify me when it arrives ===== */
.nv-notify{margin:16px 0 0;border:1px solid var(--rule);background:var(--cream)}
.nv-notify>summary{cursor:pointer;padding:12px 14px;min-height:44px;display:flex;align-items:center;font-family:var(--ui);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--esp)}
.nv-notify>summary:focus-visible{outline:2px solid var(--esp);outline-offset:2px}
.nv-notify-form{padding:0 14px 14px;display:grid;gap:12px;text-align:left}
.nv-f label{display:block;font-size:13px;color:var(--esp);margin:0 0 4px}
.nv-f label span{color:var(--muted)}
.nv-f input,.nv-f select{width:100%;min-height:44px;padding:0 12px;border:1px solid var(--rule-2);background:var(--ivory);color:var(--esp);font:inherit;font-size:16px;box-sizing:border-box}
.nv-f input:focus-visible,.nv-f select:focus-visible,.nv-sizehelp-sel:focus-visible{outline:2px solid var(--esp);outline-offset:1px}
.nv-hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.nv-consent{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;line-height:1.5;color:var(--esp);cursor:pointer}
.nv-consent input{width:20px;height:20px;margin:1px 0 0;flex:0 0 auto}
.nv-err{margin:0;font-size:13px;color:var(--wine)}
.nv-err:empty,.nv-ok:empty{display:none}
.nv-ok{margin:0;font-size:14px;color:var(--esp)}
.nv-send{justify-self:start}
.nv-notify-form.is-done>*:not(.nv-ok){display:none}
.v3-fallback .nv-notify{max-width:440px;margin:16px auto 0}

/* ===== Stage 3: model note and size helper ===== */
.noora-pdp-page .pdp-modelnote{margin:10px 0 0;font-size:13px;line-height:1.55;color:var(--muted);text-align:center}
/* Size helper (size guide + abaya product pages) */
.nv-sizehelp{margin:18px 0 0;padding:14px 16px;border:1px solid var(--rule);background:var(--cream)}
.nv-sizehelp-l{display:block;font-family:var(--ui);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--esp);margin:0 0 8px}
.nv-sizehelp-sel{width:100%;max-width:320px;min-height:44px;padding:0 12px;border:1px solid var(--rule-2);background:var(--ivory);color:var(--esp);font:inherit;font-size:15px}
.nv-sizehelp-out{margin:10px 0 0;font-size:15px;color:var(--esp);font-weight:500}
.nv-sizehelp-out:empty{display:none}
.nv-sizehelp-n{margin:8px 0 0;font-size:12.5px;line-height:1.55;color:var(--muted)}
.noora-pdp-page .nv-sizehelp{margin:12px 0 4px;padding:12px 14px}

/* ===== Stage 3: exchange policy ===== */
.noora-pdp-page .pdp-exchange{margin:16px 0 0;padding:12px 14px;border:1px solid var(--rule);background:var(--cream)}
.noora-pdp-page .pdp-exchange-h{margin:0 0 4px;font-family:var(--ui);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--esp)}
.noora-pdp-page .pdp-exchange-p{margin:0;font-size:13.5px;line-height:1.6;color:var(--esp)}

/* ===== Menu: All products - a header that fits from 900px ===== */
/* Seven menu items need tighter spacing on small laptops and landscape
   tablets; from 1200px the original spacing applies unchanged. */
@media(min-width:900px) and (max-width:1199px){.v2-nav{gap:18px;margin-left:32px;letter-spacing:.1em;font-size:12px}.v2-logo{font-size:24px;letter-spacing:.28em}}
@media(min-width:900px) and (max-width:1023px){.v2-nav{gap:12px;margin-left:20px;letter-spacing:.05em;font-size:11.5px}.v2-logo{font-size:22px;letter-spacing:.24em}.v2-head-act{gap:2px}}

/* ===== Stage 4: Fit Finder (homepage) ===== */
.nv-ff .nv-ff-app{max-width:760px;margin:0 auto;text-align:left}
.nv-ff-prog{margin:0 0 10px;text-align:center;font-family:var(--ui);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.nv-ff-step{border:0;margin:0;padding:0;min-width:0}
.nv-ff-step legend{display:block;width:100%;margin:0 0 6px;padding:0;text-align:center;font-family:var(--display);font-size:26px;line-height:1.2;color:var(--esp)}
.nv-ff-step legend:focus{outline:none}
.nv-ff-step legend:focus-visible{outline:2px solid var(--esp);outline-offset:4px}
.nv-ff-hint{margin:0 0 14px;text-align:center;font-size:13.5px;color:var(--muted)}
.nv-ff-opts{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:14px 0 4px}
.nv-ff-opt{position:relative;display:block;cursor:pointer}
.nv-ff-opt input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.nv-ff-opt>span{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:44px;padding:8px 20px;background:var(--ivory);border:1px solid var(--rule);color:var(--esp);font-family:var(--ui);font-size:12px;letter-spacing:.1em;text-transform:uppercase;text-align:center}
.nv-ff-opt input:checked+span{background:var(--esp);border-color:var(--esp);color:#fff}
.nv-ff-opt input:focus-visible+span{outline:2px solid var(--esp);outline-offset:2px}
.nv-ff-opt:hover>span{border-color:var(--esp)}
.nv-ff-wide{flex:1 1 200px;max-width:240px}
.nv-ff-wide>span{height:100%;padding:12px 14px;gap:4px}
.nv-ff-wide b{font-weight:600}
.nv-ff-wide small{font-size:11px;letter-spacing:.02em;text-transform:none;opacity:.85}
.nv-ff-nav{display:flex;justify-content:center;gap:10px;margin:22px 0 0}
.nv-ff-nav .v2-btn{min-width:120px}
.nv-ff-nav .v2-btn[disabled]{opacity:.45;cursor:not-allowed}
.nv-ff-nav [hidden]{display:none}
.nv-ff-nojs{margin:18px 0 0}
.nv-ff-res-in{text-align:left}
.nv-ff-res-h{margin:0 0 14px;text-align:center;font-family:var(--display);font-size:28px;font-weight:400;color:var(--esp)}
.nv-ff-res-h:focus{outline:none}
.nv-ff-sum{margin:0 0 18px;padding:0;background:var(--ivory);border:1px solid var(--rule)}
.nv-ff-sum>div{display:grid;grid-template-columns:92px 1fr;gap:10px;padding:10px 14px;border-top:1px solid var(--rule)}
.nv-ff-sum>div:first-child{border-top:0}
.nv-ff-sum dt{font-family:var(--ui);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding-top:2px}
.nv-ff-sum dd{margin:0;font-size:15px;line-height:1.5;color:var(--esp)}
.nv-ff-sum dd a{color:var(--wine);text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.nv-ff-sub{margin:20px 0 10px;font-family:var(--ui);font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--esp)}
.nv-ff-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
@media(min-width:720px){.nv-ff-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.nv-ff-none{margin:6px 0 0}
.nv-ff-none .nv-ff-lead{max-width:440px;margin:14px auto 0}
.nv-ff-acts{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:22px 0 0}
.nv-ff-acts .v2-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px}
.nv-ff .nv-ff-lead{padding:14px 0 0;max-width:440px;margin:0 auto}
.nv-ff-lead[hidden]{display:none}
.nv-ff-small{margin:0;font-size:12.5px;color:var(--muted)}
.nv-ff-small:empty{display:none}
@media(max-width:600px){
  .nv-ff-step legend{font-size:22px}
  .nv-ff-opt>span{padding:8px 14px}
  .nv-ff-wide{flex-basis:100%;max-width:none}
  .nv-ff-sum>div{grid-template-columns:1fr;gap:2px}
  .nv-ff-acts .v2-btn{flex:1 1 100%}
}

/* ===== Stage 4: AI style note (Fit Finder) ===== */
.nv-ff-ai{margin:0 0 18px;padding:14px 16px;border-left:3px solid var(--wine);background:var(--ivory)}
.nv-ff-ai[hidden]{display:none}
.nv-ff-ai-h{margin:0 0 6px;font-family:var(--ui);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--wine)}
.nv-ff-ai-lines p{margin:0 0 6px;font-size:15.5px;line-height:1.6;color:var(--esp)}
.nv-ff-ai-lines{font-size:14px;color:var(--muted)}
.nv-ff-ai-n{margin:6px 0 0;font-size:12px;color:var(--muted)}

/* ===== Stage 4: AI try-on (abaya product pages) ===== */
.noora-pdp-page .nv-tryon{margin:14px 0 0}
.nv-tryon[hidden]{display:none}
.nv-tryon-open{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 18px;width:100%}
.nv-tryon-n{margin:6px 0 0;font-size:12.5px;color:var(--muted)}
.nv-tryon-dlg{width:min(560px,calc(100vw - 24px));max-height:calc(100vh - 24px);margin:auto;padding:0;border:0;background:var(--cream);color:var(--esp);box-shadow:0 18px 60px rgba(0,0,0,.25)}
.nv-tryon-dlg::backdrop{background:rgba(30,22,18,.55)}
.nv-tryon-box{position:relative;padding:22px 20px 24px;overflow:auto;max-height:calc(100vh - 24px);box-sizing:border-box}
.nv-tryon-x{position:absolute;top:8px;right:8px;width:44px;height:44px;border:0;background:transparent;color:var(--esp);font-size:28px;line-height:1;cursor:pointer}
.nv-tryon-x:focus-visible{outline:2px solid var(--esp);outline-offset:-4px}
.nv-tryon-h{margin:0 40px 2px 0;font-family:var(--display);font-size:24px;font-weight:400;line-height:1.25}
.nv-tryon-ai{font-size:16px;color:var(--muted)}
.nv-tryon-for{margin:0 0 14px;font-size:13.5px;color:var(--muted)}
.nv-tryon-step{display:grid;gap:12px}
.nv-tryon-step[hidden]{display:none}
.nv-tryon-lead{margin:0;font-size:14px;font-weight:500}
.nv-tryon-tips{padding:10px 12px;border:1px solid var(--rule);background:var(--ivory);font-size:13px}
.nv-tryon-tips-h{margin:0 0 4px;font-weight:600}
.nv-tryon-tips ul{margin:0;padding-left:18px;line-height:1.6}
.nv-tryon-go{justify-self:start;min-height:44px}
.nv-tryon-go[disabled]{opacity:.5}
.nv-tryon-thumb{max-width:120px;max-height:180px;border:1px solid var(--rule)}
.nv-tryon-thumb[hidden]{display:none}
.nv-tryon-left{margin:0;font-size:13px;color:var(--muted)}
.nv-tryon-left:empty{display:none}
.nv-tryon-busy{justify-items:center;text-align:center;padding:24px 0}
.nv-tryon-busy p{margin:0;font-size:14.5px;line-height:1.6}
.nv-tryon-spin{width:36px;height:36px;border:3px solid var(--rule);border-top-color:var(--wine);border-radius:50%;animation:nv-spin 1s linear infinite}
@keyframes nv-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.nv-tryon-spin{animation-duration:3s}}
.nv-tryon-fig{position:relative;margin:0;background:var(--ivory);border:1px solid var(--rule)}
.nv-tryon-img{display:block;width:100%;height:auto;max-height:62vh;object-fit:contain}
.nv-tryon-mark{position:absolute;right:8px;bottom:8px;padding:3px 8px;background:rgba(0,0,0,.55);color:#fff;font-family:var(--ui);font-size:11px;letter-spacing:.06em}
.nv-tryon-note{margin:0;font-size:12.5px;color:var(--muted)}
.nv-tryon-acts{display:flex;flex-wrap:wrap;gap:8px}
.nv-tryon-acts .v2-btn{min-height:44px;flex:1 1 150px}
.nv-tryon-msg{margin:0;font-size:16px;line-height:1.6;font-weight:500}
.nv-tryon-sub{margin:0;font-size:14px;color:var(--muted)}
.nv-tryon-wa{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;justify-self:start}
.nv-tryon-early{display:grid;gap:12px}
.nv-tryon-early.is-done>*:not(.nv-ok){display:none}

/* ==== NOORA-DESIGN-SYSTEM-V2 BEGIN ==== */
:root{
  --ivory:#F4F1EA; --cream:#FBF9F5; --sand:#EDE6DA; --shell:#E4DCD0;
  --ink:#252423; --espresso:#1C1A18; --muted:#6E6257; --taupe:#9C8F80;
  --rule:#E0D7C9; --rule-2:#C9BDAB;
  --burgundy:#7C3140; --burgundy-soft:rgba(124,49,64,.07); --ok:#3F6B47;
  --f-ui:'Jost','Hind Siliguri',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;
  --tone-mocha:#A2907C; --tone-sand:#E9E0D3;
}
.card .flags{position:absolute;top:10px;left:10px;z-index:3;display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.card .flags .flag{position:static;top:auto;left:auto}
.flag{padding:5px 9px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-family:var(--f-nav);line-height:1.2}
.flag.left{background:var(--burgundy);color:#fff}
.flag.new{background:var(--ink);color:var(--cream)}
.card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}
.save{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--burgundy);border:1px solid var(--burgundy);padding:2px 7px;line-height:1.5}
.sw-row{display:flex;gap:5px;align-items:center}
.sw{width:12px;height:12px;border-radius:50%;display:inline-block;border:1px solid var(--rule-2);background:var(--tone-sand)}
.sw-black{background:#1C1A18}.sw-charcoal{background:#3A3A38}.sw-mocha{background:#A2907C}
.sw-sand{background:#E9E0D3}.sw-cream{background:#F4EFE6}.sw-ivory{background:#F7F3EC}
.sw-beige{background:#DCCFBC}.sw-brown{background:#5A4433}.sw-navy{background:#243044}
.sw-maroon{background:#5E2230}.sw-wine{background:#7C3140}.sw-olive{background:#6B6A4A}
.sw-grey,.sw-gray{background:#8B8B87}.sw-white{background:#FFFFFF}.sw-teal{background:#2F5A4E}
.sw-rose,.sw-dusty-rose{background:#C49A94}.sw-blush{background:#E3C9C3}
.sz-row{display:flex;gap:5px;flex-wrap:wrap}
.sz{font-size:10px;letter-spacing:.08em;color:var(--muted);border:1px solid var(--rule);padding:2px 6px;line-height:1.5}
/* ==== NOORA-DESIGN-SYSTEM-V2 END ==== */
.shop-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:7px}
.low{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--burgundy)}
.shop-card .shop-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-top:9px}
.shop-card .shop-card-meta .sw-row,.shop-card .shop-card-meta .sz-row{display:flex;align-items:center;gap:5px;margin:0}
.shop-card .shop-card-meta .sw{display:inline-block;flex:0 0 auto}
.shop-card .shop-card-meta .low{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--burgundy);font-family:var(--f-nav);line-height:1.4}
.shop-card .shop-card-meta .save{font-family:var(--f-nav)}
.v2-card-media{position:relative}
.v2-card-media .v2-badge,.v2-card-media .v2-left,.v2-card-media .v2-out{position:absolute;left:10px;z-index:3;padding:5px 9px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-family:var(--f-nav);line-height:1.2}
.v2-card-media .v2-badge{top:10px;background:var(--ink);color:var(--cream)}
.v2-card-media .v2-left{bottom:10px;background:var(--burgundy);color:#fff}
.v2-card-media .v2-out{top:10px;background:var(--espresso);color:var(--ivory)}
.v2-card-opt{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-top:7px}
.v2-card-opt .v2-col{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--taupe);font-family:var(--f-nav)}
.v2-card-opt .sz-row{display:flex;gap:5px;flex-wrap:wrap}
.v2-card-price s{color:var(--taupe);margin-left:7px;font-size:13px}
.v2-trust{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);background:var(--cream)}
.v2-trust .v2-wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:26px var(--pad)}
.v2-trust-cell{text-align:center}
.v2-trust-t{font-family:var(--f-nav);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}
.v2-trust-s{font-family:var(--f-ui);font-size:12.5px;color:var(--muted);margin-top:5px}
@media (max-width:640px){.v2-trust .v2-wrap{grid-template-columns:1fr;gap:15px;padding:20px var(--pad)}}

/* ==== NOORA-BOARD-SKIN BEGIN ==== */
.v2-announce{background:#1C1A18;color:#F4F1EA;height:38px;display:flex;align-items:center;justify-content:center;font-family:'Jost',sans-serif;font-size:10px;font-weight:500;letter-spacing:.18em;text-transform:uppercase}
.v2-head{border-bottom:1px solid #E0D7C9;background:#F4F1EA}
.v2-head-in{height:82px;padding:0 60px;align-items:center}
.v2-logo{font-size:24px;font-weight:400;letter-spacing:.36em}
.v2-nav{gap:40px}
.v2-nav a{font-family:'Jost',sans-serif;font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase}
.v2-head-act{gap:22px}
.v2-lang{display:inline-flex;align-items:center;border:1px solid #C9BDAB;margin-left:20px;flex:0 0 auto}
.v2-lang a{font-family:'Jost',sans-serif;font-size:10px;font-weight:500;letter-spacing:.14em;padding:7px 13px;text-decoration:none;color:#6E6257;line-height:1}
.v2-lang a.is-on{background:#252423;color:#F4F1EA}
.shop-card,.v2-card{display:block;position:relative}
.shop-card .shop-card-media,.v2-card .v2-card-media{position:relative;background:#E4DCD0;overflow:hidden;aspect-ratio:1/1.32;display:block}
.shop-card .shop-card-img,.v2-card .v2-card-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center;display:block}
.shop-card .shop-card-title,.v2-card .v2-card-name{font-family:'Jost',sans-serif;font-size:14px;font-weight:500;letter-spacing:.105em;text-transform:uppercase;line-height:1.5;padding-top:18px;min-height:60px;overflow:hidden;margin:0}
.shop-card .shop-card-price,.v2-card .v2-card-price{font-family:'Jost',sans-serif;font-size:14px;letter-spacing:.03em;color:#252423;margin:0}
.shop-card .shop-card-was,.v2-card .v2-card-price s{color:#C2B6A6;margin-left:8px;font-size:13px}
.shop-card .flags{top:14px;left:14px;gap:8px}
.shop-card .flag,.v2-card .v2-badge{padding:6px 11px;font-size:9px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;background:#F4F1EA;color:#252423;font-family:'Jost',sans-serif}
.shop-card .flag.left,.v2-card .v2-left{padding:4px 8px;font-size:10px;font-weight:600;letter-spacing:.1em;background:rgba(124,49,64,.92);color:#F4F1EA}
.shop-card .flag.out,.v2-card .v2-out{background:#1C1A18;color:#F4F1EA}
.nb-wish{position:absolute;top:12px;right:12px;width:34px;height:34px;background:rgba(244,241,234,.9);display:flex;align-items:center;justify-content:center;z-index:4;border:0;padding:0}
.nb-add{position:absolute;right:12px;bottom:12px;height:34px;padding:0 11px;background:rgba(244,241,234,.95);display:flex;align-items:center;gap:5px;font-family:'Jost',sans-serif;font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#252423;z-index:4;border:0}
.nb-wish svg,.nb-add svg{display:block}
.shop-card .sw-row,.v2-card .sw-row{padding-top:10px;gap:6px;align-items:center}
.sw{width:12px;height:12px;border-radius:50%;border:0}
.sw.is-on{outline:1px solid #252423;outline-offset:2px}
.v2-col,.sw-note{font-family:'Jost',sans-serif;font-size:10px;letter-spacing:.08em;color:#6E6257;margin-left:4px;text-transform:none}
.shop-card .sz-row,.v2-card .sz-row{padding-top:8px;gap:10px}
.sz{font-family:'Jost',sans-serif;font-size:10px;letter-spacing:.1em;color:#6E6257;border:0;padding:0;background:none;line-height:1.4}
.sz.is-off{color:#C2B6A6;text-decoration:line-through}
.shop-grid{column-gap:46px;row-gap:64px}
.v2-foot{background:#EDE6DA}
@media (max-width:760px){
.v2-announce{height:30px;font-size:9px;letter-spacing:.16em}
.v2-head-in{height:56px;padding:0 16px}
.v2-logo{font-size:19px;letter-spacing:.34em}
.v2-lang{margin-left:0}
.v2-lang a{padding:6px 10px;font-size:9px}
.shop-card .shop-card-title,.v2-card .v2-card-name{font-size:12px;padding-top:12px;min-height:48px}
.shop-card .shop-card-price,.v2-card .v2-card-price{font-size:12px}
.shop-card .flags{top:10px;left:10px;gap:6px}
.shop-card .flag,.v2-card .v2-badge{padding:5px 9px;font-size:8px}
.shop-card .flag.left,.v2-card .v2-left{font-size:9px}
.nb-wish{top:8px;right:8px;width:30px;height:30px}
.nb-add{right:8px;bottom:8px;height:30px;font-size:9px}
.sw{width:10px;height:10px}
.v2-col,.sw-note{font-size:9px}
.sz{font-size:9px}
.shop-grid{column-gap:10px;row-gap:30px}
}
/* ==== NOORA-BOARD-SKIN END ==== */
