/* ============ DESIGN TOKENS : changer d'univers = modifier uniquement ce bloc ============ */
:root{
  --color-bg:#FFFFFF;
  --color-surface:#FFFFFF;
  --color-surface-2:#EEF2F7;
  --color-text:#13203A;
  --color-muted:#56627A;
  --color-line:#DCE2EC;
  --color-accent:#13203A;
  --color-on-accent:#FFFFFF;
  --color-accent-hover:#FFC83D;
  --color-on-accent-hover:#13203A;
  --color-urgency:#C8283A;
  --color-success:#1D7A50;
  --color-tag:#FFC83D;
  --color-on-tag:#13203A;
  --img-bg:#EEF2F7;
  --radius-s:6px; --radius-m:10px; --radius-l:22px;
  --font-heading:"Archivo","Helvetica Neue",Arial,sans-serif;
  --font-body:"Archivo","Helvetica Neue",Arial,sans-serif;
  --shadow:0 14px 40px -20px rgba(19,32,58,.45);
  --maxw:1180px;
  --header-h:68px;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --color-bg:#0E1524; --color-surface:#161F33; --color-surface-2:#1E2A43; --color-text:#E8EDF6;
    --color-muted:#9BA7BE; --color-line:#293653; --color-accent:#FFC83D; --color-on-accent:#13203A;
    --color-accent-hover:#FFE08F; --color-on-accent-hover:#13203A; --color-urgency:#FF6F7D;
    --color-success:#5CD198; --img-bg:#1A2440; --shadow:0 14px 40px -20px rgba(0,0,0,.8);
  }
}
:root[data-theme="dark"]{
  --color-bg:#0E1524; --color-surface:#161F33; --color-surface-2:#1E2A43; --color-text:#E8EDF6;
  --color-muted:#9BA7BE; --color-line:#293653; --color-accent:#FFC83D; --color-on-accent:#13203A;
  --color-accent-hover:#FFE08F; --color-on-accent-hover:#13203A; --color-urgency:#FF6F7D;
  --color-success:#5CD198; --img-bg:#1A2440; --shadow:0 14px 40px -20px rgba(0,0,0,.8);
}
*,*::before,*::after{box-sizing:inherit}
[hidden]{display:none!important}
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + var(--header-h) + 12px);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:1.0625rem;line-height:1.55;font-variation-settings:"wdth" 100}
img,svg{max-width:100%;display:block}
a{color:inherit}
button{font:inherit;color:inherit}
h1,h2,h3{font-family:var(--font-heading);font-stretch:116%;font-variation-settings:"wdth" 116;line-height:1.05;letter-spacing:-.015em;margin:0}
h1{font-size:clamp(2.4rem,5.6vw,4.5rem);font-weight:760}
h2{font-size:clamp(1.8rem,3.4vw,2.7rem);font-weight:720}
h3{font-size:1.2rem;font-weight:680;letter-spacing:-.005em}
p{margin:0}
.container{max-width:var(--maxw);margin:0 auto;padding:0 20px}
.muted{color:var(--color-muted)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
section.block{padding:clamp(56px,8vw,104px) 0}
:focus-visible{outline:3px solid var(--color-accent);outline-offset:3px}

/* ============ BOUTONS : changement de couleur au survol ============ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;border:0;border-radius:999px;padding:.9rem 1.5rem;font-weight:650;font-size:1rem;cursor:pointer;text-decoration:none;
  transition:background-color .24s ease,color .24s ease,transform .24s ease,box-shadow .24s ease,border-color .24s ease}
.btn-primary{background:var(--color-accent);color:var(--color-on-accent)}
.btn-primary:hover{background:var(--color-accent-hover);color:var(--color-on-accent-hover);transform:translateY(-1px);box-shadow:var(--shadow)}
.btn-primary:active{transform:translateY(0)}
.btn-ghost{background:transparent;border:1.5px solid var(--color-text);color:var(--color-text)}
.btn-ghost:hover{background:var(--color-text);color:var(--color-bg)}
.btn-lg{padding:1.1rem 1.6rem;font-size:1.08rem;width:100%}
.btn-sm{padding:.5rem .95rem;font-size:.9rem}
.btn[disabled]{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}
.btn[aria-busy="true"]{pointer-events:none}
.btn[aria-busy="true"]::before{content:"";width:1em;height:1em;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:spin .7s linear infinite}
.btn .btn-price{font-variant-numeric:tabular-nums;opacity:.85;font-weight:600}
@keyframes spin{to{transform:rotate(360deg)}}

/* ============ BANNIÈRE D'ANNONCE ============ */
.announce{background:var(--color-text);color:var(--color-bg);font-size:.9rem;position:relative}
.announce .container{min-height:40px;display:flex;align-items:center;justify-content:center;text-align:center;padding-right:48px}
.announce-msg{transition:opacity .35s}
.announce-close{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:0;color:inherit;cursor:pointer;width:32px;height:32px;border-radius:50%;opacity:.75}
.announce-close:hover{opacity:1;background:rgba(255,255,255,.12)}

/* ============ HEADER ============ */
.site-header{position:sticky;top:0;z-index:40;background:var(--color-bg);border-bottom:1px solid var(--color-line)}
.site-header .container{height:var(--header-h);display:flex;align-items:center;gap:24px}
.logo{font-family:var(--font-heading);font-weight:800;font-size:1.55rem;font-stretch:125%;font-variation-settings:"wdth" 125;letter-spacing:-.02em;text-decoration:none}
.nav{display:flex;gap:22px;margin-left:auto}
.nav a{text-decoration:none;font-weight:550;font-size:.97rem;padding:6px 0;border-bottom:2px solid transparent;transition:border-color .2s}
.nav a:hover{border-color:var(--color-text)}
.cart-btn{position:relative;background:none;border:0;cursor:pointer;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;transition:background-color .2s}
.cart-btn:hover{background:var(--color-surface-2)}
.cart-count{position:absolute;top:2px;right:0;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:var(--color-accent);color:var(--color-on-accent);font-size:.75rem;font-weight:700;display:grid;place-items:center;transition:transform .25s}
.cart-count.bump{transform:scale(1.3)}
@media (max-width:760px){.nav{display:none}.cart-btn{margin-left:auto}}

/* ============ HERO ============ */
.hero{padding:clamp(40px,6vw,80px) 0 clamp(48px,6vw,88px)}
.hero .container{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(24px,5vw,72px);align-items:center}
.hero p.lead{font-size:1.2rem;color:var(--color-muted);max-width:34ch;margin-top:22px}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:32px}
.hero-proof{font-size:.95rem;color:var(--color-muted)}
.hero-proof strong{color:var(--color-text)}
.hero-visual{border-radius:var(--radius-l);overflow:hidden;aspect-ratio:1/1;position:relative}
.hero-visual .img{position:absolute;inset:0}
@media (max-width:860px){.hero .container{grid-template-columns:1fr}.hero-visual{order:-1;max-width:520px}}

