/* Formulaire de demande : s'appuie sur les variables de la page (--carte, --encre, --trait, --balise, --sapin…), avec des valeurs de repli. */
#demande, #votre-demande, .demande .resultat { scroll-margin-top: 5.5rem; }
.demande { position: relative; display: grid; gap: 0.95rem; background: var(--carte, var(--feuille, #fff)); color: var(--encre, #15241d); border: 1px solid var(--trait, #c9d4cc); border-top: 4px solid var(--balise, #c8481a); border-radius: var(--rayon, 6px); padding: 1.25rem; text-align: left; }
.demande .titre-demande { font-family: var(--titre, "Barlow Condensed", "Arial Narrow", sans-serif); font-weight: 700; font-size: 1.45rem; line-height: 1.15; margin: 0; }
.demande .champ { display: grid; gap: 0.3rem; }
.demande label, .demande summary { font-family: var(--titre, "Barlow Condensed", "Arial Narrow", sans-serif); font-weight: 600; font-size: 1.08rem; line-height: 1.2; }
.demande label small, .demande .aide { font-family: var(--texte, inherit); font-weight: 400; font-size: 0.9rem; color: var(--encre-douce, var(--douce, #4a5a52)); }
.demande input, .demande select, .demande textarea { font: inherit; font-size: 1rem; color: inherit; background: var(--papier, #f3f6f2); border: 1px solid var(--trait, #c9d4cc); border-radius: 4px; padding: 0.65rem 0.75rem; min-height: 2.9rem; width: 100%; max-width: 100%; }
.demande textarea { min-height: 6rem; resize: vertical; }
.demande input:focus-visible, .demande select:focus-visible, .demande textarea:focus-visible, .demande summary:focus-visible { outline: 3px solid var(--balise, #c8481a); outline-offset: 1px; }
.demande [aria-invalid="true"] { border-color: #b3261e; box-shadow: 0 0 0 1px #b3261e; }
.demande details { display: grid; gap: 0.8rem; }
.demande details[open] summary { margin-bottom: 0.8rem; }
.demande summary { cursor: pointer; color: var(--sapin, #1d5a43); min-height: 2.75rem; display: flex; align-items: center; }
.demande .details-champs { display: grid; gap: 0.9rem; }
.demande .deux { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0.9rem; }
.demande .bouton { display: inline-flex; align-items: center; justify-content: center; min-height: 3rem; font-family: var(--titre, "Barlow Condensed", "Arial Narrow", sans-serif); font-weight: 700; font-size: 1.15rem; text-transform: uppercase; letter-spacing: 0.04em; text-decoration: none; background: #c8481a; color: #fff; border: 2px solid #c8481a; border-radius: var(--rayon, 6px); padding: 0.6rem 1.25rem; cursor: pointer; text-align: center; }
.demande button[type="submit"] { width: 100%; }
.demande button[type="submit"]:disabled { opacity: 0.7; cursor: progress; }
.demande .statut { min-height: 1.4em; margin: 0; font-size: 0.95rem; }
.demande a:not(.bouton), .bande.foncee .demande a:not(.bouton) { color: var(--sapin, #1d5a43); }
.demande .mentions { margin: 0; font-size: 0.88rem; color: var(--encre-douce, var(--douce, #4a5a52)); }
.demande .hp { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.demande .resultat { display: grid; gap: 0.75rem; }
.demande .resultat:focus { outline: none; }
.demande .resultat-titre { font-family: var(--titre, "Barlow Condensed", "Arial Narrow", sans-serif); font-weight: 700; font-size: 1.45rem; margin: 0; }
.demande .resultat textarea { min-height: 10rem; font-family: var(--code, ui-monospace, monospace); font-size: 0.9rem; }
.demande .resultat .actions { display: flex; flex-wrap: wrap; gap: 0.6rem; }
.demande .copier { font-family: var(--titre, "Barlow Condensed", "Arial Narrow", sans-serif); font-weight: 600; font-size: 1rem; background: transparent; color: var(--sapin, #1d5a43); border: 1px solid var(--sapin, #1d5a43); border-radius: 4px; padding: 0.3rem 0.8rem; min-height: 2.75rem; cursor: pointer; }
@media (max-width: 520px) { .demande { padding: 1rem; } .demande .deux { grid-template-columns: minmax(0, 1fr); } }
/* Bouton aux couleurs fixes de la marque : contraste AA quelle que soit la page (la page exemple utilise un orange plus clair). */
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .demande .bouton { background: #ff7a4a; border-color: #ff7a4a; color: #1a0d07; } }
