/* ==========================================================================
   Rapport — écran d'accès (attente, lien introuvable, accès réservé).
   Extrait iso-fonctionnel de l'ancien public/premium.css (S2-01) : mêmes règles,
   même ordre de chargement (voir rapport.html).
   ========================================================================== */

/* --- Ecran d'acces (gate) --- */
/* S0-11 : l'écran d'attente occupe tout l'écran, le pied de page est donc hors
   de la vue dès le départ et ne « saute » plus quand le rapport arrive
   (AVANT : 70vh, CLS 0,165 dont 99 % dû au pied de page). */
.gate { min-height: 100vh; min-height: 100svh; display: flex; align-items: center; justify-content: center; padding-inline: var(--gutter); /* 16 px à 390 : la carte ne touche plus les bords */ }
.gate-card {
  text-align: center;
  width: 100%;
  max-width: 460px;
  padding: 40px 30px;
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  background: var(--surface);
}
.gate-kicker {
  font-family: var(--font-ui);
  letter-spacing: 0.2em;
  text-transform: uppercase;
  font-size: 0.72rem;
  color: var(--accent-ink);
  margin: 0 0 12px;
}
.gate-card h1 {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 2rem;
  margin: 0 0 14px;
}
.gate-text { font-family: var(--font-ui); color: var(--ink-2); font-size: 0.95rem; margin: 0 0 22px; }
.gate-btn {
  display: inline-block;
  background: var(--accent-fill);
  color: var(--ink-on-accent);
  text-decoration: none;
  padding: 11px 24px;
  border-radius: var(--r-pill);
  font-family: var(--font-ui);
  font-weight: 500;
}

.gate-btn-duo {
  padding: 0.5rem 1rem;
  background: var(--accent-fill);
  color: var(--ink-on-accent);
  border-radius: 6px;
  font-weight: 600;
}

.gate-alt { font-family: var(--font-ui); font-size: 0.85rem; color: var(--ink-3); margin: 18px 0 0; }
.gate-alt a { color: var(--ink-2); }
.gate-spinner {
  display: block;
  width: 34px;
  height: 34px;
  margin: 0 auto 18px;
  border-radius: 50%;
  border: 2px solid var(--line);
  border-top-color: var(--accent);
  animation: gate-spin 0.9s linear infinite;
}
@keyframes gate-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .gate-spinner { animation-duration: 3s; } }

@media (max-width: 600px) {
  .gate-card { padding: 32px 22px; }
}
