/*
Theme Name: Parabellum Combat Club 2026
Theme URI: https://parabellum.club
Description: Nouvelle identité du Parabellum Combat Club : charbon, aubergine et or du bélier. Contenu des pages dans /vues, données du planning, des tarifs et de la FAQ dans /inc/donnees.php.
Author: Parabellum Combat Club
Version: 1.2.3
Requires at least: 6.4
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: parabellum-2026
*/

/* Identité : charbon, bordeaux et or du bélier. Alternance de sections sombres (marque) et claires (contenu).
   Une famille, Archivo, en largeur condensée pour les titres et normale pour le texte.
   Chaque section porte son contexte (.light / .paper / sombre par défaut) via des jetons locaux. */
:root{
  --ink:#0b0909; --coal:#141011; --bx:#3d0a2e; --bx2:#6e1a52; --gold:#f0c43f; --gold2:#f9da4b;
  --c-ad:#f0c43f; --c-gi:#d4708f; --c-je:#6fb1c4; --c-om:#9a8f91;
  --bg:#0b0909; --fg:#efe9df; --mut:#9d9294; --rule:#2b2325; --rule2:#3d3235; --card:#141011; --card2:#1c1718; --acc:#f0c43f; --today:#181314;
  --f:"Archivo","Arial Narrow",system-ui,sans-serif;
  --max:1280px; --gut:clamp(16px,4vw,48px);
  color-scheme:dark;
}
.light{--bg:#ffffff;--fg:#1a1412;--mut:#6c6260;--rule:#e7e1d9;--rule2:#d5ccc2;--card:#f5f2ed;--card2:#ece6de;--acc:#6e1a52;--today:#fbf5e5;background:var(--bg);color:var(--fg);color-scheme:light}
.paper{--bg:#f4f1ec;--fg:#1a1412;--mut:#6c6260;--rule:#e2dbd1;--rule2:#d0c7bc;--card:#ffffff;--card2:#faf8f5;--acc:#6e1a52;--today:#fbf5e5;background:var(--bg);color:var(--fg);color-scheme:light}
.dark{--bg:#0b0909;--fg:#efe9df;--mut:#9d9294;--rule:#2b2325;--rule2:#3d3235;--card:#141011;--card2:#1c1718;--acc:#f0c43f;background:var(--bg);color:var(--fg)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;background:var(--bg);color:var(--fg);font:400 17px/1.6 var(--f);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
p{margin:0}
button{font-family:inherit}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.wrap{max-width:var(--max);margin:0 auto;padding-inline:var(--gut)}
.d{font-family:var(--f);font-stretch:64%;font-weight:850;text-transform:uppercase;line-height:.9;letter-spacing:-.003em;margin:0;text-wrap:balance}
.h1{font-size:clamp(3rem,7.6vw,7rem)}
.h2{font-size:clamp(2.3rem,4.4vw,3.9rem)}
.h3{font-size:clamp(1.45rem,2vw,1.8rem);font-stretch:70%;line-height:1}
.lbl{font-stretch:88%;font-weight:600;font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;color:var(--mut)}
.acc{color:var(--acc)}
.lead{font-size:clamp(1.06rem,1.35vw,1.2rem);color:var(--mut);max-width:56ch}
.mut{color:var(--mut)}
.sec{padding-block:clamp(64px,8.5vw,120px)}
.sec.tight{padding-top:0}
.head{display:grid;gap:16px;margin-bottom:clamp(32px,4.5vw,56px);max-width:760px}
.head.row{max-width:none;display:flex;flex-wrap:wrap;gap:16px 40px;align-items:end;justify-content:space-between}
.head.row>div{display:grid;gap:16px;max-width:720px}
.head.center{margin-inline:auto;text-align:center;justify-items:center}
.small{font-size:.88rem}

/* Boutons et liens */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;font:700 .9rem/1 var(--f);font-stretch:85%;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;padding:17px 24px;background:transparent;color:var(--fg);border:1px solid var(--rule2);cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.btn .ar{display:inline-block;transition:transform .25s}
.btn:hover .ar{transform:translateX(5px)}
.btn:hover{border-color:var(--fg);background:var(--fg);color:var(--bg)}
.btn.pri{background:var(--gold);color:var(--ink);border-color:var(--gold);clip-path:polygon(0 0,100% 0,100% calc(100% - 11px),calc(100% - 11px) 100%,0 100%)}
.btn.pri:hover{background:var(--gold2);border-color:var(--gold2);color:var(--ink)}
.btn.inv{background:var(--ink);color:var(--gold);border-color:var(--ink)}
.btn.sm{padding:13px 18px;font-size:.8rem}
.link{font-stretch:85%;font-weight:700;font-size:.84rem;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:var(--acc);display:inline-flex;gap:10px;align-items:center}
.link .ar{transition:transform .25s}
.link:hover .ar{transform:translateX(4px)}
.row-btns{display:flex;flex-wrap:wrap;gap:12px}

/* Barre utilitaire */
.util{border-bottom:1px solid var(--rule);font-size:.8rem;color:var(--mut);background:var(--ink)}
.util .wrap{display:flex;justify-content:space-between;align-items:center;gap:20px;height:38px}
.util a{text-decoration:none}.util a:hover{color:var(--fg)}
.util div{display:flex;gap:22px;align-items:center}
@media (max-width:900px){.util{display:none}}

/* Header + menus déroulants */
#hdr{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:var(--ink);border-bottom:1px solid var(--rule)}
.nav{display:flex;align-items:center;gap:18px;height:78px;transition:height .3s}
#hdr.shrink .nav{height:64px}
.logo{flex-shrink:0;display:block}
.logo img{height:54px;width:auto;filter:contrast(1.5);mix-blend-mode:screen;transition:height .3s}
#hdr.shrink .logo img{height:44px}
.menu{display:flex;align-items:center;gap:0;margin-left:auto}
.menu>a,.dd>a{position:relative;display:inline-flex;align-items:center;gap:6px;font-stretch:85%;font-weight:600;font-size:.84rem;letter-spacing:.11em;text-transform:uppercase;text-decoration:none;padding:28px 12px;color:#cbc2bf}
#hdr.shrink .menu>a,#hdr.shrink .dd>a{padding-block:21px}
.dd>a::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-3px);margin-left:2px}
.menu>a:hover,.dd:hover>a,.menu a.on{color:#fff}
.menu a.on{box-shadow:inset 0 -2px 0 var(--gold)}
.dd{position:relative}
.ddm{position:absolute;top:100%;left:0;min-width:250px;background:var(--coal);border:1px solid var(--rule2);border-top:2px solid var(--gold);padding:8px 0;display:grid;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .2s,transform .2s,visibility .2s}
.dd:hover .ddm,.dd:focus-within .ddm{opacity:1;visibility:visible;transform:none}
.ddm a{padding:11px 20px;text-decoration:none;color:#cbc2bf;font-size:.93rem;display:flex;justify-content:space-between;gap:16px}
.ddm a small{color:var(--mut);font-size:.8rem}
.ddm a:hover{background:#1c1718;color:#fff}
.ddm p{padding:12px 20px 4px;border-top:1px solid var(--rule);margin-top:6px}
.burger{display:none;margin-left:auto;width:48px;height:48px;background:none;border:1px solid var(--rule2);cursor:pointer;position:relative}
.burger span,.burger span::before{position:absolute;left:13px;right:13px;height:2px;background:#efe9df;content:"";transition:transform .3s}
.burger span{top:23px}.burger span::before{left:0;right:0;top:-7px}
.burger[aria-expanded="true"] span{transform:rotate(45deg)}
.burger[aria-expanded="true"] span::before{transform:translateY(7px) rotate(-90deg)}
@media (max-width:1120px){.menu{display:none}.burger{display:block}.nav>.btn{display:none}}
.mnav{position:fixed;inset:0;z-index:45;background:var(--ink);padding:110px var(--gut) 40px;display:none;overflow:auto}
.mnav.open{display:block}
.mnav .grp{display:grid;gap:2px;padding-block:14px;border-bottom:1px solid var(--rule)}
.mnav .grp a{font:800 1.7rem/1.15 var(--f);font-stretch:66%;text-transform:uppercase;text-decoration:none;padding:4px 0}
.mnav .btn{margin-top:24px;width:100%}

/* Vues et apparitions */
.view{display:none}
.view.on{display:block;animation:vin .4s cubic-bezier(.2,.7,.2,1)}
@keyframes vin{from{opacity:.4}to{opacity:1}}
.rv{transform:translateY(22px);transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.rv.in{transform:none}
@media (prefers-reduced-motion:reduce){.view.on{animation:none}.rv{transform:none;transition:none}html{scroll-behavior:auto}}

/* Hero */
.hero{position:relative;overflow:hidden;min-height:min(80vh,760px);display:flex;align-items:flex-end;background:var(--ink)}
.hero-bg{position:absolute;inset:0}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:66% 30%;filter:grayscale(1) contrast(1.15) brightness(.72)}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,9,9,.95) 10%,rgba(11,9,9,.55) 52%,rgba(61,10,46,.4) 100%),linear-gradient(0deg,rgba(11,9,9,.9) 0%,transparent 40%)}
.hero .wrap{position:relative;width:100%;padding-block:clamp(80px,11vw,140px) 52px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:end}
.hero-tx{display:grid;gap:26px}
/* Devise en blanc, « Parabellum » surligné en aubergine de la charte, coin coupé comme le bouton principal */
.hero .h1{color:#fff}
.hero .h1 em,.motto blockquote span{font-style:normal;color:#fff;background:var(--bx2);display:table;padding:.1em .14em .02em;margin:.1em 0 0 -.14em;clip-path:polygon(0 0,100% 0,100% calc(100% - .2em),calc(100% - .2em) 100%,0 100%)}
.next{display:grid;gap:8px;min-width:260px;padding:20px 22px;border:1px solid var(--rule2);border-top:3px solid var(--bx2);background:rgba(11,9,9,.62);backdrop-filter:blur(8px);text-decoration:none}
.next:hover{border-color:var(--gold)}
.next b{font:800 1.5rem/1.05 var(--f);font-stretch:70%;text-transform:uppercase}
.next time{font-weight:600;color:var(--gold);font-variant-numeric:tabular-nums}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--gold);margin-right:8px;box-shadow:0 0 0 0 rgba(240,196,63,.6);animation:pulse 2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 9px rgba(240,196,63,0)}100%{box-shadow:0 0 0 0 rgba(240,196,63,0)}}
@media (max-width:860px){.hero .wrap{grid-template-columns:1fr}.next{justify-self:start}}

/* Présentation */
.intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(36px,6vw,96px);align-items:start}
.intro-l{display:grid;gap:20px;align-content:start}
.feats{display:grid;border-top:1px solid var(--rule)}
.feat{display:grid;grid-template-columns:40px minmax(0,1fr);gap:16px;padding:22px 0;border-bottom:1px solid var(--rule)}
.feat i{width:40px;height:40px;border:1px solid var(--rule2);display:grid;place-items:center;font:800 .9rem var(--f);font-style:normal;color:var(--acc)}
.feat h3{font:800 1.15rem/1.2 var(--f);font-stretch:78%;text-transform:uppercase;margin:0 0 4px}
.feat p{color:var(--mut);font-size:.96rem}
@media (max-width:860px){.intro{grid-template-columns:1fr}}

/* Chiffres */
.stats-band{position:relative;overflow:hidden;background:radial-gradient(ellipse at 22% 50%,#4a0d38 0%,#2a011f 45%,#12040d 100%);color:#fff}
.sb-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:clamp(24px,5vw,72px);align-items:center;padding-block:clamp(48px,6vw,80px)}
.sb-logo img{width:100%;max-width:440px;margin-inline:auto;mix-blend-mode:screen;filter:contrast(1.35) saturate(1.1)}
.stats{display:grid;grid-template-columns:1fr 1fr}
.stat{padding:clamp(22px,3vw,36px) clamp(16px,2.4vw,32px);display:grid;gap:10px;border-left:1px solid rgba(255,255,255,.16)}
.stat:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.16)}
.stat b{font:850 clamp(3rem,6vw,5.2rem)/.9 var(--f);font-stretch:62%;font-variant-numeric:tabular-nums;color:var(--gold2)}
.stat .lbl{color:#e6d3dd}
@media (max-width:760px){.sb-in{grid-template-columns:1fr}.sb-logo img{max-width:240px}.stat:nth-child(odd){border-left:0}}

/* Cartes */
.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.6vw,20px)}
.card{background:var(--card);display:grid;align-content:start;text-decoration:none;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s;position:relative}
.card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(20,12,10,.12)}
.card .ph{aspect-ratio:4/3;overflow:hidden;background:var(--card2);position:relative}
.card .ph img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05);transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.card:hover .ph img{transform:scale(1.05)}
.card .tx{padding:22px 22px 24px;display:grid;gap:10px;align-content:start}
.card .tx p:not(.lbl):not(.d){color:var(--mut);font-size:.95rem}
.card.top{border-top:3px solid var(--c)}
.ph.ram-ph{display:grid;place-items:center;background:var(--bx)}
.ph.ram-ph::before{content:"";position:absolute;inset:14%;background:url("photos-optimisees/marque/belier.jpg") center/contain no-repeat;filter:grayscale(1) contrast(1.6);mix-blend-mode:screen;opacity:.22}
.ph.ram-ph span{position:relative;font:600 .72rem var(--f);letter-spacing:.16em;text-transform:uppercase;color:#f0d9df}
@media (max-width:1000px){.cards{grid-template-columns:1fr 1fr}}
@media (max-width:540px){.cards{grid-template-columns:1fr}}

/* Professeurs (accueil) */
.team{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,2vw,24px)}
.tm{text-decoration:none;display:grid;gap:14px}
.tm .ph{aspect-ratio:4/5;overflow:hidden;background:var(--card2)}
.tm .ph img{width:100%;height:100%;object-fit:cover;object-position:center 22%;filter:grayscale(1) contrast(1.1);transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.tm:hover .ph img{transform:scale(1.04)}
.tm p.mut{font-size:.92rem;margin-top:4px}
@media (max-width:700px){.team{grid-template-columns:1fr 1fr}.team .tm:last-child{display:none}}

/* Vie du club : avis + Instagram */
.life{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:clamp(28px,5vw,72px);align-items:start}
.rev{display:grid;gap:14px;padding:clamp(24px,3vw,36px);background:var(--card);border-top:3px solid var(--bx2)}
.rev .score{display:flex;align-items:baseline;gap:14px}
.rev .score b{font:850 4.4rem/.85 var(--f);font-stretch:62%;color:var(--bx)}
.stars{color:var(--gold);letter-spacing:.06em}
.rev ul{list-style:none;padding:0;margin:4px 0 0;display:grid;gap:10px}
.rev li{display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px;font-size:.96rem}
.rev li::before{content:"";width:8px;height:8px;margin-top:9px;background:var(--bx2)}
.ig{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.ig a{position:relative;aspect-ratio:1;overflow:hidden;background:var(--card2)}
.ig img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.ig a:hover img{transform:scale(1.06)}
.play{position:absolute;left:10px;bottom:10px;width:34px;height:34px;border-radius:50%;background:rgba(11,9,9,.75);display:grid;place-items:center}
.play::after{content:"";border-left:11px solid #fff;border-block:7px solid transparent;margin-left:3px}
@media (max-width:860px){.life{grid-template-columns:1fr}}

/* CTA bordeaux */
.cta{position:relative;overflow:hidden;background:var(--bx);color:#fff}
.cta::before,.ram::after{content:"";position:absolute;right:-5%;top:50%;width:min(56vw,680px);aspect-ratio:1600/1176;transform:translateY(-50%);background:url("photos-optimisees/marque/belier.jpg") center/contain no-repeat;filter:grayscale(1) contrast(1.6);mix-blend-mode:screen;opacity:.09;pointer-events:none}
.cta .wrap{position:relative;padding-block:clamp(56px,8vw,104px);display:flex;flex-wrap:wrap;gap:28px 48px;align-items:center;justify-content:space-between}
.cta .wrap>div{display:grid;gap:16px;max-width:680px}
.cta p:not(.lbl){color:#ecd5db}
.cta .lbl{color:#e9c3cd}

/* En-têtes de pages intérieures */
.ph-head{position:relative;overflow:hidden;background:var(--ink);color:#efe9df;border-bottom:1px solid var(--rule)}
.ph-head .bg{position:absolute;inset:0}
.ph-head .bg img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.15) brightness(.5)}
.ph-head .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--ink) 12%,rgba(11,9,9,.45) 75%)}
.ph-head .wrap{position:relative;padding-block:clamp(56px,8vw,112px) clamp(40px,5vw,60px);display:grid;gap:20px}
.ph-head .lead{color:#c9bfbc}
.crumb{font-size:.8rem;color:#9d9294}
.crumb a{text-decoration:none}.crumb a:hover{color:#fff}

/* Le club */
.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,88px);align-items:start}
@media (max-width:860px){.two{grid-template-columns:1fr}}
.tl{border-top:1px solid var(--rule)}
.tli{display:grid;grid-template-columns:110px minmax(0,1fr);gap:24px;padding:24px 0;border-bottom:1px solid var(--rule)}
.tli b{font:850 2.5rem/.9 var(--f);font-stretch:62%;color:var(--acc)}
.tli h3{font:800 1.2rem/1.15 var(--f);font-stretch:75%;text-transform:uppercase;margin:0 0 6px}
.tli p{color:var(--mut);font-size:.97rem}
.motto{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--ink);color:#efe9df}
.motto .ph{min-height:500px;background:url("photos-optimisees/club/team-de-dos-si-vis-pacem.jpg") center 30%/cover}
.motto .tx{padding:clamp(36px,6vw,84px);display:grid;gap:22px;align-content:center}
.motto blockquote{margin:0;font:850 clamp(2.6rem,4.6vw,4.2rem)/.9 var(--f);font-stretch:62%;text-transform:uppercase}
@media (max-width:860px){.motto{grid-template-columns:1fr}.motto .ph{min-height:360px}}
.esprit{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:center}
.collage{display:grid;grid-template-columns:1.25fr 1fr;grid-template-rows:1fr 1fr;gap:8px;aspect-ratio:1/1;max-width:100%}
.collage img{width:100%;height:100%;object-fit:cover;filter:grayscale(.15)}
.collage img:first-child{grid-row:1/3}
.esprit-tx{display:grid;gap:22px}
.esprit-tx>p.mut{font-size:1.08rem}
.vlist{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--rule)}
.vlist div{padding:20px 20px 20px 0;border-bottom:1px solid var(--rule);display:grid;gap:6px;align-content:start}
.vlist div:nth-child(even){padding-left:20px;border-left:1px solid var(--rule)}
.vlist h3{color:var(--acc)}
.vlist p{color:var(--mut);font-size:.95rem}
@media (max-width:860px){.esprit{grid-template-columns:1fr}}
@media (max-width:480px){.vlist{grid-template-columns:1fr}.vlist div:nth-child(even){padding-left:0;border-left:0}}
.ped-img{width:100%;aspect-ratio:4/5;object-fit:cover;filter:grayscale(1) contrast(1.08)}
.subnav{background:var(--ink);border-bottom:1px solid var(--rule)}
.subnav .wrap{display:flex;gap:4px;overflow-x:auto}
.subnav a{padding:16px 18px;font-stretch:85%;font-weight:600;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:#9d9294;border-bottom:2px solid transparent;white-space:nowrap}
.subnav a:hover{color:#fff}
.subnav a.on{color:#fff;border-color:var(--gold)}
.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.6vw,20px)}
.plan{background:var(--card);text-decoration:none;display:grid;transition:box-shadow .3s,transform .3s}
.plan:hover{box-shadow:0 18px 40px rgba(20,12,10,.12);transform:translateY(-3px)}
.plan .im{aspect-ratio:4/3;background:#fff;padding:12px;border:1px solid var(--rule)}
.plan .im img{width:100%;height:100%;object-fit:contain}
.plan .tx{padding:16px 18px;display:flex;justify-content:space-between;align-items:center;gap:12px}
@media (max-width:760px){.plans{grid-template-columns:1fr}}
.fight{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);background:var(--card)}
.fight img{width:100%;height:100%;object-fit:cover;min-height:340px}
.fight .tx{padding:clamp(28px,4vw,52px);display:grid;gap:16px;align-content:center}
@media (max-width:760px){.fight{grid-template-columns:1fr}}

/* Disciplines */
.dlayout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:clamp(28px,5vw,64px);align-items:start}
.dindex{position:sticky;top:96px;display:grid;gap:2px}
.dindex a{text-decoration:none;font-stretch:85%;font-weight:600;font-size:.84rem;letter-spacing:.1em;text-transform:uppercase;padding:11px 14px;color:var(--mut);border-left:2px solid var(--rule)}
.dindex a:hover,.dindex a.on{color:var(--fg);border-color:var(--bx2)}
.dindex p{margin:16px 0 6px 16px}
.dblock{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(24px,4vw,48px);padding-bottom:clamp(48px,6vw,80px);margin-bottom:clamp(48px,6vw,80px);border-bottom:1px solid var(--rule);scroll-margin-top:100px;align-items:start}
.dblock:last-child{border:0;margin:0;padding:0}
.dblock .ph{aspect-ratio:4/5;overflow:hidden;background:var(--card2)}
.dblock .ph img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.08)}
.dblock .tx{display:grid;gap:20px;align-content:start}
.facts{display:grid;border-top:1px solid var(--rule);margin:0}
.facts div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:16px;padding:12px 0;border-bottom:1px solid var(--rule);font-size:.96rem}
.facts dt{font-stretch:88%;font-weight:600;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mut);padding-top:3px}
.facts dd{margin:0}
@media (max-width:980px){.dlayout{grid-template-columns:1fr}.dindex{position:static;display:flex;overflow-x:auto;gap:4px}.dindex a{border-left:0;border-bottom:2px solid var(--rule);white-space:nowrap}.dindex p{display:none}}
@media (max-width:700px){.dblock{grid-template-columns:1fr}.dblock .ph{aspect-ratio:16/10;order:-1}}
.path{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.6vw,20px);counter-reset:p}
.path div{background:var(--card);padding:26px 24px;display:grid;gap:10px;align-content:start;counter-increment:p;position:relative}
.path div::before{content:"Étape " counter(p,decimal-leading-zero);font-stretch:88%;font-weight:700;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--acc)}
.path p:not(.d){color:var(--mut);font-size:.95rem}
.path small{font-weight:600;font-size:.84rem}
@media (max-width:900px){.path{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.path{grid-template-columns:1fr}}

/* Professeurs */
.coach{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(28px,5vw,80px);align-items:center;padding-block:clamp(44px,6vw,80px);border-top:1px solid var(--rule)}
.coach:first-child{border-top:0;padding-top:0}
.coach:nth-child(even) .ph{order:2}
.coach .ph{aspect-ratio:4/5;overflow:hidden;background:var(--card2)}
.coach .ph img{width:100%;height:100%;object-fit:cover;object-position:center 20%;filter:grayscale(1) contrast(1.1)}
.coach .tx{display:grid;gap:20px}
.tape{display:grid;border:1px solid var(--rule);margin:0}
.tape div{display:grid;grid-template-columns:150px minmax(0,1fr);border-bottom:1px solid var(--rule)}
.tape div:last-child{border:0}
.tape dt{padding:12px 16px;background:var(--card);font-stretch:88%;font-weight:600;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mut)}
.tape dd{margin:0;padding:11px 16px;font-weight:600}
.tape dd.tbd{color:var(--mut);font-weight:400;font-style:italic}
@media (max-width:820px){.coach{grid-template-columns:1fr}.coach:nth-child(even) .ph{order:0}.coach .ph{aspect-ratio:1}}
@media (max-width:480px){.tape div{grid-template-columns:1fr}}

