/*
Theme Name: Marie Elizabeth
Description: Custom theme for Marie Elizabeth — ports the hand-built static site design 1:1, with WooCommerce template overrides so cart, product and checkout pages use the same markup and stylesheet as the rest of the site.
Author: Marie Elizabeth
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 8.0
Text Domain: marie-elizabeth
WC requires at least: 8.0
WC tested up to: 11.0
*/

/* ============================================================
   Everything below this line is the original stylesheet from the
   static index.html, copied verbatim and deliberately left alone.
   Pixel accuracy depends on it not drifting — put WordPress- and
   WooCommerce-specific rules in assets/wp-overrides.css instead.
   ============================================================ */

  :root{
    --bg:#FBF9F6;
    --bg-tile:#F4F3EF;
    --bg-tile-light:#FAF9F6;
    --bg-ash:#A6A39A;
    --bg-beige:#EDE6D8;
    --ink:#33302C;
    --ink-soft:#6B655E;
    --accent:#A89677;      /* extracted from Marie Elizabeth logo gold */
    --line:rgba(51,48,44,0.16);
    --line-soft:rgba(51,48,44,0.09);
    --on-dark:#F5F1EA;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;background:#171512;} /* dark fallback so there's never a pale flash before the hero paints */
  body{
    background:var(--bg); color:var(--ink);
    font-family:'EB Garamond', serif; font-weight:400;
    -webkit-font-smoothing:antialiased; overflow-x:hidden;
    font-size:17px;
  }
  a{color:inherit;text-decoration:none;}
  img{display:block;max-width:100%;width:100%;height:100%;object-fit:cover;}
  button{font-family:inherit;cursor:pointer;background:none;border:none;color:inherit;font-size:inherit;}
  ul{list-style:none;}
  ::selection{background:var(--accent);color:#fff;}

  .wrap{max-width:1400px;margin:0 auto;padding:0 44px;}
  @media(max-width:720px){.wrap{padding:0 20px;}}

  .eyebrow{
    font-size:12px;letter-spacing:0.22em;text-transform:uppercase;color:var(--ink-soft);
  }
  .accent-line{font-size:15px;color:var(--accent);}
  h1,h2,h3{font-weight:400;line-height:1.15;}
  .display{font-family:'EB Garamond',serif;font-weight:400;}

  .text-link{
    display:inline-block;font-size:15px;letter-spacing:0.02em;
    border-bottom:1px solid var(--ink);padding-bottom:2px;
    transition:border-color .25s ease,color .25s ease;
  }
  .text-link:hover{color:var(--accent);border-color:var(--accent);}
  .text-link.on-dark{color:var(--on-dark);border-color:rgba(245,241,234,0.7);}
  .text-link.on-dark:hover{color:#fff;border-color:#fff;}

  .site-header-sticky{
    position:fixed;top:0;left:0;right:0;width:100%;z-index:100;
  }

  /* ============ Header ============ */
  /* Goyard-style: header is a permanent dark-tinted bar (brand ink color) with light
     text, translucent while over the home hero, fully opaque everywhere else. The logo
     row always stays put; only the nav-links row below it hides/reveals on scroll. */
  header{
    position:relative;
    background:rgba(51,48,44,0.94);backdrop-filter:blur(8px);
    border-bottom:1px solid rgba(255,255,255,0.08);
    transition:background-color .5s ease,border-color .5s ease;
  }
  .site-header-sticky.header-transparent header{
    background:rgba(51,48,44,0.32);backdrop-filter:blur(3px);border-bottom-color:transparent;
  }
  .logo-row{
    display:flex;justify-content:center;padding:16px 20px;
  }
  .logo-block{text-align:center;line-height:1;display:flex;flex-direction:column;align-items:center;}
  .logo-lockup{display:flex;align-items:center;gap:10px;}
  .logo-block .icon{width:26px;height:auto;filter:brightness(0) invert(1);}
  .logo-block .lg{
    font-family:'Bodoni Moda',serif;font-size:25px;letter-spacing:0.13em;
    text-transform:uppercase;font-weight:400;color:var(--on-dark);
  }
  .nav-row{
    display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
    padding:8px 44px 16px;gap:20px;
    max-height:60px;overflow:hidden;opacity:1;
    transition:max-height .45s cubic-bezier(.16,1,.3,1),opacity .3s ease,padding .45s cubic-bezier(.16,1,.3,1);
  }
  .nav-row.nav-row-hidden{max-height:0;opacity:0;padding-top:0;padding-bottom:0;pointer-events:none;}
  @media(max-width:720px){.nav-row{padding:6px 20px 12px;max-height:56px;}}
  .nav-search{
    display:flex;align-items:center;gap:10px;font-size:15px;color:rgba(245,241,234,0.85);
  }
  .nav-search:hover{color:var(--on-dark);}
  .nav-links{display:flex;gap:36px;justify-content:center;}
  .nav-links button{
    font-size:13px;letter-spacing:0.18em;text-transform:uppercase;position:relative;padding-bottom:5px;color:var(--on-dark);
  }
  .nav-links button::after{
    content:"";position:absolute;left:0;bottom:0;width:0;height:1px;
    background:var(--on-dark);transition:width .3s ease;
  }
  .nav-links button:hover::after,.nav-links button.active::after{width:100%;}
  /* Underline under a nav item while its dropdown is open */
  .mega-trigger-btn.mega-open::after{width:100%;}
  .mega-close-nav{display:none;}
  .mega-close-nav.show{display:block;}
  .mega-close-nav button{display:inline-flex;align-items:center;gap:6px;vertical-align:baseline;}
  .mega-close-nav svg{position:relative;top:0.5px;}
  .nav-icons{display:flex;gap:20px;justify-content:flex-end;align-items:center;color:var(--on-dark);}
  .burger{display:none;flex-direction:column;gap:5px;}
  .burger span{width:22px;height:1px;background:var(--on-dark);}
  @media(max-width:900px){
    .nav-links{display:none;}
    .burger{display:flex;}
    .nav-search span{display:none;}
  }
  .mobile-menu{
    display:none;flex-direction:column;border-top:1px solid var(--line-soft);background:var(--bg);
    position:fixed;top:var(--header-h);left:0;right:0;bottom:0;z-index:110;overflow-y:auto;
    -webkit-overflow-scrolling:touch;
  }
  .mobile-menu.open{display:flex;}
  body.mobile-menu-open{overflow:hidden;}
  .mobile-menu button{
    padding:20px 24px;border-bottom:1px solid var(--line-soft);text-align:left;font-size:18px;
  }

  /* ============ Mega menu ============ */
  .nav-item-has-mega{position:static;}
  .mega-menu{
    position:absolute;left:0;right:0;top:100%;background:var(--bg);
    border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line);
    box-shadow:0 24px 40px -20px rgba(51,48,44,0.12);
    opacity:0;visibility:hidden;transform:translateY(-6px);
    transition:opacity .35s ease,transform .35s ease,visibility .35s;
    z-index:90;
  }
  .mega-menu.open{opacity:1;visibility:visible;transform:translateY(0);}
  .mega-inner{
    max-width:960px;margin:0 auto;padding:40px 44px 40px;
    display:flex;flex-direction:column;gap:22px;
  }
  .mega-row{display:flex;flex-direction:row;flex-wrap:nowrap;gap:46px;align-items:flex-start;}
  .mega-categories{flex:0 0 200px;width:200px;}
  .mega-categories h5{
    font-family:'Bodoni Moda',serif;font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:#6E6B66;margin-bottom:18px;font-weight:400;white-space:nowrap;
  }
  .mega-categories ul{display:flex;flex-direction:column;gap:14px;}
  .mega-categories li{width:100%;}
  .mega-categories button{
    display:block;width:100%;text-align:left;white-space:nowrap;
    font-family:'EB Garamond',serif;font-size:13px;letter-spacing:0.04em;text-transform:uppercase;color:var(--ink);transition:color .2s ease;
  }
  .mega-categories button:hover{color:var(--accent);}
  .mega-categories .soon-tag{display:block;font-size:10px;color:var(--ink-soft);font-style:italic;margin-top:3px;letter-spacing:0.02em;text-transform:none;}
  .mega-categories li.mega-soon button{opacity:0.5;pointer-events:none;cursor:default;}
  .mega-categories li.mega-soon button:hover{color:var(--ink);}
  /* Fixed visual-area box: every dropdown (1 image or 3 images) fills this exact same size, so the panel never changes dimensions page to page */
  .mega-visual{flex:0 0 500px;position:relative;width:500px;height:330px;overflow:hidden;background:var(--bg-tile);display:block;}
  .mega-visual img{filter:saturate(0.95);}
  .mega-visual .img-placeholder{position:absolute;inset:0;font-size:11px;}
  .mega-visual .mega-cap{
    position:absolute;left:22px;bottom:20px;color:var(--on-dark);
  }
  .mega-visual .mega-cap .eyebrow{color:rgba(245,241,234,0.85);}
  .mega-visual .mega-cap h4{font-size:22px;color:var(--on-dark);margin-top:6px;font-weight:400;}
  /* Goyard catalogue-style visual grid: one large image + two stacked side images, same 560x380 box as .mega-visual */
  .mega-visual-grid{flex:0 0 500px;display:grid;grid-template-columns:1.3fr 1fr;gap:8px;width:500px;height:330px;align-self:flex-start;}
  .mega-visual-main{position:relative;height:100%;overflow:hidden;background:var(--bg-tile);display:block;}
  .mega-visual-main .img-placeholder{position:absolute;inset:0;font-size:11px;}
  .mega-visual-side{display:grid;grid-template-rows:1fr 1fr;gap:10px;height:100%;}
  .mega-visual-side div{position:relative;overflow:hidden;background:var(--bg-tile);}
  .mega-visual-side .img-placeholder{font-size:10px;}
  @media(max-width:900px){ .mega-menu{display:none;} }

  /* ============ Page shell ============ */
  :root{ --header-h: 112px; } /* overwritten precisely by JS once the header renders */
  .page{display:none;padding-top:var(--header-h);}
  .page.active{display:block;animation:fadein .5s ease;}
  #page-home{padding-top:0;} /* hero sits flush at the very top, behind the transparent header */
  @keyframes fadein{from{opacity:0;}to{opacity:1;}}
  section{padding:96px 0;}
  @media(max-width:720px){section{padding:60px 0;}}

  /* ============ HOME: video hero ============ */
  .hero{position:relative;height:100vh;min-height:640px;overflow:hidden;background:#191715;}
  .hero video{position:absolute;inset:0;width:105%;height:105%;object-fit:cover;left:-2.5%;top:-2.5%;will-change:transform;transform:translate3d(0,0,0);}
  .hero::after{
    content:"";position:absolute;inset:0;
    background:linear-gradient(180deg,rgba(20,18,16,0) 55%,rgba(20,18,16,0.5) 100%);
  }
  @media(max-width:760px){
    .hero{height:70vh;min-height:480px;}
    .hero::after{background:linear-gradient(180deg,rgba(20,18,16,0.18) 0%,rgba(20,18,16,0.22) 45%,rgba(20,18,16,0.65) 100%);}
  }
  .hero-video-controls{
    position:absolute;left:24px;bottom:24px;z-index:3;display:flex;gap:10px;
  }
  .hero-video-controls button{
    width:34px;height:34px;border-radius:50%;background:rgba(245,241,234,0.92);
    display:flex;align-items:center;justify-content:center;color:var(--ink);
    transition:background .2s ease;
  }
  .hero-video-controls button:hover{background:#fff;}
  .hero-content{
    position:absolute;left:0;right:0;bottom:0;z-index:2;text-align:center;
    padding:0 24px 58px;color:var(--on-dark);
  }
  .hero-content h1{
    font-family:'Jost',sans-serif;font-size:clamp(30px,4.2vw,48px);
    letter-spacing:0.14em;text-transform:uppercase;font-weight:300;
  }
  .hero-links{display:flex;gap:34px;justify-content:center;margin-top:26px;}
  .hero-discover{
    font-family:'Jost',sans-serif;font-size:13px;letter-spacing:0.22em;text-transform:uppercase;
  }

  .collection-intro{
    text-align:center;max-width:520px;margin:0 auto;padding:74px 24px 0;
    font-size:14px;letter-spacing:0.2em;text-transform:uppercase;line-height:1.9;color:var(--ink-soft);
  }

  /* ============ Product row / grid ============ */
  .product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
  @media(max-width:1080px){.product-grid{grid-template-columns:repeat(3,1fr);}}
  @media(max-width:720px){.product-grid{grid-template-columns:repeat(2,1fr);gap:10px;}}
  .product-card{position:relative;}
  .product-visual{
    position:relative;aspect-ratio:3/4.4;overflow:hidden;margin-bottom:18px;
    background:var(--bg-tile);
    transition:background-color .6s cubic-bezier(.16,1,.3,1);
  }
  .product-card:hover .product-visual{background:var(--bg-tile);}
  .product-visual img{transition:opacity .7s cubic-bezier(.16,1,.3,1);}
  .product-visual img.alt{position:absolute;inset:0;opacity:0;}
  .product-card:hover .product-visual img.main{opacity:0;}
  .product-card:hover .product-visual img.alt{opacity:1;}
  .visual-link{position:absolute;inset:0;z-index:1;}
  .product-info{text-align:center;padding:0 10px;display:block;width:100%;}
  .product-info h4{font-size:18px;font-weight:400;line-height:1.35;}
  .product-info .cat{font-size:15px;color:var(--accent);margin-top:6px;}
  .price-row{
    display:flex;align-items:center;justify-content:center;gap:8px;margin-top:8px;
    opacity:0;max-height:0;overflow:hidden;transition:opacity .35s ease .05s;
  }
  .product-card:hover .price-row{opacity:1;max-height:32px;}
  .price-row .price{font-size:15px;color:var(--ink);}
  .swatch-dot{width:12px;height:12px;border-radius:50%;border:1px solid var(--line);display:inline-block;}
  .swatch-group{display:inline-flex;align-items:center;}
  .swatch-group .swatch-dot{box-shadow:0 0 0 1.5px var(--bg-tile-light);}
  .swatch-group .swatch-dot + .swatch-dot{margin-left:-4px;}

  .section-title-center{
    text-align:center;margin-bottom:46px;
  }
  .section-title-center h2{font-family:'Bodoni Moda',serif;font-size:clamp(17px,1.8vw,22px);letter-spacing:0.16em;text-transform:uppercase;font-weight:400;color:#6E6B66;}
  .section-title-center .sub{margin-top:14px;color:var(--ink-soft);font-size:14px;letter-spacing:0.02em;}

  /* ============ Editorial tiles ============ */
  .editorial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
  @media(max-width:900px){
    .editorial-grid{
      display:flex;grid-template-columns:unset;overflow-x:auto;gap:14px;
      max-width:100%;margin:0;padding:0 24px 6px 0;
      scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;
    }
    .editorial-grid::-webkit-scrollbar{display:none;}
    .editorial-grid .editorial-tile{flex:0 0 78%;scroll-snap-align:start;}
  }
  .editorial-tile{display:block;}
  .editorial-photo{aspect-ratio:4/5;overflow:hidden;background:var(--bg-tile);}
  .editorial-photo img{transition:transform 1.1s cubic-bezier(.16,1,.3,1);filter:saturate(0.95);}
  .editorial-tile:hover .editorial-photo img{transform:scale(1.03);}
  .editorial-copy{text-align:center;padding:24px 16px 0;}
  .editorial-copy .eyebrow{color:var(--ink-soft);}
  .editorial-copy h3{font-size:24px;margin-top:10px;font-weight:400;}
  .editorial-copy .text-link{margin-top:14px;}

  /* ============ The Look ============ */
  .the-look{background:var(--bg-tile);}
  .look-inner{display:grid;grid-template-columns:1.05fr 1fr;gap:70px;align-items:center;}
  @media(max-width:900px){.look-inner{grid-template-columns:1fr;gap:36px;}}
  .look-photo{aspect-ratio:3/4;overflow:hidden;}
  .look-copy{text-align:center;}
  .look-copy h2{font-size:clamp(15px,1.6vw,19px);text-transform:uppercase;letter-spacing:0.16em;font-weight:400;color:var(--ink-soft);}
  .look-video{position:relative;aspect-ratio:640/1124;max-width:340px;overflow:hidden;margin:30px auto 0;background:#191715;}
  .look-video video{width:100%;height:100%;object-fit:cover;display:block;}
  .look-video .reel-mute{position:absolute;right:12px;bottom:12px;}
  .ig-link{
    display:flex;align-items:center;gap:8px;width:fit-content;margin:26px auto 0;
    font-size:12px;letter-spacing:0.16em;text-transform:uppercase;color:var(--ink-soft);
    border-bottom:1px solid var(--line);padding-bottom:3px;
    transition:color .2s ease,border-color .2s ease;
  }
  .ig-link:hover{color:var(--accent);border-color:var(--accent);}
  .look-items{margin-top:34px;border-top:1px solid var(--line);}
  .look-item{
    display:flex;justify-content:space-between;align-items:baseline;gap:20px;
    padding:18px 2px;border-bottom:1px solid var(--line);
  }
  .look-item .nm{font-size:17px;}
  .look-item .mt{font-size:14.5px;color:var(--accent);}
  .look-copy .text-link{margin-top:26px;}

  /* ============ Placeholder photo blocks — swap the src / remove this class once real photography lands ============ */
  .img-placeholder{
    display:flex;align-items:center;justify-content:center;text-align:center;
    width:100%;height:100%;box-sizing:border-box;
    background:repeating-linear-gradient(135deg,var(--bg-tile),var(--bg-tile) 10px,var(--bg-tile-light) 10px,var(--bg-tile-light) 20px);
    border:1px dashed var(--line);color:var(--ink-soft);
    font-size:13px;letter-spacing:0.04em;line-height:1.6;padding:20px;
  }

  /* ============ Maison split (Loro-style: narrow copy column + one large full-height image) ============ */
  .maison-split-inner{display:grid;grid-template-columns:1.15fr 0.85fr;gap:0;align-items:stretch;}
  @media(max-width:900px){.maison-split-inner{grid-template-columns:1fr;}}
  .maison-copy{padding:80px 64px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;}
  @media(max-width:900px){.maison-copy{padding:56px 24px;}}
  .maison-look-label{margin-bottom:20px;}
  .maison-inset{aspect-ratio:3/4;max-width:280px;margin-bottom:20px;}
  .maison-look-name{font-family:'EB Garamond',serif;font-weight:400;font-size:clamp(18px,2vw,22px);margin-top:8px;}
  .maison-copy .accent-line{display:block;margin-top:6px;}
  .maison-photo{min-height:380px;overflow:hidden;}
  @media(max-width:900px){
    .maison-photo{min-height:0;aspect-ratio:3/4;max-width:280px;margin:0 auto;justify-self:center;}
  }

  /* ============ Portrait / editorial banner (Loro-style: centered intro + single tall photo) ============ */
  .portrait-banner-intro{text-align:center;max-width:620px;margin:0 auto 50px;}
  .portrait-banner-intro h2{font-family:'Bodoni Moda',serif;font-size:clamp(17px,1.8vw,22px);letter-spacing:0.16em;text-transform:uppercase;font-weight:400;color:#6E6B66;}
  /* Matches the real photo's native 4:5 portrait ratio so object-fit:cover never has to crop it */
  .portrait-banner-photo{aspect-ratio:4/5;max-width:880px;margin:0 auto;}
  #page-rewards .portrait-banner-photo{max-width:560px;}

  /* .reel-mute is reused by the 'The Look' video mute toggle below */
  .reel-mute{
    position:absolute;bottom:14px;right:14px;z-index:2;width:32px;height:32px;border-radius:50%;
    background:rgba(245,241,234,0.92);display:flex;align-items:center;justify-content:center;color:var(--ink);
    transition:background .2s ease;
  }
  .reel-mute:hover{background:#fff;}

  /* ============ At your service ============ */
  .service-section{background:var(--bg-tile);padding-bottom:140px;}
  .service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;text-align:center;}
  @media(max-width:820px){.service-grid{grid-template-columns:1fr;gap:40px;}}
  .service-item svg{width:28px;height:28px;margin:0 auto 20px;stroke:var(--ink);stroke-width:0.9;}
  .service-item h4{font-size:13px;font-weight:400;text-transform:uppercase;letter-spacing:0.14em;color:var(--ink);}
  .service-item p{font-size:13px;color:var(--ink-soft);margin-top:10px;max-width:230px;margin-left:auto;margin-right:auto;line-height:1.6;}
  .service-item .text-link{margin-top:16px;font-size:12px;letter-spacing:0.08em;text-transform:uppercase;}

  /* ============ Inside Marie Elizabeth ============ */
  .inside{background:var(--bg);padding-top:140px;}
  .inside-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
  @media(max-width:900px){
    .inside-grid{
      display:flex;grid-template-columns:unset;overflow-x:auto;gap:14px;
      max-width:100%;margin:0;padding:0 24px 6px 0;
      scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;
    }
    .inside-grid::-webkit-scrollbar{display:none;}
    .inside-grid .inside-card{flex:0 0 78%;scroll-snap-align:start;}
  }
  .inside-card{display:block;}
  .inside-photo{aspect-ratio:4/5;overflow:hidden;background:var(--bg-tile);}
  .inside-photo img{filter:saturate(0.92);transition:transform 1.1s cubic-bezier(.16,1,.3,1);}
  .inside-card:hover .inside-photo img{transform:scale(1.03);}
  .inside-copy{padding:20px 4px 0;text-align:center;}
  .inside-copy h3{font-size:13px;font-weight:400;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

  /* ============ Journal page: full-bleed "coming soon" hero ============ */
  .journal-hero{position:relative;width:100%;height:calc(100vh - var(--header-h));min-height:520px;max-height:840px;overflow:hidden;}
  .journal-hero img{width:100%;height:100%;object-fit:cover;}
  .journal-hero::after{
    content:'';position:absolute;inset:0;
    background:linear-gradient(180deg,rgba(20,17,14,0.26) 0%,rgba(20,17,14,0.16) 40%,rgba(20,17,14,0.42) 100%);
  }
  @media(max-width:760px){
    .journal-hero::after{background:linear-gradient(180deg,rgba(20,17,14,0.45) 0%,rgba(20,17,14,0.4) 40%,rgba(20,17,14,0.58) 100%);}
  }
  .journal-hero-overlay{
    position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;
    align-items:center;justify-content:center;text-align:center;padding:0 24px;
  }
  .journal-hero-overlay .eyebrow{color:#fff;opacity:0.85;}
  .journal-hero-overlay h1{
    margin-top:16px;font-family:'Bodoni Moda',serif;font-weight:400;font-style:italic;
    font-size:clamp(32px,4.6vw,58px);line-height:1.22;color:#fff;
    text-shadow:0 2px 24px rgba(0,0,0,0.28);
  }
  .journal-hero-overlay .sub{
    margin-top:18px;font-size:15.5px;line-height:1.7;color:rgba(255,255,255,0.82);max-width:420px;
  }
  .journal-hero-overlay .tag{
    display:inline-block;margin-top:28px;font-size:11px;letter-spacing:0.24em;text-transform:uppercase;
    color:#fff;border:1px solid rgba(255,255,255,0.5);padding:9px 22px;
  }
  @media(max-width:760px){.journal-hero{height:78vh;min-height:460px;}}

  /* ============ Footer (Loro pattern) ============ */
  footer{background:var(--bg);padding:70px 20px 0;}
  .footer-block{
    background:#211E1B;color:var(--on-dark);padding:60px 50px;
  }
  @media(max-width:720px){.footer-block{padding:44px 26px;}}
  .footer-block-inner{
    display:grid;grid-template-columns:1.1fr 1.6fr;gap:60px;max-width:1300px;padding:0;
  }
  @media(max-width:900px){.footer-block-inner{grid-template-columns:1fr;gap:40px;}}
  .footer-newsletter h2{font-size:clamp(24px,2.8vw,32px);font-weight:400;color:var(--on-dark);}
  .footer-newsletter .sub{margin-top:14px;color:rgba(245,241,234,0.8);font-size:15.5px;max-width:400px;line-height:1.65;}
  .footer-newsletter form{
    display:flex;max-width:400px;margin-top:26px;border-bottom:1px solid rgba(245,241,234,0.6);align-items:center;
  }
  .footer-newsletter input{flex:1;background:none;border:none;padding:11px 4px;font-family:'EB Garamond';font-size:15.5px;color:var(--on-dark);}
  .footer-newsletter input::placeholder{color:rgba(245,241,234,0.65);}
  .footer-newsletter input:focus{outline:none;}
  .footer-newsletter button.go{padding:8px;display:flex;color:var(--on-dark);}
  .footer-newsletter .privacy{margin-top:16px;font-size:11.5px;color:rgba(245,241,234,0.65);max-width:400px;line-height:1.6;}
  .footer-newsletter .success{margin-top:10px;font-size:13px;color:#fff;font-weight:500;display:none;}
  .footer-newsletter .success.show{display:block;}
  .footer-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;}
  @media(max-width:600px){.footer-cols{grid-template-columns:1fr 1fr;row-gap:34px;}}
  .footer-cols h5{
    font-size:13px;letter-spacing:0.1em;text-transform:uppercase;
    font-weight:500;margin-bottom:18px;color:var(--on-dark);
  }
  .footer-cols ul{display:flex;flex-direction:column;gap:12px;}
  .footer-cols ul button,.footer-cols ul a{
    font-size:14.5px;color:rgba(245,241,234,0.82);text-align:left;
  }
  .footer-cols ul button:hover,.footer-cols ul a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px;}
  .footer-bottom{
    padding:36px 0 42px;text-align:center;background:var(--bg);
  }
  .footer-bottom .fw{
    font-family:'Bodoni Moda',serif;font-size:19px;letter-spacing:0.13em;text-transform:uppercase;
  }
  .footer-bottom .ftag{font-style:italic;font-size:12.5px;color:var(--accent);margin-top:4px;letter-spacing:0.1em;}
  .f-socials{display:flex;gap:16px;justify-content:center;margin-top:20px;}
  .f-socials a{width:32px;height:32px;border:1px solid var(--line);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--ink-soft);}
  .f-socials a:hover{color:var(--ink);border-color:var(--ink);}
  .footer-bottom .legal{margin-top:22px;font-size:12px;color:var(--ink-soft);letter-spacing:0.02em;}

  /* ============ Products page ============ */
  .plp-title{text-align:center;padding:64px 20px 0;}
  .plp-title h1{
    font-family:'Bodoni Moda',serif;font-weight:400;text-transform:uppercase;
    letter-spacing:0.09em;font-size:clamp(26px,3.2vw,38px);color:var(--ink);
  }
  .plp-breadcrumb{
    display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:16px;
    font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-soft);
  }
  .plp-breadcrumb button{color:var(--ink-soft);transition:color .2s ease;}
  .plp-breadcrumb button:hover{color:var(--ink);}

  /* Dresses PLP hero: bigger image + title side by side, sits tight under the nav */
  .plp-hero{padding:30px 0 0;background:var(--bg);}
  .plp-hero-inner{display:flex;align-items:center;gap:50px;}
  .plp-hero-img{flex:0 0 320px;width:320px;aspect-ratio:2/3;overflow:hidden;background:var(--bg);}
  .plp-hero-img img{width:100%;height:100%;object-fit:cover;display:block;}
  .plp-hero-copy{flex:1;}
  .plp-hero-breadcrumb{justify-content:flex-start;margin-bottom:14px;}
  .plp-hero-h1{
    font-family:'Bodoni Moda',serif;font-weight:400;text-transform:uppercase;
    letter-spacing:0.09em;font-size:clamp(28px,3.6vw,42px);color:var(--ink);
  }
  .plp-hero-edit{
    margin-top:12px;font-family:'EB Garamond',serif;font-size:13px;letter-spacing:0.1em;
    text-transform:uppercase;color:var(--accent);
  }
  @media(max-width:760px){
    .plp-hero-inner{gap:22px;}
    .plp-hero-img{flex:0 0 160px;width:160px;}
  }

  /* Colour-band layout, Goyard-style: cream title -> white toolbar strip -> tinted grid band */
  .plp-toolbar-section{background:#fff;padding:22px 0;}
  .plp-grid-section{background:var(--bg-tile-light);padding:44px 0 100px;}
  .plp-toolbar{
    display:flex;justify-content:space-between;align-items:center;
    font-size:15px;color:var(--ink-soft);position:relative;
  }
  .plp-dd-wrap{position:relative;}
  .plp-toolbar .filters,.plp-toolbar .sort{
    display:flex;align-items:center;gap:8px;background:none;font-size:15px;
  }
  .plp-toolbar .filters{color:var(--accent);}
  .plp-toolbar .sort{color:var(--ink-soft);}
  .plp-dd-panel{
    position:absolute;top:calc(100% + 14px);right:0;min-width:210px;
    background:#fff;border:1px solid var(--line);box-shadow:0 18px 34px -18px rgba(51,48,44,0.18);
    padding:20px;opacity:0;visibility:hidden;transform:translateY(-6px);
    transition:opacity .25s ease,transform .25s ease,visibility .25s;z-index:20;
  }
  #plpFilterPanel{left:0;right:auto;}
  .plp-dd-panel.open{opacity:1;visibility:visible;transform:translateY(0);}
  .plp-dd-panel h5{font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:14px;}
  .plp-swatch-list{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px;}
  .plp-swatch{
    width:24px;height:24px;border-radius:50%;border:1px solid var(--line);cursor:pointer;
    position:relative;transition:transform .15s ease;
  }
  .plp-swatch:hover{transform:scale(1.08);}
  .plp-swatch.active::after{
    content:"";position:absolute;inset:-4px;border-radius:50%;border:1px solid var(--ink);
  }
  .plp-sort-panel{display:flex;flex-direction:column;gap:2px;min-width:190px;padding:10px 0;}
  .plp-sort-panel button{padding:10px 20px;text-align:left;font-size:14px;color:var(--ink-soft);transition:background-color .15s ease,color .15s ease;}
  .plp-sort-panel button:hover{background:var(--bg-tile);color:var(--ink);}
  .plp-sort-panel button.active{color:var(--ink);font-weight:500;}

  /* ============ PLP product grid: simple 3-up, remaining 2 centered on the row below ============ */
  .plp-product-grid{
    display:flex;flex-wrap:wrap;justify-content:center;
    max-width:980px;margin:0 auto;
    row-gap:36px;column-gap:14px;
  }
  .plp-product-grid .product-card{flex:0 0 calc(33.333% - 10px);}
  .plp-product-grid .product-visual{aspect-ratio:2/3;height:auto;}
  .plp-product-grid .product-visual img{object-fit:contain;}
  .plp-product-grid .product-card .cat{display:none;}
  @media(max-width:900px){
    .plp-product-grid .product-card{flex:0 0 calc(50% - 7px);}
  }

  /* ============ About page ============ */
  /* ============ Maison intro (Goyard-style: left link list + one sticky placeholder photo) ============ */
  .maison-intro-inner{display:grid;grid-template-columns:0.7fr 1.3fr;gap:70px;align-items:start;}
  @media(max-width:900px){.maison-intro-inner{grid-template-columns:1fr;gap:30px;}}
  .maison-intro-list ul{display:flex;flex-direction:column;gap:20px;}
  .maison-intro-list button{font-family:'EB Garamond',serif;font-size:15px;letter-spacing:0.06em;text-transform:uppercase;color:var(--ink);transition:color .2s ease;}
  .maison-intro-list button:hover{color:var(--accent);}
  .maison-intro-photo{aspect-ratio:3/4;overflow:hidden;position:sticky;top:150px;}
  @media(max-width:900px){.maison-intro-photo{position:static;}}
  .maison-copy-col{max-width:640px;margin:0 auto;}
  .mission-band .maison-copy-col{text-align:center;}

  /* Full-bleed heritage hero — Goyard-style: near full-height image, headline overlaid on top */
  .maison-hero{position:relative;width:100%;height:calc(100vh - var(--header-h));min-height:520px;max-height:840px;overflow:hidden;}
  .maison-hero img{width:100%;height:100%;object-fit:cover;}
  .maison-hero::after{
    content:'';position:absolute;inset:0;
    background:linear-gradient(180deg,rgba(20,17,14,0.22) 0%,rgba(20,17,14,0.12) 40%,rgba(20,17,14,0.38) 100%);
  }
  @media(max-width:760px){
    .maison-hero::after{background:linear-gradient(180deg,rgba(20,17,14,0.42) 0%,rgba(20,17,14,0.38) 40%,rgba(20,17,14,0.56) 100%);}
  }
  .maison-hero-overlay{
    position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;
    align-items:center;justify-content:center;text-align:center;padding:0 24px;
  }
  .maison-hero-overlay .eyebrow{color:#fff;opacity:0.85;}
  .maison-hero-overlay h1{
    margin-top:14px;font-family:'Bodoni Moda',serif;font-weight:400;text-transform:uppercase;
    letter-spacing:0.09em;font-size:clamp(28px,4vw,48px);line-height:1.3;color:#fff;
    text-shadow:0 2px 24px rgba(0,0,0,0.28);
  }
  @media(max-width:760px){.maison-hero{height:70vh;min-height:440px;}}

  /* Our Story: copy paired with a sticky portrait image */
  .story-inner{display:grid;grid-template-columns:1.1fr 0.9fr;gap:60px;align-items:start;}
  @media(max-width:900px){.story-inner{grid-template-columns:1fr;gap:30px;}}
  .story-photo{aspect-ratio:4/5;overflow:hidden;position:sticky;top:150px;}
  @media(max-width:900px){.story-photo{position:static;}}

  .founder-copy{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100%;}
  .founder-copy h2{font-size:clamp(22px,2.4vw,28px);line-height:1.3;font-family:'Bodoni Moda',serif;letter-spacing:0.02em;}
  .founder-copy p{font-size:16.5px;line-height:1.9;color:var(--ink-soft);margin:20px auto 0;max-width:400px;}
  .founder-copy .lead{font-size:19px;color:var(--ink);font-style:italic;}
  .founder-copy .signature{font-style:italic;font-size:18px;margin-top:26px;color:var(--accent);}

  .mission-band{background:#211E1B;color:var(--on-dark);}
  .mission-copy .eyebrow{color:rgba(245,241,234,0.6);}
  .mission-copy h2{font-size:clamp(28px,3.6vw,42px);margin-top:14px;font-weight:400;color:var(--on-dark);}
  .mission-copy p{font-size:17px;line-height:1.8;color:rgba(245,241,234,0.78);margin-top:18px;max-width:520px;margin-left:auto;margin-right:auto;}
  .mission-links{display:flex;gap:30px;margin-top:30px;justify-content:center;}

  .rewards-head-band{background:var(--bg);}
  .rewards-cards-band{background:var(--bg-tile);}
  .rewards-head{text-align:center;max-width:640px;margin:0 auto;}
  .rewards-head h2{font-size:clamp(28px,3.4vw,40px);}
  .rewards-head p{margin-top:16px;color:var(--ink-soft);font-size:16.5px;line-height:1.7;}
  .rewards-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
  @media(max-width:1000px){.rewards-grid{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:560px){.rewards-grid{grid-template-columns:1fr;}}
  .reward-step{
    position:relative;background:var(--bg);padding:42px 26px 34px;text-align:center;
    border-top:2px solid transparent;box-shadow:0 2px 14px rgba(33,30,27,0.05);
    transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;
  }
  .reward-step:hover{
    transform:translateY(-6px);
    box-shadow:0 20px 36px rgba(33,30,27,0.12);
    border-top-color:var(--accent);
  }
  .reward-step .num{
    display:inline-block;font-family:'Bodoni Moda',serif;font-size:12px;
    letter-spacing:0.22em;color:var(--accent);
  }
  .reward-step h4{font-family:'Bodoni Moda',serif;font-size:19px;font-weight:400;margin-top:14px;}
  .reward-step p{font-size:14.5px;color:var(--ink-soft);margin-top:12px;line-height:1.65;}
  .rewards-ctas{display:flex;gap:32px;justify-content:center;margin-top:48px;}

  .faq-wrap{max-width:760px;margin:0 auto;}
  .faq-head{text-align:center;margin-bottom:50px;}
  .faq-head h2{font-size:clamp(28px,3.4vw,40px);}
  .faq-head p{margin-top:14px;color:var(--ink-soft);font-size:16px;line-height:1.7;max-width:520px;margin-left:auto;margin-right:auto;}
  details.faq-item{border-bottom:1px solid var(--line);padding:24px 4px;}
  details.faq-item:first-of-type{border-top:1px solid var(--line);}
  details.faq-item summary{
    list-style:none;cursor:pointer;display:flex;justify-content:space-between;
    align-items:center;font-size:19px;gap:20px;
  }
  details.faq-item summary::-webkit-details-marker{display:none;}
  details.faq-item summary .plus{font-size:22px;color:var(--accent);transition:transform .3s ease;flex-shrink:0;font-family:'EB Garamond';}
  details.faq-item[open] summary .plus{transform:rotate(45deg);}
  details.faq-item p{font-size:15.5px;line-height:1.75;color:var(--ink-soft);margin-top:14px;max-width:620px;}

  /* ============ Journal page ============ */
  .journal-note{
    text-align:center;font-style:italic;color:var(--ink-soft);font-size:15px;margin-top:14px;
  }

  /* ============ Contact page ============ */
  .contact-wrap{max-width:640px;margin:0 auto;}
  .contact-form .field{margin-bottom:30px;}
  .contact-form label{
    display:block;font-size:12.5px;letter-spacing:0.14em;text-transform:uppercase;
    color:var(--ink-soft);margin-bottom:10px;
  }
  .contact-form input,.contact-form textarea{
    width:100%;background:none;border:none;border-bottom:1px solid var(--line);
    padding:11px 2px;font-family:'EB Garamond';font-size:17px;color:var(--ink);resize:vertical;
  }
  .contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--accent);}
  .submit-link{
    font-size:15px;border-bottom:1px solid var(--ink);padding-bottom:3px;
    transition:color .25s ease,border-color .25s ease;
  }
  .submit-link:hover{color:var(--accent);border-color:var(--accent);}
  .contact-success{margin-top:20px;font-size:15px;color:var(--accent);display:none;}
  .contact-success.show{display:block;}
  .contact-details{
    margin-top:70px;padding-top:50px;border-top:1px solid var(--line);
    display:grid;grid-template-columns:repeat(3,1fr);gap:30px;text-align:center;
  }
  @media(max-width:640px){.contact-details{grid-template-columns:1fr;gap:34px;}}
  .contact-details h5{font-size:12.5px;letter-spacing:0.16em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:10px;}
  .contact-details p,.contact-details a{font-size:16px;color:var(--ink);}

  .fade-up{opacity:0;transform:translate3d(0,32px,0);transition:opacity 1s cubic-bezier(.16,1,.3,1),transform 1s cubic-bezier(.16,1,.3,1);}
  .fade-up.in{opacity:1;transform:translate3d(0,0,0);}
  /* gentle stagger so grid items don't all reveal in lockstep */
  .product-grid>*:nth-child(2),.editorial-grid>*:nth-child(2),.inside-grid>*:nth-child(2),.service-grid>*:nth-child(2),.rewards-grid>*:nth-child(2){transition-delay:.08s;}
  .product-grid>*:nth-child(3),.editorial-grid>*:nth-child(3),.inside-grid>*:nth-child(3),.service-grid>*:nth-child(3),.rewards-grid>*:nth-child(3){transition-delay:.16s;}
  .product-grid>*:nth-child(4),.rewards-grid>*:nth-child(4){transition-delay:.24s;}

  /* ============ Muse Club signup modal ============ */
  .muse-modal-overlay{
    position:fixed;inset:0;background:rgba(33,30,27,0.5);z-index:300;
    display:flex;align-items:center;justify-content:center;padding:20px;
    opacity:0;visibility:hidden;transition:opacity .35s ease,visibility .35s;
  }
  .muse-modal-overlay.open{opacity:1;visibility:visible;}
  .muse-modal{
    position:relative;background:var(--bg);width:440px;max-width:100%;
    padding:52px 44px;text-align:center;
    transform:translateY(16px);transition:transform .4s cubic-bezier(.2,.8,.2,1);
  }
  .muse-modal-overlay.open .muse-modal{transform:translateY(0);}
  .muse-modal-close{
    position:absolute;top:16px;right:18px;font-size:22px;line-height:1;
    color:var(--ink-soft);transition:color .2s ease;
  }
  .muse-modal-close:hover{color:var(--ink);}
  .muse-modal h3{font-family:'Bodoni Moda',serif;font-weight:400;font-size:27px;margin-top:12px;}
  .muse-modal p{color:var(--ink-soft);font-size:15px;line-height:1.7;margin-top:14px;}
  .muse-modal form{margin-top:28px;display:flex;flex-direction:column;gap:18px;}
  .muse-modal input{
    background:none;border:none;border-bottom:1px solid var(--line);
    padding:10px 2px;font-family:'EB Garamond';font-size:16px;color:var(--ink);text-align:center;
  }
  .muse-modal input::placeholder{color:var(--ink-soft);}
  .muse-modal input:focus{outline:none;border-color:var(--accent);}
  .muse-modal .submit-link{margin-top:6px;align-self:center;}
  .muse-modal-success{margin-top:18px;font-size:14.5px;color:var(--accent);display:none;}
  .muse-modal-success.show{display:block;}

  /* ============ Cart Drawer ============ */
  .cart-overlay{
    position:fixed;inset:0;background:rgba(33,30,27,0.4);z-index:200;
    opacity:0;visibility:hidden;transition:opacity .4s ease,visibility .4s;
  }
  .cart-overlay.open{opacity:1;visibility:visible;}
  .cart-drawer{
    position:fixed;top:0;right:0;bottom:0;width:420px;max-width:92vw;background:var(--bg);
    z-index:201;display:flex;flex-direction:column;
    transform:translateX(100%);transition:transform .45s cubic-bezier(.2,.8,.2,1);
    box-shadow:-20px 0 50px rgba(0,0,0,0.08);
  }
  .cart-drawer.open{transform:translateX(0);}
  .cart-head{
    display:flex;justify-content:space-between;align-items:center;
    padding:26px 28px;border-bottom:1px solid var(--line);
  }
  .cart-head h3{font-size:20px;font-weight:400;}
  .cart-items{flex:1;overflow-y:auto;padding:10px 28px;}
  .cart-item{display:grid;grid-template-columns:80px 1fr;gap:16px;padding:22px 0;border-bottom:1px solid var(--line-soft);}
  .cart-item img{width:80px;height:104px;object-fit:cover;background:var(--bg-tile);}
  .cart-item-name{font-size:15.5px;line-height:1.35;}
  .cart-item-meta{font-size:13px;color:var(--ink-soft);margin-top:5px;}
  .cart-item-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:14px;}
  .cart-qty{display:flex;align-items:center;gap:12px;font-size:14px;}
  .cart-qty button{width:22px;height:22px;border:1px solid var(--line);font-size:13px;}
  .cart-remove{font-size:12.5px;color:var(--ink-soft);text-decoration:underline;text-underline-offset:3px;}
  .cart-remove:hover{color:var(--accent);}
  .cart-empty{display:none;text-align:center;padding:60px 28px;color:var(--ink-soft);font-size:15px;}
  .cart-footer{padding:22px 28px 28px;border-top:1px solid var(--line);}
  .cart-subtotal{display:flex;justify-content:space-between;font-size:17px;}
  .cart-note{font-size:12.5px;color:var(--ink-soft);margin-top:8px;}

  /* ============ Checkout / Confirmation ============ */
  .checkout-inner{display:grid;grid-template-columns:1.1fr 0.9fr;gap:70px;padding-top:20px;}
  @media(max-width:900px){.checkout-inner{grid-template-columns:1fr;gap:40px;}}
  .checkout-section{margin-bottom:44px;}
  .checkout-section h5{font-size:12.5px;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:20px;}
  .checkout-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 18px;}
  .checkout-grid .full{grid-column:1/3;}
  .checkout-field label{display:block;font-size:12px;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:9px;}
  .checkout-field input,.checkout-field select{
    width:100%;background:none;border:none;border-bottom:1px solid var(--line);
    padding:9px 2px;font-family:'EB Garamond';font-size:16px;color:var(--ink);
  }
  .checkout-field input:focus,.checkout-field select:focus{outline:none;border-color:var(--accent);}
  .checkout-summary{background:var(--bg-tile);padding:34px;align-self:start;}
  .checkout-summary h5{font-size:12.5px;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:22px;}
  .checkout-line{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);}
  .checkout-line img{width:56px;height:74px;object-fit:cover;}
  .checkout-line .nm{font-size:14.5px;}
  .checkout-line .mt{font-size:12.5px;color:var(--ink-soft);margin-top:4px;}
  .checkout-totals{margin-top:20px;padding-top:16px;}
  .checkout-totals div{display:flex;justify-content:space-between;font-size:15px;padding:6px 0;}
  .checkout-totals .grand{font-size:18px;border-top:1px solid var(--line);margin-top:8px;padding-top:14px;}
  .place-order-btn{width:100%;text-align:center;padding:17px;background:var(--ink);color:var(--on-dark);margin-top:26px;font-size:14.5px;letter-spacing:0.08em;text-transform:uppercase;transition:background .25s ease;}
  .place-order-btn:hover{background:var(--accent);}
  .place-order-btn:disabled{opacity:0.5;cursor:default;}
  .place-order-btn:disabled:hover{background:var(--ink);}

  /* PayPal renders a card input inside an iframe in each of these. The height is
     fixed here because an iframe has no intrinsic height to grow into; the text
     inside it is styled through the SDK's `style` option to match the form. */
  .pp-field{
    height:41px;border-bottom:1px solid var(--line);
    transition:border-color .25s ease;
  }
  .pp-field.pp-focus{border-color:var(--accent);}
  .pp-field.pp-invalid{border-color:#B4483C;}
  .checkout-error{
    background:rgba(180,72,60,0.07);border-left:2px solid #B4483C;
    padding:13px 16px;font-size:14.5px;color:#8E3529;margin-bottom:22px;
  }
  .checkout-or{
    display:flex;align-items:center;gap:16px;margin:26px 0 4px;
    font-size:12px;letter-spacing:0.18em;text-transform:uppercase;color:var(--ink-soft);
  }
  .checkout-or::before,.checkout-or::after{content:'';flex:1;height:1px;background:var(--line);}
  .checkout-pay-status{font-size:13.5px;color:var(--ink-soft);margin-top:14px;}

  .confirm-wrap{max-width:560px;margin:0 auto;text-align:center;padding:90px 24px 110px;}
  .confirm-wrap .check-mark{
    width:64px;height:64px;border:1px solid var(--accent);border-radius:50%;
    display:flex;align-items:center;justify-content:center;margin:0 auto 30px;color:var(--accent);
  }
  .confirm-wrap h1{font-size:clamp(26px,3.4vw,34px);font-weight:400;}
  .confirm-wrap p{margin-top:16px;color:var(--ink-soft);font-size:16px;line-height:1.7;}
  .confirm-order-num{margin-top:22px;font-size:15px;letter-spacing:0.04em;}

  /* ============ Product Detail Page ============ */
  .pdp-crumb{padding:22px 0 0;font-size:13.5px;color:var(--ink-soft);}
  .pdp-crumb button:hover{color:var(--ink);text-decoration:underline;}
  .pdp-inner{display:grid;grid-template-columns:1.25fr 0.85fr;gap:64px;padding-top:26px;}
  @media(max-width:960px){.pdp-inner{grid-template-columns:1fr;gap:36px;}}
  .pdp-gallery{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-content:start;}
  .pdp-gallery .g1,.pdp-gallery .g2{aspect-ratio:3/4.3;overflow:hidden;background:var(--bg-tile);}
  .pdp-gallery .g1{grid-column:1/3;aspect-ratio:16/11;}
  .pdp-info{position:sticky;top:150px;align-self:start;}
  @media(max-width:960px){.pdp-info{position:static;}}
  .pdp-info .cat{color:var(--accent);font-size:15px;}
  .pdp-info h1{font-size:clamp(26px,2.6vw,32px);font-weight:400;margin-top:10px;line-height:1.3;}
  .pdp-info .price{font-size:19px;margin-top:14px;}
  .pdp-row{margin-top:34px;padding-top:24px;border-top:1px solid var(--line);}
  .pdp-row h5{font-size:12.5px;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:14px;}
  .pdp-swatch{
    width:34px;height:34px;border-radius:50%;border:1px solid var(--line);
    display:inline-flex;align-items:center;justify-content:center;position:relative;
  }
  .pdp-swatch::after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--swatch,#000);}
  .pdp-swatch.active{border-color:var(--ink);}
  .pdp-sizes{display:flex;gap:10px;flex-wrap:wrap;}
  .pdp-size-btn{
    min-width:44px;padding:9px 6px;border:1px solid var(--line);font-size:14.5px;text-align:center;
    transition:border-color .2s ease,background .2s ease;
  }
  .pdp-size-btn:hover,.pdp-size-btn.active{border-color:var(--ink);background:var(--ink);color:var(--on-dark);}
  .pdp-qty{display:flex;align-items:center;gap:18px;}
  .pdp-qty button{width:30px;height:30px;border:1px solid var(--line);font-size:16px;}
  .pdp-addbag{
    width:100%;text-align:center;padding:17px;border:1px solid var(--ink);margin-top:34px;
    font-size:14.5px;letter-spacing:0.08em;text-transform:uppercase;transition:background .25s ease,color .25s ease;
  }
  .pdp-addbag:hover{background:var(--ink);color:var(--on-dark);}
  .pdp-addbag.added{background:var(--accent);border-color:var(--accent);color:#fff;}
  .pdp-accordion details{border-top:1px solid var(--line);padding:18px 0;}
  .pdp-accordion details:last-child{border-bottom:1px solid var(--line);}
  .pdp-accordion summary{
    list-style:none;cursor:pointer;display:flex;justify-content:space-between;font-size:15px;
  }
  .pdp-accordion summary::-webkit-details-marker{display:none;}
  .pdp-accordion summary .plus{color:var(--accent);transition:transform .3s ease;}
  .pdp-accordion details[open] summary .plus{transform:rotate(45deg);}
  .pdp-accordion p{font-size:14.5px;line-height:1.75;color:var(--ink-soft);margin-top:12px;}
  .pdp-related{margin-top:110px;}
