/**
 * MyZen — socle commun : LES JETONS.
 *
 * Source unique des couleurs, polices, rayons et ombres des trois outils
 * (espace membre, espace coach, console réception) et des écrans qui les
 * entourent (compte, packs, planning).
 *
 * Avant ce fichier, les dix mêmes couleurs étaient déclarées 35 fois dans six
 * jeux de variables distincts. Chaque retouche devait donc être répétée six
 * fois — ou, plus souvent, l'était une seule, et les interfaces s'éloignaient.
 *
 * ── Deux règles ──────────────────────────────────────────────────────────
 *
 * 1. Les couleurs de marque référencent les variables globales du thème
 *    (Elementor / VamTam) avec un repli. Changer le terracotta dans Elementor
 *    doit continuer de repeindre les interfaces.
 *
 *    🔴 D'OÙ LE « :root, body » DES DEUX BLOCS CI-DESSOUS, ET PAS « :root ».
 *    Elementor pose ses globales sur `body.elementor-kit-9`, jamais sur
 *    <html>. Une référence `var(--e-global-…)` écrite sur :root se résout
 *    DONC au repli, toujours — les jetons cessent de suivre le thème sans
 *    que rien ne le signale. Mesuré le 2026-09-15 : déclaré sur :root,
 *    --mc-muted rendait #948B80 (le repli) au lieu de #C1BAB5 (la globale).
 *    Les quatre autres couleurs ne bronchaient pas, leur repli étant égal à
 *    la globale : un seul jeton sur cinq trahissait la panne.
 *
 *    ⚠ La page /reception/ n'est PAS construite avec Elementor : la feuille du
 *    kit (post-9.css) n'y est pas imprimée et AUCUNE variable globale n'y est
 *    définie. C'est donc le repli qui s'applique sur la console. Les replis
 *    ci-dessous doivent rester égaux aux valeurs réglées dans Elementor, sinon
 *    la console dérive du reste du site. Vérifié le 2026-09-15 : accent_1
 *    #D45700, accent_2 #344033, accent_4 #F2E9E3, accent_8 #FAF9F7.
 *
 * 2. Les noms historiques (--mc-, --md-, --pk-, --pl-, --rc-, --a-) sont
 *    conservés comme alias en bas de fichier : aucun sélecteur existant n'a eu
 *    besoin d'être réécrit, et les 561 usages en place continuent de marcher.
 *
 * ── Les divergences — tranchées le 2026-09-23 ────────────────────────────
 *
 * Les six paires de valeurs proches (gris, terracotta clair, filet, vert,
 * gris « absent », rayon) sont unifiées : un seul gris lisible (#7D756C), le
 * terracotta clair du thème (accent_3), un seul filet, un seul vert, un seul
 * rayon. Les anciens noms restent en alias pour ne rien réécrire.
 */