/* Planning */
.fbar{position:sticky;top:64px;z-index:20;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--rule)}
.fbar .wrap{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;padding-block:14px}
.seg{display:flex;flex-wrap:wrap;gap:4px}
.seg button,.tog{font-stretch:85%;font-weight:600;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;padding:10px 13px;background:var(--card);color:var(--fg);border:1px solid var(--rule);cursor:pointer;display:inline-flex;gap:8px;align-items:center}
.seg button:hover,.tog:hover{border-color:var(--rule2)}
.seg button[aria-pressed="true"],.tog[aria-pressed="true"]{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.seg i{width:8px;height:8px;background:var(--c)}
.fcount{margin-left:auto;font-size:.85rem;color:var(--mut)}
.grid{display:grid;grid-template-columns:90px repeat(7,minmax(0,1fr));border:1px solid var(--rule)}
.gh{padding:14px 10px;border-bottom:1px solid var(--rule);border-left:1px solid var(--rule);font:800 1.1rem/1 var(--f);font-stretch:68%;text-transform:uppercase;display:flex;justify-content:space-between;align-items:baseline;gap:6px}
.gh small{font:700 .6rem var(--f);letter-spacing:.12em;color:var(--acc)}
.gh.now{background:var(--today);box-shadow:inset 0 3px 0 var(--bx2)}
.band{padding:14px 12px;border-bottom:1px solid var(--rule);font-stretch:85%;font-weight:600;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}
.cell{padding:8px;border-left:1px solid var(--rule);border-bottom:1px solid var(--rule);display:grid;gap:6px;align-content:start;min-height:64px}
.cell.now{background:var(--today)}
.cls{all:unset;box-sizing:border-box;cursor:pointer;display:grid;gap:3px;padding:9px 10px;background:var(--card);border-left:3px solid var(--c);transition:background .2s,transform .2s}
.cls:hover{background:var(--card2);transform:translateY(-1px)}
.cls:focus-visible{outline:2px solid var(--bx2)}
.cls time{font-size:.76rem;font-weight:600;color:var(--mut);font-variant-numeric:tabular-nums}
.cls b{font-stretch:80%;font-weight:700;font-size:.86rem;line-height:1.15;text-transform:uppercase}
.cls em{font-style:normal;font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--acc)}
.days{display:none;gap:4px;overflow-x:auto;margin-bottom:16px}
.mlist{display:none}
.legend{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:18px;font-size:.85rem;color:var(--mut)}
.legend span{display:inline-flex;gap:8px;align-items:center}
.legend i{width:10px;height:10px;background:var(--c)}
.notes3{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,1.6vw,20px);margin-top:36px}
.notes3 div{background:var(--card);padding:22px 24px;display:grid;gap:6px;align-content:start}
.notes3 p:not(.lbl){font-size:.94rem;color:var(--mut)}
@media (max-width:980px){
  .grid{display:none}.days{display:flex}.mlist{display:grid;gap:22px}
  .mband{display:grid;gap:4px}.mband .band{border:0;padding:0 0 6px}
  .mlist .cls{grid-template-columns:110px minmax(0,1fr);align-items:center;padding:15px}
  .mlist .cls time{font-size:.95rem;color:var(--fg)}
  .mlist .cls em{grid-column:2}
  .notes3{grid-template-columns:1fr}.fcount{margin-left:0}
}
.scrim{position:fixed;inset:0;background:rgba(11,9,9,.55);z-index:80;opacity:0;pointer-events:none;transition:opacity .3s}
.scrim.on{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(460px,100%);z-index:81;transform:translateX(100%);transition:transform .4s cubic-bezier(.2,.7,.2,1),visibility .4s;display:grid;grid-template-rows:auto 1fr auto;visibility:hidden;box-shadow:-20px 0 60px rgba(0,0,0,.25)}
.drawer.on{transform:none;visibility:visible}
.dr-head{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;border-bottom:1px solid var(--rule)}
.x{background:none;border:1px solid var(--rule2);color:var(--fg);width:42px;height:42px;cursor:pointer;font-size:1.05rem}
.dr-body{padding:28px 24px;overflow:auto;display:grid;gap:22px;align-content:start}
.dr-foot{padding:20px 24px calc(20px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--rule);display:grid;gap:10px}

