/*
 * Thème : Lumière — Minimaliste & Professionnel
 * ─────────────────────────────────────────────
 * Design épuré, blanc cassé, typographie élégante.
 * Accent bleu froid. Idéal pour associations, mairies, sites institutionnels.
 */

/* ── Variables ─────────────────────────────────────────────── */
:root {
  --th-accent:       #2563eb;
  --th-accent-dark:  #1d4ed8;
  --th-accent-light: #eff6ff;
  --th-bg:           #fafafa;
  --th-surface:      #ffffff;
  --th-border:       #e5e7eb;
  --th-text:         #111827;
  --th-muted:        #6b7280;
  --th-radius:       .375rem;
}

/* ── Body ───────────────────────────────────────────────────── */
body {
  background-color: var(--th-bg) !important;
  color: var(--th-text) !important;
}

/* ── Navbar ─────────────────────────────────────────────────── */
.navbar {
  background-color: var(--th-surface) !important;
  border-bottom: 1px solid var(--th-border) !important;
  box-shadow: none !important;
  padding: .75rem 0;
}

.navbar .nav-link {
  font-weight: 500;
  letter-spacing: .01em;
}

.navbar .nav-link:hover,
.navbar .nav-link:focus {
  background-color: var(--th-accent-light) !important;
  color: var(--th-accent) !important;
}

.navbar-brand {
  font-weight: 700;
  letter-spacing: -.02em;
}

.navbar .dropdown-menu {
  border-radius: var(--th-radius);
  border: 1px solid var(--th-border) !important;
  box-shadow: 0 4px 16px rgba(0,0,0,.06);
}

/* ── Cards & Articles ───────────────────────────────────────── */
.card, article {
  background-color: var(--th-surface) !important;
  border: 1px solid var(--th-border) !important;
  border-radius: var(--th-radius) !important;
  box-shadow: 0 1px 3px rgba(0,0,0,.05) !important;
}

.card:hover, article:hover {
  box-shadow: 0 4px 12px rgba(37,99,235,.08) !important;
  border-color: #bfdbfe !important;
  transform: translateY(-2px);
}

/* ── Titres ─────────────────────────────────────────────────── */
h1, h2, h3, h4, h5, h6 {
  font-weight: 700;
  letter-spacing: -.02em;
}

/* ── Boutons ────────────────────────────────────────────────── */
.btn-primary {
  background-color: var(--th-accent) !important;
  border-color: var(--th-accent) !important;
  border-radius: var(--th-radius);
  font-weight: 500;
}

.btn-primary:hover {
  background-color: var(--th-accent-dark) !important;
  border-color: var(--th-accent-dark) !important;
}

.btn-outline-primary {
  color: var(--th-accent) !important;
  border-color: var(--th-accent) !important;
}

/* ── Sections alternées ─────────────────────────────────────── */
section.bg-light, .bg-light {
  background-color: var(--th-accent-light) !important;
}

/* ── Footer ─────────────────────────────────────────────────── */
footer {
  background-color: var(--th-surface) !important;
  border-top: 1px solid var(--th-border) !important;
  color: var(--th-muted);
}

/* ── Colonnes latérales ─────────────────────────────────────── */
body::before, body::after {
  background: linear-gradient(180deg, #f1f5f9 0%, #e2e8f0 100%) !important;
}

/* ── Misc ───────────────────────────────────────────────────── */
hr { border-color: var(--th-border); }
.text-muted { color: var(--th-muted) !important; }
a { color: var(--th-accent); }
a:hover { color: var(--th-accent-dark); }
