/* ============================================================
   PARFUM COMPARATEUR — Dark / Light Mode
   Toggle persistant via localStorage
   ============================================================ */

/* ── VARIABLES MODE CLAIR (défaut) ──────────────────────────── */

:root {
  --pc-navy:        #1B2A4A;
  --pc-gold:        #C9A96E;
  --pc-cream:       #F9F5EF;
  --pc-white:       #FFFFFF;
  --pc-green:       #27ae60;
  --pc-red:         #e74c3c;
  --pc-orange:      #f39c12;
  --pc-grey:        #6b7280;
  --pc-border:      #e8e2d9;
  --pc-shadow:      0 2px 16px rgba(27,42,74,.08);
  --pc-radius:      10px;
  --pc-font:        'Georgia', 'Times New Roman', serif;
  --pc-sans:        -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  /* Surfaces mode clair */
  --pc-bg-page:     #F9F5EF;
  --pc-bg-card:     #FFFFFF;
  --pc-bg-section:  #FFFFFF;
  --pc-bg-input:    #FFFFFF;
  --pc-text-main:   #1B2A4A;
  --pc-text-sub:    #6b7280;
  --pc-text-light:  #9ca3af;
  --pc-border-col:  #e8e2d9;
  --pc-hero-bg:     #1B2A4A;
  --pc-hero-text:   #FFFFFF;
}

/* ── VARIABLES MODE SOMBRE ───────────────────────────────────── */

[data-theme="dark"] {
  --pc-bg-page:     #0f1923;
  --pc-bg-card:     #1a2535;
  --pc-bg-section:  #162030;
  --pc-bg-input:    #1e2d3d;
  --pc-text-main:   #e8e2d9;
  --pc-text-sub:    #94a3b8;
  --pc-text-light:  #64748b;
  --pc-border-col:  #2a3a4f;
  --pc-cream:       #162030;
  --pc-white:       #1a2535;
  --pc-hero-bg:     #0a1520;
  --pc-hero-text:   #e8e2d9;
  --pc-shadow:      0 2px 16px rgba(0,0,0,.3);
  --pc-border:      #2a3a4f;
}

/* ── APPLICATION GLOBALE DES VARIABLES ───────────────────────── */

body {
  background-color: var(--pc-bg-page) !important;
  color: var(--pc-text-main) !important;
  transition: background-color .3s ease, color .3s ease;
}

/* GeneratePress overrides */
.site-header,
.site-footer,
.site-main,
.entry-content,
.page-content {
  background-color: var(--pc-bg-page) !important;
  color: var(--pc-text-main) !important;
}

/* ── TOGGLE BOUTON ───────────────────────────────────────────── */

.pc-theme-toggle {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 9999;
  background: var(--pc-bg-card);
  border: 2px solid var(--pc-border-col);
  border-radius: 50px;
  padding: 10px 18px;
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  box-shadow: 0 4px 20px rgba(0,0,0,.15);
  transition: all .2s;
  font-family: var(--pc-sans);
  font-size: 13px;
  font-weight: 600;
  color: var(--pc-text-main);
  user-select: none;
}
.pc-theme-toggle:hover {
  box-shadow: 0 6px 28px rgba(0,0,0,.2);
  transform: translateY(-1px);
  border-color: var(--pc-gold);
}
.pc-theme-toggle__icon { font-size: 18px; line-height: 1; }
.pc-theme-toggle__label { font-size: 12px; color: var(--pc-text-sub); }

/* Switch visuel */
.pc-theme-switch {
  width: 36px;
  height: 20px;
  background: var(--pc-border-col);
  border-radius: 10px;
  position: relative;
  transition: background .2s;
  flex-shrink: 0;
}
.pc-theme-switch::after {
  content: '';
  position: absolute;
  top: 2px;
  left: 2px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #fff;
  transition: transform .2s, background .2s;
  box-shadow: 0 1px 4px rgba(0,0,0,.2);
}
[data-theme="dark"] .pc-theme-switch {
  background: var(--pc-gold);
}
[data-theme="dark"] .pc-theme-switch::after {
  transform: translateX(16px);
  background: var(--pc-navy);
}

/* ── CARTES & SECTIONS ───────────────────────────────────────── */

.pc-single-parfum,
.pc-single-boutique,
.pc-home { background: var(--pc-bg-page) !important; }

.pc-hero { background: var(--pc-hero-bg) !important; }
.pc-hero-home { background: var(--pc-hero-bg) !important; }
.pc-section--white { background: var(--pc-bg-section) !important; }
.pc-section--cream { background: var(--pc-bg-page) !important; }

/* Comparateur table */
.pc-table-wrapper {
  border-color: var(--pc-border-col) !important;
}
.pc-table th {
  background: var(--pc-navy) !important;
}
.pc-table td {
  border-color: var(--pc-border-col) !important;
  color: var(--pc-text-main) !important;
  background: var(--pc-bg-card) !important;
}
.pc-table tbody tr:hover td {
  background: var(--pc-bg-page) !important;
}
.pc-row-best td { background: var(--pc-bg-page) !important; }

