/* 1. BLINDAJE CONTRA DESBORDAMIENTO HORIZONTAL EN CUALQUIER RESOLUCIÓN */
html, body {
    overflow-x: hidden !important;
    max-width: 100% !important;
    width: 100% !important;
    margin: 0;
    padding: 0;
}

/* Optimización de aceleración por GPU para la cabecera inteligente */
#landing-header {
    will-change: transform;
}

/* Ocultar barra de desplazamiento manteniendo scroll horizontal táctil */
.no-scrollbar::-webkit-scrollbar {
    display: none;
}
.no-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

*, *::before, *::after {
    box-sizing: border-box;
}

/* 2. Paleta y Variables de Marca */
:root {
    --brand-base: #312e81;
    --brand-hover: #1e1b4b;
    --brand-surface: #e0e7ff;
    --accent-base: #0f766e;
    --success-base: #16a34a;
}

/* Tipografía base */
body {
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
}

/* Resplandor ambiental de fondo para el Hero */
.hero-ambient-glow {
    position: absolute;
    top: -6rem;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    max-width: 58rem;
    height: 28rem;
    background: radial-gradient(50% 50% at 50% 50%, rgba(224, 231, 255, 0.75) 0%, rgba(250, 249, 246, 0) 100%);
    pointer-events: none;
    z-index: 0;
}

/* Gradiente de texto de alta definición */
.text-gradient-indigo {
    background: linear-gradient(135deg, #1e1b4b 0%, #312e81 50%, #4338ca 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* Animaciones suaves */
.animate-fade-in {
    animation: fadeIn 0.25s ease-out forwards;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(4px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Estados enriquecidos para el acordeón de Preguntas Frecuentes (FAQ) */
.faq-item {
    transition: all 0.2s ease;
}

.faq-item.faq-active {
    border-color: #c7d2fe !important;
    background-color: #ffffff;
    box-shadow: 0 4px 12px -2px rgba(49, 46, 129, 0.06);
}

.faq-icon-wrapper {
    transition: transform 0.25s ease, background-color 0.2s ease;
}

/* Barra de desplazamiento suave para el modal legal */
.custom-scrollbar::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}

.custom-scrollbar::-webkit-scrollbar-track {
    background: transparent;
}

.custom-scrollbar::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 4px;
}

.custom-scrollbar::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;
}
