html[data-bs-theme="dark"] body {
    background-color: #212529 !important;
    background: #212529 !important;
    color: #f8f9fa !important;
}

/* Sobrescribir fondos blancos en tarjetas y modales */
html[data-bs-theme="dark"] .product-card,
html[data-bs-theme="dark"] .promo-card,
html[data-bs-theme="dark"] .promotion-card,
html[data-bs-theme="dark"] .nav-tabs-custom,
html[data-bs-theme="dark"] .content-card,
html[data-bs-theme="dark"] .bg-light,
html[data-bs-theme="dark"] .chat-messages,
html[data-bs-theme="dark"] .chat-input-container,
html[data-bs-theme="dark"] .cart-header,
html[data-bs-theme="dark"] .cart-item,
html[data-bs-theme="dark"] .summary-card,
html[data-bs-theme="dark"] .checkout-card,
html[data-bs-theme="dark"] .profile-card,
html[data-bs-theme="dark"] .stat-card,
html[data-bs-theme="dark"] .empty-cart,
html[data-bs-theme="dark"] .order-item,
html[data-bs-theme="dark"] .success-header,
html[data-bs-theme="dark"] .account-card,
html[data-bs-theme="dark"] .credential-item {
    background-color: #2b3035 !important;
    background: #2b3035 !important;
    border-color: #495057 !important;
    color: #f8f9fa !important;
}

html[data-bs-theme="dark"] .card-body,
html[data-bs-theme="dark"] .card-footer,
html[data-bs-theme="dark"] .product-media-container,
html[data-bs-theme="dark"] .promotion-media-container {
    background: transparent !important;
}

html[data-bs-theme="dark"] .product-card .card-title,
html[data-bs-theme="dark"] .promotion-card .card-title,
html[data-bs-theme="dark"] .section-title,
html[data-bs-theme="dark"] .product-name,
html[data-bs-theme="dark"] .summary-total,
html[data-bs-theme="dark"] .order-total,
html[data-bs-theme="dark"] h1,
html[data-bs-theme="dark"] h2,
html[data-bs-theme="dark"] h3,
html[data-bs-theme="dark"] h4,
html[data-bs-theme="dark"] h5,
html[data-bs-theme="dark"] h6 {
    color: #f8f9fa !important;
    text-shadow: none !important;
}

html[data-bs-theme="dark"] .text-muted,
html[data-bs-theme="dark"] .card-text,
html[data-bs-theme="dark"] .product-category,
html[data-bs-theme="dark"] .product-description,
html[data-bs-theme="dark"] .credential-label {
    color: #adb5bd !important;
    text-shadow: none !important;
}

html[data-bs-theme="dark"] .credential-value {
    background-color: #212529 !important;
    color: #f8f9fa !important;
    border-color: #495057 !important;
}

html[data-bs-theme="dark"] .order-summary {
    background: #343a40 !important;
    color: #f8f9fa !important;
}


html[data-bs-theme="dark"] .list-group-item {
    background-color: #2b3035 !important;
    border-color: #495057 !important;
    color: #f8f9fa !important;
}

html[data-bs-theme="dark"] .auth-card {
    background: rgba(33, 37, 41, 0.95) !important;
    border-color: #495057 !important;
}

/* Campos de formulario y inputs en modo oscuro */
html[data-bs-theme="dark"] .form-control {
    background-color: #0a2463 !important;
    border-color: #495057 !important;
    color: #ffffff !important; /* Texto blanco forzado */
}

html[data-bs-theme="dark"] .form-control:focus {
    background-color: #0a2463 !important;
    color: #ffffff !important;
    border-color: #0d6efd !important;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25) !important;
}

html[data-bs-theme="dark"] .form-floating > label {
    color: rgba(255,255,255,0.7) !important;
    font-size: 1rem !important;
    opacity: 0.8 !important;
}

/* Forzar blanco en TODO lo que sea texto dentro de la tarjeta de login en modo oscuro */
html[data-bs-theme="dark"] .login-card label,
html[data-bs-theme="dark"] .login-card span,
html[data-bs-theme="dark"] .login-card p {
    color: #ffffff !important;
}

html[data-bs-theme="dark"] .form-control::placeholder {
    color: #adb5bd !important; /* Placeholder en gris claro */
}

/* Corregir color de etiquetas en focus/llenos para que no sean azules */
html[data-bs-theme="dark"] .form-floating > .form-control:focus ~ label,
html[data-bs-theme="dark"] .form-floating > .form-control:not(:placeholder-shown) ~ label {
    color: #ffffff !important;
    font-weight: 700 !important;
    transform: scale(0.85) translateY(-1rem) translateX(0.15rem) !important;
}