/* Tarifs */
.statement{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(24px,5vw,72px);align-items:center;padding:clamp(28px,4vw,48px);background:var(--ink);color:#efe9df;margin-top:calc(-1 * clamp(40px,5vw,60px));position:relative;z-index:2}
.statement p.mut{color:#c9bfbc}
@media (max-width:760px){.statement{grid-template-columns:1fr}}
.ptabs{display:inline-flex;border:1px solid var(--rule2);margin-bottom:28px;background:var(--card)}
.ptabs button{font-stretch:85%;font-weight:700;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;padding:13px 20px;background:none;border:0;color:var(--mut);cursor:pointer}
.ptabs button[aria-selected="true"]{background:var(--fg);color:var(--bg)}
.prices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.6vw,20px);align-items:start}
.price{background:var(--card);border:1px solid var(--rule);padding:28px 26px;display:grid;gap:14px;position:relative}
.price.hl{border:2px solid var(--bx2)}
.price .tag{position:absolute;top:-12px;left:24px;background:var(--bx2);color:#fff;font:700 .68rem/1 var(--f);letter-spacing:.14em;text-transform:uppercase;padding:7px 10px}
.price .amt{font:850 3.4rem/1 var(--f);font-stretch:62%;color:var(--fg)}
.price .amt small{font:600 .95rem var(--f);color:var(--mut);margin-left:4px}
.price .eq{font-weight:600;font-size:.92rem;color:var(--acc)}
.price ul{list-style:none;padding:14px 0 0;margin:0;display:grid;gap:9px;border-top:1px solid var(--rule);font-size:.94rem}
.price li{padding-left:24px;position:relative}
.price li::before{content:"✓";position:absolute;left:0;color:var(--bx2);font-weight:800}
.price .btn{margin-top:6px}
@media (max-width:980px){.prices{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.prices{grid-template-columns:1fr}}
.modal3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--rule)}
.modal3 div{padding:26px 26px 26px 0;display:grid;gap:8px;align-content:start}
.modal3 div+div{padding-left:26px;border-left:1px solid var(--rule)}
.modal3 p:not(.d){color:var(--mut);font-size:.95rem}
@media (max-width:760px){.modal3{grid-template-columns:1fr}.modal3 div+div{border-left:0;padding-left:0;border-top:1px solid var(--rule)}}

