/**
 * ==============================================================================
 * Land of Beauty - Luxury Dark Mode Engine
 * Palette Noir Absolu & Framboise Impériale (var(--primary) / var(--primary) / var(--surface-2))
 * ==============================================================================
 */

/* ==================== 1. BOUTON FLOTTANT UNIVERSEL ==================== */
.theme-toggle-fab {
  position: fixed;
  bottom: 82px;
  right: 20px;
  z-index: 1045;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.25);
  background: #111827;
  color: #FFD84D;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(255, 255, 255, 0.1);
  cursor: pointer;
  transition: transform 0.24s cubic-bezier(0.34, 1.56, 0.64, 1), background 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
  outline: none;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
}

.theme-toggle-fab:hover {
  transform: scale(1.12) rotate(12deg);
  box-shadow: 0 8px 24px rgba(216, 27, 96, 0.35), 0 0 0 2px rgba(216, 27, 96, 0.4);
}

.theme-toggle-fab:active {
  transform: scale(0.92);
}

/* En l'absence de WhatsApp FAB (Admin ou checkout) */
body:not(:has(.whatsapp-fab)) .theme-toggle-fab,
body.admin .theme-toggle-fab {
  bottom: 24px;
}

/* Sur smartphone, le commutateur est directement dans le Sidebar pour éviter l'encombrement */
@media (max-width: 768px) {
  .theme-toggle-fab {
    display: none !important;
  }
}

/* Icônes lune / soleil */
.theme-toggle-fab .theme-icon-sun {
  display: none;
  color: #FFD84D;
  filter: drop-shadow(0 0 6px rgba(255, 216, 77, 0.6));
}
.theme-toggle-fab .theme-icon-moon {
  display: block;
  color: var(--text);
  filter: drop-shadow(0 0 4px rgba(253, 232, 239, 0.4));
}

/* État Actif en Mode Sombre */
[data-theme="dark"] .theme-toggle-fab,
.dark-theme .theme-toggle-fab {
  background: var(--surface-2);
  border-color: rgba(255, 216, 77, 0.4);
  box-shadow: 0 4px 24px rgba(216, 27, 96, 0.45), 0 0 0 1px rgba(255, 216, 77, 0.25);
}
[data-theme="dark"] .theme-toggle-fab .theme-icon-moon,
.dark-theme .theme-toggle-fab .theme-icon-moon {
  display: none;
}
[data-theme="dark"] .theme-toggle-fab .theme-icon-sun,
.dark-theme .theme-toggle-fab .theme-icon-sun {
  display: block;
}

.theme-toggle-pulse {
  animation: themePulse 0.4s ease-out;
}
@keyframes themePulse {
  0% { transform: scale(0.9); }
  50% { transform: scale(1.22); }
  100% { transform: scale(1); }
}

/* ==================== 2. VARIABLES DE COULEURS DU MODE SOMBRE ==================== */
:root[data-theme="dark"],
[data-theme="dark"],
[data-bs-theme="dark"],
.dark-theme {
  color-scheme: dark;

  /* Palette E-commerce Luxe & Douce (Ardoise Graphite Équilibrée) */
  --bg: #1A1D24;
  --surface-1: #232732;
  --surface-2: #2C3240;
  --surface-3: #373E4F;
  --border: #333948;
  --border-strong: #464E62;
  --text: #F8FAFC;
  --text-muted: #CBD5E1;
  --text-subtle: #94A3B8;
  --primary: #E83A82;
  --primary-hover: #D0266F;
  --primary-press: #B2185B;
  --accent-text: #FF6FA5;
  --accent-soft: rgba(232, 58, 130, 0.12);
  --nav-bg: #15171D;
  --nav-text: #F8FAFC;
  --promo-bg: #F59E0B;
  --promo-text: #0F172A;
  --success: #10B981;
  --danger: #F43F5E;
  --disabled-bg: #2C3240;
  --disabled-text: #64748B;
  --logo-tile: #232732;
  --shadow: 0 10px 28px -4px rgba(0, 0, 0, 0.42), 0 0 0 1px rgba(255, 255, 255, 0.04);
  --glow-primary: 0 0 0 3px rgba(232, 58, 130, 0.32);

  /* Mappings Fonctionnels & Retro-compatibilite */
  --color-bg: var(--bg);
  --color-surface: var(--surface-1);
  --color-surface-soft: var(--surface-2);
  --color-surface-toc: var(--surface-1);
  --color-surface-soft-hover: var(--surface-3);
  --color-surface-soft-active: var(--surface-3);

  --color-text: var(--text);
  --color-text-muted: var(--text-muted);
  --color-text-discreet: var(--text-subtle);
  --dark: var(--text);
  --muted: var(--text-muted);

  --color-border: var(--border);
  --color-border-soft: var(--border);
  --color-border-mid: var(--border-strong);
  --border-soft: var(--border);
  --border-mid: var(--border-strong);
  --pink-border: var(--border);

  --pink: var(--primary);
  --pink-dark: var(--primary-hover);
  --pink-light: var(--accent-soft);
  --color-primary-soft: var(--accent-soft);
  --footer-bg: #14161B;
  --footer-bg-hover: var(--primary);

  /* Admin Mappings */
  --sb-bg: #14151C;
  --sb-text: var(--text-muted);
  --sb-hover: var(--surface-2);
}

/* ==================== 3. ADAPTATION DU SITE PUBLIC (BOUTIQUE) ==================== */
[data-theme="dark"] body,
body.dark-theme {
  background-color: var(--color-bg) !important;
  color: var(--color-text) !important;
}

/* Topbar & En-tête */
/* Barre d'annonces en haut */
[data-theme="dark"] .annonce-bar,
.dark-theme .annonce-bar {
  background: #14161B !important;
  border-bottom: 1px solid var(--border) !important;
  color: var(--accent-text) !important;
}
[data-theme="dark"] .annonce-bar .annonce-arrow,
.dark-theme .annonce-bar .annonce-arrow {
  background: var(--surface-1) !important;
  border: 1px solid var(--border) !important;
  color: var(--text-muted) !important;
}
[data-theme="dark"] .annonce-bar .annonce-arrow:hover,
.dark-theme .annonce-bar .annonce-arrow:hover {
  background: var(--surface-2) !important;
  color: #FFFFFF !important;
}

/* Topbar principale */
[data-theme="dark"] .topbar {
  background-color: var(--nav-bg) !important;
  border-bottom: 1px solid var(--border) !important;
  box-shadow: 0 2px 14px rgba(0, 0, 0, 0.45) !important;
}
[data-theme="dark"] .topbar .form-control,
[data-theme="dark"] .topbar input[type="search"],
[data-theme="dark"] .topbar input[type="text"] {
  background-color: var(--surface-1) !important;
  border-color: var(--border) !important;
  color: #FFFFFF !important;
}
[data-theme="dark"] .topbar .form-control::placeholder {
  color: var(--text-subtle) !important;
}
[data-theme="dark"] .header-action,
[data-theme="dark"] .header-btn {
  color: var(--text) !important;
}
[data-theme="dark"] .header-action:hover {
  background-color: rgba(255, 255, 255, 0.08) !important;
  color: var(--accent-text) !important;
}

