/* PolicyBomb Child 1.0.37: Accountability Scorecard (summary, profiles, #scorecard section, home CTA, nav item).
   Palette matches News Desk desk.css: paper #f7f8fb, ink #14213d, blue #1A62C7, orange #FF4D2E. */
.pbsc,.pbsc-article,.pbsc-homecta{box-sizing:border-box}
.pbsc *,.pbsc-article *,.pbsc-homecta *{box-sizing:border-box}
.pbsc{background:#f7f8fb;color:#14213d;line-height:1.5;padding-bottom:32px;overflow-x:clip}
.pbsc .pbd-wrap{max-width:1180px;margin:0 auto;padding:0 20px}
.pbsc .pbd-kicker{font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#1A62C7;margin:0 0 6px}
.pbsc a{color:#1A62C7}
.pbsc h1,.pbsc h2,.pbsc h3{color:#14213d;letter-spacing:normal}
.pbsc-small{font-size:.8rem;color:#5a6880}
.pbsc-muted{color:#5a6880}
.pbsc-hero{padding:28px 0 8px}
.pbsc-hero h1{font-size:clamp(1.6rem,4vw,2.3rem);line-height:1.15;margin:0 0 8px}
.pbsc-lede{color:#4a5568;margin:0;max-width:52rem}
.pbsc-legend{display:flex;flex-wrap:wrap;gap:8px 10px;margin:14px 0 0;font-size:.85rem;color:#4a5568;align-items:center}
.pbsc-legend > span:not(.pbsc-chip){margin-right:8px;font-weight:700}
.pbsc-legend__note{font-weight:400 !important}
/* chips */
.pbsc-chip{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.05em;padding:3px 10px;border-radius:999px;border:1px solid;text-transform:uppercase;white-space:nowrap;line-height:1.4}
.pbsc-chip--helpful{color:#0f6b3d;background:#e3f5ea;border-color:#9fd8b6}
.pbsc-chip--mixed{color:#7a4b00;background:#fdf1d8;border-color:#efcf8a}
.pbsc-chip--harmful{color:#9b1c1c;background:#fde8e8;border-color:#f3b0b0}
.pbsc-chip--none{color:#4a5568;background:#eef1f5;border-color:#cfd6e0}
.pbsc-ns{display:inline-block;font-size:.72rem;font-weight:700;color:#7a4b00;background:#fff4d6;border:1px dashed #efcf8a;border-radius:4px;padding:1px 6px;margin-left:4px}
.pbsc-party{font-size:.72rem;font-weight:800;color:#fff;background:#5a6880;border-radius:3px;padding:0 5px;margin-left:4px}
.pbsc-party--D{background:#1A62C7}.pbsc-party--R{background:#b42318}
.pbsc-src{font-size:.72rem;font-weight:700;vertical-align:super;text-decoration:none;margin-left:2px}
/* filters */
.pbsc-filters{background:#fff;border:1px solid #e1e6ef;border-radius:10px;padding:14px;margin:18px 0 8px;display:grid;grid-template-columns:1.8fr repeat(6,minmax(0,1fr)) auto;gap:10px;align-items:end}
.pbsc-filters label{display:flex;flex-direction:column;gap:4px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#4a5568;min-width:0;margin:0}
.pbsc-filters input,.pbsc-filters select{font:inherit;font-size:.9rem;text-transform:none;letter-spacing:0;font-weight:400;color:#14213d;background:#fff;border:1px solid #C5CDD8;border-radius:6px;padding:8px 10px;width:100%;min-width:0;max-width:100%;height:auto;margin:0}
.pbsc-reset{background:#fff;color:#1A62C7;border:2px solid #1A62C7;border-radius:6px;padding:7px 10px;font:inherit;font-weight:700;font-size:.85rem;cursor:pointer}
@media(max-width:1000px){.pbsc-filters{grid-template-columns:1fr 1fr 1fr}.pbsc-f-name{grid-column:1/-1}}
@media(max-width:560px){.pbsc-filters{grid-template-columns:1fr 1fr}}
.pbsc-count{color:#4a5568;font-size:.85rem;margin:0 0 8px}
.pbsc-empty{background:#fff;border:1px dashed #C5CDD8;border-radius:10px;padding:16px;text-align:center}
/* rows */
.pbsc-head,.pbsc-row{display:grid;grid-template-columns:70px minmax(0,1.5fr) minmax(0,1.7fr) 100px minmax(0,1.8fr);gap:14px}
.pbsc-head{padding:8px 16px;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#5a6880}
.pbsc-row{background:#fff;border:1px solid #e1e6ef;border-left:5px solid #cfd6e0;border-radius:10px;padding:14px 16px;margin-bottom:10px;scroll-margin-top:16px}
.pbsc-row:target{box-shadow:0 0 0 3px #FF4D2E}
.pbsc-row[data-grade="harmful"]{border-left-color:#d64545}
.pbsc-row[data-grade="mixed"]{border-left-color:#e0a534}
.pbsc-row[data-grade="helpful"]{border-left-color:#2f9e63}
.pbsc-row > div{min-width:0;overflow-wrap:anywhere}
.pbsc-num{font-weight:800;font-size:1.15rem;color:#14213d}
.pbsc-num small{display:block;font-size:.68rem;color:#5a6880;font-weight:700;text-transform:uppercase}
.pbsc-title{font-weight:800;font-size:1rem !important;line-height:1.3;margin:0 0 6px !important}
.pbsc-title a{color:#14213d;text-decoration:none}.pbsc-title a:hover{color:#1A62C7}
.pbsc-status{display:inline-block;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#5a6880;background:#eef1f5;border-radius:4px;padding:1px 6px}
.pbsc-status--full{color:#fff;background:#14213d}
.pbsc-status--sourcing{color:#7a4b00;background:#fff4d6}
.pbsc-outcome{font-size:.9rem;color:#2d3748}
.pbsc-verdict{display:block;border-left:3px solid #FF4D2E;padding-left:10px}
.pbsc-people{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.pbsc-people li{font-size:.86rem;margin:0;line-height:1.4}
.pbsc a.pbsc-pname,.pbsc-article a.pbsc-pname{font-weight:700;color:#14213d;text-decoration:none;border-bottom:1px solid #C5CDD8}
.pbsc a.pbsc-pname:hover,.pbsc-article a.pbsc-pname:hover{color:#1A62C7;border-color:#1A62C7}
.pbsc-pname.is-match{background:#fff4d6}
.pbsc-role{font-size:.72rem;color:#5a6880;font-weight:700;text-transform:uppercase;letter-spacing:.03em}
.pbsc-more{font-size:.78rem;color:#5a6880;margin:4px 0 0}
.pbsc-opp{font-size:.8rem;color:#5a6880;margin:6px 0 0}
.pbsc-opp a{color:#5a6880}
.pbsc-actions{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap;align-items:center;border-top:1px solid #eef1f5;padding-top:10px;margin-top:2px}
.pbsc-btn{display:inline-block;background:#1A62C7;color:#fff !important;border:2px solid #1A62C7;border-radius:6px;padding:7px 14px;font-weight:700;font-size:.85rem;text-decoration:none !important;cursor:pointer;font-family:inherit;line-height:1.3}
.pbsc-btn:hover{background:#1550AA;border-color:#1550AA}
.pbsc-btn--outline{background:#fff;color:#1A62C7 !important}.pbsc-btn--outline:hover{background:#eaf1fb;color:#1550AA !important}
.pbsc-btn--disabled{background:#eef1f5;border-color:#cfd6e0;color:#5a6880 !important;cursor:default}
.pbsc-votebox{font-size:.82rem;background:#f7f8fb;border:1px solid #e1e6ef;border-radius:8px;padding:8px 10px;margin:8px 0;overflow-wrap:anywhere}
.pbsc-votebox summary{cursor:pointer;color:#1A62C7;font-weight:700}
.pbsc-howbox{background:#fff;border:1px solid #e1e6ef;border-radius:10px;padding:16px 18px;margin:20px 0 0}
.pbsc-howbox h2{font-size:1.1rem;margin:0 0 6px}
@media(max-width:900px){
 .pbsc-head{display:none}
 .pbsc-row{grid-template-columns:56px minmax(0,1fr);gap:8px 12px}
 .pbsc-outcome,.pbsc-gradecell,.pbsc-peoplecell{grid-column:2}
 .pbsc-gradecell{order:-1}
}
@media(max-width:420px){
 .pbsc-row{grid-template-columns:minmax(0,1fr)}
 .pbsc-outcome,.pbsc-gradecell,.pbsc-peoplecell{grid-column:1}
 .pbsc-gradecell{order:0}
 .pbsc-num{display:flex;gap:6px;align-items:baseline}.pbsc-num small{display:inline}
}
/* profile */
.pbsc-crumb{font-size:.85rem;margin:20px 0 0}
.pbsc-pf-head{background:#fff;border:1px solid #e1e6ef;border-radius:10px;padding:22px;margin:12px 0 20px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:20px}
@media(max-width:800px){.pbsc-pf-head{grid-template-columns:minmax(0,1fr)}}
.pbsc-pf-head h1{margin:0 0 6px;font-size:clamp(1.5rem,4vw,2.1rem);line-height:1.15;overflow-wrap:anywhere}
.pbsc-pf-meta{margin:0 0 4px}
.pbsc-pf-tally{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.pbsc-t{border-radius:10px;padding:12px 6px;text-align:center;border:1px solid}
.pbsc-t b{display:block;font-size:2rem;line-height:1}
.pbsc-t span{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.pbsc-t--harmful{color:#9b1c1c;background:#fde8e8;border-color:#f3b0b0}
.pbsc-t--mixed{color:#7a4b00;background:#fdf1d8;border-color:#efcf8a}
.pbsc-t--helpful{color:#0f6b3d;background:#e3f5ea;border-color:#9fd8b6}
.pbsc-byv{background:#14213d;color:#fff;border-radius:10px;padding:18px 20px;margin:0 0 20px}
.pbsc .pbsc-byv h2{margin:0 0 6px;font-size:1.1rem;color:#fff}
.pbsc-byv .pbd-kicker{color:#8CC4FF}
.pbsc-byv p,.pbsc-byv ul{margin:0 0 8px;color:#e8eaed}
.pbsc-byv ul{padding-left:18px}
.pbsc-byv .pbsc-small{color:#c8cdd4}
.pbsc-h2{font-size:1.3rem;margin:24px 0 10px}
.pbsc-pf-list{display:flex;flex-direction:column;gap:10px;margin:10px 0 24px}
.pbsc-pf-item{background:#fff;border:1px solid #e1e6ef;border-left:5px solid #cfd6e0;border-radius:10px;padding:14px 16px;overflow-wrap:anywhere}
.pbsc-pf-item[data-grade="harmful"]{border-left-color:#d64545}.pbsc-pf-item[data-grade="mixed"]{border-left-color:#e0a534}.pbsc-pf-item[data-grade="helpful"]{border-left-color:#2f9e63}
.pbsc-pf-item h3{margin:0 0 4px;font-size:1rem;line-height:1.35}
.pbsc-pf-item h3 a{color:#14213d;text-decoration:none}
.pbsc-pf-item p{margin:4px 0;font-size:.9rem}
.pbsc-sources{padding-left:22px;font-size:.88rem}
.pbsc-sources li{margin-bottom:4px;overflow-wrap:anywhere}
/* #scorecard section inside each PolicyBomb */
.pbsc-article{background:#fff;border:2px solid #14213d;border-radius:12px;overflow:hidden;margin:32px 0;color:#14213d;font-size:16px;line-height:1.5;scroll-margin-top:16px;max-width:100%}
.pbsc-article__head{background:#14213d;color:#fff;padding:12px 16px;display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.pbsc-article__head h2{margin:0 !important;font-size:1.05rem !important;letter-spacing:.02em;text-transform:uppercase;color:#fff !important;line-height:1.3}
.pbsc-article__body{padding:14px 16px;overflow-wrap:anywhere}
.pbsc-article__line{margin:0 0 10px;font-size:.92rem}
.pbsc-article .pbsc-h3{font-size:.95rem !important;margin:14px 0 6px !important;text-transform:uppercase;letter-spacing:.03em;color:#14213d}
.pbsc-rlist{list-style:none !important;margin:0 !important;padding:0 !important}
.pbsc-rlist li{padding:8px 0;border-top:1px solid #eef1f5;font-size:.88rem;margin:0 !important;list-style:none !important}
.pbsc-rlist li::before{content:none !important}
.pbsc-rlist li:first-child{border-top:0}
.pbsc-act{display:block;color:#4a5568;font-size:.82rem}
.pbsc-how{margin:12px 0 0;font-size:.85rem}
.pbsc-how summary{cursor:pointer;font-weight:700;color:#1A62C7}
.pbsc-article__foot{border-top:1px solid #e1e6ef;padding:12px 16px;display:flex;gap:8px;flex-wrap:wrap}
.pbsc-article a{color:#1A62C7}
.pbsc-article .pbsc-btn{color:#fff !important}
/* home CTA */
.pbsc-homecta{background:#14213d;color:#fff;border-bottom:3px solid #FF4D2E}
.pbsc-homecta__in{max-width:1180px;margin:0 auto;padding:12px 20px;display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center}
.pbsc-homecta a.pbsc-homecta__link{display:inline-block;background:#FF4D2E;color:#fff !important;font-weight:800;text-transform:uppercase;letter-spacing:.04em;font-size:.95rem;padding:8px 16px;border-radius:6px;text-decoration:none !important}
.pbsc-homecta a.pbsc-homecta__link:hover{background:#e63f22}
.pbsc-homecta__txt{color:#e8eaed;font-size:.92rem;min-width:0}
/* header nav item */
.pb-nav-scorecard > a{color:#FF4D2E !important;font-weight:700}
/* search results block */
.pbsc-search .pbsc-search__people{margin-top:10px}
.pbsc-search .pbsc-people li{overflow-wrap:anywhere}
.pbsc-search .pbsc-btn{margin-right:8px}
/* beat .single .entry-content h2/h3 (navy + blue left bar) inside the section */
.single .entry-content .pbsc-article .pbsc-article__head h2,
.pbsc-article .pbsc-article__head h2{color:#fff !important;border-left:0 !important;padding-left:0 !important;background:none !important}
.single .entry-content .pbsc-article h3.pbsc-h3{border-left:0 !important;padding-left:0 !important}

/* ===== 1.0.39: clear the fixed header on scorecard + profile pages =====
 * Cause: main.pbsc had no top offset. The home desk gets calc(--pb-header-h + 28px) from desk.css
 * (front page only) and single/search get it on .main-content in news-desk.css, but the scorecard
 * routes are neither, so the hero and filters started at y=0 under the fixed .header_inner
 * (86px, 138px at 1025-1439 where nav is a 2nd row). --pb-header-h is measured live by pb-fixes.js. */
main.pbsc{padding-top:calc(var(--pb-header-h,86px) + 28px) !important}
body.admin-bar main.pbsc{padding-top:calc(var(--pb-header-h,86px) + 60px) !important}
main.pbsc .pbsc-hero{padding-top:0}
main.pbsc .pbsc-crumb{margin-top:0}
/* Anchor jumps (#scorecard, #pbsc-N): html already has scroll-padding-top = header + 16px
 * (news-desk.css), so the target lands header + 32px. Belt and braces if that rule ever goes: */
@supports not (scroll-padding-top: 1px){#scorecard,.pbsc-row{scroll-margin-top:calc(var(--pb-header-h,86px) + 16px)}}
