

/* Smooth scroll para mejor UX */
html {
    scroll-behavior: smooth;
    scroll-padding-top: 90px;
}

/* Prevenir scroll cuando el menú móvil está abierto */
body.nav-open {
    overflow: hidden;
}

/* Mejorar performance en animaciones */
.header__nav,
.header__burger,
.burger-line,
.arrow {
    will-change: transform;
}

/* Focus visible para accesibilidad */
:focus-visible {
    outline: 2px solid #00a551;
    outline-offset: 2px;
}



/* Offset para compensar el header sticky */
section[id],
div[id] {
    scroll-margin-top: 90px;
}

/* Respeto a preferencias de accesibilidad */
@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: smooth;
    }
}

/* Hover mejorado en enlaces de navegación */
.header__nav a,
.footer-links a {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.header__nav a:hover,
.footer-links a:hover {
    color: var(--secondary-color);
}

/* Estado activo de enlaces */
.header__nav a.active {
    color: var(--secondary-color);
    font-weight: 700;
}

/* Overlay oscuro en móvil cuando el menú está abierto */
@media (max-width: 1075px) {
    body.nav-open::before {
        content: '';
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.5);
        z-index: 100;
        animation: fadeInOverlay 0.3s ease;
    }

    @keyframes fadeInOverlay {
        from {
            opacity: 0;
        }
        to {
            opacity: 1;
        }
    }
}