/* Navigation commune — mobile et tablette */
.site-menu-button{display:none}

/* Même bandeau supérieur et même pied de page que l'accueil. */
.site-common-header{height:92px!important;background:var(--cream,#f6f1e7)!important;color:var(--green,#123323)!important;display:flex!important;align-items:center!important;padding:0 max(24px,calc((100vw - var(--page,min(1480px,calc(100vw - 64px))))/2))!important;gap:36px!important;box-sizing:border-box!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important}.site-common-header .brand{font:700 29px/.75 var(--serif,Georgia,serif)!important;letter-spacing:-1.6px!important}.site-common-header nav{display:flex;gap:clamp(15px,1.6vw,28px);align-items:center;margin-left:auto;font:700 11px var(--sans,Arial,sans-serif);text-transform:uppercase;letter-spacing:.1px}.site-common-header nav a{padding:0!important;white-space:nowrap}.site-common-header nav .active{color:#b5780a!important;border:0!important}.site-common-header .socials{display:flex;gap:20px;font:700 21px var(--sans,Arial,sans-serif);align-items:center}.site-common-header .menu-button{display:none}
.site-common-header.site-nav-bar{position:sticky!important;top:0!important;z-index:100!important;width:100%!important;min-height:92px!important;justify-content:flex-start!important}.site-common-header.site-nav-bar nav{display:flex!important;flex-direction:row!important;position:static!important;width:auto!important;max-height:none!important;overflow:visible!important;margin-left:auto!important;padding:0!important;background:transparent!important;color:inherit!important;border:0!important;box-shadow:none!important}.site-common-header.site-nav-bar nav a{width:auto!important;border:0!important;font:700 11px var(--sans,Arial,sans-serif)!important;letter-spacing:.1px!important;text-transform:uppercase!important}
.site-common-footer{max-width:var(--page,min(1480px,calc(100vw - 64px)))!important;margin:0 auto!important;display:flex!important;align-items:center!important;justify-content:space-between!important;padding:44px 6px 120px!important;background:var(--cream,#f6f1e7)!important;color:#17221d!important;border:0!important;font-family:var(--serif,Georgia,serif)!important}.site-common-footer p{margin:0!important;font-size:14px!important}.site-common-footer p span{margin:0 12px}.site-common-footer .footer-brand{font-size:29px!important}.site-common-footer .socials{display:flex!important;gap:20px!important;font:700 21px var(--sans,Arial,sans-serif)!important;align-items:center!important}

/* Les pages n'utilisent pas toutes le même header d'origine : ce socle le garde
   présent lors du défilement, sans modifier son contenu ni sa mise en page. */
.topbar.site-nav-bar,.site-header.site-nav-bar{
  position:sticky!important;
  top:0!important;
  z-index:100!important;
}

@media (min-width:981px){
  .topbar nav a,.site-header nav a{font-size:12px!important}
}

@media (max-width:1320px){
 body.site-nav-enabled{padding-top:var(--site-nav-height,68px);padding-bottom:39px}
  .topbar.site-nav-bar,.site-header.site-nav-bar{
    position:fixed!important;inset:0 0 auto!important;width:100%;z-index:100!important;
    transform:translateY(0);transition:transform .24s ease;
  }
  .topbar.site-nav-bar.site-nav--hidden,.site-header.site-nav-bar.site-nav--hidden{transform:translateY(-105%)}
  .site-nav-bar .header-inner{width:100%;height:100%;display:flex;align-items:center;gap:16px;padding-inline:20px}
  .site-nav-bar .brand{position:relative;z-index:2}
  .site-nav-bar .menu-button,.site-nav-bar .site-menu-button{
    position:relative;z-index:2;display:inline-flex!important;align-items:center;justify-content:center;
    min-height:38px;margin-left:auto;padding:0 14px;border:1px solid currentColor;border-radius:999px;
    background:transparent;color:inherit;font:700 12px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;
  }
  .site-nav-bar nav,.site-nav-bar .header-inner nav{
    display:none!important;position:absolute!important;top:var(--site-nav-height,68px)!important;left:0!important;right:0!important;
    width:100%;max-height:calc(100vh - var(--site-nav-height,68px));overflow:auto;margin:0!important;padding:18px 22px 24px!important;
    flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;gap:0!important;
    background:var(--cream,#f6f1e7)!important;color:var(--green,#153b32)!important;
    border-top:1px solid rgba(21,59,50,.16);box-shadow:0 18px 34px rgba(17,35,27,.16);
  }
  .site-nav-bar nav.open,.site-nav-bar .header-inner nav.open{display:flex!important}
  .site-nav-bar nav a,.site-nav-bar .header-inner nav a{
    width:100%;padding:13px 0!important;border-bottom:1px solid rgba(21,59,50,.13)!important;
    font:700 15px/1.2 var(--sans)!important;letter-spacing:.03em!important;text-transform:uppercase!important;
  }
  .site-nav-bar nav a:last-child,.site-nav-bar .header-inner nav a:last-child{border-bottom:0!important}
  .site-nav-bar nav a.active:after{display:none!important}
  .site-nav-bar .header-cta{border:0!important;border-radius:0!important;background:transparent!important;color:inherit!important}
 .mobile-social-bar{position:fixed;z-index:101;left:0;bottom:0;display:flex;align-items:center;justify-content:center;gap:23px;width:auto;min-width:168px;height:39px;padding:0 18px;transform:none;background:var(--green,#153b32);color:var(--cream,#f6f1e7);border-radius:0 9px 0 0;box-shadow:0 -4px 16px rgba(9,27,18,.16)}
 .mobile-social-bar a{display:grid;place-items:center;width:24px;height:24px;color:inherit;font:700 18px/1 var(--sans);text-decoration:none}
  .mobile-social-bar a:focus-visible{outline:2px solid var(--gold,#efad29);outline-offset:3px}
}
@media(max-width:1180px){.site-common-header{padding-inline:25px!important;gap:18px!important}.site-common-header nav{gap:14px}.site-common-header .socials{display:none!important}}
@media(max-width:800px){.site-common-footer{margin:0 25px!important;padding-bottom:55px!important;gap:16px!important;align-items:flex-start!important;flex-direction:column!important}}

/* Dates passées Bal Folk : même fond crème que « Prochainement ». */
.bal-page .history-compact{background:var(--cream-2)!important;color:var(--ink)!important;border:1px solid rgba(21,59,50,.18)!important;box-shadow:0 18px 48px rgba(0,0,0,.16)}.bal-page .history-compact h3,.bal-page .history-compact .venue-mini-name,.bal-page .history-compact .year-list summary{color:var(--green)!important}.bal-page .history-compact h4{color:#a67817!important}.bal-page .history-highlights,.bal-page .year-list,.bal-page .year-list details{border-color:rgba(21,59,50,.18)!important}.bal-page .history-highlight{border-color:rgba(21,59,50,.22)!important;background:rgba(21,59,50,.035)!important}.bal-page .history-highlight .venue-mini-meta,.bal-page .year-dates .venue-mini-meta,.bal-page .year-list summary span{color:rgba(21,59,50,.64)!important}.bal-page .year-list summary::after{color:#a67817!important}

/* Cadre les vignettes Jeune public sur les visages, sans toucher à la photo. */
.universe-card > img[src$="jeune-public.jpg"],.formula-card > img[src$="jeune-public.jpg"]{object-position:center top}

/* Correctif : les règles communes du bureau avaient priorité sur le menu mobile. */
@media (max-width:1320px){
 .site-common-header.site-nav-bar nav{
  display:none!important;position:absolute!important;
  top:var(--site-nav-height,92px)!important;left:0!important;right:0!important;
  width:100%!important;box-sizing:border-box!important;
  max-height:calc(100vh - var(--site-nav-height,92px))!important;
  max-height:calc(100dvh - var(--site-nav-height,92px))!important;
  overflow:auto!important;margin:0!important;padding:18px 22px 24px!important;
  flex-direction:column!important;align-items:stretch!important;gap:0!important;
  background:var(--cream,#f6f1e7)!important;color:var(--green,#153b32)!important;
  border-top:1px solid rgba(21,59,50,.16)!important;
  box-shadow:0 18px 34px rgba(17,35,27,.16)!important;
 }
 .site-common-header.site-nav-bar nav.open{display:flex!important}
 .site-common-header.site-nav-bar nav a{
  display:block!important;width:100%!important;box-sizing:border-box!important;
  padding:13px 0!important;border-bottom:1px solid rgba(21,59,50,.13)!important;
  font:700 15px/1.2 var(--sans,Arial,sans-serif)!important;
  white-space:normal!important;letter-spacing:.03em!important;
 }
 .site-common-header.site-nav-bar nav a:last-child{border-bottom:0!important}
 .site-common-header.site-nav-bar .socials{display:none!important}
}
