/* ========================================================================
   MODO OSCURO - OVERRIDES GLOBALES
   Fuerza a todos los elementos "hardcoded" a obedecer el modo oscuro
   ======================================================================== */

/* --- GENERAL & HEADER --- */
body.saico-dark-mode {
    background-color: var(--saico-bg-primario) !important;
    color: var(--saico-texto-primario) !important;
}

body.saico-dark-mode .saico-header,
body.saico-dark-mode .saico-header-container {
    background: var(--saico-bg-primario) !important;
    border-bottom-color: var(--saico-borde-claro) !important;
}

body.saico-dark-mode .saico-search-input {
    background: var(--saico-bg-secundario) !important;
    color: var(--saico-texto-primario) !important;
    border-color: var(--saico-borde-claro) !important;
}

body.saico-dark-mode .saico-search-resultados,
body.saico-dark-mode .saico-usuario-dropdown {
    background: var(--saico-bg-secundario) !important;
    border-color: var(--saico-borde-claro) !important;
    box-shadow: var(--saico-shadow-lg) !important;
}

body.saico-dark-mode .saico-usuario-dropdown-header,
body.saico-dark-mode .saico-usuario-dropdown-item:hover {
    background: var(--saico-bg-terciario) !important;
}

/* --- PRODUCTOS Y TABS --- */
body.saico-dark-mode .saico-producto-tabs-wrapper,
body.saico-dark-mode .saico-main-content,
body.saico-dark-mode .producto-layout-grid {
    background: var(--saico-bg-primario) !important;
}

body.saico-dark-mode .saico-trust-panel {
    background: var(--saico-bg-secundario) !important;
    border-color: var(--saico-borde-claro) !important;
}

body.saico-dark-mode .saico-trust-panel svg {
    color: var(--saico-primario) !important;
}

body.saico-dark-mode .saico-trust-panel span {
    color: var(--saico-texto-secundario) !important;
}

body.saico-dark-mode #reviews .commentlist li {
    background: var(--saico-bg-secundario) !important;
    border-color: var(--saico-borde-claro) !important;
}

body.saico-dark-mode #reviews input[type="text"],
body.saico-dark-mode #reviews input[type="email"],
body.saico-dark-mode #reviews textarea {
    background: var(--saico-bg-terciario) !important;
    border-color: var(--saico-borde-claro) !important;
    color: var(--saico-texto-primario) !important;
}

body.saico-dark-mode #reviews .meta strong,
body.saico-dark-mode #reviews .description {
    color: var(--saico-texto-primario) !important;
}

body.saico-dark-mode #reviews .comment-reply-title,
body.saico-dark-mode #reviews #review_form_wrapper .comment-form-rating label {
    color: var(--saico-texto-primario) !important;
}

/* --- Fix para botones de navegación y paginación */
body.saico-dark-mode .saico-nav-links a,
body.saico-dark-mode .saico-nav-links span,
body.saico-dark-mode .saico-pagination a,
body.saico-dark-mode .saico-pagination span,
body.saico-dark-mode .woocommerce-pagination a,
body.saico-dark-mode .woocommerce-pagination span,
body.saico-dark-mode .page-numbers {
    background: var(--saico-bg-secundario) !important;
    border-color: var(--saico-borde-claro) !important;
    color: var(--saico-texto-primario) !important;
}

body.saico-dark-mode .saico-nav-links a:hover,
body.saico-dark-mode .saico-pagination a:hover,
body.saico-dark-mode .woocommerce-pagination a:hover,
body.saico-dark-mode a.page-numbers:hover {
    background: var(--saico-bg-terciario) !important;
}

/* --- FIX ICONOS HEADER (Sol/Luna, Carrito, Usuario) --- */
body.saico-dark-mode .saico-icono-btn {
    background: var(--saico-bg-terciario) !important;
    border-color: var(--saico-borde-claro) !important;
    color: var(--saico-texto-primario) !important;
}

body.saico-dark-mode .saico-icono-btn:hover {
    background: var(--saico-bg-secundario) !important;
}

/* --- TARJETAS (CARDS) DE TIENDA Y BLOG --- */
body.saico-dark-mode .saico-card,
body.saico-dark-mode .saico-post-card,
body.saico-dark-mode .product,
body.saico-dark-mode .producto-card,
body.design-minimalist.saico-dark-mode .producto-card {
    background: var(--saico-bg-secundario) !important;
    border-color: var(--saico-borde-claro) !important;
}

body.saico-dark-mode .saico-card-content,
body.saico-dark-mode .saico-post-content,
body.saico-dark-mode .producto-contenido {
    background: transparent !important;
}

body.saico-dark-mode .saico-card-title a,
body.saico-dark-mode .saico-post-title a,
body.saico-dark-mode .producto-titulo,
body.saico-dark-mode .producto-titulo a {
    color: var(--saico-texto-primario) !important;
}

