:root {
    --page-background: #17191d;
    --surface: #ffffff;
    --surface-soft: #f6f7f8;
    --text: #202226;
    --muted: #686d74;
    --line: #d9dde2;
    --dark: #2b2b2b;
    --accent: #f2a100;
    --accent-dark: #d68d00;
    --shadow: 0 14px 35px rgba(16, 24, 40, 0.08);
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    min-width: 320px;
    background: var(--page-background);
    color: var(--text);
    font-family:
        Inter,
        ui-sans-serif,
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;
}

a {
    color: inherit;
}


h1,
h2,
h3,
.site-brand {
    font-family:
        "Barlow Semi Condensed",
        "Arial Narrow",
        sans-serif;
    font-weight: 700;
}



.site-header {
    position: sticky;
    top: 0;
    z-index: 100;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(23, 25, 29, 0.96);
    backdrop-filter: blur(14px);
}

.site-navigation {
    width: min(1440px, 100%);
    min-height: 70px;
    display: flex;
    align-items: center;
    gap: 36px;
    margin: 0 auto;
    padding: 0 24px;
}

.site-brand {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

.site-brand img {
    width: 34px;
    height: 34px;
    display: block;
    object-fit: contain;
}

.site-brand::before {
    content: none;
}

.navigation-links {
    min-width: 0;
    display: flex;
    align-items: stretch;
    gap: 4px;
    overflow-x: auto;
    scrollbar-width: none;
}

.navigation-links::-webkit-scrollbar {
    display: none;
}

.navigation-link {
    min-height: 70px;
    display: inline-flex;
    align-items: center;
    position: relative;
    padding: 0 14px;
    color: #c8cbd0;
    font-size: 0.86rem;
    font-weight: 750;
    white-space: nowrap;
    text-decoration: none;
}

.navigation-link::after {
    content: "";
    height: 3px;
    position: absolute;
    right: 14px;
    bottom: 0;
    left: 14px;
    border-radius: 3px 3px 0 0;
    background: transparent;
}

.navigation-link.is-active {
    color: #ffffff;
}

.navigation-link.is-active::after {
    background: var(--accent);
}

.site-search {
    flex-shrink: 0;
    position: relative;
    margin-left: auto;
}

.site-search-toggle {
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.04);
    color: #c8cbd0;
    cursor: pointer;
    transition: background 150ms ease, color 150ms ease, border-color 150ms ease;
}

.site-search-toggle svg {
    width: 17px;
    height: 17px;
}

.site-search-toggle:hover,
.site-search-toggle[aria-expanded="true"] {
    border-color: var(--accent);
    background: rgba(242, 161, 0, 0.12);
    color: #ffffff;
}

.site-search-panel {
    width: min(420px, 88vw);
    position: absolute;
    top: calc(100% + 12px);
    right: 0;
    z-index: 200;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 16px;
    background: #1d1f23;
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.4);
    overflow: hidden;
}

.site-search-input-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.site-search-input-row svg {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    color: #8a8f96;
}

.site-search-input {
    flex: 1;
    min-width: 0;
    border: none;
    background: transparent;
    color: #ffffff;
    font: inherit;
    font-size: 0.9rem;
    outline: none;
}

.site-search-input::placeholder {
    color: #6f7379;
}

.site-search-close {
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    border: none;
    background: transparent;
    color: #8a8f96;
    font-size: 1.1rem;
    line-height: 1;
    cursor: pointer;
}

.site-search-close:hover {
    color: #ffffff;
}

.site-search-results {
    max-height: min(420px, 60vh);
    overflow-y: auto;
    scrollbar-color: #60646b #1b1d21;
    scrollbar-width: thin;
}

.site-search-result {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    text-decoration: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    transition: background 120ms ease;
}

.site-search-result:last-child {
    border-bottom: none;
}

.site-search-result:hover {
    background: rgba(255, 255, 255, 0.05);
}

.site-search-result-type {
    flex-shrink: 0;
    padding: 3px 8px;
    border-radius: 999px;
    background: rgba(242, 161, 0, 0.14);
    color: var(--accent);
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    white-space: nowrap;
}

.site-search-result-copy {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.site-search-result-copy strong {
    color: #ffffff;
    font-size: 0.86rem;
    font-weight: 700;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.site-search-result-copy small {
    color: #9299a3;
    font-size: 0.74rem;
}

.site-search-empty {
    margin: 0;
    padding: 16px 14px;
    color: #8a8f96;
    font-size: 0.82rem;
    text-align: center;
}

@media (max-width: 720px) {
    .site-search-panel {
        width: 92vw;
    }
}

.home-page {
    width: min(1440px, 100%);
    margin: 0 auto;
    padding: 24px;
}

.hero {
    min-height: 330px;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    position: relative;
    padding: 48px;
    border-radius: 24px;
    color: #ffffff;
    background:
        linear-gradient(
            110deg,
            #1f2023 0%,
            #2b2b2b 58%,
            #3a3a3a 100%
        );
    box-shadow: var(--shadow);
}

.hero::before {
    content: "";
    width: 460px;
    height: 460px;
    position: absolute;
    top: -230px;
    right: -80px;
    border: 72px solid rgba(242, 161, 0, 0.72);
    border-radius: 50%;
}

.hero::after {
    content: "";
    width: 360px;
    height: 16px;
    position: absolute;
    right: 60px;
    bottom: 64px;
    background: var(--accent);
    transform: skewX(-32deg);
    opacity: 0.95;
}

.hero-content {
    position: relative;
    z-index: 1;
}

.hero-kicker,
.section-kicker {
    display: block;
    margin-bottom: 8px;
    color: var(--accent);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.hero h1 {
    margin: 0;
    font-size: clamp(3.4rem, 9vw, 7.6rem);
    line-height: 0.88;
    letter-spacing: -0.035em;
}

.hero p {
    margin: 24px 0 0;
    color: #e2e2e2;
    font-size: clamp(1rem, 2vw, 1.3rem);
    font-weight: 650;
}


.hero-logo {
    width: clamp(220px, 27vw, 390px);
    max-height: 72%;
    position: absolute;
    top: 50%;
    right: clamp(42px, 7vw, 110px);
    z-index: 2;
    object-fit: contain;
    transform: translateY(-50%);
    filter: drop-shadow(0 8px 18px rgba(0, 0, 0, 0.28));
    pointer-events: none;
}

.home-section {
    margin-top: 52px;
}

.section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 20px;
}

.section-heading h2 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(1.65rem, 3vw, 2.35rem);
    letter-spacing: -0.035em;
}

.championship-grid,
.next-round-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.championship-card,
.next-round-card,
.latest-results-panel {
    color: var(--text);
    border: 1px solid var(--line);
    border-radius: 18px;
    background: var(--surface);
    box-shadow: var(--shadow);
}

.championship-card {
    display: flex;
    min-height: 390px;
    flex-direction: column;
    padding: 24px;
}

.weekend-highlights-board {
    display: flex;
    flex-direction: column;
    gap: 2px;
    overflow: hidden;
    border-radius: 14px;
}

.weekend-highlight-row {
    display: block;
    padding: 10px 16px;
    border-left: 3px solid var(--highlight-category-color, #f2a100);
    background: #222428;
    color: #f1f2f3;
    font-size: 0.88rem;
    font-weight: 600;
    text-decoration: none;
    transition: background 150ms ease;
}

.weekend-highlight-row:hover {
    background: #2a2d32;
}

.card-topline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--line);
}

.card-topline h3,
.grand-prix-heading h3 {
    margin: 0;
    letter-spacing: -0.035em;
}

.card-topline h3 {
    font-size: 1.6rem;
}

.card-topline span {
    min-width: 58px;
    padding: 6px 10px;
    border-radius: 999px;
    background: var(--dark);
    color: #ffffff;
    font-size: 0.78rem;
    font-weight: 800;
    text-align: center;
}

.card-data {
    display: grid;
    gap: 14px;
    margin: 20px 0 24px;
}

.data-block {
    padding: 14px;
    border-radius: 12px;
    background: var(--surface-soft);
}

.main-data {
    padding: 18px 14px;
}

.data-label,
.round-facts span {
    display: block;
    margin-bottom: 7px;
    color: var(--muted);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.driver-line,
.table-driver {
    display: flex;
    align-items: center;
}

.driver-line {
    gap: 11px;
}

.driver-line img,
.table-driver img {
    object-fit: contain;
    object-position: center;
    background: transparent;
    border-radius: 2px;
}

.driver-line img {
    width: 28px;
    height: 19px;
}

.driver-line strong {
    display: block;
    font-size: 1.05rem;
}

.driver-line small {
    display: block;
    margin-top: 4px;
    color: var(--muted);
    line-height: 1.35;
}

.primary-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    margin-top: auto;
    padding: 10px 18px;
    border-radius: 10px;
    background: var(--accent);
    color: #202020;
    font-size: 0.9rem;
    font-weight: 850;
    text-decoration: none;
    transition:
        background 160ms ease,
        transform 160ms ease;
}

.primary-button:hover {
    background: var(--accent-dark);
    color: #ffffff;
    transform: translateY(-1px);
}

.next-round-card {
    min-height: 430px;
    padding: 24px;
    position: relative;
    overflow: hidden;
}

.next-round-card::before {
    content: "";
    width: 110px;
    height: 6px;
    position: absolute;
    top: 0;
    left: 24px;
    background: var(--accent);
}

.category-label {
    margin-bottom: 26px;
    color: var(--accent-dark);
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.grand-prix-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}

.grand-prix-heading span {
    display: block;
    margin-bottom: 6px;
    color: var(--muted);
    font-size: 0.8rem;
    font-weight: 750;
}

.grand-prix-heading h3 {
    font-size: 1.55rem;
    line-height: 1.1;
}

.grand-prix-heading img {
    width: 46px;
    height: 31px;
    flex: 0 0 auto;
    object-fit: contain;
    object-position: center;
    background: transparent;
    border: 0;
    border-radius: 0;
}

.location {
    min-height: 44px;
    margin: 14px 0 24px;
    color: var(--muted);
    line-height: 1.45;
}

.round-facts {
    display: grid;
    gap: 12px;
}

.round-facts > div {
    min-height: 82px;
    padding: 14px;
    border-radius: 12px;
    background: var(--surface-soft);
}

.round-facts strong {
    display: block;
}

.round-facts small {
    display: block;
    margin-top: 4px;
    color: var(--muted);
    font-variant-numeric: tabular-nums;
}

.text-link {
    display: inline-block;
    margin-top: 24px;
    color: var(--accent-dark);
    font-size: 0.9rem;
    font-weight: 850;
    text-decoration: none;
}

.season-finished {
    display: grid;
    min-height: 270px;
    place-content: center;
    text-align: center;
}

.season-finished h3 {
    margin: 0 0 8px;
}

.season-finished p {
    margin: 0;
    color: var(--muted);
}

.latest-section {
    padding-bottom: 40px;
}

.latest-results-panel {
    overflow: hidden;
    padding: 0 0 22px;
}

.table-scroll {
    overflow-x: auto;
}

.latest-results-table {
    width: 100%;
    min-width: 720px;
    border-collapse: collapse;
}

.latest-results-table th,
.latest-results-table td {
    padding: 17px 20px;
    border-bottom: 1px solid var(--line);
    text-align: left;
}

.latest-results-table th {
    background: var(--dark);
    color: #ffffff;
    font-size: 0.75rem;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.latest-results-table tbody tr:last-child td {
    border-bottom: 0;
}

.latest-results-table tbody tr:hover {
    background: var(--surface-soft);
}

.table-driver {
    gap: 9px;
    font-weight: 700;
}

.table-driver img {
    width: 24px;
    height: 16px;
}

.time-cell {
    font-variant-numeric: tabular-nums;
    font-weight: 750;
}

.results-button {
    width: fit-content;
    margin: 22px 22px 0 auto;
}

.empty-state {
    grid-column: 1 / -1;
    padding: 40px;
    border: 1px dashed #c9ced6;
    border-radius: 16px;
    color: var(--muted);
    text-align: center;
}


/* Colores corporativos de las categorías */
.category-motogp {
    --category-color: #ED7D31;
}

.category-moto2 {
    --category-color: #5B9BD5;
}

.category-sbk {
    --category-color: #70AD47;
}

.championship-card[class*="category-"] {
    border-top: 5px solid var(--category-color);
}

.championship-card[class*="category-"] .card-topline h3::before {
    content: "";
    display: inline-block;
    width: 9px;
    height: 9px;
    margin-right: 10px;
    border-radius: 50%;
    background: var(--category-color);
    vertical-align: 0.12em;
}

.next-round-card[class*="category-"]::before {
    background: var(--category-color);
}

.next-round-card[class*="category-"] .category-label {
    color: var(--category-color);
}

.table-category {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    font-weight: 800;
}

tr[class*="category-"] .table-category::before {
    content: "";
    width: 9px;
    height: 9px;
    flex: 0 0 auto;
    border-radius: 50%;
    background: var(--category-color);
}


.driver-line img,
.table-driver img,
.grand-prix-heading img {
    max-width: 100%;
    padding: 0;
}


.latest-results-panel {
    display: flex;
    flex-direction: column;
}

.results-button {
    align-self: center;
    margin: 22px auto 0;
}


/* Páginas generales */
.section-hero {
    min-height: 235px;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    position: relative;
    padding: 42px 46px;
    border-radius: 22px;
    color: #ffffff;
    background:
        linear-gradient(
            112deg,
            #222428 0%,
            #2c2d30 60%,
            #383838 100%
        );
    box-shadow: var(--shadow);
}

.section-hero::before {
    content: "";
    width: 250px;
    height: 250px;
    position: absolute;
    top: -145px;
    right: 52px;
    border: 42px solid rgba(242, 161, 0, 0.72);
    border-radius: 50%;
}

.section-hero::after {
    content: "";
    width: 230px;
    height: 10px;
    position: absolute;
    right: 44px;
    bottom: 44px;
    background: var(--accent);
    transform: skewX(-32deg);
}

.section-hero-content {
    max-width: 790px;
    position: relative;
    z-index: 1;
}

.section-hero-kicker,
.placeholder-label {
    display: block;
    margin-bottom: 8px;
    color: var(--accent);
    font-size: 0.74rem;
    font-weight: 850;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.section-hero h1 {
    margin: 0;
    font-size: clamp(2.8rem, 7vw, 5.3rem);
    line-height: 0.92;
    letter-spacing: -0.03em;
}

.section-hero p {
    max-width: 690px;
    margin: 20px 0 0;
    color: #dedfe2;
    font-size: 1.05rem;
    font-weight: 600;
    line-height: 1.55;
}

.placeholder-section {
    padding: 34px 0 52px;
}

.placeholder-panel {
    min-height: 220px;
    display: grid;
    align-content: center;
    padding: 38px;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: var(--surface);
    box-shadow: var(--shadow);
}

.placeholder-panel h2 {
    margin: 0;
    color: var(--text);
    font-size: clamp(1.5rem, 3vw, 2.15rem);
    letter-spacing: -0.035em;
}

.placeholder-panel p {
    max-width: 790px;
    margin: 14px 0 0;
    color: var(--muted);
    font-size: 1rem;
    line-height: 1.65;
}

.navigation-link:hover {
    color: #ffffff;
}

@media (max-width: 1040px) {
    .championship-grid,
    .next-round-grid {
        grid-template-columns: 1fr;
    }

    .championship-card,
    .next-round-card {
        min-height: auto;
    }

    .hero {
        min-height: 280px;
    }

    .section-hero {
        min-height: 210px;
    }

    .hero-logo {
        width: clamp(180px, 25vw, 285px);
        right: 38px;
    }
}

@media (max-width: 640px) {


    .site-navigation {
        min-height: 62px;
        gap: 18px;
        padding: 0 12px;
    }

    .site-brand {
        font-size: 1rem;
    }

    .navigation-link {
        min-height: 62px;
        padding: 0 10px;
        font-size: 0.8rem;
    }

    .navigation-link::after {
        right: 10px;
        left: 10px;
    }
    .home-page {
        padding: 12px;
    }

    .hero {
        min-height: 250px;
        padding: 30px 22px;
        border-radius: 18px;
    }

    .section-hero {
        min-height: 205px;
        padding: 30px 22px;
        border-radius: 18px;
    }

    .section-hero::before {
        right: -120px;
    }

    .section-hero::after {
        right: -80px;
    }

    .placeholder-panel {
        min-height: 190px;
        padding: 26px 22px;
    }

    .hero::before {
        right: -210px;
    }

    .hero::after {
        right: -180px;
    }

    .hero-logo {
        display: none;
    }

    .home-section {
        margin-top: 38px;
    }

    .championship-card,
    .next-round-card {
        padding: 20px;
    }

    .latest-results-table th,
    .latest-results-table td {
        padding: 14px 16px;
    }

    .results-button {
        width: calc(100% - 32px);
        align-self: center;
        margin: 18px auto 0;
    }
}


/* Página Campeonato */
.championship-page.category-motogp {
    --category-color: #ED7D31;
}

.championship-page.category-moto2 {
    --category-color: #5B9BD5;
}

.championship-page.category-sbk {
    --category-color: #70AD47;
}

.championship-hero::before {
    border-color: color-mix(
        in srgb,
        var(--category-color) 72%,
        transparent
    );
}

.championship-hero::after {
    background: var(--category-color);
}

.championship-controls {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-top: 24px;
    padding: 18px;
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 16px;
    background: #222428;
}

.season-selector {
    display: flex;
    align-items: flex-end;
    gap: 10px;
}

.season-selector label {
    display: grid;
    gap: 7px;
    color: #c8cbd0;
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.season-selector select,
.season-selector button {
    min-height: 42px;
    border: 1px solid #464a50;
    border-radius: 9px;
    font: inherit;
}

.season-selector select {
    min-width: 180px;
    padding: 0 38px 0 13px;
    background: #16181c;
    color: #ffffff;
    font-weight: 700;
}

.season-selector button {
    padding: 0 16px;
    border-color: var(--accent);
    background: var(--accent);
    color: #1d1d1d;
    font-weight: 850;
    cursor: pointer;
}

.category-tabs {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}

.category-tab {
    --category-color: var(--accent);
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 18px;
    border: 1px solid #464a50;
    border-radius: 999px;
    color: #d1d3d7;
    font-size: 0.86rem;
    font-weight: 850;
    text-decoration: none;
}

.category-tab::before {
    content: "";
    width: 8px;
    height: 8px;
    margin-right: 9px;
    border-radius: 50%;
    background: var(--category-color);
}

.category-tab:hover,
.category-tab.is-active {
    border-color: var(--category-color);
    background: var(--category-color);
    color: #161616;
}

.category-tab.is-active::before {
    background: #161616;
}


.category-tab.category-motogp {
    --category-color: #ED7D31;
    border-color: rgba(237, 125, 49, 0.58);
    background: rgba(237, 125, 49, 0.12);
    color: #ED7D31;
}

.category-tab.category-moto2 {
    --category-color: #5B9BD5;
    border-color: rgba(91, 155, 213, 0.58);
    background: rgba(91, 155, 213, 0.12);
    color: #5B9BD5;
}

.category-tab.category-sbk {
    --category-color: #70AD47;
    border-color: rgba(112, 173, 71, 0.58);
    background: rgba(112, 173, 71, 0.12);
    color: #70AD47;
}

.category-tab.category-motogp:hover,
.category-tab.category-motogp.is-active {
    border-color: #ED7D31;
    background: #ED7D31;
    color: #161616;
}

.category-tab.category-moto2:hover,
.category-tab.category-moto2.is-active {
    border-color: #5B9BD5;
    background: #5B9BD5;
    color: #161616;
}

.category-tab.category-sbk:hover,
.category-tab.category-sbk.is-active {
    border-color: #70AD47;
    background: #70AD47;
    color: #161616;
}

.category-tab.is-active::before,
.category-tab:hover::before {
    background: #161616;
}

.standings-section {
    margin-top: 38px;
}

.team-standings-section {
    margin-top: 46px;
}

.standings-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 16px;
}

.standings-kicker {
    display: block;
    margin-bottom: 6px;
    color: var(--category-color);
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.standings-heading h2 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(1.55rem, 3vw, 2.25rem);
    letter-spacing: -0.04em;
}

.standings-panel {
    overflow: hidden;
    border: 1px solid #3b3e44;
    border-radius: 18px;
    background: #222428;
    box-shadow: var(--shadow);
}

.standings-scroll {
    overflow-x: auto;
}

.summary-standings-table {
    width: 100%;
    min-width: 800px;
    border-collapse: collapse;
    color: #f0f1f3;
}

.summary-standings-table th,
.summary-standings-table td {
    padding: 9px 16px;
    border-bottom: 1px solid #3a3d42;
    text-align: left;
}

.summary-standings-table th {
    background: #17191d;
    color: #ffffff;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.summary-standings-table tbody tr:last-child td {
    border-bottom: 0;
}

.summary-standings-table tbody tr {
    background: #222428;
}

.summary-standings-table tbody tr:hover {
    background: #2a2d32;
}

.standing-position {
    width: 66px;
    text-align: center !important;
}

.position-number {
    width: 28px;
    height: 28px;
    display: inline-grid;
    place-items: center;
    border-radius: 7px;
    background: #3b3e44;
    color: #f3f4f5;
    font-size: 0.86rem;
    font-weight: 900;
}

.summary-standings-table tbody tr:first-child .position-number {
    background: var(--category-color);
    color: #181818;
}

.standing-driver {
    display: flex;
    align-items: center;
    gap: 10px;
}

.team-marker {
    width: 6px;
    height: 24px;
    flex: 0 0 auto;
    border-radius: 999px;
    background: var(--team-primary);
}

.nationality-cell {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.nationality-cell img {
    width: 25px;
    height: 16px;
    flex: 0 0 auto;
    object-fit: contain;
}


.standing-team-cell {
    display: flex;
    align-items: center;
    gap: 9px;
}

.standing-team-logo {
    width: 22px;
    height: 22px;
    flex: 0 0 auto;
    object-fit: contain;
    object-position: center;
    border: 0;
    background: transparent;
}

.standing-points {
    width: 90px;
    text-align: right !important;
    font-size: 0.98rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.team-summary-table {
    min-width: 650px;
}

.standings-empty {
    padding: 32px !important;
    color: var(--muted);
    text-align: center !important;
}

.detailed-table-action {
    display: flex;
    justify-content: center;
    padding: 34px 0 54px;
}

.detailed-table-button {
    min-width: 210px;
    margin: 0;
}



.standings-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
    align-items: start;
    gap: 22px;
    margin-top: 38px;
}

.standings-layout .standings-section {
    min-width: 0;
    margin-top: 0;
}

.standings-layout .team-standings-section {
    margin-top: 0;
}

.standings-layout .summary-standings-table {
    min-width: 690px;
}

.standings-layout .team-summary-table {
    min-width: 500px;
}

.standings-layout .summary-standings-table th,
.standings-layout .summary-standings-table td {
    padding-right: 12px;
    padding-left: 12px;
    white-space: nowrap;
}

@media (max-width: 1120px) {
    .standings-layout {
        grid-template-columns: 1fr;
    }

    .standings-layout .summary-standings-table {
        min-width: 760px;
    }

    .standings-layout .team-summary-table {
        min-width: 620px;
    }
}

@media (max-width: 760px) {
    .championship-controls {
        align-items: stretch;
        flex-direction: column;
    }

    .season-selector {
        align-items: stretch;
        flex-wrap: wrap;
    }

    .season-selector label {
        width: 100%;
    }

    .season-selector select {
        min-width: 0;
        flex: 1 1 170px;
    }

    .category-tabs {
        justify-content: flex-start;
    }

    .category-tab {
        flex: 1 1 auto;
    }
}


/* Página Resultados */
.results-page.category-motogp {
    --category-color: #ED7D31;
}

.results-page.category-moto2 {
    --category-color: #5B9BD5;
}

.results-page.category-sbk {
    --category-color: #70AD47;
}

.results-hero::before {
    border-color: color-mix(
        in srgb,
        var(--category-color) 72%,
        transparent
    );
}

.results-hero::after {
    background: var(--category-color);
}

.results-list-section {
    margin-top: 38px;
    padding-bottom: 54px;
}

.results-list-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 16px;
}

.results-list-kicker {
    display: block;
    margin-bottom: 6px;
    color: var(--category-color);
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.results-list-heading h2 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(1.55rem, 3vw, 2.25rem);
    letter-spacing: -0.04em;
}

.results-count {
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    padding: 0 13px;
    border: 1px solid color-mix(
        in srgb,
        var(--category-color) 58%,
        transparent
    );
    border-radius: 999px;
    background: color-mix(
        in srgb,
        var(--category-color) 13%,
        transparent
    );
    color: var(--category-color);
    font-size: 0.8rem;
    font-weight: 850;
}

.season-results-panel {
    overflow: hidden;
    border: 1px solid #3b3e44;
    border-radius: 18px;
    background: #222428;
    box-shadow: var(--shadow);
}

.season-results-scroll {
    overflow-x: auto;
}

.season-results-table {
    width: 100%;
    min-width: 1040px;
    border-collapse: collapse;
    color: #f0f1f3;
}

.season-results-table th,
.season-results-table td {
    padding: 12px 14px;
    border-bottom: 1px solid #3a3d42;
    text-align: left;
    vertical-align: middle;
}

.season-results-table th {
    background: #17191d;
    color: #ffffff;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.season-results-table tbody tr {
    background: #222428;
    transition: background 150ms ease;
}

.season-results-table tbody tr:hover {
    background: #2a2d32;
}

.season-results-table tbody tr:last-child td {
    border-bottom: 0;
}

.result-round-column {
    width: 78px;
    text-align: center !important;
}

.result-round-number {
    width: 30px;
    height: 30px;
    display: inline-grid;
    place-items: center;
    border-radius: 8px;
    background: var(--category-color);
    color: #171717;
    font-size: 0.86rem;
    font-weight: 900;
}

.result-grand-prix,
.result-winner,
.result-team {
    display: flex;
    align-items: center;
}

.result-grand-prix {
    min-width: 260px;
    gap: 12px;
}

.result-winner {
    min-width: 190px;
    gap: 9px;
}

.result-team {
    min-width: 190px;
    gap: 9px;
}

.result-flag {
    width: 25px;
    height: 16px;
    flex: 0 0 auto;
    object-fit: contain;
    object-position: center;
    border: 0;
    background: transparent;
}

.result-gp-flag {
    width: 31px;
    height: 20px;
}

.result-grand-prix-link {
    color: #ffffff;
    font-weight: 700;
    text-decoration: none;
}

.result-grand-prix-link:hover {
    color: var(--category-color);
}

.result-grand-prix small {
    display: block;
    max-width: 270px;
    margin-top: 4px;
    overflow: hidden;
    color: #9fa3aa;
    font-size: 0.75rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.result-team-logo {
    width: 22px;
    height: 22px;
    flex: 0 0 auto;
    object-fit: contain;
    object-position: center;
    border: 0;
    background: transparent;
}

.result-number-column {
    width: 92px;
    text-align: center !important;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.result-time-column {
    width: 135px;
    text-align: right !important;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.result-link-column {
    width: 54px;
    text-align: center !important;
}

.result-open-link {
    width: 30px;
    height: 30px;
    display: inline-grid;
    place-items: center;
    border: 1px solid #4a4d53;
    border-radius: 8px;
    color: #ffffff;
    font-size: 1rem;
    font-weight: 900;
    text-decoration: none;
}

.result-open-link:hover {
    border-color: var(--category-color);
    background: var(--category-color);
    color: #171717;
}

.results-empty {
    padding: 38px !important;
    color: #aeb1b7;
    text-align: center !important;
}

@media (max-width: 760px) {
    .results-list-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .season-results-table th,
    .season-results-table td {
        padding: 11px 12px;
    }
}


.hero h1,
.section-hero h1,
.section-heading h2,
.standings-heading h2,
.results-list-heading h2 {
    font-weight: 700;
}

.card-topline h3,
.grand-prix-heading h3 {
    font-weight: 700;
}


/* Página Calendario */
.calendar-page.category-motogp {
    --category-color: #ED7D31;
}

.calendar-page.category-moto2 {
    --category-color: #5B9BD5;
}

.calendar-page.category-sbk {
    --category-color: #70AD47;
}

.calendar-hero::before {
    border-color: color-mix(
        in srgb,
        var(--category-color) 72%,
        transparent
    );
}

.calendar-hero::after {
    background: var(--category-color);
}

.calendar-list-section {
    margin-top: 38px;
    padding-bottom: 54px;
}

.calendar-list-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 16px;
}

.calendar-list-kicker {
    display: block;
    margin-bottom: 6px;
    color: var(--category-color);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.calendar-list-heading h2 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(1.55rem, 3vw, 2.25rem);
    font-weight: 700;
    letter-spacing: -0.04em;
}

.calendar-progress {
    min-width: 58px;
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 13px;
    border: 1px solid color-mix(
        in srgb,
        var(--category-color) 58%,
        transparent
    );
    border-radius: 999px;
    background: color-mix(
        in srgb,
        var(--category-color) 13%,
        transparent
    );
    color: var(--category-color);
    font-size: 0.8rem;
    font-weight: 700;
}

.calendar-panel {
    overflow: hidden;
    border: 1px solid #3b3e44;
    border-radius: 18px;
    background: #222428;
    box-shadow: var(--shadow);
}

.calendar-scroll {
    overflow-x: auto;
}

.calendar-table {
    width: 100%;
    min-width: 1020px;
    border-collapse: collapse;
    color: #f0f1f3;
}

.calendar-table th,
.calendar-table td {
    padding: 11px 14px;
    border-bottom: 1px solid #3a3d42;
    text-align: left;
    vertical-align: middle;
}

.calendar-table th {
    background: #17191d;
    color: #ffffff;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.calendar-table tbody tr {
    background: #222428;
    transition:
        background 150ms ease,
        opacity 150ms ease;
}

.calendar-table tbody tr:hover {
    background: #2a2d32;
}

.calendar-table tbody tr:last-child td {
    border-bottom: 0;
}

.calendar-row.is-pending {
    color: #b7bac0;
}

.calendar-round-column {
    width: 78px;
    text-align: center !important;
}

.calendar-round-number {
    width: 30px;
    height: 30px;
    display: inline-grid;
    place-items: center;
    border-radius: 8px;
    background: #3b3e44;
    color: #f3f4f5;
    font-size: 0.86rem;
    font-weight: 700;
}

.calendar-row.is-disputada .calendar-round-number,
.calendar-row.is-next .calendar-round-number {
    background: var(--category-color);
    color: #171717;
}

.calendar-grand-prix,
.calendar-winner {
    display: flex;
    align-items: center;
}

.calendar-grand-prix {
    min-width: 255px;
    gap: 12px;
}

.calendar-winner {
    min-width: 205px;
    gap: 9px;
}

.calendar-flag {
    width: 25px;
    height: 16px;
    flex: 0 0 auto;
    object-fit: contain;
    object-position: center;
    border: 0;
    background: transparent;
}

.calendar-gp-flag {
    width: 31px;
    height: 20px;
}

.calendar-grand-prix strong,
.calendar-grand-prix-link,
.calendar-location strong,
.calendar-winner strong {
    font-weight: 700;
}

.calendar-grand-prix-link {
    color: #ffffff;
    text-decoration: none;
}

.calendar-grand-prix-link:hover {
    color: var(--category-color);
}

.calendar-grand-prix small,
.calendar-location small,
.calendar-winner small {
    display: block;
    margin-top: 3px;
    color: #9fa3aa;
    font-size: 0.75rem;
    font-weight: 500;
}

.calendar-location {
    min-width: 230px;
}

.calendar-status-column {
    width: 112px;
    text-align: center !important;
}

.calendar-status {
    min-width: 78px;
    min-height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 10px;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 700;
}

.calendar-status.is-disputada {
    background: rgba(112, 173, 71, 0.16);
    color: #91c872;
}

.calendar-status.is-next {
    border: 1px solid var(--category-color);
    background: color-mix(
        in srgb,
        var(--category-color) 14%,
        transparent
    );
    color: var(--category-color);
}

.calendar-status.is-pending {
    background: #34373c;
    color: #b6bac0;
}

.calendar-no-winner {
    color: #747981;
}

.calendar-link-column {
    width: 54px;
    text-align: center !important;
}

.calendar-open-link {
    width: 30px;
    height: 30px;
    display: inline-grid;
    place-items: center;
    border: 1px solid #4a4d53;
    border-radius: 8px;
    color: #ffffff;
    font-size: 1rem;
    font-weight: 700;
    text-decoration: none;
}

.calendar-open-link:hover {
    border-color: var(--category-color);
    background: var(--category-color);
    color: #171717;
}

.calendar-empty {
    padding: 38px !important;
    color: #aeb1b7;
    text-align: center !important;
}

@media (max-width: 760px) {
    .calendar-list-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .calendar-table th,
    .calendar-table td {
        padding: 10px 12px;
    }
}


/* Calendario multicolumna */
.calendar-overview-page {
    --category-color: var(--accent);
}

.calendar-season-control {
    display: flex;
    justify-content: flex-start;
    margin-top: 24px;
    padding: 18px;
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 16px;
    background: #222428;
}

.calendar-category-grid {
    display: grid;
    grid-template-columns: repeat(
        auto-fit,
        minmax(300px, 1fr)
    );
    align-items: start;
    gap: 18px;
    padding: 38px 0 54px;
}

.calendar-category-card {
    --category-color: var(--accent);
    min-width: 0;
    overflow: hidden;
    border: 1px solid #3b3e44;
    border-top: 4px solid var(--category-color);
    border-radius: 17px;
    background: #222428;
    box-shadow: var(--shadow);
}

.calendar-category-header {
    min-height: 82px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 16px 17px;
    border-bottom: 1px solid #3a3d42;
    background: #1b1d21;
}

.calendar-category-kicker {
    display: block;
    margin-bottom: 3px;
    color: var(--category-color);
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.calendar-category-header h2 {
    margin: 0;
    color: #ffffff;
    font-family:
        "Barlow Semi Condensed",
        "Arial Narrow",
        sans-serif;
    font-size: 1.7rem;
    font-weight: 700;
    letter-spacing: -0.025em;
}

.calendar-category-identity {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 11px;
}

.calendar-category-logo {
    width: 44px;
    height: 32px;
    flex: 0 0 auto;
    object-fit: contain;
    object-position: center;
}

.calendar-category-progress {
    min-width: 52px;
    min-height: 31px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 10px;
    border: 1px solid color-mix(
        in srgb,
        var(--category-color) 58%,
        transparent
    );
    border-radius: 999px;
    background: color-mix(
        in srgb,
        var(--category-color) 13%,
        transparent
    );
    color: var(--category-color);
    font-size: 0.76rem;
    font-weight: 700;
}

.calendar-compact-list {
    color: #eff0f2;
}

.calendar-compact-head,
.calendar-compact-row {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) 74px;
    align-items: center;
    gap: 9px;
}

.calendar-compact-head {
    min-height: 34px;
    padding: 0 12px;
    border-bottom: 1px solid #34373c;
    background: #17191d;
    color: #aeb2b8;
    font-size: 0.64rem;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.compact-round-heading,
.compact-layout-heading {
    text-align: center;
}

.calendar-compact-row {
    min-height: 60px;
    padding: 7px 12px;
    border-bottom: 1px solid #373a40;
    background: #222428;
    transition: background 140ms ease;
}

.calendar-compact-row:last-child {
    border-bottom: 0;
}

.calendar-compact-row:hover {
    background: #292c31;
}

.calendar-compact-row:not(.is-completed) {
    color: #bcc0c6;
}

.compact-round-number {
    width: 27px;
    height: 27px;
    display: inline-grid;
    place-items: center;
    justify-self: center;
    border-radius: 7px;
    background: #393c42;
    color: #eff0f2;
    font-size: 0.78rem;
    font-weight: 700;
}

.calendar-compact-row.is-completed .compact-round-number {
    background: var(--category-color);
    color: #171717;
}

.compact-grand-prix {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.compact-calendar-flag {
    width: 25px;
    height: 16px;
    flex: 0 0 auto;
    object-fit: contain;
    object-position: center;
    border: 0;
    background: transparent;
}

.compact-grand-prix-text {
    min-width: 0;
}

.compact-grand-prix-text a,
.compact-grand-prix-text strong {
    display: block;
    overflow: hidden;
    color: #f4f4f5;
    font-size: 0.83rem;
    font-weight: 700;
    line-height: 1.25;
    text-decoration: none;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.compact-grand-prix-text a:hover {
    color: var(--category-color);
}

.compact-grand-prix-text small {
    display: block;
    margin-top: 3px;
    overflow: hidden;
    color: #9499a1;
    font-size: 0.68rem;
    font-weight: 500;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.compact-layout-cell {
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.compact-no-layout {
    color: #747981;
    font-size: 0.78rem;
}

.compact-calendar-empty {
    padding: 28px 18px;
    color: #aeb1b7;
    font-size: 0.82rem;
    text-align: center;
}

@media (min-width: 1280px) {
    .calendar-category-grid.has-four-categories {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .calendar-category-grid.has-four-categories
    .calendar-category-header {
        padding-right: 13px;
        padding-left: 13px;
    }

    .calendar-category-grid.has-four-categories
    .calendar-compact-head,
    .calendar-category-grid.has-four-categories
    .calendar-compact-row {
        grid-template-columns: 31px minmax(0, 1fr) 64px;
        gap: 7px;
        padding-right: 9px;
        padding-left: 9px;
    }
}

@media (max-width: 720px) {
    .calendar-season-control {
        padding: 14px;
    }

    .calendar-season-control .season-selector {
        width: 100%;
    }

    .calendar-category-grid {
        grid-template-columns: 1fr;
        padding-top: 26px;
    }
}


/* Colores por categoría y carreras especiales */
.calendar-category-card.category-motogp {
    --category-color: #ED7D31;
    --category-soft: rgba(237, 125, 49, 0.08);
    --category-header: rgba(237, 125, 49, 0.15);
}

.calendar-category-card.category-moto2 {
    --category-color: #5B9BD5;
    --category-soft: rgba(91, 155, 213, 0.08);
    --category-header: rgba(91, 155, 213, 0.15);
}

.calendar-category-card.category-sbk {
    --category-color: #70AD47;
    --category-soft: rgba(112, 173, 71, 0.08);
    --category-header: rgba(112, 173, 71, 0.15);
}

.calendar-category-card {
    background:
        linear-gradient(
            180deg,
            var(--category-soft) 0,
            rgba(34, 36, 40, 0) 210px
        ),
        #222428;
}

.calendar-category-card .calendar-category-header {
    background:
        linear-gradient(
            105deg,
            var(--category-header) 0%,
            rgba(27, 29, 33, 0.98) 76%
        );
}

.calendar-category-card .calendar-compact-head {
    border-bottom-color:
        color-mix(
            in srgb,
            var(--category-color) 32%,
            #34373c
        );
}

.calendar-category-card .calendar-compact-row:hover {
    background:
        color-mix(
            in srgb,
            var(--category-color) 7%,
            #292c31
        );
}

.compact-gp-title {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 6px;
}

.compact-gp-title > a,
.compact-gp-title > strong {
    min-width: 0;
}

.special-race-badge {
    min-height: 18px;
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    padding: 0 6px;
    border: 1px solid rgba(218, 178, 57, 0.76);
    border-radius: 999px;
    background:
        linear-gradient(
            135deg,
            rgba(255, 226, 112, 0.24),
            rgba(183, 129, 3, 0.18)
        );
    color: #F2D06B;
    font-size: 0.55rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1;
    text-transform: uppercase;
}


/* Inicio oscuro con distintivos por categoría */
.championship-card,
.next-round-card,
.latest-results-panel {
    border-color: #3b3e44;
    background: #222428;
    color: #f1f2f3;
    box-shadow: 0 14px 35px rgba(0, 0, 0, 0.22);
}

.championship-card.category-motogp,
.next-round-card.category-motogp {
    --home-category-soft: rgba(237, 125, 49, 0.08);
    --home-category-header: rgba(237, 125, 49, 0.15);
}

.championship-card.category-moto2,
.next-round-card.category-moto2 {
    --home-category-soft: rgba(91, 155, 213, 0.08);
    --home-category-header: rgba(91, 155, 213, 0.15);
}

.championship-card.category-sbk,
.next-round-card.category-sbk {
    --home-category-soft: rgba(112, 173, 71, 0.08);
    --home-category-header: rgba(112, 173, 71, 0.15);
}

.championship-card[class*="category-"],
.next-round-card[class*="category-"] {
    background:
        linear-gradient(
            180deg,
            var(--home-category-soft) 0,
            rgba(34, 36, 40, 0) 230px
        ),
        #222428;
}

.championship-card[class*="category-"] {
    border-top-color: var(--category-color);
}

.card-topline {
    margin: -24px -24px 0;
    padding: 18px 24px;
    border-bottom-color: #3a3d42;
    background:
        linear-gradient(
            105deg,
            var(--home-category-header) 0%,
            rgba(27, 29, 33, 0.98) 76%
        );
}

.card-topline h3 {
    color: #ffffff;
}

.card-topline span {
    border: 1px solid color-mix(
        in srgb,
        var(--category-color) 55%,
        transparent
    );
    background: color-mix(
        in srgb,
        var(--category-color) 14%,
        #25272c
    );
    color: var(--category-color);
    font-weight: 700;
}

.card-data {
    margin-top: 20px;
}

.data-block,
.round-facts > div {
    border: 1px solid color-mix(
        in srgb,
        var(--category-color, var(--accent)) 15%,
        #34373c
    );
    background: #191b1f;
}

.data-label,
.round-facts span,
.driver-line small,
.location,
.round-facts small,
.season-finished p {
    color: #9fa3aa;
}

.driver-line strong,
.data-block > strong,
.round-facts strong,
.season-finished h3 {
    color: #f4f4f5;
}

.championship-card[class*="category-"] .primary-button {
    background: var(--category-color);
    color: #171717;
    font-weight: 700;
}

.championship-card[class*="category-"] .primary-button:hover {
    background: color-mix(
        in srgb,
        var(--category-color) 84%,
        #ffffff
    );
    color: #171717;
}

.next-round-card[class*="category-"] {
    border-top: 4px solid var(--category-color);
}

.next-round-card[class*="category-"]::before {
    width: 100%;
    height: 4px;
    top: 0;
    left: 0;
}

.next-round-card .category-label {
    width: fit-content;
    display: inline-flex;
    align-items: center;
    min-height: 27px;
    margin-bottom: 23px;
    padding: 0 10px;
    border: 1px solid color-mix(
        in srgb,
        var(--category-color) 58%,
        transparent
    );
    border-radius: 999px;
    background: color-mix(
        in srgb,
        var(--category-color) 13%,
        transparent
    );
    color: var(--category-color);
    font-weight: 700;
}

.grand-prix-heading span {
    color: #9fa3aa;
}

.grand-prix-heading h3 {
    color: #ffffff;
}

.next-round-card[class*="category-"] .text-link {
    color: var(--category-color);
    font-weight: 700;
}

.latest-results-panel {
    border-top: 4px solid var(--accent);
}

.latest-results-table {
    color: #eff0f2;
}

.latest-results-table th,
.latest-results-table td {
    border-bottom-color: #3a3d42;
}

.latest-results-table th {
    background: #17191d;
    color: #ffffff;
    font-weight: 700;
}

.latest-results-table tbody tr {
    background: #222428;
}

.latest-results-table tbody tr.category-motogp {
    background:
        linear-gradient(
            90deg,
            rgba(237, 125, 49, 0.09),
            rgba(34, 36, 40, 0) 38%
        ),
        #222428;
}

.latest-results-table tbody tr.category-moto2 {
    background:
        linear-gradient(
            90deg,
            rgba(91, 155, 213, 0.09),
            rgba(34, 36, 40, 0) 38%
        ),
        #222428;
}

.latest-results-table tbody tr.category-sbk {
    background:
        linear-gradient(
            90deg,
            rgba(112, 173, 71, 0.09),
            rgba(34, 36, 40, 0) 38%
        ),
        #222428;
}

.latest-results-table tbody tr:hover {
    background: #2a2d32;
}

.latest-results-table .table-category {
    color: var(--category-color);
    font-weight: 700;
}

.latest-results-table td,
.time-cell,
.table-driver {
    color: #f0f1f3;
}

.time-cell {
    font-weight: 700;
}

.latest-results-panel .results-button {
    background: var(--accent);
    color: #171717;
    font-weight: 700;
}

.latest-results-panel .results-button:hover {
    background: var(--accent-dark);
    color: #ffffff;
}

.empty-state {
    border-color: #50535a;
    background: #222428;
    color: #aeb2b8;
}


/* Página Pilotos */
.drivers-page.category-motogp {
    --category-color: #ED7D31;
}

.drivers-page.category-moto2 {
    --category-color: #5B9BD5;
}

.drivers-page.category-sbk {
    --category-color: #70AD47;
}

.drivers-hero::before {
    border-color: color-mix(
        in srgb,
        var(--category-color) 72%,
        transparent
    );
}

.drivers-hero::after {
    background: var(--category-color);
}

.drivers-list-section {
    padding: 38px 0 56px;
}

.drivers-list-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 17px;
}

.drivers-list-kicker {
    display: block;
    margin-bottom: 5px;
    color: var(--category-color);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.drivers-list-heading h2 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(1.55rem, 3vw, 2.25rem);
    font-weight: 700;
    letter-spacing: -0.035em;
}

.drivers-round-progress {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 12px;
    border: 1px solid color-mix(
        in srgb,
        var(--category-color) 56%,
        transparent
    );
    border-radius: 999px;
    background: color-mix(
        in srgb,
        var(--category-color) 13%,
        transparent
    );
    color: var(--category-color);
    font-size: 0.74rem;
    font-weight: 700;
}

.drivers-grid {
    display: grid;
    grid-template-columns: repeat(
        auto-fit,
        minmax(245px, 1fr)
    );
    gap: 16px;
}

.driver-card {
    position: relative;
    min-width: 0;
    overflow: hidden;
    border: 1px solid #3b3e44;
    border-radius: 16px;
    background:
        linear-gradient(
            150deg,
            color-mix(
                in srgb,
                var(--team-primary) 9%,
                transparent
            ),
            transparent 42%
        ),
        #222428;
    color: #f1f2f3;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.18);
}

.driver-card-accent {
    height: 4px;
    background: var(--team-primary);
}

.driver-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 13px 15px 0;
}

.driver-position {
    min-width: 39px;
    min-height: 27px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid color-mix(
        in srgb,
        var(--category-color) 55%,
        transparent
    );
    border-radius: 999px;
    background: color-mix(
        in srgb,
        var(--category-color) 13%,
        transparent
    );
    color: var(--category-color);
    font-size: 0.7rem;
    font-weight: 700;
}

.driver-number {
    color: color-mix(
        in srgb,
        var(--team-primary) 75%,
        #ffffff
    );
    font-family:
        "Barlow Semi Condensed",
        "Arial Narrow",
        sans-serif;
    font-size: 1.55rem;
    font-weight: 700;
    line-height: 1;
}

.driver-identity {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 14px 15px 13px;
}

.driver-nationality-flag {
    width: 34px;
    height: 22px;
    flex: 0 0 auto;
    object-fit: contain;
    object-position: center;
    border: 0;
    background: transparent;
}

.driver-identity > div {
    min-width: 0;
}

.driver-identity h3 {
    margin: 0;
    overflow: hidden;
    color: #ffffff;
    font-family: "Inter", sans-serif;
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.driver-short-name {
    display: block;
    margin-top: 4px;
    color: #9fa3aa;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.12em;
}

.driver-team {
    min-height: 41px;
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 15px;
    padding: 8px 10px;
    border: 1px solid color-mix(
        in srgb,
        var(--team-primary) 18%,
        #35383d
    );
    border-radius: 10px;
    background: #191b1f;
}

.driver-team-logo {
    width: 22px;
    height: 22px;
    flex: 0 0 auto;
    object-fit: contain;
    object-position: center;
}

.driver-team span {
    overflow: hidden;
    color: #dfe1e4;
    font-size: 0.75rem;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.driver-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 13px 15px 0;
    overflow: hidden;
    border: 1px solid #373a40;
    border-radius: 10px;
    background: #191b1f;
}

.driver-stat {
    min-width: 0;
    padding: 9px 4px;
    border-right: 1px solid #373a40;
    text-align: center;
}

.driver-stat:last-child {
    border-right: 0;
}

.driver-stat span {
    display: block;
    overflow: hidden;
    color: #90959d;
    font-size: 0.57rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.driver-stat strong {
    display: block;
    margin-top: 4px;
    color: #f4f4f5;
    font-size: 0.9rem;
    font-weight: 700;
}

.driver-stat.is-points strong {
    color: var(--category-color);
}

.driver-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 11px 15px 13px;
    color: #8f949c;
    font-size: 0.63rem;
    font-weight: 500;
}

.drivers-empty {
    grid-column: 1 / -1;
    padding: 38px;
    border: 1px solid #3b3e44;
    border-radius: 16px;
    background: #222428;
    color: #aeb2b8;
    text-align: center;
}

@media (min-width: 1440px) {
    .drivers-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .drivers-list-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .drivers-grid {
        grid-template-columns: 1fr;
    }
}


/* Pilotos: fichas históricas agrupadas por duplas */
.driver-pairs-grid {
    display: grid;
    grid-template-columns: repeat(
        2,
        minmax(0, 1fr)
    );
    align-items: start;
    gap: 18px;
}

.driver-team-pair {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #3b3e44;
    border-top: 4px solid var(--team-primary);
    border-radius: 17px;
    background:
        linear-gradient(
            160deg,
            color-mix(
                in srgb,
                var(--team-primary) 7%,
                transparent
            ),
            transparent 36%
        ),
        #1d1f23;
    box-shadow: 0 13px 32px rgba(0, 0, 0, 0.2);
}

.driver-pair-heading {
    min-height: 58px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 11px 14px;
    border-bottom: 1px solid #3a3d42;
    background:
        linear-gradient(
            105deg,
            color-mix(
                in srgb,
                var(--team-primary) 14%,
                transparent
            ),
            rgba(27, 29, 33, 0.98) 76%
        );
}

.driver-pair-team {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 9px;
}

.driver-pair-team img {
    width: 24px;
    height: 24px;
    flex: 0 0 auto;
    object-fit: contain;
    object-position: center;
}

.driver-pair-team strong {
    overflow: hidden;
    color: #ffffff;
    font-size: 0.82rem;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.driver-pair-heading > span {
    color: #999ea6;
    font-size: 0.68rem;
    font-weight: 600;
    text-align: right;
}

.driver-pair-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    background: #3a3d42;
}

.driver-pair-cards .driver-card {
    min-width: 0;
    border: 0;
    border-radius: 0;
    background:
        linear-gradient(
            150deg,
            color-mix(
                in srgb,
                var(--team-primary) 8%,
                transparent
            ),
            transparent 43%
        ),
        #222428;
    box-shadow: none;
}

.driver-pair-cards .driver-card-accent {
    display: none;
}

.driver-card-media {
    position: relative;
    height: 118px;
    overflow: hidden;
    border-bottom: 1px solid #34373c;
    background:
        radial-gradient(
            circle at 34% 105%,
            color-mix(
                in srgb,
                var(--team-primary) 17%,
                transparent
            ),
            transparent 58%
        ),
        #1a1c20;
}

.driver-official-image {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    object-position: center bottom;
}

.driver-number-mark {
    position: absolute;
    top: 13px;
    right: 14px;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.driver-card-tier-badge {
    position: absolute;
    top: 13px;
    left: 14px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    padding: 0 5px;
    border-radius: 999px;
    color: #171717;
    font-family: "Inter", sans-serif;
    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

.driver-card-tier-badge.tier-s {
    background: #5B9BD5;
}

.driver-card-tier-badge.tier-a {
    background: #70AD47;
}

.driver-card-tier-badge.tier-b {
    background: #ED7D31;
}

.driver-number {
    color: var(--team-primary);
    font-family:
        "Barlow Semi Condensed",
        "Arial Narrow",
        sans-serif;
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.36);
}

.driver-number-image {
    width: 68px;
    height: 43px;
    display: block;
    object-fit: contain;
    object-position: right center;
}

.driver-pair-cards .driver-identity {
    gap: 9px;
    padding: 13px 13px 11px;
}

.driver-pair-cards .driver-nationality-flag {
    width: 28px;
    height: 18px;
}

.driver-name-block {
    min-width: 0;
}

.driver-name-line {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 6px;
}

.driver-name-line h3 {
    min-width: 0;
    margin: 0;
    overflow: hidden;
    color: #ffffff;
    font-family: "Inter", sans-serif;
    font-size: 0.87rem;
    font-weight: 700;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.driver-title-stars {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 1px;
    color: #E2B93B;
    font-size: 0.66rem;
    line-height: 1;
    text-shadow: 0 0 8px rgba(226, 185, 59, 0.2);
}

.driver-pair-cards .driver-short-name {
    margin-top: 3px;
    font-size: 0.62rem;
}

.driver-pair-cards .driver-stats {
    margin: 0 13px 13px;
}

.driver-pair-cards .driver-stat {
    padding: 9px 3px;
}

.driver-pair-cards .driver-stat span {
    font-size: 0.5rem;
}

.driver-pair-cards .driver-stat strong {
    color: #f4f4f5;
    font-size: 0.88rem;
}

@media (max-width: 1180px) {
    .driver-pairs-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .driver-pair-cards {
        grid-template-columns: 1fr;
    }

    .driver-card-media {
        height: 136px;
    }
}


/* Dorsal principal cuando no existe imagen del piloto */
.driver-card-media.no-driver-image {
    display: grid;
    place-items: center;
}

.driver-card-media.no-driver-image .driver-number-mark {
    inset: 0;
    align-items: center;
    justify-content: center;
}

.driver-card-media.no-driver-image .driver-number {
    color: var(--team-primary);
    font-size: 4.9rem;
    line-height: 0.9;
    text-align: center;
    text-shadow: 0 4px 18px rgba(0, 0, 0, 0.42);
}

.driver-card-media.no-driver-image .driver-number-image {
    width: 126px;
    height: 82px;
    object-position: center;
}


/* Página Equipos */
.teams-page.category-motogp {
    --category-color: #ED7D31;
}

.teams-page.category-moto2 {
    --category-color: #5B9BD5;
}

.teams-page.category-sbk {
    --category-color: #70AD47;
}

.teams-hero::before {
    border-color: color-mix(
        in srgb,
        var(--category-color) 72%,
        transparent
    );
}

.teams-hero::after {
    background: var(--category-color);
}

.teams-list-section {
    padding: 38px 0 56px;
}

.teams-list-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 17px;
}

.teams-list-kicker {
    display: block;
    margin-bottom: 5px;
    color: var(--category-color);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.teams-list-heading h2 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(1.55rem, 3vw, 2.25rem);
    font-weight: 700;
    letter-spacing: -0.035em;
}

.teams-round-progress {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 12px;
    border: 1px solid color-mix(
        in srgb,
        var(--category-color) 56%,
        transparent
    );
    border-radius: 999px;
    background: color-mix(
        in srgb,
        var(--category-color) 13%,
        transparent
    );
    color: var(--category-color);
    font-size: 0.74rem;
    font-weight: 700;
}

.teams-grid {
    display: grid;
    grid-template-columns: repeat(
        2,
        minmax(0, 1fr)
    );
    align-items: start;
    gap: 18px;
}

.team-profile-card {
    position: relative;
    min-width: 0;
    overflow: hidden;
    border: 1px solid #3b3e44;
    border-radius: 17px;
    background:
        linear-gradient(
            145deg,
            color-mix(
                in srgb,
                var(--team-primary) 9%,
                transparent
            ),
            transparent 42%
        ),
        #222428;
    color: #f1f2f3;
    box-shadow: 0 13px 32px rgba(0, 0, 0, 0.2);
}

.team-profile-accent {
    height: 4px;
    background: var(--team-primary);
}

.team-profile-header {
    min-height: 128px;
    display: flex;
    align-items: center;
    gap: 19px;
    padding: 18px;
    border-bottom: 1px solid #3a3d42;
    background:
        linear-gradient(
            105deg,
            color-mix(
                in srgb,
                var(--team-primary) 14%,
                transparent
            ),
            rgba(27, 29, 33, 0.97) 78%
        );
}

.team-profile-logo-area {
    width: 104px;
    height: 88px;
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    padding: 9px;
    border: 1px solid color-mix(
        in srgb,
        var(--team-primary) 24%,
        #3a3d42
    );
    border-radius: 14px;
    background: rgba(18, 20, 23, 0.72);
}

.team-profile-logo {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    object-position: center;
}

.team-profile-initials {
    color: var(--team-primary);
    font-family:
        "Barlow Semi Condensed",
        "Arial Narrow",
        sans-serif;
    font-size: 2rem;
    font-weight: 700;
}

.team-profile-identity {
    min-width: 0;
}

.team-profile-short-name {
    display: block;
    margin-bottom: 5px;
    color: var(--team-primary);
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.team-profile-identity h3 {
    margin: 0;
    color: #ffffff;
    font-family: "Inter", sans-serif;
    font-size: 1.08rem;
    font-weight: 700;
    line-height: 1.3;
}

.team-profile-identity p {
    margin: 7px 0 0;
    color: #9da2a9;
    font-size: 0.75rem;
    font-weight: 500;
}

.team-roster {
    padding: 14px 16px 0;
}

.team-roster-label {
    display: block;
    margin-bottom: 8px;
    color: #8f949c;
    font-size: 0.61rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.team-roster-list {
    display: grid;
    grid-template-columns: repeat(
        2,
        minmax(0, 1fr)
    );
    gap: 8px;
}

.team-driver-row {
    min-width: 0;
    min-height: 52px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 7px 9px;
    border: 1px solid color-mix(
        in srgb,
        var(--team-primary) 17%,
        #36393e
    );
    border-radius: 10px;
    background: #191b1f;
}

.team-driver-visual {
    width: 35px;
    height: 35px;
    display: grid;
    flex: 0 0 auto;
    overflow: hidden;
    place-items: center;
    border-radius: 8px;
    background: color-mix(
        in srgb,
        var(--team-primary) 10%,
        #24272b
    );
}

.team-driver-image {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    object-position: center bottom;
}

.team-driver-number-image {
    width: 29px;
    height: 25px;
    display: block;
    object-fit: contain;
    object-position: center;
}

.team-driver-number {
    color: var(--team-primary);
    font-family:
        "Barlow Semi Condensed",
        "Arial Narrow",
        sans-serif;
    font-size: 1.3rem;
    font-weight: 700;
    line-height: 1;
}

.team-driver-flag {
    width: 21px;
    height: 14px;
    flex: 0 0 auto;
    object-fit: contain;
    object-position: center;
}

.team-driver-name {
    min-width: 0;
}

.team-driver-name strong {
    display: block;
    overflow: hidden;
    color: #f1f2f3;
    font-size: 0.72rem;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.team-driver-name span {
    display: block;
    margin-top: 3px;
    color: #8e939b;
    font-size: 0.59rem;
    font-weight: 700;
    letter-spacing: 0.09em;
}

.team-roster-empty {
    grid-column: 1 / -1;
    padding: 12px;
    border: 1px solid #36393e;
    border-radius: 10px;
    background: #191b1f;
    color: #92979f;
    font-size: 0.72rem;
    text-align: center;
}

.team-profile-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 14px 16px 16px;
    overflow: hidden;
    border: 1px solid #373a40;
    border-radius: 10px;
    background: #191b1f;
}

.team-profile-stat {
    min-width: 0;
    padding: 10px 4px;
    border-right: 1px solid #373a40;
    text-align: center;
}

.team-profile-stat:last-child {
    border-right: 0;
}

.team-profile-stat span {
    display: block;
    overflow: hidden;
    color: #90959d;
    font-size: 0.52rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.team-profile-stat strong {
    display: block;
    margin-top: 4px;
    color: #f4f4f5;
    font-size: 0.9rem;
    font-weight: 700;
}

.teams-empty {
    grid-column: 1 / -1;
    padding: 38px;
    border: 1px solid #3b3e44;
    border-radius: 16px;
    background: #222428;
    color: #aeb2b8;
    text-align: center;
}

@media (max-width: 1050px) {
    .teams-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .teams-list-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .team-profile-header {
        align-items: flex-start;
    }

    .team-roster-list {
        grid-template-columns: 1fr;
    }
}


/* Equipos: moto, logo, dupla horizontal y estadísticas */
.team-showcase-card {
    position: relative;
    min-width: 0;
    overflow: hidden;
    border: 1px solid #3b3e44;
    border-radius: 17px;
    background:
        linear-gradient(
            145deg,
            color-mix(
                in srgb,
                var(--team-primary) 8%,
                transparent
            ),
            transparent 43%
        ),
        #222428;
    color: #f1f2f3;
    box-shadow: 0 13px 32px rgba(0, 0, 0, 0.2);
}

.team-showcase-accent {
    height: 4px;
    background: var(--team-primary);
}

.team-showcase-visual {
    min-height: 178px;
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) minmax(130px, 0.8fr);
    align-items: center;
    gap: 20px;
    overflow: hidden;
    padding: 12px 22px 4px 0;
    border-bottom: 1px solid #35383d;
    background:
        radial-gradient(
            circle at 22% 92%,
            color-mix(
                in srgb,
                var(--team-primary) 18%,
                transparent
            ),
            transparent 54%
        ),
        #1a1c20;
}

.team-motorcycle-window {
    width: 100%;
    height: 158px;
    display: flex;
    align-items: center;
    overflow: hidden;
}

.team-motorcycle-image {
    width: 112%;
    max-width: none;
    height: 100%;
    display: block;
    object-fit: contain;
    object-position: left center;
    transform: translateX(-7%);
}

.team-motorcycle-placeholder {
    margin-left: 24px;
    color: color-mix(
        in srgb,
        var(--team-primary) 68%,
        #ffffff
    );
    font-family:
        "Barlow Semi Condensed",
        "Arial Narrow",
        sans-serif;
    font-size: 3.1rem;
    font-weight: 700;
    opacity: 0.42;
    text-transform: uppercase;
}

.team-showcase-logo {
    min-width: 0;
    height: 118px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.team-showcase-logo img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    object-position: center;
}

.team-showcase-logo span {
    color: var(--team-primary);
    font-family:
        "Barlow Semi Condensed",
        "Arial Narrow",
        sans-serif;
    font-size: 3rem;
    font-weight: 700;
}

.team-showcase-title {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
    padding: 16px 18px 13px;
}

.team-showcase-title h3 {
    min-width: 0;
    margin: 0;
    color: #ffffff;
    font-family:
        "Barlow Semi Condensed",
        "Arial Narrow",
        sans-serif;
    font-size: 1.75rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -0.025em;
}

.team-showcase-title > span {
    flex: 0 0 auto;
    color: var(--team-primary);
    font-size: 0.75rem;
    font-weight: 700;
    text-align: right;
}

.team-inline-roster {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 0 18px;
    padding: 11px 13px;
    border: 1px solid color-mix(
        in srgb,
        var(--team-primary) 18%,
        #373a40
    );
    border-radius: 11px;
    background: #191b1f;
}

.team-inline-driver {
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 7px;
}

.team-inline-driver.is-right {
    justify-content: flex-end;
}

.team-inline-flag {
    width: 24px;
    height: 16px;
    flex: 0 0 auto;
    object-fit: contain;
    object-position: center;
}

.team-inline-driver strong {
    min-width: 0;
    overflow: hidden;
    color: #f1f2f3;
    font-size: 0.73rem;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.team-inline-driver span {
    flex: 0 0 auto;
    color: var(--team-primary);
    font-size: 0.72rem;
    font-weight: 700;
}

.team-inline-roster-empty {
    grid-column: 1 / -1;
    color: #92979f;
    font-size: 0.72rem;
    text-align: center;
}

.team-showcase-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 13px 18px 18px;
    overflow: hidden;
    border: 1px solid #373a40;
    border-radius: 10px;
    background: #191b1f;
}

.team-showcase-stat {
    min-width: 0;
    padding: 10px 4px;
    border-right: 1px solid #373a40;
    text-align: center;
}

.team-showcase-stat:last-child {
    border-right: 0;
}

.team-showcase-stat span {
    display: block;
    overflow: hidden;
    color: #90959d;
    font-size: 0.52rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.team-showcase-stat strong {
    display: block;
    margin-top: 4px;
    color: #f4f4f5;
    font-size: 0.9rem;
    font-weight: 700;
}

@media (max-width: 1050px) {
    .team-showcase-visual {
        grid-template-columns: minmax(0, 1.6fr) minmax(110px, 0.75fr);
    }
}

@media (max-width: 720px) {
    .team-showcase-visual {
        min-height: 150px;
        grid-template-columns: minmax(0, 1.5fr) minmax(90px, 0.7fr);
        gap: 10px;
        padding-right: 13px;
    }

    .team-motorcycle-window {
        height: 130px;
    }

    .team-showcase-logo {
        height: 86px;
    }

    .team-showcase-title {
        align-items: flex-start;
        flex-direction: column;
        gap: 6px;
    }

    .team-inline-roster {
        grid-template-columns: 1fr;
    }

    .team-inline-driver.is-right {
        justify-content: flex-start;
    }
}


/* Ajustes de moto, fabricante y ausencia de imagen */
.team-motorcycle-image {
    width: 200%;
    max-width: none;
    height: 200%;
    object-fit: contain;
    object-position: left center;
    transform: translateX(-18%);
    transform-origin: left center;
}

.team-showcase-title > span {
    color: #f4f4f5;
}

.team-showcase-visual.no-motorcycle {
    grid-template-columns: 1fr;
    min-height: 178px;
    padding: 18px 24px;
}

.team-showcase-visual.no-motorcycle .team-showcase-logo {
    width: min(68%, 310px);
    height: 138px;
    justify-self: center;
}

.team-showcase-visual.no-motorcycle .team-showcase-logo img {
    object-position: center;
}

@media (max-width: 720px) {
    .team-showcase-visual.no-motorcycle {
        min-height: 148px;
        padding: 14px 18px;
    }

    .team-showcase-visual.no-motorcycle .team-showcase-logo {
        width: min(76%, 260px);
        height: 104px;
    }
}


/* Ampliar fotos oficiales de los pilotos sin cortar la cabeza */
.driver-official-image {
    object-position: center top;
    transform: scale(1.28);
    transform-origin: center top;
}


/* Macrotabla de Estadísticas */
.statistics-hero::before {
    border-color: rgba(242, 164, 35, 0.72);
}

.statistics-hero::after {
    background: var(--accent);
}

.statistics-filter-panel {
    margin-top: 24px;
    padding: 18px;
    border: 1px solid #3b3e44;
    border-radius: 16px;
    background: #222428;
}

.statistics-filter-form {
    display: grid;
    grid-template-columns:
        minmax(115px, 0.7fr)
        minmax(115px, 0.7fr)
        minmax(155px, 1fr)
        minmax(175px, 1.1fr)
        minmax(210px, 1.35fr)
        auto;
    align-items: end;
    gap: 12px;
}

.statistics-filter-form label {
    min-width: 0;
}

.statistics-filter-form label > span {
    display: block;
    margin-bottom: 6px;
    color: #a8acb2;
    font-size: 0.67rem;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.statistics-filter-form select,
.statistics-filter-form input {
    width: 100%;
    min-height: 39px;
    padding: 0 11px;
    border: 1px solid #494c52;
    border-radius: 9px;
    outline: none;
    background: #191b1f;
    color: #f0f1f3;
    font-family: "Inter", sans-serif;
    font-size: 0.76rem;
}

.statistics-filter-form select:focus,
.statistics-filter-form input:focus {
    border-color: var(--accent);
}

.statistics-filter-actions {
    display: flex;
    align-items: center;
    gap: 9px;
}

.statistics-filter-actions button,
.statistics-filter-actions a {
    min-height: 39px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 13px;
    border-radius: 9px;
    font-size: 0.7rem;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}

.statistics-filter-actions button {
    border: 1px solid var(--accent);
    background: var(--accent);
    color: #171717;
    cursor: pointer;
}

.statistics-filter-actions a {
    border: 1px solid #494c52;
    color: #c5c8cc;
}

.statistics-table-section {
    padding: 38px 0 58px;
}

.statistics-table-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 15px;
}

.statistics-table-heading span {
    display: block;
    margin-bottom: 4px;
    color: var(--accent);
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.statistics-table-heading h2 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(1.45rem, 3vw, 2rem);
    font-weight: 700;
    letter-spacing: -0.035em;
}

.statistics-table-heading p {
    max-width: 430px;
    margin: 0;
    color: #92979f;
    font-size: 0.72rem;
    line-height: 1.45;
    text-align: right;
}

.statistics-table-scroll {
    position: relative;
    max-height: calc(100vh - 245px);
    overflow: auto;
    border: 1px solid #3b3e44;
    border-radius: 15px;
    background: #222428;
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.22);
    scrollbar-color: #60646b #1b1d21;
    scrollbar-width: thin;
}

.statistics-table {
    width: max-content;
    min-width: 4880px;
    border-collapse: separate;
    border-spacing: 0;
    color: #eef0f2;
    font-size: 0.72rem;
}

.statistics-table th,
.statistics-table td {
    height: 52px;
    padding: 9px 12px;
    border-right: 1px solid #34373c;
    border-bottom: 1px solid #383b40;
    text-align: center;
    vertical-align: middle;
    white-space: nowrap;
}

.statistics-table th:last-child,
.statistics-table td:last-child {
    border-right: 0;
}

.statistics-table tbody tr:last-child td {
    border-bottom: 0;
}

.statistics-table thead th {
    position: sticky;
    top: 0;
    z-index: 5;
    height: 47px;
    background: #17191d;
    color: #ffffff;
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.055em;
    text-transform: uppercase;
}

.statistics-sort-button {
    position: relative;
    width: 100%;
    height: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    letter-spacing: inherit;
    text-transform: inherit;
    cursor: pointer;
}

.statistics-sort-button::after {
    content: "↕";
    color: #646971;
    font-size: 0.7rem;
}

.statistics-sort-button.is-sorted-asc::after {
    content: "↑";
    color: var(--accent);
}

.statistics-sort-button.is-sorted-desc::after {
    content: "↓";
    color: var(--accent);
}

.statistics-table tbody tr {
    background: #222428;
}

.statistics-table tbody tr:hover {
    background: #292c31;
}

.statistics-position-column {
    width: 58px;
    min-width: 58px;
    position: sticky !important;
    left: 0;
    z-index: 3;
    background: #1d1f23 !important;
    font-weight: 700;
}

.statistics-table thead .statistics-position-column {
    z-index: 8;
    background: #131519 !important;
}

.statistics-driver-column {
    width: 355px;
    min-width: 355px;
    position: sticky !important;
    left: 58px;
    z-index: 3;
    padding: 0 !important;
    background: #222428 !important;
    box-shadow: 9px 0 18px rgba(0, 0, 0, 0.2);
}

.statistics-table thead .statistics-driver-column {
    z-index: 8;
    padding: 9px 12px !important;
    background: #17191d !important;
}

.statistics-table tbody tr:hover
.statistics-driver-column {
    background: #292c31 !important;
}

.statistics-driver {
    position: relative;
    min-height: 51px;
    display: grid;
    grid-template-columns: 31px minmax(0, 1fr) auto 4px;
    align-items: center;
    gap: 10px;
    padding: 7px 0 7px 13px;
    text-align: left;
}

.statistics-driver-flag {
    width: 29px;
    height: 19px;
    object-fit: contain;
    object-position: center;
}

.statistics-driver-name {
    min-width: 0;
}

.statistics-driver-name strong {
    display: block;
    overflow: hidden;
    color: #f5f5f6;
    font-size: 0.77rem;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.statistics-driver-name small {
    display: block;
    margin-top: 3px;
    color: #848991;
    font-size: 0.58rem;
    font-weight: 600;
}

.statistics-driver-icons {
    max-width: 110px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 2px;
    padding-right: 5px;
}

.statistics-achievement-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.statistics-achievement-icon.is-driver-title {
    color: #E3BD48;
    font-size: 0.72rem;
}

.statistics-achievement-icon.is-team-title {
    font-size: 0.66rem;
}

.statistics-achievement-icon.is-special-win {
    font-size: 0.68rem;
}

.statistics-current-category-line {
    width: 4px;
    height: 72%;
    justify-self: end;
    border-radius: 999px 0 0 999px;
    background: var(--current-category-color);
}

.statistics-zero {
    color: #565A61;
    font-weight: 600;
}

.statistics-achievement-cell {
    min-width: 210px;
}

.statistics-achievement-cell > strong,
.statistics-special-cell > strong {
    display: block;
    color: #f4f4f5;
    font-weight: 700;
}

.statistics-year-badges,
.statistics-special-badges {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 4px;
    margin-top: 5px;
}

.statistics-year-badges span {
    min-height: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 6px;
    border: 1px solid color-mix(
        in srgb,
        var(--achievement-color) 72%,
        transparent
    );
    border-radius: 999px;
    background: color-mix(
        in srgb,
        var(--achievement-color) 13%,
        transparent
    );
    color: var(--achievement-color);
    font-size: 0.59rem;
    font-weight: 700;
}

.statistics-best-cell {
    min-width: 175px;
}

.statistics-best-position {
    min-width: 36px;
    min-height: 25px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid color-mix(
        in srgb,
        var(--achievement-color) 72%,
        transparent
    );
    border-radius: 999px;
    background: color-mix(
        in srgb,
        var(--achievement-color) 13%,
        transparent
    );
    color: var(--achievement-color);
    font-weight: 700;
}

.statistics-best-cell small {
    display: block;
    margin-top: 5px;
    color: #8e939b;
    font-size: 0.58rem;
}

.statistics-special-cell {
    min-width: 225px;
}

.statistics-special-badges span {
    min-height: 23px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 0 7px;
    border: 1px solid rgba(218, 178, 57, 0.65);
    border-radius: 999px;
    background: rgba(218, 178, 57, 0.1);
    color: #E6C75D;
    font-size: 0.59rem;
    font-weight: 700;
}

.statistics-special-badges img {
    width: 20px;
    height: 13px;
    object-fit: contain;
    object-position: center;
}

.statistics-empty-row {
    height: 120px !important;
    color: #a8acb2;
    text-align: center !important;
}

@media (max-width: 1180px) {
    .statistics-filter-form {
        grid-template-columns: repeat(
            3,
            minmax(0, 1fr)
        );
    }

    .statistics-filter-actions {
        grid-column: 1 / -1;
    }
}

@media (max-width: 720px) {
    .statistics-filter-form {
        grid-template-columns: 1fr;
    }

    .statistics-table-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .statistics-table-heading p {
        text-align: left;
    }
}


/* Estadísticas v33: tabla compacta, estados y colorimetría */
.statistics-filter-form {
    grid-template-columns:
        minmax(92px, 0.55fr)
        minmax(92px, 0.55fr)
        minmax(130px, 0.8fr)
        minmax(145px, 0.9fr)
        minmax(105px, 0.65fr)
        minmax(175px, 1.1fr)
        auto;
    gap: 9px;
}

.statistics-filter-form select,
.statistics-filter-form input {
    min-height: 35px;
    padding: 0 9px;
    font-size: 0.69rem;
}

.statistics-filter-actions button,
.statistics-filter-actions a {
    min-height: 35px;
    padding: 0 10px;
    font-size: 0.66rem;
}

.statistics-table.is-compact {
    min-width: 2760px;
    font-size: 0.61rem;
}

.statistics-table.is-compact th,
.statistics-table.is-compact td {
    height: 35px;
    padding: 3px 5px;
}

.statistics-table.is-compact thead th {
    height: 38px;
    font-size: 0.75rem;
    letter-spacing: 0.025em;
}

.statistics-table.is-compact .statistics-sort-button {
    gap: 2px;
    line-height: 1;
}

.statistics-table.is-compact
.statistics-sort-button::after {
    font-size: 0.75rem;
}

.statistics-table.is-compact
.statistics-position-column {
    width: 42px;
    min-width: 42px;
}

.statistics-table.is-compact
.statistics-driver-column {
    left: 42px;
    width: 240px;
    min-width: 240px;
}

.statistics-table.is-compact .statistics-driver {
    min-height: 34px;
    grid-template-columns: 24px minmax(0, 1fr) auto 3px;
    gap: 6px;
    padding: 3px 0 3px 8px;
}

.statistics-table.is-compact
.statistics-driver-flag {
    width: 22px;
    height: 14px;
}

.statistics-table.is-compact
.statistics-driver-name strong {
    font-size: 0.75rem;
    line-height: 1.05;
}

.statistics-driver.is-retired
.statistics-driver-name strong {
    color: #777b82;
}

.statistics-table.is-compact
.statistics-driver-icons {
    max-width: 92px;
    flex-wrap: wrap;
    gap: 1px;
    padding-right: 3px;
    overflow: visible;
}

.statistics-table.is-compact
.statistics-achievement-icon.is-driver-title {
    font-size: 0.75rem;
}

.statistics-table.is-compact
.statistics-achievement-icon.is-team-title,
.statistics-table.is-compact
.statistics-achievement-icon.is-special-win {
    font-size: 0.75rem;
}

.statistics-table.is-compact
.statistics-current-category-line {
    width: 3px;
    height: 76%;
}

.stat-width-compact {
    width: 48px;
    min-width: 48px;
    max-width: 48px;
}

.stat-width-medium {
    width: 62px;
    min-width: 62px;
    max-width: 62px;
}

.stat-width-wide {
    width: 86px;
    min-width: 86px;
    max-width: 86px;
}

.stat-width-achievement {
    width: 112px;
    min-width: 112px;
    max-width: 112px;
}

.stat-width-career {
    width: 130px;
    min-width: 130px;
    max-width: 130px;
}

.statistics-table.is-compact
.statistics-achievement-cell {
    min-width: 112px;
    max-width: 112px;
}

.statistics-table.is-compact
.statistics-achievement-cell > strong,
.statistics-table.is-compact
.statistics-special-cell > strong {
    display: inline;
    font-size: 0.75rem;
}

.statistics-table.is-compact
.statistics-year-badges,
.statistics-table.is-compact
.statistics-special-badges {
    display: inline-flex;
    margin: 0 0 0 3px;
    gap: 2px;
    vertical-align: middle;
}

.statistics-table.is-compact
.statistics-year-badges span {
    min-height: 16px;
    padding: 0 4px;
    font-size: 0.75rem;
}

.statistics-table.is-compact
.statistics-best-cell {
    min-width: 86px;
    max-width: 86px;
}

.statistics-table.is-compact
.statistics-best-position {
    min-width: 31px;
    min-height: 20px;
    font-size: 0.75rem;
}

.statistics-table.is-compact
.statistics-special-cell {
    min-width: 112px;
    max-width: 112px;
}

.statistics-table.is-compact
.statistics-special-badges span {
    min-height: 17px;
    gap: 3px;
    padding: 0 4px;
    font-size: 0.75rem;
}

.statistics-table.is-compact
.statistics-special-badges img {
    width: 15px;
    height: 10px;
}

.statistics-career-cell {
    min-width: 130px;
    max-width: 130px;
    overflow: hidden;
    font-size: 0.75rem;
    text-overflow: ellipsis;
}

/* Fondos de estadísticas */
.statistics-table tbody td.stat-col-points,
.statistics-table thead th.stat-col-points {
    background: #EEEFF1 !important;
    color: #17181B !important;
    font-weight: 800;
}

.statistics-table tbody td.stat-col-wins {
    background: rgba(214, 169, 39, 0.27) !important;
}

.statistics-table thead th.stat-col-wins {
    background: #735C1C !important;
}

.statistics-table tbody td.stat-col-podiums {
    background: rgba(169, 103, 60, 0.29) !important;
}

.statistics-table thead th.stat-col-podiums {
    background: #72482F !important;
}

.statistics-table tbody td.stat-col-top-ten {
    background: rgba(44, 143, 84, 0.25) !important;
}

.statistics-table thead th.stat-col-top-ten {
    background: #245E3C !important;
}

.statistics-table tbody td.stat-col-fastest {
    background: rgba(126, 74, 164, 0.28) !important;
}

.statistics-table thead th.stat-col-fastest {
    background: #55346F !important;
}

.statistics-table tbody td.stat-col-leader {
    background: rgba(54, 107, 176, 0.29) !important;
}

.statistics-table thead th.stat-col-leader {
    background: #2C527F !important;
}

.statistics-table tbody td.stat-col-dnf {
    background: rgba(190, 73, 132, 0.27) !important;
}

.statistics-table thead th.stat-col-dnf {
    background: #773653 !important;
}

.statistics-table tbody td.stat-col-activity {
    background: rgba(120, 125, 134, 0.22) !important;
}

.statistics-table thead th.stat-col-activity {
    background: #4B4F56 !important;
}

.statistics-comparison-cell.is-positive {
    background: rgba(45, 151, 83, 0.32) !important;
}

.statistics-comparison-cell.is-negative {
    background: rgba(218, 117, 38, 0.34) !important;
}

.statistics-comparison-cell.is-tie {
    background: rgba(211, 179, 48, 0.31) !important;
}

.statistics-table tbody td.stat-col-motogp {
    background: rgba(237, 125, 49, 0.26) !important;
}

.statistics-table thead th.stat-col-motogp {
    background: #87451F !important;
}

.statistics-table tbody td.stat-col-moto2 {
    background: rgba(91, 155, 213, 0.27) !important;
}

.statistics-table thead th.stat-col-moto2 {
    background: #345F84 !important;
}

.statistics-table tbody td.stat-col-sbk {
    background: rgba(112, 173, 71, 0.27) !important;
}

.statistics-table thead th.stat-col-sbk {
    background: #426B2C !important;
}

.statistics-table tbody td.stat-col-rookies,
.statistics-table thead th.stat-col-rookies {
    background: #D4D7DC !important;
    color: #202226 !important;
}

.statistics-table tbody td.stat-col-points
.statistics-zero,
.statistics-table tbody td.stat-col-rookies
.statistics-zero {
    color: #6C7077;
}

.statistics-table tbody tr:hover
td.stat-col-points {
    background: #FFFFFF !important;
}

.statistics-table tbody tr:hover
td.stat-col-wins {
    background: rgba(214, 169, 39, 0.36) !important;
}

.statistics-table tbody tr:hover
td.stat-col-podiums {
    background: rgba(169, 103, 60, 0.38) !important;
}

.statistics-table tbody tr:hover
td.stat-col-top-ten {
    background: rgba(44, 143, 84, 0.34) !important;
}

.statistics-table tbody tr:hover
td.stat-col-fastest {
    background: rgba(126, 74, 164, 0.37) !important;
}

.statistics-table tbody tr:hover
td.stat-col-leader {
    background: rgba(54, 107, 176, 0.38) !important;
}

.statistics-table tbody tr:hover
td.stat-col-dnf {
    background: rgba(190, 73, 132, 0.36) !important;
}

.statistics-table tbody tr:hover
td.stat-col-motogp {
    background: rgba(237, 125, 49, 0.35) !important;
}

.statistics-table tbody tr:hover
td.stat-col-moto2 {
    background: rgba(91, 155, 213, 0.36) !important;
}

.statistics-table tbody tr:hover
td.stat-col-sbk {
    background: rgba(112, 173, 71, 0.36) !important;
}

@media (max-width: 1260px) {
    .statistics-filter-form {
        grid-template-columns: repeat(
            4,
            minmax(0, 1fr)
        );
    }

    .statistics-filter-actions {
        grid-column: auto;
    }
}

@media (max-width: 760px) {
    .statistics-filter-form {
        grid-template-columns: 1fr;
    }
}

/* Estadísticas v34: paleta definitiva y GP realmente disputados */
.statistics-table tbody td.stat-col-points,
.statistics-table thead th.stat-col-points {
    background: #191B1F !important;
    color: #FFFFFF !important;
}

.statistics-table tbody td.stat-col-points {
    font-family: "Inter", sans-serif;
    font-size: 0.75rem;
    font-weight: 900;
    font-variant-numeric: tabular-nums;
    text-align: right;
}

.statistics-table tbody td.stat-col-wins,
.statistics-table thead th.stat-col-wins {
    background: #FFFFB9 !important;
    color: #404040 !important;
}

.statistics-table tbody td.stat-col-podiums,
.statistics-table thead th.stat-col-podiums {
    background: #FFDC97 !important;
    color: #404040 !important;
}

.statistics-table tbody td.stat-col-poles,
.statistics-table thead th.stat-col-poles {
    background: #FFC1C1 !important;
    color: #404040 !important;
}

.statistics-table tbody td.stat-col-top-ten,
.statistics-table thead th.stat-col-top-ten {
    background: #DFFFDF !important;
    color: #404040 !important;
}

.statistics-table tbody td.stat-col-fastest,
.statistics-table thead th.stat-col-fastest {
    background: #CFCFFF !important;
    color: #404040 !important;
}

.statistics-table tbody td.stat-col-leader,
.statistics-table thead th.stat-col-leader {
    background: #CFEAFF !important;
    color: #404040 !important;
}

.statistics-table tbody td.stat-col-dnf,
.statistics-table thead th.stat-col-dnf {
    background: #EBCFFF !important;
    color: #404040 !important;
}

.statistics-table tbody td.stat-col-activity,
.statistics-table thead th.stat-col-activity {
    background: #E6E6E6 !important;
    color: #404040 !important;
}

.statistics-table tbody td.stat-col-gp-season,
.statistics-table thead th.stat-col-gp-season {
    background: #FFFFFF !important;
    color: #404040 !important;
}

.statistics-comparison-cell.is-negative {
    background: #F8CBAD !important;
    color: #404040 !important;
}

.statistics-comparison-cell.is-positive {
    background: #C6E0B4 !important;
    color: #404040 !important;
}

.statistics-comparison-cell.is-tie {
    background: #FFE699 !important;
    color: #404040 !important;
}

.statistics-table tbody td.stat-col-motogp,
.statistics-table thead th.stat-col-motogp {
    background: #FE8420 !important;
    color: #FFFFFF !important;
}

.statistics-table tbody td.stat-col-moto2,
.statistics-table thead th.stat-col-moto2 {
    background: #00B0F0 !important;
    color: #FFFFFF !important;
}

.statistics-table tbody td.stat-col-sbk,
.statistics-table thead th.stat-col-sbk {
    background: #00B050 !important;
    color: #FFFFFF !important;
}

.statistics-table tbody td.stat-col-rookies,
.statistics-table thead th.stat-col-rookies {
    background: #A5A5A5 !important;
    color: #FFFFFF !important;
}

.statistics-table tbody td.stat-col-wins .statistics-zero,
.statistics-table tbody td.stat-col-podiums .statistics-zero,
.statistics-table tbody td.stat-col-poles .statistics-zero,
.statistics-table tbody td.stat-col-top-ten .statistics-zero,
.statistics-table tbody td.stat-col-fastest .statistics-zero,
.statistics-table tbody td.stat-col-leader .statistics-zero,
.statistics-table tbody td.stat-col-dnf .statistics-zero,
.statistics-table tbody td.stat-col-activity .statistics-zero,
.statistics-table tbody td.stat-col-gp-season .statistics-zero {
    color: #787878;
}

.statistics-table tbody tr:hover td.stat-col-points {
    background: #24272C !important;
}

.statistics-table tbody tr:hover td.stat-col-wins {
    background: #FFFFB9 !important;
}

.statistics-table tbody tr:hover td.stat-col-podiums {
    background: #FFDC97 !important;
}

.statistics-table tbody tr:hover td.stat-col-poles {
    background: #FFC1C1 !important;
}

.statistics-table tbody tr:hover td.stat-col-top-ten {
    background: #DFFFDF !important;
}

.statistics-table tbody tr:hover td.stat-col-fastest {
    background: #CFCFFF !important;
}

.statistics-table tbody tr:hover td.stat-col-leader {
    background: #CFEAFF !important;
}

.statistics-table tbody tr:hover td.stat-col-dnf {
    background: #EBCFFF !important;
}

.statistics-table tbody tr:hover td.stat-col-activity {
    background: #E6E6E6 !important;
}

.statistics-table tbody tr:hover td.stat-col-gp-season {
    background: #FFFFFF !important;
}

.statistics-table tbody tr:hover td.stat-col-motogp {
    background: #FE8420 !important;
}

.statistics-table tbody tr:hover td.stat-col-moto2 {
    background: #00B0F0 !important;
}

.statistics-table tbody tr:hover td.stat-col-sbk {
    background: #00B050 !important;
}

.statistics-table tbody tr:hover td.stat-col-rookies {
    background: #A5A5A5 !important;
}


/* Estadísticas v35: fondos vivos con texto blanco */
.statistics-table tbody td.stat-col-points,
.statistics-table thead th.stat-col-points {
    background: #191B1F !important;
    color: #FFFFFF !important;
}

.statistics-table tbody td.stat-col-points {
    font-family: "Inter", sans-serif;
    font-size: 0.95rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    text-align: right;
}

.statistics-table tbody td.stat-col-wins,
.statistics-table thead th.stat-col-wins {
    background: #C99A00 !important;
    color: #FFFFFF !important;
}

.statistics-table tbody td.stat-col-podiums,
.statistics-table thead th.stat-col-podiums {
    background: #C46F22 !important;
    color: #FFFFFF !important;
}

.statistics-table tbody td.stat-col-poles,
.statistics-table thead th.stat-col-poles {
    background: #D94F55 !important;
    color: #FFFFFF !important;
}

.statistics-table tbody td.stat-col-top-ten,
.statistics-table thead th.stat-col-top-ten {
    background: #2D9B57 !important;
    color: #FFFFFF !important;
}

.statistics-table tbody td.stat-col-fastest,
.statistics-table thead th.stat-col-fastest {
    background: #6C63C7 !important;
    color: #FFFFFF !important;
}

.statistics-table tbody td.stat-col-leader,
.statistics-table thead th.stat-col-leader {
    background: #287DB4 !important;
    color: #FFFFFF !important;
}

.statistics-table tbody td.stat-col-dnf,
.statistics-table thead th.stat-col-dnf {
    background: #A94E9A !important;
    color: #FFFFFF !important;
}

.statistics-table tbody td.stat-col-activity,
.statistics-table thead th.stat-col-activity {
    background: #686D75 !important;
    color: #FFFFFF !important;
}

.statistics-table tbody td.stat-col-gp-season,
.statistics-table thead th.stat-col-gp-season {
    background: #4C535D !important;
    color: #FFFFFF !important;
}

.statistics-comparison-cell.is-negative {
    background: #D4682D !important;
    color: #FFFFFF !important;
}

.statistics-comparison-cell.is-positive {
    background: #4B963D !important;
    color: #FFFFFF !important;
}

.statistics-comparison-cell.is-tie {
    background: #B88D00 !important;
    color: #FFFFFF !important;
}

/* Los guiones también deben seguir siendo legibles sobre los fondos vivos. */
.statistics-table tbody td.stat-col-wins .statistics-zero,
.statistics-table tbody td.stat-col-podiums .statistics-zero,
.statistics-table tbody td.stat-col-poles .statistics-zero,
.statistics-table tbody td.stat-col-top-ten .statistics-zero,
.statistics-table tbody td.stat-col-fastest .statistics-zero,
.statistics-table tbody td.stat-col-leader .statistics-zero,
.statistics-table tbody td.stat-col-dnf .statistics-zero,
.statistics-table tbody td.stat-col-activity .statistics-zero,
.statistics-table tbody td.stat-col-gp-season .statistics-zero,
.statistics-comparison-cell .statistics-zero {
    color: rgba(255, 255, 255, 0.58);
}

/* Mantener la misma intensidad al pasar el cursor. */
.statistics-table tbody tr:hover td.stat-col-wins {
    background: #D4A300 !important;
}

.statistics-table tbody tr:hover td.stat-col-podiums {
    background: #D07827 !important;
}

.statistics-table tbody tr:hover td.stat-col-poles {
    background: #E0585E !important;
}

.statistics-table tbody tr:hover td.stat-col-top-ten {
    background: #32A860 !important;
}

.statistics-table tbody tr:hover td.stat-col-fastest {
    background: #756CD3 !important;
}

.statistics-table tbody tr:hover td.stat-col-leader {
    background: #2C88C3 !important;
}

.statistics-table tbody tr:hover td.stat-col-dnf {
    background: #B557A5 !important;
}

.statistics-table tbody tr:hover td.stat-col-activity {
    background: #747982 !important;
}

.statistics-table tbody tr:hover td.stat-col-gp-season {
    background: #575F69 !important;
}

.statistics-table tbody tr:hover
.statistics-comparison-cell.is-negative {
    background: #DF7136 !important;
}

.statistics-table tbody tr:hover
.statistics-comparison-cell.is-positive {
    background: #54A446 !important;
}

.statistics-table tbody tr:hover
.statistics-comparison-cell.is-tie {
    background: #C69A00 !important;
}


/* Estadísticas v36: oscurecer las celdas cuyo valor es cero */
.statistics-table tbody td.stat-col-points:has(.statistics-zero) {
    background: #101216 !important;
}

.statistics-table tbody td.stat-col-wins:has(.statistics-zero) {
    background: #5A4600 !important;
}

.statistics-table tbody td.stat-col-podiums:has(.statistics-zero) {
    background: #603914 !important;
}

.statistics-table tbody td.stat-col-poles:has(.statistics-zero) {
    background: #67272B !important;
}

.statistics-table tbody td.stat-col-top-ten:has(.statistics-zero) {
    background: #174E2C !important;
}

.statistics-table tbody td.stat-col-fastest:has(.statistics-zero) {
    background: #343064 !important;
}

.statistics-table tbody td.stat-col-leader:has(.statistics-zero) {
    background: #153F5C !important;
}

.statistics-table tbody td.stat-col-dnf:has(.statistics-zero) {
    background: #54274D !important;
}

.statistics-table tbody td.stat-col-activity:has(.statistics-zero) {
    background: #34383E !important;
}

.statistics-table tbody td.stat-col-gp-season:has(.statistics-zero) {
    background: #292D33 !important;
}

.statistics-table tbody
.statistics-comparison-cell:has(.statistics-zero) {
    background: #292D33 !important;
}

/* Mantener el oscurecimiento incluso al pasar el cursor. */
.statistics-table tbody tr:hover
td.stat-col-points:has(.statistics-zero) {
    background: #15181D !important;
}

.statistics-table tbody tr:hover
td.stat-col-wins:has(.statistics-zero) {
    background: #685100 !important;
}

.statistics-table tbody tr:hover
td.stat-col-podiums:has(.statistics-zero) {
    background: #704218 !important;
}

.statistics-table tbody tr:hover
td.stat-col-poles:has(.statistics-zero) {
    background: #783035 !important;
}

.statistics-table tbody tr:hover
td.stat-col-top-ten:has(.statistics-zero) {
    background: #1C5C34 !important;
}

.statistics-table tbody tr:hover
td.stat-col-fastest:has(.statistics-zero) {
    background: #3D3975 !important;
}

.statistics-table tbody tr:hover
td.stat-col-leader:has(.statistics-zero) {
    background: #194B6D !important;
}

.statistics-table tbody tr:hover
td.stat-col-dnf:has(.statistics-zero) {
    background: #642E5B !important;
}

.statistics-table tbody tr:hover
td.stat-col-activity:has(.statistics-zero) {
    background: #3D4249 !important;
}

.statistics-table tbody tr:hover
td.stat-col-gp-season:has(.statistics-zero),
.statistics-table tbody tr:hover
.statistics-comparison-cell:has(.statistics-zero) {
    background: #32363D !important;
}


/* Estadísticas v37: puntos centrados */
.statistics-table tbody td.stat-col-points {
    text-align: center;
}

.statistics-table.is-compact td {
    font-size: 0.85rem !important;
}

.statistics-table.is-compact thead th,
.statistics-table.is-compact .statistics-sort-button {
    font-size: 0.72rem !important;
}

.statistics-table.is-compact .statistics-driver-name strong {
    font-size: 0.78rem !important;
}

/* Columna de mejor posición */
.statistics-table.is-compact .statistics-best-cell {
    min-width: 72px;
    width: 72px;
    max-width: 72px;
    font-size: 1rem;
}

/* Etiqueta P1, P2, P3... */
.statistics-table.is-compact .statistics-best-position {
    min-width: 30px;
    min-height: 20px;
    font-size: 0.75rem;
}

.statistics-table.is-compact th,
.statistics-table.is-compact td {
    height: 26px !important;
    padding-top: 1px !important;
    padding-bottom: 1px !important;
}

/* Estrechar realmente las filas de los pilotos */
.statistics-table.is-compact tbody td {
    height: 26px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.statistics-table.is-compact tbody .statistics-driver {
    min-height: 26px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.statistics-table.is-compact
.statistics-driver-name strong {
    line-height: 1 !important;
}

/* Columnas pequeñas: V, POD, T10, VR, LÍD, DNF, ACT, GP, TEMP */
.statistics-table.is-compact .stat-width-compact {
    width: 50px !important;
    min-width: 50px !important;
    max-width: 50px !important;
}

/* Columnas medianas: PTS, Q, C, ΔQ, ΔC y categorías */
.statistics-table.is-compact .stat-width-medium {
    width: 60px !important;
    min-width: 60px !important;
    max-width: 60px !important;
}

/* Columnas de títulos y victorias especiales */
.statistics-table.is-compact .stat-width-achievement {
    width: 100px !important;
    min-width: 100px !important;
    max-width: 100px !important;
}

/* Columna de mejor posición */
.statistics-table.is-compact .stat-width-wide,
.statistics-table.is-compact .statistics-best-cell {
    width: 100px !important;
    min-width: 100px !important;
    max-width: 100px !important;
}

/* Columna de años */
.statistics-table.is-compact .stat-width-career,
.statistics-table.is-compact .statistics-career-cell {
    width: 100px !important;
    min-width: 100px !important;
    max-width: 100px !important;
}

/* Ritmo de clasificación y ritmo de carrera */
.statistics-table.is-compact th:nth-child(16),
.statistics-table.is-compact td:nth-child(16),
.statistics-table.is-compact th:nth-child(17),
.statistics-table.is-compact td:nth-child(17) {
    width: 80px !important;
    min-width: 80px !important;
    max-width: 80px !important;
    padding-left: 2px !important;
    padding-right: 2px !important;
}

/* Anchura de la columna de puntos totales */
.statistics-table.is-compact th.stat-col-points,
.statistics-table.is-compact td.stat-col-points {
    box-sizing: border-box;
    width: 50px !important;
    min-width: 50px !important;
    max-width: 50px !important;
    padding-left: 2px !important;
    padding-right: 2px !important;
    text-align: center !important;
}

.statistics-table.is-compact
th.stat-col-points
.statistics-sort-button {
    position: relative;
    justify-content: center !important;
    padding: 0 !important;
}

.statistics-table.is-compact
th.stat-col-points
.statistics-sort-button::after {
    position: absolute;
    right: 2px;
}

/* Columna de posición */
.statistics-table.is-compact .statistics-position-column {
    box-sizing: border-box;
    width: 26px !important;
    min-width: 26px !important;
    max-width: 26px !important;
    padding-left: 2px !important;
    padding-right: 2px !important;
    text-align: center !important;
}

/* El piloto debe comenzar justo después de la posición */
.statistics-table.is-compact .statistics-driver-column {
    left: 26px !important;
}

/* Mantener centrada la columna de puntos */
.statistics-table.is-compact th.stat-col-points,
.statistics-table.is-compact td.stat-col-points {
    text-align: center !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Evitar que la flecha desplace el encabezado PTS */
.statistics-table.is-compact
th.stat-col-points
.statistics-sort-button {
    position: relative;
    justify-content: center !important;
}

.statistics-table.is-compact
th.stat-col-points
.statistics-sort-button::after {
    position: absolute;
    right: 3px;
}

.statistics-table.is-compact {
    width: max-content !important;
    min-width: 0 !important;
}

.statistics-table.is-compact
.statistics-driver-name strong {
    overflow: visible !important;
    text-overflow: clip !important;
}


/* Estadísticas v38: ascensos y descensos */
.stat-width-transition {
    width: 92px;
    min-width: 92px;
    max-width: 92px;
}

.statistics-table tbody td.stat-col-promotion,
.statistics-table thead th.stat-col-promotion {
    background: #5652C8 !important;
    color: #FFFFFF !important;
}

.statistics-table tbody td.stat-col-demotion,
.statistics-table thead th.stat-col-demotion {
    background: #9E3F78 !important;
    color: #FFFFFF !important;
}

.statistics-transition-cell {
    min-width: 92px;
    max-width: 92px;
    font-variant-numeric: tabular-nums;
}

.statistics-transition-cell > strong {
    display: inline;
    font-weight: 700;
}

.statistics-transition-years {
    display: inline-flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 2px;
    margin-left: 3px;
    vertical-align: middle;
}

.statistics-transition-years span {
    min-height: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 4px;
    border: 1px solid rgba(255, 255, 255, 0.42);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    color: #FFFFFF;
    font-size: 0.75rem;
    font-weight: 600;
}

.statistics-table tbody td.stat-col-promotion:has(.statistics-zero) {
    background: #29275E !important;
}

.statistics-table tbody td.stat-col-demotion:has(.statistics-zero) {
    background: #4C213B !important;
}

.statistics-table tbody td.stat-col-promotion .statistics-zero,
.statistics-table tbody td.stat-col-demotion .statistics-zero {
    color: rgba(255, 255, 255, 0.48);
}

.statistics-table tbody tr:hover td.stat-col-promotion {
    background: #625ED4 !important;
}

.statistics-table tbody tr:hover td.stat-col-demotion {
    background: #AE4A86 !important;
}

.statistics-table tbody tr:hover
td.stat-col-promotion:has(.statistics-zero) {
    background: #343171 !important;
}

.statistics-table tbody tr:hover
td.stat-col-demotion:has(.statistics-zero) {
    background: #5B2947 !important;
}


/* Estadísticas v39: campeones de F1 o MotoGP */
.statistics-table.is-compact
.statistics-driver-name strong.is-premier-champion {
    color: #E3BD48 !important;
}

/* Estadísticas v40: selector Pilotos/Equipos */
.statistics-view-switch-panel {
    display: flex;
    justify-content: center;
    margin-top: 24px;
}

.statistics-view-switch {
    display: inline-flex;
    gap: 3px;
    padding: 4px;
    border: 1px solid #3B3E44;
    border-radius: 12px;
    background: #222428;
}

.statistics-view-switch button {
    min-width: 112px;
    min-height: 36px;
    padding: 0 18px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #AEB2B8;
    font-family: "Inter", sans-serif;
    font-size: 0.72rem;
    font-weight: 700;
    cursor: pointer;
}

.statistics-view-switch button:hover {
    color: #FFFFFF;
    background: #2C2F34;
}

.statistics-view-switch button.is-active {
    background: var(--accent);
    color: #171717;
}

.statistics-view-switch-panel
+ .statistics-filter-panel {
    margin-top: 12px;
}

/* Columna fija de equipos */
.statistics-team {
    position: relative;
    min-height: 26px;
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr) auto 3px;
    align-items: center;
    gap: 6px;
    padding: 0 0 0 8px;
    text-align: left;
}

.statistics-team-logo,
.statistics-team-logo-placeholder {
    width: 22px;
    height: 22px;
    display: block;
    object-fit: contain;
    object-position: center;
}

.statistics-team-logo-placeholder {
    border-radius: 50%;
    background: #34373D;
}

.statistics-team-name {
    min-width: 0;
}

.statistics-team-name strong {
    display: block;
    overflow: visible;
    color: #F5F5F6;
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1;
    text-overflow: clip;
    white-space: nowrap;
}

.statistics-team-name small {
    display: block;
    margin-top: 1px;
    overflow: hidden;
    color: #858A92;
    font-size: 0.55rem;
    font-weight: 500;
    line-height: 1;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.statistics-team.is-retired
.statistics-team-name strong {
    color: #777B82;
}

.statistics-team-name
strong.is-premier-champion {
    color: #E3BD48 !important;
}

.statistics-table.is-compact
tbody .statistics-team {
    min-height: 26px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.statistics-table.is-team-table
.statistics-driver-column {
    width: 240px;
    min-width: 240px;
    max-width: 240px;
}

@media (max-width: 720px) {
    .statistics-view-switch {
        width: 100%;
    }

    .statistics-view-switch button {
        min-width: 0;
        flex: 1 1 50%;
    }
}

.statistics-filter-form.is-team-view {
    grid-template-columns:
        minmax(92px, 0.55fr)
        minmax(92px, 0.55fr)
        minmax(130px, 0.8fr)
        minmax(105px, 0.65fr)
        minmax(210px, 1.25fr)
        auto;
}

@media (max-width: 1180px) {
    .statistics-filter-form.is-team-view {
        grid-template-columns: repeat(
            3,
            minmax(0, 1fr)
        );
    }
}

@media (max-width: 720px) {
    .statistics-filter-form.is-team-view {
        grid-template-columns: 1fr;
    }
}


/* Estadísticas v41: Total / Motos / Coches */
.statistics-discipline-switch-panel {
    margin-top: 8px;
}

.statistics-discipline-switch button {
    min-width: 96px;
}

.statistics-discipline-switch-panel
+ .statistics-filter-panel {
    margin-top: 12px;
}

@media (max-width: 720px) {
    .statistics-discipline-switch button {
        min-width: 0;
        flex: 1 1 33.333%;
    }
}


/* Estadísticas v42: celdas vacías y escala de intensidad */
.statistics-table tbody td.is-stat-empty,
.statistics-table tbody td:has(.statistics-zero) {
    background: #222428 !important;
    color: transparent !important;
}

.statistics-table tbody td.is-stat-empty *,
.statistics-table tbody td:has(.statistics-zero) * {
    visibility: hidden !important;
}

.statistics-table tbody tr:hover
td.is-stat-empty,
.statistics-table tbody tr:hover
td:has(.statistics-zero) {
    background: #222428 !important;
}

/*
 * Cada celda numérica mezcla su color de columna con el fondo
 * de la tabla. El porcentaje lo calcula statistics.html
 * comparando el valor con el máximo de esa misma columna.
 */
.statistics-table tbody td.is-stat-scaled {
    background:
        color-mix(
            in srgb,
            var(--stat-scale-color)
            var(--stat-scale-strength),
            #222428
        ) !important;
    color: #FFFFFF !important;
    transition:
        background 140ms ease;
}

.statistics-table tbody tr:hover
td.is-stat-scaled {
    background:
        color-mix(
            in srgb,
            var(--stat-scale-color)
            var(--stat-scale-strength),
            #2A2D32
        ) !important;
}

/* Los valores de máximo reciben una presencia ligeramente mayor. */
.statistics-table tbody td.is-stat-scaled[
    style*="--stat-scale-strength: 100%"
] {
    font-weight: 700;
}


/* Estadísticas v43: escala selectiva, ceros vacíos y datos sin negrita */

/* PTS vuelve a su color fijo, sin escala dinámica. */
.statistics-table tbody td.stat-col-points {
    background: #191B1F !important;
    color: #FFFFFF !important;
    font-weight: 400 !important;
}

/*
 * Títulos de pilotos/equipos, mejor posición y carreras especiales
 * mantienen su diseño propio y no participan en la escala.
 */
.statistics-table tbody td.statistics-achievement-cell,
.statistics-table tbody td.statistics-best-cell,
.statistics-table tbody td.statistics-special-cell {
    font-weight: 400 !important;
}

.statistics-table tbody td.statistics-achievement-cell > strong,
.statistics-table tbody td.statistics-special-cell > strong,
.statistics-table tbody td.statistics-transition-cell > strong {
    font-weight: 400 !important;
}

/* Ningún dato numérico de la tabla recibe negrita automática. */
.statistics-table tbody td.is-stat-scaled {
    font-weight: 400 !important;
}

.statistics-table tbody td.is-stat-scaled[
    style*="--stat-scale-strength: 100%"
] {
    font-weight: 400 !important;
}

/*
 * Un valor 0 o una estadística vacía no conserva ningún tono
 * corporativo: queda completamente vacío sobre el fondo de tabla.
 */
.statistics-table tbody td.is-stat-empty,
.statistics-table tbody td:has(.statistics-zero),
.statistics-table tbody td.is-stat-empty.stat-col-points,
.statistics-table tbody td.is-stat-empty.stat-col-wins,
.statistics-table tbody td.is-stat-empty.stat-col-podiums,
.statistics-table tbody td.is-stat-empty.stat-col-poles,
.statistics-table tbody td.is-stat-empty.stat-col-top-ten,
.statistics-table tbody td.is-stat-empty.stat-col-fastest,
.statistics-table tbody td.is-stat-empty.stat-col-leader,
.statistics-table tbody td.is-stat-empty.stat-col-dnf,
.statistics-table tbody td.is-stat-empty.stat-col-activity,
.statistics-table tbody td.is-stat-empty.stat-col-gp-season,
.statistics-table tbody td.is-stat-empty.stat-col-promotion,
.statistics-table tbody td.is-stat-empty.stat-col-demotion,
.statistics-table tbody td.is-stat-empty.stat-col-motogp,
.statistics-table tbody td.is-stat-empty.stat-col-moto2,
.statistics-table tbody td.is-stat-empty.stat-col-sbk,
.statistics-table tbody td.is-stat-empty.stat-col-rookies {
    background: #222428 !important;
    color: transparent !important;
    box-shadow: none !important;
}

.statistics-table tbody tr:hover td.is-stat-empty,
.statistics-table tbody tr:hover td:has(.statistics-zero) {
    background: #222428 !important;
}

/* PTS vacío debe prevalecer sobre el color fijo de la columna. */
.statistics-table tbody td.stat-col-points.is-stat-empty,
.statistics-table tbody td.stat-col-points:has(.statistics-zero) {
    background: #222428 !important;
    color: transparent !important;
}


/* Estadísticas v46: ajustar la etiqueta de mejor posición */
.statistics-table.is-compact
.statistics-best-cell {
    overflow: visible !important;
}

.statistics-table.is-compact
.statistics-best-position {
    width: max-content !important;
    min-width: 0 !important;
    min-height: 20px !important;
    padding: 2px 7px !important;
    box-sizing: border-box !important;
    line-height: 1.05 !important;
    white-space: nowrap !important;
    font-weight: 400 !important;
    vertical-align: middle !important;
}


/* =========================================================
   ICONOS DE LOGROS SVG — DORADO MINIMALISTA
   ========================================================= */

.achievement-svg-defs {
    width: 0;
    height: 0;
    position: absolute;
    overflow: hidden;
    pointer-events: none;
}

.achievement-icon-svg {
    width: 1em;
    height: 1em;
    display: block;
    flex: 0 0 auto;
    overflow: visible;
    filter:
        drop-shadow(
            0 0 2px
            rgba(245, 202, 74, 0.40)
        )
        drop-shadow(
            0 1px 1px
            rgba(0, 0, 0, 0.48)
        );
}

/* Cabeceras de las tablas históricas */
.statistics-sort-button
.achievement-icon-svg.is-header-icon {
    width: 13px;
    height: 13px;
}

/* Logros situados junto al nombre en Estadísticas */
.statistics-achievement-icon
.achievement-icon-svg {
    width: 11px;
    height: 11px;
}

.statistics-achievement-icon.is-team-title
.achievement-icon-svg {
    width: 11px;
    height: 11px;
}

.statistics-achievement-icon.is-special-win
.achievement-icon-svg {
    width: 11px;
    height: 11px;
}

/* Estrellas de títulos en las fichas de Pilotos */
.driver-title-stars {
    gap: 2px !important;
    text-shadow: none !important;
}

.driver-title-stars
.achievement-icon-svg {
    width: 11px;
    height: 11px;
}

/* Trofeos de títulos en las fichas de Equipos */
.team-showcase-name-line {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.team-showcase-name-line h3 {
    min-width: 0;
}

.team-title-trophies {
    max-width: 112px;
    display: inline-flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    align-items: center;
    gap: 2px;
}

.team-title-trophies
.achievement-icon-svg {
    width: 13px;
    height: 13px;
}

@media (max-width: 720px) {
    .team-showcase-name-line {
        width: 100%;
    }
}


/* =========================================================
   OLIMPO DEL MUNDIALSIM — DISEÑO LIMPIO
   ========================================================= */

.statistics-olympus {
    margin: 44px 0 34px;
    padding: 0 5px 34px;
    border-bottom: 1px solid #35383E;
}

.olympus-heading h2 {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 12px;
    margin: 0;
    color: #D8DADE;
    font-family:
        "Barlow Semi Condensed",
        "Arial Narrow",
        sans-serif;
    font-size: clamp(1.75rem, 3.3vw, 2.8rem);
    font-weight: 500;
    letter-spacing: 0.13em;
    line-height: 1;
    text-transform: uppercase;
}

.olympus-heading h2 strong {
    color: #FFFFFF;
    font-weight: 800;
}

.olympus-heading h2 > span {
    color: #777C84;
    font-weight: 400;
}

.olympus-heading h2 em {
    font-style: normal;
    font-weight: 500;
}

.olympus-tabs {
    display: flex;
    align-items: center;
    gap: 26px;
    margin-top: 25px;
    border-bottom: 1px solid #33363C;
}

.olympus-tab {
    min-height: 41px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    position: relative;
    padding: 0 0 11px;
    border: 0;
    background: transparent;
    color: #7F848C;
    font: inherit;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.075em;
    text-transform: uppercase;
    cursor: pointer;
}

.olympus-tab::after {
    content: "";
    height: 2px;
    position: absolute;
    right: 0;
    bottom: -1px;
    left: 0;
    background: transparent;
}

.olympus-tab:hover {
    color: #D8DBE0;
}

.olympus-tab.is-active {
    color: #F0D16A;
}

.olympus-tab.is-active::after {
    background: #D8B54E;
}

.olympus-tab .achievement-icon-svg {
    width: 13px;
    height: 13px;
}

.olympus-panels {
    margin-top: 27px;
}

.olympus-panel[hidden] {
    display: none !important;
}

.olympus-columns {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(22px, 4vw, 58px);
}

.olympus-column {
    min-width: 0;
}

.olympus-column h3 {
    margin: 0 0 13px;
    color: var(--olympus-heading-color);
    font-family:
        "Barlow Semi Condensed",
        "Arial Narrow",
        sans-serif;
    font-size: 0.9rem;
    font-weight: 700;
    letter-spacing: 0.055em;
    line-height: 1.1;
    text-transform: uppercase;
}

.olympus-list {
    display: grid;
}

.olympus-list-row {
    min-height: 27px;
    display: grid;
    grid-template-columns: 51px minmax(0, 1fr);
    align-items: center;
    gap: 8px;
}

.olympus-list-row.is-empty {
    visibility: hidden;
}

.olympus-list-row.is-era-break {
    min-height: 45px;
    align-items: end;
    margin-top: 6px;
    padding-bottom: 1px;
    border-top: 1px solid #393C42;
}

.olympus-list-row time {
    color: var(--olympus-year-color);
    font-family:
        "Barlow Semi Condensed",
        "Arial Narrow",
        sans-serif;
    font-size: 0.8rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.035em;
}

.olympus-list-row strong {
    min-width: 0;
    overflow: hidden;
    color: #D7D9DD;
    font-family:
        "Barlow Semi Condensed",
        "Arial Narrow",
        sans-serif;
    font-size: 0.79rem;
    font-weight: 650;
    letter-spacing: 0.055em;
    line-height: 1.12;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.olympus-column-empty,
.olympus-panel-empty {
    margin: 0;
    color: #60656D;
    font-family:
        "Barlow Semi Condensed",
        "Arial Narrow",
        sans-serif;
    font-size: 0.73rem;
    font-weight: 600;
    letter-spacing: 0.07em;
    line-height: 1.5;
    text-transform: uppercase;
}

.olympus-column-empty {
    padding-top: 4px;
}

.olympus-panel-empty {
    min-height: 90px;
    display: grid;
    place-items: center;
    text-align: center;
}

@media (max-width: 980px) {
    .olympus-columns {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
        row-gap: 34px;
    }
}

@media (max-width: 640px) {
    .statistics-olympus {
        margin-top: 32px;
        padding-right: 0;
        padding-left: 0;
    }

    .olympus-heading h2 {
        gap: 7px;
        letter-spacing: 0.08em;
    }

    .olympus-tabs {
        align-items: stretch;
        flex-direction: column;
        gap: 0;
        border-bottom: 0;
    }

    .olympus-tab {
        min-height: 37px;
        justify-content: flex-start;
        padding: 0;
        border-bottom: 1px solid #33363C;
    }

    .olympus-tab::after {
        width: 3px;
        height: auto;
        top: 8px;
        right: auto;
        bottom: 8px;
        left: -8px;
    }

    .olympus-columns {
        grid-template-columns: 1fr;
    }
}


/* Olimpo v51: tipografía y espaciado refinados */
.olympus-column h3 {
    color: #FFFFFF !important;
    margin-bottom: 16px !important;
    font-size: 0.98rem !important;
    font-weight: 650 !important;
    letter-spacing: 0.065em !important;
}

.olympus-list-row {
    min-height: 32px !important;
    gap: 10px !important;
}

.olympus-list-row.is-era-break {
    min-height: 32px !important;
    margin-top: 0 !important;
    padding-bottom: 0 !important;
    border-top: 0 !important;
}

.olympus-list-row time {
    font-size: 0.86rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.045em !important;
    line-height: 1.25 !important;
}

.olympus-list-row strong {
    font-size: 0.85rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.065em !important;
    line-height: 1.28 !important;
}


/* Olimpo v52: logros acumulativos junto a cada registro */
.olympus-name-line {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 6px;
}

.olympus-name-line > strong {
    min-width: 0;
    flex: 0 1 auto;
}

.olympus-achievement-icons {
    display: inline-flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    align-items: center;
    gap: 1px;
}

.olympus-achievement-icons
.achievement-icon-svg {
    width: 9px;
    height: 9px;
}


/* Olimpo v53: ramas históricas temporales completas */
.olympus-columns.is-three-columns {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 980px) {
    .olympus-columns.is-three-columns {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .olympus-columns.is-three-columns {
        grid-template-columns: 1fr;
    }
}


/* Olimpo v54: logos históricos y grafía corporativa */
.olympus-name-line.is-team-name > strong {
    text-transform: none !important;
}

.olympus-team-logo {
    width: 18px;
    height: 18px;
    display: block;
    flex: 0 0 auto;
    object-fit: contain;
    object-position: center;
    border: 0;
    background: transparent;
}


/* Macrotabla: sin límite vertical ni desplazamiento interno */
.statistics-table-scroll {
    max-height: none !important;
    height: auto !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
}

.statistics-table-section {
    overflow: visible !important;
}

/*
 * La cabecera permanece dentro del flujo normal de la tabla.
 * El desplazamiento vertical corresponde a la página completa.
 */
.statistics-table-scroll thead {
    position: static !important;
}

/* =========================================================
   PORTADA — PRESENTACIÓN E INSCRIPCIONES
   ========================================================= */

.home-introduction {
    min-height: 430px;
    display: flex;
    align-items: center;
    overflow: hidden;
    position: relative;
    padding: 54px 58px;
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 24px;
    background:
        radial-gradient(
            circle at 88% 12%,
            rgba(242, 161, 0, 0.19),
            transparent 29%
        ),
        linear-gradient(
            118deg,
            #24262B 0%,
            #1D1F23 64%,
            #25272B 100%
        );
    box-shadow: var(--shadow);
}

.home-introduction::after {
    content: "";
    width: 310px;
    height: 10px;
    position: absolute;
    right: 58px;
    bottom: 48px;
    background: var(--accent);
    opacity: 0.85;
    transform: skewX(-31deg);
}

.home-introduction-content {
    max-width: 780px;
    position: relative;
    z-index: 2;
}

.home-introduction-kicker {
    display: block;
    margin-bottom: 10px;
    color: var(--accent);
    font-size: 0.73rem;
    font-weight: 800;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.home-introduction h1 {
    max-width: 730px;
    margin: 0;
    color: #FFFFFF;
    font-family:
        "Barlow Semi Condensed",
        "Arial Narrow",
        sans-serif;
    font-size: clamp(3rem, 7vw, 5.6rem);
    font-weight: 700;
    letter-spacing: -0.035em;
    line-height: 0.92;
}

.home-introduction p {
    max-width: 720px;
    margin: 15px 0 0;
    color: #C7CAD0;
    font-size: 0.96rem;
    line-height: 1.65;
}

.home-introduction-lead {
    margin-top: 25px !important;
    color: #F0F1F3 !important;
    font-size: 1.05rem !important;
    font-weight: 550;
}

.home-twitter-link {
    color: #F2B52C;
    font-weight: 750;
    text-decoration: none;
}

.home-twitter-link:hover {
    text-decoration: underline;
}

.home-season-status {
    width: fit-content;
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 25px;
    padding: 8px 12px;
    border: 1px solid #464A51;
    border-radius: 999px;
    background: rgba(18, 20, 23, 0.56);
    color: #D9DBDF;
    font-size: 0.74rem;
    font-weight: 700;
}

.join-open-button {
    min-height: 47px;
    margin-top: 24px;
    padding: 0 21px;
    border: 1px solid var(--accent);
    border-radius: 10px;
    background: var(--accent);
    color: #1C1C1C;
    font: inherit;
    font-size: 0.87rem;
    font-weight: 850;
    cursor: pointer;
    transition:
        background 150ms ease,
        color 150ms ease,
        transform 150ms ease;
}

.join-open-button:hover {
    background: var(--accent-dark);
    color: #FFFFFF;
    transform: translateY(-1px);
}

.home-introduction-logo {
    width: clamp(190px, 23vw, 330px);
    max-height: 68%;
    position: absolute;
    top: 50%;
    right: clamp(38px, 6vw, 92px);
    z-index: 1;
    object-fit: contain;
    opacity: 0.28;
    transform: translateY(-50%);
    filter: grayscale(1) brightness(1.75);
    pointer-events: none;
}

.home-donation-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-top: 18px;
    padding: 26px 32px;
    border: 1px solid rgba(242, 161, 0, 0.28);
    border-radius: 18px;
    background: linear-gradient(
        118deg,
        rgba(242, 161, 0, 0.08) 0%,
        #1D1F23 55%
    );
    box-shadow: var(--shadow);
}

.home-donation-banner-content {
    max-width: 620px;
}

.home-donation-banner-kicker {
    display: block;
    margin-bottom: 6px;
    color: var(--accent);
    font-size: 0.73rem;
    font-weight: 800;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.home-donation-banner-content h2 {
    margin: 0;
    color: #FFFFFF;
    font-family: "Barlow Semi Condensed", "Arial Narrow", sans-serif;
    font-size: clamp(1.35rem, 2.6vw, 1.7rem);
    font-weight: 700;
    letter-spacing: -0.01em;
}

.home-donation-banner-content p {
    margin: 8px 0 0;
    color: #C7CAD0;
    font-size: 0.88rem;
    line-height: 1.55;
}

.home-donation-banner-button {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    min-height: 47px;
    padding: 0 22px;
    border: 1px solid var(--accent);
    border-radius: 10px;
    background: var(--accent);
    color: #1C1C1C;
    font-size: 0.87rem;
    font-weight: 850;
    text-decoration: none;
    white-space: nowrap;
    transition: background 150ms ease, color 150ms ease, transform 150ms ease;
}

.home-donation-banner-button:hover {
    background: var(--accent-dark);
    color: #FFFFFF;
    transform: translateY(-1px);
}

@media (max-width: 720px) {
    .home-donation-banner {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
        padding: 22px 20px;
        border-radius: 15px;
    }

    .home-donation-banner-button {
        width: 100%;
        justify-content: center;
    }
}

.join-application-panel {
    scroll-margin-top: 92px;
    margin-top: 18px;
    padding: 28px;
    border: 1px solid #41454C;
    border-radius: 18px;
    background: #222428;
    box-shadow: var(--shadow);
}

.join-application-panel[hidden] {
    display: none !important;
}

.join-application-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 28px;
    padding-bottom: 20px;
    border-bottom: 1px solid #3A3E44;
}

.join-application-heading span {
    display: block;
    margin-bottom: 5px;
    color: var(--accent);
    font-size: 0.67rem;
    font-weight: 800;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.join-application-heading h2 {
    margin: 0;
    color: #FFFFFF;
    font-family:
        "Barlow Semi Condensed",
        "Arial Narrow",
        sans-serif;
    font-size: 2.15rem;
    font-weight: 700;
    letter-spacing: -0.025em;
}

.join-application-heading p {
    max-width: 470px;
    margin: 0;
    color: #92979F;
    font-size: 0.76rem;
    line-height: 1.5;
    text-align: right;
}

.join-success-message,
.join-error-summary {
    margin-top: 18px;
    padding: 12px 14px;
    border-radius: 9px;
    font-size: 0.78rem;
    line-height: 1.5;
}

.join-success-message {
    border: 1px solid rgba(70, 170, 102, 0.48);
    background: rgba(70, 170, 102, 0.11);
    color: #BEE7C9;
}

.join-error-summary {
    border: 1px solid rgba(217, 79, 85, 0.48);
    background: rgba(217, 79, 85, 0.10);
    color: #F0B7BA;
}

.join-error-summary p {
    margin: 0;
}

.join-application-form {
    display: grid;
    gap: 18px;
    margin-top: 22px;
}

.join-honeypot {
    width: 1px;
    height: 1px;
    overflow: hidden;
    position: absolute;
    left: -10000px;
}

.join-type-selector {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 0;
    padding: 0;
    border: 0;
}

.join-type-selector legend {
    grid-column: 1 / -1;
    margin-bottom: 2px;
    color: #AEB2B8;
    font-size: 0.7rem;
    font-weight: 750;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.join-type-selector > label {
    min-width: 0;
    display: block;
    position: relative;
    cursor: pointer;
}

.join-type-selector input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.join-type-selector label > span {
    min-height: 72px;
    display: grid;
    align-content: center;
    padding: 13px 15px;
    border: 1px solid #44484F;
    border-radius: 11px;
    background: #1B1D21;
    transition:
        border-color 150ms ease,
        background 150ms ease;
}

.join-type-selector input:checked + span {
    border-color: var(--accent);
    background: rgba(242, 161, 0, 0.09);
}

.join-type-selector strong {
    color: #FFFFFF;
    font-size: 0.86rem;
}

.join-type-selector small {
    display: block;
    margin-top: 4px;
    color: #858A92;
    font-size: 0.69rem;
    line-height: 1.35;
}

.join-fields-group {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.join-fields-group.is-team-fields {
    grid-template-columns: minmax(0, 1fr);
}

.join-fields-group[hidden] {
    display: none !important;
}

.join-application-form label,
.join-common-fields label {
    min-width: 0;
    display: grid;
    gap: 7px;
}

.join-application-form label > span,
.join-common-fields label > span {
    color: #B8BCC3;
    font-size: 0.69rem;
    font-weight: 750;
    letter-spacing: 0.055em;
    text-transform: uppercase;
}

.join-application-form input[type="text"],
.join-application-form select {
    width: 100%;
    min-height: 43px;
    padding: 0 12px;
    border: 1px solid #464A51;
    border-radius: 8px;
    outline: none;
    background: #17191D;
    color: #FFFFFF;
    font: inherit;
    font-size: 0.82rem;
}

.join-application-form input[type="text"]:focus,
.join-application-form select:focus {
    border-color: var(--accent);
    box-shadow: 0 0 0 3px rgba(242, 161, 0, 0.11);
}

.join-common-fields label > small:not(.join-field-error) {
    color: #767B83;
    font-size: 0.66rem;
    line-height: 1.4;
}

.join-field-error {
    color: #F08B90 !important;
    font-size: 0.68rem !important;
    line-height: 1.35;
}

.join-form-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding-top: 18px;
    border-top: 1px solid #3A3E44;
}

.join-form-footer p {
    max-width: 670px;
    margin: 0;
    color: #7E838B;
    font-size: 0.68rem;
    line-height: 1.5;
}

.join-form-footer button {
    min-width: 166px;
    min-height: 43px;
    padding: 0 17px;
    border: 0;
    border-radius: 8px;
    background: var(--accent);
    color: #1C1C1C;
    font: inherit;
    font-size: 0.8rem;
    font-weight: 850;
    cursor: pointer;
}

.join-form-footer button:hover {
    background: var(--accent-dark);
    color: #FFFFFF;
}

@media (max-width: 980px) {
    .home-introduction {
        padding: 46px 38px;
    }

    .home-introduction-content {
        max-width: 690px;
    }

    .home-introduction-logo {
        right: 22px;
        opacity: 0.13;
    }
}

@media (max-width: 720px) {
    .home-introduction {
        min-height: auto;
        padding: 38px 24px;
        border-radius: 17px;
    }

    .home-introduction::after,
    .home-introduction-logo {
        display: none;
    }

    .join-application-panel {
        padding: 20px 16px;
    }

    .join-application-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 10px;
    }

    .join-application-heading p {
        text-align: left;
    }

    .join-type-selector,
    .join-fields-group {
        grid-template-columns: 1fr;
    }

    .join-form-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .join-form-footer button {
        width: 100%;
    }
}



/* =========================================================
   ENTRADA DE SESIÓN EN INICIO
   ========================================================= */

html.has-home-session-entry {
    --home-entry-progress: 0;
}

.home-session-entry {
    width: 100vw;
    min-height: calc(100svh - 70px);
    display: grid;
    position: relative;
    left: 50%;
    margin-top: -24px;
    margin-left: -50vw;
    place-items: center;
    overflow: hidden;
    background:
        radial-gradient(
            circle at 50% 42%,
            rgba(242, 161, 0, 0.09),
            transparent 34%
        ),
        #17191D;
}

.home-session-entry[hidden] {
    display: none !important;
}

.home-session-entry::after {
    content: "";
    width: min(440px, 58vw);
    height: 1px;
    position: absolute;
    right: 50%;
    bottom: 11vh;
    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(242, 161, 0, 0.72),
            transparent
        );
    transform: translateX(50%);
}

.home-session-entry-inner {
    display: grid;
    justify-items: center;
    gap: 24px;
    will-change: opacity, transform;
}

.home-session-entry-inner img {
    width: clamp(105px, 13vw, 175px);
    max-height: 150px;
    object-fit: contain;
    filter: drop-shadow(0 12px 30px rgba(0, 0, 0, 0.36));
}

.home-session-entry-inner h1 {
    margin: 0;
    color: #FFFFFF;
    font-family: "Barlow Semi Condensed", "Arial Narrow", sans-serif;
    font-size: clamp(4.5rem, 13vw, 10rem);
    font-weight: 700;
    letter-spacing: 0.16em;
    line-height: 0.84;
    text-indent: 0.16em;
}

html.has-home-session-entry .site-header {
    opacity: var(--home-entry-progress);
    transform:
        translateY(
            calc(
                -10px
                + (10px * var(--home-entry-progress))
            )
        );
}

html.has-home-session-entry
.home-session-entry
+ script
+ .home-introduction {
    opacity: var(--home-entry-progress);
    transform:
        translateY(
            calc(
                28px
                - (28px * var(--home-entry-progress))
            )
        );
}


/* =========================================================
   REGLAMENTO DEPORTIVO
   ========================================================= */

.home-regulations {
    margin-top: 18px;
}

.regulations-main,
.regulations-group {
    border: 1px solid #3B3E44;
    background: #222428;
}

.regulations-main {
    overflow: hidden;
    border-radius: 18px;
    box-shadow: 0 14px 35px rgba(0, 0, 0, 0.18);
}

.regulations-main > summary,
.regulations-group > summary {
    list-style: none;
    cursor: pointer;
}

.regulations-main > summary::-webkit-details-marker,
.regulations-group > summary::-webkit-details-marker {
    display: none;
}

.regulations-main > summary {
    min-height: 112px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    padding: 24px 28px;
    background:
        linear-gradient(
            110deg,
            rgba(242, 161, 0, 0.11),
            rgba(34, 36, 40, 0) 58%
        );
}

.regulations-summary-copy {
    min-width: 0;
    display: grid;
}

.regulations-summary-copy small {
    margin-bottom: 5px;
    color: var(--accent);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.regulations-summary-copy strong {
    color: #FFFFFF;
    font-family: "Barlow Semi Condensed", "Arial Narrow", sans-serif;
    font-size: clamp(1.65rem, 3vw, 2.35rem);
    font-weight: 700;
    letter-spacing: -0.025em;
    line-height: 1;
}

.regulations-summary-copy > span {
    max-width: 760px;
    margin-top: 9px;
    color: #A8ADB5;
    font-size: 0.82rem;
    line-height: 1.5;
}

.regulations-summary-icon {
    width: 38px;
    height: 38px;
    display: grid;
    flex: 0 0 auto;
    position: relative;
    place-items: center;
    border: 1px solid #50545B;
    border-radius: 50%;
    background: #191B1F;
}

.regulations-summary-icon::before,
.regulations-summary-icon::after {
    content: "";
    width: 13px;
    height: 2px;
    position: absolute;
    border-radius: 2px;
    background: var(--accent);
    transition: transform 180ms ease;
}

.regulations-summary-icon::after {
    transform: rotate(90deg);
}

.regulations-main[open]
.regulations-summary-icon::after {
    transform: rotate(0);
}

.regulations-content {
    padding: 0 28px 28px;
    border-top: 1px solid #3B3E44;
}

.regulations-introduction {
    max-width: 930px;
    margin: 24px 0;
    color: #C4C8CE;
    font-size: 0.9rem;
    line-height: 1.65;
}

.regulations-groups {
    display: grid;
    gap: 9px;
}

.regulations-group {
    overflow: hidden;
    border-radius: 11px;
    background: #1B1D21;
}

.regulations-group > summary {
    min-height: 52px;
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    align-items: center;
    gap: 11px;
    padding: 9px 14px;
    color: #E5E7EA;
}

.regulations-group > summary > span {
    color: var(--accent);
    font-size: 0.69rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.06em;
}

.regulations-group > summary > strong {
    font-size: 0.86rem;
    font-weight: 700;
}

.regulations-group[open] > summary {
    border-bottom: 1px solid #373A40;
    background: #202328;
}

.regulations-group > div {
    padding: 18px 20px 20px 59px;
    color: #B8BDC4;
    font-size: 0.82rem;
    line-height: 1.65;
}

.regulations-group p {
    margin: 0;
}

.regulations-group p + p,
.regulations-group ul + p {
    margin-top: 13px;
}

.regulations-group ul {
    display: grid;
    gap: 7px;
    margin: 0;
    padding-left: 19px;
}

.regulations-group strong {
    color: #F1F2F4;
}

.regulations-points-grid,
.regulations-tier-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.regulations-points-grid article,
.regulations-tier-grid article {
    padding: 15px;
    border: 1px solid #3A3D43;
    border-radius: 10px;
    background: #17191D;
}

.regulations-points-grid h4,
.regulations-tier-grid h4 {
    margin: 0 0 10px;
    color: #FFFFFF;
    font-family: "Barlow Semi Condensed", "Arial Narrow", sans-serif;
    font-size: 1rem;
    font-weight: 700;
}

.regulations-tier-grid dl {
    display: grid;
    gap: 7px;
    margin: 0;
}

.regulations-tier-grid dl > div {
    display: grid;
    grid-template-columns: 57px minmax(0, 1fr);
    gap: 9px;
}

.regulations-tier-grid dt {
    color: var(--accent);
    font-weight: 800;
}

.regulations-tier-grid dd {
    margin: 0;
}

.regulations-notice {
    margin-top: 15px !important;
    padding: 11px 13px;
    border-left: 3px solid var(--accent);
    border-radius: 0 8px 8px 0;
    background: rgba(242, 161, 0, 0.08);
}


/* =========================================================
   LOGOS EN CABECERAS
   ========================================================= */

.section-hero {
    isolation: isolate;
}

.section-hero::before {
    width: clamp(245px, 29vw, 410px) !important;
    height: 68% !important;
    top: 50% !important;
    right: clamp(30px, 5vw, 72px) !important;
    border: 0 !important;
    border-radius: 0 !important;
    background-color: transparent !important;
    background-image:
        url("../images/mundialsim_logo.89b9d6d569ed.png") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
    opacity: 0.76;
    transform: translateY(-50%);
    filter: drop-shadow(0 10px 22px rgba(0, 0, 0, 0.30));
}

.category-motogp .section-hero::before,
.section-hero.category-motogp::before {
    background-image:
        url("../images/category-logos/logo-motogp.266d4f8d55e2.png") !important;
}

.category-moto2 .section-hero::before,
.section-hero.category-moto2::before {
    background-image:
        url("../images/category-logos/logo-moto2.f68dc0282443.png") !important;
}

.category-sbk .section-hero::before,
.section-hero.category-sbk::before {
    background-image:
        url("../images/category-logos/logo-sbk.4892f09ecde2.png") !important;
}

.category-rookies-cup .section-hero::before,
.category-rookiescup .section-hero::before,
.section-hero.category-rookies-cup::before,
.section-hero.category-rookiescup::before {
    background-image:
        url("../images/category-logos/logo-rookies-cup.71461f816e24.png") !important;
}

.section-hero-content {
    max-width: min(760px, 65%);
}

@media (max-width: 760px) {
    .home-session-entry {
        min-height: calc(100svh - 62px);
        margin-top: -12px;
    }

    .home-session-entry-inner {
        gap: 18px;
    }

    .home-session-entry-inner h1 {
        font-size: clamp(3.2rem, 17vw, 6rem);
        letter-spacing: 0.11em;
        text-indent: 0.11em;
    }

    .regulations-main > summary {
        min-height: 98px;
        padding: 20px;
    }

    .regulations-content {
        padding: 0 16px 20px;
    }

    .regulations-group > div {
        padding: 16px;
    }

    .regulations-points-grid,
    .regulations-tier-grid {
        grid-template-columns: 1fr;
    }

    .section-hero-content {
        max-width: 76%;
    }

    .section-hero::before {
        width: 145px !important;
        height: 52% !important;
        right: 10px !important;
        opacity: 0.42;
    }
}

@media (prefers-reduced-motion: reduce) {
    .home-session-entry-inner,
    html.has-home-session-entry .site-header,
    html.has-home-session-entry
    .home-session-entry
    + script
    + .home-introduction {
        transform: none !important;
    }
}


/* Reglamento v2: fórmula dinámica de tiers */
.regulations-formula {
    display: grid;
    gap: 5px;
    margin: 16px 0;
    padding: 14px 16px;
    border: 1px solid rgba(242, 161, 0, 0.32);
    border-radius: 10px;
    background: rgba(242, 161, 0, 0.07);
}

.regulations-formula > span {
    color: var(--accent);
    font-size: 0.66rem;
    font-weight: 800;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.regulations-formula > strong {
    color: #FFFFFF;
    font-size: 0.9rem;
}

.regulations-formula > p {
    color: #AEB3BA;
}

.regulations-tier-grid {
    grid-template-columns:
        repeat(3, minmax(0, 1fr)) !important;
}

.regulations-tier-grid article p + p {
    margin-top: 11px;
}

@media (max-width: 900px) {
    .regulations-tier-grid {
        grid-template-columns: 1fr !important;
    }
}

/* =========================================================
   PÁGINA RÉCORDS
   ========================================================= */

.records-control-panel {
    display: grid;
    grid-template-columns:
        repeat(3, minmax(0, 1fr))
        minmax(250px, 0.9fr);
    gap: 12px;
    margin-top: 24px;
    padding: 15px;
    border: 1px solid #3B3F46;
    border-radius: 16px;
    background: #222428;
    box-shadow: 0 14px 35px rgba(0, 0, 0, 0.16);
}

.records-control-group {
    min-width: 0;
    display: grid;
    align-content: start;
    gap: 7px;
}

.records-control-group > span,
.records-select-filters label > span {
    color: #8F949C;
    font-size: 0.65rem;
    font-weight: 750;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.records-pill-switch {
    min-width: 0;
    display: flex;
    gap: 4px;
    padding: 4px;
    border: 1px solid #3B3F46;
    border-radius: 10px;
    background: #17191D;
}

.records-pill-switch button {
    min-width: 0;
    min-height: 35px;
    flex: 1 1 0;
    padding: 0 10px;
    border: 0;
    border-radius: 7px;
    background: transparent;
    color: #AEB2B9;
    font: inherit;
    font-size: 0.74rem;
    font-weight: 700;
    white-space: nowrap;
    cursor: pointer;
}

.records-pill-switch button:hover {
    color: #FFFFFF;
    background: #292C31;
}

.records-pill-switch button.is-active {
    background: #F2A100;
    color: #171717;
}

.records-select-filters {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.records-select-filters label {
    min-width: 0;
    display: grid;
    gap: 7px;
}

.records-select-filters select {
    min-width: 0;
    min-height: 44px;
    padding: 0 34px 0 11px;
    border: 1px solid #464A50;
    border-radius: 9px;
    background: #17191D;
    color: #FFFFFF;
    font: inherit;
    font-size: 0.76rem;
    font-weight: 650;
}

.records-summary-line {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-top: 24px;
    padding: 0 4px 15px;
    border-bottom: 1px solid #34373D;
}

.records-summary-line > div {
    min-width: 0;
    display: grid;
    gap: 4px;
}

.records-summary-line span {
    color: #858A92;
    font-size: 0.67rem;
    font-weight: 700;
    letter-spacing: 0.075em;
    text-transform: uppercase;
}

.records-summary-line strong {
    color: #E8EAED;
    font-size: 0.86rem;
    font-weight: 650;
}

.records-summary-line > span {
    flex: 0 0 auto;
    padding: 7px 10px;
    border-radius: 999px;
    background: #292C31;
    color: #B8BCC3;
}

.records-section {
    margin-top: 38px;
}

.records-section-heading,
.record-ranking-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 15px;
}

.records-section-heading > div,
.record-ranking-heading > div {
    min-width: 0;
}

.records-section-heading span,
.record-ranking-heading span {
    display: block;
    margin-bottom: 5px;
    color: var(--records-section-accent, var(--record-accent));
    font-size: 0.67rem;
    font-weight: 750;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.records-section-heading h2,
.record-ranking-heading h2 {
    margin: 0;
    color: #FFFFFF;
    font-family:
        "Barlow Semi Condensed",
        "Arial Narrow",
        sans-serif;
    font-size: clamp(1.6rem, 3vw, 2.25rem);
    font-weight: 700;
    letter-spacing: -0.025em;
}

.records-section-heading small,
.record-ranking-heading small {
    flex: 0 0 auto;
    color: #858A92;
    font-size: 0.72rem;
}

.records-card-grid {
    display: grid;
    grid-template-columns:
        repeat(auto-fit, minmax(250px, 1fr));
    gap: 12px;
}

.record-card {
    min-width: 0;
    min-height: 250px;
    display: flex;
    overflow: hidden;
    position: relative;
    flex-direction: column;
    padding: 18px;
    border: 1px solid #3B3F46;
    border-top: 3px solid var(--record-accent);
    border-radius: 13px;
    background:
        linear-gradient(
            150deg,
            color-mix(
                in srgb,
                var(--record-accent) 8%,
                transparent
            ),
            transparent 45%
        ),
        #222428;
    color: inherit;
    text-decoration: none;
    transition:
        border-color 150ms ease,
        background 150ms ease,
        transform 150ms ease;
}

.record-card:hover {
    border-color:
        color-mix(
            in srgb,
            var(--record-accent) 72%,
            #3B3F46
        );
    background:
        linear-gradient(
            150deg,
            color-mix(
                in srgb,
                var(--record-accent) 13%,
                transparent
            ),
            transparent 48%
        ),
        #272A2F;
    transform: translateY(-2px);
}

.record-card.is-empty {
    border-top-color: #666B73;
    background: #202226;
}

.record-card-topline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.record-card-scope {
    overflow: hidden;
    color: var(--record-accent);
    font-size: 0.63rem;
    font-weight: 750;
    letter-spacing: 0.085em;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.record-card.is-empty .record-card-scope {
    color: #8F949C;
}

.record-card-topline i {
    color: #777C84;
    font-size: 0.9rem;
    font-style: normal;
}

.record-card h3 {
    margin: 17px 0 0;
    color: #FFFFFF;
    font-family:
        "Barlow Semi Condensed",
        "Arial Narrow",
        sans-serif;
    font-size: 1.22rem;
    font-weight: 700;
    line-height: 1.08;
}

.record-card-holder {
    min-height: 30px;
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 15px;
}

.record-holder-marks {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
}

.record-holder-marks img,
.record-holder-marks span {
    width: 23px;
    height: 17px;
    display: grid;
    place-items: center;
    margin-right: -5px;
    border: 2px solid #222428;
    border-radius: 4px;
    background: #34373D;
    color: #D9DCE1;
    object-fit: contain;
    font-size: 0.62rem;
    font-weight: 750;
}

.record-holder-marks img.is-logo {
    height: 23px;
    border-radius: 50%;
}

.record-card-holder > strong {
    min-width: 0;
    overflow: hidden;
    color: #D9DCE1;
    font-size: 0.76rem;
    font-weight: 650;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.record-card-value {
    margin-top: 9px;
    color: var(--record-accent);
    font-family:
        "Barlow Semi Condensed",
        "Arial Narrow",
        sans-serif;
    font-size: 2.05rem;
    font-weight: 700;
    letter-spacing: -0.025em;
    line-height: 1;
}

.record-card.is-empty .record-card-value {
    color: #737880;
}

.record-card p {
    margin: 13px 0 0;
    color: #969BA3;
    font-size: 0.72rem;
    line-height: 1.5;
}

.record-card-action {
    margin-top: auto;
    padding-top: 17px;
    color: #D7DADE;
    font-size: 0.67rem;
    font-weight: 700;
    letter-spacing: 0.035em;
}

.records-empty-state {
    min-height: 190px;
    display: grid;
    place-content: center;
    margin-top: 28px;
    padding: 28px;
    border: 1px dashed #454950;
    border-radius: 15px;
    color: #8F949C;
    text-align: center;
}

.records-empty-state h2 {
    margin: 0;
    color: #D9DCE1;
    font-size: 1.35rem;
}

.records-empty-state p {
    max-width: 520px;
    margin: 9px 0 0;
    font-size: 0.8rem;
    line-height: 1.55;
}


/* Detalle de un récord */

.record-back-link {
    display: inline-flex;
    margin-bottom: 18px;
    color: #D6B44A;
    font-size: 0.74rem;
    font-weight: 700;
    text-decoration: none;
}

.record-detail-summary {
    display: grid;
    grid-template-columns:
        minmax(0, 1.4fr)
        minmax(150px, 0.55fr)
        minmax(190px, 0.75fr);
    gap: 1px;
    overflow: hidden;
    margin-top: 24px;
    border: 1px solid #3B3F46;
    border-top: 3px solid var(--record-accent);
    border-radius: 14px;
    background: #3B3F46;
}

.record-detail-summary > div {
    min-width: 0;
    display: grid;
    align-content: center;
    gap: 6px;
    padding: 20px;
    background: #222428;
}

.record-detail-summary span {
    color: #858A92;
    font-size: 0.64rem;
    font-weight: 750;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.record-detail-summary strong {
    overflow: hidden;
    color: #F0F1F3;
    font-size: 0.88rem;
    font-weight: 650;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.record-detail-summary .record-detail-value strong {
    color: var(--record-accent);
    font-family:
        "Barlow Semi Condensed",
        "Arial Narrow",
        sans-serif;
    font-size: 2rem;
    font-weight: 700;
}

.record-ranking-section {
    margin-top: 38px;
}

.record-ranking-panel {
    overflow: hidden;
    border: 1px solid #3B3F46;
    border-radius: 15px;
    background: #222428;
}

.record-ranking-scroll {
    overflow-x: auto;
}

.record-ranking-table {
    width: 100%;
    min-width: 760px;
    border-collapse: collapse;
    color: #E7E9EC;
}

.record-ranking-table th,
.record-ranking-table td {
    padding: 11px 15px;
    border-bottom: 1px solid #373A40;
    text-align: left;
    vertical-align: middle;
}

.record-ranking-table th {
    background: #17191D;
    color: #AEB2B9;
    font-size: 0.66rem;
    font-weight: 750;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.record-ranking-table tbody tr:last-child td {
    border-bottom: 0;
}

.record-ranking-table tbody tr:hover {
    background: #292C31;
}

.record-ranking-table tbody tr.is-record-holder {
    background:
        linear-gradient(
            90deg,
            color-mix(
                in srgb,
                var(--record-accent, #F2A100) 10%,
                transparent
            ),
            transparent 50%
        );
}

.record-rank-column {
    width: 70px;
    text-align: center !important;
}

.record-rank-column span {
    width: 29px;
    height: 29px;
    display: inline-grid;
    place-items: center;
    border-radius: 8px;
    background: #393C42;
    color: #E7E9EC;
    font-size: 0.78rem;
    font-weight: 750;
}

.is-record-holder .record-rank-column span {
    background: var(--record-accent, #F2A100);
    color: #171717;
}

.record-ranking-entity {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 9px;
}

.record-ranking-entity img {
    width: 25px;
    height: 16px;
    flex: 0 0 auto;
    object-fit: contain;
}

.record-ranking-entity img.is-logo {
    width: 23px;
    height: 23px;
}

.record-entity-fallback {
    width: 24px;
    height: 24px;
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 50%;
    background: #3B3F46;
    color: #C9CDD2;
    font-size: 0.67rem;
    font-weight: 750;
}

.record-ranking-entity strong {
    min-width: 0;
    overflow: hidden;
    color: #F0F1F3;
    font-size: 0.78rem;
    font-weight: 650;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.record-context-label {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #AEB2B9;
    font-size: 0.72rem;
}

.record-context-label i {
    width: 7px;
    height: 18px;
    flex: 0 0 auto;
    border-radius: 999px;
    background: var(--context-color);
}

.record-context-empty {
    color: #676C74;
}

.record-value-column {
    width: 140px;
    color: #FFFFFF;
    font-weight: 700;
    text-align: right !important;
    font-variant-numeric: tabular-nums;
}

.record-methodology {
    margin: 20px 0 54px;
    padding: 17px 19px;
    border-left: 3px solid #5D91D1;
    border-radius: 0 10px 10px 0;
    background: #202328;
}

.record-methodology > span {
    color: #7DA7D8;
    font-size: 0.65rem;
    font-weight: 750;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.record-methodology p {
    margin: 7px 0 0;
    color: #AEB2B9;
    font-size: 0.76rem;
    line-height: 1.55;
}

@media (max-width: 1100px) {
    .records-control-panel {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .records-control-panel {
        grid-template-columns: 1fr;
        padding: 12px;
    }

    .records-select-filters {
        grid-template-columns: 1fr;
    }

    .records-summary-line {
        align-items: flex-start;
        flex-direction: column;
    }

    .records-card-grid {
        grid-template-columns: 1fr;
    }

    .record-detail-summary {
        grid-template-columns: 1fr;
    }

    .record-ranking-table th,
    .record-ranking-table td {
        padding-right: 11px;
        padding-left: 11px;
    }
}


/* Récords v2: distintivo de récord nuevo */
.record-card-topline-actions {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 8px;
}

.record-new-badge {
    min-height: 23px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: 0 8px;
    border: 1px solid rgba(242, 193, 62, 0.62);
    border-radius: 999px;
    background:
        linear-gradient(
            135deg,
            rgba(255, 222, 112, 0.18),
            rgba(176, 119, 0, 0.12)
        ),
        #24231E;
    color: #F1CE68;
    font-size: 0.57rem;
    font-style: normal;
    font-weight: 800;
    letter-spacing: 0.075em;
    line-height: 1;
    text-transform: uppercase;
    white-space: nowrap;
}

.record-new-badge svg {
    width: 11px;
    height: 11px;
    flex: 0 0 auto;
    fill: currentColor;
}

.record-card.is-new {
    box-shadow:
        inset 0 0 0 1px rgba(242, 193, 62, 0.10),
        0 10px 24px rgba(0, 0, 0, 0.12);
}

.records-new-legend {
    display: flex;
    align-items: center;
    gap: 11px;
    margin-top: 14px;
    padding: 11px 13px;
    border: 1px solid #393C42;
    border-radius: 10px;
    background: #1E2024;
}

.records-new-legend p {
    margin: 0;
    color: #9DA2AA;
    font-size: 0.7rem;
    line-height: 1.45;
}

.records-new-legend p strong {
    color: #D8DBDF;
    font-weight: 700;
}

.record-detail-new-badge {
    width: fit-content;
    margin-bottom: 12px;
}

@media (max-width: 700px) {
    .record-card-topline-actions {
        gap: 6px;
    }

    .record-new-badge {
        min-height: 21px;
        padding-right: 7px;
        padding-left: 7px;
        font-size: 0.53rem;
    }

    .records-new-legend {
        align-items: flex-start;
    }
}


/* =========================================================
   AJUSTES DE PRESENTACIÓN DE RÉCORDS
   ========================================================= */

.record-holder-list {
    min-width: 0;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 5px;
}

.record-holder-item {
    min-height: 24px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 3px 7px 3px 5px;
    border: 1px solid #41454C;
    border-radius: 999px;
    background: #1B1D21;
}

.record-holder-item img {
    width: 22px;
    height: 14px;
    flex: 0 0 auto;
    object-fit: contain;
}

.record-holder-item strong {
    color: #E3E6EA;
    font-size: 0.66rem;
    font-weight: 750;
    letter-spacing: 0.035em;
}

.record-ranking-entity-copy {
    min-width: 0;
    display: grid;
    gap: 3px;
}

.record-ranking-entity-copy strong {
    display: block;
}

.record-ranking-entity-copy small {
    overflow: hidden;
    color: #858A92;
    font-size: 0.66rem;
    font-weight: 550;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.record-category-label {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #AEB2B9;
    font-size: 0.72rem;
}

.record-category-label i {
    width: 7px;
    height: 18px;
    flex: 0 0 auto;
    border-radius: 999px;
    background: var(--category-label-color);
}

@media (max-width: 700px) {
    .record-holder-list {
        gap: 4px;
    }

    .record-holder-item {
        padding-right: 6px;
    }
}


/* Estadísticas: gap promedio a la pole */
#statistics-table th:nth-child(16),
#statistics-table td:nth-child(16),
#statistics-table th:nth-child(17),
#statistics-table td:nth-child(17),
#statistics-table th:nth-child(18),
#statistics-table td:nth-child(18) {
    width: 80px !important;
    min-width: 80px !important;
    max-width: 80px !important;
    padding-right: 2px !important;
    padding-left: 2px !important;
}

.statistics-table tbody td.statistics-pole-gap-cell {
    color: #FFFFFF !important;
    font-variant-numeric: tabular-nums;
    font-weight: 400 !important;
    text-align: center;
}

.statistics-table tbody td.statistics-pole-gap-cell.is-pole-gap-scaled {
    background: rgb(
        var(--pole-gap-color)
        / 0.72
    ) !important;
}

.statistics-table tbody tr:hover
.statistics-pole-gap-cell.is-pole-gap-scaled {
    background: rgb(
        var(--pole-gap-color)
        / 0.84
    ) !important;
}

.statistics-table tbody td.statistics-pole-gap-cell.is-stat-empty,
.statistics-table tbody td.statistics-pole-gap-cell:has(.statistics-zero) {
    background: #222428 !important;
    color: transparent !important;
}

/* MS Rookies Cup */
.category-rookies-cup {
    --category-color: #D4D7DC;
}

.category-tab.category-rookies-cup {
    --category-color: #D4D7DC;
    border-color: rgba(212, 215, 220, 0.58);
    background: rgba(212, 215, 220, 0.12);
    color: #D4D7DC;
}

.category-tab.category-rookies-cup:hover,
.category-tab.category-rookies-cup.is-active {
    border-color: #D4D7DC;
    background: #D4D7DC;
    color: #161616;
}

/* MS Rookies Cup: cuadrícula conjunta, sin duplas */
.rookies-driver-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.rookies-driver-grid-item {
    min-width: 0;
}

.rookies-driver-grid .driver-card {
    height: 100%;
    display: flex;
    flex-direction: column;
    border-top: 0;
}

.rookies-driver-grid .driver-card-accent {
    display: block;
}

.rookies-academy-label {
    min-height: 44px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 9px 13px;
    border-bottom: 1px solid #34373c;
    background: linear-gradient(
        105deg,
        color-mix(in srgb, var(--team-primary) 16%, transparent),
        rgba(27, 29, 33, 0.98) 78%
    );
}

.rookies-academy-label img {
    width: 22px;
    height: 22px;
    flex: 0 0 auto;
    object-fit: contain;
    object-position: center;
}

.rookies-academy-label span {
    overflow: hidden;
    color: #f4f4f5;
    font-size: 0.72rem;
    font-weight: 650;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.rookies-driver-grid .driver-stats {
    margin-bottom: 14px;
}

@media (max-width: 1280px) {
    .rookies-driver-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .rookies-driver-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .rookies-driver-grid {
        grid-template-columns: 1fr;
    }
}

/* Selector de sistema de puntuación */
.scoring-selector {
    flex: 0 1 auto;
}

.statistics-top-scroll {
    height: 18px;
    margin-bottom: 8px;
    overflow-x: auto;
    overflow-y: hidden;
    border: 1px solid #3b3e44;
    border-radius: 9px;
    background: #1b1d21;
    scrollbar-color: #60646b #1b1d21;
    scrollbar-width: thin;
}

.statistics-top-scroll > div {
    height: 1px;
}

/* Contexto exclusivo de los poseedores del récord */
.record-holder-context {
    margin-top: 30px;
}

.record-holder-context-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 13px;
}

.record-holder-context-heading span {
    color: var(--record-accent);
    font-size: 0.65rem;
    font-weight: 750;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.record-holder-context-heading h2 {
    margin: 3px 0 0;
    color: #F0F1F3;
    font-family: "Barlow Semi Condensed", "Arial Narrow", sans-serif;
    font-size: 1.35rem;
    font-weight: 600;
}

.record-holder-context-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 10px;
}

.record-holder-context-card {
    min-width: 0;
    padding: 16px 17px;
    border: 1px solid #3B3F46;
    border-left: 3px solid var(--record-accent);
    border-radius: 11px;
    background: #222428;
}

.record-holder-context-entity {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.record-holder-context-entity img {
    width: 28px;
    height: 18px;
    flex: 0 0 auto;
    object-fit: contain;
}

.record-holder-context-entity img.is-logo {
    width: 27px;
    height: 27px;
}

.record-holder-context-entity > div {
    min-width: 0;
    display: grid;
    gap: 2px;
}

.record-holder-context-entity strong {
    overflow: hidden;
    color: #F0F1F3;
    font-size: 0.8rem;
    font-weight: 650;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.record-holder-context-entity small {
    color: var(--record-accent);
    font-family: "Barlow Semi Condensed", "Arial Narrow", sans-serif;
    font-size: 1.08rem;
    font-weight: 650;
}

.record-holder-context-card p {
    margin: 11px 0 0;
    color: #B1B5BC;
    font-size: 0.74rem;
    line-height: 1.48;
}

.record-holder-context-card p + p {
    margin-top: 5px;
    padding-top: 5px;
    border-top: 1px solid #363A40;
}

@media (max-width: 700px) {
    .record-holder-context-grid {
        grid-template-columns: 1fr;
    }
}


/* Perfil individual de piloto */
.driver-profile-page {
    display: grid;
    gap: 22px;
}

.driver-profile-hero,
.driver-profile-section {
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 20px;
    background: #1b1d21;
}

.driver-profile-hero {
    min-height: 220px;
    padding: 28px 32px;
    background:
        radial-gradient(circle at 88% 15%, rgba(244, 124, 32, 0.18), transparent 34%),
        linear-gradient(135deg, #202329, #17191d 68%);
}

.driver-profile-identity {
    min-height: 160px;
    display: flex;
    align-items: center;
    gap: 28px;
}

.driver-profile-photo-wrap {
    width: 148px;
    height: 170px;
    flex: 0 0 148px;
    overflow: hidden;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.045);
}

.driver-profile-photo {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center top;
}

.driver-profile-title-block {
    min-width: 0;
}

.driver-profile-kicker,
.driver-profile-section-heading > span {
    color: #9ca2aa;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.driver-profile-name-line {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 6px;
}

.driver-profile-name-line h1 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(2.2rem, 5vw, 4rem);
    line-height: 0.95;
}

.driver-profile-flag {
    width: 34px;
    height: 22px;
    object-fit: contain;
}

.driver-profile-titles-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 18px;
}

.driver-profile-titles-summary span {
    padding: 6px 9px;
    border-left: 3px solid var(--profile-category-color, #e3bd48);
    border-radius: 6px;
    color: #f1f2f4;
    background: rgba(255, 255, 255, 0.05);
    font-size: 0.78rem;
    font-weight: 700;
}

.driver-profile-season-status {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-top: 18px;
}

.driver-profile-tier-badge {
    padding: 6px 10px;
    border-radius: 999px;
    color: #171717;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.02em;
}

.driver-profile-tier-badge.tier-s {
    background: #5B9BD5;
}

.driver-profile-tier-badge.tier-a {
    background: #70AD47;
}

.driver-profile-tier-badge.tier-b {
    background: #ED7D31;
}

.driver-profile-activity-badge {
    padding: 6px 10px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 999px;
    color: #f1f2f4;
    background: rgba(255, 255, 255, 0.05);
    font-size: 0.76rem;
    font-weight: 700;
}

.driver-profile-season-status small {
    color: #9299A3;
    font-size: 0.72rem;
    font-weight: 600;
}

.driver-profile-section {
    padding: 24px;
}

.driver-profile-section-heading {
    margin-bottom: 16px;
}

.driver-profile-section-heading h2 {
    margin: 4px 0 0;
    color: #ffffff;
    font-size: 1.55rem;
}

.driver-profile-section-heading p {
    margin: 7px 0 0;
    color: #989ea7;
    font-size: 0.82rem;
}

.driver-profile-stat-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 9px;
}

.driver-profile-stat {
    min-height: 94px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 8px;
    padding: 14px;
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 12px;
    background: #202329;
}

.driver-profile-stat.is-wide {
    grid-column: span 2;
}

.driver-profile-stat.is-highlight {
    background: linear-gradient(145deg, rgba(227, 189, 72, 0.15), #202329 72%);
}

.driver-profile-stat span {
    color: #9ba1aa;
    font-size: 0.72rem;
    font-weight: 650;
    text-transform: uppercase;
}

.driver-profile-stat strong {
    color: #ffffff;
    font-family: "Barlow Semi Condensed", "Arial Narrow", sans-serif;
    font-size: 1.7rem;
    line-height: 1;
}

.driver-profile-stat small {
    color: #a8adb4;
    font-size: 0.72rem;
}

.driver-profile-h2h-scroll {
    overflow-x: auto;
}

.driver-profile-h2h-table {
    width: 100%;
    min-width: 940px;
    border-collapse: collapse;
    color: #e8e9eb;
    font-size: 0.8rem;
}

.driver-profile-h2h-table th,
.driver-profile-h2h-table td {
    padding: 10px 12px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
    text-align: center;
    white-space: nowrap;
}

.driver-profile-h2h-table th:first-child,
.driver-profile-h2h-table td:first-child {
    text-align: left;
}

.driver-profile-h2h-table th {
    color: #a8adb4;
    background: #17191d;
    font-size: 0.7rem;
    text-transform: uppercase;
}

.driver-profile-h2h-name {
    min-width: 210px;
}

.driver-profile-h2h-name img {
    width: 24px;
    height: 16px;
    margin-right: 8px;
    object-fit: contain;
    vertical-align: middle;
}

.driver-profile-h2h-name a,
.driver-name-link,
.inline-driver-link {
    color: inherit;
    text-decoration: none;
}

.driver-profile-h2h-name a:hover,
.driver-name-link:hover,
.inline-driver-link:hover {
    text-decoration: underline;
}

.driver-profile-empty-h2h {
    padding: 18px;
    border-radius: 10px;
    color: #9ca2aa;
    background: rgba(255, 255, 255, 0.035);
}

@media (max-width: 1050px) {
    .driver-profile-stat-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .driver-profile-hero {
        padding: 22px;
    }

    .driver-profile-identity {
        align-items: flex-end;
    }

    .driver-profile-photo-wrap {
        width: 105px;
        height: 128px;
        flex-basis: 105px;
    }

    .driver-profile-stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* =========================================================
   PERFIL DE PILOTO v2 — rankings, colores y H2H visual
   ========================================================= */
.driver-profile-stat {
    --profile-stat-color: #4C535D;
    background: var(--profile-stat-color) !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
    color: #FFFFFF;
}

.driver-profile-stat.stat-driver-titles { --profile-stat-color: #C99A00; }
.driver-profile-stat.stat-team-titles { --profile-stat-color: #8E6D18; }
.driver-profile-stat.stat-points { --profile-stat-color: #191B1F; }
.driver-profile-stat.stat-wins { --profile-stat-color: #C99A00; }
.driver-profile-stat.stat-podiums { --profile-stat-color: #C46F22; }
.driver-profile-stat.stat-poles { --profile-stat-color: #D94F55; }
.driver-profile-stat.stat-top-ten { --profile-stat-color: #2D9B57; }
.driver-profile-stat.stat-fastest { --profile-stat-color: #6C63C7; }
.driver-profile-stat.stat-leader { --profile-stat-color: #287DB4; }
.driver-profile-stat.stat-dnf { --profile-stat-color: #A94E9A; }
.driver-profile-stat.stat-activity { --profile-stat-color: #686D75; }
.driver-profile-stat.stat-gp,
.driver-profile-stat.stat-seasons { --profile-stat-color: #4C535D; }
.driver-profile-stat.stat-promotion { --profile-stat-color: #5652C8; }
.driver-profile-stat.stat-demotion { --profile-stat-color: #9E3F78; }

.driver-profile-stat.stat-context,
.driver-profile-stat.stat-pole-gap {
    background: var(--profile-stat-color, #4C535D) !important;
}

/* Cualquier cero real usa exactamente el mismo gris, sin conservar
   ninguna tonalidad de su estadística. */
.driver-profile-stat.is-zero {
    --profile-stat-color: #292D33 !important;
    background: #292D33 !important;
    border-color: rgba(255, 255, 255, 0.06) !important;
}

.driver-profile-stat-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
}

.driver-profile-stat span,
.driver-profile-stat small {
    color: rgba(255, 255, 255, 0.76) !important;
}

.driver-profile-stat strong {
    color: #FFFFFF !important;
}

.driver-profile-rank {
    min-width: 30px;
    min-height: 22px;
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    padding: 2px 7px;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 999px;
    background: rgba(15, 17, 20, 0.24);
    color: #FFFFFF;
    font-family: "Inter", sans-serif;
    font-size: 0.66rem;
    font-weight: 750;
    font-variant-numeric: tabular-nums;
    line-height: 1;
}

.driver-profile-comparison-section {
    padding-bottom: 28px;
}

.driver-profile-versus {
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.075);
    border-radius: 14px;
    background: #17191D;
}

.driver-profile-versus-head,
.driver-profile-versus-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 150px minmax(0, 1fr);
    align-items: center;
    column-gap: 18px;
}

.driver-profile-versus-head {
    min-height: 50px;
    padding: 0 18px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.075);
    background: #1D2025;
}

.driver-profile-versus-head strong {
    overflow: hidden;
    color: #F2F3F5;
    font-family: "Barlow Semi Condensed", "Arial Narrow", sans-serif;
    font-size: 1rem;
    font-weight: 750;
    letter-spacing: 0.035em;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.driver-profile-versus-head strong:first-child {
    color: #F47C20;
    text-align: right;
}

.driver-profile-versus-row {
    min-height: 67px;
    padding: 9px 18px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.055);
}

.driver-profile-versus-row:last-child {
    border-bottom: 0;
}

.driver-profile-versus-label {
    color: #D8DADE;
    font-size: 0.7rem;
    font-weight: 750;
    letter-spacing: 0.055em;
    text-align: center;
    text-transform: uppercase;
}

.driver-profile-versus-side {
    min-width: 0;
    display: grid;
    gap: 7px;
}

.driver-profile-versus-side > strong {
    color: #F2F3F5;
    font-family: "Barlow Semi Condensed", "Arial Narrow", sans-serif;
    font-size: 1.18rem;
    font-weight: 750;
    font-variant-numeric: tabular-nums;
    line-height: 1;
}

.driver-profile-versus-side.is-self > strong {
    color: #F47C20;
    text-align: right;
}

.driver-profile-versus-side.is-other > strong {
    text-align: left;
}

.driver-profile-versus-track {
    height: 12px;
    display: flex;
    overflow: hidden;
    border-radius: 3px;
    background: #292C31;
}

.driver-profile-versus-side.is-self .driver-profile-versus-track {
    justify-content: flex-end;
}

.driver-profile-versus-track i {
    height: 100%;
    display: block;
    border-radius: 3px;
    transition: width 180ms ease;
}

.driver-profile-versus-side.is-self .driver-profile-versus-track i {
    background: #F47C20;
}

.driver-profile-versus-side.is-other .driver-profile-versus-track i {
    background: #727881;
}

.driver-profile-h2h-table {
    min-width: 1240px;
}

.driver-profile-duel-cell {
    color: #FFFFFF;
    font-variant-numeric: tabular-nums;
}

.driver-profile-duel-cell.is-negative {
    background: #D4682D !important;
    color: #FFFFFF !important;
}

.driver-profile-duel-cell.is-positive {
    background: #4B963D !important;
    color: #FFFFFF !important;
}

.driver-profile-duel-cell.is-tie {
    background: #B88D00 !important;
    color: #FFFFFF !important;
}

@media (max-width: 820px) {
    .driver-profile-versus-head,
    .driver-profile-versus-row {
        grid-template-columns: minmax(0, 1fr) 110px minmax(0, 1fr);
        column-gap: 9px;
    }

    .driver-profile-versus-head,
    .driver-profile-versus-row {
        padding-right: 10px;
        padding-left: 10px;
    }

    .driver-profile-versus-label {
        font-size: 0.62rem;
    }
}

/* =========================================================
   PERFIL DE PILOTO v3 — color en cifras, no en fondos
   ========================================================= */
.driver-profile-stat,
.driver-profile-stat.stat-context,
.driver-profile-stat.stat-pole-gap,
.driver-profile-stat.is-zero {
    background: #202329 !important;
    border-color: rgba(255, 255, 255, 0.07) !important;
}

/* Los colores de la macro-tabla se trasladan únicamente a la cifra. */
.driver-profile-stat { --profile-number-color: #FFFFFF; }
.driver-profile-stat.stat-driver-titles { --profile-number-color: #E3BD48; }
.driver-profile-stat.stat-team-titles { --profile-number-color: #D8B45A; }
.driver-profile-stat.stat-points { --profile-number-color: #FFFFFF; }
.driver-profile-stat.stat-wins { --profile-number-color: #FFFFB9; }
.driver-profile-stat.stat-podiums { --profile-number-color: #FFDC97; }
.driver-profile-stat.stat-poles { --profile-number-color: #FFC1C1; }
.driver-profile-stat.stat-top-ten { --profile-number-color: #DFFFDF; }
.driver-profile-stat.stat-fastest { --profile-number-color: #CFCFFF; }
.driver-profile-stat.stat-leader { --profile-number-color: #CFEAFF; }
.driver-profile-stat.stat-dnf { --profile-number-color: #EBCFFF; }
.driver-profile-stat.stat-activity { --profile-number-color: #E6E6E6; }
.driver-profile-stat.stat-gp,
.driver-profile-stat.stat-seasons { --profile-number-color: #FFFFFF; }
.driver-profile-stat.stat-promotion { --profile-number-color: #5652C8; }
.driver-profile-stat.stat-demotion { --profile-number-color: #9E3F78; }
.driver-profile-stat.stat-pole-gap { --profile-number-color: #FFFFFF; }
.driver-profile-stat.stat-context { --profile-number-color: #FFFFFF; }

.driver-profile-stat strong {
    color: var(--profile-number-color) !important;
}

/* Un 0 conserva el fondo normal y solo se apaga la cifra. */
.driver-profile-stat.is-zero strong,
.driver-profile-h2h-table .is-zero-value,
.driver-profile-versus-value.is-zero-value {
    color: #555B63 !important;
}

/* El gap medio a la pole es neutro, sin escala ni color específico. */
.driver-profile-stat.stat-pole-gap strong {
    color: #FFFFFF !important;
}

/* H2H detallado: solo se colorea el texto. */
.driver-profile-duel-cell,
.driver-profile-duel-cell.is-negative,
.driver-profile-duel-cell.is-positive,
.driver-profile-duel-cell.is-tie {
    background: transparent !important;
}

.driver-profile-duel-cell.is-negative,
.driver-profile-duel-cell .is-negative {
    color: #F8CBAD !important;
}

.driver-profile-duel-cell.is-positive,
.driver-profile-duel-cell .is-positive {
    color: #C6E0B4 !important;
}

.driver-profile-duel-cell.is-tie,
.driver-profile-duel-cell .is-tie {
    color: #FFE699 !important;
}

.driver-profile-h2h-stat {
    font-variant-numeric: tabular-nums;
}

.driver-profile-h2h-stat.stat-points { color: #FFFFFF; }
.driver-profile-h2h-stat.stat-wins { color: #FFFFB9; }
.driver-profile-h2h-stat.stat-podiums { color: #FFDC97; }
.driver-profile-h2h-stat.stat-poles { color: #FFC1C1; }
.driver-profile-h2h-stat.stat-top-ten { color: #DFFFDF; }
.driver-profile-h2h-stat.stat-dnf { color: #EBCFFF; }

.driver-profile-h2h-separator {
    margin: 0 2px;
    color: #727881 !important;
}

/* Comparativa acumulada: los H2H enseñan ganador/perdedor/empate
   con la misma paleta de la macro-tabla. */
.driver-profile-versus-value.is-positive {
    color: #C6E0B4 !important;
}

.driver-profile-versus-value.is-negative {
    color: #F8CBAD !important;
}

.driver-profile-versus-value.is-tie {
    color: #FFE699 !important;
}

.driver-profile-versus-track i.is-positive {
    background: #C6E0B4 !important;
}

.driver-profile-versus-track i.is-negative {
    background: #F8CBAD !important;
}

.driver-profile-versus-track i.is-tie {
    background: #FFE699 !important;
}

/* El ritmo acumulado solo muestra el valor negativo del lado más rápido. */
.driver-profile-versus-row.stat-pace .driver-profile-versus-value.is-positive {
    color: #C6E0B4 !important;
}
.driver-profile-versus-row.stat-pace .driver-profile-versus-track i.is-positive {
    background: #C6E0B4 !important;
}

/* =========================================================
   PERFIL DE PILOTO v4 — paleta saturada y H2H por resultado
   ========================================================= */
/* Las cifras usan exactamente los tonos base con los que se construye
   la escala de color de la macro-tabla. El fondo permanece neutro. */
.driver-profile-stat.stat-driver-titles { --profile-number-color: #C99A00; }
.driver-profile-stat.stat-team-titles { --profile-number-color: #C46F22; }
.driver-profile-stat.stat-points { --profile-number-color: #FFFFFF; }
.driver-profile-stat.stat-wins { --profile-number-color: #C99A00; }
.driver-profile-stat.stat-podiums { --profile-number-color: #C46F22; }
.driver-profile-stat.stat-poles { --profile-number-color: #D94F55; }
.driver-profile-stat.stat-top-ten { --profile-number-color: #2D9B57; }
.driver-profile-stat.stat-fastest { --profile-number-color: #6C63C7; }
.driver-profile-stat.stat-leader { --profile-number-color: #287DB4; }
.driver-profile-stat.stat-dnf { --profile-number-color: #A94E9A; }
.driver-profile-stat.stat-activity { --profile-number-color: #686D75; }
.driver-profile-stat.stat-gp,
.driver-profile-stat.stat-seasons { --profile-number-color: #4C535D; }
.driver-profile-stat.stat-promotion { --profile-number-color: #5652C8; }
.driver-profile-stat.stat-demotion { --profile-number-color: #9E3F78; }
.driver-profile-stat.stat-pole-gap,
.driver-profile-stat.stat-context { --profile-number-color: #FFFFFF; }

/* Los ceros siguen siendo un gris oscuro único, independientemente de la stat. */
.driver-profile-stat.is-zero strong {
    color: #555B63 !important;
}

/* En cualquier comparación de compañeros solo existen tres resultados. */
.driver-profile-comparison-cell {
    background: transparent !important;
    color: #D8DADE;
    font-variant-numeric: tabular-nums;
}

.driver-profile-comparison-cell.is-positive {
    color: #70AD47 !important;
}

.driver-profile-comparison-cell.is-negative {
    color: #ED7D31 !important;
}

.driver-profile-comparison-cell.is-tie {
    color: #FFC000 !important;
}

/* El color pertenece al resultado completo (7–11), no a cada cifra. */
.driver-profile-comparison-cell .driver-profile-h2h-separator,
.driver-profile-comparison-cell span,
.driver-profile-comparison-cell strong {
    color: inherit !important;
}

/* Comparativa acumulada: misma paleta exacta para H2H y ritmo ganador. */
.driver-profile-versus-value.is-positive { color: #70AD47 !important; }
.driver-profile-versus-value.is-negative { color: #ED7D31 !important; }
.driver-profile-versus-value.is-tie { color: #FFC000 !important; }
.driver-profile-versus-track i.is-positive { background: #70AD47 !important; }
.driver-profile-versus-track i.is-negative { background: #ED7D31 !important; }
.driver-profile-versus-track i.is-tie { background: #FFC000 !important; }
.driver-profile-versus-row.stat-pace .driver-profile-versus-value.is-positive {
    color: #70AD47 !important;
}
.driver-profile-versus-row.stat-pace .driver-profile-versus-track i.is-positive {
    background: #70AD47 !important;
}

/* =========================================================
   PERFIL DE PILOTO v5 — comparativa acumulada con barra única
   ========================================================= */
.driver-profile-versus-head strong:first-child {
    color: #F2F3F5 !important;
}

.driver-profile-versus-row {
    grid-template-columns: 92px minmax(260px, 1fr) 92px;
    column-gap: 18px;
    min-height: 76px;
    padding-top: 10px;
    padding-bottom: 10px;
}

.driver-profile-versus-center {
    min-width: 0;
    display: grid;
    gap: 9px;
    align-items: center;
}

.driver-profile-versus-value {
    color: #D8DADE;
    font-family: "Barlow Semi Condensed", "Arial Narrow", sans-serif;
    font-size: 1.24rem;
    font-weight: 750;
    font-variant-numeric: tabular-nums;
    line-height: 1;
}

.driver-profile-versus-value.is-self {
    text-align: right;
}

.driver-profile-versus-value.is-other {
    text-align: left;
}

.driver-profile-balance-track {
    position: relative;
    width: 100%;
    height: 18px;
    display: flex;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 3px;
    background: #34383E;
}

.driver-profile-balance-segment {
    height: 100%;
    display: block;
    flex: 0 0 auto;
    transition: width 180ms ease;
}

/* Ganador izquierdo = verde. Ganador derecho = naranja.
   El lado perdedor se mantiene en gris oscuro. */
.driver-profile-balance-segment.is-left-winner {
    background: #70AD47;
}

.driver-profile-balance-segment.is-right-winner {
    background: #ED7D31;
}

.driver-profile-balance-segment.is-loser,
.driver-profile-balance-segment.is-zero {
    background: #3A3E44;
}

.driver-profile-balance-segment.is-tie {
    background: #FFC000;
}

.driver-profile-versus-value.is-left-winner {
    color: #70AD47 !important;
}

.driver-profile-versus-value.is-right-winner {
    color: #ED7D31 !important;
}

.driver-profile-versus-value.is-loser {
    color: #626870 !important;
}

.driver-profile-versus-value.is-tie {
    color: #FFC000 !important;
}

.driver-profile-versus-value.is-zero,
.driver-profile-versus-value.is-zero-value {
    color: #555B63 !important;
}

/* Ritmo: sin barra. Solo aparece el valor del lado más rápido. */
.driver-profile-versus-row.stat-pace {
    min-height: 58px;
}

.driver-profile-versus-row.stat-pace .driver-profile-versus-center {
    gap: 0;
}

.driver-profile-versus-row.stat-pace .driver-profile-versus-value.is-left-winner {
    color: #70AD47 !important;
}

.driver-profile-versus-row.stat-pace .driver-profile-versus-value.is-right-winner {
    color: #ED7D31 !important;
}

@media (max-width: 820px) {
    .driver-profile-versus-row {
        grid-template-columns: 68px minmax(170px, 1fr) 68px;
        column-gap: 9px;
    }

    .driver-profile-versus-value {
        font-size: 1.08rem;
    }

    .driver-profile-balance-track {
        height: 15px;
    }
}


/* =========================================================
   H2H — COMPARADOR DE PILOTOS
   ========================================================= */
.h2h-page {
    width: min(980px, calc(100% - 32px));
    margin: 0 auto;
    padding: 34px 0 72px;
}

.h2h-hero {
    margin-bottom: 22px;
}

.h2h-kicker {
    display: block;
    margin-bottom: 3px;
    color: #8F949C;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.h2h-hero h1 {
    margin: 0;
    color: #F3F4F6;
    font-family: "Barlow Semi Condensed", "Arial Narrow", sans-serif;
    font-size: clamp(2.8rem, 6vw, 4.5rem);
    font-weight: 800;
    line-height: 0.95;
}

.h2h-hero p {
    margin: 9px 0 0;
    color: #9A9FA7;
    font-size: 0.88rem;
}

.h2h-selector-section {
    margin-bottom: 26px;
}

.h2h-selector-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto;
    gap: 14px;
    align-items: end;
    padding: 16px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    background: #1A1C20;
}

.h2h-selector-form label {
    display: grid;
    gap: 6px;
}

.h2h-selector-form label > span {
    color: #A6AAB1;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.h2h-selector-form select,
.h2h-selector-form button {
    min-height: 40px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 7px;
    font-family: "Inter", sans-serif;
    font-size: 0.82rem;
}

.h2h-selector-form select {
    width: 100%;
    padding: 0 10px;
    background: #111317;
    color: #F0F1F3;
}

.h2h-selector-form button {
    padding: 0 18px;
    background: #ED7D31;
    color: #FFFFFF;
    font-weight: 750;
    cursor: pointer;
}

.h2h-selector-vs {
    align-self: center;
    padding-top: 19px;
    color: #676C74;
    font-family: "Barlow Semi Condensed", "Arial Narrow", sans-serif;
    font-size: 1.2rem;
    font-weight: 800;
}

.h2h-error {
    margin: 10px 0 0;
    color: #E58383;
    font-size: 0.8rem;
}

.h2h-comparison-section {
    margin-top: 0;
}

.h2h-comparison-section .driver-profile-versus-head a {
    color: inherit;
    text-decoration: none;
}

.h2h-comparison-section .driver-profile-versus-head a:hover {
    text-decoration: underline;
}

.h2h-shared-note {
    margin: 9px 2px 0;
    color: #777C84;
    font-size: 0.72rem;
    text-align: right;
}

.h2h-empty-state {
    padding: 28px 18px;
    border: 1px dashed rgba(255, 255, 255, 0.10);
    border-radius: 10px;
    color: #777C84;
    text-align: center;
}

.h2h-empty-state p {
    margin: 0;
}

@media (max-width: 760px) {
    .h2h-page {
        width: min(100% - 18px, 980px);
        padding-top: 20px;
    }

    .h2h-selector-form {
        grid-template-columns: 1fr;
    }

    .h2h-selector-vs {
        display: none;
    }

    .h2h-selector-form button {
        width: 100%;
    }
}

/* =========================================================
   H2H — BUSCADOR + LISTA DE PILOTOS
   ========================================================= */
.h2h-selector-form {
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto;
}

.h2h-driver-picker {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(170px, 0.85fr);
    gap: 10px;
    align-items: end;
}

.h2h-driver-picker label {
    min-width: 0;
}

.h2h-driver-search {
    width: 100%;
    min-height: 40px;
    padding: 0 10px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 7px;
    background: #111317;
    color: #F0F1F3;
    font-family: "Inter", sans-serif;
    font-size: 0.82rem;
}

.h2h-driver-search::placeholder {
    color: #656A72;
}

.h2h-driver-search:focus,
.h2h-selector-form select:focus {
    border-color: rgba(237, 125, 49, 0.72);
    outline: 2px solid rgba(237, 125, 49, 0.18);
    outline-offset: 1px;
}

@media (max-width: 980px) {
    .h2h-selector-form {
        grid-template-columns: 1fr;
    }

    .h2h-selector-vs {
        display: none;
    }

    .h2h-selector-form button {
        width: 100%;
    }
}

@media (max-width: 620px) {
    .h2h-driver-picker {
        grid-template-columns: 1fr;
    }
}

/* Campeonato de fabricantes */
.championship-page.category-fabricantes {
    --category-color: #FFC000;
}

.category-tab.category-fabricantes {
    --category-color: #FFC000;
    border-color: rgba(255, 192, 0, 0.58);
    background: rgba(255, 192, 0, 0.12);
    color: #FFC000;
}

.category-tab.category-fabricantes:hover,
.category-tab.category-fabricantes.is-active {
    border-color: #FFC000;
    background: #FFC000;
    color: #161616;
}

.manufacturer-standings-layout {
    grid-template-columns: minmax(0, 720px);
}

.manufacturer-standings-section {
    width: 100%;
}

.manufacturer-summary-table {
    min-width: 460px !important;
}

.manufacturer-standings-note {
    max-width: 660px;
    margin: 8px 0 0;
    color: #aeb2b9;
    font-size: 0.82rem;
    line-height: 1.45;
}

/* =========================================================
   H2H — DUELOS POR TEMPORADA
   ========================================================= */
.h2h-seasonal-block {
    margin-top: 42px;
    padding-top: 34px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.h2h-seasonal-heading {
    margin-bottom: 14px;
}

.h2h-seasonal-selector-form {
    display: grid;
    grid-template-columns: minmax(130px, 0.65fr) minmax(150px, 0.75fr) minmax(280px, 1.8fr) auto;
    gap: 12px;
    align-items: end;
    padding: 16px;
    margin-bottom: 18px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    background: #1A1C20;
}

.h2h-seasonal-selector-form label {
    min-width: 0;
    display: grid;
    gap: 6px;
}

.h2h-seasonal-selector-form label > span {
    color: #A6AAB1;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.h2h-seasonal-selector-form select,
.h2h-seasonal-selector-form button {
    min-height: 40px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 7px;
    font-family: "Inter", sans-serif;
    font-size: 0.82rem;
}

.h2h-seasonal-selector-form select {
    width: 100%;
    min-width: 0;
    padding: 0 10px;
    background: #111317;
    color: #F0F1F3;
}

.h2h-seasonal-selector-form select:focus {
    border-color: rgba(237, 125, 49, 0.72);
    outline: 2px solid rgba(237, 125, 49, 0.18);
    outline-offset: 1px;
}

.h2h-seasonal-selector-form select:disabled {
    color: #656A72;
    cursor: not-allowed;
}

.h2h-seasonal-selector-form button {
    padding: 0 18px;
    background: #ED7D31;
    color: #FFFFFF;
    font-weight: 750;
    cursor: pointer;
}

.h2h-seasonal-comparison {
    --season-left-color: #ED7D31;
    --season-right-color: #727881;
    margin-top: 0;
}

.h2h-seasonal-versus-head strong {
    display: flex;
    align-items: center;
    gap: 8px;
}

.h2h-seasonal-versus-head strong:first-child {
    justify-content: flex-end;
    color: var(--season-left-color) !important;
}

.h2h-seasonal-versus-head strong:last-child {
    justify-content: flex-start;
    color: var(--season-right-color) !important;
}

.h2h-championship-position {
    min-width: 32px;
    min-height: 23px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 7px;
    border: 1px solid currentColor;
    border-radius: 999px;
    color: inherit;
    font-family: "Barlow Semi Condensed", "Arial Narrow", sans-serif;
    font-size: 0.78rem;
    font-weight: 800;
    line-height: 1;
    opacity: 0.92;
}

.h2h-seasonal-comparison .driver-profile-versus-value.is-season-left {
    color: var(--season-left-color) !important;
}

.h2h-seasonal-comparison .driver-profile-versus-value.is-season-right {
    color: var(--season-right-color) !important;
}

.h2h-seasonal-comparison .driver-profile-versus-value.is-season-loser,
.h2h-seasonal-comparison .driver-profile-versus-value.is-season-zero,
.h2h-seasonal-comparison .driver-profile-versus-value.is-zero-value {
    color: #555B63 !important;
}

.h2h-seasonal-comparison .driver-profile-balance-segment.is-season-left {
    background: var(--season-left-color) !important;
}

.h2h-seasonal-comparison .driver-profile-balance-segment.is-season-right {
    background: var(--season-right-color) !important;
}

.h2h-seasonal-comparison .driver-profile-balance-segment.is-season-loser {
    background: #3A3E44 !important;
}

.h2h-seasonal-balance-track:empty {
    background: #292D32;
}

.h2h-seasonal-empty {
    margin-top: 0;
}

@media (max-width: 900px) {
    .h2h-seasonal-selector-form {
        grid-template-columns: 1fr 1fr;
    }

    .h2h-seasonal-duo-label {
        grid-column: 1 / -1;
    }

    .h2h-seasonal-selector-form button {
        grid-column: 1 / -1;
        width: 100%;
    }
}

@media (max-width: 620px) {
    .h2h-seasonal-selector-form {
        grid-template-columns: 1fr;
    }

    .h2h-seasonal-duo-label,
    .h2h-seasonal-selector-form button {
        grid-column: auto;
    }

    .h2h-seasonal-versus-head strong {
        gap: 5px;
    }

    .h2h-championship-position {
        min-width: 28px;
        padding: 0 5px;
        font-size: 0.7rem;
    }
}

/* =========================================================
   EVENTOS
   ========================================================= */
.events-page {
    width: min(1120px, 100%);
    margin: 0 auto;
    padding: 10px 0 64px;
}

.events-hero {
    min-height: 280px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    position: relative;
    overflow: hidden;
    padding: 42px 44px;
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 22px;
    background:
        linear-gradient(112deg, #202226 0%, #292B30 62%, #35373C 100%);
    box-shadow: 0 14px 35px rgba(0, 0, 0, 0.22);
}

.events-hero::after {
    content: "";
    width: 310px;
    height: 11px;
    position: absolute;
    right: 48px;
    bottom: 54px;
    background: #F2A100;
    transform: skewX(-30deg);
    opacity: 0.9;
}

.events-kicker {
    position: relative;
    z-index: 1;
    margin-bottom: 4px;
    color: #F2A100;
    font-size: 0.72rem;
    font-weight: 750;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.events-hero h1 {
    position: relative;
    z-index: 1;
    margin: 0;
    color: #FFFFFF;
    font-family: "Barlow Semi Condensed", "Arial Narrow", sans-serif;
    font-size: clamp(3rem, 7vw, 5.2rem);
    font-weight: 800;
    line-height: 0.92;
}

.events-hero p {
    max-width: 620px;
    position: relative;
    z-index: 1;
    margin: 12px 0 0;
    color: #B6BAC1;
    font-size: 0.9rem;
}

.events-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-top: 18px;
}

.event-card {
    min-height: 210px;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 16px;
    align-items: start;
    padding: 24px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    background: #1A1C20;
    color: inherit;
    text-decoration: none;
    transition: border-color 150ms ease;
}

a.event-card:hover {
    border-color: rgba(255, 255, 255, 0.2);
}

.event-card.is-muted {
    opacity: 0.72;
}

.event-card-index {
    color: #4E535B;
    font-family: "Barlow Semi Condensed", "Arial Narrow", sans-serif;
    font-size: 1rem;
    font-weight: 800;
}

.event-card-status {
    color: #F2A100;
    font-size: 0.66rem;
    font-weight: 750;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.event-card h2 {
    margin: 6px 0 9px;
    color: #F4F5F6;
    font-family: "Barlow Semi Condensed", "Arial Narrow", sans-serif;
    font-size: 2rem;
    font-weight: 750;
    line-height: 1;
}

.event-card p {
    margin: 0;
    color: #8F949C;
    font-size: 0.82rem;
    line-height: 1.55;
}

@media (max-width: 820px) {
    .events-grid {
        grid-template-columns: 1fr;
    }

    .events-hero {
        min-height: 230px;
        padding: 30px 26px;
    }

    .events-hero::after {
        right: 24px;
        bottom: 36px;
        width: 180px;
    }
}

/* =========================================================
   HILOS
   ========================================================= */

.hilos-season-group {
    margin-top: 32px;
}

.hilos-season-heading {
    margin: 0 0 14px;
    color: #F4F5F6;
    font-family: "Barlow Semi Condensed", "Arial Narrow", sans-serif;
    font-size: 1.4rem;
    font-weight: 750;
}

.hilos-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 16px;
}

.hilo-card {
    display: block;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 14px;
    background: #1A1C20;
    color: inherit;
    text-decoration: none;
    transition: border-color 150ms ease;
}

.hilo-card:hover {
    border-color: var(--hilo-category-color, rgba(255, 255, 255, 0.2));
}

.hilo-card-cover {
    display: block;
    width: 100%;
    height: 130px;
    object-fit: cover;
    border-bottom: 3px solid var(--hilo-category-color, #F2A100);
}

.hilo-card-body {
    padding: 14px 16px;
}

.hilo-card-label {
    display: block;
    color: #F4F5F6;
    font-size: 0.86rem;
    font-weight: 600;
}

.hilo-card-badge {
    display: inline-block;
    margin-top: 8px;
    color: #9fa3aa;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.hilo-detail-page {
    max-width: 680px;
    margin: 0 auto;
}

.hilo-detail-hero {
    padding-bottom: 8px;
}

.hilo-detail-kicker {
    display: block;
    margin-bottom: 6px;
    color: var(--hilo-category-color, var(--accent));
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.hilo-detail-hero h1 {
    margin: 0 0 6px;
    color: #F4F5F6;
    font-family: "Barlow Semi Condensed", "Arial Narrow", sans-serif;
    font-size: 2rem;
    font-weight: 750;
    line-height: 1.1;
}

.hilo-detail-meta {
    margin: 0;
    color: #8F949C;
    font-size: 0.86rem;
}

.hilo-selector {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 10px;
    margin: 22px 0 26px;
}

.hilo-selector-field label {
    display: block;
    margin-bottom: 4px;
    color: #8F949C;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.hilo-selector-field select {
    width: 100%;
    appearance: none;
    padding: 10px 12px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 8px;
    background: #1A1C20;
    color: #F4F5F6;
    font-family: "Inter", sans-serif;
    font-size: 0.84rem;
    font-weight: 600;
}

.hilo-feed {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.hilo-tweet {
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-left: 3px solid var(--hilo-category-color, #F2A100);
    border-radius: 0 12px 12px 0;
    background: #1A1C20;
}

.hilo-tweet img,
.hilo-tweet video {
    display: block;
    width: 100%;
    height: auto;
    background: #000;
}

.hilo-tweet-embed {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    background: #000;
}

.hilo-tweet-embed iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.hilo-tweet-body {
    padding: 14px 16px 16px;
}

.hilo-tweet-index {
    display: inline-block;
    margin-bottom: 6px;
    color: var(--hilo-category-color, #F2A100);
    font-family: "Barlow Semi Condensed", "Arial Narrow", sans-serif;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.hilo-tweet-text {
    margin: 0;
    color: #dfe1e4;
    font-size: 0.92rem;
    font-weight: 500;
    line-height: 1.55;
    white-space: pre-line;
}

@media (max-width: 640px) {
    .hilo-selector {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   H2H — AJUSTES DE IDENTIDAD DE EQUIPO Y TIPOGRAFÍA
   ========================================================= */

/* Toda la página H2H utiliza Inter, incluido el comparador general. */
.h2h-page,
.h2h-page * {
    font-family: "Inter", sans-serif !important;
}

.h2h-seasonal-comparison {
    border-top: 3px solid var(--season-left-color);
}

.h2h-seasonal-team-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin: 0 0 18px;
    padding: 14px 16px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-left: 5px solid var(--season-left-color);
    border-radius: 10px;
    background: #15171B;
}

.h2h-seasonal-team-identity {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 12px;
}

.h2h-seasonal-team-logo-wrap {
    width: 58px;
    height: 44px;
    flex: 0 0 58px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.h2h-seasonal-team-logo-wrap img {
    display: block;
    max-width: 58px;
    max-height: 44px;
    width: auto;
    height: auto;
    object-fit: contain;
}

.h2h-seasonal-team-logo-fallback {
    color: #8D929A;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.08em;
}

.h2h-seasonal-team-identity > div:last-child {
    min-width: 0;
    display: grid;
    gap: 2px;
}

.h2h-seasonal-team-identity > div:last-child > span {
    color: #777D85;
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.h2h-seasonal-team-identity > div:last-child > strong {
    overflow: hidden;
    color: #F4F5F7;
    font-size: 1rem;
    font-weight: 750;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.h2h-seasonal-team-color {
    width: 108px;
    height: 12px;
    flex: 0 0 108px;
    display: block;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 999px;
    background: var(--season-left-color);
    box-shadow: 0 0 18px color-mix(in srgb, var(--season-left-color) 26%, transparent);
}

/* Los nombres son neutros; el marcador indica qué color representa cada piloto. */
.h2h-seasonal-versus-head strong:first-child,
.h2h-seasonal-versus-head strong:last-child {
    color: #F4F5F7 !important;
}

.h2h-seasonal-versus-head a {
    color: #F4F5F7 !important;
}

.h2h-driver-color-marker {
    width: 5px;
    height: 27px;
    flex: 0 0 5px;
    display: inline-block;
    border-radius: 2px;
}

.h2h-driver-color-marker.is-primary {
    background: var(--season-left-color);
}

.h2h-driver-color-marker.is-secondary {
    background: var(--season-right-color);
}

.h2h-championship-position {
    border-color: #555B63;
    color: #BEC2C8 !important;
}

/* En las cifras importa ganar/perder, no el color del equipo. */
.h2h-seasonal-comparison .driver-profile-versus-value.is-season-left,
.h2h-seasonal-comparison .driver-profile-versus-value.is-season-right {
    color: #F4F5F7 !important;
}

.h2h-seasonal-comparison .driver-profile-versus-value.is-season-loser {
    color: #6D737B !important;
}

.h2h-seasonal-comparison .driver-profile-versus-value.is-season-zero,
.h2h-seasonal-comparison .driver-profile-versus-value.is-zero-value {
    color: #555B63 !important;
}

@media (max-width: 620px) {
    .h2h-seasonal-team-banner {
        align-items: flex-start;
        padding: 12px;
    }

    .h2h-seasonal-team-logo-wrap {
        width: 48px;
        height: 38px;
        flex-basis: 48px;
    }

    .h2h-seasonal-team-logo-wrap img {
        max-width: 48px;
        max-height: 38px;
    }

    .h2h-seasonal-team-color {
        width: 58px;
        flex-basis: 58px;
        margin-top: 4px;
    }

    .h2h-driver-color-marker {
        width: 4px;
        height: 23px;
        flex-basis: 4px;
    }
}

/* =========================================================
   H2H — AJUSTES DE LEGIBILIDAD v2
   ========================================================= */

/* Los porcentajes de ritmo permanecen siempre en una sola línea. */
.driver-profile-versus-value {
    white-space: nowrap;
}

/* En los H2H por temporada desaparece el carril gris genérico.
   Solo son visibles los tramos que representan colores del equipo. */
.h2h-seasonal-comparison .h2h-seasonal-balance-track {
    border-color: transparent;
    background: transparent;
}

.h2h-seasonal-comparison .driver-profile-balance-segment.is-season-loser,
.h2h-seasonal-comparison .driver-profile-balance-segment.is-season-zero {
    background: transparent !important;
}

/* Perfil de piloto: la comparativa acumulada usa Inter y las cifras
   indican únicamente ganar/perder/empatar mediante blanco o gris. */
.driver-profile-page .driver-profile-comparison-section,
.driver-profile-page .driver-profile-comparison-section * {
    font-family: "Inter", sans-serif !important;
}

.driver-profile-page .driver-profile-comparison-section .driver-profile-versus-value.is-left-winner,
.driver-profile-page .driver-profile-comparison-section .driver-profile-versus-value.is-right-winner,
.driver-profile-page .driver-profile-comparison-section .driver-profile-versus-value.is-tie {
    color: #F4F5F7 !important;
}

.driver-profile-page .driver-profile-comparison-section .driver-profile-versus-value.is-loser {
    color: #6D737B !important;
}

.driver-profile-page .driver-profile-comparison-section .driver-profile-versus-value.is-zero,
.driver-profile-page .driver-profile-comparison-section .driver-profile-versus-value.is-zero-value {
    color: #555B63 !important;
}

/* Perfil de piloto · fila acumulada del H2H por compañero. */
.driver-profile-h2h-combined {
    background: rgba(255, 255, 255, 0.035);
}

.driver-profile-h2h-combined td {
    border-bottom-color: rgba(255, 255, 255, 0.16);
}

.driver-profile-h2h-combined .driver-profile-h2h-name strong {
    color: #ffffff;
    font-weight: 700;
}

/* Récords: nombres de pilotos navegables hacia su perfil. */
.record-driver-link {
    min-width: 0;
    overflow: hidden;
    color: #F0F1F3;
    font-size: 0.78rem;
    font-weight: 650;
    line-height: 1.25;
    text-decoration: none;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.record-driver-link:hover {
    color: #FFFFFF;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.record-summary-driver-link {
    display: block;
    margin-top: 3px;
    font-size: 0.92rem;
    font-weight: 750;
}

.record-holder-context-entity .record-driver-link {
    font-size: 0.8rem;
}

/* Tarjetas de Récords: la tarjeta conserva su enlace y el nombre del piloto
   puede abrir su perfil de forma independiente. */
.record-card > *:not(.record-card-overlay-link) {
    position: relative;
    z-index: 2;
    pointer-events: none;
}

.record-card-overlay-link {
    position: absolute;
    z-index: 1;
    inset: 0;
    border-radius: inherit;
}

.record-card-pilot-link {
    position: relative;
    z-index: 3;
    pointer-events: auto !important;
    color: #D9DCE1;
    text-decoration: none;
}

.record-card-pilot-link:hover {
    color: #FFFFFF;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.record-card-holder-name {
    min-width: 0;
    overflow: hidden;
    font-size: 0.76rem;
    font-weight: 650;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}


/* =========================================================
   PERFIL DE PILOTO — comparativa acumulada más compacta
   ========================================================= */
.driver-profile-page .driver-profile-comparison-section .driver-profile-versus {
    width: min(100%, 1040px);
    margin-left: auto;
    margin-right: auto;
}

@media (max-width: 1120px) {
    .driver-profile-page .driver-profile-comparison-section .driver-profile-versus {
        width: 100%;
    }
}

/* =========================================================
   PERFIL DE PILOTO — detalle clicable de estadísticas
   ========================================================= */
.driver-profile-stat.stat-special-wins {
    --profile-number-color: #F2D477;
}

.driver-profile-stat.is-clickable {
    cursor: pointer;
    transition:
        transform 0.16s ease,
        border-color 0.16s ease,
        background-color 0.16s ease;
}

.driver-profile-stat.is-clickable:hover,
.driver-profile-stat.is-clickable:focus-visible {
    transform: translateY(-2px);
    border-color: rgba(255, 255, 255, 0.2) !important;
    background: #252930 !important;
    outline: none;
}

.driver-profile-stat.is-clickable:focus-visible {
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.12);
}

.driver-profile-stat-achievements {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 1px;
}

.driver-profile-stat-achievements small {
    max-width: 100%;
    display: inline-flex;
    align-items: center;
    padding: 3px 6px;
    border-left: 3px solid var(--achievement-color, #D8B45A);
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.055);
    color: rgba(255, 255, 255, 0.84) !important;
    font-family: "Inter", sans-serif;
    font-size: 0.61rem;
    font-weight: 650;
    line-height: 1.15;
    white-space: normal;
}

.driver-profile-stat-dialog {
    width: min(660px, calc(100vw - 32px));
    max-height: min(760px, calc(100vh - 48px));
    padding: 0;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 18px;
    background: #1B1E23;
    color: #F4F5F6;
    box-shadow: 0 28px 80px rgba(0, 0, 0, 0.55);
    font-family: "Inter", sans-serif;
}

.driver-profile-stat-dialog::backdrop {
    background: rgba(5, 6, 8, 0.72);
    backdrop-filter: blur(4px);
}

.driver-profile-stat-dialog-shell {
    position: relative;
    max-height: min(760px, calc(100vh - 48px));
    padding: 24px;
    overflow-y: auto;
}

.driver-profile-stat-dialog-close {
    width: 32px;
    height: 32px;
    position: absolute;
    top: 16px;
    right: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 999px;
    background: #25282E;
    color: #D7DADE;
    font: inherit;
    font-size: 1.2rem;
    line-height: 1;
    cursor: pointer;
}

.driver-profile-stat-dialog-close:hover {
    background: #30343B;
    color: #FFFFFF;
}

.driver-profile-stat-detail-kicker {
    color: #969CA5;
    font-size: 0.68rem;
    font-weight: 750;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.driver-profile-stat-detail h3 {
    margin: 4px 44px 0 0;
    color: #FFFFFF;
    font-family: "Inter", sans-serif;
    font-size: 1.45rem;
    font-weight: 750;
}

.driver-profile-stat-detail > p {
    margin: 5px 0 18px;
    color: #969CA5;
    font-size: 0.76rem;
}

.driver-profile-stat-event-list {
    display: grid;
    gap: 7px;
}

.driver-profile-stat-event {
    min-height: 58px;
    display: grid;
    grid-template-columns: 4px minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 10px;
    background: #202329;
    color: inherit;
    text-decoration: none;
}

a.driver-profile-stat-event:hover {
    border-color: rgba(255, 255, 255, 0.16);
    background: #262A31;
}

.driver-profile-stat-event-marker {
    width: 4px;
    height: 34px;
    border-radius: 999px;
    background: var(--event-category-color, #737982);
}

.driver-profile-stat-event-copy {
    min-width: 0;
    display: grid;
    gap: 3px;
}

.driver-profile-stat-event-copy strong {
    overflow: hidden;
    color: #F5F6F7;
    font-family: "Inter", sans-serif;
    font-size: 0.84rem;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.driver-profile-stat-event-copy small {
    overflow: hidden;
    color: #969CA5;
    font-size: 0.69rem;
    font-weight: 500;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.driver-profile-stat-event > b {
    color: #FFFFFF;
    font-size: 0.76rem;
    font-weight: 750;
    white-space: nowrap;
}

@media (max-width: 620px) {
    .driver-profile-stat-dialog-shell {
        padding: 20px 14px 16px;
    }

    .driver-profile-stat-event {
        grid-template-columns: 4px minmax(0, 1fr);
    }

    .driver-profile-stat-event > b {
        grid-column: 2;
        justify-self: start;
    }
}

/* =========================================================
   GP INDIVIDUAL · RUTA GENERAL DE MUNDIALSIM
   ========================================================= */

.gp-general-page {
    --category-color: var(--accent);
    color: #f1f2f4;
}

.gp-general-hero::before {
    content: none !important;
    background-image: none !important;
}

.gp-general-hero::after {
    background: var(--category-color);
}

.gp-general-hero .section-hero-kicker {
    color: var(--category-color);
}

.gp-general-hero {
    min-height: 255px;
}

.gp-general-hero .section-hero-content {
    z-index: 2;
}

.gp-general-category-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.gp-general-category-logo {
    width: 30px;
    height: 22px;
    flex: 0 0 auto;
    object-fit: contain;
    object-position: center;
}

.gp-general-circuit-layout {
    width: min(58%, 560px);
    height: 170%;
    position: absolute;
    top: -35%;
    right: -5%;
    z-index: 1;
    object-fit: contain;
    object-position: center;
    opacity: 0.11;
    pointer-events: none;
    transform: scale(1.12);
}

.gp-general-title-row {
    display: flex;
    align-items: center;
    gap: 16px;
}

.gp-general-flag {
    width: clamp(46px, 5.2vw, 68px);
    height: clamp(29px, 3.25vw, 43px);
    flex: 0 0 auto;
    object-fit: contain;
    filter: drop-shadow(0 5px 10px rgba(0, 0, 0, 0.24));
}

.gp-general-toolbar {
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-top: 14px;
    padding: 0 15px;
    border: 1px solid #383b41;
    border-radius: 12px;
    background: #222428;
    color: #aeb2b8;
    font-size: 0.78rem;
    font-weight: 650;
}

.gp-general-toolbar a {
    color: #f1f2f4;
    text-decoration: none;
}

.gp-general-toolbar a:hover {
    color: var(--category-color);
}

.gp-general-tabs {
    display: flex;
    gap: 7px;
    margin-top: 20px;
    overflow-x: auto;
    padding-bottom: 2px;
    scrollbar-width: none;
}

.gp-general-tabs::-webkit-scrollbar {
    display: none;
}

.gp-general-tab {
    min-height: 42px;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 17px;
    border: 1px solid #42454b;
    border-radius: 10px;
    background: #222428;
    color: #c8cbd0;
    font-size: 0.78rem;
    font-weight: 800;
    text-decoration: none;
    transition: border-color 140ms ease, background 140ms ease, color 140ms ease;
}

.gp-general-tab:hover {
    border-color: color-mix(in srgb, var(--category-color) 62%, #42454b);
    color: #ffffff;
}

.gp-general-tab.is-active {
    border-color: var(--category-color);
    background: var(--category-color);
    color: #17191d;
}

.gp-general-panel {
    width: fit-content;
    max-width: 100%;
    margin: 14px 0 52px;
    overflow: hidden;
    border: 1px solid #3b3e44;
    border-radius: 18px;
    background: #17191d;
    box-shadow: 0 14px 35px rgba(0, 0, 0, 0.17);
}

.gp-general-heading {
    min-height: 78px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 15px 20px;
    border-bottom: 1px solid #3b3e44;
    background: #1c1e22;
}

.gp-general-heading h2 {
    margin: 2px 0 0;
    color: #ffffff;
    font-size: clamp(1.5rem, 2.6vw, 2.05rem);
    letter-spacing: -0.025em;
}

.gp-general-kicker {
    color: var(--category-color);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.gp-session-meta {
    display: flex;
    align-items: center;
    gap: 14px;
    color: #b4b8be;
    font-size: 0.78rem;
    font-weight: 650;
}

.gp-condition {
    margin-left: 3px;
    font-weight: 800;
}

.gp-condition-dry {
    color: #E74C3C;
}

.gp-condition-wet {
    color: #5B9BD5;
}

.gp-condition-mixed {
    color: #70AD47;
}

.gp-flag-to-flag {
    padding: 4px 8px;
    border: 1px solid rgba(255, 209, 102, 0.38);
    border-radius: 999px;
    color: #ffd166;
    font-size: 0.68rem;
    font-weight: 800;
}

.gp-general-table-scroll {
    width: fit-content;
    max-width: 100%;
    overflow-x: auto;
}

.gp-general-table {
    width: max-content;
    min-width: 0;
    border-collapse: collapse;
    color: #e7e8ea;
    font-size: 0.84rem;
    font-weight: 500;
    font-variant-numeric: tabular-nums;
}

.gp-general-table th,
.gp-general-table td {
    height: 36px;
    padding: 5px 11px;
    border-bottom: 1px solid #30333a;
    text-align: center;
    vertical-align: middle;
    white-space: nowrap;
}

.gp-general-table th {
    height: 34px;
    background: #111318;
    color: #bfc3c9;
    font-size: 0.71rem;
    font-weight: 650;
    letter-spacing: 0.045em;
    text-transform: uppercase;
}

.gp-general-table tbody tr {
    background: #17191d;
    transition: background 130ms ease;
}

.gp-general-table tbody tr:hover {
    background: #1d2025;
}

.gp-general-table tbody tr:last-child td {
    border-bottom: 0;
}

.gp-general-table .gp-left {
    text-align: left;
}

.gp-position,
.gp-points {
    color: #ffffff;
    font-weight: 650;
}

.gp-position.is-pole,
.gp-general-table td.is-pole {
    color: var(--category-color);
}

.gp-racing-number {
    display: inline-block;
    color: var(--team-primary, #d4d6da);
    font-size: 0.98rem;
    font-weight: 700;
    line-height: 1;
}

.gp-racing-number::after {
    content: none;
}

.gp-driver-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #ffffff;
    font-weight: 600;
    text-decoration: none;
}

.gp-driver-link:hover {
    color: var(--category-color);
}

.gp-team-logo-heading,
.gp-team-logo-cell {
    width: 54px;
    min-width: 54px;
    text-align: center !important;
}

.gp-team-logo-cell {
    padding-left: 8px !important;
    padding-right: 8px !important;
}

.gp-team-logo-identity {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
}

.gp-team-logo-identity::before {
    content: "";
    width: 3px;
    height: 22px;
    flex: 0 0 3px;
    border-radius: 2px;
    background: var(--team-primary, #6f737a);
}

.gp-team-logo {
    width: 28px;
    height: 22px;
    display: block;
    margin: 0;
    object-fit: contain;
}

.gp-driver-number {
    color: var(--team-primary, #d4d6da);
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
}

.gp-guest-mark {
    color: #747982;
    font-size: inherit;
    font-weight: 600;
    line-height: inherit;
    vertical-align: baseline;
}

.standing-movement-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 17px;
    height: 17px;
    margin-left: 8px;
    border-radius: 5px;
    flex: 0 0 auto;
    vertical-align: middle;
}

.standing-movement-mark svg {
    width: 9px;
    height: 9px;
    fill: currentColor;
}

.standing-movement-mark.is-promoted {
    background: rgba(59, 130, 246, 0.18);
    color: #4C93FF;
}

.standing-movement-mark.is-relegated {
    background: rgba(239, 68, 68, 0.18);
    color: #F0605C;
}

.standing-relegated-name {
    color: #9A9EA6;
}

.gp-driver-link img {
    width: 23px;
    height: 14px;
    flex: 0 0 auto;
    object-fit: contain;
    border: 0;
}

.gp-q1-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 25px;
    min-height: 18px;
    padding: 0 4px;
    border-radius: 5px;
    background: #51545a;
    color: #ffffff;
    font-size: 0.68rem;
    font-weight: 700;
}

.gp-qualifying-table tr.is-q1-eliminated td {
    background: rgba(255, 255, 255, 0.025);
}

.gp-race-gap {
    position: relative;
    display: inline-block;
}

.gp-race-gap sup {
    position: absolute;
    top: -0.45em;
    left: 100%;
    margin-left: 3px;
    color: var(--category-color);
    font-size: 0.58rem;
    font-style: italic;
    font-weight: 700;
    line-height: 1;
}

.gp-race-table tr.result-win td:first-child {
    color: #ffd76a;
}

.gp-race-table tr.result-second td:first-child {
    color: #d8dde4;
}

.gp-race-table tr.result-third td:first-child {
    color: #cf9365;
}

.gp-race-table tr.result-retired {
    color: #8f949c;
}

.gp-race-table tr.result-retired .gp-position {
    color: #8f949c;
    font-weight: 650;
}

.gp-race-table tr.result-retired .gp-driver-link {
    color: #8f949c;
}

.gp-race-table tr.result-retired .gp-driver-link:hover {
    color: #a7abb2;
}

.gp-race-table tr.result-retired .gp-team-label {
    color: #8f949c;
}

.gp-standings-table tr.is-championship-leader td:first-child {
    color: var(--category-color);
}

.gp-gap-points {
    color: #92979e;
}

.gp-movement {
    min-width: 28px;
    min-height: 23px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    font-size: 0.7rem;
    font-weight: 700;
}

.gp-movement.movement-up {
    background: rgba(112, 173, 71, 0.18);
    color: #8bc768;
}

.gp-movement.movement-down {
    background: rgba(237, 125, 49, 0.16);
    color: #f29a61;
}

.gp-movement.movement-neutral {
    color: #747981;
}


.gp-team-identity {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #ffffff;
    font-weight: 500;
    line-height: 1.05;
}

.gp-team-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.gp-team-label::before {
    content: "";
    width: 3px;
    height: 1em;
    flex: 0 0 3px;
    border-radius: 2px;
    background: var(--team-primary, #6f737a);
}

.gp-team-identity img {
    width: 24px;
    height: 20px;
    flex: 0 0 24px;
    object-fit: contain;
}

.gp-team-name {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: #ffffff;
    font-weight: 600;
}

.gp-team-name::before {
    content: "";
    width: 5px;
    height: 24px;
    flex: 0 0 auto;
    border-radius: 999px;
    background: linear-gradient(
        to bottom,
        var(--team-primary, #55585e) 0 50%,
        var(--team-secondary, #8b8f96) 50% 100%
    );
}

.gp-qualifying-table .gp-team-column,
.gp-race-table .gp-team-column,
.gp-driver-standings-table .gp-team-column {
    min-width: 170px;
    padding-left: 17px;
    padding-right: 17px;
}

.gp-qualifying-gap {
    color: #aeb2b8;
}

.gp-general-empty {
    height: 120px !important;
    color: #8f949b;
    text-align: center !important;
}

@media (max-width: 820px) {
    .gp-general-title-row {
        gap: 11px;
    }

    .gp-general-flag {
        width: 42px;
        height: 27px;
    }

    .gp-general-category-logo {
        width: 26px;
        height: 19px;
    }

    .gp-general-circuit-layout {
        width: min(64%, 430px);
        right: -10%;
        opacity: 0.09;
    }

    .gp-general-hero {
        min-height: 235px;
        padding-right: 26px;
    }

    .gp-general-toolbar {
        align-items: flex-start;
        flex-direction: column;
        justify-content: center;
        padding: 11px 14px;
    }

    .gp-general-heading {
        align-items: flex-start;
        flex-direction: column;
        min-height: auto;
    }

    .gp-session-meta {
        flex-wrap: wrap;
    }

    .gp-general-tab {
        min-height: 39px;
        padding: 0 13px;
    }
}

/* Coches: clasificación por fases, neumáticos e IndyCar */
.gp-qualifying-table tr.has-qualifying-separator td {
    border-bottom-width: 3px;
    border-bottom-color: #5a5e66;
}

.gp-speed-toggle {
    padding: 4px 8px;
    border: 1px solid #43474f;
    border-radius: 6px;
    background: #17191d;
    color: #d7d9dd;
    font: inherit;
    font-size: 0.7rem;
    font-weight: 600;
    cursor: pointer;
}

.gp-speed-toggle:hover {
    border-color: var(--category-color);
    color: #ffffff;
}

.gp-tire-chip,
.gp-tire-code {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border: 2px solid var(--tire-color, #d7d9dd);
    border-radius: 50%;
    color: var(--tire-color, #d7d9dd);
    font-size: 0.68rem;
    font-weight: 700;
    line-height: 1;
}

.gp-tire-chip img {
    width: 18px;
    height: 18px;
    object-fit: contain;
}

.gp-tire-history {
    display: table-cell;
}

.gp-tire-history .gp-tire-code + .gp-tire-code {
    margin-left: 7px;
}

/* Fórmula Regional · Carrera: historial de neumáticos como letras, sin iconos ni círculos. */
.gp-tire-history .gp-tire-code {
    width: auto;
    height: auto;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--tire-color, #d7d9dd);
    font-size: 0.78rem;
    font-weight: 800;
    line-height: 1;
}

.gp-tire-history .gp-tire-code-h {
    -webkit-text-stroke: 0.25px #666666;
    text-shadow: 0 0 1px #444444;
}

.gp-tire-code-s { --tire-color: #E10600; }
.gp-tire-code-m { --tire-color: #FFD400; }
.gp-tire-code-h { --tire-color: #F2F2F2; }
.gp-tire-code-i { --tire-color: #00A651; }
.gp-tire-code-w { --tire-color: #0072CE; }

.compact-circuit-layout {
    width: 66px;
    height: 42px;
    flex: 0 0 auto;
    object-fit: contain;
    object-position: center;
    opacity: 0.92;
}

@media (max-width: 720px) {
    .calendar-category-logo {
        width: 38px;
        height: 28px;
    }

    .compact-circuit-layout {
        width: 56px;
        height: 36px;
    }
}

.gp-tire-code img {
    width: 18px;
    height: 18px;
    object-fit: contain;
}

/* =========================================================
   DENSIDAD MÓVIL GLOBAL
   Más contenido visible sin alterar el zoom real del navegador.
   ========================================================= */
@media (max-width: 720px) {
    html {
        font-size: 14px;
    }

    .site-navigation {
        min-height: 52px;
        gap: 12px;
        padding: 0 8px;
    }

    .site-brand,
    .site-brand img {
        width: 28px;
        height: 28px;
    }

    .site-brand {
        flex-basis: 28px;
    }

    .navigation-links {
        gap: 1px;
    }

    .navigation-link {
        min-height: 52px;
        padding: 0 8px;
        font-size: 0.74rem;
    }

    .navigation-link::after {
        right: 8px;
        left: 8px;
        height: 2px;
    }

    .home-page {
        padding: 8px;
    }

    .hero {
        min-height: 190px;
        padding: 22px 16px;
        border-radius: 14px;
    }

    .hero-kicker,
    .section-kicker,
    .section-hero-kicker,
    .placeholder-label {
        margin-bottom: 5px;
        font-size: 0.66rem;
        letter-spacing: 0.13em;
    }

    .hero h1 {
        font-size: clamp(2.9rem, 15vw, 4.7rem);
        line-height: 0.9;
    }

    .hero p {
        margin-top: 12px;
        font-size: 0.9rem;
        line-height: 1.35;
    }

    .section-hero {
        min-height: 158px;
        padding: 20px 16px;
        border-radius: 14px;
    }

    .section-hero::before {
        width: 180px;
        height: 180px;
        top: -112px;
        right: -92px;
        border-width: 30px;
    }

    .section-hero::after {
        width: 170px;
        height: 7px;
        right: -70px;
        bottom: 28px;
    }

    .section-hero h1 {
        font-size: clamp(2.25rem, 11vw, 3.45rem);
        line-height: 0.94;
    }

    .section-hero p {
        margin-top: 10px;
        font-size: 0.84rem;
        line-height: 1.38;
    }

    .home-section {
        margin-top: 26px;
    }

    .section-heading,
    .results-list-heading,
    .calendar-list-heading,
    .drivers-list-heading,
    .teams-list-heading,
    .statistics-table-heading,
    .record-ranking-heading,
    .driver-profile-section-heading {
        margin-bottom: 11px;
    }

    .section-heading h2,
    .results-list-heading h2,
    .calendar-list-heading h2,
    .drivers-list-heading h2,
    .teams-list-heading h2,
    .statistics-table-heading h2,
    .record-ranking-heading h2 {
        font-size: 1.55rem;
    }

    .results-list-section,
    .calendar-list-section,
    .drivers-list-section,
    .teams-list-section,
    .statistics-table-section,
    .record-ranking-section {
        padding-top: 24px;
        padding-bottom: 34px;
    }

    .championship-grid,
    .next-round-grid,
    .calendar-category-grid,
    .drivers-grid,
    .teams-grid,
    .driver-pairs-grid,
    .record-holder-context-grid {
        gap: 11px;
    }

    .championship-card,
    .next-round-card {
        padding: 14px;
        border-radius: 14px;
    }

    .card-topline {
        gap: 12px;
        padding-bottom: 11px;
    }

    .championship-controls,
    .statistics-filter-panel,
    .h2h-selector-panel,
    .record-detail-summary {
        gap: 10px;
        margin-top: 12px;
        padding: 11px;
        border-radius: 12px;
    }

    .season-selector {
        gap: 7px;
    }

    .season-selector label {
        gap: 4px;
        font-size: 0.64rem;
    }

    .season-selector select,
    .season-selector button,
    .statistics-filter-form select,
    .statistics-filter-form input,
    .statistics-filter-actions button,
    .statistics-filter-actions a,
    .h2h-selector-form select,
    .h2h-selector-form button,
    .h2h-driver-search {
        min-height: 36px;
        padding-top: 6px;
        padding-bottom: 6px;
        border-radius: 8px;
        font-size: 0.78rem;
    }

    .category-tabs {
        gap: 5px;
        margin-top: 12px;
    }

    .category-tab {
        min-height: 34px;
        padding: 0 10px;
        font-size: 0.7rem;
    }

    .calendar-category-card {
        border-radius: 13px;
    }

    .calendar-category-header {
        min-height: auto;
        gap: 8px;
        padding: 11px 12px;
    }

    .calendar-category-logo {
        width: 32px;
        height: 24px;
    }

    .calendar-category-header h2 {
        font-size: 1.28rem;
    }

    .calendar-category-progress,
    .calendar-progress,
    .drivers-round-progress,
    .teams-round-progress,
    .results-count {
        font-size: 0.67rem;
    }

    .calendar-compact-head,
    .calendar-compact-row {
        padding-top: 6px;
        padding-bottom: 6px;
    }

    .compact-circuit-layout {
        width: 56px;
        height: 36px;
    }

    .driver-team-pair,
    .team-profile-card,
    .record-card,
    .driver-profile-hero,
    .driver-profile-section {
        border-radius: 14px;
    }

    .driver-pair-heading {
        min-height: 48px;
        padding: 8px 10px;
    }

    .driver-pair-team img {
        width: 21px;
        height: 21px;
    }

    .driver-pair-team strong {
        font-size: 0.76rem;
    }

    .driver-card-media {
        height: 102px;
    }

    .driver-pair-cards .driver-identity {
        padding: 9px 10px 8px;
    }

    .driver-pair-cards .driver-stats {
        margin: 0 10px 9px;
    }

    .driver-pair-cards .driver-stat {
        padding: 7px 2px;
    }

    .driver-card-footer {
        padding: 8px 10px 9px;
    }

    .team-profile-header,
    .team-profile-stats {
        padding-left: 11px;
        padding-right: 11px;
    }

    .statistics-filter-panel {
        margin-bottom: 12px;
    }

    .statistics-filter-form {
        gap: 8px;
    }

    .statistics-table-scroll,
    .record-ranking-scroll,
    .driver-profile-h2h-scroll {
        border-radius: 10px;
    }

    .statistics-table,
    .record-ranking-table,
    .driver-profile-h2h-table {
        font-size: 0.74rem;
    }

    .statistics-table th,
    .statistics-table td,
    .record-ranking-table th,
    .record-ranking-table td,
    .driver-profile-h2h-table th,
    .driver-profile-h2h-table td {
        padding-top: 6px;
        padding-bottom: 6px;
    }

    .record-card {
        padding: 13px;
    }

    .record-card h3 {
        font-size: 1.05rem;
    }

    .record-card-value {
        margin-top: 10px;
        font-size: 1.55rem;
    }

    .driver-profile-page {
        gap: 12px;
    }

    .driver-profile-hero {
        min-height: 160px;
        padding: 15px;
    }

    .driver-profile-identity {
        min-height: 126px;
        gap: 14px;
    }

    .driver-profile-photo-wrap {
        width: 88px;
        height: 108px;
        flex-basis: 88px;
        border-radius: 10px;
    }

    .driver-profile-name-line {
        gap: 8px;
        margin-top: 4px;
    }

    .driver-profile-name-line h1 {
        font-size: clamp(2rem, 10vw, 2.8rem);
    }

    .driver-profile-flag {
        width: 28px;
        height: 18px;
    }

    .driver-profile-titles-summary {
        gap: 5px;
        margin-top: 10px;
    }

    .driver-profile-titles-summary span {
        padding: 4px 6px;
        font-size: 0.68rem;
    }

    .driver-profile-section {
        padding: 14px;
    }

    .driver-profile-section-heading h2 {
        font-size: 1.3rem;
    }

    .driver-profile-section-heading p {
        margin-top: 4px;
        font-size: 0.74rem;
    }

    .driver-profile-stat-grid {
        gap: 6px;
    }

    .driver-profile-stat {
        min-height: 76px;
        gap: 5px;
        padding: 9px;
        border-radius: 9px;
    }

    .driver-profile-stat span,
    .driver-profile-stat small {
        font-size: 0.64rem;
    }

    .driver-profile-stat strong {
        font-size: 1.42rem;
    }

    .driver-profile-versus-row {
        min-height: 48px;
        grid-template-columns: 58px minmax(150px, 1fr) 58px;
        column-gap: 6px;
        padding-top: 7px;
        padding-bottom: 7px;
    }

    .driver-profile-versus-row.stat-pace {
        min-height: 48px;
    }

    .driver-profile-balance-track {
        height: 13px;
    }

    .h2h-page {
        width: min(980px, calc(100% - 12px));
        padding-top: 20px;
        padding-bottom: 40px;
    }

    .gp-general-hero {
        min-height: 165px;
        padding-right: 18px;
    }

    .gp-general-title-row {
        gap: 8px;
    }

    .gp-general-flag {
        width: 34px;
        height: 22px;
    }

    .gp-general-category-logo {
        width: 22px;
        height: 16px;
    }

    .gp-general-circuit-layout {
        width: 72%;
        height: 150%;
        top: -25%;
        right: -18%;
        opacity: 0.08;
    }

    .gp-general-toolbar {
        min-height: 40px;
        gap: 8px;
        margin-top: 9px;
        padding: 8px 10px;
        border-radius: 9px;
        font-size: 0.72rem;
    }

    .gp-general-tabs {
        gap: 5px;
        margin-top: 12px;
    }

    .gp-general-tab {
        min-height: 34px;
        padding: 0 10px;
        font-size: 0.72rem;
    }

    .gp-general-panel {
        margin-top: 10px;
        margin-bottom: 30px;
        border-radius: 12px;
    }

    .gp-general-table {
        font-size: 0.77rem;
    }

    .gp-general-table th,
    .gp-general-table td {
        height: 32px;
        padding: 4px 8px;
    }

    .gp-general-table th {
        height: 30px;
        font-size: 0.66rem;
    }
}

@media (max-width: 420px) {
    html {
        font-size: 13.5px;
    }

    .home-page {
        padding: 6px;
    }

    .section-hero {
        min-height: 148px;
        padding: 18px 14px;
    }

    .hero {
        min-height: 180px;
        padding: 20px 14px;
    }

    .navigation-link {
        padding-right: 7px;
        padding-left: 7px;
    }

    .championship-card,
    .next-round-card,
    .driver-profile-section {
        padding: 12px;
    }
}

/* =========================================================
   MÓVIL · INFORMACIÓN ESENCIAL Y REFERENCIAS FIJAS
   ========================================================= */
.mobile-label,
.statistics-mobile-team-mark {
    display: none;
}

/* Perfil: trayectoria y mejor circuito */
.driver-profile-stat.stat-trajectory {
    overflow: hidden;
}

.driver-profile-trajectory {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 8px;
    overflow-x: auto;
    padding: 2px 1px 1px;
    scrollbar-width: thin;
}

.driver-profile-trajectory-team {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: grid;
    place-items: center;
    padding: 5px;
    border: 1px solid color-mix(in srgb, var(--trajectory-team-color) 55%, #50545b);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.035);
}

.driver-profile-trajectory-team img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
}

.driver-profile-trajectory-team span {
    color: #f2f3f4;
    font-size: 0.72rem;
    font-weight: 750;
    letter-spacing: 0.04em;
}

.driver-profile-trajectory-arrow {
    flex: 0 0 auto;
    color: #676c74;
    font-style: normal;
    font-size: 1.2rem;
    line-height: 1;
}

.driver-profile-stat.stat-best-circuit {
    position: relative;
    isolation: isolate;
    overflow: hidden;
}

.driver-profile-stat.stat-best-circuit > *:not(.driver-profile-best-circuit-layout) {
    position: relative;
    z-index: 2;
}

.driver-profile-best-circuit-layout {
    width: min(62%, 280px);
    height: 165%;
    position: absolute;
    top: -32%;
    right: -7%;
    z-index: 1;
    object-fit: contain;
    object-position: center;
    opacity: 0.11;
    pointer-events: none;
    transform: scale(1.18);
}

.h2h-compact-driver {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
}

.h2h-compact-flag {
    width: 20px;
    height: 13px;
    object-fit: contain;
}

@media (max-width: 720px) {
    .desktop-label {
        display: none !important;
    }

    .mobile-label {
        display: inline !important;
    }

    .mobile-hide-affiliation,
    .mobile-hide-number {
        display: none !important;
    }

    /* Índice de resultados: sin equipo y sin ancho artificial. */
    .season-results-table {
        width: 100%;
        min-width: 0;
        table-layout: fixed;
        font-size: 0.72rem;
    }

    .season-results-table th,
    .season-results-table td {
        padding: 6px 5px;
    }

    .result-round-column {
        width: 38px;
    }

    .result-round-number {
        width: 23px;
        height: 23px;
        border-radius: 6px;
        font-size: 0.7rem;
    }

    .result-grand-prix {
        min-width: 0;
        gap: 5px;
    }

    .result-grand-prix > div {
        min-width: 0;
    }

    .result-grand-prix-link {
        display: block;
        overflow: hidden;
        font-size: 0.72rem;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .result-grand-prix small,
    .result-gp-flag {
        display: none;
    }

    .result-winner {
        min-width: 0;
        gap: 4px;
    }

    .result-winner .result-flag {
        width: 19px;
        height: 12px;
    }

    .mobile-driver-abbr {
        position: relative;
        padding-left: 6px;
        font-weight: 700;
    }

    .mobile-driver-abbr::before {
        content: "";
        width: 3px;
        height: 1em;
        position: absolute;
        left: 0;
        top: 50%;
        border-radius: 999px;
        background: var(--mobile-team-color, #777777);
        transform: translateY(-50%);
    }

    .result-number-column {
        width: 42px;
        font-size: 0.68rem;
    }

    .result-time-column {
        width: 72px;
        font-size: 0.67rem;
    }

    .result-link-column {
        width: 28px;
    }

    .result-open-link {
        width: 23px;
        height: 23px;
        border-radius: 6px;
        font-size: 0.8rem;
    }

    /* Campeonato general: la afiliación del piloto no ocupa una columna. */
    .standings-layout .summary-standings-table,
    .standings-layout .team-summary-table,
    .summary-standings-table,
    .team-summary-table {
        width: 100%;
        min-width: 0;
    }

    .summary-standings-table th,
    .summary-standings-table td {
        padding: 6px 7px !important;
    }

    .standing-position {
        width: 38px;
    }

    .position-number {
        width: 24px;
        height: 24px;
        border-radius: 6px;
        font-size: 0.72rem;
    }

    .mobile-sticky-identity {
        min-width: 76px;
        position: sticky;
        left: 38px;
        z-index: 3;
        background: #222428;
        box-shadow: 7px 0 12px rgba(0, 0, 0, 0.16);
    }

    .summary-standings-table thead th:nth-child(2) {
        position: sticky;
        left: 38px;
        z-index: 5;
        background: #17191d;
    }

    .mobile-sticky-identity .standing-driver {
        position: relative;
        gap: 5px;
        padding-left: 5px;
    }

    .mobile-sticky-identity .standing-driver::before {
        content: "";
        width: 3px;
        height: 15px;
        flex: 0 0 3px;
        border-radius: 999px;
        background: var(--mobile-team-color, #777777);
    }

    .standing-driver-flag {
        width: 20px;
        height: 13px;
    }

    .standing-driver strong,
    .standing-team-cell {
        font-size: 0.72rem;
    }

    .standing-points {
        width: 52px;
        font-size: 0.8rem;
    }

    .team-summary-table .standing-driver {
        gap: 5px;
    }

    .team-summary-table .standing-team-logo {
        width: 18px;
        height: 18px;
    }

    .mobile-manufacturer-column {
        width: 42px;
        max-width: 52px;
        padding-right: 4px !important;
        padding-left: 4px !important;
        overflow: hidden;
        font-size: 0.68rem;
        text-align: center !important;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    /* GP: piloto/identidad siempre visibles al desplazar tablas largas. */
    .gp-general-table-scroll {
        max-width: calc(100vw - 16px);
    }

    .gp-general-table {
        font-size: 0.72rem;
    }

    .gp-general-table th,
    .gp-general-table td {
        height: 30px;
        padding: 4px 6px;
    }

    .gp-general-table th:first-child,
    .gp-general-table td:first-child {
        width: 32px;
        min-width: 32px;
        position: sticky;
        left: 0;
        z-index: 7;
        background: #17191d;
    }

    .gp-general-table thead th:first-child {
        z-index: 10;
        background: #111318;
    }

    .gp-general-table .mobile-sticky-identity,
    .gp-general-table .mobile-team-sticky-identity {
        width: 86px;
        min-width: 86px;
        max-width: 86px;
        position: sticky;
        left: 32px;
        z-index: 6;
        padding-left: 7px;
        background: #17191d;
        box-shadow: 7px 0 12px rgba(0, 0, 0, 0.22), inset 3px 0 var(--mobile-team-color, #777777);
    }

    .gp-general-table thead th:nth-child(3) {
        z-index: 9;
    }

    .gp-driver-link {
        gap: 4px;
    }

    .gp-driver-link img {
        width: 19px;
        height: 12px;
    }

    .gp-driver-link .mobile-label,
    .mobile-team-sticky-identity .mobile-label {
        font-weight: 650;
        letter-spacing: 0.02em;
    }

    .mobile-team-sticky-identity .gp-team-identity {
        gap: 4px;
    }

    .mobile-team-sticky-identity .gp-team-identity img {
        width: 18px;
        height: 18px;
    }

    .mobile-team-sticky-identity .gp-team-label::before {
        display: none;
    }

    /* Macrotabla: referencia compacta fija = logo/color de equipo + abreviatura. */
    .statistics-table.is-compact .statistics-position-column {
        width: 24px !important;
        min-width: 24px !important;
        max-width: 24px !important;
    }

    .statistics-table.is-compact .statistics-driver-column,
    .statistics-table.is-team-table .statistics-driver-column {
        left: 24px !important;
        width: 82px !important;
        min-width: 82px !important;
        max-width: 82px !important;
        box-shadow: 7px 0 12px rgba(0, 0, 0, 0.24);
    }

    .statistics-table.is-compact .statistics-driver,
    .statistics-table.is-compact .statistics-team {
        min-height: 30px !important;
        display: flex;
        align-items: center;
        gap: 5px;
        padding: 2px 4px !important;
    }

    .statistics-mobile-team-mark {
        width: 17px;
        height: 17px;
        flex: 0 0 17px;
        display: grid;
        place-items: center;
    }

    .statistics-mobile-team-mark img {
        width: 17px;
        height: 17px;
        object-fit: contain;
    }

    .statistics-mobile-team-mark i {
        width: 3px;
        height: 15px;
        display: block;
        border-radius: 999px;
        background: var(--mobile-team-color, #777777);
    }

    .statistics-driver-flag,
    .statistics-driver-icons,
    .statistics-current-category-line {
        display: none !important;
    }

    .statistics-driver-name,
    .statistics-team-name {
        min-width: 0;
        flex: 1 1 auto;
    }

    .statistics-table.is-compact .statistics-driver-name strong,
    .statistics-table.is-compact .statistics-team-name strong {
        overflow: hidden;
        font-size: 0.7rem;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .statistics-table.is-compact .statistics-team-logo,
    .statistics-table.is-compact .statistics-team-logo-placeholder {
        width: 17px;
        height: 17px;
        flex: 0 0 17px;
    }

    .statistics-top-scroll {
        margin-bottom: 4px;
    }

    /* H2H: nombres abreviados y bandera en espacios estrechos. */
    .h2h-compact-driver .mobile-label.h2h-compact-flag {
        display: inline-block !important;
    }

    .h2h-comparison-section .driver-profile-versus-head strong {
        min-width: 0;
        font-size: 0.72rem;
    }

    .h2h-seasonal-versus-head strong {
        gap: 3px;
    }

    .driver-profile-h2h-table {
        min-width: 760px;
    }

    .driver-profile-h2h-table th:first-child,
    .driver-profile-h2h-table td:first-child {
        width: 86px;
        min-width: 86px;
        max-width: 86px;
        position: sticky;
        left: 0;
        z-index: 4;
        padding-right: 5px;
        padding-left: 5px;
        background: #17191d;
        box-shadow: 7px 0 12px rgba(0, 0, 0, 0.18);
    }

    .driver-profile-h2h-table thead th:first-child {
        z-index: 7;
    }

    .driver-profile-h2h-name img {
        width: 19px;
        height: 12px;
        margin-right: 4px;
    }

    /* Perfil: tarjetas visuales compactas. */
    .driver-profile-trajectory {
        gap: 5px;
    }

    .driver-profile-trajectory-team {
        width: 32px;
        height: 32px;
        flex-basis: 32px;
        padding: 4px;
        border-radius: 8px;
    }

    .driver-profile-trajectory-arrow {
        font-size: 0.95rem;
    }

    .driver-profile-best-circuit-layout {
        width: 58%;
        height: 170%;
        right: -10%;
        opacity: 0.1;
    }
}

@media (max-width: 420px) {
    .season-results-table {
        font-size: 0.68rem;
    }

    .result-round-column {
        width: 34px;
    }

    .result-number-column {
        width: 38px;
    }

    .result-time-column {
        width: 65px;
    }

    .gp-general-table .mobile-sticky-identity,
    .gp-general-table .mobile-team-sticky-identity {
        width: 78px;
        min-width: 78px;
        max-width: 78px;
    }

    .statistics-table.is-compact .statistics-driver-column,
    .statistics-table.is-team-table .statistics-driver-column {
        width: 76px !important;
        min-width: 76px !important;
        max-width: 76px !important;
    }
}

/* =========================================================
   MÓVIL · AJUSTES FINOS DE TABLAS Y REFERENCIAS
   ========================================================= */
.statistics-mobile-name-abbr,
.statistics-mobile-category-marks {
    display: none;
}

@media (max-width: 720px) {
    /* GP específico: el panel y la tabla aprovechan todo el ancho disponible. */
    .gp-general-panel {
        width: 100%;
        max-width: 100%;
    }

    .gp-general-table-scroll {
        width: 100%;
        max-width: 100%;
    }

    .gp-general-table {
        min-width: 100%;
    }

    /* Campeonatos: nombres completos de pilotos/equipos cuando caben. */
    .standings-layout .mobile-sticky-identity {
        width: auto;
        min-width: 0;
        max-width: none;
    }

    .standings-layout .mobile-sticky-identity .standing-driver strong,
    .team-summary-table .standing-driver strong {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    /* Campeonato de fabricantes: nombre completo y puntos siempre visibles. */
    .manufacturer-summary-table {
        width: 100% !important;
        min-width: 0 !important;
        table-layout: fixed;
    }

    .manufacturer-summary-table .standing-position {
        width: 38px;
    }

    .manufacturer-summary-table .standing-points {
        width: 54px;
        padding-right: 6px !important;
        padding-left: 6px !important;
        text-align: right !important;
    }

    .manufacturer-summary-table th:nth-child(2),
    .manufacturer-summary-table td:nth-child(2) {
        width: auto;
        min-width: 0;
    }

    .manufacturer-summary-table .nationality-cell {
        min-width: 0;
        gap: 5px !important;
    }

    .manufacturer-summary-table .nationality-cell strong {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .manufacturer-summary-table .nationality-cell img {
        width: 19px;
        height: 12px;
    }

    /* Macrotablas: nombre completo al inicio, abreviatura solo tras desplazar. */
    .statistics-table.is-compact .statistics-driver-column {
        left: 24px !important;
        width: 158px !important;
        min-width: 158px !important;
        max-width: 158px !important;
    }

    .statistics-table.is-team-table .statistics-driver-column {
        width: 172px !important;
        min-width: 172px !important;
        max-width: 172px !important;
    }

    .statistics-driver-flag {
        width: 19px !important;
        height: 12px !important;
        flex: 0 0 19px;
        display: block !important;
    }

    .statistics-mobile-name-full {
        display: inline !important;
    }

    .statistics-mobile-name-abbr {
        display: none;
    }

    .statistics-mobile-category-marks {
        position: absolute;
        right: 4px;
        bottom: 2px;
        z-index: 2;
        display: inline-flex;
        align-items: center;
        gap: 2px;
        pointer-events: none;
    }

    .statistics-mobile-category-marks i {
        width: 7px;
        height: 3px;
        display: block;
        border-radius: 999px;
        background: var(--marker-color, #777777);
    }

    .statistics-table.is-compact .statistics-driver,
    .statistics-table.is-compact .statistics-team {
        position: relative;
        padding-right: 8px !important;
    }

    .statistics-table.is-mobile-scrolled .statistics-driver-column {
        width: 94px !important;
        min-width: 94px !important;
        max-width: 94px !important;
    }

    .statistics-table.is-team-table.is-mobile-scrolled .statistics-driver-column {
        width: 104px !important;
        min-width: 104px !important;
        max-width: 104px !important;
    }

    .statistics-table.is-mobile-scrolled .statistics-mobile-name-full {
        display: none !important;
    }

    .statistics-table.is-mobile-scrolled .statistics-mobile-name-abbr {
        display: inline !important;
        overflow: hidden;
        font-size: 0.69rem;
        font-weight: 700;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .statistics-table.is-mobile-scrolled .statistics-driver,
    .statistics-table.is-mobile-scrolled .statistics-team {
        gap: 4px;
    }

    .statistics-table.is-mobile-scrolled .statistics-team-logo,
    .statistics-table.is-mobile-scrolled .statistics-team-logo-placeholder {
        width: 17px;
        height: 17px;
        flex: 0 0 17px;
    }

    .statistics-table.is-mobile-scrolled .statistics-mobile-category-marks {
        right: 3px;
        bottom: 1px;
    }

    .statistics-table.is-mobile-scrolled .statistics-mobile-category-marks i {
        width: 6px;
        height: 3px;
    }
}

@media (max-width: 420px) {
    .statistics-table.is-compact .statistics-driver-column {
        width: 146px !important;
        min-width: 146px !important;
        max-width: 146px !important;
    }

    .statistics-table.is-team-table .statistics-driver-column {
        width: 158px !important;
        min-width: 158px !important;
        max-width: 158px !important;
    }

    .statistics-table.is-mobile-scrolled .statistics-driver-column {
        width: 90px !important;
        min-width: 90px !important;
        max-width: 90px !important;
    }

    .statistics-table.is-team-table.is-mobile-scrolled .statistics-driver-column {
        width: 98px !important;
        min-width: 98px !important;
        max-width: 98px !important;
    }
}

/* =========================================================
   MÓVIL · ajuste fino de GP, perfil y equipos
   ========================================================= */
@media (max-width: 720px) {
    /* GP general: toda la información esencial entra en el ancho del móvil. */
    .gp-general-table-scroll {
        width: 100%;
        max-width: 100%;
        overflow-x: auto;
    }

    .gp-general-table {
        width: 100%;
        min-width: 0;
        max-width: 100%;
        table-layout: fixed;
        font-size: 0.68rem;
    }

    .gp-general-table th,
    .gp-general-table td {
        height: 29px;
        padding-right: 3px;
        padding-left: 3px;
    }

    .gp-general-table th:first-child,
    .gp-general-table td:first-child {
        width: 28px;
        min-width: 28px;
        max-width: 28px;
    }

    .gp-general-table .mobile-sticky-identity {
        width: auto;
        min-width: 0;
        max-width: none;
        left: 28px;
        padding-right: 3px;
        padding-left: 5px;
    }

    .gp-driver-link {
        min-width: 0;
        gap: 3px;
        font-size: 0.66rem;
        white-space: nowrap;
    }

    .gp-driver-link img {
        width: 17px;
        height: 11px;
    }

    .gp-qualifying-table th:nth-child(1),
    .gp-qualifying-table td:nth-child(1) { width: 8%; }
    .gp-qualifying-table th:nth-child(3),
    .gp-qualifying-table td:nth-child(3) { width: 44%; }
    .gp-qualifying-table th:nth-child(5),
    .gp-qualifying-table td:nth-child(5) { width: 18%; }
    .gp-qualifying-table th:nth-child(6),
    .gp-qualifying-table td:nth-child(6) { width: 18%; }
    .gp-qualifying-table th:nth-child(7),
    .gp-qualifying-table td:nth-child(7) { width: 12%; }

    .gp-race-table th:nth-child(1),
    .gp-race-table td:nth-child(1) { width: 7%; }
    .gp-race-table th:nth-child(3),
    .gp-race-table td:nth-child(3) { width: 35%; }
    .gp-race-table th:nth-child(5),
    .gp-race-table td:nth-child(5) { width: 9%; }
    .gp-race-table th:nth-child(6),
    .gp-race-table td:nth-child(6) { width: 19%; }
    .gp-race-table th:nth-child(7),
    .gp-race-table td:nth-child(7) { width: 9%; }
    .gp-race-table th:nth-child(n+8),
    .gp-race-table td:nth-child(n+8) { width: 7%; }

    .gp-standings-table th:nth-child(1),
    .gp-standings-table td:nth-child(1) { width: 8%; }
    .gp-standings-table th:nth-child(3),
    .gp-standings-table td:nth-child(3) { width: 46%; }
    .gp-standings-table th:nth-child(5),
    .gp-standings-table td:nth-child(5) { width: 16%; }
    .gp-standings-table th:nth-child(6),
    .gp-standings-table td:nth-child(6) { width: 15%; }
    .gp-standings-table th:nth-child(7),
    .gp-standings-table td:nth-child(7) { width: 15%; }

    /* En la pestaña de equipos no hay dorsal: Equipo + Pts + Dif + movimiento. */
    .gp-standings-table .mobile-team-sticky-identity {
        width: auto;
        min-width: 0;
        max-width: none;
        left: 28px;
        padding-right: 3px;
        padding-left: 5px;
    }

    .gp-standings-table th:nth-child(2),
    .gp-standings-table td:nth-child(2) { width: 46%; }
    .gp-standings-table th:nth-child(3),
    .gp-standings-table td:nth-child(3) { width: 16%; }
    .gp-standings-table th:nth-child(4),
    .gp-standings-table td:nth-child(4) { width: 15%; }
    .gp-standings-table th:nth-child(5),
    .gp-standings-table td:nth-child(5) { width: 15%; }

    .mobile-team-sticky-identity .gp-team-identity {
        min-width: 0;
        gap: 3px;
        font-size: 0.66rem;
        white-space: nowrap;
    }

    .mobile-team-sticky-identity .gp-team-identity img {
        width: 16px;
        height: 16px;
    }

    /* Comparativa acumulada: nombres compactos y valores de ritmo alejados del borde. */
    .driver-profile-versus-head strong {
        font-size: 0.72rem;
    }

    .driver-profile-versus-value.is-self {
        padding-right: 4px;
    }

    .driver-profile-versus-value.is-other {
        padding-left: 4px;
    }

    /* Equipos: dupla horizontal real y visuales algo más pequeños. */
    .team-inline-roster {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 4px;
        margin-right: 10px;
        margin-left: 10px;
        padding: 8px 7px;
    }

    .team-inline-driver {
        gap: 3px;
    }

    .team-inline-driver.is-right {
        justify-content: flex-end;
    }

    .team-inline-flag {
        width: 17px;
        height: 11px;
    }

    .team-inline-driver strong,
    .team-inline-driver span {
        font-size: 0.61rem;
    }

    .team-showcase-visual {
        min-height: 116px;
        grid-template-columns: minmax(0, 1.55fr) minmax(68px, 0.7fr);
        gap: 7px;
        padding: 5px 10px 3px 0;
    }

    .team-motorcycle-window {
        height: 104px;
    }

    .team-motorcycle-image {
        width: 145%;
        height: 145%;
        transform: translateX(-12%);
    }

    .team-showcase-logo {
        height: 64px;
    }

    .team-showcase-visual.no-motorcycle {
        min-height: 108px;
        padding: 10px 14px;
    }

    .team-showcase-visual.no-motorcycle .team-showcase-logo {
        width: min(70%, 220px);
        height: 76px;
    }
}
@media (max-width: 720px) {
    .gp-driver-standings-table th:nth-child(1),
    .gp-driver-standings-table td:nth-child(1) { width: 8%; }
    .gp-driver-standings-table th:nth-child(3),
    .gp-driver-standings-table td:nth-child(3) { width: 46%; }
    .gp-driver-standings-table th:nth-child(5),
    .gp-driver-standings-table td:nth-child(5) { width: 16%; }
    .gp-driver-standings-table th:nth-child(6),
    .gp-driver-standings-table td:nth-child(6) { width: 15%; }
    .gp-driver-standings-table th:nth-child(7),
    .gp-driver-standings-table td:nth-child(7) { width: 15%; }

    .gp-team-standings-table th:nth-child(1),
    .gp-team-standings-table td:nth-child(1) { width: 8%; }
    .gp-team-standings-table th:nth-child(2),
    .gp-team-standings-table td:nth-child(2) { width: 46%; }
    .gp-team-standings-table th:nth-child(3),
    .gp-team-standings-table td:nth-child(3) { width: 16%; }
    .gp-team-standings-table th:nth-child(4),
    .gp-team-standings-table td:nth-child(4) { width: 15%; }
    .gp-team-standings-table th:nth-child(5),
    .gp-team-standings-table td:nth-child(5) { width: 15%; }
}


/* =========================================================
   MÓVIL · MACROTABLA PILOTOS · IDENTIDAD VIGENTE
   ========================================================= */
@media (max-width: 720px) {
    /*
       En pilotos mostramos únicamente la categoría vigente:
       bandera + nombre completo + logros + línea vertical.
       Los marcadores históricos de múltiples categorías no se usan.
    */
    .statistics-table:not(.is-team-table) .statistics-mobile-category-marks {
        display: none !important;
    }

    .statistics-table:not(.is-team-table) .statistics-driver {
        position: relative;
        padding-right: 7px !important;
    }

    .statistics-table:not(.is-team-table) .statistics-driver-icons {
        max-width: 48px;
        display: flex !important;
        flex: 0 0 auto;
        flex-wrap: wrap;
        align-items: center;
        justify-content: flex-end;
        gap: 1px;
        padding-right: 1px;
    }

    .statistics-table:not(.is-team-table) .statistics-achievement-icon .achievement-icon-svg {
        width: 10px;
        height: 10px;
    }

    .statistics-table:not(.is-team-table) .statistics-current-category-line {
        width: 3px;
        height: 72%;
        position: absolute;
        top: 14%;
        right: 0;
        display: block !important;
        border-radius: 999px 0 0 999px;
        background: var(--current-category-color);
    }

    /* Al desplazarnos: abreviatura + bandera + línea vigente. */
    .statistics-table:not(.is-team-table).is-mobile-scrolled .statistics-driver-icons {
        display: none !important;
    }

    .statistics-table:not(.is-team-table).is-mobile-scrolled .statistics-current-category-line {
        display: block !important;
    }
}


/* =========================================================
   MÓVIL · MACROTABLA EQUIPOS · IDENTIDAD VIGENTE
   ========================================================= */
@media (max-width: 720px) {
    /*
       Igual que en pilotos: en la identidad fija solo se usa la
       categoría vigente. El logo del equipo se mantiene como distintivo.
    */
    .statistics-table.is-team-table .statistics-mobile-category-marks {
        display: none !important;
    }

    .statistics-table.is-team-table .statistics-team {
        position: relative;
        padding-right: 7px !important;
    }

    .statistics-table.is-team-table .statistics-driver-icons {
        max-width: 48px;
        display: flex !important;
        flex: 0 0 auto;
        flex-wrap: wrap;
        align-items: center;
        justify-content: flex-end;
        gap: 1px;
        padding-right: 1px;
    }

    .statistics-table.is-team-table .statistics-achievement-icon .achievement-icon-svg {
        width: 10px;
        height: 10px;
    }

    .statistics-table.is-team-table .statistics-current-category-line {
        width: 3px;
        height: 72%;
        position: absolute;
        top: 14%;
        right: 0;
        display: block !important;
        border-radius: 999px 0 0 999px;
        background: var(--current-category-color);
    }

    /* Al desplazarnos: abreviatura + logo + línea vigente. */
    .statistics-table.is-team-table.is-mobile-scrolled .statistics-driver-icons {
        display: none !important;
    }

    .statistics-table.is-team-table.is-mobile-scrolled .statistics-current-category-line {
        display: block !important;
    }
}

/* =========================================================
   MÓVIL · MACROTABLAS · NOMBRE Y LOGROS SIN SUPERPOSICIÓN
   ========================================================= */
@media (max-width: 720px) {
    /*
       La identidad se divide en zonas reales e independientes:
       bandera/logo | nombre | logros. El nombre nunca puede invadir
       el espacio reservado a estrellas, trofeos o coronas.
    */
    .statistics-table.is-compact:not(.is-team-table) .statistics-driver {
        display: grid !important;
        grid-template-columns: 19px minmax(0, 1fr) auto;
        column-gap: 5px;
        align-items: center;
    }

    .statistics-table.is-compact.is-team-table .statistics-team {
        display: grid !important;
        grid-template-columns: 17px minmax(0, 1fr) auto;
        column-gap: 5px;
        align-items: center;
    }

    .statistics-table.is-compact .statistics-driver-name,
    .statistics-table.is-compact .statistics-team-name {
        width: 100%;
        min-width: 0 !important;
        max-width: 100%;
        overflow: hidden !important;
    }

    .statistics-table.is-compact .statistics-driver-name strong,
    .statistics-table.is-compact .statistics-team-name strong,
    .statistics-table.is-compact .statistics-driver-name .driver-name-link {
        width: 100%;
        min-width: 0 !important;
        max-width: 100%;
        display: block;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    .statistics-table.is-compact .statistics-mobile-name-full {
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .statistics-table.is-compact .statistics-driver-icons {
        width: auto;
        min-width: 0;
        max-width: 52px;
        flex: none !important;
        justify-self: end;
        overflow: hidden;
    }

    /* Algo más de espacio inicial para nombres largos + logros. */
    .statistics-table.is-compact:not(.is-team-table) .statistics-driver-column {
        width: 176px !important;
        min-width: 176px !important;
        max-width: 176px !important;
    }

    .statistics-table.is-compact.is-team-table .statistics-driver-column {
        width: 190px !important;
        min-width: 190px !important;
        max-width: 190px !important;
    }

    /* En modo abreviado los logros desaparecen y el nombre recupera su espacio. */
    .statistics-table.is-mobile-scrolled:not(.is-team-table) .statistics-driver,
    .statistics-table.is-team-table.is-mobile-scrolled .statistics-team {
        grid-template-columns: 19px minmax(0, 1fr);
    }

    .statistics-table.is-team-table.is-mobile-scrolled .statistics-team {
        grid-template-columns: 17px minmax(0, 1fr);
    }

    .statistics-table.is-mobile-scrolled .statistics-mobile-name-abbr {
        width: 100%;
        max-width: 100%;
        display: block !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }
}

@media (max-width: 420px) {
    .statistics-table.is-compact:not(.is-team-table):not(.is-mobile-scrolled) .statistics-driver-column {
        width: 166px !important;
        min-width: 166px !important;
        max-width: 166px !important;
    }

    .statistics-table.is-compact.is-team-table:not(.is-mobile-scrolled) .statistics-driver-column {
        width: 180px !important;
        min-width: 180px !important;
        max-width: 180px !important;
    }
}

/* =========================================================
   MÓVIL · MACROTABLAS · ANCHO COMPACTO AL MOSTRAR ABREVIATURA
   ========================================================= */
@media (max-width: 720px) {
    /*
       El ancho grande solo pertenece al estado con nombre completo + logros.
       Al entrar en modo desplazado, la identidad se contrae junto con la
       abreviatura para no dejar un bloque vacío a su derecha.
    */
    .statistics-table.is-compact.is-mobile-scrolled:not(.is-team-table) .statistics-driver-column {
        width: 94px !important;
        min-width: 94px !important;
        max-width: 94px !important;
    }

    .statistics-table.is-compact.is-team-table.is-mobile-scrolled .statistics-driver-column {
        width: 104px !important;
        min-width: 104px !important;
        max-width: 104px !important;
    }
}

@media (max-width: 420px) {
    .statistics-table.is-compact.is-mobile-scrolled:not(.is-team-table) .statistics-driver-column {
        width: 90px !important;
        min-width: 90px !important;
        max-width: 90px !important;
    }

    .statistics-table.is-compact.is-team-table.is-mobile-scrolled .statistics-driver-column {
        width: 98px !important;
        min-width: 98px !important;
        max-width: 98px !important;
    }
}


/* =========================================================
   CALENDARIO · trazado decorativo como fondo
   El trazado deja de reservar una columna propia y pasa a ser
   un elemento visual semitransparente detrás del texto.
   ========================================================= */
.calendar-compact-head,
.calendar-compact-row {
    grid-template-columns: 34px minmax(0, 1fr);
}

.calendar-compact-row {
    position: relative;
    isolation: isolate;
    overflow: hidden;
}

.calendar-compact-row .compact-round-number,
.calendar-compact-row .compact-grand-prix {
    position: relative;
    z-index: 2;
}

.compact-grand-prix,
.compact-grand-prix-text,
.compact-gp-title {
    min-width: 0;
    overflow: visible;
}

.compact-grand-prix-text {
    width: 100%;
}

.compact-grand-prix-text a,
.compact-grand-prix-text strong,
.compact-grand-prix-text small {
    max-width: none;
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
}

.compact-layout-heading {
    display: none;
}

.compact-layout-cell {
    width: 122px;
    height: 92px;
    position: absolute;
    top: 50%;
    right: 18px;
    left: auto;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: visible;
    pointer-events: none;
    transform: translateY(-50%);
}

.compact-circuit-layout {
    width: 118px !important;
    height: 80px !important;
    max-width: none;
    flex: 0 0 auto;
    object-fit: contain;
    object-position: center;
    opacity: 0.11 !important;
    transform: scale(1.12);
}

.compact-no-layout {
    display: none;
}

@media (min-width: 1280px) {
    .calendar-category-grid.has-four-categories
    .calendar-compact-head,
    .calendar-category-grid.has-four-categories
    .calendar-compact-row {
        grid-template-columns: 31px minmax(0, 1fr);
    }

    .calendar-category-grid.has-four-categories
    .compact-layout-cell {
        right: 14px;
        left: auto;
        width: 108px;
    }

    .calendar-category-grid.has-four-categories
    .compact-circuit-layout {
        width: 106px !important;
        height: 74px !important;
    }
}

@media (max-width: 720px) {
    .calendar-compact-head,
    .calendar-compact-row {
        grid-template-columns: 30px minmax(0, 1fr);
        gap: 7px;
    }

    .compact-layout-cell {
        right: 10px;
        left: auto;
        width: 108px;
        height: 82px;
    }

    .compact-circuit-layout {
        width: 104px !important;
        height: 72px !important;
        opacity: 0.10 !important;
        transform: scale(1.1);
    }
}

/* =========================================================
   ADMINS · estadísticas + perfil
   ========================================================= */
.statistics-admin-column {
    min-width: 190px;
}

.statistics-admin-identity {
    min-width: 0;
}

.statistics-admin-link {
    display: block;
    min-width: 0;
    overflow: hidden;
    color: inherit;
    font-weight: 700;
    text-decoration: none;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.statistics-admin-link:hover {
    color: var(--accent, #f2a51a);
}

.statistics-table.is-admin-table tr.is-retired-admin .statistics-admin-link {
    color: #777b82;
}

.statistics-table.is-admin-table tr.is-retired-admin .statistics-admin-link:hover {
    color: #8f949c;
}

.admin-profile-page {
    width: min(1180px, calc(100% - 36px));
    margin: 0 auto 56px;
}

.admin-profile-hero {
    margin-bottom: 22px;
}

.admin-career-section {
    border: 1px solid rgba(255, 255, 255, 0.10);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.025);
    overflow: hidden;
}

.admin-career-heading {
    padding: 22px 24px 18px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.admin-career-heading > span {
    color: var(--accent, #f2a51a);
    font: 700 12px/1.2 Inter, sans-serif;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.admin-career-heading h2 {
    margin: 5px 0 4px;
    font: 700 30px/1 Barlow Semi Condensed, sans-serif;
}

.admin-career-heading p {
    margin: 0;
    color: #92969e;
    font-size: 13px;
}

.admin-career-list {
    display: grid;
}

.admin-career-row {
    position: relative;
    display: grid;
    grid-template-columns: 82px minmax(0, 1fr) 82px;
    gap: 16px;
    align-items: center;
    min-height: 72px;
    padding: 12px 22px 12px 26px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}

.admin-career-row:last-child {
    border-bottom: 0;
}

.admin-career-row::before {
    content: "";
    position: absolute;
    inset: 12px auto 12px 0;
    width: 4px;
    border-radius: 0 4px 4px 0;
    background: var(--admin-category-color, #777);
}

.admin-career-year {
    font: 700 22px/1 Barlow Semi Condensed, sans-serif;
}

.admin-career-main {
    min-width: 0;
    display: grid;
    gap: 2px;
}

.admin-career-category {
    color: var(--admin-category-color, #aaa);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.admin-career-main strong {
    overflow: hidden;
    font-size: 15px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-career-main small {
    color: #8d929a;
    font-size: 11px;
}

.admin-career-activity {
    display: grid;
    justify-items: end;
    gap: 2px;
}

.admin-career-activity span {
    color: #858a92;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .08em;
}

.admin-career-activity strong {
    font-size: 17px;
}

.admin-career-empty {
    padding: 28px 24px;
    color: #8e939b;
}

@media (max-width: 720px) {
    .statistics-table.is-admin-table .statistics-admin-column {
        min-width: 145px;
        width: 145px;
        max-width: 145px;
    }

    .statistics-table.is-admin-table .statistics-admin-link {
        font-size: 10px;
    }

    .admin-profile-page {
        width: calc(100% - 16px);
        margin-bottom: 32px;
    }

    .admin-career-heading {
        padding: 16px;
    }

    .admin-career-heading h2 {
        font-size: 25px;
    }

    .admin-career-row {
        grid-template-columns: 52px minmax(0, 1fr) 54px;
        gap: 9px;
        min-height: 60px;
        padding: 9px 10px 9px 15px;
    }

    .admin-career-year {
        font-size: 18px;
    }

    .admin-career-main strong {
        font-size: 12px;
    }

    .admin-career-category,
    .admin-career-main small {
        font-size: 9px;
    }

    .admin-career-activity strong {
        font-size: 14px;
    }
}

/* =========================================================
   ADMINS · identidad de una sola columna
   Un admin no tiene bandera/logo/logros dentro de la celda,
   así que no debe heredar el grid de identidad de pilotos.
   ========================================================= */
.statistics-table.is-admin-table .statistics-admin-column {
    width: 260px;
    min-width: 260px;
    max-width: none;
}

.statistics-table.is-admin-table .statistics-admin-identity {
    min-height: 26px !important;
    display: flex !important;
    grid-template-columns: none !important;
    align-items: center;
    padding: 0 12px !important;
}

.statistics-table.is-admin-table .statistics-admin-link {
    width: max-content;
    max-width: none;
    overflow: visible;
    text-overflow: clip;
    white-space: nowrap;
}

@media (max-width: 720px) {
    .statistics-table.is-admin-table .statistics-admin-column {
        width: 190px;
        min-width: 190px;
        max-width: none;
    }

    .statistics-table.is-admin-table .statistics-admin-identity {
        padding: 0 8px !important;
    }
}


/* =========================================================
   ADMINS · ancho intrínseco + perfil con logos
   La columna de Admin se adapta al nombre más largo realmente
   presente en la tabla, sin reservar un ancho fijo artificial.
   ========================================================= */
.statistics-table.is-admin-table .statistics-admin-column {
    width: 1% !important;
    min-width: 0 !important;
    max-width: none !important;
}

.statistics-table.is-admin-table .statistics-admin-identity {
    width: max-content !important;
    min-width: 0 !important;
    display: inline-flex !important;
    padding: 0 10px !important;
}

.statistics-table.is-admin-table .statistics-admin-link {
    width: max-content !important;
    max-width: none !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
}

.admin-career-year,
.admin-career-activity strong {
    color: #ffffff !important;
}

.admin-career-main {
    grid-template-columns: 38px minmax(0, 1fr);
    column-gap: 10px;
    align-items: center;
}

.admin-career-team-logo-wrap {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
}

.admin-career-team-logo {
    width: 34px;
    height: 34px;
    display: block;
    object-fit: contain;
}

.admin-career-team-logo-placeholder {
    width: 28px;
    height: 28px;
    display: block;
}

.admin-career-team-copy {
    min-width: 0;
    display: grid;
    gap: 2px;
}

@media (max-width: 720px) {
    .statistics-table.is-admin-table .statistics-admin-column {
        width: 1% !important;
        min-width: 0 !important;
        max-width: none !important;
    }

    .statistics-table.is-admin-table .statistics-admin-identity {
        width: max-content !important;
        padding: 0 7px !important;
    }

    .admin-career-main {
        grid-template-columns: 30px minmax(0, 1fr);
        column-gap: 7px;
    }

    .admin-career-team-logo-wrap {
        width: 30px;
        height: 30px;
    }

    .admin-career-team-logo {
        width: 27px;
        height: 27px;
    }

    .admin-career-team-logo-placeholder {
        width: 23px;
        height: 23px;
    }
}

/* =========================================================
   ADMINS · identidad con logros + perfil simplificado
   ========================================================= */
.statistics-table.is-admin-table .statistics-admin-column,
.statistics-table.is-admin-table thead .statistics-admin-column {
    width: 1% !important;
    min-width: 0 !important;
    max-width: none !important;
    text-align: left !important;
}

.statistics-table.is-admin-table thead .statistics-admin-column .statistics-sort-button {
    justify-content: flex-start !important;
    text-align: left !important;
}

.statistics-table.is-admin-table .statistics-admin-identity {
    width: max-content !important;
    min-width: 0 !important;
    display: inline-grid !important;
    grid-template-columns: max-content max-content !important;
    align-items: center !important;
    column-gap: 8px !important;
    padding: 0 10px !important;
    text-align: left !important;
}

.statistics-table.is-admin-table .statistics-admin-link {
    width: max-content !important;
    min-width: max-content !important;
    max-width: none !important;
    display: block !important;
    overflow: visible !important;
    color: inherit;
    text-align: left !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
}

.statistics-table.is-admin-table .statistics-admin-icons {
    width: max-content !important;
    max-width: none !important;
    display: inline-flex !important;
    flex: 0 0 auto !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 2px !important;
    padding: 0 !important;
}

.statistics-table.is-admin-table .stat-col-admin-teams {
    background: #4C535D !important;
    color: #FFFFFF !important;
}

.admin-career-heading h2,
.admin-career-team-copy strong {
    color: #FFFFFF !important;
}

.admin-career-team-copy {
    display: block !important;
}

.admin-career-team-copy strong {
    display: block;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
}

/* En la trayectoria del admin ya no se muestran categoría ni nombre histórico. */
.admin-career-category,
.admin-career-main small {
    display: none !important;
}

@media (max-width: 720px) {
    .statistics-table.is-admin-table .statistics-admin-column,
    .statistics-table.is-admin-table thead .statistics-admin-column {
        width: 1% !important;
        min-width: 0 !important;
        max-width: none !important;
    }

    .statistics-table.is-admin-table .statistics-admin-identity {
        width: max-content !important;
        grid-template-columns: max-content max-content !important;
        column-gap: 5px !important;
        padding: 0 7px !important;
    }

    .statistics-table.is-admin-table .statistics-admin-icons,
    .statistics-table.is-admin-table.is-mobile-scrolled .statistics-admin-icons {
        display: inline-flex !important;
        max-width: none !important;
        flex-wrap: nowrap !important;
    }

    .statistics-table.is-admin-table .statistics-admin-icons .achievement-icon-svg {
        width: 10px;
        height: 10px;
    }

    .admin-career-team-copy strong {
        font-size: 12px;
    }
}

/* =========================================================
   ADMINS · móvil · ancho estrictamente intrínseco
   La columna se contrae hasta el contenido más ancho real
   (nombre + logros), sin heredar los anchos fijos de equipos.
   ========================================================= */
@media (max-width: 720px) {
    .statistics-table.is-compact.is-team-table.is-admin-table .statistics-admin-column,
    .statistics-table.is-compact.is-team-table.is-admin-table thead .statistics-admin-column,
    .statistics-table.is-compact.is-team-table.is-admin-table.is-mobile-scrolled .statistics-admin-column {
        width: 1px !important;
        min-width: 1px !important;
        max-width: none !important;
    }

    .statistics-table.is-compact.is-team-table.is-admin-table .statistics-admin-identity {
        width: max-content !important;
        min-width: max-content !important;
        max-width: none !important;
        padding-right: 5px !important;
        padding-left: 5px !important;
    }

    .statistics-table.is-compact.is-team-table.is-admin-table thead .statistics-admin-column .statistics-sort-button {
        width: max-content !important;
        min-width: max-content !important;
        justify-content: flex-start !important;
    }
}


/* =========================================================
   CALENDARIO · alineación temporal de Regional
   Cada hueco ocupa una fila normal, exactamente igual de alta
   que el resto del calendario. En móvil se omiten los huecos.
   ========================================================= */
@media (min-width: 721px) {
    /* En la vista de cuatro categorías todas las líneas tienen exactamente
       la misma altura para conservar la alineación horizontal. */
    .calendar-category-grid.has-four-categories .calendar-compact-row {
        height: 60px;
        min-height: 60px;
        box-sizing: border-box;
    }

    .calendar-compact-row.is-calendar-spacer {
        height: 60px;
        min-height: 60px;
        padding: 7px 12px;
        box-sizing: border-box;
        background: #222428;
        border-bottom: 1px solid #373a40;
        pointer-events: none;
    }

    .calendar-compact-row.is-calendar-spacer:hover {
        background: #222428;
    }
}

@media (max-width: 720px) {
    .calendar-compact-row.is-calendar-spacer {
        display: none;
    }
}

/* GP Regional/Promoción: pilotos sin academia no muestran identidad visual. */
.gp-general-table .mobile-sticky-identity.gp-no-affiliation {
    --mobile-team-color: transparent;
}

/* Promoción: destino de ascenso identificado por el logo de la categoría. */
.standing-promotion-logo-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 18px;
    margin-left: 7px;
    flex: 0 0 30px;
    vertical-align: middle;
    overflow: hidden;
}

.standing-promotion-logo-mark img,
.standing-promotion-category-logo {
    display: block !important;
    width: 30px !important;
    height: 18px !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: 30px !important;
    max-height: 18px !important;
    object-fit: contain !important;
    object-position: center !important;
}

.standing-promotion-logo-fallback {
    font-size: 0.68rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.02em;
}

/* Macrotabla de coches: identidad visual por categoría */
.statistics-table tbody td.stat-col-f1,
.statistics-table thead th.stat-col-f1 {
    background: #E53935 !important;
    color: #FFFFFF !important;
}
.statistics-table tbody td.stat-col-f2,
.statistics-table thead th.stat-col-f2 {
    background: #2C9BE8 !important;
    color: #FFFFFF !important;
}
.statistics-table tbody td.stat-col-indycar,
.statistics-table thead th.stat-col-indycar {
    background: #39B54A !important;
    color: #FFFFFF !important;
}
.statistics-table tbody td.stat-col-regional-promo,
.statistics-table thead th.stat-col-regional-promo {
    background: #A5A5A5 !important;
    color: #FFFFFF !important;
}

/* Olimpo: los iconos quedan centrados exactamente con la línea del nombre. */
.olympus-achievement-icons {
    align-self: center;
    line-height: 0;
}
.olympus-achievement-icons .achievement-icon-svg {
    display: block;
}

/* H2H: dos bloques principales plegables y composición más compacta. */
.h2h-main-disclosure {
    margin: 14px 0;
    border: 1px solid rgba(255, 255, 255, 0.10);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.025);
    overflow: hidden;
}
.h2h-main-disclosure > summary {
    cursor: pointer;
    list-style: none;
    padding: 13px 16px;
    color: #FFFFFF;
    font-family: "Barlow Semi Condensed", sans-serif;
    font-size: 18px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.h2h-main-disclosure > summary::-webkit-details-marker { display: none; }
.h2h-main-disclosure > summary::after {
    content: "+";
    float: right;
    font-size: 20px;
    line-height: 1;
}
.h2h-main-disclosure[open] > summary::after { content: "−"; }
.h2h-disclosure-content { padding: 0 12px 12px; }
.h2h-page .h2h-selector-section,
.h2h-page .h2h-seasonal-block,
.h2h-page .driver-profile-comparison-section {
    margin-top: 8px;
    margin-bottom: 8px;
}
.h2h-page .h2h-selector-form,
.h2h-page .h2h-seasonal-selector-form {
    gap: 10px;
    padding: 12px;
}
.h2h-page .driver-profile-versus {
    padding: 10px 12px;
}
.h2h-page .driver-profile-versus-head {
    min-height: 32px;
    margin-bottom: 4px;
}
.h2h-page .driver-profile-versus-row {
    min-height: 34px;
    padding: 3px 0;
}
.h2h-page .driver-profile-versus-label { font-size: 11px; }
.h2h-page .driver-profile-versus-value { font-size: 14px; }
.h2h-page .driver-profile-balance-track { height: 5px; }
.h2h-page .driver-profile-section-heading { margin-bottom: 8px; }
.h2h-page .driver-profile-section-heading h2 { margin: 2px 0 3px; }
.h2h-page .driver-profile-section-heading p { margin: 0; }
.h2h-page .h2h-shared-note { margin: 7px 0 0; }

/* Perfil de piloto: separación de estadísticas de coches y motos. */
.driver-profile-discipline-toggle {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-top: 16px;
    padding: 4px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.035);
}
.driver-profile-discipline-toggle a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 78px;
    padding: 7px 14px;
    border-radius: 999px;
    color: rgba(255, 255, 255, 0.62);
    font-size: 0.82rem;
    font-weight: 650;
    text-decoration: none;
    transition: background .16s ease, color .16s ease;
}
.driver-profile-discipline-toggle a.is-active {
    background: rgba(255, 255, 255, 0.13);
    color: #fff;
}

/* Macrotabla coches: conserva la escala de intensidad de las demás categorías. */
.statistics-table tbody td.is-stat-scaled.stat-col-f1,
.statistics-table tbody td.is-stat-scaled.stat-col-f2,
.statistics-table tbody td.is-stat-scaled.stat-col-indycar,
.statistics-table tbody td.is-stat-scaled.stat-col-regional-promo {
    background: color-mix(
        in srgb,
        var(--stat-scale-color) var(--stat-scale-strength),
        #222428
    ) !important;
    color: #FFFFFF !important;
}
.statistics-table tbody td.is-stat-empty.stat-col-f1,
.statistics-table tbody td.is-stat-empty.stat-col-f2,
.statistics-table tbody td.is-stat-empty.stat-col-indycar,
.statistics-table tbody td.is-stat-empty.stat-col-regional-promo,
.statistics-table tbody td.stat-col-f1:has(.statistics-zero),
.statistics-table tbody td.stat-col-f2:has(.statistics-zero),
.statistics-table tbody td.stat-col-indycar:has(.statistics-zero),
.statistics-table tbody td.stat-col-regional-promo:has(.statistics-zero) {
    background: #222428 !important;
    color: transparent !important;
    box-shadow: none !important;
}

/* Perfil de piloto: usa el mismo formato compacto que el comparador H2H. */
.driver-profile-page .driver-profile-comparison-section .driver-profile-versus {
    padding: 10px 12px;
}
.driver-profile-page .driver-profile-comparison-section .driver-profile-versus-head {
    min-height: 32px;
    margin-bottom: 4px;
}
.driver-profile-page .driver-profile-comparison-section .driver-profile-versus-row {
    min-height: 34px;
    padding: 3px 0;
}
.driver-profile-page .driver-profile-comparison-section .driver-profile-versus-row.stat-pace {
    min-height: 34px;
}
.driver-profile-page .driver-profile-comparison-section .driver-profile-versus-label {
    font-size: 11px;
}
.driver-profile-page .driver-profile-comparison-section .driver-profile-versus-value {
    font-size: 14px;
}
.driver-profile-page .driver-profile-comparison-section .driver-profile-balance-track {
    height: 5px;
}


/* =========================================================
   PERFIL DE PILOTO · estadísticas compactas + trayectoria multilínea
   ========================================================= */
.driver-profile-stats-section {
    padding: 18px 20px;
}

.driver-profile-stats-section .driver-profile-section-heading {
    margin-bottom: 11px;
}

.driver-profile-stats-section .driver-profile-section-heading h2 {
    margin-top: 2px;
    font-size: 1.38rem;
}

.driver-profile-stats-section .driver-profile-section-heading p {
    margin-top: 4px;
    font-size: 0.76rem;
}

.driver-profile-stats-section .driver-profile-stat-grid {
    gap: 6px;
}

.driver-profile-stats-section .driver-profile-stat {
    min-height: 76px;
    gap: 5px;
    padding: 10px 11px;
    border-radius: 10px;
}

.driver-profile-stats-section .driver-profile-stat span,
.driver-profile-stats-section .driver-profile-stat small {
    font-size: 0.66rem;
}

.driver-profile-stats-section .driver-profile-stat strong {
    font-size: 1.48rem;
}

.driver-profile-stats-section .driver-profile-stat.stat-context strong {
    font-size: 1.28rem;
}

.driver-profile-stats-section .driver-profile-rank {
    min-width: 26px;
    min-height: 18px;
    padding: 1px 6px;
    font-size: 0.6rem;
}

.driver-profile-stats-section .driver-profile-stat-achievements {
    gap: 3px;
}

.driver-profile-stats-section .driver-profile-stat-achievements small {
    padding: 2px 5px;
    font-size: 0.57rem;
}

/* La trayectoria nunca crea una barra horizontal: al llenarse la celda,
   continúa automáticamente en una nueva fila. Cada equipo y su flecha
   forman una unidad para evitar flechas sueltas al final de una línea. */
.driver-profile-stat.stat-trajectory {
    overflow: hidden;
}

.driver-profile-trajectory {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    align-content: flex-start;
    gap: 6px 7px;
    overflow: visible;
    padding: 1px 0;
    scrollbar-width: none;
}

.driver-profile-trajectory::-webkit-scrollbar {
    display: none;
}

.driver-profile-trajectory-step {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 7px;
}

.driver-profile-stats-section .driver-profile-trajectory-team {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    padding: 4px;
    border-radius: 8px;
}

.driver-profile-stats-section .driver-profile-trajectory-arrow {
    font-size: 1rem;
}

@media (max-width: 720px) {
    .driver-profile-stats-section {
        padding: 11px;
    }

    .driver-profile-stats-section .driver-profile-section-heading {
        margin-bottom: 9px;
    }

    .driver-profile-stats-section .driver-profile-stat-grid {
        gap: 5px;
    }

    .driver-profile-stats-section .driver-profile-stat {
        min-height: 66px;
        gap: 4px;
        padding: 8px;
        border-radius: 8px;
    }

    .driver-profile-stats-section .driver-profile-stat span,
    .driver-profile-stats-section .driver-profile-stat small {
        font-size: 0.6rem;
    }

    .driver-profile-stats-section .driver-profile-stat strong {
        font-size: 1.28rem;
    }

    .driver-profile-stats-section .driver-profile-stat.stat-context strong {
        font-size: 1.08rem;
    }

    .driver-profile-stats-section .driver-profile-rank {
        min-width: 23px;
        min-height: 17px;
        padding: 1px 5px;
        font-size: 0.56rem;
    }

    .driver-profile-trajectory {
        gap: 5px 6px;
    }

    .driver-profile-trajectory-step {
        gap: 5px;
    }

    .driver-profile-stats-section .driver-profile-trajectory-team {
        width: 30px;
        height: 30px;
        flex-basis: 30px;
        padding: 3px;
        border-radius: 7px;
    }

    .driver-profile-stats-section .driver-profile-trajectory-arrow {
        font-size: 0.88rem;
    }
}


/* Resultados GP · Promoción 2022 y Regional 2025:
   la academia no forma parte de esta vista. Se eliminan tanto la columna
   de Academia como el hueco/logo/color previo a la bandera del piloto. */
.gp-general-table.gp-no-academy-identity .gp-team-logo-heading,
.gp-general-table.gp-no-academy-identity .gp-team-logo-cell,
.gp-general-table.gp-no-academy-identity .gp-team-column {
    display: none !important;
}

.gp-general-table.gp-no-academy-identity .mobile-sticky-identity {
    --mobile-team-color: transparent !important;
}

@media (max-width: 720px) {
    .gp-general-table.gp-no-academy-identity .mobile-sticky-identity {
        padding-left: 3px;
        box-shadow: 7px 0 12px rgba(0, 0, 0, 0.22);
    }
}

/* =========================================================
   PERFILES DE EQUIPO / CIRCUITO + GRÁFICO HISTÓRICO
   ========================================================= */
.team-profile-hero {
    background:
        radial-gradient(circle at 88% 15%, color-mix(in srgb, var(--team-primary, #777777) 32%, transparent), transparent 36%),
        linear-gradient(135deg, #202329, #17191d 68%);
}

.team-profile-logo-wrap {
    width: 156px;
    height: 156px;
    flex: 0 0 156px;
    display: grid;
    place-items: center;
    padding: 18px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.055);
}

.team-profile-logo {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.profile-context-link,
.team-profile-link,
.circuit-profile-link {
    color: inherit;
    text-decoration: none;
}

.profile-context-link:hover,
.team-profile-link:hover,
.circuit-profile-link:hover {
    text-decoration: underline;
}

.profile-points-chart-section {
    padding-bottom: 18px;
}

.profile-line-chart-wrap {
    width: 100%;
    overflow-x: auto;
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 13px;
    background: #17191d;
}

.profile-line-chart {
    display: block;
    width: 100%;
    min-width: 620px;
    height: auto;
}

.profile-chart-grid-line {
    stroke: rgba(255, 255, 255, 0.09);
    stroke-width: 1;
}

.profile-chart-line {
    fill: none;
    stroke: #F47C20;
    stroke-width: 4;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.profile-chart-point {
    fill: #F47C20;
    stroke: #17191d;
    stroke-width: 3;
}

.profile-chart-value,
.profile-chart-year,
.profile-chart-y-label {
    fill: #A8ADB4;
    font-family: Inter, Arial, sans-serif;
    font-size: 12px;
}

.profile-chart-value {
    fill: #FFFFFF;
    font-weight: 700;
}

.team-driver-history-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.team-driver-history-card {
    display: grid;
    gap: 7px;
    padding: 12px 14px;
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 11px;
    color: #DDE0E4;
    background: #202329;
    text-decoration: none;
}

.team-driver-history-card:hover {
    border-color: rgba(244, 124, 32, 0.45);
    background: #24272d;
}

.team-driver-history-name {
    display: flex;
    align-items: center;
    gap: 8px;
}

.team-driver-history-name img {
    width: 25px;
    height: 16px;
    object-fit: contain;
}

.team-driver-history-card > span {
    color: #9298A1;
    font-size: 0.72rem;
}

.team-driver-history-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.team-driver-history-stats b {
    padding: 3px 6px;
    border-radius: 5px;
    color: #D7DADE;
    background: rgba(255, 255, 255, 0.055);
    font-size: 0.68rem;
    font-weight: 650;
}

.circuit-profile-page {
    display: grid;
    gap: 22px;
}

.circuit-profile-hero {
    position: relative;
}

.circuit-profile-hero-layout {
    position: absolute;
    right: 28px;
    top: 50%;
    width: min(34vw, 330px);
    max-height: 185px;
    object-fit: contain;
    transform: translateY(-50%);
    opacity: 0.12;
    pointer-events: none;
}

.circuit-profile-meta {
    margin-top: 14px;
    color: #A8ADB4;
    font-size: 0.84rem;
}

.circuit-record-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 9px;
}

.circuit-record-detail {
    min-width: 0;
    border: 0;
}

.circuit-record-detail > summary {
    list-style: none;
}

.circuit-record-detail > summary::-webkit-details-marker {
    display: none;
}

.circuit-record-card {
    min-height: 122px;
    display: grid;
    grid-template-columns: 1fr auto;
    align-content: space-between;
    gap: 7px 12px;
    padding: 14px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    color: #FFFFFF;
    background: #202329;
    cursor: pointer;
}

.circuit-record-card:hover,
.circuit-record-detail[open] .circuit-record-card {
    border-color: rgba(244, 124, 32, 0.5);
    background: #25282e;
}

.circuit-record-card > span,
.circuit-record-card > small {
    grid-column: 1 / -1;
    color: #989EA7;
    font-size: 0.7rem;
    text-transform: uppercase;
}

.circuit-record-card strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 1rem;
}

.circuit-record-card b {
    color: #F47C20;
    font-family: "Barlow Semi Condensed", "Arial Narrow", sans-serif;
    font-size: 1.65rem;
}

.circuit-record-card > small {
    color: #727983;
    font-size: 0.6rem;
}

.circuit-ranking-list {
    margin-top: 6px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 10px;
    background: #17191d;
}

.circuit-ranking-row {
    display: grid;
    grid-template-columns: 28px 26px minmax(0, 1fr) auto;
    align-items: center;
    gap: 7px;
    padding: 8px 10px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.055);
    color: #E4E6E9;
    text-decoration: none;
    font-size: 0.75rem;
}

.circuit-ranking-row:last-child {
    border-bottom: 0;
}

.circuit-ranking-row:hover {
    background: rgba(255, 255, 255, 0.04);
}

.circuit-ranking-position {
    color: #757C86;
    text-align: center;
}

.circuit-ranking-row img {
    width: 24px;
    height: 15px;
    object-fit: contain;
}

.circuit-ranking-row b {
    color: #FFFFFF;
}

.circuit-race-history {
    display: grid;
    gap: 5px;
}

.circuit-race-history-row {
    display: grid;
    grid-template-columns: 64px 120px minmax(0, 1fr) minmax(150px, 0.8fr);
    align-items: center;
    gap: 12px;
    min-height: 46px;
    padding: 8px 12px;
    border-left: 3px solid var(--history-category-color, #8F949C);
    border-radius: 7px;
    color: #DDE0E4;
    background: #202329;
    text-decoration: none;
}

.circuit-race-history-row:hover {
    background: #25282e;
}

.circuit-history-year,
.circuit-history-category {
    color: #969CA5;
    font-size: 0.73rem;
}

.circuit-history-winner {
    display: flex;
    align-items: center;
    gap: 7px;
    color: #F1F2F4;
    font-size: 0.78rem;
}

.circuit-history-winner img {
    width: 24px;
    height: 15px;
    object-fit: contain;
}

@media (max-width: 900px) {
    .circuit-record-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .circuit-race-history-row {
        grid-template-columns: 52px 95px minmax(0, 1fr);
    }
    .circuit-history-winner {
        grid-column: 2 / -1;
    }
}

@media (max-width: 720px) {
    .team-profile-logo-wrap {
        width: 100px;
        height: 100px;
        flex-basis: 100px;
        padding: 12px;
    }
    .team-driver-history-grid,
    .circuit-record-grid {
        grid-template-columns: 1fr;
    }
    .circuit-profile-hero-layout {
        right: 12px;
        width: 42vw;
    }
    .circuit-race-history-row {
        grid-template-columns: 48px minmax(0, 1fr);
        gap: 5px 9px;
    }
    .circuit-history-category {
        grid-column: 2;
    }
    .circuit-race-history-row > strong,
    .circuit-history-winner {
        grid-column: 2;
    }
}
.driver-profile-trajectory-team { text-decoration: none; }


/* Perfil de circuito: imágenes compactas y contraste alto */
.circuit-profile-page {
    color: #FFFFFF;
}

.circuit-profile-page .driver-profile-kicker,
.circuit-profile-page .driver-profile-section-heading > span,
.circuit-profile-page .driver-profile-section-heading p,
.circuit-profile-page .circuit-profile-meta,
.circuit-profile-page .circuit-record-card > span,
.circuit-profile-page .circuit-record-card > small,
.circuit-profile-page .circuit-record-card strong,
.circuit-profile-page .circuit-ranking-position,
.circuit-profile-page .circuit-ranking-row,
.circuit-profile-page .circuit-ranking-row strong,
.circuit-profile-page .circuit-history-year,
.circuit-profile-page .circuit-history-category,
.circuit-profile-page .circuit-race-history-row,
.circuit-profile-page .circuit-race-history-row > strong,
.circuit-profile-page .circuit-history-winner,
.circuit-profile-page .driver-profile-empty-h2h {
    color: #FFFFFF !important;
}

.circuit-profile-page .circuit-profile-hero-layout {
    width: min(20vw, 185px) !important;
    max-width: 185px !important;
    height: auto !important;
    max-height: 105px !important;
    object-fit: contain !important;
}

.circuit-profile-page .driver-profile-flag {
    width: 26px !important;
    height: 17px !important;
    max-width: 26px !important;
    max-height: 17px !important;
    object-fit: contain !important;
    flex: 0 0 26px;
}

.circuit-profile-page .circuit-ranking-row img {
    width: 18px !important;
    height: 12px !important;
    max-width: 18px !important;
    max-height: 12px !important;
    object-fit: contain !important;
}

.circuit-profile-page .circuit-history-winner img {
    width: 18px !important;
    height: 12px !important;
    max-width: 18px !important;
    max-height: 12px !important;
    object-fit: contain !important;
    flex: 0 0 18px;
}

.circuit-profile-page .circuit-ranking-row {
    grid-template-columns: 24px 20px minmax(0, 1fr) auto;
}

@media (max-width: 720px) {
    .circuit-profile-page .circuit-profile-hero-layout {
        width: 125px !important;
        max-width: 125px !important;
        max-height: 78px !important;
        right: 10px;
    }
}


/* Perfil de circuito: trazado protagonista como en calendario/mejor circuito */
.circuit-profile-page .circuit-profile-hero {
    overflow: hidden;
    isolation: isolate;
}

.circuit-profile-page .circuit-profile-hero > *:not(.circuit-profile-hero-layout) {
    position: relative;
    z-index: 2;
}

.circuit-profile-page .circuit-profile-hero-layout {
    width: min(46vw, 520px) !important;
    max-width: 520px !important;
    height: 175% !important;
    max-height: none !important;
    top: 50% !important;
    right: -3% !important;
    object-fit: contain !important;
    object-position: center !important;
    opacity: 0.11 !important;
    transform: translateY(-50%) scale(1.08) !important;
}

.circuit-profile-page .circuit-record-card strong {
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    line-height: 1.1;
}

@media (max-width: 720px) {
    .circuit-profile-page .circuit-profile-hero-layout {
        width: min(55vw, 255px) !important;
        max-width: 255px !important;
        height: 150% !important;
        right: -8% !important;
        opacity: 0.10 !important;
    }
}


/* Calendario: el nombre del circuito mantiene el mismo tamaño que la ciudad */
.compact-grand-prix-text small .circuit-profile-link {
    display: inline;
    color: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    text-decoration: none;
}

.compact-grand-prix-text small .circuit-profile-link:hover {
    color: inherit;
    text-decoration: underline;
}

/* Perfil de circuito: banderas también en las tarjetas de récord */
.circuit-record-holder {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 7px;
}

.circuit-record-holder-flags {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    flex: 0 0 auto;
}

.circuit-record-holder-flags img {
    width: 18px !important;
    height: 12px !important;
    max-width: 18px !important;
    max-height: 12px !important;
    object-fit: contain !important;
}

.circuit-record-holder > strong {
    min-width: 0;
}

/* Perfil de equipo · gráfico y historial compactos */
.team-profile-page .profile-line-chart-wrap {
    overflow: hidden;
    padding: 8px 10px 2px;
}

.team-profile-page .profile-line-chart {
    width: 100%;
    min-width: 0;
    height: auto;
}

.team-profile-page .profile-chart-grid-line {
    stroke: rgba(255, 255, 255, 0.075);
}

.team-profile-page .profile-chart-year {
    fill: #D9DCE1;
    font-size: 11px;
    font-weight: 650;
}

.team-profile-page .profile-chart-y-label {
    fill: #8F96A0;
    font-size: 10px;
}

.team-profile-page .profile-chart-value {
    font-size: 11px;
}

.team-driver-history-list {
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 11px;
    background: #1B1E23;
}

.team-driver-history-head,
.team-driver-history-row {
    display: grid;
    grid-template-columns: minmax(175px, 1.6fr) minmax(190px, 1.55fr) repeat(4, minmax(52px, 0.45fr));
    align-items: center;
    column-gap: 12px;
}

.team-driver-history-head {
    min-height: 30px;
    padding: 0 13px;
    color: #8F96A0;
    background: rgba(255, 255, 255, 0.025);
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
    font-size: 0.62rem;
    font-weight: 750;
    letter-spacing: 0.045em;
    text-transform: uppercase;
}

.team-driver-history-head span:nth-child(n+3) {
    text-align: right;
}

.team-driver-history-row {
    min-height: 42px;
    padding: 6px 13px;
    color: #E8EAED;
    text-decoration: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.055);
    transition: background 0.16s ease;
}

.team-driver-history-row:last-child {
    border-bottom: 0;
}

.team-driver-history-row:hover {
    background: rgba(255, 255, 255, 0.035);
}

.team-driver-history-row .team-driver-history-name {
    min-width: 0;
}

.team-driver-history-row .team-driver-history-name img {
    width: 23px;
    height: 14px;
    flex: 0 0 23px;
    object-fit: contain;
}

.team-driver-history-row .team-driver-history-name strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.78rem;
    font-weight: 720;
}

.team-driver-history-period {
    min-width: 0;
    color: #A8ADB4;
    font-size: 0.68rem;
    line-height: 1.2;
}

.team-driver-history-row > b {
    color: #F4F5F7;
    font-size: 0.72rem;
    font-weight: 750;
    text-align: right;
    font-variant-numeric: tabular-nums;
}

@media (max-width: 760px) {
    .team-driver-history-head,
    .team-driver-history-row {
        grid-template-columns: minmax(105px, 1.35fr) minmax(92px, 1.1fr) repeat(4, minmax(30px, 0.42fr));
        column-gap: 5px;
    }

    .team-driver-history-head {
        padding-inline: 8px;
        font-size: 0.5rem;
    }

    .team-driver-history-row {
        padding: 6px 8px;
    }

    .team-driver-history-row .team-driver-history-name {
        gap: 5px;
    }

    .team-driver-history-row .team-driver-history-name img {
        width: 18px;
        height: 11px;
        flex-basis: 18px;
    }

    .team-driver-history-row .team-driver-history-name strong,
    .team-driver-history-row > b {
        font-size: 0.62rem;
    }

    .team-driver-history-period {
        font-size: 0.56rem;
    }
}


/* Perfil de equipo v3: ranking en esquina y gráfico histórico a ancho completo */
.team-profile-page .driver-profile-stat {
    position: relative;
}
.team-profile-page .team-profile-stat-value {
    display: block;
    min-width: 0;
}
.team-profile-page .team-profile-stat-value > strong {
    margin: 0 !important;
}
.team-profile-page .team-profile-stat-value .driver-profile-rank {
    position: absolute !important;
    top: 9px !important;
    right: 10px !important;
    min-width: 26px !important;
    min-height: 18px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1px 6px !important;
    border: 1px solid rgba(255,255,255,.22) !important;
    border-radius: 999px !important;
    background: rgba(15,17,20,.24) !important;
    color: #FFFFFF !important;
    font-size: .60rem !important;
    font-weight: 750 !important;
    line-height: 1 !important;
    transform: none !important;
}
.team-points-chart-shell {
    width: 100%;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.075);
    border-radius: 13px;
    background: #17191d;
}
.team-points-chart-scroll {
    width: 100%;
    overflow: hidden;
    padding: 6px 4px 0;
    box-sizing: border-box;
}
.team-points-chart-svg {
    display: block;
    width: 100% !important;
    height: 330px !important;
    min-height: 330px !important;
    max-height: 330px !important;
}
.team-chart-grid {
    stroke: rgba(255,255,255,.09);
    stroke-width: 1;
}
.team-chart-axis-label,
.team-chart-year-label,
.team-chart-point-label,
.team-chart-position-label {
    font-family: Inter, Arial, sans-serif;
}
.team-chart-axis-label {
    fill: #9299A3;
    font-size: 11px;
    font-weight: 600;
}
.team-chart-year-label {
    fill: #DDE0E5;
    font-size: 12px;
    font-weight: 700;
}
.team-chart-point-label {
    font-size: 12px;
    font-weight: 800;
}
.team-chart-position-label {
    font-size: 11px;
    font-weight: 800;
}
.team-chart-line {
    fill: none;
    stroke-width: 4;
    stroke-linecap: round;
}
.team-chart-dot {
    stroke: #17191d;
    stroke-width: 3;
}
.team-profile-page .team-driver-history-list {
    display: block !important;
    width: 100% !important;
    overflow: hidden !important;
}
.team-profile-page .team-driver-history-head,
.team-profile-page .team-driver-history-row {
    display: grid !important;
    grid-template-columns: minmax(180px, 1.7fr) minmax(210px, 1.7fr) 54px 54px 66px 78px !important;
    width: 100% !important;
    gap: 10px !important;
    box-sizing: border-box !important;
}
.team-profile-page .team-driver-history-row {
    min-height: 38px !important;
    padding: 5px 13px !important;
}
.team-profile-page .team-driver-history-name {
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    min-width: 0 !important;
}
@media (max-width: 760px) {
    .team-points-chart-svg { height: 290px !important; min-height: 290px !important; max-height: 290px !important; }
    .team-profile-page .team-driver-history-list { overflow-x: auto !important; }
    .team-profile-page .team-driver-history-head,
    .team-profile-page .team-driver-history-row {
        min-width: 640px !important;
        grid-template-columns: 150px 180px 45px 45px 55px 65px !important;
    }
}


/* =========================================================
   COMPACTACIÓN GENERAL — V121
   Mantiene Pilotos, Estadísticas y Eventos sin cambios.
   ========================================================= */

/* INICIO */
.page-home .home-page {
    padding-top: 18px;
    padding-bottom: 18px;
}

.page-home .home-introduction {
    min-height: 340px;
    padding: 36px 42px;
    border-radius: 19px;
}

.page-home .home-introduction h1 {
    font-size: clamp(2.65rem, 5.6vw, 4.7rem);
}

.page-home .home-introduction p {
    margin-top: 11px;
    font-size: 0.88rem;
    line-height: 1.48;
}

.page-home .home-introduction-lead {
    margin-top: 17px !important;
    font-size: 0.96rem !important;
}

.page-home .home-season-status {
    margin-top: 17px;
    padding: 6px 10px;
}

.page-home .join-open-button {
    min-height: 39px;
    margin-top: 16px;
    padding: 0 16px;
    border-radius: 8px;
    font-size: 0.81rem;
}

.page-home .home-introduction-logo {
    width: clamp(165px, 20vw, 280px);
}

.page-home .home-introduction::after {
    right: 42px;
    bottom: 32px;
}

.page-home .home-regulations {
    margin-top: 12px;
}

.page-home .regulations-main {
    border-radius: 14px;
}

.page-home .regulations-main > summary {
    min-height: 82px;
    gap: 16px;
    padding: 16px 20px;
}

.page-home .regulations-summary-copy strong {
    font-size: clamp(1.45rem, 2.5vw, 1.95rem);
}

.page-home .regulations-summary-copy > span {
    margin-top: 6px;
    font-size: 0.76rem;
    line-height: 1.4;
}

.page-home .regulations-summary-icon {
    width: 32px;
    height: 32px;
}

.page-home .regulations-content {
    padding: 18px 20px 20px;
}

.page-home .regulations-groups {
    gap: 8px;
}

.page-home .regulations-group > summary {
    min-height: 48px;
    padding: 10px 13px;
}

.page-home .regulations-group > div {
    padding: 12px 14px 14px;
}

.page-home .home-section {
    margin-top: 30px;
}

.page-home .section-heading {
    margin-bottom: 12px;
}

.page-home .section-heading h2 {
    font-size: clamp(1.45rem, 2.4vw, 1.9rem);
}

.page-home .championship-grid,
.page-home .next-round-grid {
    gap: 12px;
}

.page-home .championship-card {
    min-height: 300px;
    padding: 17px;
    border-radius: 14px;
}

.page-home .card-topline {
    gap: 14px;
    padding-bottom: 12px;
}

.page-home .card-topline h3 {
    font-size: 1.35rem;
}

.page-home .card-data {
    gap: 9px;
    margin: 13px 0 16px;
}

.page-home .data-block {
    padding: 9px 11px;
    border-radius: 9px;
}

.page-home .main-data {
    padding: 12px 11px;
}

.page-home .data-label,
.page-home .round-facts span {
    margin-bottom: 4px;
    font-size: 0.66rem;
}

.page-home .primary-button {
    min-height: 37px;
    padding: 7px 14px;
    border-radius: 8px;
    font-size: 0.82rem;
}

.page-home .next-round-card {
    min-height: 320px;
    padding: 17px;
    border-radius: 14px;
}

.page-home .next-round-card::before {
    left: 17px;
}

.page-home .category-label {
    margin-bottom: 15px;
    font-size: 0.7rem;
}

.page-home .grand-prix-heading h3 {
    font-size: 1.32rem;
}

.page-home .location {
    min-height: 0;
    margin: 9px 0 14px;
    font-size: 0.82rem;
}

.page-home .round-facts {
    gap: 8px;
}

.page-home .round-facts > div {
    min-height: 60px;
    padding: 9px 11px;
    border-radius: 9px;
}

.page-home .text-link {
    margin-top: 14px;
    font-size: 0.82rem;
}

.page-home .latest-section {
    padding-bottom: 20px;
}

.page-home .latest-results-panel {
    padding-bottom: 12px;
    border-radius: 14px;
}

.page-home .latest-results-table th,
.page-home .latest-results-table td {
    padding: 10px 14px;
}

.page-home .latest-results-panel .results-button {
    margin: 12px 14px 0 auto;
}

/* CALENDARIO: solo filas más estrechas. */
.page-calendar .calendar-compact-row,
.page-calendar .calendar-compact-row.is-calendar-spacer {
    min-height: 48px;
    padding-top: 4px;
    padding-bottom: 4px;
}

.page-calendar .compact-round-number {
    width: 24px;
    height: 24px;
    border-radius: 6px;
    font-size: 0.72rem;
}

.page-calendar .compact-grand-prix-text a,
.page-calendar .compact-grand-prix-text strong {
    font-size: 0.79rem;
    line-height: 1.15;
}

.page-calendar .compact-grand-prix-text small {
    margin-top: 1px;
    line-height: 1.15;
}

/* RESULTADOS */
.page-results .home-page,
.page-championship .home-page,
.page-teams .home-page,
.page-records .home-page {
    padding-top: 18px;
    padding-bottom: 20px;
}

.page-results .section-hero,
.page-championship .section-hero,
.page-teams .section-hero,
.page-records .section-hero {
    min-height: 185px;
    padding: 27px 32px;
    border-radius: 17px;
}

.page-results .section-hero h1,
.page-championship .section-hero h1,
.page-teams .section-hero h1,
.page-records .section-hero h1 {
    font-size: clamp(2.35rem, 5vw, 4.1rem);
}

.page-results .section-hero p,
.page-championship .section-hero p,
.page-teams .section-hero p,
.page-records .section-hero p {
    margin-top: 11px;
    font-size: 0.9rem;
    line-height: 1.4;
}

.page-results .championship-controls,
.page-championship .championship-controls,
.page-teams .championship-controls {
    gap: 14px;
    margin-top: 15px;
    padding: 12px;
    border-radius: 12px;
}

.page-results .season-selector,
.page-championship .season-selector,
.page-teams .season-selector {
    gap: 7px;
}

.page-results .season-selector label,
.page-championship .season-selector label,
.page-teams .season-selector label {
    gap: 4px;
    font-size: 0.66rem;
}

.page-results .season-selector select,
.page-results .season-selector button,
.page-championship .season-selector select,
.page-championship .season-selector button,
.page-teams .season-selector select,
.page-teams .season-selector button,
.page-results .category-tab,
.page-championship .category-tab,
.page-teams .category-tab {
    min-height: 35px;
}

.page-results .season-selector select,
.page-championship .season-selector select,
.page-teams .season-selector select {
    min-width: 160px;
    padding-left: 10px;
    font-size: 0.82rem;
}

.page-results .season-selector button,
.page-championship .season-selector button,
.page-teams .season-selector button {
    padding: 0 13px;
    font-size: 0.8rem;
}

.page-results .category-tabs,
.page-championship .category-tabs,
.page-teams .category-tabs {
    gap: 6px;
}

.page-results .category-tab,
.page-championship .category-tab,
.page-teams .category-tab {
    padding: 0 13px;
    font-size: 0.78rem;
}

.page-results .category-tab::before,
.page-championship .category-tab::before,
.page-teams .category-tab::before {
    width: 6px;
    height: 6px;
    margin-right: 6px;
}

.page-results .results-list-section {
    margin-top: 23px;
    padding-bottom: 30px;
}

.page-results .results-list-heading {
    margin-bottom: 10px;
}

.page-results .results-list-heading h2 {
    font-size: clamp(1.35rem, 2.4vw, 1.85rem);
}

.page-results .results-count {
    min-height: 30px;
    padding: 0 10px;
    font-size: 0.72rem;
}

.page-results .season-results-panel {
    border-radius: 13px;
}

.page-results .season-results-table th,
.page-results .season-results-table td {
    padding: 8px 11px;
}

.page-results .season-results-table th {
    font-size: 0.66rem;
}

.page-results .result-round-column {
    width: 62px;
}

.page-results .result-round-number {
    width: 25px;
    height: 25px;
    border-radius: 6px;
    font-size: 0.76rem;
}

.page-results .result-grand-prix {
    gap: 8px;
}

.page-results .result-grand-prix small {
    margin-top: 2px;
    font-size: 0.7rem;
}

.page-results .result-open-link {
    width: 26px;
    height: 26px;
    border-radius: 6px;
}

/* CAMPEONATO */
.page-championship .standings-layout {
    gap: 15px;
    margin-top: 24px;
}

.page-championship .standings-section {
    margin-top: 24px;
}

.page-championship .team-standings-section {
    margin-top: 28px;
}

.page-championship .standings-heading {
    margin-bottom: 9px;
}

.page-championship .standings-heading h2 {
    font-size: clamp(1.35rem, 2.4vw, 1.85rem);
}

.page-championship .standings-kicker {
    margin-bottom: 3px;
    font-size: 0.66rem;
}

.page-championship .standings-panel {
    border-radius: 13px;
}

.page-championship .summary-standings-table th,
.page-championship .summary-standings-table td,
.page-championship .standings-layout .summary-standings-table th,
.page-championship .standings-layout .summary-standings-table td {
    padding-top: 6px;
    padding-bottom: 6px;
    padding-right: 10px;
    padding-left: 10px;
}

.page-championship .summary-standings-table th {
    font-size: 0.66rem;
}

.page-championship .position-number {
    width: 24px;
    height: 24px;
    border-radius: 6px;
    font-size: 0.76rem;
}

.page-championship .standing-driver {
    gap: 7px;
}

.page-championship .team-marker {
    height: 20px;
}

.page-championship .standing-team-logo {
    width: 19px;
    height: 19px;
}

.page-championship .standing-points {
    width: 74px;
    font-size: 0.9rem;
}

.page-championship .detailed-table-action {
    padding: 20px 0 30px;
}

.page-championship .detailed-table-button {
    min-width: 180px;
}

/* EQUIPOS */
.page-teams .teams-list-section {
    margin-top: 23px;
    padding-bottom: 30px;
}

.page-teams .teams-list-heading {
    margin-bottom: 10px;
}

.page-teams .teams-list-heading h2 {
    font-size: clamp(1.35rem, 2.4vw, 1.85rem);
}

.page-teams .teams-grid {
    gap: 12px;
}

.page-teams .team-showcase-card {
    border-radius: 13px;
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.17);
}

.page-teams .team-showcase-accent {
    height: 3px;
}

.page-teams .team-showcase-visual {
    min-height: 128px;
    grid-template-columns: minmax(0, 1.7fr) minmax(105px, 0.72fr);
    gap: 12px;
    padding: 7px 16px 2px 0;
}

.page-teams .team-motorcycle-window {
    height: 116px;
}

.page-teams .team-showcase-logo {
    height: 86px;
}

.page-teams .team-showcase-title {
    gap: 12px;
    padding: 10px 13px 8px;
}

.page-teams .team-showcase-title h3 {
    font-size: 1.45rem;
}

.page-teams .team-showcase-title > span {
    font-size: 0.68rem;
}

.page-teams .team-inline-roster {
    gap: 8px;
    margin: 0 13px;
    padding: 7px 9px;
    border-radius: 8px;
}

.page-teams .team-inline-driver {
    gap: 5px;
}

.page-teams .team-inline-flag {
    width: 21px;
    height: 14px;
}

.page-teams .team-showcase-stats {
    margin: 8px 13px 12px;
    border-radius: 8px;
}

.page-teams .team-showcase-stat {
    padding: 7px 3px;
}

.page-teams .team-showcase-stat strong {
    margin-top: 2px;
    font-size: 0.83rem;
}

/* RÉCORDS: formato lista, simple y de lectura rápida. */
.page-records .records-control-panel {
    margin-top: 15px;
    padding: 11px 12px;
    gap: 11px 18px;
    border-radius: 12px;
}

.page-records .records-control-group {
    gap: 5px;
}

.page-records .records-pill-switch {
    gap: 4px;
    padding: 3px;
}

.page-records .records-pill-switch button {
    min-height: 31px;
    padding: 0 10px;
    font-size: 0.72rem;
}

.page-records .records-select-filters select {
    min-height: 34px;
    padding: 0 30px 0 9px;
    font-size: 0.76rem;
}

.page-records .records-summary-line {
    margin-top: 11px;
    padding: 9px 12px;
    border-radius: 9px;
}

.page-records .records-section {
    margin-top: 20px;
}

.page-records .records-section-heading {
    margin-bottom: 7px;
}

.page-records .records-section-heading h2 {
    font-size: 1.35rem;
}

.page-records .records-card-grid {
    display: block;
    overflow: hidden;
    border: 1px solid #3B3F46;
    border-radius: 11px;
    background: #202226;
}

.page-records .record-card {
    min-height: 56px;
    display: grid;
    grid-template-columns:
        minmax(210px, 1.25fr)
        minmax(210px, 1fr)
        minmax(90px, 0.36fr)
        30px;
    align-items: center;
    gap: 14px;
    overflow: visible;
    padding: 7px 11px;
    border: 0;
    border-bottom: 1px solid #363A40;
    border-left: 3px solid var(--record-accent);
    border-radius: 0;
    background: #202226;
    box-shadow: none;
    transform: none;
}

.page-records .record-card:last-child {
    border-bottom: 0;
}

.page-records .record-card:hover {
    border-color: #363A40;
    border-left-color: var(--record-accent);
    background: color-mix(in srgb, var(--record-accent) 7%, #24272B);
    transform: none;
}

.page-records .record-card-topline {
    display: contents;
}

.page-records .record-card-scope {
    grid-column: 1;
    grid-row: 1;
    align-self: start;
    padding-top: 1px;
    font-size: 0.57rem;
}

.page-records .record-card h3 {
    grid-column: 1;
    grid-row: 1;
    align-self: end;
    min-width: 0;
    margin: 0;
    padding-top: 14px;
    overflow: hidden;
    font-size: 1rem;
    line-height: 1.05;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.page-records .record-card-holder {
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
    min-height: 0;
    margin: 0;
}

.page-records .record-holder-list {
    flex-wrap: nowrap;
}

.page-records .record-holder-marks img,
.page-records .record-holder-marks span {
    width: 21px;
    height: 15px;
}

.page-records .record-card-value {
    grid-column: 3;
    grid-row: 1;
    margin: 0;
    font-size: 1.45rem;
    text-align: right;
    white-space: nowrap;
}

.page-records .record-card-topline-actions {
    grid-column: 4;
    grid-row: 1;
    justify-self: end;
}

.page-records .record-card-topline-actions i {
    font-size: 0.82rem;
}

.page-records .record-card p,
.page-records .record-card-action {
    display: none;
}

.page-records .record-new-badge {
    padding: 3px 5px;
    font-size: 0;
}

.page-records .record-new-badge svg {
    width: 12px;
    height: 12px;
}

/* H2H: selector principal todavía más compacto. */
.page-h2h .h2h-selector-form,
.page-h2h .h2h-seasonal-selector-form {
    gap: 7px;
    padding: 8px 9px;
    margin-bottom: 10px;
    border-radius: 9px;
}

.page-h2h .h2h-driver-picker {
    gap: 6px;
}

.page-h2h .h2h-selector-form label,
.page-h2h .h2h-seasonal-selector-form label {
    gap: 3px;
}

.page-h2h .h2h-selector-form label > span,
.page-h2h .h2h-seasonal-selector-form label > span {
    font-size: 0.63rem;
}

.page-h2h .h2h-selector-form select,
.page-h2h .h2h-selector-form button,
.page-h2h .h2h-driver-search,
.page-h2h .h2h-seasonal-selector-form select,
.page-h2h .h2h-seasonal-selector-form button {
    min-height: 34px;
    font-size: 0.76rem;
}

.page-h2h .h2h-selector-form select,
.page-h2h .h2h-driver-search,
.page-h2h .h2h-seasonal-selector-form select {
    padding-right: 8px;
    padding-left: 8px;
}

.page-h2h .h2h-selector-form button,
.page-h2h .h2h-seasonal-selector-form button {
    padding: 0 13px;
}

.page-h2h .h2h-selector-vs {
    padding-top: 14px;
    font-size: 1rem;
}

@media (max-width: 820px) {
    .page-home .home-introduction {
        min-height: auto;
        padding: 30px 24px;
    }

    .page-records .record-card {
        grid-template-columns: minmax(150px, 1.1fr) minmax(145px, 1fr) auto;
        gap: 9px;
    }

    .page-records .record-card-topline-actions {
        display: none;
    }

    .page-records .record-card-value {
        grid-column: 3;
    }
}

@media (max-width: 620px) {
    .page-records .record-card {
        min-height: 72px;
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-rows: auto auto;
        gap: 4px 9px;
        padding: 7px 9px;
    }

    .page-records .record-card-scope,
    .page-records .record-card h3 {
        grid-column: 1;
        grid-row: 1;
    }

    .page-records .record-card-holder {
        grid-column: 1;
        grid-row: 2;
    }

    .page-records .record-card-value {
        grid-column: 2;
        grid-row: 1 / 3;
        align-self: center;
        font-size: 1.3rem;
    }
}

/* Ajuste v122: tipografía ligeramente más compacta en Resultados y Campeonato. */
.page-results .section-hero h1,
.page-championship .section-hero h1 {
    font-size: clamp(2.15rem, 4.6vw, 3.8rem);
}

.page-results .section-hero-kicker,
.page-championship .section-hero-kicker {
    font-size: 0.64rem;
}

.page-results .section-hero p,
.page-championship .section-hero p {
    font-size: 0.84rem;
}

.page-results .season-selector label,
.page-championship .season-selector label {
    font-size: 0.62rem;
}

.page-results .season-selector select,
.page-championship .season-selector select {
    font-size: 0.76rem;
}

.page-results .season-selector button,
.page-championship .season-selector button {
    font-size: 0.74rem;
}

.page-results .category-tab,
.page-championship .category-tab {
    font-size: 0.72rem;
}

.page-results .results-list-kicker,
.page-championship .standings-kicker {
    font-size: 0.62rem;
}

.page-results .results-list-heading h2,
.page-championship .standings-heading h2 {
    font-size: clamp(1.25rem, 2.2vw, 1.7rem);
}

.page-results .results-count {
    font-size: 0.68rem;
}

.page-results .season-results-table {
    font-size: 0.86rem;
}

.page-results .season-results-table th {
    font-size: 0.62rem;
}

.page-results .result-round-number {
    font-size: 0.71rem;
}

.page-results .result-grand-prix small {
    font-size: 0.66rem;
}

.page-championship .summary-standings-table,
.page-championship .standings-layout .summary-standings-table {
    font-size: 0.86rem;
}

.page-championship .summary-standings-table th {
    font-size: 0.62rem;
}

.page-championship .position-number {
    font-size: 0.71rem;
}

.page-championship .standing-points {
    font-size: 0.84rem;
}

.page-championship .detailed-table-button {
    font-size: 0.8rem;
}

/* =========================================================
   INICIO — ALINEACIÓN DE IDENTIDAD POR CATEGORÍA — V123
   Corrige los offsets heredados tras compactar las tarjetas.
   ========================================================= */
.page-home .championship-card {
    overflow: hidden;
}

.page-home .championship-card .card-topline {
    margin: -17px -17px 0;
    padding: 14px 17px 12px;
}

.page-home .next-round-card::before {
    left: 0;
    width: 100%;
}

/* =========================================================
   CALENDARIO — NOMBRE DE CIRCUITO = MISMO TEXTO QUE CIUDAD — V124
   El enlace hereda exactamente tipografía y color del <small>.
   ========================================================= */
.page-calendar .compact-grand-prix-text small .circuit-profile-link,
.page-calendar .compact-grand-prix-text small .circuit-profile-link:visited,
.page-calendar .compact-grand-prix-text small .circuit-profile-link:hover,
.page-calendar .compact-grand-prix-text small .circuit-profile-link:focus {
    display: inline !important;
    font: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    line-height: inherit !important;
    letter-spacing: inherit !important;
    color: inherit !important;
    text-decoration: none !important;
}

.page-calendar .compact-grand-prix-text small .circuit-profile-link:hover,
.page-calendar .compact-grand-prix-text small .circuit-profile-link:focus {
    text-decoration: underline !important;
}

/* =========================================================
   INICIO — TITULARES MÁS LEGIBLES — V125
   Barlow Semi Condensed conserva la identidad visual, pero
   abre ligeramente las letras y reduce el peso aparente.
   ========================================================= */
.page-home h1,
.page-home h2,
.page-home h3 {
    font-family: "Barlow Semi Condensed", "Arial Narrow", sans-serif;
    font-weight: 600;
    letter-spacing: 0.01em;
    font-kerning: normal;
    font-synthesis: none;
}

.page-home .section-heading h2,
.page-home .card-topline h3,
.page-home .grand-prix-heading h3 {
    letter-spacing: 0.01em;
}

.page-home .section-heading h2 {
    line-height: 1.08;
}

.page-home .grand-prix-heading h3,
.page-home .card-topline h3 {
    line-height: 1.12;
}



/* =========================================================
   TIPOGRAFÍA GLOBAL DE TÍTULOS — V126
   Todos los encabezados y subencabezados que usaban la familia
   condensada pasan a Barlow Semi Condensed, con un peso más limpio
   y un espaciado ligeramente más abierto.
   ========================================================= */
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: "Barlow Semi Condensed", "Arial Narrow", sans-serif !important;
    font-weight: 600 !important;
    letter-spacing: 0.012em !important;
    font-kerning: normal;
    font-synthesis: none;
}

/* Algunos subapartados funcionan como encabezado sin usar h1–h6. */
.h2h-main-disclosure > summary,
.records-section-heading,
.record-ranking-heading,
.driver-profile-section-heading,
.team-profile-section-heading,
.admin-career-heading,
.olympus-heading,
.section-heading {
    font-family: "Barlow Semi Condensed", "Arial Narrow", sans-serif;
    letter-spacing: 0.012em;
    font-kerning: normal;
    font-synthesis: none;
}

/* =========================================================
   RÉCORDS — DISTINTIVO "NUEVO" SIN SOLAPAR EL VALOR — V127
   El icono de nuevo y la flecha tienen una zona propia a la derecha.
   ========================================================= */
@media (min-width: 821px) {
    .page-records .record-card {
        grid-template-columns:
            minmax(210px, 1.25fr)
            minmax(210px, 1fr)
            minmax(90px, 0.36fr)
            58px;
    }

    .page-records .record-card-topline-actions {
        width: 58px;
        display: grid;
        grid-template-columns: 26px 14px;
        align-items: center;
        justify-content: end;
        gap: 8px;
    }

    .page-records .record-new-badge {
        width: 26px;
        min-width: 26px;
        height: 22px;
        min-height: 22px;
        box-sizing: border-box;
        padding: 0;
    }

    .page-records .record-card-topline-actions i {
        width: 14px;
        text-align: center;
    }
}


/* =========================================================
   RÉCORDS — "NUEVO" A LA IZQUIERDA DEL VALOR — V128
   El distintivo se integra con el valor para no competir con la flecha.
   ========================================================= */
.page-records .record-card-value {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
}

.page-records .record-new-badge.record-new-badge-inline {
    min-width: 0;
    min-height: 16px;
    height: 16px;
    padding: 0 5px;
    gap: 3px;
    font-size: 0.43rem;
    letter-spacing: 0.055em;
    line-height: 1;
}

.page-records .record-new-badge.record-new-badge-inline svg {
    width: 8px;
    height: 8px;
}

.page-records .record-card-value-number {
    display: inline-block;
    white-space: nowrap;
}

@media (min-width: 821px) {
    .page-records .record-card {
        grid-template-columns:
            minmax(210px, 1.25fr)
            minmax(210px, 1fr)
            minmax(125px, 0.42fr)
            30px;
    }

    .page-records .record-card-topline-actions {
        width: auto;
        display: inline-flex;
        align-items: center;
        justify-content: flex-end;
    }

    .page-records .record-card-topline-actions i {
        width: auto;
    }
}

@media (max-width: 620px) {
    .page-records .record-card-value {
        gap: 5px;
    }

    .page-records .record-new-badge.record-new-badge-inline {
        min-height: 15px;
        height: 15px;
        padding: 0 4px;
        font-size: 0.39rem;
    }
}


/* =========================================================
   RÉCORDS — DISTINTIVO "NUEVO" LEGIBLE JUNTO AL VALOR — V129
   Etiqueta rectangular compacta: evita que los laterales redondeados
   invadan el icono o el texto y mantiene una separación clara del valor.
   ========================================================= */
.page-records .record-card-value {
    gap: 8px;
}

.page-records .record-new-badge.record-new-badge-inline {
    box-sizing: border-box;
    min-width: auto;
    min-height: 20px;
    height: 20px;
    padding: 0 7px;
    gap: 4px;
    border-radius: 5px;
    font-size: 0.53rem;
    font-weight: 800;
    letter-spacing: 0.045em;
    line-height: 1;
    overflow: visible;
}

.page-records .record-new-badge.record-new-badge-inline svg {
    width: 9px;
    height: 9px;
}

@media (min-width: 821px) {
    .page-records .record-card {
        grid-template-columns:
            minmax(210px, 1.25fr)
            minmax(210px, 1fr)
            minmax(145px, 0.46fr)
            30px;
    }
}

@media (max-width: 620px) {
    .page-records .record-card-value {
        gap: 6px;
    }

    .page-records .record-new-badge.record-new-badge-inline {
        min-height: 18px;
        height: 18px;
        padding: 0 6px;
        border-radius: 4px;
        font-size: 0.48rem;
    }

    .page-records .record-new-badge.record-new-badge-inline svg {
        width: 8px;
        height: 8px;
    }
}


/* =========================================================
   RÉCORDS — COLUMNA INDEPENDIENTE PARA "NUEVO" — V130
   La etiqueta deja de compartir celda con el valor. Se reserva una
   columna propia, suficientemente ancha para que borde, icono y texto
   queden siempre dentro de la cuadrícula.
   ========================================================= */
.page-records .record-card-value {
    display: block;
    justify-self: end;
    min-width: 0;
    text-align: right;
}

.page-records .record-card-new-column {
    grid-column: 3;
    grid-row: 1;
    width: 88px;
    min-width: 88px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: visible;
}

.page-records .record-new-badge.record-new-badge-inline {
    width: auto;
    min-width: 66px;
    min-height: 22px;
    height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    padding: 0 8px;
    gap: 5px;
    border-radius: 6px;
    font-size: 0.56rem;
    font-weight: 800;
    letter-spacing: 0.045em;
    line-height: 1;
    overflow: visible;
    white-space: nowrap;
}

.page-records .record-new-badge.record-new-badge-inline svg {
    width: 10px;
    height: 10px;
    flex: 0 0 auto;
}

@media (min-width: 821px) {
    .page-records .record-card {
        grid-template-columns:
            minmax(210px, 1.25fr)
            minmax(210px, 1fr)
            88px
            minmax(90px, 0.34fr)
            30px;
    }

    .page-records .record-card-holder {
        grid-column: 2;
    }

    .page-records .record-card-new-column {
        grid-column: 3;
    }

    .page-records .record-card-value {
        grid-column: 4;
    }

    .page-records .record-card-topline-actions {
        grid-column: 5;
    }
}

@media (min-width: 621px) and (max-width: 820px) {
    .page-records .record-card {
        grid-template-columns:
            minmax(150px, 1.1fr)
            minmax(145px, 1fr)
            82px
            minmax(74px, auto);
        gap: 9px;
    }

    .page-records .record-card-holder {
        grid-column: 2;
    }

    .page-records .record-card-new-column {
        grid-column: 3;
        width: 82px;
        min-width: 82px;
    }

    .page-records .record-card-value {
        grid-column: 4;
    }
}

@media (max-width: 620px) {
    .page-records .record-card {
        min-height: 76px;
        grid-template-columns: minmax(0, 1fr) 74px auto;
        grid-template-rows: auto auto;
        gap: 4px 8px;
    }

    .page-records .record-card-scope,
    .page-records .record-card h3 {
        grid-column: 1;
        grid-row: 1;
    }

    .page-records .record-card-holder {
        grid-column: 1;
        grid-row: 2;
    }

    .page-records .record-card-new-column {
        grid-column: 2;
        grid-row: 1 / 3;
        width: 74px;
        min-width: 74px;
        align-self: center;
    }

    .page-records .record-card-value {
        grid-column: 3;
        grid-row: 1 / 3;
        align-self: center;
        font-size: 1.3rem;
    }

    .page-records .record-new-badge.record-new-badge-inline {
        min-width: 62px;
        min-height: 21px;
        height: 21px;
        padding: 0 7px;
        font-size: 0.53rem;
    }
}

/* =========================================================
   RÉCORDS — LOGOS DE EQUIPO SIN MARCO — V131
   Los logos se muestran limpios, sin fondo, borde ni recorte circular.
   ========================================================= */
.page-records .record-holder-marks img.is-logo {
    width: 23px;
    height: 23px;
    margin-right: 4px;
    border: 0;
    border-radius: 0;
    background: transparent;
    object-fit: contain;
}

/* =========================================================
   PERFILES · RANKING DE MEJOR CIRCUITO CON TRAZADO — V133
   El trazado ocupa una columna visual compacta entre el nombre y los
   puntos, con tamaño controlado y opacidad baja.
   ========================================================= */
.driver-profile-stat-event.is-circuit-ranking-row {
    position: relative;
    overflow: hidden;
    grid-template-columns: 4px minmax(0, 1fr) 132px auto;
    min-height: 62px;
    column-gap: 12px;
}

.driver-profile-stat-event.is-circuit-ranking-row .driver-profile-stat-event-copy,
.driver-profile-stat-event.is-circuit-ranking-row > b {
    position: relative;
    z-index: 2;
}

.driver-profile-stat-event.is-circuit-ranking-row .driver-profile-stat-event-track {
    width: 132px;
    height: 52px;
    min-width: 0;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    pointer-events: none;
}

.driver-profile-stat-event.is-circuit-ranking-row .driver-profile-stat-event-track img {
    width: 126px;
    height: 72px;
    max-width: 126px;
    max-height: 72px;
    display: block;
    object-fit: contain;
    object-position: center;
    opacity: 0.10;
    transform: scale(1.08);
    filter: grayscale(.12);
}

@media (max-width: 620px) {
    .driver-profile-stat-event.is-circuit-ranking-row {
        grid-template-columns: 4px minmax(0, 1fr) 88px auto;
        grid-template-rows: auto;
        column-gap: 8px;
    }

    .driver-profile-stat-event.is-circuit-ranking-row > b {
        grid-column: 4;
        grid-row: 1;
        justify-self: end;
    }

    .driver-profile-stat-event.is-circuit-ranking-row .driver-profile-stat-event-track {
        grid-column: 3;
        grid-row: 1;
        width: 88px;
        height: 46px;
    }

    .driver-profile-stat-event.is-circuit-ranking-row .driver-profile-stat-event-track img {
        width: 84px;
        height: 58px;
        max-width: 84px;
        max-height: 58px;
        transform: scale(1.05);
    }
}

@media (max-width: 460px) {
    .driver-profile-stat-event.is-circuit-ranking-row {
        grid-template-columns: 4px minmax(0, 1fr) 70px;
        grid-template-rows: auto auto;
    }

    .driver-profile-stat-event.is-circuit-ranking-row > b {
        grid-column: 2;
        grid-row: 2;
        justify-self: start;
    }

    .driver-profile-stat-event.is-circuit-ranking-row .driver-profile-stat-event-track {
        grid-column: 3;
        grid-row: 1 / 3;
        width: 70px;
        height: 50px;
    }

    .driver-profile-stat-event.is-circuit-ranking-row .driver-profile-stat-event-track img {
        width: 68px;
        height: 54px;
        max-width: 68px;
        max-height: 54px;
    }
}

/* =========================================================
   PERFILES · RANKING DE MEJOR CIRCUITO — TRAZADO ALGO MAYOR — V134
   ========================================================= */
.driver-profile-stat-event.is-circuit-ranking-row {
    grid-template-columns: 4px minmax(0, 1fr) 150px auto;
    min-height: 66px;
}

.driver-profile-stat-event.is-circuit-ranking-row .driver-profile-stat-event-track {
    width: 150px;
    height: 58px;
}

.driver-profile-stat-event.is-circuit-ranking-row .driver-profile-stat-event-track img {
    width: 144px;
    height: 80px;
    max-width: 144px;
    max-height: 80px;
    opacity: 0.10;
    transform: scale(1.10);
}

@media (max-width: 620px) {
    .driver-profile-stat-event.is-circuit-ranking-row {
        grid-template-columns: 4px minmax(0, 1fr) 96px auto;
    }

    .driver-profile-stat-event.is-circuit-ranking-row .driver-profile-stat-event-track {
        width: 96px;
        height: 50px;
    }

    .driver-profile-stat-event.is-circuit-ranking-row .driver-profile-stat-event-track img {
        width: 92px;
        height: 64px;
        max-width: 92px;
        max-height: 64px;
        transform: scale(1.07);
    }
}

@media (max-width: 460px) {
    .driver-profile-stat-event.is-circuit-ranking-row {
        grid-template-columns: 4px minmax(0, 1fr) 76px;
    }

    .driver-profile-stat-event.is-circuit-ranking-row .driver-profile-stat-event-track {
        width: 76px;
        height: 52px;
    }

    .driver-profile-stat-event.is-circuit-ranking-row .driver-profile-stat-event-track img {
        width: 74px;
        height: 58px;
        max-width: 74px;
        max-height: 58px;
    }
}

/* =========================================================
   PERFILES · RANKING DE MEJOR CIRCUITO — FILAS MÁS BAJAS Y TRAZADO MAYOR — V135
   El trazado crece horizontalmente y queda ligeramente recortado por
   arriba/abajo dentro de una fila más compacta.
   ========================================================= */
.driver-profile-stat-event.is-circuit-ranking-row {
    grid-template-columns: 4px minmax(0, 1fr) 172px auto;
    min-height: 52px;
    padding-top: 5px;
    padding-bottom: 5px;
    column-gap: 11px;
}

.driver-profile-stat-event.is-circuit-ranking-row .driver-profile-stat-event-marker {
    height: 30px;
}

.driver-profile-stat-event.is-circuit-ranking-row .driver-profile-stat-event-track {
    width: 172px;
    height: 46px;
    overflow: hidden;
}

.driver-profile-stat-event.is-circuit-ranking-row .driver-profile-stat-event-track img {
    width: 166px;
    height: 68px;
    max-width: 166px;
    max-height: 68px;
    opacity: 0.10;
    transform: scale(1.10);
}

@media (max-width: 620px) {
    .driver-profile-stat-event.is-circuit-ranking-row {
        grid-template-columns: 4px minmax(0, 1fr) 108px auto;
        min-height: 50px;
        padding-top: 5px;
        padding-bottom: 5px;
        column-gap: 7px;
    }

    .driver-profile-stat-event.is-circuit-ranking-row .driver-profile-stat-event-track {
        width: 108px;
        height: 43px;
    }

    .driver-profile-stat-event.is-circuit-ranking-row .driver-profile-stat-event-track img {
        width: 104px;
        height: 60px;
        max-width: 104px;
        max-height: 60px;
        transform: scale(1.08);
    }
}

@media (max-width: 460px) {
    .driver-profile-stat-event.is-circuit-ranking-row {
        grid-template-columns: 4px minmax(0, 1fr) 82px;
        min-height: 50px;
    }

    .driver-profile-stat-event.is-circuit-ranking-row .driver-profile-stat-event-track {
        width: 82px;
        height: 43px;
    }

    .driver-profile-stat-event.is-circuit-ranking-row .driver-profile-stat-event-track img {
        width: 80px;
        height: 58px;
        max-width: 80px;
        max-height: 58px;
    }
}

/* =========================================================
   PERFILES · RANKING DE MEJOR CIRCUITO — TRAZADOS MÁS GRANDES — V136
   Mantiene exactamente la altura de las filas de V135 y aumenta solo
   la imagen interior; el exceso queda recortado por el contenedor.
   ========================================================= */
.driver-profile-stat-event.is-circuit-ranking-row .driver-profile-stat-event-track img {
    width: 220px;
    height: 104px;
    max-width: 220px;
    max-height: 104px;
    transform: scale(1.16);
}

@media (max-width: 620px) {
    .driver-profile-stat-event.is-circuit-ranking-row .driver-profile-stat-event-track img {
        width: 142px;
        height: 84px;
        max-width: 142px;
        max-height: 84px;
        transform: scale(1.14);
    }
}

@media (max-width: 460px) {
    .driver-profile-stat-event.is-circuit-ranking-row .driver-profile-stat-event-track img {
        width: 112px;
        height: 80px;
        max-width: 112px;
        max-height: 80px;
        transform: scale(1.12);
    }
}


/* =========================================================
   RÉCORDS — COLUMNA DE CONTEXTO EN CLASIFICACIÓN — V137
   La clasificación completa muestra el contexto descriptivo
   del registro en lugar de repetir categoría/año.
   ========================================================= */
.record-ranking-context {
    display: block;
    max-width: 390px;
    color: #AEB2B9;
    font-size: 0.72rem;
    font-weight: 550;
    line-height: 1.35;
}

@media (max-width: 700px) {
    .record-ranking-context {
        max-width: 270px;
        font-size: 0.68rem;
    }
}


/* =========================================================
   RÉCORDS — OCULTAR CONTEXTO EN MÓVIL — V138
   En pantallas móviles se elimina por completo la columna
   "Contexto del récord" de la clasificación desplegada.
   ========================================================= */
@media (max-width: 700px) {
    .record-ranking-table .record-context-column {
        display: none !important;
    }
}

/* =========================================================
   RÉCORDS — EQUIPO HISTÓRICO EN "GPs EN UN MISMO EQUIPO" — V139
   El logo se integra en la segunda línea con la misma escala tipográfica
   que el nombre histórico del equipo, sin marco ni fondo.
   ========================================================= */
.record-ranking-secondary-team {
    min-width: 0;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #858A92;
    font-size: 0.66rem;
    font-weight: 550;
    line-height: 1.2;
}

.record-ranking-secondary-team img {
    width: 1em;
    height: 1em;
    flex: 0 0 1em;
    display: block;
    object-fit: contain;
    object-position: center;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.record-ranking-secondary-team small {
    min-width: 0;
    font: inherit;
    color: inherit;
}

@media (max-width: 700px) {
    .record-ranking-secondary-team {
        font-size: 0.63rem;
    }
}


/* =========================================================
   ENLACES GLOBALES A PERFILES DE EQUIPO — V140
   ========================================================= */
.team-profile-link {
    color: inherit;
    font: inherit;
    font-weight: inherit;
    line-height: inherit;
    text-decoration: none;
}
.team-profile-link:hover,
.team-profile-link:focus-visible {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.record-card-team-link {
    position: relative;
    z-index: 3;
    pointer-events: auto !important;
    color: #D9DCE1;
    text-decoration: none;
}
.record-card-team-link:hover,
.record-card-team-link:focus-visible {
    color: #FFFFFF;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.statistics-team-profile-link {
    display: inline-block;
    max-width: 100%;
}


/* =========================================================
   V141 — HISTORIAL DE ADMINS + PERFIL DE ADMIN + OLIMPO PLEGABLE
   ========================================================= */
.team-profile-page .team-admin-history-head,
.team-profile-page .team-admin-history-row {
    grid-template-columns: minmax(220px, 1.35fr) minmax(150px, .9fr) 70px;
}

.team-profile-page .team-admin-history-row {
    min-height: 46px;
}

.statistics-olympus-disclosure {
    margin: 0 0 20px;
    border: 1px solid rgba(255, 255, 255, .10);
    border-radius: 14px;
    background: rgba(31, 34, 39, .74);
    overflow: hidden;
}

.statistics-olympus-summary {
    min-height: 58px;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 12px;
    padding: 0 18px;
    cursor: pointer;
    list-style: none;
    user-select: none;
}

.statistics-olympus-summary::-webkit-details-marker { display: none; }

.statistics-olympus-summary strong {
    color: #FFFFFF;
    font-family: "Barlow Semi Condensed", "Arial Narrow", sans-serif;
    font-size: 1.04rem;
    font-weight: 700;
    letter-spacing: .04em;
}

.statistics-olympus-summary span {
    color: #979DA6;
    font-size: .76rem;
    font-weight: 600;
}

.statistics-olympus-summary b {
    color: #C8CDD4;
    font-size: 1rem;
    transition: transform .18s ease;
}

.statistics-olympus-disclosure[open] .statistics-olympus-summary b {
    transform: rotate(180deg);
}

.statistics-olympus-disclosure .statistics-olympus {
    margin: 0;
    border: 0;
    border-top: 1px solid rgba(255, 255, 255, .08);
    border-radius: 0;
}

.admin-profile-page .team-admin-team-head,
.admin-profile-page .team-admin-team-row {
    grid-template-columns: minmax(220px, 1.25fr) minmax(130px, .8fr) 62px 62px 72px 90px;
}

@media (max-width: 720px) {
    .team-profile-page .team-admin-history-head {
        display: none;
    }

    .team-profile-page .team-admin-history-row {
        grid-template-columns: minmax(0, 1fr) auto auto;
        gap: 10px;
        padding: 10px 12px;
    }

    .statistics-olympus-summary {
        min-height: 52px;
        padding: 0 14px;
    }

    .statistics-olympus-summary span {
        display: none;
    }

    .admin-profile-page .team-admin-team-head {
        display: none;
    }

    .admin-profile-page .team-admin-team-row {
        grid-template-columns: minmax(0, 1fr) auto auto;
        gap: 8px 10px;
    }

    .admin-profile-page .team-admin-team-row > b:nth-of-type(n+2) {
        display: none;
    }
}

/* =========================================================
   V142 — OLIMPO: MÁS AIRE LATERAL DENTRO DEL BLOQUE
   ========================================================= */
.statistics-olympus-disclosure .statistics-olympus {
    padding-left: 36px;
    padding-right: 36px;
}

@media (max-width: 720px) {
    .statistics-olympus-disclosure .statistics-olympus {
        padding-left: 18px;
        padding-right: 18px;
    }
}
