/* 🌙 Modo Oscuro Completo - Paleta Neutra y Sobria */
body.dark-mode {
    --color-primary: #ff6b6f;
    --color-secondary: #5ed4d4;
    --color-light: #1a1a1a;
    --color-dark: #e9ecef;
    --color-bg: #121212;
    background-color: #0f0f0f !important;
    color: #e0e0e0 !important;
    font-family: 'Poppins', sans-serif;
    margin: 0;
    padding: 0;
    padding-top: 100px;
}

html.dark-mode {
    background-color: #0f0f0f;
}

/* Header y Footer */
.dark-mode .header,
.dark-mode header.bg-dark,
.dark-mode footer {
    background-color: #1f1f1f !important;
    color: #ffffff;
    border-bottom: 1px solid #333;
}

/* Hero Section */
.dark-mode .hero {
    background: linear-gradient(135deg, rgba(0, 0, 0, 0.85), rgba(44, 44, 44, 0.85)), url('../images_sitio/hero/hero-background.jpg') center/cover no-repeat;
    color: #fff;
}

.dark-mode .hero-details {
    background: rgba(30, 30, 30, 0.8);
    border-radius: 10px;
}

/* Botones */
.dark-mode .btn-primary {
    background-color: #ff6b6f;
    border-color: #ff6b6f;
    color: #fff;
}

.dark-mode .btn-primary:hover {
    background-color: #ff5559;
    border-color: #ff5559;
}

/* Tarjetas */
.dark-mode .card,
.dark-mode .product-card,
.dark-mode .video-item,
.dark-mode .drawer,
.dark-mode .modal-content,
.dark-mode pre {
    background-color: #1f1f1f;
    color: #e0e0e0;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.6);
}

.dark-mode .card-compact {
    background-color: #1f1f1f;
    color: #e0e0e0;
    border-color: rgba(255, 255, 255, 0.08);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.6);
}

.dark-mode .card-compact__title,
.dark-mode .card-compact__title a {
    color: #f1f3f5;
}

.dark-mode .card-compact__description {
    color: #cfd6e0;
}

.dark-mode .card-compact__meta .badge {
    background: rgba(255, 255, 255, 0.08);
    color: #e6e9f0;
    border: 1px solid rgba(255, 255, 255, 0.12);
}

/* Galerías Especializadas */
body.dark-mode #galerias-especializadas .galeria-card-evento {
    background-color: #1f1f1f !important;
    color: #e4e4e4 !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
}

body.dark-mode #galerias-especializadas .galeria-card-evento:hover {
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.6) !important;
}

body.dark-mode #galerias-especializadas .galeria-card-evento .card-compact__title {
    color: #f1f3f5 !important;
}

body.dark-mode #galerias-especializadas .galeria-card-evento .card-compact__description,
body.dark-mode #galerias-especializadas .galeria-card-evento .card-compact__subtitle {
    color: #cfd6e0 !important;
}

body.dark-mode #galerias-especializadas .galeria-card-evento .card-compact__meta .badge {
    background-color: #334155 !important;
    color: #e2e8f0 !important;
    border-color: rgba(255, 255, 255, 0.14) !important;
}

body.dark-mode #galerias-especializadas .galeria-card-evento .card-compact__price-badge {
    color: #bfdbfe;
    background: rgba(30, 58, 138, 0.28);
    border-color: rgba(147, 197, 253, 0.35);
}

body.dark-mode #galerias-especializadas .galeria-card-evento .btn-outline-primary {
    color: #6ea8fe !important;
    border-color: #6ea8fe !important;
}

body.dark-mode #galerias-especializadas .galeria-card-evento .btn-outline-primary:hover {
    background-color: #ff6b6f !important;
    border-color: #ff6b6f !important;
    color: #fff !important;
}

.content-text {
    white-space: pre-wrap;
    word-wrap: break-word;
    overflow-wrap: break-word;
    font-family: 'Poppins', sans-serif;
    line-height: 1.6;
    color: #343a40;
    margin: 0;
    padding: 8px 0;
}

.content-description {
    white-space: pre-wrap;
    word-wrap: break-word;
    overflow-wrap: break-word;
    font-family: 'Poppins', sans-serif;
    line-height: 1.5;
    color: #f7f4f4;
    font-size: 14px;
}

.content-detail {
    background-color: #1f1f1f;
    color: #e0e0e0;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.6);
    white-space: pre-wrap;
    word-wrap: break-word;
    overflow-wrap: break-word;
    font-family: 'Poppins', sans-serif;
    line-height: 1.6;
    font-size: 13px;
    padding: 10px;
    border-radius: 5px;
    border-left: 3px solid #007bff;
}


/* Card Hover */
.dark-mode .card:hover,
.dark-mode .video-item:hover {
    transform: scale(1.03);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.8);
}

/* Imagenes - sin filtro destructivo */
.dark-mode .card-img-top,
.dark-mode .product-image img,
.dark-mode .video-item img {
    border-radius: 8px;
}

/* Drawer */
.dark-mode .drawer {
    box-shadow: -2px 0 20px rgba(0, 0, 0, 0.5);
}

.dark-mode .close-btn {
    color: #ffffff;
}

.dark-mode .close-btn:hover {
    color: #ff6b6f;
}

/* Banner promocional Portal Emprendedor */
.dark-mode .portal-banner-wrap {
}

