/* La vente de HAM+ : les quelques règles que ses pages ajoutent à celles du site (styles.css, auth.css, certificat.css).
   HAMPLUS_VENTE_V1 — Politique de confidentialité, Supprimer mon compte, Administration › HAM+ › Rapports et › Pays de vente. */

/* Un texte à lire (la politique, la page de suppression) : la mise en page de « Pourquoi le certificat ? ». */
.vente-texte a { color: var(--cyan); font-weight: 700; overflow-wrap: anywhere; }
.vente-texte .vente-date { color: #a9c3d4; }
.vente-texte strong { color: var(--ink); }

/* « Supprimer mon compte » : la case de l'indicatif et le bouton rouge. */
.vente-confirmer { margin-top: 1.2rem; }
.vente-confirmer input[name="indicatif"] { font-family: "Courier New", monospace; font-size: 1.05rem; letter-spacing: .08em; text-transform: uppercase; }
.auth-actions .vente-danger,
.vente-danger { color: #fff; border: 1px solid rgba(255, 110, 116, .7) !important; background: #b3262e; }
.auth-actions .vente-danger:hover,
.auth-actions .vente-danger:focus-visible { background: #d23a42; outline: 2px solid rgba(255, 110, 116, .35); outline-offset: 2px; }
.vente-fait-texte { margin: 0; color: #8ee9c4; font-size: 1.1rem; font-weight: 800; line-height: 1.55; }

/* Administration › HAM+ › Rapports. */
.vente-rapports { display: grid; gap: 1rem; }
.vente-rapport { gap: .4rem; }
.vente-rapport-tete { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding-bottom: .9rem; border-bottom: 1px solid var(--line); }
.vente-rapport-tete div { display: grid; gap: .2rem; min-width: 0; }
.vente-rapport-tete strong { font-family: "Courier New", monospace; font-size: .95rem; }
.vente-rapport-tete span { color: #8ee9c4; font-family: "Courier New", monospace; font-weight: 800; }
.vente-rapport-tete form { margin: 0; flex: 0 0 auto; }
.vente-danger-petit { border: 1px solid rgba(255, 110, 116, .45); border-radius: 999px; padding: .5rem .8rem; color: #ffabab; background: rgba(132, 33, 39, .14); font: inherit; font-size: .72rem; font-weight: 800; cursor: pointer; }
.vente-danger-petit:hover, .vente-danger-petit:focus-visible { border-color: #ff6e74; outline: none; }
.vente-faits { padding: .6rem 0; }
.vente-rapport-texte { margin: 0; padding: .8rem 1rem; border-left: 2px solid var(--cyan); background: rgba(12, 53, 78, .34); color: #c8dbe8; line-height: 1.55; overflow-wrap: anywhere; }
.vente-rapport-texte span { display: block; margin-bottom: .3rem; color: #7891a6; font-size: .68rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.vente-journal summary { cursor: pointer; color: var(--cyan); font-size: .82rem; font-weight: 800; }
.vente-journal pre { max-height: 420px; overflow: auto; margin: .7rem 0 0; padding: .9rem 1rem; border: 1px solid var(--line); border-radius: .6rem; background: #020a12; color: #c8dbe8; font-size: .74rem; line-height: 1.5; white-space: pre-wrap; overflow-wrap: anywhere; }

/* Administration › HAM+ › Pays de vente. */
.vente-pays-etat { margin: 0; display: grid; gap: .3rem; color: #c8dbe8; }
.vente-pays-etat strong { color: #8ee9c4; font-size: 1.05rem; }
.vente-pays-etat small { color: #8fa9bb; }
.vente-pays-grille { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: .35rem .9rem; max-height: 62vh; overflow-y: auto; padding: .8rem; border: 1px solid var(--line); border-radius: .8rem; background: rgba(2, 10, 18, .6); }
.auth-panel label.vente-pays-case { display: grid; grid-template-columns: auto 1fr; align-items: start; gap: .55rem; padding: .3rem .2rem; color: #dbe9f2; font-size: .86rem; line-height: 1.35; cursor: pointer; }
.vente-pays-case input { margin-top: .2rem; }
.vente-pays-case small { display: block; color: #7f98ab; font-family: "Courier New", monospace; font-size: .68rem; overflow-wrap: anywhere; }
.vente-pays-case.is-fixe { color: #8ee9c4; cursor: default; }
.vente-pays-autres { padding: .8rem !important; border: 1px dashed rgba(130, 196, 235, .32); border-radius: .7rem; }
/* HAMPLUS_ANDROID_PAYPAL_V1 (2026-10-22) : chaque pays a deux cases, « Inscription » et « Android (PayPal) ». La case Android d'un
   pays fermé à l'inscription est pâlie : fermé à l'inscription = fermé pour Android aussi. */
.vente-pays-grille { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.vente-pays-ligne { display: grid; grid-template-columns: auto auto 1fr; align-items: center; gap: .25rem .9rem; padding: .45rem .3rem; border-bottom: 1px solid rgba(130, 196, 235, .12); color: #dbe9f2; font-size: .86rem; line-height: 1.35; }
.vente-pays-nom { grid-column: 1 / -1; }
.vente-pays-nom small { display: block; color: #7f98ab; font-family: "Courier New", monospace; font-size: .68rem; overflow-wrap: anywhere; }
.vente-pays-nom em { display: block; color: #f3b664; font-size: .72rem; font-style: normal; font-weight: 700; }
.auth-panel label.vente-pays-col, .vente-pays-col { display: flex; align-items: center; gap: .4rem; color: #c8dbe8; font-size: .78rem; line-height: 1.3; cursor: pointer; }
.vente-pays-ligne.is-fixe, .vente-pays-ligne.is-fixe .vente-pays-col, .vente-pays-col.is-fixe { color: #8ee9c4; cursor: default; }
.vente-pays-ligne:has(input[name="pays[]"]:not(:checked)) .vente-pays-android { opacity: .45; }
.vente-pays-autres.vente-pays-ligne { grid-template-columns: 1fr; margin-top: .2rem; }
.auth-panel label.vente-pays-autres-case { display: grid; grid-template-columns: auto 1fr; align-items: start; gap: .55rem; color: #dbe9f2; font-size: .86rem; cursor: pointer; }
.vente-pays-autres-case small { display: block; color: #7f98ab; font-family: "Courier New", monospace; font-size: .68rem; overflow-wrap: anywhere; }
@media (max-width: 620px) {
  .vente-pays-grille { grid-template-columns: 1fr; max-height: none; }
  .vente-rapport-tete { align-items: flex-start; }
}

/* HAMPLUS_ANDROID_PAGE_V1 (2026-10-22) — la page « HAM+ pour Android » : le mot « en développement », les étapes numérotées, le
   sommaire (d'après les brouillons recherche/site-android/, sans les cases d'images). */
.android-section { gap: .8rem; }
.android-section h2 { margin: 0; }
.android-avis { margin: 0 0 .4rem; padding: .9rem 1rem; border-left: 4px solid var(--cyan); border-radius: .5rem; background: rgba(50, 203, 255, .08); color: var(--ink); line-height: 1.55; }
.android-etapes { counter-reset: etape; list-style: none; margin: .3rem 0 0; padding: 0; }
.android-etapes > li { counter-increment: etape; position: relative; padding: .7rem 0 .7rem 3rem; border-top: 1px solid var(--line); color: #dbe9f2; line-height: 1.55; overflow-wrap: anywhere; }
.android-etapes > li:first-child { border-top: 0; }
.android-etapes > li::before { content: counter(etape); position: absolute; left: 0; top: .6rem; display: flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; border-radius: 50%; background: var(--blue); color: #fff; font-weight: 800; }
.android-etapes a, .android-section .auth-note a { color: var(--cyan); }
.android-chemin { font-weight: 700; }
.android-petit { color: var(--muted); font-size: .9rem; }
.android-sommaire { display: flex; flex-wrap: wrap; gap: .5rem; margin: .4rem 0 0; padding: 0; list-style: none; }
.android-sommaire a { display: inline-block; padding: .4rem .8rem; border: 1px solid var(--line); border-radius: 999px; color: var(--ink); font-size: .88rem; text-decoration: none; }
.android-sommaire a:hover, .android-sommaire a:focus-visible { border-color: var(--cyan); color: var(--cyan); outline: none; }
@media (max-width: 620px) {
  .android-etapes > li { padding-left: 2.6rem; }
}