/* Éléments propres à la démo. styles.css et fonts/ sont copiés à l'identique
   de scriptek-site (commit 950d12f) : ne pas les modifier ici. */
#rdv-form { max-width: 34rem; margin-bottom: 2rem; display: grid; gap: 1rem; }
#rdv-form select { font: inherit; padding: 0.6rem 0.7rem; border: 1px solid var(--rule); background: var(--field); color: var(--ink); }
#rdv-form .button:disabled { opacity: 0.45; cursor: not-allowed; transform: none; box-shadow: 4px 4px 0 var(--rule); }
.rdv-champ { position: relative; display: grid; gap: 0.35rem; }
.rdv-champ label { font-weight: 600; font-size: 0.95rem; }
#rdv-suggestions { position: absolute; top: 100%; left: 0; right: 0; z-index: 5; margin: 0; padding: 0; list-style: none;
  background: var(--field); border: 1px solid var(--ink); box-shadow: 4px 4px 0 var(--rule); }
#rdv-suggestions li { padding: 0.5rem 0.75rem; cursor: pointer; max-width: none; }
#rdv-suggestions li small { color: var(--muted); }
#rdv-suggestions li[aria-selected="true"], #rdv-suggestions li:hover { background: #fff8e0; }
.rdv-page .vl-etapes .vl-detail { grid-column: 1 / -1; }
.rdv-actions { margin: 1.5rem 0 2rem; }
.rdv-finale { border-top: 1px solid var(--rule); padding-top: 1rem; margin-top: 3rem; color: var(--muted); }

.fiche { max-width: 52rem; background: var(--field); padding: clamp(1rem, 3vw, 2rem); border-top: 4px solid var(--signal); }
.fr-surtitre { text-transform: uppercase; letter-spacing: .08em; font-size: .8rem; color: var(--muted); margin: 0; }
.fr-titre { margin: .25rem 0 .5rem; font-size: clamp(1.4rem, 3vw, 1.9rem); max-width: none; }
.fr-meta { color: var(--muted); margin: 0; max-width: none !important; }
.fr-section h3 { font-size: 1.05rem; margin: 1.6rem 0 .6rem; padding-bottom: .3rem; border-bottom: 1px solid var(--rule); }
.fr-liste, .fr-bref, .fr-questions { padding-left: 1.1rem; }
.fr-liste li, .fr-bref li, .fr-questions li { margin: .3rem 0; max-width: none !important; }
.fr-table { border-collapse: collapse; font-size: .92rem; }
.fr-table th, .fr-table td { border: 1px solid var(--rule); padding: .3rem .6rem; text-align: left; }
.fr-verifier, .fr-secours { font-size: .78rem; border: 1px solid var(--rule); padding: 0 .3rem; color: var(--muted); white-space: nowrap; }
.fr-verifier { border-color: var(--signal); color: var(--ink); }
.fr-appui, .fr-note, .fr-sources { font-size: .85rem; color: var(--muted); }
.fr-indispo { border-left: 4px solid var(--signal); padding-left: .75rem; }
.fr-pied { border-top: 1px solid var(--rule); margin-top: 2rem; padding-top: 1rem; }
.fr-avertissement { font-weight: 700; }
@media (max-width: 36rem) { .fr-table { font-size: .82rem; } }
