/* ── Variables ── */
:root {
  --primary: #1F4E78;
  --bottom-nav-height: 64px;
}

/* ── Global ── */
body {
  background: #f4f6f9;
  padding-bottom: var(--bottom-nav-height); /* espace pour la nav mobile */
}

@media (min-width: 992px) {
  body { padding-bottom: 0; }
}

/* ── Navbar ── */
.navbar { box-shadow: 0 2px 8px rgba(0,0,0,.15); }
.bg-primary { background-color: var(--primary) !important; }

/* ── Cards ── */
.card {
  border-radius: 12px;
}

/* ── Bottom nav mobile ── */
#bottom-nav {
  height: var(--bottom-nav-height);
  box-shadow: 0 -2px 8px rgba(0,0,0,.08);
  z-index: 1030;
}

#bottom-nav a {
  font-size: 0.65rem;
}

/* ── Calendrier ── */
#calendar {
  background: #fff;
  border-radius: 12px;
  padding: 12px;
  box-shadow: 0 2px 8px rgba(0,0,0,.06);
}

.fc .fc-toolbar-title {
  font-size: 1.1rem;
  font-weight: 600;
}

.fc .fc-button {
  padding: 0.25rem 0.6rem;
  font-size: 0.8rem;
}

.fc-event {
  border-radius: 4px !important;
  font-size: 0.75rem !important;
  cursor: pointer;
}

/* ── Formulaires ── */
.form-control:focus,
.form-select:focus {
  border-color: var(--primary);
  box-shadow: 0 0 0 0.2rem rgba(31,78,120,.2);
}

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

.btn-primary:hover {
  background-color: #163a5a;
  border-color: #163a5a;
}

/* ── Badges & statuts ── */
.badge { font-weight: 500; }

/* ── Utilitaires ── */
.list-group-item { border-left: none; border-right: none; }
.table th { font-weight: 600; font-size: .85rem; }
.card-header { font-size: .9rem; }
