:root {
  --color-primary-base: 43 122 59;
  --color-primary-gradient: 33 95 46;
  --color-primary-button-text: 43 122 59;
  --color-primary-button-alternative-text: 255 255 255;
  --color-secondary-base: 194 37 92;
  --color-secondary-gradient: 151 28 71;
  --color-secondary-button-text: 255 255 255;
  --color-tertiary-base: 33 60 40;
  --color-tertiary-gradient: 25 46 31;
  --color-tertiary-button-text: 255 255 255;
  --color-success-base: 47 158 68;
  --color-success-gradient: 36 123 53;
  --color-success-button-text: 33 37 41;
  --color-info-base: 25 113 194;
  --color-info-gradient: 19 88 151;
  --color-info-button-text: 255 255 255;
  --color-warning-base: 240 140 0;
  --color-warning-gradient: 187 109 0;
  --color-warning-button-text: 33 37 41;
  --color-danger-base: 224 49 49;
  --color-danger-gradient: 174 38 38;
  --color-danger-button-text: 255 255 255;
  --color-form-base: 43 122 59;
}

/* ===== Habillage ludique collège (ajouté par chamilo_theme_college.py) ===== */
:root { --college-rayon: 14px; }

/* Police arrondie si disponible sur le poste, sinon police système (aucun appel externe : RGPD) */
body {
  font-family: ui-rounded, "Nunito", "Quicksand", "Segoe UI", system-ui, sans-serif;
}

/* Liseré multicolore en haut de toutes les pages */
body::before {
  content: "";
  position: fixed; top: 0; left: 0; right: 0; height: 5px; z-index: 9999;
  pointer-events: none;
  background: linear-gradient(90deg,
    rgb(var(--color-primary-base)), rgb(var(--color-secondary-base)),
    rgb(var(--color-success-base)), rgb(var(--color-warning-base)));
}

/* Boutons en forme de pastille */
.p-button, .btn, button[type="submit"] {
  border-radius: 9999px !important;
  font-weight: 600;
}

/* Cartes et panneaux plus arrondis, petit effet au survol */
.p-card, .card, .p-panel, .course-box {
  border-radius: var(--college-rayon) !important;
}
.p-card:hover, .card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgb(var(--color-primary-base) / 0.18);
  transition: transform .15s ease, box-shadow .15s ease;
}

/* Respect des préférences d'accessibilité (animations réduites) */
@media (prefers-reduced-motion: reduce) {
  .p-card:hover, .card:hover { transform: none; transition: none; }
}
