/* Hauméa Forms — v0.3.0. Le système du prototype formulaires-v2.html (21/09/2026),
   porté tel quel sous .hf-wrap : teal, terracotta, crème, EB Garamond pour les
   titres et les questions (le thème charge déjà les polices), Lato / héritée
   pour le texte. Tout est scopé sous .hf-wrap pour ne pas se battre avec Salient. */

/* ------------------------------------------------------------------ */
/* Jetons                                                              */
/* ------------------------------------------------------------------ */
.hf-wrap{
  /* v0.3.1 — le formulaire se mesure à SA colonne, pas à la fenêtre.
     Sur /quiz-baby-spa/ le bloc vit dans une demi-colonne WPBakery : à 1440 px
     de fenêtre il ne disposait que de ~500 px, les media queries ne se
     déclenchaient pas et l'écran de résultat restait sur deux colonnes de
     180 px (« Vous / savez / construire »). Les @container plus bas corrigent. */
  container-type:inline-size; container-name:hf;
  --hf-teal:#00414D; --hf-teal-deep:#012F38; --hf-teal-soft:#0E5A68;
  --hf-terra:#AB4924; --hf-terra-soft:#C9673F; --hf-rose:#D48F72; --hf-gold:#D79713;
  --hf-cream:#F6F3EC; --hf-sand:#E9E2D4; --hf-sand-deep:#D9CFBC; --hf-sage:#DCE8E2; --hf-sage-deep:#B9D2C6;
  --hf-surface:#FFFDF9; --hf-ink:#1E2A2C; --hf-muted:#4E5C5F; --hf-err:#B23A2A; --hf-ok:#2F7A5B;
  --hf-display:"EB Garamond",Garamond,"Times New Roman",serif;
  --hf-body:"Lato","Helvetica Neue",Arial,sans-serif;
  --hf-radius:16px; --hf-radius-s:10px;
  --hf-shadow:0 18px 50px -24px rgba(1,47,56,.35),0 2px 6px -2px rgba(1,47,56,.12);
  /* alias des anciens jetons (0.1–0.2) encore lus par les blocs ateliers / candidature */
  --hf-line:var(--hf-sand-deep); --hf-accent:var(--hf-terra); --hf-accent-ink:#fff; --hf-bg:var(--hf-surface);
  max-width:760px;margin:0 auto;color:var(--hf-ink);font-family:var(--hf-body);font-size:16px;line-height:1.55;
  background:var(--hf-surface);border-radius:var(--hf-radius);box-shadow:var(--hf-shadow);overflow:hidden;
}
.hf-wrap *,.hf-wrap *::before,.hf-wrap *::after{box-sizing:border-box;}
.hf-wrap p{margin:0;}
.hf-wrap a{color:var(--hf-terra);}
.hf-form,.hf-done{padding:clamp(22px,3.2vw,40px);background:var(--hf-surface);}
.hf-form[hidden],.hf-done[hidden],.hf-wrap [hidden]{display:none;}

/* Icônes : la planche est imprimée une fois par page (HF_UI::sprite). */
.hf-wrap svg.hf-ic,.hf-ic{width:1.15em;height:1.15em;flex:none;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.2em;display:inline-block;}
.hf-sprite{position:absolute;width:0;height:0;overflow:hidden;}

/* ------------------------------------------------------------------ */
/* Titres, intro                                                        */
/* ------------------------------------------------------------------ */
.hf-head{display:grid;gap:6px;margin-bottom:22px;}
.hf-wrap .hf-h{margin:0;font-family:var(--hf-display);font-weight:500;font-size:1.7rem;line-height:1.15;letter-spacing:-.005em;word-spacing:normal;text-transform:none;color:var(--hf-ink);text-wrap:balance;}
.hf-wrap .hf-intro{margin:0;color:var(--hf-muted);font-family:inherit;}