.dark-mode .portal-banner {
    color: #f1f3f5;
    background: linear-gradient(135deg, #333, #333);
    border: 1px solid #333;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.35);
}

.dark-mode .portal-banner__cta {
    color: #c7d2ff;
}

/* Footer UX */
.dark-mode .site-footer {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.dark-mode .site-footer .footer-copy {
    color: #e6e9f0;
}

.dark-mode .site-footer .footer-cta {
    color: #cfd6e0;
}

.dark-mode .site-footer .footer-cta a {
    color: #b9c7ff;
}

.dark-mode .site-footer .footer-cta a:hover {
    color: #d5ddff;
}

.dark-mode .site-footer .footer-icon {
    color: #b9c7ff;
}

/* Títulos */
.dark-mode h2,
.dark-mode h3,
.dark-mode .video-title {
    color: #ffffff;
}

/* Título de Próximos Eventos - Dark Mode */
.dark-mode #eventos h2,
.dark-mode #heading-eventos {
    color: #ffffff !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

/* Etiquetas */
.dark-mode .offer-badge,
.dark-mode .soldout-badge {
    color: #fff;
    background-color: #b00020;
}

/* Sold Out Overlay */
.dark-mode .soldout-overlay {
    background: rgba(0, 0, 0, 0.65);
    color: white;
}

/* Secciones */
.dark-mode .section-light:not(.section-tone),
.dark-mode .section-dark:not(.section-tone) {
    background: #1f1f1f !important;
    color: #e4e4e4 !important;
}

body.dark-mode .section-dark:not(.section-tone) {
    background: #1f1f1f;
    color: #dcdcdc;
    padding: 60px 20px;
}

body.dark-mode .section-dark:not(.section-tone) h2 {
    color: #5ed4d4;
    border-bottom-color: #42a5f5;
}

body.dark-mode .section-tone {
    background: var(--section-bg);
}

body.dark-mode .section-tone::before {
    opacity: 0.2;
}

body.dark-mode .section-tone--1 {
    --section-bg: #0f0f0f;
    --section-watermark: rgba(0, 0, 0, 0.3);
}

body.dark-mode .section-tone--2 {
    --section-bg: #1a1a1a;
    --section-watermark: rgba(0, 0, 0, 0.3);
}

body.dark-mode .section-tone--3 {
    --section-bg: #0f0f0f;
    --section-watermark: rgba(0, 0, 0, 0.3);
}

body.dark-mode .section-tone--4 {
    --section-bg: #1a1a1a;
    --section-watermark: rgba(0, 0, 0, 0.3);
}

body.dark-mode .section-tone--5 {
    --section-bg: #0f0f0f;
    --section-watermark: rgba(0, 0, 0, 0.3);
}

body.dark-mode .section-tone--6 {
    --section-bg: #1a1a1a;
    --section-watermark: rgba(0, 0, 0, 0.3);
}

body.dark-mode .section-tone--7 {
    --section-bg: #0f0f0f;
    --section-watermark: rgba(0, 0, 0, 0.3);
}

body.dark-mode #equipo .equipo-showcase__eyebrow {
    color: #8fb8ff;
}

body.dark-mode #equipo .equipo-showcase__title,
body.dark-mode #equipo .equipo-card__name {
    color: #f5f7fb;
}

body.dark-mode #equipo .equipo-showcase__text,
body.dark-mode #equipo .equipo-card__bio {
    color: #c7d2df;
}

body.dark-mode #equipo .equipo-card {
    background: linear-gradient(180deg, rgba(34, 39, 47, 0.98), rgba(25, 29, 36, 0.98));
    border-color: rgba(255, 255, 255, 0.08);
    box-shadow: 0 14px 32px rgba(0, 0, 0, 0.38);
}

body.dark-mode #equipo .equipo-card__media {
    background: linear-gradient(135deg, #223046, #352a23);
}

body.dark-mode #equipo .equipo-card__placeholder {
    color: rgba(241, 245, 255, 0.82);
}

body.dark-mode #equipo .equipo-card__tag {
    color: #ffd36c;
    background: rgba(255, 193, 7, 0.16);
}

body.dark-mode #equipo .equipo-card__role {
    color: #8fb8ff;
}

body.dark-mode #equipo .equipo-card__link {
    color: #eef4ff;
    background: rgba(77, 159, 255, 0.14);
}

body.dark-mode #equipo .equipo-card__link:hover {
    background: rgba(77, 159, 255, 0.24);
}

body.dark-mode #equipo .equipo-pagination__btn {
    border-color: rgba(77, 159, 255, 0.3);
    background: rgba(77, 159, 255, 0.08);
    color: #eef4ff;
}

body.dark-mode #equipo .equipo-pagination__btn:hover {
    background: rgba(77, 159, 255, 0.16);
    border-color: rgba(77, 159, 255, 0.5);
}

body.dark-mode #equipo .equipo-pagination__btn--active {
    background: #4d9fff;
    border-color: #4d9fff;
    color: #000;
}

/* Reseña: mantener mismo tono en dark mode */
body.dark-mode #resena.section-tone.section-tone--1 {
    --section-bg: #0f0f0f;
    --section-watermark: rgba(0, 0, 0, 0.3);
    background: var(--section-bg) !important;
}

/* Evita parches negros dentro del contenido enriquecido de reseña */
body.dark-mode #resena .content-description,
body.dark-mode #resena .content-description p,
body.dark-mode #resena .content-description div,
body.dark-mode #resena .content-description span {
    background-color: transparent !important;
    color: #dbe6ff !important;
}

