/* =========================================================================
   NEON-SITE — design system du site (métal sombre + néon bleu électrique).
   Chargé par base_neon.html.twig APRÈS app.css → à spécificité égale, gagne.
   Valeurs = Neon UI Kit (claude.design, répliqué à l'identique — cf room-neon).
   Rôle : (1) coquille de page ; (2) re-skin des classes HISTORIQUES du site
   (jb-input, jb-btn, jb-check, apero-register-*…) → les pages migrent presque
   sans retouche ; (3) composants kit génériques (alerts, badges, hero…).
   ========================================================================= */

/* ---------- LE GRAND LEVIER : les variables du thème rose (tokens.css) redéfinies
   en BLEU dans le scope néon → tout l'habillage hérité des pages (styles inline
   var(--pt-*, fallback)) bascule automatiquement, sans toucher leur contenu. ---------- */
.neon-site{
    --pt-primary:#2ea6ff; --pt-primary-soft:#5fd3ff; --pt-primary-deep:#1e8cff;
    --pt-secondary:#5a7fa0;
    --pt-bg:#0a0b0d; --pt-bg-2:#10151c;
    --pt-surface:#141a22; --pt-surface-2:#1a222c;
    --pt-text:#eaf6ff; --pt-text-muted:rgba(205,214,224,.72); --pt-text-dim:rgba(205,214,224,.42);
    --pt-gold:#f5a623; --pt-cyan:#39c6ff;
    --pt-line:rgba(46,166,255,.22); --pt-line-soft:rgba(46,166,255,.10);
    --glow-color:46,166,255;
    --font-display:'Rajdhani',sans-serif; --font-body:'Chakra Petch',sans-serif;
    --apr-grad:linear-gradient(180deg, rgba(26,32,40,.65), rgba(12,16,21,.65));
    --apr-accent:#2ea6ff; --apr-solid:#1e8cff; --apr-gold:#f5a623;
    --apr-text:#eaf6ff; --apr-muted:#8894a2; --apr-line:rgba(46,166,255,.22);
    --jb-accent:#2ea6ff;
}

