/* ============================================
   DARK MODE — Override semantic tokens
   ============================================ */

body.dark-mode {
  --bg-primary: #262624;
  --bg-card: #323230;
  --bg-card-hover: #3a3a38;
  --bg-nav: #1e1e1c;
  --bg-input: #3a3a38;
  --bg-filter-btn: #3a3a38;
  --text-primary: #e8e6e1;
  --text-secondary: #c0bdb6;
  --text-muted: #8a8880;
  --text-subtle: #a09d96;
  --text-faint: #7a7770;
  --border-light: rgba(255,255,255,0.06);
  --border-medium: rgba(255,255,255,0.1);
  --shadow-card: 0 1px 2px rgba(0,0,0,0.15), 0 3px 8px rgba(0,0,0,0.18), 0 8px 20px rgba(0,0,0,0.12);
  --shadow-card-hover: 0 2px 4px rgba(0,0,0,0.2), 0 6px 16px rgba(0,0,0,0.22), 0 12px 32px rgba(0,0,0,0.15);
  --shadow-header: 0 4px 20px rgba(0,0,0,0.4);
  --cream: #262624;
  --charcoal: #e8e6e1;
  --light-gold: #3a3630;
}

body.dark-mode header {
  background: linear-gradient(135deg, #5a1028 0%, #3d0a1a 100%);
}

body.dark-mode .bottom-nav {
  background: rgba(30,30,28,0.82);
  border-top-color: var(--border-medium);
}

body.dark-mode .nav-item {
  color: var(--text-faint);
}

body.dark-mode .nav-item.active {
  background: var(--crimson);
  color: white;
}

body.dark-mode .filters-inner {
  background: rgba(38,38,36,0.9);
  border-bottom-color: rgba(255,255,255,0.06);
}

body.dark-mode .filter-content {
  background: var(--bg-primary);
}

body.dark-mode .filter-btn,
body.dark-mode .group-category-btn,
body.dark-mode .action-pill {
  background: var(--bg-filter-btn);
  color: var(--text-secondary);
  border-color: var(--border-medium);
}

body.dark-mode .action-pill.directions {
  background: #3367D6;
  border-color: #3367D6;
  color: white;
}

body.dark-mode .filter-btn.active,
body.dark-mode .group-category-btn.active {
  background: var(--crimson);
  color: white;
  border-color: var(--crimson);
}

body.dark-mode .filter-label {
  color: var(--text-muted);
}

body.dark-mode .filter-toggle-btn {
  color: var(--text-secondary);
}

body.dark-mode .distance-slider {
  background: var(--bg-filter-btn);
}

body.dark-mode .distance-slider::-webkit-slider-thumb {
  background: var(--gold);
}

body.dark-mode .toggle-track {
  background: rgba(255,255,255,0.15);
}

/* Cards */
body.dark-mode .church-card,
body.dark-mode .timeline-entry,
body.dark-mode .group-card,
body.dark-mode .more-section,
body.dark-mode .verse-of-day-card,
body.dark-mode .readings-section,
body.dark-mode .saved-tab-btn,
body.dark-mode .saved-card {
  background: var(--bg-card);
  border-color: var(--border-light);
}

body.dark-mode .church-card,
body.dark-mode .timeline-entry,
body.dark-mode .readings-section {
  border-top-color: var(--liturgical-color);
}

body.dark-mode .church-card:hover,
body.dark-mode .timeline-entry:hover,
body.dark-mode .group-card:hover {
  background: var(--bg-card-hover);
}

body.dark-mode .church-area,
body.dark-mode .group-church {
  color: var(--text-muted);
}

body.dark-mode .church-card.has-event-now {
  border-left-color: #4CAF50;
}

body.dark-mode .church-card.has-event-soon {
  border-left-color: var(--gold);
}

body.dark-mode .save-btn {
  color: var(--text-faint);
}

body.dark-mode .save-btn.saved {
  color: var(--gold);
}

body.dark-mode .distance-badge {
  background: var(--bg-filter-btn);
  color: var(--sage);
}

body.dark-mode .group-name {
  color: var(--gold);
}

body.dark-mode .group-meeting {
  color: var(--gold);
}

body.dark-mode .group-card.featured {
  border-left-color: var(--liturgical-color);
}

/* More tab */
body.dark-mode .more-item {
  color: var(--text-primary);
}

body.dark-mode .more-item:hover {
  background: rgba(255,255,255,0.03);
}

body.dark-mode .more-arrow {
  color: var(--text-faint);
}

/* Saved */
body.dark-mode .export-all-btn {
  background: #3a3630;
  border-color: var(--gold);
  color: var(--text-primary);
}

body.dark-mode .saved-tab-btn {
  background: var(--bg-card);
  border-color: var(--border-medium);
  color: var(--text-secondary);
}

body.dark-mode .saved-tab-btn.active {
  background: var(--crimson);
  border-color: var(--crimson);
  color: white;
}

/* Search */
body.dark-mode .search-bar {
  background: var(--bg-input);
  border-color: var(--border-medium);
}

body.dark-mode .search-bar input {
  color: var(--text-primary);
}

/* Community toggle */
body.dark-mode .community-toggle-bar {
  background: var(--bg-primary);
  border-bottom-color: var(--border-light);
}

body.dark-mode .community-toggle-btn {
  background: var(--bg-filter-btn);
  color: var(--text-secondary);
}

body.dark-mode .community-toggle-btn.active {
  background: var(--crimson);
  color: white;
}

body.dark-mode .groups-title {
  color: var(--gold);
}

body.dark-mode .event-card {
  background: var(--bg-card);
  border-color: var(--border-light);
  border-left-color: var(--liturgical-color);
}

body.dark-mode .event-date {
  color: #e0a0a0;
}


/* Liturgical */
body.dark-mode .liturgical-header {
  border-color: var(--border-light);
}

/* Resource links */
body.dark-mode .order-mass-link {
  background: var(--bg-card);
  border-color: var(--border-light);
  border-left-color: var(--liturgical-color);
}

body.dark-mode .order-mass-link:hover {
  background: var(--bg-card-hover);
}

/* Timeline */
body.dark-mode .timeline-time {
  color: #e0a0a0;
}