/* Secciones de Galería */
body.dark-mode #portafolio h2,
body.dark-mode #galerias-especializadas h2 {
    color: #ffffff;
}

body.dark-mode #portafolio,
body.dark-mode #galerias-especializadas {
    color: #e0e0e0;
}

body.dark-mode #galerias-especializadas .btn-primary {
    background-color: #ff6b6f;
    border-color: #ff6b6f;
    color: #fff;
}

body.dark-mode #galerias-especializadas .btn-primary:hover {
    background-color: #ff5559;
    border-color: #ff5559;
}

/* Separador */
.dark-mode .section-divider {
    background: linear-gradient(to right, transparent, #ff6b6f, transparent) !important;
}

/* ================================================
   CONTACT CARD & MAP - DARK MODE
   ================================================ */

.dark-mode .contact-card {
    background: #1f1f1f;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.6);
}

.dark-mode .contact-item {
    border-bottom: 1px solid #2d2d2d;
}

.dark-mode .contact-label {
    color: #9ca3af;
}

.dark-mode .contact-value {
    color: #e0e0e0;
}

.dark-mode .contact-value a {
    color: #4d9fff;
}

.dark-mode .contact-value a:hover {
    color: #6eb0ff;
}

.dark-mode .map-container {
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.8);
}

.dark-mode .open-maps-btn {
    background: #2d2d2d;
    color: #e0e0e0;
}

.dark-mode .open-maps-btn:hover {
    background: #3a3a3a;
    color: #ffffff;
}

/* Casa Matriz - modo oscuro (destacada) */
.dark-mode .casa-matriz-card {
    background: linear-gradient(#1f1f1f, #1f1f1f) padding-box,
                linear-gradient(135deg, #667eea 0%, #764ba2 100%) border-box;
    box-shadow: 0 8px 24px #333;
}

.dark-mode .casa-matriz-card:hover {
    box-shadow: 0 12px 32px #333;
}

.dark-mode .casa-matriz-badge {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: #fff;
}

.dark-mode .casa-matriz-card__title {
    color: #e0e0e0;
}

/* Sucursales - modo oscuro */
.dark-mode .sucursales-section {
    border-top-color: rgba(255, 255, 255, 0.08);
}

.dark-mode .sucursales-section .h4,
.dark-mode .sucursales-section .text-muted {
    color: #e0e0e0;
}

.dark-mode .sucursales-section .text-muted {
    color: #9ca3af;
}

.dark-mode .sucursal-card {
    background: #1f1f1f;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.6);
}

.dark-mode .sucursal-card:hover {
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.8);
}

.dark-mode .sucursal-card__title {
    color: #e0e0e0;
}

.dark-mode .sucursal-card .contact-item.sucursal-card__item {
    border-bottom-color: #2d2d2d;
}

.dark-mode .sucursal-card .contact-label {
    color: #9ca3af;
}

.dark-mode .sucursal-card .contact-value,
.dark-mode .sucursal-card .contact-value a {
    color: #e0e0e0;
}

.dark-mode .sucursal-card__link,
.dark-mode .sucursal-card .contact-value a {
    color: #4d9fff;
}

.dark-mode .sucursal-card__link:hover,
.dark-mode .sucursal-card .contact-value a:hover {
    color: #6eb0ff;
}

.dark-mode .sucursal-card__actions .btn-outline-primary {
    border-color: #4d9fff;
    color: #4d9fff;
}

.dark-mode .sucursal-card__actions .btn-outline-primary:hover {
    background: rgba(255, 107, 111, 0.3);
    color: #6eb0ff;
}

/* ================================================
   GALERÍA DE VIDEO - DARK MODE
   ================================================ */

.dark-mode .video-gallery {
    background-color: transparent;
}

/* Reproductor principal */
.dark-mode .main-video .player-wrapper {
    background: #0a0a0a;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.8);
}

.dark-mode .main-video .player-wrapper > div,
.dark-mode .main-video .player-wrapper iframe,
.dark-mode #playerGallery {
    border-radius: 12px;
}

/* Items de video */
.dark-mode .video-item {
    background-color: #1f1f1f;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.6);
}

.dark-mode .video-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.8);
}

/* Estado activo en dark mode */
.dark-mode .video-item.active {
    border: 2px solid #4d9fff;
    box-shadow: 0 4px 12px rgba(255, 107, 111, 0.3);
}

.dark-mode .video-item.active .video-title {
    color: #4d9fff;
    font-weight: 600;
}

/* Miniaturas */
.dark-mode .video-item img {
    background: #2a2a2a;
    border: 1px solid #333;
}

/* Títulos */
.dark-mode .video-title {
    color: #dddddd;
}

/* Scrollbar para lista de videos en dark mode */
.dark-mode .video-list::-webkit-scrollbar-track {
    background: #2a2a2a;
}

.dark-mode .video-list::-webkit-scrollbar-thumb {
    background: #555;
}

.dark-mode .video-list::-webkit-scrollbar-thumb:hover {
    background: #777;
}

/* Carrusel */
.dark-mode .carousel-control-prev,
.dark-mode .carousel-control-next {
    filter: invert(1);
}

/* Zoom Hover */
.dark-mode .zoom-hover img {
    transition: transform 0.4s ease;
}

.dark-mode .zoom-hover:hover img {
    transform: scale(1.1);
}

.text-muted {
    --bs-text-opacity: 1;
    color: #dddddd !important;
    font-size: smaller !important;
}

