/* =========================================================================
   SKIMS NOWC — theme stylesheet (hand-built, no Tailwind/build step)
   ========================================================================= */

/* ---------- Fonts (self-hosted) ---------- */
@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/inter-400.woff2") format("woff2");}
@font-face{font-family:"Inter";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/inter-500.woff2") format("woff2");}
@font-face{font-family:"Inter";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/inter-700.woff2") format("woff2");}
/* SKIMS display face — exact Tstar Pro Headline (proprietary; local/demo use). */
@font-face{font-family:"Tstar Pro Headline";font-style:normal;font-weight:400 900;font-display:swap;src:url("../fonts/tstar-headline.woff2") format("woff2");}

/* ---------- Tokens ---------- */
:root{
  --bg:#ffffff; --fg:#2d2a26; --fg-strong:#000; --muted:#767472;
  --card:#f3f1ef; --surface:#f7f6f4; --line:#e6e3df; --accent:#9a5b46; --on-dark:#f6f6f6;
  --font-body:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --font-display:"Tstar Pro Headline","Arial Narrow",sans-serif;
  --header-h:48px; --nav-h:48px; --ann-h:36px;
  --gut:16px; --maxw:1600px;
  --ease:cubic-bezier(0,0,0.2,1);
}

/* ---------- Reset / base ---------- */
*,*::before,*::after{box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;}
/* Mobilde dokununca elemanın arkasında beliren gri "tap highlight" kutucuğunu
   TAMAMEN kaldır (linkler/butonlar/kartlar — tüm tıklanabilir alanlar). Klavye
   erişilebilirliği için :focus-visible dış çizgisine dokunulmaz. */
a,button,input,select,textarea,label,summary,[role="button"],[tabindex]{-webkit-tap-highlight-color:transparent;}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
img,video{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;}
ul{list-style:none;margin:0;padding:0;}
h1,h2,h3,h4,p{margin:0;}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
.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;}
.icon{display:inline-block;vertical-align:middle;width:18px;height:18px;}

/* ---------- Typography ---------- */
.display{font-family:var(--font-display);font-weight:800;text-transform:uppercase;letter-spacing:.02em;line-height:1.04;}
.eyebrow{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;}
.link-underline{display:inline-block;font-size:13px;font-weight:500;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid currentColor;padding-bottom:2px;}
.container{max-width:var(--maxw);margin:0 auto;padding:0 var(--gut);}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 24px;background:var(--fg);color:#fff;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;border:1px solid var(--fg);transition:background .2s var(--ease),color .2s var(--ease);width:100%;}
.btn:hover{background:#000;}
.btn--ghost{background:#fff;color:var(--fg);border-color:var(--line);}
.btn--ghost:hover{border-color:var(--fg);background:#fff;}
.btn:disabled{background:#cfccc8;border-color:#cfccc8;cursor:not-allowed;}

/* =========================================================================
   Announcement bar
   ========================================================================= */
.ann{position:absolute;left:50%;top:0;height:100%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;font-size:12px;letter-spacing:.02em;white-space:nowrap;color:var(--fg);pointer-events:none;}
.ann__track{display:flex;align-items:center;justify-content:center;text-align:center;min-height:1em;}
.ann__msg{display:none;}
.ann__msg.is-active{display:block;animation:annIn .5s var(--ease);}
@keyframes annIn{from{opacity:0;transform:translateY(4px);}to{opacity:1;transform:none;}}
.ann__pause{margin-left:auto;flex:0 0 auto;width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:var(--fg);}
.ann__pause .icon{width:18px;height:18px;}

/* =========================================================================
   Header + nav + mega-menu
   ========================================================================= */
.site-header{position:sticky;top:0;z-index:50;}
.header__logobar{position:relative;display:flex;align-items:center;gap:16px;height:48px;padding:0 var(--gut);background:#fff;border-bottom:1px solid var(--line);}
.header__logo{display:flex;align-items:center;gap:10px;flex:0 0 auto;color:var(--fg);position:relative;z-index:1;}
.header__logo .logo{width:104px;height:auto;}
.header__bar{display:flex;align-items:center;gap:20px;height:var(--nav-h);padding:0 var(--gut);background:#fff;border-bottom:1px solid var(--line);transition:background .25s var(--ease),border-color .25s var(--ease);}
.nav{flex:1 1 auto;min-width:0;}
.nav__list{display:flex;align-items:center;gap:18px;height:var(--nav-h);}
.nav__link--logo{padding:6px 0;}
.nav__link--logo .nav__logo{height:16px;width:auto;display:block;}
.nav__link{position:relative;font-size:14px;font-weight:700;letter-spacing:normal;color:var(--fg);display:flex;align-items:center;height:100%;transition:color .2s var(--ease);}
.nav__link::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:1.5px;background:var(--accent);transform:scaleX(0);transform-origin:left center;transition:transform .32s var(--ease);}
.nav__item:hover .nav__link::after,.nav__item.is-open .nav__link::after{transform:scaleX(1);}
.nav__item.is-sale .nav__link{color:var(--accent);}
.nav__item:hover .nav__link,.nav__item.is-open .nav__link{color:var(--accent);}
.header__actions{display:flex;align-items:center;gap:14px;flex:0 0 auto;margin-left:auto;}
.header__actions button,.header__actions a{position:relative;display:flex;align-items:center;color:var(--fg);}
.header__actions .icon{width:20px;height:20px;}
.badge{position:absolute;top:-6px;right:-8px;min-width:15px;height:15px;padding:0 3px;border-radius:999px;background:var(--fg);color:#fff;font-size:9px;font-weight:700;line-height:15px;text-align:center;display:none;}
.badge.is-on{display:block;}
.header__menu-btn{display:none;}

/* Mobile-only action cluster inside the logo bar (search/wishlist/bag/hamburger).
   Hidden on desktop; revealed in the <=768 media query. */
.header__mobile-actions{display:none;align-items:center;gap:8px;margin-left:auto;flex:0 0 auto;position:relative;z-index:2;}
.header__mobile-actions a,.header__mobile-actions button{position:relative;display:flex;align-items:center;color:inherit;}
/* SKIMS-measured mobile icon sizes: search 20, wishlist/bag 18, hamburger 20. */
.header__mobile-actions .icon{width:22px;height:22px;}
.header__msearch{gap:6px;margin-right:8px;border-bottom:1px solid currentColor;padding-bottom:3px;}
.header__msearch .icon{width:20px;height:20px;}
/* SKIMS "SEARCH" trigger: Inter 12/500 label; the 1px underline spans the magnifier + label (on .header__msearch, like SKIMS). */
.header__msearch-label{font-size:12px;font-weight:500;letter-spacing:.3px;text-transform:uppercase;line-height:1;}
.header__menu-btn .icon{width:20px;height:20px;}

/* front page: white logo bar on top, nav bar overlays the hero (SKIMS layout) */
body.is-front .header__bar{background:transparent;border-bottom-color:transparent;}
body.is-front .home-hero{margin-top:calc(-1 * var(--nav-h));}
.site-header.is-scrolled .header__bar{background:#fff;border-bottom-color:transparent;}
/* nav text white over the hero (front page, before scroll) */
body.is-front .header__bar .nav__link,
body.is-front .header__bar .header__actions a,
body.is-front .header__bar .header__actions button{color:#fff;}
body.is-front .header__bar .nav__item:hover .nav__link{color:var(--accent);}
/* revert to dark once the nav bar turns white on scroll */
.site-header.is-scrolled .header__bar .nav__link,
.site-header.is-scrolled .header__bar .header__actions a,
.site-header.is-scrolled .header__bar .header__actions button{color:var(--fg);}
.site-header.is-scrolled .header__bar .nav__item:hover .nav__link,
.site-header.is-scrolled .header__bar .is-sale .nav__link{color:var(--accent);}
/* hovering the nav bar (mega open) solidifies the header to white over the hero */
body.is-front .header__bar:hover{background:#fff;border-bottom-color:var(--line);}
body.is-front .header__bar:hover .nav__link,
body.is-front .header__bar:hover .header__actions a,
body.is-front .header__bar:hover .header__actions button{color:var(--fg);}
body.is-front .header__bar:hover .nav__item:hover .nav__link,
body.is-front .header__bar:hover .is-sale .nav__link{color:var(--accent);}

/* Mega-menu */
.mega{position:absolute;left:0;right:0;top:100%;background:#fff;border-top:1px solid var(--line);box-shadow:0 24px 40px -24px rgba(0,0,0,.18);opacity:0;visibility:hidden;clip-path:inset(0 100% 0 0);transition:clip-path .42s var(--ease),opacity .15s var(--ease),visibility .15s var(--ease);}
.nav__item.has-mega:hover .mega,.nav__item.is-open .mega{opacity:1;visibility:visible;clip-path:inset(0 0 0 0);}
.mega__inner{padding:32px var(--gut) 40px;display:flex;gap:96px;justify-content:flex-start;}
.mega__cols{display:flex;gap:80px;flex:0 0 auto;}
.mega__title{font-size:16px;font-weight:700;text-transform:none;letter-spacing:normal;color:var(--fg);margin-bottom:14px;}
.mega__col ul li{margin-bottom:10px;}
.mega__col ul a{font-size:12px;font-weight:400;color:var(--fg);transition:color .15s var(--ease);}
.mega__col--primary ul a{font-size:14px;font-weight:700;}
.mega__col ul a:hover{color:var(--accent);}
.mega__featured{flex:0 0 180px;display:block;}
.mega__featured-img{display:block;height:225px;background:var(--card) center/cover no-repeat;margin-bottom:12px;}
.mega__featured-label{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;}
.mega__featured-label .icon{width:14px;height:14px;}
.mega__featured-title{display:block;font-size:14px;font-weight:700;color:var(--fg);letter-spacing:normal;}
.mega__featured-caption{display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:var(--accent);}

/* =========================================================================
   Home — full-bleed stacked sections
   ========================================================================= */
.home-hero{position:relative;height:100vh;min-height:560px;background:var(--card);overflow:hidden;}
.home-hero__media,.editorial__media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
/* When the hero media is a <picture> (art-directed), make the inner <img> fill it. */
picture.home-hero__media>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.media-fallback{position:absolute;inset:0;background:linear-gradient(135deg,#d9cdc2,#b7a594 55%,#8c7a6b);}
.home-hero__overlay,.editorial__overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.62),rgba(0,0,0,.08) 58%);}
.home-hero__content{position:absolute;left:0;bottom:7%;padding:0 40px;color:var(--on-dark);max-width:960px;text-shadow:0 1px 16px rgba(0,0,0,.3);}
.home-hero__title{font-size:clamp(30px,3.4vw,48px);letter-spacing:1.2px;line-height:1.08;white-space:nowrap;}
.home-hero__sub{margin:12px 0 18px;font-size:16px;max-width:680px;}
@media(max-width:600px){.home-hero__title{white-space:normal;}}

/* editorial grid (n-up) */
.editorial{display:grid;gap:0;}
.editorial--2{grid-template-columns:1fr 1fr;}
.editorial__tile{position:relative;height:96vh;min-height:560px;background:var(--card);overflow:hidden;display:block;}
.editorial__content{position:absolute;left:0;bottom:6%;padding:0 32px;color:var(--on-dark);text-shadow:0 1px 16px rgba(0,0,0,.35);display:flex;flex-direction:column;align-items:flex-start;max-width:600px;}
.editorial__title{font-size:clamp(22px,2vw,30px);}
.editorial__sub{margin:8px 0 14px;font-size:16px;max-width:560px;}

/* brand statement */
.statement{padding:96px 24px;text-align:center;}
.statement__text{max-width:680px;margin:0 auto;font-size:clamp(22px,2.4vw,34px);}

/* new arrivals carousel */
.carousel{padding:40px 0 64px;}
.carousel__head{display:flex;align-items:center;justify-content:center;position:relative;padding:0 var(--gut);margin-bottom:24px;}
.carousel__title{font-size:18px;font-family:var(--font-display);font-weight:800;text-transform:uppercase;letter-spacing:.04em;}
.carousel__nav{position:absolute;right:var(--gut);display:flex;align-items:center;gap:14px;font-size:12px;color:var(--muted);}
.carousel__nav button{display:flex;width:28px;height:28px;align-items:center;justify-content:center;}
.carousel__track{display:flex;gap:2px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0 var(--gut);}
.carousel__track::-webkit-scrollbar{display:none;}
.carousel__track>*{flex:0 0 clamp(220px,24vw,320px);scroll-snap-align:start;}

/* =========================================================================
   Product card
   ========================================================================= */
.card{position:relative;display:flex;flex-direction:column;}
.card__media{position:relative;display:block;aspect-ratio:9/13;background:var(--card);overflow:hidden;}
.card__track{display:flex;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
.card__track::-webkit-scrollbar{display:none;}
.card__slide{flex:0 0 100%;width:100%;height:100%;object-fit:cover;scroll-snap-align:start;display:block;}
.card__bar{position:absolute;left:0;right:0;bottom:0;height:3px;background:rgba(97,94,92,.22);z-index:2;}
.card__bar-fill{display:block;height:100%;width:0;background:#2d2a26;transition:width .25s var(--ease);}
.card__nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;display:none;align-items:center;justify-content:center;width:28px;height:28px;border:0;background:rgba(255,255,255,.72);border-radius:50%;color:#2d2a26;cursor:pointer;}
.card__nav .icon{width:15px;height:15px;}
.card__nav--prev{left:6px;}
.card__nav--next{right:6px;}
@media(hover:hover){.card:hover .card__nav{display:flex;}}
.card__badge{position:absolute;bottom:10px;left:10px;background:var(--fg);color:#fff;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:4px 9px;border-radius:3px;}
.card__badge--light{background:#fff;color:var(--fg);}
.card__row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:10px 0 0;padding:0 16px;min-height:22px;}
.card__wish{flex:0 0 auto;width:26px;height:26px;display:flex;align-items:center;justify-content:center;color:var(--fg);}
.card__wish .icon{width:19px;height:19px;flex:0 0 auto;}
.card__wish .icon-heart-filled{display:none;color:var(--accent);}
.card__wish.is-on .icon-wishlist{display:none;}
.card__wish.is-on .icon-heart-filled{display:inline-block;}
.card__swatches{display:flex;gap:4px;flex-wrap:nowrap;align-items:center;overflow:hidden;}
.swatch{width:15px;height:15px;border-radius:2px;border:1px solid rgba(0,0,0,.22);display:inline-block;flex:0 0 auto;}
.card__swatch-more{font-size:11px;color:var(--muted);margin-left:2px;white-space:nowrap;}
.card__info{padding:7px 16px 0;}
.card__eyebrow{display:block;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.02em;}
.card__name{display:block;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.01em;margin:3px 0 2px;}
.card__info .price{display:block;}
.price{font-size:12px;}
.price__was{color:var(--muted);text-decoration:line-through;margin-right:6px;}
.price__now{color:var(--accent);}

/* =========================================================================
   PLP (collection / archive)
   ========================================================================= */
.plp__head{padding:24px var(--gut) 0;}
.plp__title{font-size:clamp(22px,2.2vw,30px);}
.plp__sub{color:var(--muted);font-size:13px;margin-top:6px;}
.plp__subcats{display:flex;flex-wrap:nowrap;gap:16px;margin:22px 0 18px;max-width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;touch-action:pan-x;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
.plp__subcats::-webkit-scrollbar{display:none;}
.subcat{flex:0 0 auto;width:172px;text-decoration:none;color:var(--fg);}
.subcat__img{display:block;width:100%;aspect-ratio:4/5;background:var(--card) center/cover no-repeat;}
.subcat__label{display:block;margin-top:9px;font-size:14px;font-weight:700;letter-spacing:normal;}
.subcat:hover .subcat__label{text-decoration:underline;text-underline-offset:2px;}
.breadcrumb{margin-top:10px;font-size:12px;color:var(--muted);}
.breadcrumb ol{display:flex;gap:6px;list-style:none;margin:0;padding:0;}
.breadcrumb li{list-style:none;}
.breadcrumb li+li::before{content:"/";margin-right:6px;color:var(--line);}
.plp__filters{display:flex;align-items:center;gap:22px;flex-wrap:wrap;padding:14px var(--gut);border-bottom:1px solid var(--line);margin-top:14px;font-size:12px;text-transform:uppercase;letter-spacing:.03em;position:sticky;top:var(--plp-sticky-top,96px);z-index:40;background:#fff;}
.plp__trigger{display:inline-flex;align-items:center;gap:5px;background:none;border:0;cursor:pointer;font:inherit;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--fg);padding:0;}
.plp__trigger .icon{width:12px;height:12px;color:var(--muted);}
.plp__count{margin-left:auto;color:var(--muted);text-transform:none;letter-spacing:normal;font-weight:400;}

/* Filter drawer (right-side panel, SKIMS-style) */
.fdrawer[hidden]{display:none;}
.fdrawer{position:fixed;inset:0;z-index:1200;}
.fdrawer__overlay{position:absolute;inset:0;background:rgba(0,0,0,.4);opacity:0;transition:opacity .3s var(--ease);}
.fdrawer.is-open .fdrawer__overlay{opacity:1;}
.fdrawer__panel{position:absolute;top:0;right:0;height:100%;width:min(440px,92vw);background:#fff;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .38s var(--ease);box-shadow:-24px 0 48px -28px rgba(0,0,0,.3);}
.fdrawer.is-open .fdrawer__panel{transform:translateX(0);}
.fdrawer__head{display:flex;align-items:center;gap:14px;padding:18px 22px;border-bottom:1px solid var(--line);}
.fdrawer__status{font-size:12px;color:var(--fg);}
.fdrawer__clear{background:none;border:0;cursor:pointer;font:inherit;font-size:12px;text-decoration:underline;color:var(--fg);display:none;padding:0;}
.fdrawer.has-active .fdrawer__clear{display:inline;}
.fdrawer__close{margin-left:auto;background:none;border:0;cursor:pointer;color:var(--fg);display:flex;padding:0;}
.fdrawer__close .icon{width:18px;height:18px;}
.fdrawer__body{flex:1 1 auto;overflow-y:auto;}
.facc{border-bottom:1px solid var(--line);}
.facc__head{width:100%;display:flex;align-items:center;justify-content:space-between;background:none;border:0;cursor:pointer;font:inherit;font-size:16px;font-weight:700;padding:20px 22px;color:var(--fg);}
.facc__head .icon{width:14px;height:14px;color:var(--fg);transition:transform .25s var(--ease);}
.facc.is-open .facc__head .icon{transform:rotate(180deg);}
.facc__panel{display:none;padding:0 22px 24px;}
.facc.is-open .facc__panel{display:block;}
.facc.is-open .facc__panel.facc__pills{display:grid;}
.facc__pills{grid-template-columns:repeat(5,1fr);gap:8px;}
.fpill{position:relative;display:block;}
.fpill input{position:absolute;inset:0;opacity:0;cursor:pointer;margin:0;}
.fpill span{display:flex;align-items:center;justify-content:center;height:40px;border:1px solid var(--line);border-radius:4px;font-size:12px;}
.fpill input:checked+span{background:var(--fg);color:#fff;border-color:var(--fg);}
.frow{display:flex;align-items:center;gap:10px;padding:9px 0;font-size:12px;cursor:pointer;}
.frow input{accent-color:var(--fg);width:16px;height:16px;flex:0 0 auto;}
.frow .swatch{width:15px;height:15px;flex:0 0 auto;border-radius:2px;}
.fdrawer__foot{padding:16px 22px;border-top:1px solid var(--line);}
.fdrawer__apply{width:100%;height:50px;background:var(--fg);color:#fff;border:0;cursor:pointer;font-family:"Tstar Pro Headline","Arial Narrow",sans-serif;font-size:16px;text-transform:none;letter-spacing:.4px;font-weight:400;}
.fdrawer__apply:hover{opacity:.92;}
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:0 var(--gut);}
.plp__empty{padding:80px var(--gut);text-align:center;color:var(--muted);}

/* =========================================================================
   PDP
   ========================================================================= */
.pdp{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr;gap:0;align-items:start;grid-template-areas:"gallery head" "gallery info";}
.pdp__gallery{grid-area:gallery;position:sticky;top:96px;align-self:start;background:#fff;}
.pdp__main{position:relative;width:100%;height:calc(100vh - 96px);background:#fff;overflow:hidden;cursor:zoom-in;}
.pdp__main img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .25s ease;}
.pdp__main.is-zoomed{cursor:zoom-out;}
.pdp__main.is-zoomed img{transform:scale(2);}
/* Model-sizing modal */
.szmodal{position:fixed;inset:0;z-index:120;display:flex;align-items:center;justify-content:center;padding:20px;}
.szmodal[hidden]{display:none;}
.szmodal__scrim{position:absolute;inset:0;width:100%;height:100%;background:rgba(0,0,0,.45);border:0;padding:0;cursor:pointer;}
.szmodal__panel{position:relative;z-index:1;background:#fff;width:100%;max-width:480px;max-height:85vh;overflow-y:auto;padding:28px;}
.szmodal__close{position:absolute;top:14px;right:14px;background:none;border:0;color:var(--fg);cursor:pointer;line-height:0;}
.szmodal__close .icon{width:18px;height:18px;}
.szmodal__title{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:18px;letter-spacing:.04em;margin:0 0 10px;}
.szmodal__note{font-size:14px;color:var(--fg);margin:0 0 18px;}
.szmodal__chart{width:100%;border-collapse:collapse;font-size:13px;}
.szmodal__chart th,.szmodal__chart td{text-align:left;padding:9px 8px;border-bottom:1px solid var(--line);}
.szmodal__chart th{font-weight:700;text-transform:uppercase;font-size:11px;letter-spacing:.04em;}
.szmodal__fine{font-size:11px;color:var(--muted);margin:14px 0 0;}
.pdp__zoom{position:absolute;top:14px;left:14px;color:var(--fg);z-index:3;}
/* ---- gallery nav arrows (match SKIMS: edge-anchored, vertically centered) ---- */
.pdp__nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;display:flex;align-items:center;justify-content:center;padding:28px 16px;color:#2d2a26;background:none;border:0;cursor:pointer;}
.pdp__nav--prev{left:0;}
.pdp__nav--next{right:0;}
.pdp__nav .icon{width:34px;height:34px;stroke-width:1.5;display:block;}
.pdp__nav:hover{opacity:.6;}
@media (hover:none){.pdp__nav{padding:20px 10px;}}
/* ---- MODEL SIZING button (bottom-left overlay) ---- */
.pdp__sizing{position:absolute;left:16px;bottom:24px;z-index:3;display:inline-flex;align-items:center;gap:6px;padding:8px 12px;background:rgba(255,255,255,.5);color:#000;border:0;border-radius:0;cursor:pointer;font-family:var(--font-body);font-size:12px;font-weight:700;line-height:16px;text-transform:uppercase;-webkit-backdrop-filter:saturate(120%);backdrop-filter:saturate(120%);}
.pdp__sizing-icon{width:16px;height:16px;flex:0 0 16px;}
.pdp__sizing:hover{background:rgba(255,255,255,.75);}
/* ---- progress bar (continuous fill, SKIMS swiper-scrollbar) ---- */
.pdp__bar{position:absolute;left:0;bottom:0;z-index:2;width:100%;height:8px;background:rgba(97,94,92,.25);}
.pdp__bar-fill{display:block;height:100%;width:0;background:#2d2a26;transition:width .3s ease;}
@media (prefers-reduced-motion:reduce){.pdp__bar-fill{transition:none;}}
.pdp__thumbs{display:none;}
.pdp__thumbs::-webkit-scrollbar{display:none;}
.pdp__thumb{flex:0 0 56px;aspect-ratio:8/9;background:#fff;border:1px solid transparent;overflow:hidden;}
.pdp__thumb.is-active{border-color:var(--fg);}
.pdp__thumb img{width:100%;height:100%;object-fit:cover;}
.pdp__info{grid-area:info;padding:0 clamp(20px,4vw,48px) 48px;}
.pdp__head{grid-area:head;padding:0 clamp(20px,4vw,48px);}
.pdp__info-inner{max-width:480px;}
.pdp__eyebrow{font-size:12px;font-weight:700;color:var(--fg);text-transform:uppercase;letter-spacing:normal;border-bottom:1px solid currentColor;display:inline-block;line-height:16px;}
.pdp__title{font-size:24px;font-weight:400;line-height:30px;margin:12px 0 8px;letter-spacing:.6px;text-transform:uppercase;}
.pdp__price{font-size:16px;font-weight:500;letter-spacing:normal;color:#000;margin-bottom:12px;}
.pdp__rating{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);margin-bottom:20px;}
.stars{display:inline-flex;gap:1px;color:var(--fg);}
.stars .star .icon{width:13px;height:13px;}
.stars .star:not(.is-on){color:#d7d3ce;}
.pdp__ship{font-size:12px;color:var(--fg);line-height:1.7;margin-bottom:22px;}
.pdp__ship-arrow{display:block;width:14px;height:14px;margin-bottom:6px;color:var(--fg);}
.pdp__ship-lines{margin:0;}
.pdp__ship-lines b{font-weight:700;}
.pdp__ship-lines a{font-weight:700;text-decoration:underline;color:var(--fg);}
.opt{margin-bottom:20px;}
.opt__label{font-size:12px;font-weight:400;text-transform:none;letter-spacing:normal;margin-bottom:10px;color:var(--fg);}
.opt__label b{color:var(--fg);font-weight:700;margin-left:6px;}
.opt__swatches{display:flex;gap:8px;flex-wrap:wrap;}
.opt__swatch{width:24px;height:24px;border-radius:2px;border:1px solid rgba(0,0,0,.15);position:relative;}
.opt__swatch.is-active{box-shadow:0 0 0 1px #fff,0 0 0 2px var(--fg);}
.opt__sizes{display:flex;gap:6px;flex-wrap:wrap;}
.opt__size{min-width:56px;height:32px;padding:0 6px;border:1px solid var(--line);border-radius:2px;font-size:12px;display:flex;align-items:center;justify-content:center;transition:border-color .15s var(--ease);}
.opt__size:hover{border-color:var(--fg);}
.opt__size.is-active{background:var(--fg);color:#fff;border-color:var(--fg);}
.pdp__buy{display:flex;align-items:center;gap:12px;margin:8px 0 20px;max-width:320px;}
.pdp__atc{margin:0;}
.btn.pdp__atc{width:100%;height:52px;font-family:var(--font-display);font-size:16px;font-weight:400;text-transform:none;letter-spacing:.4px;border-radius:2px;}
.btn.pdp__atc:disabled{background:#fff;color:var(--muted);border:1px solid var(--muted);cursor:not-allowed;}
.pdp__wish{position:absolute;top:16px;right:16px;z-index:4;width:auto;height:auto;padding:6px;border:0;background:none;display:flex;align-items:center;justify-content:center;color:#000;}
.pdp__wish .icon{width:24px;height:24px;}
.pdp__wish .icon-heart-filled{display:none;color:var(--accent);}
.pdp__wish.is-on .icon-wishlist{display:none;}
.pdp__wish.is-on .icon-heart-filled{display:inline-block;}
.pdp__love{background:var(--surface);padding:18px;margin-bottom:22px;}
.pdp__love-title{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px;}
.pdp__love-title .icon{width:14px;height:14px;}
.pdp__love p{font-size:13px;color:#4a4540;}
/* ---- Product detail tabs (SKIMS-measured: Inter 16/24, active 700, underline 1px) ---- */
.ptabs{margin-top:8px;}
.ptabs__list{display:flex;width:100%;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;list-style:none;margin:0;padding:0;}
.ptabs__list::-webkit-scrollbar{display:none;}
.ptabs__tab{display:block;padding:16px 24px;background:none;border:0;border-bottom:1px solid #e8e5df;cursor:pointer;white-space:nowrap;color:#2d2a26;}
.ptabs__tab.is-active{border-bottom-color:#2d2a26;}
.ptabs__label{display:inline-block;font-family:var(--font-body);font-size:16px;line-height:24px;font-weight:400;color:#2d2a26;text-transform:none;letter-spacing:normal;text-align:center;white-space:nowrap;}
.ptabs__tab.is-active .ptabs__label{font-weight:700;}
.ptabs__panels{padding-top:18px;}
.ptabs__panel{font-family:var(--font-body);font-size:12px;line-height:16px;color:#2d2a26;}
.ptabs__panel[hidden]{display:none;}
.ptabs__panel p{font-size:12px;line-height:16px;color:#2d2a26;margin:0 0 12px;}
.ptabs__panel p:last-child{margin-bottom:0;}
.pdp__related{padding:64px 0 0;}
.pdp__related h2{text-align:center;font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:18px;letter-spacing:.04em;margin-bottom:24px;}

/* =========================================================================
   Cart drawer + overlay
   ========================================================================= */
.scrim{position:fixed;inset:0;background:rgba(0,0,0,.4);opacity:0;visibility:hidden;transition:opacity .3s var(--ease),visibility .3s var(--ease);z-index:80;}
.scrim.is-open{opacity:1;visibility:visible;}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(440px,100vw);background:#fff;z-index:90;transform:translateX(100%);transition:transform .35s var(--ease);display:flex;flex-direction:column;}
.drawer.is-open{transform:none;}
.drawer__head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--line);}
.drawer__head h2{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:15px;letter-spacing:.04em;}
.drawer__body{flex:1 1 auto;overflow-y:auto;padding:8px 20px;}
.drawer__empty{text-align:center;padding:44px 16px 0;color:var(--muted);}
.drawer__empty p{margin-bottom:18px;font-size:14px;}
.drawer__empty .drawer__empty-lead{font-size:20px;color:var(--fg);font-weight:500;margin-bottom:4px;}
.drawer__empty .drawer__empty-sub{font-size:14px;color:var(--muted);margin-bottom:20px;}
.drawer__empty .dcarousel{text-align:left;margin-top:32px;}
.line{display:flex;gap:16px;padding:20px 0;border-bottom:1px solid var(--line);}
.line__img{flex:0 0 96px;height:128px;background:var(--card);object-fit:cover;}
.line__meta{flex:1 1 auto;font-size:12px;min-width:0;}
.line__eyebrow{font-size:12px;font-weight:700;line-height:16px;color:var(--fg);}
.line__imglink{display:contents;}
.line__name{display:block;font-family:var(--font-display);font-weight:400;font-size:18px;line-height:22px;letter-spacing:.45px;margin:2px 0 4px;color:inherit;text-decoration:none;cursor:pointer;}
.line__name:hover{text-decoration:underline;}
.line__price{font-size:14px;font-weight:500;line-height:20px;letter-spacing:.35px;margin-bottom:8px;}
.line__attr{font-size:12px;line-height:16px;margin:2px 0;}
.line__attr-k{font-weight:400;color:var(--fg);}
.line__attr-v{font-weight:700;color:var(--fg);}
.line__qty{display:inline-flex;align-items:center;border:1px solid var(--line);margin-top:10px;}
.line__qty button{width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--fg);}
.line__qty button .icon{width:14px;height:14px;}
.line__qty span{min-width:34px;text-align:center;font-size:13px;}
.line__right{display:flex;flex-direction:column;align-items:flex-end;}
.line__remove{color:var(--fg);text-decoration:underline;font-size:12px;font-weight:700;line-height:16px;}

.drawer__foot{border-top:1px solid var(--line);padding:14px 20px 18px;}

/* ---- Cart drawer: title + count ---- */
.cart__title{display:flex;align-items:baseline;gap:6px;}
.drawer--cart .drawer__head h2{font-family:var(--font-display);font-weight:400;font-size:20px;line-height:24px;letter-spacing:.5px;text-transform:uppercase;}
.cart__title-count{font-family:var(--font-display);font-weight:400;font-size:20px;letter-spacing:.5px;}

/* ---- Free-shipping progress banner ---- */
.cart__ship{padding:12px 20px 14px;border-bottom:1px solid var(--line);text-align:center;}
.cart__ship-msg{font-size:12px;line-height:16.5px;color:var(--fg);margin-bottom:8px;}
.cart__ship-bar{height:3px;background:var(--line);position:relative;overflow:hidden;}
.cart__ship-fill{position:absolute;inset:0 auto 0 0;width:0;background:var(--fg);transition:width .35s var(--ease);}

/* ---- Gift-bag upsell row ---- */
.cart__gift{display:flex;align-items:center;gap:14px;padding:16px 0;border-bottom:1px solid var(--line);cursor:pointer;}
.cart__gift-img{flex:0 0 40px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--card);color:var(--fg);}
.cart__gift-img .icon{width:22px;height:22px;}
.cart__gift-text{flex:1 1 auto;font-family:var(--font-display);font-weight:400;font-size:14px;line-height:20px;letter-spacing:.35px;text-transform:uppercase;}
.cart__gift-check{flex:0 0 auto;width:24px;height:24px;accent-color:var(--fg);margin:0;cursor:pointer;}

/* ---- Drawer carousels (compact, narrow) ---- */
.dcarousel{padding:24px 0 8px;margin:0 calc(var(--gut) * -1);}
.dcarousel .carousel__head{padding:0 20px;margin-bottom:16px;}
.dcarousel__title{font-family:var(--font-display);font-weight:400;font-size:20px;line-height:24px;letter-spacing:.5px;text-transform:uppercase;}
.dcarousel .carousel__track{padding:0 20px;gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.dcarousel .carousel__track::-webkit-scrollbar{display:none;}
.dcarousel .carousel__track>.ccard{flex:0 0 175px;border-right:1px solid var(--line);}
.dcarousel .carousel__track>.ccard:first-child{border-left:1px solid var(--line);}
.dcarousel .ccard__media{aspect-ratio:9/13;padding:0;}
.dcarousel .ccard__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.dcarousel .ccard__row{padding:10px 12px 16px;}
.dcarousel .ccard__eyebrow{font-size:12px;font-weight:500;letter-spacing:.3px;}
.dcarousel .ccard__name{font-family:var(--font-display);font-weight:400;font-size:14px;line-height:20px;letter-spacing:.35px;text-transform:uppercase;}
.dcarousel .ccard__row .price{font-size:10px;letter-spacing:.25px;}

/* ---- Our Policies accordion ---- */
.cart__policies{padding:8px 0 4px;}
.cart__policies-title{font-family:var(--font-display);font-weight:400;font-size:20px;line-height:24px;letter-spacing:.5px;text-transform:uppercase;margin:18px 0 6px;}
.cart__policy{border-bottom:1px solid var(--line);}
.cart__policy summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 2px;font-size:16px;font-weight:700;line-height:24px;color:var(--fg);}
.cart__policy summary::-webkit-details-marker{display:none;}
.cart__policy summary .icon{width:16px;height:16px;flex:0 0 auto;transition:transform .2s var(--ease);}
.cart__policy[open] summary .icon{transform:rotate(180deg);}
.cart__policy-body{padding:0 2px 18px;font-size:13px;line-height:1.6;color:var(--muted);}

/* ---- Checkout bar ---- */
.cart__checkout{height:52px;border-radius:2px;font-family:var(--font-display);font-weight:400;font-size:16px;line-height:20px;letter-spacing:.4px;text-transform:uppercase;}
.cart__viewbag{display:block;text-align:center;margin-top:12px;font-size:12px;line-height:16px;color:var(--fg);text-decoration:underline;}

/* =========================================================================
   Search overlay
   ========================================================================= */
/* SKIMS search: a right-side panel (like the cart drawer) over the shared scrim. */
.search-overlay{position:fixed;top:0;right:0;bottom:0;width:min(450px,90vw);z-index:90;background:#fff;transform:translateX(100%);transition:transform .35s var(--ease);display:flex;flex-direction:column;}
.search-overlay.is-open{transform:none;}
.search-overlay__bar{display:flex;align-items:center;gap:12px;padding:18px 20px;border-bottom:1px solid var(--line);}
.search-overlay__bar > .icon{flex:0 0 auto;width:20px;height:20px;color:var(--fg);}
.search-overlay__bar input{flex:1;border:0;font-size:16px;font-family:var(--font-body);font-weight:400;text-transform:none;letter-spacing:normal;outline:none;color:var(--fg);}
.search-overlay__bar input::placeholder{color:var(--muted);}
.js-search-close{flex:0 0 auto;display:flex;color:var(--fg);}
.js-search-close .icon{width:18px;height:18px;}
.search-overlay__body{padding:22px 20px 40px;overflow-y:auto;}
.search__heading{font-family:var(--font-body);font-size:16px;font-weight:700;text-transform:none;letter-spacing:normal;margin:0 0 14px;}
.search-suggest{list-style:none;margin:0 0 30px;padding:0;}
.search-suggest li{margin-bottom:16px;}
.search-term{font-size:14px;font-weight:400;text-transform:capitalize;letter-spacing:normal;color:var(--fg);background:none;border:0;padding:0;cursor:pointer;}
.search-term:hover{color:var(--accent);}
.search-suggest-grid,.search-results{display:grid;grid-template-columns:1fr 1fr;gap:2px;}
.search-pcard{display:block;color:inherit;}
.search-pcard__media{display:block;aspect-ratio:3/4;background:var(--card);overflow:hidden;}
.search-pcard__media img{width:100%;height:100%;object-fit:cover;display:block;}
.search-pcard__eyebrow{display:block;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.02em;margin:8px 0 2px;}
.search-pcard__name{display:block;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.02em;color:var(--fg);line-height:1.3;margin-bottom:16px;}
.search-empty{font-size:14px;color:var(--muted);grid-column:1/-1;}

/* =========================================================================
   Footer
   ========================================================================= */
.site-footer{border-top:1px solid var(--line);padding:56px var(--gut) 0;}
.footer__cols{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:40px;max-width:1100px;margin:0 auto;}
.footer__col h3{font-size:12px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:16px;}
.footer__col ul li{margin-bottom:10px;}
.footer__col a{font-size:13px;color:#4a4540;}
.footer__col a:hover{color:var(--accent);}
.footer__news{text-align:center;}
.footer__news p{font-size:13px;color:var(--muted);margin-bottom:14px;}
.news-form{display:flex;max-width:340px;margin:0 auto;border:1px solid var(--line);}
.news-form input{flex:1;border:0;padding:0 14px;height:44px;outline:none;font-size:13px;}
.news-form button{width:46px;background:var(--fg);color:#fff;display:flex;align-items:center;justify-content:center;}
.footer__consent{font-size:11px;color:var(--muted);margin-top:10px;max-width:360px;margin-left:auto;margin-right:auto;}
.footer__consent a{text-decoration:underline;color:inherit;}
.footer__social{display:flex;justify-content:center;gap:24px;padding:24px 0 16px;}
.footer__social a{color:var(--fg);}
.footer__social a .icon{width:24px;height:24px;}
.footer__bottom{border-top:1px solid var(--line);max-width:var(--maxw);margin:0 auto;padding:16px 0 28px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:13px;color:var(--fg);}
.footer__bottom nav{display:flex;gap:18px;flex-wrap:wrap;}

/* Footer accordion heads — on desktop these are inert wrappers around the <h3>
   (no chevron, no pointer); they only become tap-to-expand on mobile. */
.footer__acc-head{display:contents;background:none;border:0;padding:0;cursor:default;font:inherit;color:inherit;}
.footer__acc-chev{display:none;}

/* =========================================================================
   Toast
   ========================================================================= */
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--fg);color:#fff;padding:12px 20px;font-size:13px;z-index:100;opacity:0;transition:opacity .25s,transform .25s;}
.toast.is-on{opacity:1;transform:translateX(-50%);}

/* ---------- Scroll to top ---------- */
.scrolltop{position:fixed;right:24px;bottom:24px;z-index:70;width:44px;height:44px;display:flex;align-items:center;justify-content:center;padding:0;background:#fff;color:var(--fg);border:1px solid var(--line);border-radius:50%;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .25s var(--ease),transform .25s var(--ease),visibility .25s var(--ease);}
.scrolltop.is-on{opacity:1;visibility:visible;transform:translateY(0);}
.scrolltop:hover{color:var(--fg-strong);border-color:var(--fg);}
.scrolltop__icon{width:18px;height:18px;transform:rotate(180deg);}
@media (max-width:767px){.scrolltop{right:16px;bottom:16px;width:40px;height:40px;}}
@media (prefers-reduced-motion:reduce){.scrolltop{transition:opacity .25s,visibility .25s;transform:none;}.scrolltop.is-on{transform:none;}}

/* =========================================================================
   Entrance animations
   ========================================================================= */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease),transform .7s var(--ease);}
.reveal.is-in{opacity:1;transform:none;}

/* =========================================================================
   Responsive
   ========================================================================= */
@media(max-width:1024px){
  .pdp{grid-template-columns:minmax(0,1fr);grid-template-rows:auto;grid-template-areas:"head" "gallery" "info";}   /* SKIMS mobile order: title block, gallery, then info */
  .pdp__gallery{position:static;min-width:0;}
  .pdp__main{height:auto;aspect-ratio:8/9;}
  .pdp__head{padding:14px clamp(16px,5vw,40px) 0;}
  .pdp__info{position:static;padding:18px clamp(16px,5vw,40px) 40px;min-width:0;}
  .pdp__info-inner{max-width:none;min-width:0;}
  .product-grid{grid-template-columns:repeat(3,1fr);}
  .mega__featured{display:none;}
}
@media(max-width:768px){
  /* ---- Header: single logo bar (logo left, actions+hamburger right) ---- */
  .header__bar{display:none;}                 /* hide the desktop nav row entirely */
  .header__menu-btn{display:flex;}
  .header__mobile-actions{display:flex;}

  /* logo bar becomes the SKIMS mobile bar: logo left, mobile actions right.
     The announcement moves to its own static strip ABOVE the logo.
     SKIMS-measured: announcement strip 36px white; logo+actions row 48px. */
  .header__logobar{flex-wrap:wrap;height:auto;padding:0;gap:0;align-items:stretch;background:#fff;}
  .header__logo{order:2;height:48px;display:flex;align-items:center;padding-left:16px;}
  .header__logo .logo{width:108px;}            /* SKIMS-measured mobile logo width */
  .ann{order:1;position:static;left:auto;top:auto;transform:none;width:100%;height:36px;flex:0 0 100%;justify-content:flex-start;padding:0 36px 0 20px;background:#fff;border-bottom:1px solid var(--line);}
  .ann__track{justify-content:flex-start;text-align:left;width:100%;}
  .ann__msg.is-active{display:block;text-align:left;}
  .ann__pause{order:1;position:absolute;top:0;right:12px;height:36px;margin:0;}
  .header__mobile-actions{order:3;height:48px;padding-right:16px;}

  /* SKIMS mobile: the header is SOLID WHITE immediately (unlike the desktop
     hero overlay) with a dark logo + icons, and the hero sits BELOW it. */
  body.is-front .header__logobar{background:#fff;}
  body.is-front .home-hero{margin-top:0;}

  /* ---- Layout drops ---- */
  .editorial--2{grid-template-columns:1fr;}
  /* SKIMS mobile: hero + editorial copy sits ~20px from the left (measured), not 40/32. */
  .home-hero__content{padding-left:20px;padding-right:20px;}
  .editorial__content{padding-left:20px;padding-right:20px;}
  /* Mobile art-direction: editorial tiles swap to the SKIMS portrait crop set in
     the inline --m custom property (desktop keeps the local landscape bg). */
  .editorial__media[style*="--m"]{background-image:var(--m)!important;background-position:center 28%!important;background-size:cover!important;background-repeat:no-repeat!important;}
  /* SKIMS mobile PLP: 2-col grid inset by a side gutter (cards don't touch the
     viewport edges) and aligned with the title/filter gutter (var(--gut)).
     SKIMS-measured: grid inset ~20px each side, 1px column gap. */
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;padding:0 var(--gut);}
  .product-grid .card{min-width:0;}

  /* ---- PLP: sub-cat tiles + single-row scrolling filter bar (SKIMS mobile) ---- */
  .subcat{width:150px;}
  .plp__subcats{gap:10px;}
  .plp__filters{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:24px;}
  .plp__filters::-webkit-scrollbar{display:none;}
  .plp__trigger{flex:0 0 auto;white-space:nowrap;}
  .plp__count{display:none;}                  /* SKIMS hides the count in the trigger row on mobile */
  .fdrawer__panel{width:100vw;max-width:100vw;}  /* full-width filter drawer on mobile (SKIMS) */

  /* ---- PDP mobile: title 20/24 (SKIMS), full-width buy row + ATC ---- */
  .pdp__title{font-size:20px;line-height:24px;}
  .pdp__buy{max-width:none;}
  .pdp__info{padding-left:20px;padding-right:20px;}

  /* ---- Footer: newsletter on top, columns become accordions ---- */
  .footer__cols{display:flex;flex-direction:column;text-align:center;gap:0;max-width:none;}
  .footer__news{order:-1;padding-bottom:8px;}      /* STAY IN THE KNOW first */
  .footer__col--acc{text-align:left;border-top:1px solid var(--line);}
  .footer__col--acc:last-of-type{border-bottom:1px solid var(--line);}
  .footer__acc-head{display:flex;align-items:center;justify-content:space-between;width:100%;padding:18px 0;cursor:pointer;}
  .footer__acc-head h3{margin:0;}
  .footer__acc-chev{display:block;width:16px;height:16px;flex:0 0 auto;color:var(--fg);transition:transform .25s var(--ease);}
  .footer__col--acc.is-open .footer__acc-chev{transform:rotate(180deg);}
  .footer__acc-panel{display:none;padding:0 0 18px;}
  .footer__col--acc.is-open .footer__acc-panel{display:block;}
  .footer__col--acc .footer__acc-panel li{margin-bottom:14px;}
  .footer__col--acc .footer__acc-panel a{font-size:14px;}

  .footer__bottom{flex-direction:column;text-align:center;gap:10px;padding-top:20px;}
  .footer__bottom nav{flex-direction:column;align-items:center;gap:14px;}
}

@media(prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;transition-duration:.001ms!important;}
  .reveal{opacity:1;transform:none;}
}

/* Mobile drawer nav (SKIMS-style: slide-in from right, full-width, accordions) */
.mobile-nav{position:fixed;top:0;right:0;bottom:0;width:min(450px,100vw);max-width:100vw;background:#fff;z-index:90;transform:translateX(100%);transition:transform .35s var(--ease);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;}
.mobile-nav.is-open{transform:none;}
.mobile-nav__head{display:flex;justify-content:flex-end;padding:18px 20px 4px;}
.mobile-nav__close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;color:var(--fg);}
.mobile-nav__close .icon{width:22px;height:22px;}
.mobile-nav__list{padding:0 20px;}
.mnav{border-bottom:1px solid var(--line);}
.mnav__head{display:flex;align-items:center;justify-content:space-between;width:100%;padding:16px 0;color:var(--fg);text-align:left;}
.mnav__label{font-size:16px;font-weight:700;line-height:24px;letter-spacing:normal;text-transform:none;display:flex;align-items:center;}
.mnav__logo{height:14px;width:auto;display:block;color:var(--fg);}
.mnav.is-sale .mnav__label{color:var(--accent);}
.mnav__chev{width:18px;height:18px;flex:0 0 auto;color:var(--fg);transition:transform .25s var(--ease);}
.mnav.is-open .mnav__chev{transform:rotate(180deg);}
.mnav__panel{display:none;padding:0 0 12px;}
.mnav.is-open .mnav__panel{display:block;}
/* Primary (no-title) column links — shown directly under the top-level item. */
.mnav__sub{display:block;padding:9px 0 9px 4px;font-size:14px;line-height:20px;color:var(--fg);}
.mnav__sub:hover{color:var(--accent);}

/* Nested sub-accordions: titled columns ("Style", "Collections", …) as their
   own collapsible groups inside the open top-level panel (SKIMS mobile drawer).
   SKIMS-measured: sub-heading 14/700; links 14px indented ~16px with a left
   guide border. */
.msub{border-top:1px solid var(--line);}
.msub:first-of-type{margin-top:4px;}
.msub__head{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px 0;color:var(--fg);text-align:left;}
.msub__title{font-size:14px;font-weight:700;line-height:20px;letter-spacing:normal;text-transform:none;}
.msub__chev{width:16px;height:16px;flex:0 0 auto;color:var(--fg);transition:transform .25s var(--ease);}
.msub.is-open .msub__chev{transform:rotate(180deg);}
.msub__panel{display:none;padding:2px 0 10px;margin-left:8px;border-left:1px solid var(--line);}
.msub.is-open .msub__panel{display:block;}
.msub__link{display:block;padding:8px 0 8px 12px;font-size:14px;line-height:20px;color:var(--fg);}
.msub__link:hover{color:var(--accent);}
.mobile-nav__foot{padding:24px 20px 32px;display:flex;flex-direction:column;gap:14px;}
.mobile-nav__util{font-size:16px;line-height:24px;color:var(--fg);}
.mobile-nav__util:hover{color:var(--accent);}

/* =========================================================================
   Fidelity pass — section gaps, New Arrivals carousel cards, footer
   ========================================================================= */

/* Deliberate white gaps between full-bleed homepage blocks (matches SKIMS). */
.home-hero{margin-bottom:18px;}
.editorial{margin-bottom:18px;}

/* New Arrivals carousel cards — SKIMS "Trending" row style:
   grey image, then a row with eyebrow/name/price (left) + heart (right),
   thin divider between cards, no swatches, no badge. */
.carousel__track{gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.carousel__track>.ccard{flex:0 0 clamp(240px,17vw,320px);scroll-snap-align:start;}
.ccard{display:flex;flex-direction:column;border-right:1px solid var(--line);}
.ccard:first-child{border-left:1px solid var(--line);}
.ccard__media{position:relative;display:block;aspect-ratio:9/13;background:var(--card);overflow:hidden;}
.ccard__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .3s var(--ease);}
.ccard:hover .ccard__media img{opacity:.92;}
.ccard__row{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:12px 14px 18px;}
.ccard__text{display:flex;flex-direction:column;gap:2px;min-width:0;}
.ccard__eyebrow{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.02em;}
.ccard__row{margin-top:auto;}
.ccard__name{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:normal;}
.ccard__row .price{font-size:12px;color:var(--muted);margin-top:1px;}
.ccard__wish{position:static;flex:0 0 auto;color:var(--fg);}
.ccard__wish{flex:0 0 auto;color:var(--fg);width:28px;height:28px;display:flex;align-items:center;justify-content:center;}
.ccard__wish .icon{width:22px;height:22px;}
.ccard__wish .icon-heart-filled{display:none;color:var(--accent);}
.ccard__wish.is-on .icon-wishlist{display:none;}
.ccard__wish.is-on .icon-heart-filled{display:inline-block;}

/* Footer — centered columns, display-font headings, more breathing room. */
.site-footer{padding-top:64px;}
.footer__col{text-align:center;}
.footer__col h3{font-family:var(--font-display);font-weight:800;font-size:16px;letter-spacing:.04em;}
.footer__news h3{font-size:24px;letter-spacing:.6px;}

/* Video band play indicator (bottom-right circle). */
.editorial__play{position:absolute;right:24px;bottom:24px;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.75);display:flex;align-items:center;justify-content:center;color:#fff;background:none;cursor:pointer;backdrop-filter:blur(2px);transition:background .2s var(--ease);}
.editorial__play:hover{background:rgba(255,255,255,.18);}
.editorial__play .icon{width:15px;height:15px;}
.carousel__count{font-size:12px;color:var(--muted);min-width:34px;text-align:center;}
