/* Bandeau et panneau de consentement (tarteaucitron) aux couleurs du site : vert sapin, crème, DM Sans.
   Préfixe « html body #tarteaucitronRoot » : plus spécifique que la feuille de tarteaucitron, chargée après celle-ci.
   « Tout accepter » et « Tout refuser » ont exactement le même poids visuel (exigence CNIL). */

html body #tarteaucitronRoot { font-family: 'DM Sans', system-ui, sans-serif; }
html body #tarteaucitronRoot #tarteaucitronAlertBig { box-sizing: border-box; padding: 18px max(16px, env(safe-area-inset-left)) calc(18px + env(safe-area-inset-bottom)); border-top: 1px solid rgba(255, 255, 255, .12); background: #102d20; color: #fff; font-size: 15px !important; line-height: 1.55; }
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert,
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert strong { color: #fff; font-size: 15px; }
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2,
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied2 { min-height: 44px; margin: 6px 4px 0; padding: 0 18px; border: 1px solid #fdfcf9; border-radius: 8px; background: #fdfcf9; color: #102d20; font: 600 15px/1 'DM Sans', system-ui, sans-serif !important; }
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert,
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrl { min-height: 44px; margin: 6px 4px 0; padding: 0 14px; border: 1px solid rgba(255, 255, 255, .55); border-radius: 8px; background: transparent; color: #fff; font: 500 14px/1 'DM Sans', system-ui, sans-serif !important; }
html body #tarteaucitronRoot #tarteaucitronAlertBig button:focus-visible { outline: 3px solid #e8cf98; outline-offset: 3px; }
/* Panneau « Gérer mes cookies » : boutons Autoriser / Interdire au même poids, le choix en cours en vert sapin.
   Trois identifiants dans le sélecteur : la feuille de tarteaucitron en a jusqu'à trois pour ces boutons. */
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronAllow,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronDeny { min-height: 40px; border: 1px solid #102d20; border-radius: 8px; background: #fff; color: #102d20; font-family: 'DM Sans', system-ui, sans-serif; opacity: 1; }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices #tarteaucitronAllAllowed.tarteaucitronIsSelected,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices #tarteaucitronAllDenied.tarteaucitronIsSelected,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronIsAllowed .tarteaucitronAllow,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronIsDenied .tarteaucitronDeny { background: #102d20; color: #fff; }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronClosePanel { border-radius: 8px 8px 0 0; background: #102d20; color: #fff; font-family: 'DM Sans', system-ui, sans-serif; }
html body #tarteaucitronRoot #tarteaucitron button:focus-visible { outline: 3px solid #102d20; outline-offset: 2px; }

/* Formulaire de contact : demande d'accord pour la vérification anti-robot. */
.contact-recaptcha:has([data-recaptcha-allow]) { display: grid; gap: 10px; min-height: 0; overflow: visible; }
.contact-recaptcha-allow { justify-self: start; min-height: 44px; padding: 0 16px; border: 1px solid #102d20; border-radius: 8px; background: #fff; color: #102d20; font: 600 14px/1 'DM Sans', system-ui, sans-serif; cursor: pointer; transition: background-color 160ms ease, color 160ms ease, transform 160ms cubic-bezier(.23, 1, .32, 1); }
.contact-recaptcha-allow:active { transform: scale(.97); }
.contact-recaptcha-allow:focus-visible { outline: 3px solid #102d20; outline-offset: 3px; }
@media (hover: hover) and (pointer: fine) { .contact-recaptcha-allow:hover { background: #102d20; color: #fff; } }
@media (prefers-reduced-motion: reduce) { .contact-recaptcha-allow:active { transform: none; } }