/* Barre de navigation principale (Catégories) */
[data-theme="dark"] .main-nav,
.dark-theme .main-nav {
  background: var(--surface-1) !important;
  border-bottom: 1px solid var(--border) !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3) !important;
}
[data-theme="dark"] .main-nav .nav-link,
.dark-theme .main-nav .nav-link {
  color: var(--text-muted) !important;
  font-weight: 600;
}
[data-theme="dark"] .main-nav .nav-link:hover,
.dark-theme .main-nav .nav-link:hover,
[data-theme="dark"] .main-nav .nav-item.active .nav-link,
.dark-theme .main-nav .nav-item.active .nav-link {
  color: #FFFFFF !important;
  background: var(--surface-2) !important;
}
[data-theme="dark"] .main-nav .navbar-nav.ms-auto .nav-link,
.dark-theme .main-nav .navbar-nav.ms-auto .nav-link {
  background: linear-gradient(135deg, #F59E0B 0%, #D97706 100%) !important;
  color: #0F172A !important;
  font-weight: 800 !important;
  box-shadow: 0 4px 14px rgba(245, 158, 11, 0.35) !important;
}

/* Dropdowns du menu public */
[data-theme="dark"] .main-nav .dropdown-menu,
[data-theme="dark"] .dropdown-menu {
  background-color: var(--surface-1) !important;
  border: 1px solid var(--border) !important;
  box-shadow: var(--shadow) !important;
  color: var(--text) !important;
}
[data-theme="dark"] .dropdown-item {
  color: var(--text) !important;
}
[data-theme="dark"] .dropdown-item:hover,
[data-theme="dark"] .dropdown-item:focus {
  background-color: var(--surface-2) !important;
  color: var(--accent-text) !important;
}
[data-theme="dark"] .dropdown-divider {
  border-color: var(--border) !important;
}

/* Hero Section */
[data-theme="dark"] .hero {
  background: radial-gradient(circle at 85% 30%, rgba(232, 58, 130, 0.12) 0%, rgba(26, 29, 36, 0) 60%),
              linear-gradient(180deg, var(--nav-bg) 0%, var(--bg) 100%) !important;
  border-bottom: 1px solid var(--border) !important;
}
[data-theme="dark"] .hero-title-main {
  color: #FFFFFF !important;
}
[data-theme="dark"] .hero-title-line {
  color: var(--text-subtle) !important;
}
[data-theme="dark"] .hero-lead {
  color: var(--text-muted) !important;
}
[data-theme="dark"] .hero-badge {
  background: var(--surface-1) !important;
  border-color: var(--border) !important;
  color: var(--text) !important;
}
[data-theme="dark"] .hero-badge:hover {
  border-color: var(--pink) !important;
}
[data-theme="dark"] .btn-hero-ghost {
  background: var(--surface-1) !important;
  border-color: var(--border) !important;
  color: var(--text) !important;
}

/* Cartes Produits */
[data-theme="dark"] .card-product,
[data-theme="dark"] .product-card,
[data-theme="dark"] .prod-card,
[data-theme="dark"] .product-item {
  background-color: var(--surface-1) !important;
  border: 1px solid var(--border) !important;
  box-shadow: var(--shadow) !important;
}
[data-theme="dark"] .card-product:hover,
[data-theme="dark"] .product-card:hover,
[data-theme="dark"] .prod-card:hover {
  border-color: var(--border-strong) !important;
  box-shadow: var(--shadow-hover) !important;
}
[data-theme="dark"] .card-product .img-wrap,
[data-theme="dark"] .prod-card .img-wrap {
  background-color: var(--surface-2) !important;
}
[data-theme="dark"] .card-product .title,
[data-theme="dark"] .prod-card .title,
[data-theme="dark"] .card-product a.title {
  color: #FFFFFF !important;
}
[data-theme="dark"] .card-product a.title:hover {
  color: var(--accent-text) !important;
}
/* Prix des produits en Dark Mode : Vifs, éclatants et ultra-attirants */
[data-theme="dark"] .price,
[data-theme="dark"] .product-card .price,
[data-theme="dark"] .card-product .price,
[data-theme="dark"] .prod-card .price,
[data-theme="dark"] .product-item .price,
[data-theme="dark"] .p-card .price,
[data-theme="dark"] .similaires-card .price,
.dark-theme .price,
.dark-theme .product-card .price {
  color: #FF337C !important;
  font-weight: 800 !important;
  letter-spacing: -0.01em;
}

[data-theme="dark"] .price-old,
[data-theme="dark"] .product-card .price-old,
[data-theme="dark"] .card-product .price-old,
[data-theme="dark"] .prod-card .price-old,
.dark-theme .price-old {
  color: #9CA3AF !important;
  opacity: 0.85;
}

[data-theme="dark"] .badge-promo,
[data-theme="dark"] .product-card .badge-promo,
.dark-theme .badge-promo {
  background: linear-gradient(135deg, #FF337C 0%, #D81B60 100%) !important;
  color: #FFFFFF !important;
  font-weight: 800 !important;
  box-shadow: 0 2px 8px rgba(255, 51, 124, 0.4) !important;
}

/* Bandeau des catégories et des marques */
[data-theme="dark"] .categories-strip {
  background-color: var(--bg) !important;
  border-top: 1px solid var(--border) !important;
  border-bottom: 1px solid var(--border) !important;
}
[data-theme="dark"] .category-tile-card,
[data-theme="dark"] .cat-tile-inner {
  background-color: var(--surface-1) !important;
  border-color: var(--border) !important;
}
[data-theme="dark"] .category-tile-card .cat-name {
  color: #FFFFFF !important;
}

[data-theme="dark"] .brands-strip {
  background: linear-gradient(180deg, var(--bg) 0%, var(--surface-1) 100%) !important;
  border-top: 1px solid var(--border) !important;
  border-bottom: 1px solid var(--border) !important;
}
[data-theme="dark"] .brands-track .brand-card,
[data-theme="dark"] .sim-brand-card {
  background-color: var(--surface-1) !important;
  border-color: var(--border) !important;
}
[data-theme="dark"] .sim-brands-container {
  background-color: var(--surface-1) !important;
}

/* 4 Avantages / Trust strip */
[data-theme="dark"] .trust-strip {
  background-color: var(--surface-1) !important;
  border-top: 1px solid var(--border) !important;
  border-bottom: 1px solid var(--border) !important;
}
[data-theme="dark"] .trust-item {
  background-color: var(--surface-2) !important;
  border-color: var(--border) !important;
}
[data-theme="dark"] .trust-title {
  color: #FFFFFF !important;
}
[data-theme="dark"] .trust-sub {
  color: var(--text-muted) !important;
}

/* Panier, Checkout, Formulaires */
[data-theme="dark"] .checkout-card,
[data-theme="dark"] .cart-table,
[data-theme="dark"] .card,
[data-theme="dark"] .bg-white {
  background-color: var(--surface-1) !important;
  border-color: var(--border) !important;
  color: var(--text) !important;
}
[data-theme="dark"] .bg-light {
  background-color: var(--surface-1) !important;
  color: var(--text) !important;
}
[data-theme="dark"] .form-control,
[data-theme="dark"] .form-select {
  background-color: var(--surface-1) !important;
  color: #FFFFFF !important;
  border-color: var(--surface-3) !important;
}
[data-theme="dark"] .form-control:focus,
[data-theme="dark"] .form-select:focus {
  background-color: var(--surface-1) !important;
  border-color: var(--pink) !important;
  color: #FFFFFF !important;
  box-shadow: 0 0 0 3px rgba(216, 27, 96, 0.25) !important;
}
[data-theme="dark"] .modal-content {
  background-color: var(--surface-1) !important;
  border: 1px solid var(--surface-3) !important;
  color: var(--text) !important;
}
[data-theme="dark"] .modal-header,
[data-theme="dark"] .modal-footer {
  border-color: var(--border) !important;
}
[data-theme="dark"] .list-group-item {
  background-color: var(--surface-1) !important;
  border-color: var(--border) !important;
  color: var(--text) !important;
}

/* Pied de page (Footer) */
[data-theme="dark"] .footer,
.dark-theme .footer {
  background-color: var(--footer-bg) !important;
  border-top: 1px solid var(--border) !important;
  color: var(--text-muted) !important;
}
[data-theme="dark"] .footer h4,
[data-theme="dark"] .footer h5,
[data-theme="dark"] .footer h6,
[data-theme="dark"] .footer-title,
.dark-theme .footer h4,
.dark-theme .footer h5,
.dark-theme .footer h6,
.dark-theme .footer-title {
  color: var(--primary) !important;
}
[data-theme="dark"] .footer a,
[data-theme="dark"] .footer .text-white,
[data-theme="dark"] .footer .footer-links a,
.dark-theme .footer a,
.dark-theme .footer .text-white,
.dark-theme .footer .footer-links a {
  color: var(--text-muted) !important;
}
[data-theme="dark"] .footer a:hover,
[data-theme="dark"] .footer .footer-links a:hover,
.dark-theme .footer a:hover,
.dark-theme .footer .footer-links a:hover {
  color: var(--accent-text) !important;
}
[data-theme="dark"] .footer .social a,
.dark-theme .footer .social a {
  background: var(--surface-1) !important;
  border: 1px solid var(--border) !important;
  color: var(--text) !important;
}
[data-theme="dark"] .footer .social a:hover,
.dark-theme .footer .social a:hover {
  background: var(--primary) !important;
  border-color: var(--primary) !important;
  color: #FFFFFF !important;
}
[data-theme="dark"] .footer .news-input,
.dark-theme .footer .news-input {
  background: var(--surface-1) !important;
  border-color: var(--border) !important;
  color: var(--text) !important;
}
[data-theme="dark"] .footer .news-input::placeholder,
.dark-theme .footer .news-input::placeholder {
  color: var(--text-subtle) !important;
}
[data-theme="dark"] .footer .news-hook,
.dark-theme .footer .news-hook,
[data-theme="dark"] .footer-copy,
.dark-theme .footer-copy {
  color: var(--text-muted) !important;
}
[data-theme="dark"] .footer-bottom,
.dark-theme .footer-bottom {
  background-color: var(--footer-bg) !important;
  border-top: 1px solid var(--border) !important;
}

/* Notifications de vente & Consentement */
[data-theme="dark"] .lob-notif,
.dark-theme .lob-notif {
  background: var(--surface-1) !important;
  border-color: var(--surface-3) !important;
  color: var(--text) !important;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.55) !important;
}
[data-theme="dark"] .lob-notif .t,
.dark-theme .lob-notif .t {
  color: var(--text) !important;
}
[data-theme="dark"] .lob-notif .t b,
.dark-theme .lob-notif .t b {
  color: var(--primary) !important;
}
[data-theme="dark"] .lob-notif .t .c,
.dark-theme .lob-notif .t .c {
  color: #38BDF8 !important;
}
[data-theme="dark"] .lob-notif .t .p,
.dark-theme .lob-notif .t .p {
  color: #FFFFFF !important;
}
[data-theme="dark"] .lob-notif .t small,
.dark-theme .lob-notif .t small {
  color: var(--text-muted) !important;
}
[data-theme="dark"] .lob-notif img,
.dark-theme .lob-notif img {
  background: var(--surface-2) !important;
}
[data-theme="dark"] .lob-consent,
.dark-theme .lob-consent {
  background: var(--surface-1) !important;
  border: 1px solid var(--surface-3) !important;
  color: var(--text) !important;
  box-shadow: 0 10px 32px rgba(0, 0, 0, 0.6) !important;
}
[data-theme="dark"] .lob-consent-title,
.dark-theme .lob-consent-title {
  color: #FFFFFF !important;
}
[data-theme="dark"] .lob-consent-text,
.dark-theme .lob-consent-text {
  color: var(--text-muted) !important;
}
[data-theme="dark"] .lob-consent-btn#lobConsentRefuse,
.dark-theme .lob-consent-btn#lobConsentRefuse {
  background: var(--surface-1) !important;
  border-color: var(--surface-3) !important;
  color: var(--text-muted) !important;
}
[data-theme="dark"] .lob-consent-btn#lobConsentRefuse:hover,
.dark-theme .lob-consent-btn#lobConsentRefuse:hover {
  background: var(--border) !important;
  color: #FFFFFF !important;
}

