/** Shopify CDN: Minification failed

Line 513:52 The "+" operator only works if there is whitespace on both sides
Line 575:117 The "+" operator only works if there is whitespace on both sides

**/
/* ============================================================
   icitte. — PREMIUM QUÉBEC STREETWEAR
   Dime × Corteiz × Fear of God aesthetic
   ============================================================ */

:root {
  --black:     #050505;
  --black-2:   #0a0a0a;
  --black-3:   #111;
  --black-4:   #181818;
  --charcoal:  #222;
  --ash:       #333;
  --fog:       #666;
  --silver:    #999;
  --cloud:     #ccc;
  --snow:      #ebebeb;
  --white:     #f5f5f5;
  --line:      rgba(255,255,255,0.07);
  --line-2:    rgba(255,255,255,0.14);

  --font-display: 'Barlow Condensed', sans-serif;
  --font-body:    'Barlow', sans-serif;

  --hdr: 62px;
  --ann: 36px;
  --t: 0.24s;
  --ease: cubic-bezier(.4,0,.2,1);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{background:var(--black);color:var(--white);font-family:var(--font-body);font-weight:400;line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
/* ── Images produit : contain, centré, jamais crop ── */
.product-card__img-wrap img,
.gallery-main img,
.gallery-thumb img,
.cart-item__img img,
#pdp-main-img,
#gallery-main img{
  object-fit:contain !important;
  object-position:center !important;
}
/* ── Images de sections/hero/backgrounds : cover normal ── */
.community-img img,
.quality-img-side img,
[class*="-img-side"] img{
  height:100% !important;
  width:100%;
  object-fit:cover;
  object-position:center;
}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button{cursor:pointer;border:none;background:none;font-family:inherit;color:inherit}
input,select{font-family:inherit}

/* ── ANNOUNCE BAR ── */
.announce-bar{
  position:sticky;top:0;z-index:300;
  background:var(--black);
  border-bottom:1px solid var(--line);
  height:var(--ann);
  display:flex;align-items:center;
  overflow:hidden;
}
.announce-inner{
  display:flex;align-items:center;
  white-space:nowrap;
  animation:ticker 22s linear infinite;
  flex-shrink:0;
}
.announce-inner span{
  font-family:var(--font-display);
  font-size:10px;font-weight:700;
  letter-spacing:.28em;text-transform:uppercase;
  color:var(--fog);
  padding:0 28px;
}
.announce-accent{ color:var(--white) !important; }
.announce-dot{ color:var(--ash) !important; padding:0 4px !important; }
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ── HEADER ── */
.site-header{
  position:sticky;top:var(--ann);z-index:200;
  background:rgba(5,5,5,.92);
  backdrop-filter:blur(20px);
  border-bottom:1px solid var(--line);
  transition:background var(--t);
}
.site-header.at-top{background:transparent;border-color:transparent}

.header-inner{
  max-width:1400px;margin:0 auto;
  padding:0 28px;height:var(--hdr);
  display:flex;align-items:center;justify-content:space-between;
}

.header-logo{
  font-family:var(--font-display);
  font-size:1.7rem;font-weight:900;
  letter-spacing:.02em;color:var(--white);
}

.header-nav{
  position:absolute;left:50%;transform:translateX(-50%);
  display:flex;gap:36px;
}
.header-nav a{
  font-family:var(--font-display);
  font-size:12px;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;
  color:var(--silver);transition:color var(--t);
  position:relative;
}
.header-nav a::after{
  content:'';position:absolute;
  bottom:-4px;left:0;width:0;height:1px;
  background:var(--white);transition:width var(--t);
}
.header-nav a:hover{color:var(--white)}
.header-nav a:hover::after{width:100%}

.header-actions{display:flex;gap:8px;align-items:center}
.header-icon{
  width:40px;height:40px;
  display:flex;align-items:center;justify-content:center;
  color:var(--silver);transition:color var(--t);
}
.header-icon:hover{color:var(--white)}
.cart-count{
  position:absolute;top:4px;right:4px;
  background:var(--white);color:var(--black);
  font-size:9px;font-weight:800;
  width:14px;height:14px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
}

.hamburger{display:none;flex-direction:column;gap:5px;width:40px;height:40px;align-items:center;justify-content:center}
.hamburger span{display:block;width:20px;height:1px;background:var(--white);transition:var(--t)}

.mobile-nav{
  display:none;flex-direction:column;
  background:var(--black-2);
  border-top:1px solid var(--line);
  padding:20px 28px 28px;
}
.mobile-nav.open{display:flex}
.mobile-nav a{
  font-family:var(--font-display);
  font-size:18px;font-weight:800;
  letter-spacing:.08em;text-transform:uppercase;
  color:var(--silver);padding:14px 0;
  border-bottom:1px solid var(--line);
  transition:color var(--t);
}
.mobile-nav a:hover{color:var(--white)}

/* ── HERO ── */
.hero{
  position:relative;
  width:100%;
  min-height:calc(100vh - var(--ann) - var(--hdr));
  display:flex;align-items:flex-end;
  overflow:hidden;
}
.hero__img{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;object-position:center 30%;
  filter:grayscale(.15) brightness(.85);
  transform:scale(1.03);
  transition:transform 8s ease;
}
.hero.loaded .hero__img{transform:scale(1)}
.hero__overlay{
  position:absolute;inset:0;
  background:linear-gradient(
    to right,
    rgba(5,5,5,.82) 0%,
    rgba(5,5,5,.45) 50%,
    rgba(5,5,5,.1) 100%
  );
}
.hero__overlay-bottom{
  position:absolute;bottom:0;left:0;right:0;height:30%;
  background:linear-gradient(to top,rgba(5,5,5,.95),transparent);
}
.hero__grain{
  position:absolute;inset:0;pointer-events:none;opacity:.4;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)' opacity='.05'/%3E%3C/svg%3E");
}

.hero__content{
  position:relative;z-index:2;
  padding:0 28px 64px;
  max-width:700px;
}
.hero__fleur{
  font-size:20px;color:rgba(245,245,245,.5);
  margin-bottom:20px;display:block;
  opacity:0;animation:fadeUp .8s ease .3s forwards;
}
.hero__title{
  font-family:var(--font-display);
  font-size:clamp(4.5rem,11vw,9.5rem);
  font-weight:900;line-height:.88;
  letter-spacing:-.02em;text-transform:uppercase;
  color:var(--white);margin-bottom:24px;
  opacity:0;animation:fadeUp 1s cubic-bezier(.16,1,.3,1) .5s forwards;
}
.hero__sub{
  font-size:clamp(.82rem,1.6vw,.95rem);
  font-weight:300;line-height:1.75;
  color:rgba(245,245,245,.55);
  margin-bottom:36px;
  opacity:0;animation:fadeUp .9s ease .8s forwards;
}
.hero__cta{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--font-display);
  font-size:13px;font-weight:800;
  letter-spacing:.18em;text-transform:uppercase;
  color:var(--black);background:var(--white);
  padding:15px 30px;
  transition:background var(--t),color var(--t),transform var(--t);
  opacity:0;animation:fadeUp .9s ease 1s forwards;
}
.hero__cta:hover{background:transparent;color:var(--white);outline:1px solid var(--white);transform:translateY(-1px)}

/* ── NOUVEAUTÉS ── */
.products-section{padding:56px 0 64px;background:var(--black)}
.section-head{
  display:flex;align-items:baseline;
  justify-content:space-between;
  padding:0 28px;margin-bottom:28px;
  max-width:1400px;margin-left:auto;margin-right:auto;
}
.section-title{
  font-family:var(--font-display);
  font-size:1.1rem;font-weight:800;
  letter-spacing:.18em;text-transform:uppercase;
  color:var(--white);
}
.section-see-all{
  font-family:var(--font-display);
  font-size:11px;font-weight:700;
  letter-spacing:.2em;text-transform:uppercase;
  color:var(--fog);
  border-bottom:1px solid var(--ash);
  padding-bottom:1px;
  transition:color var(--t),border-color var(--t);
}
.section-see-all:hover{color:var(--white);border-color:var(--white)}

/* Product grid — real Shopify connected */
.products-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:2px;
  padding:0 28px;
  max-width:1400px;
  margin:0 auto;
}

.product-card{}
.product-card__link{display:block}
.product-card__img-wrap{
  position:relative;
  aspect-ratio:1/1;
  overflow:hidden;
  background:#0f0f0f;
  display:flex;
  align-items:center;
  justify-content:center;
}
.product-card__img{
  width:88%;height:88% !important;object-fit:contain;object-position:center;
  transition:transform .7s var(--ease);
  display:block;
}
.product-card:hover .product-card__img{transform:scale(1.03)}
.product-card__img-2{
  position:absolute;inset:0;
  width:88%;height:88% !important;object-fit:contain;object-position:center;
  margin:auto;
  opacity:0;transition:opacity .5s var(--ease);
  display:block;
}
.product-card:hover .product-card__img-2{opacity:1}
.product-card__placeholder{
  width:100%;height:100%;
  display:flex;flex-direction:column;
  align-items:flex-start;justify-content:flex-end;
  padding:20px;background:var(--black-3);
  transition:background .5s;
}
.product-card:hover .product-card__placeholder{background:var(--black-4)}
.product-card__placeholder-name{
  font-family:var(--font-display);
  font-size:clamp(1rem,2.2vw,1.5rem);
  font-weight:900;color:var(--white);
  line-height:1.1;text-transform:lowercase;
  margin-bottom:6px;
}
.product-card__placeholder-fleur{
  font-size:.9rem;color:rgba(245,245,245,.3)
}
.product-card__badge{
  position:absolute;top:12px;left:12px;
  font-family:var(--font-display);
  font-size:9px;font-weight:800;
  letter-spacing:.12em;text-transform:uppercase;
  background:var(--white);color:var(--black);
  padding:3px 9px;
}
.product-card__info{padding:12px 0 4px}
.product-card__name{
  font-family:var(--font-display);
  font-size:.85rem;font-weight:700;
  letter-spacing:.04em;text-transform:lowercase;
  color:var(--white);margin-bottom:4px;
  transition:color var(--t);
}
.product-card:hover .product-card__name{color:var(--cloud)}
.product-card__price{
  font-family:var(--font-display);
  font-size:.9rem;font-weight:700;
  color:var(--silver);
}

/* ── CULTURE SPLIT ── */
.culture-section{
  display:grid;grid-template-columns:1fr 1fr;
  min-height:520px;
  border-top:1px solid var(--line);
}
.culture-left{
  background:var(--black-2);
  padding:72px 56px 72px 28px;
  display:flex;flex-direction:column;justify-content:center;
}
.culture-eyebrow{
  font-family:var(--font-display);
  font-size:10px;font-weight:700;
  letter-spacing:.38em;text-transform:uppercase;
  color:var(--fog);margin-bottom:20px;
}
.culture-title{
  font-family:var(--font-display);
  font-size:clamp(2.4rem,5vw,4.5rem);
  font-weight:900;line-height:.92;
  letter-spacing:-.01em;text-transform:uppercase;
  color:var(--white);margin-bottom:28px;
}
.culture-body{
  font-size:.9rem;font-weight:300;
  line-height:1.8;color:rgba(245,245,245,.5);
  margin-bottom:36px;max-width:360px;
}
.culture-cta{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--font-display);
  font-size:12px;font-weight:800;
  letter-spacing:.18em;text-transform:uppercase;
  color:var(--white);border:1px solid var(--white);
  padding:13px 24px;width:fit-content;
  transition:background var(--t),color var(--t);
}
.culture-cta:hover{background:var(--white);color:var(--black)}

.culture-right{
  position:relative;overflow:hidden;
  background:var(--black-3);
}
.culture-img{
  width:100%;height:100%;
  object-fit:cover;object-position:center;
  filter:grayscale(.2) brightness(.75);
  transition:transform .8s var(--ease);
}
.culture-right:hover .culture-img{transform:scale(1.04)}