/* ============ SWAP IMAGE AU SURVOL ============ */
.swap{position:relative;overflow:hidden}
.swap .img{position:absolute;inset:0;transition:opacity .35s ease}
.swap .img svg{width:100%;height:100%}
.swap .img-b{opacity:0}
@media (hover:hover){.swap:hover .img-b{opacity:1}}

/* ============ BÉNÉFICES ============ */
.split{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(24px,5vw,80px);align-items:start}
.split .intro p{margin-top:18px;color:var(--color-muted);max-width:44ch}
.benefits{list-style:none;margin:0;padding:0;border-top:1px solid var(--color-line)}
.benefits li{display:grid;grid-template-columns:auto 1fr;gap:18px;padding:22px 0;border-bottom:1px solid var(--color-line)}
.benefits .ico{width:44px;height:44px;border-radius:50%;background:var(--color-surface-2);display:grid;place-items:center}
.benefits p{color:var(--color-muted);margin-top:4px}
@media (max-width:860px){.split{grid-template-columns:1fr}}

/* ============ BUY BOX ============ */
.offer-section{background:var(--color-surface);border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line)}
.offer-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:32px;flex-wrap:wrap}
.buybox{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(24px,4vw,56px);align-items:start}
.gallery{position:sticky;top:calc(env(safe-area-inset-top,0px) + var(--header-h) + 20px)}
.gallery-main{aspect-ratio:1/1;border-radius:var(--radius-l)}
.gallery-tag{position:absolute;left:14px;bottom:14px;background:var(--color-surface);color:var(--color-muted);font-size:.78rem;padding:4px 10px;border-radius:var(--radius-s);z-index:2}
.gallery-hint{position:absolute;right:14px;bottom:14px;font-size:.78rem;background:var(--color-surface);padding:4px 10px;border-radius:var(--radius-s);z-index:2;color:var(--color-muted)}
@media (hover:none){.gallery-hint{display:none}}
.thumbs{display:flex;gap:10px;margin-top:12px}
.thumb{width:76px;height:76px;border-radius:var(--radius-m);overflow:hidden;border:2px solid transparent;padding:0;cursor:pointer;background:none;transition:border-color .2s}
.thumb[aria-selected="true"]{border-color:var(--color-text)}
.thumb svg{width:100%;height:100%}
.panel{display:flex;flex-direction:column;gap:18px}
.rating{font-size:.93rem;text-decoration:none;color:var(--color-muted);display:flex;gap:8px;align-items:center}
.stars{color:var(--color-text);letter-spacing:1px}
.bb-title{font-size:clamp(1.7rem,3vw,2.3rem)}
.bb-sub{color:var(--color-muted)}
.price-row{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.price{font-size:1.9rem;font-weight:720;font-variant-numeric:tabular-nums}
.price-row s{color:var(--color-muted);font-size:1.1rem}
.badge{border:1.5px solid var(--color-urgency);color:var(--color-urgency);font-weight:700;font-size:.82rem;padding:2px 8px;border-radius:var(--radius-s)}
.promo-tag{display:inline-block;background:var(--color-urgency);color:#fff;font-weight:800;font-size:.78rem;letter-spacing:.06em;padding:4px 10px;border-radius:var(--radius-s);line-height:1.2}
.price-box{position:relative;display:flex;align-items:flex-end;gap:14px 22px;flex-wrap:wrap;padding:20px 16px 14px;border:1.5px solid var(--color-urgency);border-radius:var(--radius-m)}
.price-box .promo-tag{position:absolute;top:-12px;left:14px}
.pb-col{display:flex;flex-direction:column;gap:2px}
.pb-label{font-size:.8rem;color:var(--color-muted)}
.pb-col s{font-size:1.15rem;color:var(--color-muted);font-variant-numeric:tabular-nums}
.pb-col .price{color:var(--color-urgency);line-height:1.1}
.price-box .badge{margin-left:auto;align-self:center}
.gallery-promo{position:absolute;top:14px;left:14px;z-index:2}
.promo-sm{font-size:.64rem;padding:2px 6px;margin-left:6px;vertical-align:2px}
.sticky-atc s{color:var(--color-muted);margin-right:4px}
.omnibus{font-size:.8rem;color:var(--color-muted);margin-top:-12px}
.gift{display:flex;gap:12px;align-items:center;background:var(--color-surface-2);border-radius:var(--radius-m);padding:12px 14px;font-size:.95rem}
fieldset{border:0;margin:0;padding:0}
legend{font-weight:600;margin-bottom:10px;padding:0}
.swatches{display:flex;gap:10px}
.swatch input{position:absolute;opacity:0}
.swatch span{display:block;width:40px;height:40px;border-radius:50%;border:3px solid var(--color-surface);box-shadow:0 0 0 1.5px var(--color-line);cursor:pointer;transition:box-shadow .2s}
.swatch input:checked + span{box-shadow:0 0 0 2.5px var(--color-text)}
.swatch input:focus-visible + span{outline:3px solid var(--color-accent);outline-offset:3px}
.offers-list{display:grid;gap:10px}
.offer{position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:14px 16px;border:1.5px solid var(--color-line);border-radius:var(--radius-m);cursor:pointer;transition:border-color .2s,background-color .2s}
.offer:hover{border-color:var(--color-muted)}
.offer input{accent-color:var(--color-accent);width:18px;height:18px;margin:0}
.offer:has(input:checked){border-color:var(--color-text);background:var(--color-surface-2)}
.offer-title{font-weight:650}
.offer-note{font-size:.86rem;color:var(--color-muted)}
.offer-price{text-align:right;font-variant-numeric:tabular-nums}
.offer-price strong{display:block}
.offer-price s{font-size:.82rem;color:var(--color-muted)}
.offer-tag{position:absolute;top:-10px;right:14px;background:var(--color-accent);color:var(--color-on-accent);font-size:.74rem;font-weight:700;padding:2px 9px;border-radius:var(--radius-s)}
.urgency{border:1.5px dashed var(--color-line);border-radius:var(--radius-m);padding:14px 16px;display:grid;gap:10px;font-size:.95rem}
.urgency .u-stock{color:var(--color-urgency);font-weight:600}
.gauge{height:6px;border-radius:3px;background:var(--color-surface-2);overflow:hidden;margin-top:6px}
.gauge span{display:block;height:100%;background:var(--color-urgency);border-radius:3px}
.countdown-val{font-variant-numeric:tabular-nums;font-weight:650}
.u-line{display:flex;gap:10px;align-items:flex-start}
.u-line svg{flex:none;margin-top:3px}
.reassure{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;font-size:.84rem;color:var(--color-muted)}
.reassure li{display:flex;flex-direction:column;gap:6px;align-items:center;text-align:center}
.pay-logos{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}
.pay-logos span{font-size:.72rem;font-weight:650;border:1px solid var(--color-line);border-radius:var(--radius-s);padding:3px 7px;color:var(--color-muted)}
@media (max-width:860px){.buybox{grid-template-columns:1fr}.gallery{position:static}}

/* ============ BANDE DÉFILANTE ============ */
.marquee{background:var(--color-accent);color:var(--color-on-accent);overflow:hidden;white-space:nowrap}
.marquee-track{display:inline-flex;gap:0;animation:marquee 38s linear infinite;padding:14px 0}
.marquee:hover .marquee-track{animation-play-state:paused}
.marquee-item{display:inline-flex;align-items:center;gap:14px;padding:0 22px;font-weight:600}
.marquee-item::after{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.5;margin-left:22px}
@keyframes marquee{to{transform:translateX(-50%)}}

/* ============ ÉTAPES ============ */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:40px;counter-reset:step;border-top:2px solid var(--color-text)}
.step{padding:22px 22px 0 0}
.step + .step{padding-left:22px;border-left:1px solid var(--color-line)}
.step-num{font-family:var(--font-heading);font-stretch:125%;font-variation-settings:"wdth" 125;font-size:2.6rem;font-weight:780;line-height:1;margin-bottom:14px}
.step p{color:var(--color-muted);margin-top:8px}
@media (max-width:860px){.steps{grid-template-columns:1fr 1fr}.step:nth-child(3){padding-left:0;border-left:0}.step{padding-bottom:22px}}
@media (max-width:520px){.steps{grid-template-columns:1fr}.step,.step + .step{padding-left:0;border-left:0;border-bottom:1px solid var(--color-line)}}

/* ============ COMPARATIF ============ */
.table-wrap{overflow-x:auto;margin-top:36px}
.compare{width:100%;border-collapse:collapse;min-width:560px}
.compare th,.compare td{padding:16px 14px;text-align:center;border-bottom:1px solid var(--color-line)}
.compare th:first-child,.compare td:first-child{text-align:left}
.compare thead th{font-weight:650;font-size:.95rem}
.compare .ours{background:var(--color-surface);font-weight:650}
.compare thead .ours{border-radius:var(--radius-m) var(--radius-m) 0 0}
.yes{color:var(--color-success);font-weight:700}
.no{color:var(--color-muted)}

/* ============ AVIS ============ */
.score{display:flex;align-items:center;gap:14px}
.score strong{font-family:var(--font-heading);font-stretch:125%;font-variation-settings:"wdth" 125;font-size:3.4rem;font-weight:780;line-height:1}
.stars-avg{font-size:1.3rem;letter-spacing:2px;background:linear-gradient(90deg,var(--color-text) var(--pct,0%),var(--color-line) var(--pct,0%));-webkit-background-clip:text;background-clip:text;color:transparent}
.rating .stars-avg{font-size:1rem;letter-spacing:1px}
.rv-head{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(24px,5vw,72px);align-items:start}
.rv-summary{display:grid;gap:18px;justify-items:start}
.rv-dist{display:grid;gap:6px}
.dist-row{display:grid;grid-template-columns:78px 1fr 32px;gap:12px;align-items:center;background:none;border:0;padding:6px 8px;border-radius:var(--radius-s);cursor:pointer;font-size:.92rem;text-align:left;transition:background-color .2s}
.dist-row:hover,.dist-row[aria-pressed="true"]{background:var(--color-surface-2)}
.dist-row .gauge{margin:0;height:8px}
.dist-row .gauge span{background:var(--color-text)}
.dist-row .n{color:var(--color-muted);text-align:right;font-variant-numeric:tabular-nums}
.rv-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:36px 0 4px;padding-top:20px;border-top:1px solid var(--color-line)}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{background:none;border:1.5px solid var(--color-line);border-radius:999px;padding:.4rem .85rem;font-size:.88rem;cursor:pointer;transition:border-color .2s,background-color .2s,color .2s}
.chip:hover{border-color:var(--color-text)}
.chip[aria-pressed="true"]{background:var(--color-text);color:var(--color-bg);border-color:var(--color-text)}
select.rv-sort{width:auto;padding:.45rem .8rem;font-size:.9rem}
.rv-list{display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(20px,4vw,48px)}
.rv-card{padding:24px 0;border-bottom:1px solid var(--color-line);display:grid;gap:10px;align-content:start}
.rv-top{display:flex;justify-content:space-between;gap:12px;font-size:.88rem;color:var(--color-muted)}
.rv-stars{color:var(--color-text);font-size:1.05rem;letter-spacing:1px}
.rv-text{max-width:60ch}
.rv-meta{font-size:.9rem;color:var(--color-muted);display:flex;gap:6px 12px;flex-wrap:wrap;align-items:center}
.verified{color:var(--color-success);font-weight:600}
.helpful{justify-self:start;background:none;border:1.5px solid var(--color-line);border-radius:999px;padding:.3rem .8rem;font-size:.85rem;cursor:pointer;transition:border-color .2s}
.helpful:hover{border-color:var(--color-text)}
.helpful[aria-pressed="true"]{border-color:var(--color-success);color:var(--color-success);cursor:default}
.rv-reply{background:var(--color-surface-2);border-radius:var(--radius-m);padding:12px 14px;font-size:.92rem}
.rv-reply p{color:var(--color-muted);margin-top:4px}
.rv-empty{padding:32px 0;color:var(--color-muted)}
.rv-more{margin-top:24px}
.rv-policy{margin-top:24px;max-width:780px}
@media (max-width:860px){.rv-head,.rv-list{grid-template-columns:1fr}}
/* Avis de nos clients (accueil, tous produits) */
.hr-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px 32px;flex-wrap:wrap}
.hr-head .score{margin-top:14px}
.hr-filters{display:flex;gap:12px;flex-wrap:wrap}
.hr-filters label{display:grid;gap:4px;font-size:.85rem;color:var(--color-muted)}
.hr-sorted{font-size:.9rem;margin:28px 0 0;padding-top:16px;border-top:1px solid var(--color-line)}
.hr-list{display:grid;grid-template-columns:repeat(3,1fr);gap:0 clamp(20px,3vw,40px)}
.hr-list .rv-card h3{font-size:1.05rem}
.rv-product{color:var(--color-text);font-weight:600;text-decoration:underline;text-underline-offset:3px}
@media (max-width:1000px){.hr-list{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.hr-list{grid-template-columns:1fr}.hr-filters,.hr-filters label{width:100%}.hr-filters select{width:100%}}

/* Modale de dépôt d'avis */
dialog.modal{border:0;padding:0;border-radius:var(--radius-l);background:var(--color-surface);color:var(--color-text);width:min(580px,calc(100% - 24px));max-height:calc(100% - 24px);overflow:auto;box-shadow:var(--shadow)}
dialog.modal::backdrop{background:rgba(10,14,12,.5)}
.modal-head{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--color-line);position:sticky;top:0;background:var(--color-surface);z-index:1}
.modal-body{padding:20px;display:grid;gap:16px}
.star-input{display:inline-flex;flex-direction:row-reverse;justify-content:flex-end;gap:2px}
.star-input input{position:absolute;opacity:0;width:1px;height:1px}
.star-input label{font-size:2.1rem;line-height:1;color:var(--color-line);cursor:pointer;transition:color .15s;padding:2px 3px}
.star-input input:checked ~ label,.star-input label:hover,.star-input label:hover ~ label{color:var(--color-text)}
.star-input input:focus-visible + label{outline:3px solid var(--color-accent);outline-offset:1px;border-radius:4px}
.hint{font-size:.82rem;color:var(--color-muted)}
.counter{font-size:.8rem;color:var(--color-muted);text-align:right}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.field.invalid textarea{border-color:var(--color-urgency)}

