/* =========================================================
   MENÚ PRINCIPAL SIEMPRE VISIBLE — airport-page
   Desktop y móvil
   ========================================================= */

body.airport-page #nav.nav-container {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 1200 !important;
    width: 100% !important;
    max-width: 100% !important;
    background: #ffffff !important;
    overflow: visible !important;
    box-shadow: 0 8px 24px rgba(7, 38, 64, 0.10);
    isolation: isolate;
}

body.airport-page #nav .nav-content {
    position: relative;
    z-index: 1;
    width: 100%;
    background: #ffffff;
    overflow: visible !important;
}

body.airport-page #nav #menu > li > ul {
    z-index: 1210 !important;
}

body.airport-page #htMobileMenu {
    z-index: 1220 !important;
}

/* =========================================================
   MENÚ PRINCIPAL SIEMPRE VISIBLE — contact-es-page
   ========================================================= */
body.contact-es-page #nav.nav-container {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 1200 !important;
    width: 100% !important;
    max-width: 100% !important;
    background: #ffffff !important;
    overflow: visible !important;
    box-shadow: 0 8px 24px rgba(7, 38, 64, 0.10);
    isolation: isolate;
}
body.contact-es-page #nav .nav-content {
    position: relative;
    z-index: 1;
    width: 100%;
    background: #ffffff;
    overflow: visible !important;
}
body.contact-es-page #nav #menu > li > ul { z-index: 1210 !important; }
body.contact-es-page #htMobileMenu { z-index: 1220 !important; }

/* =========================================================
   MENÚ PRINCIPAL SIEMPRE VISIBLE — ticket-page
   ========================================================= */

    .ticket-page #nav.nav-container {
      position: -webkit-sticky !important;
      position: sticky !important;
      top: 0 !important;
      z-index: 1200 !important;
      width: 100% !important;
      max-width: 100% !important;
      background: #ffffff !important;
      overflow: visible !important;
      box-shadow: 0 8px 24px rgba(7, 38, 64, .10);
      isolation: isolate;
    }

    .ticket-page #nav .nav-content {
      position: relative;
      z-index: 1;
      width: 100%;
      background: #ffffff;
      overflow: visible !important;
    }

    .ticket-page #nav #menu > li > ul { z-index: 1210 !important; }
    .ticket-page #htMobileMenu { z-index: 1220 !important; }

@media (max-width: 991.98px) {
      .ticket-page #nav.nav-container,
      .ticket-page #nav .nav-content { min-height: 72px !important; }

      .ticket-page #htMobileMenu {
        position: absolute !important;
        top: 100% !important;
        right: 12px !important;
        left: 12px !important;
        width: auto !important;
        max-height: calc(100vh - 88px) !important;
        overflow-y: auto !important;
        background: #ffffff;
      }
}

    /* =========================================================
       CORRECCIÓN EXCLUSIVAMENTE VISUAL DE FLECHAS DEL MENÚ DESKTOP
       No modifica enlaces, submenús ni comportamiento JavaScript.
       ========================================================= */
    @media (min-width: 992px) {
      body.ticket-page #menu > li > a[href^="#"] {
        display: inline-flex !important;
        align-items: center !important;
        gap: .55rem !important;
      }

      /* Oculta cualquier icono de flecha inyectado por la plantilla. */
      body.ticket-page #menu > li > a[href^="#"] > i,
      body.ticket-page #menu > li > a[href^="#"] > svg,
      body.ticket-page #menu > li > a[href^="#"] > .icon {
        display: none !important;
      }

      /* Chevron limpio, centrado y apuntando hacia abajo. */
      body.ticket-page #menu > li > a[href^="#"]::after {
        content: "" !important;
        display: inline-block !important;
        position: static !important;
        inset: auto !important;
        width: 7px !important;
        height: 7px !important;
        margin: -4px 0 0 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-right: 2px solid currentColor !important;
        border-bottom: 2px solid currentColor !important;
        border-radius: 0 !important;

        background: transparent !important;
        box-shadow: none !important;
        opacity: .82 !important;
        transform: rotate(45deg) !important;
        transform-origin: center !important;
        flex: 0 0 auto !important;
        transition: transform .18s ease, margin-top .18s ease !important;
      }

      /* Al abrir o enfocar el submenú, el chevron apunta hacia arriba. */
      body.ticket-page #menu > li:hover > a[href^="#"]::after,
      body.ticket-page #menu > li:focus-within > a[href^="#"]::after {
        margin-top: 4px !important;
        transform: rotate(225deg) !important;
      }
    }