/* ── TRUST BAR ── */
.trust-bar{
  display:flex;align-items:center;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:var(--black-2);
}
.trust-item{
  flex:1;display:flex;align-items:center;gap:12px;
  padding:22px 20px;justify-content:center;
  border-right:1px solid var(--line);
}
.trust-item:last-child{border-right:none}
.trust-icon{width:20px;height:20px;color:var(--silver);flex-shrink:0}
.trust-item span{
  font-family:var(--font-display);
  font-size:10px;font-weight:700;
  letter-spacing:.18em;text-transform:uppercase;
  color:var(--silver);
}

/* ── FOOTER ── */
.site-footer{
  background:var(--black-2);
  border-top:1px solid var(--line);
  padding:56px 28px 0;
}
.footer-inner{
  display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;
  gap:40px;max-width:1200px;margin:0 auto;
  padding-bottom:48px;
  border-bottom:1px solid var(--line);
}
.footer-logo{
  font-family:var(--font-display);
  font-size:2rem;font-weight:900;
  color:var(--white);display:block;margin-bottom:16px;
}
.footer-tagline{font-size:.82rem;color:var(--fog);line-height:1.6;margin-bottom:24px}
.footer-socials{display:flex;gap:12px}
.footer-social{
  width:36px;height:36px;border:1px solid var(--ash);
  display:flex;align-items:center;justify-content:center;
  color:var(--fog);transition:color var(--t),border-color var(--t);
}
.footer-social:hover{color:var(--white);border-color:var(--white)}
.footer-col h4{
  font-family:var(--font-display);
  font-size:10px;font-weight:800;
  letter-spacing:.28em;text-transform:uppercase;
  color:var(--white);margin-bottom:20px;
}
.footer-col li{margin-bottom:10px}
.footer-col a{
  font-size:.85rem;color:var(--fog);
  transition:color var(--t);
}
.footer-col a:hover{color:var(--white)}
.footer-bottom{
  display:flex;align-items:center;justify-content:space-between;
  padding:20px 0;max-width:1200px;margin:0 auto;
}
.footer-copy{font-size:.75rem;color:var(--ash)}
.footer-payments{display:flex;gap:6px}
.payment-svg{height:20px;opacity:.25;filter:grayscale(1)}

/* ── CART DRAWER ── */
.cart-drawer{position:fixed;inset:0;z-index:400;pointer-events:none}
.cart-drawer.open{pointer-events:all}
.cart-drawer__overlay{position:absolute;inset:0;background:rgba(5,5,5,.8);opacity:0;transition:opacity .4s}
.cart-drawer.open .cart-drawer__overlay{opacity:1}
.cart-drawer__panel{
  position:absolute;top:0;right:0;bottom:0;
  width:400px;max-width:100%;
  background:var(--black-2);border-left:1px solid var(--line);
  display:flex;flex-direction:column;
  transform:translateX(100%);transition:transform .45s var(--ease);
}
.cart-drawer.open .cart-drawer__panel{transform:none}
.cart-drawer__head{
  padding:22px 24px;border-bottom:1px solid var(--line);
  display:flex;align-items:center;justify-content:space-between;
}
.cart-drawer__head h2{
  font-family:var(--font-display);font-size:.95rem;
  font-weight:800;letter-spacing:.14em;text-transform:uppercase;
}
.cart-drawer__close{color:var(--fog);transition:color var(--t);display:flex}
.cart-drawer__close:hover{color:var(--white)}
.cart-drawer__body{flex:1;overflow-y:auto;padding:20px 24px}
.cart-drawer__foot{padding:18px 24px 24px;border-top:1px solid var(--line)}
.cart-loading{color:var(--fog);text-align:center;padding:40px;font-size:.85rem}

/* ── COLLECTION PAGE ── */
.collection-page{padding:48px 28px 80px;max-width:1400px;margin:0 auto}
.collection-page__head{margin-bottom:32px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.collection-page__title{
  font-family:var(--font-display);
  font-size:clamp(2.5rem,6vw,5rem);
  font-weight:900;color:var(--white);text-transform:lowercase;
}
.collection-page__toolbar{
  display:flex;justify-content:space-between;align-items:center;
  margin-bottom:28px;
}
.collection-page__count{font-size:.8rem;color:var(--fog)}
.collection-page__sort{
  background:var(--black-3);border:1px solid var(--line);
  color:var(--white);padding:8px 14px;
  font-family:var(--font-display);font-size:12px;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;outline:none;cursor:pointer;
}
.collection-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:2px;
}
.collection-empty{
  grid-column:1/-1;text-align:center;
  padding:80px;color:var(--fog);
}

/* ── PRODUCT PAGE ── */
.product-page{display:grid;grid-template-columns:1fr 1fr;gap:0;min-height:calc(100vh - var(--ann) - var(--hdr))}
.product-gallery{position:sticky;top:calc(var(--ann)+var(--hdr));height:calc(100vh - var(--ann) - var(--hdr));display:flex;flex-direction:column;gap:3px;overflow:hidden}
.gallery-main{flex:1;overflow:hidden;background:#0f0f0f;display:flex;align-items:center;justify-content:center}
.gallery-main img{width:88%;height:88% !important;object-fit:contain;object-position:center;transition:transform .6s var(--ease);display:block}
.gallery-main:hover img{transform:scale(1.02)}
.gallery-no-img{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:5rem;color:rgba(245,245,245,.04)}
.gallery-thumbs{display:flex;gap:3px;padding:3px;background:var(--black-2);overflow-x:auto}
.gallery-thumb{flex-shrink:0;width:68px;height:68px;overflow:hidden;border:1px solid transparent;cursor:pointer;transition:border-color var(--t);padding:4px;background:#0f0f0f;display:flex;align-items:center;justify-content:center}
.gallery-thumb img{width:100%;height:100% !important;object-fit:contain;object-position:center}
.gallery-thumb.active,.gallery-thumb:hover{border-color:var(--white)}
.product-details{padding:48px 44px 80px;overflow-y:auto}
.product-tags{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}
.product-tag{font-family:var(--font-display);font-size:9px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--fog);border:1px solid var(--line);padding:4px 10px}
.product-detail-title{font-family:var(--font-display);font-size:clamp(1.8rem,3.5vw,3rem);font-weight:900;letter-spacing:.02em;color:var(--white);text-transform:lowercase;line-height:1;margin-bottom:16px}
.product-price-row{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.product-price{font-size:1.4rem;font-weight:700;color:var(--white)}
.product-price-compare{font-size:1rem;color:var(--fog);text-decoration:line-through}
.product-trust{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px;padding-bottom:28px;border-bottom:1px solid var(--line)}
.product-trust span{font-size:10px;color:var(--fog);border:1px solid var(--line);padding:4px 10px}
.option-group{margin-bottom:24px}
.option-label{font-family:var(--font-display);font-size:10px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--fog);display:block;margin-bottom:10px}
.size-grid{display:flex;flex-wrap:wrap;gap:6px}
.size-opt{cursor:pointer}
.size-opt input{display:none}
.size-opt span{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border:1px solid var(--line-2);font-family:var(--font-display);font-size:12px;font-weight:700;color:var(--fog);cursor:pointer;transition:border-color var(--t),color var(--t),background var(--t)}
.size-opt input:checked+span{border-color:var(--white);color:var(--white);background:rgba(245,245,245,.06)}
.size-opt:hover span{border-color:var(--silver);color:var(--white)}
.pdp-select{background:var(--black-3);border:1px solid var(--line-2);color:var(--white);padding:12px 14px;font-family:var(--font-display);font-size:13px;font-weight:600;outline:none;width:100%;cursor:pointer}
.qty-row{margin-bottom:20px}
.qty-ctrl{display:flex;align-items:center;border:1px solid var(--line-2);width:fit-content;margin-top:10px}
.qty-btn{width:42px;height:42px;font-size:1rem;color:var(--silver);display:flex;align-items:center;justify-content:center;transition:background var(--t),color var(--t)}
.qty-btn:hover{background:var(--black-3);color:var(--white)}
.qty-input{width:52px;height:42px;text-align:center;background:transparent;border:none;border-left:1px solid var(--line-2);border-right:1px solid var(--line-2);color:var(--white);font-family:var(--font-display);font-size:.95rem;font-weight:700;outline:none}
.atc-btn{display:flex;align-items:center;justify-content:center;width:100%;background:var(--white);color:var(--black);font-family:var(--font-display);font-size:14px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;padding:18px;border:1px solid var(--white);cursor:pointer;transition:background var(--t),color var(--t);margin-bottom:10px}
.atc-btn:hover{background:transparent;color:var(--white)}
.buy-now{display:block;text-align:center;font-family:var(--font-display);font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--fog);padding:12px;border:1px solid var(--line-2);transition:color var(--t),border-color var(--t)}
.buy-now:hover{color:var(--white);border-color:var(--white)}
.pdp-desc{margin-top:28px;padding-top:28px;border-top:1px solid var(--line);font-size:.875rem;color:var(--fog);line-height:1.8}
.accordion{border-bottom:1px solid var(--line)}
.accordion summary{display:flex;justify-content:space-between;align-items:center;font-family:var(--font-display);font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--silver);padding:17px 0;cursor:pointer;list-style:none;transition:color var(--t)}
.accordion summary::after{content:'+';font-size:16px;font-weight:300}
.accordion[open] summary::after{content:'−'}
.accordion summary:hover{color:var(--white)}
.accordion-body{padding-bottom:18px;font-size:.85rem;color:var(--fog);line-height:1.8}
.size-table{width:100%;border-collapse:collapse}
.size-table th,.size-table td{padding:9px 14px;text-align:left;border-bottom:1px solid var(--line);font-size:.82rem}
.size-table th{color:var(--fog);font-weight:600}

/* ── CART PAGE ── */
.cart-page{padding:52px 28px 100px;max-width:1100px;margin:0 auto}
.cart-title{font-family:var(--font-display);font-size:clamp(2.5rem,6vw,5rem);font-weight:900;color:var(--white);text-transform:lowercase;margin-bottom:40px}
.cart-layout{display:grid;grid-template-columns:1fr 340px;gap:56px;align-items:start}
.cart-item{display:grid;grid-template-columns:88px 1fr;gap:18px;padding:22px 0;border-bottom:1px solid var(--line);align-items:start}
.cart-item:first-child{border-top:1px solid var(--line)}
.cart-item__img{aspect-ratio:1/1;overflow:hidden;background:#0f0f0f;display:flex;align-items:center;justify-content:center;padding:4px}
.cart-item__img img{width:100%;height:100% !important;object-fit:contain;object-position:center}
.cart-item__name{font-family:var(--font-display);font-size:.9rem;font-weight:800;letter-spacing:.04em;text-transform:lowercase;color:var(--white);display:block;margin-bottom:4px;transition:color var(--t)}
.cart-item__name:hover{color:var(--cloud)}
.cart-item__var{font-size:.76rem;color:var(--fog);margin-bottom:14px}
.cart-item__row{display:flex;align-items:center;gap:16px}
.cart-item__price{font-family:var(--font-display);font-size:.9rem;font-weight:700;color:var(--white)}
.cart-item__remove{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ash);font-family:var(--font-display);transition:color var(--t)}
.cart-item__remove:hover{color:var(--white)}
.cart-summary{background:var(--black-3);border:1px solid var(--line);padding:28px;position:sticky;top:calc(var(--ann)+var(--hdr)+20px)}
.cart-summary h3{font-family:var(--font-display);font-size:1rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:24px}
.free-bar{background:var(--black-4);padding:12px 14px;margin-bottom:16px}
.free-bar p{font-size:11px;color:var(--silver);margin-bottom:8px}
.free-bar-track{height:1px;background:var(--ash);overflow:hidden}
.free-bar-fill{height:100%;background:var(--white);transition:width .5s}
.cs-row{display:flex;justify-content:space-between;font-size:.875rem;color:var(--fog);margin-bottom:10px}
.cs-divider{border-top:1px solid var(--line);margin:12px 0}
.cs-total{color:var(--white);font-size:.95rem}
.checkout-btn{display:block;width:100%;background:var(--white);color:var(--black);font-family:var(--font-display);font-size:13px;font-weight:900;letter-spacing:.2em;text-transform:uppercase;padding:18px;border:none;cursor:pointer;margin:16px 0 10px;transition:background var(--t)}
.checkout-btn:hover{background:var(--snow)}
.continue-link{display:block;text-align:center;font-size:11px;color:var(--fog);letter-spacing:.1em;text-transform:uppercase;font-family:var(--font-display);transition:color var(--t)}
.continue-link:hover{color:var(--white)}
.cart-empty{text-align:center;padding:80px 0}
.cart-empty p{color:var(--fog);margin-bottom:28px}