/* Modération */
.adm-tabs{margin:24px 0}
.adm-item{border:1px solid var(--color-line);border-radius:var(--radius-m);background:var(--color-surface);padding:18px;display:grid;gap:10px;margin-bottom:14px}
.adm-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.adm-meta{font-size:.85rem;color:var(--color-muted)}
.adm-actions select{width:auto;padding:.45rem .7rem;font-size:.9rem}
.btn-danger{background:transparent;border:1.5px solid var(--color-urgency);color:var(--color-urgency)}
.btn-danger:hover{background:var(--color-urgency);color:#fff}

/* ============ FAQ / ACCORDÉONS ============ */
.faq{max-width:780px;margin-top:32px}
details.acc{border-bottom:1px solid var(--color-line)}
details.acc summary{list-style:none;cursor:pointer;padding:20px 40px 20px 0;font-weight:620;position:relative}
details.acc summary::-webkit-details-marker{display:none}
details.acc summary::after{content:"";position:absolute;right:6px;top:50%;width:12px;height:12px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-70%) rotate(45deg);transition:transform .25s}
details.acc[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
details.acc .acc-body{padding:0 0 20px;color:var(--color-muted);max-width:66ch}

/* ============ CTA FINAL + FOOTER ============ */
.final-cta{background:var(--color-text);color:var(--color-bg);border-radius:var(--radius-l);padding:clamp(32px,6vw,64px);display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.final-cta .btn-primary{background:var(--color-bg);color:var(--color-text)}
.final-cta .btn-primary:hover{background:var(--color-accent-hover);color:var(--color-on-accent-hover)}
.site-footer{border-top:1px solid var(--color-line);padding:48px 0 32px;margin-top:40px;font-size:.93rem}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.4fr;gap:28px}
.footer-grid h3{font-size:1rem;margin-bottom:12px}
.footer-grid ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.footer-grid a{text-decoration:none;color:var(--color-muted)}
.footer-grid a:hover{color:var(--color-text);text-decoration:underline}
.newsletter{display:flex;gap:8px;margin-top:10px}
.newsletter input{flex:1;min-width:0}
.footer-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:36px;color:var(--color-muted);font-size:.85rem}
@media (max-width:860px){.footer-grid{grid-template-columns:1fr 1fr}}

