.civic-content-shell { max-width: 1180px; margin: 0 auto; padding: 1.25rem; box-sizing: border-box; }
.civic-content-shell h1 { font-size: clamp(1.8rem, 5vw, 2.6rem); }
.civic-content-tabs { display: flex; gap: 1rem; flex-wrap: wrap; margin: 1rem 0; }
.civic-content-tabs [aria-current] { font-weight: bold; text-decoration-thickness: 3px; }
.civic-content-card { padding: 1.25rem; margin: 1rem 0; border: 1px solid #52718b; border-radius: .6rem; background:var(--nh-card-bg, rgba(255, 255, 255, .85)) !important; color: #193751; min-width: 0; overflow-wrap: anywhere; }
.civic-content-card h2, .civic-content-card h3 { margin-top: 0; }
.civic-content-card a { color: #125496; }
.civic-content-card label { display: block; margin: .85rem 0; }
.civic-content-card input:not([type=radio]):not([type=checkbox]):not([type=hidden]), .civic-content-card textarea, .civic-content-card select { display: block; width: 100%; box-sizing: border-box; padding: .6rem; margin-top: .3rem; font: inherit; color: #193751; background: #fff; border: 1px solid #52718b; border-radius: .2rem; }
.civic-content-card button { min-height: 44px; padding: .6rem 1rem; margin: .25rem; font: inherit; cursor: pointer; border: 1px solid #125496; border-radius: .25rem; background: #eff6fc; color: #173b60; }
.civic-content-card fieldset { margin: 1rem 0; padding: 1rem; border: 1px solid #52718b; }
.civic-content-card legend { font-weight: bold; }
.civic-content-card input[type=radio], .civic-content-card input[type=checkbox] { margin-right: .5rem; }
.civic-content-manager { display: grid; grid-template-columns: minmax(0, 2fr) minmax(250px, 1fr); gap: 1.5rem; align-items: start; }
.civic-content-notice { padding: .8rem; border-left: 4px solid #52718b; }
.civic-content-error { padding: .8rem; border: 2px solid #a12a2a; background: #fff; color: #8d2020; }
.civic-content-body { line-height: 1.65; white-space: pre-wrap; }
.civic-content-meta { font-size: .95rem; line-height: 1.5; }
.civic-content-status { display: inline-block; padding: .25rem .5rem; border: 1px solid currentColor; border-radius: .2rem; }
.civic-content-results { width: 100%; border-collapse: collapse; }
.civic-content-results th, .civic-content-results td { text-align: left; border-bottom: 1px solid #a3b3c2; padding: .5rem; }
@media (max-width: 760px) { .civic-content-manager { grid-template-columns: 1fr; } .civic-content-shell { padding: .75rem; } }

.civic-content-shell #footer-content { min-width: 0; max-width: 100%; }

/* Use the same site palette for public facts and dedicated publishing pages. */
.civic-content-card { background:var(--nh-card-bg, rgba(255, 255, 255, .85)) !important; color: var(--blue-dark,#4a95e0); border-color: var(--blue-medium,#e5f2ff); border-radius: 16px; }
.civic-content-card a, .civic-content-card button { color: var(--blue-dark,#4a95e0); }
.civic-content-card input:not([type=radio]):not([type=checkbox]):not([type=hidden]), .civic-content-card textarea, .civic-content-card select { color: var(--blue-dark,#4a95e0); background: var(--blue-light,#fff); border-color: var(--blue-dark,#4a95e0); }
.civic-content-card button { background: var(--blue-light,#fff); border-color: var(--blue-dark,#4a95e0); }

/* Survey pages use the main site's card surfaces and controls. */
.civic-survey-card { padding: var(--nh-card-padding, 28px); border: var(--nh-card-border); border-radius: var(--nh-card-radius, 14px); box-shadow: var(--nh-card-shadow); color: var(--nh-card-text); }
/* Share is a real link to the saved item's public card. */
a.nh-share-button { display: inline-flex; align-items: center; justify-content: center; padding: 10px 16px; text-decoration: none; font-weight: 700; }
.civic-content-share { display: flex; align-items: center; margin: 1rem 0; padding: .85rem 0; border-top: 1px solid var(--blue-medium); border-bottom: 1px solid var(--blue-medium); }
.civic-content-share .nh-share-button { min-height: 44px; box-sizing: border-box; border-radius: var(--nh-field-radius, 8px); }
.civic-content-share .nh-share-button:focus-visible { outline: 3px solid var(--blue-dark); outline-offset: 3px; }

/* Survey questions use the established site cards, palette and form controls. */
.civic-content-shell.survey-page { max-width:1100px; padding:clamp(18px,3vw,36px); }
.survey-page > h1 { margin:1rem 0 .65rem; color:var(--blue-dark); }
.survey-page > p { line-height:1.6; }
.survey-page .civic-survey-card { padding:clamp(20px,3vw,36px); }
.survey-page .civic-survey-card > h2 { font-size:clamp(1.7rem,3.4vw,2.5rem); line-height:1.18; text-align:left; margin-bottom:1.25rem; }
.survey-page .civic-content-body { line-height:1.7; max-width:78ch; margin:1.25rem 0; }
.survey-page .civic-survey-card > .civic-content-meta { font-size:.88rem; margin:.35rem 0; }
.survey-page .civic-content-status { border:var(--nh-card-border); border-radius:999px; padding:.4rem .85rem; font-weight:700; background:var(--blue-medium); }
.survey-results-intro { margin:2rem 0 1.25rem; padding-top:1.5rem; border-top:var(--nh-card-border); }
.survey-results-intro h3 { margin:0 0 .5rem; font-size:1.5rem; text-align:left; }
.survey-results-intro p { margin:0; line-height:1.6; }
.survey-question-list { display:grid; gap:clamp(20px,3vw,30px); }
.survey-question-card { min-width:0; padding:clamp(18px,3vw,28px); border:var(--nh-card-border); border-radius:var(--nh-card-radius); background:var(--nh-card-bg); box-shadow:var(--nh-card-shadow); scroll-margin-top:100px; }
.survey-question-card:target { outline:2px solid var(--blue-dark); outline-offset:4px; }
.survey-question-number { margin:0 0 .75rem; font-size:.82rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; }
.survey-question-number span { font-weight:400; letter-spacing:.03em; }
.survey-question-header h3 { margin:0; font-size:clamp(1.25rem,2.5vw,1.65rem); line-height:1.35; text-align:left; overflow-wrap:anywhere; }
.survey-question-total { margin:.8rem 0 1.2rem; font-size:.95rem; text-align:left; }
.survey-question-total span { white-space:nowrap; }
.survey-question-card .survey-question-choices { min-width:0; margin:0; padding:0; border:0; display:grid; gap:10px; }
.survey-question-card .survey-choice { display:flex; align-items:center; gap:12px; margin:0; padding:14px 16px; min-height:52px; box-sizing:border-box; background:var(--blue-light); border:1px solid var(--blue-medium); border-radius:var(--nh-field-radius,10px); line-height:1.45; text-align:left; }
.survey-question-card label.survey-choice { cursor:pointer; }
.survey-question-card label.survey-choice:hover { border-color:var(--blue-dark); }
.survey-question-card .survey-choice:has(input:checked) { border-color:var(--blue-dark); background:var(--blue-medium); }
.survey-question-card .survey-choice:focus-within { outline:2px solid var(--blue-dark); outline-offset:3px; }
.survey-choice input[type=radio] { flex:0 0 auto; width:18px; height:18px; margin:0; accent-color:var(--blue-dark); }
.survey-choice-label { flex:1 1 auto; min-width:0; overflow-wrap:anywhere; }
.survey-choice-votes { flex:0 0 auto; font-size:.88rem; font-weight:700; white-space:nowrap; }
.survey-choice-votes span { font-weight:400; }
.survey-question-actions { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px; padding-top:18px; margin-top:18px; border-top:var(--nh-card-border); }
.survey-question-actions .nh-share-button { min-height:44px; box-sizing:border-box; font-size:.95rem; }
.survey-signin-link { font-weight:700; text-underline-offset:4px; padding:8px 0; }
.survey-question-note { font-size:.9rem; }
.survey-submit-panel { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:18px; padding:24px 0 8px; margin-top:24px; border-top:var(--nh-card-border); }
.survey-submit-panel h3 { margin:0 0 .5rem; text-align:left; }
.survey-submit-panel p { max-width:55ch; margin:0; line-height:1.5; }
.survey-page .survey-submit-panel button { border:0; border-radius:var(--nh-field-radius); background:var(--blue-dark); color:white; font-weight:700; padding:14px 20px; margin:0; }
.survey-visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
@media(max-width:550px) {
 .survey-question-card .survey-choice { flex-wrap:wrap; padding:12px; gap:8px; }
 .survey-choice-label { flex-basis:calc(100% - 34px); }
 .is-readonly .survey-choice-label { flex-basis:100%; }
 .survey-choice-votes { margin-left:auto; }
 .survey-question-actions { align-items:stretch; }
 .survey-question-actions .nh-share-button { width:100%; }
 .survey-submit-panel button { width:100%; }
}

/* Overview and question cards are peers, without a second enclosing card. */
.survey-page .civic-survey-card.is-survey-detail { padding:0; border:0; background:transparent !important; box-shadow:none; }
.survey-overview { padding:clamp(20px,3vw,36px); border:var(--nh-card-border); border-radius:var(--nh-card-radius); background:var(--nh-card-bg); box-shadow:var(--nh-card-shadow); }
.survey-overview > h2 { margin:0 0 1.25rem; font-size:clamp(1.7rem,3.4vw,2.5rem); line-height:1.18; text-align:left; }
.survey-overview > .civic-content-meta { margin:.35rem 0; font-size:.88rem; }

.survey-breadcrumb { margin:1.25rem 0; font-size:.95rem; }
.survey-breadcrumb ol { display:flex; align-items:baseline; flex-wrap:wrap; gap:.5rem .65rem; list-style:none; padding:0; margin:0; }
.survey-breadcrumb li { display:inline-flex; align-items:baseline; gap:.65rem; min-width:0; line-height:1.5; }
.survey-breadcrumb [aria-current=page] { flex:1 1 200px; }
.survey-breadcrumb [aria-current=page] > span:last-child { min-width:0; overflow-wrap:anywhere; }
.survey-breadcrumb a { color:var(--blue-dark); font-weight:700; text-underline-offset:3px; }
.survey-breadcrumb-separator { flex:none; color:var(--blue-dark); }