/* ==================== 4. ADAPTATION DU PANEL ADMIN ==================== */
[data-theme="dark"] body.admin {
  background-color: var(--bg) !important;
  color: var(--text) !important;
}

/* Barre haute admin */
[data-theme="dark"] .adm-top {
  background: rgba(21, 23, 29, 0.95) !important;
  border-bottom: 1px solid var(--border) !important;
}
[data-theme="dark"] .adm-top-date {
  color: var(--text-muted) !important;
}

/* Sidebar admin */
[data-theme="dark"] .adm-side {
  background: var(--sb-bg) !important;
  border-right: 1px solid var(--border) !important;
}
[data-theme="dark"] .adm-brand {
  border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
}
[data-theme="dark"] .adm-nav-link {
  color: var(--text-muted) !important;
}
[data-theme="dark"] .adm-nav-link:hover {
  background: rgba(255, 255, 255, 0.05) !important;
  color: #FFFFFF !important;
}
[data-theme="dark"] .adm-nav-link.active {
  background: linear-gradient(135deg, var(--primary) 0%, var(--primary-hover) 100%) !important;
  color: #FFFFFF !important;
}
[data-theme="dark"] .adm-user-card {
  background: var(--surface-1) !important;
  border-color: var(--border) !important;
}

/* Cartes & Tableaux Admin */
[data-theme="dark"] .card-header {
  background-color: var(--surface-1) !important;
  border-bottom: 1px solid var(--border) !important;
  color: #FFFFFF !important;
}
[data-theme="dark"] .card-footer {
  background-color: var(--surface-1) !important;
  border-top: 1px solid var(--border) !important;
}
[data-theme="dark"] .table {
  color: var(--text) !important;
  border-color: var(--border) !important;
}
[data-theme="dark"] .table > :not(caption) > * > * {
  background-color: transparent !important;
  border-bottom-color: var(--border) !important;
  color: var(--text) !important;
}
[data-theme="dark"] .table-hover > tbody > tr:hover > * {
  background-color: rgba(216, 27, 96, 0.12) !important;
}
[data-theme="dark"] .table-header-premium th,
[data-theme="dark"] thead th {
  background-color: var(--surface-1) !important;
  color: #FFFFFF !important;
  border-color: var(--border) !important;
}

/* Overrides de classes utilitaires */
[data-theme="dark"] .text-dark { color: #FFFFFF !important; }
[data-theme="dark"] .text-muted { color: var(--text-muted) !important; }
[data-theme="dark"] .text-secondary { color: var(--text-muted) !important; }
[data-theme="dark"] .border-light,
[data-theme="dark"] .border-light-subtle { border-color: var(--border) !important; }
[data-theme="dark"] hr { border-color: var(--border) !important; opacity: 0.6; }

/* ==================== 10. BOUTIQUE, CATALOGUE & FILTRES ==================== */
[data-theme="dark"] .boutique-hero {
  background:
    radial-gradient(680px 320px at 14% 0%, rgba(216,27,96,.18) 0%, transparent 62%),
    radial-gradient(620px 300px at 92% 0%, rgba(122,18,67,.15) 0%, transparent 58%),
    linear-gradient(180deg, var(--surface-1) 0%, var(--bg) 100%) !important;
  border-bottom: 1px solid var(--border) !important;
}
[data-theme="dark"] .boutique-hero h1 {
  color: #FFFFFF !important;
}
[data-theme="dark"] .boutique-hero .boutique-count {
  color: var(--text-muted) !important;
}
[data-theme="dark"] .boutique-hero .cat-pill.btn-outline-pink {
  background: var(--surface-1) !important;
  border-color: var(--surface-3) !important;
  color: var(--accent-text) !important;
}
[data-theme="dark"] .boutique-hero .cat-pill.btn-outline-pink:hover {
  background: var(--surface-2) !important;
  color: #FFFFFF !important;
}
[data-theme="dark"] .boutique-sidebar {
  background: var(--surface-1) !important;
  border: 1px solid var(--border) !important;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.45) !important;
}
[data-theme="dark"] .boutique-sidebar .sb-title {
  color: #FFFFFF !important;
}
[data-theme="dark"] .boutique-sidebar .sb-divider,
[data-theme="dark"] .boutique-sidebar .sb-divider-cat {
  background: var(--border) !important;
}
[data-theme="dark"] .boutique-sidebar .cat-link {
  color: var(--text-muted) !important;
}
[data-theme="dark"] .boutique-sidebar .cat-link:hover {
  background: var(--surface-2) !important;
  color: var(--accent-text) !important;
}
[data-theme="dark"] .boutique-sidebar .cat-link.active:not(.promo-link) {
  color: var(--accent-text) !important;
  background: var(--surface-2) !important;
  border: 1px solid var(--surface-3) !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3) !important;
}
[data-theme="dark"] .boutique-sidebar .sub-list {
  border-left-color: var(--surface-3) !important;
}
[data-theme="dark"] .boutique-sidebar .sub-link {
  color: var(--text-muted) !important;
}
[data-theme="dark"] .boutique-sidebar .sub-link:hover {
  background: var(--surface-2) !important;
  color: var(--accent-text) !important;
}
[data-theme="dark"] .boutique-sidebar .sub-link.active {
  color: var(--accent-text) !important;
  background: var(--surface-2) !important;
}
[data-theme="dark"] .boutique-sidebar .form-select-sm,
[data-theme="dark"] .boutique-sidebar .form-control-sm {
  background: var(--surface-2) !important;
  border: 1px solid var(--border) !important;
  color: #FFFFFF !important;
}
[data-theme="dark"] .marque-combobox {
  background: var(--surface-2) !important;
  border: 1px solid var(--border) !important;
}
[data-theme="dark"] #mobFilters .offcanvas-header {
  background: var(--surface-1) !important;
  border-bottom-color: var(--border) !important;
}
[data-theme="dark"] #mobFilters .offcanvas-footer {
  background: var(--surface-1) !important;
  border-top-color: var(--border) !important;
}
[data-theme="dark"] .mob-marques-list {
  background: var(--surface-1) !important;
  border-color: var(--border) !important;
}
[data-theme="dark"] .mob-marques-list .form-check-label {
  color: var(--text) !important;
}
[data-theme="dark"] .mob-tri-group .btn-outline-pink {
  background: var(--surface-1) !important;
  border-color: var(--border) !important;
  color: var(--text) !important;
}
[data-theme="dark"] .active-filter-chips .badge {
  background: var(--surface-1) !important;
  border-color: var(--border) !important;
  color: var(--text) !important;
}
[data-theme="dark"] #mobDrawerCatAccordion,
[data-theme="dark"] #mobDrawerCatAccordion .accordion-item,
[data-theme="dark"] #mobDrawerCatAccordion .accordion-button {
  background: var(--surface-1) !important;
  color: var(--text) !important;
  border-color: var(--border) !important;
}
[data-theme="dark"] #mobDrawerCatAccordion .list-group-item {
  background: var(--surface-1) !important;
  color: var(--text) !important;
  border-color: var(--border) !important;
}
[data-theme="dark"] #mobDrawerCatAccordion .list-group-item a {
  color: var(--text) !important;
}
[data-theme="dark"] .marque-combobox .marque-search {
  color: #FFFFFF !important;
}
[data-theme="dark"] .marque-combobox .marque-dropdown {
  background: var(--surface-1) !important;
  border: 1px solid var(--border) !important;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.6) !important;
}
[data-theme="dark"] .marque-dropdown .marque-item {
  color: var(--text-muted) !important;
}
[data-theme="dark"] .marque-dropdown .marque-item:hover,
[data-theme="dark"] .marque-dropdown .marque-item.active {
  background: var(--surface-2) !important;
  color: var(--accent-text) !important;
}
[data-theme="dark"] .boutique-topbar {
  background: var(--surface-1) !important;
  border: 1px solid var(--border) !important;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.3) !important;
}
[data-theme="dark"] .filter-chip {
  background: var(--surface-2) !important;
  border: 1px solid var(--border) !important;
  color: var(--text-muted) !important;
}
[data-theme="dark"] .filter-chip a {
  color: var(--accent-text) !important;
}
[data-theme="dark"] .boutique-shell .product-card .img-wrap {
  background: var(--surface-2) !important;
}