/* ── PAGE ── */
.page-wrap{padding:64px 28px 100px;max-width:780px;margin:0 auto}
.page-title{font-family:var(--font-display);font-size:3rem;font-weight:900;color:var(--white);text-transform:lowercase;margin-bottom:40px}
.page-content{font-size:.9rem;color:var(--silver);line-height:1.85}
.page-content h2,.page-content h3{font-family:var(--font-display);color:var(--white);font-size:1.8rem;margin:32px 0 14px;text-transform:lowercase}
.page-content p{margin-bottom:18px}
.page-content a{color:var(--white);text-decoration:underline}

/* ── LOADER ── */
#page-loader{position:fixed;inset:0;background:var(--black);z-index:9999;display:flex;align-items:center;justify-content:center;flex-direction:column;transition:opacity .6s ease,visibility .6s ease}
#page-loader.done{opacity:0;visibility:hidden;pointer-events:none}
.loader-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0}
.loader-logo{font-family:var(--font-display);font-size:2.2rem;font-weight:900;letter-spacing:.1em;color:var(--white);display:block;text-align:center;margin:0 0 20px 0;padding:0;line-height:1}
.loader-bar{width:160px;height:1px;background:var(--ash);overflow:hidden;display:block}
.loader-fill{height:100%;background:var(--white);animation:loaderFill 1s var(--ease) forwards}
@keyframes loaderFill{from{width:0}to{width:100%}}

/* ── ANIMATIONS ── */
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .65s var(--ease),transform .65s var(--ease)}
.reveal.on{opacity:1;transform:none}
.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}.d4{transition-delay:.4s}

/* ── RESPONSIVE ── */
@media(max-width:1024px){
  .header-nav{display:none}
  .hamburger{display:flex}
  .products-grid{grid-template-columns:repeat(2,1fr)}
  .culture-section{grid-template-columns:1fr}
  .culture-right{min-height:320px}
  .footer-inner{grid-template-columns:1fr 1fr;gap:36px}
  .product-page{grid-template-columns:1fr}
  .product-gallery{position:relative;height:70vw;max-height:580px}
  .cart-layout{grid-template-columns:1fr}
  .collection-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  :root{--hdr:54px;--ann:32px}
  .hero__title{font-size:clamp(3.5rem,16vw,5.5rem)}
  .hero__content{padding:0 20px 48px}
  .products-grid{grid-template-columns:repeat(2,1fr);padding:0 16px;gap:2px}
  .section-head{padding:0 16px}
  .trust-bar{flex-wrap:wrap}
  .trust-item{flex:1 0 50%;border-right:none;border-bottom:1px solid var(--line);padding:16px}
  .trust-item:nth-child(3),.trust-item:nth-child(4){border-bottom:none}
  .footer-inner{grid-template-columns:1fr;gap:32px}
  .footer-bottom{flex-direction:column;gap:12px;text-align:center}
  .cart-layout{grid-template-columns:1fr}
  .cart-item{grid-template-columns:72px 1fr}
  .page-wrap{padding:40px 16px 60px}
}

/* ═══════════════════════════════════════════
   NOUVELLES SECTIONS — UPGRADE HOMEPAGE
   ═══════════════════════════════════════════ */

/* ── MARQUEE ── */
.marquee-wrap {
  background: var(--black-2);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  overflow: hidden;
  padding: 16px 0;
  white-space: nowrap;
}
.marquee-track {
  display: inline-flex;
  animation: marqueeScroll 28s linear infinite;
}
.marquee-track:hover { animation-play-state: paused; }
.marquee-inner {
  display: inline-flex;
  align-items: center;
  gap: 0;
  flex-shrink: 0;
}
.marquee-inner span {
  font-family: var(--font-display);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--silver);
  padding: 0 20px;
}
.marquee-dot {
  color: var(--ash) !important;
  padding: 0 6px !important;
  letter-spacing: 0 !important;
}
@keyframes marqueeScroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

/* ── PHILOSOPHY ── */
.philosophy-section {
  background: var(--black);
  padding: 120px 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  border-top: 1px solid var(--line);
}
.philosophy-inner {
  max-width: 900px;
  width: 100%;
}
.philosophy-tag {
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.38em;
  text-transform: uppercase;
  color: var(--fog);
  margin-bottom: 28px;
  display: block;
}
.philosophy-title {
  font-family: var(--font-display);
  font-size: clamp(3.5rem, 10vw, 9rem);
  font-weight: 900;
  line-height: 0.88;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  color: var(--white);
  margin-bottom: 40px;
}
.philosophy-outline {
  color: transparent;
  -webkit-text-stroke: 1.5px rgba(245,245,245,0.3);
}
.philosophy-body {
  font-family: var(--font-display);
  font-size: clamp(1.2rem, 3vw, 2rem);
  font-weight: 300;
  letter-spacing: 0.06em;
  color: var(--silver);
  line-height: 1.5;
  margin-bottom: 36px;
}
.philosophy-line {
  width: 40px;
  height: 1px;
  background: var(--ash);
  margin: 0 auto 28px;
}
.philosophy-sub {
  font-size: 0.88rem;
  font-weight: 300;
  line-height: 1.8;
  color: var(--fog);
  letter-spacing: 0.04em;
}

/* ── QUALITY SPLIT ── */
.quality-section {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 580px;
  border-top: 1px solid var(--line);
}
.quality-img-side {
  position: relative;
  overflow: hidden;
  background: var(--black-3);
}
.quality-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: grayscale(0.3) brightness(0.7) contrast(1.1);
  transition: transform 0.9s var(--ease);
}
.quality-img-side:hover .quality-img { transform: scale(1.04); }
.quality-img-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(5,5,5,0.4) 0%, transparent 60%);
}
.quality-text-side {
  background: var(--black-2);
  padding: 72px 56px 72px 64px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.quality-eyebrow {
  font-family: var(--font-display);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.38em;
  text-transform: uppercase;
  color: var(--fog);
  margin-bottom: 24px;
  display: block;
}
.quality-title {
  font-family: var(--font-display);
  font-size: clamp(2.8rem, 5vw, 5rem);
  font-weight: 900;
  line-height: 0.9;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  color: var(--white);
  margin-bottom: 48px;
}
.quality-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.quality-list li {
  display: flex;
  align-items: center;
  gap: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--line);
  transition: padding-left var(--t);
}
.quality-list li:hover { padding-left: 6px; }
.quality-list li:last-child { border-bottom: none; }
.quality-num {
  font-family: var(--font-display);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.2em;
  color: var(--fog);
  flex-shrink: 0;
}
.quality-list span:last-child {
  font-family: var(--font-display);
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--white);
}

/* ── COMMUNITY ── */
.community-section {
  padding: 100px 0 0;
  background: var(--black);
  border-top: 1px solid var(--line);
}
.community-head {
  text-align: center;
  padding: 0 28px;
  margin-bottom: 56px;
}
.community-tag {
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.38em;
  text-transform: uppercase;
  color: var(--fog);
  margin-bottom: 16px;
  display: block;
}
.community-title {
  font-family: var(--font-display);
  font-size: clamp(2.5rem, 7vw, 6rem);
  font-weight: 900;
  letter-spacing: -0.01em;
  text-transform: uppercase;
  color: var(--white);
  margin-bottom: 14px;
}
.community-sub {
  font-size: 0.9rem;
  font-weight: 300;
  line-height: 1.75;
  color: var(--fog);
  letter-spacing: 0.04em;
}
.community-grid {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 2px;
  height: 600px;
}
.community-img-stack {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.community-img {
  position: relative;
  overflow: hidden;
  background: var(--black-3);
  flex: 1;
}
.community-img--large { flex: 1; }
.community-img img {
  width: 100%;
  height: 100% !important;
  object-fit: cover;
  object-position: center;
  filter: grayscale(0.2) brightness(0.7);
  transition: transform 0.8s var(--ease);
}
.community-img:hover img { transform: scale(1.05); }
.community-img-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(5,5,5,0.5) 0%, transparent 60%);
}
.community-img--quote {
  background: var(--black-4);
  display: flex;
  align-items: center;
  justify-content: center;
}
.community-quote {
  text-align: center;
  padding: 32px;
}
.community-quote-mark {
  font-size: 1.8rem;
  color: rgba(245,245,245,0.12);
  display: block;
  margin-bottom: 16px;
}
.community-quote p {
  font-family: var(--font-display);
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--white);
  text-transform: lowercase;
  margin-bottom: 12px;
}
.community-quote-loc {
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--fog);
}

/* ── EMAIL CAPTURE ── */
.email-section {
  position: relative;
  min-height: 560px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-top: 1px solid var(--line);
}
.email-section__bg {
  position: absolute;
  inset: 0;
}
.email-section__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 20%;
  filter: grayscale(0.4) brightness(0.35);
  transform: scale(1.04);
  transition: transform 8s ease;
}
.email-section:hover .email-section__img { transform: scale(1); }
.email-section__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(5,5,5,0.6) 0%, rgba(5,5,5,0.82) 100%);
}
.email-section__content {
  position: relative;
  z-index: 2;
  text-align: center;
  padding: 80px 28px;
  max-width: 560px;
  width: 100%;
}
.email-eyebrow {
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.38em;
  text-transform: uppercase;
  color: var(--fog);
  margin-bottom: 20px;
  display: block;
}
.email-title {
  font-family: var(--font-display);
  font-size: clamp(3rem, 8vw, 6.5rem);
  font-weight: 900;
  line-height: 0.88;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  color: var(--white);
  margin-bottom: 20px;
}
.email-sub {
  font-size: 0.9rem;
  font-weight: 300;
  line-height: 1.75;
  color: var(--silver);
  margin-bottom: 36px;
}
.email-form-wrap { width: 100%; max-width: 400px; margin: 0 auto; }
.email-form-row {
  display: flex;
  border: 1px solid rgba(245,245,245,0.2);
  margin-bottom: 12px;
  transition: border-color var(--t);
}
.email-form-row:focus-within { border-color: rgba(245,245,245,0.5); }
.email-input {
  flex: 1;
  background: transparent;
  border: none;
  outline: none;
  padding: 14px 18px;
  font-family: var(--font-body);
  font-size: 13px;
  color: var(--white);
  letter-spacing: 0.08em;
}
.email-input::placeholder { color: rgba(245,245,245,0.22); }
.email-btn {
  background: var(--white);
  color: var(--black);
  border: none;
  padding: 14px 22px;
  font-family: var(--font-display);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background var(--t);
  flex-shrink: 0;
}
.email-btn:hover { background: var(--snow); }
.email-note {
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--fog);
  font-family: var(--font-display);
  font-weight: 600;
}

/* ── FAQ ── */
.faq-section {
  background: var(--black-2);
  border-top: 1px solid var(--line);
  padding: 96px 0;
}
.faq-inner {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 28px;
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 80px;
  align-items: start;
}
.faq-head { position: sticky; top: calc(var(--ann) + var(--hdr) + 24px); }
.faq-tag {
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.38em;
  text-transform: uppercase;
  color: var(--fog);
  margin-bottom: 16px;
  display: block;
}
.faq-title {
  font-family: var(--font-display);
  font-size: 5rem;
  font-weight: 900;
  letter-spacing: -0.02em;
  color: var(--white);
  line-height: 1;
}
.faq-list { display: flex; flex-direction: column; }
.faq-item {
  border-bottom: 1px solid var(--line);
  cursor: pointer;
}
.faq-item:first-child { border-top: 1px solid var(--line); }
.faq-item summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: lowercase;
  color: var(--silver);
  padding: 22px 0;
  cursor: pointer;
  list-style: none;
  transition: color var(--t);
  gap: 20px;
}
.faq-item summary::after {
  content: '+';
  font-size: 1.2rem;
  font-weight: 300;
  flex-shrink: 0;
  color: var(--fog);
  transition: transform var(--t), color var(--t);
}
.faq-item[open] summary::after {
  content: '−';
  color: var(--white);
}
.faq-item summary:hover { color: var(--white); }
.faq-answer {
  padding-bottom: 22px;
  font-size: 0.875rem;
  color: var(--fog);
  line-height: 1.8;
  max-width: 520px;
}

