/* =====================================================================
   SANAA — Prototype boutique
   Tokens dérivés du Design System officiel (colors_and_type.css)
   ===================================================================== */

/* ---------- Avenir (police officielle, hébergée en local) ---------- */
@font-face { font-family:'Avenir'; src:url('../fonts/Avenir_Light.ttf') format('truetype'); font-weight:300; font-display:swap; }
@font-face { font-family:'Avenir'; src:url('../fonts/Avenir_Book.ttf') format('truetype'); font-weight:400; font-display:swap; }
@font-face { font-family:'Avenir'; src:url('../fonts/Avenir_Regular.ttf') format('truetype'); font-weight:500; font-display:swap; }
@font-face { font-family:'Avenir'; src:url('../fonts/Avenir_Heavy.ttf') format('truetype'); font-weight:700; font-display:swap; }
@font-face { font-family:'Avenir'; src:url('../fonts/Avenir_Black.ttf') format('truetype'); font-weight:900; font-display:swap; }

:root{
  --burgundy:#530d15; --rust:#a7422c; --cream:#f9e8dd; --blush:#f1c5ae;
  --ink:#2a0609; --cream-warm:#fdf4ed; --cream-deep:#efdac9; --mute:#8a5b52; --hair:#d8b9a5;
  --font:'Avenir','Avenir Next',ui-sans-serif,system-ui,-apple-system,sans-serif;
  --ease:cubic-bezier(0.22,1,0.36,1);
  --maxw:1320px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0; background:#ffffff; color:var(--burgundy);
  font-family:var(--font); font-weight:400; font-size:16px; line-height:1.55;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
/* Accessibilité : focus visible au clavier */
:focus-visible{ outline:2px solid var(--rust); outline-offset:3px; }
.btn:focus-visible{ outline-offset:4px; }
img{display:block; max-width:100%;}
a{color:var(--rust); text-decoration:none;}
button{font-family:var(--font); cursor:pointer;}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 48px;}

/* ---------- Type helpers ---------- */
.overline{font-size:11px; font-weight:500; letter-spacing:.25em; text-transform:uppercase; color:var(--burgundy);}
.overline--rust{color:var(--rust);}
.overline--blush{color:var(--blush);}
h1,h2,h3,h4{font-weight:500; letter-spacing:-.01em; line-height:1.1; margin:0;}
.display{font-size:clamp(40px,6vw,76px); font-weight:500; line-height:1.04; letter-spacing:-.02em;}
.section-title{font-size:clamp(28px,3.4vw,40px); font-weight:500;}
.lede{color:var(--mute); font-size:16px; line-height:1.7; max-width:54ch;}
.q::before{content:"« ";} .q::after{content:" »";}

/* ---------- Buttons ---------- */
.btn{font-size:11px; font-weight:500; letter-spacing:.2em; text-transform:uppercase; padding:15px 34px; border:none; transition:background .32s var(--ease),color .32s var(--ease),opacity .18s; display:inline-flex; align-items:center; gap:10px;}
.btn:active{opacity:.7;}
.btn-primary{background:var(--burgundy); color:var(--cream);}
.btn-primary:hover{background:#3f0a11;}
.btn-secondary{background:transparent; color:var(--burgundy); border:1px solid var(--burgundy);}
.btn-secondary:hover{background:var(--burgundy); color:var(--cream);}
.btn-light{background:var(--cream); color:var(--burgundy);}
.btn-light:hover{background:#fff;}
.btn-block{width:100%; justify-content:center;}

/* ---------- Header ---------- */
.header{position:sticky; top:0; z-index:40; background:rgba(255,255,255,.9); backdrop-filter:blur(10px); border-bottom:1px solid var(--hair);}
.header__in{display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding:20px 48px; max-width:var(--maxw); margin:0 auto;}
.nav{display:flex; gap:26px; align-items:center;}
.nav--right{justify-content:flex-end;}
.nav a{font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--burgundy); padding-bottom:3px; border-bottom:1px solid transparent; cursor:pointer; white-space:nowrap;}
.nav a:hover{color:var(--rust);}
.nav a.active{border-bottom-color:currentColor;}
.brand{text-align:center; cursor:pointer; line-height:1; display:flex; flex-direction:column; align-items:center; gap:5px;}
.brand__mark{display:block; color:var(--burgundy);}
.brand__mark svg{width:34px; height:34px; display:block;}
.brand__word{font-weight:500; letter-spacing:.34em; font-size:18px; color:var(--burgundy); display:block;}
.tools{display:flex; align-items:center; gap:18px; justify-content:flex-end;}
.switch{display:flex; gap:6px; align-items:center; font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--mute);}
.switch button{background:none; border:none; color:var(--mute); font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; padding:2px 3px;}
.switch button.on{color:var(--burgundy); font-weight:700;}
.switch span{opacity:.4;}
.icon-btn{background:none; border:none; color:var(--burgundy); position:relative; display:flex; padding:4px;}
.icon-btn svg{width:21px; height:21px; stroke:currentColor; fill:none; stroke-width:1.5;}
.bag-count{position:absolute; top:-5px; right:-7px; background:var(--burgundy); color:var(--cream); font-size:9px; min-width:16px; height:16px; border-radius:9999px; display:flex; align-items:center; justify-content:center; padding:0 4px;}
.burger{display:none;}