/* Inscription */
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.6vw,20px);counter-reset:s}
.step{background:var(--card);padding:26px 22px;display:grid;gap:10px;align-content:start;counter-increment:s;border-top:3px solid var(--bx2)}
.step::before{content:counter(s,decimal-leading-zero);font:850 2.4rem/1 var(--f);font-stretch:62%;color:var(--acc)}
.step p:not(.d){color:var(--mut);font-size:.95rem}
@media (max-width:900px){.steps{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}
.check{display:grid;gap:4px}
.check label{display:flex;gap:14px;align-items:flex-start;padding:15px 16px;background:var(--card);cursor:pointer}
.check input{appearance:none;-webkit-appearance:none;width:22px;height:22px;border:2px solid var(--rule2);background:#fff;flex-shrink:0;margin:1px 0 0;display:grid;place-content:center;cursor:pointer}
.check input:checked{background:var(--bx2);border-color:var(--bx2)}
.check input:checked::after{content:"✓";color:#fff;font-weight:800;font-size:13px}
.check input:checked+span{color:var(--mut);text-decoration:line-through}
.check small{display:block;color:var(--mut);font-size:.85rem}
.docs{display:grid;gap:4px}
.docs a{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:16px;align-items:center;padding:16px;background:var(--card);text-decoration:none;transition:background .2s}
.docs a:hover{background:var(--card2)}
.docs i{width:44px;height:52px;border:1px solid var(--rule2);display:grid;place-items:center;font:700 .62rem var(--f);font-style:normal;letter-spacing:.1em;color:var(--acc);background:var(--bg)}
.docs small{display:block;color:var(--mut);font-size:.84rem}
.rules{list-style:none;padding:0;margin:0;border-top:1px solid var(--rule)}
.rules li{padding:14px 0;border-bottom:1px solid var(--rule);display:grid;grid-template-columns:24px minmax(0,1fr);gap:8px;font-size:.97rem}
.rules li::before{content:"—";color:var(--acc)}
.gloves{width:100%;border-collapse:collapse;font-size:.95rem}
.gloves th,.gloves td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--rule)}
.gloves th{font-stretch:88%;font-weight:600;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mut);background:var(--card)}
.gloves td{font-variant-numeric:tabular-nums}