/* ── PRODUCT BADGES UPGRADE ── */
.product-card__badge {
  position: absolute;
  top: 10px;
  left: 10px;
  font-family: var(--font-display);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 3px 9px;
  z-index: 2;
}
.badge-signature { background: var(--white); color: var(--black); }
.badge-limited { background: transparent; color: var(--white); border: 1px solid rgba(245,245,245,0.4); }
.badge-new { background: var(--white); color: var(--black); }
.badge-best { background: transparent; color: var(--white); border: 1px solid rgba(245,245,245,0.4); }

/* ── REVEAL ANIMATION ── */
.reveal-section { overflow: hidden; }

/* ── RESPONSIVE ADDITIONS ── */
@media(max-width:1024px) {
  .quality-section { grid-template-columns: 1fr; }
  .quality-img-side { min-height: 340px; }
  .quality-text-side { padding: 52px 28px; }
  .community-grid { grid-template-columns: 1fr; height: auto; }
  .community-img--large { height: 400px; }
  .community-img-stack { flex-direction: row; height: 220px; }
  .faq-inner { grid-template-columns: 1fr; gap: 40px; }
  .faq-head { position: static; }
  .faq-title { font-size: 3rem; }
}
@media(max-width:640px) {
  .philosophy-section { padding: 80px 20px; }
  .community-section { padding: 72px 0 0; }
  .community-img--large { height: 300px; }
  .community-img-stack { height: 180px; }
  .email-section { min-height: 500px; }
  .email-title { font-size: clamp(2.5rem, 12vw, 4rem); }
  .faq-inner { padding: 0 16px; }
  .quality-text-side { padding: 40px 20px; }
}

/* ═══════════════════════════════════════════
   FIXES — PREMIUM UPGRADES
   ═══════════════════════════════════════════ */

/* ── FIX #2 — PREMIUM COLLECTION PAGE ── */
.collection-page-wrap { background: var(--black); min-height: 100vh; }

.collection-banner {
  position: relative;
  height: 52vh;
  min-height: 360px;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
}
.collection-banner__bg { position: absolute; inset: 0; }
.collection-banner__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 25%;
  filter: grayscale(0.25) brightness(0.5);
  transform: scale(1.04);
  transition: transform 8s ease;
}
.collection-banner:hover .collection-banner__img { transform: scale(1); }
.collection-banner__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(5,5,5,1) 0%,
    rgba(5,5,5,0.6) 40%,
    rgba(5,5,5,0.1) 100%
  );
}
.collection-banner__content {
  position: relative;
  z-index: 2;
  padding: 0 28px 48px;
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
}
.collection-banner__tag {
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.38em;
  text-transform: uppercase;
  color: var(--fog);
  margin-bottom: 12px;
  display: block;
}
.collection-banner__title {
  font-family: var(--font-display);
  font-size: clamp(3.5rem, 9vw, 8rem);
  font-weight: 900;
  letter-spacing: -0.02em;
  line-height: 0.88;
  color: var(--white);
  text-transform: lowercase;
  margin-bottom: 14px;
}
.collection-banner__sub {
  font-size: 0.85rem;
  font-weight: 300;
  color: var(--silver);
  letter-spacing: 0.08em;
}

.collection-toolbar-wrap {
  border-bottom: 1px solid var(--line);
  padding: 0 28px;
  max-width: 1400px;
  margin: 0 auto;
}
.collection-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 0;
}
.collection-count {
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--fog);
}
.collection-sort {
  background: transparent;
  border: 1px solid var(--line);
  color: var(--silver);
  padding: 8px 14px;
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  outline: none;
  cursor: pointer;
  transition: border-color var(--t), color var(--t);
}
.collection-sort:hover { border-color: var(--white); color: var(--white); }

.collection-grid-wrap {
  max-width: 1400px;
  margin: 0 auto;
  padding: 48px 28px 96px;
}
.collection-grid-premium {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2px;
}

.collection-empty-state {
  text-align: center;
  padding: 120px 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}
.collection-empty-fleur {
  font-size: 3rem;
  color: rgba(245,245,245,0.08);
  display: block;
}
.collection-empty-title {
  font-family: var(--font-display);
  font-size: 4rem;
  font-weight: 900;
  color: var(--white);
  line-height: 1;
}
.collection-empty-sub {
  font-size: 0.875rem;
  color: var(--fog);
  letter-spacing: 0.06em;
}
.collection-empty-link {
  font-family: var(--font-display);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--silver);
  border-bottom: 1px solid var(--ash);
  padding-bottom: 2px;
  margin-top: 12px;
  transition: color var(--t), border-color var(--t);
}
.collection-empty-link:hover { color: var(--white); border-color: var(--white); }

/* ── FIX #3 — INNER PAGES ── */
.inner-page-hero {
  position: relative;
  height: 55vh;
  min-height: 380px;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
}
.inner-page-hero__bg { position: absolute; inset: 0; }
.inner-page-hero__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 20%;
  filter: grayscale(0.3) brightness(0.45);
}
.inner-page-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(5,5,5,1) 0%, rgba(5,5,5,0.5) 50%, rgba(5,5,5,0.1) 100%);
}
.inner-page-hero__content {
  position: relative;
  z-index: 2;
  padding: 0 28px 52px;
  max-width: 1400px;
  margin: 0 auto;
  width: 100%;
}
.inner-page-hero__tag {
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.38em;
  text-transform: uppercase;
  color: var(--fog);
  margin-bottom: 12px;
  display: block;
}
.inner-page-hero__title {
  font-family: var(--font-display);
  font-size: clamp(3rem, 8vw, 7rem);
  font-weight: 900;
  letter-spacing: -0.02em;
  line-height: 0.9;
  color: var(--white);
  text-transform: lowercase;
  margin-bottom: 14px;
}
.inner-page-hero__sub {
  font-size: 0.88rem;
  font-weight: 300;
  color: var(--silver);
  line-height: 1.7;
  letter-spacing: 0.04em;
}

/* About text section */
.about-text-section {
  background: var(--black);
  padding: 96px 28px;
  border-top: 1px solid var(--line);
}
.about-text-inner {
  max-width: 900px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
}
.about-text-block {}
.about-label {
  font-family: var(--font-display);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.38em;
  text-transform: uppercase;
  color: var(--fog);
  margin-bottom: 20px;
  display: block;
}
.about-heading {
  font-family: var(--font-display);
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  font-weight: 900;
  letter-spacing: -0.01em;
  text-transform: lowercase;
  color: var(--white);
  line-height: 1;
  margin-bottom: 24px;
}
.about-body {
  font-size: 0.875rem;
  font-weight: 300;
  line-height: 1.85;
  color: var(--fog);
  margin-bottom: 16px;
}

/* Journal section */
.journal-coming {
  background: var(--black);
  padding: 120px 28px;
  text-align: center;
  border-top: 1px solid var(--line);
}
.journal-coming-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}
.journal-fleur {
  font-size: 2.5rem;
  color: rgba(245,245,245,0.08);
  display: block;
  margin-bottom: 8px;
}
.journal-coming-title {
  font-family: var(--font-display);
  font-size: 5rem;
  font-weight: 900;
  letter-spacing: -0.02em;
  color: var(--white);
  line-height: 1;
}
.journal-coming-sub {
  font-size: 0.875rem;
  color: var(--fog);
  letter-spacing: 0.06em;
}
.journal-back {
  font-family: var(--font-display);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--silver);
  border-bottom: 1px solid var(--ash);
  padding-bottom: 2px;
  margin-top: 16px;
  transition: color var(--t), border-color var(--t);
}
.journal-back:hover { color: var(--white); border-color: var(--white); }

/* ── IDENTITY SECTION (replaces quality) ── */
.identity-section {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 580px;
  border-top: 1px solid var(--line);
}
.identity-visual {
  position: relative;
  overflow: hidden;
  background: var(--black-3);
}
.identity-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: grayscale(0.3) brightness(0.65);
  transition: transform 0.9s var(--ease);
}
.identity-visual:hover .identity-img { transform: scale(1.04); }
.identity-img-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(5,5,5,0.45) 0%, transparent 55%);
}
.identity-content {
  background: var(--black-2);
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 72px 64px 72px 64px;
}
.identity-content-inner { max-width: 420px; }
.identity-tag {
  font-family: var(--font-display);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.38em;
  text-transform: uppercase;
  color: var(--fog);
  margin-bottom: 24px;
  display: block;
}
.identity-title {
  font-family: var(--font-display);
  font-size: clamp(2.8rem, 5.5vw, 5rem);
  font-weight: 900;
  line-height: 0.88;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  color: var(--white);
  margin-bottom: 36px;
}
.identity-title-outline {
  color: transparent;
  -webkit-text-stroke: 1.5px rgba(245,245,245,0.28);
}
.identity-body {
  font-size: 0.95rem;
  font-weight: 300;
  line-height: 1.85;
  color: var(--silver);
  margin-bottom: 32px;
}
.identity-line {
  width: 36px;
  height: 1px;
  background: var(--ash);
  margin-bottom: 24px;
}
.identity-sub {
  font-size: 0.85rem;
  font-weight: 300;
  line-height: 1.85;
  color: var(--fog);
}

/* ── RESPONSIVE — NEW SECTIONS ── */
@media(max-width:1024px) {
  .identity-section { grid-template-columns: 1fr; }
  .identity-visual { min-height: 320px; }
  .identity-content { padding: 52px 28px; }
  .collection-grid-premium { grid-template-columns: repeat(2,1fr); }
  .about-text-inner { grid-template-columns: 1fr; gap: 48px; }
}
@media(max-width:640px) {
  .collection-banner { height: 45vh; min-height: 280px; }
  .collection-banner__title { font-size: clamp(2.5rem,14vw,4rem); }
  .collection-grid-wrap { padding: 32px 16px 64px; }
  .collection-grid-premium { grid-template-columns: repeat(2,1fr); }
  .inner-page-hero { height: 45vh; }
  .inner-page-hero__title { font-size: clamp(2.5rem,12vw,4rem); }
  .about-text-section { padding: 64px 20px; }
  .identity-content { padding: 44px 20px; }
}

/* LOADER FIX */
#page-loader{flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:0!important}
.loader-logo{text-align:center!important;display:block!important;margin:0 0 20px 0!important}
.loader-bar{margin:0 auto!important;display:block!important}

/* ═══════════════════════════
   FIX PATCH — UPGRADE 2
   ═══════════════════════════ */

/* LOADER FIX — ensure perfect centering */
#page-loader {
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
}
.loader-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  width: fit-content;
}
.loader-logo {
  display: block !important;
  text-align: center !important;
  margin: 0 !important;
  width: 100%;
}
.loader-bar {
  width: 160px;
  margin: 0 !important;
  display: block;
}

