.race-snapshot {
    background: #050608;
}

.race-snapshot__heading {
    font-family: "Plus Jakarta Sans", "DM Sans", ui-sans-serif, system-ui, sans-serif;
    font-size: 1.125rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: #f8fafc;
    margin: 0 0 1.25rem;
}

.race-snapshot__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.85rem 1.5rem;
    margin: 0;
}

@media (min-width: 640px) {
    .race-snapshot__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1024px) {
    .race-snapshot__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.race-snapshot__item {
    margin: 0;
    min-width: 0;
}

.race-snapshot__label {
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #64748b;
    margin: 0 0 0.2rem;
}

.race-snapshot__value {
    font-size: 0.95rem;
    line-height: 1.45;
    color: #e2e8f0;
    margin: 0;
}

.race-snapshot__party--d {
    color: #0c6df6;
}

.race-snapshot__party--ind {
    color: #8795a6;
}

.race-snapshot__party--r {
    color: #ff4142;
}

.race-snapshot__party-sep {
    color: #e2e8f0;
}

.race-snapshot__links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem 1.25rem;
    margin-top: 1.5rem;
    padding-top: 1.25rem;
    border-top: 1px solid rgba(51, 65, 85, 0.55);
}

.race-snapshot__link {
    font-size: 0.875rem;
    font-weight: 500;
    color: #93c5fd;
    text-decoration: none;
}

.race-snapshot__link:hover {
    color: #ffffff;
    text-decoration: underline;
}

.race-snapshot__grid--rows,
.race-snapshot__grid--polling {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

.race-snapshot__row {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.85rem 1.5rem;
}

@media (min-width: 640px) {
    .race-snapshot__row--3,
    .race-snapshot__row--2 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .race-snapshot__row--2 > .race-snapshot__item:first-child {
        grid-column: 1;
    }

    .race-snapshot__row--2 > .race-snapshot__item:nth-child(2) {
        grid-column: 2;
    }
}

.race-snapshot--polling .race-snapshot__link--plain,
.race-snapshot--forecast .race-snapshot__link--plain,
.race-snapshot--polling .race-snapshot__link--polling {
    color: #ffffff;
    text-decoration: none;
}

.race-snapshot--polling .race-snapshot__link--plain:hover,
.race-snapshot--forecast .race-snapshot__link--plain:hover,
.race-snapshot--polling .race-snapshot__link--polling:hover {
    color: #94a3b8;
    text-decoration: none;
}

body.sleek-home .race-snapshot__heading,
body.sleek-home .race-snapshot__value {
    font-family: "Plus Jakarta Sans", "DM Sans", ui-sans-serif, system-ui, sans-serif;
}

.race-snapshot--in-panel {
    border-bottom: none;
}

html[data-pollsmax-theme="light"] .race-snapshot--in-panel {
    background: transparent;
}

html[data-pollsmax-theme="light"] .race-snapshot--in-panel .race-snapshot__links:not(.race-snapshot__links--in-panel) {
    border-top-color: var(--pm-light-box-outline, #e2e8f0);
}

/* Baked SEO snapshot stays in initial HTML; hidden from users (JS clones into Race Overview panel). */
main > section.race-snapshot[data-race-snapshot-seo="1"] {
    display: none !important;
}

html.race-snapshot-panel-mounted main > section.race-snapshot[data-race-snapshot-seo="1"],
body.race-view-polling:has(#stateRaceHeadMorePanel .race-snapshot--in-panel) main > section.race-snapshot[data-race-snapshot-seo="1"],
body.senate-hub-page:has(#forecastHubHeadMorePanel .race-snapshot--in-panel) main > section.race-snapshot[data-race-snapshot-seo="1"],
body.gov-hub-page:has(#forecastGovHubHeadMorePanel .race-snapshot--in-panel) main > section.race-snapshot[data-race-snapshot-seo="1"] {
    display: none !important;
}

/* Hub forecast pages — hide baked SEO source (snapshot is cloned into Election Overview panel) */
.race-snapshot-seo-source {
    display: none !important;
}
