/* 2028 presidential tracker. Party is shown by a lettered tag as well as
   color, never color alone. */

:root {
	--ew-party-d: #184f95;
	--ew-party-r: #a82625;
	--ew-party-i: #77756f;
}

.ew-party {
	display: inline-block;
	padding: 0.05em 0.4em;
	border-radius: 3px;
	font-family: var(--wp--preset--font-family--sans, sans-serif);
	font-size: 0.72rem;
	font-weight: 700;
	line-height: 1.4;
	color: #fff;
	vertical-align: 0.1em;
	background: var(--ew-party-i);
}
.ew-party--d { background: var(--ew-party-d); }
.ew-party--r { background: var(--ew-party-r); }
.ew-party-fill--d { background: var(--ew-party-d); }
.ew-party-fill--r { background: var(--ew-party-r); }
.ew-party-fill--i { background: var(--ew-party-i); }

.ew-tracker { font-family: var(--wp--preset--font-family--sans, sans-serif); color: #18212E; }
.ew-tracker p { margin: 0; }

.ew-tracker__count {
	margin: 0.35rem 0 0.9rem !important;
	font-size: 0.95rem;
	font-weight: 600;
}
.ew-tracker__days {
	display: inline-block;
	padding: 0 0.4em;
	margin-right: 0.1em;
	border: 2px solid var(--wp--preset--color--marigold, #E3A21A);
	border-radius: 999px;
	font-weight: 800;
	font-variant-numeric: tabular-nums;
}

.ew-tracker__label {
	font-size: 0.8rem;
	font-weight: 600;
	color: #566170;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin-bottom: 0.35rem !important;
}

.ew-tracker__list { list-style: none; margin: 0; padding: 0; }
.ew-tracker__row {
	display: grid;
	grid-template-columns: 1fr 3rem;
	grid-template-areas: "who pct" "bar pct";
	column-gap: 0.75rem;
	align-items: center;
	padding: 0.55rem 0;
	border-bottom: 1px solid #D5DBE1;
}
.ew-tracker__who { grid-area: who; font-size: 0.98rem; font-weight: 600; line-height: 1.3; }
.ew-tracker__bar {
	grid-area: bar;
	height: 6px;
	margin-top: 0.35rem;
	background: #EEF1F4;
	border-radius: 3px;
	overflow: hidden;
}
.ew-tracker__bar span { display: block; height: 100%; border-radius: 3px; }
.ew-tracker__pct {
	grid-area: pct;
	text-align: right;
	font-size: 1.05rem;
	font-weight: 800;
	font-variant-numeric: tabular-nums;
}

.ew-tracker__foot {
	margin-top: 0.6rem !important;
	font-size: 0.8rem;
	line-height: 1.45;
	color: #566170;
}
.ew-tracker__foot a { color: inherit; }
.ew-tracker__more { display: block; margin-top: 0.3rem; font-weight: 600; color: var(--wp--preset--color--link, #0E5C61) !important; }

/* Full table */
.ew-tracker--full { margin: 2rem 0; }
.ew-tracker__scroll { overflow-x: auto; }
.ew-tracker--full table { width: 100%; border-collapse: collapse; font-size: 0.95rem; }
.ew-tracker--full th,
.ew-tracker--full td { padding: 0.6rem 0.75rem 0.6rem 0; border-bottom: 1px solid #D5DBE1; text-align: left; vertical-align: top; }
.ew-tracker--full thead th { font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.04em; color: #566170; border-bottom: 2px solid #18212E; }
.ew-tracker--full tbody th { font-weight: 700; white-space: nowrap; }
.ew-tracker__num { font-weight: 800; font-variant-numeric: tabular-nums; white-space: nowrap; }
.ew-tracker__status { color: #566170; min-width: 14rem; }
.ew-tracker--full figcaption { margin-top: 0.6rem; font-size: 0.85rem; color: #566170; line-height: 1.45; }

/* Two sidebar boxes in a row need room between them */
.ew-tracker--card + .ew-ratings-summary,
.ew-tracker--card + p + .ew-ratings-summary { margin-top: 2.25rem; }
