/* ONB-1 / B-MOBILE-L6 — inscription : habillage de la maquette validée
   (dist/parcours.css : .ob-act, .ob-title, .back, .app-bar). Choix en lignes
   pleine largeur pensés pour le pouce, Retour discret en tête de section, une
   action principale par section. Jetons : pilote-design-system.css. */
.signup-choices { border: 0; margin: 14px 0 0; padding: 0; min-width: 0; }
.signup-choices legend { margin-bottom: 6px; padding: 0; font-size: 13px; font-weight: 500; color: var(--pds-ref-ink); }
.signup-choices__list { display: grid; grid-template-columns: 1fr; gap: 8px; }
.signup-choices__list > div { margin: 0; min-width: 0; }
.card .signup-choices label {
    display: flex; align-items: center; min-height: 48px; margin: 0; padding: 10px 14px;
    border: 1px solid var(--pds-ref-control-border); border-radius: 10px;
    background: var(--pds-ref-surface); color: var(--pds-ref-ink);
    font-size: 15px; font-weight: 600; line-height: 1.3; text-align: left; cursor: pointer;
    overflow-wrap: anywhere;
}
.signup-choices input[type="radio"] { position: absolute; opacity: 0; width: 1px; height: 1px; }
.card .signup-choices label:has(input:checked) {
    border-color: var(--pds-ref-accent); background: var(--pds-action-soft);
    color: var(--pds-ref-link); box-shadow: 0 0 6px color-mix(in srgb, var(--pds-ref-accent) 25%, transparent);
}
.card .signup-choices label:has(input:focus-visible) { outline: 2px solid var(--pds-ref-link); outline-offset: 2px; }
.signup-choices[hidden] { display: none; }
/* INSCRIPTION-NC-SEULE : localité unique (bêta), lue seulement, sans radio. */
.signup-fixed { margin: 14px 0 0; }
.signup-fixed__label { margin: 0 0 6px; font-size: 13px; font-weight: 500; color: var(--pds-ref-ink); }
.signup-fixed__value {
    display: flex; align-items: center; min-height: 48px; margin: 0; padding: 10px 14px;
    border: 1px solid var(--pds-ref-control-border); border-radius: 10px;
    background: var(--pds-ref-surface); color: var(--pds-ref-ink);
    font-size: 15px; font-weight: 600; line-height: 1.3; overflow-wrap: anywhere;
}

.signup-pin { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.signup-pin > div { min-width: 0; }
.card .signup-pin input { letter-spacing: .4em; text-align: center; }
.field-help { margin: 6px 0 0; color: var(--pds-ref-muted); font-size: 13px; line-height: 1.4; }
.signup-alt { margin: 10px 0 0; font-size: 14px; color: var(--pds-ref-muted); text-align: center; }

/* Tête de section : Retour discret (.back) puis titre (.ob-title). */
.signup-section + .signup-section { margin-top: 26px; }
.signup-head { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; margin: 4px 0 6px; }
.signup-back {
    display: inline-flex; align-items: center; gap: 2px; min-height: 44px;
    margin-left: -6px; padding: 0 10px 0 2px; border: 0; border-radius: 10px;
    background: none; color: var(--pds-ref-link); font: inherit; font-size: 15px; font-weight: 500; cursor: pointer;
}
.signup-back:hover { background: var(--pds-action-soft); }
.signup-title { margin: 0; font-size: 21px; font-weight: 600; line-height: 1.25; color: var(--pds-ref-ink); }
.signup-title:focus { outline: none; }
.signup-next { margin-top: 18px; }
[data-signup-activity] > legend { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Téléphone, une section à la fois (signup.js pose .is-stepped) : la
   présentation n'accompagne que la première section, et l'action principale
   se pose en bas de l'écran sur une barre blanche (.app-bar de la maquette). */
@media (max-width: 767px) {
    .card:has(form.is-stepped [data-signup-section="1"][hidden]) > h1,
    .card:has(form.is-stepped [data-signup-section="1"][hidden]) > .subtitle { display: none; }
    form.is-stepped .signup-section + .signup-section { margin-top: 0; }
    form.is-stepped .signup-section:not([hidden]) {
        display: flex; flex-direction: column;
        min-height: calc(100svh - 66px);
    }
    form.is-stepped .signup-section:not([hidden]) > .signup-bar {
        position: sticky; bottom: 0; z-index: 2; margin: auto -16px 0; padding: 10px 16px 12px;
        padding-bottom: max(12px, env(safe-area-inset-bottom));
        background: var(--pds-ref-surface); border-top: 1px solid var(--pds-ref-grid);
    }
    form.is-stepped .signup-bar > .pub-action { margin-top: 0; }
    form.is-stepped .signup-section:not([hidden]) > :nth-last-child(2) { margin-bottom: 22px; }
}