/* ---------- Slider (hero animé, 3 slides) ---------- */
.slider{position:relative; height:80vh; min-height:560px; max-height:860px; overflow:hidden; background:var(--burgundy);}
.slide{position:absolute; inset:0; opacity:0; visibility:hidden; transition:opacity 1s var(--ease), visibility 1s var(--ease); z-index:1;}
.slide.is-active{opacity:1; visibility:visible; z-index:2;}
.slide__media{position:absolute; inset:0;}
.slide__media img{width:100%; height:100%; object-fit:cover; object-position:center 20%; transform:scale(1.06); transition:transform 7s linear;}
.slide.is-active .slide__media img{transform:scale(1);}
.slide__media::after{content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(83,13,21,.66) 0%,rgba(83,13,21,.3) 42%,rgba(83,13,21,.06) 78%);}
.slide__in{position:relative; z-index:2; height:100%; max-width:var(--maxw); margin:0 auto; padding:0 48px; display:flex; flex-direction:column; justify-content:center; color:var(--cream);}
.slide__eyebrow{opacity:0; transform:translateY(12px); transition:all .7s var(--ease) .25s;}
.slide__title{color:var(--cream); max-width:16ch; margin:16px 0 22px; opacity:0; transform:translateY(16px); transition:all .7s var(--ease) .38s;}
.slide__text{color:var(--blush); max-width:44ch; font-size:16px; line-height:1.65; margin-bottom:34px; opacity:0; transform:translateY(16px); transition:all .7s var(--ease) .5s;}
.slide__cta{opacity:0; transform:translateY(16px); transition:all .7s var(--ease) .62s;}
.slide.is-active .slide__eyebrow,.slide.is-active .slide__title,.slide.is-active .slide__text,.slide.is-active .slide__cta{opacity:1; transform:none;}
.slider__dots{position:absolute; bottom:26px; left:50%; transform:translateX(-50%); z-index:5; display:flex; gap:12px;}
.slider__dot{width:32px; height:3px; background:rgba(249,232,221,.4); border:none; padding:0; cursor:pointer; transition:background .3s var(--ease);}
.slider__dot.on{background:var(--cream);}
.slider__arrow{position:absolute; top:50%; transform:translateY(-50%); z-index:5; background:rgba(249,232,221,.12); border:1px solid rgba(249,232,221,.4); color:var(--cream); width:46px; height:46px; border-radius:9999px; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:background .3s var(--ease);}
.slider__arrow:hover{background:rgba(249,232,221,.25);}
.slider__arrow svg{width:20px; height:20px; stroke:currentColor; fill:none; stroke-width:1.5;}
.slider__arrow--prev{left:24px;} .slider__arrow--next{right:24px;}
@media(max-width:680px){ .slider__arrow{display:none;} }

/* ---------- Section shells ---------- */
.section{padding:96px 0;}
.section--tight{padding:64px 0;}
.section__head{text-align:center; margin-bottom:52px;}
.section__head .overline{display:block; margin-bottom:14px;}

