/* Dark theme tokens only; every background sets its text color (see member-account.css contrast note). */
.life-free-chart {
  --life-f-ink: var(--wp--preset--color--life-ink, #eee8da);
  --life-f-muted: rgba(238, 232, 218, .78);
  --life-f-card: var(--wp--preset--color--life-bg-soft, #101820);
  --life-f-line: rgba(238, 232, 218, .18);
  --life-f-gold: var(--wp--preset--color--life-action, #c7a24a);
  --life-f-on-gold: var(--wp--preset--color--life-bg, #090d12);
  --life-f-danger: #f0a0a4;
  max-width: 48rem; margin-inline: auto; text-align: start; color: var(--life-f-ink);
}
.life-free-chart [hidden] { display: none !important; }
.life-free-chart__form, .life-free-chart__result { padding: clamp(1rem, 4vw, 1.5rem); border: 1px solid var(--life-f-line); border-radius: .65rem; background: var(--life-f-card); color: var(--life-f-ink); }
.life-free-chart__result { margin-block-start: 1rem; }
.life-free-chart__result:focus { outline: 2px solid var(--life-f-gold); outline-offset: 2px; }
.life-free-chart__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr)); gap: 1rem; }
.life-free-chart__grid label { display: grid; gap: .35rem; font-weight: 600; }
.life-free-chart input:not([type="checkbox"]), .life-free-chart select { width: 100%; min-height: 44px; box-sizing: border-box; font: inherit; }
.life-free-chart__check { display: flex; align-items: center; gap: .45rem; min-height: 44px; margin-block: .5rem; }
.life-free-chart__note { color: var(--life-f-muted); font-size: .95em; }
.life-free-chart__submit, .life-free-chart__cta { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding-inline: 1.5rem; border-radius: 8px; font: inherit; font-weight: 600; text-decoration: none; cursor: pointer; }
.life-free-chart__submit, .life-free-chart__cta--primary { border: 0; background: var(--life-f-gold); color: var(--life-f-on-gold); }
.life-free-chart__cta:not(.life-free-chart__cta--primary) { border: 1px solid rgba(199, 162, 74, .5); color: var(--life-f-ink); }
.life-free-chart__form.is-busy { opacity: .75; }
.life-free-chart__status { min-height: 1.5rem; margin-block-end: 0; }
.life-free-chart__status.is-error { color: var(--life-f-danger); }
.life-free-chart__card { margin-block: .75rem; padding: .75rem 1rem; border: 1px solid var(--life-f-line); border-radius: .5rem; }
.life-free-chart__card h4 { margin: 0 0 .4rem; }
.life-free-chart__card dl { display: grid; grid-template-columns: minmax(7rem, max-content) 1fr; gap: .3rem .8rem; margin: 0; }
.life-free-chart__card dt { font-weight: 600; }
.life-free-chart__card dd { margin: 0; overflow-wrap: anywhere; }
.life-free-chart__ctas { display: flex; flex-wrap: wrap; gap: .75rem; margin-block-start: 1rem; }
@media (max-width: 30rem) { .life-free-chart__ctas > * { flex: 1 1 100%; } .life-free-chart__card dl { grid-template-columns: 1fr; } }
