/*
Theme Name: SP Editorial Clean
Theme URI: https://sondaggipolitici.com/
Author: Codex
Description: Superficie editoriale essenziale e compatibile con Polls AI Core.
Requires at least: 6.5
Tested up to: 7.0
Requires PHP: 8.1
Version: 1.2.1
Text Domain: sp-editorial-clean
*/

.sp-history-controls { display:flex; flex-wrap:wrap; gap:20px; margin:24px 0; }
.sp-history-controls label { display:grid; gap:6px; font-weight:600; }
.sp-history-controls select { min-height:44px; max-width:100%; padding:8px; border:1px solid #9ca3af; border-radius:4px; background:#fff; color:#17181c; }
.sp-history-bar-row { display:grid; grid-template-columns:94px minmax(50px,1fr) 68px; gap:12px; align-items:center; margin:12px 0; font-size:14px; }
.sp-history-bar-track { height:22px; background:#e4e8ed; }
.sp-history-bar-fill { height:100%; background:#175cd3; }
.sp-history-bar-row strong { text-align:right; }
.sp-history-table { max-width:100%; overflow-x:auto; margin:24px 0; }
.sp-history-table table { width:100%; min-width:850px; border-collapse:collapse; font-size:14px; }
.sp-history-table th,.sp-history-table td { padding:10px; border-bottom:1px solid #d9dde5; text-align:right; white-space:nowrap; }
.sp-history-table caption { text-align:left; margin-bottom:12px; }
.sp-history-table th:first-child { text-align:left; }
.sp-history-latest { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:14px; margin:24px 0; }
.sp-history-latest div { border-top:3px solid #175cd3; padding:12px 0; }
.sp-history-latest dt { font-size:14px; }
.sp-history-latest dd { margin:6px 0 0; font-size:26px; font-weight:700; }
@media(max-width:600px) { .sp-history-latest { grid-template-columns:repeat(3,minmax(0,1fr)); } .sp-history-bar-row { grid-template-columns:80px minmax(40px,1fr) 60px; gap:8px; font-size:12px; } }
[hidden] { display:none !important; }
:root {
	--sp-bg: #f7f8fa;
	--sp-surface: #ffffff;
	--sp-text: #17181c;
	--sp-muted: #626975;
	--sp-line: #d9dde5;
	--sp-soft: #eef1f5;
	--sp-link: #175cd3;
	--sp-method: #1f7a5c;
	--sp-ai: #70418b;
	--sp-alert: #b42318;
	--sp-width: 1180px;
	--sp-reading: 760px;
	--sp-radius: 6px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
	margin: 0;
	background: var(--sp-bg);
	color: var(--sp-text);
	font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 17px;
	line-height: 1.65;
}
body.admin-bar .sp-site-header { top: 32px; }
img { display: block; max-width: 100%; height: auto; }
a { color: var(--sp-link); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { text-decoration-thickness: 2px; }
button, input, select, textarea { font: inherit; }
button, .sp-button {
	border: 1px solid var(--sp-text);
	border-radius: 4px;
	background: var(--sp-text);
	color: #fff;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 8px 14px;
	text-decoration: none;
}
.sp-button--quiet { background: transparent; color: var(--sp-text); border-color: var(--sp-line); }
.sp-container { width: min(calc(100% - 40px), var(--sp-width)); margin-inline: auto; }
.sp-reading { width: min(100%, var(--sp-reading)); margin-inline: auto; }
.screen-reader-text, .sp-skip-link:not(:focus) {
	clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; overflow: hidden;
	position: absolute !important; width: 1px; word-wrap: normal !important;
}
.sp-skip-link:focus { position: fixed; z-index: 10000; top: 10px; left: 10px; padding: 10px 14px; background: #fff; color: #000; }

.sp-site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: rgba(255,255,255,.97);
	border-bottom: 1px solid var(--sp-line);
}
.sp-header-row { min-height: 70px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.sp-brand { color: var(--sp-text); display: inline-flex; flex-direction: column; text-decoration: none; line-height: 1; }
.sp-brand strong { font-family: Georgia, "Times New Roman", serif; font-size: 24px; font-weight: 700; }
.sp-brand span { color: var(--sp-muted); font-size: 11px; margin-top: 7px; text-transform: uppercase; }
.sp-brand-logo { width: 228px; height: auto; max-width: 100%; }

.sp-component-content .sp-tools-lab .sp-tools-lab__hero,
.sp-component-content .sp-tools-lab .sp-tools-dashboard,
.sp-component-content .sp-tools-lab .sp-tool-card,
.sp-component-content .sp-tools-lab .sp-tools-lab__notice,
.sp-component-content .sp-tools-lab .sp-tools-lab__coming,
.sp-component-content .sp-tools-lab .sp-tools-lab__faq,
.sp-component-content .sp-tools-lab .sp-tools-sidebar__card {
	background: var(--sp-surface); border-radius: 4px; box-shadow: none;
}
.sp-component-content .sp-tools-lab .sp-tools-lab__hero { border: 0; border-bottom: 1px solid var(--sp-line); padding: 0 0 24px; gap: 12px; }
.sp-component-content .sp-tools-lab .sp-tools-lab__hero::after { display: none; }
.sp-component-content .sp-tools-lab .sp-tools-lab__hero h1 { font-size: 36px; }
.sp-component-content .sp-tools-lab .sp-tools-lab__hero p { font-size: 16px; margin: 0; }
.sp-component-content .sp-tools-lab .sp-button { border-radius: 4px; }
.sp-navigation { display: flex; align-items: center; gap: 22px; }
.sp-navigation ul { display: flex; align-items: center; gap: 20px; list-style: none; margin: 0; padding: 0; }
.sp-navigation a { color: var(--sp-text); font-size: 14px; font-weight: 650; text-decoration: none; }
.sp-navigation a:hover, .sp-navigation .current-menu-item > a { color: var(--sp-link); }
.sp-menu-toggle { display: none; }
.sp-search-link { border-left: 1px solid var(--sp-line); padding-left: 20px; }
.sp-main { min-height: 60vh; padding-block: 38px 72px; }

.sp-kicker, .sp-mode {
	color: var(--sp-muted); font-size: 12px; font-weight: 750; line-height: 1.3; margin: 0 0 10px;
	text-transform: uppercase;
}
.sp-mode { display: inline-flex; padding: 5px 8px; border: 1px solid var(--sp-line); border-radius: 3px; }
.sp-mode--real_poll { color: var(--sp-link); border-color: #a8c7fa; background: #edf4ff; }
.sp-mode--ai_simulation, .sp-mode--mixed_article { color: var(--sp-ai); border-color: #d8b9e5; background: #f8f0fb; }
.sp-mode--guide, .sp-mode--editorial_analysis { color: var(--sp-method); border-color: #abd9c8; background: #eff9f5; }
h1, h2, h3 { line-height: 1.14; letter-spacing: 0; text-wrap: balance; }
h1 { font-family: Georgia, "Times New Roman", serif; font-size: 46px; margin: 0; }
h2 { font-size: 30px; margin: 48px 0 16px; }
h3 { font-size: 22px; margin: 34px 0 12px; }
p { margin: 0 0 1.15em; }
.sp-deck { color: #3f4650; font-family: Georgia, "Times New Roman", serif; font-size: 22px; line-height: 1.45; margin: 18px 0 0; max-width: 820px; }
.sp-meta { color: var(--sp-muted); display: flex; flex-wrap: wrap; gap: 7px 16px; font-size: 14px; margin-top: 18px; }
.sp-breadcrumbs { color: var(--sp-muted); font-size: 13px; margin-bottom: 24px; }
.sp-breadcrumbs a { color: inherit; }

.sp-home-masthead { padding: 0 0 24px; border-bottom: 2px solid var(--sp-text); }
.sp-home-masthead h1 { font-size: 38px; margin: 6px 0 10px; }
.sp-home-masthead .sp-deck { font-size: 18px; margin: 0; }
.sp-home-feature { display: grid; grid-template-columns: 1.1fr 1fr; gap: 36px; align-items: center; padding: 32px 0; border-bottom: 1px solid var(--sp-line); }
.sp-home-feature--text { grid-template-columns: minmax(0, 1fr); }
.sp-home-feature--text .sp-home-feature__copy { max-width: 900px; }
.sp-home-feature h2 { font-family: Georgia, serif; font-size: 32px; line-height: 1.2; margin: 8px 0 16px; }
.sp-home-feature h2 a, .sp-path h3 a { color: inherit; text-decoration: none; }
.sp-home-feature__media { display: block; aspect-ratio: 1200 / 630; overflow: hidden; }
.sp-home-feature__media img { width: 100%; height: 100%; object-fit: contain; }
.sp-research-band { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding: 32px 0; border-top: 2px solid var(--sp-method); }
.sp-research-band h2 { font-size: 24px; margin: 0; }
.sp-research-band p { max-width: 720px; }
.sp-research-band > a { flex-shrink: 0; }
.sp-recent-polls { border-top: 1px solid var(--sp-line); }
.sp-recent-polls__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.sp-recent-polls__filters { display: flex; flex-wrap: wrap; gap: 12px; margin: 0 0 24px; }
.sp-recent-polls__filters label { display: grid; gap: 5px; color: var(--sp-muted); font-size: 13px; font-weight: 600; }
.sp-recent-polls__filters select { min-width: 180px; border: 1px solid var(--sp-line); background: #fff; padding: 8px 10px; color: var(--sp-text); }
.sp-recent-poll { border-top: 3px solid var(--sp-accent); padding: 18px 0 8px; }
.sp-recent-poll h3 { margin: 6px 0 8px; font-size: 20px; line-height: 1.2; }
.sp-recent-poll h3 a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.sp-recent-poll p { margin: 7px 0; }
.sp-recent-poll__comparison { padding-left: 12px; border-left: 2px solid var(--sp-method); }
.sp-recent-poll__topics { color: var(--sp-muted); font-size: 13px; }
.sp-recent-poll[hidden] { display: none; }
@media (max-width: 760px) {
	.sp-home-feature { grid-template-columns: minmax(0, 1fr); gap: 20px; }
	.sp-home-feature h2 { font-size: 27px; }
	.sp-home-masthead h1 { font-size: 32px; }
	.sp-research-band { display: block; }
	.sp-recent-polls__grid { grid-template-columns: minmax(0, 1fr); }
}

.sp-home-lead { border-bottom: 1px solid var(--sp-line); padding: 24px 0 46px; }
.sp-home-lead__grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(300px, .92fr); gap: 48px; align-items: center; }
.sp-home-lead__media { aspect-ratio: 1200 / 630; overflow: hidden; background: var(--sp-soft); }
.sp-home-lead__media img { width: 100%; height: 100%; object-fit: cover; }
.sp-home-lead h1 { font-size: 36px; }
.sp-home-lead__title { font-family: Georgia, "Times New Roman", serif; font-size: 36px; line-height: 1.12; margin: 12px 0; }
.sp-home-lead__story { margin-top: 32px; }
.sp-home-lead__title a { color: var(--sp-text); text-decoration: none; }
.sp-section { padding-block: 48px; border-bottom: 1px solid var(--sp-line); }
.sp-section:last-child { border-bottom: 0; }
.sp-section-head { display: flex; align-items: end; justify-content: space-between; gap: 28px; margin-bottom: 24px; }
.sp-section-head h2 { margin: 0; }
.sp-section-head p { color: var(--sp-muted); margin: 7px 0 0; max-width: 650px; }
.sp-archive-paths { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.sp-archive-paths a { border: 1px solid var(--sp-line); padding: 8px 11px; color: var(--sp-text); text-decoration: none; font-size: 14px; }
.sp-archive-paths a:hover, .sp-archive-paths a.is-current { border-color: var(--sp-accent); color: var(--sp-accent); }
.sp-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.sp-card { min-width: 0; }
.sp-card__media { aspect-ratio: 3 / 2; background: var(--sp-soft); margin-bottom: 14px; overflow: hidden; }
.sp-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .2s ease; }
.sp-card:hover .sp-card__media img { transform: scale(1.015); }
.sp-card h2, .sp-card h3 { font-family: Georgia, "Times New Roman", serif; font-size: 23px; margin: 8px 0; }
.sp-card h2 a, .sp-card h3 a { color: var(--sp-text); text-decoration: none; }
.sp-card__excerpt { color: var(--sp-muted); font-size: 15px; margin: 0; }
.sp-card__meta { color: var(--sp-muted); font-size: 12px; margin-top: 10px; }
.sp-paths { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--sp-line); border: 1px solid var(--sp-line); }
.sp-path { background: var(--sp-surface); padding: 26px; }
.sp-path h3 { font-size: 23px; margin: 0 0 10px; }
.sp-path p { color: var(--sp-muted); font-size: 15px; }
.sp-path a { font-weight: 700; }

.sp-article { padding: 0 0 48px; }
.sp-article-header { border-bottom: 1px solid var(--sp-line); padding-bottom: 28px; }
.sp-article-header h1 { max-width: 980px; }
.sp-source-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border: 1px solid var(--sp-line); margin-top: 26px; }
.sp-source-strip__item { min-width: 0; padding: 12px 14px; border-right: 1px solid var(--sp-line); }
.sp-source-strip__item:last-child { border-right: 0; }
.sp-source-strip__item span { color: var(--sp-muted); display: block; font-size: 11px; font-weight: 700; text-transform: uppercase; }
.sp-source-strip__item strong, .sp-source-strip__item a { display: block; font-size: 14px; margin-top: 3px; overflow-wrap: anywhere; }
.sp-featured { margin: 30px 0; }
.sp-featured img { aspect-ratio: 1200 / 630; width: 100%; object-fit: cover; }
.sp-featured figcaption { color: var(--sp-muted); font-size: 12px; margin-top: 7px; }
.sp-editorial-notice { border-left: 4px solid var(--sp-method); background: #f2f8f5; padding: 14px 18px; margin: 26px 0; }
.sp-editorial-notice--ai { border-left-color: var(--sp-ai); background: #f8f2fa; }
.sp-editorial-notice strong { display: block; margin-bottom: 4px; }
.sp-content { color: #24262b; font-family: Georgia, "Times New Roman", serif; font-size: 19px; }
.sp-content > :first-child { margin-top: 0; }
.sp-content a { overflow-wrap: anywhere; }
.sp-content ul, .sp-content ol { padding-left: 1.3em; }
.sp-content blockquote { border-left: 3px solid var(--sp-line); color: #444b55; margin: 28px 0; padding: 4px 0 4px 20px; }
.sp-content table { border-collapse: collapse; display: block; font-family: Inter, sans-serif; font-size: 14px; margin: 26px 0; max-width: 100%; overflow-x: auto; width: 100%; }
.sp-content caption { color: var(--sp-muted); font-weight: 650; padding: 0 0 9px; text-align: left; }
.sp-content th, .sp-content td { border: 1px solid var(--sp-line); min-width: 130px; padding: 10px; text-align: left; vertical-align: top; }
.sp-content th { background: var(--sp-soft); }
.sp-content .sp-source-box, .sp-content .sp-methodology-box, .sp-content .sp-disclaimer-box {
	background: #f7f8fa; border: 1px solid var(--sp-line); border-radius: var(--sp-radius); font-family: Inter, sans-serif; font-size: 15px; margin: 28px 0; padding: 20px;
}
.sp-content .sp-source-box h2, .sp-content .sp-methodology-box h2 { font-size: 20px; margin-top: 0; }
.sp-transparency { border-top: 1px solid var(--sp-line); margin-top: 42px; padding-top: 22px; }
.sp-transparency details { border: 1px solid var(--sp-line); border-radius: var(--sp-radius); background: var(--sp-bg); }
.sp-transparency summary { cursor: pointer; font-weight: 700; padding: 15px 18px; }
.sp-transparency__body { border-top: 1px solid var(--sp-line); color: var(--sp-muted); font-size: 14px; padding: 16px 18px; }
.sp-article-actions { display: flex; flex-wrap: wrap; gap: 14px 24px; margin-top: 24px; font-size: 14px; }
.sp-related { margin-top: 56px; }

.sp-archive-head { max-width: 860px; padding: 18px 0 34px; border-bottom: 1px solid var(--sp-line); }
.sp-archive-head h1, .sp-page h1 { font-size: 48px; }
.sp-archive-head p { color: var(--sp-muted); font-size: 18px; }
.sp-feed { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; }
.sp-feed .sp-card { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 24px; padding: 24px 0; border-bottom: 1px solid var(--sp-line); }
.sp-feed .sp-card__media { margin: 0; }
.sp-pagination { margin-top: 34px; }
.sp-pagination .nav-links { display: flex; flex-wrap: wrap; gap: 8px; }
.sp-pagination a, .sp-pagination span { background: #fff; border: 1px solid var(--sp-line); min-width: 40px; padding: 7px 11px; text-align: center; text-decoration: none; }
.sp-empty { border: 1px solid var(--sp-line); background: #fff; padding: 26px; }

.sp-page { background: #fff; border: 1px solid var(--sp-line); padding: 38px clamp(20px, 5vw, 64px) 56px; }
.sp-page-header { border-bottom: 1px solid var(--sp-line); margin-bottom: 30px; padding-bottom: 24px; }
.sp-page--component { background: transparent; border: 0; padding: 0; }
.sp-page--component .sp-page-header { display: none; }
.sp-search-form { display: flex; gap: 8px; margin-top: 22px; max-width: 650px; }
.sp-search-form input[type="search"] { width: 100%; border: 1px solid var(--sp-line); border-radius: 4px; padding: 10px 12px; }

.sp-site-footer { background: #1d2026; color: #e8ebef; padding: 44px 0; }
.sp-footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 44px; }
.sp-site-footer a { color: #fff; }
.sp-site-footer h2 { font-size: 16px; margin: 0 0 12px; }
.sp-site-footer p, .sp-site-footer li { color: #b9c0ca; font-size: 14px; }
.sp-site-footer ul { list-style: none; margin: 0; padding: 0; }
.sp-site-footer li { margin-bottom: 7px; }
.sp-footer-legal { border-top: 1px solid #363b45; margin-top: 30px; padding-top: 20px; }

@media (max-width: 900px) {
	body.admin-bar .sp-site-header { top: 46px; }
	.sp-menu-toggle { display: inline-flex; min-height: 38px; padding: 6px 10px; }
	.sp-navigation { display: none; position: absolute; inset: 70px 0 auto; background: #fff; border-bottom: 1px solid var(--sp-line); padding: 18px 20px; }
	.sp-navigation.is-open { display: block; }
	.sp-navigation ul { align-items: stretch; flex-direction: column; gap: 0; }
	.sp-navigation li { border-bottom: 1px solid var(--sp-line); }
	.sp-navigation a { display: block; padding: 12px 0; }
	.sp-search-link { border-left: 0; padding-left: 0; }
	.sp-home-lead__grid { grid-template-columns: 1fr; }
	h1, .sp-home-lead h1 { font-size: 50px; }
	.sp-home-lead__media { order: -1; }
	.sp-grid, .sp-paths, .sp-footer-grid { grid-template-columns: 1fr 1fr; }
	.sp-source-strip { grid-template-columns: 1fr 1fr; }
	.sp-source-strip__item:nth-child(2) { border-right: 0; }
	.sp-source-strip__item:nth-child(-n+2) { border-bottom: 1px solid var(--sp-line); }
}

@media (max-width: 620px) {
	body { font-size: 16px; }
	.sp-container { width: min(calc(100% - 28px), var(--sp-width)); }
	.sp-main { padding-block: 22px 48px; }
	h1, .sp-home-lead h1, .sp-archive-head h1, .sp-page h1 { font-size: 32px; }
	.sp-home-lead__title { font-size: 30px; }
	.sp-deck { font-size: 19px; }
	.sp-section { padding-block: 36px; }
	.sp-section-head { align-items: start; flex-direction: column; }
	.sp-grid, .sp-paths, .sp-footer-grid { grid-template-columns: 1fr; }
	.sp-card h2, .sp-card h3 { font-size: 22px; }
	.sp-article, .sp-page { border-left: 0; border-right: 0; margin-inline: -14px; padding-inline: 20px; }
	.sp-content { font-size: 18px; }
	.sp-source-strip { grid-template-columns: 1fr; }
	.sp-source-strip__item { border-bottom: 1px solid var(--sp-line); border-right: 0; }
	.sp-source-strip__item:last-child { border-bottom: 0; }
	.sp-feed .sp-card { grid-template-columns: 112px minmax(0, 1fr); gap: 15px; }
	.sp-feed .sp-card h2, .sp-feed .sp-card h3 { font-size: 19px; margin-top: 3px; }
	.sp-feed .sp-card__excerpt { display: none; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition-duration: .01ms !important; }
}

/* Data-first homepage, shared with the real-poll archive. */
body.home { background:#fff; }
.home .sp-home-masthead { padding:24px 0 28px; border-bottom:0; }
.home .sp-home-masthead h1 { font-family:inherit; font-size:40px; line-height:1.12; margin:10px 0 12px; }
.home .sp-home-masthead .sp-deck { color:#56616b; max-width:720px; font-size:18px; }
.sp-home-shortcuts { display:flex; flex-wrap:wrap; gap:12px 26px; margin-top:22px; }
.sp-home-shortcuts a { font-size:14px; font-weight:650; color:#273d35; text-decoration:none; border-bottom:1px solid #9fb6a9; padding-bottom:4px; }
.sp-data-desk { padding:28px 0 32px; border-top:3px solid #203d32; border-bottom:1px solid #d9e0dc; }
.sp-data-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; }
.sp-data-heading h2 { font-family:inherit; font-size:28px; line-height:1.2; margin:7px 0 0; }
.sp-data-heading .sp-kicker { color:#356c51; font-size:11px; margin:0; }
.sp-data-date { display:flex; flex-direction:column; color:#65716a; font-size:11px; text-transform:uppercase; white-space:nowrap; }
.sp-data-date time { font-size:16px; font-weight:700; color:#20372c; margin-top:3px; }
.sp-data-intro { color:#63706a; font-size:14px; margin:12px 0 24px; max-width:750px; }
.sp-data-layout { display:grid; grid-template-columns:minmax(0,1fr) 290px; gap:32px; }
.sp-data-main { min-width:0; }
.sp-data-desk .sp-history-controls { gap:10px; margin:0 0 16px; }
.sp-data-desk .sp-history-controls label { min-width:0; flex:1; font-size:11px; color:#65706b; gap:5px; }
.sp-data-desk .sp-history-controls select { width:100%; border:1px solid #d1dad4; background:#f8faf8; min-height:40px; padding:7px; font-size:12px; color:#20372c; }
.sp-history-plot { height:360px; width:100%; position:relative; }
.sp-history-plot canvas { width:100% !important; height:100% !important; }
.sp-history-fallback { width:100%; height:100%; object-fit:contain; }
.sp-history-summary { margin:10px 0 0; min-height:36px; font-size:11px; color:#65706b; }
.sp-data-ranking { border-left:1px solid #e0e5e1; padding-left:24px; }
.sp-ranking-label { display:flex; justify-content:space-between; gap:12px; margin:0 0 12px; font-size:10px; text-transform:uppercase; color:#68746d; }
.sp-ranking-label span { text-transform:none; }
.sp-party-row { display:grid; grid-template-columns:8px minmax(0,1fr) 64px 42px; gap:8px; align-items:center; min-height:36px; border-bottom:1px solid #edf0ed; }
.sp-party-dot { height:7px; width:7px; border-radius:50%; }
.sp-party-name { font-size:12px; overflow-wrap:anywhere; }
.sp-party-row strong { font-size:20px; text-align:right; font-variant-numeric:tabular-nums; color:#1f2d25; }
.sp-party-row small { font-size:10px; font-weight:400; margin-left:2px; }
.sp-party-delta { font-size:11px; text-align:right; font-variant-numeric:tabular-nums; color:#65716b; }
.sp-data-ranking>.sp-meta { font-size:10px; line-height:1.5; margin:12px 0 0; }
.sp-data-foot { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px 20px; padding:15px 0; border-top:1px solid #e1e7e2; margin-top:16px; font-size:11px; color:#65716b; }
.sp-data-foot p { margin:0; }
.sp-data-foot a { color:#35634d; }
.sp-data-details { font-size:12px; color:#56645b; }
.sp-data-details summary { cursor:pointer; color:#273d30; padding:6px 0; font-weight:650; }
.sp-data-details p { max-width:880px; line-height:1.7; }
.home .sp-home-feature { padding:32px 0; grid-template-columns:minmax(0,1fr); }
.home .sp-home-feature__copy { max-width:900px; }
.home .sp-home-feature h2 { font-family:inherit; font-size:25px; line-height:1.3; }
.home .sp-home-feature__copy>p:not(.sp-kicker):not(.sp-meta) { font-size:15px; max-width:760px; }
.home .sp-section { padding:32px 0; }
.home .sp-section-head h2 { font-family:inherit; font-size:24px; }
.home .sp-grid { gap:20px 30px; }
.home .sp-card { border-top:2px solid #dce4de; padding-top:14px; }
.home .sp-card h3 { font-family:inherit; font-size:19px; line-height:1.35; }
.home .sp-card__excerpt { font-size:13px; line-height:1.6; }
.home .sp-paths { background:transparent; border:0; gap:28px; }
.home .sp-path { border-top:1px solid #cbd8cf; padding:18px 0; }
.home .sp-path h3 { font-size:20px; }
@media(max-width:850px) { .sp-data-layout { grid-template-columns:minmax(0,1fr); gap:22px; } .sp-data-ranking { border-left:0; border-top:1px solid #e0e5e1; padding:18px 0 0; } .sp-party-row { grid-template-columns:8px minmax(0,1fr) 64px 42px; } }
@media(max-width:540px) { .home .sp-home-masthead h1 { font-size:32px; } .sp-data-heading { align-items:start; } .sp-data-heading h2 { font-size:23px; } .sp-data-date time { font-size:13px; } .sp-data-desk .sp-history-controls { display:grid; grid-template-columns:1fr 1fr; } .sp-data-desk .sp-history-controls label:last-child { grid-column:1/-1; } .sp-history-plot { height:300px; } .sp-home-shortcuts { gap:10px 16px; } .sp-home-shortcuts a { font-size:12px; } .sp-data-intro { font-size:13px; } }