/* =========================================================
   MENÚ PRINCIPAL SIEMPRE VISIBLE — faq-page
   ========================================================= */

    /* =========================================================
   FAQ: ENCABEZADO STICKY ESTABLE
   ========================================================= */

.faq-page #nav.nav-container {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 1200 !important;

    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;

    background: #ffffff !important;
    overflow: visible !important;

    box-shadow: 0 8px 24px rgba(7, 38, 64, 0.10);
    isolation: isolate;
}

.faq-page #nav .nav-content {
    position: relative;
    z-index: 1;

    width: 100%;
    height: auto !important;
    min-height: 82px;
    max-height: none !important;

    align-items: center !important;
    background: #ffffff;
    overflow: visible !important;
}

.faq-page #nav #menu > li > ul {
    z-index: 1210 !important;
}


/* =========================================================
   FAQ: AJUSTES MÓVILES DEL ENCABEZADO
   ========================================================= */

@media (max-width: 991.98px) {

    .faq-page #nav.nav-container {
        height: 72px !important;
        min-height: 72px !important;
        max-height: 72px !important;
    }

    .faq-page #nav .nav-content {
        height: 72px !important;
        min-height: 72px !important;
        max-height: 72px !important;

        padding: 0 16px !important;
        align-items: center !important;
    }

    .faq-page #nav .ht-nav-logo-wrap {
        display: flex !important;
        align-items: center !important;

        width: auto !important;
        height: 72px !important;
        min-height: 72px !important;
        max-height: 72px !important;
    }

    .faq-page #nav .ht-nav-logo-wrap a {
        display: inline-flex !important;
        align-items: center !important;
    }

    .faq-page #nav .ht-nav-logo-wrap img {
        display: block !important;

        width: auto !important;
        height: 54px !important;
        max-width: 125px !important;
        max-height: 54px !important;

        object-fit: contain;
    }

    .faq-page #nav .mobile-buttons-container {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;

        width: auto !important;
        height: 72px !important;
        min-height: 72px !important;
        max-height: 72px !important;

        margin-left: auto !important;
    }

    .faq-page #mobileMenuButton {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;

        width: auto !important;
        min-width: 112px !important;
        max-width: none !important;

        height: 50px !important;
        min-height: 50px !important;
        max-height: 50px !important;

        margin: 0 !important;
        padding: 0 18px !important;

        border-radius: 999px !important;
        white-space: nowrap !important;
        line-height: 1 !important;
    }

    /*
       El panel se posiciona debajo del encabezado.
       No aumenta la altura de #nav.
    */
    .faq-page #htMobileMenu {
        position: absolute !important;
        top: 100% !important;
        right: 12px !important;
        left: 12px !important;

        width: auto !important;
        height: auto !important;
        max-height: calc(100vh - 88px) !important;

        margin: 0 !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;

        background: #ffffff;
        z-index: 1220 !important;

        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
    }

    .faq-page #htMobileMenu.collapse:not(.show) {
        display: none !important;
    }

    .faq-page #htMobileMenu.show {
        display: block !important;
    }
}

/* =========================================================
   Posicionamiento de dropdown — route-guide-page
   ========================================================= */

      .route-guide-page #menu-informacion {
        right: 0;
        left: auto !important;
      }
