/*
Theme Name: Musettezone Child
Theme URI: https://musettezone.com
Description: Child theme Astra — direction « Chalk & Tarmac ». Fonts auto-hébergées (RGPD), palette bordeaux, home premium.
Author: Musettezone
Template: astra
Version: 1.0
Text Domain: musettezone-child
*/

/* ============ FONTS AUTO-HÉBERGÉES (RGPD-safe) ============ */
@font-face{font-family:'Archivo';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/archivo-400.woff2') format('woff2')}
@font-face{font-family:'Archivo';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/archivo-600.woff2') format('woff2')}
@font-face{font-family:'Archivo';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/archivo-700.woff2') format('woff2')}
@font-face{font-family:'Archivo';font-style:normal;font-weight:800;font-display:swap;src:url('fonts/archivo-800.woff2') format('woff2')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/jbmono-400.woff2') format('woff2')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/jbmono-500.woff2') format('woff2')}

/* ============ PALETTE GLOBALE (Chalk & Tarmac) ============ */
:root{
  --mz-chalk:#ECEBE6; --mz-surface:#F6F5F1; --mz-white:#FFFFFF;
  --mz-tarmac:#17181A; --mz-ink-soft:#63666A; --mz-line:#D9D8D1;
  --mz-bordeaux:#8B2439; --mz-bordeaux-d:#6f1c2e;
  --mz-display:'Archivo',"Helvetica Neue",Arial,system-ui,sans-serif;
  --mz-mono:'JetBrains Mono',ui-monospace,Menlo,Consolas,monospace;
  /* remappe l'accent Astra sur le bordeaux */
  --ast-global-color-0:#8B2439; --ast-global-color-1:#6f1c2e;
  --ast-global-color-2:#17181A; --ast-global-color-3:#3a3c40;
}

/* ============ TYPO & BASE SITE ============ */
body,button,input,select,textarea{font-family:var(--mz-display)}
body{background:var(--mz-chalk);color:#2a2c2f}
h1,h2,h3,h4,h5,.site-title,.entry-title,.widget-title{font-family:var(--mz-display);font-weight:800;letter-spacing:-.025em}
.site-title a{font-weight:800;letter-spacing:-.03em}
a{color:var(--mz-bordeaux)}
a:hover{color:var(--mz-bordeaux-d)}

/* Boutons premium (carrés, tarmac ; primaire = bordeaux) */
.ast-button,.button,button,.wp-block-button__link,input[type=submit],
.woocommerce a.button,.woocommerce button.button,.woocommerce .button{
  border-radius:2px!important;font-family:var(--mz-mono);font-weight:500;
  letter-spacing:.1em;text-transform:uppercase;font-size:.78rem;
  background:var(--mz-tarmac);border-color:var(--mz-tarmac);color:var(--mz-chalk)}
.woocommerce a.button.alt,.woocommerce button.button.alt,.wp-block-button__link:hover{
  background:var(--mz-bordeaux);border-color:var(--mz-bordeaux);color:#fff}
.woocommerce span.price,.woocommerce .price{font-family:var(--mz-mono);font-weight:500}

/* Header un poil plus premium */
.ast-primary-header-bar{border-bottom:1px solid var(--mz-line)}

/* ================================================================
   HOME  (scopé .mz-home)
   ================================================================ */
.mz-home{--wrap:min(1240px,92vw)}
.mz-home .mz-wrap{width:var(--wrap);margin-inline:auto}
.mz-home .mz-eyebrow{font-family:var(--mz-mono);font-size:.7rem;letter-spacing:.22em;
  text-transform:uppercase;color:var(--mz-bordeaux);display:inline-block}

/* hero */
.mz-hero .mz-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:2rem;align-items:center;
  padding-block:clamp(3rem,7vw,6rem)}
.mz-hero h1{font-size:clamp(2.6rem,7vw,5.6rem);line-height:.98;letter-spacing:-.035em;
  margin:.9rem 0 0;text-wrap:balance;color:var(--mz-tarmac)}
.mz-hero h1 em{font-style:normal;color:var(--mz-bordeaux)}
.mz-hero .mz-lead{max-width:46ch;color:var(--mz-ink-soft);font-size:1.05rem;margin:1.3rem 0 0}
.mz-cta{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.9rem}
.mz-btn{font-family:var(--mz-mono);font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;
  padding:.95rem 1.5rem;border-radius:2px;border:1px solid var(--mz-tarmac);
  background:var(--mz-tarmac);color:var(--mz-chalk);display:inline-block;transition:transform .15s,background .2s}
.mz-btn:hover{transform:translateY(-2px);color:var(--mz-chalk)}
.mz-btn.mz-accent{background:var(--mz-bordeaux);border-color:var(--mz-bordeaux);color:#fff}
.mz-btn.mz-ghost{background:transparent;color:var(--mz-tarmac);border-color:var(--mz-line)}
.mz-btn.mz-ghost:hover{border-color:var(--mz-tarmac);color:var(--mz-tarmac)}
/* colonne droite du hero = carrousel L'échappée (remplace l'ancien décor à barres) ;
   min-width:0 obligatoire : grid item + scroller overflow-x = blowout sinon */
.mz-hero-rail{min-width:0}
@media(max-width:820px){.mz-hero .mz-grid{grid-template-columns:1fr}}

/* trust */
.mz-trust{border-block:1px solid var(--mz-line);background:var(--mz-surface)}
.mz-trust .mz-wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;padding-block:1.1rem}
.mz-trust span.i{display:flex;align-items:center;gap:.55rem;justify-content:center;text-align:center;
  font-family:var(--mz-mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mz-ink-soft)}
.mz-trust span.i b{width:.4rem;height:.4rem;background:var(--mz-bordeaux);border-radius:50%;flex:none}
@media(max-width:720px){.mz-trust .mz-wrap{grid-template-columns:repeat(2,1fr);gap:.9rem 1rem}}

/* section shell */
.mz-sec{padding-block:clamp(3.5rem,8vw,7rem)}
.mz-sec.alt{background:var(--mz-surface);border-block:1px solid var(--mz-line)}
.mz-head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:2.4rem;flex-wrap:wrap}
.mz-head h2{font-size:clamp(1.9rem,4.4vw,3.1rem);line-height:1;margin:.5rem 0 0;color:var(--mz-tarmac);text-wrap:balance}
.mz-link{font-family:var(--mz-mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--mz-tarmac);border-bottom:1px solid var(--mz-bordeaux);padding-bottom:.2rem;white-space:nowrap}
.mz-link:hover{color:var(--mz-bordeaux)}

/* kit grid */
.mz-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
@media(max-width:900px){.mz-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.mz-cards{grid-template-columns:1fr}}
.mz-card{background:var(--mz-white);border:1px solid var(--mz-line);border-radius:2px;overflow:hidden;
  transition:transform .2s,box-shadow .3s,border-color .2s;display:block;color:inherit}
.mz-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px -24px rgba(0,0,0,.5);border-color:var(--mz-ink-soft)}
.mz-kit{aspect-ratio:4/5;position:relative;overflow:hidden}
.mz-kit .n{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--mz-display);
  font-weight:800;font-size:5.5rem;color:#fff;opacity:.16;letter-spacing:-.04em}
.mz-kit .ch{position:absolute;left:.7rem;bottom:.7rem;display:flex;gap:.28rem}
.mz-kit .ch i{width:.85rem;height:.85rem;border-radius:1px;box-shadow:0 0 0 1px rgba(0,0,0,.15)}
.mz-cb{padding:1rem 1.05rem 1.15rem;display:flex;justify-content:space-between;align-items:flex-start;gap:.8rem}
.mz-cb .t{font-family:var(--mz-display);font-weight:700;font-size:.98rem;letter-spacing:-.01em;line-height:1.2;color:var(--mz-tarmac)}
.mz-cb .tag{font-family:var(--mz-mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mz-ink-soft);margin-top:.35rem;display:block}
.mz-cb .p{font-family:var(--mz-mono);font-size:.9rem;font-weight:500;white-space:nowrap;color:var(--mz-tarmac)}

/* story */
.mz-story{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
@media(max-width:820px){.mz-story{grid-template-columns:1fr}}
.mz-art{aspect-ratio:5/4;border-radius:2px;position:relative;overflow:hidden;
  background:repeating-linear-gradient(90deg,var(--mz-tarmac) 0 6px,transparent 6px 22px),
  linear-gradient(160deg,var(--mz-bordeaux),#4a1520)}
.mz-art span{position:absolute;left:1.2rem;bottom:1.1rem;font-family:var(--mz-mono);font-size:.64rem;
  letter-spacing:.16em;text-transform:uppercase;color:#fff;background:rgba(0,0,0,.28);padding:.35rem .6rem;border-radius:1px}
.mz-story h2{font-size:clamp(1.9rem,4.6vw,3rem);line-height:1.02;margin:.8rem 0 0;color:var(--mz-tarmac);text-wrap:balance}
.mz-story p{color:var(--mz-ink-soft);max-width:52ch;margin:1.2rem 0 0;font-size:1.02rem}

/* tiers */
.mz-tiers{background:var(--mz-tarmac);color:var(--mz-chalk)}
.mz-tiers .mz-wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#33353a}
.mz-tier{background:var(--mz-tarmac);padding:clamp(2rem,4vw,3.2rem) clamp(1.4rem,3vw,2.4rem)}
.mz-tier .n{font-family:var(--mz-display);font-weight:800;font-size:clamp(2.6rem,6vw,4.2rem);letter-spacing:-.04em;line-height:1;color:var(--mz-bordeaux)}
.mz-tier .l{font-family:var(--mz-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;margin-top:.6rem}
.mz-tier .d{color:rgba(236,235,230,.62);font-size:.9rem;margin-top:.5rem}
@media(max-width:720px){.mz-tiers .mz-wrap{grid-template-columns:1fr}}

/* newsletter */
.mz-news{text-align:center}
.mz-news h2{font-size:clamp(1.9rem,4.6vw,3rem);margin:.5rem 0 0;color:var(--mz-tarmac);text-wrap:balance}
.mz-news p{color:var(--mz-ink-soft);margin:1rem auto 0;max-width:44ch}
.mz-news form{display:flex;gap:.6rem;max-width:440px;margin:1.8rem auto 0;flex-wrap:wrap;justify-content:center}
.mz-news input{flex:1;min-width:220px;background:var(--mz-white);border:1px solid var(--mz-line);border-radius:2px;padding:.9rem 1rem;color:var(--mz-tarmac)}
.mz-news input:focus{outline:2px solid var(--mz-bordeaux);outline-offset:1px;border-color:transparent}

/* util a11y */
.mz-vh{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ============================================================
   UX/UI HARDENING — standard 2026 (WCAG 2.2 AA · Core Web Vitals)
   ============================================================ */
/* Header collant + ancrages non masqués sous le header */
.site-header{position:sticky;top:0;z-index:99}
html{scroll-padding-top:96px}
.mz-home [id]{scroll-margin-top:96px}

/* Anti-débordement horizontal + césure des grands titres (≤360px) */
.mz-home{overflow-x:clip}
.mz-hero h1,.mz-head h2,.mz-story h2,.mz-news h2{overflow-wrap:break-word}

/* Cibles tactiles : ≥48px (Apple 44 / Material 48) ; CTA mobile 54px */
.mz-btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center}
.mz-link{display:inline-block;padding-block:.45rem;min-height:24px}
@media(max-width:600px){
  .mz-cta{gap:.7rem}
  .mz-cta .mz-btn{flex:1 1 auto;min-height:54px}
  .mz-news form .mz-btn{min-height:54px}
}

/* Focus visible partout (WCAG 2.2 · contraste ≥3:1) */
.mz-home a:focus-visible,.mz-link:focus-visible,.mz-card:focus-visible,.mz-news input:focus-visible{
  outline:3px solid var(--mz-bordeaux);outline-offset:2px}
.mz-btn:focus-visible{outline:3px solid #fff;outline-offset:-3px;box-shadow:0 0 0 3px var(--mz-bordeaux)}

/* Lisibilité des plus petits labels */
.mz-cb .tag{font-size:.66rem}

/* Responsive au niveau composant (container queries) */
.mz-card{container-type:inline-size}
@container (max-width:210px){.mz-cb{flex-direction:column;gap:.35rem}}

/* Motion : respect de prefers-reduced-motion */
@media(prefers-reduced-motion:reduce){
  .mz-card,.mz-btn{transition:none}
  html{scroll-behavior:auto}
}

/* ============================================================
   HEADER PREMIUM — translucide, transparent au-dessus du hero
   ============================================================ */
/* menu en mono uppercase (technique/premium) */
#masthead .ast-nav-menu .menu-link,#masthead .main-header-menu .menu-link,
.ast-header-navigation-wrap a.menu-link{
  font-family:var(--mz-mono);text-transform:uppercase;font-size:.72rem;letter-spacing:.1em;font-weight:500}

/* header translucide sur toutes les pages */
.site-header{background:color-mix(in srgb,var(--mz-chalk) 85%,transparent);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}

/* accueil : transparent fixé au-dessus du hero, solidifié au scroll */
.home .site-header{position:fixed;left:0;right:0;top:0;background:transparent;
  -webkit-backdrop-filter:none;backdrop-filter:none;border-bottom:1px solid transparent;
  transition:background .3s ease,backdrop-filter .3s ease,border-color .3s ease}
.home.mz-scrolled .site-header{background:color-mix(in srgb,var(--mz-chalk) 90%,transparent);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom-color:var(--mz-line)}
.home .mz-hero{padding-top:clamp(96px,11vw,140px)}

/* ---- Menu « Équipes » : 20 items → panneau 2 colonnes desktop
   (Baymard : découper >10 sous-entrées, jamais sous la ligne de
   flottaison). columns et pas display:grid : Astra pilote l'ouverture
   du .sub-menu via display, on ne doit pas l'écraser ---- */
@media (min-width:922px){
  .mz-nav-teams .sub-menu{columns:2;column-gap:0;width:34em;max-width:min(80vw,34em)}
  .mz-nav-teams .sub-menu .menu-item{break-inside:avoid}
}
.mz-nav-tier{font-family:var(--mz-mono);font-size:.62em;letter-spacing:.08em;
  text-transform:uppercase;color:var(--mz-bordeaux);margin-left:.45em;vertical-align:middle}
/* off-canvas mobile : nos liens mono (10.5px × line-height 3em Astra = 31.5px)
   faisaient des lignes plus courtes que le toggle Astra (font 14.6px → 43.8px),
   qui débordait de 12px sous la ligne, bord bas mangé par l'item suivant.
   48px = cible tactile standard ET plus haut que le bouton, recalé dessus */
@media (max-width:921px){
  #masthead .main-header-menu .menu-link{line-height:48px}
  /* toggle compact : carré 36px centré dans la ligne de 48 (demande owner),
     cadre au tap supprimé (focus-visible clavier seulement, bordeaux maison) */
  #masthead .main-header-menu .ast-menu-toggle{height:36px;width:36px;line-height:36px;
    top:6px;right:12px;padding:0;text-align:center;border-radius:2px;
    background:transparent;border:0;box-shadow:none} /* sinon le style bouton global Astra (fond + ombre) dessine une boîte en relief autour du chevron */
  #masthead .main-header-menu .ast-menu-toggle:focus{outline:none}
  #masthead .main-header-menu .ast-menu-toggle:focus-visible{outline:3px solid var(--mz-bordeaux);outline-offset:2px}
}

/* ---- Logotype (piste 01) : titre de site en wordmark + point bordeaux ---- */
.ast-site-identity .site-title{margin:0;line-height:1}
.ast-site-identity .site-title a{font-family:var(--mz-display);font-weight:800;
  text-transform:uppercase;letter-spacing:-.03em;color:var(--mz-tarmac);
  font-size:clamp(1.2rem,2.6vw,1.55rem);line-height:1;white-space:nowrap}
.ast-site-identity .site-title a:hover,.ast-site-identity .site-title a:focus{color:var(--mz-tarmac)}
.ast-site-identity .site-title a::after{content:".";color:var(--mz-bordeaux)}

/* visuel produit = vraie photo si dispo (sinon color-code) */
/* cadre calé sur le ratio réel des clichés (3/4) → aucun rognage du maillot ; contain par sécurité */
.mz-kit-img{background:var(--mz-surface);padding:6% 8%;aspect-ratio:3/4}
.mz-kit-img img{width:100%;height:100%;object-fit:contain;display:block}

/* ============================================================
   L'ÉCHAPPÉE — carrousel produits (vit dans la colonne droite
   du hero). Scroll-snap natif + drift auto, flèches = alternative
   au glisser (WCAG 2.2 · 2.5.7), cibles 46px, zéro CLS (flex-basis
   fixe + aspect-ratio des cartes).
   ============================================================ */
.mz-car{position:relative}
.mz-car-scroller{overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:2px;
  overscroll-behavior-x:contain;touch-action:pan-x pan-y;
  scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:2px 2px 6px}
.mz-car-scroller::-webkit-scrollbar{display:none}
.mz-car-scroller:focus-visible{outline:3px solid var(--mz-bordeaux);outline-offset:2px}
/* .mz-car en préfixe : bat les styles de liste du contenu (entry-content ul,
   spécificité 0,1,1) qui posaient padding-left 20px → snap initial décalé */
.mz-car .mz-car-track{list-style:none;margin:0;padding:0;display:flex;gap:1.2rem}
/* content-visibility : les slides hors viewport du rail ne sont pas rendues ;
   la largeur reste tenue par flex-basis, l'intrinsic-size ne sert qu'au skip */
.mz-car .mz-car-slide{flex:0 0 clamp(230px,21vw,290px);scroll-snap-align:start;display:flex;margin:0;padding:0;
  content-visibility:auto;contain-intrinsic-size:240px 420px}
.mz-car-slide .mz-card{width:100%}
/* dans la colonne hero (étroite) : carte plus compacte, peek toujours visible */
.mz-hero .mz-car-slide{flex-basis:min(240px,78%)}
/* mobile : snap-stop empêche un flick de sauter plusieurs cartes */
@media(max-width:600px){.mz-car .mz-car-slide,.mz-hero .mz-car-slide{flex-basis:min(72vw,290px);scroll-snap-stop:always}}

/* flèches : rendues côté PHP mais affichées seulement une fois câblées (is-ready) ;
   masquées si tout tient sans défiler (mz-car-static) */
.mz-car-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:46px;height:46px;
  display:none;align-items:center;justify-content:center;padding:0;cursor:pointer;
  border:1px solid var(--mz-line);border-radius:2px;
  background:color-mix(in srgb,var(--mz-chalk) 92%,transparent);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  color:var(--mz-tarmac);font-family:var(--mz-mono);font-size:1.05rem;line-height:1;
  transition:background .2s,border-color .2s,opacity .2s}
.mz-car.is-ready .mz-car-btn{display:flex}
.mz-car.mz-car-static .mz-car-btn{display:none}
.mz-car-prev{left:-8px}
.mz-car-next{right:-8px}
.mz-car-btn:hover,
.mz-car-btn:focus{border-color:var(--mz-tarmac);background:var(--mz-white);color:var(--mz-tarmac)}
.mz-car-btn:disabled{opacity:.35;cursor:default}
.mz-car-btn:disabled:hover{border-color:var(--mz-line);background:color-mix(in srgb,var(--mz-chalk) 92%,transparent)}
.mz-car-btn:focus-visible{outline:3px solid var(--mz-bordeaux);outline-offset:2px;box-shadow:none}
@media(prefers-reduced-motion:reduce){.mz-car-scroller{scroll-behavior:auto}}

/* défilement auto : snap relâché pendant le drift (sinon mandatory verrouille),
   rétabli dès que l'utilisateur reprend la main */
.mz-car-auto .mz-car-scroller{scroll-snap-type:none}
/* aligné à gauche : à droite il passerait sous le FAB panier (fixe bas-droite) */
.mz-car-foot{display:none;justify-content:flex-start;margin-top:.7rem}
.mz-car.mz-car-can-auto .mz-car-foot{display:flex}
.mz-car.mz-car-can-auto.mz-car-static .mz-car-foot{display:none}
.mz-car-foot .mz-car-btn{position:static;transform:none;width:40px;height:40px}
.mz-car-play .i-play{display:none}
.mz-car-play.is-paused .i-pause{display:none}
.mz-car-play.is-paused .i-play{display:block}

/* ============================================================
   PAGE PRODUIT (WooCommerce) — Chalk & Tarmac
   ============================================================ */
.woocommerce div.product{padding-block:clamp(1.5rem,4vw,3rem)}
.woocommerce div.product .product_title{font-family:var(--mz-display);font-weight:800;letter-spacing:-.025em;
  color:var(--mz-tarmac);font-size:clamp(1.6rem,3.6vw,2.6rem);line-height:1.05;margin-bottom:.4em}
.woocommerce div.product p.price,.woocommerce div.product span.price{font-family:var(--mz-mono);font-weight:500;
  color:var(--mz-tarmac);font-size:1.5rem}
.woocommerce div.product .woocommerce-product-details__short-description{color:var(--mz-ink-soft);font-size:1.02rem;max-width:52ch}
.woocommerce div.product form.cart{margin-top:1.5rem;gap:.8rem;align-items:center}
.woocommerce .single_add_to_cart_button.button{min-height:52px;padding-inline:2rem}
.woocommerce-breadcrumb{font-family:var(--mz-mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--mz-ink-soft)}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{font-family:var(--mz-mono);text-transform:uppercase;
  font-size:.72rem;letter-spacing:.1em;font-weight:500}
.woocommerce .product .related>h2,.woocommerce .product .upsells>h2,.woocommerce div.product .woocommerce-tabs h2{
  font-family:var(--mz-display);font-weight:800;letter-spacing:-.02em;color:var(--mz-tarmac)}

/* Filet template-agnostique : quel que soit le rendu (classique ou blocs) */
body.single-product h1{font-family:var(--mz-display)!important;font-weight:800;letter-spacing:-.025em;text-align:left!important;color:var(--mz-tarmac)}
body.single-product .has-cardo-font-family{font-family:var(--mz-display)!important}
body.single-product .woocommerce-Price-amount,body.single-product .price,body.single-product .wc-block-components-product-price{font-family:var(--mz-mono)!important}

/* color-code en visuel produit (sans photo) */
.mz-single-kit{aspect-ratio:4/5;border-radius:2px;position:relative;overflow:hidden}
.mz-single-kit .n{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--mz-display);
  font-weight:800;font-size:clamp(4rem,12vw,8rem);color:#fff;opacity:.16;letter-spacing:-.04em}
.mz-single-kit .ch{position:absolute;left:1rem;bottom:1rem;display:flex;gap:.3rem}
.mz-single-kit .ch i{width:1rem;height:1rem;border-radius:1px;box-shadow:0 0 0 1px rgba(0,0,0,.15)}

/* ---- Sélecteur de langue (header) ---- */
.lang-item > a{font-family:var(--mz-mono);text-transform:uppercase;font-size:.72rem;letter-spacing:.08em}
.lang-item.current-lang > a{font-weight:700;opacity:.5;pointer-events:none}
.lang-item.lang-item-first{margin-left:.5rem;padding-left:.85rem;border-left:1px solid var(--mz-line)}
@media(max-width:921px){.lang-item.lang-item-first{border-left:0;padding-left:0;margin-left:0}}

/* ============================================================
   RÉASSURANCE (garanties) — PDP · panier · checkout
   ============================================================ */
.mz-assurance{list-style:none;margin:0;padding:0}
.mz-assurance li{display:flex;flex-direction:column;gap:.12rem}
.mz-assurance .mz-a-t{font-family:var(--mz-mono);font-weight:500;text-transform:uppercase;
  font-size:.72rem;letter-spacing:.09em;color:var(--mz-tarmac);line-height:1.25}
.mz-assurance .mz-a-d{font-size:.78rem;color:var(--mz-ink-soft);line-height:1.3}
.mz-assurance li b{width:.42rem;height:.42rem;border-radius:50%;background:var(--mz-bordeaux);
  flex:none;margin-bottom:.15rem}

/* Variante PDP : encart 2×2 sous l'ajout au panier */
.mz-assurance--pdp{margin-top:1.6rem;padding-top:1.4rem;border-top:1px solid var(--mz-line);
  display:grid;grid-template-columns:1fr 1fr;gap:1.1rem 1.4rem;max-width:34rem}
@media(max-width:420px){.mz-assurance--pdp{grid-template-columns:1fr;gap:.9rem}}

/* Variante checkout/panier : bandeau centré sous le bloc */
.mz-assurance--checkout{display:flex;flex-wrap:wrap;justify-content:center;gap:1.4rem 2.4rem;
  margin:2.4rem auto 0;padding:1.5rem 1rem 0;border-top:1px solid var(--mz-line);max-width:960px}
.mz-assurance--checkout li{align-items:center;text-align:center}
.mz-assurance--checkout .mz-a-d{font-size:.74rem}

/* ============================================================
   PAGE PRODUIT — micro-détails typo & espacement (classique)
   ============================================================ */
/* colonne résumé : rythme vertical plus premium */
.woocommerce div.product .entry-summary > *{margin-block:.5rem}
.woocommerce div.product .price{margin-top:.2rem;margin-bottom:1rem;line-height:1}
.woocommerce div.product .price del{color:var(--mz-ink-soft);opacity:.6;font-weight:400;margin-right:.5rem}
.woocommerce div.product .price ins{text-decoration:none;color:var(--mz-bordeaux)}
.woocommerce div.product .woocommerce-product-details__short-description{line-height:1.6;margin-bottom:.4rem}

/* galerie : cadre net, fond surface, angles maison */
.woocommerce div.product .woocommerce-product-gallery{background:var(--mz-surface);
  border:1px solid var(--mz-line);border-radius:2px;padding:clamp(.6rem,2vw,1.4rem)}
.woocommerce div.product .woocommerce-product-gallery img{border-radius:2px}
.woocommerce div.product .flex-control-thumbs li{padding-top:.6rem}

/* champ quantité aligné sur la charte (carré, mono) */
.woocommerce .quantity .qty{font-family:var(--mz-mono);border:1px solid var(--mz-line);border-radius:2px;
  background:var(--mz-white);color:var(--mz-tarmac);height:52px;padding:0 .5rem}
.woocommerce div.product form.cart .quantity{margin-right:.7rem}
.woocommerce .quantity .qty:focus{outline:2px solid var(--mz-bordeaux);outline-offset:1px;border-color:transparent}

/* meta produit (réf / catégorie) discret en mono */
.woocommerce div.product .product_meta{font-family:var(--mz-mono);font-size:.7rem;letter-spacing:.05em;
  text-transform:uppercase;color:var(--mz-ink-soft);border-top:1px solid var(--mz-line);
  margin-top:1.6rem;padding-top:1.1rem;line-height:1.9}
.woocommerce div.product .product_meta a{color:var(--mz-tarmac)}
.woocommerce div.product .product_meta a:hover{color:var(--mz-bordeaux)}

/* onglets : filet propre, actif en bordeaux */
.woocommerce div.product .woocommerce-tabs ul.tabs{border-bottom:1px solid var(--mz-line);padding-left:0}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{border-color:var(--mz-line)}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:transparent;border:0;border-radius:0}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{border-bottom:2px solid var(--mz-bordeaux)}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{color:var(--mz-ink-soft);padding:.6rem .2rem;margin-right:1.4rem}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--mz-tarmac)}

/* fil d'Ariane : plus d'air au-dessus du titre */
.woocommerce .woocommerce-breadcrumb{margin-bottom:1.4rem}
