/* Compléments des pages statiques BAB (le reste vient du CSS compilé du site, inchangé). */
/* Menu mobile : la navigation de l'en-tête s'affiche en panneau quand le bouton est ouvert */
@media (max-width: 1023px) {
  html.bab-menu-ouvert header nav { display: flex !important; flex-direction: column; position: fixed; inset: 64px 0 auto 0; max-height: calc(100vh - 64px); overflow: auto; background: #fff; padding: 12px 20px 24px; z-index: 60; box-shadow: 0 12px 24px rgba(0,0,0,.12); gap: 4px; }
  html.bab-menu-ouvert header nav a { display: block; padding: 10px 0; font-size: 1rem; }
  html.bab-menu-ouvert header nav div { position: static !important; display: block !important; opacity: 1 !important; visibility: visible !important; transform: none !important; box-shadow: none !important; padding: 0 0 0 12px !important; min-width: 0 !important; }
}
/* Bandeau cookies */
#bab-cookies { position: fixed; left: 12px; bottom: 12px; z-index: 70; max-width: 440px; background: #fff; border: 1px solid #e5e7eb; border-radius: 10px; padding: 12px 14px; box-shadow: 0 8px 24px rgba(0,0,0,.12); display: flex; gap: 12px; align-items: center; font-size: 14px; }
@media (max-width: 1023px) { #bab-cookies { bottom: calc(76px + env(safe-area-inset-bottom)); right: 12px; } }
#bab-cookies p { margin: 0; flex: 1; }
#bab-cookies a { text-decoration: underline; }
#bab-cookies button { padding: 8px 14px; border-radius: 8px; border: 0; background: transparent; cursor: pointer; font-weight: 600; }
#bab-cookies button.bab-ok { background: #1e3a5f; color: #fff; }
/* Formulaire de demande */
.bab-form { display: grid; gap: 10px; max-width: 640px; margin: 0 auto; text-align: left; }
.bab-form .bab-2 { display: grid; gap: 10px; grid-template-columns: 1fr 1fr; }
@media (max-width: 640px) { .bab-form .bab-2 { grid-template-columns: 1fr; } }
.bab-form label { display: grid; gap: 4px; font-size: 14px; font-weight: 600; color: #1f2937; }
.bab-form input, .bab-form textarea { width: 100%; border: 1px solid #d1d5db; border-radius: 8px; padding: 10px 12px; font: inherit; font-weight: 400; background: #fff; color: #111827; }
.bab-form textarea { min-height: 110px; }
.bab-form .bab-pm { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.bab-form button[type=submit] { background: #f97316; color: #fff; border: 0; border-radius: 10px; padding: 14px 18px; font-weight: 700; font-size: 16px; cursor: pointer; }
.bab-form button[disabled] { opacity: .6; }
.bab-form .bab-msg { min-height: 1.2em; font-size: 14px; color: #b45309; margin: 0; }
.bab-form .bab-rgpd { font-size: 12px; color: #6b7280; margin: 0; }
.bab-merci { background: #ecfdf5; border: 1px solid #a7f3d0; border-radius: 10px; padding: 16px; }
/* Contenus repris d'un carrousel : défilement horizontal au lieu d'un mécanisme JavaScript */
.bab-defile { overflow-x: auto !important; scroll-snap-type: x mandatory; }
.bab-defile > * { transform: none !important; }