/* IDENTITY SECTION */
.identity-section {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 560px;
  border-top: 1px solid var(--line);
}
.identity-text-side {
  background: var(--black);
  padding: 80px 56px 80px 28px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.identity-eyebrow {
  font-family: var(--font-display);
  font-size: 10px; font-weight: 700;
  letter-spacing: .38em; text-transform: uppercase;
  color: var(--fog); margin-bottom: 20px; display: block;
}
.identity-title {
  font-family: var(--font-display);
  font-size: clamp(2.8rem,5.5vw,5.5rem);
  font-weight: 900; line-height: .88;
  letter-spacing: -.02em; text-transform: uppercase;
  color: var(--white); margin-bottom: 28px;
}
.identity-body {
  font-size: .95rem; font-weight: 300;
  line-height: 2; color: var(--silver);
  margin-bottom: 40px; max-width: 380px;
  letter-spacing: .04em;
}
.identity-cta {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--font-display);
  font-size: 12px; font-weight: 800;
  letter-spacing: .18em; text-transform: uppercase;
  color: var(--white); border: 1px solid var(--white);
  padding: 13px 24px; width: fit-content;
  transition: background var(--t), color var(--t);
}
.identity-cta:hover { background: var(--white); color: var(--black); }
.identity-img-side {
  position: relative; overflow: hidden;
  background: var(--black-3);
}
.identity-img {
  width: 100%; height: 100%;
  object-fit: cover; object-position: center;
  filter: grayscale(.3) brightness(.65) contrast(1.1);
  transition: transform .9s var(--ease);
}
.identity-img-side:hover .identity-img { transform: scale(1.04); }
.identity-img-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(5,5,5,.5) 0%, transparent 60%);
}

/* BOUTIQUE PAGE (COLLECTION) */
.collection-banner {
  position: relative;
  height: 46vh; min-height: 320px; max-height: 520px;
  overflow: hidden;
  background: var(--black-3);
}
.collection-banner__bg { position: absolute; inset: 0; }
.collection-banner__img {
  width: 100%; height: 100%;
  object-fit: cover; object-position: center 30%;
  filter: grayscale(.25) brightness(.5) contrast(1.1);
}
.collection-banner__overlay {
  position: absolute; inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(5,5,5,.3) 0%,
    rgba(5,5,5,.65) 60%,
    rgba(5,5,5,.92) 100%
  );
}
.collection-banner__content {
  position: absolute; bottom: 0; left: 0;
  padding: 0 28px 36px;
}
.collection-banner__tag {
  font-family: var(--font-display);
  font-size: 11px; font-weight: 700;
  letter-spacing: .38em; text-transform: uppercase;
  color: var(--fog); margin-bottom: 12px; display: block;
}
.collection-banner__title {
  font-family: var(--font-display);
  font-size: clamp(3rem, 8vw, 7rem);
  font-weight: 900; line-height: .88;
  letter-spacing: -.02em; text-transform: lowercase;
  color: var(--white);
}
.collection-banner__sub {
  font-size: .85rem; color: var(--silver);
  font-weight: 300; letter-spacing: .06em;
  margin-top: 10px;
}
.collection-toolbar-wrap {
  background: var(--black-2);
  border-bottom: 1px solid var(--line);
}
.collection-toolbar {
  display: flex; align-items: center;
  justify-content: space-between;
  padding: 16px 28px;
  max-width: 1400px; margin: 0 auto;
}
.collection-count {
  font-family: var(--font-display);
  font-size: 11px; font-weight: 700;
  letter-spacing: .2em; text-transform: uppercase;
  color: var(--fog);
}
.collection-sort {
  background: transparent; border: none;
  border-bottom: 1px solid var(--ash);
  color: var(--silver); padding: 4px 0;
  font-family: var(--font-display);
  font-size: 11px; font-weight: 700;
  letter-spacing: .12em; text-transform: uppercase;
  outline: none; cursor: pointer;
}
.collection-grid-wrap {
  max-width: 1400px; margin: 0 auto;
  padding: 36px 28px 100px;
}
.collection-grid-premium {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2px;
}
.collection-empty-state {
  text-align: center;
  padding: 100px 20px;
}
.collection-empty-fleur {
  font-size: 2.5rem;
  color: rgba(245,245,245,.08);
  display: block; margin-bottom: 28px;
}
.collection-empty-title {
  font-family: var(--font-display);
  font-size: clamp(2.5rem, 8vw, 5rem);
  font-weight: 900; text-transform: lowercase;
  color: var(--white); margin-bottom: 12px;
}
.collection-empty-sub {
  font-size: .9rem; color: var(--fog);
  margin-bottom: 36px; letter-spacing: .04em;
}
.collection-empty-link {
  font-family: var(--font-display);
  font-size: 12px; font-weight: 700;
  letter-spacing: .18em; text-transform: uppercase;
  color: var(--white);
  border-bottom: 1px solid rgba(245,245,245,.3);
  padding-bottom: 2px;
  transition: border-color var(--t);
}
.collection-empty-link:hover { border-color: var(--white); }

@media(max-width:1024px) {
  .identity-section { grid-template-columns: 1fr; }
  .identity-img-side { min-height: 340px; }
  .identity-text-side { padding: 52px 28px; }
  .collection-grid-premium { grid-template-columns: repeat(2,1fr); }
}
@media(max-width:640px) {
  .collection-banner { height: 55vw; min-height: 240px; }
  .collection-grid-premium { grid-template-columns: repeat(2,1fr); gap: 1px; }
  .collection-toolbar-wrap { padding: 0; }
  .collection-toolbar { padding: 14px 16px; }
  .collection-grid-wrap { padding: 24px 16px 80px; }
}

/* ─── LOADER FIX ─── */
#page-loader {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-direction: column !important;
}
.loader-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.loader-logo {
  text-align: center !important;
  display: block !important;
  margin: 0 0 20px 0 !important;
  padding: 0 !important;
  width: auto !important;
}
.loader-bar {
  width: 120px;
  display: block !important;
  margin: 0 auto !important;
}

/* ─── BOUTIQUE PAGE ─── */
.boutique-page {}
.boutique-hero {
  position: relative;
  height: 50vh;
  min-height: 360px;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
}
.boutique-hero__bg {
  position: absolute;
  inset: 0;
}
.boutique-hero__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 25%;
  filter: grayscale(0.3) brightness(0.45);
}
.boutique-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(5,5,5,0.95) 0%, rgba(5,5,5,0.2) 100%);
}
.boutique-hero__content {
  position: relative;
  z-index: 2;
  padding: 0 28px 44px;
  max-width: 1400px;
  width: 100%;
  margin: 0 auto;
}
.boutique-eyebrow {
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.38em;
  text-transform: uppercase;
  color: var(--fog);
  display: block;
  margin-bottom: 8px;
}
.boutique-title {
  font-family: var(--font-display);
  font-size: clamp(3.5rem, 10vw, 8rem);
  font-weight: 900;
  line-height: 0.88;
  letter-spacing: -0.02em;
  text-transform: lowercase;
  color: var(--white);
  margin-bottom: 10px;
}
.boutique-subtitle {
  font-family: var(--font-display);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--fog);
}
.boutique-body {
  max-width: 1400px;
  margin: 0 auto;
  padding: 36px 28px 80px;
}
.boutique-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 28px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--line);
}
.boutique-count {
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--fog);
}
.boutique-sort {
  background: var(--black-3);
  border: 1px solid var(--line);
  color: var(--white);
  padding: 9px 14px;
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  outline: none;
  cursor: pointer;
}
.boutique-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2px;
}
.boutique-empty {
  grid-column: 1 / -1;
  text-align: center;
  padding: 100px 0;
}
.boutique-empty p {
  font-family: var(--font-display);
  font-size: 3rem;
  font-weight: 900;
  color: var(--white);
  margin-bottom: 10px;
}
.boutique-empty span {
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--fog);
}

/* ─── IDENTITY SECTION ─── */
.identity-section {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 560px;
  border-top: 1px solid var(--line);
}
.identity-img-side {
  position: relative;
  overflow: hidden;
  background: var(--black-3);
  order: 2;
}
.identity-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(0.25) brightness(0.65) contrast(1.1);
  transition: transform 0.9s var(--ease);
}
.identity-img-side:hover .identity-img { transform: scale(1.04); }
.identity-img-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, rgba(5,5,5,0.3) 0%, transparent 60%);
}
.identity-text-side {
  background: var(--black-2);
  padding: 72px 56px 72px 28px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  order: 1;
}
.identity-eyebrow {
  font-family: var(--font-display);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.38em;
  text-transform: uppercase;
  color: var(--fog);
  margin-bottom: 20px;
  display: block;
}
.identity-title {
  font-family: var(--font-display);
  font-size: clamp(2.4rem, 5vw, 4.5rem);
  font-weight: 900;
  line-height: 0.9;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  color: var(--white);
  margin-bottom: 24px;
}
.identity-body {
  font-size: 0.9rem;
  font-weight: 300;
  line-height: 1.85;
  color: var(--silver);
  margin-bottom: 28px;
}
.identity-line {
  width: 36px;
  height: 1px;
  background: var(--ash);
  margin-bottom: 20px;
}
.identity-sub {
  font-size: 0.8rem;
  font-weight: 300;
  line-height: 1.8;
  color: var(--fog);
  letter-spacing: 0.04em;
  font-style: italic;
}

/* ─── RESPONSIVE ADDITIONS ─── */
@media(max-width: 1024px) {
  .boutique-grid { grid-template-columns: repeat(2, 1fr); }
  .identity-section { grid-template-columns: 1fr; }
  .identity-img-side { min-height: 300px; order: 1; }
  .identity-text-side { order: 2; padding: 52px 28px; }
}
@media(max-width: 640px) {
  .boutique-hero { height: 40vh; min-height: 280px; }
  .boutique-body { padding: 24px 16px 60px; }
  .boutique-grid { grid-template-columns: repeat(2, 1fr); gap: 2px; }
}

/* ─── CINEMATIC SECTION ─── */
.cinematic-section {
  position: relative;
  width: 100%;
  height: 90vh;
  min-height: 560px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  border-top: 1px solid var(--line);
}
.cinematic-img-wrap {
  position: absolute;
  inset: 0;
}
.cinematic-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
  filter: grayscale(0.25) brightness(0.6);
  transform: scale(1.04);
  transition: transform 10s ease;
}
.cinematic-section:hover .cinematic-img { transform: scale(1); }
.cinematic-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom,
    rgba(5,5,5,0.2) 0%,
    rgba(5,5,5,0.05) 40%,
    rgba(5,5,5,0.4) 80%,
    rgba(5,5,5,0.85) 100%
  );
}
.cinematic-text {
  position: relative;
  z-index: 2;
  text-align: center;
}
.cinematic-text p {
  font-family: var(--font-display);
  font-size: clamp(1rem, 2.5vw, 1.4rem);
  font-weight: 700;
  letter-spacing: 0.38em;
  text-transform: uppercase;
  color: rgba(245,245,245,0.55);
}

/* ─── PHILOSOPHY — stripped ─── */
.philosophy-title {
  font-size: clamp(3rem, 9vw, 8.5rem);
}
.philosophy-body {
  font-size: clamp(1rem, 2vw, 1.5rem);
  margin-bottom: 0;
}

/* ─── TRUST BAR — brand phrases ─── */
.trust-item span {
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--fog);
}
.trust-icon { display: none; }

/* ─── FOOTER SLIM ─── */
.footer-inner--slim {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1200px;
  margin: 0 auto;
  padding: 52px 0 44px;
  border-bottom: 1px solid var(--line);
  grid-template-columns: none;
  gap: 0;
}
.footer-brand {}
.footer-socials-center {
  display: flex;
  gap: 20px;
  align-items: center;
}
.footer-social-link {
  color: var(--fog);
  transition: color var(--t);
  display: flex;
  align-items: center;
}
.footer-social-link:hover { color: var(--white); }
.footer-links-right {
  display: flex;
  flex-direction: column;
  gap: 8px;
  text-align: right;
}
.footer-links-right a {
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--fog);
  transition: color var(--t);
}
.footer-links-right a:hover { color: var(--white); }
.footer-bottom-slim {
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px 0;
}
.footer-bottom-slim p {
  font-size: 0.72rem;
  color: var(--ash);
  letter-spacing: 0.06em;
}

/* ─── BREATHING ROOM ─── */
.philosophy-section { padding: 140px 28px; }
.community-section { padding: 120px 0 0; }
.identity-section { min-height: 620px; }
.community-head { margin-bottom: 64px; }
.community-title { margin-bottom: 10px; }

/* ─── COMMUNITY QUOTE ─── */
.community-quote-mark { display: none; }