/* ============ FORMULAIRES ============ */
input[type=text],input[type=email],input[type=tel],select,textarea{width:100%;font:inherit;font-size:1rem;padding:.8rem .9rem;border:1.5px solid var(--color-line);border-radius:var(--radius-m);background:var(--color-surface);color:var(--color-text);transition:border-color .2s}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-text)}
textarea{min-height:130px;resize:vertical;line-height:1.5}
.field{display:grid;gap:6px}
.field label{font-size:.9rem;font-weight:600}
.field .err{color:var(--color-urgency);font-size:.85rem;min-height:0}
.field.invalid input,.field.invalid select{border-color:var(--color-urgency)}

/* ============ CART DRAWER ============ */
.overlay{position:fixed;inset:0;background:rgba(10,14,12,.45);opacity:0;pointer-events:none;transition:opacity .3s;z-index:60}
.overlay.open{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;right:0;height:100%;width:min(440px,100%);background:var(--color-surface);z-index:61;display:flex;flex-direction:column;
  transform:translateX(100%);visibility:hidden;transition:transform .35s cubic-bezier(.2,.8,.2,1),visibility 0s .35s;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
.drawer.open{transform:none;visibility:visible;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.drawer-head{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--color-line)}
.icon-btn{background:none;border:0;cursor:pointer;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;transition:background-color .2s}
.icon-btn:hover{background:var(--color-surface-2)}
.ship-progress{padding:14px 20px;border-bottom:1px solid var(--color-line);font-size:.92rem}
.ship-progress .gauge span{background:var(--color-success);transition:width .4s}
.drawer-body{flex:1;overflow-y:auto;padding:8px 20px 20px}
.line{display:grid;grid-template-columns:72px 1fr auto;gap:14px;padding:16px 0;border-bottom:1px solid var(--color-line)}
.line-img{width:72px;height:72px;border-radius:var(--radius-m);overflow:hidden}
.line-img svg{width:100%;height:100%}
.line-title{font-weight:620}
.line-meta{font-size:.85rem;color:var(--color-muted)}
.qty{display:inline-flex;align-items:center;border:1.5px solid var(--color-line);border-radius:999px;margin-top:8px}
.qty button{background:none;border:0;width:32px;height:32px;cursor:pointer;border-radius:50%}
.qty button:hover{background:var(--color-surface-2)}
.qty span{min-width:22px;text-align:center;font-variant-numeric:tabular-nums}
.line-right{text-align:right;display:flex;flex-direction:column;justify-content:space-between;align-items:end}
.line-right s{font-size:.82rem;color:var(--color-muted)}
.remove{background:none;border:0;font-size:.82rem;color:var(--color-muted);text-decoration:underline;cursor:pointer;padding:0}
.upsell-title{font-weight:650;margin:22px 0 10px}
.upsell{display:grid;grid-template-columns:72px 1fr auto;gap:14px;align-items:center;padding:12px;border:1.5px solid var(--color-line);border-radius:var(--radius-m);margin-bottom:10px}
.upsell .swap{width:72px;height:72px;border-radius:var(--radius-s)}
.upsell p{font-size:.84rem;color:var(--color-muted)}
.drawer-foot{border-top:1px solid var(--color-line);padding:16px 20px 20px;display:grid;gap:10px;background:var(--color-surface)}
.totals-row{display:flex;justify-content:space-between;font-variant-numeric:tabular-nums}
.totals-row.saving{color:var(--color-success);font-size:.92rem}
.totals-row.big{font-weight:720;font-size:1.15rem}
.empty{text-align:center;padding:48px 10px;display:grid;gap:16px;justify-items:center}

/* ============ TOAST VENTES RÉCENTES ============ */
.toast{position:fixed;left:16px;bottom:calc(env(safe-area-inset-bottom,0px) + 16px + var(--sticky-offset,0px));z-index:50;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-m);box-shadow:var(--shadow);
  display:grid;grid-template-columns:52px 1fr auto;gap:12px;align-items:center;padding:10px 10px 10px 10px;max-width:min(360px,calc(100% - 32px));font-size:.88rem;
  transform:translateY(20px);opacity:0;pointer-events:none;transition:transform .35s,opacity .35s}
