/**
 * Correcciones de Accesibilidad - iandb.es
 * 
 * Este archivo corrige problemas de contraste y accesibilidad detectados por Lighthouse
 */

/* ============================================
   CORRECCIONES DE CONTRASTE DE COLORES
   ============================================ */

/* Contraste para textos en body.home */
body.home p {
    color: #1a1a1a !important; /* Contraste mejorado desde #333333 */
}

/* Contraste para "Bienvenidos a" y textos similares */
body.home p:first-of-type,
body.home .elementor-widget-text-editor p {
    color: #000000 !important;
    background-color: transparent;
}

/* Contraste para "Investors & Builders – Construyendo tú futuro" */
body.home p strong,
body.home .elementor-heading-title {
    color: #000000 !important;
}

/* Contraste para elementos de flip-box (FINANCIACIÓN, CONTACTO) */
/* Forzar fondo blanco y texto negro para máximo contraste */
.wpr-flip-box-item.wpr-flip-box-front {
    color: #000000 !important;
    background-color: #ffffff !important;
    background-image: none !important;
}

/* Asegurar que todos los textos dentro del flip-box tengan contraste adecuado */
.wpr-flip-box-item.wpr-flip-box-front * {
    color: #000000 !important;
}

/* Específico para enlaces en flip-box - texto más oscuro y visible */
.wpr-flip-box-item.wpr-flip-box-front a {
    color: #000000 !important;
    text-decoration: none !important;
    font-weight: 700 !important;
    background-color: transparent !important;
}

.wpr-flip-box-item.wpr-flip-box-front a:hover,
.wpr-flip-box-item.wpr-flip-box-front a:focus {
    color: #000000 !important;
    background-color: #f0f0f0 !important;
    text-decoration: underline !important;
    outline: 3px solid #005fcc !important;
    outline-offset: 2px !important;
}

/* Textos destacados en flip-box */
.wpr-flip-box-item.wpr-flip-box-front strong {
    color: #000000 !important;
    font-weight: 700 !important;
    background-color: transparent !important;
}

/* Asegurar contraste mínimo 4.5:1 para todo el contenido del flip-box */
.wpr-flip-box-item.wpr-flip-box-front p,
.wpr-flip-box-item.wpr-flip-box-front span,
.wpr-flip-box-item.wpr-flip-box-front div {
    color: #000000 !important;
    background-color: transparent !important;
}

/* Si el flip-box tiene fondo oscuro, forzar fondo claro */
.wpr-flip-box .wpr-flip-box-item.wpr-flip-box-front,
.wpr-flip-box[style*="background"] .wpr-flip-box-item.wpr-flip-box-front,
.wpr-flip-box[style*="background-color"] .wpr-flip-box-item.wpr-flip-box-front,
.wpr-flip-box[style*="background-image"] .wpr-flip-box-item.wpr-flip-box-front {
    background-color: #ffffff !important;
    background-image: none !important;
    color: #000000 !important;
}

/* Override cualquier estilo inline que pueda tener fondo oscuro */
div.wpr-flip-box-item.wpr-flip-box-front[style*="background"] {
    background-color: #ffffff !important;
    background-image: none !important;
    color: #000000 !important;
}

/* Asegurar que el contenedor padre no afecte el contraste */
.wpr-flip-box {
    /* Permitir que el front tenga su propio fondo */
}

.wpr-flip-box .wpr-flip-box-item.wpr-flip-box-front {
    isolation: isolate;
    position: relative;
    z-index: 1;
}

/* Contraste para textos destacados, emails y "Colaboradores" */
body.home strong,
body.home .elementor-heading-title strong {
    color: #000000 !important;
    font-weight: 700 !important;
    background-color: transparent !important;
}

body.home p[style*="text-align: center"] {
    color: #000000 !important;
}

/* Contraste para enlaces en el footer */
.elementor-section[data-id="5b8dec1"] a,
.elementor-section[data-id="5b8dec1"] .elementor-heading-title {
    color: #1a1a1a !important;
}

.elementor-section[data-id="5b8dec1"] a:hover {
    color: #000000 !important;
    text-decoration: underline;
}

/* Contraste para textos en el footer */
.elementor-section[data-id="5b8dec1"] p.elementor-heading-title {
    color: #000000 !important;
}

/* URLs y emails en el footer */
.elementor-section[data-id="5b8dec1"] p.elementor-heading-title a,
.elementor-section[data-id="5b8dec1"] p.elementor-heading-title a[href^="http"],
.elementor-section[data-id="5b8dec1"] p.elementor-heading-title a[href^="mailto:"] {
    color: #000000 !important;
    text-decoration: underline !important;
}

.elementor-section[data-id="5b8dec1"] p.elementor-heading-title a:hover {
    color: #333333 !important;
}

