/* ===== LordAns — UX enhancements (badges, expandable récits, self-assessment) ===== */

/* --- "Bientôt disponible" badges --- */
.badge--soon{
  display:inline-flex;align-items:center;gap:var(--space-2);
  font-family:var(--font-body);font-weight:600;font-size:var(--text-xs);
  letter-spacing:.04em;
  color:var(--color-text-faint);
  background:color-mix(in srgb,var(--color-text-faint) 12%,transparent);
  border:1px dashed var(--color-border);
  border-radius:var(--radius-full);
  padding:var(--space-2) var(--space-4);
  cursor:default;
}
.badge--soon::before{
  content:"";width:.45rem;height:.45rem;border-radius:50%;
  background:var(--gold);opacity:.7;
}
.hub .badge--soon,.program .badge--soon,.program--feature .badge--soon{margin-top:var(--space-4)}

/* Hub cards are no longer links — keep the card affordance but no pointer */
.hub{cursor:default}
.hub:hover{transform:none}

/* Podcast platforms shown as inactive chips */
.platform--soon{
  display:inline-flex;flex-direction:column;align-items:center;gap:var(--space-1);
  font-family:var(--font-body);font-weight:600;font-size:var(--text-sm);
  color:var(--color-text-muted);
  border:1.5px solid var(--color-border);
  border-radius:var(--radius-lg);
  padding:var(--space-3) var(--space-5);
  background:rgba(255,255,255,.02);
}
.platform--soon em{
  font-style:normal;font-weight:600;font-size:var(--text-xs);letter-spacing:.04em;
  color:var(--color-text-faint);
}

/* --- Expandable récits --- */
.stories__list .story{border-bottom:1px solid var(--color-border)}
.story__head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);
  width:100%;text-align:left;background:none;border:0;cursor:pointer;
  padding:var(--space-4) 0;color:inherit;
}
.story__heading{display:flex;flex-direction:column;gap:var(--space-1)}
.story__t{font-family:var(--font-display);font-weight:600;font-size:var(--text-lg);color:var(--color-text)}
.story__d{font-size:var(--text-sm);color:var(--color-text-muted)}
.story__toggle{
  position:relative;flex:none;width:1.6rem;height:1.6rem;margin-top:.2rem;
  border:1.5px solid var(--color-border);border-radius:var(--radius-full);
  transition:border-color .2s,transform .2s;
}
.story__toggle::before,.story__toggle::after{
  content:"";position:absolute;top:50%;left:50%;width:.7rem;height:2px;
  background:var(--gold);transform:translate(-50%,-50%);transition:opacity .2s,transform .2s;
}
.story__toggle::after{transform:translate(-50%,-50%) rotate(90deg)}
.story__head:hover .story__toggle{border-color:var(--gold)}
.story__head[aria-expanded="true"] .story__toggle::after{opacity:0}
.story__head[aria-expanded="true"] .story__toggle{transform:rotate(180deg)}
.story__body{padding:0 0 var(--space-4)}
.story__body p{font-size:var(--text-sm);color:var(--color-text-muted);max-width:60ch}

/* --- Self-assessment --- */
.check__form{
  margin-top:var(--space-8);max-width:46rem;
  display:flex;flex-direction:column;gap:var(--space-6);
}
.check__row{border:0;padding:0;margin:0}
.check__row legend{
  font-family:var(--font-body);font-weight:600;font-size:var(--text-base);
  color:var(--color-text);margin-bottom:var(--space-3);padding:0;
}
.check__scale{display:flex;gap:var(--space-2);flex-wrap:wrap}
.check__dot{
  flex:1 1 0;min-width:2.75rem;height:2.75rem;
  font-family:var(--font-body);font-weight:600;font-size:var(--text-sm);
  color:var(--color-text-muted);
  border:1.5px solid var(--color-border);border-radius:var(--radius-md);
  background:var(--color-surface);cursor:pointer;
  transition:border-color .15s,background .15s,color .15s,transform .1s;
}
.check__dot:hover{border-color:var(--gold);color:var(--color-text)}
.check__dot[aria-checked="true"]{
  background:linear-gradient(135deg,var(--gold-soft),var(--gold));
  border-color:var(--gold);color:#1a1305;
}
.check__scale-key{
  display:flex;justify-content:space-between;
  font-size:var(--text-xs);color:var(--color-text-faint);letter-spacing:.04em;
  margin-top:calc(-1 * var(--space-3));
}
.check__form .btn{align-self:flex-start;margin-top:var(--space-2)}
.check__form.is-error .check__row legend{color:var(--gold)}

.check__result{
  margin-top:var(--space-8);max-width:46rem;
  background:var(--color-surface);
  border:1px solid var(--color-border);border-left:4px solid var(--gold);
  border-radius:var(--radius-lg);
  padding:var(--space-8);
  box-shadow:var(--shadow-lg);
}
.check__result-score{
  font-family:var(--font-body);font-weight:600;font-size:var(--text-xs);
  letter-spacing:.18em;text-transform:uppercase;color:var(--color-text-faint);
  margin-bottom:var(--space-2);
}
.check__result-title{
  font-family:var(--font-display);font-weight:700;font-size:var(--text-2xl,1.7rem);
  color:var(--gold);margin-bottom:var(--space-3);
}
.check__result-meter{
  height:.5rem;border-radius:var(--radius-full);
  background:var(--color-surface-2);overflow:hidden;margin-bottom:var(--space-4);
}
.check__result-meter span{
  display:block;height:100%;border-radius:var(--radius-full);
  background:linear-gradient(90deg,var(--gold-deep),var(--gold-soft));
  transition:width .6s ease;
}
.check__result p{color:var(--color-text-muted);margin-bottom:var(--space-5)}
.check__result .check__actions{display:flex;gap:var(--space-4);flex-wrap:wrap}
.check__result .btn--text{
  background:none;border:0;color:var(--color-text-muted);
  font-family:var(--font-body);font-weight:600;font-size:var(--text-sm);
  cursor:pointer;text-decoration:underline;text-underline-offset:3px;
}
.check__result .btn--text:hover{color:var(--gold)}
