:root{--e-blue:#063477;--e-mid:#075cb8;--e-yellow:#ffd400;--e-red:#e30613;--e-ink:#111827}
.elections{max-width:1180px;margin:auto;color:var(--e-ink);font-family:Arial,sans-serif}.elections button,.elections input{font:inherit}.elections__hero{position:relative;overflow:hidden;padding:42px clamp(18px,5vw,64px);background:#fff;border:1px solid #e5e7eb;border-radius:18px}.elections__brand{display:flex;align-items:center;gap:14px}.elections__brand strong{font-size:34px;color:var(--e-yellow);background:var(--e-blue);padding:8px 20px;transform:skew(-8deg)}.elections__brand span{font-weight:700;color:var(--e-blue)}.elections h1{text-transform:uppercase;font-size:clamp(38px,7vw,76px);line-height:.92;margin:34px 0 18px;letter-spacing:-.04em}.elections h1 em{font-style:normal;color:var(--e-blue)}.elections__lead{font-size:clamp(19px,2.5vw,28px);max-width:800px}.elections__search{position:relative;margin-top:28px}.elections__search>label{display:block;font-weight:700;margin-bottom:8px}.elections__searchrow{display:grid;grid-template-columns:1fr auto;gap:10px}.elections input{min-height:58px;border:2px solid var(--e-blue);border-radius:8px;padding:0 18px;font-size:18px}.elections button{min-height:48px;border:0;border-radius:8px;padding:12px 20px;background:var(--e-blue);color:#fff;font-weight:800;text-transform:uppercase;cursor:pointer}.elections button:hover,.elections button:focus-visible{background:var(--e-red)}.elections :focus-visible{outline:3px solid var(--e-yellow);outline-offset:3px}.elections__privacy,.elections__legal{font-size:14px;color:#4b5563}.elections__steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:0;margin:30px 0 0;list-style:none}.elections__steps li{display:flex;align-items:center;gap:10px;font-weight:700}.elections__steps b{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--e-yellow);color:var(--e-blue);font-size:22px}.elections__workspace{position:relative;margin-top:24px;display:grid;grid-template-columns:minmax(0,2fr) minmax(290px,1fr);gap:18px}.elections__toolbar{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px}.elections__toolbar button[aria-pressed=true]{background:var(--e-red)}.elections__map{height:560px;background:#e5e7eb;border-radius:14px;z-index:1}.elections__result{padding:24px;border-radius:14px;background:var(--e-blue);color:#fff}.elections__result a{color:var(--e-yellow)}.elections__result-actions{display:grid;gap:10px;margin-top:20px}.elections__result-actions button,.elections__result-actions a{display:block;text-align:center;text-decoration:none;border-radius:8px;padding:14px;background:var(--e-yellow);color:var(--e-blue);font-weight:800}.elections__district{margin:24px 0;padding:28px;border-left:10px solid var(--e-yellow);background:#f4f7fb}.elections__suggestions{position:absolute;z-index:1000;top:90px;left:0;right:180px;background:#fff;border:1px solid #cbd5e1;box-shadow:0 8px 24px #0002}.elections__suggestions button{width:100%;text-align:left;background:#fff;color:var(--e-ink);border-radius:0;text-transform:none}.elections__error{padding:14px;border-left:5px solid var(--e-red);background:#fff;color:var(--e-ink)}
@media(max-width:720px){.elections__hero{border-radius:0;padding:24px 16px}.elections h1{font-size:42px}.elections__searchrow,.elections__workspace{grid-template-columns:1fr}.elections__searchrow button{width:100%}.elections__steps{grid-template-columns:1fr}.elections__map{height:52vh;min-height:360px;border-radius:0}.elections__result{position:relative;margin-top:-16px;z-index:2;border-radius:18px 18px 0 0}.elections__suggestions{right:0;top:148px}.elections__toolbar{padding:0 12px}.elections__toolbar button{min-height:44px}.elections__brand strong{font-size:26px}}
.elections__scope{max-width:760px;margin:14px auto 24px;padding:10px 14px;border:1px solid rgba(255,255,255,.35);border-radius:10px;background:rgba(0,26,70,.22)}
.elections__map{position:relative}.elections__mapnote{position:absolute;z-index:500;left:18px;right:18px;top:18px;margin:0;padding:12px 16px;border-radius:10px;background:rgba(255,255,255,.94);color:#163b69;box-shadow:0 6px 22px rgba(0,0,0,.12)}
