/**
 * TI Nav Responsive — arquitectura de dos estados.
 * ESTADO A: body.ast-desktop (y no .ti-nav-compact) → una fila.
 * ESTADO B: body.ast-header-break-point o .ti-nav-compact → hamburger.
 *
 * !important: solo para anular reglas del child theme aurora.css que ya
 * usan !important (white-space:normal, display:inline-block en ítems).
 */

:root {
  --ti-nav-header-pad: 0.75rem;
  --ti-nav-gap: clamp(0.5rem, 1.2vw, 1.25rem);
  --ti-nav-header-min-h: 4.5rem;
}

html {
  scroll-padding-top: var(--ti-nav-header-min-h);
}

/* Hero home #2036: sticky header no tapa contenido ni deja gap blanco */
body.ti-aurora-active.page-id-2036 .aurora-hero,
body.ti-aurora-active.home .aurora-hero {
  scroll-margin-top: var(--ti-nav-header-min-h);
}

body.ti-aurora-active .site-header,
body.ti-aurora-active #masthead {
  overflow-x: clip;
}

body.ti-aurora-active .site-branding img,
body.ti-aurora-active .custom-logo-link img {
  height: auto;
  max-height: 3rem;
  width: auto;
}

/* Contenedor del header: no limitar a 1200px (causa wrap en desktop). */
body.ti-aurora-active .site-primary-header-wrap.ast-container,
body.ti-aurora-active #ast-desktop-header .ast-container,
body.ti-aurora-active #ast-mobile-header .ast-container {
  width: min(100% - 32px, 100rem);
  max-width: none;
  margin-inline: auto;
}

body.ti-aurora-active .ast-builder-grid-row {
  align-items: center;
  flex-wrap: nowrap;
}

body.ti-aurora-active .site-primary-header-wrap,
body.ti-aurora-active .ast-primary-header-bar,
body.ti-aurora-active .main-header-bar {
  min-height: var(--ti-nav-header-min-h);
}

/* ── ESTADO A: desktop una fila ── */
body.ast-desktop:not(.ti-nav-compact) .main-header-menu {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center;
  justify-content: flex-end;
  gap: var(--ti-nav-gap);
  margin: 0;
  max-height: var(--ti-nav-header-min-h);
  overflow: visible;
}

body.ast-desktop:not(.ti-nav-compact) .main-header-menu > .menu-item {
  display: flex !important;
  flex: 0 0 auto !important;
  width: auto !important;
  align-items: center;
}

body.ast-desktop:not(.ti-nav-compact) .main-header-menu > .menu-item > a,
body.ast-desktop:not(.ti-nav-compact) .main-header-menu > .menu-item > .menu-link {
  white-space: nowrap !important;
  max-width: none !important;
  display: inline-flex !important;
  align-items: center;
  min-height: 44px;
}

/* Dropdown desktop: hover + teclado; no solo :hover */
body.ast-desktop:not(.ti-nav-compact) .main-header-menu .sub-menu {
  position: absolute;
}

body.ast-desktop:not(.ti-nav-compact) .main-header-menu > .menu-item-has-children > .sub-menu {
  max-width: min(22rem, calc(100vw - 2rem));
  right: 0;
  left: auto;
}

/* ── ESTADO B: compacto (Astra o forzado por JS / texto grande) ── */
body.ti-nav-compact #ast-desktop-header,
body.ast-header-break-point #ast-desktop-header {
  display: none;
}

body.ti-nav-compact #ast-mobile-header,
body.ast-header-break-point #ast-mobile-header {
  display: block;
}

body.ti-nav-compact .ast-mobile-header-wrap,
body.ast-header-break-point .ast-mobile-header-wrap {
  display: block;
}

.ast-mobile-menu-buttons .menu-toggle,
.main-header-menu-toggle {
  min-width: 44px;
  min-height: 44px;
}

body.ti-nav-compact .main-header-menu > .menu-item,
body.ast-header-break-point .main-header-menu > .menu-item {
  display: block !important;
  width: 100% !important;
}

body.ti-nav-compact .main-header-menu > .menu-item > a,
body.ti-nav-compact .main-header-menu > .menu-item > .menu-link,
body.ast-header-break-point .main-header-menu > .menu-item > a,
body.ast-header-break-point .main-header-menu > .menu-item > .menu-link {
  white-space: normal !important;
  display: flex !important;
  align-items: center;
  min-height: 44px;
  padding-block: 0.65rem;
}

body.ti-nav-compact .main-header-menu .sub-menu,
body.ast-header-break-point .main-header-menu .sub-menu {
  position: static;
  opacity: 1;
  visibility: visible;
  transform: none;
  pointer-events: auto;
  display: none;
  box-shadow: none;
  border: none;
  border-left: 2px solid rgba(45, 106, 143, 0.25);
  min-width: 0;
  max-width: none;
  padding: 0 0 0.35rem 0.75rem;
}

body.ti-nav-compact .main-header-menu .menu-item-has-children.ast-submenu-expanded > .sub-menu,
body.ti-nav-compact .main-header-menu .menu-item-has-children.focus > .sub-menu,
body.ast-header-break-point .main-header-menu .menu-item-has-children.ast-submenu-expanded > .sub-menu,
body.ast-header-break-point .main-header-menu .menu-item-has-children.focus > .sub-menu {
  display: block;
}

.ast-mobile-header-content,
.ast-desktop-header-content {
  max-height: min(80vh, 40rem);
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
}

body.ti-nav-lock {
  overflow: hidden;
}

body.ti-aurora-active {
