/* Modo Oscuro - Dark Mode */

/* Variables dark */
[data-theme="dark"] {
    --color-primary: #ff3355;
    --color-primary-dark: #ea0029;
    --color-primary-light: #ff6b85;
    --color-dark: #e0e0e0;
    --color-dark-light: #a0a0a0;
    --color-light: #1e1e1e;
    --color-white: #1a1a1a;
    --color-bg: #121212;
    --color-text: #e0e0e0;
    --color-text-muted: #a0a0a0;
    --shadow-sm: 0 2px 8px rgba(0,0,0,0.3);
    --shadow-md: 0 4px 20px rgba(0,0,0,0.4);
    --shadow-lg: 0 8px 40px rgba(0,0,0,0.5);
    --shadow-primary: 0 4px 20px rgba(255, 51, 85, 0.3);
}

/* Body y backgrounds */
[data-theme="dark"] body,
[data-theme="dark"] .bg-white,
[data-theme="dark"] main,
[data-theme="dark"] .section,
[data-theme="dark"] .py-5 {
    background-color: var(--color-bg) !important;
    color: var(--color-text);
}

/* Cards y componentes */
[data-theme="dark"] .navbar,
[data-theme="dark"] .topbar,
[data-theme="dark"] footer,
[data-theme="dark"] .card,
[data-theme="dark"] .admin-card,
[data-theme="dark"] .page-header,
[data-theme="dark"] .stat-card,
[data-theme="dark"] .product-card,
[data-theme="dark"] .category-card {
    background-color: var(--color-white) !important;
    color: var(--color-text);
    border-color: #333 !important;
}

[data-theme="dark"] .card-body {
    background-color: var(--color-white);
    color: var(--color-text);
}

/* Navbar */
[data-theme="dark"] .navbar {
    border-bottom: 1px solid #333;
    background-color: var(--color-white) !important;
}

[data-theme="dark"] .navbar-light .navbar-toggler-icon {
    filter: invert(1);
}