.fade-in-section {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
    will-change: opacity, transform;
}

.fade-in-section.visible {
    opacity: 1;
    transform: none;
}

/* Ajustes de contraste adicionales para vistaEmpresa / detalleProducto */
.dark-mode, .dark-mode .container { color: #e4e4e4; }

.dark-mode .content-text { color: #e4e4e4 !important; }
.dark-mode .section-dark:not(.section-tone) { color: #dcdcdc !important; }

.dark-mode a, .dark-mode a:link, .dark-mode a:visited { color: #67aef8; }
.dark-mode a:hover { color: #9fd0ff; text-decoration: underline; }

.dark-mode .btn-outline-primary { color: #f0f0f0; border-color: #444; }
.dark-mode .btn-outline-primary:hover { background-color: rgba(255, 107, 111, 0.08); }

.dark-mode .product-title, .dark-mode .product-category a { color: #ffffff; }
.dark-mode .product-price .current-price { color: #ffd966; font-weight: 700; }

.dark-mode .product-description p,
.dark-mode .tab-content-wrapper p,
.dark-mode .product-details-tabs .tab-pane { color: #e0e0e0; }

.dark-mode header { background: #1f1f1f !important; color: #e4e4e4 !important; }
.dark-mode .breadcrumb,
.dark-mode .breadcrumb.breadcrumb-dark {
    background: transparent !important;
    color: #e4e4e4 !important;
}
.dark-mode .breadcrumb a { color: #bcd7ff !important; }

.dark-mode .badge-descuento { background: #ff6b6b; color: #fff; }
.dark-mode .badge-agotado { background: #b00020; color: #fff; }

/* Small tweaks for readability */
.dark-mode .related-product-info h5 { color: #f1f1f1; }
.dark-mode .drawer, .dark-mode .drawer-content { background: #141414; color: #e6e6e6; }

/* ============================================ */
/* COMPREHENSIVE DARK-MODE STYLES FOR noticiaDrawer */
/* ============================================ */

/* ====================
   DRAWERS GENERALES - DARK MODE
==================== */

/* Overlay general para todos los drawers */
body.dark-mode .drawer-overlay,
body.dark-mode #drawerOverlay,
body.dark-mode #galeriaDrawerOverlay {
    background: rgba(0, 0, 0, 0.75) !important;
}

/* Estilos base para drawers si no tienen ID específico */
body.dark-mode .drawer {
    background: #1f1f1f !important;
}

body.dark-mode .drawer .close-btn {
    color: #e0e0e0 !important;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
}

body.dark-mode .drawer .close-btn:hover {
    color: #5ed4d4 !important;
}

body.dark-mode .drawer-content {
    background: #1f1f1f !important;
    color: #e0e0e0 !important;
}

/* ====================
   NOTICIA DRAWER - DARK MODE (hereda los generales)
==================== */

body.dark-mode #noticiaDrawer {
    background: #1f1f1f !important;
}

body.dark-mode #noticiaDrawer .text-primary {
    color: #67aef8 !important;
}

body.dark-mode #noticiaDrawer .text-muted {
    color: #b0b0b0 !important;
}

body.dark-mode #noticiaDrawer .text-secondary {
    color: #9e9e9e !important;
}

body.dark-mode #noticiaDrawer .noticia-contenido {
    background: #1f1f1f !important;
    color: #e0e0e0 !important;
}

body.dark-mode #noticiaDrawer p,
body.dark-mode #noticiaDrawer span,
body.dark-mode #noticiaDrawer div:not([class*='bg-']) {
    color: #e0e0e0 !important;
}

body.dark-mode #noticiaDrawer .display-6,
body.dark-mode #noticiaDrawer h2,
body.dark-mode #noticiaDrawer h3,
body.dark-mode #noticiaDrawer h4,
body.dark-mode #noticiaDrawer h5,
body.dark-mode #noticiaDrawer h6 {
    color: #ffffff !important;
}

body.dark-mode #noticiaDrawer img {
    border: 1px solid #444 !important;
    background-color: #2a2a2a !important;
}

body.dark-mode #noticiaDrawer iframe {
    border: 1px solid #444 !important;
    background-color: #2a2a2a !important;
}

body.dark-mode #noticiaDrawer a {
    color: #67aef8 !important;
    text-decoration: none;
}

body.dark-mode #noticiaDrawer a:hover {
    color: #9fd0ff !important;
    text-decoration: underline;
}

body.dark-mode #noticiaDrawer pre {
    background-color: #0d0d0d !important;
    color: #e0e0e0 !important;
    border: 1px solid #3a3a3a !important;
    padding: 15px !important;
    border-radius: 5px !important;
}

body.dark-mode #noticiaDrawer code {
    background-color: #0d0d0d !important;
    color: #e0e0e0 !important;
    padding: 2px 6px !important;
    border-radius: 3px !important;
}

body.dark-mode #noticiaDrawer blockquote {
    background-color: #2a2a2a !important;
    border-left: 4px solid #0056B3 !important;
    color: #e0e0e0 !important;
    padding: 15px !important;
    margin: 15px 0 !important;
}

body.dark-mode #noticiaDrawer hr {
    border-color: #3a3a3a !important;
    opacity: 1;
}

body.dark-mode #noticiaDrawer .lead {
    color: #e0e0e0 !important;
}

body.dark-mode #noticiaDrawer .articulo-drawer__header {
    text-align: center;
    padding-top: 1rem;
}

