.survey-section { background: linear-gradient(180deg,rgba(232,240,236,.96),rgba(247,243,234,.94)); }
.survey-section[hidden], [data-survey-nav][hidden] { display: none !important; }
.survey-section .section-heading { max-width: 860px; margin-bottom: 2rem; }
.survey-section .section-heading h2 { font-size: clamp(2rem,4vw,2.7rem); }
.survey-description { max-width: 780px; margin: 0 auto; color: var(--muted); font-size: .98rem; line-height: 1.68; }
.survey-form { display: grid; gap: 1rem; width: min(100%,900px); margin: 1.85rem auto 0; }
.survey-public-section { padding: clamp(1rem,2.6vw,1.45rem); border: 1px solid rgba(16,28,63,.08); border-radius: 8px; background: rgba(255,255,255,.92); box-shadow: 0 18px 48px rgba(16,28,63,.07); }
.survey-public-section h3 { margin: 0 0 1rem; color: var(--navy); font-family: var(--heading); font-size: clamp(1.28rem,2.1vw,1.72rem); line-height: 1.2; }
.survey-question { display: grid; gap: .65rem; min-width: 0; margin: 0; padding: 1rem 0 .2rem; border: 0; border-top: 1px solid rgba(16,28,63,.1); }
.survey-question:first-of-type { padding-top: 0; border-top: 0; }
.survey-question + .survey-question { margin-top: .6rem; }
.survey-question legend, .survey-question label.survey-question-label { width: 100%; margin: 0 0 .22rem; padding: 0; color: var(--ink); font-size: .92rem; font-weight: 650; line-height: 1.42; }
.survey-required { color: #a15c00; }
.survey-choice-list, .survey-rating-list { display: flex; flex-wrap: wrap; gap: .4rem; }
.survey-choice-list label, .survey-rating-list label { display: inline-flex; align-items: center; gap: .38rem; min-height: 32px; padding: .3rem .58rem; border: 1px solid rgba(16,28,63,.11); border-radius: 999px; background: #fff; color: var(--ink); font-size: .88rem; font-weight: 500; cursor: pointer; }
.survey-choice-list label:has(input:checked), .survey-rating-list label:has(input:checked) { border-color: rgba(217,155,55,.72); background: rgba(217,155,55,.14); color: var(--navy); font-weight: 650; box-shadow: 0 8px 20px rgba(217,155,55,.13); }
.survey-choice-list input, .survey-rating-list input { accent-color: var(--gold); }
.survey-form[data-survey-completed="1"] .survey-choice-list label, .survey-form[data-survey-completed="1"] .survey-rating-list label, .survey-form[data-survey-completed="1"] textarea { cursor: default; }
.survey-form[data-survey-completed="1"] button[type="submit"], .survey-form[data-survey-preview="1"] button[type="submit"] { box-shadow: none; opacity: .92; }
.survey-question textarea { display: block; width: 100%; min-height: 104px; resize: vertical; padding: .78rem .9rem; border: 1px solid rgba(16,28,63,.13); border-radius: 8px; background: #fff; color: var(--ink); font: inherit; font-size: .92rem; }
.survey-question textarea:focus { outline: 0; border-color: rgba(217,155,55,.78); box-shadow: 0 0 0 3px rgba(217,155,55,.16); }
.survey-form-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .85rem; margin-top: .15rem; }
.survey-status { margin: 0; color: var(--muted); font-weight: 700; }
.survey-status[data-type="success"] { color: #28745d; } .survey-status[data-type="error"] { color: #a53636; }
@media (max-width: 767.98px) { .survey-description { text-align: left; } .survey-form { margin-top: 1.25rem; } .survey-public-section { padding: 1rem; } .survey-choice-list label, .survey-rating-list label { min-height: 36px; padding: .42rem .65rem; } }