.toast.show{transform:none;opacity:1;pointer-events:auto}
.toast .t-img{width:52px;height:52px;border-radius:var(--radius-s);overflow:hidden}
.toast .t-time{color:var(--color-muted);font-size:.8rem}

/* ============ STICKY ATC MOBILE ============ */
.sticky-atc{position:fixed;left:0;right:0;bottom:0;z-index:45;background:var(--color-surface);border-top:1px solid var(--color-line);padding:10px 16px calc(env(safe-area-inset-bottom,0px) + 10px);
  display:none;align-items:center;gap:12px;transform:translateY(100%);transition:transform .3s}
.sticky-atc.show{transform:none}
.sticky-atc .s-info{flex:1;min-width:0;font-size:.9rem;line-height:1.25}
.sticky-atc .s-info strong{display:block}
.sticky-atc .btn{width:auto}
@media (max-width:860px){.sticky-atc{display:flex}}

/* ============ COOKIES ============ */
.cookie{position:fixed;left:16px;bottom:calc(env(safe-area-inset-bottom,0px) + 16px);z-index:58;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-l);box-shadow:var(--shadow);padding:20px;max-width:380px;font-size:.9rem;display:grid;gap:14px}
.cookie-actions{display:flex;gap:8px;flex-wrap:wrap}
.cookie-actions .btn{flex:1}
.cookie a{font-size:.85rem}
@media (max-width:520px){.cookie{left:12px;right:12px;max-width:none}}