/* Rayon en cours d'approvisionnement (Empty State) */
[data-theme="dark"] .boutique-empty-state,
.dark-theme .boutique-empty-state {
  background: linear-gradient(180deg, var(--surface-1) 0%, var(--bg) 100%) !important;
  border: 1px solid var(--border) !important;
  box-shadow: var(--shadow) !important;
}
[data-theme="dark"] .empty-orb,
.dark-theme .empty-orb {
  background: var(--surface-2) !important;
  border-color: var(--border) !important;
  box-shadow: 0 0 0 4px rgba(232, 58, 130, 0.22), 0 14px 32px rgba(0, 0, 0, 0.45) !important;
}
[data-theme="dark"] .boutique-empty-state .bg-white,
.dark-theme .boutique-empty-state .bg-white {
  background-color: var(--surface-1) !important;
  border-color: var(--border) !important;
}
[data-theme="dark"] .empty-badge,
.dark-theme .empty-badge {
  background: var(--surface-2) !important;
  color: var(--accent-text) !important;
  border-color: rgba(232, 58, 130, 0.3) !important;
}
[data-theme="dark"] .empty-title,
.dark-theme .empty-title {
  color: #FFFFFF !important;
}
[data-theme="dark"] .empty-sub,
.dark-theme .empty-sub {
  color: var(--text-muted) !important;
}
[data-theme="dark"] .empty-btn-ghost,
.dark-theme .empty-btn-ghost {
  background: var(--surface-2) !important;
  color: var(--text) !important;
  border-color: var(--border) !important;
}
[data-theme="dark"] .empty-btn-ghost:hover,
.dark-theme .empty-btn-ghost:hover {
  background: var(--surface-3) !important;
  color: #FFFFFF !important;
  border-color: var(--primary) !important;
}
[data-theme="dark"] .empty-discovery,
.dark-theme .empty-discovery {
  border-top-color: var(--border) !important;
}
[data-theme="dark"] .empty-discovery-label,
.dark-theme .empty-discovery-label {
  color: var(--text-muted) !important;
}
[data-theme="dark"] .empty-discovery-pill,
.dark-theme .empty-discovery-pill {
  background: var(--surface-2) !important;
  color: var(--text) !important;
  border-color: var(--border) !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25) !important;
}
[data-theme="dark"] .empty-discovery-pill:hover,
.dark-theme .empty-discovery-pill:hover {
  background: var(--surface-3) !important;
  color: var(--accent-text) !important;
  border-color: var(--primary) !important;
  box-shadow: 0 4px 14px rgba(232, 58, 130, 0.25) !important;
}
[data-theme="dark"] .breadcrumb {
  background: transparent !important;
}
[data-theme="dark"] .breadcrumb-item a {
  color: var(--accent-text) !important;
}
[data-theme="dark"] .breadcrumb-item.active,
[data-theme="dark"] .breadcrumb-item + .breadcrumb-item::before {
  color: var(--text-subtle) !important;
}
[data-theme="dark"] .crumb-bar {
  background: var(--bg) !important;
  border-bottom: 1px solid var(--border) !important;
}
[data-theme="dark"] .crumb-bar .breadcrumb-item a {
  color: var(--accent-text) !important;
}
[data-theme="dark"] .crumb-bar .breadcrumb-item.active {
  color: #FFFFFF !important;
}
[data-theme="dark"] .cat-chip {
  background: var(--surface-1) !important;
  color: var(--accent-text) !important;
  border-color: var(--surface-3) !important;
}
[data-theme="dark"] .qty-box {
  border-color: var(--surface-3) !important;
  background: var(--surface-1) !important;
}
[data-theme="dark"] .qty-box button {
  background: var(--surface-1) !important;
  color: var(--accent-text) !important;
}
[data-theme="dark"] .qty-box button:hover {
  background: var(--surface-2) !important;
  color: #FFFFFF !important;
}
[data-theme="dark"] .qty-box input {
  background: var(--bg) !important;
  border-color: var(--surface-3) !important;
  color: #FFFFFF !important;
}
[data-theme="dark"] .btn-wish-inline {
  border-color: var(--surface-3) !important;
  background: var(--surface-1) !important;
  color: var(--accent-text) !important;
}
[data-theme="dark"] .btn-wish-inline:hover {
  background: var(--surface-2) !important;
  border-color: var(--primary) !important;
  color: var(--primary) !important;
}
[data-theme="dark"] .accordion-item {
  background: var(--bg) !important;
  border-color: var(--border) !important;
}
[data-theme="dark"] .accordion-button {
  background: var(--bg) !important;
  color: #FFFFFF !important;
}
[data-theme="dark"] .accordion-button:not(.collapsed) {
  background: var(--surface-1) !important;
  color: var(--accent-text) !important;
}
[data-theme="dark"] .accordion-body {
  background: var(--surface-1) !important;
  color: var(--text-muted) !important;
}
[data-theme="dark"] .pagination .page-link {
  background: var(--surface-1) !important;
  border-color: var(--border) !important;
  color: var(--text-muted) !important;
}
[data-theme="dark"] .pagination .page-item.active .page-link {
  background: var(--primary) !important;
  border-color: var(--primary) !important;
  color: #FFFFFF !important;
}
[data-theme="dark"] .pagination .page-item.disabled .page-link {
  background: #120710 !important;
  border-color: var(--surface-2) !important;
  color: var(--text-subtle) !important;
}

