/* Pages d'inscription GymHub.fr : même ambiance que le site (noir et blanc, Montserrat léger, espacé) */
@font-face{font-family:Montserrat;font-style:normal;font-weight:300 700;font-display:swap;src:url(/assets/fonts/montserrat-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:Montserrat;font-style:normal;font-weight:300 700;font-display:swap;src:url(/assets/fonts/montserrat-latin.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
:root{--black:#000;--white:#fff;--ink:#111;--grey:#5E6470;--line:#9a9a9a;--check:#2DBE4E;--err:#B3261E;--f:"Montserrat",system-ui,sans-serif}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--white);color:var(--ink);font:300 16px/1.6 var(--f);letter-spacing:.03em}
h1,h2,h3{font-weight:400;letter-spacing:.08em;line-height:1.2;text-wrap:balance}
p{text-wrap:pretty}
a{color:inherit;text-decoration:none}
a:hover{opacity:.6}
img{max-width:100%;height:auto}
.wrap{max-width:1180px;margin:0 auto;padding-inline:16px}
.wrap.narrow{max-width:880px}

header.site{border-bottom:1px solid rgba(0,0,0,.08)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:16px}
.logo{display:inline-flex;color:var(--black)}
.logo svg{width:150px;height:auto;display:block}
.back-hub{font-size:.9rem}

.insc-head{background:var(--black);color:var(--white);text-align:center;padding-block:28px 32px}
.insc-head .wrap{display:flex;flex-direction:column;align-items:center;gap:10px}
.insc-head .brand-logo{width:auto;height:44px}
.insc-head .logo-runup{height:62px}
.insc-head .logo-platinum{height:36px}
.insc-head .logo-planete-fitness{height:46px}
.insc-head h1{font-size:clamp(1.3rem,2.6vw,1.9rem);text-transform:uppercase;margin:0}
.lead{font-size:.95rem;margin:0}
.price{display:flex;align-items:baseline;justify-content:center;flex-wrap:wrap;gap:4px 12px}
.price b{font-size:2rem;font-weight:700}
.price s{color:#8C9099;font-size:.9rem}
.price em{font-style:normal;background:var(--white);color:var(--black);border-radius:999px;padding:1px 9px;font-weight:600;font-size:.8rem}
.perks{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:4px 20px;font-size:.82rem;color:#D5D8DD;max-width:860px}
.perks li::before{content:"✓\00a0";color:var(--check)}

.insc-body{padding-block:28px 64px}
.steps{list-style:none;margin:0 0 18px;padding:0;display:flex;gap:8px;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--line)}
.steps li{flex:1 1 0;border-top:3px solid #ddd;padding-top:6px}
.steps li.on{color:var(--black);border-color:var(--black)}
.notice{border:1px solid var(--black);border-radius:6px;padding:10px 14px;margin:0 0 16px}

.form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 16px}
.form fieldset{grid-column:1/-1;border:0;border-top:1px solid var(--line);margin:0;padding:14px 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 16px;min-width:0}
.form legend{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500;padding-right:12px}
.c1{grid-column:span 1}.c2{grid-column:span 2}.c4,.full,.consent{grid-column:1/-1}
.field{display:flex;flex-direction:column;gap:5px;min-width:0}
label,.label{font-size:.8rem;letter-spacing:.02em}
input,select{font:inherit;font-size:.92rem;letter-spacing:inherit;height:36px;padding:4px 10px;border:1px solid var(--black);border-radius:6px;background:var(--white);color:var(--ink);width:100%}
input:focus-visible,select:focus-visible,button:focus-visible,canvas:focus-visible{outline:2px solid var(--black);outline-offset:2px}
.invalid{border-color:var(--err);box-shadow:0 0 0 1px var(--err)}
.chk{display:flex;gap:8px;align-items:flex-start;font-size:.82rem;line-height:1.45}
.chk input{width:15px;height:15px;padding:0;margin:2px 0 0;flex:none;accent-color:var(--black)}
.chk a{font-weight:600}
.chk.invalid{box-shadow:none;color:var(--err)}
.consent{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--line);padding-top:14px}
canvas#signature{width:100%;height:110px;border:1px solid var(--black);border-radius:6px;background:var(--white);touch-action:none;cursor:crosshair}
canvas#signature.invalid{border-color:var(--err)}
.link{background:none;border:0;padding:0;font:inherit;font-size:.8rem;cursor:pointer;color:inherit;opacity:.7;align-self:flex-start}
.btn{display:inline-flex;align-items:center;justify-content:center;font:400 .95rem var(--f);letter-spacing:.04em;padding:10px 26px;border-radius:6px;border:1px solid var(--black);background:var(--black);color:var(--white);cursor:pointer}
.btn:hover{background:var(--white);color:var(--black);opacity:1}
.btn[disabled]{opacity:.5;cursor:wait}
.form-err{color:var(--err);margin:0;font-size:.88rem}
.secure,.rgpd{font-size:.78rem;color:var(--grey);margin:0;line-height:1.5}
.rgpd a{font-weight:600}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.msg h1{font-size:2rem}

footer{border-top:1px solid var(--line);padding-block:28px;font-size:.8rem;color:var(--grey)}
footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}

@media (max-width:700px){
  .form,.form fieldset{grid-template-columns:repeat(2,minmax(0,1fr))}
  .c1,.c2{grid-column:1/-1}
  .c1.m1{grid-column:span 1}
  .insc-head{padding-block:22px 26px}
}

/* Pages légales */
.legal h1{font-size:clamp(1.6rem,3vw,2.2rem);text-transform:uppercase}
.legal h2{font-size:1.05rem;letter-spacing:.06em;margin:28px 0 8px;font-weight:500}
.legal p,.legal li{font-size:.92rem}
.legal a{font-weight:600}
.legal .updated{color:var(--grey);font-size:.8rem}
.legal .intro{font-size:1rem}
.legal mark{background:#FFF1B8;padding:0 3px}
.legal-table{width:100%;border-collapse:collapse;font-size:.85rem;margin:8px 0 12px}
.legal-table th,.legal-table td{border:1px solid #ddd;padding:6px 10px;text-align:left;vertical-align:top}
.legal-table th{background:#f4f4f4;font-weight:500}
.legal .box{border:1px solid var(--black);border-radius:6px;padding:12px 16px}
@media (max-width:640px){.legal-table{display:block;overflow-x:auto}}
.nowrap{white-space:nowrap}

/* Date de naissance en trois listes */
.dob{display:grid;grid-template-columns:1fr 1.6fr 1.2fr;gap:6px}
.dob select{min-width:0}

/* Bandeau de recette (STRIPE_MODE=test) */
.test-banner{margin:0;background:#FFF1B8;color:#5a4500;text-align:center;font-size:.82rem;padding:6px 16px}

/* Platinum : logos des 3 enseignes sur une seule ligne, y compris sur mobile */
.club-logos{display:flex;flex-wrap:nowrap;justify-content:center;align-items:center;gap:clamp(14px,5vw,40px);margin:14px auto 4px}
.club-logos img{width:auto;object-fit:contain}
.club-logos .cl-run{height:clamp(26px,7.5vw,44px);max-width:24%}.club-logos .cl-pf{height:clamp(24px,7vw,40px);max-width:44%}.club-logos .cl-easy{height:clamp(14px,4.2vw,24px);max-width:22%}