/* ============ CHECKOUT 1 PAGE ============ */
.checkout{padding-top:36px;padding-bottom:80px}
.co-grid{display:grid;grid-template-columns:1.25fr .9fr;gap:clamp(24px,4vw,56px);align-items:start}
.co-form{display:grid;gap:34px}
.co-section h2{font-size:1.3rem;margin-bottom:16px;display:flex;gap:12px;align-items:baseline}
.co-section h2 .n{font-size:.85rem;font-weight:700;width:26px;height:26px;border-radius:50%;background:var(--color-text);color:var(--color-bg);display:inline-grid;place-items:center;flex:none;font-stretch:100%;font-variation-settings:"wdth" 100}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}
.stack{display:grid;gap:14px}
.express{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.express button{background:#000;color:#fff;border:0;border-radius:var(--radius-m);height:50px;font-weight:650;font-size:1.02rem;cursor:pointer;transition:opacity .2s}
.express button:hover{opacity:.82}
.divider{display:flex;align-items:center;gap:12px;color:var(--color-muted);font-size:.88rem;margin:18px 0 0}
.divider::before,.divider::after{content:"";height:1px;background:var(--color-line);flex:1}
.check{display:flex;gap:10px;align-items:flex-start;font-size:.93rem;cursor:pointer}
.check input{accent-color:var(--color-accent);width:18px;height:18px;margin-top:3px;flex:none}
.ship-opt{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:14px 16px;border:1.5px solid var(--color-line);border-radius:var(--radius-m);cursor:pointer}
.ship-opt:has(input:checked){border-color:var(--color-text);background:var(--color-surface)}
.ship-opt input{accent-color:var(--color-accent);width:18px;height:18px;margin:0}
.bump{display:grid;grid-template-columns:auto 64px 1fr auto;gap:14px;align-items:center;padding:14px;border:1.5px dashed var(--color-accent);border-radius:var(--radius-m);background:var(--color-surface);cursor:pointer}
.bump:has(input:checked){border-style:solid;background:var(--color-surface-2)}
.bump input{accent-color:var(--color-accent);width:20px;height:20px;margin:0}
.bump .swap{width:64px;height:64px;border-radius:var(--radius-s)}
.bump p{font-size:.85rem;color:var(--color-muted)}
.bump strong.b-price{font-variant-numeric:tabular-nums}
.pay-box{border:1.5px solid var(--color-line);border-radius:var(--radius-m);overflow:hidden;background:var(--color-surface)}
.pay-tabs{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--color-line)}
.pay-tab{background:none;border:0;padding:14px 8px;cursor:pointer;font-weight:600;font-size:.92rem;border-bottom:2.5px solid transparent;color:var(--color-muted)}
.pay-tab[aria-selected="true"]{border-color:var(--color-text);color:var(--color-text)}
.pay-panel{padding:18px;display:grid;gap:14px}
.stripe-note{font-size:.8rem;color:var(--color-muted);padding:10px 18px;background:var(--color-surface-2)}
.recap{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-l);padding:22px;position:sticky;top:calc(env(safe-area-inset-top,0px) + var(--header-h) + 20px)}
.recap-toggle{display:none;width:100%;background:none;border:0;justify-content:space-between;font-weight:650;cursor:pointer;padding:0}
.recap .line{grid-template-columns:60px 1fr auto}
.recap .line-img{width:60px;height:60px}
.recap-totals{display:grid;gap:8px;margin-top:16px}
.legal-note{font-size:.8rem;color:var(--color-muted)}
@media (max-width:900px){
  .co-grid{grid-template-columns:1fr}
  .recap{position:static;order:-1;padding:16px 18px}
  .recap-toggle{display:flex}
  .recap:not(.expanded) .recap-body{display:none}
}
@media (max-width:520px){.grid-2,.grid-3{grid-template-columns:1fr}.bump{grid-template-columns:auto 52px 1fr}.bump .swap{width:52px;height:52px}.bump .b-price{grid-column:3}.pay-panel{padding:14px}}

/* ============ MERCI / LÉGAL ============ */
.thanks{padding-top:64px;padding-bottom:96px;max-width:720px}
.thanks .check-big{width:64px;height:64px;border-radius:50%;background:var(--color-success);color:#fff;display:grid;place-items:center;margin-bottom:24px}
.thanks-box{margin-top:32px;border:1px solid var(--color-line);border-radius:var(--radius-l);padding:22px;background:var(--color-surface)}
.crumbs{font-size:.88rem;color:var(--color-muted);padding-top:22px;padding-bottom:18px}
.crumbs a{color:inherit}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
  .marquee{overflow-x:auto}.marquee-track{animation:none}
}

/* ================================================================
   NUNUA : ajouts pour le site multi-produits
   ================================================================ */