/* ==================== 11. MODALES, OFFCANVAS & TOASTS ==================== */
[data-theme="dark"] .offcanvas {
  background-color: var(--bg) !important;
  color: var(--text) !important;
  border-left: 1px solid var(--border) !important;
}
[data-theme="dark"] .offcanvas-header {
  border-bottom: 1px solid var(--border) !important;
}
[data-theme="dark"] .btn-close {
  filter: invert(1) grayscale(100%) brightness(200%);
}
[data-theme="dark"] .cookie-banner,
[data-theme="dark"] #cookieBanner {
  background: rgba(24, 11, 22, 0.96) !important;
  border: 1px solid var(--surface-3) !important;
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.6) !important;
  color: var(--text) !important;
}
[data-theme="dark"] .sales-popup {
  background: var(--bg) !important;
  border: 1px solid var(--surface-3) !important;
  color: var(--text) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5) !important;
}

/* ==================== 12. FICHE PRODUIT DÉTAIL ==================== */
[data-theme="dark"] .p-title,
[data-theme="dark"] .p-title-main {
  color: #FFFFFF !important;
}
/* Prix Fiche Produit & Sticky Bar en Dark Mode : Lumineux & Attirants */
[data-theme="dark"] .p-price-cur,
[data-theme="dark"] #pPriceCurrent,
[data-theme="dark"] .sticky-bar-price .price-val,
.dark-theme .p-price-cur,
.dark-theme #pPriceCurrent,
.dark-theme .sticky-bar-price .price-val {
  color: #FF337C !important;
  font-weight: 900 !important;
  letter-spacing: -0.02em;
}
[data-theme="dark"] .p-price-old,
[data-theme="dark"] #pPriceOld,
[data-theme="dark"] .sticky-bar-price .old-price,
.dark-theme .p-price-old,
.dark-theme #pPriceOld,
.dark-theme .sticky-bar-price .old-price {
  color: #9CA3AF !important;
  opacity: 0.85;
}
[data-theme="dark"] .p-price-badge,
[data-theme="dark"] #pPriceBadge,
.dark-theme .p-price-badge {
  background: linear-gradient(135deg, #FF337C 0%, #D81B60 100%) !important;
  color: #FFFFFF !important;
  font-weight: 800 !important;
  box-shadow: 0 2px 8px rgba(255, 51, 124, 0.4) !important;
}
[data-theme="dark"] .p-brand-pill,
[data-theme="dark"] .p-cat-pill {
  background: var(--surface-1) !important;
  border-color: var(--surface-3) !important;
  color: var(--accent-text) !important;
}
[data-theme="dark"] .urgency-flame {
  background: var(--surface-2) !important;
  border-color: var(--surface-3) !important;
  color: var(--accent-text) !important;
}
[data-theme="dark"] .viewers-row {
  border-color: var(--surface-3) !important;
}
[data-theme="dark"] .viewers-badge {
  background: var(--surface-2) !important;
  border-color: var(--surface-3) !important;
  color: var(--accent-text) !important;
}
[data-theme="dark"] .prod-bullets li {
  color: var(--text-muted) !important;
}
[data-theme="dark"] .prod-bullets li::before {
  background: var(--surface-2) !important;
  border-color: var(--surface-3) !important;
}
[data-theme="dark"] .p-meta-stock,
.dark-theme .p-meta-stock {
  background: rgba(16, 185, 129, 0.16) !important;
  color: var(--success) !important;
  border-color: rgba(16, 185, 129, 0.35) !important;
}
[data-theme="dark"] .p-meta-stock.out,
.dark-theme .p-meta-stock.out {
  background: rgba(239, 68, 68, 0.16) !important;
  color: var(--danger) !important;
  border-color: rgba(239, 68, 68, 0.35) !important;
}
[data-theme="dark"] .p-meta-stock.choose,
.dark-theme .p-meta-stock.choose {
  background: rgba(255, 46, 121, 0.14) !important;
  color: var(--accent-text) !important;
  border-color: rgba(255, 46, 121, 0.35) !important;
}
[data-theme="dark"] .variant-pill {
  background: var(--bg) !important;
  border-color: var(--surface-3) !important;
  color: var(--text-muted) !important;
}
[data-theme="dark"] .variant-pill:hover {
  background: var(--surface-3) !important;
  border-color: var(--primary) !important;
  color: #FFFFFF !important;
}
[data-theme="dark"] .prod-desc-block {
  background: var(--surface-1) !important;
  border: 1px solid var(--border) !important;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.4) !important;
}
[data-theme="dark"] .prod-desc-title {
  color: #FFFFFF !important;
  border-bottom-color: var(--surface-2) !important;
}
[data-theme="dark"] .prod-desc-body {
  color: var(--text-muted) !important;
}
[data-theme="dark"] .share-inline .lbl,
[data-theme="dark"] .share-mini a,
[data-theme="dark"] .share-mini button {
  background: var(--surface-1) !important;
  border-color: var(--surface-3) !important;
  color: var(--text-muted) !important;
}
[data-theme="dark"] .p-media-main {
  background: var(--surface-1) !important;
  border: 1px solid var(--border) !important;
  border-radius: 20px;
}
[data-theme="dark"] .p-thumb {
  background: var(--surface-2) !important;
  border-color: var(--border) !important;
}

[data-theme="dark"] .adm-content .btn-outline-pink,
[data-theme="dark"] .btn-outline-pink {
  color: var(--accent-text) !important;
  border: 1px solid var(--surface-3) !important;
  background: var(--surface-1) !important;
}
[data-theme="dark"] .adm-content .btn-outline-pink:hover,
[data-theme="dark"] .btn-outline-pink:hover {
  background: linear-gradient(135deg, var(--primary) 0%, var(--primary) 100%) !important;
  border-color: var(--primary) !important;
  color: #FFFFFF !important;
  box-shadow: 0 4px 14px rgba(216, 27, 96, 0.45) !important;
}

/* ==================== 13. ACCORDAGE DARK MODE UNIVERSEL & CONTRASTES ==================== */

/* Accueil : Catégories Premium & Bestsellers */
[data-theme="dark"] .cat-premium,
.dark-theme .cat-premium,
[data-theme="dark"] .best-premium,
.dark-theme .best-premium {
  background: var(--bg) !important;
  color: var(--text) !important;
}
[data-theme="dark"] .cat-premium-title,
.dark-theme .cat-premium-title,
[data-theme="dark"] .best-premium-title,
.dark-theme .best-premium-title {
  color: #FFFFFF !important;
}
[data-theme="dark"] .cat-premium-sub,
.dark-theme .cat-premium-sub,
[data-theme="dark"] .best-premium-sub,
.dark-theme .best-premium-sub {
  color: var(--text-muted) !important;
}
[data-theme="dark"] .cat-premium-kicker,
.dark-theme .cat-premium-kicker,
[data-theme="dark"] .best-premium-kicker,
.dark-theme .best-premium-kicker {
  background: rgba(216, 27, 96, 0.16) !important;
  border-color: rgba(216, 27, 96, 0.35) !important;
  color: var(--accent-text) !important;
}
[data-theme="dark"] .cat-premium-cta,
.dark-theme .cat-premium-cta,
[data-theme="dark"] .best-premium-link,
.dark-theme .best-premium-link {
  background: var(--surface-1) !important;
  border: 1.5px solid var(--surface-3) !important;
  color: var(--accent-text) !important;
}
[data-theme="dark"] .cat-premium-cta:hover,
.dark-theme .cat-premium-cta:hover,
[data-theme="dark"] .best-premium-link:hover,
.dark-theme .best-premium-link:hover {
  background: linear-gradient(135deg, var(--primary) 0%, var(--primary) 100%) !important;
  border-color: var(--primary) !important;
  color: #FFFFFF !important;
  box-shadow: 0 4px 14px rgba(216, 27, 96, 0.4) !important;
}
[data-theme="dark"] .cat-tile,
.dark-theme .cat-tile {
  background: var(--surface-1) !important;
  border: 1px solid var(--surface-3) !important;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.4) !important;
}
[data-theme="dark"] .cat-tile.cat-tile--has-photo,
.dark-theme .cat-tile.cat-tile--has-photo {
  background: var(--surface-1) !important;
}
[data-theme="dark"] .cat-tile.cat-tile--has-photo .cat-tile__art,
.dark-theme .cat-tile.cat-tile--has-photo .cat-tile__art {
  background: var(--surface-1) !important;
}
[data-theme="dark"] .cat-tile.cat-tile--has-photo .cat-tile__label,
.dark-theme .cat-tile.cat-tile--has-photo .cat-tile__label {
  background: rgba(26, 29, 36, 0.94) !important;
  color: var(--text) !important;
}
[data-theme="dark"] .cat-tile::before,
.dark-theme .cat-tile::before {
  background: linear-gradient(180deg, rgba(232, 58, 130, 0.08) 0%, rgba(0, 0, 0, 0) 60%) !important;
}
[data-theme="dark"] .cat-tile__art,
.dark-theme .cat-tile__art {
  background: transparent !important;
}
[data-theme="dark"] .cat-tile__art i,
.dark-theme .cat-tile__art i {
  color: var(--accent-text) !important;
}
[data-theme="dark"] .cat-tile__art svg,
.dark-theme .cat-tile__art svg {
  stroke: var(--accent-text) !important;
}
[data-theme="dark"] .cat-tile__label,
.dark-theme .cat-tile__label {
  background: rgba(26, 29, 36, 0.94) !important;
  color: var(--text) !important;
  border-top: 1px solid var(--border) !important;
}
[data-theme="dark"] .cat-tile__label span,
.dark-theme .cat-tile__label span {
  color: var(--text) !important;
}