body.dark-mode #noticiaDrawer .articulo-drawer__meta {
    justify-content: center;
}

body.dark-mode #noticiaDrawer .articulo-drawer__image {
    padding: 1.25rem 2rem 0.5rem;
    text-align: center;
}

body.dark-mode #noticiaDrawer .articulo-drawer__image-img {
    display: block;
    max-width: 100%;
    max-height: min(55vh, 480px);
    margin: 0 auto;
    object-fit: contain;
}

body.dark-mode #noticiaDrawer .articulo-drawer__gallery {
    max-width: 760px;
    margin: 1.5rem auto 0;
    justify-content: center;
}

body.dark-mode #noticiaDrawer .emp-drawer-cta {
    margin-top: 1.5rem;
    text-align: center;
}

/* Tabs minimalistas en modo oscuro */
body.dark-mode .productos-tabs {
    background: transparent;
    border: none;
}

body.dark-mode .productos-tabs::-webkit-scrollbar-track {
    background: #2a2a2a;
}

body.dark-mode .productos-tabs::-webkit-scrollbar-thumb {
    background: #4a4a4a;
}

body.dark-mode .productos-tabs::-webkit-scrollbar-thumb:hover {
    background: #5a5a5a;
}

body.dark-mode .productos-tabs .nav-link {
    color: #adb5bd;
}

body.dark-mode .productos-tabs .nav-link:hover {
    color: #5ed4d4;
}

body.dark-mode .productos-tabs .nav-link.active {
    color: #5ed4d4;
}

body.dark-mode .productos-tabs .nav-link::after {
    background: #5ed4d4;
}

/* ============================================ */
/* PÁGINA PRODUCTOS (productos.php)            */
/* ============================================ */

body.dark-mode .contenedor {
    background-color: transparent;
    color: #e4e4e4;
}

body.dark-mode .section-light:not(.section-tone),
body.dark-mode #resena.section-light:not(.section-tone) {
    background: #1f1f1f !important;
    color: #e4e4e4;
}

/* Productos: mantener misma base tonal que home/galeria */
body.dark-mode .productos-page #resena.section-tone.section-tone--1 {
    --section-bg: #0f0f0f;
    --section-watermark: rgba(0, 0, 0, 0.3);
    background: var(--section-bg) !important;
}

body.dark-mode .section-resena-title {
    color: #ffffff !important;
}

body.dark-mode .filters-panel {
    background: linear-gradient(135deg, #1f1f1f 0%, #2a2a2a 100%) !important;
    border: 1px solid #333;
    box-shadow: 0 8px 24px rgba(7, 12, 24, 0.55);
}

body.dark-mode .filters-panel h3,
body.dark-mode .filters-panel .h5 {
    color: #eaf2ff !important;
}

body.dark-mode .filtro label {
    color: #c9d8f2 !important;
}

body.dark-mode .filters-panel .text-muted {
    color: #9fb3d6 !important;
}

body.dark-mode .filters-panel .form-control,
body.dark-mode .filters-panel .form-select {
    background-color: #1f1f1f !important;
    color: #eaf2ff !important;
    border-color: #444 !important;
}

body.dark-mode .filters-panel .form-control::placeholder {
    color: #8fa3c6 !important;
}

body.dark-mode .filters-panel .form-control:focus,
body.dark-mode .filters-panel .form-select:focus {
    background-color: #121d33 !important;
    border-color: #5ed4d4 !important;
    box-shadow: 0 0 0 0.2rem #444;
}

body.dark-mode .filters-advanced__content {
    background: rgba(17, 30, 52, 0.55) !important;
    border: 1px solid #333;
}

body.dark-mode .filtro .form-control,
body.dark-mode .filtro .form-select {
    background-color: #1f1f1f !important;
    color: #eaf2ff !important;
    border-color: #444 !important;
}

body.dark-mode .filtro .form-control:focus,
body.dark-mode .filtro .form-select:focus {
    background-color: #121d33 !important;
    border-color: #5ed4d4 !important;
    box-shadow: 0 0 0 0.2rem #444;
}

body.dark-mode .productos {
    color: #e4e4e4;
}

/* Cards unificadas en modo oscuro (vistaEmpresa, productos, detalleProducto) */
body.dark-mode .card-unified {
    background: linear-gradient(135deg, #1f1f1f 0%, #1a1a1a 100%) !important;
    border: 1px solid #333 !important;
    box-shadow: 0 6px 18px rgba(6, 10, 20, 0.5);
}

body.dark-mode .card-unified:hover {
    box-shadow: 0 10px 28px rgba(6, 10, 20, 0.62);
}

body.dark-mode .card-unified__body,
body.dark-mode .card-unified__title,
body.dark-mode .card-unified__description {
    color: #e4e4e4 !important;
}

body.dark-mode .card-unified__image-wrapper {
    background-color: #2a2a2a !important;
}

body.dark-mode .card-unified a.text-dark,
body.dark-mode .card-unified .card-title-link {
    color: #9fd0ff !important;
}

body.dark-mode .card-unified a.text-dark:hover,
body.dark-mode .card-unified .card-title-link:hover {
    color: #b8dcff !important;
}

body.dark-mode .card-unified .text-primary,
body.dark-mode .card-unified__price {
    color: #ffd966 !important;
}

body.dark-mode .card-unified .text-muted {
    color: #a9b9d3 !important;
}

/* Mini-preview carrito y diálogo éxito */
body.dark-mode .mini-carrito-preview {
    background-color: #1f1f1f !important;
    color: #e4e4e4 !important;
    border: 1px solid #444;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5);
}

body.dark-mode .mini-carrito-preview div[style*="color: #667eea"] {
    color: #7ba3ff !important;
}

body.dark-mode #msjeDialogo {
    background-color: #1f1f1f !important;
    color: #e4e4e4 !important;
    border: 1px solid #444;
}

body.dark-mode #msjeDialogo p {
    color: #e4e4e4 !important;
}