/* Essai */
.book{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:start}
@media (max-width:900px){.book{grid-template-columns:1fr}}
.stepper{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-bottom:28px}
.stepper span{font-stretch:85%;font-weight:700;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;padding:12px 10px;background:var(--card);color:var(--mut);text-align:center}
.stepper span.on{background:var(--gold);color:var(--ink)}
.stepper span.done{background:var(--bx2);color:#fff}
.pane{display:none;gap:18px}.pane.on{display:grid}
.opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
@media (max-width:520px){.opts{grid-template-columns:1fr}}
.opt{text-align:left;background:var(--card);border:1px solid var(--rule);border-left:3px solid var(--c,var(--rule2));color:var(--fg);padding:18px 20px;cursor:pointer;display:grid;gap:4px;font:inherit}
.opt:hover{border-color:var(--rule2);border-left-color:var(--c,var(--rule2))}
.opt[aria-pressed="true"]{background:#fff;border-color:var(--bx2);border-left-color:var(--bx2);box-shadow:0 0 0 1px var(--bx2)}
.opt b{font:850 1.45rem/1 var(--f);font-stretch:64%;text-transform:uppercase}
.opt small{color:var(--mut);font-size:.88rem}
.slots{display:grid;gap:6px;max-height:440px;overflow:auto;padding-right:4px}
.slots .opt{grid-template-columns:120px minmax(0,1fr);align-items:center}
.slots .opt b{font:700 1rem/1.2 var(--f);font-stretch:85%;text-transform:none}
.form{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form .full{grid-column:1/-1}
@media (max-width:560px){.form{grid-template-columns:1fr}}
.field{display:grid;gap:7px}
.field label{font-stretch:88%;font-weight:600;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mut)}
.field input,.field select,.field textarea{background:#fff;border:1px solid var(--rule2);color:var(--fg);font:inherit;font-size:1rem;padding:14px;border-radius:0;width:100%}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--bx2);outline-offset:-1px}
.pnav{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:8px}
.err{color:#b3264b;font-size:.92rem;min-height:1.2em}
.recap{background:var(--ink);color:#efe9df;padding:28px;display:grid;gap:18px;position:sticky;top:96px}
.recap dl{margin:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 18px}
.recap dt{font-stretch:88%;font-weight:600;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:#9d9294;padding-top:3px}
.recap dd{margin:0;font-weight:600}
.recap .amt{font:850 2.8rem/1 var(--f);font-stretch:62%;color:var(--gold)}
.okbox{display:grid;gap:18px;padding:34px;border:2px solid var(--bx2);background:var(--card)}

/* FAQ */
.faqg{display:grid;grid-template-columns:220px minmax(0,1fr);gap:clamp(20px,4vw,56px);padding-block:28px;border-top:1px solid var(--rule)}
.faqg:first-child{border-top:0;padding-top:0}
@media (max-width:760px){.faqg{grid-template-columns:1fr}}
.faq details{border-bottom:1px solid var(--rule)}
.faq details:first-child{border-top:1px solid var(--rule)}
.faq summary{list-style:none;cursor:pointer;padding:20px 48px 20px 0;font:700 1.12rem/1.35 var(--f);font-stretch:88%;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:6px;top:13px;font:300 1.9rem var(--f);color:var(--acc);transition:transform .25s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 0 22px;color:var(--mut);max-width:70ch}

/* Médias */
.mtabs{margin-bottom:28px}
.masonry{columns:3 280px;column-gap:8px}
.mi{break-inside:avoid;margin:0 0 8px;position:relative;display:block;width:100%;padding:0;border:0;background:var(--card2);cursor:pointer;overflow:hidden;text-align:left;color:#fff;text-decoration:none;font:inherit}
.mi img{width:100%;height:auto;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.mi:hover img{transform:scale(1.04)}
.mi .tag{position:absolute;top:12px;left:12px;font-stretch:85%;font-weight:700;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;background:var(--ink);padding:6px 9px}
.mi .tag.bot{top:auto;bottom:12px}
.mi .play{width:52px;height:52px;left:50%;top:50%;bottom:auto;transform:translate(-50%,-50%)}
.lb{position:fixed;inset:0;z-index:90;background:rgba(8,6,6,.96);display:none;grid-template-columns:60px minmax(0,1fr) 60px;align-items:center;gap:12px;padding:20px;color:#efe9df}
.lb.on{display:grid}
.lb figure{margin:0;display:grid;gap:14px;justify-items:center}
.lb img{max-height:78vh;width:auto;max-width:100%}
.lb figcaption{color:#c9bfbc;font-size:.92rem;text-align:center}
.lb figcaption:empty{display:none}
.lb>button{background:none;border:1px solid #3d3235;color:#efe9df;height:52px;cursor:pointer;font-size:1.3rem}
.lb .x{position:absolute;top:20px;right:20px;width:52px;height:52px}
@media (max-width:640px){.lb{grid-template-columns:40px minmax(0,1fr) 40px;padding:10px;gap:6px}}
.socials{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:40px}
.socials a{background:var(--card);padding:clamp(24px,4vw,40px);display:flex;justify-content:space-between;align-items:end;gap:16px;text-decoration:none;transition:background .2s}
.socials a:hover{background:var(--bx)}
@media (max-width:640px){.socials{grid-template-columns:1fr}}

/* Boutique */
.shop{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.6vw,20px)}
.prod{background:var(--card);display:grid;text-decoration:none;align-content:start;transition:box-shadow .3s}
.prod:hover{box-shadow:0 18px 40px rgba(20,12,10,.12)}
.prod .vis{aspect-ratio:1;display:grid;place-items:center;padding:13%;background:#ebe6df}
.prod svg{width:100%;height:auto;overflow:visible;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.prod:hover svg{transform:translateY(-6px) rotate(-1.5deg)}
.prod{border-top:3px solid var(--bx2)}.prod .tx{padding:26px 24px 26px;display:grid;gap:10px}
.prod .tx span:not(.link){font-size:.88rem;color:var(--mut)}
@media (max-width:980px){.shop{grid-template-columns:1fr 1fr}}
.worn{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:8px;margin-top:clamp(12px,1.6vw,20px)}
.worn img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/5}
@media (max-width:640px){.worn{grid-template-columns:1fr 1fr}}

/* Contact */
.info{display:grid;border-top:1px solid var(--rule);margin:0}
.info div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:16px;padding:16px 0;border-bottom:1px solid var(--rule)}
.info dt{font-stretch:88%;font-weight:600;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mut);padding-top:4px}
.info dd{margin:0}
@media (max-width:480px){.info div{grid-template-columns:1fr;gap:4px}}
.map{position:relative;aspect-ratio:1;max-width:100%;background:#ece7e0;overflow:hidden}
.map>svg{position:absolute;inset:0;width:100%;height:100%}
.map .pin{position:absolute;left:52%;top:47%;transform:translate(-50%,-100%)}
.map .card2{position:absolute;left:20px;bottom:20px;right:20px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;background:var(--ink);color:#efe9df;padding:18px 20px}

/* Footer */
footer{background:var(--ink);color:#efe9df;border-top:1px solid var(--rule)}
.foot{display:grid;grid-template-columns:1.4fr repeat(4,minmax(0,1fr));gap:36px;padding-block:64px 36px}
.foot img{height:92px;width:auto;filter:contrast(1.5);mix-blend-mode:screen;margin:-8px 0 12px -6px}
.foot h4{margin:0 0 16px;font-stretch:88%;font-weight:600;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.foot ul{list-style:none;padding:0;margin:0;display:grid;gap:10px;font-size:.95rem}
.foot a{text-decoration:none;color:#cbc2bf}.foot a:hover{color:#fff}
.legal{border-top:1px solid var(--rule);padding-block:20px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;font-size:.82rem;color:#9d9294}
.legal a{text-decoration:none}
@media (max-width:980px){.foot{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.foot{grid-template-columns:1fr}}

/* Mobile : usage principal */
a,button,summary,label{-webkit-tap-highlight-color:transparent}
.mquick{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:14px}
.mquick a{text-align:center;padding:14px 6px;border:1px solid var(--rule2);text-decoration:none;font-stretch:85%;font-weight:700;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:#cbc2bf}
.mnav .grp a{padding-block:7px}
@media (max-width:1120px){
  .nav{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;gap:12px}
  .logo{grid-column:2;justify-self:center}
  .burger{grid-column:3;margin-left:0}
}
@media (max-width:980px){
  .fbar{position:static}
  .fbar .wrap{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
  .fbar .wrap>*{min-width:0}
  .seg{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:calc(-1 * var(--gut));padding-inline:var(--gut)}
  .seg::-webkit-scrollbar{display:none}
  .seg button{flex-shrink:0}
  .days{position:sticky;top:64px;z-index:15;background:var(--bg);margin-inline:calc(-1 * var(--gut));padding:10px var(--gut);border-bottom:1px solid var(--rule);scrollbar-width:none}
  .days::-webkit-scrollbar{display:none}
}
@media (max-width:760px){
  .seg button,.tog{padding:14px 15px}
  .link{padding-block:11px}
  .crumb a{display:inline-block;padding-block:10px}
  .info dd a,.foot a,.util a{display:inline-block;padding-block:8px}
  .mi .tag,.price .tag{font-size:.72rem}
  .masonry{columns:2 auto;column-gap:6px}
  .mi{margin-bottom:6px}
  .hero .wrap{padding-top:64px}
  .sec{padding-block:clamp(56px,14vw,72px)}
}
@media (max-width:600px){
  .cards,.team{grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:82%;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:calc(-1 * var(--gut));padding:0 var(--gut) 10px;scroll-padding-inline:var(--gut);scrollbar-width:none;gap:12px}
  .cards::-webkit-scrollbar,.team::-webkit-scrollbar{display:none}
  .cards>*,.team>*{scroll-snap-align:start}
  .team .tm:last-child{display:grid}
}
/* Parcours : carrousel sur mobile */
.pdots{display:none}
@media (max-width:760px){
  .path{grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:82%;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:calc(-1 * var(--gut));padding:0 var(--gut) 4px;scroll-padding-inline:var(--gut);scrollbar-width:none;gap:12px}
  .path::-webkit-scrollbar{display:none}
  .path>div{scroll-snap-align:start}
  .pdots{display:flex;justify-content:center;gap:2px;margin-top:14px}
  .pdots button{width:34px;height:34px;padding:0;border:0;background:none;cursor:pointer;display:grid;place-items:center}
  .pdots button::before{content:"";width:8px;height:8px;background:var(--rule2);transition:width .3s,background .3s}
  .pdots button[aria-current="true"]::before{width:24px;background:var(--acc)}
}

/* ---------- Ajouts pour WordPress ---------- */
.skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--gold);color:var(--ink);padding:12px 16px;font-weight:700;text-decoration:none}
.skip:focus{left:16px;top:16px}
@media (min-width:783px){.admin-bar #hdr{top:32px}}
@media (min-width:601px) and (max-width:782px){.admin-bar #hdr{top:46px}}
#sections{scroll-margin-top:100px}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.btn[disabled]{opacity:.6;cursor:wait}
[hidden]:not([hidden=until-found i]){display:none!important}
.sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Contour de focus visible aussi sur les fonds clairs */
.light :focus-visible,.paper :focus-visible,.drawer :focus-visible{outline-color:var(--bx2)}

/* Titres sémantiques (h1, h2, h3) qui gardent l'apparence de la maquette */
.hero h1.hx{display:grid;gap:26px;margin:0;font:inherit}
.hero h1.hx>span{display:block}
.faqg h2{margin:0}

/* Mobile : pas de débordement sur 320 px, textes de 12 px minimum, zones tactiles confortables */
.stepper{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:900px){.book{grid-template-columns:minmax(0,1fr)}}
@media (max-width:420px){.stepper span{padding:12px 4px;letter-spacing:.06em;overflow-wrap:anywhere}}
@media (max-width:760px){
  .legal a{display:inline-block;padding-block:10px}
  .facts dt,.tape dt,.info dt,.recap dt,.field label,.band,.price .tag,.mi .tag,.gloves th,.stepper span,.cls em{font-size:.75rem}
}

/* Pages rédigées dans l'éditeur (mentions légales…) */
.prose{max-width:760px;display:grid;gap:18px;color:var(--fg)}
.prose h2,.prose h3{font-family:var(--f);font-stretch:70%;font-weight:850;text-transform:uppercase;line-height:1;margin:18px 0 0}
.prose h2{font-size:clamp(1.8rem,3vw,2.4rem)}
.prose h3{font-size:1.4rem}
.prose a{color:var(--acc)}
.prose ul,.prose ol{margin:0;padding-left:1.3em;display:grid;gap:6px}
.prose article{display:grid;gap:8px;padding-bottom:24px;border-bottom:1px solid var(--rule)}
.prose article a{text-decoration:none}