/* Boutons favoris (Wishlist) & flèches de carrousel */
[data-theme="dark"] .btn-wish,
.dark-theme .btn-wish {
  background: var(--surface-1) !important;
  border: 1px solid var(--border) !important;
  color: var(--accent-text) !important;
}
[data-theme="dark"] .btn-wish:hover,
.dark-theme .btn-wish:hover {
  background: var(--primary) !important;
  border-color: var(--primary) !important;
  color: #FFFFFF !important;
}
[data-theme="dark"] .btn-wish.active,
.dark-theme .btn-wish.active {
  background: var(--primary) !important;
  color: #FFFFFF !important;
  border-color: var(--primary) !important;
}
[data-theme="dark"] .brands-arrow,
.dark-theme .brands-arrow,
[data-theme="dark"] .annonce-arrow,
.dark-theme .annonce-arrow {
  background: var(--surface-1) !important;
  border: 1px solid var(--border) !important;
  color: var(--text) !important;
}
[data-theme="dark"] .brands-arrow:hover,
.dark-theme .brands-arrow:hover,
[data-theme="dark"] .annonce-arrow:hover,
.dark-theme .annonce-arrow:hover {
  background: var(--primary) !important;
  border-color: var(--primary) !important;
  color: #FFFFFF !important;
}
[data-theme="dark"] .carousel-caption-label,
.dark-theme .carousel-caption-label {
  background: rgba(26, 29, 36, 0.92) !important;
  border: 1px solid var(--border) !important;
  color: var(--accent-text) !important;
}

/* Fiche Produit détaillée */
[data-theme="dark"] .p-media-card,
.dark-theme .p-media-card,
[data-theme="dark"] .p-info,
.dark-theme .p-info {
  background: var(--surface-1) !important;
  border: 1px solid var(--border) !important;
  box-shadow: var(--shadow) !important;
}
[data-theme="dark"] .prod-desc-body,
.dark-theme .prod-desc-body,
[data-theme="dark"] .prod-details,
.dark-theme .prod-details,
[data-theme="dark"] .prod-desc-body p,
.dark-theme .prod-desc-body p,
[data-theme="dark"] .prod-details p,
.dark-theme .prod-details p,
[data-theme="dark"] .prod-desc-body span,
.dark-theme .prod-desc-body span,
[data-theme="dark"] .prod-details span,
.dark-theme .prod-details span,
[data-theme="dark"] .prod-desc-body li,
.dark-theme .prod-desc-body li,
[data-theme="dark"] .prod-details li,
.dark-theme .prod-details li {
  color: var(--text-muted) !important;
}
[data-theme="dark"] .prod-desc-body h1,
[data-theme="dark"] .prod-desc-body h2,
[data-theme="dark"] .prod-desc-body h3,
[data-theme="dark"] .prod-desc-body h4,
[data-theme="dark"] .prod-desc-body h5,
[data-theme="dark"] .prod-desc-body h6,
[data-theme="dark"] .prod-details h1,
[data-theme="dark"] .prod-details h2,
[data-theme="dark"] .prod-details h3,
[data-theme="dark"] .prod-details h4,
[data-theme="dark"] .prod-details h5,
[data-theme="dark"] .prod-details h6,
[data-theme="dark"] .prod-desc-body strong,
.dark-theme .prod-desc-body strong,
[data-theme="dark"] .prod-details strong,
.dark-theme .prod-details strong {
  color: #FFFFFF !important;
}
[data-theme="dark"] .variant-group-label,
.dark-theme .variant-group-label {
  color: var(--text) !important;
}
[data-theme="dark"] .variant-group-label span.opt,
.dark-theme .variant-group-label span.opt {
  color: var(--text-muted) !important;
}
[data-theme="dark"] .qty-box,
.dark-theme .qty-box {
  background: var(--surface-1) !important;
  border: 1px solid var(--border) !important;
}
[data-theme="dark"] .qty-box button,
.dark-theme .qty-box button {
  background: var(--surface-1) !important;
  color: var(--text) !important;
}
[data-theme="dark"] .qty-box button:hover,
.dark-theme .qty-box button:hover {
  background: var(--surface-2) !important;
  color: var(--primary) !important;
}
[data-theme="dark"] .qty-box input,
.dark-theme .qty-box input {
  background: var(--surface-2) !important;
  color: #FFFFFF !important;
  border-left: 1px solid var(--border) !important;
  border-right: 1px solid var(--border) !important;
}
[data-theme="dark"] .btn-cart-black,
.dark-theme .btn-cart-black {
  background: var(--surface-1) !important;
  border: 1.5px solid var(--surface-3) !important;
  color: #FFFFFF !important;
}
[data-theme="dark"] .btn-cart-black:hover,
.dark-theme .btn-cart-black:hover {
  background: var(--surface-2) !important;
  border-color: var(--primary) !important;
  box-shadow: 0 4px 18px rgba(216, 27, 96, 0.35) !important;
}
[data-theme="dark"] .p-related-title,
.dark-theme .p-related-title {
  color: #FFFFFF !important;
}
[data-theme="dark"] #avis .avis-star,
.dark-theme #avis .avis-star {
  background: var(--surface-1) !important;
  border: 1px solid var(--surface-3) !important;
  color: var(--text-muted) !important;
}
[data-theme="dark"] #avis .avis-empty,
.dark-theme #avis .avis-empty {
  background: var(--surface-1) !important;
  border: 1px solid var(--surface-3) !important;
  color: var(--text-muted) !important;
}
[data-theme="dark"] .avis-form-title,
.dark-theme .avis-form-title {
  color: #FFFFFF !important;
}

/* Boutons d'Action Primaires (Panier, Commande, Connexion, Contact, etc.) */
[data-theme="dark"] .btn-commander,
.dark-theme .btn-commander,
[data-theme="dark"] .btn-checkout,
.dark-theme .btn-checkout,
[data-theme="dark"] .btn-buy-black,
.dark-theme .btn-buy-black,
[data-theme="dark"] [style*="background:var(--dark)"],
.dark-theme [style*="background:var(--dark)"],
[data-theme="dark"] [style*="background:var(--surface-2)"],
.dark-theme [style*="background:var(--surface-2)"],
[data-theme="dark"] [style*="background-color:var(--surface-2)"],
.dark-theme [style*="background-color:var(--surface-2)"] {
  background: linear-gradient(135deg, var(--primary) 0%, var(--primary) 100%) !important;
  background-color: var(--primary) !important;
  border-color: var(--primary) !important;
  color: #FFFFFF !important;
  box-shadow: 0 4px 18px rgba(216, 27, 96, 0.4) !important;
}
[data-theme="dark"] .btn-commander:hover,
.dark-theme .btn-commander:hover,
[data-theme="dark"] .btn-checkout:hover,
.dark-theme .btn-checkout:hover,
[data-theme="dark"] .btn-buy-black:hover,
.dark-theme .btn-buy-black:hover,
[data-theme="dark"] [style*="background:var(--dark)"]:hover,
.dark-theme [style*="background:var(--dark)"]:hover,
[data-theme="dark"] [style*="background:var(--surface-2)"]:hover,
.dark-theme [style*="background:var(--surface-2)"]:hover {
  background: linear-gradient(135deg, var(--accent-text) 0%, var(--primary-hover) 100%) !important;
  box-shadow: 0 6px 24px rgba(216, 27, 96, 0.55) !important;
  color: #FFFFFF !important;
}

