/* AB — interim two-tier header CSS (served as a static file).
   Why a file and not wp_add_inline_style / printed <style>: in this environment the
   PHP-printed inline CSS for our header was being byte-scrambled in the output (an
   output-filter quirk that hits printed inline styles, not real .css files), so the
   header CSS never applied. A static file is served by the web server untouched.
   Colors: ink #1a1a1a, line #ececec, brand red #C9003C (confirmed 2026-09-01, see
   docs/IDENTITY.md §3 — was the interim guess d1103c). Fold into the child theme later. */

/* ===== Deterministic desktop/mobile switch at 1024px ===== */
@media (min-width:1025px){ .qodef-mobile-header{display:none !important} }
@media (max-width:1024px){ .qodef-top-bar,.qodef-page-header{display:none !important} .qodef-mobile-header{display:block !important} }

/* ===== Desktop header (>=1025): uniform white, dark text, headroom ===== */
@media (min-width:1025px){
  /* Top bar — pinned, solid white, dark text, right-aligned utility menu */
  .qodef-top-bar{position:fixed !important;top:0;left:0;right:0;width:100%;z-index:10000;border-bottom:1px solid #ececec}
  body .qodef-top-bar{background:#fff !important}
  .qodef-top-bar, .qodef-top-bar a, .qodef-top-bar p, .qodef-top-bar .qodef-icon-text{color:#1a1a1a !important}
  .qodef-top-bar .qodef-position-right{text-align:right}
  .qodef-top-bar .qodef-vertical-align-containers .widget_nav_menu.qodef-top-bar-widget{display:inline-block !important;vertical-align:middle}
  .qodef-top-bar .qodef-top-bar-widget .menu{margin:0;padding:0;list-style:none;display:flex;gap:22px;align-items:center;justify-content:flex-end}
  .qodef-top-bar .qodef-top-bar-widget .menu>li{margin:0;padding:0;float:none}
  .qodef-top-bar .qodef-top-bar-widget .menu a{color:#1a1a1a !important;font-size:13px;text-transform:uppercase;letter-spacing:.5px}
  .qodef-top-bar .qodef-top-bar-widget .menu a:hover{color:#C9003C !important}
  .qodef-top-bar .qodef-top-bar-widget .ab-donate-btn a{background:#C9003C;color:#fff !important;padding:8px 20px;border-radius:3px;font-weight:600;display:inline-flex;align-items:center;position:relative;isolation:isolate;overflow:visible}
  /* white heart glyph before the label (above the ripple) */
  .qodef-top-bar .qodef-top-bar-widget .ab-donate-btn a::before{content:"\2665";color:#fff;margin-right:7px;font-size:13px;line-height:1}
  /* pulse = the example's pulse-heart ripple: a centered white circle (rgba 255 .2) that
     scales 0 -> 1 from the heart and fades out. Same technique/values as their .button-ripple. */
  .qodef-top-bar .qodef-top-bar-widget .ab-donate-btn a::after{content:"";position:absolute;top:50%;left:27px;width:110px;height:110px;border-radius:50%;background:rgba(255,255,255,.2);transform:translate(-50%,-50%) scale(0);z-index:-1;pointer-events:none;animation:ab-donate-ripple 2.4s ease-out infinite}
  @keyframes ab-donate-ripple{0%{opacity:1;transform:translate(-50%,-50%) scale(0)}100%{opacity:0;transform:translate(-50%,-50%) scale(1)}}
  /* hover/focus: near-black with white text (strong contrast) */
  .qodef-top-bar .qodef-top-bar-widget .ab-donate-btn a:hover,
  .qodef-top-bar .qodef-top-bar-widget .ab-donate-btn a:focus{background:#1a1a1a !important;color:#fff !important}
  .qodef-top-bar .qodef-top-bar-widget .ab-donate-btn a:focus-visible{outline:2px solid #1a1a1a;outline-offset:2px}
  @media (prefers-reduced-motion: reduce){
    .qodef-top-bar .qodef-top-bar-widget .ab-donate-btn a::after{animation:none;opacity:0}
  }

  /* Language switcher — single native-name link */
  .qodef-top-bar .ab-lang-switch-wrap{display:inline-block;vertical-align:middle}
  .qodef-top-bar .ab-lang-switch{color:#1a1a1a !important;font-size:13px;text-transform:uppercase;letter-spacing:.5px;text-decoration:none}
  .qodef-top-bar .ab-lang-switch:hover{color:#C9003C !important}
  /* "|" divider between the language link and the 'Nous joindre' utility menu */
  .qodef-top-bar .ab-lang-switch-wrap::after{content:"|";color:#c9c9c9;margin:0 14px;font-size:13px;vertical-align:middle}

  /* Disable Brunn native sticky — we manage it */
  .qodef-sticky-header{display:none !important}

  /* Main header — white, fixed below top bar, headroom hide/show */
  .qodef-page-header{position:fixed !important;left:0;right:0;width:100%;z-index:9999;background:#fff !important;box-shadow:0 1px 0 rgba(0,0,0,.06);transition:transform .35s ease;will-change:transform}
  .qodef-page-header.ab-hide{transform:translateY(-130%)}
  .qodef-page-header .qodef-main-menu>ul>li>a{color:#1a1a1a !important}
  .qodef-page-header .qodef-main-menu>ul>li>a:hover,
  .qodef-page-header .qodef-main-menu>ul>li.current-menu-item>a,
  .qodef-page-header .qodef-main-menu>ul>li.current-menu-ancestor>a{color:#C9003C !important}
  /* logo: force the normal (red) logo visible */
  .qodef-page-header .qodef-logo-wrapper .qodef-normal-logo{opacity:1 !important}
  .qodef-page-header .qodef-logo-wrapper .qodef-dark-logo,
  .qodef-page-header .qodef-logo-wrapper .qodef-light-logo{opacity:0 !important}

  /* Content offset: neutralize Brunn's negative margin-top pull so content sits below the header */
  body .qodef-content{margin-top:0 !important}

  /* Title-area parallax: keep background-attachment:fixed; JS drives background-position-y
     to the visible header height. background-size:auto matches prod's zoom. */
  .qodef-title-holder{background-attachment:fixed !important;background-size:auto !important;transition:background-position .3s ease}
}