/* ---------- Product grid ---------- */
.grid{display:grid; grid-template-columns:repeat(4,1fr); gap:30px 20px;}
.pcard{cursor:pointer;}
.pcard__media{position:relative; aspect-ratio:4/5; overflow:hidden; background:var(--blush);}
.pcard__media img{width:100%; height:100%; object-fit:cover; transition:transform .8s var(--ease),opacity .4s var(--ease);}
.pcard__media img.alt{position:absolute; inset:0; opacity:0;}
.pcard:hover .pcard__media img.main{opacity:0;}
.pcard:hover .pcard__media img.alt{opacity:1;}
.pcard:hover .pcard__media img{transform:scale(1.04);}
.pcard__tag{position:absolute; top:14px; left:14px; background:var(--cream); color:var(--burgundy); font-size:9px; letter-spacing:.22em; text-transform:uppercase; padding:6px 11px;}
.pcard--sold{cursor:default;}
.pcard--sold .pcard__media img{filter:grayscale(.35) brightness(.96);}
.pcard__tag--sold{background:var(--burgundy); color:var(--cream); letter-spacing:.18em;}
.pcard__meta{display:flex; justify-content:space-between; align-items:baseline; padding:16px 2px 0; gap:12px;}
.pcard__name{font-size:14px; font-weight:500;}
.pcard__cat{font-size:10.5px; color:var(--mute); letter-spacing:.04em; text-transform:uppercase; margin-top:3px;}
.pcard__price{font-size:12.5px; color:var(--burgundy); white-space:nowrap;}

/* ---------- Toolbar (filters) ---------- */
.shop-head{display:flex; justify-content:space-between; align-items:flex-end; flex-wrap:wrap; gap:24px; margin-bottom:40px;}
.filters{display:flex; gap:10px; flex-wrap:wrap;}
.chip{background:transparent; border:1px solid var(--hair); color:var(--burgundy); font-size:11px; letter-spacing:.12em; text-transform:uppercase; padding:9px 18px; transition:all .2s var(--ease);}
.chip:hover{border-color:var(--burgundy);}
.chip.on{background:var(--burgundy); color:var(--cream); border-color:var(--burgundy);}

/* ---------- PDP ---------- */
.pdp{padding:32px 0 96px;}
.back{background:none; border:none; color:var(--burgundy); font-size:11px; letter-spacing:.2em; text-transform:uppercase; display:inline-flex; gap:8px; align-items:center; margin-bottom:28px;}
.pdp__grid{display:grid; grid-template-columns:1.25fr 1fr; gap:56px; align-items:start;}
.pdp__gallery{display:grid; gap:14px;}
.pdp__gallery img{width:100%; aspect-ratio:4/5; object-fit:cover; cursor:zoom-in;}
.pdp__info{position:sticky; top:120px;}
.pdp__name{font-size:clamp(30px,3.4vw,42px); margin:10px 0 12px;}
.pdp__price{font-size:21px; margin-bottom:26px;}
.pdp__desc{font-size:15.5px; line-height:1.75; color:var(--ink); max-width:48ch; margin-bottom:14px;}
.pdp__row{padding:20px 0; border-top:1px solid var(--hair);}
.pdp__row .overline{display:block; margin-bottom:13px;}
.swatches{display:flex; gap:10px;}
.swatch{width:28px; height:28px; border-radius:9999px; border:1px solid var(--hair); padding:0; position:relative;}
.swatch.on{outline:1px solid var(--burgundy); outline-offset:3px;}
.sizes{display:flex; gap:8px; flex-wrap:wrap;}
.size{width:46px; height:46px; border:1px solid var(--hair); background:transparent; color:var(--burgundy); font-size:13px; transition:all .18s;}
.size:hover{border-color:var(--burgundy);}
.size.on{background:var(--burgundy); color:var(--cream); border-color:var(--burgundy);}
.size-guide-link{background:none; border:none; color:var(--rust); font-size:12px; border-bottom:1px solid currentColor; padding:0; margin-top:14px;}
.pdp__add{margin-top:26px; padding:18px;}
.notes{list-style:none; padding:0; margin:30px 0 0; font-size:12.5px; color:var(--mute); line-height:2;}
.notes li{padding-left:18px; position:relative;}
.notes li::before{content:'·'; position:absolute; left:0; color:var(--rust); font-weight:700;}

