/* ============================================================
   Payer en ligne — modules/checkout/checkout.css (lot CAWL 4)
   La case des CGV (tunnel de réservation, fenêtre de paiement), la
   fenêtre de paiement et la page de retour /paiement/retour.
   ============================================================ */
.pay-page{padding-block:56px 80px;max-width:640px}
.pay-titre{font-size:clamp(30px,4.2vw,40px);line-height:1.15;margin:8px 0 18px}
/* Le titre reçoit le focus à chaque issue (lecteur d'écran) : pas de cadre pour autant. */
.pay-titre:focus{outline:none}
.pay-page .success-blk .pay-titre{font-size:clamp(28px,4vw,36px)}
.pay-texte{font-size:15px;line-height:1.7;color:var(--encre);margin-bottom:20px}
.pay-issue .notice{font-size:14px;line-height:1.6}

/* La case des CGV : la case et son texte, le lien de lecture dessous. */
.pay-cgv{margin:4px 0 6px}
.pay-cgv-case{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;line-height:1.5;color:var(--encre);cursor:pointer}
.pay-cgv-case input{flex:none;width:18px;height:18px;margin-top:1px;accent-color:var(--terracotta)}
.pay-lien{
  background:none;border:0;padding:0;margin:6px 0 0 28px;font-size:12.5px;
  color:var(--terracotta-2);text-decoration:underline;text-underline-offset:2px;cursor:pointer;
}
.pay-faute{font-size:12.5px;color:var(--brique);margin-top:8px}
.pay-note{font-size:12.5px;color:var(--encre-60);margin-bottom:12px;line-height:1.6}
.pay-total{border-top:1.5px solid var(--encre);margin-top:8px;padding-top:12px}
.pay-total b{font-family:var(--font-serif);font-size:21px}
/* Le prix grille barré et la remise d'un code : lignes cachées tant qu'aucun code
   n'est appliqué (`.mini-line` est en flex, qui l'emporterait sur `hidden`). */
#ovPaiement .mini-line[hidden]{display:none}
#payPrixBarre{font-weight:400;color:var(--encre-60)}
.pay-pied{margin-top:18px}

/* En attente de la banque : trois points qui respirent. */
.pay-points{display:inline-flex;gap:8px;margin-top:4px}
.pay-points i{width:8px;height:8px;border-radius:50%;background:var(--terracotta);opacity:.25;animation:pay-souffle 1.2s infinite ease-in-out}
.pay-points i:nth-child(2){animation-delay:.2s}
.pay-points i:nth-child(3){animation-delay:.4s}
@keyframes pay-souffle{50%{opacity:1}}
@media (prefers-reduced-motion:reduce){ .pay-points i{animation:none;opacity:.6} }

@media (max-width:680px){ .pay-page{padding-block:32px 56px} }