.logo{display:inline-flex;align-items:center;gap:10px;color:var(--color-text)}
span.logo{cursor:default}
.header-note{margin-left:auto;font-size:.9rem;color:var(--color-muted)}
@media (max-width:760px){.header-note{display:none}}
body:is([data-page="product"],[data-page="checkout"]) .shop-only{display:none!important}
body:not([data-page="product"]):not([data-page="checkout"]) .funnel-only{display:none!important}
.linklike{background:none;border:0;padding:0;font:inherit;color:inherit;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.linklike:hover{color:var(--color-text)}

/* ---- Étiquette de prix : l'élément signature ---- */
.tag{--hole:var(--color-bg);position:relative;display:inline-flex;align-items:baseline;gap:.4em;background:var(--color-tag);color:var(--color-on-tag);
  font-family:var(--font-heading);font-stretch:70%;font-variation-settings:"wdth" 70;font-weight:800;letter-spacing:-.01em;line-height:1;
  padding:.3em .55em .3em 1.15em;clip-path:polygon(.75em 0,100% 0,100% 100%,.75em 100%,0 50%);font-variant-numeric:tabular-nums;white-space:nowrap}
.tag::before{content:"";position:absolute;left:.62em;top:50%;width:.26em;height:.26em;border-radius:50%;background:var(--hole);transform:translate(-50%,-50%)}
.tag s{font-weight:600;font-size:.5em;opacity:.72}
.tag-wrap{position:absolute;z-index:3;filter:drop-shadow(0 10px 14px rgba(19,32,58,.22))}

/* ---- Accueil ---- */
.hero h1{font-stretch:72%;font-variation-settings:"wdth" 72;font-weight:820;font-size:clamp(2.7rem,6.6vw,5.4rem);line-height:.92;letter-spacing:-.025em;max-width:10ch;text-wrap:balance}
.feature{display:block;text-decoration:none;color:inherit}
.feature .tag-wrap{top:26px;right:22px;transform:rotate(-6deg)}
.feature .tag{font-size:clamp(2.1rem,4.4vw,3rem);--hole:var(--img-bg)}
.tag-hero{animation:tagdrop .7s cubic-bezier(.2,.9,.25,1.25) .35s both}
@keyframes tagdrop{from{opacity:0;transform:translateY(-36px) rotate(-22deg)}to{opacity:1;transform:rotate(-6deg)}}
.feature-cap{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:16px}
.feature-cap h3{font-size:1.3rem}
.feature:hover .feature-cap .btn-primary{background:var(--color-accent-hover);color:var(--color-on-accent-hover)}
.deals-head{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:28px}
.deals-head p{margin-top:10px;max-width:46ch}
.deals{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:36px 20px}
.deal{display:flex;flex-direction:column;gap:14px;text-decoration:none;color:inherit}
.deal-img{aspect-ratio:1/1;border-radius:var(--radius-l);position:relative;overflow:hidden}
.deal-img .tag-wrap{top:14px;right:14px}
.deal-img .tag{font-size:1.55rem;--hole:var(--img-bg)}
.deal-body{display:grid;gap:6px}
.deal-cat{font-size:.86rem;color:var(--color-muted)}
.deal h3{font-size:1.18rem}
.deal-line{color:var(--color-muted);font-size:.94rem}
.deal-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;font-size:.88rem;color:var(--color-muted);margin-top:4px}
.deal-meta s{margin-right:6px}
a.deal:hover h3{text-decoration:underline;text-underline-offset:3px}
.deal.soon .deal-img{border:2px dashed var(--color-line)}
.deal.soon .deal-img svg{width:100%;height:100%}
.deal.soon .btn{justify-self:start;margin-top:6px}
.alert-form{display:flex;gap:8px;flex:1;max-width:460px;min-width:min(100%,280px)}
.alert-form input{flex:1;min-width:0}

/* ---- Page produit ---- */
.pp-top{padding:28px 0 64px}
.price-box .tag{font-size:2.3rem}
.funnel-footer{border-top:1px solid var(--color-line);padding:28px 0 calc(28px + var(--sticky-offset,0px));margin-top:40px;font-size:.88rem;color:var(--color-muted)}
.funnel-footer .container{display:flex;flex-wrap:wrap;gap:14px 24px;align-items:center;justify-content:space-between}
.legal-links{display:flex;flex-wrap:wrap;gap:6px 18px}
.back-link{display:inline-block;font-size:.9rem;color:var(--color-muted);margin-bottom:18px}
.legal-body{display:grid;gap:12px;color:var(--color-muted)}
.legal-body dl{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:0}
.legal-body dt{font-weight:600;color:var(--color-text)}
.legal-body dd{margin:0}
.site-footer .legal-links{display:grid;gap:8px}
.site-footer .linklike{text-decoration:none;color:var(--color-muted);text-align:left}
.site-footer .linklike:hover{color:var(--color-text);text-decoration:underline}
.nav{align-items:center}
.nav .linklike{padding:6px 0;border-bottom:2px solid transparent;transition:border-color .2s}
.nav .linklike:hover{border-color:var(--color-text)}

/* ================================================================
   SITE FINAL : ajouts par rapport à la maquette
   ================================================================ */
/* Photos réelles (remplacent les illustrations provisoires) */
.img img,.thumb img,.line-img img,.t-img img,.photo{width:100%;height:100%;object-fit:cover;display:block}
.img-bg{background:var(--img-bg)}

/* Note de stock sous le bouton d'achat, bandeau « paiements de test », avertissement des projets de textes */
.stock-note{margin:10px 0 0;font-size:.9rem;color:var(--color-muted)}
.co-alert.test-mode{color:var(--color-text);border-color:var(--color-border,#E6E1D6);background:var(--color-surface-2)}
.draft-note{font-weight:600}

/* Liens de navigation (routeur sans #) */
a.nav-link{text-decoration:none;font-weight:550;font-size:.97rem}

/* Checkout : Stripe */
.stripe-mount{min-height:48px}
.express-mount{min-height:0}
.co-alert{border:1.5px solid var(--color-urgency);color:var(--color-urgency);border-radius:var(--radius-m);padding:12px 14px;font-size:.93rem}
.co-alert:empty{display:none}

/* Merci */
.pending-note{display:flex;gap:10px;align-items:center;color:var(--color-muted);font-size:.95rem;margin-top:14px}
.pending-note::before{content:"";width:1em;height:1em;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:spin .7s linear infinite;flex:none}

/* Suivi de commande (dans la fenêtre modale) */
.track-form{display:grid;gap:12px;margin-top:6px}
.track-result{border:1px solid var(--color-line);border-radius:var(--radius-m);padding:14px;background:var(--color-surface-2);color:var(--color-text)}
.track-result:empty{display:none}

/* Textes légaux */
.legal-body h3{font-size:1.02rem;color:var(--color-text);margin-top:8px}
.legal-body ul,.legal-body ol{margin:0;padding-left:20px;display:grid;gap:4px}
.legal-body a{color:var(--color-text)}
.legal-body .todo{background:var(--color-tag);color:var(--color-on-tag);border-radius:var(--radius-s);padding:0 6px;font-weight:600;font-size:.85em}

/* Cookies : personnalisation */
.consent-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:start;padding:14px 0;border-bottom:1px solid var(--color-line)}
.consent-row p{font-size:.88rem;color:var(--color-muted);margin-top:4px}
.switch{position:relative;width:46px;height:26px;flex:none}
.switch input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer;z-index:1}
.switch span{position:absolute;inset:0;border-radius:999px;background:var(--color-line);transition:background-color .2s}
.switch span::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .2s}
.switch input:checked + span{background:var(--color-success)}
.switch input:checked + span::after{transform:translateX(20px)}
.switch input:disabled + span{opacity:.6}
.switch input:focus-visible + span{outline:3px solid var(--color-accent);outline-offset:2px}