/* ---------- Coquille ---------- */
.neon-site{position:relative;z-index:1;min-height:100vh;color:#cdd6e0;
    font-family:'Chakra Petch',sans-serif;
    background:radial-gradient(1200px 700px at 20% -10%, #14181f 0%, #0a0b0d 55%),
        repeating-linear-gradient(90deg, rgba(255,255,255,.014) 0 1px, transparent 1px 3px),#0a0b0d}
.neon-site .nhd{position:static}
.neon-main{max-width:1120px;margin:0 auto;padding:26px 24px 72px;box-sizing:border-box}
.neon-site--embed .neon-main{max-width:560px;padding:24px 14px 48px}
/* Le décor rose historique (body::before d'app.css) + hamburger/sidebar : hors-jeu ici */
body.jb-body:has(.neon-site){background:#0a0b0d !important}
body.jb-body:has(.neon-site)::before{display:none !important}
body:has(.neon-site) .apero-hamburger,
body:has(.neon-site) .apero-sidebar-toggle-input,
body:has(.neon-site) .apero-sidebar-backdrop{display:none !important}

/* ---------- Typo & liens ---------- */
.neon-site h1,.neon-site h2,.neon-site h3{font-family:'Rajdhani',sans-serif;color:#eaf6ff}
/* ⚠️ Liens génériques SCOPES au contenu (.neon-main) : appliqués à tout .neon-site,
   ils écrasaient les couleurs des boutons du header (« texte blanc survol blanc »). */
.neon-main a{color:#39c6ff;text-decoration:none}
.neon-main a:hover{color:#8fe0ff}
.neon-site .jb-link{color:#39c6ff;font-weight:600}
.neon-site .jb-link:hover{color:#8fe0ff;text-decoration:underline}

/* ---------- Hero de page (remplace partials/_page_hero) ---------- */
.neon-hero{text-align:center;margin:14px auto 34px;max-width:780px}
.neon-hero__eyebrow{display:inline-block;font-family:'Rajdhani',sans-serif;font-weight:600;
    font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:#39c6ff;
    background:rgba(46,166,255,.1);border:1px solid rgba(46,166,255,.5);
    padding:7px 16px;border-radius:20px;margin-bottom:16px}
.neon-hero h1{margin:0 0 10px;font-weight:700;font-size:clamp(28px,4.6vw,42px);
    letter-spacing:.1em;text-transform:uppercase;line-height:1.08;
    text-shadow:0 0 24px rgba(46,166,255,.25)}
.neon-hero p{margin:0;font-size:15px;line-height:1.6;color:#8894a2}

/* Colonne étroite centrée (login, forgot, reset…) */
.neon-narrow{max-width:480px;margin:0 auto}

/* ---------- Carte standard (.apero-register-col = LA carte du site) ---------- */
.neon-site .apero-register-col{position:relative;border-radius:22px;padding:28px 26px;
    background:linear-gradient(160deg, rgba(26,30,37,.72), rgba(11,14,18,.72));
    backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
    border:1px solid rgba(46,166,255,.35);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 0 0 1px rgba(46,166,255,.06),
        0 0 26px rgba(46,166,255,.08), 0 24px 60px rgba(0,0,0,.55)}
.neon-site .apero-register-col__head{display:flex;gap:14px;align-items:flex-start;margin-bottom:20px}
.neon-site .apero-register-col__icon{flex:none;display:flex;align-items:center;justify-content:center;
    width:46px;height:46px;border-radius:13px;font-size:22px;
    background:linear-gradient(#1a2733,#0f1620);border:1px solid rgba(46,166,255,.4);
    box-shadow:0 0 14px rgba(46,166,255,.2)}
.neon-site .apero-register-col__title{margin:0 0 3px;font-family:'Rajdhani',sans-serif;
    font-weight:700;font-size:20px;letter-spacing:.04em;color:#eaf6ff}
.neon-site .apero-register-col__sub{margin:0;font-size:13px;line-height:1.5;color:#8894a2}
.neon-site .apero-register-col__footer{margin-top:18px;padding-top:16px;text-align:center;
    font-size:13.5px;color:#8894a2;border-top:1px solid rgba(46,166,255,.15)}
.neon-site .apero-register-col__hint{font-size:12px;line-height:1.5;color:#6b7787;margin:14px 0 0}

/* ---------- Champs (jb-field / jb-label / jb-input…) ---------- */
.neon-site .jb-field{margin-bottom:16px}
.neon-site .jb-label{display:block;font-family:'Rajdhani',sans-serif;font-weight:600;
    font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#5c6674;margin-bottom:9px}
.neon-site .jb-input-wrap{position:relative}
.neon-site .jb-input-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);
    width:18px;height:18px;color:#39c6ff;filter:drop-shadow(0 0 8px rgba(46,166,255,.5));pointer-events:none}
.neon-site .jb-input,
.neon-site input[type="text"],.neon-site input[type="email"],.neon-site input[type="password"],
.neon-site input[type="number"],.neon-site input[type="search"],.neon-site textarea,.neon-site select{
    width:100%;box-sizing:border-box;font-family:'Chakra Petch',sans-serif;font-size:15px;color:#eaf6ff;
    padding:13px 16px;border-radius:12px;
    background:linear-gradient(#0c0f13,#171b20) !important;
    border:1px solid rgba(90,110,130,.28) !important;
    box-shadow:inset 0 2px 5px rgba(0,0,0,.7) !important;outline:none}
.neon-site .jb-input-wrap .jb-input{padding-left:44px;padding-right:44px}
.neon-site .jb-input:focus,
.neon-site input:focus,.neon-site textarea:focus,.neon-site select:focus,.neon-site select.jb-input:focus{
    border-color:rgba(46,166,255,.7) !important;
    box-shadow:inset 0 2px 5px rgba(0,0,0,.7), 0 0 18px rgba(46,166,255,.4) !important}
.neon-site input::placeholder,.neon-site textarea::placeholder{color:#66727f}
.neon-site .jb-input-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);
    background:none;border:none;color:#5c6674;cursor:pointer;padding:4px;line-height:0}
.neon-site .jb-input-toggle:hover{color:#39c6ff}
.neon-site .jb-input-toggle svg{width:18px;height:18px}
/* Erreurs de formulaire Symfony (ul/li) */
.neon-site form ul{list-style:none;margin:6px 0 0;padding:0}
.neon-site form ul li{font-size:12.5px;color:#ff8494;margin-top:4px}

/* ---------- Case à cocher historique (.jb-check + .jb-check-box) ---------- */
.neon-site .jb-check{display:flex;align-items:center;gap:12px;cursor:pointer;
    font-size:13px;line-height:1.45;color:#c3ccd6}
.neon-site .jb-check > input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}
.neon-site .jb-check-box{flex:none;width:24px;height:24px;border-radius:8px;
    display:flex;align-items:center;justify-content:center;color:transparent;transition:all .16s;
    background:linear-gradient(#0c0f13,#171b20);border:1px solid rgba(90,110,130,.35);
    box-shadow:inset 0 2px 4px rgba(0,0,0,.7)}
.neon-site .jb-check-box svg{width:14px;height:14px}
.neon-site .jb-check input:checked + .jb-check-box{color:#04121d;
    background:linear-gradient(#5fd3ff,#1e8cff);border-color:rgba(57,198,255,.8);
    box-shadow:0 0 14px rgba(46,166,255,.5), inset 0 0 8px rgba(255,255,255,.2)}
.neon-site .jb-row{display:flex;align-items:center;justify-content:space-between;gap:12px;
    flex-wrap:wrap;margin:4px 0 14px}

/* ---------- Boutons (jb-btn historiques → kit) ---------- */
.neon-site .jb-btn{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:9px;
    font-family:'Rajdhani',sans-serif;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
    border-radius:11px;padding:12px 24px;font-size:14px;color:#aeb9c6;text-decoration:none;
    background:linear-gradient(#22262c,#14171b);border:1px solid rgba(120,140,160,.28);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.06);transition:all .16s}
.neon-site .jb-btn:hover{border-color:rgba(46,166,255,.4);color:#dfe9f2}
.neon-site .jb-btn svg{width:17px;height:17px}
.neon-site .jb-btn--primary{font-weight:700;letter-spacing:.12em;color:#04121d;
    background:linear-gradient(#5fd3ff,#1e8cff);border:1px solid rgba(57,198,255,.7);
    box-shadow:0 0 30px rgba(46,166,255,.4), inset 0 1px 1px rgba(255,255,255,.5)}
.neon-site .jb-btn--primary:hover{color:#04121d;
    box-shadow:0 0 44px rgba(46,166,255,.7), inset 0 1px 1px rgba(255,255,255,.7)}
.neon-site .jb-btn--block{width:100%;box-sizing:border-box}

/* ---------- Divider « ou » ---------- */
.neon-site .jb-divider{display:flex;align-items:center;gap:14px;margin:20px 0;
    font-family:'Rajdhani',sans-serif;font-size:12px;letter-spacing:.16em;
    text-transform:uppercase;color:#5c6674}
.neon-site .jb-divider::before,.neon-site .jb-divider::after{content:"";flex:1;height:1px;
    background:linear-gradient(90deg,transparent,rgba(46,166,255,.3),transparent)}

/* ---------- Bouton Google (blanc, charte Google) ---------- */
.neon-site .apero-register-google-btn{display:flex;align-items:center;gap:12px;width:100%;
    box-sizing:border-box;padding:13px 16px;border-radius:12px;background:#fff;color:#1a1d21;
    font-weight:600;font-size:14.5px;text-decoration:none;
    box-shadow:0 6px 20px rgba(0,0,0,.35), 0 0 18px rgba(46,166,255,.15);transition:transform .12s}
.neon-site .apero-register-google-btn:hover{transform:translateY(-1px);color:#1a1d21}

/* ---------- Register : grille 2 colonnes + bonus + avantages ---------- */
.neon-site .apero-register-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;
    max-width:960px;margin:0 auto;align-items:start}
.neon-site .apero-register-grid--embed{grid-template-columns:1fr !important;max-width:460px}
.neon-site .apero-register-bonus{display:flex;gap:12px;align-items:center;padding:14px 16px;
    border-radius:14px;margin-bottom:18px;
    background:linear-gradient(90deg, rgba(46,166,255,.16), rgba(46,166,255,.04));
    border:1px solid rgba(57,198,255,.5);box-shadow:inset 0 0 20px rgba(46,166,255,.12)}
.neon-site .apero-register-bonus__icon{font-size:26px}
.neon-site .apero-register-bonus strong{display:block;color:#eaf6ff;font-size:14.5px}
.neon-site .apero-register-bonus span{font-size:12.5px;color:#9fb2c4}
.neon-site .apero-register-perks{list-style:none;margin:0 0 20px;padding:0;
    display:flex;flex-direction:column;gap:14px}
.neon-site .apero-register-perks li{display:flex;gap:10px;align-items:flex-start}
.neon-site .apero-register-perks strong{display:block;color:#eaf6ff;font-size:14px}
.neon-site .apero-register-perks span:not(.apero-register-perks__check){font-size:12.5px;color:#8894a2}

/* ---------- Pied de carte auth ---------- */
.neon-site .jb-auth-footer{margin-top:18px;padding-top:16px;text-align:center;
    font-size:13.5px;color:#8894a2;border-top:1px solid rgba(46,166,255,.15)}
.neon-site .jb-auth-footer-gift{display:block;margin-top:8px;color:#ffd27a;font-size:12.5px}

/* ---------- Blocs notification (kit Alerts — mêmes valeurs que room-neon) ---------- */
.neon-site .jb-alert{position:relative;display:flex;align-items:flex-start;gap:16px;
    padding:18px 22px 18px 20px;border-radius:14px;overflow:hidden;margin:0 0 16px}
.neon-site .jb-alert::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px}
.neon-site .jb-alert--bare{display:block;gap:0;padding:12px 18px 12px 20px;font-size:13.5px;line-height:1.5}
.neon-site .jb-alert--info{background:linear-gradient(90deg, rgba(46,166,255,.16), rgba(46,166,255,.04));
    border:1px solid rgba(57,198,255,.5);box-shadow:inset 0 0 20px rgba(46,166,255,.12), 0 0 18px rgba(46,166,255,.22)}
.neon-site .jb-alert--info::before{background:linear-gradient(#5fd3ff,#1e8cff);box-shadow:0 0 12px rgba(46,166,255,.8)}
.neon-site .jb-alert--info.jb-alert--bare{color:#9fb2c4}
.neon-site .jb-alert--warn{background:linear-gradient(90deg, rgba(255,196,64,.15), rgba(255,196,64,.03));
    border:1px solid rgba(255,196,64,.5);box-shadow:inset 0 0 20px rgba(255,196,64,.1), 0 0 18px rgba(255,196,64,.18)}
.neon-site .jb-alert--warn::before{background:linear-gradient(#ffd27a,#f5a623);box-shadow:0 0 12px rgba(255,196,64,.8)}
.neon-site .jb-alert--warn.jb-alert--bare{color:#c9b998}
.neon-site .jb-alert--error{background:linear-gradient(90deg, rgba(255,80,96,.15), rgba(255,80,96,.03));
    border:1px solid rgba(255,90,105,.5);box-shadow:inset 0 0 20px rgba(255,80,96,.1), 0 0 18px rgba(255,80,96,.2)}
.neon-site .jb-alert--error::before{background:linear-gradient(#ff8894,#f5384b);box-shadow:0 0 12px rgba(255,80,96,.8)}
.neon-site .jb-alert--error.jb-alert--bare{color:#d3a3a8}

/* ---------- Vieux flashs (.jb-flash) mappés sur le look kit ---------- */
.neon-site .jb-flash{position:relative;border-radius:14px;padding:12px 18px 12px 20px;
    margin:0 0 14px;font-size:13.5px;line-height:1.5;border:1px solid rgba(57,198,255,.5);
    background:linear-gradient(90deg, rgba(46,166,255,.16), rgba(46,166,255,.04));color:#9fb2c4}
.neon-site .jb-flash--error{border-color:rgba(255,90,105,.5);color:#d3a3a8;
    background:linear-gradient(90deg, rgba(255,80,96,.15), rgba(255,80,96,.03))}
.neon-site .jb-flash--success{border-color:rgba(52,211,153,.5);color:#8ff0c5;
    background:linear-gradient(90deg, rgba(52,211,153,.14), rgba(52,211,153,.03))}

/* ---------- Fil d'Ariane ---------- */
.neon-crumbs{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 18px;
    font-family:'Rajdhani',sans-serif;font-weight:600;font-size:12.5px;
    letter-spacing:.1em;text-transform:uppercase;color:#5c6674}
.neon-crumbs a{color:#8894a2}
.neon-crumbs a:hover{color:#39c6ff}
.neon-crumbs__home svg{width:15px;height:15px;display:block}
.neon-crumbs__sep{color:#39c6ff;opacity:.6}
.neon-crumbs__here{color:#39c6ff;text-shadow:0 0 10px rgba(46,166,255,.5)}

/* ---------- Panneau générique verre + grille (kit) ---------- */
.neon-panel{position:relative;border-radius:22px;padding:28px 26px;overflow:hidden;
    background:repeating-linear-gradient(0deg, rgba(255,255,255,.015) 0 1px, transparent 1px 8px),
        repeating-linear-gradient(90deg, rgba(255,255,255,.015) 0 1px, transparent 1px 8px),
        linear-gradient(160deg, rgba(26,30,37,.72), rgba(11,14,18,.72));
    backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
    border:1px solid rgba(46,166,255,.35);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 0 0 1px rgba(46,166,255,.06),
        0 0 26px rgba(46,166,255,.08), 0 24px 60px rgba(0,0,0,.55)}

/* ---------- Bouton « running border » (kit) — le CTA wow ---------- */
@keyframes neonSpinBorder{from{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}
.neon-run{position:relative;border-radius:13px;overflow:hidden;display:inline-flex;
    box-shadow:inset 0 0 26px rgba(46,166,255,.12), 0 0 20px rgba(46,166,255,.15)}
.neon-run::before{content:"";position:absolute;left:50%;top:50%;width:300%;aspect-ratio:1;
    transform:translate(-50%,-50%);
    background:conic-gradient(from 0deg,#8fe0ff 0deg,#5fd3ff 30deg,rgba(95,211,255,0) 130deg,rgba(95,211,255,0) 360deg);
    animation:neonSpinBorder 2.4s linear infinite}
.neon-run:hover::before{animation-play-state:paused}
.neon-run > *{position:relative;z-index:1;margin:3px;border:none;border-radius:11px;
    background:#111a24;color:#eaf6ff;cursor:pointer;
    font-family:'Rajdhani',sans-serif;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
    font-size:15px;padding:14px 30px;display:inline-flex;align-items:center;gap:8px;text-decoration:none}
.neon-run > *:hover{color:#8fe0ff}
@media (prefers-reduced-motion:reduce){.neon-run::before{animation:none}}

/* ---------- Pages légales & contact (classes historiques re-skinnées) ---------- */
.neon-site .jb-legal__card{position:relative;border-radius:22px;padding:26px 26px;margin:0 0 20px;
    background:linear-gradient(160deg, rgba(26,30,37,.72), rgba(11,14,18,.72));
    border:1px solid rgba(46,166,255,.28);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.05), 0 18px 44px rgba(0,0,0,.45)}
.neon-site .jb-legal__card h2{display:flex;align-items:center;gap:12px;margin:0 0 14px;
    font-family:'Rajdhani',sans-serif;font-weight:700;font-size:19px;letter-spacing:.06em;
    text-transform:uppercase;color:#eaf6ff}
.neon-site .jb-legal__card h2 .num{flex:none;display:flex;align-items:center;justify-content:center;
    width:30px;height:30px;border-radius:9px;font-size:15px;color:#04121d;
    background:linear-gradient(#5fd3ff,#1e8cff);box-shadow:0 0 12px rgba(46,166,255,.6)}
.neon-site .jb-legal__card h3{font-size:15.5px;letter-spacing:.04em;color:#cfe4f7;margin:18px 0 8px}
.neon-site .jb-legal__card p,.neon-site .jb-legal__card li{font-size:14px;line-height:1.7;color:#9fb2c4}
.neon-site .jb-legal__card strong{color:#eaf6ff}
.neon-site .jb-legal__card ul,.neon-site .jb-legal__card ol{padding-left:20px;margin:10px 0}
.neon-site .jb-legal__card table{width:100%;border-collapse:collapse;font-size:13.5px}
.neon-site .jb-legal__card th,.neon-site .jb-legal__card td{padding:10px 12px;text-align:left;
    border-bottom:1px solid rgba(46,166,255,.12);color:#9fb2c4}
.neon-site .jb-legal__card th{color:#eaf6ff;font-family:'Rajdhani',sans-serif;letter-spacing:.08em;text-transform:uppercase;font-size:12px}
.neon-site .jb-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.neon-site .jb-contact-field{margin-bottom:14px}
.neon-site .jb-contact-flash{border-radius:14px;padding:12px 18px;margin:0 0 14px;font-size:13.5px}
.neon-site .jb-contact-flash--success{border:1px solid rgba(52,211,153,.5);color:#8ff0c5;
    background:linear-gradient(90deg, rgba(52,211,153,.14), rgba(52,211,153,.03))}
.neon-site .jb-contact-flash--error,.neon-site .jb-contact-flash--danger{border:1px solid rgba(255,90,105,.5);color:#d3a3a8;
    background:linear-gradient(90deg, rgba(255,80,96,.15), rgba(255,80,96,.03))}
.neon-site .jb-honeypot{position:absolute !important;left:-9999px !important;opacity:0;pointer-events:none}
.neon-site .jb-recaptcha-notice{margin-top:14px;font-size:11px;color:#6b7787;text-align:center;line-height:1.5}
.neon-site .jb-recaptcha-notice a{color:#8894a2;text-decoration:underline}
.neon-site .jb-legal__contact{margin-top:18px;text-align:center;font-size:14px;color:#9fb2c4;
    padding:26px 22px;border-radius:22px;
    background:repeating-linear-gradient(0deg, rgba(255,255,255,.015) 0 1px, transparent 1px 8px),
        repeating-linear-gradient(90deg, rgba(255,255,255,.015) 0 1px, transparent 1px 8px),
        linear-gradient(160deg, rgba(26,30,37,.72), rgba(11,14,18,.72)) !important;
    border:1px solid rgba(46,166,255,.35) !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 0 26px rgba(46,166,255,.08) !important}
.neon-site .jb-legal__contact h2{font-family:'Rajdhani',sans-serif;font-size:17px;letter-spacing:.06em;
    text-transform:uppercase;color:#eaf6ff;margin:0 0 8px;border:none;padding:0}
.neon-legal-wrap{max-width:880px;margin:0 auto}
@media (max-width:700px){.neon-site .jb-contact-grid{grid-template-columns:1fr}}

/* ---------- Page /tv : LE HALO SIGNATURE autour du code ---------- */
.tvx-stage{display:flex;flex-direction:column;align-items:center;justify-content:center;
    min-height:calc(100vh - 300px);text-align:center;padding:12px 0 30px}
.tvx-halo{position:relative;width:min(420px,88vw);aspect-ratio:1;flex:none;
    display:flex;align-items:center;justify-content:center;margin:6px auto 8px}
.tvx-halo::before{content:"";position:absolute;inset:0;border-radius:50%;
    box-shadow:0 0 60px rgba(30,140,255,.35), inset 0 0 40px rgba(30,140,255,.12)}
.tvx-halo::after{content:"";position:absolute;inset:14px;border-radius:50%;
    border:10px solid rgba(20,26,34,.9);box-shadow:inset 0 0 24px rgba(0,0,0,.9)}
.tvx-ring{position:absolute;inset:14px;border-radius:50%;z-index:1;
    border:6px solid transparent;border-top-color:#39c6ff;border-right-color:#1e8cff;
    filter:drop-shadow(0 0 10px rgba(46,166,255,.9));animation:tvxSpin 3.4s linear infinite}
@keyframes tvxSpin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.tvx-ring{animation:none}}
.tvx-core{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:10px;width:72%}
.tvx-emoji{font-size:34px}
.tvx-form{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%}
.tvx-input{width:min(240px,100%);box-sizing:border-box;text-align:center;
    font-family:'Rajdhani',sans-serif;font-weight:700;font-size:34px;letter-spacing:.32em;
    color:#39c6ff;text-shadow:0 0 14px rgba(46,166,255,.7);padding:12px 4px 12px 14px;border-radius:14px;
    background:linear-gradient(#0c0f13,#171b20);border:1px solid rgba(57,198,255,.55);
    box-shadow:inset 0 2px 6px rgba(0,0,0,.8), 0 0 22px rgba(46,166,255,.28);outline:none}
.tvx-input:focus{border-color:rgba(120,224,255,.95);
    box-shadow:inset 0 2px 6px rgba(0,0,0,.8), 0 0 32px rgba(46,166,255,.5)}
.tvx-input::placeholder{color:#3a4654;text-shadow:none;letter-spacing:.32em}
.tvx-title{margin:14px 0 6px;font-family:'Rajdhani',sans-serif;font-weight:700;
    font-size:clamp(22px,3.4vw,30px);letter-spacing:.12em;text-transform:uppercase;color:#eaf6ff}
.tvx-sub{margin:0 auto;max-width:560px;font-size:14px;line-height:1.6;color:#8894a2}
.tvx-url{display:inline-block;margin-top:14px;padding:8px 16px;border-radius:10px;
    font-family:'Rajdhani',sans-serif;font-weight:700;letter-spacing:.14em;color:#39c6ff;
    background:rgba(46,166,255,.08);border:1px solid rgba(46,166,255,.4);
    text-shadow:0 0 10px rgba(46,166,255,.6)}
.tvx-hint{margin-top:14px;font-size:12.5px;color:#5c6674}

/* Couleur de texte par défaut du body : l'app CSS historique laissait le rose
   pâle (#FFD6DC) en héritage — tout texte non stylé le récupérait. */
body.jb-body, body { color: #dfe9f2 !important; }

/* ---------- Retour Benoit 2026-08-09 ----------
   1) Le badge eyebrow au-dessus des H1 = SUPPRIMÉ partout. Le fil d'Ariane
      complet (Accueil › Mon compte › page) le remplace. Markup conservé. */
.neon-site .neon-hero__eyebrow { display: none !important; }
/* 2) « Accueil » visible à côté de la maison dans le fil d'Ariane. */
.neon-crumbs__home { display: inline-flex; align-items: center; gap: 6px; }
.neon-crumbs__home span { font-size: 12px; letter-spacing: 0.06em; }
/* 3) Surfaces « apero-glow » (verre ROSE défini dans tokens.css, fichier
   INTOUCHABLE car chargé par le receiver Cast) : re-skin kit ici, scope néon. */
.neon-site .apero-glow {
    background:
        repeating-linear-gradient(0deg, rgba(255,255,255,0.015) 0 1px, transparent 1px 8px),
        repeating-linear-gradient(90deg, rgba(255,255,255,0.015) 0 1px, transparent 1px 8px),
        linear-gradient(160deg, rgba(26,30,37,0.72), rgba(11,14,18,0.72)) !important;
    border: 1px solid rgba(46,166,255,0.30) !important;
    box-shadow: 0 18px 60px rgba(0,0,0,0.55), 0 0 30px rgba(46,166,255,0.07) !important;
}
.neon-site .apero-glow-soft {
    background: rgba(14,19,26,0.55) !important;
    border-color: rgba(46,166,255,0.22) !important;
}

/* ---------- VERROU CONTRASTE BOUTONS — règle UNIQUE, partout ----------
   Un dégradé clair (bleu/ambre) porte TOUJOURS un texte SOMBRE. Les <a>-boutons
   perdaient leur couleur au profit du lien générique (à+spécifique) : verrouillé. */
.neon-site a.btn,.neon-site a.jb-btn{text-decoration:none !important}
.neon-site .btn-primary,.neon-site a.btn-primary,
.neon-site .jb-btn--primary,.neon-site a.jb-btn--primary,
.neon-site .jb-bar-modal__btn--primary{color:#04121d !important}
.neon-site .btn-gold,.neon-site a.btn-gold{color:#2a1c00 !important}
.neon-site .btn-ghost,.neon-site a.btn-ghost{color:#39c6ff !important}
.neon-site .btn-ghost--danger,.neon-site a.btn-ghost--danger{color:#ff8494 !important}
.neon-site .jb-btn--secondary{color:#aeb9c6 !important;
    background:linear-gradient(#22262c,#14171b) !important;border:1px solid rgba(120,140,160,.28) !important}
.neon-site .jb-btn--secondary:hover{color:#dfe9f2 !important;border-color:rgba(46,166,255,.4) !important}
.neon-site .jb-btn--danger{color:#ff8494 !important;border-color:rgba(255,90,105,.45) !important}
/* Titres « display » : Rajdhani PARTOUT (plus jamais de serif italique) */
.neon-site .display{font-family:'Rajdhani',sans-serif !important;font-style:normal !important}
/* Page crédits : carte « solde actuel » alignée à droite sous le hero */
.credits-side{display:flex;justify-content:flex-end;max-width:1120px;margin:-6px auto 16px}
.credits-side > div{transform:none !important}

/* ---------- Blindage anti-rose ----------
   L'app compilée (assets/styles/app-*.css via importmap) charge APRÈS ce fichier
   et rapporte le thème historique → on verrouille les points de contact visuels. */
.neon-site .jb-btn{background:linear-gradient(#22262c,#14171b) !important;color:#aeb9c6 !important;
    border:1px solid rgba(120,140,160,.28) !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.06) !important;transform:none !important}
.neon-site .jb-btn:hover{border-color:rgba(46,166,255,.4) !important;color:#dfe9f2 !important}
.neon-site .jb-btn--primary{background:linear-gradient(#5fd3ff,#1e8cff) !important;color:#04121d !important;
    border:1px solid rgba(57,198,255,.7) !important;
    box-shadow:0 0 30px rgba(46,166,255,.4), inset 0 1px 1px rgba(255,255,255,.5) !important}
.neon-site .jb-btn--primary:hover{color:#04121d !important;
    box-shadow:0 0 44px rgba(46,166,255,.7), inset 0 1px 1px rgba(255,255,255,.7) !important}
.neon-site .apero-register-col{background:linear-gradient(160deg, rgba(26,30,37,.72), rgba(11,14,18,.72)) !important;
    border:1px solid rgba(46,166,255,.35) !important}
.neon-site .jb-link{color:#39c6ff !important}
.neon-site .jb-link:hover{color:#8fe0ff !important}
.neon-site .jb-label{color:#5c6674 !important}
.neon-site .apero-register-google-btn{background:#fff !important;color:#1a1d21 !important}
.neon-site .jb-check-box{background:linear-gradient(#0c0f13,#171b20) !important;
    border:1px solid rgba(90,110,130,.35) !important}
.neon-site .jb-check input:checked + .jb-check-box{background:linear-gradient(#5fd3ff,#1e8cff) !important;
    border-color:rgba(57,198,255,.8) !important}

/* ---------- Responsive ---------- */
@media (max-width: 900px){
    .neon-site .nhd{display:grid}
    .neon-main{padding:20px 14px 56px}
    .neon-site .apero-register-grid{grid-template-columns:1fr;max-width:520px}
    .neon-hero{margin:8px auto 24px}
    .neon-site .apero-register-col{padding:22px 18px}
}

/* ---------- Select kit (retour Benoit : « les selects ne respectent pas le kit ») ----------
   Apparence native remplacée : verre sombre + chevron néon. Placé en fin de fichier
   pour gagner sur la règle select générique plus haut (même spécificité). */
.neon-site select,.neon-site select.jb-input{
    appearance:none !important;-webkit-appearance:none !important;-moz-appearance:none !important;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2339c6ff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"), linear-gradient(#0c0f13,#171b20) !important;
    background-repeat:no-repeat,no-repeat !important;
    background-position:right 14px center,0 0 !important;
    background-size:14px 14px,auto !important;
    border-color:rgba(46,166,255,.28) !important;
    padding-right:42px !important;cursor:pointer}
.neon-site select:hover,.neon-site select.jb-input:hover{border-color:rgba(46,166,255,.5) !important}
.neon-site select:focus{border-color:rgba(46,166,255,.7) !important;
    box-shadow:inset 0 2px 5px rgba(0,0,0,.7), 0 0 18px rgba(46,166,255,.4) !important}
.neon-site select option{background:#10151c;color:#dfe9f2}
.neon-site select option:checked{background:#1e8cff;color:#04121d}

/* jb-brand1 : avatar de marque (messages de l'équipe) — logo 3D sur fond nuit */
.jb-avatar--brand{background:#0B1E36 !important;border:1px solid rgba(46,166,255,.4);overflow:hidden}
.jb-avatar--brand img{width:78%;height:78%;object-fit:contain;display:block;margin:11% auto 0}

/* =========================================================================
   jb-seo1 / fix reCAPTCHA — le badge Google (position:fixed, z-index:auto)
   passait SOUS  depuis la migration du thème néon :
   il devenait invisible en bas à droite alors qu'il l'était avant.
   On le repose au-dessus de tout. (Benoit l'avait signalé, il avait raison.)
   ========================================================================= */
.grecaptcha-badge{z-index:2147483000 !important}
