:root { --ic-vert: #407038; --ic-vert-clair: #9ac446; --ic-vert-sombre: #093a37; --ic-fond: #f6f8f3; }
body { background: var(--ic-fond); color: #1e2a1c; }
.entete { background: var(--ic-vert); color: #fff; }
.entete .logo { height: 56px; width: auto; }
.entete-titre { font-size: 1.35rem; font-weight: 600; }
main.container { max-width: 52rem; }
.intro .lead { font-size: 1.15rem; }
.sommaire ol { display: flex; flex-wrap: wrap; gap: .4rem .9rem; padding-left: 1.2rem; margin: 0 0 1.5rem; }
.sommaire a { color: var(--ic-vert); }
.section-enquete { background: #fff; border: 1px solid #e2e8dc; border-radius: .6rem; padding: 1.5rem; margin-bottom: 1.5rem; }
.section-enquete h2 { font-size: 1.35rem; color: var(--ic-vert-sombre); border-bottom: 2px solid var(--ic-vert-clair); padding-bottom: .5rem; margin-bottom: 1rem; }
.section-enquete h2 .numero { display: inline-block; background: var(--ic-vert-clair); color: #fff; border-radius: 50%; width: 1.8rem; height: 1.8rem; line-height: 1.8rem; text-align: center; font-size: 1rem; margin-right: .3rem; }
.section-description { color: #4a5a46; }
.question { margin-bottom: 1.4rem; }
.question-label { font-weight: 600; }
.question-erreur .question-label { color: #b02a37; }
.requis { color: #c8102e; }
.form-check-label { cursor: pointer; }
.champ-autre { display: inline-block; width: auto; min-width: 14rem; margin-left: .5rem; vertical-align: baseline; }
.form-control:focus, .form-check-input:focus { border-color: var(--ic-vert-clair); box-shadow: 0 0 0 .2rem rgba(154, 196, 70, .35); }
.form-check-input:checked { background-color: var(--ic-vert); border-color: var(--ic-vert); }
.btn-envoyer { background: var(--ic-vert); color: #fff; padding: .7rem 2.2rem; }
.btn-envoyer:hover { background: var(--ic-vert-sombre); color: #fff; }
.envoi { text-align: center; margin: 2rem 0; }
.pot-de-miel { position: absolute; left: -9999px; top: -9999px; }
.pied { background: var(--ic-vert); color: #fff; margin-top: 3rem; }
.pied a { color: #fff; }
.pied .liseret { height: 5px; background: var(--ic-vert-clair); }
.merci h1, .admin h1 { color: var(--ic-vert-sombre); }
.admin table a { color: var(--ic-vert); }
@media (max-width: 576px) { .section-enquete { padding: 1rem; } .entete-titre { font-size: 1.05rem; } }
