/* ==========================================================================
   Art of Wellness — Design tokens
   Source : docs/DA-RECAP.pdf (« Becoming Her », Édition Corse · 9–13 nov. 2026)
   Sept couleurs, pas une de plus. Deux polices seulement.
   ========================================================================== */

@import url("https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,100;9..40,300;9..40,400;9..40,500&family=Playfair+Display:ital,wght@0,700;1,700&display=swap");

:root {
  /* --- Palette ------------------------------------------------------------ */
  --rosa: #F8D7E0;          /* Rose pâle — fond principal. Jamais en texte sur fond clair. */
  --salvia: #A8BC9A;        /* Sauge — fonds secondaires, arches, cadres, fonds photo. Jamais en texte. */
  --salvia-scura: #5C7457;  /* Sauge profonde — logo, titres, prix, boutons, visuels « forts ». */
  --limone: #F9E07A;        /* Jaune citron — accent uniquement : badges, surlignage, « Her » sur sauge profonde. */
  --panna: #FBF6F0;         /* Blanc cassé — fonds neutres, texte clair sur sauge profonde. (Jamais #FFF) */
  --lino: #EFE9E1;          /* Beige — fonds doux, encadrés, blocs info. Jamais à côté de panna. */
  --nero: #141414;          /* Noir — texte courant sur fonds clairs. (Jamais #000) */

  /* Site web uniquement (décision client) : fonds = blanc cassé + beige clair en alternance */
  --lino-clair: #F1ECE4;    /* Beige clair, version allégée de Lino pour les fonds de sections */

  /* --- Rôles sémantiques -------------------------------------------------- */
  --bg-page: var(--panna);
  --bg-neutral: var(--panna);
  --bg-soft: var(--lino);
  --bg-secondary: var(--salvia);
  --bg-strong: var(--salvia-scura);

  --text-body: var(--nero);
  --text-heading: var(--salvia-scura);
  --text-on-strong: var(--panna);
  --accent: var(--limone);

  --btn-bg: var(--salvia-scura);
  --btn-text: var(--panna);

  /* --- Typographie -------------------------------------------------------- */
  --font-display: "Playfair Display", Georgia, serif; /* 700 droit + 700 italique uniquement */
  --font-body: "DM Sans", system-ui, sans-serif;

  --fw-thin: 100;     /* Uniquement très grand : chiffre/mot d'impact (« 10 », « 5 days ») */
  --fw-light: 300;    /* Paragraphes, légendes, descriptions */
  --fw-regular: 400;  /* Texte sur fond coloré ou en petite taille */
  --fw-medium: 500;   /* MAJUSCULES espacées : lieu, dates, boutons, badges */
  --fw-display: 700;

  --tracking-caps: 0.2em;
}

/* --- Helpers typographiques ---------------------------------------------- */

/* Titres : Playfair Bold. Un seul mot en <em> (Bold Italic) par titre court. */
.h-display {
  font-family: var(--font-display);
  font-weight: var(--fw-display);
  color: var(--text-heading);
  line-height: 1.05;
}
.h-display em { font-style: italic; }

/* « Her » / mot surligné en citron — uniquement sur fond sauge profonde. */
.on-strong .accent-word { color: var(--limone); }

/* Petites mentions : DM Sans Medium, majuscules espacées. */
.eyebrow {
  font-family: var(--font-body);
  font-weight: var(--fw-medium);
  text-transform: uppercase;
  letter-spacing: var(--tracking-caps);
  font-size: 0.75rem;
}

/* Chiffre / mot d'impact : DM Sans Thin, uniquement en très grand. */
.impact {
  font-family: var(--font-body);
  font-weight: var(--fw-thin);
  line-height: 1;
}

.body-text {
  font-family: var(--font-body);
  font-weight: var(--fw-light);
  color: var(--text-body);
}

/* Badge citron (« 10 guests only ») */
.badge {
  display: inline-block;
  background: var(--limone);
  color: var(--salvia-scura);
  font-family: var(--font-body);
  font-weight: var(--fw-medium);
  text-transform: uppercase;
  letter-spacing: var(--tracking-caps);
  font-size: 0.7rem;
  padding: 0.4em 1em;
  border-radius: 999px;
}

/* Bouton principal (« RESERVE YOUR PLACE ») */
.btn {
  display: inline-block;
  background: var(--btn-bg);
  color: var(--btn-text);
  font-family: var(--font-body);
  font-weight: var(--fw-medium);
  text-transform: uppercase;
  letter-spacing: var(--tracking-caps);
  font-size: 0.8rem;
  padding: 1.1em 2.2em;
  border: 0;
  border-radius: 999px;
  text-decoration: none;
  cursor: pointer;
}
