/* ============================
   MODO OSCURO
   ============================ */

[data-theme="dark"] {
    --gm-bg: #1c1c1e;
    --gm-bg-secondary: #2c2c2e;
    --gm-bg-card: #2c2c2e;
    --gm-bg-input: #3a3a3c;
    --gm-text: #e0e0e0;
    --gm-text-muted: #8e8e93;
    --gm-border: #3a3a3c;
    --gm-navbar-bg: #2c2c2e;
    --gm-search-bg: #1c1c1e;
    --gm-offcanvas-bg: #1c1c1e;
    --gm-mega-menu-bg: #2c2c2e;
    --gm-mega-menu-border: #3a3a3c;
    --gm-accordion-active-bg: #3a3a3c;
    --gm-accordion-active-text: #e0e0e0;
    --gm-badge-bg: #3a3a3c;
    --gm-footer-bg: #1c1c1e;
    --gm-whatsapp-bg: #25d366;
    --gm-btn-dark-bg: #6259A2;
    --gm-btn-dark-border: #6259A2;
    --gm-btn-outline-dark-color: #e0e0e0;
    --gm-btn-outline-dark-border: #48484a;
    --gm-card-hover-shadow: rgba(0,0,0,0.4);
    --gm-thumb-border: #3a3a3c;
    --gm-thumb-active-border: #6259A2;
    --gm-carousel-arrow-bg: rgba(44,44,46,0.9);
    --gm-carousel-arrow-color: #e0e0e0;
    --gm-primary: #6259A2;
    --gm-success: #198754;
    --gm-danger: #ff453a;
    --gm-warning: #ff9f0a;
}

/* Body */
[data-theme="dark"] body {
    background: var(--gm-bg) !important;
    color: var(--gm-text);
}

/* Hero sections */
[data-theme="dark"] .hero[style*="background"] {
    background: var(--gm-bg-secondary) !important;
}

/* Navbar */
[data-theme="dark"] .navbar.bg-white,
[data-theme="dark"] .bg-white {
    background-color: var(--gm-navbar-bg) !important;
}

[data-theme="dark"] .bg-light {
    background-color: var(--gm-bg-secondary) !important;
}

[data-theme="dark"] .navbar .navbar-brand,
[data-theme="dark"] .navbar .nav-link,
[data-theme="dark"] .navbar .nav-icon-circle,
[data-theme="dark"] .navbar .text-dark {
    color: var(--gm-text) !important;
}

[data-theme="dark"] .first-nav {
    color: var(--gm-text) !important;
}

/* Search bar */
[data-theme="dark"] .search-bar {
    background: var(--gm-search-bg) !important;
}

[data-theme="dark"] .search-bar.search-bar-open {
    border-bottom-color: var(--gm-border) !important;
}

[data-theme="dark"] .search-bar .form-control {
    background: var(--gm-bg-input);
    border-color: var(--gm-border);
    color: var(--gm-text);
}

[data-theme="dark"] .search-bar .form-control::placeholder {
    color: var(--gm-text-muted);
}

/* Cards */
[data-theme="dark"] .card {
    background-color: var(--gm-bg-card);
    border-color: var(--gm-border);
    color: var(--gm-text);
}

[data-theme="dark"] .card-hover:hover {
    box-shadow: 0 .25rem .5rem var(--gm-card-hover-shadow) !important;
}

[data-theme="dark"] .card-title,
[data-theme="dark"] .card-body .text-dark {
    color: var(--gm-text) !important;
}

[data-theme="dark"] .text-muted {
    color: var(--gm-text-muted) !important;
}

/* Buttons */
[data-theme="dark"] .btn-dark {
    background-color: var(--gm-btn-dark-bg);
    border-color: var(--gm-btn-dark-border);
    color: var(--gm-text);
}

[data-theme="dark"] .btn-dark:hover {
    background-color: var(--gm-btn-dark-border);
    border-color: var(--gm-btn-dark-border);
}

