/* bn-forms: Readiness-Check, Newsletter, Danke-Meldungen. Nur Tokens aus tokens.css, Präfix c-rc / c-nl. */
.c-form__status { margin: var(--space-3, 24px) 0 0; padding: 16px 20px; border-radius: var(--radius-md); background: var(--color-tint); border-left: 3px solid var(--color-secondary); color: var(--color-text); font-size: 16px; line-height: 1.5; }
.c-form__status:focus { outline: 2px solid var(--color-focus); outline-offset: 2px; }

/* ---------- Readiness-Check ---------- */
.c-rc { padding-top: clamp(32px, 4vw, 56px); }
.l-container--narrow { max-width: var(--container-narrow); }
.c-rc__note { padding: 16px 20px; background: var(--color-sand); border-radius: var(--radius-md); }
.c-rc__form { padding: 0; background: none; border: 0; }
.c-rc__progress { position: sticky; top: calc(var(--header-h) + 8px); z-index: 2; margin: 0 0 var(--space-4, 32px); padding: 14px 0; background: var(--color-bg); }
.c-rc__progress-label { display: flex; flex-wrap: wrap; gap: 4px 14px; margin: 0 0 10px; font-size: var(--fs-sm); letter-spacing: .02em; color: var(--color-text-muted); }
.c-rc__progress-name { font-weight: var(--fw-medium); color: var(--color-text); }
.c-rc__bar { height: 6px; background: var(--color-sage-soft); border-radius: var(--radius-pill); overflow: hidden; }
.c-rc__bar-fill { display: block; height: 100%; width: 6%; background: var(--color-secondary); border-radius: inherit; transition: width .4s var(--ease); }
.c-rc__step { border: 0; margin: 0; padding: 0; min-width: 0; }
.c-rc__legend { padding: 0; margin: 0 0 8px; display: block; }
.c-rc__step-no { display: block; font-size: var(--fs-xs); font-weight: var(--fw-medium); letter-spacing: var(--ls-eyebrow); text-transform: uppercase; color: var(--color-secondary); margin-bottom: 6px; }
.c-rc__step-title { display: block; font-size: clamp(26px, 3vw, 38px); line-height: 1.2; letter-spacing: var(--ls-heading); }
.c-rc__intro { color: var(--color-text-muted); margin: 0 0 32px; }
.c-rc__q { margin: 0 0 36px; padding: 0; }
.c-rc__q.is-missing .c-rc__q-text { color: #8a2c1b; }
.c-rc__q-text { font-weight: var(--fw-medium); font-size: var(--fs-lg); margin: 0 0 6px; }
.c-rc__q-hint { font-size: 14.5px; color: var(--color-text-muted); margin: 0 0 12px; }
.c-rc__options { display: grid; gap: 10px; margin-top: 12px; }
.c-rc__option { display: flex; gap: 14px; align-items: flex-start; padding: 14px 16px; border: 1px solid var(--color-border-input); border-radius: var(--radius-md); background: #fff; cursor: pointer; transition: border-color .2s, background-color .2s; }
.c-rc__option:hover { border-color: var(--color-line-green); }
.c-rc__option input { width: 18px; height: 18px; margin: 3px 0 0; accent-color: var(--color-secondary); flex: none; }
.c-rc__option:has(input:checked) { border-color: var(--color-secondary); background: var(--color-tint); }
.c-rc__option:has(input:focus-visible) { outline: 2px solid var(--color-focus); outline-offset: 2px; }
.c-rc__option-text { font-size: 15.5px; line-height: 1.5; }
.c-rc__error { color: #8a2c1b; font-size: 14.5px; margin: 0 0 20px; }
.c-rc__nav { display: flex; justify-content: space-between; gap: 12px; padding-top: 24px; border-top: 1px solid var(--color-border); }
.c-rc__nav [data-rc-next] { margin-left: auto; }
.c-rc__result:focus { outline: none; }
.c-rc__summary { display: grid; gap: 24px; align-items: center; margin: 12px 0 36px; }
.c-rc__total { display: flex; align-items: baseline; gap: 10px; }
.c-rc__total-num { font-size: clamp(64px, 12vw, 104px); font-weight: var(--fw-light); line-height: 1; letter-spacing: -0.04em; color: var(--color-secondary); }
.c-rc__total-of { color: var(--color-text-muted); font-size: var(--fs-lg); }
.c-rc__level { font-size: clamp(24px, 3vw, 32px); margin: 0 0 8px; }
.c-rc__level-text { margin: 0; color: var(--color-text-muted); }
.c-rc__viz { display: grid; gap: 32px; margin-bottom: 48px; padding: clamp(20px, 3vw, 32px); border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-surface); }
.c-rc__radar { max-width: 360px; width: 100%; margin: 0 auto; }
.c-rc__svg { width: 100%; height: auto; overflow: visible; }
.c-rc__ring { fill: none; stroke: var(--color-border-input); stroke-width: 1; }
.c-rc__axis { stroke: var(--color-border-input); stroke-width: 1; }
.c-rc__area { fill: rgba(63, 107, 66, .22); stroke: var(--color-secondary); stroke-width: 2; stroke-linejoin: round; }
.c-rc__dot { fill: var(--color-secondary); }
.c-rc__label { font: 500 12px var(--font-body); fill: var(--color-text); }
.c-rc__bars { list-style: none; margin: 0; padding: 0; display: grid; gap: 18px; align-content: center; }
.c-rc__bar-head { display: flex; justify-content: space-between; gap: 12px; font-size: 15px; margin-bottom: 8px; }
.c-rc__track { height: 10px; background: var(--color-sage-soft); border-radius: var(--radius-pill); overflow: hidden; }
.c-rc__fill { display: block; height: 100%; background: var(--color-secondary); border-radius: inherit; }
.c-rc__h3 { font-size: clamp(20px, 2.2vw, 26px); margin: 0 0 20px; }
.c-rc__recs { list-style: none; margin: 0 0 48px; padding: 0; display: grid; gap: 16px; }
.c-rc__rec { padding: 24px; border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-bg); }
.c-rc__rec .c-card__tag { margin-bottom: 12px; display: inline-block; }
.c-rc__rec-title { font-size: 19px; margin: 0 0 8px; }
.c-rc__rec-text { margin: 0 0 12px; color: var(--color-text-muted); font-size: 15.5px; }
.c-rc__rec-links { display: flex; flex-wrap: wrap; gap: 8px 24px; margin: 0; }
.c-rc__rec-links .c-card__more { margin-top: 0; padding-top: 0; }
.c-rc__ask { padding: clamp(24px, 3.5vw, 40px); border-radius: var(--radius-lg); background: var(--color-sand); }
.c-rc__ask-text { margin: 0 0 24px; color: var(--color-text-muted); }
.c-rc__ask .c-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.c-rc__status { margin: 20px 0 0; padding: 14px 18px; border-radius: var(--radius-md); background: #fff; border-left: 3px solid var(--color-secondary); }
.c-rc__status[data-state="error"] { border-left-color: #8a2c1b; color: #8a2c1b; }
.c-rc__restart { margin: 32px 0 0; text-align: center; }
.c-rc__link { background: none; border: 0; padding: 0; font: inherit; font-size: 14.5px; color: var(--color-secondary); text-decoration: underline; cursor: pointer; }
.c-rc [hidden] { display: none !important; }
.c-form__row--full { grid-column: 1 / -1; }
@media (min-width: 768px) {
  .c-rc__summary { grid-template-columns: auto 1fr; gap: 48px; }
  .c-rc__viz { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; }
  .c-rc__ask .c-form__grid, .c-nl__form .c-form__grid { grid-template-columns: 1fr 1fr; }
}
@media (prefers-reduced-motion: reduce) { .c-rc__bar-fill { transition: none; } }

/* ---------- Newsletter ---------- */
.c-nl { padding-top: clamp(32px, 4vw, 56px); }
.c-nl__form { border: 1px solid var(--color-border); border-radius: var(--radius-lg); }
.c-nl__info { margin-top: 48px; }
.c-nl__h { font-size: clamp(20px, 2.2vw, 26px); margin: 0 0 20px; }
.c-nl__steps { margin: 0 0 16px; padding-left: 1.2em; display: grid; gap: 10px; }
.c-nl__small { font-size: 14px; color: var(--color-text-muted); }
.c-nl__done { padding: clamp(28px, 4vw, 48px); border-radius: var(--radius-lg); background: var(--color-tint); border: 1px solid var(--color-line-green); }
.c-nl__done:focus { outline: 2px solid var(--color-focus); outline-offset: 2px; }
.c-nl__done-title { font-size: clamp(24px, 3vw, 34px); margin: 0 0 12px; }
.c-nl__done-links { display: flex; gap: 24px; margin: 20px 0 0; }
