/* Parents Étoile Réunion — Design System · tokens partagés (source unique de la charte) */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@600;700;800&family=Nunito:wght@400;600;700;800&family=Caveat:wght@600;700&family=Oswald:wght@500;600;700&display=swap');

:root{
  /* Couleurs de marque */
  --nuit:#1F3B63;         /* bleu nuit — titres, texte */
  --dore:#F2B84C;         /* doré étoile — symbole, lumière */
  --corail:#E8825E;       /* corail — accents, dates, dons */
  --corail-fonce:#cf6a47; /* corail survol */
  --rose:#DFA9A3;         /* rose poudré — douceur, formes */
  --bleu-clair:#BFD1E6;   /* bleu clair — fonds doux */
  --creme:#FBF4E7;        /* crème — fond de page */
  --blanc:#FFFFFF;        /* blanc — cartes */

  /* Neutres & surfaces */
  --ink:#1F3B63;
  --muted:#7c8aa0;
  --line:#e7e2d6;
  --bg:#FBF4E7;
  --bg-card:#FFFFFF;

  /* Surfaces & textes sur fond bleu nuit */
  --nuit-surface:#2B4C7A;   /* cartes posées sur un fond bleu nuit */
  --sur-nuit:#BFD1E6;       /* texte courant sur bleu nuit */
  --sur-nuit-doux:#8FA8CA;  /* texte secondaire sur bleu nuit */
  --sur-corail-doux:#FFF3EC; /* texte secondaire sur corail */

  /* Dégradé de marque (rare — coucher de soleil) */
  --grad-brand:linear-gradient(135deg,var(--dore),var(--corail));

  /* Typographie */
  --ff-display:'Playfair Display',Georgia,serif;   /* @kind font */ /* titres & accroches */
  --ff-script:'Caveat',cursive;                    /* @kind font */ /* slogans manuscrits */
  --ff-event:'Oswald',system-ui,sans-serif;        /* @kind font */ /* grands titres d'événement */
  --ff-body:'Nunito',system-ui,sans-serif;         /* @kind font */ /* texte courant */

  /* Forme */
  --r:22px;
  --r-sm:16px;
  --shadow:0 10px 30px rgba(31,59,99,.06);
  --shadow-lg:0 18px 44px rgba(31,59,99,.12);
}

*{box-sizing:border-box;}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:var(--ff-body); -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
}
a{color:var(--corail); text-decoration:none;} a:hover{color:var(--corail-fonce);}

/* ── Primitives partagées ─────────────────────────────── */
.card{background:var(--bg-card); border-radius:var(--r); box-shadow:var(--shadow);}

.kicker{font-family:var(--ff-body); font-weight:800; letter-spacing:.22em; text-transform:uppercase; font-size:14px; color:var(--corail);}
.lbl{font-family:var(--ff-body); font-weight:700; color:var(--muted); font-size:13px; text-transform:uppercase; letter-spacing:.08em;}

/* Boutons */
.btn{display:inline-flex; align-items:center; gap:9px; font-family:var(--ff-body); font-weight:800; font-size:16px;
  padding:13px 22px; border:0; border-radius:30px; cursor:pointer; line-height:1;
  background:var(--corail); color:#fff; text-decoration:none;}
.btn:hover{background:var(--corail-fonce); color:#fff;}
.btn svg{width:18px; height:18px;}
.btn-nuit{background:var(--nuit);} .btn-nuit:hover{background:#16294a;}
.btn-ghost{background:#fff; color:var(--nuit); box-shadow:inset 0 0 0 2px var(--nuit);}
.btn-ghost:hover{background:var(--nuit); color:#fff;}
.btn-sm{padding:9px 16px; font-size:14px;} .btn-lg{padding:16px 28px; font-size:18px;}

/* Tags rectangulaires */
.tag{display:inline-block; font-family:var(--ff-body); font-weight:800; letter-spacing:.12em;
  text-transform:uppercase; font-size:14px; padding:8px 18px; border-radius:8px;}
.tag-benevolat{background:var(--rose); color:#5f2f2b;}
.tag-evenement{background:var(--dore); color:#5b4413;}
.tag-temoignage{background:var(--bleu-clair); color:var(--nuit);}

/* Badge rond à icône */
.badge{width:78px; height:78px; border-radius:50%; display:flex; align-items:center; justify-content:center;}