:root, body {
  /* ---- Marque — suivent les couleurs globales du thème ------------------ */
  --mz-accent:   var(--e-global-color-vamtam_accent_1,#D45700);
  --mz-ink:      var(--e-global-color-vamtam_accent_2,#344033);
  --mz-cream:    var(--e-global-color-vamtam_accent_4,#F2E9E3);
  --mz-ground:   var(--e-global-color-vamtam_accent_8,#FAF9F7);
  --mz-surface:  #FFFFFF;
  --mz-body:     #4A443C;

  /* ---- Gris de texte --------------------------------------------------- */
  /* ⚠ divergence : trois gris pour un seul rôle « texte secondaire ».
     accent_7 vaut #C1BAB5 en prod — donc le membre et le coach affichent
     #C1BAB5 là où la console affiche #9A938D. À unifier au lot 6. */
  /* Unifié le 2026-09-23 : UN seul gris secondaire, lisible (4,5:1 sur blanc).
     accent_7 du thème (#C1BAB5) tombait à 1,9:1 — illisible sur mobile. */
  --mz-muted:    #7D756C;
  --mz-neutral:  var(--mz-muted);
  --mz-ink-soft: #6E756C;

  /* ---- Filets et aplats terracotta ------------------------------------- */
  /* ⚠ divergence : la console utilise #FFDFCD, qui est la couleur de marque
     accent_3 du thème ; les autres écrans utilisent #FBEEE4, qui n'existe
     nulle part dans le thème. La console a raison — à trancher au lot 1. */
  /* Unifié le 2026-09-23 sur la couleur du thème (accent_3), comme la console. */
  --mz-accent-soft-warm: var(--e-global-color-vamtam_accent_3,#FFDFCD);
  --mz-accent-soft:      var(--mz-accent-soft-warm);
  /* ⚠ divergence : deux filets à 5 points d'écart. */
  --mz-line:      #E8E1DA;
  --mz-line-warm: var(--mz-line);
  --mz-field-line:#D9D1C9;   /* bord de champ : un cran plus marqué que le filet */

  /* ---- États ----------------------------------------------------------- */
  --mz-ok-ink:#2E6B3E;  --mz-ok-bg:#E7F1E9;
  /* ⚠ divergence : le vert de la console, à 1 point du précédent. */
  --mz-ok-ink-warm:var(--mz-ok-ink);  --mz-ok-bg-warm:var(--mz-ok-bg);
  --mz-wait-ink:#9A6A00;  --mz-wait-bg:#F8EED6;
  --mz-warn-ink:#A33C00;  --mz-warn-bg:#FFEDE3;
  /* ⚠ divergence : absent/complet, gris clair côté membre, plus sombre côté coach. */
  --mz-off-ink:#767676;  --mz-off-ink-dark:#767676;  --mz-off-bg:#F0EFEC;

  /* ---- Espacement : une seule échelle (4 px) ---------------------------- */
  --mz-s1:4px; --mz-s2:8px; --mz-s3:12px; --mz-s4:16px; --mz-s5:20px;
  --mz-s6:24px; --mz-s7:32px; --mz-s8:40px; --mz-s9:56px;
  --mz-gutter:16px;           /* marge latérale sur mobile */
  --mz-page:960px;            /* largeur utile de TOUTES les pages (hors console) */
  --mz-card-pad:22px;

  /* ---- Typographie ----------------------------------------------------- */
  --mz-display:"Gotu",Georgia,serif;
  --mz-sans:"Archivo",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;

  /* ---- Formes ---------------------------------------------------------- */
  --mz-radius:18px;
  --mz-radius-lg:var(--mz-radius);
  --mz-radius-sm:12px;          /* champs, blocs internes */
  --mz-shadow-card:0 1px 2px rgba(52,64,51,.04),0 8px 24px -12px rgba(52,64,51,.14);
  --mz-shadow-soft:0 10px 34px rgba(64,58,51,.07);
  --mz-shadow-mid:0 12px 36px rgba(64,58,51,.08);
  --mz-shadow-deep:0 14px 40px rgba(64,58,51,.09);
}

/* =========================================================================
   ALIAS — les noms historiques pointent vers le socle.
   Rien à réécrire dans les feuilles filles ; elles n'ont plus qu'à supprimer
   leur copie des valeurs.
   ========================================================================= */

:root, body {
  /* Espace membre — myzen-dashboard.css */
  --md-surface:var(--mz-surface);
  --md-cream:var(--mz-cream);
  --md-ink:var(--mz-ink);
  --md-body:var(--mz-body);
  --md-muted:var(--mz-muted);
  --md-accent:var(--mz-accent);
  --md-accent-soft:var(--mz-accent-soft);
  --md-line:var(--mz-line);
  --md-ok-ink:var(--mz-ok-ink);--md-ok-bg:var(--mz-ok-bg);
  --md-wait-ink:var(--mz-wait-ink);--md-wait-bg:var(--mz-wait-bg);
  --md-display:var(--mz-display);
  --md-sans:var(--mz-sans);
  --md-radius:var(--mz-radius);
  --md-shadow:var(--mz-shadow-soft);

  /* Espace coach — myzen-coach.css */
  --mc-ground:var(--mz-ground);
  --mc-surface:var(--mz-surface);
  --mc-cream:var(--mz-cream);
  --mc-ink:var(--mz-ink);
  --mc-body:var(--mz-body);
  --mc-muted:var(--mz-muted);
  --mc-accent:var(--mz-accent);
  --mc-accent-soft:var(--mz-accent-soft);
  --mc-line:var(--mz-line);
  --mc-ok-ink:var(--mz-ok-ink);--mc-ok-bg:var(--mz-ok-bg);
  --mc-wait-ink:var(--mz-wait-ink);--mc-wait-bg:var(--mz-wait-bg);
  --mc-absent-ink:var(--mz-off-ink-dark);--mc-absent-bg:var(--mz-off-bg);
  --mc-display:var(--mz-display);
  --mc-sans:var(--mz-sans);
  --mc-radius:var(--mz-radius);
  --mc-shadow:var(--mz-shadow-card);

  /* Console réception — myzen-reception.css */
  --rc-ground:var(--mz-ground);
  --rc-surface:var(--mz-surface);
  --rc-surface-2:var(--mz-cream);
  --rc-ink:var(--mz-ink);
  --rc-ink-soft:var(--mz-ink-soft);
  --rc-neutral:var(--mz-neutral);
  --rc-line:var(--mz-line-warm);
  --rc-accent:var(--mz-accent);
  --rc-accent-soft:var(--mz-accent-soft-warm);
  --rc-ok:var(--mz-ok-ink-warm);--rc-ok-soft:var(--mz-ok-bg-warm);
  --rc-warn:var(--mz-warn-ink);--rc-warn-soft:var(--mz-warn-bg);
  --rc-r:var(--mz-radius);

  /* Formulaires de compte — myzen-account.css */
  --a-ink:var(--mz-ink);
  --a-accent:var(--mz-accent);
  --a-soft:var(--mz-accent-soft);
  --a-cream:var(--mz-cream);
  --a-muted:var(--mz-muted);
  --a-line:var(--mz-line);
  --a-display:var(--mz-display);
  --a-sans:var(--mz-sans);

  /* Achat de packs — myzen-packs.css */
  --pk-surface:var(--mz-surface);
  --pk-cream:var(--mz-cream);
  --pk-ink:var(--mz-ink);
  --pk-body:var(--mz-body);
  --pk-muted:var(--mz-muted);
  --pk-accent:var(--mz-accent);
  --pk-accent-soft:var(--mz-accent-soft);
  --pk-line:var(--mz-line);
  --pk-ok:var(--mz-ok-ink);
  --pk-display:var(--mz-display);
  --pk-radius:var(--mz-radius-lg);
  --pk-shadow:var(--mz-shadow-deep);

  /* Planning — myzen-planning-courses.css */
  --pl-surface:var(--mz-surface);
  --pl-cream:var(--mz-cream);
  --pl-ink:var(--mz-ink);
  --pl-body:var(--mz-body);
  --pl-muted:var(--mz-muted);
  --pl-accent:var(--mz-accent);
  --pl-accent-soft:var(--mz-accent-soft);
  --pl-line:var(--mz-line);
  --pl-ok-ink:var(--mz-ok-ink);--pl-ok-bg:var(--mz-ok-bg);
  --pl-full-ink:var(--mz-off-ink);--pl-full-bg:var(--mz-off-bg);
  --pl-display:var(--mz-display);
  --pl-radius:var(--mz-radius);
  --pl-shadow:var(--mz-shadow-mid);
}

/* =========================================================================
   LE BOUTON — la pilule. Source unique.

   Avant ce bloc, `.myzen-btn` était défini QUATRE fois, dans quatre feuilles,
   avec quatre allures différentes — dont une en bleu #366eff, vestige du tout
   premier prototype, encore chargé en prod et battu seulement parce qu'une
   autre feuille se charge après lui. Sur le planning public, dix règles se
   disputaient un seul bouton, et c'est la feuille de la CONSOLE qui gagnait.

   Référence retenue : la console (maquette validée le 2026-08-30), seule à
   porter une hauteur de 46 px — un pouce sur une tablette de comptoir.

   ── Pourquoi des sélecteurs DOUBLÉS et zéro !important ──────────────────
   `.myzen-btn.myzen-btn` vaut 0-2-0. Mesuré en prod le 2026-09-15 : la règle
   la plus forte que le thème applique à un <button> est `.elementor-kit-9
   button` (0-1-1), et AUCUNE règle du thème n'est en !important — ni sur les
   <button>, ni sur les <a>. 0-2-0 suffit donc partout, thème compris.
   Les ~40 !important des feuilles packs / compte / coach combattaient un
   adversaire qui n'existe pas.
   ========================================================================= */

.myzen-btn.myzen-btn,
.mzpk-btn.mzpk-btn,
.myzen-acc__btn.myzen-acc__btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 46px; padding: 0 20px;
  border: 1.5px solid transparent; border-radius: 999px;
  background: var(--mz-accent-soft-warm); color: var(--mz-accent);
  font-family: var(--mz-sans); font-size: 15px; font-weight: 600; line-height: 1.2;
  text-align: center; text-decoration: none; cursor: pointer; box-shadow: none;
  transition: background .15s ease, color .15s ease, border-color .15s ease, filter .15s ease;
}

/* Plein terracotta — l'action principale.
   `.myzen-acc__btn` est ici ET dans la base : c'est un bouton d'envoi de
   formulaire, toujours principal, sans modificateur dans le balisage. */
.myzen-btn--primary.myzen-btn--primary,
.mzpk-btn--primary.mzpk-btn--primary,
.myzen-acc__btn.myzen-acc__btn {
  background: var(--mz-accent); color: #FFFFFF; border-color: var(--mz-accent);
}

/* Contour neutre — l'action secondaire. */
.myzen-btn--ghost.myzen-btn--ghost {
  background: transparent; color: var(--mz-ink); border-color: var(--mz-line-warm);
}

/* Action destructrice (retirer une adhérente d'une séance, annuler). */
.myzen-btn--danger.myzen-btn--danger {
  background: var(--mz-warn-bg); color: var(--mz-warn-ink); border-color: transparent;
}
/* Au survol, l'action destructrice s'assombrit franchement : on doit sentir
   qu'on est sur celle-là et pas sur sa voisine. */
.myzen-btn--danger.myzen-btn--danger:hover {
  background: var(--mz-warn-ink); color: #FFFFFF; filter: none;
}

.myzen-btn.myzen-btn:hover,
.mzpk-btn.mzpk-btn:hover,
.myzen-acc__btn.myzen-acc__btn:hover { filter: brightness(.96); }

.myzen-btn.myzen-btn:focus-visible,
.mzpk-btn.mzpk-btn:focus-visible,
.myzen-acc__btn.myzen-acc__btn:focus-visible {
  outline: 2px solid var(--mz-accent); outline-offset: 2px;
}

.myzen-btn.myzen-btn:disabled, .myzen-btn.myzen-btn[disabled],
.mzpk-btn.mzpk-btn:disabled, .mzpk-btn.mzpk-btn[disabled],
.myzen-acc__btn.myzen-acc__btn:disabled, .myzen-acc__btn.myzen-acc__btn[disabled] {
  opacity: .6; cursor: default; filter: none;
}

/* =========================================================================
   LES COMPOSANTS PARTAGÉS (2026-09-23)

   Même règle que le bouton : sélecteurs DOUBLÉS (0-2-0) et zéro !important.
   Le thème habille les <button>, les champs et les titres h1→h4 avec des
   règles à 0-1-1 (`.elementor-kit-9 button`, `… h3`, `… input`) : c'est lui
   qui transformait les onglets du membre en pastilles pêche, arrondissait
   les champs en pilules et gonflait les titres de section à 32 px.

   Périmètre : espace membre (+ compte), espace coach, packs, planning. La
   console réception garde sa mise en page plein écran, mais partage les
   jetons, les champs et les pastilles.
   ========================================================================= */

/* ---- La page : même largeur, mêmes marges, pour tous ------------------- */
.myzen-dash.myzen-dash,
.myzen-coach.myzen-coach,
.myzen-packs.myzen-packs,
.myzen-pl.myzen-pl,
.myzen-acc.myzen-acc:not(.myzen-acc--profile) {
  box-sizing: border-box;
  max-width: calc(var(--mz-page) + 2 * var(--mz-gutter));
  margin: 0 auto;
  padding: var(--mz-s8) var(--mz-gutter) var(--mz-s9);
  font-family: var(--mz-sans); color: var(--mz-body); line-height: 1.55;
}
.myzen-acc.myzen-acc:not(.myzen-acc--profile) { max-width: calc(600px + 2 * var(--mz-gutter)); }
@media (min-width: 768px) {
  :root, body { --mz-gutter: 24px; --mz-card-pad: 24px; }
}
@media (max-width: 640px) {
  :root, body { --mz-card-pad: 18px; }
  .myzen-dash.myzen-dash, .myzen-coach.myzen-coach, .myzen-packs.myzen-packs,
  .myzen-pl.myzen-pl, .myzen-acc.myzen-acc:not(.myzen-acc--profile) { padding-top: var(--mz-s6); }
}

/* ---- L'en-tête de page : surtitre, titre, sous-titre -------------------- */
.myzen-dash__eyebrow.myzen-dash__eyebrow,
.myzen-coach__eyebrow.myzen-coach__eyebrow,
.myzen-acc__eyebrow.myzen-acc__eyebrow,
.mzpk__eyebrow.mzpk__eyebrow,
.myzen-pl__eyebrow.myzen-pl__eyebrow {
  margin: 0 0 var(--mz-s2); font-family: var(--mz-sans);
  font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase;
  color: var(--mz-accent);
}
.myzen-dash__greeting.myzen-dash__greeting,
.myzen-coach__greeting.myzen-coach__greeting,
.mzpk__h1.mzpk__h1,
.myzen-pl__h1.myzen-pl__h1 {
  margin: 0 0 var(--mz-s2); font-family: var(--mz-display); font-weight: 500;
  font-size: clamp(32px, 6vw, 46px); line-height: 1.08; letter-spacing: -.01em;
  color: var(--mz-ink); text-wrap: balance;
}
.myzen-acc__h1.myzen-acc__h1 {
  margin: 0 0 var(--mz-s2); font-family: var(--mz-display); font-weight: 500;
  font-size: clamp(26px, 5vw, 32px); line-height: 1.1; color: var(--mz-ink);
}
.myzen-dash__sub.myzen-dash__sub,
.myzen-coach__sub.myzen-coach__sub,
.myzen-acc__sub.myzen-acc__sub,
.mzpk__sub.mzpk__sub,
.myzen-pl__sub.myzen-pl__sub {
  margin: 0; font-size: 15px; line-height: 1.5; color: var(--mz-muted); max-width: 60ch;
}
.myzen-acc__sub.myzen-acc__sub { margin-bottom: var(--mz-s5); }

/* ---- Les onglets : soulignés, défilants sur mobile ---------------------- */
.myzen-dash__tabs.myzen-dash__tabs,
.myzen-coach__tabs.myzen-coach__tabs {
  display: flex; gap: var(--mz-s1); margin: var(--mz-s7) 0 var(--mz-s6); padding: 0;
  border-bottom: 1px solid var(--mz-line);
  overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch;
}
.myzen-dash__tabs.myzen-dash__tabs::-webkit-scrollbar,
.myzen-coach__tabs.myzen-coach__tabs::-webkit-scrollbar { display: none; }
.myzen-dash__tab.myzen-dash__tab,
.myzen-coach__tab.myzen-coach__tab {
  appearance: none; position: relative; flex: none;
  min-height: 46px; margin: 0; padding: 0 var(--mz-s4);
  border: 0; border-radius: 0; background: transparent; box-shadow: none;
  font-family: var(--mz-sans); font-size: 15px; font-weight: 600; line-height: 1.2;
  color: var(--mz-muted); white-space: nowrap; cursor: pointer; transition: color .15s ease;
}
.myzen-dash__tab.myzen-dash__tab:hover,
.myzen-coach__tab.myzen-coach__tab:hover,
.myzen-dash__tab.myzen-dash__tab[aria-selected="true"],
.myzen-coach__tab.myzen-coach__tab[aria-selected="true"] { color: var(--mz-ink); background: transparent; }
.myzen-dash__tab.myzen-dash__tab[aria-selected="true"]::after,
.myzen-coach__tab.myzen-coach__tab[aria-selected="true"]::after {
  content: ""; position: absolute; left: var(--mz-s2); right: var(--mz-s2); bottom: 0;
  height: 2px; border-radius: 2px; background: var(--mz-accent);
}
.myzen-dash__tab.myzen-dash__tab:focus-visible,
.myzen-coach__tab.myzen-coach__tab:focus-visible { outline: 2px solid var(--mz-accent); outline-offset: -4px; }
@media (max-width: 640px) {
  .myzen-dash__tab.myzen-dash__tab, .myzen-coach__tab.myzen-coach__tab { padding: 0 var(--mz-s3); font-size: 14px; }
  .myzen-dash__tabs.myzen-dash__tabs, .myzen-coach__tabs.myzen-coach__tabs { margin-top: var(--mz-s6); margin-left: calc(-1 * var(--mz-gutter)); margin-right: calc(-1 * var(--mz-gutter)); padding: 0 calc(var(--mz-gutter) - var(--mz-s3)); }
}

/* ---- La carte : blanche, filet, rayon 18, même rembourrage -------------- */
.myzen-dash__book.myzen-dash__book,
.myzen-dash__action.myzen-dash__action,
.myzen-dash__tile.myzen-dash__tile,
.myzen-dash__breakdown.myzen-dash__breakdown,
.myzen-coach-session.myzen-coach-session,
.myzen-coach__tile.myzen-coach__tile,
.myzen-acc__pcol.myzen-acc__pcol,
.myzen-acc__card.myzen-acc__card,
.myzen-claim__item.myzen-claim__item,
.myzen-levels__item.myzen-levels__item,
.mzpk-card.mzpk-card,
.myzen-pl .myzen-session.myzen-session {
  background: var(--mz-surface); border: 1px solid var(--mz-line);
  border-radius: var(--mz-radius); padding: var(--mz-card-pad);
  box-shadow: var(--mz-shadow-card);
}
/* Les lignes de liste gardent la carte, en plus serré. */
.myzen-dash__book.myzen-dash__book,
.myzen-pl .myzen-session.myzen-session { padding: var(--mz-s4) var(--mz-s5); }
.myzen-dash__action.myzen-dash__action { padding: var(--mz-s4) var(--mz-s5); }
/* Le profil à plat dans un onglet reste sans carte. */
.myzen-acc--profile .myzen-acc__card.myzen-acc__card { background: transparent; border: 0; box-shadow: none; padding: 0; }
.mzpk-card.mzpk-card { padding: var(--mz-s7) var(--mz-s7) var(--mz-s7); }
.mzpk-card--featured.mzpk-card--featured { border-color: var(--mz-accent); }

/* ---- Le bandeau crème : la chose à voir en premier ---------------------- */
.myzen-dash__credits.myzen-dash__credits,
.myzen-coach__next.myzen-coach__next,
.myzen-pv-recap.myzen-pv-recap,
.mzpk-incl.mzpk-incl {
  margin: 0 0 var(--mz-s4); background: var(--mz-cream); border: 0;
  border-radius: var(--mz-radius); padding: var(--mz-s6) var(--mz-s7); box-shadow: none;
}
.myzen-coach__next.myzen-coach__next { margin-bottom: var(--mz-s7); }
.myzen-pv-recap.myzen-pv-recap { margin-top: var(--mz-s5); }
.mzpk-incl.mzpk-incl { margin-top: var(--mz-s7); }
.myzen-dash__credits.myzen-dash__credits { margin-top: 0; }
@media (max-width: 640px) {
  .myzen-dash__credits.myzen-dash__credits, .myzen-coach__next.myzen-coach__next,
  .myzen-pv-recap.myzen-pv-recap, .mzpk-incl.mzpk-incl { padding: var(--mz-s5); }
  .mzpk-card.mzpk-card { padding: var(--mz-s6) var(--mz-s5); }
}

/* ---- Les chiffres-clés : même taille, même couleur ---------------------- */
.myzen-dash__cnum.myzen-dash__cnum,
.myzen-coach__next-when.myzen-coach__next-when,
.myzen-pv-recap__when.myzen-pv-recap__when { font-family: var(--mz-display); font-size: clamp(40px, 7vw, 56px); line-height: 1; color: var(--mz-accent); font-weight: 500; }
.myzen-dash__tnum.myzen-dash__tnum,
.myzen-coach__tile-num.myzen-coach__tile-num { font-family: var(--mz-display); font-size: 40px; line-height: 1; color: var(--mz-ink); font-weight: 500; font-variant-numeric: tabular-nums; }
.myzen-dash__tlabel.myzen-dash__tlabel,
.myzen-coach__tile-lab.myzen-coach__tile-lab,
.myzen-dash__clabel.myzen-dash__clabel,
.myzen-dash__bh.myzen-dash__bh {
  margin: var(--mz-s2) 0 0; font-size: 12px; font-weight: 600; letter-spacing: .12em;
  text-transform: uppercase; color: var(--mz-muted);
}
.myzen-dash__clabel.myzen-dash__clabel { color: var(--mz-ink); }
.myzen-dash__bh.myzen-dash__bh { margin: 0 0 var(--mz-s5); }
.myzen-dash__stats.myzen-dash__stats,
.myzen-coach__tiles.myzen-coach__tiles { gap: var(--mz-s4); margin-bottom: var(--mz-s4); }
.myzen-coach__tiles.myzen-coach__tiles { margin-bottom: var(--mz-s7); }

/* ---- Les titres de section ---------------------------------------------- */
.myzen-dash__stitle.myzen-dash__stitle,
.myzen-coach__stitle.myzen-coach__stitle,
.myzen-acc__section.myzen-acc__section,
.myzen-acc__ptitle.myzen-acc__ptitle,
.myzen-pv-step__h.myzen-pv-step__h {
  margin: 0; font-family: var(--mz-display); font-weight: 500;
  font-size: 22px; line-height: 1.25; letter-spacing: 0; text-transform: none; color: var(--mz-ink);
}
.myzen-coach__stitle.myzen-coach__stitle { margin-bottom: var(--mz-s4); padding-bottom: var(--mz-s3); border-bottom: 1px solid var(--mz-line); }
/* Les barres du coach dans une carte, comme la répartition du membre. */
.myzen-coach__bars.myzen-coach__bars { background: var(--mz-surface); border: 1px solid var(--mz-line); border-radius: var(--mz-radius); padding: var(--mz-card-pad); box-shadow: var(--mz-shadow-card); }
.myzen-acc__section.myzen-acc__section { margin: var(--mz-s6) 0 var(--mz-s4); padding-bottom: var(--mz-s2); border-bottom: 1px solid var(--mz-line); }
.myzen-pv-step__h.myzen-pv-step__h { margin: 9px 0 var(--mz-s1); font-size: 20px; }
.myzen-dash__section.myzen-dash__section { margin-top: var(--mz-s8); }
.myzen-dash__shead.myzen-dash__shead { margin-bottom: var(--mz-s4); padding-bottom: var(--mz-s3); border-bottom: 1px solid var(--mz-line); }
.myzen-dash__scount.myzen-dash__scount { font-size: 13px; color: var(--mz-muted); }
/* Le jour, dans la liste du coach : un intertitre, pas un titre de page. */
.myzen-coach__day.myzen-coach__day {
  display: flex; align-items: center; gap: var(--mz-s3);
  margin: var(--mz-s7) 0 var(--mz-s3); font-family: var(--mz-sans);
  font-size: 13px; font-weight: 600; line-height: 1.3; letter-spacing: .12em;
  text-transform: uppercase; color: var(--mz-muted);
}
.myzen-coach__day.myzen-coach__day::after { content: ""; flex: 1; height: 1px; background: var(--mz-line); }
.myzen-coach__day--today.myzen-coach__day--today { color: var(--mz-accent); }
@media (max-width: 640px) {
  .myzen-dash__stitle.myzen-dash__stitle, .myzen-coach__stitle.myzen-coach__stitle { font-size: 20px; }
}

/* ---- Les champs --------------------------------------------------------- */
/* Le thème arrondit TOUS les champs en pilule avec
   `.elementor-kit-9 input:not([type=button]):not([type=submit])` (0-3-1), et
   à 0-4-1 au focus. D'où la racine répétée trois fois (0-3-0) : 0-4-1 au repos,
   0-5-1 au focus — au-dessus du thème quel que soit l'ordre des feuilles. */
:is(.myzen-dash,.myzen-coach,.myzen-acc,.myzen-reception):is(.myzen-dash,.myzen-coach,.myzen-acc,.myzen-reception):is(.myzen-dash,.myzen-coach,.myzen-acc,.myzen-reception) :is(input:is([type=text],[type=email],[type=tel],[type=password],[type=search],[type=number],[type=date]),select,textarea) {
  box-sizing: border-box; width: 100%; min-height: 46px; margin: 0;
  padding: 0 14px; border: 1px solid var(--mz-field-line); border-radius: var(--mz-radius-sm);
  background: var(--mz-surface); color: var(--mz-ink); box-shadow: none;
  font-family: var(--mz-sans); font-size: 16px; line-height: 1.4;
}
:is(.myzen-dash,.myzen-coach,.myzen-acc,.myzen-reception):is(.myzen-dash,.myzen-coach,.myzen-acc,.myzen-reception):is(.myzen-dash,.myzen-coach,.myzen-acc,.myzen-reception) textarea { min-height: 88px; padding: 12px 14px; resize: vertical; }
:is(.myzen-dash,.myzen-coach,.myzen-acc,.myzen-reception):is(.myzen-dash,.myzen-coach,.myzen-acc,.myzen-reception):is(.myzen-dash,.myzen-coach,.myzen-acc,.myzen-reception) :is(input,select,textarea):focus:not([type=button]):not([type=submit]) {
  outline: none; border-color: var(--mz-accent); border-radius: var(--mz-radius-sm); box-shadow: 0 0 0 3px var(--mz-accent-soft);
}
.myzen-dash ::placeholder, .myzen-coach ::placeholder, .myzen-acc ::placeholder, .myzen-reception ::placeholder { color: var(--mz-muted); opacity: 1; }
/* Un champ dans une rangée flexible ne s'étire pas au-delà de sa part. */
.myzen-dash.myzen-dash .myzen-share__form.myzen-share__form input, .myzen-reception.myzen-reception .myzen-reception__search.myzen-reception__search input { width: auto; }
.myzen-acc__field.myzen-acc__field label, .myzen-claim__field.myzen-claim__field, .myzen-level__field.myzen-level__field {
  font-size: 13px; font-weight: 600; color: var(--mz-ink);
}

/* ---- Les pastilles ------------------------------------------------------ */
.myzen-dash__chip.myzen-dash__chip,
.myzen-coach-badge.myzen-coach-badge,
.myzen-claim__status.myzen-claim__status,
.myzen-reception__chip.myzen-reception__chip,
.myzen-pl .myzen-badge.myzen-badge {
  display: inline-flex; align-items: center; gap: var(--mz-s1);
  padding: 4px 10px; border-radius: 999px; white-space: nowrap;
  font-family: var(--mz-sans); font-size: 12px; font-weight: 700; line-height: 1.4;
  letter-spacing: .02em; text-transform: none;
}
.myzen-coach-badge.myzen-coach-badge { background: var(--mz-accent-soft); color: var(--mz-accent); }

/* ---- Les états vides : même encadré pointillé partout ------------------- */
.myzen-dash__empty.myzen-dash__empty,
.myzen-coach__empty.myzen-coach__empty,
.myzen-coach-session__closed.myzen-coach-session__closed,
.mzpk__empty.mzpk__empty,
.myzen-planning__empty.myzen-planning__empty {
  margin: var(--mz-s3) 0 0; padding: var(--mz-s4) var(--mz-s5);
  border: 1px dashed var(--mz-field-line); border-radius: var(--mz-radius-sm);
  background: transparent; text-align: center; font-size: 14px; color: var(--mz-muted);
}

/* ---- Actions secondaires en ligne (Annuler, Se déconnecter…) ------------ */
.myzen-dash__cancel.myzen-dash__cancel,
.myzen-coach .myzen-pv-cancel.myzen-pv-cancel,
.myzen-acc__logout.myzen-acc__logout {
  appearance: none; display: inline-flex; align-items: center; justify-content: center;
  min-height: 40px; padding: 0 var(--mz-s4); border: 1.5px solid var(--mz-line); border-radius: 999px;
  background: transparent; box-shadow: none; color: var(--mz-body);
  font-family: var(--mz-sans); font-size: 14px; font-weight: 600; text-decoration: none; cursor: pointer;
}
.myzen-dash__cancel.myzen-dash__cancel:hover,
.myzen-coach .myzen-pv-cancel.myzen-pv-cancel:hover,
.myzen-acc__logout.myzen-acc__logout:hover { border-color: var(--mz-warn-ink); color: var(--mz-warn-ink); background: transparent; }
.myzen-dash__cancel.myzen-dash__cancel[disabled] { opacity: .5; cursor: default; }

/* ---- Les lignes de réservation sur mobile ------------------------------- */
@media (max-width: 640px) {
  .myzen-dash__book.myzen-dash__book { flex-wrap: wrap; gap: var(--mz-s3) var(--mz-s4); }
  .myzen-dash__date.myzen-dash__date { width: 48px; }
  .myzen-dash__bside.myzen-dash__bside { width: 100%; justify-content: space-between; padding-left: calc(48px + var(--mz-s4)); }
}

/* ---- Le sélecteur segmenté (Connexion / Inscription, Jour / Semaine) ---- */
/* Trois écrans, un seul dessin : fond crème, le choix actif en blanc et en
   terracotta. Avant, le thème teignait l'onglet INACTIF de la connexion en
   terracotta — on lisait le mauvais onglet comme sélectionné. */
.myzen-acc__tabs.myzen-acc__tabs,
.myzen-pl__seg.myzen-pl__seg,
.myzen-reception__seg.myzen-reception__seg { display: inline-flex; gap: 2px; padding: 4px; border-radius: 999px; background: var(--mz-cream); }
.myzen-acc__tabs.myzen-acc__tabs { display: flex; margin-bottom: var(--mz-s6); }
.myzen-acc__tab.myzen-acc__tab,
.myzen-pl__segbtn.myzen-pl__segbtn,
.myzen-reception__segbtn.myzen-reception__segbtn {
  appearance: none; flex: 1; display: inline-flex; align-items: center; justify-content: center;
  min-height: 40px; padding: 0 var(--mz-s5); border: 0; border-radius: 999px;
  background: transparent; box-shadow: none; color: var(--mz-muted);
  font-family: var(--mz-sans); font-size: 15px; font-weight: 600; text-decoration: none; cursor: pointer;
}
.myzen-acc__tab.myzen-acc__tab[aria-selected="true"],
.myzen-pl__segbtn.myzen-pl__segbtn:is(.is-on,.is-active,[aria-pressed="true"],[aria-selected="true"]),
.myzen-reception__segbtn.myzen-reception__segbtn.is-on {
  background: var(--mz-surface); color: var(--mz-accent); box-shadow: 0 1px 3px rgba(64,58,51,.14);
}
@media (max-width: 480px) {
  .myzen-acc__avafield.myzen-acc__avafield { flex-wrap: wrap; }
  .myzen-acc__avabtn.myzen-acc__avabtn { margin-left: calc(54px + 14px); }
}

/* ---- Rattrapages relevés par l'audit (2026-09-23) ----------------------- */
/* « Mot de passe oublié ? » est un lien, pas un bouton : le thème en faisait
   une pastille pêche de 30 px de rembourrage. */
.myzen-acc__linkbtn.myzen-acc__linkbtn {
  appearance: none; min-height: 0; padding: 4px 0; border: 0; border-radius: 0;
  background: transparent; box-shadow: none; color: var(--mz-muted);
  font-family: var(--mz-sans); font-size: 14px; font-weight: 500;
  text-decoration: underline; text-underline-offset: 3px; cursor: pointer;
}
.myzen-acc__linkbtn.myzen-acc__linkbtn:hover { color: var(--mz-accent); background: transparent; }
/* Les cartes de cours du planning : le même rayon que toutes les cartes. */
.myzen-pl .myzen-pl__course.myzen-pl__course { border-radius: var(--mz-radius); }
/* « Enregistrer » le niveau d'une adhérente : une pilule, comme tous les
   boutons, et non un rectangle à 6 px. */
.myzen-level__save.myzen-level__save { appearance: none; min-height: 40px; padding: 0 18px; border: 0; border-radius: 999px; background: var(--mz-accent); color: #FFFFFF; box-shadow: none; font-family: var(--mz-sans); font-weight: 600; font-size: 14px; cursor: pointer; }
.myzen-level__save.myzen-level__save[disabled] { opacity: .6; cursor: default; }
