/**
 * Site-wide translucent dark menu bar (blur).
 * Home: overlays hero. Other pages: in normal flow (no initial overlap).
 * Topbar widgets stay solid.
 */

body.tgwv-header-overlay {
  --tgwv-header-overlay-fg: #ffffff;
  --tgwv-header-overlay-fg-muted: rgba(255, 255, 255, 0.88);
  --tgwv-header-overlay-accent: var(--tgwv-brand, #ed1b24);
  --tgwv-header-overlay-bar-bg: rgba(37, 133, 73, 0.5);
}

/* Homepage: lighter bar over hero */
body.home.tgwv-header-overlay,
body.front-page.tgwv-header-overlay,
body.home_page.tgwv-header-overlay {
  --tgwv-header-overlay-bar-bg: rgba(37, 133, 73, 0.5);
}

/* Default (inner pages): blur bar in document flow — does not cover content */
body.tgwv-header-overlay .tgwv-header-overlay-shell {
  position: sticky;
  top: 0;
  z-index: 1040;
  width: 100%;
  background: var(--tgwv-header-overlay-bar-bg);
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
}

/* Homepage only: menu overlays hero at load (specificity >= sticky rule) */
body.tgwv-header-overlay .tgwv-header-overlay-shell.tgwv-header-overlay-shell--home,
body.home.tgwv-header-overlay .tgwv-header-overlay-shell,
body.front-page.tgwv-header-overlay .tgwv-header-overlay-shell,
body.home_page.tgwv-header-overlay .tgwv-header-overlay-shell {
  position: absolute;
  left: 0;
  right: 0;
  top: auto;
}

body.tgwv-header-overlay .tgwv-header-overlay-shell.tgwv-header-overlay-shell--home.is-scrolled,
body.home.tgwv-header-overlay .tgwv-header-overlay-shell.is-scrolled,
body.front-page.tgwv-header-overlay .tgwv-header-overlay-shell.is-scrolled,
body.home_page.tgwv-header-overlay .tgwv-header-overlay-shell.is-scrolled {
  position: fixed;
  top: 0;
}

/* Default header */
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  color: var(--tgwv-header-overlay-fg);
  --tgwv-header-fg: var(--tgwv-header-overlay-fg);
  --tgwv-header-fg-hover: var(--tgwv-header-overlay-accent);
  --tgwv-header-bg: transparent;
}

body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default .tgwv-header-default-menu a,
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default .tgwv-header-default-menu a span,
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default .tgwv-header-default-icon-search,
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default .tgwv-header-default-menu-toggle,
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default .tgwv-header-lang,
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default .tgwv-header-lang__code {
  color: var(--tgwv-header-overlay-fg) !important;
}

/* Live-search panel: dark text on white (must beat .menu a / a span above) */
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default .tgwv-header-default-menu .tgwv-live-search__panel,
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default .tgwv-header-default-menu .tgwv-live-search__panel a,
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default .tgwv-header-default-menu .tgwv-live-search__panel a span,
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default .tgwv-header-default-menu .tgwv-live-search__title,
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default .tgwv-header-default-menu .tgwv-live-search__item:hover,
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default .tgwv-header-default-menu .tgwv-live-search__item:hover span {
  color: #1f2937 !important;
}

body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default .tgwv-header-default-menu .tgwv-live-search__badge {
  color: #6b7280 !important;
}

