/* ══════════════════════════════════════════════════════════════════════════
   splent_feature_survey — public questionnaire. Token-driven; styled by the
   active skin via the theme's --brand-* custom properties.
   ══════════════════════════════════════════════════════════════════════════ */
.survey { max-width: 60rem; }
.survey__intro { margin-bottom: 2rem; }
.survey__error, .survey__closed { color: var(--brand-danger, #b00020); font-weight: 600; }
.survey-section { border: 0; margin: 0 0 2rem; padding: 0; }
.survey-section__title {
    font-family: var(--brand-font-display, inherit); font-weight: 700;
    font-size: 1.15rem; color: var(--brand-heading, #111827);
    border-bottom: 2px solid var(--brand-primary, #2563eb);
    padding-bottom: .4rem; margin: 0 0 1.25rem; width: 100%;
}
.survey-q { margin: 0 0 1.5rem; }
.survey-q__label { display: block; font-weight: 600; margin-bottom: .4rem; color: var(--brand-heading, #111827); }
.survey-q__req { color: var(--brand-danger, #b00020); }
.survey-q__help { margin: 0 0 .5rem; font-size: .88rem; color: var(--brand-muted, #6b7280); }
.survey-q--error .survey-q__label { color: var(--brand-danger, #b00020); }

.survey-scale { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
.survey-scale__end { font-size: .85rem; color: var(--brand-muted, #6b7280); }
.survey-scale__opts { display: inline-flex; gap: .35rem; flex-wrap: wrap; }
.survey-scale__opt { position: relative; }
.survey-scale__opt input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.survey-scale__opt span {
    display: inline-flex; align-items: center; justify-content: center;
    width: 2.5rem; height: 2.5rem; border-radius: 999px;
    border: 1px solid var(--brand-border, rgba(0,0,0,.15)); font-weight: 600;
}
.survey-scale__opt input:checked + span { background: var(--brand-primary, #2563eb); color: var(--brand-primary-contrast, #fff); border-color: var(--brand-primary, #2563eb); }
.survey-scale__opt input:focus-visible + span { outline: 2px solid var(--brand-primary, #2563eb); outline-offset: 2px; }

.survey-choices { display: flex; gap: 1rem 1.5rem; flex-wrap: wrap; }
.survey-choices--stack { flex-direction: column; gap: .5rem; }
.survey-choice { display: inline-flex; align-items: center; gap: .5rem; cursor: pointer; }
.survey-input {
    width: 100%; max-width: 40rem; padding: .6rem .75rem;
    border: 1px solid var(--brand-border, rgba(0,0,0,.2)); border-radius: var(--brand-radius, 8px);
    font: inherit; background: var(--brand-bg, #fff); color: var(--brand-text, inherit);
}
.survey__actions { margin-top: 2rem; }
.survey__thanks { font-size: 1.1rem; }
