/* Retouches de la production : préserver les compositions, photographies et couleurs existantes. */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible { outline:3px solid #b87821; outline-offset:4px; }
#header .logo { flex-shrink:0; background:rgba(255,255,255,.96); padding:5px 8px; border-radius:8px; }
#header .logo img { display:block; width:158px; height:auto; max-height:55px; margin:0; object-fit:contain; }
#header .nav-parent { display:flex; align-items:center; gap:6px; border:0; background:none; color:#fff; font:inherit; font-family:var(--nav-font); font-size:15px; padding:16px 9px; min-height:48px; white-space:nowrap; }
#header .nav-parent i { font-size:12px; transition:transform .2s; }
#header .nav-parent[aria-expanded=true] i { transform:rotate(180deg); }
body.scrolled #header .nav-parent { color:#183127; }
body.scrolled #header .espace-link { color:#183127!important; }
#header .nav-parent:hover,#header .nav-parent[aria-expanded=true] { text-decoration:underline; text-underline-offset:6px; }
#header .dropdown>ul { display:none; top:100%; left:0; right:auto; padding:8px; width:max-content; min-width:230px; max-width:320px; border-radius:10px; background:#fff; border:1px solid #d8e4db; box-shadow:0 12px 26px #0828151f; opacity:1; visibility:visible; transform:none; }
#header .dropdown.is-open>ul { display:block; animation:bem-dropdown .18s ease-out; }
#header .dropdown>ul a { white-space:normal; min-height:44px; padding:12px 14px; }
@keyframes bem-dropdown { from { opacity:.5; transform:translateY(-5px); } to { opacity:1; transform:none; } }
@media(min-width:1200px) {
  #header .container-xl { max-width:1440px; padding-left:24px; padding-right:238px; justify-content:flex-start!important; gap:24px; }
  #header .navmenu a,#header .navmenu a:focus { font-size:15px; padding:16px 9px; }
  .social-links-header { right:20px; top:18px; gap:8px; padding:5px 8px; }
  .social-links-header a { width:29px; height:30px; }
}
@media(min-width:1200px) and (max-width:1279px) {
  #header .container-xl { gap:16px; }
  #header .logo img { width:144px; }
  #header .navmenu a,#header .navmenu a:focus,#header .nav-parent { padding:16px 7px; font-size:14px; }
}
@media(max-width:1199px) {
  #header .logo { padding:0; background:transparent; }
  #header .logo img { width:150px; max-height:48px; }
  #header .nav-parent { color:#183127; width:100%; justify-content:space-between; padding:12px 20px; text-align:left; font-size:16px; }
  body.mobile-nav-active #header .navmenu .dropdown>ul { display:none!important; position:static; width:auto; min-width:0; max-width:none; box-shadow:none; }
  body.mobile-nav-active #header .navmenu .dropdown.is-open>ul { display:block!important; }
  body.mobile-nav-active #header .mobile-nav-toggle { width:44px; height:44px; color:#fff!important; background:#147a45; }
  #header .navmenu a.espace-link { color:#183127!important; }
  body.mobile-nav-active #scroll-top { visibility:hidden; }
}
/* Accueil : même vidéo, même accroche, même assemblage photographique. */
body[data-bem-page=home] #hero { position:relative; }
.hero-motion-control { position:absolute; right:24px; bottom:16px; z-index:3; border:1px solid #ffffffa8; border-radius:8px; padding:9px 12px; background:#0b251fcc; color:#fff; font:500 12px/1.5 var(--default-font); min-height:40px; }
.hero-motion-control[hidden] { display:none; }
body[data-bem-page=home] .value-card p { text-align:left; line-height:1.7; }
body[data-bem-page=home] .value-card .btn-primary { color:#fff; background:#147a45; text-decoration:none; }
body[data-bem-page=home] .value-card .btn-primary:hover { background:#0b4e2c; }
body[data-bem-page=home] .program-item { transition:box-shadow .22s,transform .22s; }
body[data-bem-page=home] .program-item:hover { transform:translateY(-3px); }
body[data-bem-page=home] .program-content p { line-height:1.65; }
body[data-bem-page=home] .isotope-filters li { padding:0; }
body[data-bem-page=home] .isotope-filters button { border:0; border-radius:inherit; background:transparent; color:inherit; font:inherit; padding:10px 20px; min-height:44px; }
body[data-bem-page=home] .btn-donate i { animation:none; }
body[data-bem-page=home] .btn-donate:hover i { transform:scale(1.08); transition:transform .2s; }
@media(max-width:767px) {
  .hero-motion-control { right:16px; bottom:16px; }
  body[data-bem-page=home] .hero .hero-container { padding-bottom:100px; }
  body[data-bem-page=home] .about .mission-vision-row .value-card { padding:24px; }
  body[data-bem-page=home] .featured-programs .isotope-filters { gap:8px; }
}
/* Footer d'origine, rééquilibré ; logo officiel intégral sur support clair. */
#footer { background:#080b09; color:#e5eae6; }
#footer .footer-top { padding-top:56px; padding-bottom:32px; }
#footer .footer-about .logo { display:inline-flex!important; width:max-content; padding:10px 14px; background:#fff; border-radius:8px; }
#footer .footer-about .logo img { width:190px; height:auto; max-height:none; object-fit:contain; }
#footer .footer-contact { max-width:370px; font-size:15px; line-height:1.75; }
#footer .footer-contact p { margin-bottom:8px; }
#footer h4 { font-size:18px; margin-bottom:20px; color:#fff; }
#footer a { color:#e5eae6; }
#footer a:hover { color:#fff; text-decoration:underline; text-underline-offset:4px; }
#footer .social-links { gap:10px; flex-wrap:wrap; }
#footer .social-links a { width:40px; height:40px; margin:0; font-size:19px; border:1px solid #728378; color:#eef6ee; display:inline-flex; align-items:center; justify-content:center; }
#footer .social-links a:hover { background:#147a45; text-decoration:none; }
#footer .footer-links li { padding:0; }
#footer .footer-links li a { min-height:42px; padding:6px 0; font-size:15px; }
#footer .footer-newsletter p { font-size:15px; line-height:1.75; max-width:35ch; }
#footer label { font-size:14px; display:block; margin-top:20px; margin-bottom:9px; }
#footer .newsletter-form { display:flex; gap:8px; padding:0; margin-top:0; border:0; background:transparent; box-shadow:none; border-radius:0; }
#footer .newsletter-form input[type=email] { min-width:0; flex:1 1 auto; width:100%; min-height:48px; border:1px solid #95ae9e; border-radius:10px; color:#183127; background:#fff; padding:11px 12px; font-size:16px; }
#footer .newsletter-form input[type=submit] { flex:0 0 auto; margin:0; min-height:48px; border-radius:10px; background:#147a45; color:#fff; border:1px solid #52956c; padding:11px 16px; font-size:14px; }
#footer .newsletter-form input[type=submit]:hover { background:#0b4e2c; }
#footer .newsletter-form input:disabled { opacity:.65; cursor:wait; }
#footer .error-message,#footer .sent-message { font-size:14px; line-height:1.6; margin-top:12px; padding:12px; }
#footer .error-message { background:#fff0ed; color:#782820!important; }
#footer .sent-message { background:#edf8ef; color:#14502c!important; }
#footer .copyright { margin-top:24px!important; padding-top:24px; padding-bottom:20px; font-size:13px; }
#footer .credits { font-size:12px; color:#c5d1c8; }
@media(max-width:767px) {
  #footer .footer-top { padding-top:40px; padding-bottom:8px; }
  #footer .footer-top>.row { --bs-gutter-y:36px; }
  #footer .footer-newsletter .newsletter-form { flex-direction:column; }
  #footer .footer-contact { max-width:none; }
  #footer .social-links a { width:44px; height:44px; }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation-iteration-count:1!important; animation-duration:.01ms!important; transition-duration:.01ms!important; scroll-behavior:auto!important; }
}