/* Fix para tooltip en cards minimalistas */
body.saico-dark-mode .tooltip {
    background: var(--saico-bg-terciario) !important;
    color: var(--saico-texto-primario) !important;
    border-color: var(--saico-borde-claro) !important;
}

body.saico-dark-mode .tooltip-titulo,
body.saico-dark-mode .tooltip-value {
    color: var(--saico-texto-primario) !important;
}

body.saico-dark-mode .tooltip-descripcion,
body.saico-dark-mode .tooltip-label {
    color: var(--saico-texto-secundario) !important;
}

body.saico-dark-mode .saico-card-content,
body.saico-dark-mode .saico-post-content {
    background: var(--saico-bg-secundario) !important;
}

body.saico-dark-mode .saico-card-title a,
body.saico-dark-mode .saico-post-title a {
    color: var(--saico-texto-primario) !important;
}

/* --- FIX MODALES (LOGIN/REGISTRO) --- */
body.saico-dark-mode .saico-modal-contenido {
    background: var(--saico-bg-secundario) !important;
    border: 1px solid var(--saico-borde-claro) !important;
}

body.saico-dark-mode .saico-modal-contenido h2,
body.saico-dark-mode .saico-modal-contenido h3,
body.saico-dark-mode .saico-modal-contenido label {
    color: var(--saico-texto-primario) !important;
}

body.saico-dark-mode .saico-modal-contenido p,
body.saico-dark-mode .saico-modal-contenido a {
    color: var(--saico-texto-secundario);
}

body.saico-dark-mode .saico-modal-contenido input[type="text"],
body.saico-dark-mode .saico-modal-contenido input[type="email"],
body.saico-dark-mode .saico-modal-contenido input[type="password"] {
    background: var(--saico-bg-terciario) !important;
    color: var(--saico-texto-primario) !important;
    border-color: var(--saico-borde-claro) !important;
}

body.saico-dark-mode .saico-modal-cerrar {
    color: var(--saico-texto-secundario) !important;
}
body.saico-dark-mode .saico-modal-cerrar:hover {
    color: var(--saico-texto-primario) !important;
}

/* --- FIX TARJETA DE AUTOR --- */
body.saico-dark-mode .saico-sidebar-author-card {
    background: var(--saico-bg-secundario) !important;
    border-color: var(--saico-borde-claro) !important;
}
body.saico-dark-mode .saico-sidebar-author-card .author-name {
    color: var(--saico-texto-primario) !important;
}
body.saico-dark-mode .saico-sidebar-author-card .author-label {
    color: var(--saico-texto-secundario) !important;
}
body.saico-dark-mode .saico-sidebar-author-card .btn-view-profile {
    border-color: var(--saico-borde-claro) !important;
    color: var(--saico-texto-primario) !important;
}
body.saico-dark-mode .saico-sidebar-author-card .btn-view-profile:hover {
    background: var(--saico-bg-terciario) !important;
}

/* --- FIX AUTOR EN DETALLES DE PRODUCTO (INLINE STYLES) --- */
body.saico-dark-mode .detail-author-clean {
    border-color: var(--saico-borde-claro) !important;
}
body.saico-dark-mode .detail-author-clean .author-label-small {
    color: var(--saico-texto-secundario) !important;
}
body.saico-dark-mode .detail-author-clean .author-name-link {
    color: var(--saico-texto-primario) !important;
}

/* --- FIX PAGINA DESCARGA INTERNA --- */
body.saico-dark-mode .saico-premium-download-page {
    background-color: var(--saico-bg-primario) !important;
}
body.saico-dark-mode .saico-premium-download-page .saico-box,
body.saico-dark-mode .saico-app-header,
body.saico-dark-mode .saico-security-badges {
    background: var(--saico-bg-secundario) !important;
    border-color: var(--saico-borde-claro) !important;
}
body.saico-dark-mode .saico-ad-box,
body.saico-dark-mode .saico-download-dashboard,
body.saico-dark-mode .saico-ad-sidebar-slot {
    background-color: var(--saico-bg-terciario) !important;
    border-color: var(--saico-borde-claro) !important;
}
body.saico-dark-mode .saico-app-title,
body.saico-dark-mode .saico-premium-download-page h2,
body.saico-dark-mode .countdown-number,
body.saico-dark-mode .widget-title {
    color: var(--saico-texto-primario) !important;
}
body.saico-dark-mode .saico-app-meta .meta-item,
body.saico-dark-mode .dashboard-header p,
body.saico-dark-mode .ready-text,
body.saico-dark-mode .saico-download-breadcrumbs,
body.saico-dark-mode .saico-download-breadcrumbs a {
    color: var(--saico-texto-secundario) !important;
}
body.saico-dark-mode .badge-item {
    background: var(--saico-bg-terciario) !important;
    color: var(--saico-texto-primario) !important;
}
body.saico-dark-mode .saico-download-status-banner {
    background: var(--saico-bg-terciario) !important;
    border-color: var(--saico-primario) !important;
}
body.saico-dark-mode .saico-download-status-banner h2 {
    color: var(--saico-texto-primario) !important;
}
body.saico-dark-mode .saico-download-status-banner p {
    color: var(--saico-texto-secundario) !important;
}

