:root { color-scheme: light; --fond: #fdfcf9; --surface: #fff; --texte: #232323; --secondaire: #6f6a5e; --bordure: #e4ded2; --accent: #6b5330; --sur-accent: #fff; }
@media (prefers-color-scheme: dark) { :root { color-scheme: dark; --fond: #171512; --surface: #211e19; --texte: #f3ede2; --secondaire: #b8ac98; --bordure: #7d725f; --accent: #d9b66f; --sur-accent: #171512; } }
* { box-sizing: border-box; }
body { margin: 0; background: var(--fond); color: var(--texte); font-family: 'Helvetica Neue', 'Segoe UI', Arial, sans-serif; font-size: 1rem; line-height: 1.65; }
a { color: var(--accent); text-underline-offset: .18em; overflow-wrap: anywhere; }
a:focus-visible, button:focus-visible, [tabindex]:focus-visible { outline: 3px solid var(--accent); outline-offset: 4px; }
.lien-evitement { position: absolute; top: .5rem; left: .5rem; padding: .5rem; background: var(--surface); transform: translateY(-180%); }
.lien-evitement:focus { transform: none; }
.recuperation-entete { background: #243247; padding: 1rem max(1.25rem, calc((100vw - 48rem) / 2)); }
.recuperation-entete a { color: #fff9ed; font-weight: 700; font-size: 1.1rem; letter-spacing: .08em; text-decoration: none; }
main, footer { width: min(100% - 2.5rem, 48rem); margin-inline: auto; }
main { padding-block: 1.8rem 1rem; }
h1, h2 { line-height: 1.25; font-family: 'Avenir Next', Avenir, 'Segoe UI', sans-serif; }
h1 { font-size: clamp(1.7rem, 4vw, 2.45rem); margin-top: 0; }
h2 { font-size: 1.3rem; margin-top: 0; }
.recuperation-carte { padding: clamp(1.1rem, 4vw, 1.7rem); margin-block: 1.5rem; border: 1px solid var(--bordure); border-radius: .8rem; background: var(--surface); }
.bouton { display: inline-block; padding: .8rem 1.1rem; min-height: 2.8rem; border: 1px solid var(--accent); border-radius: .4rem; background: var(--accent); color: var(--sur-accent); font: inherit; font-weight: 600; line-height: 1.4; text-align: center; text-decoration: none; cursor: pointer; }
.bouton:disabled { opacity: .6; cursor: wait; }
.ancienne-adresse { font-size: .85rem; color: var(--secondaire); overflow-wrap: anywhere; }
[hidden] { display: none !important; }
[data-recuperation-statut]:empty { margin: 0; }
[data-recuperation-statut]:not(:empty) { padding: .8rem 1rem; border-left: 3px solid var(--accent); }
[data-recuperation-statut][data-erreur='true'] { border-left-width: 6px; }
li + li { margin-top: .8rem; }
footer { padding-block: .5rem 2.5rem; }
@media (max-width: 30rem) { .bouton { width: 100%; } }
