/* Football Top 25 polls hub. Bump version_css_main after edits. */

.tn-polls {
    --tn-polls-purple: #522d80;
    --tn-polls-orange: #f56600;
    --tn-polls-ink: #1d1d1f;
    --tn-polls-muted: #5a5a60;
    --tn-polls-line: rgba(82, 45, 128, 0.16);
    --tn-polls-card: #fff;
    --tn-polls-wash: #fff2e8;
    color: var(--tn-polls-ink);
    padding: 0 0 32px;
}

html.dark-mode .tn-polls {
    --tn-polls-ink: var(--dm-text-primary, #f1f5f9);
    --tn-polls-muted: var(--dm-text-secondary, #bbb);
    --tn-polls-line: rgba(255, 255, 255, 0.14);
    --tn-polls-card: var(--dm-bg-elevated, #1c1f25);
    --tn-polls-wash: rgba(245, 102, 0, 0.22);
    color: var(--dm-text-primary, #f1f5f9);
}

.tn-polls__hero {
    background: linear-gradient(125deg, #522d80 0%, #3a1f5c 58%, #2a1644 100%);
    color: #fff;
    border-radius: 12px;
    padding: 22px 20px 18px;
    margin-bottom: 14px;
}

.tn-polls__kicker {
    margin: 0 0 6px;
    color: #f56600;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.tn-polls__hero h1 {
    margin: 0 0 12px;
    color: #fff;
    font: 400 clamp(26px, 4vw, 40px)/1.15 Georgia, serif;
}

.tn-polls__nav {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    font-weight: 700;
}

.tn-polls__nav a,
.tn-polls__nav span {
    color: #fff;
}

.tn-polls__nav a:hover {
    color: #f56600;
}

.tn-polls__nav .is-disabled {
    opacity: 0.45;
}

.tn-polls__sr {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
}

.tn-polls__pick select {
    border-radius: 6px;
    border: 0;
    padding: 6px 8px;
    font-weight: 700;
}

.tn-polls__hero-note {
    margin: 12px 0 0;
    color: rgba(255, 255, 255, 0.85);
    font-size: 12px;
    font-weight: 600;
}

.tn-polls__snapshot {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0 0 16px;
}

.tn-polls__snap {
    flex: 1 1 140px;
    background: var(--tn-polls-card);
    border: 1px solid var(--tn-polls-line);
    border-radius: 10px;
    padding: 12px 14px;
}

.tn-polls__snap-label {
    display: block;
    color: var(--tn-polls-muted);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.tn-polls__snap-rank {
    display: block;
    margin: 4px 0 0;
    color: var(--tn-polls-ink);
    font: 700 28px/1.1 Georgia, serif;
}

html.dark-mode .tn-polls__snap-rank {
    color: var(--dm-text-primary, #f1f5f9);
}

.tn-polls__snap-team {
    color: var(--tn-polls-muted);
    font-size: 13px;
}

.tn-polls__tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 12px;
}

.tn-polls__tab {
    border: 1px solid var(--tn-polls-line);
    background: var(--tn-polls-card);
    color: var(--tn-polls-ink);
    border-radius: 999px;
    padding: 6px 14px;
    font-weight: 700;
    cursor: pointer;
}

.tn-polls__tab.is-active {
    background: #f56600;
    border-color: #f56600;
    color: #fff;
}

.tn-polls__table-wrap.is-hidden {
    display: none;
}

.tn-polls__table {
    width: 100%;
    border-collapse: collapse;
    background: var(--tn-polls-card);
    border: 1px solid var(--tn-polls-line);
    border-radius: 10px;
    overflow: hidden;
}

.tn-polls__table th,
.tn-polls__table td {
    padding: 8px 10px;
    text-align: left;
    border-bottom: 1px solid var(--tn-polls-line);
    font-size: 13px;
}

.tn-polls__table th {
    background: rgba(82, 45, 128, 0.08);
    color: var(--tn-polls-ink);
    font-weight: 700;
}

html.dark-mode .tn-polls__table th {
    background: rgba(255, 255, 255, 0.06);
    color: var(--dm-text-primary, #f1f5f9);
}

.tn-polls__chg {
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.tn-polls__table tr:not(.is-clemson) .tn-polls__chg--up {
    color: #166534;
    font-weight: 700;
}

.tn-polls__table tr:not(.is-clemson) .tn-polls__chg--down {
    color: #b91c1c;
    font-weight: 700;
}

.tn-polls__chg--new,
.tn-polls__chg--same,
.tn-polls__chg--none {
    color: var(--tn-polls-muted);
}

html.dark-mode .tn-polls__table tr:not(.is-clemson) .tn-polls__chg--up {
    color: #4ade80;
}

html.dark-mode .tn-polls__table tr:not(.is-clemson) .tn-polls__chg--down {
    color: #f87171;
}

.tn-polls__table tr.is-clemson td {
    background: var(--tn-polls-wash);
    color: var(--tn-polls-ink);
    font-weight: 700;
}

html.dark-mode .tn-polls__table tr.is-clemson td {
    color: var(--dm-text-primary, #f1f5f9);
}

.tn-polls__school {
    display: flex;
    align-items: center;
    gap: 8px;
}

.tn-polls__school img {
    width: 22px;
    height: 22px;
    object-fit: contain;
}

.tn-polls__empty {
    margin: 18px 0;
    padding: 22px 16px;
    text-align: center;
    background: var(--tn-polls-card);
    border: 1px solid var(--tn-polls-line);
    border-radius: 10px;
    color: var(--tn-polls-muted);
}

.tn-polls__source {
    margin: 14px 0 0;
    color: var(--tn-polls-muted);
    font-size: 12px;
}

@media (max-width: 600px) {
    .tn-polls__table th:nth-child(4),
    .tn-polls__table td:nth-child(4) {
        display: none;
    }
}
