/* Parcours du compte, formulaires métier et retours de paiement. */
.espace-page { width: min(100%, max(90%, 1200px)); max-width: 1600px; margin: .5rem auto 2.5rem; color: var(--icac-anthracite); font-size: 1rem; font-weight: 300; }
.espace-etroit { max-width: 1600px; }
.espace-retour { display: inline-flex; gap: .5rem; align-items: center; margin-bottom: 1rem; font-size: .85rem; color: var(--icac-anthracite); }
.espace-entete { margin-bottom: 1.25rem; }
.espace-surtitre { margin: 0 0 .4rem; color: var(--icac-anthracite); font-size: .75rem; font-family: var(--icac-police-surtitre); font-weight: 500; letter-spacing: .15em; text-transform: uppercase; }
.espace-page h1 { margin: 0 0 .5rem; font-size: clamp(1.8rem, 3vw, 2.6rem); line-height: 1.15; letter-spacing: -.035em; text-transform: none; }
.espace-entete > p:last-child, .espace-description { color: var(--icac-anthracite); font-size: .9rem; }
.espace-entete > p:last-child { margin: 0; }
.espace-page h2 { margin: 0 0 1.15rem; font-size: 1.2rem; text-transform: none; }
.espace-page a { color: var(--icac-rouge-fonce); }
.espace-page a.btn-primary { color: #fff; }
.espace-page .btn { margin: 0; text-transform: none; letter-spacing: 0; }
.espace-page a:focus-visible, .espace-page button:focus-visible, .espace-page summary:focus-visible { outline: 3px solid var(--icac-rouge); outline-offset: 4px; }
.espace-section { min-width: 0; padding: 1.4rem; margin-bottom: 1.25rem; border: 1px solid #dfe1e8; border-radius: .85rem; background: #fff; }
.espace-section > :last-child { margin-bottom: 0; }
.espace-champs, .espace-media-grille { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1.25rem; }
.espace-champs > *, .espace-media-grille > * { min-width: 0; }
.espace-legende { font-size: .75rem; color: var(--icac-anthracite); margin-bottom: 1rem; }
.espace-page .form-floating > label { margin: 0; font-size: 1rem; font-weight: 500; color: var(--icac-anthracite); }
.espace-page .form-floating > label::after { content: ''; }
.espace-marque-important { color: #995216 !important; }
.espace-marque-facultatif { color: #387344 !important; }
.espace-marque { margin-left: .15em; font-size: .8em; font-weight: 800; color: var(--icac-rouge-fonce); }
.espace-page .form-control, .espace-page .form-select { font-size: 1rem; font-weight: 300; border-color: #d6d8e0; border-radius: .45rem; }
.espace-page .form-floating > .form-control, .espace-page .form-floating > .form-select { min-height: calc(3.5rem + 2px); }
.espace-page .form-control:not(textarea):not(.form-floating > *) { min-height: 2.75rem; }
.espace-page .form-check { margin-block: .5rem; font-size: .9rem; }
.espace-page .form-check-label { font-weight: 500; }
.espace-page .form-text, .espace-page .invalid-feedback { font-size: .85rem; }
.espace-page textarea { min-height: 8rem; }
.espace-page .tox-tinymce { max-width: 100%; border-radius: .45rem; }
.espace-page .ts-wrapper { min-width: 0; }
.espace-page .ts-control { font-size: 1rem; }
.espace-page .ts-dropdown { font-size: .9rem; }
.espace-note { background: #f5f6f9; border: 1px solid #e4e5eb; border-radius: .65rem; padding: 1rem; margin: 1rem 0; font-size: .9rem; color: var(--icac-anthracite); }
.espace-note p { margin: .35rem 0 0; color: var(--icac-anthracite); }
.espace-note ul { margin: .65rem 0; padding-left: 1.25rem; }
.espace-conseils { border: 1px solid #dfe1e8; border-radius: .65rem; padding: 1rem 1.25rem; margin-bottom: 1.25rem; font-size: .9rem; }
.espace-conseils summary { cursor: pointer; font-weight: 800; }
.espace-conseils[open] summary { margin-bottom: 1rem; }
.espace-conseils .espace-section { margin-bottom: 1rem; }
.espace-conseils img { max-width: 100%; height: auto; }
.espace-demande { background: #fffafa; border-top: 3px solid var(--icac-rouge); }
.espace-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; margin-top: 1.25rem; }
.espace-apercu { margin: 0 0 1.25rem; }
.espace-apercu img { display: block; max-width: 100%; max-height: 520px; margin: 0 auto; object-fit: contain; border-radius: .5rem; }
.espace-apercu figcaption { margin-top: .65rem; color: var(--icac-anthracite); font-size: .85rem; text-align: center; }
.espace-suppression { display: flex; align-items: center; flex-wrap: wrap; justify-content: space-between; gap: .75rem; padding-top: 1rem; border-top: 1px solid #e4e5eb; }
.espace-suppression p { margin: 0; color: var(--icac-anthracite); font-size: .85rem; }
.espace-suppression form { margin: 0; }
.espace-etroit .espace-media-grille { grid-template-columns: 1fr; }
.paiement-montant { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; flex-wrap: wrap; padding-bottom: 1rem; margin-bottom: 1rem; border-bottom: 1px solid #e4e5eb; }
.paiement-montant strong { font-size: 2.25rem; font-variant-numeric: lining-nums tabular-nums; }
.paiement-details > div { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: .75rem; padding: .75rem 0; border-bottom: 1px solid #e4e5eb; }
.paiement-details dt { font-size: .85rem; font-weight: 300; color: var(--icac-anthracite); }
.paiement-details dd { margin: 0; font-size: .95rem; overflow-wrap: anywhere; }
.paiement-reference { overflow-wrap: anywhere; font-size: .85rem; color: var(--icac-anthracite); }
.paiement-confirme .espace-section { border-top: 3px solid #407755; }
.auth-message { font-size: .95rem; }
@media (max-width: 767px) {
    .espace-page { margin-top: 0; }
    .espace-section { padding: 1.1rem; }
    .espace-champs, .espace-media-grille { grid-template-columns: 1fr; }
    .espace-conseils { padding: 1rem; }
    .paiement-details > div { grid-template-columns: 1fr; gap: .25rem; }
}
@media print {
    .paiement-etat .espace-actions { display: none; }
}
/* Paiement confirmé : le médaillon arrive avec quelques confettis, une seule fois. */
.paiement-illustration { display: block; width: 170px; height: auto; margin: 0 0 .5rem -1rem; }
@media print { .paiement-illustration { display: none; } }
