/* 210Election announcement + county early-voting guide — v0.1.75 TEST CANDIDATE.
   Scoped under .en-early- / .en-announcement to avoid changes to results UI. */
body.en-has-announcement .en-home-appearance-wrap {position:absolute;top:auto;right:18px;}
/* Homepage only: give the appearance switch a little breathing room below the site announcement. */
body.en-home-page.en-has-announcement .en-home-appearance-wrap {transform:translateY(8px);}
.en-announcement {position:relative;z-index:70;background:linear-gradient(100deg,#102c51,#1e4d80);color:#fff;border-bottom:1px solid rgba(255,255,255,.13);font-size:.86rem;}
.en-announcement-inner {max-width:1480px;margin:auto;min-height:43px;padding:9px 22px;display:flex;justify-content:center;align-items:center;gap:14px 20px;flex-wrap:wrap;text-align:center;line-height:1.45;}
.en-announcement-message {font-weight:760;letter-spacing:.005em;}
.en-announcement-link {color:#d5eaff!important;text-decoration:underline;text-decoration-color:rgba(213,234,255,.58);text-underline-offset:3px;font-weight:760;}
.en-announcement-link:hover {color:#fff!important;text-decoration-color:#fff;}
.en-announcement-link:focus-visible {outline:2px solid #fff;outline-offset:4px;border-radius:3px;}
.en-early-voting-page .en-topbar .en-topbar-inner {gap:18px;}
.en-early-voting-page .en-topbar .en-brand-link {color:var(--en-text);text-decoration:none;}
.en-early-header-link {margin-left:auto;color:var(--en-muted);font-size:.85rem;font-weight:700;white-space:nowrap;text-decoration:none;}
.en-early-header-link:hover {color:var(--en-accent);}
.en-early-wrap {width:min(calc(100% - 36px),1100px);margin:0 auto;padding:38px 0 86px;}
.en-early-hero {padding:38px 40px 32px;border-radius:22px;background:linear-gradient(125deg,rgba(27,74,129,.58),rgba(15,32,58,.82));border:1px solid var(--en-line);position:relative;overflow:hidden;}
.en-early-hero::before {content:"";width:280px;height:280px;position:absolute;right:-80px;top:-130px;border-radius:50%;background:radial-gradient(circle,rgba(57,148,255,.28),transparent 71%);pointer-events:none;}
.en-early-eyebrow,.en-early-kicker {font-size:.69rem;text-transform:uppercase;letter-spacing:.16em;font-weight:900;color:#90c3fb;}
.en-early-hero h1 {font-size:clamp(2.2rem,5.2vw,3.45rem);line-height:1.11;letter-spacing:-.045em;font-weight:900;margin:17px 0 15px;max-width:760px;}
.en-early-hero h1 span {color:#a7cffa;}
.en-early-subtitle {max-width:650px;color:#d7e6f5;font-size:1.02rem;line-height:1.66;margin:0 0 24px;}
.en-early-meta {display:flex;gap:7px 18px;flex-wrap:wrap;font-size:.78rem;color:#c0d6ee;}
.en-early-meta span + span::before {content:"•";margin-right:15px;color:#7fa6cb;}
.en-early-source-alert {margin:18px 0 0;border:1px solid var(--en-line);border-left:3px solid #5b9ee1;background:var(--en-panel);border-radius:10px;padding:14px 18px;color:var(--en-muted);font-size:.86rem;line-height:1.65;}
.en-early-source-alert strong {color:var(--en-text);}
.en-early-source-alert a,.en-early-bottom-source a {color:var(--en-accent-2);font-weight:700;}
.en-early-schedule {margin-top:34px;}
.en-early-section-head {margin:0 0 20px;}
.en-early-section-head h2 {margin:8px 0 8px;font-size:clamp(1.45rem,3vw,1.95rem);letter-spacing:-.03em;}
.en-early-section-head p {color:var(--en-muted);margin:5px 0 0;line-height:1.55;font-size:.94rem;}
.en-early-schedule-grid {display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.en-early-panel {background:var(--en-panel);border:1px solid var(--en-line);border-radius:18px;padding:25px 24px;min-width:0;}
.en-early-panel-branch {background:linear-gradient(170deg,rgba(53,84,114,.18),var(--en-panel));}
.en-early-panel-head {display:flex;gap:13px;align-items:center;margin-bottom:16px;}
.en-early-panel-icon {flex:none;width:41px;height:41px;display:grid;place-items:center;border-radius:12px;background:rgba(89,157,242,.13);color:#8cc5ff;font-size:1.3rem;font-weight:800;}
.en-early-panel-head h3 {font-size:1.05rem;line-height:1.25;margin:0 0 4px;}
.en-early-panel-head p {font-size:.76rem;margin:0;line-height:1.35;color:var(--en-muted);}
.en-early-hours {margin:0;}
.en-early-hours > div {display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-top:1px solid var(--en-line);padding:13px 0;}
.en-early-hours dt,.en-early-hours dd {font-size:.84rem;line-height:1.45;}
.en-early-hours dt {color:var(--en-muted);}
.en-early-hours dd {text-align:right;font-weight:820;margin:0;white-space:nowrap;}
.en-early-hours dd.en-early-closed {color:#ee9c9f;}
.en-early-branch-note {font-size:.78rem;color:var(--en-muted);line-height:1.5;margin:12px 0 0;}
.en-early-locations {margin-top:50px;}
.en-early-searchbar {background:var(--en-panel);border:1px solid var(--en-line);border-radius:17px;padding:20px;margin-bottom:16px;}
.en-early-search-label {display:block;font-size:.78rem;font-weight:800;margin-bottom:10px;}
.en-early-search-control {display:flex;align-items:center;gap:10px;border:1px solid var(--en-line-strong);border-radius:11px;background:var(--en-bg);padding:0 13px;min-height:49px;}
.en-early-search-control > span {color:var(--en-muted);font-size:1.55rem;line-height:1;}
.en-early-search-control input {color:var(--en-text);background:transparent;border:none;outline:none;flex:1;width:100%;min-width:0;font-size:.9rem;padding:12px 0;}
.en-early-search-control:focus-within {outline:2px solid var(--en-accent);outline-offset:2px;}
.en-early-search-control #en-early-clear {border:0;background:transparent;color:var(--en-accent-2);cursor:pointer;font-size:.8rem;padding:8px;}
.en-early-filter-row {display:flex;gap:15px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-top:15px;}
.en-early-filter-buttons {display:flex;flex-wrap:wrap;gap:7px;}
.en-early-filter-buttons button {background:transparent;color:var(--en-muted);border:1px solid var(--en-line-strong);padding:8px 12px;border-radius:8px;cursor:pointer;font-weight:750;font-size:.76rem;line-height:1.3;}
.en-early-filter-buttons button:hover {border-color:var(--en-accent);color:var(--en-text);}
.en-early-filter-buttons button.is-active {background:var(--en-accent);border-color:var(--en-accent);color:#081626;}
#en-early-count {font-size:.78rem;color:var(--en-muted);font-weight:750;white-space:nowrap;}
.en-early-location-list {display:grid;gap:9px;}
.en-early-location {display:flex;align-items:center;gap:14px;border:1px solid var(--en-line);background:var(--en-panel);border-radius:13px;padding:16px 20px;min-width:0;}
.en-early-location[hidden],.en-early-empty[hidden],#en-early-clear[hidden] {display:none!important;}
.en-early-location-marker {flex:none;width:35px;height:35px;display:grid;place-items:center;background:rgba(89,157,242,.12);color:var(--en-accent-2);border-radius:11px;font-size:1.4rem;}
.en-early-location-info {min-width:0;flex:1;}
.en-early-location-info h3 {font-size:.93rem;font-weight:850;line-height:1.35;margin:0 0 3px;}
.en-early-location-info p {font-size:.81rem;color:var(--en-muted);margin:0;line-height:1.45;}
.en-early-branch-tag {display:inline-block;font-size:.7rem;font-weight:850;color:#ffd8a0;margin-top:7px;background:rgba(192,111,28,.13);padding:4px 8px;border-radius:6px;}
.en-early-directions {display:inline-flex;gap:8px;align-items:center;color:var(--en-accent-2);text-decoration:none;border:1px solid var(--en-line-strong);border-radius:8px;padding:9px 12px;white-space:nowrap;font-size:.78rem;font-weight:800;}
.en-early-directions:hover {border-color:var(--en-accent);background:rgba(89,157,242,.1);}
.en-early-empty {border:1px dashed var(--en-line-strong);text-align:center;border-radius:12px;padding:34px 15px;color:var(--en-muted);}
.en-early-bottom-source {margin-top:43px;padding:25px;display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid var(--en-line);background:var(--en-panel);border-radius:16px;}
.en-early-bottom-source h2 {font-size:1.05rem;margin:0 0 6px;}
.en-early-bottom-source p {margin:0;color:var(--en-muted);line-height:1.5;font-size:.83rem;max-width:620px;}
.en-early-bottom-source > a {font-size:.82rem;white-space:nowrap;}
.en-early-footer {width:min(calc(100% - 36px),1100px);margin:0 auto 26px;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;color:var(--en-muted);font-size:.78rem;}
.en-early-footer a {color:var(--en-accent-2);text-decoration:none;font-weight:800;}
/* Theme Light default: remain high contrast without introducing new global colors. */
html[data-en-theme="light"] .en-early-hero {background:linear-gradient(120deg,#e2effd,#f4f8ff);border-color:#c5d7e9;}
html[data-en-theme="light"] .en-early-eyebrow,html[data-en-theme="light"] .en-early-kicker {color:#275f9d;}
html[data-en-theme="light"] .en-early-hero h1 span {color:#286bab;}
html[data-en-theme="light"] .en-early-subtitle {color:#415a76;}
html[data-en-theme="light"] .en-early-meta {color:#52708c;}
html[data-en-theme="light"] .en-early-panel,html[data-en-theme="light"] .en-early-searchbar,html[data-en-theme="light"] .en-early-location,html[data-en-theme="light"] .en-early-source-alert,html[data-en-theme="light"] .en-early-bottom-source {background:#fff;border-color:#d9e3ed;}
html[data-en-theme="light"] .en-early-panel-branch {background:#fbfcff;}
html[data-en-theme="light"] .en-early-search-control {background:#f8fafc;border-color:#cad7e3;}
html[data-en-theme="light"] .en-early-panel-icon,html[data-en-theme="light"] .en-early-location-marker {background:#e8f3ff;color:#2163a5;}
html[data-en-theme="light"] .en-early-branch-tag {color:#8a4b04;background:#fff3df;}
html[data-en-theme="light"] .en-early-hours dd.en-early-closed {color:#a43543;}
html[data-en-theme="light"] .en-early-directions,html[data-en-theme="light"] .en-early-bottom-source a,html[data-en-theme="light"] .en-early-source-alert a {color:#195b9c;}
html[data-en-theme="light"] .en-early-filter-buttons button.is-active {color:#fff;}
@media(max-width:760px){
 body.en-home-page.en-has-announcement .en-home-appearance-wrap {transform:translateY(6px);}
 .en-early-wrap {padding-top:22px;}
 .en-early-schedule {margin-top:28px;}
 .en-early-hero {padding:29px 24px;}
 .en-early-schedule-grid {grid-template-columns:1fr;}
 .en-early-meta span + span::before {content:none;}
 .en-early-location {align-items:flex-start;flex-wrap:wrap;padding:16px;}
 .en-early-directions {margin-left:49px;}
 .en-early-bottom-source {display:block;}
 .en-early-bottom-source>a {display:inline-block;margin-top:15px;white-space:normal;}
 .en-early-header-link {font-size:.76rem;}
}
@media(max-width:440px){
 .en-announcement-inner {gap:3px 10px;padding:8px 12px;}
 .en-announcement-link {display:block;}
 .en-early-header-link {display:none;}
 .en-early-hero {padding:25px 19px;}
 .en-early-panel {padding:20px 16px;}
 .en-early-hours > div {gap:8px;}
 .en-early-searchbar {padding:15px;}
 .en-early-location-marker {display:none;}
 .en-early-directions {margin-left:0;}
}
@media(prefers-reduced-motion:reduce){.en-announcement *, .en-early-wrap * {scroll-behavior:auto;transition:none!important;}}

/* v0.1.75 — prevent iPhone auto-zoom while searching early-voting sites. */
@media (max-width: 760px) {
  .en-early-search-control #en-early-search { font-size: 16px; line-height: 1.35; }
  .en-early-searchbar { scroll-margin-top: 90px; }
}
