/*----------------------------------------------------------------------------*/
/* ESTILOS GENERALES */
/*----------------------------------------------------------------------------*/
body.modo-noche {
    background-color: #121212 !important;
    color: #e0e0e0 !important;
    transition: background-color 0.3s ease, color 0.3s ease;
}

body.modo-noche a {
    color: #bb86fc !important;
    transition: color 0.3s ease;
}

body.modo-noche a:hover {
    color: #985eff !important;
}

body.modo-noche h1,
body.modo-noche h2,
body.modo-noche h3,
body.modo-noche h4,
body.modo-noche h5,
body.modo-noche h6,
body.modo-noche p,
body.modo-noche span,
body.modo-noche li {
    color: #e0e0e0 !important;
}

body.modo-noche button,
body.modo-noche input,
body.modo-noche textarea,
body.modo-noche select {
    background-color: #333333 !important;
    color: #ffffff !important;
    border: 1px solid #444444 !important;
}

/*----------------------------------------------------------------------------*/
/* FORMULARIOS */
/*----------------------------------------------------------------------------*/
body.modo-noche form,
body.modo-noche .formContacto,
body.modo-noche #toggle-buscar-paginas,
body.modo-noche .modal-content,
body.modo-noche #resultado-busqueda table {
    background-color: #1e1e1e !important;
    color: #ffffff !important;
}

body.modo-noche form label {
    color: #ffffff !important;
}

body.modo-noche #resultado-busqueda table th {
    background-color: #2d2d2d !important;
}

body.modo-noche #resultado-busqueda table td {
    background-color: #1e1e1e !important;
}

/*----------------------------------------------------------------------------*/
/* TARJETAS */
/*----------------------------------------------------------------------------*/
body.modo-noche .card {
    background-color: #2d2d2d !important;
    color: #ffffff !important;
    border: 1px solid #444444 !important;
}

body.modo-noche .card p {
    color: #e0e0e0 !important;
}

/*----------------------------------------------------------------------------*/
/* CABECERA Y FOOTER */
/*----------------------------------------------------------------------------*/
body.modo-noche .elementor-322 .elementor-element.elementor-element-82f13b6:not(.elementor-motion-effects-element-type-background),
body.modo-noche .elementor-322 .elementor-element.elementor-element-82f13b6 > .elementor-motion-effects-container > .elementor-motion-effects-layer,
body.modo-noche .estiloCabecera,
body.modo-noche .estiloCabeceraRes,
body.modo-noche .estiloFooter,
body.modo-noche .navbar,
body.modo-noche .footer {
    background-color: #1e1e1e !important;
    color: #ffffff !important;
    border-color: #333333 !important;
}

body.modo-noche .estiloCabecera a,
body.modo-noche .estiloCabeceraRes a {
    background-color: transparent !important;
    color: #ffffff !important;
}

body.modo-noche .estiloCabecera i,
body.modo-noche .estiloCabeceraRes i {
    background-color: transparent !important;
    color: #ffffff !important;
    border: none !important;
}

/*----------------------------------------------------------------------------*/
/* NOTICIAS */
/*----------------------------------------------------------------------------*/
body.modo-noche #cardNoticia {
    background-color: #2d2d2d !important;
    border: 2px solid #555555 !important;
}

body.modo-noche #cardNoticia a {
    background-color: transparent !important;
}

body.modo-noche #cardNoticia .elementor-button-text {
    border: 2px solid #bb86fc !important;
    color: #bb86fc !important;
    border-radius: 12px;
    background-color: transparent !important;
}

body.modo-noche #cardNoticia .elementor-button-text:hover {
    background-color: #bb86fc !important;
    color: #121212 !important;
}

/*----------------------------------------------------------------------------*/
/* LOGOS */
/*----------------------------------------------------------------------------*/
body.modo-noche #logoDevPoint,
body.modo-noche .logoPCL {
    filter: invert(1) brightness(2);
}

/*----------------------------------------------------------------------------*/
/* CALENDARIO Y EVENTOS */
/*----------------------------------------------------------------------------*/
body.modo-noche .event-card,
body.modo-noche .event-time,
body.modo-noche .calendar-nav,
body.modo-noche .filters {
    background-color: #2d2d2d !important;
    color: #ffffff !important;
}

body.modo-noche .ciudad-libro-programacion,
body.modo-noche .events-grid,
body.modo-noche .event-row,
body.modo-noche .day-section,
body.modo-noche .day-filter,
body.modo-noche .no-events,
body.modo-noche #type-filter,
body.modo-noche #lugar-filter {
    background-color: #3f3f3f !important;
    color: #ffffff !important;
    border-color: #555555 !important;
}

body.modo-noche label {
    color: #ffffff !important;
}

body.modo-noche .day-filter.active {
    background-color: var(--primary-color) !important;
    color: white !important;
}

body.modo-noche .btn-primary {
    background-color: var(--primary-color) !important;
    color: white !important;
    border-color: var(--primary-color) !important;
}