[data-theme="dark"] .topbar {
    background: linear-gradient(135deg, #1a1a1a 0%, #0a0a0a 100%) !important;
}

/* Textos */
[data-theme="dark"] .text-muted,
[data-theme="dark"] .text-white-50 {
    color: var(--color-text-muted) !important;
}

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

[data-theme="dark"] h1,
[data-theme="dark"] h2,
[data-theme="dark"] h3,
[data-theme="dark"] h4,
[data-theme="dark"] h5,
[data-theme="dark"] h6 {
    color: var(--color-text);
}

[data-theme="dark"] .product-category {
    color: var(--color-text-muted);
}

[data-theme="dark"] .product-title {
    color: var(--color-text);
}

[data-theme="dark"] .product-price {
    color: var(--color-primary);
}

[data-theme="dark"] .price-original {
    color: var(--color-text-muted);
}

/* Bordes y divisores */
[data-theme="dark"] .border,
[data-theme="dark"] .dropdown-divider {
    border-color: #333 !important;
}

[data-theme="dark"] .border-top {
    border-color: #444 !important;
}

/* Formularios */
[data-theme="dark"] .form-control {
    background-color: var(--color-light);
    border-color: #333;
    color: var(--color-text);
}

[data-theme="dark"] .form-control:focus {
    background-color: var(--color-white);
    border-color: var(--color-primary);
    box-shadow: 0 0 0 4px rgba(234, 0, 41, 0.1);
}

[data-theme="dark"] .form-control::placeholder {
    color: #888 !important;
}

[data-theme="dark"] .form-select {
    background-color: var(--color-light);
    border-color: #333;
    color: var(--color-text);
}

[data-theme="dark"] .input-group-text {
    background-color: #333;
    border-color: #333;
    color: var(--color-text);
}

/* Buscador */
[data-theme="dark"] .navbar-search .form-control {
    background-color: #2a2a2a !important;
    color: #fff !important;
    border-color: #444 !important;
}

[data-theme="dark"] .navbar-search .form-control::placeholder {
    color: #aaa !important;
}

[data-theme="dark"] .navbar-search .form-control:focus {
    background-color: #333 !important;
    border-color: var(--color-primary) !important;
    color: #fff !important;
    box-shadow: 0 0 0 4px rgba(234, 0, 41, 0.15) !important;
}

[data-theme="dark"] .navbar-search .btn {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    color: #fff;
}

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

/* Botones */
[data-theme="dark"] .btn-light {
    background-color: #333;
    border-color: #333;
    color: var(--color-text);
}

[data-theme="dark"] .btn-outline-dark {
    border-color: #666;
    color: #ccc;
}

[data-theme="dark"] .btn-outline-dark:hover {
    background-color: #fff;
    color: #000;
}

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

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

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

[data-theme="dark"] .btn-info {
    background-color: #0891b2;
    border-color: #0891b2;
    color: #fff;
}

[data-theme="dark"] .btn-info:hover {
    background-color: #0e7490;
    border-color: #0e7490;
    color: #fff;
}

[data-theme="dark"] .btn-success {
    background-color: #16a34a;
    border-color: #16a34a;
    color: #fff;
}

[data-theme="dark"] .btn-outline-success {
    border-color: #16a34a;
    color: #16a34a;
}

[data-theme="dark"] .btn-outline-success:hover {
    background-color: #16a34a;
    color: #fff;
}

[data-theme="dark"] .btn-outline-info {
    border-color: #0891b2;
    color: #0891b2;
}

[data-theme="dark"] .btn-outline-info:hover {
    background-color: #0891b2;
    color: #fff;
}

[data-theme="dark"] .btn-outline-primary:hover {
    background-color: var(--color-primary);
    color: #fff;
}

/* Dropdown */
[data-theme="dark"] .dropdown-menu {
    background-color: var(--color-white);
    border: 1px solid #333;
}

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

[data-theme="dark"] .dropdown-item:hover {
    background-color: var(--color-light);
    color: var(--color-primary);
}

/* Tablas */
[data-theme="dark"] .table {
    color: #fff;
    background-color: transparent;
}

[data-theme="dark"] .table thead th {
    background-color: #2a2a2a;
    color: #fff;
    border-bottom: 2px solid #444;
}

[data-theme="dark"] .table tbody td {
    border-color: #444;
    background-color: transparent;
    color: #fff;
}

[data-theme="dark"] .table tbody tr {
    background-color: #1e1e1e;
}

[data-theme="dark"] .table tbody tr:nth-child(even) {
    background-color: #252525;
}

[data-theme="dark"] .table tbody tr:hover td {
    background-color: #1e1e1e;
}

[data-theme="dark"] .table .text-muted {
    color: #aaa !important;
}

/* Categorías */
[data-theme="dark"] .bg-light {
    background-color: var(--color-light) !important;
}

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

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

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

[data-theme="dark"] .category-placeholder {
    background: linear-gradient(135deg, #1e1e1e 0%, #2a2a2a 100%);
}

/* Footer */
[data-theme="dark"] .site-footer {
    background: linear-gradient(180deg, #0a0a0a 0%, #000000 100%) !important;
    color: #fff !important;
}

[data-theme="dark"] footer h6 {
    color: #ffffff;
}

[data-theme="dark"] footer a {
    color: rgba(255,255,255,0.7) !important;
}

[data-theme="dark"] footer a:hover {
    color: var(--color-primary) !important;
}

/* Guarantee section */
[data-theme="dark"] .guarantee-section {
    background: linear-gradient(180deg, #0a0a0a 0%, #1a1a1a 100%) !important;
    color: #fff !important;
}

[data-theme="dark"] .guarantee-section .text-white-50 {
    color: rgba(255,255,255,0.7) !important;
}

[data-theme="dark"] .guarantee-section i {
    color: var(--color-primary) !important;
}

/* Carousel */
[data-theme="dark"] .carousel-caption {
    color: #fff;
}

/* Badges */
[data-theme="dark"] .badge {
    color: #fff;
}

/* Misc */
[data-theme="dark"] .text-muted {
    color: #aaa !important;
}

[data-theme="dark"] .text-success {
    color: #6fcf97 !important;
}

[data-theme="dark"] .text-danger {
    color: #ff6b6b !important;
}

/* Theme toggle button */
[data-theme="dark"] .theme-toggle {
    background: #333;
    color: #fff;
}

[data-theme="dark"] .theme-toggle:hover {
    background: var(--color-primary);
    color: #fff !important;
}

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

/* Admin dark */
[data-theme="dark"] .sidebar {
    background: linear-gradient(180deg, #0a0a0a 0%, #000000 100%);
}

[data-theme="dark"] .stat-card,
[data-theme="dark"] .admin-card,
[data-theme="dark"] .page-header {
    background-color: #1a1a1a !important;
    border: 1px solid #333;
}

[data-theme="dark"] .stat-card::before {
    background: var(--admin-primary);
}

[data-theme="dark"] .admin-card .card-header {
    background: #1a1a1a;
    border-color: #333;
}

[data-theme="dark"] body {
    background: #121212;
}

/* Detalle de producto */
[data-theme="dark"] .img-thumbnail {
    background-color: #2a2a2a;
    border-color: #444;
}

[data-theme="dark"] .badge.bg-light {
    background-color: #333 !important;
    color: #fff;
}

[data-theme="dark"] .breadcrumb-link {
    color: #aaa !important;
}

[data-theme="dark"] .breadcrumb-link:hover {
    color: var(--color-primary) !important;
}

[data-theme="dark"] .breadcrumb-item + .breadcrumb-item::before {
    color: #888 !important;
}

[data-theme="dark"] .breadcrumb-item.active {
    color: #666 !important;
}

/* Producto detalle icons */
[data-theme="dark"] .product-detail-icons i {
    color: var(--color-primary) !important;
}

[data-theme="dark"] .product-detail-icons span {
    color: var(--color-text) !important;
}

[data-theme="dark"] .btn-outline-secondary {
    background-color: #333;
    border-color: #444;
    color: #ccc;
}

[data-theme="dark"] .btn-outline-secondary:hover {
    background-color: #444;
    border-color: #555;
    color: #fff;
}

[data-theme="dark"] .btn-secondary {
    background-color: #444;
    border-color: #444;
}

[data-theme="dark"] .border.rounded.p-3 {
    background-color: #1a1a1a;
}

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

/* Tabs / Pestañas */
[data-theme="dark"] .nav-tabs {
    border-bottom: 1px solid #333;
}

[data-theme="dark"] .nav-tabs .nav-link {
    color: #aaa;
    border-color: transparent transparent #333;
}

[data-theme="dark"] .nav-tabs .nav-link:hover {
    color: var(--color-primary);
    border-color: transparent transparent #333;
}

[data-theme="dark"] .nav-tabs .nav-link.active {
    background-color: transparent;
    color: var(--color-primary);
    border-color: transparent transparent var(--color-primary);
}

[data-theme="dark"] .tab-content {
    color: var(--color-text);
}

/* Admin Forms */
[data-theme="dark"] .form-label {
    color: #fff;
}

[data-theme="dark"] .form-control,
[data-theme="dark"] input[type="text"],
[data-theme="dark"] input[type="number"],
[data-theme="dark"] input[type="email"],
[data-theme="dark"] input[type="password"],
[data-theme="dark"] input[type="url"],
[data-theme="dark"] input[type="search"],
[data-theme="dark"] textarea {
    background-color: #2a2a2a !important;
    border-color: #444 !important;
    color: #fff !important;
}

[data-theme="dark"] .form-control:focus,
[data-theme="dark"] input:focus,
[data-theme="dark"] textarea:focus {
    background-color: #333 !important;
    border-color: var(--color-primary) !important;
    color: #fff !important;
    box-shadow: 0 0 0 0.25rem rgba(234, 0, 41, 0.25) !important;
}

/* Placeholder */
[data-theme="dark"] ::placeholder {
    color: #888 !important;
    opacity: 1;
}

/* Checkboxes */
[data-theme="dark"] .form-check-input {
    background-color: #444 !important;
    border-color: #666 !important;
}

[data-theme="dark"] .form-check-input:checked {
    background-color: var(--color-primary) !important;
    border-color: var(--color-primary) !important;
}

[data-theme="dark"] .form-check-input:focus {
    box-shadow: 0 0 0 0.25rem rgba(234, 0, 41, 0.25) !important;
    border-color: var(--color-primary) !important;
}

[data-theme="dark"] .form-check-label {
    color: #fff;
}

/* Admin specific */
[data-theme="dark"] .admin-card .card-header {
    color: #fff;
}

[data-theme="dark"] .page-header h2 {
    color: #fff;
}

/* ==========================================
   PRODUCT DETAIL PAGE - DARK MODE
   ========================================== */

[data-theme="dark"] h1,
[data-theme="dark"] h2,
[data-theme="dark"] h3,
[data-theme="dark"] h4,
[data-theme="dark"] h5,
[data-theme="dark"] h6,
[data-theme="dark"] .fw-bold,
[data-theme="dark"] .text-dark {
    color: var(--color-text) !important;
}

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

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

[data-theme="dark"] .price-section,
[data-theme="dark"] .price-section span {
    color: var(--color-text) !important;
}

[data-theme="dark"] .product-badges,
[data-theme="dark"] .product-badges span,
[data-theme="dark"] .badge-custom {
    color: #fff !important;
}

[data-theme="dark"] .badge-custom.bg-light {
    background-color: #333 !important;
}

[data-theme="dark"] .stock-info,
[data-theme="dark"] .stock-info span {
    color: var(--color-text) !important;
}

[data-theme="dark"] .text-success {
    color: #6fcf97 !important;
}

[data-theme="dark"] .qty-control {
    border-color: #444 !important;
}

[data-theme="dark"] .qty-control input {
    background-color: #2a2a2a !important;
    color: #fff !important;
    border-color: #444 !important;
}

[data-theme="dark"] .qty-control button {
    background-color: #333 !important;
    color: #fff !important;
    border-color: #444 !important;
}

[data-theme="dark"] .btn-add-cart,
[data-theme="dark"] .btn-add-cart span {
    color: #fff !important;
}

[data-theme="dark"] .btn-buy-now {
    color: #fff !important;
    background: #333 !important;
    border: 2px solid #555 !important;
}

[data-theme="dark"] .btn-buy-now:hover {
    background: #444 !important;
    border-color: #666 !important;
}

[data-theme="dark"] .main-product-image,
[data-theme="dark"] .video-section {
    background: #1a1a1a !important;
}

[data-theme="dark"] .carousel-control-prev-icon,
[data-theme="dark"] .carousel-control-next-icon {
    filter: invert(1);
}

[data-theme="dark"] .carousel-inner {
    background: #1a1a1a;
}

[data-theme="dark"] .product-thumb {
    border-color: #333;
}

[data-theme="dark"] .trust-badges {
    background: #1a1a1a !important;
}

[data-theme="dark"] .trust-item,
[data-theme="dark"] .trust-item span {
    color: var(--color-text) !important;
}

[data-theme="dark"] .review-form-section {
    background: #1a1a1a !important;
}

[data-theme="dark"] .review-form-section .form-label,
[data-theme="dark"] .review-form-section label,
[data-theme="dark"] .review-form-section .fw-bold {
    color: #fff !important;
}

[data-theme="dark"] .review-form-section .form-control {
    background-color: #2a2a2a !important;
    border-color: #444 !important;
    color: #fff !important;
}

[data-theme="dark"] .review-form-section small,
[data-theme="dark"] .review-form-section .text-muted {
    color: var(--color-text-muted) !important;
}

[data-theme="dark"] .star-rating-input i {
    color: #444;
}

[data-theme="dark"] .star-rating-input i.active,
[data-theme="dark"] .star-rating-input i.hover {
    color: #ffc107;
}

[data-theme="dark"] .reviews-summary {
    background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%) !important;
}

[data-theme="dark"] .review-card {
    background: #1a1a1a !important;
    border-color: #333 !important;
}

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

[data-theme="dark"] .faq-accordion .accordion-button {
    background: #1a1a1a !important;
    color: var(--color-text) !important;
}

[data-theme="dark"] .faq-accordion .accordion-button:not(.collapsed) {
    background: #2a2a2a !important;
    color: var(--color-primary) !important;
}

[data-theme="dark"] .faq-accordion .accordion-body {
    color: var(--color-text) !important;
    background: #1a1a1a !important;
}

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

[data-theme="dark"] .bg-light {
    background-color: #1a1a1a !important;
}

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

/* ==========================================
   WHOLESALE PAGE - DARK MODE
   ========================================== */

[data-theme="dark"] .feature-box {
    background: #1e1e1e !important;
    color: #e0e0e0 !important;
    border: 1px solid #333 !important;
}

[data-theme="dark"] .feature-box .fw-bold {
    color: #e0e0e0 !important;
}

[data-theme="dark"] .feature-box .small {
    color: #aaa !important;
}

[data-theme="dark"] .product-card-w {
    background: #1e1e1e !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.4) !important;
    border-color: #333 !important;
}

[data-theme="dark"] .product-card-w .card-body {
    background: #1e1e1e !important;
    color: #e0e0e0 !important;
}

[data-theme="dark"] .product-card-w h5 {
    color: #e0e0e0 !important;
}

[data-theme="dark"] .product-card-w .text-muted {
    color: #aaa !important;
}

[data-theme="dark"] .product-card-w .text-dark {
    color: #e0e0e0 !important;
}

[data-theme="dark"] .form-section {
    background: #1e1e1e !important;
    color: #e0e0e0 !important;
}

[data-theme="dark"] .form-section h5 {
    color: #fff !important;
}

[data-theme="dark"] .form-section .form-label {
    color: #fff !important;
}

[data-theme="dark"] .min-qty-badge {
    background: #1b3a24 !important;
    color: #6fcf97 !important;
}

[data-theme="dark"] .img-placeholder {
    background: linear-gradient(135deg, #2a2a2a, #1e1e1e) !important;
}

/* ==========================================
   HOME REVIEWS CAROUSEL - DARK MODE
   ========================================== */

[data-theme="dark"] #reviewsCarousel .carousel-control-prev-icon,
[data-theme="dark"] #reviewsCarousel .carousel-control-next-icon {
    filter: none !important;
    opacity: 0.7;
}

[data-theme="dark"] #reviewsCarousel .carousel-indicators button {
    background: var(--color-primary) !important;
}

/* ==========================================
   CHECKOUT - PRIORITY NOTICE DARK MODE
   ========================================== */

.priority-notice {
    background: #fffbeb;
    border-left: 3px solid #f59e0b;
    color: #78350f;
}

.badge-priority {
    background: #fff3cd;
    color: #856404;
}

[data-theme="dark"] .priority-notice {
    background: #2d2000 !important;
    border-left: 3px solid #f59e0b !important;
    color: #fcd34d !important;
}

[data-theme="dark"] .priority-notice strong {
    color: #fde68a !important;
}

[data-theme="dark"] .badge-priority {
    background: #3d2f00 !important;
    color: #fcd34d !important;
}

/* ==========================================
   ALERT COLORS - DARK MODE
   ========================================== */

[data-theme="dark"] .alert-warning {
    background: #2d2000 !important;
    border-color: #f59e0b !important;
    color: #fcd34d !important;
}

[data-theme="dark"] .alert-info {
    background: #001f3d !important;
    border-color: #0ea5e9 !important;
    color: #7dd3fc !important;
}

/* ==========================================
   ADMIN REPORTS PAGE - DARK MODE
   ========================================== */

[data-theme="dark"] .report-card {
    background: #1e1e1e !important;
    border-color: #333 !important;
}

[data-theme="dark"] .report-card .card-header {
    background: #252525 !important;
    border-color: #333 !important;
    color: #fff !important;
}
