/* ── Variables ──────────────────────────────────────────────── */
:root {
  --bleu:       #0066ff;
  --bleu-fonce: #0052cc;
  --fond:       #f4f7ff;
  --blanc:      #ffffff;
  --texte:      #0a1628;
  --texte-sec:  #6b7c8d;
  --rouge:      #e53e3e;
  --vert:       #38a169;
  --orange:     #dd6b20;
}

/* ── Reset & base ───────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

/* ── Fond principal ───────────────────────────────────────────── */
html::before {
  content: '';
  position: fixed;
  inset: 0;
  background: #f4f7ff;
  z-index: -1;
}

body {
  font-family: 'Inter', sans-serif;
  background: transparent;
  color: var(--texte);
  font-size: 16px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

/* ── Utilitaires ────────────────────────────────────────────── */
.hidden { display: none !important; }

/* ── Boutons ────────────────────────────────────────────────── */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 24px;
  border: none;
  border-radius: 8px;
  font-family: inherit;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s, transform 0.1s;
  text-decoration: none;
}
.btn:active { transform: scale(0.98); }

.btn-primary {
  background: var(--bleu);
  color: var(--blanc);
  width: 100%;
}
.btn-primary:hover { background: var(--bleu-fonce); }

.btn-secondary {
  background: transparent;
  color: var(--bleu);
  border: 2px solid var(--bleu);
}
.btn-secondary:hover { background: var(--bleu); color: var(--blanc); }

/* ── Formulaires ────────────────────────────────────────────── */
.form-group { display: flex; flex-direction: column; gap: 6px; }

.form-group label {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--texte);
}

.form-group input {
  height: 48px;
  padding: 0 16px;
  border: 2px solid #dde3ea;
  border-radius: 8px;
  font-family: inherit;
  font-size: 1rem;
  color: var(--texte);
  background: var(--blanc);
  transition: border-color 0.2s;
  outline: none;
}
.form-group input:focus { border-color: var(--bleu); }
.form-group input::placeholder { color: #aab4be; }

/* ── Cartes ─────────────────────────────────────────────────── */
.card {
  background: var(--blanc);
  border-radius: 0 12px 12px 0;
  padding: 20px;
  border: 1px solid #dde6f5;
  border-left: 3px solid #0066ff;
  box-shadow: 0 4px 20px rgba(0,0,0,0.22);
}

/* ── Alerte / message d'erreur ──────────────────────────────── */
.alert {
  padding: 12px 16px;
  border-radius: 8px;
  font-size: 0.9rem;
  font-weight: 500;
}
.alert-error   { background: #fff5f5; color: var(--rouge); border: 1px solid #fed7d7; }
.alert-success { background: #f0fff4; color: var(--vert);  border: 1px solid #c6f6d5; }

/* ── Logo ───────────────────────────────────────────────────── */
.logo {
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--bleu);
  letter-spacing: 2px;
}

/* ── Texte par défaut sombre sur fond clair ─────────────────── */
body { color: #0a1628; }

input, select, textarea {
  background-color: #ffffff;
  color: #0a1628;
  border-color: #dde3ea;
}

input::placeholder,
textarea::placeholder {
  color: #aab4be;
}

/* ── Carte séance : fond clair → texte sombre ──────────────── */
.seance-bloc,
.seance-bloc .seance-nom,
.seance-bloc .seance-jour,
.seance-bloc .no-blocs-hint,
.semaine-bloc .semaine-count,
.semaine-bloc .semaine-titre {
  color: #0a1628 !important;
}

/* ── Formulaire ajout séance : fond clair → texte sombre ───── */
.add-seance-inline label,
.add-seance-inline .form-input,
.add-seance-inline .select-sm,
.add-seance-inline .select-sm option {
  color: #0a1628 !important;
}

.add-seance-inline .form-input,
.add-seance-inline .select-sm {
  background-color: #ffffff !important;
  border-color: #cccccc !important;
}

.add-seance-inline .form-input::placeholder {
  color: #999999 !important;
}

/* ── Constructeur de blocs : fond clair → texte sombre ─────── */
.bloc-card-body .bloc-param-label,
.bloc-card-body .bloc-param-select,
.bloc-card-body .bloc-param-select option,
.bloc-card-body .bloc-consignes,
.bloc-card-body input,
.bloc-exo-table th,
.bloc-exo-table td,
.bloc-exo-table select,
.bloc-exo-table input {
  color: #0a1628 !important;
}

.bloc-card-body .bloc-param-select,
.bloc-card-body .bloc-consignes,
.bloc-card-body input,
.bloc-exo-table select,
.bloc-exo-table input {
  background-color: #ffffff !important;
  border-color: #cccccc !important;
}

.bloc-card-body .bloc-consignes::placeholder,
.bloc-card-body input::placeholder,
.bloc-exo-table input::placeholder {
  color: #999999 !important;
}