body.dark-mode #msjeDialogo button {
    color: #fff !important;
}

/* Paginación productos */
body.dark-mode .pagination .page-link {
    background-color: #2a2a2a !important;
    color: #e4e4e4 !important;
    border-color: #444 !important;
}

body.dark-mode .pagination .page-item.active .page-link {
    background-color: #ff6b6f !important;
    border-color: #ff6b6f !important;
    color: #fff !important;
}

body.dark-mode .pagination .page-link:hover {
    background-color: #333 !important;
    color: #9fd0ff !important;
}

/* Detalle producto: compartir y sección relacionados */
body.dark-mode .share-label {
    color: #e4e4e4 !important;
}

/*body.dark-mode .related-products {
    border: 1px solid #444;
}*/

body.dark-mode .related-products .section-title {
    color: #ffffff !important;
}

body.dark-mode .stock-info.out-of-stock {
    color: #ff6b6b !important;
}

/* ====================
   PRODUCTO DRAWER - DARK MODE
==================== */

/* Drawer base con fondo azulado oscuro */
body.dark-mode #productoDrawer.drawer {
    background: #1f1f1f !important;
}

body.dark-mode #productoDrawer .drawer-content {
    background: #1f1f1f !important;
    color: #e0e0e0 !important;
}

body.dark-mode #productoDrawer .drawer-overlay {
    background: rgba(0, 0, 0, 0.75) !important;
}

/* Close button */
body.dark-mode #productoDrawer .close-btn {
    color: #e0e0e0 !important;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
}

body.dark-mode #productoDrawer .close-btn:hover {
    color: #5ed4d4 !important;
}

/* Emp drawer shell y body */
body.dark-mode #productoDrawer .emp-drawer-shell {
    background: transparent;
}

body.dark-mode #productoDrawer .emp-drawer-body {
    color: #e0e0e0;
}

body.dark-mode #productoDrawer .emp-drawer-body .content-text {
    color: #e0e0e0 !important;
}

body.dark-mode #productoDrawer .emp-drawer-body .content-text p {
    color: #e0e0e0 !important;
}

/* Hero section del producto */
body.dark-mode #productoDrawer .emp-drawer-hero {
    background: linear-gradient(120deg, rgba(11, 18, 32, 0.85), rgba(17, 24, 39, 0.6)), var(--emp-hero-img, linear-gradient(135deg, #ff6b6f, #6f42c1));
}

body.dark-mode #productoDrawer .emp-drawer-hero__overlay {
    background: linear-gradient(135deg, rgba(11, 18, 32, 0.9) 0%, rgba(17, 24, 39, 0.7) 40%, rgba(22, 34, 54, 0.5) 100%);
}

body.dark-mode #productoDrawer .emp-drawer-hero__eyebrow {
    color: rgba(255, 255, 255, 0.85);
}

body.dark-mode #productoDrawer .emp-drawer-hero__title {
    color: #ffffff !important;
}

body.dark-mode #productoDrawer .emp-drawer-hero__subtitle {
    color: rgba(255, 255, 255, 0.92);
}

/* Carrusel de producto */
body.dark-mode #productoDrawer .prod-drawer-carousel {
    background: #1f1f1f !important;
}

body.dark-mode #productoDrawer .prod-drawer-carousel-inner {
    background: #1f1f1f !important;
}

body.dark-mode #productoDrawer .prod-drawer-carousel-img {
    background: #1f1f1f !important;
}

body.dark-mode #productoDrawer #prodDrawerHero.emp-drawer-hero {
    background: linear-gradient(120deg, rgba(11, 18, 32, 0.9), rgba(15, 23, 42, 0.7)), var(--prod-hero-img, #1f1f1f);
}

body.dark-mode #productoDrawer #prodDrawerHero.emp-drawer-hero::before {
    background-color: #1f1f1f;
}

/* Info overlay en carrusel */
body.dark-mode #productoDrawer .prod-drawer-info-overlay {
    background: linear-gradient(to top, rgba(11, 18, 32, 0.95) 0%, rgba(15, 23, 42, 0.8) 60%, transparent 100%);
}

body.dark-mode #productoDrawer .prod-drawer-eyebrow {
    color: rgba(255, 255, 255, 0.8);
}

body.dark-mode #productoDrawer .prod-drawer-title {
    color: #ffffff !important;
}

body.dark-mode #productoDrawer .prod-drawer-subtitle {
    color: rgba(255, 255, 255, 0.9);
}

/* Miniaturas del producto */
body.dark-mode #productoDrawer .prod-drawer-thumbnails {
    background: rgba(15, 23, 42, 0.95) !important;
    border-top: 1px solid #333 !important;
}

body.dark-mode #productoDrawer .prod-drawer-thumbnail {
    background: #2a2a2a !important;
    border-color: #444 !important;
    opacity: 0.7;
}

body.dark-mode #productoDrawer .prod-drawer-thumbnail:hover {
    opacity: 1;
    border-color: #ff6b6f !important;
    box-shadow: 0 4px 8px rgba(255, 107, 111, 0.25) !important;
}

