.ballot-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 24px;padding:20px 24px;border-top:1px solid #abedf566;background:linear-gradient(135deg,#176b85,#0b3c52 60%,#082532)}
.ballot-banner[hidden]{display:none}
.ballot-banner .bb-text{flex:1 1 260px;min-width:0}
.ballot-banner h2{margin:0 0 6px;font-size:clamp(22px,2.6vw,30px);line-height:1.1;color:#eaf8fa}
.ballot-banner p{margin:0;font-size:15px;line-height:1.45;color:#d3e8ec}
.ballot-banner .bb-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}
.ballot-banner .bb-main{display:inline-block;white-space:nowrap;background:#b9f6ed;color:#052b3b;border-radius:99px;padding:14px 26px;font-size:16px;font-weight:800;text-decoration:none}
.ballot-banner .bb-main:hover{background:#e4fffb}
.ballot-banner .bb-alt{color:#e9ffff;font-weight:650;text-underline-offset:3px}
.ballot-banner a:focus-visible{outline:2px solid #e4ffff;outline-offset:3px}
@media(max-width:860px){.ballot-banner{padding:18px 16px}.ballot-banner .bb-main{width:100%;text-align:center;box-sizing:border-box}}

.bb-plan-wrap{margin:0 0 16px;padding:12px 14px;border:1px solid #abedf566;border-radius:12px;background:#0a3a50}
.bb-plan{color:#e9ffff;font-weight:800;text-underline-offset:3px}
.bb-plan-note{display:block;margin-top:4px;font-size:13px;color:#bcd7df}
/* quick answers + measure cards on every state map */
.measure .body{font-size:13px;color:#c8dfe4;line-height:1.55;padding:6px 0 4px}
.measure .body p{margin:0 0 6px}
.race-title{font-size:17px!important;margin-bottom:6px!important}
.race-title a{color:#e9ffff}
.race li{padding:4px 0}
.quick{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:4px 0 2px}
.quick .q-l{font-size:12px;color:#bcd7df;flex-basis:100%}
.quick .q-b{font:inherit;font-size:13px;color:#e9ffff;background:#0a3a50;border:1px solid #abedf566;border-radius:99px;padding:3px 12px;cursor:pointer}
.quick .q-b:hover{background:#0f4d69}
.quick .q-b[aria-pressed=true]{background:#a6f0e7;color:#052230;border-color:#a6f0e7;font-weight:700}
.quick .q-b:focus-visible{outline:2px solid #fff;outline-offset:2px}
div.measure{border-top:1px solid #abedf51f;padding:12px 0}
.measure .m-title{font-size:16px;font-weight:700;line-height:1.35}
.measure .m-title a{color:#e9ffff}
.measure .m-see{margin:4px 0 6px;font-size:14px}
.measure .m-what{margin:0 0 6px;font-size:13px;color:#c8dfe4;line-height:1.5}
.measure .m-more{margin-top:8px}
.measure .m-more summary{cursor:pointer;font-size:13px;color:#bcd7df}
.measure .body{font-size:13px;color:#c8dfe4;line-height:1.55;padding:6px 0 4px}
.measure .body p{margin:0 0 6px}

.bb-saved{margin:8px 0;padding:8px 12px;border:1px solid #abedf566;border-radius:10px;background:#0a3a5080;color:#e9ffff;font-size:14px}
.bb-saved[hidden]{display:none}
.qwrap{display:block}
.q-note{display:block;margin:4px 0}
.q-note .q-nb{font:inherit;font-size:13px;color:#e9ffff;background:#0a3a50;border:1px solid #abedf566;border-radius:99px;padding:3px 12px;cursor:pointer}
.q-note .q-ta{display:block;width:100%;max-width:520px;margin-top:6px;font:inherit;font-size:13px;color:#e9ffff;background:#041f31;border:1px solid #abedf566;border-radius:8px;padding:6px 8px;box-sizing:border-box}
.q-note .q-ta[hidden]{display:none}
