/*
 * Feedback Forms — structural styles only. Colors, fonts and radii come from the
 * active theme through these custom properties (each has a plain fallback):
 *   --fb-bg, --fb-surface, --fb-border, --fb-text, --fb-muted, --fb-accent,
 *   --fb-accent-text, --fb-radius, --fb-success
 */
.fb-forms { --_bg: var(--fb-surface, transparent); --_border: var(--fb-border, rgba(127,127,127,.35)); --_text: var(--fb-text, inherit); --_muted: var(--fb-muted, rgba(127,127,127,.9)); --_accent: var(--fb-accent, #2563eb); --_accent-text: var(--fb-accent-text, #fff); --_radius: var(--fb-radius, .5rem); --_success: var(--fb-success, #15803d); color: var(--_text); }
.fb-forms__nav { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 0 1.5rem; }
.fb-forms__nav[hidden] { display: none; }
.fb-forms__tab { font: inherit; font-weight: 600; padding: .5rem .9rem; border: 1px solid var(--_border); border-radius: 999px; background: transparent; color: var(--_text); cursor: pointer; }
.fb-forms__tab[aria-pressed="true"] { background: var(--_accent); border-color: var(--_accent); color: var(--_accent-text); }
.fb-forms__tab:focus-visible { outline: 2px solid var(--_accent); outline-offset: 2px; }
.fb-forms__panels { display: grid; gap: 3rem; }
.fb-forms--tabs .fb-forms__panels { gap: 0; }
.fb-form[hidden] { display: none; }
.fb-form { display: block; margin: 0; }
.fb-form__title { margin: 0 0 .5rem; }
.fb-form__intro { margin: 0 0 1.5rem; color: var(--_muted); }
.fb-form__body { display: grid; gap: 1.25rem; }
.fb-hp { position: absolute !important; left: -9999px !important; margin: 0; }
.fb-q { margin: 0; padding: 0; border: 0; min-width: 0; }
.fb-q__prompt { padding: 0; margin: 0 0 .5rem; font-weight: 600; line-height: 1.4; }
.fb-q__num { color: var(--_muted); font-weight: 400; margin-right: .25rem; }
.fb-q__optional { margin-left: .4rem; font-weight: 400; font-size: .8125rem; color: var(--_muted); }
.fb-q__hint { margin: .4rem 0 0; font-size: .875rem; color: var(--_muted); }
.fb-input { box-sizing: border-box; width: 100%; font: inherit; color: var(--_text); background: var(--_bg); border: 1px solid var(--_border); border-radius: var(--_radius); padding: .65rem .8rem; }
.fb-input:focus { outline: 2px solid var(--_accent); outline-offset: 1px; border-color: var(--_accent); }
.fb-input--text { resize: vertical; min-height: 6rem; line-height: 1.5; }
.fb-input--file { padding: .5rem; }
.fb-options { display: grid; gap: .4rem; }
.fb-options--scale { grid-auto-flow: column; grid-auto-columns: minmax(2.5rem, 1fr); }
.fb-option { display: flex; align-items: center; gap: .6rem; padding: .55rem .8rem; border: 1px solid var(--_border); border-radius: var(--_radius); background: var(--_bg); cursor: pointer; }
.fb-options--scale .fb-option { justify-content: center; padding: .55rem .25rem; }
.fb-option:has(input:checked) { border-color: var(--_accent); box-shadow: inset 0 0 0 1px var(--_accent); }
.fb-option input { margin: 0; accent-color: var(--_accent); }
.fb-submit { font: inherit; font-weight: 600; padding: .75rem 1.5rem; border: 0; border-radius: var(--_radius); background: var(--_accent); color: var(--_accent-text); cursor: pointer; justify-self: start; }
.fb-submit[disabled] { opacity: .6; cursor: progress; }
.fb-form__success { margin: 1rem 0 0; padding: 1rem 1.25rem; border-radius: var(--_radius); border: 1px solid var(--_success); color: var(--_success); }
.fb-form__success[hidden] { display: none; }
.fb-form__success-title { font-weight: 700; }
.fb-form__status { margin: .75rem 0 0; color: #b91c1c; font-size: .9375rem; }
.fb-form__status:empty { display: none; }
.fb-forms__empty { color: var(--_muted); }
@media (max-width: 40rem) { .fb-options--scale { grid-auto-flow: row; grid-template-columns: repeat(5, 1fr); } }