/* Administration */
.adm-login{max-width:420px;display:grid;gap:14px;margin-top:28px}
.adm-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.adm-order{border:1px solid var(--color-line);border-radius:var(--radius-m);background:var(--color-surface);padding:18px;display:grid;gap:10px;margin-bottom:14px}
.adm-order-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:baseline}
.adm-status{font-size:.8rem;font-weight:700;border-radius:var(--radius-s);padding:2px 8px;background:var(--color-surface-2)}
.adm-status.paid{background:var(--color-tag);color:var(--color-on-tag)}
.adm-status.shipped,.adm-status.delivered{background:var(--color-success);color:#fff}
.adm-ship{display:grid;grid-template-columns:1fr 1fr 1.4fr auto;gap:8px;align-items:end}
.adm-ship input,.adm-ship select{padding:.55rem .7rem;font-size:.92rem}
@media (max-width:760px){.adm-ship{grid-template-columns:1fr}}

/* Page introuvable */
.notfound{padding:96px 0 120px;max-width:640px}
.notfound p{margin-top:14px}

/* Galerie : jusqu'à 5 vignettes, défilement horizontal sur mobile */
.thumbs{overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.thumbs::-webkit-scrollbar{display:none}
.thumb{flex:none}
@media (max-width:520px){.thumb{width:62px;height:62px}}
.gallery-main .photo{transition:transform .6s cubic-bezier(.2,.8,.2,1)}
@media (hover:hover){.gallery-main:hover .img-b .photo{transform:scale(1.02)}}

/* Contenu du kit */
.kit-wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,72px);align-items:start}
.kit-visual{border-radius:var(--radius-l);overflow:hidden;aspect-ratio:1/1;box-shadow:var(--shadow);position:sticky;top:calc(env(safe-area-inset-top,0px) + var(--header-h) + 20px)}
.kit-visual img{width:100%;height:100%;object-fit:cover;display:block}
.kit-lead{margin-top:14px;max-width:48ch}
.kit-list{list-style:none;margin:22px 0 0;padding:0;border-top:1px solid var(--color-line)}
.kit-list li{display:grid;grid-template-columns:52px 1fr;gap:14px;align-items:start;padding:12px 0;border-bottom:1px solid var(--color-line)}
.kit-list p{color:var(--color-muted);font-size:.93rem;margin-top:2px}
.kit-n{min-width:34px;height:34px;padding:0 8px;border-radius:999px;background:var(--color-text);color:var(--color-bg);font-weight:700;font-size:.82rem;display:inline-grid;place-items:center;white-space:nowrap;justify-self:start}
@media (max-width:860px){.kit-wrap{grid-template-columns:1fr}.kit-visual{max-width:560px;position:static}}

/* Usages illustrés */
.uses{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:32px}
.use{margin:0;display:grid;gap:12px}
.use-img{aspect-ratio:4/3;border-radius:var(--radius-l);overflow:hidden}
.use-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
@media (hover:hover){.use:hover .use-img img{transform:scale(1.04)}}
.use figcaption{display:grid;gap:2px}
.use figcaption span{color:var(--color-muted);font-size:.93rem}
.use .use-tool{font-size:.8rem;font-weight:650;color:var(--color-text);margin-top:4px}
.use .use-tool::before{content:"Accessoire : ";font-weight:500;color:var(--color-muted)}
@media (max-width:860px){.uses{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.uses{grid-template-columns:1fr}}

/* Livraison : un seul mode, affiché comme une ligne d'information */
.ship-single{cursor:default;border-color:var(--color-text);background:var(--color-surface)}
.ship-single svg{flex:none}

/* Logo : couleurs pilotées ici (mode clair / sombre) */
:root{--logo-tag:var(--color-text);--logo-vein:#FFC83D;--logo-ink:var(--color-text);--logo-dot:#FFC83D}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--logo-tag:#FFC83D;--logo-vein:#13203A}}
:root[data-theme="dark"]{--logo-tag:#FFC83D;--logo-vein:#13203A}
.logo-svg{display:block;height:32px;width:auto;flex:none}
.site-footer .logo-svg{height:30px}
@media (max-width:520px){.logo-svg{height:28px}}

/* Code promo */
.promo-box summary{cursor:pointer;font-size:.95rem;text-decoration:underline;text-underline-offset:3px;width:max-content}
.promo-form{display:flex;gap:8px;margin-top:10px;max-width:420px}
.promo-form input{flex:1;min-width:0;text-transform:uppercase;letter-spacing:.04em}
.promo-applied{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.promo-chip{display:inline-flex;gap:8px;align-items:center;background:var(--color-tag);color:var(--color-on-tag);font-weight:650;border-radius:var(--radius-s);padding:5px 10px;font-size:.92rem;letter-spacing:.03em}

/* Page contact */
.contact-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:clamp(24px,5vw,72px);align-items:start}
.contact-aside{list-style:none;padding:0;margin:28px 0 0;display:grid;gap:14px;border-top:1px solid var(--color-line);padding-top:20px}
.contact-aside li{display:grid;gap:2px}
.contact-aside span{color:var(--color-muted)}
.contact-form{display:grid;gap:16px}
.contact-form input[type=file]{font:inherit;font-size:.92rem}
@media (max-width:860px){.contact-grid{grid-template-columns:1fr}}

/* Administration : codes promo */
.promo-create{display:grid;gap:14px;border:1px solid var(--color-line);border-radius:var(--radius-m);padding:18px;background:var(--color-surface)}
.adm-table{min-width:640px}
.adm-table th,.adm-table td{text-align:left;font-size:.92rem;padding:12px 10px}
@media (max-width:760px){.promo-create .grid-3{grid-template-columns:1fr}}
