/* Active Elections pages */
.subpage-hero{position:relative;padding:5rem 2rem 4rem;border-bottom:1px solid var(--border);background:radial-gradient(ellipse 70% 85% at 50% 0%,rgba(201,168,76,.075),transparent 72%),var(--onyx)}
.subpage-hero:after{content:'';position:absolute;inset:auto 0 0;height:3px;background:linear-gradient(90deg,var(--red) 0 33.33%,var(--gold) 33.33% 66.66%,var(--green) 66.66% 100%)}
.subpage-hero-inner{max-width:1100px;margin:0 auto}.subpage-hero h1{margin:.8rem 0 .7rem;font-family:'Cinzel',serif;font-size:clamp(2.7rem,6vw,5rem);line-height:1;font-weight:900;color:var(--text)}
.subpage-hero p{max-width:760px;margin:0;color:var(--muted);font-size:1rem;line-height:1.8}.breadcrumb,.detail-breadcrumbs a{color:var(--gold);font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.breadcrumb-sep,.detail-breadcrumbs span{margin:0 .45rem;color:var(--muted)}
.active-summary{display:grid;grid-template-columns:repeat(3,1fr);background:var(--surface);border-bottom:1px solid var(--border)}.active-summary>div{min-height:96px;display:grid;place-content:center;text-align:center;border-right:1px solid var(--border)}.active-summary>div:last-child{border-right:0}.active-summary strong{color:var(--gold);font-family:'Cinzel',serif;font-size:1.3rem}.active-summary span{margin-top:.3rem;color:var(--muted);font-size:.65rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase}
.active-election-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:2.5rem}.empty-election{grid-column:1/-1;display:flex;gap:1rem;padding:1.5rem;background:var(--surface2);border:1px solid var(--border);border-radius:8px}.empty-symbol{width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;border:1px solid var(--border);border-radius:50%;color:var(--gold)}.empty-election h3{margin:0 0 .35rem;font-family:'Cinzel',serif;color:var(--text);font-size:1rem}.empty-election p{margin:0;color:var(--muted);font-size:.84rem}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2.5rem}.process-grid article{padding:1.35rem;background:var(--surface2);border:1px solid var(--border);border-radius:8px}.process-grid article>span{display:block;margin-bottom:.65rem;color:var(--gold);font-family:'Cinzel',serif;font-size:.78rem}.process-grid h3{margin:0 0 .45rem;font-family:'Cinzel',serif;color:var(--text);font-size:1rem}.process-grid p{margin:0;color:var(--muted);font-size:.8rem;line-height:1.6}
.detail-breadcrumbs{margin-bottom:1.2rem}.election-status-chip{display:inline-flex;padding:.38rem .65rem;border:1px solid var(--border);border-radius:999px;color:var(--gold);font-size:.64rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;background:rgba(201,168,76,.05)}.detail-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.6rem}
.election-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:1.4rem;align-items:start}.election-detail-main{display:grid;gap:1rem}.detail-card,.detail-meta-card,.security-note{padding:1.4rem;background:var(--surface2);border:1px solid var(--border);border-radius:8px}.detail-card h2,.detail-meta-card h3{margin:.25rem 0 .65rem;font-family:'Cinzel',serif;color:var(--text)}.detail-card p,.security-note p{margin:0;color:var(--muted);font-size:.86rem;line-height:1.7}.ballot-topic-list{display:grid;gap:.7rem;margin-top:1rem}.placeholder-item{padding:.9rem;border:1px dashed var(--border);border-radius:6px;color:var(--muted);font-size:.82rem}.election-detail-side{display:grid;gap:1rem;position:sticky;top:100px}.meta-row{display:flex;justify-content:space-between;gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--border);font-size:.8rem}.meta-row span{color:var(--muted)}.meta-row strong{color:var(--text);text-align:right}.full-width{width:100%;margin-top:1rem;justify-content:center}.security-note strong{display:block;margin-bottom:.35rem;color:var(--gold);font-size:.8rem}
@media(max-width:900px){.process-grid{grid-template-columns:repeat(2,1fr)}.election-detail-layout{grid-template-columns:1fr}.election-detail-side{position:static}}
@media(max-width:640px){.subpage-hero{padding:3.5rem 1.2rem 3rem}.active-summary{grid-template-columns:1fr}.active-summary>div{min-height:82px;border-right:0;border-bottom:1px solid var(--border)}.active-summary>div:last-child{border-bottom:0}.active-election-grid,.process-grid{grid-template-columns:1fr}.empty-election{flex-direction:column}.detail-actions .btn{width:100%;justify-content:center}}