/* Auth (Connexion, Inscription, Google Login) */
[data-theme="dark"] .btn-google-auth,
.dark-theme .btn-google-auth {
  background: var(--surface-1) !important;
  border: 1.5px solid var(--surface-3) !important;
  color: var(--text) !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.4) !important;
}
[data-theme="dark"] .btn-google-auth:hover,
.dark-theme .btn-google-auth:hover {
  background: var(--surface-2) !important;
  border-color: var(--primary) !important;
  color: #FFFFFF !important;
}
[data-theme="dark"] .auth-create-btn,
.dark-theme .auth-create-btn {
  background: transparent !important;
  border: 1.5px solid var(--pink, var(--primary)) !important;
  color: var(--accent-text) !important;
}
[data-theme="dark"] .auth-create-btn:hover,
.dark-theme .auth-create-btn:hover {
  background: var(--pink, var(--primary)) !important;
  color: #FFFFFF !important;
}
[data-theme="dark"] .auth-forgot-link,
.dark-theme .auth-forgot-link {
  color: var(--accent-text) !important;
}

/* Panier & Checkout Combobox */
[data-theme="dark"] .ck-ville-combobox,
.dark-theme .ck-ville-combobox,
[data-theme="dark"] .ck-ville-search,
.dark-theme .ck-ville-search {
  background: var(--surface-1) !important;
  border: 1px solid var(--surface-3) !important;
  color: #FFFFFF !important;
}
[data-theme="dark"] .ck-ville-dropdown,
.dark-theme .ck-ville-dropdown,
[data-theme="dark"] [role="listbox"],
.dark-theme [role="listbox"] {
  background: var(--surface-1) !important;
  border: 1px solid var(--surface-3) !important;
  color: var(--text) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.6) !important;
}
[data-theme="dark"] .ck-ville-item,
.dark-theme .ck-ville-item,
[data-theme="dark"] .combobox-option,
.dark-theme .combobox-option {
  color: var(--text) !important;
  border-bottom: 1px solid var(--surface-2) !important;
}
[data-theme="dark"] .ck-ville-item:hover,
.dark-theme .ck-ville-item:hover,
[data-theme="dark"] .combobox-option:hover,
.dark-theme .combobox-option:hover,
[data-theme="dark"] .combobox-option.combobox-active,
.dark-theme .combobox-option.combobox-active {
  background: var(--surface-2) !important;
  color: var(--accent-text) !important;
}
[data-theme="dark"] .ck-item-thumb-box,
.dark-theme .ck-item-thumb-box,
[data-theme="dark"] .cart-item-img,
.dark-theme .cart-item-img {
  background: var(--surface-2) !important;
  border: 1px solid var(--border) !important;
}
[data-theme="dark"] .cart-summary,
.dark-theme .cart-summary {
  background: var(--surface-1) !important;
  border: 1px solid var(--border) !important;
}

/* Barre de recherche instantanée (Live Search Dropdown) */
[data-theme="dark"] .header-search-dropdown,
.dark-theme .header-search-dropdown {
  background: var(--surface-1) !important;
  border: 1px solid var(--border) !important;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.65) !important;
}
[data-theme="dark"] .header-search-item,
.dark-theme .header-search-item {
  color: var(--text) !important;
  border-bottom: 1px solid var(--surface-2) !important;
}
[data-theme="dark"] .header-search-item:hover,
.dark-theme .header-search-item:hover,
[data-theme="dark"] .header-search-item.active,
.dark-theme .header-search-item.active {
  background-color: var(--surface-2) !important;
}
[data-theme="dark"] .header-search-title,
.dark-theme .header-search-title {
  color: #FFFFFF !important;
}
[data-theme="dark"] .header-search-meta,
.dark-theme .header-search-meta {
  color: var(--text-muted) !important;
}
[data-theme="dark"] .header-search-img,
.dark-theme .header-search-img {
  background: var(--surface-2) !important;
  border: 1px solid var(--border) !important;
}
[data-theme="dark"] .header-search-price,
.dark-theme .header-search-price {
  color: #FF337C !important;
  font-weight: 800 !important;
}
[data-theme="dark"] .header-search-old,
.dark-theme .header-search-old {
  color: #9CA3AF !important;
}
[data-theme="dark"] .header-search-footer,
.dark-theme .header-search-footer {
  background: var(--surface-1) !important;
  border-top: 1px solid var(--border) !important;
}
[data-theme="dark"] .header-search-footer a,
.dark-theme .header-search-footer a {
  color: var(--accent-text) !important;
}

/* Typographie, Contrastes globaux & Composants Bootstrap */
[data-theme="dark"] .text-dark,
.dark-theme .text-dark,
[data-theme="dark"] .text-black,
.dark-theme .text-black {
  color: var(--text) !important;
}
[data-theme="dark"] .text-muted,
.dark-theme .text-muted,
[data-theme="dark"] .text-secondary,
.dark-theme .text-secondary {
  color: var(--text-muted) !important;
}
[data-theme="dark"] .badge.bg-light,
.dark-theme .badge.bg-light {
  background: var(--surface-2) !important;
  color: var(--accent-text) !important;
  border: 1px solid var(--surface-3) !important;
}
[data-theme="dark"] .badge.bg-warning,
.dark-theme .badge.bg-warning {
  background: rgba(245, 158, 11, 0.2) !important;
  color: var(--promo-bg) !important;
  border: 1px solid rgba(245, 158, 11, 0.35) !important;
}
[data-theme="dark"] .alert,
.dark-theme .alert {
  border-radius: 12px !important;
  font-weight: 500 !important;
  backdrop-filter: blur(8px);
}

[data-theme="dark"] .alert-success,
.dark-theme .alert-success {
  background: rgba(16, 185, 129, 0.12) !important;
  color: #A7F3D0 !important;
  border: 1px solid rgba(16, 185, 129, 0.28) !important;
}
[data-theme="dark"] .alert-success hr,
.dark-theme .alert-success hr {
  border-top-color: rgba(16, 185, 129, 0.2) !important;
}
[data-theme="dark"] .alert-success .alert-link,
.dark-theme .alert-success .alert-link,
[data-theme="dark"] .alert-success a,
.dark-theme .alert-success a {
  color: #34D399 !important;
  font-weight: 600 !important;
}

[data-theme="dark"] .alert-danger,
.dark-theme .alert-danger {
  background: rgba(239, 68, 68, 0.12) !important;
  color: #FECACA !important;
  border: 1px solid rgba(239, 68, 68, 0.28) !important;
}
[data-theme="dark"] .alert-danger hr,
.dark-theme .alert-danger hr {
  border-top-color: rgba(239, 68, 68, 0.2) !important;
}
[data-theme="dark"] .alert-danger .alert-link,
.dark-theme .alert-danger .alert-link,
[data-theme="dark"] .alert-danger a,
.dark-theme .alert-danger a {
  color: #F87171 !important;
  font-weight: 600 !important;
}

[data-theme="dark"] .alert-warning,
.dark-theme .alert-warning {
  background: rgba(245, 158, 11, 0.12) !important;
  color: #FDE68A !important;
  border: 1px solid rgba(245, 158, 11, 0.28) !important;
}
[data-theme="dark"] .alert-warning hr,
.dark-theme .alert-warning hr {
  border-top-color: rgba(245, 158, 11, 0.2) !important;
}
[data-theme="dark"] .alert-warning .alert-link,
.dark-theme .alert-warning .alert-link,
[data-theme="dark"] .alert-warning a,
.dark-theme .alert-warning a {
  color: #FBBF24 !important;
  font-weight: 600 !important;
}

[data-theme="dark"] .alert-info,
.dark-theme .alert-info {
  background: rgba(59, 130, 246, 0.12) !important;
  color: #BFDBFE !important;
  border: 1px solid rgba(59, 130, 246, 0.28) !important;
}
[data-theme="dark"] .alert-info hr,
.dark-theme .alert-info hr {
  border-top-color: rgba(59, 130, 246, 0.2) !important;
}
[data-theme="dark"] .alert-info .alert-link,
.dark-theme .alert-info .alert-link,
[data-theme="dark"] .alert-info a,
.dark-theme .alert-info a {
  color: #60A5FA !important;
  font-weight: 600 !important;
}