/* Contraste para botones de cookies */
#cookies-eu-reject,
#cookies-eu-accept {
    color: #ffffff !important;
    background-color: #000000 !important;
    border: 2px solid #000000 !important;
    min-height: 44px; /* Tamaño mínimo para accesibilidad táctil */
    padding: 10px 20px !important;
}

#cookies-eu-reject:hover,
#cookies-eu-accept:hover {
    background-color: #333333 !important;
    border-color: #333333 !important;
}

#cookies-eu-reject:focus,
#cookies-eu-accept:focus {
    outline: 3px solid #005fcc !important;
    outline-offset: 2px !important;
}

/* ============================================
   CORRECCIONES DE ENCABEZADOS
   ============================================ */

/* Corregir orden de encabezados: h6 debe ser h2 si viene después de body */
/* El h6 "Construyendo el futuro..." debe ser visualmente un h2 */
body.home h6[data-sourcepos] {
    font-size: 2rem !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    margin-top: 0.5rem !important;
    margin-bottom: 1rem !important;
    color: #000000 !important;
}

/* El h4 "En Investors & Builders..." debe ser visualmente un h3 */
body.home h6[data-sourcepos] + h4,
body.home h2[data-sourcepos] + h4,
body.home h2[data-sourcepos] ~ h4,
body.home h4.elementor-heading-title:first-of-type {
    font-size: 1.75rem !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    color: #000000 !important;
}

/* Asegurar jerarquía correcta de encabezados en el footer */
/* Los h4 en el footer deben ser visualmente h3 */
body.home .elementor-section[data-id="5b8dec1"] h4.elementor-heading-title {
    font-size: 1.5rem !important;
    font-weight: 600 !important;
    color: #000000 !important;
    margin-top: 1.5rem !important;
    margin-bottom: 0.75rem !important;
}

/* Asegurar que todos los h4 tengan buen contraste */
body.home h4.elementor-heading-title {
    font-size: 1.5rem !important;
    font-weight: 600 !important;
    color: #000000 !important;
    line-height: 1.2 !important;
}

/* Estilos para h2 y h3 creados dinámicamente desde h6 y h4 */
body.home h2[data-sourcepos] {
    font-size: 2rem !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    margin-top: 0.5rem !important;
    margin-bottom: 1rem !important;
    color: #000000 !important;
}

body.home h3.elementor-heading-title {
    font-size: 1.75rem !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    color: #000000 !important;
}

/* Ocultar h4 vacíos o con contenido inaccesible */
h4[aria-hidden="true"],
h4.flex.items-center.gap-1\\.5.text-xs:empty {
    display: none !important;
    visibility: hidden !important;
}

/* ============================================
   MEJORAS ADICIONALES DE ACCESIBILIDAD
   ============================================ */

/* Regla reservada para futuras correcciones de contraste global si es necesario */

/* Mejorar visibilidad de enlaces sin texto (el JavaScript añadirá aria-labels) */
/* Esta regla CSS es un respaldo visual si el JS no carga */

/* Asegurar que los enlaces tengan foco visible */
a:focus,
button:focus {
    outline: 3px solid #005fcc !important;
    outline-offset: 2px !important;
}

/* Mejorar contraste en elementos de traducción */
#glt-translate-trigger,
.notranslate {
    color: #1a1a1a !important;
}

/* Asegurar contraste en logos y enlaces de logo */
.wpr-logo-url {
    min-height: 44px;
    min-width: 44px;
    display: inline-block;
}

/* Mejorar contraste en textos de ayuda */
.screen-reader-text:focus {
    background-color: #ffffff !important;
    color: #000000 !important;
    padding: 10px !important;
    border: 2px solid #000000 !important;
}

/* ============================================
   MEDIA QUERIES PARA RESPONSIVE
   ============================================ */

@media (max-width: 768px) {
    /* Asegurar contraste en móviles */
    body.home p,
    body.home .elementor-heading-title {
        color: #000000 !important;
    }
    
    /* Botones más grandes en móvil para accesibilidad táctil */
    #cookies-eu-reject,
    #cookies-eu-accept {
        min-height: 48px !important;
        font-size: 16px !important;
    }
}

/* ============================================
   CORRECCIONES ESPECÍFICAS POR ELEMENTO
   ============================================ */

/* Enlaces sin texto visible - añadir indicador visual */
a[href]:empty,
a[href]:not(:has(*)):not(:has(text)) {
    border: 1px dashed #666666;
    min-width: 44px;
    min-height: 44px;
    display: inline-block;
    position: relative;
}

a[href]:empty::after,
a[href]:not(:has(*)):not(:has(text))::after {
    content: "Enlace";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 0.8em;
    color: #666666;
}

/* Mejorar contraste en secciones con fondo oscuro */
.elementor-section[data-settings*="background"] {
    /* Asegurar que el texto tenga suficiente contraste */
}

.elementor-section[data-settings*="background"] .elementor-heading-title,
.elementor-section[data-settings*="background"] p,
.elementor-section[data-settings*="background"] a {
    color: #000000 !important;
}
