/* Theme global inspiré du bloc newsletter : cartes claires, boutons arrondis, couleurs rose/bleu. */

:root {
  /* Couleur primaire foncée alignée avec l'entête/pied (#2c3696) */
  --yujo-primary: #2c3696;
  --yujo-accent: #e91e63;  /* Rose bouton newsletter */
  --yujo-purple: #6f42c1;  /* Violet */
  --yujo-muted: #6c757d;
  --yujo-bg: #f8f9fa;
  --yujo-card-radius: 14px;
  --yujo-btn-radius: 999px;
  --yujo-shadow: 0 .5rem 1rem rgba(0,0,0,.08);

  /* Override Bootstrap 5 variables pour propager le bleu foncé */
  --bs-primary: #2c3696;
  --bs-primary-rgb: 44, 54, 150;
}

body {
  background-color: var(--yujo-bg);
  color: #1a1f2b;
}

[data-bs-theme="dark"] body {
  background-color: #0b1220;
  color: #f5f7ff;
}

.card {
  border-radius: var(--yujo-card-radius);
  box-shadow: var(--yujo-shadow);
  border: 1px solid #cfd6df;
}

[data-bs-theme="dark"] .card {
  background-color: #111a2b;
  border-color: #4a5a79;
  box-shadow: 0 .6rem 1.2rem rgba(0,0,0,.35);
}

[data-bs-theme="dark"] .text-dark {
  color: #ffffff !important;
}

[data-bs-theme="dark"] .text-muted {
  color: #d4dbea !important;
}

[data-bs-theme="dark"] .text-primary,
[data-bs-theme="dark"] .link-primary {
  color: #9fb1ff !important;
}

.card.border-primary { border-color: var(--yujo-primary) !important; }
.card.border-success { border-color: #198754 !important; }

.btn {
  border-radius: var(--yujo-btn-radius);
}

.btn-primary {
  background-color: var(--bs-primary);
  border-color: var(--bs-primary);
  /* Bootstrap button variable overrides for consistency */
  --bs-btn-bg: var(--bs-primary);
  --bs-btn-border-color: var(--bs-primary);
  --bs-btn-hover-bg: #242d7d;
  --bs-btn-hover-border-color: #242d7d;
  --bs-btn-active-bg: #1d2568;
  --bs-btn-active-border-color: #1d2568;
}

/* Harmoniser les variantes liées à primary */
.btn-outline-primary {
  color: var(--bs-primary);
  border-color: var(--bs-primary);
  --bs-btn-color: var(--bs-primary);
  --bs-btn-border-color: var(--bs-primary);
}
.btn-outline-primary:hover {
  color: #fff;
  background-color: var(--bs-primary);
  border-color: var(--bs-primary);
  --bs-btn-hover-bg: var(--bs-primary);
  --bs-btn-hover-border-color: var(--bs-primary);
}

.badge.bg-primary { background-color: var(--bs-primary) !important; }
.text-primary { color: var(--bs-primary) !important; }
.border-primary { border-color: var(--bs-primary) !important; }

/* Links and pagination in primary tone */
.link-primary { color: var(--bs-primary) !important; }
.link-primary:hover, .link-primary:focus { color: #242d7d !important; }
.page-link { color: var(--bs-primary); }
.page-link:hover { color: #242d7d; }
.active>.page-link, .page-link.active { background-color: var(--bs-primary); border-color: var(--bs-primary); }

.btn-accent {
  background-color: var(--yujo-accent);
  border: none;
  color: #fff;
}

.btn-violet {
  background-color: var(--yujo-purple);
  border: none;
  color: #fff;
}

.btn-gradient {
  background: linear-gradient(90deg, var(--yujo-purple) 0%, var(--yujo-accent) 100%);
  color: #fff;
  border: none;
}

.form-control, .input-group .form-control {
  border-radius: 12px;
}

[data-bs-theme="dark"] .form-control,
[data-bs-theme="dark"] .input-group .form-control {
  background-color: #0f1728;
  color: #f5f7ff;
  border-color: #5b6b8d;
}

[data-bs-theme="dark"] .form-control::placeholder {
  color: #b8c2d6;
}

[data-bs-theme="dark"] .btn-outline-primary {
  color: #c7d2ff;
  border-color: #8ea2ff;
}

[data-bs-theme="dark"] .btn-outline-primary:hover {
  color: #0b1220;
  background-color: #a9b8ff;
  border-color: #a9b8ff;
}

.hover-effect {
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.hover-effect:hover {
  transform: translateY(-4px);
  box-shadow: 0 .75rem 1.25rem rgba(0,0,0,.12);
  border-color: #d0d7de;
}

.badge.bg-success { border-radius: 12px; }

.alert { border-radius: 12px; }

.section-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
  color: #212529;
}

.section-title i { color: var(--yujo-primary); }

/* Bouton rose plein pour actions principales type newsletter */
.btn-cta {
  background-color: var(--yujo-accent);
  border: none;
  color: #fff;
  font-weight: 700;
  border-radius: var(--yujo-btn-radius);
}

.btn-cta:hover { filter: brightness(0.95); }

/* Ajustements petits écrans */
@media (max-width: 576px) {
  .card { border-radius: 12px; }
  .btn { border-radius: 999px; }
}