/* --- FIX BLOG ARCHIVE --- */
body.saico-dark-mode .saico-blog-filter-bar {
    background-color: var(--saico-bg-secundario) !important;
    border-color: var(--saico-borde-claro) !important;
}
body.saico-dark-mode .saico-filter-search {
    background-color: var(--saico-bg-terciario) !important;
    border-color: var(--saico-borde-claro) !important;
}
body.saico-dark-mode .saico-filter-search:focus-within {
    background-color: var(--saico-bg-primario) !important;
    border-color: var(--saico-primario) !important;
}
body.saico-dark-mode .saico-chip {
    color: var(--saico-texto-primario) !important;
}
body.saico-dark-mode .saico-chip:hover {
    background-color: var(--saico-bg-terciario) !important;
}
body.saico-dark-mode .saico-chip.active {
    background-color: var(--saico-primario) !important;
    color: #ffffff !important;
}
body.saico-dark-mode .saico-widget-item {
    background-color: var(--saico-bg-terciario) !important;
    border-color: var(--saico-borde-claro) !important;
}
body.saico-dark-mode .saico-widget-item:hover {
    background-color: var(--saico-bg-secundario) !important;
    border-color: var(--saico-primario) !important;
}
body.saico-dark-mode .saico-widget-title a {
    color: var(--saico-texto-primario) !important;
}
body.saico-dark-mode .saico-widget-title a:hover {
    color: var(--saico-primario) !important;
}
body.saico-dark-mode .saico-widget-meta,
body.saico-dark-mode .saico-widget-price {
    color: var(--saico-texto-secundario) !important;
}

/* --- WIDGETS --- */
body.saico-dark-mode .widget,
body.saico-dark-mode .saico-widget,
body.saico-dark-mode .sidebar-box,
body.saico-dark-mode .saico-sidebar {
    background: var(--saico-bg-secundario) !important;
    border-color: var(--saico-borde-claro) !important;
}

body.saico-dark-mode .widget-title {
    color: var(--saico-texto-primario) !important;
    border-bottom-color: var(--saico-borde-claro) !important;
}

body.saico-dark-mode .widget ul li {
    border-color: var(--saico-borde-claro) !important;
}

body.saico-dark-mode .widget ul li a {
    color: var(--saico-texto-secundario) !important;
}

body.saico-dark-mode .widget ul li a:hover {
    color: var(--saico-primario) !important;
}

/* --- PÁGINA DE DESCARGAS --- */
body.saico-dark-mode .page-template-page-descarga {
    background: var(--saico-bg-primario) !important;
}

body.saico-dark-mode .saico-descarga-box,
body.saico-dark-mode .saico-descarga-container {
    background: var(--saico-bg-secundario) !important;
    border-color: var(--saico-borde-claro) !important;
}

body.saico-dark-mode .saico-paso-texto {
    color: var(--saico-texto-primario) !important;
}

body.saico-dark-mode .saico-descarga-info {
    color: var(--saico-texto-secundario) !important;
}

/* --- CTAS Y OTROS BLOQUES HARDCODED --- */
body.saico-dark-mode .saico-cta-premium-wrapper,
body.saico-dark-mode .saico-cta-box {
    background: var(--saico-bg-secundario) !important;
    border-color: var(--saico-borde-claro) !important;
}

body.saico-dark-mode .saico-cta-premium-wrapper h3,
body.saico-dark-mode .saico-cta-premium-wrapper p {
    color: var(--saico-texto-primario) !important;
}

/* Limpieza de cualquier .bg-white genérico que exista */
body.saico-dark-mode .bg-white,
body.saico-dark-mode [style*="background: white"],
body.saico-dark-mode [style*="background: #ffffff"],
body.saico-dark-mode [style*="background-color: white"],
body.saico-dark-mode [style*="background-color: #ffffff"] {
    background-color: var(--saico-bg-secundario) !important;
}

/* --- FIXES ADICIONALES REPORTADOS --- */
body.saico-dark-mode .saico-product-details-clean,
body.saico-dark-mode .corner-popup-card,
body.saico-dark-mode .login-invite-card,
body.saico-dark-mode .saico-horizontal-download-card {
    background: var(--saico-bg-secundario) !important;
    border-color: var(--saico-borde-claro) !important;
}

