/* Accent Club ORANGE (JB 2026-10-19 11:23) : #ec5501 = « CLUB » du logo (décor : bordures, barres, contours) ; #c24600 = même orange assombri pour le texte et le texte blanc posé dessus (AA ≥ 4,5) ; survol #a33b00 ; fond doux #fff1e8. Couleurs des programmes inchangées. */
/* Orange 2 (JB 2026-10-20 10:23) : boutons à fond plein = #ec5501 (« CLUB » du logo), survol #d14b00, texte blanc gras 800 en 19 px (3,58:1 = AA grand texte) ; pastilles/onglets petits restent #c24600 ; liens et petits textes #c24600. */
/* Modale « Ajouter à mon Club » (cta.js) — pages /offres/*.html, + pages /club/connexion.php (repli sans JS).
 * Charte Club Fasting / Fasting+ : variables de offres/styles.css (encre #202d32, papier #fffdf9, orange #c34a12, vert #274f43). */
.club-join-backdrop{position:fixed;inset:0;z-index:50;background:rgba(32,45,50,.55);display:flex;align-items:center;justify-content:center;padding:16px}
.club-join-backdrop[hidden]{display:none}
.club-join-open{overflow:hidden}
.club-join-box{position:relative;background:var(--soft,#f8ede3);color:var(--ink,#202d32);border-radius:20px;padding:26px 26px 22px;width:min(460px,100%);max-height:calc(100vh - 32px);overflow:auto;box-shadow:0 20px 60px rgba(0,0,0,.25);font:16px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;text-align:center}
.club-join-close{position:absolute;top:10px;right:12px;width:40px;height:40px;border:0;background:none;font-size:26px;line-height:1;color:var(--muted,#55656b);cursor:pointer;border-radius:50%}
.club-join-logo{display:block;width:132px;height:auto;margin:0 auto 10px;background:#fff;border-radius:10px}
.club-join-eyebrow{color:var(--orange,#c24600);font-size:12px;font-weight:800;letter-spacing:3px;text-transform:uppercase;margin:0 0 6px}
.club-join-box h2{font-size:25px;line-height:1.2;letter-spacing:-.6px;margin:0 0 16px;color:var(--ink,#202d32)}
.club-join-intro{color:var(--muted,#55656b);font-size:15px;margin:0 0 16px;text-align:left}
.club-join-form{text-align:left}
.club-join-form label{display:block;font-weight:700;font-size:14px;margin:0 0 6px}
.club-join-form input[type=email]{display:block;width:100%;box-sizing:border-box;font:inherit;padding:12px 14px;border:1px solid var(--line,#dfded6);border-radius:10px;background:#fff;margin:0 0 10px}
.club-join-box input:focus-visible,.club-join-box button:focus-visible{outline:3px solid #196fc0;outline-offset:2px}
.club-join-submit{display:block;width:100%;cursor:pointer;font:inherit;font-weight:800;font-size:19px;letter-spacing:.3px;min-height:52px;padding:12px 22px;border-radius:10px;border:1px solid var(--orange,#ec5501);background:var(--orange,#ec5501);color:#fff;margin-top:6px}
.club-join-submit:hover:not([disabled]){filter:brightness(.89)}.club-join-submit[disabled]{opacity:.7;cursor:wait}
.club-join-status{margin:0 0 6px;font-size:14px;min-height:1.2em;text-align:center}
.club-join-status.error{color:#a3290c;font-weight:700}
.club-join-status.ok{color:var(--green,#c24600);font-weight:700}
.club-join-note{color:var(--muted,#55656b);font-size:12px;margin:12px 0 0;text-align:center}
/* étape code (inspiration : écran de code o2switch, aux couleurs du Club) */
.club-join-card{background:#fff;border:1px solid var(--line,#dfded6);border-radius:14px;padding:18px 18px 14px;text-align:center}
.club-join-sent{margin:0 0 16px;padding:11px 14px;border-left:3px solid #ec5501;background:#fff1e8;border-radius:8px;font-size:14px;font-weight:700;color:var(--ink,#202d32);text-align:left;overflow-wrap:anywhere}
.club-join-code{display:flex;gap:8px;justify-content:center;margin:0 0 14px}
.club-join-digit{width:46px;height:56px;box-sizing:border-box;border:1px solid var(--line,#dfded6);border-radius:10px;background:#fff;text-align:center;font:700 24px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink,#202d32);padding:0;caret-color:var(--orange,#ec5501)}
.club-join-digit:focus{border-color:var(--orange,#ec5501);outline:2px solid rgba(236,85,1,.25);outline-offset:0}
.club-join-digit:disabled{background:#f2f2e9;color:#9aa5a8}
.club-join-remember{display:flex!important;gap:10px;align-items:flex-start;justify-content:center;font-weight:400!important;font-size:14px!important;line-height:1.4;margin:0 0 12px!important;color:var(--ink,#202d32);text-align:left;cursor:pointer}
.club-join-remember input{width:18px;height:18px;margin:1px 0 0;flex:0 0 18px;accent-color:var(--orange,#ec5501)}
.club-join-resend{margin:12px 0 0;font-size:14px;color:var(--muted,#55656b)}
.club-join-link{background:none;border:0;padding:4px 2px;font:inherit;font-weight:700;color:var(--orange,#c24600);cursor:pointer;text-decoration:none}
.club-join-link:hover:not([disabled]){text-decoration:underline}
.club-join-link[disabled]{color:var(--muted,#55656b);cursor:default}
.club-join-help{margin:14px 0 4px;font-size:13px;color:var(--ink,#202d32);text-align:center}
.club-join-change{display:block;margin:2px auto 0;font-size:14px}
@media(max-width:420px){.club-join-box{padding:22px 14px 18px}.club-join-code{gap:6px}.club-join-digit{width:40px;height:50px;font-size:22px}.club-join-card{padding:16px 10px 12px}}
/* l'attribut hidden doit gagner sur .primary{display:inline-flex} et input{display:block} de styles.css */
.club-join-box [hidden]{display:none!important}
/* pages /club/connexion.php (club.css) */
main .notice.ok{border-left-color:#ec5501;background:#fff1e8;font-weight:700}
main .club-join-form input[name=code]{font:700 26px/1 ui-monospace,Menlo,monospace;letter-spacing:8px;width:12ch;padding:10px 14px;border:1px solid #d6ded8;border-radius:10px;margin:0 0 14px}
main .club-join-remember{justify-content:flex-start}
main .linklike{font-size:inherit;background:none;color:var(--green);padding:4px 0;text-decoration:underline;font-weight:650}
/* mode page (/club/connexion.php, cta.js) : même carte que la modale, dans le flux de la page */
.club-join-inline{display:flex;justify-content:center;padding:8px 0 24px}
.club-join-inline[hidden]{display:none}
.club-join-inline .club-join-box{box-shadow:0 10px 40px rgba(0,0,0,.12);max-height:none}
.club-join-nojs[hidden],main [hidden]{display:none!important}