body.dark-mode #productoDrawer .prod-drawer-thumbnail.active {
    opacity: 1;
    border-color: #5ed4d4 !important;
    box-shadow: 0 4px 12px rgba(255, 107, 111, 0.3) !important;
}

/* Controles del carrusel */
body.dark-mode #productoDrawer .carousel-control-prev,
body.dark-mode #productoDrawer .carousel-control-next {
    background: rgba(15, 23, 42, 0.85) !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
}

body.dark-mode #productoDrawer .carousel-control-prev:hover,
body.dark-mode #productoDrawer .carousel-control-next:hover {
    background: rgba(22, 34, 54, 0.95) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5);
}

body.dark-mode #productoDrawer .carousel-control-prev-icon,
body.dark-mode #productoDrawer .carousel-control-next-icon {
    filter: invert(0.9) brightness(1.2);
}

/* CTA buttons */
body.dark-mode #productoDrawer .emp-drawer-cta .btn-primary {
    background-color: #ff6b6f !important;
    border-color: #ff6b6f !important;
    color: #ffffff !important;
}

body.dark-mode #productoDrawer .emp-drawer-cta .btn-primary:hover {
    background-color: #ff5559 !important;
    border-color: #ff5559 !important;
}

body.dark-mode #productoDrawer .emp-drawer-cta .btn-outline-light {
    background-color: transparent !important;
    border-color: rgba(255, 255, 255, 0.3) !important;
    color: rgba(255, 255, 255, 0.9) !important;
}

body.dark-mode #productoDrawer .emp-drawer-cta .btn-outline-light:hover {
    background-color: rgba(255, 255, 255, 0.08) !important;
    border-color: rgba(255, 255, 255, 0.5) !important;
    color: #ffffff !important;
}

body.dark-mode #productoDrawer .emp-drawer-cta .btn-outline-primary {
    background-color: transparent !important;
    border-color: rgba(0, 0, 0, 0.5) !important;
    color: #5ed4d4 !important;
}

body.dark-mode #productoDrawer .emp-drawer-cta .btn-outline-primary:hover {
    background-color: rgba(100, 181, 246, 0.08) !important;
    border-color: rgba(100, 181, 246, 0.5) !important;
    color: #5ed4d4 !important;
}

body.dark-mode #productoDrawer .emp-drawer-cta .btn-success {
    background-color: #1e7e34 !important;
    border-color: #1e7e34 !important;
    color: #ffffff !important;
}

body.dark-mode #productoDrawer .emp-drawer-cta .btn-success:hover {
    background-color: #165c2f !important;
    border-color: #165c2f !important;
}

/* Toggle modo oscuro en navbar */
.navbar-nav .nav-item.d-flex {
    padding: 0;
    margin: 0;
}

#darkModeToggleEmpresa {
    cursor: pointer;
    width: 3rem;
    height: 1.5rem;
    background-color: #4a4a4a;
    border-color: #6a6a6a;
    margin: 0;
}

#darkModeToggleEmpresa:focus {
    box-shadow: 0 0 0 0.2rem rgba(94, 212, 212, 0.25);
}

#darkModeToggleEmpresa:checked {
    background-color: #4bc0c0;
    border-color: #4bc0c0;
}

body.dark-mode #darkModeToggleEmpresa:checked {
    background-color: #5ed4d4;
    border-color: #5ed4d4;
}

.navbar-nav .nav-item .form-check-label {
    display: flex;
    align-items: center;
    margin: 0;
    line-height: 1;
    font-size: 1.25rem;
}

.navbar-nav .nav-item .form-check-label i {
    transition: transform 0.3s ease;
}

.navbar-nav .nav-item .form-check-label:hover i {
    transform: scale(1.1);
}

@media (max-width: 991.98px) {
    .navbar-nav .nav-item.d-flex {
        width: 100%;
        justify-content: flex-start;
        padding: 0.5rem 0;
    }
}

/* ===== Estilos para Eventos (Cards y Modal) ===== */

/* Cards de eventos */
body.dark-mode .evento-card {
    background-color: #1f1f1f !important;
    color: #e4e4e4 !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
}

body.dark-mode .evento-card:hover {
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.6) !important;
}

body.dark-mode .evento-card .card-compact__title {
    color: #f1f3f5 !important;
}

body.dark-mode .evento-card .card-compact__subtitle {
    color: #b0b0b0 !important;
}

body.dark-mode .evento-card .card-compact__description {
    color: #cfd6e0 !important;
}

body.dark-mode .evento-card .btn-outline-primary {
    color: #6ea8fe !important;
    border-color: #6ea8fe !important;
}

body.dark-mode .evento-card .btn-outline-primary:hover {
    background-color: #ff6b6f !important;
    color: #fff !important;
}

/* Modal de evento */
body.dark-mode .modal-content {
    background-color: #1f1f1f !important;
    color: #e4e4e4 !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
}

body.dark-mode .modal-header {
    border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
    color: #ffffff !important;
}

body.dark-mode .modal-header .btn-close,
body.dark-mode .modal-header .btn-close-white {
    filter: invert(1) grayscale(100%) brightness(200%);
}

body.dark-mode .modal-footer {
    border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
}

body.dark-mode .modal-body {
    color: #e4e4e4 !important;
}

body.dark-mode .modal-title {
    color: #ffffff !important;
}

/* Elementos específicos del modal de eventos */
body.dark-mode .evento-modal-section-title {
    color: #f1f3f5 !important;
}