/*----------------------------------------------------------------------------*/
/* MEJORAS DE ACCESIBILIDAD */
/*----------------------------------------------------------------------------*/
@media (prefers-reduced-motion: reduce) {
    body.modo-noche {
        transition: none;
    }
}

/* High contrast support */
@media (prefers-contrast: high) {
    body.modo-noche {
        background-color: #000000 !important;
        color: #ffffff !important;
    }
    
    body.modo-noche a {
        color: #ffff00 !important;
    }
}

/*----------------------------------------------------------------------------*/
/* ESTILOS PARA EL BUSCADOR */
/*----------------------------------------------------------------------------*/
body.modo-noche #formulario-busqueda {
    background-color: #1e1e1e !important;
    color: #ffffff !important;
}

body.modo-noche #buscar-paginas {
    background-color: #2d2d2d !important;
    color: #ffffff !important;
    border: 1px solid #444444 !important;
}

body.modo-noche #buscar-paginas::placeholder {
    color: #aaaaaa !important;
}

body.modo-noche #buscar-paginas:focus {
    background-color: #333333 !important;
    color: #ffffff !important;
    border-color: #bb86fc !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(187, 134, 252, 0.2) !important;
}

body.modo-noche #resultado-busqueda {
    background-color: #1e1e1e !important;
    color: #ffffff !important;
}

body.modo-noche #resultado-busqueda table {
    background-color: #1e1e1e !important;
    color: #ffffff !important;
    border: none !important;
}

body.modo-noche #resultado-busqueda table th {
    background-color: #1e1e1e !important;
    color: #ffffff !important;
    border-bottom: 1px solid #444444 !important;
}

body.modo-noche #resultado-busqueda table tr {
    background-color: #1e1e1e !important;
    color: #ffffff !important;
}

body.modo-noche #resultado-busqueda table tr:hover {
    background-color: #2d2d2d !important;
}

body.modo-noche #resultado-busqueda a {
    color: #bb86fc !important;
    text-decoration: none !important;
}

body.modo-noche #resultado-busqueda a:hover {
    color: #985eff !important;
    text-decoration: underline !important;
}

body.modo-noche #resultado-busqueda h5 {
    color: #bb86fc !important;
}

body.modo-noche #resultado-busqueda #bscTitle {
    color: #bb86fc !important;
}

body.modo-noche #resultado-busqueda p {
    color: #e0e0e0 !important;
}

body.modo-noche #resultado-busqueda .alert {
    background-color: #2d2d2d !important;
    color: #e0e0e0 !important;
    border: 1px solid #444444 !important;
}

body.modo-noche #resultado-busqueda .alert h3 {
    color: #e0e0e0 !important;
}

body.modo-noche #resultado-busqueda .imagen img {
    filter: brightness(0.8);
    border: 1px solid #444444 !important;
    border-radius: 4px !important;
}

/* Estilos específicos para las tablas de resultados */
body.modo-noche .pagina table {
    background-color: #1e1e1e !important;
}

body.modo-noche .pagina table tr th {
    background-color: #1e1e1e !important;
    border-bottom: 1px solid #444444 !important;
}

/* Asegurar que los textos dentro de las celdas tengan buen contraste */
body.modo-noche .pagina table tr th h5 {
    color: #bb86fc !important;
}

body.modo-noche .pagina table tr th p {
    color: #e0e0e0 !important;
}

/*----------------------------------------------------------------------------*/
/* ESTILOS PARA EL BUSCADOR RESPONSIVO */
/*----------------------------------------------------------------------------*/
body.modo-noche #formulario-busqueda-responsivo {
    background-color: #1e1e1e !important;
    color: #ffffff !important;
    padding: 10px !important;
}

body.modo-noche #buscar-paginas-responsivo {
    background-color: #2d2d2d !important;
    color: #ffffff !important;
    border: 1px solid #444444 !important;
    border-radius: 8px !important;
    padding: 12px 16px !important;
    font-size: 16px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

body.modo-noche #buscar-paginas-responsivo::placeholder {
    color: #aaaaaa !important;
    opacity: 1 !important;
}

body.modo-noche #buscar-paginas-responsivo:focus {
    background-color: #333333 !important;
    color: #ffffff !important;
    border-color: #bb86fc !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(187, 134, 252, 0.2) !important;
}

body.modo-noche #resultado-busqueda-responsivo {
    background-color: #1e1e1e !important;
    color: #ffffff !important;
    margin-top: 10px !important;
}

body.modo-noche #resultado-busqueda-responsivo table {
    background-color: #1e1e1e !important;
    color: #ffffff !important;
    border: none !important;
    width: 100% !important;
}

body.modo-noche #resultado-busqueda-responsivo table th {
    background-color: #1e1e1e !important;
    color: #ffffff !important;
    border-bottom: 1px solid #444444 !important;
    padding: 12px 8px !important;
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

