.guide-fold>summary:focus-visible{outline:3px solid var(--red-text);outline-offset:3px}
.guide-fold{margin-block:14px;border:1px solid var(--line);border-radius:8px;background:var(--sheet);box-shadow:var(--shadow)}
.guide-fold>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:82px;padding:18px 22px;border-radius:8px;cursor:pointer;list-style:none}
.guide-fold>summary::-webkit-details-marker{display:none}
.guide-fold>summary:hover{background:var(--paper)}
.guide-fold>summary>span:first-child{min-width:0}
.guide-fold[open]>summary{border-bottom:1px solid var(--line);border-radius:8px 8px 0 0}
.fold-title{display:block;color:var(--ink);font-family:var(--f-display);font-stretch:115%;font-weight:850;font-size:1.08rem;line-height:1.25}
.fold-note{display:block;margin-top:5px;font-size:.82rem;line-height:1.4;color:var(--ink-soft)}
.fold-action{display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:none;min-height:44px;padding:10px 16px;border:2px solid var(--blue);border-radius:6px;background:var(--blue);color:var(--on-party);font-size:.82rem;font-weight:800;line-height:1.25;white-space:nowrap}
body[data-party="all"] .fold-action{border-color:transparent;background:linear-gradient(to right,var(--blue) 0 50%,var(--red) 50% 100%) border-box}
body[data-party="R"] .fold-action{border-color:var(--red);background:var(--red)}
.guide-fold>summary:hover .fold-action,.guide-fold>summary:focus-visible .fold-action{box-shadow:0 0 0 3px var(--line)}
.fold-hide{display:none}
.guide-fold[open]>summary .fold-show{display:none}
.guide-fold[open]>summary .fold-hide{display:inline}
.fold-icon{display:grid;place-items:center;flex:none;width:18px;height:18px}
.fold-icon::before{content:"";width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .18s ease}
.guide-fold[open]>summary .fold-icon::before{transform:translateY(2px) rotate(225deg)}
.candidate-section{margin-block:28px;scroll-margin-top:24px}
.candidate-section>h2{margin:0;font-size:clamp(1.5rem,4vw,2.2rem);line-height:1.1;text-align:center}
.guide-hint{margin:10px 0;color:var(--ink-soft);font-size:.9rem;text-align:center}
.candidate-section .bar{position:sticky;margin-inline:0;padding-inline:0}
.ballot-groups{display:grid;gap:14px}
.ballot-groups>.guide-fold{margin:0}
.race-fold>.rows{padding:18px}
.guide-fold>.amendments{margin:0;padding:22px}
.guide-fold .local{margin:0;border:0;box-shadow:none}
.guide-fold,.guide-fold section,.amendment{scroll-margin-top:24px}
@media(max-width:760px){
  .guide-fold>summary{padding:16px;gap:12px}
  .fold-title{font-size:1rem}
  .fold-note{font-size:.76rem}
  .race-fold>.rows{padding:12px}
  .guide-fold>.amendments{padding:16px}
}
@media(max-width:480px){
  .guide-fold>summary{flex-wrap:wrap}
  .guide-fold>summary>span:first-child,.fold-action{width:100%}
  .fold-action{justify-content:space-between}
}
@media(prefers-reduced-motion:reduce){.fold-icon::before{transition:none}}
@media print{.guide-fold{break-inside:avoid;box-shadow:none}}
