/**
 * APM Nav Shortcodes — Header & Footer
 * Cargado globalmente junto con components.css
 *
 * @package APM_Child
 */

/* ============================================================
   HEADER NAV
   ============================================================ */

.apm-hnav {
    display: flex;
    align-items: center;
    position: relative;
}

/* Lista de links */
.apm-hnav__list {
    display: flex;
    align-items: center;
    gap: var(--apm-space-8);
    list-style: none;
    margin: 0;
    padding: 0;
}

.apm-hnav__list li {
    position: relative;
}

.apm-hnav__list a {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    font-family: var(--apm-font-body);
    font-size: var(--apm-text-sm);
    font-weight: var(--apm-weight-medium);
    color: var(--apm-color-text);
    text-decoration: none;
    padding-block: var(--apm-space-2);
    transition: color var(--apm-duration-fast) ease;
    white-space: nowrap;
}

/* Subrayado animado en hover */
.apm-hnav__list a span {
    position: relative;
}

.apm-hnav__list a span::after {
    content: '';
    position: absolute;
    bottom: -3px;
    left: 0;
    width: 100%;
    height: 2px;
    background: var(--apm-primary-700);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform var(--apm-duration-fast) var(--apm-ease-out);
    border-radius: 2px;
}

.apm-hnav__list a:hover span::after,
.apm-hnav__list .current-menu-item > a span::after,
.apm-hnav__list .current-menu-ancestor > a span::after {
    transform: scaleX(1);
}

.apm-hnav__list a:hover {
    color: var(--apm-primary-700);
}

.apm-hnav__list .current-menu-item > a,
.apm-hnav__list .current-menu-ancestor > a {
    color: var(--apm-primary-700);
    font-weight: var(--apm-weight-semibold);
}

/* Botón hamburguesa — oculto en desktop */
.apm-hnav__toggle {
    display: none;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    background: transparent;
    border: none;
    border-radius: var(--apm-radius-md);
    color: var(--apm-color-text);
    cursor: pointer;
    transition: background var(--apm-duration-fast) ease;
}

.apm-hnav__toggle:hover {
    background: var(--apm-neutral-100);
}

/* Íconos open/close del toggle */
.apm-hnav__icon-close {
    display: none;
}

/* ── MÓVIL (<= 880px) ─────────────────────────────────────── */
@media (max-width: 880px) {

    /* Mostrar botón hamburguesa */
    .apm-hnav__toggle {
        display: inline-flex;
    }

    /* Menú colapsado por defecto */
    .apm-hnav__list {
        position: absolute;
        top: calc(100% + 8px);
        right: 0;
        flex-direction: column;
        align-items: flex-start;
        gap: 0;
        min-width: 200px;
        background: var(--apm-color-bg);
        border: 1px solid var(--apm-color-border);
        border-radius: var(--apm-radius-lg);
        box-shadow: var(--apm-shadow-lg);
        padding: var(--apm-space-2) 0;
        z-index: var(--apm-z-dropdown);

        /* Estado cerrado */
        opacity: 0;
        transform: translateY(-6px) scale(0.97);
        pointer-events: none;
        visibility: hidden;
        transition:
            opacity var(--apm-duration-base) var(--apm-ease-out),
            transform var(--apm-duration-base) var(--apm-ease-out),
            visibility 0s linear var(--apm-duration-base);
    }

    /* ── always-open: nunca hamburguesa, lista vertical visible siempre ── */
    .apm-hnav--always-open .apm-hnav__toggle {
        display: none !important;
    }

    .apm-hnav--always-open .apm-hnav__list {
        position: static;
        flex-direction: column;
        align-items: flex-start;
        gap: 0;
        min-width: 0;
        width: 100%;
        background: transparent;
        border: none;
        border-radius: 0;
        box-shadow: none;
        padding: 0;
        opacity: 1;
        transform: none;
        pointer-events: auto;
        visibility: visible;
        transition: none;
    }

    .apm-hnav--always-open .apm-hnav__list li {
        width: 100%;
    }

    .apm-hnav--always-open .apm-hnav__list a {
        display: block;
        padding: var(--apm-space-3) 0;
        font-size: var(--apm-text-base);
    }

    .apm-hnav--always-open .apm-hnav__list li + li {
        border-top: 1px solid var(--apm-neutral-200);
    }

    .apm-hnav--always-open .apm-hnav__list a span::after {
        display: none;
    }

    /* Estado abierto */
    .apm-hnav[data-open="true"] .apm-hnav__list {
        opacity: 1;
        transform: translateY(0) scale(1);
        pointer-events: auto;
        visibility: visible;
        transition:
            opacity var(--apm-duration-base) var(--apm-ease-out),
            transform var(--apm-duration-base) var(--apm-ease-out),
            visibility 0s linear 0s;
    }

    /* Íconos toggle */
    .apm-hnav[data-open="true"] .apm-hnav__icon-open  { display: none; }
    .apm-hnav[data-open="true"] .apm-hnav__icon-close { display: block; }

    /* Links dentro del dropdown */
    .apm-hnav__list li {
        width: 100%;
    }

    .apm-hnav__list a {
        display: block;
        padding: var(--apm-space-3) var(--apm-space-5);
        font-size: var(--apm-text-base);
        border-radius: 0;
    }

    /* Sin subrayado animado en móvil — fondo en hover */
    .apm-hnav__list a span::after { display: none; }

    .apm-hnav__list a:hover,
    .apm-hnav__list .current-menu-item > a {
        background: var(--apm-neutral-50);
        color: var(--apm-primary-700);
    }

    /* Separador entre items */
    .apm-hnav__list li + li {
        border-top: 1px solid var(--apm-neutral-100);
    }
}

/* ============================================================
   FOOTER NAV
   ============================================================ */

.apm-fnav {
    display: flex;
    flex-direction: column;
    gap: var(--apm-space-3);
}

.apm-fnav__label {
    font-family: var(--apm-font-body);
    font-size: var(--apm-text-xs);
    font-weight: var(--apm-weight-semibold);
    letter-spacing: var(--apm-tracking-wide);
    text-transform: uppercase;
    color: var(--apm-neutral-400);
    margin: 0 0 var(--apm-space-1) 0;
}

.apm-fnav__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--apm-space-2);
}

.apm-fnav__list a {
    font-family: var(--apm-font-body);
    font-size: var(--apm-text-sm);
    font-weight: var(--apm-weight-regular);
    color: var(--apm-neutral-400);
    text-decoration: none;
    transition: color var(--apm-duration-fast) ease;
    line-height: var(--apm-leading-normal);
}

.apm-fnav__list a:hover {
    color: var(--apm-neutral-0);
}

/* Footer nav nunca colapsa — siempre visible en todos los dispositivos */
@media (max-width: 880px) {
    .apm-fnav__list {
        display: flex; /* override cualquier cosa del parent */
    }
}