/* Cartes boutique scores */
.pc-score-item {
  background: var(--pc-bg-card) !important;
  border-color: var(--pc-border-col) !important;
}
.pc-boutique-infos { background: var(--pc-bg-section) !important; border-color: var(--pc-border-col) !important; }
.pc-info-card {
  background: var(--pc-bg-page) !important;
  border-color: var(--pc-border-col) !important;
}
.pc-info-card__value { color: var(--pc-text-main) !important; }
.pc-info-card__label { color: var(--pc-text-sub) !important; }

/* Cartes parfums */
.pc-parfum-card {
  background: var(--pc-bg-card) !important;
  border-color: var(--pc-border-col) !important;
}
.pc-parfum-card__img-wrap { background: var(--pc-bg-page) !important; }
.pc-parfum-card__nom { color: var(--pc-text-main) !important; }

/* Classement boutiques */
.pc-ranking-table { border-color: var(--pc-border-col) !important; }
.pc-rank-row {
  border-color: var(--pc-border-col) !important;
  background: var(--pc-bg-section) !important;
}
.pc-rank-row:hover { background: var(--pc-bg-page) !important; }
.pc-rank-name { color: var(--pc-text-main) !important; }
.pc-rank-score-bar { background: var(--pc-border-col) !important; }
.pc-rank-score-label { color: var(--pc-text-sub) !important; }

/* Pyramide olfactive */
.pc-pyramide__tete  { background: var(--pc-bg-page) !important; }
.pc-pyramide__coeur { background: var(--pc-bg-section) !important; }
.pc-pyramide__fond  { background: var(--pc-border-col) !important; }
.pc-pyramide { border-color: var(--pc-border-col) !important; }
.pc-pyramide__notes { color: var(--pc-text-main) !important; }

/* Attributs */
.pc-attr {
  background: var(--pc-bg-page) !important;
  border-color: var(--pc-border-col) !important;
}
.pc-attr__value { color: var(--pc-text-main) !important; }

/* Critères grille */
.pc-criteria-card {
  background: var(--pc-bg-card) !important;
  border-color: var(--pc-border-col) !important;
}
.pc-criteria-card__title { color: var(--pc-text-main) !important; }
.pc-criteria-card__desc { color: var(--pc-text-sub) !important; }

/* Tabs */
.pc-tabs { background: var(--pc-bg-page) !important; }
.pc-tab { color: var(--pc-text-sub) !important; }
.pc-tab:hover { background: var(--pc-bg-card) !important; color: var(--pc-text-main) !important; }

/* Barre de recherche */
.pc-search-bar__inner { background: var(--pc-bg-card) !important; }
.pc-search-bar__input {
  background: transparent !important;
  color: var(--pc-text-main) !important;
}
.pc-search-results {
  background: var(--pc-bg-card) !important;
  box-shadow: 0 16px 48px rgba(0,0,0,.3) !important;
}
.pc-search-result-item {
  color: var(--pc-text-main) !important;
  border-color: var(--pc-border-col) !important;
}
.pc-search-result-item:hover { background: var(--pc-bg-page) !important; }
.pc-search-result-img-placeholder,
.pc-search-result-img { background: var(--pc-bg-page) !important; }

/* Hero stats */
.pc-hero-stat {
  background: rgba(255,255,255,.05) !important;
  border-color: rgba(201,169,110,.2) !important;
}

/* Dupe cards */
.pc-dupe-card {
  background: var(--pc-bg-card) !important;
  border-color: var(--pc-border-col) !important;
}

/* FAQ */
.pc-faq-item { border-color: var(--pc-border-col) !important; }
.pc-faq-q { color: var(--pc-text-main) !important; }
.pc-faq-a p { color: var(--pc-text-sub) !important; }

/* Sections titre */
.pc-section-title { color: var(--pc-text-main) !important; }
.pc-section-sub { color: var(--pc-text-sub) !important; }

/* Description */
.pc-description-body { color: var(--pc-text-main) !important; }

/* Disclaimer */
.pc-disclaimer { color: var(--pc-text-sub) !important; }

/* Bouton outline */
.pc-btn-outline {
  border-color: var(--pc-border-col) !important;
  color: var(--pc-text-main) !important;
}
.pc-btn-outline:hover {
  background: var(--pc-text-main) !important;
  color: var(--pc-bg-card) !important;
}

/* Admin boutique formulaire */
.pc-single-boutique .pc-boutique-scores { background: var(--pc-bg-page) !important; }
.pc-boutique-description { background: var(--pc-bg-section) !important; }

/* Navigation GeneratePress */
[data-theme="dark"] .site-header {
  background: var(--pc-bg-card) !important;
  border-bottom: 1px solid var(--pc-border-col) !important;
}
[data-theme="dark"] .main-navigation a,
[data-theme="dark"] .site-title a {
  color: var(--pc-text-main) !important;
}
[data-theme="dark"] .main-navigation .current-menu-item > a {
  color: var(--pc-gold) !important;
}

/* Footer */
[data-theme="dark"] .site-footer {
  background: var(--pc-bg-card) !important;
  color: var(--pc-text-sub) !important;
  border-top: 1px solid var(--pc-border-col) !important;
}

/* Transition globale */
*, *::before, *::after {
  transition: background-color .3s ease, border-color .3s ease, color .2s ease;
}
/* Sauf les animations qui ne doivent pas être ralenties */
.pc-spinner, .pc-score-bar__fill, .pc-rank-score-fill {
  transition: none !important;
}