[data-theme="dark"] .alert-primary,
.dark-theme .alert-primary {
  background: rgba(216, 27, 96, 0.12) !important;
  color: #FFB3D1 !important;
  border: 1px solid rgba(216, 27, 96, 0.3) !important;
}
[data-theme="dark"] .alert-secondary,
.dark-theme .alert-secondary {
  background: rgba(148, 163, 184, 0.12) !important;
  color: #E2E8F0 !important;
  border: 1px solid rgba(148, 163, 184, 0.25) !important;
}

[data-theme="dark"] .alert-light,
.dark-theme .alert-light {
  background: var(--bg) !important;
  border: 1px solid var(--surface-3) !important;
  color: var(--text) !important;
}
[data-theme="dark"] .table,
.dark-theme .table {
  color: var(--text) !important;
  border-color: var(--surface-2) !important;
}
[data-theme="dark"] .table > :not(caption) > * > *,
.dark-theme .table > :not(caption) > * > * {
  background-color: transparent !important;
  border-bottom-color: var(--surface-2) !important;
  color: inherit !important;
}
[data-theme="dark"] .accordion-item,
.dark-theme .accordion-item {
  background-color: var(--surface-1) !important;
  border: 1px solid var(--border) !important;
}
[data-theme="dark"] .accordion-button,
.dark-theme .accordion-button {
  background-color: var(--surface-1) !important;
  color: #FFFFFF !important;
  border-color: var(--border) !important;
}
[data-theme="dark"] .accordion-button:not(.collapsed),
.dark-theme .accordion-button:not(.collapsed) {
  background-color: var(--surface-2) !important;
  color: var(--primary) !important;
  box-shadow: inset 0 -1px 0 var(--border) !important;
}
[data-theme="dark"] .accordion-body,
.dark-theme .accordion-body {
  background-color: var(--surface-1) !important;
  color: var(--text-muted) !important;
}
[data-theme="dark"] .btn-outline-secondary,
.dark-theme .btn-outline-secondary {
  border-color: var(--surface-3) !important;
  color: var(--text-muted) !important;
  background: var(--surface-1) !important;
}
[data-theme="dark"] .btn-outline-secondary:hover,
.dark-theme .btn-outline-secondary:hover {
  background: var(--surface-3) !important;
  border-color: var(--primary) !important;
  color: #FFFFFF !important;
}

/* Dark theme support pour la Sticky Bar Mobile */
[data-theme="dark"] .sticky-bottom-bar,
.dark-theme .sticky-bottom-bar {
  background: rgba(26, 29, 36, 0.96) !important;
  backdrop-filter: blur(12px) !important;
  border-top: 1px solid var(--border) !important;
  box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.5) !important;
}

[data-theme="dark"] .sticky-bar-thumb,
.dark-theme .sticky-bar-thumb {
  border-color: var(--border) !important;
}

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

[data-theme="dark"] .btn-sticky-cart,
.dark-theme .btn-sticky-cart {
  background: linear-gradient(135deg, var(--primary) 0%, var(--primary-hover) 100%) !important;
  color: #FFFFFF !important;
  box-shadow: 0 4px 16px rgba(232, 58, 130, 0.45) !important;
}

/* Suivi Commande Stepper & Date Pills */
[data-theme="dark"] .tracker-wrap .step-meta,
.dark-theme .tracker-wrap .step-meta,
[data-theme="dark"] .tracker-wrap .track-stepper li.done .step-meta,
.dark-theme .tracker-wrap .track-stepper li.done .step-meta,
[data-theme="dark"] .tracker-wrap .track-stepper li.pending .step-meta,
.dark-theme .tracker-wrap .track-stepper li.pending .step-meta,
[data-theme="dark"] .tracker-wrap .step-meta.empty,
.dark-theme .tracker-wrap .step-meta.empty {
  background: var(--surface-2) !important;
  border-color: var(--border) !important;
  color: var(--text) !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.2) !important;
}

[data-theme="dark"] .tracker-wrap .step-meta .city,
.dark-theme .tracker-wrap .step-meta .city {
  color: var(--text) !important;
}

[data-theme="dark"] .tracker-wrap .step-meta .date,
.dark-theme .tracker-wrap .step-meta .date {
  color: var(--text-muted) !important;
}

/* Checkout Logged-In Customer Alert Contrast */
[data-theme="dark"] .ck-customer-alert,
.dark-theme .ck-customer-alert {
  background: rgba(16, 185, 129, 0.14) !important;
  border-color: rgba(16, 185, 129, 0.3) !important;
  color: #A7F3D0 !important;
}
[data-theme="dark"] .ck-customer-alert strong,
.dark-theme .ck-customer-alert strong {
  color: #FFFFFF !important;
}
[data-theme="dark"] .ck-customer-alert a,
.dark-theme .ck-customer-alert a {
  color: #34D399 !important;
  font-weight: 600 !important;
  text-decoration: underline !important;
}
[data-theme="dark"] .ck-customer-alert a:hover,
.dark-theme .ck-customer-alert a:hover {
  color: #6EE7B7 !important;
}
[data-theme="dark"] .ck-customer-alert i,
.dark-theme .ck-customer-alert i {
  color: #34D399 !important;
}

/* Checkout Recap Order Confirmation Details Box & Actions */
[data-theme="dark"] .recap-print,
.dark-theme .recap-print {
  background: var(--surface-1) !important;
  border-color: var(--border) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4) !important;
}
[data-theme="dark"] .recap-print h2,
.dark-theme .recap-print h2 {
  color: #FFFFFF !important;
}
[data-theme="dark"] .recap-print p.text-muted,
.dark-theme .recap-print p.text-muted {
  color: var(--text-muted) !important;
}
[data-theme="dark"] .ck-recap-totals,
.dark-theme .ck-recap-totals {
  background: var(--surface-2) !important;
  border-color: var(--border) !important;
  color: var(--text) !important;
}
[data-theme="dark"] .ck-recap-totals hr,
.dark-theme .ck-recap-totals hr {
  border-color: var(--border) !important;
}
[data-theme="dark"] .ck-recap-shipping-box,
.dark-theme .ck-recap-shipping-box {
  background: var(--surface-1) !important;
  border-color: var(--border) !important;
  color: var(--text) !important;
}
[data-theme="dark"] .ck-recap-shipping-box .fw-semibold,
.dark-theme .ck-recap-shipping-box .fw-semibold {
  color: #FFFFFF !important;
}
[data-theme="dark"] .ck-recap-shipping-box .text-muted,
.dark-theme .ck-recap-shipping-box .text-muted {
  color: var(--text-muted) !important;
}
[data-theme="dark"] .ck-recap-shipping-box strong,
.dark-theme .ck-recap-shipping-box strong {
  color: #FFFFFF !important;
}
[data-theme="dark"] .recap-btn-print,
.dark-theme .recap-btn-print {
  background: var(--surface-2) !important;
  border-color: var(--border) !important;
  color: var(--text) !important;
}
[data-theme="dark"] .recap-btn-print:hover,
.dark-theme .recap-btn-print:hover {
  background: var(--surface-3) !important;
  color: #FFFFFF !important;
}
[data-theme="dark"] .recap-btn-orders,
.dark-theme .recap-btn-orders {
  background: var(--surface-2) !important;
  border-color: var(--border) !important;
  color: var(--text) !important;
}
[data-theme="dark"] .recap-btn-orders:hover,
.dark-theme .recap-btn-orders:hover {
  background: var(--surface-3) !important;
  border-color: var(--border-strong, var(--border)) !important;
  color: #FFFFFF !important;
}
[data-theme="dark"] .recap-btn-shop,
.dark-theme .recap-btn-shop {
  background: var(--primary) !important;
  border-color: var(--primary) !important;
  color: #FFFFFF !important;
  box-shadow: 0 4px 14px rgba(212, 42, 116, 0.4) !important;
}
[data-theme="dark"] .recap-btn-shop:hover,
.dark-theme .recap-btn-shop:hover {
  background: var(--primary-hover, #C21F66) !important;
  color: #FFFFFF !important;
}
[data-theme="dark"] .recap-success-circle,
.dark-theme .recap-success-circle {
  background: rgba(16, 185, 129, 0.16) !important;
  color: #34D399 !important;
  border-color: rgba(16, 185, 129, 0.35) !important;
  box-shadow: 0 0 20px rgba(16, 185, 129, 0.25) !important;
}





