/* Variables de colores para la versión CLARA / BLANCA */
        :root {
            --glosario-bg: #ffffff;           
            --glosario-card-bg: #ffffff;         
            --glosario-gold: #d9a016;         
            --glosario-text-main: #111111;   
            --glosario-text-gray: #4b5563;    
            --glosario-border: #e5e7eb;       
            
            --glosario-font-title: 'Anton', sans-serif;
            --glosario-font-body: 'Inter', sans-serif;
        }

        /* 1. RESETEO EXTREMO PARA EVITAR QUE TU WEB ROMPA EL GLOSARIO */
        #glosario-app {
            background-color: var(--glosario-bg);
            color: var(--glosario-text-main);
            font-family: var(--glosario-font-body);
            width: 100%;
            /* Padding superior, inferior y a los LADOS (derecha e izquierda) */
            padding: 80px 20px; 
            box-sizing: border-box !important;
            display: block !important;
        }

        #glosario-app *,
        #glosario-app *::before,
        #glosario-app *::after {
            box-sizing: border-box !important;
            margin: 0;
            padding: 0;
        }

        /* 2. CONTENEDOR CENTRAL QUE EVITA QUE SE ESPARZA A LOS BORDES */
        .glosario-wrapper {
            width: 100%;
            max-width: 1000px; /* Ancho máximo elegante */
            margin: 0 auto !important; /* Centrado absoluto horizontal */
            display: block !important;
        }

        /* 3. CABECERA Y TÍTULO */
        .glosario-header-section {
            text-align: center !important;
            margin-bottom: 40px !important;
            width: 100%;
            display: flex;
            flex-direction: column;
            align-items: center;
        }

        .glosario-title-main {
            font-family: var(--glosario-font-title);
            /* REPARACIÓN DEFINITIVA: 
               - Usamos un escalado basado en 11vw para que se adapte agresivamente al ancho.
               - El clamp asegura que no sea ridículamente pequeño (1.5rem) ni gigante (5.5rem). */
            font-size: clamp(1.5rem, 11vw, 5.5rem) !important; 
            text-transform: uppercase;
            letter-spacing: 0.01em;
            line-height: 1 !important;
            margin-bottom: 20px !important;
            color: var(--glosario-text-main);
            font-weight: 400;
            
            /* USAMOS FLEX PARA CONTROLAR LAS PALABRAS */
            display: flex !important;
            flex-wrap: wrap !important; /* Permite que "ESTRUCTURAL" baje si no cabe */
            justify-content: center !important;
            gap: 0.1em 0.3em !important; /* Espacio mínimo entre palabras */
            
            width: 100% !important;
            max-width: 100% !important;
            word-break: normal !important;
            overflow-wrap: anywhere !important;
        }

        .glosario-title-main span {
            color: var(--glosario-gold);
        }

        .glosario-subtitle {
            font-family: var(--glosario-font-body);
            font-size: clamp(1rem, 2vw, 1.25rem) !important;
            color: var(--glosario-text-gray);
            max-width: 750px;
            font-weight: 300;
            line-height: 1.6 !important;
            margin: 0 auto !important; /* Asegura el centrado */
        }

        /* 4. BARRA DE BÚSQUEDA BLINDADA (FLEXBOX) PARA EVITAR SUPERPOSICIÓN */
        .glosario-search-box {
            display: flex !important;
            align-items: center !important;
            width: 100% !important;
            max-width: 800px !important;
            height: 65px !important;
            margin: 0 auto 30px auto !important; /* Centrado forzado y margen inferior */
            background-color: #f9fafb !important;
            border: 2px solid var(--glosario-border) !important;
            border-radius: 12px !important;
            padding: 0 20px !important; /* Padding interno */
            transition: border-color 0.3s ease, box-shadow 0.3s ease;
        }

        .glosario-search-box:focus-within {
            border-color: var(--glosario-gold) !important;
            box-shadow: 0 0 0 3px rgba(217, 160, 22, 0.1) !important;
        }

        .glosario-icon-lupa {
            width: 24px !important;
            height: 24px !important;
            flex-shrink: 0 !important; /* La lupa no se achica nunca */
            margin-right: 15px !important; /* Separa la lupa del texto RÍGIDAMENTE */
            fill: none;
            stroke: #6b7280;
            stroke-width: 2;
            stroke-linecap: round;
            stroke-linejoin: round;
        }

        .glosario-input-text {
            flex-grow: 1 !important; /* Ocupa el resto del espacio */
            background: transparent !important;
            border: none !important;
            color: var(--glosario-text-main) !important;
            font-family: var(--glosario-font-body) !important;
            font-size: 1.1rem !important;
            outline: none !important;
            height: 100% !important;
            padding: 0 !important; /* Resetea paddings porque la caja ya los tiene */
        }

        .glosario-input-text::placeholder {
            color: #9ca3af !important;
        }

        /* 5. ÍNDICE ALFABÉTICO */
        .glosario-alphabet-nav {
            display: flex !important;
            flex-wrap: wrap !important;
            justify-content: center !important; /* Centra los botones */
            gap: 12px !important;
            width: 100%;
            max-width: 850px;
            margin: 0 auto 70px auto !important; /* Centrado y separación gigante hacia abajo */
        }

        .glosario-btn-letter {
            display: flex !important;
            align-items: center !important;
            justify-content: center !important;
            width: 48px !important;
            height: 48px !important;
            background-color: #ffffff !important;
            border: 2px solid var(--glosario-border) !important;
            border-radius: 10px !important;
            color: var(--glosario-text-main) !important;
            font-family: var(--glosario-font-title) !important;
            font-size: 1.4rem !important;
            text-decoration: none !important;
            transition: all 0.2s ease;
        }

        .glosario-btn-letter:hover {
            color: #ffffff !important;
            background-color: var(--glosario-gold) !important;
            border-color: var(--glosario-gold) !important;
            transform: translateY(-2px);
        }

        .glosario-btn-letter.disabled {
            opacity: 0.3 !important;
            pointer-events: none !important;
            background-color: transparent !important;
            border-color: var(--glosario-border) !important;
        }

        /* 6. LISTADO DE TÉRMINOS Y SEPARACIÓN VERTICAL */
        .glosario-content-area {
            display: flex !important;
            flex-direction: column !important;
            gap: 70px !important; /* Espacio gigante entre la sección A, la B, etc. */
            width: 100%;
        }

        .glosario-letter-block {
            display: block !important;
            width: 100% !important;
        }

        /* La Letra Gigante A, B, C... ahora destacada en Naranja/Oro */
        .glosario-big-letter {
            font-family: var(--glosario-font-title) !important;
            font-size: 5rem !important; 
            color: var(--glosario-gold) !important; /* Uso fuerte del naranja */
            margin: 0 0 25px 0 !important; /* Separación estricta hacia abajo para no chocar con tarjetas */
            line-height: 1 !important;
            text-transform: uppercase !important;
            text-align: left !important;
            scroll-margin-top: 80px;
            text-shadow: 2px 2px 0px rgba(217,160,22,0.1);
        }

        /* 7. CUADRÍCULA DE TARJETAS (GRID RESPONSIVO) */
        .glosario-cards-grid {
            display: grid !important;
            grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)) !important;
            gap: 25px !important; /* Espacio entre tarjetas de la misma letra */
            width: 100%;
        }

        /* 8. DISEÑO DE TARJETA (TEMA CLARO) */
        .glosario-card-item {
            background-color: var(--glosario-card-bg) !important;
            border: 1px solid var(--glosario-border) !important;
            border-radius: 12px !important;
            padding: 30px !important;
            display: flex !important;
            flex-direction: column !important;
            text-align: left !important; 
            box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05) !important; /* Sombra suave */
            transition: all 0.3s ease;
        }

        .glosario-card-item:hover {
            border-color: var(--glosario-gold) !important;
            box-shadow: 0 10px 25px -5px rgba(217, 160, 22, 0.15) !important;
            transform: translateY(-3px);
        }

        .glosario-term-title {
            font-family: var(--glosario-font-title) !important;
            font-size: 2.2rem !important;
            color: var(--glosario-text-main) !important; /* Negro en lugar de blanco */
            margin: 0 0 8px 0 !important;
            line-height: 1.1 !important;
            letter-spacing: 0.02em !important;
        }

        .glosario-term-sub {
            font-family: var(--glosario-font-body) !important;
            font-size: 0.75rem !important;
            color: var(--glosario-gold) !important;
            font-weight: 700 !important;
            text-transform: uppercase !important;
            letter-spacing: 0.1em !important;
            margin: 0 0 15px 0 !important;
        }

        .glosario-term-p {
            font-family: var(--glosario-font-body) !important;
            font-size: 0.95rem !important;
            color: var(--glosario-text-gray) !important;
            line-height: 1.6 !important;
            font-weight: 400 !important;
            margin: 0 !important;
        }

        /* Mensaje vacío */
        #glosario-not-found {
            display: none;
            text-align: center;
            padding: 50px 20px;
            color: var(--glosario-text-gray);
            font-size: 1.2rem;
            background-color: #f9fafb;
            border: 2px dashed var(--glosario-border);
            border-radius: 12px;
            margin-top: 40px;
        }

        /* --- RESPONSIVE FIXES --- */
        @media (max-width: 768px) {
            #glosario-app {
                padding: 50px 15px; /* Mantiene padding a los lados en celular */
            }
            .glosario-title-main { font-size: 8vw !important; }
            .glosario-big-letter { font-size: 4rem !important; margin-bottom: 20px !important; }
            .glosario-search-box { height: 55px !important; }
            .glosario-input-text { font-size: 1rem !important; }
            .glosario-cards-grid { grid-template-columns: 1fr !important; } /* Fuerza 1 sola columna en móviles */
        }