body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default .tgwv-header-default-menu .tgwv-live-search__footer a,
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default .tgwv-header-default-menu .tgwv-live-search__footer a span {
  color: var(--tgwv-brand, #ed1b24) !important;
}

/* Search toggle: transparent by default; red on hover / when open (X) */
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default .tgwv-header-default-desktop-search .tgwv-header-default-icon-search {
  color: var(--tgwv-header-overlay-fg, #fff) !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default .tgwv-header-default-desktop-search .tgwv-header-default-icon-search:hover,
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default .tgwv-header-default-desktop-search .tgwv-header-default-icon-search:focus-visible,
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default .tgwv-header-default-desktop-search .tgwv-header-default-icon-search.active,
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default .tgwv-header-default-menu > ul > li:hover > a.tgwv-header-default-icon-search,
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default .tgwv-header-default-menu > ul > li:hover > a.tgwv-header-default-icon-search.active {
  color: #fff !important;
  background: var(--tgwv-brand, #ed1b24) !important;
}

/* Active (and hover) menu label — brand red */
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default .tgwv-header-default-menu > ul > li.active > a,
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default .tgwv-header-default-menu > ul > li.active > a span,
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default .tgwv-header-default-menu > ul > li > a.active,
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default .tgwv-header-default-menu > ul > li > a.active span,
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default .tgwv-header-default-menu > ul > li:hover > a,
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default .tgwv-header-default-menu > ul > li:hover > a span {
  color: var(--tgwv-header-overlay-accent, var(--tgwv-brand, #ed1b24)) !important;
}

body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default .tgwv-header-default-menu li.active > a span::before,
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default .tgwv-header-default-menu li:hover > a span::before {
  background-color: var(--tgwv-header-overlay-accent) !important;
}

/* Submenu chevron: white like label; red + flip up on hover (like lang caret) */
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default .tgwv-header-default-menu > ul > li > a.tgwv-header-default-has-child::after,
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default .tgwv-header-default-menu > ul > li.has-children > a::after {
  border-color: var(--tgwv-header-overlay-fg, #fff) !important;
  transition: border-color 0.2s ease, transform 0.2s ease;
}

body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default .tgwv-header-default-menu > ul > li:hover > a.tgwv-header-default-has-child::after,
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default .tgwv-header-default-menu > ul > li:hover.has-children > a::after,
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default .tgwv-header-default-menu > ul > li.active > a.tgwv-header-default-has-child::after,
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default .tgwv-header-default-menu > ul > li.active.has-children > a::after {
  border-color: var(--tgwv-header-overlay-accent, var(--tgwv-brand, #ed1b24)) !important;
  transform: rotate(225deg);
}

/*
 * Nested dropdown (white panel): dark text by default.
 * Place AFTER top-level hover rules. On item hover: red bg + white text together.
 */
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default .tgwv-header-default-menu > ul > li > ul:not(.tgwv-header-default-lang-menu),
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default .tgwv-header-default-menu > ul > li:hover > ul:not(.tgwv-header-default-lang-menu),
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default .tgwv-header-default-menu > ul > li > ul:not(.tgwv-header-default-lang-menu) > li > a,
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default .tgwv-header-default-menu > ul > li:hover > ul:not(.tgwv-header-default-lang-menu) > li > a,
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default .tgwv-header-default-menu > ul > li > ul:not(.tgwv-header-default-lang-menu) > li > a span,
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default .tgwv-header-default-menu > ul > li:hover > ul:not(.tgwv-header-default-lang-menu) > li > a span {
  color: #1f2937 !important;
}

body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default .tgwv-header-default-menu > ul > li > ul:not(.tgwv-header-default-lang-menu) > li:hover,
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default .tgwv-header-default-menu > ul > li:hover > ul:not(.tgwv-header-default-lang-menu) > li:hover {
  background-color: #c7291d !important;
}

body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default .tgwv-header-default-menu > ul > li > ul:not(.tgwv-header-default-lang-menu) > li:hover > a,
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default .tgwv-header-default-menu > ul > li:hover > ul:not(.tgwv-header-default-lang-menu) > li:hover > a,
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default .tgwv-header-default-menu > ul > li > ul:not(.tgwv-header-default-lang-menu) > li:hover > a span,
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default .tgwv-header-default-menu > ul > li:hover > ul:not(.tgwv-header-default-lang-menu) > li:hover > a span {
  color: #fff !important;
  background-color: transparent !important;
}

body.tgwv-header-overlay .tgwv-header-overlay-shell .dropdown-menu,
body.tgwv-header-overlay .tgwv-header-overlay-shell .dropdown-menu .dropdown-item,
body.tgwv-header-overlay .tgwv-header-overlay-shell .dropdown-menu .tgwv-header-stacked__lang-code {
  color: #1f2937 !important;
}

/* Lang rectangle dropdown: brand red on white (match toggle) */
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default-lang-menu,
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default-lang-menu .tgwv-header-default-lang-menu__link,
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default-lang-menu .tgwv-header-default-lang-menu__link span,
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default-lang-menu .tgwv-header-default-lang-code,
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default-menu .tgwv-header-default-lang-menu .tgwv-header-default-lang-menu__link,
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default-menu .tgwv-header-default-lang-menu .tgwv-header-default-lang-menu__link span,
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default-menu .tgwv-header-default-lang-menu .tgwv-header-default-lang-code {
  color: #c7291d !important;
}

/* Hover/focus: green background + white text (must beat rules above on span/code) */
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default-lang-menu .tgwv-header-default-lang-menu__link:hover,
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default-lang-menu .tgwv-header-default-lang-menu__link:focus,
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default-menu .tgwv-header-default-lang-menu .tgwv-header-default-lang-menu__link:hover,
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default-menu .tgwv-header-default-lang-menu .tgwv-header-default-lang-menu__link:focus {
  color: #fff !important;
  background: #2e7d32 !important;
  outline: none;
}

body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default-lang-menu .tgwv-header-default-lang-menu__link:hover span,
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default-lang-menu .tgwv-header-default-lang-menu__link:focus span,
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default-lang-menu .tgwv-header-default-lang-menu__link:hover .tgwv-header-default-lang-code,
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default-lang-menu .tgwv-header-default-lang-menu__link:focus .tgwv-header-default-lang-code,
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default-menu .tgwv-header-default-lang-menu .tgwv-header-default-lang-menu__link:hover span,
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default-menu .tgwv-header-default-lang-menu .tgwv-header-default-lang-menu__link:focus span,
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default-menu .tgwv-header-default-lang-menu .tgwv-header-default-lang-menu__link:hover .tgwv-header-default-lang-code,
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default-menu .tgwv-header-default-lang-menu .tgwv-header-default-lang-menu__link:focus .tgwv-header-default-lang-code {
  color: #fff !important;
}

/* Stacked header */
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-stacked,
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-stacked__main,
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-stacked__nav-desktop {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  border-color: rgba(255, 255, 255, 0.12) !important;
}

body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-stacked {
  --tgwv-header-bg: transparent;
  --tgwv-header-fg: var(--tgwv-header-overlay-fg);
  color: var(--tgwv-header-overlay-fg);
}

body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-stacked__logo span,
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-stacked__nav-desktop a,
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-stacked__action-btn,
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-lang,
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-lang__code {
  color: var(--tgwv-header-overlay-fg) !important;
}

body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-stacked__nav-desktop .nav-link.active,
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-stacked__nav-desktop .nav-item.active > .nav-link,
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-stacked__nav-desktop a.active,
body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-stacked__nav-desktop .nav-item:hover > .nav-link {
  color: var(--tgwv-header-overlay-accent, var(--tgwv-brand, #ed1b24)) !important;
}

body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-stacked__search-input {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.35);
  color: var(--tgwv-header-overlay-fg);
}

body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-stacked__search-input::placeholder {
  color: var(--tgwv-header-overlay-fg-muted);
}

body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-stacked__search-btn {
  border-color: rgba(255, 255, 255, 0.45);
  color: var(--tgwv-header-overlay-fg);
}

/* Hide default sticky clone — overlay/sticky shell replaces it */
body.tgwv-header-overlay .tgwv-header-default-menu-sub {
  display: none !important;
}

/* Homepage: first builder section sits under the overlay menu */
body.home .tgwv-page-builder-output > .tgwv-section:first-child,
body.front-page .tgwv-page-builder-output > .tgwv-section:first-child,
body.home_page .tgwv-page-builder-output > .tgwv-section:first-child,
body.home .tgwv-page-builder-output > section:first-child,
body.front-page .tgwv-page-builder-output > section:first-child,
body.home_page .tgwv-page-builder-output > section:first-child,
body.home main > .tgwv-page-builder-output > .tgwv-section:first-child,
body.front-page main > .tgwv-page-builder-output > .tgwv-section:first-child,
body.home_page main > .tgwv-page-builder-output > .tgwv-section:first-child {
  position: relative;
  z-index: 1;
}

/*
 * Mobile: pin blur shell to viewport top (same look as desktop).
 * Avoid empty white gap from body padding + transparent fixed header.
 */
@media (max-width: 1079px) {
  body.tgwv-header-overlay .tgwv-header-overlay-shell,
  body.tgwv-header-overlay .tgwv-header-overlay-shell.tgwv-header-overlay-shell--home,
  body.home.tgwv-header-overlay .tgwv-header-overlay-shell,
  body.front-page.tgwv-header-overlay .tgwv-header-overlay-shell,
  body.home_page.tgwv-header-overlay .tgwv-header-overlay-shell,
  body.tgwv-header-overlay .tgwv-header-overlay-shell.tgwv-header-overlay-shell--home.is-scrolled,
  body.home.tgwv-header-overlay .tgwv-header-overlay-shell.is-scrolled,
  body.front-page.tgwv-header-overlay .tgwv-header-overlay-shell.is-scrolled,
  body.home_page.tgwv-header-overlay .tgwv-header-overlay-shell.is-scrolled {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1500;
    width: 100%;
    background: var(--tgwv-header-overlay-bar-bg);
    -webkit-backdrop-filter: blur(2px);
    backdrop-filter: blur(2px);
  }

  body.tgwv-header-overlay #tgwv-header-default.tgwv-header-default {
    position: relative;
    inset: auto;
    z-index: auto;
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
  }

  body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default .tgwv-header-default-menu-toggle,
  body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default .tgwv-header-default-mobile-menu-toggle,
  body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default .tgwv-header-default-icon-search {
    color: var(--tgwv-header-overlay-fg) !important;
  }

  body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default .tgwv-header-default-desktop-search .tgwv-header-default-icon-search {
    color: var(--tgwv-header-overlay-fg) !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default .tgwv-header-default-desktop-search .tgwv-header-default-icon-search:hover,
  body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default .tgwv-header-default-desktop-search .tgwv-header-default-icon-search:focus-visible,
  body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default .tgwv-header-default-desktop-search .tgwv-header-default-icon-search.active {
    color: #fff !important;
    background: var(--tgwv-brand, #ed1b24) !important;
  }

  /* Homepage: no body offset — header overlays hero/banner */
  body.home.tgwv-header-overlay,
  body.front-page.tgwv-header-overlay,
  body.home_page.tgwv-header-overlay {
    padding-top: 0 !important;
  }
}

/* Desktop: soft white glow behind logo (on <a>, match default header) */
@media (min-width: 1080px) {
  body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default .tgwv-header-default-logo {
    padding: 0;
    background: none;
  }

  body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default .tgwv-header-default-logo::before {
    content: none;
  }

  body.tgwv-header-overlay .tgwv-header-overlay-shell .tgwv-header-default .tgwv-header-default-logo > a::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    inset: auto;
    transform: translate(-50%, -50%) translateX(35px);
    z-index: -1;
    pointer-events: none;
    background: none;
    -webkit-box-shadow: 0 0 139px 101px rgba(255, 255, 255, 1);
    box-shadow: 0 0 139px 101px rgba(255, 255, 255, 1);
  }
}
