/* Thème site public DNDS/DNPSES - design 2024 */
:root {
  --site-primary: #0d9488;
  --site-primary-dark: #0f766e;
  --site-primary-light: #14b8a6;
  --site-accent: #f59e0b;
  --site-bg: #f8fafc;
  --site-card: #ffffff;
  --site-text: #1e293b;
  --site-text-muted: #64748b;
  --site-border: #e2e8f0;
  --site-nav-bg: #ffffff;
  --site-nav-text: #0f172a;
  --site-footer-bg: #0f172a;
  --site-footer-text: #94a3b8;
  --site-shadow: 0 1px 3px rgba(0,0,0,0.08);
  --site-shadow-md: 0 4px 12px rgba(0,0,0,0.08);
  --site-radius: 0.5rem;
  --site-radius-lg: 0.75rem;
}

body.site-theme {
  font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  background-color: var(--site-bg);
  color: var(--site-text);
}

.pt-navbar {
  padding-top: 4.5rem;
}

/* Navbar */
.site-theme .navbar.topbar {
  background: var(--site-nav-bg) !important;
  border-bottom: 1px solid var(--site-border);
  box-shadow: var(--site-shadow);
  padding: 0.5rem 1rem;
}

.site-theme .navbar .navbar-brand {
  font-weight: 700;
  color: var(--site-primary-dark) !important;
  font-size: 1.25rem;
}

.site-theme .navbar .nav-link {
  color: var(--site-text-muted) !important;
  font-weight: 500;
  padding: 0.5rem 0.75rem !important;
  border-radius: var(--site-radius);
}

.site-theme .navbar .nav-link:hover {
  color: var(--site-primary) !important;
  background: rgba(13, 148, 136, 0.08);
}

.site-theme .navbar .nav-link i {
  margin-right: 0.25rem;
}

.site-theme .btn-primary {
  background: var(--site-primary);
  border-color: var(--site-primary);
}

.site-theme .btn-primary:hover {
  background: var(--site-primary-dark);
  border-color: var(--site-primary-dark);
}

.site-theme .btn-outline-primary {
  color: var(--site-primary);
  border-color: var(--site-primary);
}

.site-theme .btn-outline-primary:hover {
  background: rgba(13, 148, 136, 0.1);
  color: var(--site-primary-dark);
  border-color: var(--site-primary-dark);
}

/* Hero */
.site-theme .hero-index {
  background: linear-gradient(135deg, var(--site-primary-dark) 0%, var(--site-primary) 50%, var(--site-primary-light) 100%);
  color: #fff;
  border-radius: 0 0 var(--site-radius-lg) var(--site-radius-lg);
  box-shadow: var(--site-shadow-md);
}

.site-theme .hero-index .btn-primary {
  background: #fff;
  color: var(--site-primary-dark);
  border: none;
}

.site-theme .hero-index .btn-primary:hover {
  background: var(--site-bg);
  color: var(--site-primary-dark);
}

/* Cards */
.site-theme .card {
  border: 1px solid var(--site-border);
  border-radius: var(--site-radius-lg);
  box-shadow: var(--site-shadow);
  background: var(--site-card);
}

.site-theme .card-header {
  background: var(--site-card) !important;
  color: var(--site-text) !important;
  border-bottom: 1px solid var(--site-border);
  font-weight: 600;
}

.site-theme .title-widget::before {
  background-color: var(--site-primary) !important;
}

.site-theme .sub-title {
  color: var(--site-primary-dark) !important;
}

.site-theme #nested .panel-heading a:hover {
  color: var(--site-primary) !important;
}

.site-theme .list-group-item-action:hover {
  background: rgba(13, 148, 136, 0.06);
}

/* Footer */
.site-theme .footer {
  background: var(--site-footer-bg) !important;
  color: var(--site-footer-text);
  padding: 1.5rem 0;
  margin-top: 2rem;
  border-radius: var(--site-radius-lg) var(--site-radius-lg) 0 0;
}

.site-theme .footer .design {
  background: transparent !important;
  color: var(--site-footer-text) !important;
}

.site-theme .footer .design a {
  color: var(--site-primary-light) !important;
}

.site-theme .footer .design a:hover {
  text-decoration: underline;
}

/* Flatpickr (base) - keep primary for consistency */
.site-theme .flatpickr-months .flatpickr-month,
.site-theme .flatpickr-current-month .flatpickr-monthDropdown-months,
.site-theme .flatpickr-day.selected {
  background: var(--site-primary) !important;
  border-color: var(--site-primary) !important;
}

.site-theme .flatpickr-day.today {
  border-color: var(--site-primary) !important;
}

.site-theme .flatpickr-day:hover {
  background: rgba(13, 148, 136, 0.15) !important;
}