/* ------------------------------------------------------------------ */
/* Grille et champs                                                     */
/* ------------------------------------------------------------------ */
.hf-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px;}
.hf-grid > .hf-field,.hf-grid > .hf-step{grid-column:1/-1;}
.hf-grid > .hf-field.hf-half{grid-column:auto;}
.hf-field{display:grid;gap:6px;min-width:0;align-content:start;}
.hf-wrap .hf-label{display:flex;gap:6px;align-items:baseline;margin:0;font-family:var(--hf-body);font-size:.72rem;font-weight:700;line-height:1;letter-spacing:.1em;text-transform:uppercase;color:var(--hf-teal);}
.hf-wrap .hf-label em{font-style:normal;font-weight:400;letter-spacing:0;text-transform:none;color:var(--hf-muted);}
.hf-input{position:relative;display:flex;align-items:center;}
.hf-input > .hf-ic{position:absolute;left:14px;color:var(--hf-muted);pointer-events:none;width:1.1em;height:1.1em;}
.hf-wrap .hf-input input,.hf-wrap .hf-input select,.hf-wrap .hf-input textarea{
  width:100%;margin:0;font:inherit;font-size:1rem;color:var(--hf-ink);background:#fff;border:1.5px solid var(--hf-sand-deep);border-radius:var(--hf-radius-s);
  padding:13px 14px 13px 42px;outline:none;transition:border-color .15s,box-shadow .15s;appearance:none;-webkit-appearance:none;box-shadow:none;height:auto;line-height:1.35;}
.hf-wrap .hf-input textarea{min-height:120px;resize:vertical;line-height:1.5;}
.hf-wrap .hf-input-plain input,.hf-wrap .hf-input-plain select,.hf-wrap .hf-input textarea{padding-left:14px;}
.hf-wrap .hf-input input::placeholder,.hf-wrap .hf-input textarea::placeholder{color:#9AA5A7;opacity:1;}
.hf-wrap .hf-input input:focus,.hf-wrap .hf-input select:focus,.hf-wrap .hf-input textarea:focus{border-color:var(--hf-teal);box-shadow:0 0 0 4px rgba(0,65,77,.12);}
.hf-wrap .hf-input select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%234E5C5F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px;cursor:pointer;}
.hf-help{display:flex;gap:6px;align-items:flex-start;margin:0;font-size:.82rem;color:var(--hf-muted);}
.hf-help .hf-ic{color:var(--hf-terra);margin-top:.15em;}
.hf-err{display:flex;gap:6px;align-items:center;margin:0;font-size:.82rem;color:var(--hf-err);}
.hf-wrap .hf-invalid .hf-input input,.hf-wrap .hf-invalid .hf-input select,.hf-wrap .hf-invalid .hf-input textarea{border-color:var(--hf-err);}