/* ─── RESPONSIVE ─── */
@media(max-width:768px) {
  .footer-inner--slim {
    flex-direction: column;
    gap: 36px;
    text-align: center;
    padding: 48px 0 36px;
  }
  .footer-links-right { text-align: center; flex-direction: row; gap: 20px; }
  .cinematic-section { height: 70vh; }
  .philosophy-section { padding: 100px 20px; }
}

/* ══════════════════════════════════════════
   REFONTE RYTHME — moins de répétition
   ══════════════════════════════════════════ */

/* ── HERO — inchangé, fort ── */

/* ── MARQUEE — plus fin ── */
.marquee-wrap { padding: 13px 0; }
.marquee-inner span { font-size: 10px; padding: 0 16px; }

/* ── PRODUCTS — serrés après hero ── */
.products-section { padding: 40px 0 56px; }
.section-head { margin-bottom: 20px; }
.products-grid {
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
}
@media(max-width:768px) {
  .products-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ── PHILOSOPHY — pure typographie, compact ── */
.philosophy-section {
  padding: 96px 28px;
  text-align: center;
  background: var(--black);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.philosophy-tag { display: none; } /* Supprimé — trop explicatif */
.philosophy-title {
  font-family: var(--font-display);
  font-size: clamp(2.8rem, 8vw, 7.5rem);
  font-weight: 900;
  line-height: 0.88;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  color: var(--white);
  margin: 0 auto 24px;
}
.philosophy-outline {
  color: transparent;
  -webkit-text-stroke: 1.5px rgba(245,245,245,0.25);
}
.philosophy-body {
  font-family: var(--font-display);
  font-size: clamp(0.9rem, 2vw, 1.2rem);
  font-weight: 300;
  letter-spacing: 0.1em;
  color: var(--fog);
  margin: 0;
}
.philosophy-line { display: none; }
.philosophy-sub { display: none; }

/* ── IDENTITY — section Québec unique, moins haute ── */
.identity-section {
  min-height: 480px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.identity-img { filter: grayscale(0.3) brightness(0.6) contrast(1.15); }
.identity-eyebrow { display: none; }
.identity-text-side {
  padding: 56px 48px 56px 44px;
  justify-content: center;
}
.identity-title {
  font-size: clamp(2rem, 4.5vw, 3.8rem);
  margin-bottom: 16px;
}
.identity-body {
  font-size: 0.85rem;
  color: var(--fog);
  line-height: 1.75;
  margin-bottom: 0;
}
.identity-line { display: none; }
.identity-sub { display: none; }

/* ── EMAIL — centered, minimal ── */
.email-section { min-height: 480px; border-top: 1px solid var(--line); }
.email-section__img {
  filter: grayscale(0.5) brightness(0.3);
}
.email-eyebrow { display: none; }
.email-section__content { padding: 64px 28px; }
.email-title {
  font-size: clamp(2.5rem, 7vw, 5.5rem);
  margin-bottom: 28px;
}
.email-sub { display: none; }
.email-form-wrap { max-width: 360px; }
.email-form-row { border: 1px solid rgba(245,245,245,0.18); }

/* ── FAQ — compact, sans colonne sticky ── */
.faq-section {
  padding: 72px 0;
  background: var(--black-2);
  border-top: 1px solid var(--line);
}
.faq-inner {
  max-width: 720px;
  margin: 0 auto;
  padding: 0 28px;
  display: block; /* override grid */
}
.faq-title {
  font-family: var(--font-display);
  font-size: 2.5rem;
  font-weight: 900;
  color: var(--white);
  margin-bottom: 36px;
  letter-spacing: -0.01em;
}
.faq-item { border-bottom: 1px solid var(--line); }
.faq-item:first-of-type { border-top: 1px solid var(--line); }
.faq-item summary {
  padding: 18px 0;
  font-size: 0.88rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}
.faq-answer { padding-bottom: 18px; }
.faq-answer p { font-size: 0.83rem; line-height: 1.7; }

/* ── TRUST BAR — sobre, petite ── */
.trust-bar {
  border-top: 1px solid var(--line);
  border-bottom: none;
  padding: 0;
}
.trust-item {
  padding: 18px 12px;
  border-right: 1px solid var(--line);
}
.trust-item:last-child { border-right: none; }
.trust-item span {
  font-size: 10px;
  letter-spacing: 0.2em;
  color: rgba(245,245,245,0.28);
}

/* ── SUPPRIMER sections inutilisées ── */
.community-section,
.cinematic-section,
.culture-section { display: none; } /* Supprimé du DOM de toute façon via index */

/* ── MOBILE FIRST ── */
@media(max-width:640px) {
  .philosophy-section { padding: 72px 20px; }
  .philosophy-title { font-size: clamp(2.4rem, 13vw, 4rem); }
  .identity-section {
    grid-template-columns: 1fr;
    min-height: auto;
  }
  .identity-img-side { height: 260px; order: 1; }
  .identity-text-side { order: 2; padding: 40px 20px; }
  .email-section { min-height: 420px; }
  .email-title { font-size: clamp(2.2rem, 12vw, 3.5rem); }
  .email-form-wrap { max-width: 100%; }
  .faq-section { padding: 56px 0; }
  .faq-inner { padding: 0 16px; }
  .trust-bar { flex-wrap: wrap; }
  .trust-item { flex: 0 0 50%; border-bottom: 1px solid var(--line); }
  .products-section { padding: 32px 0 48px; }
  .section-head { padding: 0 16px; }
}

/* ══════════════════════════════════════════
   DÉTAILS PREMIUM — high-conversion subtils
   ══════════════════════════════════════════ */

/* ── INFO BAR ── */
.info-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0 20px;
  padding: 14px 20px;
  background: var(--black-2);
  border-bottom: 1px solid var(--line);
}
.info-bar span {
  font-family: var(--font-display);
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(245,245,245,0.3);
}
.info-sep {
  color: rgba(245,245,245,0.1) !important;
  letter-spacing: 0 !important;
}

/* ── DROP BADGE ── */
.drop-badge {
  font-family: var(--font-display);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: rgba(245,245,245,0.35);
  margin-bottom: 20px;
  display: inline-block;
}

/* ── COUNTDOWN ── */
.countdown-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 32px;
}
.countdown-unit {
  display: flex;
  align-items: baseline;
  gap: 3px;
}
.countdown-num {
  font-family: var(--font-display);
  font-size: clamp(2rem, 6vw, 3.5rem);
  font-weight: 900;
  letter-spacing: -0.02em;
  color: var(--white);
  line-height: 1;
  min-width: 2ch;
  text-align: center;
  font-variant-numeric: tabular-nums;
}
.countdown-label {
  font-family: var(--font-display);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.2em;
  color: var(--fog);
  text-transform: uppercase;
}
.countdown-sep {
  font-family: var(--font-display);
  font-size: 1.5rem;
  font-weight: 300;
  color: var(--ash);
  line-height: 1;
  margin-bottom: 8px;
}

/* ── EMAIL META (social proof) ── */
.email-meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-top: 12px;
}
.email-proof {
  font-family: var(--font-display);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(245,245,245,0.3);
}
.email-access {
  font-size: 10px;
  color: rgba(245,245,245,0.22);
  font-weight: 300;
  letter-spacing: 0.06em;
}

/* ── HEADER STICKY — smooth ── */
.site-header {
  position: sticky;
  top: 0;
  z-index: 200;
  background: rgba(5,5,5,0.96);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border-bottom: 1px solid var(--line);
  transition: background 0.3s ease, border-color 0.3s ease;
}
.site-header.scrolled {
  background: rgba(5,5,5,0.99);
  border-bottom-color: rgba(255,255,255,0.06);
}
/* Override: announce bar reste sticky aussi */
.announce-bar {
  position: sticky;
  top: 0;
  z-index: 300;
}

/* ── MICRO-ANIMATIONS — subtils, premium ── */

/* Fade-in au scroll */
.reveal {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 0.6s cubic-bezier(.4,0,.2,1), transform 0.6s cubic-bezier(.4,0,.2,1);
}
.reveal.on {
  opacity: 1;
  transform: none;
}
.reveal-section { overflow: visible; }

/* Délais */
.d1 { transition-delay: 0.08s; }
.d2 { transition-delay: 0.16s; }
.d3 { transition-delay: 0.24s; }
.d4 { transition-delay: 0.32s; }

/* Product card hover — image scale */
.product-card__img {
  transition: transform 0.6s cubic-bezier(.4,0,.2,1);
}
.product-card:hover .product-card__img { transform: scale(1.04); }

/* Button hover */
.hero__cta {
  position: relative;
  overflow: hidden;
}
.hero__cta::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.08);
  opacity: 0;
  transition: opacity 0.2s;
}
.hero__cta:hover::before { opacity: 1; }

/* Email btn hover */
.email-btn { transition: opacity 0.2s; }
.email-btn:hover { opacity: 0.85; }

/* FAQ hover */
.faq-item summary { transition: color 0.2s; }
.faq-item summary:hover { color: var(--white); }

/* ── MOBILE FIRST POLISH ── */
@media(max-width:640px) {
  .info-bar { gap: 0 12px; padding: 12px 16px; }
  .info-sep { display: none; }
  .info-bar span { width: 50%; text-align: center; padding: 4px 0; }
  .countdown-num { font-size: clamp(1.8rem, 10vw, 2.8rem); }
  .email-meta { text-align: center; align-items: center; }
  .drop-badge { font-size: 8px; }
  .email-form-row { flex-direction: column; border: none; gap: 0; }
  .email-input {
    border: 1px solid rgba(245,245,245,0.18);
    padding: 15px 18px;
    margin-bottom: 8px;
  }
  .email-btn {
    width: 100%;
    padding: 15px;
    border: 1px solid var(--white);
  }
}

/* ── PRODUCTS — no placeholder gap si vide ── */
.products-section:empty { display: none; }

/* ══════════════════════════════════════
   REVIEWS — "LA GANG PARLE."
   ══════════════════════════════════════ */
.reviews-section {
  background: var(--black);
  border-top: 1px solid var(--line);
  padding: 80px 28px 56px;
}
.reviews-head { margin-bottom: 40px; }
.reviews-eyebrow {
  font-family: var(--font-display);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.38em;
  text-transform: uppercase;
  color: var(--fog);
  margin-bottom: 10px;
  display: block;
}
.reviews-title {
  font-family: var(--font-display);
  font-size: clamp(2.8rem, 7vw, 5.5rem);
  font-weight: 900;
  line-height: 0.88;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  color: var(--white);
  margin: 0;
}
.reviews-title em {
  font-style: italic;
  font-weight: 900;
  color: rgba(245,245,245,0.35);
  -webkit-text-stroke: 1px rgba(245,245,245,0.25);
  color: transparent;
}

.reviews-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2px;
  margin-bottom: 2px;
}

.review-card {
  background: var(--black-3);
  padding: 24px 22px 20px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  border: 1px solid var(--line);
  transition: background 0.3s ease, border-color 0.3s ease;
  position: relative;
}
.review-card:hover {
  background: var(--black-4);
  border-color: var(--line-2);
}

.review-stars {
  font-size: 12px;
  color: var(--white);
  letter-spacing: 2px;
}

.review-text {
  font-size: 0.82rem;
  line-height: 1.7;
  color: var(--silver);
  font-weight: 300;
  flex: 1;
}

.review-author {
  display: flex;
  align-items: center;
  gap: 10px;
}
.review-avatar {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--charcoal);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-size: 10px;
  font-weight: 800;
  color: var(--white);
  flex-shrink: 0;
  letter-spacing: 0.04em;
}
.review-author > div {
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.review-name {
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 800;
  color: var(--white);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  display: block;
}
.review-loc {
  font-size: 10px;
  color: var(--fog);
  letter-spacing: 0.04em;
  display: block;
}
.review-verified {
  font-family: var(--font-display);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(245,245,245,0.2);
}

/* Summary bar */
.reviews-summary {
  background: var(--black-3);
  border: 1px solid var(--line);
  padding: 22px 28px;
  display: flex;
  align-items: center;
  gap: 20px;
}
.reviews-score {
  font-family: var(--font-display);
  font-size: 2.8rem;
  font-weight: 900;
  color: var(--white);
  line-height: 1;
  letter-spacing: -0.02em;
}
.reviews-summary-right {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.reviews-stars-big {
  font-size: 14px;
  color: var(--white);
  letter-spacing: 2px;
}
.reviews-count {
  font-family: var(--font-display);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--fog);
}

/* ── COUNTDOWN 24H ── */
.countdown-label-top {
  font-family: var(--font-display);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--fog);
  margin-bottom: 10px;
}
.countdown-lbl {
  font-family: var(--font-display);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.2em;
  color: var(--fog);
  text-transform: uppercase;
  margin-left: 2px;
}