/* ---------- Cart drawer ---------- */
.scrim{position:fixed; inset:0; background:rgba(83,13,21,.3); opacity:0; pointer-events:none; transition:opacity .32s var(--ease); z-index:50;}
.scrim.open{opacity:1; pointer-events:auto;}
.cart{position:fixed; top:0; right:0; width:440px; max-width:100%; height:100vh; background:var(--cream); transform:translateX(100%); transition:transform .44s var(--ease); z-index:51; display:flex; flex-direction:column;}
.cart.open{transform:translateX(0);}
.cart__head{display:flex; justify-content:space-between; align-items:center; padding:24px 28px; border-bottom:1px solid var(--hair);}
.cart__head h3{font-size:13px; letter-spacing:.2em; text-transform:uppercase;}
.cart__body{flex:1; overflow-y:auto; padding:8px 28px;}
.cart__empty{text-align:center; padding:70px 10px; color:var(--mute);}
.cart__item{display:grid; grid-template-columns:78px 1fr auto; gap:16px; padding:18px 0; border-bottom:1px solid var(--hair); align-items:start;}
.cart__item img{width:78px; height:98px; object-fit:cover;}
.cart__iname{font-size:13.5px; font-weight:500; margin-bottom:3px;}
.cart__ivar{font-size:11.5px; color:var(--mute);}
.cart__iprice{font-size:12.5px; margin-top:8px;}
.qty{display:inline-flex; align-items:center; border:1px solid var(--hair); margin-top:8px;}
.qty button{background:none; border:none; width:26px; height:26px; color:var(--burgundy); font-size:14px;}
.qty span{width:30px; text-align:center; font-size:12px;}
.cart__rm{background:none; border:none; color:var(--mute); font-size:11px; border-bottom:1px solid transparent;}
.cart__rm:hover{border-bottom-color:currentColor;}
.cart__foot{padding:22px 28px; border-top:1px solid var(--hair);}
.cart__total{display:flex; justify-content:space-between; align-items:baseline; margin-bottom:8px; font-size:15px; font-weight:500;}
.cart__ship{font-size:11.5px; color:var(--mute); margin-bottom:16px;}

/* ---------- Editorial / split blocks ---------- */
.split{display:grid; grid-template-columns:1fr 1fr; gap:0; align-items:stretch;}
.split__media{aspect-ratio:1/1; overflow:hidden;}
.split__media img{width:100%; height:100%; object-fit:cover;}
.split__body{padding:clamp(40px,6vw,96px); display:flex; flex-direction:column; justify-content:center;}
.split--dark{background:var(--burgundy); color:var(--cream);}
.split--dark h2,.split--dark p{color:var(--cream);}
.split--blush{background:var(--blush);}

/* ---------- Reassurance strip ---------- */
.reassure{display:grid; grid-template-columns:repeat(4,1fr); gap:24px; border-top:1px solid var(--hair); border-bottom:1px solid var(--hair);}
.reassure>div{padding:34px 16px; text-align:center; border-right:1px solid var(--hair);}
.reassure>div:last-child{border-right:none;}
.reassure h4{font-size:12px; letter-spacing:.16em; text-transform:uppercase; margin-bottom:8px;}
.reassure p{font-size:12.5px; color:var(--mute); margin:0;}

/* ---------- Lookbook ---------- */
.lookbook{column-count:3; column-gap:18px;}
.lb-item{display:block; width:100%; margin:0 0 18px; padding:0; border:none; background:none; cursor:pointer; break-inside:avoid; text-align:left;}
.lb-item img{width:100%; object-fit:cover; transition:opacity .4s var(--ease);}
.lb-item:hover img{opacity:.86;}
.lb-item__name{display:block; font-size:12px; letter-spacing:.02em; color:var(--burgundy); margin-top:9px;}