[data-theme="dark"] .btn-outline-dark {
    color: var(--gm-btn-outline-dark-color);
    border-color: var(--gm-btn-outline-dark-border);
}

[data-theme="dark"] .btn-outline-dark:hover {
    background-color: var(--gm-btn-dark-bg);
    border-color: var(--gm-btn-dark-border);
    color: var(--gm-text);
}

/* Forms */
[data-theme="dark"] .form-control {
    background-color: var(--gm-bg-input);
    border-color: var(--gm-border);
    color: var(--gm-text);
}

[data-theme="dark"] .form-control:focus {
    background-color: var(--gm-bg-input);
    border-color: var(--gm-thumb-active-border);
    color: var(--gm-text);
    box-shadow: 0 0 0 .25rem rgba(106,127,175,0.25);
}

[data-theme="dark"] .form-control::placeholder {
    color: var(--gm-text-muted);
}

/* Offcanvas */
[data-theme="dark"] .offcanvas {
    background-color: var(--gm-offcanvas-bg) !important;
    color: var(--gm-text);
}

[data-theme="dark"] .offcanvas .text-dark,
[data-theme="dark"] .offcanvas .list-group-item a {
    color: var(--gm-text) !important;
}

[data-theme="dark"] .offcanvas .list-group-item {
    background-color: transparent;
    border-color: var(--gm-border);
    color: var(--gm-text);
}

[data-theme="dark"] .offcanvas .btn-close,
[data-theme="dark"] .navbar .btn-close {
    filter: invert(1) grayscale(100%) brightness(200%);
}

/* Mega menu */
[data-theme="dark"] .mega-menu {
    background-color: var(--gm-mega-menu-bg) !important;
    border-color: var(--gm-mega-menu-border) !important;
}

[data-theme="dark"] .mega-menu a {
    color: var(--gm-text) !important;
}

[data-theme="dark"] .mega-menu .text-muted {
    color: var(--gm-text-muted) !important;
}

[data-theme="dark"] .mega-menu-header {
    border-bottom-color: var(--gm-border) !important;
}

/* Accordion (sidebar rubros) */
[data-theme="dark"] .accordion {
    --bs-accordion-bg: transparent;
    --bs-accordion-color: var(--gm-text);
    --bs-accordion-border-color: var(--gm-border);
}

[data-theme="dark"] .accordion-button {
    color: var(--gm-text);
    background-color: transparent;
}

[data-theme="dark"] .accordion-button:not(.collapsed) {
    color: var(--gm-accordion-active-text);
    background-color: var(--gm-accordion-active-bg);
}

[data-theme="dark"] .accordion-button::after {
    filter: invert(1);
}

[data-theme="dark"] .accordion-link {
    color: var(--gm-text) !important;
}

[data-theme="dark"] .accordion-link.active,
[data-theme="dark"] .accordion-link:hover {
    color: var(--gm-accordion-active-text) !important;
    background: var(--gm-accordion-active-bg);
}

/* Badges */
[data-theme="dark"] .text-primary {
    color: var(--gm-primary) !important;
}

[data-theme="dark"] .text-bg-secondary {
    background-color: var(--gm-badge-bg) !important;
}

[data-theme="dark"] .bg-primary {
    background-color: var(--gm-primary) !important;
}

/* Dropdown menus */
[data-theme="dark"] .dropdown-menu {
    background-color: var(--gm-bg-card);
    border-color: var(--gm-border);
}

[data-theme="dark"] .dropdown-item {
    color: var(--gm-text);
}

[data-theme="dark"] .dropdown-item:hover,
[data-theme="dark"] .dropdown-item:focus {
    background-color: var(--gm-bg-input);
    color: var(--gm-text);
}

[data-theme="dark"] .dropdown-divider {
    border-color: var(--gm-border);
}

/* Product detail */
[data-theme="dark"] .producto-descripcion {
    color: var(--gm-text);
}