body.saico-dark-mode .saico-product-details-clean .details-title,
body.saico-dark-mode .saico-product-details-clean .detail-label,
body.saico-dark-mode .saico-product-details-clean .detail-value,
body.saico-dark-mode .saico-product-details-clean span,
body.saico-dark-mode .corner-popup-card h4,
body.saico-dark-mode .corner-popup-card p,
body.saico-dark-mode .login-invite-card h3,
body.saico-dark-mode .invite-description {
    color: var(--saico-texto-primario) !important;
}

body.saico-dark-mode .saico-product-details-clean svg {
    stroke: var(--saico-texto-secundario) !important;
}

body.saico-dark-mode .corner-btn-secondary,
body.saico-dark-mode .invite-btn-secondary {
    background: var(--saico-bg-terciario) !important;
    color: var(--saico-texto-primario) !important;
}

body.saico-dark-mode .corner-close:hover,
body.saico-dark-mode .invite-close:hover {
    background: var(--saico-bg-terciario) !important;
}

/* --- FIX FOOTER WIDGETS --- */
body.saico-dark-mode .saico-footer-premium .widget,
body.saico-dark-mode .saico-footer-premium .saico-widget,
body.saico-dark-mode .saico-footer-premium .saico-footer-widget-area,
body.saico-dark-mode .saico-footer-premium div[class*="widget"] {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

/* --- FIX MENU MOVIL (SOFTONIC STYLE) --- */
body.saico-dark-mode .saico-menu-lateral {
    background: var(--saico-bg-primario) !important;
}

body.saico-dark-mode .saico-menu-lista a {
    background: var(--saico-bg-primario) !important;
    color: var(--saico-texto-primario) !important;
}

body.saico-dark-mode .saico-menu-lista a:hover {
    background: var(--saico-bg-secundario) !important;
    color: var(--saico-primario) !important;
}

body.saico-dark-mode .saico-menu-lista > li {
    border-bottom-color: var(--saico-borde-claro) !important;
}

/* --- FIX MODALS GLOBALES --- */
body.saico-dark-mode .saico-modal-contenido {
    background: var(--saico-bg-secundario) !important;
    color: var(--saico-texto-primario) !important;
    border: 1px solid var(--saico-borde-claro) !important;
}

body.saico-dark-mode .saico-modal-cerrar {
    color: var(--saico-texto-primario) !important;
    background: var(--saico-bg-terciario) !important;
}

body.saico-dark-mode .saico-modal-cerrar:hover {
    background: var(--saico-bg-primario) !important;
}

/* Fix para las pestañas (tabs) dentro de los modales de login */
body.saico-dark-mode .saico-login-tabs button {
    color: var(--saico-texto-secundario) !important;
}
body.saico-dark-mode .saico-login-tabs button.activo {
    color: var(--saico-primario) !important;
}

/* --- FIX FRONTPAGE --- */
body.saico-dark-mode .cat-card {
    background-color: var(--saico-bg-secundario) !important;
    border: 1px solid var(--saico-borde-claro) !important;
}
body.saico-dark-mode .cat-title {
    color: var(--saico-texto-primario) !important;
}
body.saico-dark-mode .cat-count {
    color: var(--saico-texto-secundario) !important;
    background-color: var(--saico-bg-terciario) !important;
}
body.saico-dark-mode .cat-card:hover {
    background-color: var(--saico-bg-terciario) !important;
}

body.saico-dark-mode .productos-header .filtro {
    background-color: var(--saico-bg-secundario) !important;
    color: var(--saico-texto-primario) !important;
    border-color: var(--saico-borde-claro) !important;
}
body.saico-dark-mode .productos-header .filtro:hover {
    background-color: var(--saico-bg-terciario) !important;
}
body.saico-dark-mode .productos-header .filtro.activo {
    background-color: var(--saico-primario) !important;
    color: #ffffff !important;
    border-color: var(--saico-primario) !important;
}

body.saico-dark-mode #cargarMas {
    background-color: var(--saico-bg-secundario) !important;
    color: var(--saico-texto-primario) !important;
    border: 1px solid var(--saico-borde-claro) !important;
}
body.saico-dark-mode #cargarMas:hover {
    background-color: var(--saico-bg-terciario) !important;
    color: var(--saico-primario) !important;
}

body.saico-dark-mode .blog-card {
    background-color: var(--saico-bg-secundario) !important;
    border: 1px solid var(--saico-borde-claro) !important;
}
body.saico-dark-mode .blog-card-meta {
    color: var(--saico-texto-secundario) !important;
}
body.saico-dark-mode .blog-card-title {
    color: var(--saico-texto-primario) !important;
}
body.saico-dark-mode .blog-card-excerpt {
    color: var(--saico-texto-secundario) !important;
}
body.saico-dark-mode .blog-card-readmore {
    color: var(--saico-primario) !important;
}