/* ---------- Forms / checkout ---------- */
.form-grid{display:grid; grid-template-columns:1.3fr 1fr; gap:56px; align-items:start;}
.field{margin-bottom:18px;}
.field label{display:block; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--mute); margin-bottom:7px;}
.field input,.field select,.field textarea{width:100%; background:#fff; border:1px solid var(--hair); padding:13px 15px; font-family:var(--font); font-size:14px; color:var(--burgundy); border-radius:2px; outline:none; transition:border-color .2s;}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--burgundy);}
.field-2{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
.summary{background:var(--cream-warm); border:1px solid var(--hair); padding:28px;}
.summary h3{font-size:12px; letter-spacing:.2em; text-transform:uppercase; margin-bottom:18px;}
.summary__row{display:flex; justify-content:space-between; font-size:13px; padding:8px 0; border-bottom:1px solid var(--hair);}
.summary__total{display:flex; justify-content:space-between; font-size:16px; font-weight:500; padding-top:14px;}
.pay-options{display:grid; gap:10px; margin:8px 0 6px;}
.pay-opt{display:flex; gap:12px; align-items:flex-start; border:1px solid var(--hair); padding:14px 16px; cursor:pointer; transition:border-color .2s;}
.pay-opt:hover,.pay-opt.on{border-color:var(--burgundy);}
.pay-opt input{margin-top:3px;}
.pay-opt .pname{font-size:13.5px; font-weight:500;}
.pay-opt .pdesc{font-size:12px; color:var(--mute); margin-top:3px;}
.pay-disabled{opacity:.5;}
.pay-soon{font-size:9px; letter-spacing:.12em; text-transform:uppercase; background:var(--cream-deep); color:var(--mute); padding:3px 7px; margin-left:auto;}

/* ---------- Confirmation ---------- */
.confirm{max-width:760px; margin:0 auto; text-align:center; padding:40px 0;}
.confirm__mark{width:64px; height:64px; margin:0 auto 24px;}
.email-card{text-align:left; background:var(--cream-warm); border:1px solid var(--hair); border-left:3px solid var(--rust); padding:24px 28px; margin:18px 0; font-size:13.5px; line-height:1.7;}
.email-card h4{font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--rust); margin-bottom:6px;}
.email-card .to{font-size:12px; color:var(--mute); margin-bottom:14px;}
.email-card pre{font-family:var(--font); white-space:pre-wrap; margin:0; color:var(--ink); font-size:13px;}
.confirm__box{max-width:520px; margin:0 auto; text-align:left; background:var(--cream-warm); border:1px solid var(--hair); padding:20px 26px;}
.confirm__row{display:flex; justify-content:space-between; gap:16px; font-size:13.5px; padding:9px 0; border-bottom:1px solid var(--hair);}
.confirm__row:last-child{border-bottom:none;}
.confirm__row--total{font-weight:700; font-size:15px; padding-top:13px;}
.confirm__next{font-size:13.5px; color:var(--mute); max-width:48ch; margin:22px auto 0;}

/* ---------- Newsletter / footer ---------- */
.footer{background:var(--burgundy); color:var(--cream); padding:84px 0 30px; margin-top:96px;}
.footer__top{display:grid; grid-template-columns:1.2fr 2fr; gap:80px; padding-bottom:56px; border-bottom:1px solid rgba(249,232,221,.15);}
.nl .overline{display:block; margin-bottom:14px; color:var(--blush);}
.nl__title{font-size:28px; font-weight:500; line-height:1.12; margin:0 0 20px; color:var(--cream); max-width:15ch;}
.nl__form{display:flex; border-bottom:1px solid rgba(249,232,221,.4);}
.nl__form input{flex:1; background:none; border:none; color:var(--cream); padding:11px 0; font-family:var(--font); font-size:14px; outline:none;}
.nl__form input::placeholder{color:rgba(249,232,221,.5);}
.nl__form button{background:none; border:none; color:var(--cream); font-size:11px; letter-spacing:.2em; text-transform:uppercase; padding:11px 4px;}
.fcols{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.fcols .overline{display:block; margin-bottom:16px; color:var(--blush);}
.fcols ul{list-style:none; padding:0; margin:0;}
.fcols li{padding:5px 0;}
.fcols a{color:var(--cream); font-size:13px; opacity:.82;}
.fcols a:hover{opacity:1;}
.footer__bottom{display:flex; justify-content:space-between; align-items:center; padding-top:28px; flex-wrap:wrap; gap:12px;}
.footer__wm{font-size:11px; letter-spacing:.3em; color:var(--blush);}
.footer__wm span{margin:0 7px; opacity:.5;}
.footer__support{font-size:13px; line-height:1.9; opacity:.9;}
.footer__support a{color:var(--cream); opacity:.9;}
.footer__support a:hover{opacity:1;}

/* Newsletter consent + états */
.nl__consent{display:flex; gap:9px; align-items:flex-start; margin-top:14px; font-size:11.5px; line-height:1.5; color:rgba(249,232,221,.8); cursor:pointer;}
.nl__consent input{margin-top:2px; accent-color:var(--blush); width:15px; height:15px; flex-shrink:0;}
.nl__msg{font-size:12.5px; margin-top:14px; min-height:1.2em; line-height:1.5;}
.nl__msg.ok{color:var(--blush);}
.nl__msg.err{color:#f0b8a8;}
.nl__form button[disabled]{opacity:.5; cursor:default;}
/* version newsletter sur fond clair (section dédiée) */
.nl-section{background:var(--blush);}
.nl-section .nl__title,.nl-section .overline{color:var(--burgundy);}
.nl-section .nl__form{border-bottom-color:var(--burgundy);}
.nl-section .nl__form input{color:var(--burgundy);}
.nl-section .nl__form input::placeholder{color:var(--mute);}
.nl-section .nl__form button{color:var(--burgundy);}
.nl-section .nl__consent{color:var(--mute);}
.nl-section .nl__msg.ok{color:var(--burgundy);}
.nl-section .nl__msg.err{color:#9e3b2c;}

/* ---------- Toast ---------- */
.toast{position:fixed; bottom:28px; left:50%; transform:translateX(-50%) translateY(20px); background:var(--burgundy); color:var(--cream); padding:14px 26px; font-size:12px; letter-spacing:.12em; text-transform:uppercase; opacity:0; pointer-events:none; transition:all .35s var(--ease); z-index:60;}
.toast.show{opacity:1; transform:translateX(-50%) translateY(0);}

/* ---------- Modal (size guide) ---------- */
.modal-scrim{position:fixed; inset:0; background:rgba(83,13,21,.4); display:none; align-items:center; justify-content:center; z-index:55; padding:24px;}
.modal-scrim.open{display:flex;}
.modal{background:var(--cream); max-width:640px; width:100%; padding:40px; max-height:86vh; overflow-y:auto;}
.modal h3{margin-bottom:8px;}
table.sizes-table{width:100%; border-collapse:collapse; margin-top:18px; font-size:13px;}
table.sizes-table th,table.sizes-table td{border:1px solid var(--hair); padding:10px 12px; text-align:center;}
table.sizes-table th{background:var(--burgundy); color:var(--cream); font-weight:500; font-size:11px; letter-spacing:.08em;}

.fade{animation:fade .5s var(--ease);}
@keyframes fade{from{opacity:0; transform:translateY(8px);} to{opacity:1; transform:none;}}

/* ---------- Responsive ---------- */
@media(max-width:980px){
  .wrap,.header__in,.hero__in{padding-left:24px; padding-right:24px;}
  .pdp__grid,.form-grid,.split{grid-template-columns:1fr;}
  .pdp__info{position:static;}
  .footer__top{grid-template-columns:1fr; gap:48px;}
  .reassure{grid-template-columns:repeat(2,1fr);}
  .reassure>div:nth-child(2){border-right:none;}
  .grid{gap:28px 18px;}
  .lookbook{column-count:2;}
}
@media(max-width:680px){
  .header__in{grid-template-columns:auto 1fr auto; padding:16px 20px;}
  .nav--left{display:none;}
  .nav--right .nlink{display:none;}
  .tools .nlink,.tools .switch,.tools .cur-seg{display:none;}
  .tools{gap:14px;}
  .burger{display:flex;}
  .grid{grid-template-columns:repeat(2,1fr);}
  .section{padding:60px 0;}
  .reassure{grid-template-columns:1fr;}
  .reassure>div{border-right:none; border-bottom:1px solid var(--hair);}
  .field-2{grid-template-columns:1fr;}
  .fcols{grid-template-columns:1fr; gap:30px;}
  .footer{padding:64px 0 28px; margin-top:64px;}
  .footer__bottom{flex-direction:column; align-items:flex-start; gap:14px;}
  .mobile-menu{display:block;}
}
.mobile-menu{display:none; position:fixed; inset:0; background:var(--cream); z-index:45; padding:90px 32px; flex-direction:column; gap:18px;}
.mobile-menu.open{display:flex;}
.mobile-menu a{font-size:20px; color:var(--burgundy); letter-spacing:.04em;}
.mm-controls{display:flex; gap:26px; align-items:center; margin-top:30px; padding-top:26px; border-top:1px solid var(--hair);}
.mm-controls .switch button{font-size:13px;}
.mm-controls .cur-seg button{font-size:13px; padding:7px 13px;}

/* ---------- Prix (devise sélectionnée) ---------- */
.price{display:inline-flex; font-size:12.5px; color:var(--burgundy); font-weight:700; white-space:nowrap;}
.pcard__meta{align-items:flex-start;}
.pdp__price .price{font-size:18px;}

/* ---------- Sélecteur de devise (€ / $ / FCFA) ---------- */
.cur-seg{display:inline-flex; border:1px solid var(--hair); border-radius:9999px; overflow:hidden; background:var(--cream-warm);}
.cur-seg button{background:none; border:none; padding:5px 11px; font-size:10.5px; letter-spacing:.04em; color:var(--mute); line-height:1.4; transition:background .25s var(--ease),color .25s var(--ease);}
.cur-seg button+button{border-left:1px solid var(--hair);}
.cur-seg button.on{background:var(--burgundy); color:var(--cream);}

/* ---------- Réseaux sociaux ---------- */
.socials{display:flex; gap:12px;}
.socials a{width:36px; height:36px; border:1px solid rgba(249,232,221,.4); border-radius:9999px; display:flex; align-items:center; justify-content:center; color:var(--cream); transition:background .3s var(--ease), color .3s var(--ease);}
.socials a:hover{background:var(--cream); color:var(--burgundy);}
.socials svg{width:18px; height:18px;}
.socials .ig{fill:none; stroke:currentColor; stroke-width:1.7;}
.socials .fb{fill:currentColor; stroke:none;}

/* ---------- Footer credit (Mystik) ---------- */
.footer__credit{font-size:11px; letter-spacing:.04em; color:var(--blush);}
.footer__credit a{color:var(--cream); border-bottom:1px solid rgba(249,232,221,.5); padding-bottom:1px;}
.footer__credit a:hover{opacity:.8;}

/* ---------- Newsletter dynamique (carte) ---------- */
.nl-section{background:var(--blush);}
.nl-card{display:grid; grid-template-columns:1.25fr 1fr; gap:clamp(28px,4vw,56px); align-items:center; background:rgba(255,255,255,.45); border:1px solid rgba(83,13,21,.12); padding:clamp(28px,4vw,56px);}
.nl-offer{display:inline-block; background:var(--burgundy); color:var(--cream); font-size:11px; letter-spacing:.14em; text-transform:uppercase; padding:8px 16px; border-radius:9999px;}
.nl-card .section-title{color:var(--burgundy);}
.nl-card .lede{color:var(--ink);}
.nl-benefits{list-style:none; padding:0; margin:22px 0 0; display:grid; gap:10px;}
.nl-benefits li{position:relative; padding-left:24px; font-size:14px; color:var(--ink);}
.nl-benefits li::before{content:''; position:absolute; left:0; top:7px; width:8px; height:8px; border-radius:9999px; background:var(--rust);}
.nl-card .nl__form{border-bottom-color:var(--burgundy);}
.nl-card .nl__form input{color:var(--burgundy);}
.nl-card .nl__form input::placeholder{color:var(--mute);}
.nl-card .nl__form button{color:var(--burgundy);}
.nl-card .nl__consent{color:var(--mute);}
.nl-card .nl__msg.ok{color:var(--burgundy);} .nl-card .nl__msg.err{color:#9e3b2c;}
@media(max-width:860px){ .nl-card{grid-template-columns:1fr;} }

/* ---------- Reveal au scroll ---------- */
.reveal{opacity:0; transform:translateY(26px); transition:opacity .7s var(--ease), transform .7s var(--ease);}
.reveal.in{opacity:1; transform:none;}

/* ---------- Pop-up vidéo Paris ---------- */
.popup-scrim{position:fixed; inset:0; background:rgba(42,6,9,.62); backdrop-filter:blur(3px); display:none; align-items:center; justify-content:center; z-index:70; padding:24px; opacity:0; transition:opacity .4s var(--ease);}
.popup-scrim.open{display:flex; opacity:1;}
.popup{position:relative; background:var(--cream); max-width:900px; width:100%; display:grid; grid-template-columns:1fr 1fr; align-items:stretch; overflow:hidden; max-height:90vh; transform:translateY(18px) scale(.98); transition:transform .5s var(--ease);}
.popup-scrim.open .popup{transform:none;}
#paris-content{display:contents;}
.popup__media{background:#000; overflow:hidden;}
.popup__media video{width:100%; height:100%; max-height:90vh; object-fit:cover; display:block;}
.popup__body{padding:clamp(26px,3vw,46px); display:flex; flex-direction:column; justify-content:center;}
.popup__title{font-size:clamp(25px,3vw,36px); line-height:1.1; margin:14px 0;}
.popup__text{font-size:14.5px; line-height:1.65; color:var(--ink); margin-bottom:24px;}
.popup__close{position:absolute; top:14px; right:14px; z-index:3; background:rgba(249,232,221,.9); border:none; width:38px; height:38px; border-radius:9999px; display:flex; align-items:center; justify-content:center; color:var(--burgundy); cursor:pointer;}
.popup__skip{background:none; border:none; color:var(--mute); font-size:12px; margin-top:16px; cursor:pointer; text-decoration:underline; align-self:flex-start; padding:0;}
.popup .nl__form{border-bottom:1px solid var(--burgundy);}
.popup .nl__form input{color:var(--burgundy);}
.popup .nl__form input::placeholder{color:var(--mute);}
.popup .nl__form button{color:var(--burgundy);}
.popup .nl__msg{font-size:13px; margin-top:12px;}
.popup .nl__msg.ok{color:var(--rust); font-weight:500;} .popup .nl__msg.err{color:#9e3b2c;}
@media(max-width:720px){ .popup{grid-template-columns:1fr; max-height:92vh; overflow-y:auto;} .popup__media{max-height:36vh;} .popup__media video{max-height:36vh;} }

/* ---------- WhatsApp flottant ---------- */
.wa-float{position:fixed; bottom:24px; right:24px; z-index:39; width:56px; height:56px; border-radius:9999px; background:#25D366; color:#fff; display:flex; align-items:center; justify-content:center; box-shadow:0 6px 22px rgba(0,0,0,.2); transition:transform .3s var(--ease);}
.wa-float:hover{transform:scale(1.08);}
.wa-float svg{width:32px; height:32px;}
@media(max-width:680px){ .wa-float{width:50px; height:50px; bottom:18px; right:18px;} .wa-float svg{width:28px;height:28px;} }

/* ---------- Champ piège anti-robot (honeypot, invisible) ---------- */
.hp-field{position:absolute !important; left:-9999px !important; top:auto; width:1px; height:1px; overflow:hidden; opacity:0; pointer-events:none;}

/* ---------- Préférence mouvement réduit ---------- */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important; transition-duration:.001ms !important; scroll-behavior:auto !important;}
  .slide__media img{transform:none !important;}
}

/* ---------- Statuts produit (sur commande / bientôt de retour) ---------- */
.pcard__tag--order{background:var(--rust); color:var(--cream); letter-spacing:.16em;}
.pcard__tag--back{background:var(--burgundy); color:var(--cream); letter-spacing:.16em;}
.pcard--back .pcard__media img{filter:saturate(.72) brightness(.99);}
.pdp__status{display:inline-block; font-size:10px; letter-spacing:.18em; text-transform:uppercase; padding:5px 11px; margin-bottom:14px;}
.pdp__status--order{background:var(--rust); color:var(--cream);}
.pdp__status--back{background:var(--burgundy); color:var(--cream);}
.pdp__hint{font-size:12.5px; color:var(--mute); line-height:1.65; margin:12px 0 0; max-width:46ch;}

/* ---------- Tailles : sur commande + note ---------- */
.size--order{border-style:dashed; color:var(--mute);}
.size--order:hover{border-color:var(--rust);}
.size--order.on{background:var(--rust); color:var(--cream); border-style:solid; border-color:var(--rust);}
.size-note{font-size:11.5px; color:var(--mute); margin:12px 0 0; line-height:1.55;}

/* ---------- Bandeau grandes tailles (inclusif) ---------- */
.incl{display:grid; grid-template-columns:1.4fr 1fr; gap:clamp(28px,5vw,64px); align-items:center; background:var(--burgundy); color:var(--cream); padding:clamp(32px,4vw,56px);}
.incl .overline{color:var(--blush);}
.incl .section-title,.incl .lede{color:var(--cream);}
.incl .lede{margin-top:14px; opacity:.92; max-width:46ch;}
.incl__stats{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
.incl__stats>div{border:1px solid rgba(249,232,221,.25); padding:24px 18px; text-align:center;}
.incl__num{display:block; font-size:clamp(26px,3vw,38px); font-weight:500; color:var(--cream); line-height:1;}
.incl__lbl{display:block; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--blush); margin-top:10px;}
@media(max-width:760px){ .incl{grid-template-columns:1fr;} }