[data-theme="dark"] .producto-descripcion a {
    color: var(--gm-primary);
}

/* Thumbs */
[data-theme="dark"] .producto-thumb {
    border-color: var(--gm-thumb-border);
}

[data-theme="dark"] .producto-thumb.active {
    border-color: var(--gm-thumb-active-border);
}

[data-theme="dark"] .producto-thumb:hover {
    border-color: var(--gm-thumb-active-border);
}

/* Carousel arrows - card */
[data-theme="dark"] .card-carousel-prev,
[data-theme="dark"] .card-carousel-next {
    background: var(--gm-carousel-arrow-bg);
    color: var(--gm-carousel-arrow-color);
}

/* Carousel arrows - product detail */
[data-theme="dark"] #productoGaleria .carousel-control-prev,
[data-theme="dark"] #productoGaleria .carousel-control-next {
    background: var(--gm-carousel-arrow-bg);
    color: var(--gm-carousel-arrow-color);
}

[data-theme="dark"] #productoGaleria .carousel-control-prev i,
[data-theme="dark"] #productoGaleria .carousel-control-next i {
    color: var(--gm-carousel-arrow-color);
}

/* Footer / dark sections */
[data-theme="dark"] .bg-dark {
    background-color: var(--gm-footer-bg) !important;
}

[data-theme="dark"] .btn-outline-light {
    border-color: var(--gm-border);
    color: var(--gm-text);
}

[data-theme="dark"] .btn-outline-light:hover {
    background-color: var(--gm-bg-input);
    border-color: var(--gm-border);
    color: var(--gm-text);
}

/* Borders */
[data-theme="dark"] .border,
[data-theme="dark"] .border-top,
[data-theme="dark"] .border-bottom {
    border-color: var(--gm-border) !important;
}

[data-theme="dark"] .rounded {
    border-color: var(--gm-border);
}

/* Links */
[data-theme="dark"] a.text-dark,
[data-theme="dark"] .text-dark {
    color: var(--gm-text) !important;
}

/* Modals */
[data-theme="dark"] .modal-content {
    background-color: var(--gm-bg-card);
    color: var(--gm-text);
}

[data-theme="dark"] .modal-header,
[data-theme="dark"] .modal-footer {
    border-color: var(--gm-border);
}

/* WhatsApp button */
[data-theme="dark"] .whatsapp {
    background: var(--gm-whatsapp-bg);
}

/* Mobile menu */
[data-theme="dark"] .mobile-menu-wrapper {
    background: var(--gm-offcanvas-bg);
}

[data-theme="dark"] .mobile-menu-panel {
    background: transparent;
}

/* Table */
[data-theme="dark"] .table {
    color: var(--gm-text);
}

[data-theme="dark"] .table > :not(caption) > * > * {
    color: var(--gm-text);
    border-color: var(--gm-border);
}

/* Text colors */
[data-theme="dark"] .text-success {
    color: var(--gm-success) !important;
}

[data-theme="dark"] .text-danger {
    color: var(--gm-danger) !important;
}

[data-theme="dark"] .text-secondary {
    color: var(--gm-text-muted) !important;
}

[data-theme="dark"] .text-warning {
    color: var(--gm-warning) !important;
}

[data-theme="dark"] .bg-warning {
    background-color: var(--gm-warning) !important;
}

[data-theme="dark"] .bg-danger {
    background-color: var(--gm-danger) !important;
}

[data-theme="dark"] .bg-success {
    background-color: var(--gm-success) !important;
}

/* Dark mode toggle button */
.dark-mode-toggle {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

[data-theme="dark"] .dark-mode-toggle .fa-sun {
    display: inline-block;
}

[data-theme="dark"] .dark-mode-toggle .fa-moon {
    display: none;
}

.dark-mode-toggle .fa-sun {
    display: none;
}

.dark-mode-toggle .fa-moon {
    display: inline-block;
}
