/* Pages publiques d'inscription : sobre, aux couleurs de Meeting.com, lisible sur téléphone. */

[hidden] { display: none !important; }
body.in-public { background: var(--mc-fond, #e9edf2); min-height: 100vh; display: flex; flex-direction: column; }
.in-largeur { width: 100%; max-width: 760px; margin: 0 auto; padding: 0 1rem; box-sizing: border-box; }
.in-bandeau { background: #fff; border-bottom: 1px solid var(--mc-bordure-carte, #d9dfe6); }
.in-bandeau-contenu { display: flex; align-items: center; justify-content: space-between; gap: 1em; padding-top: 0.8rem; padding-bottom: 0.8rem; }
.in-marque img { height: 44px; display: block; }
.in-langues { display: flex; gap: 0.25em; }
.in-langues a { padding: 0.3em 0.6em; border-radius: var(--mc-rayon-sm, 6px); font-weight: 600; font-size: 0.85em; color: var(--mc-gris-500); text-decoration: none; }
.in-langues a:hover { background: var(--mc-bleu-clair); color: var(--mc-bleu); }
.in-langues a.actif { background: var(--mc-bleu); color: #fff; }
.in-page { flex: 1; padding-top: 1.6rem; padding-bottom: 2.5rem; }
.in-logo-evenement { margin-bottom: 1.2rem; }
.in-logo-evenement img { max-height: 90px; max-width: min(100%, 360px); display: block; }
.in-titre { font-size: 1.6em; margin: 0 0 0.2em; color: var(--mc-marine, #003a65); }
.in-sous-titre { margin: 0 0 1.2em; color: var(--mc-gris-500); font-weight: 500; }
.in-intro { margin-bottom: 1.2em; line-height: 1.55; }
.in-formulaire h2 { font-size: 1em; text-transform: uppercase; letter-spacing: 0.04em; color: var(--mc-bleu); margin: 0 0 0.3em; }
.in-formulaire input[type="text"], .in-formulaire input[type="email"], .in-formulaire select, .in-formulaire textarea { width: 100%; box-sizing: border-box; }
.in-formulaire select#titre { width: auto; min-width: 9em; }
.in-npa-ville { display: grid; grid-template-columns: 9em 1fr; gap: 0 1em; }
.in-choix { border: none; padding: 0; margin: 0; }
.in-choix legend { font-weight: 600; margin-bottom: 0.35em; padding: 0; }
.in-choix .mc-case { margin: 0 0 0.3em; }
.in-info { background: var(--mc-bleu-tres-clair, #f4f9fc); border-left: 3px solid var(--mc-bleu); padding: 0.7em 0.9em; border-radius: 4px; margin-bottom: 1.1em; line-height: 1.5; }
.in-serie, .in-consentement { padding-top: 0.6em; border-top: 1px solid var(--mc-gris-100); }
.in-erreur-champ { color: var(--mc-rouge); font-size: 0.85em; font-weight: 600; margin-top: 0.25em; }
.mc-champ.en-erreur .mc-case { color: var(--mc-rouge); }
.in-actions { justify-content: flex-end; }
.in-actions button { min-width: 14em; }
.in-piege { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.in-merci-icone svg.mc-ic { width: 46px; height: 46px; color: var(--mc-vert); }
.in-texte { line-height: 1.6; margin: 0.6em 0 1em; }
.in-recap { display: grid; grid-template-columns: max-content 1fr; gap: 0.3em 1.2em; margin: 0.8em 0 1.2em; }
.in-recap dt { font-weight: 600; color: var(--mc-gris-500); }
.in-recap dd { margin: 0; }
.in-gerer-actions { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 1em; border-top: 1px solid var(--mc-gris-100); padding-top: 1em; }
.in-gerer-actions form { display: flex; flex-direction: column; align-items: flex-end; gap: 0.5em; }
.in-annuler-serie { font-size: 0.88em; margin: 0; }
.in-pied { background: #fff; border-top: 1px solid var(--mc-bordure-carte, #d9dfe6); font-size: 0.8em; color: var(--mc-gris-500); padding: 1rem 0; }
.in-pied a { color: var(--mc-bleu); }
/* Billet QR */
.in-billet { text-align: center; max-width: 30em; margin: 0 auto; }
.in-billet .in-titre { font-size: 1.35em; }
.in-billet-nom { font-size: 1.2em; font-weight: 700; margin: 0.4em 0 0.8em; display: flex; flex-direction: column; }
.in-billet-nom span { font-size: 0.75em; font-weight: 500; color: var(--mc-gris-500); }
.in-billet-qr svg { width: min(78vw, 300px); height: auto; display: block; margin: 0 auto; background: #fff; padding: 12px; box-sizing: content-box; }
.in-billet-aide { font-weight: 600; margin: 0.8em 0 0.4em; }
.in-billet-imprimer { margin-top: 0.6em; }
.in-billet-lien { margin-top: 0.8em; }
@media print {
    .in-bandeau, .in-pied, .in-billet-imprimer, .in-langues { display: none !important; }
    body.in-public { background: #fff; }
    .in-billet { border: none; box-shadow: none; }
}
@media (max-width: 560px) {
    .in-npa-ville { grid-template-columns: 1fr; }
    .in-actions button { width: 100%; }
    .in-recap { grid-template-columns: 1fr; }
    .in-recap dd { margin-bottom: 0.4em; }
}