/* Consentement */
.hf-wrap .hf-consent label{display:flex;gap:12px;align-items:flex-start;margin:0;font-size:.9rem;font-weight:400;color:var(--hf-muted);cursor:pointer;text-transform:none;letter-spacing:0;}
.hf-wrap .hf-consent input[type=checkbox]{appearance:none;-webkit-appearance:none;opacity:1;position:static;width:22px;height:22px;flex:none;margin:1px 0 0;border:1.5px solid var(--hf-sand-deep);border-radius:6px;background:#fff;display:grid;place-items:center;cursor:pointer;transition:background .15s,border-color .15s;}
.hf-wrap .hf-consent input[type=checkbox]:checked{background:var(--hf-teal);border-color:var(--hf-teal);}
.hf-wrap .hf-consent input[type=checkbox]:checked::after{content:"";width:6px;height:11px;border:solid #fff;border-width:0 2px 2px 0;transform:translateY(-1px) rotate(45deg);}
.hf-wrap .hf-consent input[type=checkbox]:focus-visible{box-shadow:0 0 0 4px rgba(0,65,77,.15);}
.hf-consent a{color:var(--hf-terra);}
.hf-invalid.hf-consent label{color:var(--hf-err);}

.hf-hp{position:absolute;left:-9999px;height:0;overflow:hidden;}
.hf-wrap .hf-error{margin:16px 0 0;padding:10px 14px;border-radius:var(--hf-radius-s);background:#FBEEEC;color:var(--hf-err);font-size:.9rem;}

/* ------------------------------------------------------------------ */
/* Boutons                                                              */
/* ------------------------------------------------------------------ */
.hf-wrap .hf-btn,.hf-wrap button.hf-btn,.hf-wrap a.hf-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;margin:0;padding:15px 26px;min-height:52px;
  border-radius:999px;border:0;cursor:pointer;font-family:var(--hf-body);font-size:1rem;font-weight:700;line-height:1;letter-spacing:.01em;text-transform:none;
  background:var(--hf-terra);color:#fff;text-decoration:none;transition:transform .12s,filter .15s,background .15s;box-shadow:none;width:auto;}
.hf-wrap .hf-btn:hover{filter:brightness(1.06);color:#fff;background:var(--hf-terra);}
.hf-wrap .hf-btn:active{transform:translateY(1px);}
.hf-wrap .hf-btn:focus-visible{outline:3px solid var(--hf-gold);outline-offset:2px;}
.hf-wrap .hf-btn.hf-teal,.hf-wrap .hf-btn.hf-teal:hover{background:var(--hf-teal);}
.hf-wrap .hf-btn.hf-ghost{background:transparent;color:var(--hf-teal);border:1.5px solid var(--hf-sand-deep);}
.hf-wrap .hf-btn.hf-ghost:hover{background:var(--hf-sand);filter:none;}
.hf-wrap .hf-btn.hf-wide{width:100%;}
.hf-wrap .hf-btn[disabled]{opacity:.6;cursor:default;filter:none;}
.hf-wrap .hf-btn .hf-ic{width:1.1em;height:1.1em;}
.hf-actions{display:grid;gap:12px;margin-top:22px;}
.hf-fine{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;align-items:center;font-size:.8rem;color:var(--hf-muted);}
.hf-fine .hf-dot{width:4px;height:4px;border-radius:50%;background:var(--hf-sand-deep);display:inline-block;}
.hf-wrap .hf-link,.hf-wrap button.hf-link{display:inline-flex;gap:6px;align-items:center;margin:0;padding:8px 4px;background:none;border:0;box-shadow:none;color:var(--hf-muted);font-family:var(--hf-body);font-size:.92rem;font-weight:400;text-transform:none;letter-spacing:0;cursor:pointer;}
.hf-wrap .hf-link:hover{color:var(--hf-teal);background:none;}

/* ------------------------------------------------------------------ */
/* Formulaires à étapes (quiz, candidature)                             */
/* ------------------------------------------------------------------ */
.hf-prog{display:grid;gap:10px;margin:0 0 26px;}
.hf-prog-bar{height:4px;border-radius:999px;background:var(--hf-sand);overflow:hidden;}
.hf-prog-bar span{display:block;height:100%;width:11%;background:linear-gradient(90deg,var(--hf-terra),var(--hf-rose));transition:width .35s ease;}
.hf-prog-t{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:0;font-size:.85rem;color:var(--hf-muted);}
.hf-prog-n{font-weight:700;color:var(--hf-teal);}
.hf-prog-l{font-family:var(--hf-display);font-size:1.05rem;color:var(--hf-teal);}
.hf-step{border:0;margin:0;padding:0;min-width:0;animation:hfin .3s ease;}
.hf-wrap .hf-step[hidden]{display:none;}
@keyframes hfin{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* Une question est une vraie phrase, en Garamond — pas une micro-étiquette. */
.hf-wrap .hf-radio .hf-label{display:block;font-family:var(--hf-display);font-size:1.45rem;font-weight:500;line-height:1.25;letter-spacing:-.005em;text-transform:none;color:var(--hf-ink);margin-bottom:2px;}
.hf-wrap .hf-radio .hf-label em{font-family:var(--hf-body);font-size:.85rem;}
.hf-radio .hf-help{font-size:.92rem;margin-bottom:8px;}
.hf-opts{display:grid;gap:10px;}
.hf-opts-2{grid-template-columns:1fr 1fr;}
.hf-opt-wide{grid-column:1/-1;}
.hf-wrap .hf-opt{position:relative;display:flex;gap:14px;align-items:center;margin:0;padding:14px 16px;border:1.5px solid var(--hf-sand-deep);border-radius:var(--hf-radius-s);background:#fff;cursor:pointer;font-weight:400;text-transform:none;letter-spacing:0;transition:border-color .15s,background .15s,transform .12s;}
.hf-wrap .hf-opt:hover{border-color:var(--hf-teal-soft);transform:translateY(-1px);}
.hf-wrap .hf-opt input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer;}
.hf-opt-ico{width:40px;height:40px;border-radius:12px;background:var(--hf-sage);color:var(--hf-teal);display:grid;place-items:center;flex:none;}
.hf-opt-ico .hf-ic{width:1.3em;height:1.3em;}
.hf-opt-t{display:grid;gap:2px;min-width:0;}
.hf-opt-t b{font-weight:700;color:var(--hf-ink);font-size:.98rem;line-height:1.35;}
.hf-opt-t span{font-size:.82rem;color:var(--hf-muted);}
.hf-opt-chk{margin-left:auto;width:22px;height:22px;border-radius:50%;border:1.5px solid var(--hf-sand-deep);flex:none;display:grid;place-items:center;color:#fff;}
.hf-checks .hf-opt-chk{border-radius:6px;}
.hf-opt-chk .hf-ic{width:.8em;height:.8em;opacity:0;}
.hf-wrap .hf-opt:has(input:checked){border-color:var(--hf-teal);background:#F1F6F4;}
.hf-opt:has(input:checked) .hf-opt-ico{background:var(--hf-teal);color:#fff;}
.hf-opt:has(input:checked) .hf-opt-chk{background:var(--hf-teal);border-color:var(--hf-teal);}
.hf-opt:has(input:checked) .hf-opt-chk .hf-ic{opacity:1;}
.hf-opt:has(input:focus-visible){box-shadow:0 0 0 4px rgba(0,65,77,.15);}
.hf-wrap .hf-invalid .hf-opt{border-color:var(--hf-err);}

.hf-nav{display:flex;gap:14px;align-items:center;justify-content:space-between;margin-top:26px;flex-wrap:wrap;}
.hf-nav .hf-btn{margin-left:auto;min-width:180px;}
/* plus spécifique que les règles de bouton ci-dessus, sinon l'envoi reste visible à chaque étape (v0.2.4) */
.hf-wrap .hf-nav button[hidden],.hf-wrap .hf-nav [hidden]{display:none;}

/* ------------------------------------------------------------------ */
/* Confirmation : une prochaine étape, pas un point final               */
/* ------------------------------------------------------------------ */
.hf-done{display:grid;gap:18px;text-align:center;justify-items:center;}
.hf-badge{width:72px;height:72px;border-radius:50%;background:var(--hf-sage);color:var(--hf-teal);display:grid;place-items:center;position:relative;}
.hf-badge .hf-ic{width:2rem;height:2rem;}
.hf-badge::after{content:"";position:absolute;inset:-8px;border-radius:50%;border:1.5px dashed var(--hf-sage-deep);}
.hf-wrap .hf-done .hf-h{font-size:2rem;line-height:1.1;}
.hf-done .hf-intro{max-width:52ch;color:var(--hf-muted);display:grid;gap:12px;justify-items:center;}
.hf-done .hf-intro p{margin:0;}
.hf-done-cta{margin-top:4px;}
.hf-cards-slot{width:100%;display:grid;}
.hf-cards-slot:empty{display:none;}
.hf-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;width:100%;margin-top:6px;}
.hf-cards-1{grid-template-columns:1fr;}
.hf-cards-2{grid-template-columns:1fr 1fr;}
.hf-cards-col{grid-template-columns:1fr;}
.hf-wrap .hf-card{display:grid;gap:8px;padding:16px;border-radius:var(--hf-radius-s);border:1.5px solid var(--hf-sand);background:#fff;text-align:left;text-decoration:none;color:var(--hf-ink);transition:border-color .15s,transform .12s;}
.hf-wrap .hf-card:hover{border-color:var(--hf-terra-soft);transform:translateY(-2px);color:var(--hf-ink);}
.hf-card-ico{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:var(--hf-cream);color:var(--hf-terra);}
.hf-card-ico .hf-ic{width:1.25em;height:1.25em;}
.hf-card b{font-family:var(--hf-display);font-weight:500;font-size:1.15rem;line-height:1.2;}
.hf-card > span{font-size:.82rem;color:var(--hf-muted);}
.hf-card .hf-card-go{font-size:.8rem;font-weight:700;color:var(--hf-terra);display:flex;gap:4px;align-items:center;margin-top:2px;}
.hf-card-insta .hf-card-ico{background:linear-gradient(135deg,#F6E7DF,#F3D9CC);color:var(--hf-terra);}

/* Étiquettes */
.hf-tag{display:inline-flex;gap:8px;align-items:center;padding:6px 12px;border-radius:999px;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:var(--hf-sage);color:var(--hf-teal);width:max-content;max-width:100%;}
.hf-tag-terra{background:#F6E7DF;color:var(--hf-terra);}

/* ------------------------------------------------------------------ */
/* Écrans de zone (HF_Zones::screen) et résultat du quiz (HF_Quiz)      */
/* ------------------------------------------------------------------ */
.hf-zone{display:grid;gap:14px;text-align:left;justify-items:start;width:100%;}
.hf-wrap .hf-zone-h{margin:0;font-family:var(--hf-display);font-weight:500;font-size:1.5rem;line-height:1.15;color:var(--hf-ink);text-transform:none;letter-spacing:-.005em;}
.hf-zone-p,.hf-zone-note{color:var(--hf-muted);}
.hf-zone-note{font-size:.85rem;}
.hf-zone-next{color:var(--hf-teal);font-weight:700;font-size:.95rem;}
/* Calendly incrusté (v0.3.0, class-hf-calendly.php) : le calendrier s'ouvre au-dessus du
   lien ; le lien reste visible jusqu'à ce que le calendrier annonce qu'il est affiché. */
.hf-calendly{width:100%;display:grid;gap:12px;}
.hf-calendly-widget{width:100%;min-height:660px;border-radius:var(--hf-radius-s);overflow:hidden;background:var(--hf-surface);}
.hf-calendly-widget:empty{display:none;}
.hf-calendly-widget iframe{min-height:660px;}
.hf-calendly.hf-calendly-mounted > .hf-btn{display:none;}
@media (max-width:560px){.hf-calendly-widget,.hf-calendly-widget iframe{min-height:900px;}}
.hf-done .hf-intro:has(.hf-zone){max-width:none;justify-items:start;text-align:left;}

.hf-result{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;width:100%;text-align:left;margin:calc(-1*clamp(22px,3.2vw,40px));width:calc(100% + 2*clamp(22px,3.2vw,40px));max-width:none;}
.hf-result-l{padding:clamp(22px,3vw,36px);display:grid;gap:18px;align-content:start;justify-items:start;}
.hf-result-r{background:var(--hf-cream);border-left:1px solid var(--hf-sand);padding:clamp(22px,3vw,36px);display:grid;gap:14px;align-content:start;}
.hf-profile{display:flex;gap:16px;align-items:center;}
.hf-profile-ico{width:64px;height:64px;border-radius:18px;background:var(--hf-teal);color:#fff;display:grid;place-items:center;flex:none;}
.hf-profile-ico .hf-ic{width:1.9em;height:1.9em;}
.hf-wrap .hf-profile-h{margin:0 0 4px;font-family:var(--hf-display);font-weight:500;font-size:1.9rem;line-height:1.1;color:var(--hf-ink);text-transform:none;}
.hf-profile-p{color:var(--hf-muted);}
.hf-means{display:grid;gap:10px;margin:0;padding:0;list-style:none;}
.hf-means li{display:flex;gap:12px;align-items:flex-start;font-size:.95rem;}
.hf-means .hf-ic{color:var(--hf-terra);margin-top:.15em;}
.hf-result-mail{display:flex;gap:8px;align-items:flex-start;font-size:.9rem;color:var(--hf-muted);}
.hf-result-mail .hf-ic{color:var(--hf-terra);margin-top:.15em;}
/* v0.3.4 — l'écran de résultat du quiz est une page : le cadre s'élargit
   (le JS pose .hf-wrap--wide quand layout=result). Dans une colonne étroite
   il reste borné par la colonne ; sur /quiz-baby-spa/ refondu en pleine
   largeur il prend 1120 px. */
.hf-wrap--wide{max-width:1120px;}
.hf-result-top{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;flex-wrap:wrap;}
.hf-score{display:inline-flex;align-items:baseline;gap:2px;padding:8px 14px;border-radius:999px;background:var(--hf-teal);color:#fff;font-family:var(--hf-display);line-height:1;}
.hf-score b{font-size:1.9rem;font-weight:600;}
.hf-score span{font-size:1rem;opacity:.8;}
.hf-score small{font-family:var(--hf-body);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;margin-left:10px;opacity:.9;align-self:center;}
.hf-done[data-layout=result]{gap:0;padding:0;}
.hf-done[data-layout=result] .hf-badge,.hf-done[data-layout=result] .hf-h{display:none;}
/* Écran de zone : le corps porte déjà son titre — pas de doublon dans .hf-h. */
.hf-done[data-layout=zone] .hf-h{display:none;}
.hf-done[data-layout=zone] .hf-intro{max-width:none;}
.hf-done[data-layout=result] .hf-intro{max-width:none;display:block;}
.hf-done[data-layout=result] .hf-result{margin:0;width:100%;}
.hf-done[data-layout=result] .hf-cards-slot{padding:0 clamp(22px,3.2vw,40px) clamp(22px,3.2vw,40px);}

/* ------------------------------------------------------------------ */
/* Mobile                                                               */
/* ------------------------------------------------------------------ */
@media (max-width:820px){
  .hf-result{grid-template-columns:1fr;}
  .hf-result-r{border-left:0;border-top:1px solid var(--hf-sand);}
  .hf-cards,.hf-cards-2{grid-template-columns:1fr;}
  .hf-opts-2{grid-template-columns:1fr;}
}
@media (max-width:560px){
  .hf-grid{grid-template-columns:1fr;}
  .hf-grid > .hf-field.hf-half{grid-column:1/-1;}
  .hf-wrap .hf-btn,.hf-wrap button.hf-btn{width:100%;}
  .hf-nav{flex-direction:column-reverse;align-items:stretch;}
  .hf-nav .hf-link{justify-content:center;}
  .hf-wrap .hf-done .hf-h{font-size:1.6rem;}
  .hf-wrap .hf-radio .hf-label{font-size:1.25rem;}
}

/* ------------------------------------------------------------------ */
/* v0.3.1 — les mêmes seuils, mesurés sur la colonne du formulaire.     */
/* Les @media ci-dessus restent : ils couvrent le cas où le bloc occupe */
/* toute la largeur, et les navigateurs sans @container.                */
/* ------------------------------------------------------------------ */
@container hf (max-width:820px){
  .hf-result{grid-template-columns:1fr;}
  .hf-result-r{border-left:0;border-top:1px solid var(--hf-sand);}
  .hf-cards,.hf-cards-2{grid-template-columns:1fr;}
  .hf-opts-2{grid-template-columns:1fr;}
}
@container hf (max-width:560px){
  .hf-grid{grid-template-columns:1fr;}
  .hf-grid > .hf-field.hf-half{grid-column:1/-1;}
  .hf-wrap .hf-btn,.hf-wrap button.hf-btn{width:100%;}
  .hf-nav{flex-direction:column-reverse;align-items:stretch;}
  .hf-nav .hf-link{justify-content:center;}
  .hf-wrap .hf-done .hf-h{font-size:1.6rem;}
  .hf-wrap .hf-radio .hf-label{font-size:1.25rem;}
}
/* Sous ~420 px de colonne, le titre Garamond ne doit plus casser mot à mot. */
@container hf (max-width:420px){
  .hf-wrap .hf-h,.hf-wrap .hf-done .hf-h{font-size:1.45rem;hyphens:auto;}
  .hf-result-l,.hf-result-r{padding:20px;}
}
@media (prefers-reduced-motion:reduce){.hf-prog-bar span{transition:none;}.hf-step{animation:none;}}

/* --- Ateliers (v0.1.4) : [haumea_ateliers] ------------------------------- */
.hf-at{--at-teal:#00414D;--at-terra:#AB4924;--at-cream:#F6F3EC;--at-line:#e3ded4;display:grid;gap:16px;margin:0 0 8px}
.hf-at-cards{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.hf-at-item{display:grid;grid-template-columns:96px 1fr auto;gap:20px;align-items:center;background:#fff;border:1px solid var(--at-line);border-radius:18px;padding:22px 24px}
.hf-at-cards .hf-at-item{grid-template-columns:1fr;gap:12px;align-items:start}
.hf-at-date{text-align:center;color:var(--at-teal)}
.hf-at-date b{display:block;font-size:2.4rem;line-height:1;font-weight:500}
.hf-at-date span{display:block;font-size:.8rem;color:#6d6a63;margin-top:4px}
.hf-at-cards .hf-at-date{text-align:left}
.hf-at-cards .hf-at-date span{display:inline;margin-left:6px}
.hf-at-body h3{margin:0 0 6px;font-size:1.15rem;line-height:1.3;color:var(--at-teal);text-transform:none}
.hf-at-body p{margin:0 0 8px;color:#4a4742;font-size:.95rem}
.hf-at-facts{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.85rem;color:#6d6a63;margin-bottom:8px}
.hf-at-seats{font-size:.85rem;color:#4a4742}
.hf-at-seats i{display:inline-block;width:9px;height:9px;border-radius:50%;background:#dcd6cb;margin-right:3px;vertical-align:middle}
.hf-at-seats i.on{background:var(--at-teal)}
.hf-at-act{display:grid;gap:6px;justify-items:center;text-align:center}
.hf-at-act small{color:#6d6a63;font-size:.75rem}
a.hf-at-btn{display:inline-block;background:var(--at-terra);color:#fff!important;padding:12px 22px;border-radius:999px;font-weight:600;font-size:.95rem;text-decoration:none;white-space:nowrap}
a.hf-at-btn:hover{background:#8f3b1c}
a.hf-at-btn-off{background:#c9c3b8;pointer-events:none}
.hf-at-complet{opacity:.75}
.hf-at-empty{color:#6d6a63}
@media(max-width:700px){.hf-at-item{grid-template-columns:1fr;gap:12px}.hf-at-date{text-align:left}.hf-at-date b{display:inline;font-size:1.6rem}.hf-at-date span{display:inline;margin-left:6px}.hf-at-act{justify-items:start;text-align:left}}

/* ------------------------------------------------------------------ */
/* Candidatures (v0.2.4) — fichiers, poste fixé, liste des postes      */
/* ------------------------------------------------------------------ */
.hf-file{position:relative;display:flex;align-items:center;gap:12px;padding:10px 12px;border:1.5px dashed var(--hf-sand-deep);border-radius:var(--hf-radius-s);background:#fff;min-height:52px;}
.hf-wrap .hf-file input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;margin:0;}
.hf-file-btn{flex:0 0 auto;display:inline-flex;gap:8px;align-items:center;padding:8px 14px;border-radius:999px;background:var(--hf-sage);color:var(--hf-teal);font-size:.85rem;font-weight:700;}
.hf-file-nom{flex:1 1 auto;min-width:0;font-size:.9rem;color:var(--hf-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.hf-file:focus-within{border-color:var(--hf-teal);box-shadow:0 0 0 4px rgba(0,65,77,.12);}
.hf-invalid .hf-file{border-color:var(--hf-err);}
.hf-fixe .hf-label{margin-bottom:0;}
.hf-fixe-val{margin:0;padding:13px 14px;border-radius:var(--hf-radius-s);background:var(--hf-sand);color:var(--hf-ink);font-weight:700;}

.hf-postes{display:grid;gap:14px;margin:0 0 8px;}
.hf-poste{display:grid;gap:6px;padding:22px 24px;border:1px solid #e3ded4;border-radius:18px;background:#fff;color:#1E2A2C;text-decoration:none;transition:border-color .15s,transform .15s;}
.hf-poste:hover{border-color:#00414D;transform:translateY(-1px);}
.hf-poste-meta{font-size:.8rem;letter-spacing:.05em;text-transform:uppercase;color:#6d6a63;}
.hf-poste-titre{font-size:1.25rem;line-height:1.3;color:#00414D;font-weight:600;}
.hf-poste-cta{margin-top:6px;font-size:.95rem;font-weight:600;color:#AB4924;}
.hf-postes-vide{color:#6d6a63;}

/* v0.2.5 — cases à cocher : l'étiquette reste petite (ce n'est pas une question de quiz) */
.hf-wrap .hf-checks .hf-label{font-family:var(--hf-body);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--hf-teal);line-height:1;margin-bottom:4px;}
.hf-wrap .hf-checks .hf-opt{padding:12px 14px;}
.hf-suivre a{color:var(--hf-terra);font-weight:700;text-decoration:underline;text-underline-offset:3px;}