/* ── STICKY ADD-TO-CART BAR (mobile) ── */
.sticky-atc {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 350;
  background: rgba(5,5,5,0.97);
  border-top: 1px solid var(--line-2);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  padding: 12px 20px;
  display: flex;
  align-items: center;
  gap: 12px;
  transform: translateY(100%);
  transition: transform 0.35s cubic-bezier(.4,0,.2,1);
}
.sticky-atc.visible { transform: translateY(0); }
.sticky-atc-text {
  flex: 1;
}
.sticky-atc-name {
  font-family: var(--font-display);
  font-size: 13px;
  font-weight: 800;
  color: var(--white);
  letter-spacing: 0.06em;
  text-transform: lowercase;
  display: block;
}
.sticky-atc-price {
  font-family: var(--font-display);
  font-size: 11px;
  color: var(--fog);
  font-weight: 600;
}
.sticky-atc-btn {
  background: var(--white);
  color: var(--black);
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  padding: 12px 22px;
  border: none;
  cursor: pointer;
  white-space: nowrap;
  transition: opacity 0.2s;
}
.sticky-atc-btn:hover { opacity: 0.88; }

/* ── SCARCITY BADGE sur hero ── */
.hero__scarcity {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-display);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(245,245,245,0.4);
  margin-bottom: 18px;
}
.hero__scarcity-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--white);
  opacity: 0.5;
  animation: pulse-dot 2s ease infinite;
}
@keyframes pulse-dot {
  0%, 100% { opacity: 0.3; transform: scale(1); }
  50% { opacity: 0.7; transform: scale(1.3); }
}

/* ── RESPONSIVE REVIEWS ── */
@media(max-width:1024px) {
  .reviews-grid { grid-template-columns: repeat(2, 1fr); }
}
@media(max-width:640px) {
  .reviews-section { padding: 64px 16px 48px; }
  .reviews-grid { grid-template-columns: 1fr; gap: 2px; }
  .reviews-summary { padding: 18px 16px; }
  .sticky-atc { padding: 10px 16px; }
}

/* ═══════════════════════════════════════════
   PDP PREMIUM — STREETWEAR REWRITE
   ═══════════════════════════════════════════ */

/* ── Wrapper ── */
.pdp-wrap {
  max-width: 1380px;
  margin: 0 auto;
  padding: 0 24px 80px;
}

/* ── Breadcrumb ── */
.pdp-breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 20px 0 28px;
  font-family: var(--font-display);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--ash);
}
.pdp-breadcrumb a {
  color: var(--fog);
  transition: color .2s;
}
.pdp-breadcrumb a:hover { color: var(--white); }
.pdp-breadcrumb span { color: var(--ash); }

/* ── Grid desktop 2 colonnes ── */
.pdp-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 56px;
  align-items: start;
}

/* ── GALERIE ── */
.pdp-gallery {
  position: sticky;
  top: calc(var(--ann) + var(--hdr) + 20px);
}

/* Image principale — ratio carré, contain */
.pdp-img-main {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  background: #0f0f0f;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pdp-img-main img {
  width: 84%;
  height: 84%;
  object-fit: contain;
  object-position: center;
  display: block;
  transition: opacity .35s ease, transform .6s var(--ease);
}
.pdp-img-main:hover img { transform: scale(1.025); }

/* Badge édition limitée */
.pdp-badge {
  position: absolute;
  top: 16px;
  left: 16px;
  font-family: var(--font-display);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--fog);
  background: rgba(0,0,0,.7);
  border: 1px solid var(--line);
  padding: 5px 10px;
  backdrop-filter: blur(4px);
}

/* Placeholder si pas d'image */
.pdp-no-img {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 5rem;
  color: rgba(245,245,245,.04);
}

/* Thumbs horizontaux sous l'image */
.pdp-thumbs {
  display: flex;
  gap: 4px;
  margin-top: 4px;
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.pdp-thumbs::-webkit-scrollbar { display: none; }
.pdp-thumb {
  flex-shrink: 0;
  width: 72px;
  height: 72px;
  background: #0f0f0f;
  border: 1px solid transparent;
  cursor: pointer;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: border-color .2s;
  padding: 0;
}
.pdp-thumb img {
  width: 80%;
  height: 80%;
  object-fit: contain;
  display: block;
}
.pdp-thumb.is-active,
.pdp-thumb:hover { border-color: var(--white); }

/* ── INFOS ── */
.pdp-info {
  padding: 4px 0 60px;
}

.pdp-tags {
  display: flex;
  gap: 6px;
  margin-bottom: 18px;
}
.pdp-tag {
  font-family: var(--font-display);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--fog);
  border: 1px solid var(--line);
  padding: 4px 10px;
}
.pdp-tag--accent {
  color: var(--white);
  border-color: var(--white);
  background: rgba(245,245,245,.05);
}

.pdp-title {
  font-family: var(--font-display);
  font-size: clamp(1.9rem, 3vw, 2.8rem);
  font-weight: 900;
  letter-spacing: .01em;
  color: var(--white);
  text-transform: lowercase;
  line-height: 1.05;
  margin-bottom: 16px;
}

.pdp-price-row {
  display: flex;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 16px;
}
.pdp-price {
  font-family: var(--font-display);
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--white);
}
.pdp-price-compare {
  font-size: 1rem;
  color: var(--fog);
  text-decoration: line-through;
}

.pdp-trust-strip {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-display);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--ash);
  flex-wrap: wrap;
}
.pdp-trust-sep { color: var(--line); }

.pdp-divider {
  height: 1px;
  background: var(--line);
  margin: 24px 0;
}

/* Options */
.pdp-option { margin-bottom: 24px; }
.pdp-option-header { margin-bottom: 12px; }
.pdp-option-label {
  font-family: var(--font-display);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--fog);
}

/* Tailles */
.pdp-size-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.pdp-size-btn { cursor: pointer; }
.pdp-size-btn input { display: none; }
.pdp-size-btn span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 52px;
  height: 52px;
  padding: 0 10px;
  border: 1px solid var(--line-2);
  font-family: var(--font-display);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  color: var(--fog);
  cursor: pointer;
  transition: all .2s;
}
.pdp-size-btn input:checked + span {
  border-color: var(--white);
  color: var(--white);
  background: rgba(245,245,245,.07);
}
.pdp-size-btn:hover span {
  border-color: var(--silver);
  color: var(--white);
}

.pdp-select {
  width: 100%;
  background: var(--black-3);
  border: 1px solid var(--line-2);
  color: var(--white);
  padding: 14px 16px;
  font-family: var(--font-display);
  font-size: 13px;
  font-weight: 600;
  outline: none;
  cursor: pointer;
  appearance: none;
}

/* Quantité */
.pdp-qty-row { margin-bottom: 20px; }
.pdp-qty {
  display: flex;
  align-items: center;
  border: 1px solid var(--line-2);
  width: fit-content;
  margin-top: 10px;
}
.pdp-qty-btn {
  width: 44px;
  height: 44px;
  font-size: 1.1rem;
  color: var(--silver);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background .15s, color .15s;
  flex-shrink: 0;
}
.pdp-qty-btn:hover { background: var(--black-3); color: var(--white); }
.pdp-qty-input {
  width: 52px;
  height: 44px;
  text-align: center;
  background: transparent;
  border: none;
  border-left: 1px solid var(--line-2);
  border-right: 1px solid var(--line-2);
  color: var(--white);
  font-family: var(--font-display);
  font-size: .95rem;
  font-weight: 800;
  outline: none;
}

/* Boutons action */
.pdp-actions { margin-bottom: 8px; }
.pdp-atc {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  background: var(--white);
  color: var(--black);
  font-family: var(--font-display);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .2em;
  text-transform: uppercase;
  padding: 19px;
  border: 1px solid var(--white);
  cursor: pointer;
  transition: background .25s, color .25s, opacity .2s;
  margin-bottom: 10px;
}
.pdp-atc:hover:not(:disabled) { background: transparent; color: var(--white); }
.pdp-atc:disabled { opacity: .6; cursor: wait; }
.pdp-atc--added { background: #1a1a1a !important; color: var(--white) !important; }
.pdp-atc-arrow {
  font-size: 1rem;
  transition: transform .2s;
}
.pdp-atc:hover .pdp-atc-arrow { transform: translateX(4px); }

.pdp-buy-now {
  display: block;
  text-align: center;
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--fog);
  padding: 13px;
  border: 1px solid var(--line-2);
  transition: color .2s, border-color .2s;
}
.pdp-buy-now:hover { color: var(--white); border-color: var(--silver); }

/* Description */
.pdp-desc {
  font-size: .875rem;
  color: var(--fog);
  line-height: 1.85;
}

/* Accordéons premium */
.pdp-accordions {}
.pdp-accordion {
  border-bottom: 1px solid var(--line);
}
.pdp-accordion summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 18px 0;
  cursor: pointer;
  list-style: none;
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--silver);
  transition: color .2s;
  user-select: none;
}
.pdp-accordion summary::-webkit-details-marker { display: none; }
.pdp-accordion summary:hover { color: var(--white); }
.pdp-acc-icon { font-size: 18px; font-weight: 300; color: var(--fog); }
.pdp-acc-body {
  padding: 0 0 18px;
  font-size: .83rem;
  color: var(--fog);
  line-height: 1.85;
}
.pdp-acc-body p + p { margin-top: 6px; }

