/**
 * A49 Header — Phase 2.F transparent → solid behavior
 * JS toggles .is-scrolled class via IntersectionObserver on .a49-hero
 */

.a49-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 50;
  padding: 24px 56px;
  background-color: #000 !important;  /* always solid black — consistent header on every page */
  color: var(--wp--preset--color--text-inv, #F2EFE9);  /* light text default — for dark hero */
  transition:
    background-color 240ms ease,
    color 240ms ease,
    border-color 240ms ease,
    backdrop-filter 240ms ease,
    -webkit-backdrop-filter 240ms ease;
  border-bottom: 1px solid transparent;
}

.a49-header.is-scrolled {
  background-color: #000 !important; /* stay solid black on scroll */
  -webkit-backdrop-filter: blur(12px);
          backdrop-filter: blur(12px);
  color: var(--wp--preset--color--text-inv, #F2EFE9);  /* white text — header always black */
  border-bottom-color: rgba(17, 17, 17, 0.08);
}

.a49-header a {
  color: inherit;
  text-decoration: none;
}

.a49-header nav,
.a49-header .wp-block-navigation {
  color: inherit;
}

/* Site logotype + nav inherit text color from header state */
.a49-header .a49-logotype-link,
.a49-header .wp-block-navigation,
.a49-header .wp-block-navigation a {
  color: inherit !important;
}

/* Mobile: smaller padding */
@media (max-width: 700px) {
  .a49-header { padding: 16px 24px; }
}

/* Handoff #5 Fix 2 + #6b reinforce — hide any WC/account/cart/search nodes
   inside the header (admin bar + logged-in WC plugins may inject these). */
.a49-header .wp-block-woocommerce-mini-cart,
.a49-header .woocommerce-mini-cart,
.a49-header .wc-block-mini-cart,
.a49-header .wp-block-search,
.a49-header .wp-block-loginout,
.a49-header .wp-block-woocommerce-customer-account,
.a49-header .wc-block-customer-account,
.a49-header [class*="header-cart"],
.a49-header [class*="header-search"],
.a49-header form[role="search"],
.a49-header a[href*="/my-account"],
.a49-header a[href*="/wp-login"],
.a49-header a[href*="/cart"],
.a49-header button[aria-label*="cart" i],
.a49-header button[aria-label*="search" i] {
  display: none !important;
}

/* ──────────────────────────────────────────────────────────────
 * Dark variant — solid black, no transparent-on-top, no transition.
 * Used by templates that have their own dark hero (single-exhibition).
 * ────────────────────────────────────────────────────────────── */
.a49-header.a49-header--dark {
  position: fixed;
  background-color: #000 !important;
  color: var(--wp--preset--color--text-inv, #F2EFE9);
  border-bottom-color: rgba(242, 239, 233, 0.08);
}
.a49-header.a49-header--dark.is-scrolled {
  background-color: #000 !important;
  -webkit-backdrop-filter: none;
          backdrop-filter: none;
}
.a49-header.a49-header--dark .wp-block-navigation,
.a49-header.a49-header--dark .wp-block-site-title a,
.a49-header.a49-header--dark .a49-logotype-link {
  color: var(--wp--preset--color--text-inv, #F2EFE9);
}

/* Handoff #6 Fix 4 — explicit .a49-lang-switch cascade.
   Inherits color from header parent (auto-flips white→dark με header state).
   Specific overrides για dark variant + is-scrolled in case inheritance breaks. */
.a49-lang-switch {
  color: inherit;
}
.a49-header.a49-header--dark .a49-lang-switch {
  color: var(--wp--preset--color--text-inv, #F2EFE9);
}
.a49-header.is-scrolled .a49-lang-switch {
  color: var(--wp--preset--color--text-inv, #F2EFE9);
}

/* ── A49 i18n nav + image logo (2026-05-25) ── */
.a49-header .a49-nav { display:flex; gap:28px; align-items:center; text-transform:uppercase; letter-spacing:0.08em; font-size:12px; }
.a49-header .a49-nav a { color:inherit !important; text-decoration:none; white-space:nowrap; }
.a49-header .a49-nav a:hover { color: var(--wp--preset--color--accent, #B8843A) !important; }
.a49-header .a49-header-logo { display:flex; align-items:center; line-height:0; }
.a49-header .a49-header-logo img { display:block; width:120px; height:auto; transition: filter 240ms ease; }
.a49-header.is-scrolled .a49-header-logo img { filter: none; }
@media (max-width:600px){ .a49-header .a49-nav { gap:16px; font-size:11px; } .a49-header .a49-header-logo img { width:92px; } }

/* ── Mobile hamburger nav (2026-05-25) ── */
.a49-header .a49-nav-wrap { display:flex; align-items:center; }
.a49-header .a49-nav-toggle { display:none; }
@media (max-width:600px){
  .a49-header .a49-lang-switch { order:2; }
  .a49-header .a49-nav-wrap { order:3; }
  .a49-header .a49-nav-toggle {
    display:inline-flex; flex-direction:column; justify-content:center; gap:5px;
    width:34px; height:34px; padding:7px 6px; background:none; border:0; cursor:pointer; color:inherit;
  }
  .a49-header .a49-nav-toggle span { display:block; width:100%; height:1.5px; background:currentColor; transition:transform .25s ease, opacity .2s ease; }
  .a49-header .a49-nav-toggle.is-open span:nth-child(1){ transform:translateY(6.5px) rotate(45deg); }
  .a49-header .a49-nav-toggle.is-open span:nth-child(2){ opacity:0; }
  .a49-header .a49-nav-toggle.is-open span:nth-child(3){ transform:translateY(-6.5px) rotate(-45deg); }
  .a49-header .a49-nav {
    position:absolute; top:100%; left:0; right:0;
    flex-direction:column; gap:0; align-items:stretch;
    background:#000; padding:4px 24px 18px; margin:0;
    max-height:0; overflow:hidden; opacity:0; visibility:hidden;
    transition:max-height .3s ease, opacity .25s ease, visibility .25s;
    border-top:1px solid rgba(242,239,233,0.12);
  }
  .a49-header .a49-nav.is-open { max-height:70vh; opacity:1; visibility:visible; }
  .a49-header .a49-nav a { color:#F2EFE9 !important; padding:15px 0; font-size:13px; border-bottom:1px solid rgba(242,239,233,0.08); }
  .a49-header .a49-nav a:last-child { border-bottom:0; }
  .a49-header.is-scrolled .a49-nav a { color:#F2EFE9 !important; }
}
