.candidate-directory-page .breadcrumbs{display:none}
.candidate-directory-page main{max-width:1240px}
.directory-intro{padding-top:24px;margin-bottom:18px}
.directory-intro h1{font-size:clamp(32px,4vw,42px);letter-spacing:-1.5px;margin:0 0 10px;line-height:1.1}
.directory-intro>p{font-size:16px;line-height:1.6;margin:0 0 8px}
.directory-intro .directory-note{font-size:13px;color:var(--muted);max-width:none}
.directory-note a,.directory-about a{color:var(--gold);text-decoration:underline;text-underline-offset:3px}
.directory-filters{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:20px;padding:0}
.directory-search-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(140px,1fr);gap:18px}
.directory-search-row label{display:grid;gap:7px;font-size:13px;font-weight:600}
.directory-search-row input,.directory-search-row select{width:100%;min-width:0;min-height:46px;padding:10px 13px;background:var(--bg);color:var(--text);border:1px solid #4a5a61;border-radius:6px;font:inherit;font-size:16px}
.directory-search-row input::placeholder{color:#a7b6bc}
.directory-filter-options{display:flex;flex-direction:column;align-items:flex-start;gap:4px;justify-content:center;min-height:46px;font-size:13px}
.reply-only{display:flex;align-items:center;gap:8px;cursor:pointer;min-height:28px}
.reply-only input{width:18px;height:18px;margin:0;accent-color:#d9ba7b}
#candidate-reset{border:0;background:transparent;padding:5px 0;color:var(--gold);font:inherit;text-decoration:underline;text-underline-offset:3px}
.directory-count{font-size:12px;color:var(--muted);margin:10px 0 16px;min-height:20px}
.directory-group{margin:0 0 36px}
.directory-group-heading{margin:0 0 16px}
.directory-group-heading h2{display:flex;align-items:center;gap:10px;font-size:25px;letter-spacing:-.5px;margin:0 0 6px}
#candidate-reply-count{font:600 13px/1 'DM Sans',system-ui,sans-serif;border:1px solid #537974;background:#203b38;color:#c6e7d6;padding:6px 9px;border-radius:20px}
.directory-group-heading p{color:var(--muted);font-size:13px;margin:0}
.candidate-directory .candidate-grid{margin:0;gap:16px}
.candidate-directory .candidate-card{--tile-bg:#edf0f2;--tile-hover:#e3e8ec;--tile-line:#b8c3ca;--tile-accent:#405a66;margin:0;background:var(--tile-bg);border:1px solid var(--tile-line);border-radius:12px;overflow:hidden}
.candidate-directory .candidate-card[data-party^="Republican"]{--tile-bg:#fae8e6;--tile-hover:#f4dcd9;--tile-line:#dcb5b0;--tile-accent:#9b3331}
.candidate-directory .candidate-card[data-party^="Democratic"]{--tile-bg:#e5effc;--tile-hover:#d8e7f8;--tile-line:#aac2df;--tile-accent:#245a91}
.candidate-directory .candidate-card[data-party^="Libertarian"]{--tile-bg:#fff3cc;--tile-hover:#f8e9b8;--tile-line:#d7c184;--tile-accent:#70500b}
.candidate-directory .candidate-card[data-party^="Green"],.candidate-directory .candidate-card[data-party^="Pacific Green"]{--tile-bg:#e6f2e8;--tile-hover:#d9eadd;--tile-line:#accab4;--tile-accent:#326641}
.candidate-directory .candidate-card-link{display:flex;flex-direction:column;height:100%;padding:20px;color:#192a32;transition:background .15s ease}
.candidate-directory .candidate-card-link:hover{background:var(--tile-hover);color:#192a32}
.candidate-directory .candidate-card-link:focus-visible{outline:3px solid #243944;outline-offset:-4px}
.candidate-reply-badge{align-self:flex-start;font-size:11px;line-height:1.4;font-weight:600;padding:5px 9px;border-radius:5px;background:#27333a;color:#bfccd1;margin-bottom:15px}
[data-response=answers] .candidate-reply-badge{background:#24463b;color:#ceeeda}
[data-response=reply] .candidate-reply-badge{background:#3f3828;color:#f0d699}
.candidate-directory .candidate-card h3{font:600 23px/1.25 'Manrope',system-ui,sans-serif;letter-spacing:-.5px;margin:0 0 9px}
.candidate-directory .candidate-card p{font-size:13px;line-height:1.5;margin:0 0 4px}
.candidate-directory .candidate-location{font-weight:600}
.candidate-directory .candidate-office,.candidate-directory .candidate-party{color:#435762}
.candidate-directory .candidate-party{display:flex;align-items:center;gap:7px}
.candidate-directory .candidate-party::before{content:"";flex:0 0 7px;width:7px;height:7px;border-radius:50%;background:var(--tile-accent)}
.candidate-highlights{margin-top:15px;padding-top:14px;border-top:1px solid var(--tile-line)}
.candidate-directory .candidate-highlights-label{font-size:11px;font-weight:600;letter-spacing:.02em;color:#4b5f68;margin:0 0 9px}
.candidate-summary-points{display:grid;gap:8px;list-style:disc;margin:0;padding:0 0 0 17px;font-size:14px;line-height:1.5;color:#243b45}
.candidate-summary-points li{padding-left:2px;overflow-wrap:break-word}
.candidate-summary-points li::marker{color:var(--tile-accent)}
.candidate-shutdown-update{margin:0 0 14px;padding:11px 12px;background:rgba(255,255,255,.5);border-left:3px solid var(--tile-accent);border-radius:0 6px 6px 0}
.candidate-directory .candidate-shutdown-title{font-size:13px;font-weight:700;color:#192a32;margin:0}
.candidate-directory .candidate-shutdown-date{font-size:11px;color:#435762;margin:2px 0 8px}
.candidate-shutdown-points{margin:0;padding-left:17px;font-size:14px;line-height:1.5;color:#243b45}
.candidate-shutdown-points li{padding-left:2px;overflow-wrap:break-word}
.candidate-shutdown-points li::marker{color:var(--tile-accent)}
.candidate-card-action{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:auto;padding-top:20px;color:var(--tile-accent);font-size:14px;font-weight:600}
.candidate-card-action>span{font-size:20px;line-height:1}
#candidate-more{display:block;margin:20px auto 0;border-radius:7px;padding:13px 22px;color:var(--gold)}
.directory-empty{padding:30px 22px;border:1px solid var(--line);border-radius:10px;text-align:center;margin-bottom:32px}
.directory-empty h2{font-size:25px}
.directory-about{border-top:1px solid var(--line);padding:20px 0;margin:16px 0 36px}
.directory-about summary{font-size:15px;color:var(--gold);cursor:pointer;padding:8px 0}
.directory-about>div{max-width:760px;padding-top:12px}
.directory-about p{font-size:14px;line-height:1.7;color:var(--muted)}
.candidate-directory [hidden]{display:none!important}
@media(max-width:800px){.directory-group-heading h2{font-size:23px}.directory-intro>p{font-size:16px}}
@media(max-width:600px){.directory-intro{padding-top:18px;margin-bottom:16px}.directory-intro h1{font-size:32px}.directory-intro>p{font-size:14px;line-height:1.6}.directory-intro .directory-note{font-size:12px}.directory-filters{grid-template-columns:minmax(0,1fr);gap:8px}.directory-search-row{grid-template-columns:minmax(0,1.6fr) minmax(110px,1fr);gap:12px}.directory-filter-options{flex-direction:row;align-items:center;justify-content:space-between;min-height:28px}.directory-count{margin-bottom:16px}.candidate-directory .candidate-grid{gap:12px}.candidate-directory .candidate-card-link{padding:18px}.directory-group{margin-bottom:28px}}
@media(prefers-reduced-motion:reduce){.candidate-directory .candidate-card-link{transition:none}}