/* ── RESPONSIVE TABLET ── */
@media (max-width: 1024px) {
  .pdp-grid {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .pdp-gallery {
    position: relative;
    top: auto;
    margin-bottom: 28px;
  }
  .pdp-img-main {
    aspect-ratio: 1 / 1;
    max-height: none;
  }
}

/* ── RESPONSIVE MOBILE (MOBILE FIRST) ── */
@media (max-width: 640px) {
  .pdp-wrap {
    padding: 0 0 60px;
  }
  .pdp-breadcrumb {
    padding: 14px 16px 20px;
    font-size: 9px;
  }
  .pdp-gallery { margin-bottom: 0; }

  /* Image pleine largeur sur mobile */
  .pdp-img-main {
    aspect-ratio: 1 / 1;
    width: 100%;
    border-radius: 0;
  }
  .pdp-img-main img {
    width: 88%;
    height: 88%;
  }
  .pdp-badge {
    top: 12px;
    left: 12px;
    font-size: 8px;
    padding: 4px 8px;
  }

  /* Thumbs mobile */
  .pdp-thumbs { padding: 4px; gap: 3px; }
  .pdp-thumb { width: 62px; height: 62px; }

  /* Info padding mobile */
  .pdp-info {
    padding: 20px 16px 40px;
  }

  .pdp-title {
    font-size: clamp(1.6rem, 7vw, 2rem);
  }
  .pdp-price { font-size: 1.3rem; }

  .pdp-trust-strip {
    font-size: 9px;
    gap: 7px;
  }

  /* Tailles */
  .pdp-size-btn span {
    min-width: 46px;
    height: 46px;
    font-size: 11px;
  }

  /* ATC full width sticky-like */
  .pdp-atc {
    font-size: 12px;
    padding: 17px;
  }
}

/* ═══════════════════════════════════════════
   DROP 02 — ACCÈS PRIORITAIRE
   ═══════════════════════════════════════════ */

.email-capture {
  padding: 120px 28px;
  border-top: 1px solid var(--line);
  background: var(--black);
  text-align: center;
}
.email-capture__inner {
  max-width: 520px;
  margin: 0 auto;
}
.email-capture__label {
  display: inline-block;
  font-family: var(--font-display);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .3em;
  text-transform: uppercase;
  color: var(--fog);
  border: 1px solid var(--line-2);
  padding: 5px 12px;
  margin-bottom: 36px;
}
.email-capture__title {
  font-family: var(--font-display);
  font-size: clamp(3.5rem, 8vw, 6rem);
  font-weight: 900;
  color: var(--white);
  text-transform: lowercase;
  line-height: .95;
  letter-spacing: -.01em;
  margin-bottom: 48px;
}
.email-capture__title em {
  display: block;
  font-style: normal;
  color: var(--fog);
  font-size: .45em;
  font-weight: 400;
  letter-spacing: .08em;
  margin-bottom: 6px;
}
.email-capture__row {
  display: flex;
  border: 1px solid var(--line-2);
  max-width: 420px;
  margin: 0 auto;
}
.email-capture__input {
  flex: 1;
  background: transparent;
  border: none;
  outline: none;
  color: var(--white);
  font-family: var(--font-body);
  font-size: .875rem;
  padding: 18px 20px;
  min-width: 0;
  letter-spacing: .02em;
}
.email-capture__input::placeholder { color: var(--ash); font-size: .8rem; letter-spacing: .06em; }
.email-capture__btn {
  background: transparent;
  color: var(--fog);
  border: none;
  border-left: 1px solid var(--line-2);
  font-family: var(--font-display);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  padding: 18px 20px;
  cursor: pointer;
  white-space: nowrap;
  transition: color .2s, background .2s;
  flex-shrink: 0;
}
.email-capture__btn:hover { color: var(--white); background: var(--black-3); }

@media (max-width: 640px) {
  .email-capture { padding: 80px 16px; }
  .email-capture__title { font-size: clamp(3rem, 14vw, 5rem); }
}

/* ═══════════════════════════════════════════
   FAQ — PREMIUM MINIMAL
   ═══════════════════════════════════════════ */

.faq-section {
  padding: 100px 28px;
  background: var(--black);
  border-top: 1px solid var(--line);
}
.faq-inner {
  max-width: 720px;
  margin: 0 auto;
}
.faq-eyebrow {
  font-family: var(--font-display);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .24em;
  text-transform: uppercase;
  color: var(--fog);
  margin-bottom: 12px;
}
.faq-title {
  font-family: var(--font-display);
  font-size: clamp(2.5rem, 5vw, 4rem);
  font-weight: 900;
  color: var(--white);
  text-transform: lowercase;
  letter-spacing: .01em;
  margin-bottom: 56px;
  line-height: 1;
}
.faq-list { border-top: 1px solid var(--line); }
.faq-item {
  border-bottom: 1px solid var(--line);
}
.faq-item summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 22px 0;
  cursor: pointer;
  list-style: none;
  font-family: var(--font-display);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: lowercase;
  color: var(--silver);
  transition: color .2s;
  user-select: none;
  gap: 16px;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::marker { display: none; }
.faq-item summary:hover { color: var(--white); }
.faq-item summary::after {
  content: '+';
  font-size: 18px;
  font-weight: 200;
  color: var(--fog);
  flex-shrink: 0;
  transition: transform .25s;
  line-height: 1;
}
.faq-item[open] summary { color: var(--white); }
.faq-item[open] summary::after { transform: rotate(45deg); }
.faq-answer {
  padding: 0 0 22px;
  font-size: .875rem;
  color: var(--fog);
  line-height: 1.8;
}

@media (max-width: 640px) {
  .faq-section { padding: 64px 16px; }
  .faq-item summary { font-size: 11px; padding: 18px 0; }
}


/* ═══════════════════════════════════════════
   PAGE À PROPOS — CINÉMATIQUE
   ═══════════════════════════════════════════ */

.ap {
  background: var(--black);
  overflow-x: hidden;
}

/* ── LABEL ── */
.ap-label {
  display: block;
  font-family: var(--font-display);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .32em;
  text-transform: uppercase;
  color: var(--silver);
}
.ap-label--dim { color: var(--ash); }

/* ══════════════════════════════
   01 HERO FULLSCREEN
══════════════════════════════ */
.ap-hero {
  position: relative;
  height: 100svh;
  min-height: 600px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
}

/* Background sombre avec grain — l'image vient de Shopify via settings ou reste texture */
.ap-hero__bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 30% 60%, rgba(20,20,30,0.9) 0%, transparent 70%),
    linear-gradient(160deg, #0a0a0f 0%, #050505 40%, #0d0b08 100%);
  z-index: 0;
}
/* Grain cinématique */
.ap-hero__bg::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");
  background-size: 200px 200px;
  opacity: .6;
  pointer-events: none;
}
.ap-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 50%, var(--black) 100%);
}

.ap-hero__content {
  position: relative;
  z-index: 1;
  padding: 0 40px;
  max-width: 1200px;
  margin: 0 auto;
  width: 100%;
}
.ap-hero__content .ap-label {
  margin-bottom: 40px;
  color: var(--fog);
}
.ap-hero__title {
  font-family: var(--font-display);
  font-size: clamp(6rem, 17vw, 18rem);
  font-weight: 900;
  color: var(--white);
  text-transform: lowercase;
  line-height: .85;
  letter-spacing: -.03em;
  margin-bottom: 40px;
}
.ap-hero__sub {
  font-family: var(--font-display);
  font-size: clamp(.85rem, 1.4vw, 1.1rem);
  font-weight: 400;
  color: var(--fog);
  letter-spacing: .08em;
  text-transform: lowercase;
}

.ap-hero__scroll {
  position: absolute;
  bottom: 40px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
  font-size: 1rem;
  color: var(--ash);
  animation: ap-bob 2s ease-in-out infinite;
}
@keyframes ap-bob {
  0%, 100% { transform: translateX(-50%) translateY(0); }
  50% { transform: translateX(-50%) translateY(8px); }
}

/* ══════════════════════════════
   02 IDENTITÉ
══════════════════════════════ */
.ap-identity {
  padding: 160px 40px;
  border-top: 1px solid var(--line);
}
.ap-identity__inner {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: start;
}
.ap-identity__header {
  position: sticky;
  top: calc(var(--ann) + var(--hdr) + 40px);
}
.ap-identity__header .ap-label { margin-bottom: 28px; }
.ap-identity__title {
  font-family: var(--font-display);
  font-size: clamp(3rem, 5vw, 5.5rem);
  font-weight: 900;
  color: var(--white);
  text-transform: lowercase;
  line-height: .92;
  letter-spacing: -.02em;
}
.ap-identity__body {
  display: flex;
  flex-direction: column;
  gap: 28px;
}
.ap-identity__body p {
  font-size: clamp(.9rem, 1.1vw, 1.05rem);
  color: var(--fog);
  line-height: 1.9;
  letter-spacing: .01em;
}
.ap-identity__body p:first-child {
  font-size: clamp(1.1rem, 1.5vw, 1.35rem);
  color: var(--silver);
  line-height: 1.7;
}

/* ══════════════════════════════
   03 VISUAL BREAK
══════════════════════════════ */
.ap-visual {
  position: relative;
  height: 70vh;
  min-height: 400px;
  overflow: hidden;
}
.ap-visual__img {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, var(--black) 0%, transparent 15%, transparent 85%, var(--black) 100%),
    linear-gradient(135deg, #0c0c14 0%, #08080a 40%, #111008 100%);
}
/* Texture cinématique — lumières de ville stylisées */
.ap-visual__img::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 20% 50%, rgba(255,180,50,.04) 0%, transparent 50%),
    radial-gradient(ellipse at 80% 30%, rgba(100,120,255,.04) 0%, transparent 40%),
    radial-gradient(ellipse at 50% 80%, rgba(255,255,255,.03) 0%, transparent 40%);
}
.ap-visual__grain {
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.05'/%3E%3C/svg%3E");
  background-size: 200px;
  opacity: .8;
}
.ap-visual__caption {
  position: absolute;
  bottom: 32px;
  right: 40px;
  font-family: var(--font-display);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--ash);
}

/* ══════════════════════════════
   04 PRODUIT
══════════════════════════════ */
.ap-product {
  padding: 160px 40px;
  border-top: 1px solid var(--line);
}
.ap-product__inner {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: start;
}
.ap-product__left .ap-label { margin-bottom: 28px; }
.ap-product__title {
  font-family: var(--font-display);
  font-size: clamp(3rem, 5vw, 5.5rem);
  font-weight: 900;
  color: var(--white);
  text-transform: lowercase;
  line-height: .92;
  letter-spacing: -.02em;
  position: sticky;
  top: calc(var(--ann) + var(--hdr) + 40px);
}
.ap-product__right {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.ap-product__text {
  font-size: clamp(.9rem, 1.1vw, 1.05rem);
  color: var(--fog);
  line-height: 1.9;
  letter-spacing: .01em;
}
.ap-product__text:first-child {
  font-size: clamp(1rem, 1.4vw, 1.2rem);
  color: var(--silver);
}
.ap-product__specs {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0;
  border-top: 1px solid var(--line);
  margin-top: 16px;
  padding-top: 0;
}
.ap-product__specs li {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 0;
  border-bottom: 1px solid var(--line);
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--ash);
  transition: color .2s;
}
.ap-product__specs li:hover { color: var(--silver); }
.ap-spec-num {
  color: var(--line-2);
  font-weight: 300;
  font-size: 1rem;
}

/* ══════════════════════════════
   05 CULTURE
══════════════════════════════ */
.ap-culture {
  padding: 160px 40px;
  border-top: 1px solid var(--line);
  background: var(--black-2);
}
.ap-culture__inner {
  max-width: 800px;
  margin: 0 auto;
}
.ap-culture__inner .ap-label { margin-bottom: 56px; }
.ap-culture__quote {
  font-family: var(--font-display);
  font-size: clamp(3rem, 6vw, 7rem);
  font-weight: 900;
  color: var(--white);
  text-transform: lowercase;
  line-height: .92;
  letter-spacing: -.02em;
  font-style: normal;
  margin-bottom: 72px;
  border: none;
  padding: 0;
}
.ap-culture__text {
  display: flex;
  flex-direction: column;
  gap: 24px;
  border-left: 1px solid var(--line-2);
  padding-left: 40px;
}
.ap-culture__text p {
  font-size: clamp(.9rem, 1.1vw, 1.05rem);
  color: var(--fog);
  line-height: 1.9;
  letter-spacing: .01em;
}
.ap-culture__text p:last-child {
  color: var(--silver);
  font-style: italic;
}

/* ══════════════════════════════
   06 OUTRO CTA
══════════════════════════════ */
.ap-outro {
  padding: 200px 40px;
  border-top: 1px solid var(--line);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.ap-outro::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at center, rgba(245,245,245,.03) 0%, transparent 70%);
  pointer-events: none;
}
.ap-outro__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 56px;
}
.ap-outro__title {
  font-family: var(--font-display);
  font-size: clamp(5rem, 14vw, 14rem);
  font-weight: 900;
  color: var(--white);
  text-transform: lowercase;
  line-height: .85;
  letter-spacing: -.03em;
}
.ap-btn {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--black);
  background: var(--white);
  padding: 18px 40px;
  border: 1px solid var(--white);
  transition: background .3s, color .3s;
}
.ap-btn::after { content: '→'; font-size: 1rem; transition: transform .3s; }
.ap-btn:hover { background: transparent; color: var(--white); }
.ap-btn:hover::after { transform: translateX(6px); }

/* ══════════════════════════════
   RESPONSIVE
══════════════════════════════ */
@media (max-width: 900px) {
  .ap-identity__inner,
  .ap-product__inner { grid-template-columns: 1fr; gap: 48px; }
  .ap-identity__header,
  .ap-product__title { position: static; }
}
@media (max-width: 640px) {
  .ap-hero__content { padding: 0 20px; }
  .ap-identity,
  .ap-product,
  .ap-culture { padding: 100px 20px; }
  .ap-culture__text { padding-left: 20px; }
  .ap-outro { padding: 120px 20px; }
  .ap-visual__caption { right: 20px; bottom: 20px; }
}
