/* ----- Variables Globales ----- */
:root {
    --header-height: 74px;
    --admin-bar-height: 32px;
    --body-padding-top: 5px;
}

body.menu-active {
    overflow: hidden;
    height: 100vh;
    position: fixed;
}

/* ----- Botón Hamburguesa ----- */
.hamburger-trigger {
    background: none;
    border: none;
    cursor: pointer;
    padding: 1rem;
    z-index: 1001;
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.hamburger-bar {
    display: block;
    width: 30px;
    height: 2px;
    background: #333;
    transition: 0.3s;
}

/* Animación a X */
.hamburger-trigger.active .hamburger-bar:nth-child(1) {
    transform: translateY(8px) rotate(45deg);
}

.hamburger-trigger.active .hamburger-bar:nth-child(2) {
    opacity: 0;
}

.hamburger-trigger.active .hamburger-bar:nth-child(3) {
    transform: translateY(-8px) rotate(-45deg);
}

/* ----- Menú Desplegable ----- */
.menu-overlay {
    position: fixed;
    top: calc(var(--header-height) + var(--admin-bar-height) + var(--body-padding-top)); /* Posición inicial debajo del header */
    left: 0;
    width: 100%;
    height: calc(100vh - var(--header-height) - var(--admin-bar-height) - var(--body-padding-top));
    background: var(--wp--preset--color--base);
    z-index: 999;
    transform: translateY(-100%); /* Oculta completamente */
    transition: transform 0.3s ease;
    padding: 0;
    overflow-y: auto;
    visibility: hidden;

    /* Mantener posición existente */
    overflow-y: auto; /* Scroll interno del menú */
    -webkit-overflow-scrolling: touch; /* Mejor scroll en móviles */
    
    /* Añadir esto */
    scroll-behavior: smooth;
    overscroll-behavior: contain; /* Evitar scroll del fondo */
}

.menu-overlay.active {
    transform: translateY(0); /* Muestra el menú */
    visibility: visible;
}

/* ----- Header ----- */
header {
    position: relative;
    z-index: 1000; /* Mayor que el menú */
    background: #fff; /* Para cubrir el menú */
    width: 100%;
}

/* ----- Ajuste Barra de Administración ----- */
#wpadminbar {
    position: fixed !important;
}

/* Custom */
.menu-overlay > div {
	padding: 0 25px;
}

.menu-overlay .has-global-padding {
	padding-left: 0;
	padding-right: 0;
}

.menu-overlay .has-global-padding > .alignfull {
	margin: 0;
}