body.modo-noche #resultado-busqueda-responsivo table tr {
    background-color: #1e1e1e !important;
    color: #ffffff !important;
    display: block !important;
    width: 100% !important;
    margin-bottom: 10px !important;
    border: 1px solid #444444 !important;
    border-radius: 8px !important;
    padding: 0 !important;
}

body.modo-noche #resultado-busqueda-responsivo table tr:hover {
    background-color: #2d2d2d !important;
    border-color: #555555 !important;
}

body.modo-noche #resultado-busqueda-responsivo a {
    color: #bb86fc !important;
    text-decoration: none !important;
}

body.modo-noche #resultado-busqueda-responsivo a:hover {
    color: #985eff !important;
    text-decoration: underline !important;
}

body.modo-noche #resultado-busqueda-responsivo h5 {
    color: #bb86fc !important;
    font-size: 18px !important;
    margin-bottom: 8px !important;
    line-height: 1.3 !important;
}

body.modo-noche #resultado-busqueda-responsivo #bscTitle {
    color: #bb86fc !important;
}

body.modo-noche #resultado-busqueda-responsivo p {
    color: #e0e0e0 !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    margin-bottom: 0 !important;
}

body.modo-noche #resultado-busqueda-responsivo .alert {
    background-color: #2d2d2d !important;
    color: #e0e0e0 !important;
    border: 1px solid #444444 !important;
    border-radius: 8px !important;
    padding: 20px !important;
    text-align: center !important;
}

body.modo-noche #resultado-busqueda-responsivo .alert h3 {
    color: #e0e0e0 !important;
    font-size: 18px !important;
    margin: 0 !important;
}

body.modo-noche #resultado-busqueda-responsivo .imagen {
    text-align: center !important;
    margin-top: 10px !important;
}

body.modo-noche #resultado-busqueda-responsivo .imagen img {
    filter: brightness(0.8);
    border: 1px solid #444444 !important;
    border-radius: 6px !important;
    max-width: 80px !important;
    height: auto !important;
}

/*----------------------------------------------------------------------------*/
/* MEDIA QUERIES PARA DISPOSITIVOS MÓVILES */
/*----------------------------------------------------------------------------*/
@media (max-width: 768px) {
    body.modo-noche #formulario-busqueda-responsivo {
        padding: 8px !important;
    }
    
    body.modo-noche #buscar-paginas-responsivo {
        padding: 14px 16px !important;
        font-size: 16px !important; /* Previene el zoom en iOS */
    }
    
    body.modo-noche #resultado-busqueda-responsivo table th {
        padding: 10px 6px !important;
    }
    
    body.modo-noche #resultado-busqueda-responsivo h5 {
        font-size: 16px !important;
    }
    
    body.modo-noche #resultado-busqueda-responsivo p {
        font-size: 13px !important;
    }
    
    body.modo-noche #resultado-busqueda-responsivo .imagen img {
        max-width: 60px !important;
    }
}

@media (max-width: 480px) {
    body.modo-noche #formulario-busqueda-responsivo {
        padding: 6px !important;
    }
    
    body.modo-noche #buscar-paginas-responsivo {
        padding: 12px 14px !important;
        font-size: 16px !important;
    }
    
    body.modo-noche #resultado-busqueda-responsivo table th {
        padding: 8px 4px !important;
    }
    
    body.modo-noche #resultado-busqueda-responsivo h5 {
        font-size: 15px !important;
    }
    
    body.modo-noche #resultado-busqueda-responsivo .alert {
        padding: 15px !important;
    }
    
    body.modo-noche #resultado-busqueda-responsivo .alert h3 {
        font-size: 16px !important;
    }
}

/*----------------------------------------------------------------------------*/
/* ESTILOS ESPECÍFICOS PARA TABLETS */
/*----------------------------------------------------------------------------*/
@media (min-width: 769px) and (max-width: 1024px) {
    body.modo-noche #formulario-busqueda-responsivo {
        max-width: 90% !important;
        margin: 0 auto !important;
    }
}

/*----------------------------------------------------------------------------*/
/* MEJORAS DE ACCESIBILIDAD PARA MÓVILES */
/*----------------------------------------------------------------------------*/
@media (pointer: coarse) {
    body.modo-noche #buscar-paginas-responsivo {
        min-height: 44px !important; /* Tamaño mínimo para touch */
    }
    
    body.modo-noche #resultado-busqueda-responsivo a {
        min-height: 44px !important;
        display: flex !important;
        align-items: center !important;
    }
}

/*----------------------------------------------------------------------------*/
/* ANIMACIONES SUAVES PARA MÓVILES */
/*----------------------------------------------------------------------------*/
body.modo-noche #resultado-busqueda-responsivo table tr {
    transition: all 0.3s ease !important;
}

body.modo-noche #resultado-busqueda-responsivo table tr:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;
}

/*----------------------------------------------------------------------------*/
/* ESTADOS DE FOCUS MEJORADOS PARA MÓVILES */
/*----------------------------------------------------------------------------*/
body.modo-noche #buscar-paginas-responsivo:focus {
    transform: scale(1.02) !important;
    transition: all 0.2s ease !important;
}