/* shared/mode-invite.css — fenêtres et pastille du MODE INVITÉ (shared/mode-invite.js, 02/10/2026).
   Même charte que les fenêtres de jeu (shared/solo-scores.css) : or #e8c26a sur noir. */
.inv-voile{position:fixed;inset:0;z-index:2147481500;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(5,5,7,.78);animation:inv-in .18s ease-out}
.inv-boite{width:min(440px,100%);max-height:calc(100vh - 32px);overflow:auto;background:#14141c;border:1px solid #2a2a3a;border-top:4px solid #e8c26a;border-radius:16px;
  padding:20px 18px 16px;color:#ecebe6;font:14px/1.55 "Exo 2",system-ui,sans-serif;box-shadow:0 18px 50px rgba(0,0,0,.6);text-align:center}
.inv-logo{font:900 13px/1 Orbitron,"Exo 2",system-ui,sans-serif;letter-spacing:.18em;color:#fff;margin:0 0 10px}
.inv-logo span{color:#e8c26a}
.inv-titre{margin:0 0 10px;font:700 18px/1.3 Orbitron,"Exo 2",system-ui,sans-serif;color:#fff;text-transform:none;letter-spacing:normal}
.inv-texte{margin:0 0 10px;font-size:14.5px}
.inv-sous{margin:0 0 8px;color:#a9a9b8;font-size:13px}
.inv-points{margin:0 0 10px;padding:0;list-style:none;text-align:start;display:flex;flex-direction:column;gap:6px}
.inv-points li{position:relative;padding-inline-start:20px;color:#d8d7d0;font-size:13.5px}
.inv-points li::before{content:"";position:absolute;inset-inline-start:4px;top:.55em;width:7px;height:7px;border-radius:50%;background:#e8c26a}
.inv-score{margin:0 0 10px;font-size:15px}
.inv-score b{color:#e8c26a}
.inv-lien{color:#e8c26a;text-decoration:underline;font-weight:600}
.inv-restant{margin:4px 0 0;padding:8px 10px;border:1px solid rgba(232,194,106,.45);border-radius:10px;color:#e8c26a;font-weight:600}
.inv-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:14px}
.inv-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:96px;padding:0 16px;border-radius:999px;border:1px solid #3a3a4c;background:#1d1d28;color:#ecebe6;
  font:600 14px "Exo 2",system-ui,sans-serif;cursor:pointer;text-decoration:none;text-transform:none;letter-spacing:normal;width:auto;flex:0 0 auto;margin:0;box-sizing:border-box}
.inv-btn:hover,.inv-btn:focus-visible{border-color:#e8c26a;outline:none;color:#fff}
.inv-btn.inv-prim{background:#e8c26a;border-color:#e8c26a;color:#15120a}
.inv-toast{position:fixed;left:50%;bottom:calc(70px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:2147481501;max-width:min(440px,calc(100vw - 24px));
  background:rgba(20,20,28,.96);border:1px solid #e8c26a;border-radius:12px;padding:10px 14px;color:#ecebe6;font:13px/1.45 "Exo 2",system-ui,sans-serif;text-align:center;
  box-shadow:0 10px 30px rgba(0,0,0,.55);animation:inv-in .2s ease-out}
.inv-badge{display:inline-flex;align-items:center;min-height:26px;padding:3px 10px;border:1px solid rgba(232,194,106,.55);border-radius:999px;background:rgba(232,194,106,.08);
  color:#e8c26a;font:700 12px/1.2 "Exo 2",system-ui,sans-serif;white-space:nowrap;letter-spacing:normal;text-transform:none}
.inv-badge.inv-zero{border-color:#ff5a6a;color:#ff8a96;background:rgba(255,42,60,.08)}
.inv-badge.inv-flottant{position:fixed;inset-inline-start:10px;bottom:calc(10px + env(safe-area-inset-bottom,0px));z-index:2147481400;background:rgba(20,20,28,.94)}
.inv-badge[hidden]{display:none!important}
.inv-reserve{opacity:.45!important;cursor:not-allowed!important;filter:grayscale(.6)}
@media (max-width:420px){.inv-boite{padding:16px 12px 12px}.inv-btn{flex:1 1 auto}.inv-badge{padding:2px 8px}}
@keyframes inv-in{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.inv-voile,.inv-toast{animation:none}}
/* Fenêtre d'e-mail des visiteurs (04/10/2026) */
.inv-form{display:flex;flex-direction:column;gap:8px;margin:4px 0 8px;text-align:start}
.inv-lbl{font-size:13px;color:#a9a9b8}
.inv-champ{width:100%;box-sizing:border-box;min-height:44px;padding:10px 12px;border-radius:10px;border:1px solid #3a3a4c;background:#0d0d14;color:#fff;font:16px "Exo 2",system-ui,sans-serif}
.inv-champ:focus{outline:none;border-color:#e8c26a;box-shadow:0 0 0 2px rgba(232,194,106,.25)}
.inv-err{margin:0;color:#ff8a96;font-size:13px}
.inv-err[hidden]{display:none}
.inv-coche{display:flex;gap:8px;align-items:flex-start;font-size:13px;color:#d8d7d0;cursor:pointer}
.inv-coche input{margin-top:3px;accent-color:#e8c26a;width:16px;height:16px;flex:0 0 auto}
.inv-form .inv-ok{align-self:center;margin-top:4px;min-width:160px}
.inv-confid{margin:6px 0 0;font-size:12px;color:#a9a9b8;line-height:1.45}
.inv-info{margin:8px 0 0;padding:8px 10px;border:1px solid rgba(232,194,106,.45);border-radius:10px;color:#e8c26a;font-size:13px}
.inv-lien-bt{background:none;border:0;padding:0;color:#a9a9b8;text-decoration:underline;cursor:pointer;font:inherit;font-size:12.5px}
button.inv-badge{cursor:pointer}
/* ERGONOMIE (bilan 04/10/2026, S4, S10, C19, C20) : pastille « Non connecté » à 12 px partout et zone tactile de 44 px de haut,
   sans changer son dessin (même règle que les liens Accueil / Jeux, shared/accueil-jeux.css). Remplace les correctifs page par page. */
button.inv-badge:not(.inv-flottant){position:relative}
button.inv-badge::after{content:"";position:absolute;left:-4px;right:-4px;top:50%;height:44px;min-height:100%;transform:translateY(-50%)}
/* PORTE D'ENTRÉE PAR E-MAIL (05/10/2026) : fond presque opaque, gros champ et gros bouton (téléphone d'abord, seniors). */
.inv-voile.inv-voile-porte{background:rgba(5,5,7,.95);align-items:center}
.inv-boite.inv-porte{width:min(460px,100%);padding:22px 18px 18px}
.inv-porte .inv-titre{font-size:21px;line-height:1.3}
.inv-porte .inv-texte{font-size:16px}
.inv-porte .inv-lbl{font-size:15px;color:#d8d7d0}
.inv-porte .inv-champ{min-height:58px;font-size:20px;padding:12px 14px;border-radius:12px}
.inv-porte .inv-form .inv-ok{align-self:stretch;min-height:58px;font-size:19px;border-radius:14px;margin-top:8px}
.inv-porte .inv-err{font-size:15px}
.inv-porte .inv-actions .inv-btn{min-height:50px;font-size:16px;flex:1 1 100%}
.inv-porte .inv-confid{font-size:13px}
@media (max-width:420px){.inv-voile.inv-voile-porte{padding:10px}.inv-porte .inv-titre{font-size:20px}}
/* Adresse jugée ERRONÉE (vérification différée, 05/10/2026) : l'écran s'assombrit, la page reste visible derrière mais inaccessible. */
.inv-voile.inv-voile-erronee{background:rgba(0,0,0,.84);backdrop-filter:grayscale(.6)}
.inv-boite.inv-erronee{border-top-color:#ff8a5a}
.inv-erronee .inv-actions .inv-btn.inv-prim{font-size:18px;min-height:56px}