body.dark-mode .evento-modal-text {
    color: #cfd6e0 !important;
}

body.dark-mode .evento-modal-description {
    color: #cfd6e0 !important;
}

body.dark-mode .evento-modal-description p {
    color: #cfd6e0 !important;
}

body.dark-mode .evento-modal-description ul,
body.dark-mode .evento-modal-description ol {
    color: #cfd6e0 !important;
}

body.dark-mode .evento-modal-description li {
    color: #cfd6e0 !important;
}

/* Descripción con scroll en dark mode */
body.dark-mode .evento-modal-description-scrollable {
    scrollbar-color: rgba(255, 255, 255, 0.3) rgba(255, 255, 255, 0.1);
}

body.dark-mode .evento-modal-description-scrollable::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.05);
}

body.dark-mode .evento-modal-description-scrollable::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.3);
}

body.dark-mode .evento-modal-description-scrollable::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 255, 255, 0.5);
}

body.dark-mode .evento-modal-price {
    color: #ffd966 !important;
}

body.dark-mode .evento-modal-link {
    color: #6ea8fe !important;
    border-color: #6ea8fe !important;
}

body.dark-mode .evento-modal-link:hover {
    background-color: #ff6b6f !important;
    color: #fff !important;
    border-color: #ff6b6f !important;
}

/* Formularios en modal de registro */
body.dark-mode .modal-body .form-label {
    color: #e4e4e4 !important;
}

body.dark-mode .modal-body .form-control {
    background-color: #2a2a2a !important;
    color: #e4e4e4 !important;
    border-color: #444 !important;
}

body.dark-mode .modal-body .form-control:focus {
    background-color: #2a2a2a !important;
    color: #e4e4e4 !important;
    border-color: #6ea8fe !important;
    box-shadow: 0 0 0 0.2rem rgba(110, 168, 254, 0.25) !important;
}

body.dark-mode .modal-body .alert {
    background-color: #2a2a2a !important;
    color: #e4e4e4 !important;
    border-color: #444 !important;
}

body.dark-mode .modal-body .alert-info {
    background-color: #1a3650 !important;
    color: #a8daff !important;
    border-color: #2a5880 !important;
}

body.dark-mode .modal-body .alert-success {
    background-color: #1a3f2a !important;
    color: #a8ffb8 !important;
    border-color: #2a6040 !important;
}

body.dark-mode .modal-body .alert-danger {
    background-color: #3f1a1a !important;
    color: #ffa8a8 !important;
    border-color: #602a2a !important;
}

/* Paginación de eventos */
body.dark-mode .eventos-pagination .page-link {
    background-color: #2a2a2a !important;
    color: #e4e4e4 !important;
    border-color: #444 !important;
}

body.dark-mode .eventos-pagination .page-item.active .page-link {
    background-color: #ff6b6f !important;
    border-color: #ff6b6f !important;
    color: #fff !important;
}

body.dark-mode .eventos-pagination .page-link:hover {
    background-color: #333 !important;
    color: #9fd0ff !important;
}

body.dark-mode .eventos-pagination .page-item.disabled .page-link {
    background-color: #1f1f1f !important;
    color: #6c757d !important;
}

/* FullCalendar en modo oscuro */
body.dark-mode .fc {
    background-color: #1f1f1f !important;
    color: #e4e4e4 !important;
}

body.dark-mode .fc-theme-standard td,
body.dark-mode .fc-theme-standard th {
    border-color: rgba(255, 255, 255, 0.12) !important;
}

body.dark-mode .fc-theme-standard .fc-scrollgrid {
    border-color: rgba(255, 255, 255, 0.12) !important;
}

body.dark-mode .fc .fc-button {
    background-color: #2a2a2a !important;
    border-color: #444 !important;
    color: #e4e4e4 !important;
}

body.dark-mode .fc .fc-button:hover {
    background-color: #333 !important;
}

body.dark-mode .fc .fc-button-primary:not(:disabled).fc-button-active {
    background-color: #ff6b6f !important;
    border-color: #ff6b6f !important;
}

body.dark-mode .fc-toolbar-title {
    color: #ffffff !important;
}

body.dark-mode .fc-col-header-cell-cushion {
    color: #e4e4e4 !important;
}

body.dark-mode .fc-daygrid-day-number {
    color: #e4e4e4 !important;
}

body.dark-mode .fc-day-today {
    background-color: rgba(13, 110, 253, 0.15) !important;
}

body.dark-mode .fc-event {
    border: none !important;
}

body.dark-mode .fc-event-title {
    color: #fff !important;
}

/* Loading de eventos */
body.dark-mode .eventos-loading {
    color: #b0b0b0 !important;
}

/* Tabs de eventos (Lista / Calendario) */
body.dark-mode .nav-tabs {
    border-bottom-color: rgba(255, 255, 255, 0.12) !important;
}

body.dark-mode .nav-tabs .nav-link {
    color: #b0b0b0 !important;
    border-color: transparent !important;
}

body.dark-mode .nav-tabs .nav-link:hover {
    color: #e4e4e4 !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
}

body.dark-mode .nav-tabs .nav-link.active {
    color: #ffffff !important;
    background-color: #1f1f1f !important;
    border-color: rgba(255, 255, 255, 0.12) rgba(255, 255, 255, 0.12) #1f1f1f !important;
}

body.dark-mode .tab-content {
    color: #e4e4e4 !important;
}