/* PM PERF: externalized main match-card CSS 2026-09-08 */
.pm-match-link {
    display: block;
    color: inherit;
    text-decoration: none;
    cursor: pointer;
}

.pm-match-link-disabled {
    cursor: default;
}

.pm-match-history-card-summary-trigger,
.pm-match-dropdown-trigger {
    cursor: default;
}

.pm-match-history-card-summary-trigger .pm-match-card,
.pm-match-dropdown-trigger .pm-match-card {
    cursor: default;
}

.pm-match-card {
    --pm-rank-col: 34px;
    --pm-score-col: 72px;
    --pm-gap: 10px;
    --pm-toggle-shift: 20px;

    --pm-stat-block-width: 154px;
    --pm-toggle-block-width: 34px;
    --pm-stat-gap: 10px;
    --pm-label-col: 16px;
    --pm-pill-w: 42px;
    --pm-pill-h: 20px;
    --pm-pill-gap: 4px;
    --pm-stat-row-gap: 3px;
    --pm-stat-font: 10px;
    --pm-context-font: 13px;
    --pm-toggle-height: 46px;

    --pm-team-logo-size: 27px;
    --pm-team-identity-width: var(--pm-stat-block-width);

    background: #fff;
    border: 1px solid #dbe6f3;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 3px 10px rgba(17, 31, 61, 0.05);
    margin-bottom: 10px;
    transition: background 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
    font-family: Arial, Helvetica, sans-serif;
}

.pm-match-link:hover .pm-match-card {
    background: #f9fbff;
    border-color: #c9d8ea;
    transform: translateY(-1px);
}

.pm-match-link-disabled:hover .pm-match-card,
.pm-match-history-card-summary-trigger:hover .pm-match-card,
.pm-match-dropdown-trigger:hover .pm-match-card {
    background: #f9fbff;
    border-color: #dbe6f3;
    transform: none;
}

.pm-match-dropdown-trigger.is-open .pm-match-card {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    margin-bottom: 0;
}

.pm-match-dropdown {
    margin: -1px 0 12px;
    padding: 12px;
    background: #fff;
    border: 1px solid #dbe6f3;
    border-top: none;
    border-radius: 0 0 6px 6px;
}

.pm-match-dropdown.loading {
    color: #475569;
    font-size: 13px;
}

/*
 * PM FIX: dropdown loading match stats 2026-08-22
 * Scope only the temporary AJAX loading state.
 */
.pm-match-dropdown.loading {
    text-align: center !important;
    color: #13294b !important;
}

.pm-match-dropdown .fixture-page {
    margin: 0;
}

.pm-match-card-header {
    display: grid;
    grid-template-columns: 120px minmax(0, 1fr) 145px;
    align-items: center;
    gap: 10px;
    background: linear-gradient(180deg, #13294b 0%, #102342 100%);
    border-bottom: 1px solid #13294b;
    border-radius: 6px 6px 0 0 !important;
    overflow: hidden;
    padding: 8px 13px;
    color: #fff;
    font-size: 11px;
    line-height: 1.2;
    box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.08);
}

.pm-match-date {
    color: rgba(255, 255, 255, 0.88);
    white-space: nowrap;
    font-weight: 400;
}

.pm-match-league {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    text-align: center;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.25px;
    color: #fff;
    overflow: hidden;
    min-width: 0;
}

.pm-match-league-text {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
    font-weight: 500;
}

.pm-match-league-link {
    color: #fff;
    text-decoration: none;
    cursor: pointer;
}

.pm-match-league-link:hover,
.pm-match-league-link:focus,
.pm-match-league-link:active,
.pm-match-league-link:visited {
    color: #fff;
    text-decoration: none;
}

.pm-match-league-name {
    transition: transform 0.15s ease;
    transform-origin: center center;
}

.pm-match-league-link:hover .pm-match-league-name {
    text-decoration: none;
    transform: scale(0.94);
}

.pm-match-country,
.pm-match-league-name {
    display: inline-block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
    font-weight: 500;
}

.pm-match-flag-wrap {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 17px;
    flex: 0 0 24px;
    margin: 0 2px;
    background: #ffffff;
    border-radius: 4px;
    -webkit-clip-path: none;
    clip-path: none;
    filter: drop-shadow(0 1px 1.2px rgba(0, 0, 0, 0.22));
}

.pm-match-flag {
    display: block;
    width: 20px !important;
    height: 13px !important;
    object-fit: cover;
    object-position: center;
    border-radius: 3px;
    -webkit-clip-path: none;
    clip-path: none;
    flex: 0 0 20px !important;
    padding: 0;
    background: transparent;
    box-shadow: none;
    filter: none;
}

.pm-match-flag-emoji {
    flex: 0 0 auto;
    font-size: 13px;
    line-height: 1;
}

.pm-match-round {
    text-align: right;
    color: rgba(255, 255, 255, 0.88);
    white-space: nowrap;
    font-size: 10px;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
    font-weight: 400;
}

/* PM FIX: premium match-card header typography */
.pm-match-card .pm-match-card-header,
.pm-match-card .pm-match-card-header .pm-match-date,
.pm-match-card .pm-match-card-header .pm-match-league,
.pm-match-card .pm-match-card-header .pm-match-league-text,
.pm-match-card .pm-match-card-header .pm-match-country,
.pm-match-card .pm-match-card-header .pm-match-league-name,
.pm-match-card .pm-match-card-header .pm-match-league-stage,
.pm-match-card .pm-match-card-header .pm-match-round,
.pm-match-card .pm-match-card-header .pm-match-round-text {
    font-family: 'Roboto', Arial, Helvetica, sans-serif;
}

.pm-match-card .pm-match-card-header {
    font-size: 11.5px;
    line-height: 1.18;
}

.pm-match-card .pm-match-date {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.05px;
    color: rgba(255, 255, 255, 0.92);
}

.pm-match-card .pm-match-league,
.pm-match-card .pm-match-league-text {
    font-size: 11.5px;
    font-weight: 800;
    letter-spacing: 0.18px;
}

.pm-match-card .pm-match-country,
.pm-match-card .pm-match-league-name {
    font-weight: 800;
}

.pm-match-card .pm-match-league-stage {
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 0.08px;
}

.pm-match-card .pm-match-round,
.pm-match-card .pm-match-round-text {
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 0.05px;
    color: rgba(255, 255, 255, 0.9);
}
/* PM FIX END: premium match-card header typography */

/* PM FIX: header flag text collision */
.pm-match-card .pm-match-card-header .pm-match-league-text {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
}

.pm-match-card .pm-match-card-header .pm-match-country {
    flex: 0 1 auto !important;
    min-width: 0 !important;
    max-width: 34% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    margin-right: 9px !important;
}

.pm-match-card .pm-match-card-header .pm-match-flag-wrap {
    flex: 0 0 24px !important;
    width: 24px !important;
    height: 17px !important;
    margin: 0 9px !important;
    position: relative !important;
    z-index: 2 !important;
}

.pm-match-card .pm-match-card-header .pm-match-flag {
    width: 20px !important;
    height: 13px !important;
    flex: 0 0 20px !important;
}

.pm-match-card .pm-match-card-header .pm-match-league-name {
    flex: 0 1 auto !important;
    min-width: 0 !important;
    max-width: 48% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    margin-left: 9px !important;
}

.pm-match-card .pm-match-card-header .pm-match-league-stage-separator {
    flex: 0 0 auto !important;
    margin: 0 8px !important;
}

.pm-match-card .pm-match-card-header .pm-match-league-stage {
    flex: 0 1 auto !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}
/* PM FIX END: header flag text collision */

/* PM FIX: country flag header watermark */
.pm-match-card:not(.pm-btts-premium) .pm-match-card-header {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: #13294b;
    border-bottom: 1px solid rgba(19, 41, 75, 0.95);
}

.pm-match-card:not(.pm-btts-premium) .pm-match-header-flag-bg {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 0;
    width: clamp(150px, 22vw, 240px);
    height: calc(100% + 34px);
    transform: translate(-50%, -50%);
    object-fit: cover;
    object-position: center center;
    opacity: 0.34;
    filter: saturate(1.12) contrast(1.08) brightness(0.88);
    pointer-events: none;
    -webkit-mask-image: radial-gradient(ellipse at center, #000 0%, #000 36%, rgba(0,0,0,0.45) 58%, transparent 78%);
    mask-image: radial-gradient(ellipse at center, #000 0%, #000 36%, rgba(0,0,0,0.45) 58%, transparent 78%);
}

/* Premium brand tint: flag visible, but not raw/harsh */
.pm-match-card:not(.pm-btts-premium) .pm-match-card-header::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        radial-gradient(circle at center, rgba(255,255,255,0.07) 0%, rgba(255,255,255,0.02) 34%, transparent 56%),
        linear-gradient(90deg,
            rgba(19,41,75,0.92) 0%,
            rgba(19,41,75,0.52) 26%,
            rgba(19,41,75,0.14) 50%,
            rgba(19,41,75,0.52) 74%,
            rgba(19,41,75,0.92) 100%
        ),
        linear-gradient(180deg,
            rgba(255,255,255,0.12) 0%,
            rgba(19,41,75,0.06) 45%,
            rgba(5,15,35,0.26) 100%
        );
    pointer-events: none;
}

/* Fine premium bottom edge */

.pm-match-card .pm-match-card-header .pm-match-date,
.pm-match-card .pm-match-card-header .pm-match-league,
.pm-match-card .pm-match-card-header .pm-match-round {
    position: relative;
    z-index: 3;
}

.pm-match-card .pm-match-card-header .pm-match-flag-wrap {
    display: none !important;
}

.pm-match-card .pm-match-card-header .pm-match-league-text {
    gap: 0 !important;
    max-width: 100% !important;
    padding: 5px 14px;
    border-radius: 6px;
    background: rgba(6, 17, 38, 0.44);
    border: 1px solid rgba(255,255,255,0.13);
    box-shadow:
        0 2px 8px rgba(0,0,0,0.20),
        inset 0 1px 0 rgba(255,255,255,0.08);
    backdrop-filter: blur(2px) saturate(1.05);
    -webkit-backdrop-filter: blur(2px) saturate(1.05);
    text-shadow: 0 1px 3px rgba(0,0,0,0.82);
}

.pm-match-card .pm-match-card-header .pm-match-date,
.pm-match-card .pm-match-card-header .pm-match-round {
    background: rgba(6, 17, 38, 0.30);
    border: 1px solid rgba(255,255,255,0.09);
    border-radius: 5px;
    box-shadow:
        0 1px 4px rgba(0,0,0,0.14),
        inset 0 1px 0 rgba(255,255,255,0.06);
    text-shadow: 0 1px 3px rgba(0,0,0,0.82);
}

.pm-match-card .pm-match-card-header .pm-match-date {
    display: inline-flex;
    align-items: center;
    justify-self: start;
    padding: 6px 18px;
    max-width: 100%;
}

.pm-match-card .pm-match-card-header .pm-match-round {
    justify-self: end;
    padding: 3px 7px;
}

.pm-match-card .pm-match-card-header .pm-match-country {
    max-width: 38% !important;
    margin-right: 0 !important;
    text-shadow: inherit;
}

.pm-match-card .pm-match-card-header .pm-match-country::after {
    content: "";
    display: inline-block;
    width: 1px;
    height: 11px;
    margin: 0 9px;
    vertical-align: -1px;
    background: rgba(255,255,255,0.64);
    box-shadow: 0 1px 2px rgba(0,0,0,0.38);
}

.pm-match-card .pm-match-card-header .pm-match-league-name {
    max-width: 54% !important;
    margin-left: 0 !important;
    text-shadow: inherit;
}

.pm-match-card .pm-match-card-header .pm-match-league-stage,
.pm-match-card .pm-match-card-header .pm-match-round,
.pm-match-card .pm-match-card-header .pm-match-date {
    text-shadow: 0 1px 3px rgba(0,0,0,0.82);
}

/* PM FIX: single clean header bottom edge */
.pm-match-card:not(.pm-btts-premium) .pm-match-card-header {
    border-bottom: 0 !important;
    box-shadow: none !important;
}
/* PM FIX END: single clean header bottom edge */


/* PM FIX: darken header sides only */
.pm-match-card:not(.pm-btts-premium) .pm-match-card-header::before {
    background:
        radial-gradient(circle at center,
            rgba(255,255,255,0.13) 0%,
            rgba(255,255,255,0.06) 30%,
            transparent 54%
        ),
        linear-gradient(90deg,
            rgba(19,41,75,0.98) 0%,
            rgba(19,41,75,0.82) 16%,
            rgba(19,41,75,0.48) 32%,
            rgba(19,41,75,0.14) 50%,
            rgba(19,41,75,0.48) 68%,
            rgba(19,41,75,0.82) 84%,
            rgba(19,41,75,0.98) 100%
        ),
        linear-gradient(180deg,
            rgba(255,255,255,0.12) 0%,
            rgba(19,41,75,0.06) 45%,
            rgba(5,15,35,0.28) 100%
        ) !important;
}
/* PM FIX END: darken header sides only */


/* PM FIX: keep country flag watermark inside match-card header */
.pm-match-card:not(.pm-btts-premium) .pm-match-card-header {
    overflow: hidden;
}

.pm-match-card:not(.pm-btts-premium) .pm-match-header-flag-bg {
    max-height: calc(100% - 8px);
    object-fit: contain;
}
/* PM FIX END: keep country flag watermark inside match-card header */

/* PM FIX END: country flag header watermark */




.pm-match-body {
    position: relative;
    padding: 10px 11px 11px;
}

.pm-match-body::before,
.pm-match-body::after {
    content: "";
    position: absolute;
    top: 4px;
    bottom: 4px;
    width: 0;
    border-left: 1px solid #dbe6f3;
    pointer-events: none;
}

.pm-match-body::before {
    left: calc(11px + var(--pm-rank-col) + (var(--pm-gap) / 2));
}

.pm-match-body::after {
    right: calc(11px + var(--pm-rank-col) + (var(--pm-gap) / 2));
}

.pm-match-main,
.pm-match-events-row {
    display: grid;
    grid-template-columns:
        var(--pm-rank-col)
        minmax(0, 1fr)
        var(--pm-score-col)
        minmax(0, 1fr)
        var(--pm-rank-col);
    column-gap: var(--pm-gap);
}

.pm-match-main {
    align-items: center;
    margin-bottom: 5px;
}

.pm-match-card.has-team-logos .pm-match-main {
    align-items: center;
    margin-bottom: 6px;
}

.pm-team-rank {
    font-size: 27px;
    font-weight: 500;
    color: #002855;
    text-align: center;
    line-height: 1;
    align-self: center;
    transform: translateY(25px);
}

/* PM UX: match-card standings rank zone squares 2026-09-05 START */

/*
 * Same visual language as the final Overall standings rank badge:
 * - 3px square radius
 * - neutral pale background by default
 * - exact final qualification/relegation colours
 * - same soft shadow
 *
 * Parent rank containers keep ALL existing match-card positioning.
 * The badge scales down automatically with narrow/mobile rank columns.
 */
.pm-team-rank .pm-match-rank-badge,
.pm-table-v2-rank .pm-match-rank-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 33px;
    aspect-ratio: 1 / 1;
    margin-left: auto;
    margin-right: auto;
    padding: 0;
    box-sizing: border-box;
    border: 0;
    border-radius: 3px;
    background: #eef3fb !important;
    color: #13294b !important;
    box-shadow: 0 2px 6px rgba(15, 23, 42, 0.10);
    font-size: 0.69em;
    font-weight: 700;
    line-height: 1;
    text-align: center;
}

/* Champions League / direct promotion */
.pm-match-rank-badge.zone-champions-league,
.pm-match-rank-badge.zone-promotion {
    background: #13294b !important;
    color: #ffffff !important;
}

/* Europa League */
.pm-match-rank-badge.zone-europa-league {
    background: #4f7ee8 !important;
    color: #ffffff !important;
}

/* Conference League */
.pm-match-rank-badge.zone-conference-league {
    background: #2fb8c8 !important;
    color: #ffffff !important;
}

/* Promotion / knockout play-off */
.pm-match-rank-badge.zone-promotion-playoff {
    background: #d8952a !important;
    color: #ffffff !important;
}

/* Relegation play-off */
.pm-match-rank-badge.zone-relegation-playoff {
    background: #e77b91 !important;
    color: #ffffff !important;
}

/* Relegation */
.pm-match-rank-badge.zone-relegation {
    background: #9d2235 !important;
    color: #ffffff !important;
}


/*
 * PM FIX: match-card canonical rank-zone parity 2026-09-07
 *
 * Exact final palette already approved by the canonical standings table.
 */

/* Provider-generic qualification */
.pm-match-rank-badge.zone-generic-qualifying {
    background: #64748b !important;
    color: #ffffff !important;
}

/* Provider-generic play-offs */
.pm-match-rank-badge.zone-generic-playoff {
    background: #94a3b8 !important;
    color: #ffffff !important;
}

/* CONMEBOL Libertadores */
.pm-match-rank-badge.zone-copa-libertadores {
    background: #13294b !important;
    color: #ffffff !important;
}

/* CONMEBOL Sudamericana */
.pm-match-rank-badge.zone-copa-sudamericana {
    background: #2fb8c8 !important;
    color: #ffffff !important;
}

/* AFC Champions League Elite */
.pm-match-rank-badge.zone-afc-champions-league-elite {
    background: #13294b !important;
    color: #ffffff !important;
}

/* AFC Champions League Two */
.pm-match-rank-badge.zone-afc-champions-league-two {
    background: #2fb8c8 !important;
    color: #ffffff !important;
}

/*
 * PM FIX: match-card CAF continental qualification semantics 2026-09-07
 */

/* CAF Champions League */
.pm-match-rank-badge.zone-caf-champions-league {
    background: #13294b !important;
    color: #ffffff !important;
}

/* CAF Confederation Cup */
.pm-match-rank-badge.zone-caf-confederation-cup {
    background: #4f7ee8 !important;
    color: #ffffff !important;
}

/* PM FIX: match-card CAF continental qualification semantics 2026-09-07 END */

/* PM FIX: match-card canonical rank-zone parity 2026-09-07 END */

/* PM UX: match-card standings rank zone squares 2026-09-05 END */

/* PM UX: Table V2 rank badge safe midpoint 2026-09-05 START */

/*
 * IMPORTANT:
 *
 * Keep .pm-table-v2-rank itself in the original five-column grid.
 * Only the INNER badge is visually repositioned.
 *
 * Therefore these original grid placeholders remain:
 *
 *   rank | home team | score | away team | rank
 *
 * Team/logo/score/stats positions cannot collapse as they did when the
 * rank grid items themselves were made absolute.
 *
 * Scope only to the MAIN Table V2 match card. Match History is untouched.
 */

.pm-match-card.pm-main-match-card.pm-match-card-table-v2
.pm-table-v2-main {
    position: relative;
}

/* Home badge: midpoint between left card edge and home team area. */
.pm-match-card.pm-main-match-card.pm-match-card-table-v2
.pm-table-v2-main
> .pm-table-v2-rank:first-child
> .pm-match-rank-badge {
    position: absolute;
    left: 10.5%;
    top: calc(50% - 10.6px);

    width: min(33px, var(--pm-table-v2-rank-col));
    height: min(33px, var(--pm-table-v2-rank-col));
    max-width: none;

    margin: 0;

    transform: translate(-50%, -50%);
    z-index: 2;
}

/* Away badge: mirrored midpoint between away team area and right edge. */
.pm-match-card.pm-main-match-card.pm-match-card-table-v2
.pm-table-v2-main
> .pm-table-v2-rank:last-child
> .pm-match-rank-badge {
    position: absolute;
    right: 10.5%;
    top: calc(50% - 10.6px);

    width: min(33px, var(--pm-table-v2-rank-col));
    height: min(33px, var(--pm-table-v2-rank-col));
    max-width: none;

    margin: 0;

    transform: translate(50%, -50%);
    z-index: 2;
}



/*
 * <=560px uses the current smaller Table V2 geometry:
 *
 *   logo:      42px
 *   gap:        3px
 *   name line: 11.3px × 1.1 = 12.43px
 *
 * Logo centre therefore sits 7.7px above the full team-stack centre.
 */
@media (max-width: 560px) {
    .pm-match-card.pm-main-match-card.pm-match-card-table-v2
    .pm-table-v2-main
    > .pm-table-v2-rank:first-child
    > .pm-match-rank-badge,

    .pm-match-card.pm-main-match-card.pm-match-card-table-v2
    .pm-table-v2-main
    > .pm-table-v2-rank:last-child
    > .pm-match-rank-badge {
        top: calc(50% - 7.7px);
    }
}
/* PM UX: Table V2 rank badge safe midpoint 2026-09-05 END */


.pm-team-name {
    font-size: 14px;
    font-weight: 800;
    color: #001f4d;
    line-height: 1.12;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
}

.pm-team-name.home {
    grid-column: 2;
    text-align: right;
    justify-self: stretch;
}

.pm-team-name.away {
    grid-column: 4;
    text-align: left;
    justify-self: stretch;
}

.pm-team-name-text {
    display: block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-transform: uppercase;
}

.pm-team-name.has-logo {
    width: var(--pm-team-identity-width);
    max-width: 100%;
    min-height: 30px;
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 7px;
    overflow: hidden;
    white-space: nowrap;
    text-align: center;
    line-height: 1.12;
}

.pm-team-name.has-logo.home {
    justify-self: end;
    text-align: center;
    flex-direction: row;
}

.pm-team-name.has-logo.away {
    justify-self: start;
    text-align: center;
    flex-direction: row-reverse;
}

.pm-team-name.has-logo .pm-team-name-text {
    display: block;
    width: auto;
    min-width: 0;
    max-width: calc(100% - var(--pm-team-logo-size) - 8px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pm-team-name.has-logo.home .pm-team-name-text {
    text-align: left;
}

.pm-team-name.has-logo.away .pm-team-name-text {
    text-align: right;
}


.pm-team-name-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    max-width: 100%;
    color: inherit;
    text-decoration: none;
    cursor: pointer;
}

.pm-team-name.home .pm-team-name-link {
    justify-content: flex-start;
}

.pm-team-name.away .pm-team-name-link {
    justify-content: flex-end;
}

.pm-team-name-link:hover,
.pm-team-name-link:focus {
    color: #13294b;
    text-decoration: none;
    color: #9d2235;
}

.pm-team-name-link:active,
.pm-team-name-link:visited {
    color: inherit;
    text-decoration: none;
}

.pm-team-name-link:hover .pm-team-name-text,
.pm-team-name-link:focus .pm-team-name-text {
    color: #13294b;
    text-decoration: underline;
    text-underline-offset: 2px;
    color: #9d2235;
}

/* PM FIX: team names burgundy hover */
.pm-match-card .pm-team-name:hover,
.pm-match-card .pm-team-name:focus-within,
.pm-match-card .pm-team-name-link:hover,
.pm-match-card .pm-team-name-link:focus,
.pm-match-card .pm-team-name:hover .pm-team-name-text,
.pm-match-card .pm-team-name:focus-within .pm-team-name-text,
.pm-match-card .pm-team-name-link:hover .pm-team-name-text,
.pm-match-card .pm-team-name-link:focus .pm-team-name-text {
    color: #9d2235 !important;
}
/* PM FIX END: team names burgundy hover */


.pm-team-logo {
    display: block;
    width: var(--pm-team-logo-size);
    height: var(--pm-team-logo-size);
    object-fit: contain;
    flex: 0 0 var(--pm-team-logo-size);
    margin: 0;
}

/* PM FIX: circular flags only for national team fixtures */
.pm-match-card.pm-national-team-flags .pm-team-logo,
.pm-match-card.pm-national-team-flags .pm-table-v2-logo {
    border-radius: 50% !important;
    object-fit: cover !important;
}
/* PM FIX END: circular flags only for national team fixtures */


/* PM FIX: bolder team names, safer fitting on smaller screens */
@media (max-width: 900px) {
    .pm-match-card .pm-team-name {
        font-size: 14px;
        letter-spacing: -0.2px;
    }
}

@media (max-width: 600px) {
    .pm-match-card .pm-team-name {
        font-size: 12px;
        letter-spacing: -0.25px;
    }
}

@media (max-width: 420px) {
    .pm-match-card .pm-team-name {
        font-size: 11px;
        letter-spacing: -0.3px;
    }
}

.pm-score-area {
    grid-column: 3;
    text-align: center;
    justify-self: center;
    width: var(--pm-score-col);
    min-width: var(--pm-score-col);
}

.pm-score-main {
    font-size: 18px;
    font-weight: 800;
    color: #001f4d;
    line-height: 1.05;
    white-space: nowrap;
}

.pm-score-meta {
    margin-top: 3px;
    font-size: 10px;
    color: #64748b;
    line-height: 1.1;
    min-height: 11px;
    text-align: center;
    font-weight: 400;
}

.pm-match-card.pm-match-card-live .pm-score-area {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    justify-self: center;
    width: auto;
    min-width: 58px;
    padding: 4px 7px;
    background: #9d2235;
    border-radius:  4px !important;
    box-sizing: border-box;
}

.pm-match-card.pm-match-card-live .pm-score-main {
    color: #ffffff;
}

/*
 * PM FIX: 15s goal flash with changed score side emphasis 2026-08-22
 * Temporary spans are created only during the active goal flash.
 */
.pm-match-card.pm-match-card-live
.pm-score-main .pm-goal-score-side {
    display: inline-block;
    font-size: 1em;
    line-height: 1;
}

.pm-match-card.pm-match-card-live
.pm-score-main .pm-goal-score-side.pm-goal-score-side-changed {
    font-size: 1.25em;
}

.pm-match-card.pm-match-card-live .pm-score-meta {
    color: #ffffff;
    font-weight: 700;
    width: 100%;
    margin-top: 3px;
    padding-top: 3px;
    border-top: 1px solid rgba(255, 255, 255, 0.75);
    box-sizing: border-box;
}



.pm-match-card.pm-match-card-live .pm-score-meta .pm-live-minute-flash {
    display: inline-block;
    animation: pmLiveMinuteFlash 1s ease-in-out infinite;
}

@keyframes pmLiveMinuteFlash {
    0%, 100% {
        opacity: 1;
    }

    50% {
        opacity: 0.35;
    }
}


.pm-match-card.pm-match-card-result .pm-score-area {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    justify-self: center;
    width: auto;
    min-width: 58px;
    padding: 4px 7px;
    background: #13294b;
    border-radius: 4px !important;
    box-sizing: border-box;
}

.pm-match-card.pm-match-card-result .pm-score-main {
    color: #ffffff;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.05;
}

.pm-match-card.pm-match-card-result .pm-score-meta {
    width: 100%;
    margin-top: 3px;
    padding-top: 3px;
    border-top: 1px solid rgba(255, 255, 255, 0.75);
    box-sizing: border-box;
    color: #ffffff;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.1;
    animation: none !important;
}

/* PM FIX: scheduled fixture score box */
.pm-match-card.pm-match-card-fixture .pm-score-area {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    justify-self: center;
    width: auto;
    min-width: 58px;
    padding: 4px 7px;
    background: #ffffff;
    border: 1px solid #13294b;
    border-radius: 4px !important;
    box-sizing: border-box;
}

.pm-match-card.pm-match-card-fixture .pm-score-main {
    color: #13294b;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.05;
}

.pm-match-card.pm-match-card-fixture .pm-score-meta {
    color: #13294b;
    margin-top: 2px;
    padding-top: 0;
    border-top: 0 !important;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.1;
}


/* PM FIX: match history result score box stays white */
.pm-match-history .pm-match-card.pm-match-card-result .pm-score-area,
.pm-match-history-card .pm-match-card.pm-match-card-result .pm-score-area,
.pm-match-history-card-inner .pm-match-card.pm-match-card-result .pm-score-area {
    background: #ffffff !important;
    border: none !important;
}

.pm-match-history .pm-match-card.pm-match-card-result .pm-score-main,
.pm-match-history-card .pm-match-card.pm-match-card-result .pm-score-main,
.pm-match-history-card-inner .pm-match-card.pm-match-card-result .pm-score-main {
    color: #13294b !important;
}

.pm-match-history .pm-match-card.pm-match-card-result .pm-score-meta,
.pm-match-history-card .pm-match-card.pm-match-card-result .pm-score-meta,
.pm-match-history-card-inner .pm-match-card.pm-match-card-result .pm-score-meta {
    color: #13294b !important;
    border-top: 1px solid #b9d9ff !important;
}


.pm-match-events-row {
    align-items: start;
    margin-bottom: 8px;
}

.pm-team-events {
    font-size: 11px;
    line-height: 1.35;
    color: #475569;
    min-height: 14px;
}

.pm-team-events.home {
    grid-column: 2;
    text-align: right;
    justify-self: stretch;
}

.pm-team-events.away {
    grid-column: 4;
    text-align: left;
    justify-self: stretch;
}

.pm-events-spacer {
    grid-column: 3;
    width: var(--pm-score-col);
}

.pm-team-event {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/*
|--------------------------------------------------------------------------
| Stats row
|--------------------------------------------------------------------------
*/

.pm-match-stats-row {
    display: grid !important;
    grid-template-columns:
        var(--pm-stat-block-width)
        var(--pm-toggle-block-width)
        var(--pm-stat-block-width) !important;
    column-gap: var(--pm-stat-gap) !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    margin-top: 0 !important;
    overflow: visible !important;
}

.pm-match-stats-row {
    position: relative;
    padding-top: 10px;
}

.pm-match-stats-row::before {
    content: "";
    position: absolute;
    top: 0;
    left: -11px;
    right: -11px;
    border-top: 1px solid #dbe6f3;
    pointer-events: none;
}

.pm-match-stats-row .pm-stat-box {
    display: grid;
    grid-template-rows:
        var(--pm-pill-h)
        var(--pm-pill-h)
        var(--pm-pill-h);
    row-gap: var(--pm-stat-row-gap);
    width: var(--pm-stat-block-width) !important;
    min-width: var(--pm-stat-block-width) !important;
    max-width: var(--pm-stat-block-width) !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
}

.pm-match-stats-row .pm-stat-box.home {
    grid-column: 1 !important;
    justify-self: end !important;
    align-self: center !important;
    justify-items: end;
    align-items: center;
}

.pm-match-stats-row .pm-stat-box.away {
    grid-column: 3 !important;
    justify-self: start !important;
    align-self: center !important;
    justify-items: start;
    align-items: center;
}

.pm-match-stats-row .pm-stat-box > * {
    display: grid !important;
    align-items: center;
    column-gap: var(--pm-pill-gap);
    min-height: var(--pm-pill-h);
    height: var(--pm-pill-h);
    line-height: 1;
    margin: 0 !important;
    transform: none !important;
    overflow: visible;
}

.pm-match-stats-row .pm-stat-box.home > * {
    grid-template-columns:
        var(--pm-label-col)
        var(--pm-pill-w)
        var(--pm-pill-w)
        var(--pm-pill-w) !important;
    width: var(--pm-stat-block-width) !important;
    min-width: var(--pm-stat-block-width) !important;
    max-width: var(--pm-stat-block-width) !important;
    justify-content: end !important;
}

.pm-match-stats-row .pm-stat-box.away > * {
    grid-template-columns:
        var(--pm-pill-w)
        var(--pm-pill-w)
        var(--pm-pill-w)
        var(--pm-label-col) !important;
    width: var(--pm-stat-block-width) !important;
    min-width: var(--pm-stat-block-width) !important;
    max-width: var(--pm-stat-block-width) !important;
    justify-content: start !important;
}

.pm-match-stats-row .pm-stat-box > * > * {
    justify-self: center;
    align-self: center;
    text-align: center;
    transform: none !important;
    transform-origin: center center;
}

.pm-match-stats-row .pm-stat-box > * > *:nth-child(2),
.pm-match-stats-row .pm-stat-box > * > *:nth-child(3),
.pm-match-stats-row .pm-stat-box.home > * > *:nth-child(4),
.pm-match-stats-row .pm-stat-box.away > * > *:nth-child(1) {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: var(--pm-pill-w);
    height: var(--pm-pill-h);
    min-width: var(--pm-pill-w);
    padding: 0 6px;
    border-radius: 0 !important;
    box-sizing: border-box;
}

.pm-match-stats-row .pm-stat-box.home > * > *:nth-child(4),
.pm-match-stats-row .pm-stat-box.away > * > *:nth-child(1) {
    background: #fff;
    border: 1px solid #dbe6f3;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
    font-size: var(--pm-stat-font);
    font-weight: 800 !important;
    line-height: 1;
    letter-spacing: -0.1px;
    color: #64748b;
}

.pm-match-stats-row .pm-stat-box > *:nth-child(2) {
    min-height: var(--pm-pill-h);
    height: var(--pm-pill-h);
    position: relative;
    z-index: 6;
}

.pm-match-stats-row .pm-stat-box > *:nth-child(2) > * {
    font-size: var(--pm-context-font) !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    transform: none !important;
}

.pm-match-stats-row .pm-stat-box > *:nth-child(2) .pm-goal-diff-pill {
    font-size: var(--pm-context-font) !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}

.pm-center-toggle {
    grid-column: 2 !important;
    justify-self: center !important;
    align-self: center !important;
    width: var(--pm-toggle-block-width) !important;
    min-width: var(--pm-toggle-block-width) !important;
    max-width: var(--pm-toggle-block-width) !important;
    height: var(--pm-toggle-height) !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0;
    background: transparent;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer;
    line-height: 1;
    appearance: none;
    -webkit-appearance: none;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
    position: relative !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    z-index: 30 !important;
}

.pm-center-toggle[aria-hidden="true"] {
    cursor: default;
    pointer-events: none;
}

.pm-center-toggle-track {
    position: relative;
    width: 18px;
    height: 38px;
    margin: 0 auto !important;
    border-radius: 999px;
    background: #13294b;
    box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.18);
    transition: background 0.15s ease, box-shadow 0.15s ease;
}

.pm-center-toggle-knob {
    position: absolute;
    top: 0;
    left: 50% !important;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: url('/logo/prematcher-symbol.png') center center / contain no-repeat;
    box-shadow: none;
    transform: translateX(-50%) !important;
    transition: transform 0.15s ease;
}

.pm-center-toggle:hover .pm-center-toggle-track,
.pm-center-toggle:focus-visible .pm-center-toggle-track {
    background: #9d2235;
}

.pm-center-toggle[aria-hidden="true"]:hover .pm-center-toggle-track {
    background: #9d2235;
}

.pm-center-toggle:focus-visible {
    outline: 2px solid #13294b;
    outline-offset: 2px;
    border-radius: 999px;
}

.pm-match-dropdown-trigger.is-open .pm-center-toggle-track,
.pm-match-history-card.is-expanded .pm-center-toggle-track {
    background: #9d2235;
}

.pm-match-dropdown-trigger.is-open .pm-center-toggle-knob,
.pm-match-history-card.is-expanded .pm-center-toggle-knob {
    transform: translateX(-50%) translateY(var(--pm-toggle-shift)) !important;
}

/*
|--------------------------------------------------------------------------
| GD pill colour
|--------------------------------------------------------------------------
*/

.pm-match-card .pm-match-stats-row .pm-goal-diff-pill {
    background: #ffffff !important;
    border: 1px solid #dbe6f3 !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06) !important;
    font-size: var(--pm-stat-font) !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: -0.1px !important;
}

.pm-match-card .pm-match-stats-row .pm-goal-diff-pill.pm-goal-diff-positive {
    color: #16a34a !important;
}

.pm-match-card .pm-match-stats-row .pm-goal-diff-pill.pm-goal-diff-negative {
    color: #dc2626 !important;
}

.pm-match-card .pm-match-stats-row .pm-goal-diff-pill.pm-goal-diff-equal {
    color: #ca8a04 !important;
}

/*
|--------------------------------------------------------------------------
| Compact card
|--------------------------------------------------------------------------
*/

/* PM MATCH FAVOURITE BUTTON */
.pm-match-card-header {
    position: relative;
}

.pm-match-card.has-favorite-button .pm-match-round {
    padding-right: 0;
}

.pm-match-round {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    min-width: 0;
}

.pm-match-round-text {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pm-match-favorite-wrap {
    position: static;
    z-index: 10;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.pm-match-favorite-form {
    margin: 0;
    padding: 0;
    display: inline-flex;
}

.pm-match-favorite-button,
.pm-match-favorite-login {
    width: 26px;
    height: 26px;
    min-width: 26px;
    min-height: 26px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background-color: transparent !important;
    background-image: url("/img/unfav_match.png") !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: 21px 21px !important;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: none !important;
    overflow: hidden;
    font-size: 0 !important;
    line-height: 0 !important;
    color: transparent !important;
    text-indent: -9999px;
}

.pm-match-favorite-button.is-favorite {
    background-image: url("/img/fav_match.png") !important;
}

.pm-match-favorite-icon {
    display: none !important;
}

.pm-match-favorite-button:hover,
.pm-match-favorite-login:hover {
    transform: scale(1.06);
}

@media (max-width: 560px) {
    .pm-match-round {
        gap: 4px;
    }

    .pm-match-favorite-button,
    .pm-match-favorite-login {
        width: 23px;
        height: 23px;
        min-width: 23px;
        min-height: 23px;
        background-size: 19px 19px !important;
    }
}
/* END PM MATCH FAVOURITE BUTTON */

.pm-match-card.compact {
    --pm-rank-col: 32px;
    --pm-score-col: 70px;
    --pm-gap: 8px;
    --pm-toggle-shift: 20px;
    --pm-team-logo-size: 25px;
}

.pm-match-card.pm-btts-premium .pm-match-card-header {
    background-color: #bae6fd !important; /* Light sky blue */
    color: #13294b !important; /* Brand Navy text for contrast */
}
.pm-match-card.pm-btts-premium .pm-match-card-header a {
    color: #13294b !important;
}

.pm-match-card.compact .pm-match-card-header {
    grid-template-columns: 110px minmax(0, 1fr) 130px;
    padding: 6px 12px;
}

.pm-match-card.compact .pm-match-body {
    padding: 9px 10px 10px;
}

.pm-match-card.compact .pm-team-rank {
    font-size: 12px;
    font-weight: 600;
}

.pm-match-card.compact .pm-team-name {
    font-size: 12px;
    font-weight: 700;
}

.pm-match-card.compact .pm-team-name.has-logo {
    min-height: 27px;
    gap: 6px;
}

.pm-match-card.compact .pm-score-main {
    font-size: 15px;
    font-weight: 700;
}

.pm-match-card.compact .pm-score-meta {
    font-size: 8.5px;
}

.pm-match-card.compact .pm-match-date,
.pm-match-card.compact .pm-match-league,
.pm-match-card.compact .pm-match-round {
    font-size: 9.5px;
    font-weight: 400;
}

/*
|--------------------------------------------------------------------------
| Responsive
|--------------------------------------------------------------------------
*/

@media (max-width: 768px) {
    .pm-match-card {
        --pm-rank-col: 26px;
        --pm-score-col: 58px;
        --pm-gap: 6px;

        --pm-stat-block-width: 134px;
        --pm-toggle-block-width: 30px;
        --pm-stat-gap: 8px;
        --pm-label-col: 14px;
        --pm-pill-w: 36px;
        --pm-pill-h: 18px;
        --pm-pill-gap: 4px;
        --pm-stat-row-gap: 2px;
        --pm-stat-font: 9px;
        --pm-context-font: 11.6px;
        --pm-toggle-height: 42px;

        --pm-team-logo-size: 22px;
        --pm-team-identity-width: var(--pm-stat-block-width);
    }

    .pm-match-card-header {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        gap: 4px 7px;
        text-align: center;
        padding: 8px 12px;
    }

    .pm-match-league {
        order: 1;
        flex: 0 0 100%;
        max-width: 100%;
        overflow: visible;
        justify-content: center;
        font-weight: 500;
    }

    .pm-match-league-text {
        max-width: 100%;
        overflow: visible;
        text-overflow: clip;
        white-space: normal;
        flex-wrap: nowrap;
        row-gap: 3px;
        font-weight: 500;
        line-height: 1.25;
    }

    .pm-match-country,
    .pm-match-league-name {
        overflow: visible;
        text-overflow: clip;
        white-space: normal;
        max-width: 100%;
    }

    .pm-match-date {
        order: 2;
        flex: 0 0 auto;
        text-align: center;
        color: rgba(255, 255, 255, 0.88);
        white-space: nowrap;
    }

    .pm-match-date::after {
        content: "|";
        display: inline-block;
        margin-left: 7px;
        color: rgba(255, 255, 255, 0.45);
        font-weight: 400;
    }

    .pm-match-round {
        order: 3;
        flex: 0 0 auto;
        text-align: center;
        overflow: visible;
        text-overflow: clip;
        white-space: nowrap;
        font-size: 10px;
        color: rgba(255, 255, 255, 0.88);
    }

    .pm-team-rank {
        font-size: 23px;
        transform: translateY(20px);
    }

    .pm-team-name {
        font-size: 13.5px;
    }

    .pm-team-name.has-logo {
        min-height: 27px;
        gap: 6px;
    }

    .pm-score-main {
        font-size: 15px;
    }

    .pm-team-events {
        font-size: 10px;
    }

    .pm-match-dropdown {
        padding: 8px;
    }
}

@media (max-width: 480px) {
    .pm-match-card {
        --pm-rank-col: 22px;
        --pm-score-col: 52px;
        --pm-gap: 5px;

        --pm-stat-block-width: 114px;
        --pm-toggle-block-width: 26px;
        --pm-stat-gap: 6px;
        --pm-label-col: 12px;
        --pm-pill-w: 31px;
        --pm-pill-h: 16px;
        --pm-pill-gap: 3px;
        --pm-stat-row-gap: 2px;
        --pm-stat-font: 8px;
        --pm-context-font: 10.2px;

        --pm-team-logo-size: 20px;
        --pm-team-identity-width: var(--pm-stat-block-width);
    }

    .pm-match-body {
        padding: 9px 8px 10px;
    }

    .pm-match-league,
    .pm-match-date,
    .pm-match-round {
        font-size: 10px;
    }

    .pm-match-league-text {
        gap: 4px;
        line-height: 1.25;
    }

    .pm-team-name {
        font-size: 12.5px;
    }

    .pm-team-name.has-logo {
        min-height: 25px;
        gap: 5px;
    }

    .pm-score-main {
        font-size: 14px;
    }

    .pm-score-meta {
        font-size: 9px;
    }

    .pm-team-events {
        font-size: 9px;
    }

    .pm-match-dropdown {
        padding: 6px;
    }
}

@media (max-width: 380px) {
    .pm-match-card {
        --pm-rank-col: 20px;
        --pm-score-col: 48px;
        --pm-gap: 4px;

        --pm-stat-block-width: 108px;
        --pm-toggle-block-width: 24px;
        --pm-stat-gap: 5px;
        --pm-label-col: 11px;
        --pm-pill-w: 29px;
        --pm-pill-h: 16px;
        --pm-pill-gap: 3px;
        --pm-context-font: 9.4px;

        --pm-team-logo-size: 18px;
        --pm-team-identity-width: var(--pm-stat-block-width);
    }

    .pm-match-league-text {
        gap: 3px;
    }

    .pm-match-date,
    .pm-match-round {
        font-size: 9px;
    }

    .pm-team-name {
        font-size: 11.5px;
    }

    .pm-team-name.has-logo {
        min-height: 23px;
        gap: 4px;
    }

    .pm-score-main {
        font-size: 13px;
    }

    .pm-team-events {
        font-size: 8px;
    }
}

/* PM ROUND/STAGE AFTER LEAGUE NAME */
@media (min-width: 701px) {
    .pm-match-card-header {
        grid-template-columns: minmax(90px, 160px) minmax(0, 1fr) minmax(30px, 42px) !important;
    }

    .pm-match-league {
        min-width: 0 !important;
        overflow: hidden !important;
    }

    .pm-match-league-text {
        max-width: 100% !important;
        min-width: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 5px !important;
        overflow: hidden !important;
        white-space: nowrap !important;
    }

    .pm-match-league-name {
        flex: 0 1 auto !important;
        min-width: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    .pm-match-league-stage-separator {
        flex: 0 0 auto;
        width: 1px;
        height: 13px;
        margin: 0 5px;
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.42);
        box-shadow: 0 0 0 1px rgba(19, 41, 75, 0.08);
    }

    .pm-match-league-stage {
        flex: 0 1 auto;
        min-width: 0;
        max-width: 310px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        color: rgba(255, 255, 255, 0.92);
        font-size: 10px;
        font-weight: 800;
        letter-spacing: 0.1px;
    }

    .pm-match-round {
        min-width: 30px !important;
        width: auto !important;
        max-width: 42px !important;
        justify-content: flex-end !important;
        gap: 0 !important;
        overflow: visible !important;
    }
}

@media (max-width: 700px) {
    .pm-match-league-stage-separator {
        width: 1px;
        height: 11px;
        margin: 0 4px;
        background: rgba(255, 255, 255, 0.38);
    }

    .pm-match-league-stage {
        max-width: 120px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        font-size: 9px;
        font-weight: 800;
    }

    .pm-match-round {
        justify-content: flex-end !important;
    }
}
/* END PM ROUND/STAGE AFTER LEAGUE NAME */


    /* Prematcher match-card real stat pill spacing */
    .pm-match-card .pm-match-stats-row .pm-stat-box {
        row-gap: 5px !important;
    }

    .pm-match-card .pm-match-stats-row .pm-stat-box > * {
        column-gap: 8px !important;
        row-gap: 5px !important;
    }

    .pm-match-card .pm-match-stats-row .pm-stat-box > * > * {
        margin-left: 1px !important;
        margin-right: 1px !important;
    }

    .pm-match-card .pm-match-stats-row .pm-stat-box.home > * {
        padding-right: 8px !important;
    }

    .pm-match-card .pm-match-stats-row .pm-stat-box.away > * {
        padding-left: 8px !important;
    }

    @media (max-width: 700px) {
        .pm-match-card .pm-match-stats-row .pm-stat-box {
            row-gap: 4px !important;
        }

        .pm-match-card .pm-match-stats-row .pm-stat-box > * {
            column-gap: 5px !important;
            row-gap: 4px !important;
        }

        .pm-match-card .pm-match-stats-row .pm-stat-box.home > * {
            padding-right: 4px !important;
        }

        .pm-match-card .pm-match-stats-row .pm-stat-box.away > * {
            padding-left: 4px !important;
        }
    }


/* PM FORCE: clickable team hover without underline */
.pm-team-name-link,
.pm-team-name-link:hover,
.pm-team-name-link:focus,
.pm-team-name-link:active,
.pm-team-name-link:visited,
.pm-team-name-link .pm-team-name-text,
.pm-team-name-link:hover .pm-team-name-text,
.pm-team-name-link:focus .pm-team-name-text,
.pm-team-name-link:active .pm-team-name-text,
.pm-team-name-link:visited .pm-team-name-text {
    text-decoration: none !important;
}

.pm-team-name-link:hover,
.pm-team-name-link:focus,
.pm-team-name-link:hover .pm-team-name-text,
.pm-team-name-link:focus .pm-team-name-text {
    color: #13294b !important;
}
/* END PM FORCE */

/*
|--------------------------------------------------------------------------
| Team name responsive full-name behaviour
|--------------------------------------------------------------------------
| Centre team identities in their team columns.
| Centre goal-average interval blocks below them for a cleaner visual column.
| Away logo must always appear after the away team name.
| Long names use available space first, then ellipsis only when needed.
*/
.pm-match-card .pm-team-name.has-logo {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    transform: none !important;
}

.pm-match-card .pm-team-name.has-logo.home,
.pm-match-card .pm-team-name.has-logo.away {
    justify-self: stretch !important;
    justify-content: center !important;
    text-align: center !important;
}

.pm-match-card .pm-team-name.has-logo .pm-team-name-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    flex: 0 1 auto !important;
    overflow: hidden !important;
    transform: none !important;
}

.pm-match-card .pm-team-name.has-logo.home .pm-team-name-link {
    flex-direction: row !important;
}

.pm-match-card .pm-team-name.has-logo.away .pm-team-name-link {
    flex-direction: row-reverse !important;
}

.pm-match-card .pm-team-name.has-logo .pm-team-name-text {
    flex: 0 1 auto !important;
    min-width: 0 !important;
    max-width: calc(100% - var(--pm-team-logo-size) - 8px) !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

/* Centre the interval blocks below each team identity */
.pm-match-card .pm-match-stats-row .pm-stat-box.home,
.pm-match-card .pm-match-stats-row .pm-stat-box.away {
    justify-self: center !important;
    justify-items: center !important;
}

.pm-match-card .pm-match-stats-row .pm-stat-box.home > *,
.pm-match-card .pm-match-stats-row .pm-stat-box.away > * {
    justify-content: center !important;
}



/*
|--------------------------------------------------------------------------
| Desktop team identity scale
|--------------------------------------------------------------------------
| Desktop only: increase team names and logos by roughly x1.5.
| Mobile/tablet compact rules remain unchanged.
*/
@media (min-width: 901px) {
    .pm-match-card {
        --pm-team-logo-size: 36px;
    }

    .pm-match-card .pm-team-name {
        font-size: 16.5px !important;
        line-height: 1.1 !important;
    }

    .pm-match-card .pm-team-name.has-logo {
        min-height: 42px !important;
        gap: 10px !important;
    }

    .pm-match-card .pm-team-name-link {
        gap: 10px !important;
    }

    .pm-match-card .pm-team-logo {
        width: var(--pm-team-logo-size) !important;
        height: var(--pm-team-logo-size) !important;
        flex-basis: var(--pm-team-logo-size) !important;
    }

    .pm-match-card .pm-team-name.has-logo.away .pm-team-name-link {
        flex-direction: row-reverse !important;
    }
}










/* PM FIX: phase/round text same font style as country and league, no uppercase */
.pm-match-card .pm-match-league-stage {
    font-size: inherit !important;
    line-height: inherit !important;
    font-weight: 500 !important;
    letter-spacing: 0.25px !important;
    text-transform: none !important;
    color: #ffffff !important;
}

@media (max-width: 700px) {
    .pm-match-card .pm-match-league-stage {
        font-size: inherit !important;
        font-weight: 500 !important;
        text-transform: none !important;
    }
}
/* END PM FIX: phase/round text same font style as country and league, no uppercase */




/* PM FIX: match-card dropdown inner blocks use 6px radius */
.pm-match-dropdown .fixture-page,
.pm-match-dropdown .fixture-page > div,
.pm-match-dropdown .fixture-match-intervals,
.pm-match-dropdown .fixture-season-intervals,
/* PM FIX: Live Stats dropdown card radius 1px final
   Do not include Live Stats in the generic 6px dropdown-radius group. */
.pm-match-dropdown .pm-match-stat-empty-simple,
.pm-match-dropdown .intervals-body,
.pm-match-dropdown .interval-header-label,
.pm-match-dropdown .interval-cell,
.pm-match-dropdown .season-cell,
.pm-match-dropdown .standings-card,
.pm-match-dropdown .league-stats-card,
.pm-match-dropdown .pm-match-history-team,
.pm-match-dropdown .pm-match-history-card,
.pm-match-dropdown .pm-match-history-card-inner,
.pm-match-dropdown .pm-match-history-card-dropdown,
.pm-match-dropdown .pm-match-history-filter-empty {
    border-radius: 6px !important;
}

/* Keep the opened card and dropdown visually connected */
.pm-match-dropdown-trigger.is-open .pm-match-card {
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

.pm-match-dropdown {
    border-radius: 0 0 6px 6px !important;
}
/* END PM FIX: match-card dropdown inner blocks use 6px radius */

/* PM FIX: Live Stats dropdown card radius 1px final START */
.pm-match-dropdown .fixture-match-statistics,
.pm-match-dropdown [data-pm-match-statistics],
.pm-match-dropdown .pm-fixture-statistics {
    border-radius: 1px !important;
}

.pm-match-dropdown .pm-fixture-statistics > .pm-fixture-statistics-attached-title,
.pm-match-dropdown .pm-fixture-statistics-attached-title {
    border-radius: 1px 1px 0 0 !important;
}

.pm-match-dropdown .pm-fixture-statistics > .pm-fixture-statistics-body,
.pm-match-dropdown .pm-fixture-statistics-body {
    border-radius: 0 0 1px 1px !important;
}
/* PM FIX: Live Stats dropdown card radius 1px final END */


/* PM FIX: match dropdown league stats card radius 4px */
.pm-match-dropdown .league-stats-card {
    border-radius: 4px !important;
}




/* PM FIX: marker-aware goal-average grid alignment */
.pm-match-card .pm-match-stats-row .pm-stat-box.has-context-markers {
    width: 170px !important;
    min-width: 170px !important;
    max-width: 170px !important;
}

.pm-match-card .pm-match-stats-row .pm-stat-box.has-context-markers > * {
    column-gap: 4px !important;
    row-gap: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

.pm-match-card .pm-match-stats-row .pm-stat-box.has-context-markers.home > * {
    grid-template-columns: 16px 42px 42px 42px 12px !important;
    width: 170px !important;
    min-width: 170px !important;
    max-width: 170px !important;
    justify-content: end !important;
}

.pm-match-card .pm-match-stats-row .pm-stat-box.has-context-markers.away > * {
    grid-template-columns: 12px 42px 42px 42px 16px !important;
    width: 170px !important;
    min-width: 170px !important;
    max-width: 170px !important;
    justify-content: start !important;
}

.pm-match-card .pm-match-stats-row .pm-stat-box.has-context-markers .pm-stat-marker {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 12px !important;
    min-width: 12px !important;
    height: var(--pm-pill-h) !important;
    flex: 0 0 12px !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    padding: 0 !important;
    margin: 0 !important;
}

.pm-match-card .pm-match-stats-row .pm-stat-box.has-context-markers .pm-stat-value {
    width: 42px !important;
    min-width: 42px !important;
    height: var(--pm-pill-h) !important;
    padding: 0 5px !important;
    box-sizing: border-box !important;
}

@media (max-width: 700px) {
    .pm-match-card .pm-match-stats-row .pm-stat-box.has-context-markers,
    .pm-match-card .pm-match-stats-row .pm-stat-box.has-context-markers.home > *,
    .pm-match-card .pm-match-stats-row .pm-stat-box.has-context-markers.away > * {
        width: 142px !important;
        min-width: 142px !important;
        max-width: 142px !important;
    }

    .pm-match-card .pm-match-stats-row .pm-stat-box.has-context-markers.home > * {
        grid-template-columns: 13px 36px 36px 36px 9px !important;
    }

    .pm-match-card .pm-match-stats-row .pm-stat-box.has-context-markers.away > * {
        grid-template-columns: 9px 36px 36px 36px 13px !important;
    }

    .pm-match-card .pm-match-stats-row .pm-stat-box.has-context-markers .pm-stat-value {
        width: 36px !important;
        min-width: 36px !important;
        padding: 0 4px !important;
        font-size: 9px !important;
    }

    .pm-match-card .pm-match-stats-row .pm-stat-box.has-context-markers .pm-stat-marker {
        width: 9px !important;
        min-width: 9px !important;
        flex-basis: 9px !important;
        font-size: 11px !important;
    }
}

@media (max-width: 480px) {
    .pm-match-card .pm-match-stats-row .pm-stat-box.has-context-markers,
    .pm-match-card .pm-match-stats-row .pm-stat-box.has-context-markers.home > *,
    .pm-match-card .pm-match-stats-row .pm-stat-box.has-context-markers.away > * {
        width: 126px !important;
        min-width: 126px !important;
        max-width: 126px !important;
    }

    .pm-match-card .pm-match-stats-row .pm-stat-box.has-context-markers.home > * {
        grid-template-columns: 11px 32px 32px 32px 7px !important;
    }

    .pm-match-card .pm-match-stats-row .pm-stat-box.has-context-markers.away > * {
        grid-template-columns: 7px 32px 32px 32px 11px !important;
    }

    .pm-match-card .pm-match-stats-row .pm-stat-box.has-context-markers .pm-stat-value {
        width: 32px !important;
        min-width: 32px !important;
        padding: 0 3px !important;
        font-size: 8px !important;
    }

    .pm-match-card .pm-match-stats-row .pm-stat-box.has-context-markers .pm-stat-marker {
        width: 7px !important;
        min-width: 7px !important;
        flex-basis: 7px !important;
        font-size: 6.8px !important;
    }
}
/* END PM FIX: marker-aware goal-average grid alignment */











    /* Bulletproof 50/50 layout to override dropdown defaults */
    .pm-fixture-split-container {
        display: flex !important;
        flex-direction: column !important;
        gap: 20px !important;
        width: 100% !important;
    }
    .pm-fixture-split-col {
        width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 20px !important;
    }
    @media (min-width: 992px) {
        .pm-fixture-split-container {
            flex-direction: row !important;
            align-items: flex-start !important;
        }
        .pm-fixture-split-col {
            flex: 1 !important;
            min-width: 0 !important;
        }
    }


/* PM FIX: goal-average shape matches goal-difference pill */
.pm-match-card .pm-match-stats-row .pm-stat-value {
    width: 42px !important;
    min-width: 42px !important;
    height: var(--pm-pill-h) !important;
    flex: 0 0 42px !important;
    padding: 0 6px !important;
    border-radius: 4px !important;
    -webkit-clip-path: none !important;
    clip-path: none !important;
    overflow: hidden;
    background-clip: border-box;
    box-sizing: border-box !important;
}

.pm-match-card .pm-match-stats-row .pm-stat-box > * {
    column-gap: 6px !important;
}

.pm-match-card .pm-match-stats-row .pm-stat-box {
    grid-template-rows: var(--pm-pill-h) var(--pm-pill-h) var(--pm-pill-h) !important;
    row-gap: 7px !important;
}

.pm-match-card .pm-match-stats-row .pm-stat-box > * {
    min-height: var(--pm-pill-h) !important;
    height: var(--pm-pill-h) !important;
}

.pm-match-card .pm-match-stats-row .pm-stat-box.home,
.pm-match-card .pm-match-stats-row .pm-stat-box.away {
    width: 166px !important;
    min-width: 166px !important;
    max-width: 166px !important;
}

.pm-match-card .pm-match-stats-row .pm-stat-box.home > * {
    grid-template-columns: 16px 42px 42px 42px !important;
    width: 166px !important;
    min-width: 166px !important;
    max-width: 166px !important;
}

.pm-match-card .pm-match-stats-row .pm-stat-box.away > * {
    grid-template-columns: 42px 42px 42px 16px !important;
    width: 166px !important;
    min-width: 166px !important;
    max-width: 166px !important;
}

.pm-match-card .pm-match-stats-row .pm-stat-box.has-context-markers {
    width: 180px !important;
    min-width: 180px !important;
    max-width: 180px !important;
}

.pm-match-card .pm-match-stats-row .pm-stat-box.has-context-markers > * {
    column-gap: 6px !important;
}

.pm-match-card .pm-match-stats-row .pm-stat-box.has-context-markers.home > * {
    grid-template-columns: 16px 42px 42px 42px 12px !important;
    width: 180px !important;
    min-width: 180px !important;
    max-width: 180px !important;
}

.pm-match-card .pm-match-stats-row .pm-stat-box.has-context-markers.away > * {
    grid-template-columns: 12px 42px 42px 42px 16px !important;
    width: 180px !important;
    min-width: 180px !important;
    max-width: 180px !important;
}

@media (max-width: 768px) {
    .pm-match-card .pm-match-stats-row .pm-stat-value {
        width: 36px !important;
        min-width: 36px !important;
        height: 18px !important;
        flex: 0 0 36px !important;
        padding: 0 4px !important;
        border-radius: 4px !important;
    }
}

@media (max-width: 480px) {
    .pm-match-card .pm-match-stats-row .pm-stat-value {
        width: 31px !important;
        min-width: 31px !important;
        height: 16px !important;
        flex: 0 0 31px !important;
        padding: 0 3px !important;
        border-radius: 4px !important;
    }
}
/* PM FIX END: goal-average shape matches goal-difference pill */


/* PM FIX: remove favourite header div style only */
.pm-match-card .pm-match-card-header .pm-match-favorite-wrap {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 0 !important;
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    position: static !important;
    z-index: 4 !important;
}

.pm-match-card .pm-match-card-header .pm-match-favorite-form {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.pm-match-card .pm-match-card-header .pm-match-favorite-button,
.pm-match-card .pm-match-card-header .pm-match-favorite-login {
    background-color: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}
/* PM FIX END: remove favourite header div style only */


/* PM FIX: remove rounded div around header favourite icon */
.pm-match-card .pm-match-card-header .pm-match-round {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
}

.pm-match-card .pm-match-card-header .pm-match-favorite-wrap {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 0 !important;
}
/* PM FIX END: remove rounded div around header favourite icon */


/* PM FIX: move date under league in header */
.pm-match-card:not(.pm-btts-premium) .pm-match-card-header {
    grid-template-columns: minmax(88px, 1fr) minmax(0, auto) minmax(88px, 1fr) !important;
    grid-template-rows: auto auto !important;
    row-gap: 5px !important;
    column-gap: 10px !important;
    align-items: center !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-league {
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-self: center !important;
    align-self: end !important;
    max-width: 100% !important;
    min-width: 0 !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-date {
    grid-column: 2 !important;
    grid-row: 2 !important;
    justify-self: center !important;
    align-self: start !important;
    text-align: center !important;
    max-width: 100% !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-round {
    grid-column: 3 !important;
    grid-row: 1 / span 2 !important;
    justify-self: end !important;
    align-self: center !important;
}

@media (max-width: 560px) {
    .pm-match-card:not(.pm-btts-premium) .pm-match-card-header {
        grid-template-columns: minmax(46px, 1fr) minmax(0, auto) minmax(46px, 1fr) !important;
        row-gap: 4px !important;
        column-gap: 6px !important;
    }
}
/* PM FIX END: move date under league in header */


/* PM FIX: final mobile match-card fit override */
/* Loaded late on purpose: overrides previous mobile/header/stat rules without changing structure. */
@media (max-width: 560px) {
    .pm-match-card {
        --pm-rank-col: 17px !important;
        --pm-score-col: 44px !important;
        --pm-gap: 3px !important;

        --pm-stat-block-width: 106px !important;
        --pm-toggle-block-width: 22px !important;
        --pm-stat-gap: 3px !important;
        --pm-label-col: 10px !important;
        --pm-pill-w: 27px !important;
        --pm-pill-h: 15px !important;
        --pm-pill-gap: 2px !important;
        --pm-stat-row-gap: 2px !important;
        --pm-stat-font: 7.6px !important;
        --pm-context-font: 9px !important;

        --pm-team-logo-size: 16px !important;
        --pm-team-identity-width: 116px !important;
    }

    .pm-match-card .pm-match-body {
        padding: 7px 5px 8px !important;
    }

    .pm-match-card:not(.pm-btts-premium) .pm-match-card-header {
        grid-template-columns: 28px minmax(0, 1fr) 28px !important;
        column-gap: 3px !important;
        row-gap: 3px !important;
        padding: 6px 6px !important;
    }

    .pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-league {
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden !important;
    }

    .pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-league-text {
        width: 100% !important;
        max-width: 100% !important;
        gap: 3px !important;
        font-size: 8.7px !important;
        line-height: 1.15 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    .pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-country,
    .pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-league-name,
    .pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-league-stage {
        min-width: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    .pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-date {
        font-size: 9.3px !important;
        line-height: 1.15 !important;
        padding: 4px 9px !important;
        max-width: 100% !important;
    }

    .pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-round {
        min-width: 0 !important;
        max-width: 28px !important;
        gap: 0 !important;
        justify-content: center !important;
    }

    .pm-match-card .pm-match-card-header .pm-match-round-text {
        display: none !important;
    }

    .pm-match-card .pm-match-card-header .pm-match-favorite-button,
    .pm-match-card .pm-match-card-header .pm-match-favorite-login {
        width: 20px !important;
        height: 20px !important;
        min-width: 20px !important;
        min-height: 20px !important;
        background-size: 16px 16px !important;
    }

    .pm-match-card .pm-match-main {
        grid-template-columns:
            var(--pm-rank-col)
            minmax(0, var(--pm-team-identity-width))
            var(--pm-score-col)
            minmax(0, var(--pm-team-identity-width))
            var(--pm-rank-col) !important;
        column-gap: var(--pm-gap) !important;
        row-gap: 5px !important;
    }

    .pm-match-card .pm-team-rank {
        font-size: 18px !important;
        line-height: 1 !important;
        transform: translateY(16px) !important;
    }

    .pm-match-card .pm-team-name {
        font-size: 10.6px !important;
        line-height: 1.05 !important;
        letter-spacing: -0.15px !important;
    }

    .pm-match-card .pm-team-name.has-logo {
        min-height: 21px !important;
        gap: 3px !important;
    }

    .pm-match-card .pm-team-name.has-logo .pm-team-name-link {
        gap: 3px !important;
        max-width: 100% !important;
    }

    .pm-match-card .pm-team-name.has-logo .pm-team-name-text {
        max-width: calc(100% - var(--pm-team-logo-size) - 4px) !important;
    }

    .pm-match-card .pm-team-logo {
        width: var(--pm-team-logo-size) !important;
        height: var(--pm-team-logo-size) !important;
        flex: 0 0 var(--pm-team-logo-size) !important;
    }

    .pm-match-card .pm-score-area {
        min-width: var(--pm-score-col) !important;
        max-width: var(--pm-score-col) !important;
        padding: 4px 3px !important;
        border-radius: 5px !important;
    }

    .pm-match-card .pm-score-main {
        font-size: 8.5px !important;
        line-height: 1 !important;
        letter-spacing: -0.5px !important;
    }

    .pm-match-card .pm-score-meta {
        font-size: 8.6px !important;
        line-height: 1.05 !important;
        padding-top: 3px !important;
        margin-top: 3px !important;
    }

    .pm-match-card .pm-match-stats-row {
        column-gap: var(--pm-gap) !important;
        row-gap: 2px !important;
    }

    .pm-match-card .pm-match-stats-row .pm-stat-box.home,
    .pm-match-card .pm-match-stats-row .pm-stat-box.away {
        width: 106px !important;
        min-width: 106px !important;
        max-width: 106px !important;
        row-gap: 5px !important;
    }

    .pm-match-card .pm-match-stats-row .pm-stat-box.home > * {
        grid-template-columns: 10px 27px 27px 27px !important;
        width: 106px !important;
        min-width: 106px !important;
        max-width: 106px !important;
        column-gap: 2px !important;
    }

    .pm-match-card .pm-match-stats-row .pm-stat-box.away > * {
        grid-template-columns: 27px 27px 27px 10px !important;
        width: 106px !important;
        min-width: 106px !important;
        max-width: 106px !important;
        column-gap: 2px !important;
    }

    .pm-match-card .pm-match-stats-row .pm-stat-box.has-context-markers {
        width: 116px !important;
        min-width: 116px !important;
        max-width: 116px !important;
    }

    .pm-match-card .pm-match-stats-row .pm-stat-box.has-context-markers.home > * {
        grid-template-columns: 10px 27px 27px 27px 8px !important;
        width: 116px !important;
        min-width: 116px !important;
        max-width: 116px !important;
        column-gap: 2px !important;
    }

    .pm-match-card .pm-match-stats-row .pm-stat-box.has-context-markers.away > * {
        grid-template-columns: 8px 27px 27px 27px 10px !important;
        width: 116px !important;
        min-width: 116px !important;
        max-width: 116px !important;
        column-gap: 2px !important;
    }

    .pm-match-card .pm-match-stats-row .pm-stat-value,
    .pm-match-card .pm-match-stats-row .pm-goal-diff-pill {
        width: 27px !important;
        min-width: 27px !important;
        height: 15px !important;
        flex: 0 0 27px !important;
        padding: 0 2px !important;
        font-size: 7.6px !important;
        line-height: 1 !important;
        border-radius: 4px !important;
    }

    .pm-match-card .pm-match-stats-row .pm-stat-marker {
        font-size: 8px !important;
        line-height: 1 !important;
    }
}

@media (max-width: 380px) {
    .pm-match-card {
        --pm-rank-col: 18px !important;
        --pm-score-col: 44px !important;
        --pm-gap: 2px !important;
        --pm-stat-block-width: 100px !important;
        --pm-team-identity-width: 100px !important;
        --pm-team-logo-size: 15px !important;
    }

    .pm-match-card .pm-team-name {
        font-size: 10px !important;
    }

    .pm-match-card .pm-score-main {
        font-size: 11px !important;
    }

    .pm-match-card .pm-score-meta {
        font-size: 8px !important;
    }

    .pm-match-card .pm-match-stats-row .pm-stat-box.home,
    .pm-match-card .pm-match-stats-row .pm-stat-box.away {
        width: 100px !important;
        min-width: 100px !important;
        max-width: 100px !important;
    }

    .pm-match-card .pm-match-stats-row .pm-stat-box.home > * {
        grid-template-columns: 9px 26px 26px 26px !important;
        width: 100px !important;
        min-width: 100px !important;
        max-width: 100px !important;
        column-gap: 1px !important;
    }

    .pm-match-card .pm-match-stats-row .pm-stat-box.away > * {
        grid-template-columns: 26px 26px 26px 9px !important;
        width: 100px !important;
        min-width: 100px !important;
        max-width: 100px !important;
        column-gap: 1px !important;
    }
}
/* PM FIX END: final mobile match-card fit override */


/* PM FIX: mobile team names two-line readability */
@media (max-width: 560px) {
    .pm-match-card .pm-team-name.has-logo {
        min-height: 20px !important;
        align-items: center !important;
    }

    .pm-match-card .pm-team-name.has-logo .pm-team-name-link {
        align-items: center !important;
    }

    .pm-match-card .pm-team-name.has-logo .pm-team-name-text {
        white-space: normal !important;
        overflow: hidden !important;
        text-overflow: clip !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        line-height: 1.05 !important;
        max-height: 2.1em !important;
        text-align: center !important;
    }
}

@media (max-width: 380px) {
    .pm-match-card .pm-team-name.has-logo {
        min-height: 28px !important;
    }

    .pm-match-card .pm-team-name.has-logo .pm-team-name-text {
        font-size: 9.7px !important;
        line-height: 1.05 !important;
    }
}
/* PM FIX END: mobile team names two-line readability */




/* PM FIX: final mobile grid alignment */
/* Mobile only: align rank, logos, team names, score and goal averages on the same 5-column structure. */
@media (max-width: 560px) {
    .pm-match-card {
        --pm-rank-col: 24px !important;
        --pm-score-col: 48px !important;
        --pm-gap: 2px !important;
        --pm-team-logo-size: 18px !important;
    }

    .pm-match-card .pm-match-body {
        padding: 7px 5px 8px !important;
    }

    .pm-match-card .pm-match-body::before {
        left: calc(5px + var(--pm-rank-col) + (var(--pm-gap) / 2)) !important;
    }

    .pm-match-card .pm-match-body::after {
        right: calc(5px + var(--pm-rank-col) + (var(--pm-gap) / 2)) !important;
    }

    .pm-match-card .pm-match-main {
        grid-template-columns:
            var(--pm-rank-col)
            minmax(0, 1fr)
            var(--pm-score-col)
            minmax(0, 1fr)
            var(--pm-rank-col) !important;
        column-gap: var(--pm-gap) !important;
        align-items: center !important;
        margin-bottom: 6px !important;
    }

    .pm-match-card .pm-team-rank {
        font-size: 20px !important;
        line-height: 1 !important;
        min-height: 38px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        align-self: center !important;
        transform: none !important;
        padding: 0 !important;
    }

    .pm-match-card .pm-team-name {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        min-height: 38px !important;
        font-size: 10.8px !important;
        line-height: 1.05 !important;
        letter-spacing: -0.15px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        overflow: hidden !important;
    }

    .pm-match-card .pm-team-name.home,
    .pm-match-card .pm-team-name.away,
    .pm-match-card .pm-team-name.has-logo.home,
    .pm-match-card .pm-team-name.has-logo.away {
        justify-self: stretch !important;
        justify-content: center !important;
        text-align: center !important;
    }

    .pm-match-card .pm-team-name.has-logo,
    .pm-match-card .pm-team-name.has-logo.home,
    .pm-match-card .pm-team-name.has-logo.away {
        width: 100% !important;
        min-height: 38px !important;
        gap: 4px !important;
    }

    .pm-match-card .pm-team-name.has-logo .pm-team-name-link {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        gap: 4px !important;
        align-items: center !important;
        justify-content: center !important;
        overflow: hidden !important;
    }

    .pm-match-card .pm-team-name.has-logo.home .pm-team-name-link {
        flex-direction: row !important;
    }

    .pm-match-card .pm-team-name.has-logo.away .pm-team-name-link {
        flex-direction: row-reverse !important;
    }

    .pm-match-card .pm-team-logo {
        width: var(--pm-team-logo-size) !important;
        height: var(--pm-team-logo-size) !important;
        min-width: var(--pm-team-logo-size) !important;
        flex: 0 0 var(--pm-team-logo-size) !important;
        object-fit: contain !important;
    }

    .pm-match-card .pm-team-name.has-logo .pm-team-name-text {
        flex: 0 1 auto !important;
        min-width: 0 !important;
        max-width: calc(100% - var(--pm-team-logo-size) - 5px) !important;
        white-space: normal !important;
        overflow: hidden !important;
        text-overflow: clip !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        line-height: 1.05 !important;
        max-height: 2.1em !important;
        text-align: center !important;
    }

    .pm-match-card .pm-score-area {
        width: var(--pm-score-col) !important;
        min-width: var(--pm-score-col) !important;
        max-width: var(--pm-score-col) !important;
        justify-self: center !important;
        align-self: center !important;
        padding: 4px 3px !important;
    }

    .pm-match-card .pm-score-main {
        font-size: 17px !important;
        line-height: 1 !important;
        letter-spacing: -0.4px !important;
    }

    .pm-match-card .pm-score-meta {
        font-size: 8.4px !important;
        line-height: 1.05 !important;
        margin-top: 3px !important;
        padding-top: 3px !important;
    }

    .pm-match-card .pm-match-stats-row {
        grid-template-columns:
            var(--pm-rank-col)
            minmax(0, 1fr)
            var(--pm-score-col)
            minmax(0, 1fr)
            var(--pm-rank-col) !important;
        column-gap: var(--pm-gap) !important;
        justify-content: stretch !important;
        align-items: center !important;
        padding-top: 8px !important;
        margin-top: 0 !important;
    }

    .pm-match-card .pm-match-stats-row::before {
        left: -11px !important;
        right: -11px !important;
    }

    .pm-match-card .pm-match-stats-row .pm-stat-box.home {
        grid-column: 2 !important;
        justify-self: center !important;
        justify-items: center !important;
    }

    .pm-match-card .pm-match-stats-row .pm-stat-box.away {
        grid-column: 4 !important;
        justify-self: center !important;
        justify-items: center !important;
    }

    .pm-match-card .pm-center-toggle {
        grid-column: 3 !important;
        justify-self: center !important;
        align-self: center !important;
    }

    /* Stronger mobile goal-average vertical spacing */
    .pm-match-card .pm-match-stats-row .pm-stat-box.home,
    .pm-match-card .pm-match-stats-row .pm-stat-box.away,
    .pm-match-card .pm-match-stats-row .pm-stat-box.has-context-markers {
        row-gap: 11px !important;
    }

    .pm-match-card .pm-match-stats-row .pm-stat-box.home > *,
    .pm-match-card .pm-match-stats-row .pm-stat-box.away > *,
    .pm-match-card .pm-match-stats-row .pm-stat-box.has-context-markers > * {
        min-height: 15px !important;
        height: 15px !important;
    }
}

@media (max-width: 380px) {
    .pm-match-card {
        --pm-rank-col: 22px !important;
        --pm-score-col: 44px !important;
        --pm-gap: 2px !important;
        --pm-team-logo-size: 16px !important;
    }

    .pm-match-card .pm-team-rank {
        font-size: 18px !important;
        min-height: 36px !important;
    }

    .pm-match-card .pm-team-name {
        min-height: 36px !important;
        font-size: 10px !important;
    }

    .pm-match-card .pm-team-name.has-logo,
    .pm-match-card .pm-team-name.has-logo.home,
    .pm-match-card .pm-team-name.has-logo.away {
        min-height: 36px !important;
        gap: 3px !important;
    }

    .pm-match-card .pm-team-name.has-logo .pm-team-name-link {
        gap: 3px !important;
    }

    .pm-match-card .pm-team-name.has-logo .pm-team-name-text {
        max-width: calc(100% - var(--pm-team-logo-size) - 4px) !important;
        font-size: 9.7px !important;
    }

    .pm-match-card .pm-score-main {
        font-size: 16px !important;
    }

    .pm-match-card .pm-score-meta {
        font-size: 8px !important;
    }

    /* Stronger compact mobile goal-average vertical spacing */
    .pm-match-card .pm-match-stats-row .pm-stat-box.home,
    .pm-match-card .pm-match-stats-row .pm-stat-box.away,
    .pm-match-card .pm-match-stats-row .pm-stat-box.has-context-markers {
        row-gap: 9px !important;
    }
}
/* PM FIX END: final mobile grid alignment */



/* PM FIX: final mobile stat cell gutters */
/* Last mobile layer: add real space between O/H/A average cells without changing card structure. */
@media (max-width: 560px) {
    .pm-match-card .pm-match-stats-row .pm-stat-box.home,
    .pm-match-card .pm-match-stats-row .pm-stat-box.away {
        width: 116px !important;
        min-width: 116px !important;
        max-width: 116px !important;
        row-gap: 8px !important;
    }

    .pm-match-card .pm-match-stats-row .pm-stat-box.home > *,
    .pm-match-card .pm-match-stats-row .pm-stat-box.away > * {
        width: 116px !important;
        min-width: 116px !important;
        max-width: 116px !important;
        min-height: 17px !important;
        height: 17px !important;
        column-gap: 5px !important;
        align-items: center !important;
        box-sizing: border-box !important;
    }

    .pm-match-card .pm-match-stats-row .pm-stat-box.home > * {
        grid-template-columns: 10px 29px 29px 29px !important;
    }

    .pm-match-card .pm-match-stats-row .pm-stat-box.away > * {
        grid-template-columns: 29px 29px 29px 10px !important;
    }

    .pm-match-card .pm-match-stats-row .pm-stat-value,
    .pm-match-card .pm-match-stats-row .pm-goal-diff-pill {
        width: 29px !important;
        min-width: 29px !important;
        height: 16px !important;
        flex: 0 0 29px !important;
        padding: 0 2px !important;
        box-sizing: border-box !important;
    }

    .pm-match-card .pm-match-stats-row .pm-stat-marker {
        width: 10px !important;
        min-width: 10px !important;
        height: 16px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
}

@media (max-width: 380px) {
    .pm-match-card .pm-match-stats-row .pm-stat-box.home,
    .pm-match-card .pm-match-stats-row .pm-stat-box.away {
        width: 108px !important;
        min-width: 108px !important;
        max-width: 108px !important;
        row-gap: 7px !important;
    }

    .pm-match-card .pm-match-stats-row .pm-stat-box.home > *,
    .pm-match-card .pm-match-stats-row .pm-stat-box.away > * {
        width: 108px !important;
        min-width: 108px !important;
        max-width: 108px !important;
        min-height: 16px !important;
        height: 16px !important;
        column-gap: 4px !important;
    }

    .pm-match-card .pm-match-stats-row .pm-stat-box.home > * {
        grid-template-columns: 9px 27px 27px 27px !important;
    }

    .pm-match-card .pm-match-stats-row .pm-stat-box.away > * {
        grid-template-columns: 27px 27px 27px 9px !important;
    }

    .pm-match-card .pm-match-stats-row .pm-stat-value,
    .pm-match-card .pm-match-stats-row .pm-goal-diff-pill {
        width: 27px !important;
        min-width: 27px !important;
        height: 15px !important;
        flex: 0 0 27px !important;
    }
}
/* PM FIX END: final mobile stat cell gutters */




/* PM FIX: remove border from header league/date pills, keep tiny radius */
.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-league-text,
.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-date {
    border: 0 !important;
    border-radius: 2px !important;
}



/* PM FIX: split country/league left and date/stage right around flag */
.pm-match-card:not(.pm-btts-premium) .pm-match-card-header {
    grid-template-columns: clamp(92px, 14vw, 165px) minmax(0, 1fr) clamp(92px, 14vw, 165px) !important;
    grid-template-rows: auto auto !important;
    column-gap: 14px !important;
    row-gap: 4px !important;
    align-items: center !important;
    min-height: 76px !important;
    height: auto !important;
    padding: 9px 54px !important;
}

/* Soft country flag centered */
.pm-match-card:not(.pm-btts-premium) .pm-match-header-flag-bg {
    left: 50% !important;
    top: 50% !important;
    z-index: 0 !important;
    width: clamp(130px, 17vw, 215px) !important;
    height: calc(100% + 34px) !important;
    transform: translate(-50%, -50%) !important;
    object-fit: cover !important;
    object-position: center center !important;
    opacity: 0.34 !important;
    filter: saturate(1.12) contrast(1.08) brightness(0.88) !important;
    pointer-events: none !important;
    -webkit-mask-image: radial-gradient(ellipse at center, #000 0%, #000 34%, rgba(0,0,0,0.42) 58%, transparent 80%) !important;
    mask-image: radial-gradient(ellipse at center, #000 0%, #000 34%, rgba(0,0,0,0.42) 58%, transparent 80%) !important;
}

/* Country + league centered */
.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-league {
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-self: center !important;
    align-self: end !important;
    max-width: 100% !important;
    min-width: 0 !important;
    text-align: center !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-league-text {
    display: inline-flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    max-width: 100% !important;
    min-width: 0 !important;
    width: auto !important;
    padding: 7px 17px !important;
    font-size: 12.5px !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    line-height: 1.2 !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-country,
.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-league-name {
    display: inline !important;
    max-width: none !important;
    min-width: 0 !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
    margin: 0 !important;
    vertical-align: baseline !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-country::after {
    content: "" !important;
    display: inline-block !important;
    width: 1px !important;
    height: 11px !important;
    margin: 0 8px !important;
    vertical-align: -1px !important;
    background: rgba(255,255,255,0.64) !important;
    box-shadow: 0 1px 2px rgba(0,0,0,0.38) !important;
}

/* Date + stage centered under country/league */
.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-date {
    grid-column: 2 !important;
    grid-row: 2 !important;
    justify-self: center !important;
    align-self: start !important;
    display: inline-flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    max-width: 100% !important;
    min-width: 0 !important;
    width: auto !important;
    padding: 7px 17px !important;
    font-size: 12.5px !important;
    text-align: center !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    line-height: 1.2 !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-date-text,
.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-date-stage {
    display: inline !important;
    max-width: none !important;
    min-width: 0 !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
    vertical-align: baseline !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-date-text::after {
    content: "" !important;
    display: inline-block !important;
    width: 1px !important;
    height: 11px !important;
    margin: 0 8px !important;
    vertical-align: -1px !important;
    background: rgba(255,255,255,0.64) !important;
    box-shadow: 0 1px 2px rgba(0,0,0,0.38) !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-date-stage {
    font-weight: 700 !important;
    color: #fff !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-round {
    position: absolute !important;
    right: 13px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    grid-column: auto !important;
    grid-row: auto !important;
    z-index: 4 !important;
}

/* Mobile: text remains centered and readable; flag stays soft on the left */
@media (max-width: 700px) {
    .pm-match-card:not(.pm-btts-premium) .pm-match-card-header {
        grid-template-columns: 1fr !important;
        grid-template-rows: auto auto !important;
        row-gap: 4px !important;
        column-gap: 0 !important;
        min-height: 76px !important;
        height: auto !important;
        padding: 7px 34px !important;
    }

    .pm-match-card:not(.pm-btts-premium) .pm-match-header-flag-bg {
        left: 50% !important;
        top: 50% !important;
        width: 132px !important;
        height: calc(100% + 28px) !important;
        transform: translate(-50%, -50%) !important;
        opacity: 0.25 !important;
    }

    .pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-league {
        grid-column: 1 !important;
        grid-row: 1 !important;
        justify-self: center !important;
        width: 100% !important;
        text-align: center !important;
    }

    .pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-date {
        grid-column: 1 !important;
        grid-row: 2 !important;
        justify-self: center !important;
        width: auto !important;
        max-width: 100% !important;
        text-align: center !important;
    }

    .pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-league-text,
    .pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-date {
        font-size: 10px !important;
        line-height: 1.18 !important;
        padding: 4px 8px !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
    }

    .pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-country,
    .pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-league-name,
    .pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-date-text,
    .pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-date-stage {
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
        max-width: none !important;
    }

    .pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-round {
        right: 6px !important;
    }
}
/* PM FIX END: split country/league left and date/stage right around flag */



/* PM FIX: optional table-layout V2 match card body */
.pm-match-card.pm-match-card-table-v2 {
    --pm-table-v2-rank-col: 30px;
    --pm-table-v2-score-col: 76px;
    --pm-table-v2-gap: 7px;
    --pm-table-v2-stat-font: 10px;
}

.pm-match-card.pm-match-card-table-v2 .pm-match-table-v2-body {
    padding: 8px 8px 9px !important;
}

.pm-match-card.pm-match-card-table-v2 .pm-match-table-v2-body::before,
.pm-match-card.pm-match-card-table-v2 .pm-match-table-v2-body::after {
    display: none !important;
    content: none !important;
}

.pm-match-card.pm-match-card-table-v2 .pm-table-v2-main {
    display: grid;
    grid-template-columns:
        var(--pm-table-v2-rank-col)
        minmax(0, 1fr)
        var(--pm-table-v2-score-col)
        minmax(0, 1fr)
        var(--pm-table-v2-rank-col);
    column-gap: var(--pm-table-v2-gap);
    align-items: center;
}

.pm-match-card.pm-match-card-table-v2 .pm-table-v2-rank {
    font-size: 24px;
    font-weight: 600;
    line-height: 1;
    color: #13294b;
    text-align: center;
}

.pm-match-card.pm-match-card-table-v2 .pm-table-v2-team {
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    text-align: center;
}

.pm-match-card.pm-match-card-table-v2 .pm-table-v2-team.home {
    justify-content: flex-end;
}

.pm-match-card.pm-match-card-table-v2 .pm-table-v2-team.away {
    justify-content: flex-start;
}

.pm-match-card.pm-match-card-table-v2 .pm-table-v2-team-link {
    min-width: 0;
    max-width: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    color: inherit;
    text-decoration: none;
}

.pm-match-card.pm-match-card-table-v2 .pm-table-v2-team-link:hover .pm-table-v2-team-name,
.pm-match-card.pm-match-card-table-v2 .pm-table-v2-team-link:focus .pm-table-v2-team-name {
    color: #9d2235 !important;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.pm-match-card.pm-match-card-table-v2 .pm-table-v2-logo {
    width: 25px;
    height: 25px;
    flex: 0 0 25px;
    object-fit: contain;
}

.pm-match-card.pm-match-card-table-v2 .pm-table-v2-team-name {
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.1;
    color: #13294b;
    text-transform: uppercase;
}

.pm-match-card.pm-match-card-table-v2 .pm-table-v2-score-stack {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    justify-self: center;
    gap: 4px;
    width: var(--pm-table-v2-score-col);
    min-width: var(--pm-table-v2-score-col);
}

.pm-match-card.pm-match-card-table-v2 .pm-table-v2-score-stack .pm-score-area {
    grid-column: auto !important;
    width: auto !important;
    min-width: 58px !important;
}

.pm-match-card.pm-match-card-table-v2 .pm-table-v2-score-stack .pm-center-toggle {
    grid-column: auto !important;
    width: var(--pm-toggle-block-width) !important;
    min-width: var(--pm-toggle-block-width) !important;
    max-width: var(--pm-toggle-block-width) !important;
    height: var(--pm-toggle-height) !important;
    margin-top: 1px !important;
}

.pm-match-card.pm-match-card-table-v2 .pm-table-v2-stats {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        var(--pm-table-v2-score-col)
        minmax(0, 1fr);
    column-gap: var(--pm-table-v2-gap);
    align-items: start;
    margin-top: 7px;
    padding-top: 7px;
    border-top: 1px solid #dbe6f3;
}

.pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-table {
    display: grid;
    grid-template-columns: 18px repeat(3, minmax(24px, 1fr));
    row-gap: 3px;
    column-gap: 3px;
    align-items: center;
    min-width: 0;
}

.pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-table.home {
    justify-self: end;
}

.pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-table.away {
    justify-self: start;
}

.pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-head,
.pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-label,
.pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-val {
    min-height: 17px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: var(--pm-table-v2-stat-font);
    line-height: 1;
    font-weight: 800;
}

.pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-head {
    color: #64748b;
    font-size: 8.5px;
}

.pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-label {
    color: #64748b;
    font-size: 8.5px;
    text-transform: uppercase;
}

.pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-val {
    border-radius: 4px;
    background: #fff;
    border: 1px solid #dbe6f3;
    color: #13294b;
    padding: 0 3px;
}

.pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-val.gd-positive {
    color: #16a34a;
}

.pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-val.gd-negative {
    color: #dc2626;
}

.pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-val.gd-equal {
    color: #ca8a04;
}

.pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-center {
    min-height: 1px;
}

/* Match History has strong scoped CSS later; keep V2 body stable there too. */
.pm-match-history .pm-match-history-card .pm-match-card.pm-match-card-table-v2 .pm-match-table-v2-body {
    padding: 8px 8px 9px !important;
}

.pm-match-history .pm-match-history-card .pm-match-card.pm-match-card-table-v2 .pm-match-table-v2-body::before,
.pm-match-history .pm-match-history-card .pm-match-card.pm-match-card-table-v2 .pm-match-table-v2-body::after {
    display: none !important;
    content: none !important;
}

@media (max-width: 560px) {
    .pm-match-card.pm-match-card-table-v2 {
        --pm-table-v2-rank-col: 18px;
        --pm-table-v2-score-col: 50px;
        --pm-table-v2-gap: 3px;
        --pm-table-v2-stat-font: 7.8px;
        --pm-toggle-block-width: 22px;
        --pm-toggle-height: 34px;
        --pm-toggle-shift: 14px;
    }

    .pm-match-card.pm-match-card-table-v2 .pm-match-table-v2-body {
        padding: 6px 4px 7px !important;
    }

    .pm-match-card.pm-match-card-table-v2 .pm-table-v2-rank {
        font-size: 17px;
    }

    .pm-match-card.pm-match-card-table-v2 .pm-table-v2-team {
        gap: 3px;
    }

    .pm-match-card.pm-match-card-table-v2 .pm-table-v2-logo {
        width: 17px;
        height: 17px;
        flex-basis: 17px;
    }

    .pm-match-card.pm-match-card-table-v2 .pm-table-v2-team-name {
        font-size: 9.4px;
        letter-spacing: -0.25px;
    }

    .pm-match-card.pm-match-card-table-v2 .pm-table-v2-score-stack .pm-score-area {
        min-width: 44px !important;
        padding: 3px 4px !important;
    }

    .pm-match-card.pm-match-card-table-v2 .pm-table-v2-score-stack .pm-score-main {
        font-size: 15px !important;
    }

    .pm-match-card.pm-match-card-table-v2 .pm-table-v2-score-stack .pm-score-meta {
        font-size: 8px !important;
    }

    .pm-match-card.pm-match-card-table-v2 .pm-center-toggle-track {
        width: 14px !important;
        height: 28px !important;
    }

    .pm-match-card.pm-match-card-table-v2 .pm-center-toggle-knob {
        width: 14px !important;
        height: 14px !important;
    }

    .pm-match-card.pm-match-card-table-v2 .pm-table-v2-stats {
        grid-template-columns: minmax(0, 1fr) var(--pm-table-v2-score-col) minmax(0, 1fr);
        margin-top: 5px;
        padding-top: 5px;
    }

    .pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-table {
        grid-template-columns: 12px repeat(3, minmax(17px, 1fr));
        row-gap: 2px;
        column-gap: 2px;
    }

    .pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-head {
        font-size: 6.8px;
    }

    .pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-label {
        font-size: 6.8px;
    }

    .pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-val {
        min-height: 14px;
        padding: 0 1px;
        border-radius: 3px;
    }
}
/* PM FIX END: optional table-layout V2 match card body */



/* PM FIX: table-layout V2 real body visual corrections */
.pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-table.home {
    grid-template-columns: 18px repeat(3, minmax(28px, 1fr)) !important;
}

.pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-table.away {
    grid-template-columns: repeat(3, minmax(28px, 1fr)) 18px !important;
}

.pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-val.gs {
    background: #168a34 !important;
    border-color: #168a34 !important;
    color: #ffffff !important;
}

.pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-val.gc {
    background: #e35d5d !important;
    border-color: #e35d5d !important;
    color: #ffffff !important;
}

.pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-val.gd {
    background: #ffffff !important;
    border-color: #dbe6f3 !important;
}

.pm-match-card.pm-match-card-table-v2 .pm-table-v2-score-stack {
    gap: 3px !important;
}

.pm-match-card.pm-match-card-table-v2 .pm-center-toggle-track {
    width: 18px !important;
    height: 38px !important;
}

.pm-match-card.pm-match-card-table-v2 .pm-center-toggle-knob {
    width: 18px !important;
    height: 18px !important;
}

@media (max-width: 560px) {
    .pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-table.home {
        grid-template-columns: 12px repeat(3, minmax(17px, 1fr)) !important;
    }

    .pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-table.away {
        grid-template-columns: repeat(3, minmax(17px, 1fr)) 12px !important;
    }

    .pm-match-card.pm-match-card-table-v2 .pm-table-v2-score-stack {
        gap: 2px !important;
    }

    .pm-match-card.pm-match-card-table-v2 .pm-center-toggle-track {
        width: 14px !important;
        height: 28px !important;
    }

    .pm-match-card.pm-match-card-table-v2 .pm-center-toggle-knob {
        width: 14px !important;
        height: 14px !important;
    }
}
/* PM FIX END: table-layout V2 real body visual corrections */



/* PM FIX: table-layout V2 slider centered between stat tables */
.pm-match-card.pm-match-card-table-v2 .pm-table-v2-score-stack {
    gap: 0 !important;
}

.pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-center {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 62px !important;
}

.pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-center .pm-center-toggle {
    grid-column: auto !important;
    justify-self: center !important;
    align-self: center !important;
    margin: 0 !important;
}

.pm-match-card.pm-match-card-table-v2 .pm-table-v2-stats {
    align-items: center !important;
}

@media (max-width: 560px) {
    .pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-center {
        min-height: 50px !important;
    }
}
/* PM FIX END: table-layout V2 slider centered between stat tables */



/* PM FIX: table-layout V2 logos above team names */
.pm-match-card.pm-match-card-table-v2 .pm-table-v2-team,
.pm-match-card.pm-match-card-table-v2 .pm-table-v2-team.home,
.pm-match-card.pm-match-card-table-v2 .pm-table-v2-team.away {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    text-align: center !important;
    min-width: 0 !important;
}

.pm-match-card.pm-match-card-table-v2 .pm-table-v2-logo {
    order: 1 !important;
    display: block !important;
    width: 28px !important;
    height: 28px !important;
    flex: 0 0 28px !important;
    object-fit: contain !important;
    margin: 0 auto !important;
}

.pm-match-card.pm-match-card-table-v2 .pm-table-v2-team-name {
    order: 2 !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    text-align: center !important;
    margin: 0 auto !important;
}

@media (max-width: 560px) {
    .pm-match-card.pm-match-card-table-v2 .pm-table-v2-team,
    .pm-match-card.pm-match-card-table-v2 .pm-table-v2-team.home,
    .pm-match-card.pm-match-card-table-v2 .pm-table-v2-team.away {
        gap: 3px !important;
    }

    .pm-match-card.pm-match-card-table-v2 .pm-table-v2-logo {
        width: 21px !important;
        height: 21px !important;
        flex-basis: 21px !important;
    }
}
/* PM FIX END: table-layout V2 logos above team names */



/* PM FIX: table-layout V2 team logos x2 bigger */
.pm-match-card.pm-match-card-table-v2 .pm-table-v2-logo {
    width: 56px !important;
    height: 56px !important;
    flex: 0 0 56px !important;
    object-fit: contain !important;
}

@media (max-width: 560px) {
    .pm-match-card.pm-match-card-table-v2 .pm-table-v2-logo {
        width: 42px !important;
        height: 42px !important;
        flex-basis: 42px !important;
    }
}
/* PM FIX END: table-layout V2 team logos x2 bigger */

/* PM FIX: late circular national flag override after table-v2 logo sizing */
.pm-match-card.pm-national-team-flags img.pm-team-logo,
.pm-match-card.pm-national-team-flags img.pm-table-v2-logo {
    border-radius: 50% !important;
    object-fit: contain !important;
    overflow: hidden !important;
    aspect-ratio: 1 / 1 !important;
    background: #ffffff !important;
    border: 1px solid rgba(19, 41, 75, 0.14) !important;
    box-sizing: border-box !important;
    padding: 3px !important;
}
/* PM FIX END: late circular national flag override after table-v2 logo sizing */




/* PM FIX: table-layout V2 team name hover burgundy */
.pm-match-card.pm-match-card-table-v2 .pm-table-v2-team:hover .pm-table-v2-team-name,
.pm-match-card.pm-match-card-table-v2 .pm-table-v2-team:focus-within .pm-table-v2-team-name,
.pm-match-card.pm-match-card-table-v2 .pm-table-v2-team-name:hover {
    color: #9d2235 !important;
}
/* PM FIX END: table-layout V2 team name hover burgundy */



/* PM FIX: table-layout V2 team links behave like old card */
.pm-match-card.pm-match-card-table-v2 .pm-table-v2-team-link,
.pm-match-card.pm-match-card-table-v2 .pm-table-v2-team-link:visited,
.pm-match-card.pm-match-card-table-v2 .pm-table-v2-team-link:active {
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    max-width: 100% !important;
    min-width: 0 !important;
    color: inherit !important;
    text-decoration: none !important;
}

.pm-match-card.pm-match-card-table-v2 .pm-table-v2-team-link:hover .pm-table-v2-team-name,
.pm-match-card.pm-match-card-table-v2 .pm-table-v2-team-link:focus .pm-table-v2-team-name {
    color: #9d2235 !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
}

@media (max-width: 560px) {
    .pm-match-card.pm-match-card-table-v2 .pm-table-v2-team-link {
        gap: 3px !important;
    }
}
/* PM FIX END: table-layout V2 team links behave like old card */



/* PM FIX: table-layout V2 remove team underline */
.pm-match-card.pm-match-card-table-v2 .pm-table-v2-team-link,
.pm-match-card.pm-match-card-table-v2 .pm-table-v2-team-link:hover,
.pm-match-card.pm-match-card-table-v2 .pm-table-v2-team-link:focus,
.pm-match-card.pm-match-card-table-v2 .pm-table-v2-team-link:active,
.pm-match-card.pm-match-card-table-v2 .pm-table-v2-team-link:visited,
.pm-match-card.pm-match-card-table-v2 .pm-table-v2-team-name,
.pm-match-card.pm-match-card-table-v2 .pm-table-v2-team-link:hover .pm-table-v2-team-name,
.pm-match-card.pm-match-card-table-v2 .pm-table-v2-team-link:focus .pm-table-v2-team-name,
.pm-match-card.pm-match-card-table-v2 .pm-table-v2-team:hover .pm-table-v2-team-name,
.pm-match-card.pm-match-card-table-v2 .pm-table-v2-team:focus-within .pm-table-v2-team-name {
    text-decoration: none !important;
}
/* PM FIX END: table-layout V2 remove team underline */



/* PM FIX: table-layout V2 team names font x1.2 */
.pm-match-card.pm-match-card-table-v2 .pm-table-v2-team-name {
    font-size: 15.6px !important;
}

@media (max-width: 560px) {
    .pm-match-card.pm-match-card-table-v2 .pm-table-v2-team-name {
        font-size: 11.3px !important;
    }
}
/* PM FIX END: table-layout V2 team names font x1.2 */



/* PM FIX: match card header two blocks same row */
.pm-match-card:not(.pm-btts-premium) .pm-match-card-header {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 34px !important;
    grid-template-areas: "pmheaderleague pmheaderdate pmheaderstar" !important;
    align-items: center !important;
    column-gap: 8px !important;
    row-gap: 0 !important;
    min-height: 58px !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-league {
    grid-area: pmheaderleague !important;
    justify-self: start !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-date {
    grid-area: pmheaderdate !important;
    justify-self: end !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    text-align: right !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-round {
    grid-area: pmheaderstar !important;
    justify-self: end !important;
    align-self: center !important;
    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
    overflow: visible !important;
    text-align: right !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-league-text {
    justify-content: flex-start !important;
    width: 100% !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-date,
.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-date-text,
.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-date-stage {
    white-space: nowrap !important;
}

@media (max-width: 560px) {
    .pm-match-card:not(.pm-btts-premium) .pm-match-card-header {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 28px !important;
        column-gap: 5px !important;
        min-height: 54px !important;
        padding-left: 8px !important;
        padding-right: 8px !important;
    }

    .pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-round {
        width: 28px !important;
        min-width: 28px !important;
        max-width: 28px !important;
    }
}
/* PM FIX END: match card header two blocks same row */



/* PM FIX: match card header same-row centered pair */
.pm-match-card:not(.pm-btts-premium) .pm-match-card-header {
    grid-template-columns:
        minmax(0, 1fr)
        minmax(0, 430px)
        minmax(0, 360px)
        minmax(0, 1fr)
        34px !important;
    grid-template-areas: ". pmheaderleague pmheaderdate . pmheaderstar" !important;
    column-gap: 7px !important;
    row-gap: 0 !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-league {
    grid-area: pmheaderleague !important;
    justify-self: end !important;
    width: auto !important;
    max-width: 100% !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-date {
    grid-area: pmheaderdate !important;
    justify-self: start !important;
    width: auto !important;
    max-width: 100% !important;
    text-align: left !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-round {
    grid-area: pmheaderstar !important;
    justify-self: end !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-league-text {
    width: auto !important;
    max-width: 100% !important;
    justify-content: center !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-date,
.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-date-text,
.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-date-stage {
    white-space: nowrap !important;
}

@media (max-width: 760px) {
    .pm-match-card:not(.pm-btts-premium) .pm-match-card-header {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 28px !important;
        grid-template-areas: "pmheaderleague pmheaderdate pmheaderstar" !important;
        column-gap: 5px !important;
    }

    .pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-league {
        justify-self: start !important;
        width: 100% !important;
    }

    .pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-date {
        justify-self: end !important;
        width: 100% !important;
        text-align: right !important;
    }
}
/* PM FIX END: match card header same-row centered pair */



/* PM FIX: match card header badges exact same line */
.pm-match-card:not(.pm-btts-premium) .pm-match-card-header {
    grid-template-columns:
        minmax(0, 1fr)
        auto
        auto
        minmax(0, 1fr)
        34px !important;
    grid-template-areas: ". pmheaderleague pmheaderdate . pmheaderstar" !important;
    align-items: center !important;
    justify-items: center !important;
    column-gap: 10px !important;
    row-gap: 0 !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-league,
.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-date {
    height: 24px !important;
    min-height: 24px !important;
    max-height: 24px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: center !important;
    margin: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    line-height: 24px !important;
    vertical-align: middle !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-league {
    grid-area: pmheaderleague !important;
    justify-self: end !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-date {
    grid-area: pmheaderdate !important;
    justify-self: start !important;
    text-align: left !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-league-text,
.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-date-text,
.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-date-stage {
    display: inline-flex !important;
    align-items: center !important;
    height: 24px !important;
    line-height: 24px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    vertical-align: middle !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-round {
    grid-area: pmheaderstar !important;
    align-self: center !important;
    justify-self: end !important;
}

@media (max-width: 760px) {
    .pm-match-card:not(.pm-btts-premium) .pm-match-card-header {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 28px !important;
        grid-template-areas: "pmheaderleague pmheaderdate pmheaderstar" !important;
        column-gap: 5px !important;
    }

    .pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-league {
        justify-self: start !important;
    }

    .pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-date {
        justify-self: end !important;
        text-align: right !important;
    }
}
/* PM FIX END: match card header badges exact same line */



/* PM FIX: single centered header league + stage only */
.pm-match-card:not(.pm-btts-premium) .pm-match-card-header {
    display: grid !important;
    grid-template-columns: 34px minmax(0, 1fr) 34px !important;
    grid-template-areas: ". pmheaderleague pmheaderstar" !important;
    align-items: center !important;
    justify-items: center !important;
    column-gap: 8px !important;
    row-gap: 0 !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-date {
    display: none !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-league {
    grid-area: pmheaderleague !important;
    justify-self: center !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    text-align: center !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-league-text {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    gap: 8px !important;
    height: 24px !important;
    line-height: 24px !important;
    margin: 0 auto !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-country,
.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-league-name,
.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-header-stage {
    display: inline-flex !important;
    align-items: center !important;
    height: 24px !important;
    line-height: 24px !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
    max-width: none !important;
    margin: 0 !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-header-stage-separator {
    display: inline-flex !important;
    align-items: center !important;
    height: 24px !important;
    line-height: 24px !important;
    color: rgba(255, 255, 255, 0.85) !important;
    font-weight: 800 !important;
    margin: 0 1px !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-header-stage {
    color: rgba(255, 255, 255, 0.95) !important;
    font-size: 10.5px !important;
    font-weight: 800 !important;
    letter-spacing: 0.05px !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-round {
    grid-area: pmheaderstar !important;
    justify-self: end !important;
    align-self: center !important;
    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
    overflow: visible !important;
}

@media (max-width: 560px) {
    .pm-match-card:not(.pm-btts-premium) .pm-match-card-header {
        grid-template-columns: 24px minmax(0, 1fr) 28px !important;
        column-gap: 4px !important;
        padding-left: 8px !important;
        padding-right: 8px !important;
    }

    .pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-league-text {
        gap: 5px !important;
        transform: scale(0.94);
        transform-origin: center center;
    }

    .pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-header-stage {
        font-size: 9.5px !important;
    }
}
/* PM FIX END: single centered header league + stage only */



/* PM FIX: single centered header text perfect center */
.pm-match-card:not(.pm-btts-premium) .pm-match-card-header {
    display: grid !important;
    grid-template-columns: 34px minmax(0, 1fr) 34px !important;
    grid-template-areas: ". pmheaderleague pmheaderstar" !important;
    align-items: center !important;
    justify-items: center !important;
    min-height: 58px !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-league {
    grid-area: pmheaderleague !important;
    align-self: center !important;
    justify-self: center !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    margin: 0 !important;
    padding: 0 !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-league-text {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: center !important;
    text-align: center !important;
    width: auto !important;
    max-width: 100% !important;
    min-height: 26px !important;
    height: 26px !important;
    line-height: 1 !important;
    margin: 0 auto !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    vertical-align: middle !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-country,
.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-league-name,
.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-header-stage,
.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-header-stage-separator {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: center !important;
    height: 26px !important;
    min-height: 26px !important;
    line-height: 1 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    vertical-align: middle !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-round {
    grid-area: pmheaderstar !important;
    align-self: center !important;
    justify-self: end !important;
}

@media (max-width: 560px) {
    .pm-match-card:not(.pm-btts-premium) .pm-match-card-header {
        grid-template-columns: 24px minmax(0, 1fr) 28px !important;
        min-height: 54px !important;
    }

    .pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-league-text {
        min-height: 24px !important;
        height: 24px !important;
    }

    .pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-country,
    .pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-league-name,
    .pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-header-stage,
    .pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-header-stage-separator {
        height: 24px !important;
        min-height: 24px !important;
    }
}
/* PM FIX END: single centered header text perfect center */



/* PM FIX: match card header elegant dividers */
.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-header-stage-separator,
.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-country::after {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 10px !important;
    min-width: 10px !important;
    height: 26px !important;
    font-size: 0 !important;
    line-height: 0 !important;
    color: transparent !important;
    text-indent: -9999px !important;
    overflow: hidden !important;
    vertical-align: middle !important;
    margin: 0 2px !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-header-stage-separator::before,
.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-country::after {
    content: "" !important;
    display: block !important;
    width: 1px !important;
    height: 14px !important;
    border-radius: 999px !important;
    background: linear-gradient(
        180deg,
        rgba(255,255,255,0.18) 0%,
        rgba(255,255,255,0.80) 50%,
        rgba(255,255,255,0.18) 100%
    ) !important;
    box-shadow: 0 0 0 1px rgba(0,0,0,0.04) !important;
}

@media (max-width: 560px) {
    .pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-header-stage-separator,
    .pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-country::after {
        width: 8px !important;
        min-width: 8px !important;
        height: 24px !important;
        margin: 0 1px !important;
    }

    .pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-header-stage-separator::before,
    .pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-country::after {
        height: 12px !important;
    }
}
/* PM FIX END: match card header elegant dividers */



/* PM FIX: header clean vertical bar dividers no dots */
.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-country::after,
.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-header-stage-separator {
    content: "" !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 12px !important;
    min-width: 12px !important;
    height: 26px !important;
    margin: 0 4px !important;
    padding: 0 !important;
    font-size: 0 !important;
    line-height: 0 !important;
    color: transparent !important;
    text-indent: 0 !important;
    overflow: visible !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    vertical-align: middle !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-country::after {
    vertical-align: middle !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-header-stage-separator::before,
.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-country::after {
    background: none !important;
    background-color: rgba(255, 255, 255, 0.62) !important;
    width: 2px !important;
    min-width: 2px !important;
    max-width: 2px !important;
    height: 13px !important;
    min-height: 13px !important;
    max-height: 13px !important;
    border-radius: 999px !important;
    box-shadow: 0 0 4px rgba(255, 255, 255, 0.14) !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-header-stage-separator::before {
    content: "" !important;
    display: block !important;
}

@media (max-width: 560px) {
    .pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-country::after,
    .pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-header-stage-separator {
        width: 9px !important;
        min-width: 9px !important;
        height: 24px !important;
        margin: 0 2px !important;
    }

    .pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-header-stage-separator::before,
    .pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-country::after {
        width: 1.5px !important;
        min-width: 1.5px !important;
        max-width: 1.5px !important;
        height: 11px !important;
        min-height: 11px !important;
        max-height: 11px !important;
    }
}
/* PM FIX END: header clean vertical bar dividers no dots */



/* PM FIX: both header separators same premium bar */
.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-header-stage-separator {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 13px !important;
    min-width: 13px !important;
    height: 26px !important;
    margin: 0 5px !important;
    padding: 0 !important;
    font-size: 0 !important;
    line-height: 0 !important;
    color: transparent !important;
    text-indent: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-header-stage-separator::before {
    content: "" !important;
    display: block !important;
    width: 2px !important;
    min-width: 2px !important;
    max-width: 2px !important;
    height: 15px !important;
    min-height: 15px !important;
    max-height: 15px !important;
    border-radius: 999px !important;
    background: linear-gradient(
        180deg,
        rgba(255,255,255,0.20) 0%,
        rgba(255,255,255,0.82) 50%,
        rgba(255,255,255,0.20) 100%
    ) !important;
    box-shadow: 0 0 5px rgba(255,255,255,0.16) !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-country::after {
    content: "" !important;
    display: inline-block !important;
    width: 2px !important;
    min-width: 2px !important;
    max-width: 2px !important;
    height: 15px !important;
    min-height: 15px !important;
    max-height: 15px !important;
    margin: 0 10px !important;
    padding: 0 !important;
    border-radius: 999px !important;
    background: linear-gradient(
        180deg,
        rgba(255,255,255,0.20) 0%,
        rgba(255,255,255,0.82) 50%,
        rgba(255,255,255,0.20) 100%
    ) !important;
    box-shadow: 0 0 5px rgba(255,255,255,0.16) !important;
    font-size: 0 !important;
    line-height: 0 !important;
    color: transparent !important;
    text-indent: 0 !important;
    vertical-align: middle !important;
    overflow: visible !important;
}

@media (max-width: 560px) {
    .pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-header-stage-separator {
        width: 10px !important;
        min-width: 10px !important;
        height: 24px !important;
        margin: 0 3px !important;
    }

    .pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-header-stage-separator::before,
    .pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-country::after {
        width: 1.5px !important;
        min-width: 1.5px !important;
        max-width: 1.5px !important;
        height: 12px !important;
        min-height: 12px !important;
        max-height: 12px !important;
    }

    .pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-country::after {
        margin: 0 7px !important;
    }
}
/* PM FIX END: both header separators same premium bar */



/* PM FIX: lighter header separators */
.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-header-stage-separator::before,
.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-country::after {
    width: 1px !important;
    min-width: 1px !important;
    max-width: 1px !important;
    height: 14px !important;
    min-height: 14px !important;
    max-height: 14px !important;
    background: linear-gradient(
        180deg,
        rgba(255,255,255,0.12) 0%,
        rgba(255,255,255,0.55) 50%,
        rgba(255,255,255,0.12) 100%
    ) !important;
    box-shadow: 0 0 2px rgba(255,255,255,0.08) !important;
}

@media (max-width: 560px) {
    .pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-header-stage-separator::before,
    .pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-country::after {
        width: 1px !important;
        min-width: 1px !important;
        max-width: 1px !important;
        height: 11px !important;
        min-height: 11px !important;
        max-height: 11px !important;
    }
}
/* PM FIX END: lighter header separators */



/* PM FIX: header round label styling */
.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-header-round-label {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: center !important;
    height: 26px !important;
    min-height: 26px !important;
    line-height: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
    color: rgba(255, 255, 255, 0.95) !important;
    font-size: 10.5px !important;
    font-weight: 800 !important;
    letter-spacing: 0.05px !important;
    vertical-align: middle !important;
}

@media (max-width: 560px) {
    .pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-header-round-label {
        height: 24px !important;
        min-height: 24px !important;
        font-size: 9.5px !important;
    }
}
/* PM FIX END: header round label styling */


/* PM FINAL FIX: square Match Card V2 average pills */
.pm-match-card .pm-match-stats-row .pm-stat-box > * > *:nth-child(2),
.pm-match-card .pm-match-stats-row .pm-stat-box > * > *:nth-child(3),
.pm-match-card .pm-match-stats-row .pm-stat-box.home > * > *:nth-child(4),
.pm-match-card .pm-match-stats-row .pm-stat-box.away > * > *:nth-child(1),
.pm-match-card .pm-match-stats-row .pm-stat-box > * > *:nth-child(2) *,
.pm-match-card .pm-match-stats-row .pm-stat-box > * > *:nth-child(3) *,
.pm-match-card .pm-match-stats-row .pm-stat-box.home > * > *:nth-child(4) *,
.pm-match-card .pm-match-stats-row .pm-stat-box.away > * > *:nth-child(1) * {
    border-radius: 0 !important;
}
/* END PM FINAL FIX: square Match Card V2 average pills */


/* PM FINAL FIX: square real goal average value pills */
.pm-match-card .pm-match-stats-row .pm-stat-value,
.pm-match-card .pm-match-stats-row .pm-goal-pill,
.pm-match-card .pm-match-stats-row .pm-avg-pill,
.pm-match-card .pm-match-stats-row .pm-goal-diff-pill {
    border-radius: 0 !important;
}
/* END PM FINAL FIX: square real goal average value pills */


/* PM FINAL FIX: square Match Card Table V2 stat pills */
.pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-val,
.pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-val.gs,
.pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-val.gc,
.pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-val.gd {
    border-radius: 0 !important;
}
/* END PM FINAL FIX: square Match Card Table V2 stat pills */


/* PM FINAL FIX: Match Card Table V2 stat pills 1.3x size */
.pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-val {
    min-height: 24px !important;
    height: 24px !important;
    padding: 0 7px !important;
    font-size: 13px !important;
    line-height: 1 !important;
    border-radius: 0 !important;
}

@media (max-width: 700px) {
    .pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-val {
        min-height: 20px !important;
        height: 20px !important;
        padding: 0 5px !important;
        font-size: 11px !important;
        border-radius: 0 !important;
    }
}
/* END PM FINAL FIX: Match Card Table V2 stat pills 1.3x size */


/* PM FINAL FIX: Match Card Table V2 value intensity colours */
.pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-val.pm-v2-intensity-none {
    background: #ffffff !important;
    border-color: #dbe6f3 !important;
    color: #64748b !important;
}

/* GS green intensity: low value = pale, high value = strong */
.pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-val.gs.pm-v2-gs-1 {
    background: #eaf7ee !important;
    border-color: #c7ead1 !important;
    color: #14532d !important;
}
.pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-val.gs.pm-v2-gs-2 {
    background: #c9ecd4 !important;
    border-color: #9fddb2 !important;
    color: #14532d !important;
}
.pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-val.gs.pm-v2-gs-3 {
    background: #86d79c !important;
    border-color: #5fc47c !important;
    color: #083b1a !important;
}
.pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-val.gs.pm-v2-gs-4 {
    background: #3dbb62 !important;
    border-color: #2ea24f !important;
    color: #ffffff !important;
}
.pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-val.gs.pm-v2-gs-5 {
    background: #168a34 !important;
    border-color: #168a34 !important;
    color: #ffffff !important;
}
.pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-val.gs.pm-v2-gs-6 {
    background: #0f6f29 !important;
    border-color: #0f6f29 !important;
    color: #ffffff !important;
}

/* GC red intensity: low value = pale, high value = strong */
.pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-val.gc.pm-v2-gc-1 {
    background: #fff0f0 !important;
    border-color: #f7caca !important;
    color: #7f1d1d !important;
}
.pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-val.gc.pm-v2-gc-2 {
    background: #ffdada !important;
    border-color: #f7b4b4 !important;
    color: #7f1d1d !important;
}
.pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-val.gc.pm-v2-gc-3 {
    background: #ffaaaa !important;
    border-color: #f28a8a !important;
    color: #7f1d1d !important;
}
.pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-val.gc.pm-v2-gc-4 {
    background: #f87171 !important;
    border-color: #ef6060 !important;
    color: #ffffff !important;
}
.pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-val.gc.pm-v2-gc-5 {
    background: #e35d5d !important;
    border-color: #e35d5d !important;
    color: #ffffff !important;
}
.pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-val.gc.pm-v2-gc-6 {
    background: #b91c1c !important;
    border-color: #b91c1c !important;
    color: #ffffff !important;
}

/* GD intensity: white background, font colour shows positive/negative strength */
.pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-val.gd,
.pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-val.gd.pm-v2-gd-neutral,
.pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-val.gd.pm-v2-gd-pos-1,
.pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-val.gd.pm-v2-gd-pos-2,
.pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-val.gd.pm-v2-gd-pos-3,
.pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-val.gd.pm-v2-gd-neg-1,
.pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-val.gd.pm-v2-gd-neg-2,
.pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-val.gd.pm-v2-gd-neg-3 {
    background: #ffffff !important;
    border-color: #dbe6f3 !important;
}

.pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-val.gd.pm-v2-gd-neutral {
    color: #ca8a04 !important;
}

.pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-val.gd.pm-v2-gd-pos-1 {
    color: #86b894 !important;
}

.pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-val.gd.pm-v2-gd-pos-2 {
    color: #2ea24f !important;
}

.pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-val.gd.pm-v2-gd-pos-3 {
    color: #0f6f29 !important;
}

.pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-val.gd.pm-v2-gd-neg-1 {
    color: #f28a8a !important;
}

.pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-val.gd.pm-v2-gd-neg-2 {
    color: #e35d5d !important;
}

.pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-val.gd.pm-v2-gd-neg-3 {
    color: #b91c1c !important;
}

/* END PM FINAL FIX: Match Card Table V2 value intensity colours */


/* PM FINAL FIX: Table V2 row label spacing */
.pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-table.home {
    grid-template-columns: 52px repeat(3, minmax(34px, 1fr)) !important;
    column-gap: 7px !important;
}

.pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-table.away {
    grid-template-columns: repeat(3, minmax(34px, 1fr)) 52px !important;
    column-gap: 7px !important;
}

.pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-table.home .pm-table-v2-stat-label {
    justify-content: flex-end !important;
    text-align: right !important;
    padding-right: 3px !important;
    white-space: nowrap !important;
}

.pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-table.away .pm-table-v2-stat-label {
    justify-content: flex-start !important;
    text-align: left !important;
    padding-left: 3px !important;
    white-space: nowrap !important;
}

@media (max-width: 560px) {
    .pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-table.home {
        grid-template-columns: 34px repeat(3, minmax(22px, 1fr)) !important;
        column-gap: 4px !important;
    }

    .pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-table.away {
        grid-template-columns: repeat(3, minmax(22px, 1fr)) 34px !important;
        column-gap: 4px !important;
    }

    .pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-table.home .pm-table-v2-stat-label {
        padding-right: 2px !important;
    }

    .pm-match-card.pm-match-card-table-v2 .pm-table-v2-stat-table.away .pm-table-v2-stat-label {
        padding-left: 2px !important;
    }
}
/* END PM FINAL FIX: Table V2 row label spacing */

/* PM FIX: World Cup overall-only averages clean one-line layout */
.pm-match-card.pm-match-card-table-v2.pm-world-cup-overall-only .pm-table-v2-stats {
    margin-top: 8px !important;
    padding-top: 8px !important;
    align-items: center !important;
}

.pm-match-card.pm-match-card-table-v2.pm-world-cup-overall-only .pm-table-v2-stat-head,
.pm-match-card.pm-match-card-table-v2.pm-world-cup-overall-only .pm-table-v2-stat-label {
    display: none !important;
}

.pm-match-card.pm-match-card-table-v2.pm-world-cup-overall-only .pm-table-v2-stat-table.home,
.pm-match-card.pm-match-card-table-v2.pm-world-cup-overall-only .pm-table-v2-stat-table.away {
    display: grid !important;
    grid-template-columns: repeat(3, 38px) !important;
    column-gap: 7px !important;
    row-gap: 0 !important;
    align-items: center !important;
    width: auto !important;
    min-width: 0 !important;
}

.pm-match-card.pm-match-card-table-v2.pm-world-cup-overall-only .pm-table-v2-stat-table.home {
    justify-self: end !important;
}

.pm-match-card.pm-match-card-table-v2.pm-world-cup-overall-only .pm-table-v2-stat-table.away {
    justify-self: start !important;
}

.pm-match-card.pm-match-card-table-v2.pm-world-cup-overall-only .pm-table-v2-stat-val {
    min-width: 38px !important;
    width: 38px !important;
    min-height: 24px !important;
    height: 24px !important;
    padding: 0 5px !important;
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    box-sizing: border-box !important;
}

@media (max-width: 700px) {
    .pm-match-card.pm-match-card-table-v2.pm-world-cup-overall-only .pm-table-v2-stat-table.home,
    .pm-match-card.pm-match-card-table-v2.pm-world-cup-overall-only .pm-table-v2-stat-table.away {
        grid-template-columns: repeat(3, 30px) !important;
        column-gap: 4px !important;
    }

    .pm-match-card.pm-match-card-table-v2.pm-world-cup-overall-only .pm-table-v2-stat-val {
        min-width: 30px !important;
        width: 30px !important;
        min-height: 20px !important;
        height: 20px !important;
        padding: 0 4px !important;
        font-size: 11px !important;
    }
}
/* END PM FIX: World Cup overall-only averages clean one-line layout */






/* PM FIX: final main match card full-bleed stats separator */
.pm-match-card .pm-match-body > .pm-match-stats-row {
    width: calc(100% + 22px) !important;
    margin-left: -11px !important;
    margin-right: -11px !important;
    padding-left: 11px !important;
    padding-right: 11px !important;
    box-sizing: border-box !important;
}

.pm-match-card .pm-match-body > .pm-match-stats-row::before {
    left: 0 !important;
    right: 0 !important;
}
/* PM FIX END: final main match card full-bleed stats separator */


/* PM FIX: main match card table v2 stats separator full width */
.pm-match-card.pm-match-card-table-v2 .pm-match-body > .pm-table-v2-stats {
    width: calc(100% + 22px) !important;
    margin-left: -11px !important;
    margin-right: -11px !important;
    padding-left: 11px !important;
    padding-right: 11px !important;
    box-sizing: border-box !important;
}
/* PM FIX END: main match card table v2 stats separator full width */


/* PM FIX: table-v2 desktop averages under team columns */
@media (min-width: 901px) {
    .pm-match-card.pm-match-card-table-v2 .pm-match-body > .pm-table-v2-stats {
        grid-template-columns:
            var(--pm-table-v2-rank-col)
            minmax(0, 1fr)
            var(--pm-table-v2-score-col)
            minmax(0, 1fr)
            var(--pm-table-v2-rank-col) !important;
        column-gap: var(--pm-table-v2-gap) !important;
        align-items: center !important;
        justify-content: stretch !important;
    }

    .pm-match-card.pm-match-card-table-v2 .pm-match-body > .pm-table-v2-stats > .pm-table-v2-stat-table.home {
        grid-column: 2 !important;
        justify-self: center !important;
    }

    .pm-match-card.pm-match-card-table-v2 .pm-match-body > .pm-table-v2-stats > .pm-table-v2-stat-center {
        grid-column: 3 !important;
        justify-self: center !important;
    }

    .pm-match-card.pm-match-card-table-v2 .pm-match-body > .pm-table-v2-stats > .pm-table-v2-stat-table.away {
        grid-column: 4 !important;
        justify-self: center !important;
    }
}
/* END PM FIX: table-v2 desktop averages under team columns */



/* PM FIX: main match card shadow-only shell */
.pm-match-card {
    border: 0 !important;
    box-shadow:
        0 8px 24px rgba(19, 41, 75, 0.10),
        0 2px 6px rgba(15, 23, 42, 0.06),
        inset 0 0 0 1px rgba(219, 230, 243, 0.30) !important;
    transition:
        background 0.15s ease,
        box-shadow 0.15s ease,
        transform 0.15s ease !important;
}

.pm-match-link:hover .pm-match-card {
    border-color: transparent !important;
    box-shadow:
        0 12px 30px rgba(19, 41, 75, 0.13),
        0 4px 10px rgba(15, 23, 42, 0.08),
        inset 0 0 0 1px rgba(201, 216, 234, 0.42) !important;
}

.pm-match-link-disabled:hover .pm-match-card,
.pm-match-history-card-summary-trigger:hover .pm-match-card,
.pm-match-dropdown-trigger:hover .pm-match-card {
    border-color: transparent !important;
    box-shadow:
        0 8px 24px rgba(19, 41, 75, 0.10),
        0 2px 6px rgba(15, 23, 42, 0.06),
        inset 0 0 0 1px rgba(219, 230, 243, 0.30) !important;
}

.pm-match-dropdown-trigger.is-open .pm-match-card {
    box-shadow:
        0 8px 22px rgba(19, 41, 75, 0.09),
        0 2px 5px rgba(15, 23, 42, 0.05),
        inset 0 0 0 1px rgba(219, 230, 243, 0.26) !important;
}
/* PM FIX END: main match card shadow-only shell */


/* PM FIX: dropdown shadow-only shell */
.pm-match-dropdown {
    border: 0 !important;
    margin: 0 0 14px !important;
    box-shadow:
        0 8px 24px rgba(19, 41, 75, 0.10),
        0 2px 6px rgba(15, 23, 42, 0.06) !important;
}

.pm-match-dropdown-trigger.is-open .pm-match-card {
    box-shadow:
        0 8px 24px rgba(19, 41, 75, 0.10),
        0 2px 6px rgba(15, 23, 42, 0.06) !important;
}
/* PM FIX END: dropdown shadow-only shell */



/* PM FIX: World Cup force averages into one perfect row */
.pm-match-card.pm-match-card-table-v2.pm-world-cup-overall-only .pm-table-v2-stat-table.home,
.pm-match-card.pm-match-card-table-v2.pm-world-cup-overall-only .pm-table-v2-stat-table.away {
    display: grid !important;
    grid-template-columns: repeat(3, 38px) !important;
    grid-template-rows: 24px !important;
    align-items: center !important;
    justify-items: center !important;
    row-gap: 0 !important;
    column-gap: 7px !important;
    overflow: visible !important;
}

.pm-match-card.pm-match-card-table-v2.pm-world-cup-overall-only .pm-table-v2-stat-table .pm-table-v2-stat-head,
.pm-match-card.pm-match-card-table-v2.pm-world-cup-overall-only .pm-table-v2-stat-table .pm-table-v2-stat-label {
    display: none !important;
}

.pm-match-card.pm-match-card-table-v2.pm-world-cup-overall-only .pm-table-v2-stat-table .pm-table-v2-stat-val {
    grid-row: 1 !important;
    align-self: center !important;
    justify-self: center !important;
    margin: 0 !important;
}

/* Home order: GS | GC | GD */
.pm-match-card.pm-match-card-table-v2.pm-world-cup-overall-only .pm-table-v2-stat-table.home .pm-table-v2-stat-val.gs {
    grid-column: 1 !important;
}

.pm-match-card.pm-match-card-table-v2.pm-world-cup-overall-only .pm-table-v2-stat-table.home .pm-table-v2-stat-val.gc {
    grid-column: 2 !important;
}

.pm-match-card.pm-match-card-table-v2.pm-world-cup-overall-only .pm-table-v2-stat-table.home .pm-table-v2-stat-val.gd {
    grid-column: 3 !important;
}

/* Away order: GD | GS | GC */
.pm-match-card.pm-match-card-table-v2.pm-world-cup-overall-only .pm-table-v2-stat-table.away .pm-table-v2-stat-val.gd {
    grid-column: 1 !important;
}

.pm-match-card.pm-match-card-table-v2.pm-world-cup-overall-only .pm-table-v2-stat-table.away .pm-table-v2-stat-val.gs {
    grid-column: 2 !important;
}

.pm-match-card.pm-match-card-table-v2.pm-world-cup-overall-only .pm-table-v2-stat-table.away .pm-table-v2-stat-val.gc {
    grid-column: 3 !important;
}

@media (max-width: 700px) {
    .pm-match-card.pm-match-card-table-v2.pm-world-cup-overall-only .pm-table-v2-stat-table.home,
    .pm-match-card.pm-match-card-table-v2.pm-world-cup-overall-only .pm-table-v2-stat-table.away {
        grid-template-columns: repeat(3, 30px) !important;
        grid-template-rows: 20px !important;
        column-gap: 4px !important;
    }
}
/* END PM FIX: World Cup force averages into one perfect row */




/* PM FIX: World Cup averages centered under team names */
.pm-match-card.pm-match-card-table-v2.pm-world-cup-overall-only .pm-table-v2-stats {
    display: grid !important;
    grid-template-columns:
        var(--pm-table-v2-rank-col)
        minmax(0, 1fr)
        var(--pm-table-v2-score-col)
        minmax(0, 1fr)
        var(--pm-table-v2-rank-col) !important;
    column-gap: var(--pm-table-v2-gap) !important;
    align-items: center !important;
}

.pm-match-card.pm-match-card-table-v2.pm-world-cup-overall-only .pm-table-v2-stat-table.home {
    grid-column: 2 !important;
    justify-self: center !important;
}

.pm-match-card.pm-match-card-table-v2.pm-world-cup-overall-only .pm-table-v2-stat-center {
    grid-column: 3 !important;
    justify-self: center !important;
}

.pm-match-card.pm-match-card-table-v2.pm-world-cup-overall-only .pm-table-v2-stat-table.away {
    grid-column: 4 !important;
    justify-self: center !important;
}

@media (max-width: 700px) {
    .pm-match-card.pm-match-card-table-v2.pm-world-cup-overall-only .pm-table-v2-stats {
        grid-template-columns:
            var(--pm-table-v2-rank-col)
            minmax(0, 1fr)
            var(--pm-table-v2-score-col)
            minmax(0, 1fr)
            var(--pm-table-v2-rank-col) !important;
    }
}
/* END PM FIX: World Cup averages centered under team names */

/* PM FIX: World Cup overall-only labels restored */
.pm-match-card.pm-match-card-table-v2.pm-world-cup-overall-only .pm-table-v2-stat-table.home {
    grid-template-columns: 44px repeat(3, 38px) !important;
    grid-template-rows: 13px 24px !important;
    row-gap: 3px !important;
}

.pm-match-card.pm-match-card-table-v2.pm-world-cup-overall-only .pm-table-v2-stat-table.away {
    grid-template-columns: repeat(3, 38px) 44px !important;
    grid-template-rows: 13px 24px !important;
    row-gap: 3px !important;
}

.pm-match-card.pm-match-card-table-v2.pm-world-cup-overall-only .pm-table-v2-stat-head,
.pm-match-card.pm-match-card-table-v2.pm-world-cup-overall-only .pm-table-v2-stat-label {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 13px !important;
    min-height: 13px !important;
    font-size: 8px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    color: #667892 !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
}

.pm-match-card.pm-match-card-table-v2.pm-world-cup-overall-only .pm-table-v2-stat-label {
    grid-row: 2 !important;
    height: 24px !important;
    min-height: 24px !important;
}

.pm-match-card.pm-match-card-table-v2.pm-world-cup-overall-only .pm-table-v2-stat-val {
    grid-row: 2 !important;
}

.pm-match-card.pm-match-card-table-v2.pm-world-cup-overall-only .pm-table-v2-stat-table.home .pm-table-v2-stat-label {
    grid-column: 1 !important;
}

.pm-match-card.pm-match-card-table-v2.pm-world-cup-overall-only .pm-table-v2-stat-table.away .pm-table-v2-stat-label {
    grid-column: 4 !important;
}

.pm-match-card.pm-match-card-table-v2.pm-world-cup-overall-only .pm-table-v2-stat-table.home .pm-table-v2-stat-head.gs,
.pm-match-card.pm-match-card-table-v2.pm-world-cup-overall-only .pm-table-v2-stat-table.home .pm-table-v2-stat-val.gs {
    grid-column: 2 !important;
}

.pm-match-card.pm-match-card-table-v2.pm-world-cup-overall-only .pm-table-v2-stat-table.home .pm-table-v2-stat-head.gc,
.pm-match-card.pm-match-card-table-v2.pm-world-cup-overall-only .pm-table-v2-stat-table.home .pm-table-v2-stat-val.gc {
    grid-column: 3 !important;
}

.pm-match-card.pm-match-card-table-v2.pm-world-cup-overall-only .pm-table-v2-stat-table.home .pm-table-v2-stat-head.gd,
.pm-match-card.pm-match-card-table-v2.pm-world-cup-overall-only .pm-table-v2-stat-table.home .pm-table-v2-stat-val.gd {
    grid-column: 4 !important;
}

.pm-match-card.pm-match-card-table-v2.pm-world-cup-overall-only .pm-table-v2-stat-table.away .pm-table-v2-stat-head.gd,
.pm-match-card.pm-match-card-table-v2.pm-world-cup-overall-only .pm-table-v2-stat-table.away .pm-table-v2-stat-val.gd {
    grid-column: 1 !important;
}

.pm-match-card.pm-match-card-table-v2.pm-world-cup-overall-only .pm-table-v2-stat-table.away .pm-table-v2-stat-head.gs,
.pm-match-card.pm-match-card-table-v2.pm-world-cup-overall-only .pm-table-v2-stat-table.away .pm-table-v2-stat-val.gs {
    grid-column: 2 !important;
}

.pm-match-card.pm-match-card-table-v2.pm-world-cup-overall-only .pm-table-v2-stat-table.away .pm-table-v2-stat-head.gc,
.pm-match-card.pm-match-card-table-v2.pm-world-cup-overall-only .pm-table-v2-stat-table.away .pm-table-v2-stat-val.gc {
    grid-column: 3 !important;
}

@media (max-width: 700px) {
    .pm-match-card.pm-match-card-table-v2.pm-world-cup-overall-only .pm-table-v2-stat-table.home {
        grid-template-columns: 38px repeat(3, 30px) !important;
        grid-template-rows: 12px 20px !important;
    }

    .pm-match-card.pm-match-card-table-v2.pm-world-cup-overall-only .pm-table-v2-stat-table.away {
        grid-template-columns: repeat(3, 30px) 38px !important;
        grid-template-rows: 12px 20px !important;
    }

    .pm-match-card.pm-match-card-table-v2.pm-world-cup-overall-only .pm-table-v2-stat-head {
        height: 12px !important;
        min-height: 12px !important;
        font-size: 7px !important;
    }

    .pm-match-card.pm-match-card-table-v2.pm-world-cup-overall-only .pm-table-v2-stat-label {
        height: 20px !important;
        min-height: 20px !important;
        font-size: 7px !important;
    }
}
/* END PM FIX: World Cup overall-only labels restored */

/* PM FIX: World Cup overall-only label cascade strength */
.pm-match-card.pm-match-card-table-v2.pm-world-cup-overall-only .pm-table-v2-stat-table .pm-table-v2-stat-head,
.pm-match-card.pm-match-card-table-v2.pm-world-cup-overall-only .pm-table-v2-stat-table .pm-table-v2-stat-label {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #667892 !important;
    font-size: 8px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
}

.pm-match-card.pm-match-card-table-v2.pm-world-cup-overall-only .pm-table-v2-stat-table .pm-table-v2-stat-head {
    grid-row: 1 !important;
    height: 13px !important;
    min-height: 13px !important;
}

.pm-match-card.pm-match-card-table-v2.pm-world-cup-overall-only .pm-table-v2-stat-table .pm-table-v2-stat-label,
.pm-match-card.pm-match-card-table-v2.pm-world-cup-overall-only .pm-table-v2-stat-table .pm-table-v2-stat-val {
    grid-row: 2 !important;
}

.pm-match-card.pm-match-card-table-v2.pm-world-cup-overall-only .pm-table-v2-stat-table .pm-table-v2-stat-label {
    height: 24px !important;
    min-height: 24px !important;
}

@media (max-width: 700px) {
    .pm-match-card.pm-match-card-table-v2.pm-world-cup-overall-only .pm-table-v2-stat-table .pm-table-v2-stat-head {
        height: 12px !important;
        min-height: 12px !important;
        font-size: 7px !important;
    }

    .pm-match-card.pm-match-card-table-v2.pm-world-cup-overall-only .pm-table-v2-stat-table .pm-table-v2-stat-label {
        height: 20px !important;
        min-height: 20px !important;
        font-size: 7px !important;
    }
}
/* END PM FIX: World Cup overall-only label cascade strength */

/* PM FIX: World Cup labels use normal match-card font size */
.pm-match-card.pm-match-card-table-v2.pm-world-cup-overall-only .pm-table-v2-stat-table .pm-table-v2-stat-head,
.pm-match-card.pm-match-card-table-v2.pm-world-cup-overall-only .pm-table-v2-stat-table .pm-table-v2-stat-label {
    font-size: 10px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}

@media (max-width: 700px) {
    .pm-match-card.pm-match-card-table-v2.pm-world-cup-overall-only .pm-table-v2-stat-table .pm-table-v2-stat-head,
    .pm-match-card.pm-match-card-table-v2.pm-world-cup-overall-only .pm-table-v2-stat-table .pm-table-v2-stat-label {
        font-size: 9px !important;
    }
}
/* END PM FIX: World Cup labels use normal match-card font size */






/* PM FIX: force all match dropdown div corners to 1px */
.pm-match-dropdown div {
    border-radius: 1px !important;
}
/* PM FIX END: force all match dropdown div corners to 1px */

/* PM FIX: dropdown match details restore card radius 2026-08-25 START */

/*
 * fixture_match_details.php already defines the outer Match Details card
 * with a 12px radius. The generic dropdown div rule above flattens it
 * to 1px because that rule uses !important.
 *
 * Restore only this outer card's intended radius.
 * overflow:hidden clips the title/body backgrounds to all four corners.
 */
.pm-match-dropdown .fixture-details-box {
    border-radius: 6px !important;
    overflow: hidden !important;
    background-clip: padding-box !important;
}

/* PM FIX: dropdown match details restore card radius 2026-08-25 END */

/* PM FIX: lineups exempt from global dropdown 1px radius 2026-08-25 START */

/*
 * The generic dropdown rule above intentionally keeps legacy dropdown
 * divs at 1px. Line-ups now use Prematcher's 6px card language, so
 * exempt only the two containers that form the visible team-card
 * top corners.
 */
.pm-match-dropdown
.pm-fixture-lineups
.pm-fixture-lineup-team {
    border-radius: 6px !important;
    overflow: hidden !important;
}

.pm-match-dropdown
.pm-fixture-lineups
.pm-fixture-lineup-team
> .pm-fixture-lineup-team-head {
    border-radius: 6px 6px 0 0 !important;
}

/* PM FIX: lineups exempt from global dropdown 1px radius 2026-08-25 END */

/* PM FIX: substitution rows exempt from dropdown 1px radius 2026-08-25 START */

/*
 * The generic:
 *
 *   .pm-match-dropdown div {
 *       border-radius: 1px !important;
 *   }
 *
 * also flattens each Line-ups substitution player row.
 *
 * Substitutions are the final .pm-fixture-lineup-section inside each
 * team card, so scope this exemption there only.
 */
.pm-match-dropdown
.pm-fixture-lineups
.pm-fixture-lineup-team
> .pm-fixture-lineup-section:last-child
.pm-fixture-lineup-player {
    border-radius: 6px !important;
    overflow: hidden !important;
}

/* PM FIX: substitution rows exempt from dropdown 1px radius 2026-08-25 END */


/* PM FIX: Current Season Match History dropdown corners 1px */
.pm-match-dropdown .pm-match-history div,
.pm-match-dropdown .pm-match-history .pm-match-history-team,
.pm-match-dropdown .pm-match-history .pm-match-history-card,
.pm-match-dropdown .pm-match-history .pm-match-history-card-inner,
.pm-match-dropdown .pm-match-history .pm-match-history-card-dropdown,
.pm-match-dropdown .pm-match-history .pm-match-history-filter-empty,
.pm-match-dropdown .pm-match-history .pm-match-history-team-controls,
.pm-match-dropdown .pm-match-history .pm-match-card,
.pm-match-dropdown .pm-match-history .pm-score-area,
.pm-match-dropdown .pm-match-history .pm-score-main,
.pm-match-dropdown .pm-match-history .pm-match-stats-row,
.pm-match-dropdown .pm-match-history .pm-stat-value,
.pm-match-dropdown .pm-match-history .pm-goal-diff-pill {
    border-radius: 1px !important;
}
/* PM FIX END: Current Season Match History dropdown corners 1px */

/* PM FIX: display match date below centered match-card header */
.pm-match-card:not(.pm-btts-premium) .pm-match-card-header {
    min-height: 66px !important;
    padding-top: 6px !important;
    padding-bottom: 6px !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-league {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 2px !important;
    height: 100% !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-league-text {
    min-height: 24px !important;
    height: 24px !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-header-date-row {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
    font-size: 10px !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
    letter-spacing: 0.35px !important;
    color: rgba(255, 255, 255, 0.82) !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

@media (max-width: 560px) {
    .pm-match-card:not(.pm-btts-premium) .pm-match-card-header {
        min-height: 62px !important;
    }

    .pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-header-date-row {
        font-size: 9.5px !important;
        letter-spacing: 0.25px !important;
    }
}
/* PM FIX END: display match date below centered match-card header */

/* PM FIX: force match-card header date row visible */
.pm-match-card .pm-match-card-header {
    min-height: 72px !important;
    height: auto !important;
    overflow: visible !important;
}

.pm-match-card .pm-match-card-header .pm-match-league {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 3px !important;
    min-height: 46px !important;
    height: auto !important;
    overflow: visible !important;
}

.pm-match-card .pm-match-card-header .pm-match-league-text {
    flex: 0 0 auto !important;
    min-height: 24px !important;
    height: 24px !important;
    max-height: 24px !important;
    overflow: visible !important;
}

.pm-match-card .pm-match-card-header .pm-match-header-date-row {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    z-index: 5 !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    min-height: 13px !important;
    height: 13px !important;
    line-height: 13px !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
    font-size: 10.5px !important;
    font-weight: 800 !important;
    letter-spacing: 0.35px !important;
    color: rgba(255, 255, 255, 0.88) !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
    pointer-events: none !important;
}

@media (max-width: 560px) {
    .pm-match-card .pm-match-card-header {
        min-height: 68px !important;
    }

    .pm-match-card .pm-match-card-header .pm-match-league {
        min-height: 44px !important;
        gap: 2px !important;
    }

    .pm-match-card .pm-match-card-header .pm-match-header-date-row {
        font-size: 9.5px !important;
        min-height: 12px !important;
        height: 12px !important;
        line-height: 12px !important;
    }
}
/* PM FIX END: force match-card header date row visible */

/* PM FIX: move match date inline after round in header row */
.pm-match-card .pm-match-card-header .pm-match-header-date-row {
    display: none !important;
}

.pm-match-card .pm-match-card-header .pm-match-header-date-inline {
    font-size: inherit !important;
    font-weight: inherit !important;
    letter-spacing: inherit !important;
    line-height: inherit !important;
    color: inherit !important;
    text-transform: inherit !important;
    white-space: nowrap !important;
    flex: 0 0 auto !important;
}

.pm-match-card .pm-match-card-header .pm-match-league {
    gap: 0 !important;
}

.pm-match-card .pm-match-card-header .pm-match-league-text {
    min-height: 24px !important;
    height: 24px !important;
    max-height: 24px !important;
}
/* PM FIX END: move match date inline after round in header row */


/* PM FIX: unified inline match header typography */
.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-league-text,
.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-country,
.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-league-name,
.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-header-stage,
.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-header-round-label,
.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-header-date-inline {
    font-family: 'Roboto', Arial, Helvetica, sans-serif !important;
    font-size: 10.5px !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    letter-spacing: 0.08px !important;
}

/* PM FIX: restore existing separator styling after inline date */
/* Separator styling is intentionally left to the existing pm-match-header-stage-separator rules. */
/* PM FIX END: restore existing separator styling after inline date */
/* PM FIX END: unified inline match header typography */


/* PM FIX: main match-card header centered logo group */
.pm-match-card:not(.pm-btts-premium) .pm-match-card-header,
.pm-match-card.pm-match-card-table-v2:not(.pm-btts-premium) .pm-match-card-header {
    position: relative !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(145px, 220px) 46px minmax(145px, 220px) minmax(0, 1fr) !important;
    align-items: center !important;
    column-gap: 0 !important;
    min-height: 58px !important;
    height: auto !important;
    padding: 8px 54px !important;
    overflow: hidden !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-main-header-left,
.pm-match-card:not(.pm-btts-premium) .pm-main-header-logo-wrap,
.pm-match-card:not(.pm-btts-premium) .pm-main-header-right {
    position: relative !important;
    z-index: 8 !important;
    min-width: 0 !important;
    align-self: center !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-main-header-left {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 100% !important;
    max-width: 220px !important;
    justify-self: stretch !important;
    text-align: right !important;
    padding-right: 12px !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-main-header-logo-wrap {
    grid-column: 3 !important;
    grid-row: 1 !important;
    width: 46px !important;
    height: 38px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-main-header-league-logo {
    display: block !important;
    width: 32px !important;
    height: 32px !important;
    object-fit: contain !important;
    object-position: center !important;
    padding: 3px !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, 0.94) !important;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.22) !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-main-header-logo-fallback {
    display: block !important;
    width: 2px !important;
    height: 30px !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.22) !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-main-header-right {
    grid-column: 4 !important;
    grid-row: 1 !important;
    width: 100% !important;
    max-width: 220px !important;
    justify-self: stretch !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: 2px !important;
    text-align: left !important;
    padding-left: 12px !important;
    border-left: 0 !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-main-header-link,
.pm-match-card:not(.pm-btts-premium) .pm-main-header-link:visited,
.pm-match-card:not(.pm-btts-premium) .pm-main-header-link:hover,
.pm-match-card:not(.pm-btts-premium) .pm-main-header-link:focus,
.pm-match-card:not(.pm-btts-premium) .pm-main-header-link:active {
    color: #ffffff !important;
    text-decoration: none !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-main-header-link {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    justify-content: center !important;
    gap: 2px !important;
    min-width: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    text-align: right !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-main-header-country,
.pm-match-card:not(.pm-btts-premium) .pm-main-header-league,
.pm-match-card:not(.pm-btts-premium) .pm-main-header-date,
.pm-match-card:not(.pm-btts-premium) .pm-main-header-stage,
.pm-match-card:not(.pm-btts-premium) .pm-main-header-round {
    display: block !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-family: 'Roboto', Arial, Helvetica, sans-serif !important;
    font-weight: 800 !important;
    line-height: 1.12 !important;
    color: rgba(255, 255, 255, 0.96) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.12px !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-main-header-country,
.pm-match-card:not(.pm-btts-premium) .pm-main-header-league {
    text-align: right !important;
    font-size: 11.5px !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-main-header-date {
    text-align: left !important;
    font-size: 11.5px !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-main-header-stage,
.pm-match-card:not(.pm-btts-premium) .pm-main-header-round {
    text-align: left !important;
    font-size: 10.8px !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-header-flag-bg {
    z-index: 1 !important;
    pointer-events: none !important;
}

@media (max-width: 760px) {
    .pm-match-card:not(.pm-btts-premium) .pm-match-card-header,
    .pm-match-card.pm-match-card-table-v2:not(.pm-btts-premium) .pm-match-card-header {
        grid-template-columns: minmax(0, 1fr) minmax(98px, 1fr) 34px minmax(98px, 1fr) minmax(0, 1fr) !important;
        min-height: 54px !important;
        padding: 7px 42px !important;
    }

    .pm-match-card:not(.pm-btts-premium) .pm-main-header-left {
        padding-right: 8px !important;
    }

    .pm-match-card:not(.pm-btts-premium) .pm-main-header-logo-wrap {
        width: 34px !important;
        height: 32px !important;
    }

    .pm-match-card:not(.pm-btts-premium) .pm-main-header-league-logo {
        width: 26px !important;
        height: 26px !important;
        padding: 2px !important;
    }

    .pm-match-card:not(.pm-btts-premium) .pm-main-header-right {
        padding-left: 8px !important;
    }

    .pm-match-card:not(.pm-btts-premium) .pm-main-header-country,
    .pm-match-card:not(.pm-btts-premium) .pm-main-header-league,
    .pm-match-card:not(.pm-btts-premium) .pm-main-header-date {
        font-size: 10.5px !important;
    }

    .pm-match-card:not(.pm-btts-premium) .pm-main-header-stage,
    .pm-match-card:not(.pm-btts-premium) .pm-main-header-round {
        font-size: 10px !important;
    }
}
/* PM FIX END: main match-card header centered logo group */


/* PM FIX: center header favourite icon and remove header flag bg */
.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-round {
    position: absolute !important;
    top: 50% !important;
    right: 14px !important;
    transform: translateY(-50%) !important;
    z-index: 12 !important;
    width: 34px !important;
    min-width: 34px !important;
    height: 34px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    overflow: visible !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-favorite-wrap,
.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-favorite-form {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-favorite-button,
.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-favorite-login {
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 28px !important;
    height: 28px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-favorite-icon {
    display: block !important;
    margin: 0 auto !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-match-card-header::before {
    display: none !important;
    content: none !important;
    background: none !important;
    opacity: 0 !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-header-flag-bg {
    display: none !important;
}

@media (max-width: 760px) {
    .pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-round {
        right: 10px !important;
        width: 28px !important;
        min-width: 28px !important;
        height: 28px !important;
    }

    .pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-favorite-button,
    .pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-favorite-login {
        width: 24px !important;
        height: 24px !important;
    }
}
/* PM FIX END: center header favourite icon and remove header flag bg */


/* PM FIX: actual league logo separator and far-right favourite */
.pm-match-card:not(.pm-btts-premium) .pm-main-header-logo-wrap {
    grid-column: 3 !important;
    grid-row: 1 !important;
    width: 46px !important;
    height: 38px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    position: relative !important;
    z-index: 10 !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-main-header-league-logo {
    display: block !important;
    width: 32px !important;
    height: 32px !important;
    object-fit: contain !important;
    object-position: center !important;
    padding: 3px !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, 0.94) !important;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.22) !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-main-header-logo-fallback {
    display: block !important;
    width: 2px !important;
    height: 30px !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.22) !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-round {
    position: absolute !important;
    top: 50% !important;
    right: 14px !important;
    transform: translateY(-50%) !important;
    z-index: 20 !important;
    width: 34px !important;
    min-width: 34px !important;
    height: 34px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    overflow: visible !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-favorite-wrap,
.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-favorite-form {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-favorite-button,
.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-favorite-login {
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 28px !important;
    height: 28px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-match-card-header::before,
.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-header-flag-bg {
    display: none !important;
    content: none !important;
    opacity: 0 !important;
}
/* PM FIX END: actual league logo separator and far-right favourite */


/* PM FIX: force favourite icon far right only */
.pm-match-card:not(.pm-btts-premium) .pm-match-card-header {
    position: relative !important;
    padding-right: 58px !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-round {
    position: absolute !important;
    top: 50% !important;
    right: 14px !important;
    left: auto !important;
    bottom: auto !important;
    transform: translateY(-50%) !important;
    grid-column: auto !important;
    grid-row: auto !important;
    z-index: 50 !important;
    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    justify-self: auto !important;
    align-self: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    pointer-events: auto !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-favorite-wrap,
.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-favorite-form {
    width: 36px !important;
    height: 36px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-favorite-button,
.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-favorite-login {
    width: 30px !important;
    height: 30px !important;
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-favorite-icon {
    display: block !important;
    margin: 0 !important;
}

@media (max-width: 760px) {
    .pm-match-card:not(.pm-btts-premium) .pm-match-card-header {
        padding-right: 46px !important;
    }

    .pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-round {
        right: 9px !important;
        width: 30px !important;
        min-width: 30px !important;
        height: 30px !important;
    }

    .pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-favorite-wrap,
    .pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-favorite-form {
        width: 30px !important;
        height: 30px !important;
    }

    .pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-favorite-button,
    .pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-favorite-login {
        width: 26px !important;
        height: 26px !important;
    }
}
/* PM FIX END: force favourite icon far right only */


/* PM FIX: transparent larger header league logo */
.pm-match-card:not(.pm-btts-premium) .pm-main-header-logo-wrap {
    width: 54px !important;
    height: 44px !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-main-header-league-logo {
    width: 40px !important;
    height: 40px !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

@media (max-width: 760px) {
    .pm-match-card:not(.pm-btts-premium) .pm-main-header-logo-wrap {
        width: 40px !important;
        height: 34px !important;
    }

    .pm-match-card:not(.pm-btts-premium) .pm-main-header-league-logo {
        width: 30px !important;
        height: 30px !important;
        padding: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        border-radius: 0 !important;
    }
}
/* PM FIX END: transparent larger header league logo */


/* PM FIX: improve header league logo visibility */
.pm-match-card:not(.pm-btts-premium) .pm-main-header-logo-wrap {
    width: 58px !important;
    height: 46px !important;
    position: relative !important;
    isolation: isolate !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-main-header-logo-wrap::before {
    content: "" !important;
    position: absolute !important;
    inset: 2px !important;
    z-index: -1 !important;
    border-radius: 999px !important;
    background:
        radial-gradient(circle at center,
            rgba(255, 255, 255, 0.44) 0%,
            rgba(255, 255, 255, 0.28) 38%,
            rgba(255, 255, 255, 0.10) 62%,
            rgba(255, 255, 255, 0.00) 78%
        ) !important;
    box-shadow:
        0 0 10px rgba(255, 255, 255, 0.18),
        0 1px 5px rgba(0, 0, 0, 0.26) !important;
    pointer-events: none !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-main-header-league-logo {
    width: 42px !important;
    height: 42px !important;
    padding: 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    object-fit: contain !important;
    object-position: center !important;
    filter:
        drop-shadow(0 1px 1px rgba(0, 0, 0, 0.45))
        drop-shadow(0 0 4px rgba(255, 255, 255, 0.20))
        saturate(1.08)
        contrast(1.08) !important;
}

@media (max-width: 760px) {
    .pm-match-card:not(.pm-btts-premium) .pm-main-header-logo-wrap {
        width: 44px !important;
        height: 36px !important;
    }

    .pm-match-card:not(.pm-btts-premium) .pm-main-header-logo-wrap::before {
        inset: 2px !important;
    }

    .pm-match-card:not(.pm-btts-premium) .pm-main-header-league-logo {
        width: 32px !important;
        height: 32px !important;
    }
}
/* PM FIX END: improve header league logo visibility */


/* PM FIX: enlarge header logo circle and add side padding */
.pm-match-card:not(.pm-btts-premium) .pm-main-header-logo-wrap {
    width: 72px !important;
    height: 54px !important;
    margin-left: 10px !important;
    margin-right: 10px !important;
    position: relative !important;
    isolation: isolate !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-main-header-logo-wrap::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: -1 !important;
    border-radius: 999px !important;
    background:
        radial-gradient(circle at center,
            rgba(255, 255, 255, 0.52) 0%,
            rgba(255, 255, 255, 0.32) 38%,
            rgba(255, 255, 255, 0.12) 64%,
            rgba(255, 255, 255, 0.00) 82%
        ) !important;
    box-shadow:
        0 0 14px rgba(255, 255, 255, 0.20),
        0 1px 7px rgba(0, 0, 0, 0.28) !important;
    pointer-events: none !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-main-header-league-logo {
    width: 50px !important;
    height: 50px !important;
    padding: 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    object-fit: contain !important;
    object-position: center !important;
    filter:
        drop-shadow(0 1px 1px rgba(0, 0, 0, 0.48))
        drop-shadow(0 0 5px rgba(255, 255, 255, 0.22))
        saturate(1.10)
        contrast(1.10) !important;
}

@media (max-width: 760px) {
    .pm-match-card:not(.pm-btts-premium) .pm-main-header-logo-wrap {
        width: 54px !important;
        height: 40px !important;
        margin-left: 6px !important;
        margin-right: 6px !important;
    }

    .pm-match-card:not(.pm-btts-premium) .pm-main-header-logo-wrap::before {
        inset: 0 !important;
    }

    .pm-match-card:not(.pm-btts-premium) .pm-main-header-league-logo {
        width: 36px !important;
        height: 36px !important;
    }
}
/* PM FIX END: enlarge header logo circle and add side padding */


/* PM FIX: stronger side padding around header logo */
.pm-match-card:not(.pm-btts-premium) .pm-main-header-left {
    padding-right: 22px !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-main-header-right {
    padding-left: 22px !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-main-header-logo-wrap {
    width: 78px !important;
    min-width: 78px !important;
    max-width: 78px !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
    box-sizing: border-box !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-main-header-logo-wrap::before {
    left: 7px !important;
    right: 7px !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-main-header-league-logo {
    width: 48px !important;
    height: 48px !important;
}

@media (max-width: 760px) {
    .pm-match-card:not(.pm-btts-premium) .pm-main-header-left {
        padding-right: 12px !important;
    }

    .pm-match-card:not(.pm-btts-premium) .pm-main-header-right {
        padding-left: 12px !important;
    }

    .pm-match-card:not(.pm-btts-premium) .pm-main-header-logo-wrap {
        width: 58px !important;
        min-width: 58px !important;
        max-width: 58px !important;
        padding-left: 7px !important;
        padding-right: 7px !important;
    }

    .pm-match-card:not(.pm-btts-premium) .pm-main-header-logo-wrap::before {
        left: 5px !important;
        right: 5px !important;
    }

    .pm-match-card:not(.pm-btts-premium) .pm-main-header-league-logo {
        width: 36px !important;
        height: 36px !important;
    }
}
/* PM FIX END: stronger side padding around header logo */


/* PM FIX: header league logo size x1.3 */
.pm-match-card:not(.pm-btts-premium) .pm-main-header-logo-wrap {
    width: 96px !important;
    min-width: 96px !important;
    max-width: 96px !important;
    height: 68px !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    box-sizing: border-box !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-main-header-logo-wrap::before {
    left: 9px !important;
    right: 9px !important;
    top: 4px !important;
    bottom: 4px !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-main-header-league-logo {
    width: 62px !important;
    height: 62px !important;
    max-width: 62px !important;
    max-height: 62px !important;
}

@media (max-width: 760px) {
    .pm-match-card:not(.pm-btts-premium) .pm-main-header-logo-wrap {
        width: 72px !important;
        min-width: 72px !important;
        max-width: 72px !important;
        height: 52px !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    .pm-match-card:not(.pm-btts-premium) .pm-main-header-logo-wrap::before {
        left: 7px !important;
        right: 7px !important;
        top: 3px !important;
        bottom: 3px !important;
    }

    .pm-match-card:not(.pm-btts-premium) .pm-main-header-league-logo {
        width: 47px !important;
        height: 47px !important;
        max-width: 47px !important;
        max-height: 47px !important;
    }
}
/* PM FIX END: header league logo size x1.3 */


/* PM FIX: header logo halo light only no dark edge */
.pm-match-card:not(.pm-btts-premium) .pm-main-header-logo-wrap::before {
    background:
        radial-gradient(circle at center,
            rgba(255, 255, 255, 0.58) 0%,
            rgba(255, 255, 255, 0.34) 36%,
            rgba(255, 255, 255, 0.14) 60%,
            rgba(255, 255, 255, 0.03) 76%,
            rgba(255, 255, 255, 0.00) 86%
        ) !important;
    box-shadow:
        0 0 10px rgba(255, 255, 255, 0.14),
        0 0 18px rgba(255, 255, 255, 0.10) !important;
    border: 0 !important;
    outline: 0 !important;
    filter: none !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-main-header-league-logo {
    filter:
        drop-shadow(0 0 3px rgba(255, 255, 255, 0.14))
        saturate(1.10)
        contrast(1.08) !important;
}

@media (max-width: 760px) {
    .pm-match-card:not(.pm-btts-premium) .pm-main-header-logo-wrap::before {
        box-shadow:
            0 0 8px rgba(255, 255, 255, 0.12),
            0 0 14px rgba(255, 255, 255, 0.08) !important;
    }

    .pm-match-card:not(.pm-btts-premium) .pm-main-header-league-logo {
        filter:
            drop-shadow(0 0 2px rgba(255, 255, 255, 0.12))
            saturate(1.08)
            contrast(1.06) !important;
    }
}
/* PM FIX END: header logo halo light only no dark edge */


/* PM FIX: square header logo halo */
.pm-match-card:not(.pm-btts-premium) .pm-main-header-logo-wrap::before {
    border-radius: 6px !important;
    background:
        linear-gradient(
            135deg,
            rgba(255, 255, 255, 0.22) 0%,
            rgba(255, 255, 255, 0.42) 48%,
            rgba(255, 255, 255, 0.18) 100%
        ) !important;
    box-shadow:
        0 0 10px rgba(255, 255, 255, 0.13),
        0 0 18px rgba(255, 255, 255, 0.08) !important;
    border: 0 !important;
    outline: 0 !important;
    filter: none !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-main-header-league-logo {
    border-radius: 0 !important;
}
/* PM FIX END: square header logo halo */


/* PM FIX: mobile header logo reserved side padding */
@media (max-width: 760px) {
    .pm-match-card:not(.pm-btts-premium) .pm-match-card-header,
    .pm-match-card.pm-match-card-table-v2:not(.pm-btts-premium) .pm-match-card-header {
        grid-template-columns: minmax(0, 1fr) minmax(92px, 1fr) 86px minmax(92px, 1fr) minmax(0, 1fr) !important;
    }

    .pm-match-card:not(.pm-btts-premium) .pm-main-header-logo-wrap {
        width: 86px !important;
        min-width: 86px !important;
        max-width: 86px !important;
        height: 54px !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
        box-sizing: border-box !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .pm-match-card:not(.pm-btts-premium) .pm-main-header-logo-wrap::before {
        left: 12px !important;
        right: 12px !important;
        top: 4px !important;
        bottom: 4px !important;
    }

    .pm-match-card:not(.pm-btts-premium) .pm-main-header-league-logo {
        width: 46px !important;
        height: 46px !important;
        max-width: 46px !important;
        max-height: 46px !important;
    }

    .pm-match-card:not(.pm-btts-premium) .pm-main-header-left {
        padding-right: 8px !important;
    }

    .pm-match-card:not(.pm-btts-premium) .pm-main-header-right {
        padding-left: 8px !important;
    }
}

@media (max-width: 430px) {
    .pm-match-card:not(.pm-btts-premium) .pm-match-card-header,
    .pm-match-card.pm-match-card-table-v2:not(.pm-btts-premium) .pm-match-card-header {
        grid-template-columns: minmax(0, 1fr) minmax(82px, 1fr) 76px minmax(82px, 1fr) minmax(0, 1fr) !important;
    }

    .pm-match-card:not(.pm-btts-premium) .pm-main-header-logo-wrap {
        width: 76px !important;
        min-width: 76px !important;
        max-width: 76px !important;
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    .pm-match-card:not(.pm-btts-premium) .pm-main-header-logo-wrap::before {
        left: 10px !important;
        right: 10px !important;
    }

    .pm-match-card:not(.pm-btts-premium) .pm-main-header-league-logo {
        width: 42px !important;
        height: 42px !important;
        max-width: 42px !important;
        max-height: 42px !important;
    }
}
/* PM FIX END: mobile header logo reserved side padding */


/* PM FIX: header logo square radius matches header */
.pm-match-card:not(.pm-btts-premium) .pm-main-header-logo-wrap::before {
    border-radius: 6px !important;
}
/* PM FIX END: header logo square radius matches header */


/* PM FIX: remove header logo square background */
.pm-match-card:not(.pm-btts-premium) .pm-main-header-logo-wrap::before {
    display: none !important;
    content: none !important;
    background: none !important;
    box-shadow: none !important;
    border: 0 !important;
    outline: 0 !important;
    opacity: 0 !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-main-header-league-logo {
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    filter:
        drop-shadow(0 0 3px rgba(255, 255, 255, 0.26))
        drop-shadow(0 1px 1px rgba(0, 0, 0, 0.18))
        saturate(1.12)
        contrast(1.10) !important;
}
/* PM FIX END: remove header logo square background */


/* PM FIX: clickable league logo only in header */
.pm-match-card:not(.pm-btts-premium) .pm-main-header-text-only {
    cursor: default !important;
    pointer-events: none !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-main-header-logo-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    border-radius: 6px !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transform: translateY(0) scale(1) !important;
    transition:
        transform 0.14s ease,
        filter 0.14s ease,
        background 0.14s ease,
        box-shadow 0.14s ease !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-main-header-logo-link:hover,
.pm-match-card:not(.pm-btts-premium) .pm-main-header-logo-link:focus-visible {
    transform: translateY(-1px) scale(1.06) !important;
    background: rgba(255, 255, 255, 0.08) !important;
    box-shadow: 0 0 10px rgba(255, 255, 255, 0.12) !important;
    outline: none !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-main-header-logo-link:active {
    transform: translateY(0) scale(0.94) !important;
    background: rgba(157, 34, 53, 0.16) !important;
    box-shadow: 0 0 8px rgba(157, 34, 53, 0.20) !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-main-header-logo-link-static {
    cursor: default !important;
    pointer-events: none !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-main-header-logo-link:hover .pm-main-header-league-logo,
.pm-match-card:not(.pm-btts-premium) .pm-main-header-logo-link:focus-visible .pm-main-header-league-logo {
    filter:
        drop-shadow(0 0 5px rgba(255, 255, 255, 0.34))
        drop-shadow(0 1px 1px rgba(0, 0, 0, 0.20))
        saturate(1.16)
        contrast(1.14) !important;
}
/* PM FIX END: clickable league logo only in header */


/* PM FIX: compact current-to-overall goal interval gap */
.pm-match-dropdown .fixture-match-intervals {
    margin-bottom: 16px !important;
}

.pm-match-dropdown .fixture-match-intervals + .fixture-season-intervals {
    margin-top: 0 !important;
}


/* PM FIX: stacked right-side dropdown interval cards */
.pm-match-dropdown .pm-dropdown-interval-stack {
    grid-column: 2 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    min-width: 0 !important;
    align-self: start !important;
    margin-bottom: 16px !important;
}

.pm-match-dropdown .pm-dropdown-interval-stack > .fixture-match-intervals,
.pm-match-dropdown .pm-dropdown-interval-stack > .fixture-season-intervals {
    width: 100% !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

@media (max-width: 900px) {
    .pm-match-dropdown .pm-dropdown-interval-stack {
        grid-column: 1 / -1 !important;
    }
}
/* END PM FIX: stacked right-side dropdown interval cards */

/* PM FIX: late Live Stats height matches interval stack START */
@media (min-width: 701px) {
    html body .pm-match-dropdown .fixture-page.pm-league-page-dropdown-fixture .pm-fixture-split-container {
        align-items: stretch !important;
    }

    html body .pm-match-dropdown .fixture-page.pm-league-page-dropdown-fixture .pm-fixture-split-container > .pm-fixture-split-col:first-child {
        align-self: stretch !important;
        display: flex !important;
        flex-direction: column !important;
        height: auto !important;
    }

    html body .pm-match-dropdown .fixture-page.pm-league-page-dropdown-fixture .pm-fixture-split-container > .pm-fixture-split-col:first-child > .pm-fixture-statistics,
    html body .pm-match-dropdown .fixture-page.pm-league-page-dropdown-fixture .pm-fixture-split-container > .pm-fixture-split-col:first-child > [data-pm-match-statistics] {
        flex: 1 1 100% !important;
        height: 100% !important;
        min-height: 100% !important;
        margin-bottom: 0 !important;
        display: flex !important;
        flex-direction: column !important;
    }

    html body .pm-match-dropdown .fixture-page.pm-league-page-dropdown-fixture .pm-fixture-split-container > .pm-fixture-split-col:first-child .pm-fixture-statistics-body,
    html body .pm-match-dropdown .fixture-page.pm-league-page-dropdown-fixture .pm-fixture-split-container > .pm-fixture-split-col:first-child .pm-fixture-stat-panels,
    html body .pm-match-dropdown .fixture-page.pm-league-page-dropdown-fixture .pm-fixture-split-container > .pm-fixture-split-col:first-child .pm-fixture-stat-panel {
        flex: 1 1 auto !important;
    }
}
/* PM FIX: late Live Stats height matches interval stack END */


/* PM FIX: full-width live stats period tabs */
.pm-match-dropdown .fixture-match-statistics .pm-fixture-stat-tab-labels,
.pm-match-dropdown [data-pm-match-statistics] .pm-fixture-stat-tab-labels {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #ffffff !important;
}

.pm-match-dropdown .fixture-match-statistics .pm-fixture-stat-tab-labels > .pm-fixture-stat-tab-label,
.pm-match-dropdown [data-pm-match-statistics] .pm-fixture-stat-tab-labels > .pm-fixture-stat-tab-label {
    flex: 0 0 auto !important;
}
.pm-match-dropdown .fixture-match-statistics .pm-fixture-stat-radio-full:checked ~ .pm-fixture-stat-tab-labels .pm-fixture-stat-tab-full,
.pm-match-dropdown .fixture-match-statistics .pm-fixture-stat-radio-first:checked ~ .pm-fixture-stat-tab-labels .pm-fixture-stat-tab-first,
.pm-match-dropdown .fixture-match-statistics .pm-fixture-stat-radio-second:checked ~ .pm-fixture-stat-tab-labels .pm-fixture-stat-tab-second,
.pm-match-dropdown [data-pm-match-statistics] .pm-fixture-stat-radio-full:checked ~ .pm-fixture-stat-tab-labels .pm-fixture-stat-tab-full,
.pm-match-dropdown [data-pm-match-statistics] .pm-fixture-stat-radio-first:checked ~ .pm-fixture-stat-tab-labels .pm-fixture-stat-tab-first,
.pm-match-dropdown [data-pm-match-statistics] .pm-fixture-stat-radio-second:checked ~ .pm-fixture-stat-tab-labels .pm-fixture-stat-tab-second {
    background: #f1f7ff !important;
    color: #9d2235 !important;
    border-radius: 1px !important;
}

/* PM FIX: Live Stats tabs border white START */
.pm-match-dropdown .fixture-match-statistics .pm-fixture-stat-tab-labels,
.pm-match-dropdown [data-pm-match-statistics] .pm-fixture-stat-tab-labels {
    border-color: #ffffff !important;
}

.pm-match-dropdown .fixture-match-statistics .pm-fixture-stat-tab-label,
.pm-match-dropdown [data-pm-match-statistics] .pm-fixture-stat-tab-label {
    border-color: #ffffff !important;
}
/* PM FIX: Live Stats tabs border white END */

/* END PM FIX: full-width live stats period tabs */

/* PM FIX: hide team flags/logos inside Live Stats header row */
.pm-match-dropdown .fixture-match-statistics .pm-fixture-stat-teams img,
.pm-match-dropdown [data-pm-match-statistics] .pm-fixture-stat-teams img,
.pm-match-dropdown .fixture-match-statistics .pm-fixture-stat-teams .pm-fixture-stat-team-logo,
.pm-match-dropdown [data-pm-match-statistics] .pm-fixture-stat-teams .pm-fixture-stat-team-logo,
.pm-match-dropdown .fixture-match-statistics .pm-fixture-stat-teams .pm-fixture-stat-team-flag,
.pm-match-dropdown [data-pm-match-statistics] .pm-fixture-stat-teams .pm-fixture-stat-team-flag {
    display: none !important;
}
/* END PM FIX: hide team flags/logos inside Live Stats header row */



/* PM FIX: main dropdown div border colour */
.pm-match-dropdown div {
    border-color: #dbe6f3 !important;
}
/* END PM FIX: main dropdown div border colour */





/* PM FIX: stronger compact main match-card header 2026-07-04 */
.pm-match-card:not(.pm-btts-premium) .pm-match-card-header {
    padding-top: 2px !important;
    padding-bottom: 2px !important;
    min-height: 0 !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-league-text {
    padding-top: 2px !important;
    padding-bottom: 2px !important;
    line-height: 1.05 !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-date {
    padding-top: 2px !important;
    padding-bottom: 2px !important;
    line-height: 1.05 !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-match-card-header .pm-match-round {
    padding-top: 1px !important;
    padding-bottom: 1px !important;
    line-height: 1.05 !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-main-header-logo-wrap,
.pm-match-card:not(.pm-btts-premium) .pm-main-header-logo-link {
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-main-header-league-logo {
    width: 36px !important;
    max-width: 36px !important;
    height: 36px !important;
    max-height: 36px !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-main-header-logo-fallback {
    height: 24px !important;
    max-height: 24px !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-match-header-flag-bg {
    max-height: calc(100% - 4px) !important;
}
/* END PM FIX: stronger compact main match-card header 2026-07-04 */



/* PM FIX: single-row header sides with date above logo 2026-07-11 START */

/*
 * Keep the extra centre date hidden by default so special/premium
 * header layouts retain their existing behaviour.
 */
.pm-match-card .pm-main-header-date-center,
.pm-match-card .pm-main-header-inline-separator {
    display: none !important;
}

/*
 * Main navy match-card header:
 * country | league     date/logo     stage | round
 */
.pm-match-card:not(.pm-btts-premium) .pm-match-card-header,
.pm-match-card.pm-match-card-table-v2:not(.pm-btts-premium) .pm-match-card-header {
    grid-template-columns:
        minmax(0, 1fr)
        minmax(150px, 220px)
        82px
        minmax(150px, 220px)
        minmax(0, 1fr) !important;
    align-items: center !important;
    min-height: 54px !important;
}

/* Country and league on one horizontal row. */
.pm-match-card:not(.pm-btts-premium) .pm-main-header-left {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    padding-right: 12px !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-main-header-link {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 0 !important;
    width: 100% !important;
    min-width: 0 !important;
    white-space: nowrap !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-main-header-country,
.pm-match-card:not(.pm-btts-premium) .pm-main-header-league {
    display: inline-block !important;
    flex: 0 1 auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    text-align: right !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

/* Date sits directly above and centred on the league logo. */
.pm-match-card:not(.pm-btts-premium) .pm-main-header-logo-wrap {
    width: 82px !important;
    min-width: 82px !important;
    max-width: 82px !important;
    height: auto !important;
    min-height: 50px !important;
    max-height: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 2px !important;
    overflow: visible !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-main-header-date-center {
    display: block !important;
    flex: 0 0 auto !important;
    width: max-content !important;
    max-width: 82px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: rgba(255, 255, 255, 0.98) !important;
    font-family: 'Roboto', Arial, Helvetica, sans-serif !important;
    font-size: 8.5px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: 0.08px !important;
    text-align: center !important;
    text-transform: none !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-main-header-date-legacy {
    display: none !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-main-header-logo-link {
    flex: 0 0 36px !important;
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;
}

/* Stage and round on one horizontal row. */
.pm-match-card:not(.pm-btts-premium) .pm-main-header-right {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    padding-left: 12px !important;
    white-space: nowrap !important;
}

.pm-match-card:not(.pm-btts-premium) .pm-main-header-stage,
.pm-match-card:not(.pm-btts-premium) .pm-main-header-round {
    display: inline-block !important;
    flex: 0 1 auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    text-align: left !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

/* Modern subtle vertical separator. */
.pm-match-card:not(.pm-btts-premium) .pm-main-header-inline-separator {
    display: inline-block !important;
    flex: 0 0 1px !important;
    width: 1px !important;
    min-width: 1px !important;
    height: 12px !important;
    margin: 0 8px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.38) !important;
    box-shadow: 0 0 1px rgba(255, 255, 255, 0.18) !important;
}

/* Responsive header protection. */
@media (max-width: 760px) {
    .pm-match-card:not(.pm-btts-premium) .pm-match-card-header,
    .pm-match-card.pm-match-card-table-v2:not(.pm-btts-premium) .pm-match-card-header {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(92px, 1fr)
            72px
            minmax(92px, 1fr)
            minmax(0, 1fr) !important;
        min-height: 50px !important;
    }

    .pm-match-card:not(.pm-btts-premium) .pm-main-header-left {
        padding-right: 7px !important;
    }

    .pm-match-card:not(.pm-btts-premium) .pm-main-header-right {
        padding-left: 7px !important;
    }

    .pm-match-card:not(.pm-btts-premium) .pm-main-header-logo-wrap {
        width: 72px !important;
        min-width: 72px !important;
        max-width: 72px !important;
        min-height: 46px !important;
    }

    .pm-match-card:not(.pm-btts-premium) .pm-main-header-date-center {
        max-width: 72px !important;
        font-size: 7.5px !important;
    }

    .pm-match-card:not(.pm-btts-premium) .pm-main-header-logo-link {
        flex-basis: 32px !important;
        width: 32px !important;
        min-width: 32px !important;
        max-width: 32px !important;
        height: 32px !important;
        min-height: 32px !important;
        max-height: 32px !important;
    }

    .pm-match-card:not(.pm-btts-premium) .pm-main-header-league-logo {
        width: 32px !important;
        max-width: 32px !important;
        height: 32px !important;
        max-height: 32px !important;
    }

    .pm-match-card:not(.pm-btts-premium) .pm-main-header-inline-separator {
        height: 10px !important;
        margin-left: 5px !important;
        margin-right: 5px !important;
    }

    .pm-match-card:not(.pm-btts-premium) .pm-main-header-country,
    .pm-match-card:not(.pm-btts-premium) .pm-main-header-league,
    .pm-match-card:not(.pm-btts-premium) .pm-main-header-stage,
    .pm-match-card:not(.pm-btts-premium) .pm-main-header-round {
        font-size: 9.5px !important;
    }
}

@media (max-width: 430px) {
    .pm-match-card:not(.pm-btts-premium) .pm-match-card-header,
    .pm-match-card.pm-match-card-table-v2:not(.pm-btts-premium) .pm-match-card-header {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(76px, 1fr)
            66px
            minmax(76px, 1fr)
            minmax(0, 1fr) !important;
    }

    .pm-match-card:not(.pm-btts-premium) .pm-main-header-logo-wrap {
        width: 66px !important;
        min-width: 66px !important;
        max-width: 66px !important;
    }

    .pm-match-card:not(.pm-btts-premium) .pm-main-header-date-center {
        max-width: 66px !important;
        font-size: 7px !important;
    }

    .pm-match-card:not(.pm-btts-premium) .pm-main-header-inline-separator {
        margin-left: 4px !important;
        margin-right: 4px !important;
    }
}

/* PM FIX: single-row header sides with date above logo 2026-07-11 END */

/* PM FIX: scheduled-style kickoff time on live and finished cards 2026-07-11 START */

/*
 * Reserve space above the blue score box.
 * The kickoff badge is positioned outside the score-area background.
 */
.pm-match-card.pm-match-card-live
.pm-score-area[data-kickoff-time]:not([data-kickoff-time=""]),
.pm-match-card.pm-match-card-result
.pm-score-area[data-kickoff-time]:not([data-kickoff-time=""]) {
    position: relative;
    overflow: visible !important;
    margin-top: 36px;
}

/*
 * Scheduled-style kickoff badge displayed above, not inside,
 * the live/finished blue score box.
 */
.pm-match-card.pm-match-card-live
.pm-score-area[data-kickoff-time]:not([data-kickoff-time=""])::before,
.pm-match-card.pm-match-card-result
.pm-score-area[data-kickoff-time]:not([data-kickoff-time=""])::before {
    content: attr(data-kickoff-time);
    position: absolute;
    left: 50%;
    bottom: calc(100% + 4px);
    transform: translateX(-50%);
    z-index: 2;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: auto;
    min-width: 58px;
    padding: 2px 7px;

    background: #ffffff;
    border: 1px solid #13294b;
    border-radius: 4px !important;
    box-sizing: border-box;

    color: #13294b;
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

/* Keep Current Season Match History unchanged. */
.pm-match-history
.pm-score-area[data-kickoff-time]::before,
.pm-match-history-card
.pm-score-area[data-kickoff-time]::before,
.pm-match-history-card-inner
.pm-score-area[data-kickoff-time]::before {
    content: none !important;
    display: none !important;
}

/* Match history does not need the reserved space. */
.pm-match-history
.pm-score-area[data-kickoff-time],
.pm-match-history-card
.pm-score-area[data-kickoff-time],
.pm-match-history-card-inner
.pm-score-area[data-kickoff-time] {
    margin-top: 0 !important;
}

/* PM FIX: scheduled-style kickoff time on live and finished cards 2026-07-11 END */

/* PM TWEAK: desktop kickoff badge align team logos 2026-08-25 START */

/*
 * Public/main match cards only.
 *
 * Move only the scheduled-style kickoff badge upward so it sits visually
 * on the same horizontal level as the two team logos.
 *
 * Existing:
 *     bottom: calc(100% + 4px)
 *
 * Desktop target:
 *     bottom: calc(100% + 24px)
 *
 * The :not(:has(.pm-score-date)) guard protects match-card contexts where
 * an actual date is displayed above the result.
 *
 * Score, HT/minute, teams, logos, ranks, events and card geometry stay put.
 */
@media (min-width: 761px) {

    .pm-match-card.pm-main-match-card.pm-match-card-live
    .pm-score-area[data-kickoff-time]:not([data-kickoff-time=""]):not(:has(.pm-score-date))::before,

    .pm-match-card.pm-main-match-card.pm-match-card-result
    .pm-score-area[data-kickoff-time]:not([data-kickoff-time=""]):not(:has(.pm-score-date))::before {
        bottom: calc(100% + 24px) !important;
    }
}

/* PM TWEAK: desktop kickoff badge align team logos 2026-08-25 END */


/* PM FIX: match date above kickoff and result 2026-07-11 START */

/*
 * The date is now part of the central score group rather than
 * the navy match-card header.
 */
.pm-match-card .pm-score-area.pm-score-area-has-date {
    position: relative !important;
    overflow: visible !important;
}

/* Scheduled match: date directly above its kickoff-time score box. */
.pm-match-card.pm-match-card-fixture
.pm-score-area.pm-score-area-has-date {
    margin-top: 24px !important;
}

/*
 * Live/finished match:
 * reserve room for both the date and the existing kickoff-time badge.
 */
.pm-match-card.pm-match-card-live
.pm-score-area.pm-score-area-has-date,
.pm-match-card.pm-match-card-result
.pm-score-area.pm-score-area-has-date {
    margin-top: 58px !important;
}

/* Shared centred date styling. */
.pm-match-card
.pm-score-area.pm-score-area-has-date
.pm-score-date {
    position: absolute !important;
    left: 50% !important;
    bottom: calc(100% + 10px) !important;
    transform: translateX(-50%) !important;
    z-index: 3 !important;

    display: block !important;
    width: max-content !important;
    max-width: 150px !important;
    margin: 0 !important;
    padding: 0 !important;

    color: #13294b !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;

    font-family: 'Roboto', Arial, Helvetica, sans-serif !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 1.05 !important;
    letter-spacing: 0.03px !important;
    text-align: center !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
}

/*
 * Live/finished cards already display the kickoff badge above the
 * result. Place the date immediately above that badge.
 */
.pm-match-card.pm-match-card-live
.pm-score-area.pm-score-area-has-date
.pm-score-date,
.pm-match-card.pm-match-card-result
.pm-score-area.pm-score-area-has-date
.pm-score-date {
    bottom: calc(100% + 33px) !important;
}

@media (max-width: 760px) {
    .pm-match-card
    .pm-score-area.pm-score-area-has-date
    .pm-score-date {
        max-width: 125px !important;
        font-size: 10.5px !important;
    }

    .pm-match-card.pm-match-card-fixture
    .pm-score-area.pm-score-area-has-date {
        margin-top: 23px !important;
    }

    .pm-match-card.pm-match-card-live
    .pm-score-area.pm-score-area-has-date,
    .pm-match-card.pm-match-card-result
    .pm-score-area.pm-score-area-has-date {
        margin-top: 55px !important;
    }
}

/* PM FIX: match date above kickoff and result 2026-07-11 END */

/* PM TWEAK: desktop score directly under kickoff 2026-08-25 START */

/*
 * Current visual:
 *
 *       TEAM LOGO -------- 11:30 -------- TEAM LOGO
 *
 *
 *                         0 - 1
 *                         1H 45'
 *
 * Desired:
 *
 *       TEAM LOGO -------- 11:30 -------- TEAM LOGO
 *                           0 - 1
 *                           1H 45'
 *
 * Keep the already-correct kickoff screen position unchanged.
 *
 * Previous desktop tweak moved kickoff 20px upward:
 *     bottom: 4px -> 24px
 *
 * Therefore:
 * 1. Move the score-area itself 20px upward:
 *        margin-top 58px -> 38px
 *
 * 2. Return the badge's relative gap:
 *        bottom 24px -> 4px
 *
 * These two movements cancel for the kickoff badge itself.
 * The kickoff stays fixed while only the score moves upward.
 *
 * Public main cards only.
 * Desktop only.
 * Cards with an actual rendered date remain protected.
 */
@media (min-width: 761px) {

    .pm-match-card.pm-main-match-card.pm-match-card-live
    .pm-score-area.pm-score-area-has-date[data-kickoff-time]:not([data-kickoff-time=""]):not(:has(.pm-score-date)),

    .pm-match-card.pm-main-match-card.pm-match-card-result
    .pm-score-area.pm-score-area-has-date[data-kickoff-time]:not([data-kickoff-time=""]):not(:has(.pm-score-date)) {
        margin-top: 38px !important;
    }


    .pm-match-card.pm-main-match-card.pm-match-card-live
    .pm-score-area[data-kickoff-time]:not([data-kickoff-time=""]):not(:has(.pm-score-date))::before,

    .pm-match-card.pm-main-match-card.pm-match-card-result
    .pm-score-area[data-kickoff-time]:not([data-kickoff-time=""]):not(:has(.pm-score-date))::before {
        bottom: calc(100% + 4px) !important;
    }
}

/* PM TWEAK: desktop score directly under kickoff 2026-08-25 END */

/* PM TWEAK: finished date equal time score spacing 2026-08-25 START */

/*
 * Finished public/main cards on desktop only.
 *
 * Current:
 *
 *       TODAY
 *
 *       00:00
 *       1 - 0
 *
 * Target:
 *
 *       TODAY
 *       00:00
 *       1 - 0
 *
 * Existing kickoff badge:
 *   total visual height ~= 17px
 *   bottom gap to score = 4px
 *
 * Therefore its top edge sits ~21px above the score.
 * Put the date bottom 25px above the score:
 *
 *   date -> time  = ~4px
 *   time -> score =  4px
 *
 * Only the date moves. Time and score stay unchanged.
 */
@media (min-width: 761px) {

    .pm-match-card.pm-main-match-card.pm-match-card-result
    .pm-score-area.pm-score-area-has-date
    .pm-score-date {
        bottom: calc(100% + 25px) !important;
    }
}

/* PM TWEAK: finished date equal time score spacing 2026-08-25 END */

/* PM TWEAK: main card history-style datetime visual 2026-08-28 START */

/*
 * Today/Home main cards only.
 *
 * Match History reference:
 *
 *     22 AUG 2026   11:30
 *
 * Full-width light row directly below the navy match header.
 */
.pm-match-card.pm-main-match-card.pm-main-datetime-row-enabled
.pm-main-datetime-row {
    display: flex !important;
    flex-direction: row !important;
    align-items: baseline !important;
    justify-content: center !important;

    width: 100% !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 6px 8px !important;

    gap: 7px !important;

    box-sizing: border-box !important;

    background: #f8fbff !important;
    border: 0 !important;
    border-bottom: 1px solid #e2eaf4 !important;

    text-align: center !important;
}

.pm-match-card.pm-main-match-card.pm-main-datetime-row-enabled
.pm-main-datetime-date {
    display: inline-block !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #64748b !important;

    font-family: Roboto, Arial, Helvetica, sans-serif !important;
    font-size: 9px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    letter-spacing: 0.08px !important;

    text-transform: uppercase !important;
    white-space: nowrap !important;
}

.pm-match-card.pm-main-match-card.pm-main-datetime-row-enabled
.pm-main-datetime-time {
    display: inline-block !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #13294b !important;

    font-family: Roboto, Arial, Helvetica, sans-serif !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: 0.12px !important;

    white-space: nowrap !important;
}

.pm-match-card.pm-main-match-card.pm-main-datetime-row-enabled
.pm-main-datetime-time.is-postponed {
    color: #9d2235 !important;

    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: 0.16px !important;

    text-transform: uppercase !important;
}

/*
 * The kickoff is already displayed in the new row.
 * Scheduled cards therefore no longer need the old boxed time
 * in the centre of the team row.
 */
.pm-match-card.pm-main-match-card.pm-main-datetime-row-enabled.pm-match-card-fixture
.pm-score-main {
    display: block !important;
}

@media (max-width: 760px) {
    .pm-match-card.pm-main-match-card.pm-main-datetime-row-enabled
    .pm-main-datetime-row {
        gap: 6px !important;

        padding-top: 5px !important;
        padding-bottom: 5px !important;
    }

    .pm-match-card.pm-main-match-card.pm-main-datetime-row-enabled
    .pm-main-datetime-date {
        font-size: 8.5px !important;
    }

    .pm-match-card.pm-main-match-card.pm-main-datetime-row-enabled
    .pm-main-datetime-time {
        font-size: 11px !important;
    }
}

/* PM TWEAK: main card history-style datetime visual 2026-08-28 END */

/* PM TWEAK: public main-card time below date 2026-08-28 START */

/*
 * Public/main match cards only.
 *
 * Existing:
 *     TODAY   12:35
 *
 * Target:
 *     TODAY
 *     12:35
 *
 * Match History is intentionally untouched:
 * - history cards do not use pm-main-match-card for this strip;
 * - $pmMainDatetimeRow already excludes historyToggleCard;
 * - Match History keeps its own pm-match-history-datetime-row.
 */
.pm-match-card.pm-main-match-card.pm-main-datetime-row-enabled
.pm-main-datetime-row {
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;

    gap: 1px !important;

    padding-top: 4px !important;
    padding-bottom: 4px !important;

    text-align: center !important;
}

.pm-match-card.pm-main-match-card.pm-main-datetime-row-enabled
.pm-main-datetime-date,
.pm-match-card.pm-main-match-card.pm-main-datetime-row-enabled
.pm-main-datetime-time {
    width: auto !important;
    max-width: 100% !important;

    margin-left: auto !important;
    margin-right: auto !important;

    text-align: center !important;
}

/*
 * Keep the stacked strip compact on small/mobile cards.
 */
@media (max-width: 760px) {
    .pm-match-card.pm-main-match-card.pm-main-datetime-row-enabled
    .pm-main-datetime-row {
        gap: 1px !important;

        padding-top: 3px !important;
        padding-bottom: 3px !important;
    }
}

/* PM TWEAK: public main-card time below date 2026-08-28 END */


/* PM TWEAK: live score UX readability 2026-08-28 START */

/*
|--------------------------------------------------------------------------
| LIVE / IN-PLAY SCORE VISUAL HIERARCHY
|--------------------------------------------------------------------------
|
| Applies only while the shared card has pm-match-card-live.
|
| Design goals:
| - score must be the primary visual item in the centre
| - 1H / 2H / HT + minute must be immediately readable
| - retain the existing burgundy live identity
| - preserve team space and responsive card geometry
| - automatically applies after AJAX changes a card to LIVE
|--------------------------------------------------------------------------
*/

/*
 * Normal / desktop / tablet live cards.
 *
 * Previous effective score could be 18px and responsive Table V2 could
 * reduce it further. 22px gives the live score clear hierarchy without
 * making the burgundy block visually dominant over the teams.
 */
.pm-match-card.pm-match-card-live
.pm-score-area {
    min-width: 66px !important;

    padding: 6px 9px !important;
}

/* Primary live score: 1 - 0 / 2 - 1 / etc. */
.pm-match-card.pm-match-card-live
.pm-score-main {
    font-size: 22px !important;
    font-weight: 800 !important;
    line-height: 1 !important;

    letter-spacing: 0.12px !important;
}

/*
 * Live state:
 *
 *   HT
 *   1H 36'
 *   2H 49'
 *
 * Strong enough to scan instantly, but still subordinate to the score.
 */
.pm-match-card.pm-match-card-live
.pm-score-meta {
    min-height: 13px !important;

    margin-top: 4px !important;
    padding-top: 4px !important;

    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1.05 !important;

    letter-spacing: 0.04px !important;
}

/*
 * Minute span keeps the existing flash animation.
 * Only its typography follows the improved live-meta sizing.
 */
.pm-match-card.pm-match-card-live
.pm-score-meta
.pm-live-minute-flash {
    font-size: 1em !important;
    font-weight: 800 !important;
    line-height: inherit !important;
}

/*
 * The goal-flash score-side effect already uses em sizing.
 * It therefore scales naturally from the new 22px base without
 * changing the existing goal-animation behaviour.
 */
.pm-match-card.pm-match-card-live
.pm-score-main
.pm-goal-score-side {
    line-height: 1 !important;
}

/*
|--------------------------------------------------------------------------
| VERY SMALL SCREENS
|--------------------------------------------------------------------------
|
| Table V2 previously compresses the centre to roughly:
|
|     score: 15px
|     meta:   8px
|
| That is too small for live/in-play information.
|
| Keep the mobile card compact, but never let active match information
| fall below a comfortably scannable hierarchy.
|--------------------------------------------------------------------------
*/
@media (max-width: 560px) {

    /*
     * Give the live centre a few extra pixels so the larger score does
     * not collide with either team column.
     */
    .pm-match-card.pm-match-card-table-v2.pm-match-card-live {
        --pm-table-v2-score-col: 60px !important;
    }

    .pm-match-card.pm-match-card-live
    .pm-score-area {
        min-width: 56px !important;

        padding: 4px 6px !important;
    }

    .pm-match-card.pm-match-card-live
    .pm-score-main {
        font-size: 19px !important;
        line-height: 1 !important;
    }

    .pm-match-card.pm-match-card-live
    .pm-score-meta {
        min-height: 11px !important;

        margin-top: 3px !important;
        padding-top: 3px !important;

        font-size: 10px !important;
        line-height: 1.05 !important;
    }
}

/* PM TWEAK: live score UX readability 2026-08-28 END */

/* PM TWEAK: finished scoreboard matches live size 2026-08-28 START */

/*
|--------------------------------------------------------------------------
| FINISHED SCOREBOARD SIZE PARITY WITH LIVE
|--------------------------------------------------------------------------
|
| Public/main match cards only.
|
| LIVE and FINISHED should carry equal visual score hierarchy:
|
|     LIVE                  FINISHED
|     burgundy              navy
|     1 - 3                 0 - 2
|     2H 55'                0 - 1
|
| Only size/spacing is matched.
| Existing result colours and meaning remain unchanged.
| Match History remains untouched.
|--------------------------------------------------------------------------
*/

.pm-match-card.pm-main-match-card.pm-match-card-result
.pm-score-area {
    min-width: 66px !important;

    padding: 6px 9px !important;
}

.pm-match-card.pm-main-match-card.pm-match-card-result
.pm-score-main {
    font-size: 22px !important;
    font-weight: 800 !important;
    line-height: 1 !important;

    letter-spacing: 0.12px !important;
}

/*
 * Finished meta is normally the half-time score.
 * Give it the same secondary hierarchy as LIVE 1H/2H/minute.
 */
.pm-match-card.pm-main-match-card.pm-match-card-result
.pm-score-meta {
    min-height: 13px !important;

    margin-top: 4px !important;
    padding-top: 4px !important;

    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1.05 !important;

    letter-spacing: 0.04px !important;
}

/*
|--------------------------------------------------------------------------
| SMALL MOBILE
|--------------------------------------------------------------------------
|
| Match LIVE parity exactly:
|
| score 19px
| secondary line 10px
| centre column 60px
|--------------------------------------------------------------------------
*/
@media (max-width: 560px) {

    .pm-match-card.pm-main-match-card.pm-match-card-table-v2.pm-match-card-result {
        --pm-table-v2-score-col: 60px !important;
    }

    .pm-match-card.pm-main-match-card.pm-match-card-result
    .pm-score-area {
        min-width: 56px !important;

        padding: 4px 6px !important;
    }

    .pm-match-card.pm-main-match-card.pm-match-card-result
    .pm-score-main {
        font-size: 19px !important;
        line-height: 1 !important;
    }

    .pm-match-card.pm-main-match-card.pm-match-card-result
    .pm-score-meta {
        min-height: 11px !important;

        margin-top: 3px !important;
        padding-top: 3px !important;

        font-size: 10px !important;
        line-height: 1.05 !important;
    }
}

/* PM TWEAK: finished scoreboard matches live size 2026-08-28 END */






/* PM FIX: main match-card team names use Roboto 2026-07-11 START */

/*
 * Apply Roboto only to public/main match-card team names.
 * History cards do not receive pm-main-match-card and remain unchanged.
 */
.pm-match-card.pm-main-match-card .pm-team-name-text,
.pm-match-card.pm-main-match-card.pm-match-card-table-v2
.pm-table-v2-team-name {
    font-family: 'Roboto', Arial, Helvetica, sans-serif !important;
}

/* PM FIX: main match-card team names use Roboto 2026-07-11 END */

/* PM FIX: main match-card header content weight 700 2026-07-11 START */

/*
 * Reduce only the visible main-card header text from 800 to 700.
 * Logo, favourite icon, team names and match-history cards are unchanged.
 */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-match-card-header .pm-main-header-country,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-match-card-header .pm-main-header-league,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-match-card-header .pm-main-header-date,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-match-card-header .pm-main-header-stage,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-match-card-header .pm-main-header-round {
    font-weight: 700 !important;
}

/* PM FIX: main match-card header content weight 700 2026-07-11 END */

/* PM FIX: compact main match-card header height 2026-07-11 START */

/*
 * Reduce only vertical whitespace in the public/main match-card header.
 * Existing grid columns, text sizes, logo size and favourite controls stay intact.
 */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-match-card-header {
    min-height: 0 !important;
    padding-top: 5px !important;
    padding-bottom: 5px !important;
}

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-logo-wrap {
    height: 40px !important;
    min-height: 40px !important;
    justify-content: center !important;
    align-items: center !important;
}

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-left,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-right {
    align-self: center !important;
}

@media (max-width: 760px) {
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-match-card-header {
        min-height: 0 !important;
        padding-top: 4px !important;
        padding-bottom: 4px !important;
    }

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-logo-wrap {
        height: 36px !important;
        min-height: 36px !important;
    }
}

/* PM FIX: compact main match-card header height 2026-07-11 END */

/* PM FIX: brighter main header league logos 2026-07-11 START */

/*
 * Improve league-logo visibility against the navy header without
 * restoring a white badge or washing out the original logo colours.
 */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-logo {
    filter:
        drop-shadow(0 0 5px rgba(255, 255, 255, 0.36))
        drop-shadow(0 1px 1px rgba(0, 0, 0, 0.18))
        brightness(1.14)
        saturate(1.14)
        contrast(1.10) !important;
}

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-logo-link:hover
.pm-main-header-league-logo,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-logo-link:focus-visible
.pm-main-header-league-logo {
    filter:
        drop-shadow(0 0 7px rgba(255, 255, 255, 0.46))
        drop-shadow(0 1px 1px rgba(0, 0, 0, 0.20))
        brightness(1.18)
        saturate(1.18)
        contrast(1.12) !important;
}

/* PM FIX: brighter main header league logos 2026-07-11 END */

/* PM FIX: frosted plate behind main header league logo 2026-07-11 START */

/*
 * Dark league logos can disappear into the navy header.
 * Add a restrained frosted-white contrast plate behind the image,
 * while preserving the logo's transparent background and original colours.
 */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-logo-link {
    position: relative !important;
    isolation: isolate !important;
    overflow: visible !important;
}

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-logo-link::before {
    content: "" !important;
    position: absolute !important;
    inset: 2px !important;
    z-index: 0 !important;
    border-radius: 50% !important;
    background:
        radial-gradient(
            circle at 50% 45%,
            rgba(255, 255, 255, 0.34) 0%,
            rgba(255, 255, 255, 0.22) 48%,
            rgba(255, 255, 255, 0.10) 72%,
            rgba(255, 255, 255, 0.02) 88%,
            rgba(255, 255, 255, 0.00) 100%
        ) !important;
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.08),
        0 0 8px rgba(255, 255, 255, 0.16) !important;
    pointer-events: none !important;
}

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-logo {
    position: relative !important;
    z-index: 1 !important;
}

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-logo-link:hover::before,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-logo-link:focus-visible::before {
    background:
        radial-gradient(
            circle at 50% 45%,
            rgba(255, 255, 255, 0.42) 0%,
            rgba(255, 255, 255, 0.27) 48%,
            rgba(255, 255, 255, 0.13) 72%,
            rgba(255, 255, 255, 0.03) 88%,
            rgba(255, 255, 255, 0.00) 100%
        ) !important;
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.12),
        0 0 10px rgba(255, 255, 255, 0.22) !important;
}

@media (max-width: 760px) {
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-logo-link::before {
        inset: 1px !important;
        box-shadow:
            0 0 0 1px rgba(255, 255, 255, 0.08),
            0 0 6px rgba(255, 255, 255, 0.14) !important;
    }
}

/* PM FIX: frosted plate behind main header league logo 2026-07-11 END */

/* PM FIX: premium contrast tile for main header league logo 2026-07-11 START */

/*
 * Use a compact neutral tile rather than stronger glow.
 * This gives every league logo reliable contrast against the navy header.
 */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-logo-link {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    padding: 3px !important;

    border: 1px solid rgba(255, 255, 255, 0.68) !important;
    border-radius: 8px !important;
    background:
        linear-gradient(
            180deg,
            rgba(255, 255, 255, 0.98) 0%,
            rgba(241, 247, 255, 0.96) 100%
        ) !important;

    box-shadow:
        0 2px 6px rgba(4, 17, 39, 0.28),
        inset 0 0 0 1px rgba(19, 41, 75, 0.05) !important;
}

/* Remove any previous experimental halo behind the logo. */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-logo-link::before {
    display: none !important;
    content: none !important;
    background: none !important;
    box-shadow: none !important;
}

/* Preserve logo colours without washing them out. */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-logo {
    position: relative !important;
    z-index: 1 !important;

    width: 28px !important;
    min-width: 28px !important;
    max-width: 28px !important;
    height: 28px !important;
    min-height: 28px !important;
    max-height: 28px !important;

    object-fit: contain !important;
    object-position: center !important;

    filter:
        saturate(1.06)
        contrast(1.06)
        drop-shadow(0 1px 1px rgba(19, 41, 75, 0.12)) !important;
}

/* Restrained interactive feedback. */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-logo-link:hover {
    background: #ffffff !important;
    box-shadow:
        0 3px 8px rgba(4, 17, 39, 0.32),
        0 0 0 1px rgba(255, 255, 255, 0.24),
        inset 0 0 0 1px rgba(19, 41, 75, 0.06) !important;
}

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-logo-link:hover
.pm-main-header-league-logo {
    filter:
        saturate(1.10)
        contrast(1.08)
        drop-shadow(0 1px 1px rgba(19, 41, 75, 0.14)) !important;
}

/* Visible keyboard focus using the Prematcher burgundy accent. */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-logo-link:focus-visible {
    outline: 0 !important;
    background: #ffffff !important;
    box-shadow:
        0 0 0 2px rgba(157, 34, 53, 0.78),
        0 3px 8px rgba(4, 17, 39, 0.30),
        inset 0 0 0 1px rgba(19, 41, 75, 0.06) !important;
}

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-logo-link:focus-visible
.pm-main-header-league-logo {
    filter:
        saturate(1.10)
        contrast(1.08)
        drop-shadow(0 1px 1px rgba(19, 41, 75, 0.14)) !important;
}

@media (max-width: 760px) {
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-logo-link {
        padding: 3px !important;
        border-radius: 7px !important;
    }

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-league-logo {
        width: 24px !important;
        min-width: 24px !important;
        max-width: 24px !important;
        height: 24px !important;
        min-height: 24px !important;
        max-height: 24px !important;
    }
}

/* PM FIX: premium contrast tile for main header league logo 2026-07-11 END */

/* PM FIX: header league logo tile radius 1px 2026-07-11 START */

/* Use a sharper 1px radius for the header league-logo tile. */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-logo-link,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-logo-link:hover,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-logo-link:focus-visible,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-logo-link:active {
    border-radius: 1px !important;
}

/* PM FIX: header league logo tile radius 1px 2026-07-11 END */

/* PM FIX: remove main header logo hover flash 2026-07-11 START */

/*
 * Keep the logo tile visually stable during mouse hover.
 * Keyboard focus and active/click feedback remain available.
 */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-logo-link:hover:not(:active):not(:focus-visible) {
    transform: translateY(0) scale(1) !important;

    background:
        linear-gradient(
            180deg,
            rgba(255, 255, 255, 0.98) 0%,
            rgba(241, 247, 255, 0.96) 100%
        ) !important;

    box-shadow:
        0 2px 6px rgba(4, 17, 39, 0.28),
        inset 0 0 0 1px rgba(19, 41, 75, 0.05) !important;
}

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-logo-link:hover:not(:active):not(:focus-visible)
.pm-main-header-league-logo {
    filter:
        saturate(1.06)
        contrast(1.06)
        drop-shadow(0 1px 1px rgba(19, 41, 75, 0.12)) !important;
}

/* PM FIX: remove main header logo hover flash 2026-07-11 END */

/* PM FIX: circular header league logo refined hover 2026-07-11 START */

/*
 * Final main-card league-logo treatment:
 * a perfect circular contrast tile with subtle Prematcher hover feedback.
 */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-logo-link,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-logo-link:hover,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-logo-link:focus-visible,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-logo-link:active {
    border-radius: 50% !important;
}

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-logo-link {
    overflow: hidden !important;
    transform: translateY(0) scale(1) !important;
    transform-origin: center !important;

    border-color: rgba(255, 255, 255, 0.72) !important;

    background:
        linear-gradient(
            180deg,
            rgba(255, 255, 255, 0.99) 0%,
            rgba(241, 247, 255, 0.97) 100%
        ) !important;

    box-shadow:
        0 2px 6px rgba(4, 17, 39, 0.28),
        inset 0 0 0 1px rgba(19, 41, 75, 0.05) !important;

    transition:
        transform 0.16s ease,
        border-color 0.16s ease,
        background 0.16s ease,
        box-shadow 0.16s ease !important;
}

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-logo {
    transform: scale(1) !important;
    transform-origin: center !important;

    transition:
        transform 0.16s ease,
        filter 0.16s ease !important;
}

/* Stable hover: gentle lift, burgundy accent and no blue flash. */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-logo-link:hover:not(:active):not(:focus-visible) {
    transform: translateY(-1px) scale(1.045) !important;

    border-color: rgba(157, 34, 53, 0.52) !important;
    background: #ffffff !important;

    box-shadow:
        0 4px 11px rgba(4, 17, 39, 0.32),
        0 0 0 2px rgba(157, 34, 53, 0.10),
        inset 0 0 0 1px rgba(19, 41, 75, 0.05) !important;
}

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-logo-link:hover:not(:active):not(:focus-visible)
.pm-main-header-league-logo {
    transform: scale(1.05) !important;

    filter:
        saturate(1.11)
        contrast(1.09)
        brightness(1.04)
        drop-shadow(0 1px 1px rgba(19, 41, 75, 0.14)) !important;
}

/* Accessible burgundy keyboard-focus treatment. */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-logo-link:focus-visible {
    transform: translateY(-1px) scale(1.035) !important;
    outline: 0 !important;
    border-color: rgba(157, 34, 53, 0.78) !important;
    background: #ffffff !important;

    box-shadow:
        0 0 0 2px rgba(157, 34, 53, 0.80),
        0 4px 10px rgba(4, 17, 39, 0.30),
        inset 0 0 0 1px rgba(19, 41, 75, 0.05) !important;
}

/* Small tactile click response. */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-logo-link:active {
    transform: translateY(0) scale(0.97) !important;
    border-color: rgba(157, 34, 53, 0.68) !important;

    box-shadow:
        0 1px 4px rgba(4, 17, 39, 0.28),
        inset 0 0 0 1px rgba(157, 34, 53, 0.10) !important;
}

/* Avoid unnecessary movement for users requesting reduced motion. */
@media (prefers-reduced-motion: reduce) {
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-logo-link,
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-league-logo {
        transition: none !important;
    }

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-logo-link:hover,
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-logo-link:focus-visible,
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-logo-link:active,
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-logo-link:hover
    .pm-main-header-league-logo {
        transform: none !important;
    }
}

/* PM FIX: circular header league logo refined hover 2026-07-11 END */

/* PM FIX: main header logo circle burgundy 2px border 2026-07-11 START */

/*
 * Keep a permanent Prematcher burgundy border around the circular
 * league-logo tile. Reduce padding by 1px so the existing logo size
 * still fits inside the unchanged 36px/32px control.
 */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-logo-link,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-logo-link:hover,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-logo-link:focus-visible,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-logo-link:active {
    box-sizing: border-box !important;
    border: 2px solid #9d2235 !important;
    border-radius: 50% !important;
    padding: 2px !important;
}

/* PM FIX: main header logo circle burgundy 2px border 2026-07-11 END */

/* PM FIX: borderless header logo circle size x1.2 2026-07-11 START */

/*
 * Remove the visible circle border and enlarge the complete logo control
 * by exactly ×1.2 while preserving its proportions and centred alignment.
 */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-logo-wrap {
    overflow: visible !important;
}

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-logo-link,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-logo-link:hover,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-logo-link:focus-visible,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-logo-link:active {
    flex: 0 0 43.2px !important;
    width: 43.2px !important;
    min-width: 43.2px !important;
    max-width: 43.2px !important;

    height: 43.2px !important;
    min-height: 43.2px !important;
    max-height: 43.2px !important;

    box-sizing: border-box !important;
    border: 0 !important;
    border-color: transparent !important;
    border-radius: 50% !important;
    padding: 3px !important;
}

/* Increase the contained logo proportionally with the circle. */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-logo {
    width: 33.6px !important;
    min-width: 33.6px !important;
    max-width: 33.6px !important;

    height: 33.6px !important;
    min-height: 33.6px !important;
    max-height: 33.6px !important;
}

@media (max-width: 760px) {
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-logo-link,
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-logo-link:hover,
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-logo-link:focus-visible,
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-logo-link:active {
        flex-basis: 38.4px !important;
        width: 38.4px !important;
        min-width: 38.4px !important;
        max-width: 38.4px !important;

        height: 38.4px !important;
        min-height: 38.4px !important;
        max-height: 38.4px !important;
    }

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-league-logo {
        width: 28.8px !important;
        min-width: 28.8px !important;
        max-width: 28.8px !important;

        height: 28.8px !important;
        min-height: 28.8px !important;
        max-height: 28.8px !important;
    }
}

/* PM FIX: borderless header logo circle size x1.2 2026-07-11 END */

/* PM FIX: screenshot style main header league logo 2026-07-11 START */

/*
 * Final league-logo presentation:
 * clean white circle, no visible border, crisp whole-pixel sizing,
 * centred within the compact navy match-card header.
 */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-logo-wrap {
    overflow: visible !important;
    align-items: center !important;
    justify-content: center !important;
}

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-logo-link {
    flex: 0 0 44px !important;

    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;

    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;

    box-sizing: border-box !important;
    padding: 4px !important;

    border: 0 !important;
    border-color: transparent !important;
    border-radius: 50% !important;

    background: #ffffff !important;

    box-shadow:
        0 2px 7px rgba(4, 17, 39, 0.27),
        inset 0 0 0 1px rgba(19, 41, 75, 0.06) !important;

    overflow: hidden !important;
    transform: translateY(0) scale(1) !important;
    transform-origin: center !important;

    transition:
        transform 0.16s ease,
        box-shadow 0.16s ease,
        background 0.16s ease !important;
}

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-logo {
    display: block !important;

    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;

    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;

    margin: auto !important;
    padding: 0 !important;

    object-fit: contain !important;
    object-position: center !important;

    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;

    transform: scale(1) !important;
    transform-origin: center !important;

    filter:
        saturate(1.06)
        contrast(1.06)
        drop-shadow(0 1px 1px rgba(19, 41, 75, 0.12)) !important;

    transition:
        transform 0.16s ease,
        filter 0.16s ease !important;
}

/* Refined mouse hover: no blue flash. */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-logo-link:hover:not(:active):not(:focus-visible) {
    transform: translateY(-1px) scale(1.04) !important;
    background: #ffffff !important;
    border: 0 !important;

    box-shadow:
        0 4px 11px rgba(4, 17, 39, 0.31),
        0 0 0 2px rgba(157, 34, 53, 0.13),
        inset 0 0 0 1px rgba(19, 41, 75, 0.06) !important;
}

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-logo-link:hover:not(:active):not(:focus-visible)
.pm-main-header-league-logo {
    transform: scale(1.045) !important;

    filter:
        brightness(1.03)
        saturate(1.10)
        contrast(1.08)
        drop-shadow(0 1px 1px rgba(19, 41, 75, 0.14)) !important;
}

/* Accessible Prematcher burgundy keyboard focus. */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-logo-link:focus-visible {
    transform: translateY(-1px) scale(1.035) !important;
    background: #ffffff !important;
    border: 0 !important;
    outline: 0 !important;

    box-shadow:
        0 0 0 2px rgba(157, 34, 53, 0.82),
        0 4px 10px rgba(4, 17, 39, 0.30),
        inset 0 0 0 1px rgba(19, 41, 75, 0.06) !important;
}

/* Small tactile click response. */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-logo-link:active {
    transform: translateY(0) scale(0.97) !important;
    border: 0 !important;

    box-shadow:
        0 1px 4px rgba(4, 17, 39, 0.27),
        inset 0 0 0 1px rgba(157, 34, 53, 0.10) !important;
}

@media (max-width: 760px) {
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-logo-link {
        flex-basis: 38px !important;

        width: 38px !important;
        min-width: 38px !important;
        max-width: 38px !important;

        height: 38px !important;
        min-height: 38px !important;
        max-height: 38px !important;

        padding: 3px !important;
    }

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-league-logo {
        width: 30px !important;
        min-width: 30px !important;
        max-width: 30px !important;

        height: 30px !important;
        min-height: 30px !important;
        max-height: 30px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-logo-link,
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-league-logo {
        transition: none !important;
    }
}

/* PM FIX: screenshot style main header league logo 2026-07-11 END */

/* PM FIX: square main header league logo tile 2026-07-11 START */

/*
 * Return the main-header league-logo control to the sharp Prematcher
 * square style. Keep its current dimensions, white background and hover.
 */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-logo-link,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-logo-link:hover,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-logo-link:focus-visible,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-logo-link:active {
    border: 0 !important;
    border-color: transparent !important;
    border-radius: 1px !important;
}

/* PM FIX: square main header league logo tile 2026-07-11 END */

/* PM FIX: frosted transparent square header logo tile 2026-07-11 START */

/*
 * Soft frosted-glass treatment inspired by the supplied reference:
 * translucent rather than solid white, while preserving logo contrast.
 */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-logo-link {
    border: 1px solid rgba(255, 255, 255, 0.38) !important;
    border-radius: 1px !important;

    background:
        linear-gradient(
            135deg,
            rgba(255, 255, 255, 0.34) 0%,
            rgba(255, 255, 255, 0.20) 48%,
            rgba(219, 230, 243, 0.22) 100%
        ) !important;

    -webkit-backdrop-filter: blur(7px) saturate(1.10) !important;
    backdrop-filter: blur(7px) saturate(1.10) !important;

    box-shadow:
        0 2px 7px rgba(4, 17, 39, 0.20),
        inset 0 1px 0 rgba(255, 255, 255, 0.48),
        inset 0 0 0 1px rgba(19, 41, 75, 0.04) !important;
}

/* Slightly brighter glass on mouse hover—no blue flash. */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-logo-link:hover:not(:active):not(:focus-visible) {
    border-color: rgba(255, 255, 255, 0.52) !important;
    border-radius: 1px !important;

    background:
        linear-gradient(
            135deg,
            rgba(255, 255, 255, 0.44) 0%,
            rgba(255, 255, 255, 0.27) 48%,
            rgba(219, 230, 243, 0.28) 100%
        ) !important;

    box-shadow:
        0 4px 11px rgba(4, 17, 39, 0.28),
        0 0 0 2px rgba(157, 34, 53, 0.10),
        inset 0 1px 0 rgba(255, 255, 255, 0.58),
        inset 0 0 0 1px rgba(19, 41, 75, 0.04) !important;
}

/* Burgundy keyboard focus with the same transparent glass surface. */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-logo-link:focus-visible {
    border: 1px solid rgba(157, 34, 53, 0.72) !important;
    border-radius: 1px !important;

    background:
        linear-gradient(
            135deg,
            rgba(255, 255, 255, 0.46) 0%,
            rgba(255, 255, 255, 0.28) 48%,
            rgba(219, 230, 243, 0.28) 100%
        ) !important;

    box-shadow:
        0 0 0 2px rgba(157, 34, 53, 0.72),
        0 4px 10px rgba(4, 17, 39, 0.27),
        inset 0 1px 0 rgba(255, 255, 255, 0.58) !important;
}

/* Keep the glass appearance during click feedback. */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-logo-link:active {
    border: 1px solid rgba(157, 34, 53, 0.48) !important;
    border-radius: 1px !important;

    background:
        linear-gradient(
            135deg,
            rgba(255, 255, 255, 0.30) 0%,
            rgba(255, 255, 255, 0.17) 48%,
            rgba(219, 230, 243, 0.19) 100%
        ) !important;
}

/* PM FIX: frosted transparent square header logo tile 2026-07-11 END */

/* PM FIX: white border radius 6 vertical padding 5 header logo 2026-07-11 START */

/*
 * Final frosted logo-tile geometry:
 * white border, 6px corners and 5px vertical internal spacing.
 */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-logo-link,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-logo-link:hover,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-logo-link:focus-visible,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-logo-link:active {
    box-sizing: border-box !important;

    border: 1px solid rgba(255, 255, 255, 0.96) !important;
    border-radius: 6px !important;

    padding-top: 5px !important;
    padding-right: 4px !important;
    padding-bottom: 5px !important;
    padding-left: 4px !important;

    /*
     * Current contained desktop logo is 34px:
     * 34px + 10px padding + 2px border = 46px.
     */
    height: 46px !important;
    min-height: 46px !important;
    max-height: 46px !important;
}

/* Keep the normal mouse hover border white. */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-logo-link:hover:not(:active):not(:focus-visible) {
    border-color: #ffffff !important;
    border-radius: 6px !important;
}

/*
 * Retain the burgundy keyboard focus ring through box-shadow,
 * while the physical tile border remains white.
 */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-logo-link:focus-visible {
    border-color: #ffffff !important;
    border-radius: 6px !important;
}

@media (max-width: 760px) {
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-logo-link,
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-logo-link:hover,
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-logo-link:focus-visible,
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-logo-link:active {
        padding-top: 5px !important;
        padding-right: 3px !important;
        padding-bottom: 5px !important;
        padding-left: 3px !important;

        /*
         * Current contained mobile logo is 30px:
         * 30px + 10px padding + 2px border = 42px.
         */
        height: 42px !important;
        min-height: 42px !important;
        max-height: 42px !important;

        border-radius: 6px !important;
    }
}

/* PM FIX: white border radius 6 vertical padding 5 header logo 2026-07-11 END */

/* PM FIX: borderless logo tile with 5px vertical margin 2026-07-11 START */

/*
 * Remove the physical tile border while retaining the frosted surface,
 * 6px corners and existing internal padding. Add 5px external space
 * above and below the complete logo div.
 */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-logo-wrap {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
}

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-logo-link,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-logo-link:hover,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-logo-link:focus-visible,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-logo-link:active {
    border: 0 !important;
    border-width: 0 !important;
    border-color: transparent !important;
    border-radius: 6px !important;

    margin-top: 5px !important;
    margin-right: 0 !important;
    margin-bottom: 5px !important;
    margin-left: 0 !important;
}

/* PM FIX: borderless logo tile with 5px vertical margin 2026-07-11 END */




/* PM FIX: equal finished score top bottom spacing 2026-07-11 START */

/*
 * Finished table-v2 cards had less whitespace below the score group
 * than above it. Increase only the space before the statistics border.
 */
.pm-match-card.pm-match-card-table-v2.pm-match-card-result
.pm-table-v2-stats {
    margin-top: 17px !important;
}

@media (max-width: 560px) {
    .pm-match-card.pm-match-card-table-v2.pm-match-card-result
    .pm-table-v2-stats {
        margin-top: 13px !important;
    }
}

/* PM FIX: equal finished score top bottom spacing 2026-07-11 END */





/* PM FIX: country flag in main match-card header 2026-07-11 START */

/* URL-based country flags reuse the existing contained-image geometry. */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-country-flag-image {
    object-fit: contain !important;
    object-position: center !important;
}

/* Unicode country flags use the same centred visual space as image flags. */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-country-flag-emoji {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;

    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;

    margin: auto !important;
    padding: 0 !important;

    font-family:
        "Apple Color Emoji",
        "Segoe UI Emoji",
        "Noto Color Emoji",
        sans-serif !important;
    font-size: 27px !important;
    font-weight: 400 !important;
    line-height: 1 !important;

    background: transparent !important;
    filter: none !important;
}

@media (max-width: 760px) {
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-country-flag-emoji {
        width: 30px !important;
        min-width: 30px !important;
        max-width: 30px !important;

        height: 30px !important;
        min-height: 30px !important;
        max-height: 30px !important;

        font-size: 24px !important;
    }
}

/* PM FIX: country flag in main match-card header 2026-07-11 END */



/* PM FIX: inline country flag and league logo in match header 2026-07-11 START */

/*
 * Country flag belongs beside the country name.
 * League logo belongs beside the league name.
 * Remove the old standalone centre visual and use a balanced two-part header.
 */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-match-card-header {
    grid-template-columns:
        minmax(0, 1fr)
        minmax(0, 1fr) !important;

    column-gap: 18px !important;
}

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-logo-wrap {
    display: none !important;
}

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-left {
    min-width: 0 !important;
    justify-content: flex-end !important;
}

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-right {
    min-width: 0 !important;
    justify-content: flex-start !important;
}

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-text-only {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: nowrap !important;
    gap: 7px !important;
    min-width: 0 !important;
}

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-country-group,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-group {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 1 auto !important;
    gap: 5px !important;
    min-width: 0 !important;
}

/* Compact rectangular country flag. */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-inline-country-flag {
    display: block !important;

    width: 19px !important;
    min-width: 19px !important;
    max-width: 19px !important;

    height: 13px !important;
    min-height: 13px !important;
    max-height: 13px !important;

    margin: 0 !important;
    padding: 0 !important;

    object-fit: cover !important;
    object-position: center !important;

    border: 0 !important;
    border-radius: 2px !important;
    background: transparent !important;

    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.28),
        0 1px 2px rgba(0, 0, 0, 0.22) !important;

    filter: none !important;
}

/* Unicode flag fallback. */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-inline-country-flag-emoji {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 19px !important;
    min-width: 19px !important;
    height: 16px !important;

    margin: 0 !important;
    padding: 0 !important;

    font-family:
        "Apple Color Emoji",
        "Segoe UI Emoji",
        "Noto Color Emoji",
        sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1 !important;

    background: transparent !important;
    filter: none !important;
}

/* Compact league identity beside the league name. */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-inline-league-logo {
    display: block !important;

    width: 19px !important;
    min-width: 19px !important;
    max-width: 19px !important;

    height: 19px !important;
    min-height: 19px !important;
    max-height: 19px !important;

    margin: 0 !important;
    padding: 0 !important;

    object-fit: contain !important;
    object-position: center !important;

    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;

    filter:
        brightness(1.10)
        saturate(1.08)
        contrast(1.07)
        drop-shadow(0 0 2px rgba(255, 255, 255, 0.22)) !important;
}

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-country,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league {
    min-width: 0 !important;
    white-space: nowrap !important;
}

/* Keep the separator compact between the two inline identity groups. */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-inline-separator {
    flex: 0 0 auto !important;
    margin: 0 1px !important;
}

@media (max-width: 760px) {
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-match-card-header {
        column-gap: 9px !important;
    }

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-text-only {
        gap: 5px !important;
    }

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-country-group,
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-league-group {
        gap: 3px !important;
    }

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-inline-country-flag {
        width: 16px !important;
        min-width: 16px !important;
        max-width: 16px !important;

        height: 11px !important;
        min-height: 11px !important;
        max-height: 11px !important;
    }

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-inline-country-flag-emoji {
        width: 16px !important;
        min-width: 16px !important;
        height: 14px !important;
        font-size: 14px !important;
    }

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-inline-league-logo {
        width: 16px !important;
        min-width: 16px !important;
        max-width: 16px !important;

        height: 16px !important;
        min-height: 16px !important;
        max-height: 16px !important;
    }
}

/* PM FIX: inline country flag and league logo in match header 2026-07-11 END */

/* PM FIX: non-overlapping centered inline match header identity 2026-07-11 START */

/*
 * Use three genuine header zones:
 *
 * flexible left space | centred country/league identity | stage/round
 *
 * Equal outer grid tracks keep the middle identity at the exact centre
 * of the complete navy header without overlapping the right-side text.
 */
@media (min-width: 761px) {
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-match-card-header {
        position: relative !important;

        display: grid !important;
        grid-template-columns:
            minmax(0, 1fr)
            max-content
            minmax(0, 1fr) !important;

        align-items: center !important;
        column-gap: 12px !important;
    }

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-left {
        grid-column: 2 !important;
        grid-row: 1 !important;

        position: static !important;
        top: auto !important;
        left: auto !important;

        width: max-content !important;
        max-width: 100% !important;
        min-width: 0 !important;

        margin: 0 !important;
        padding: 0 !important;

        justify-self: center !important;
        justify-content: center !important;
        text-align: center !important;

        transform: none !important;
        z-index: 3 !important;
    }

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-left
    .pm-main-header-text-only {
        width: max-content !important;
        max-width: 100% !important;

        margin: 0 auto !important;

        justify-content: center !important;
        text-align: center !important;
        white-space: nowrap !important;
    }

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-right {
        grid-column: 3 !important;
        grid-row: 1 !important;

        position: static !important;

        width: auto !important;
        min-width: 0 !important;
        max-width: calc(100% - 40px) !important;

        margin: 0 40px 0 0 !important;
        padding: 0 !important;

        justify-self: end !important;
        justify-content: flex-end !important;
        text-align: right !important;

        white-space: nowrap !important;
        z-index: 2 !important;
    }
}

/*
 * Preserve the compact two-column mobile arrangement.
 * The desktop absolute positioning is explicitly neutralised.
 */
@media (max-width: 760px) {
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-match-card-header {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(0, 1fr) !important;

        column-gap: 9px !important;
    }

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-left {
        grid-column: 1 !important;
        grid-row: 1 !important;

        position: static !important;
        top: auto !important;
        left: auto !important;

        width: auto !important;
        max-width: 100% !important;

        margin: 0 !important;
        padding: 0 !important;

        justify-self: stretch !important;
        justify-content: flex-end !important;
        text-align: right !important;

        transform: none !important;
    }

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-left
    .pm-main-header-text-only {
        width: auto !important;
        max-width: 100% !important;

        margin: 0 !important;

        justify-content: flex-end !important;
        text-align: right !important;
    }

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-right {
        grid-column: 2 !important;
        grid-row: 1 !important;

        width: auto !important;
        max-width: 100% !important;

        margin: 0 !important;
        padding: 0 !important;

        justify-self: stretch !important;
        justify-content: flex-start !important;
        text-align: left !important;
    }
}

/* PM FIX: non-overlapping centered inline match header identity 2026-07-11 END */

/* PM FIX: unified one-line main header CSS only 2026-07-12 START */

/*
 * Final visible order:
 *
 * [country flag] COUNTRY [league logo] LEAGUE | Regular Season - Round 16
 *
 * HTML remains unchanged. Only the confirmed main-card header is affected.
 */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-match-card-header {
    position: relative !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: nowrap !important;

    grid-template-columns: none !important;
    grid-template-rows: none !important;

    column-gap: 0 !important;
    row-gap: 0 !important;
    gap: 0 !important;

    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;

    /*
     * Equal horizontal padding preserves the true visual centre.
     * Extra vertical padding gives the navy header more breathing room.
     */
    padding: 10px 56px !important;
}

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-left {
    position: static !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 1 auto !important;
    flex-wrap: nowrap !important;

    grid-column: auto !important;
    grid-row: auto !important;

    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    justify-self: auto !important;
    text-align: center !important;

    transform: none !important;
    white-space: nowrap !important;
    z-index: 3 !important;
}

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-left
.pm-main-header-text-only {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 1 auto !important;
    flex-wrap: nowrap !important;

    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    gap: 8px !important;

    text-align: center !important;
    white-space: nowrap !important;
}

/*
 * Remove the old separator between country and league.
 * The country and league identities remain separated by a clean gap.
 */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-text-only
> .pm-main-header-inline-separator {
    display: none !important;
}

/*
 * Bring stage and round directly after the country/league identity.
 */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-right {
    position: static !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex: 0 1 auto !important;
    flex-wrap: nowrap !important;

    grid-column: auto !important;
    grid-row: auto !important;

    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;

    margin: 0 0 0 9px !important;
    padding: 0 !important;

    justify-self: auto !important;
    text-align: left !important;

    transform: none !important;
    white-space: nowrap !important;
    z-index: 3 !important;
}

/* Main vertical separator after the league name. */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-right::before {
    content: "|" !important;

    display: inline-block !important;

    margin: 0 9px 0 0 !important;
    padding: 0 !important;

    color: rgba(255, 255, 255, 0.72) !important;
    font: inherit !important;
    font-weight: 400 !important;
    line-height: 1 !important;
}

/* Preserve the requested title case for stage and round. */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-stage,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-round {
    text-transform: none !important;
}

/* Replace the existing stage/round separator with a normal hyphen. */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-right
> .pm-main-header-inline-separator {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    flex: 0 0 auto !important;

    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;

    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;

    margin: 0 4px !important;
    padding: 0 !important;

    border: 0 !important;
    background: none !important;
    box-shadow: none !important;
    opacity: 1 !important;
}

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-right
> .pm-main-header-inline-separator::before {
    content: "-" !important;

    display: inline !important;

    width: auto !important;
    height: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
    background: none !important;

    color: rgba(255, 255, 255, 0.82) !important;
    font: inherit !important;
    font-weight: 400 !important;
    line-height: 1 !important;
}

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-right
> .pm-main-header-inline-separator::after {
    content: none !important;
    display: none !important;
}

/*
 * Favourite control reduced by approximately x1.3:
 *
 * desktop: 30px / 1.3 = approximately 23px
 * mobile:  26px / 1.3 = 20px
 */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-match-card-header
.pm-match-round {
    position: absolute !important;
    top: 50% !important;
    right: 12px !important;
    left: auto !important;
    bottom: auto !important;

    width: 28px !important;
    min-width: 28px !important;
    max-width: 28px !important;

    height: 28px !important;
    min-height: 28px !important;
    max-height: 28px !important;

    margin: 0 !important;
    padding: 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    transform: translateY(-50%) !important;
    z-index: 50 !important;
}

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-match-card-header
.pm-match-favorite-wrap,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-match-card-header
.pm-match-favorite-form {
    width: 28px !important;
    min-width: 28px !important;
    max-width: 28px !important;

    height: 28px !important;
    min-height: 28px !important;
    max-height: 28px !important;

    margin: 0 !important;
    padding: 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-match-card-header
.pm-match-favorite-button,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-match-card-header
.pm-match-favorite-login {
    width: 23px !important;
    min-width: 23px !important;
    max-width: 23px !important;

    height: 23px !important;
    min-height: 23px !important;
    max-height: 23px !important;

    margin: 0 !important;
    padding: 0 !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-match-card-header
.pm-match-favorite-icon {
    display: block !important;

    width: 23px !important;
    min-width: 23px !important;
    max-width: 23px !important;

    height: 23px !important;
    min-height: 23px !important;
    max-height: 23px !important;

    margin: 0 !important;
    padding: 0 !important;

    object-fit: contain !important;
    object-position: center !important;
}

@media (max-width: 760px) {
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-match-card-header {
        padding: 8px 38px !important;
    }

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-left,
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-right {
        width: auto !important;
        max-width: none !important;
        justify-self: auto !important;
    }

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-left {
        justify-content: center !important;
        text-align: center !important;
    }

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-left
    .pm-main-header-text-only {
        width: auto !important;
        max-width: none !important;
        justify-content: center !important;
        gap: 5px !important;
    }

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-right {
        margin-left: 5px !important;
        justify-content: flex-start !important;
        text-align: left !important;
    }

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-right::before {
        margin-right: 5px !important;
    }

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-country,
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-league,
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-stage,
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-round {
        font-size: 9px !important;
        letter-spacing: 0 !important;
    }

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-match-card-header
    .pm-match-round {
        right: 8px !important;

        width: 24px !important;
        min-width: 24px !important;
        max-width: 24px !important;

        height: 24px !important;
        min-height: 24px !important;
        max-height: 24px !important;
    }

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-match-card-header
    .pm-match-favorite-wrap,
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-match-card-header
    .pm-match-favorite-form {
        width: 24px !important;
        min-width: 24px !important;
        max-width: 24px !important;

        height: 24px !important;
        min-height: 24px !important;
        max-height: 24px !important;
    }

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-match-card-header
    .pm-match-favorite-button,
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-match-card-header
    .pm-match-favorite-login,
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-match-card-header
    .pm-match-favorite-icon {
        width: 20px !important;
        min-width: 20px !important;
        max-width: 20px !important;

        height: 20px !important;
        min-height: 20px !important;
        max-height: 20px !important;
    }
}

@media (max-width: 480px) {
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-match-card-header {
        padding: 8px 34px !important;
    }

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-country,
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-league,
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-stage,
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-round {
        font-size: 8px !important;
    }

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-left
    .pm-main-header-text-only {
        gap: 4px !important;
    }

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-country-group,
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-league-group {
        gap: 3px !important;
    }

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-right {
        margin-left: 4px !important;
    }

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-right::before {
        margin-right: 4px !important;
    }

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-right
    > .pm-main-header-inline-separator {
        margin-left: 2px !important;
        margin-right: 2px !important;
    }
}



/* PM FIX: increased unified header padding 2026-07-12
 * Desktop: 10px vertical / 56px horizontal.
 * Mobile: 8px vertical / 38px horizontal.
 * Small mobile: 8px vertical / 34px horizontal.
 */
/* PM FIX: unified one-line main header CSS only 2026-07-12 END */

/* PM FIX: favourite artwork scale only x1.3 2026-07-12 START */

/*
 * Reduce only the visible favourite artwork:
 * 1 / 1.3 = 0.7692307692
 *
 * The wrapper and clickable button retain their existing dimensions,
 * preventing the distorted appearance caused by shrinking everything.
 */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-match-card-header
.pm-match-favorite-icon {
    transform: scale(0.7692307692) !important;
    transform-origin: center center !important;
}

/* PM FIX: favourite artwork scale only x1.3 2026-07-12 END */

/* PM FIX: circular main-header country flag 2026-07-12 START */

/*
 * Crop only the country flag into a circle.
 * League logo, header text, favourite icon and layout remain unchanged.
 */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-inline-country-flag {
    width: 15px !important;
    min-width: 15px !important;
    max-width: 15px !important;

    height: 15px !important;
    min-height: 15px !important;
    max-height: 15px !important;

    aspect-ratio: 1 / 1 !important;

    border-radius: 50% !important;
    clip-path: circle(50% at 50% 50%) !important;

    object-fit: cover !important;
    object-position: center !important;

    overflow: hidden !important;
}

/* Apply the same circular boundary to the Unicode fallback. */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-inline-country-flag-emoji {
    width: 15px !important;
    min-width: 15px !important;
    max-width: 15px !important;

    height: 15px !important;
    min-height: 15px !important;
    max-height: 15px !important;

    border-radius: 50% !important;
    clip-path: circle(50% at 50% 50%) !important;

    overflow: hidden !important;
}

@media (max-width: 760px) {
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-inline-country-flag,
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-inline-country-flag-emoji {
        width: 13px !important;
        min-width: 13px !important;
        max-width: 13px !important;

        height: 13px !important;
        min-height: 13px !important;
        max-height: 13px !important;
    }
}

/* PM FIX: circular main-header country flag 2026-07-12 END */

/* PM FIX: main header league name link 2026-07-12 START */

/*
 * Only the league name on main match cards is clickable.
 * Match History cards continue rendering non-clickable league text.
 */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-link,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-link:visited {
    color: #ffffff !important;
    text-decoration: none !important;
}

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-link:hover,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-link:focus-visible {
    color: #9d2235 !important;
    text-decoration: none !important;
}

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-link:focus-visible {
    outline: 1px solid rgba(157, 34, 53, 0.65) !important;
    outline-offset: 2px !important;
    border-radius: 2px !important;
}

/* PM FIX: main header league name link 2026-07-12 END */

/* PM FIX: functional main header league link 2026-07-12 START */

/*
 * An older rule disabled pointer events on the complete header identity.
 * Re-enable that confirmed container, then keep the actual league name as
 * the explicit interactive target.
 */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-text-only {
    pointer-events: auto !important;
}

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-link {
    position: relative !important;
    z-index: 20 !important;

    display: inline-block !important;

    pointer-events: auto !important;
    cursor: pointer !important;

    color: #ffffff !important;
    text-decoration: none !important;
}

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-link:visited {
    color: #ffffff !important;
    text-decoration: none !important;
}

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-link:hover,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-link:focus,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-link:focus-visible {
    color: #9d2235 !important;
    text-decoration: none !important;
}

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-link:focus-visible {
    outline: 1px solid rgba(157, 34, 53, 0.72) !important;
    outline-offset: 2px !important;
    border-radius: 2px !important;
}

/* PM FIX: functional main header league link 2026-07-12 END */

/* PM FIX: clickable main header league logo 2026-07-12 START */

/*
 * Make only the main match-card inline league logo interactive.
 * The logo size and visual styling remain unchanged.
 */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-logo-link,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-logo-link:visited {
    position: relative !important;
    z-index: 20 !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;

    width: auto !important;
    height: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    color: inherit !important;
    line-height: 0 !important;
    text-decoration: none !important;

    pointer-events: auto !important;
    cursor: pointer !important;
}

/*
 * Let the surrounding anchor/span receive the click reliably even when
 * older image rules affect pointer behaviour.
 */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-logo-link
.pm-main-header-inline-league-logo {
    pointer-events: none !important;
}

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-logo-link:focus-visible {
    outline: 1px solid rgba(255, 255, 255, 0.9) !important;
    outline-offset: 2px !important;
    border-radius: 50% !important;
}

/* PM FIX: clickable main header league logo 2026-07-12 END */

/* PM FIX: white background highlight on league hover 2026-07-12 START */

/*
 * Highlight only the clickable league name.
 * Box-shadow supplies breathing room without changing header dimensions.
 */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-link {
    background-color: transparent !important;
    border-radius: 0 !important;

    transition:
        color 120ms ease,
        background-color 120ms ease,
        box-shadow 120ms ease !important;
}

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-link:hover,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-link:focus,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-link:focus-visible {
    color: #13294b !important;

    background-color: #ffffff !important;
    box-shadow: 0 0 0 3px #ffffff !important;

    text-decoration: none !important;
}



/* PM FIX: league hover highlight radius 0 2026-07-12 */


/* PM FIX: league hover text uses header navy 2026-07-12
 * Hover/focus text: #13294b.
 */
/* PM FIX: white background highlight on league hover 2026-07-12 END */





/* PM DESIGN: MAIN MATCH CARD HEADER V2 2026-08-25 START */

/*
|--------------------------------------------------------------------------
| Prematcher Header V2
|--------------------------------------------------------------------------
| Scope: public/main match card only.
|
| Preserve:
| - exact Prematcher navy #13294b
| - country flag + country
| - league logo + league
| - stage / phase
| - round
| - favourite control
| - existing PHP, URLs, click behaviour and accessibility
|
| Design:
| - solid minimal navy surface
| - Quicksand typography
| - stronger identity / lighter contextual information
| - restrained logo treatments
| - desktop three-zone layout
| - compact two-line mobile layout
|--------------------------------------------------------------------------
*/

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-match-card-header {
    position: relative !important;

    display: grid !important;
    grid-template-columns:
        minmax(0, 1fr)
        auto
        28px !important;
    grid-template-rows: auto !important;

    align-items: center !important;

    width: 100% !important;
    min-height: 42px !important;

    margin: 0 !important;
    padding: 7px 11px 7px 14px !important;

    column-gap: 16px !important;
    row-gap: 0 !important;

    background: #13294b !important;
    background-image: none !important;

    border: 0 !important;
    border-radius: 6px 6px 0 0 !important;
    box-shadow: none !important;

    overflow: hidden !important;
    isolation: isolate !important;
}

/*
 * Remove historical decorative layers while keeping the exact navy.
 * The actual inline country flag remains visible.
 */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-match-card-header::before,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-match-card-header::after {
    content: none !important;
    display: none !important;
}

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-match-header-flag-bg {
    display: none !important;
}

/* ----------------------------------------------------------------------
   LEFT: country + league identity
---------------------------------------------------------------------- */

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-left {
    position: static !important;

    grid-column: 1 !important;
    grid-row: 1 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden !important;

    transform: none !important;

    text-align: left !important;
    white-space: nowrap !important;

    z-index: 3 !important;
}

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-left
.pm-main-header-text-only {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    gap: 8px !important;

    overflow: hidden !important;

    font-family:
        "Quicksand",
        Arial,
        Helvetica,
        sans-serif !important;

    white-space: nowrap !important;
    pointer-events: auto !important;
}

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-country-group,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-group {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;

    flex: 0 1 auto !important;

    min-width: 0 !important;

    gap: 6px !important;

    margin: 0 !important;
    padding: 0 !important;
}

/* Country identity */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-inline-country-flag {
    display: block !important;

    width: 16px !important;
    min-width: 16px !important;
    max-width: 16px !important;

    height: 16px !important;
    min-height: 16px !important;
    max-height: 16px !important;

    aspect-ratio: 1 / 1 !important;

    margin: 0 !important;
    padding: 0 !important;

    object-fit: cover !important;
    object-position: center !important;

    border: 1px solid rgba(255, 255, 255, 0.34) !important;
    border-radius: 50% !important;

    clip-path: circle(50% at 50% 50%) !important;

    background: transparent !important;

    box-shadow: 0 1px 2px rgba(3, 12, 28, 0.24) !important;

    filter: none !important;
}

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-inline-country-flag-emoji {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 16px !important;
    min-width: 16px !important;
    max-width: 16px !important;

    height: 16px !important;
    min-height: 16px !important;
    max-height: 16px !important;

    margin: 0 !important;
    padding: 0 !important;

    border-radius: 50% !important;
    overflow: hidden !important;

    font-family:
        "Apple Color Emoji",
        "Segoe UI Emoji",
        "Noto Color Emoji",
        sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
}

/*
 * League logo: very restrained soft tile.
 * No heavy white card / glow.
 */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-logo-link,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-logo-link:visited {
    position: relative !important;
    z-index: 20 !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    flex: 0 0 23px !important;

    width: 23px !important;
    min-width: 23px !important;
    max-width: 23px !important;

    height: 23px !important;
    min-height: 23px !important;
    max-height: 23px !important;

    margin: 0 !important;
    padding: 2px !important;

    line-height: 0 !important;

    background: rgba(255, 255, 255, 0.07) !important;

    border: 1px solid rgba(255, 255, 255, 0.11) !important;
    border-radius: 6px !important;

    box-shadow: none !important;

    color: inherit !important;
    text-decoration: none !important;

    pointer-events: auto !important;
    cursor: pointer !important;

    transition:
        background-color 0.14s ease,
        border-color 0.14s ease !important;
}

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-inline-league-logo {
    display: block !important;

    width: 17px !important;
    min-width: 17px !important;
    max-width: 17px !important;

    height: 17px !important;
    min-height: 17px !important;
    max-height: 17px !important;

    margin: 0 !important;
    padding: 0 !important;

    object-fit: contain !important;
    object-position: center !important;

    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;

    filter:
        brightness(1.07)
        saturate(1.05)
        contrast(1.05)
        drop-shadow(0 1px 1px rgba(0, 0, 0, 0.18))
        !important;

    pointer-events: none !important;
}

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-logo-link:hover {
    background: rgba(255, 255, 255, 0.13) !important;
    border-color: rgba(255, 255, 255, 0.20) !important;
}

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-logo-link:focus-visible {
    outline: 1px solid rgba(255, 255, 255, 0.92) !important;
    outline-offset: 2px !important;
    border-radius: 6px !important;
}

/* Identity typography */
/* PM CLEANUP: direct league Quicksand declarations removed 2026-08-25 */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-country {
    font-family:
        "Quicksand",
        Arial,
        Helvetica,
        sans-serif !important;
}

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-country,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league {
    min-width: 0 !important;

    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;

    margin: 0 !important;
    padding: 0 !important;

    font-size: 11px !important;
    font-weight: 600 !important;
    line-height: 1.1 !important;

    letter-spacing: 0.12px !important;
    text-transform: none !important;

    color: #ffffff !important;

    text-shadow: none !important;
}

/*
 * League name remains a genuine interactive target,
 * but hover is calmer than the historical white block.
 */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-link,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-link:visited {
    position: relative !important;
    z-index: 20 !important;

    display: inline-block !important;

    color: #ffffff !important;
    background: transparent !important;

    border: 0 !important;
    border-radius: 3px !important;

    box-shadow: none !important;
    outline: 0 !important;

    text-decoration: none !important;

    pointer-events: auto !important;
    cursor: pointer !important;

    transition:
        opacity 0.14s ease,
        box-shadow 0.14s ease !important;
}

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-link:hover {
    color: #ffffff !important;
    background: transparent !important;

    opacity: 0.84 !important;

    box-shadow:
        inset 0 -1px 0 rgba(157, 34, 53, 0.95)
        !important;
}

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-link:focus-visible {
    color: #ffffff !important;

    outline: 1px solid rgba(255, 255, 255, 0.82) !important;
    outline-offset: 2px !important;

    box-shadow:
        inset 0 -1px 0 rgba(157, 34, 53, 0.95)
        !important;
}

/* ----------------------------------------------------------------------
   SEPARATORS
---------------------------------------------------------------------- */

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-inline-separator {
    display: inline-block !important;
    flex: 0 0 1px !important;

    width: 1px !important;
    min-width: 1px !important;
    max-width: 1px !important;

    height: 13px !important;
    min-height: 13px !important;
    max-height: 13px !important;

    margin: 0 2px !important;
    padding: 0 !important;

    border: 0 !important;
    border-radius: 0 !important;

    background: rgba(255, 255, 255, 0.23) !important;

    box-shadow: none !important;

    opacity: 1 !important;
}

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-inline-separator::before,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-inline-separator::after {
    content: none !important;
    display: none !important;
}

/* ----------------------------------------------------------------------
   RIGHT: stage / phase + round context
---------------------------------------------------------------------- */

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-right {
    position: static !important;

    grid-column: 2 !important;
    grid-row: 1 !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: nowrap !important;

    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    gap: 7px !important;

    justify-self: end !important;

    white-space: nowrap !important;
    text-align: right !important;

    z-index: 3 !important;
}

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-right::before,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-right::after {
    content: none !important;
    display: none !important;
}

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-stage,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-round {
    margin: 0 !important;
    padding: 0 !important;

    font-family:
        "Quicksand",
        Arial,
        Helvetica,
        sans-serif !important;

    font-size: 10px !important;
    font-weight: 400 !important;
    line-height: 1.1 !important;

    letter-spacing: 0.06px !important;
    text-transform: none !important;

    color: rgba(255, 255, 255, 0.76) !important;

    text-shadow: none !important;
}

/*
 * Slightly stronger round gives immediate hierarchy:
 * League identity > round > stage.
 */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-round {
    font-weight: 500 !important;
    color: rgba(255, 255, 255, 0.92) !important;
}

/* ----------------------------------------------------------------------
   FAVOURITE: far-right functional control
---------------------------------------------------------------------- */

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-match-card-header
.pm-match-round {
    position: static !important;

    grid-column: 3 !important;
    grid-row: 1 !important;

    justify-self: end !important;
    align-self: center !important;

    width: 28px !important;
    min-width: 28px !important;
    max-width: 28px !important;

    height: 28px !important;
    min-height: 28px !important;
    max-height: 28px !important;

    margin: 0 !important;
    padding: 0 !important;

    transform: none !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;

    z-index: 50 !important;
}

/* ----------------------------------------------------------------------
   MOBILE: identity first line, context second line, favourite at right
---------------------------------------------------------------------- */

@media (max-width: 760px) {

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-match-card-header {
        grid-template-columns:
            minmax(0, 1fr)
            24px !important;

        grid-template-rows:
            auto
            auto !important;

        min-height: 0 !important;

        padding: 7px 8px 7px 10px !important;

        column-gap: 8px !important;
        row-gap: 4px !important;
    }

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-left {
        grid-column: 1 !important;
        grid-row: 1 !important;

        width: 100% !important;

        justify-content: flex-start !important;
        text-align: left !important;
    }

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-left
    .pm-main-header-text-only {
        width: 100% !important;
        min-width: 0 !important;

        justify-content: flex-start !important;

        gap: 6px !important;
    }

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-country-group,
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-league-group {
        gap: 4px !important;
    }

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-inline-country-flag,
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-inline-country-flag-emoji {
        width: 14px !important;
        min-width: 14px !important;
        max-width: 14px !important;

        height: 14px !important;
        min-height: 14px !important;
        max-height: 14px !important;
    }

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-inline-country-flag-emoji {
        font-size: 13px !important;
    }

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-league-logo-link,
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-league-logo-link:visited {
        flex-basis: 20px !important;

        width: 20px !important;
        min-width: 20px !important;
        max-width: 20px !important;

        height: 20px !important;
        min-height: 20px !important;
        max-height: 20px !important;

        padding: 2px !important;

        border-radius: 5px !important;
    }

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-inline-league-logo {
        width: 15px !important;
        min-width: 15px !important;
        max-width: 15px !important;

        height: 15px !important;
        min-height: 15px !important;
        max-height: 15px !important;
    }

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-country,
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-league {
        font-size: 9.5px !important;
        font-weight: 600 !important;
    }

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-right {
        grid-column: 1 !important;
        grid-row: 2 !important;

        justify-self: start !important;

        margin: 0 !important;

        justify-content: flex-start !important;
        text-align: left !important;

        gap: 6px !important;
    }

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-stage,
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-round {
        font-size: 8.5px !important;
    }

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-inline-separator {
        height: 11px !important;
        min-height: 11px !important;
        max-height: 11px !important;

        margin-left: 1px !important;
        margin-right: 1px !important;
    }

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-match-card-header
    .pm-match-round {
        grid-column: 2 !important;
        grid-row: 1 / span 2 !important;

        justify-self: end !important;
        align-self: center !important;

        position: static !important;

        width: 24px !important;
        min-width: 24px !important;
        max-width: 24px !important;

        height: 24px !important;
        min-height: 24px !important;
        max-height: 24px !important;

        transform: none !important;
    }
}

@media (max-width: 420px) {

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-match-card-header {
        padding-left: 8px !important;
        padding-right: 7px !important;

        column-gap: 6px !important;
    }

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-country,
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-league {
        font-size: 9px !important;
    }

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-stage,
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-round {
        font-size: 8px !important;
    }
}


/* PM DESIGN: HEADER V2.1 FLOATING IDENTITY PLATES 2026-08-25 START */

/*
|--------------------------------------------------------------------------
| Country / League identity plates
|--------------------------------------------------------------------------
|
| Think labels rather than buttons:
|
| [ flag  COUNTRY ]  [ league-logo  LEAGUE ]  |  Stage  |  Round
|
| The country plate receives a very restrained wash of its real country
| flag using the header's existing --pm-match-header-flag CSS variable.
|--------------------------------------------------------------------------
*/

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-left
.pm-main-header-text-only {
    gap: 7px !important;
}


/* ---------------------------------------------------------------
   SHARED FLOATING PLATE GEOMETRY
--------------------------------------------------------------- */

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-country-group,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-group {
    position: relative !important;
    isolation: isolate !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;

    min-width: 0 !important;
    min-height: 28px !important;

    margin: 0 !important;
    padding: 4px 8px !important;

    gap: 6px !important;

    overflow: hidden !important;

    border:
        1px solid rgba(255, 255, 255, 0.11)
        !important;

    border-radius: 7px !important;

    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.045),
        0 1px 3px rgba(3, 12, 28, 0.10)
        !important;

    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}


/* ---------------------------------------------------------------
   COUNTRY PLATE
   Real country flag is washed quietly into the background.
--------------------------------------------------------------- */

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-country-group {
    background-color:
        rgba(255, 255, 255, 0.055)
        !important;

    background-image:
        linear-gradient(
            90deg,
            rgba(19, 41, 75, 0.70) 0%,
            rgba(19, 41, 75, 0.78) 58%,
            rgba(19, 41, 75, 0.84) 100%
        ),
        var(--pm-match-header-flag, none)
        !important;

    background-repeat:
        no-repeat,
        no-repeat
        !important;

    background-position:
        center,
        center
        !important;

    background-size:
        cover,
        cover
        !important;
}


/*
 * Gentle inner highlight.
 * It gives the flag plate depth without looking glassy.
 */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-country-group::before {
    content: "" !important;

    position: absolute !important;
    inset: 0 !important;

    z-index: -1 !important;

    background:
        linear-gradient(
            180deg,
            rgba(255, 255, 255, 0.055) 0%,
            rgba(255, 255, 255, 0.00) 62%
        )
        !important;

    pointer-events: none !important;
}


/* Keep the real little flag crisp above the background wash. */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-inline-country-flag {
    width: 16px !important;
    min-width: 16px !important;
    max-width: 16px !important;

    height: 16px !important;
    min-height: 16px !important;
    max-height: 16px !important;

    border:
        1px solid rgba(255, 255, 255, 0.42)
        !important;

    box-shadow:
        0 1px 3px rgba(2, 9, 22, 0.28)
        !important;
}


/* ---------------------------------------------------------------
   LEAGUE PLATE
--------------------------------------------------------------- */

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-group {
    background:
        linear-gradient(
            135deg,
            rgba(255, 255, 255, 0.085) 0%,
            rgba(255, 255, 255, 0.045) 100%
        )
        !important;
}


/*
 * League logo sits naturally inside the plate.
 * No large white tile and no exaggerated halo.
 */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-logo-link,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-logo-link:visited {
    width: 20px !important;
    min-width: 20px !important;
    max-width: 20px !important;

    height: 20px !important;
    min-height: 20px !important;
    max-height: 20px !important;

    flex: 0 0 20px !important;

    padding: 1px !important;

    background:
        rgba(255, 255, 255, 0.07)
        !important;

    border:
        1px solid rgba(255, 255, 255, 0.08)
        !important;

    border-radius: 5px !important;

    box-shadow: none !important;
}


.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-inline-league-logo {
    width: 16px !important;
    min-width: 16px !important;
    max-width: 16px !important;

    height: 16px !important;
    min-height: 16px !important;
    max-height: 16px !important;

    filter:
        brightness(1.08)
        saturate(1.05)
        contrast(1.05)
        drop-shadow(
            0 1px 1px rgba(0, 0, 0, 0.18)
        )
        !important;
}


/* ---------------------------------------------------------------
   TYPOGRAPHIC HIERARCHY
--------------------------------------------------------------- */

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-country {
    font-family:
        "Quicksand",
        Arial,
        Helvetica,
        sans-serif !important;

    font-size: 10.5px !important;
    font-weight: 500 !important;

    line-height: 1 !important;

    letter-spacing: 0.12px !important;

    color: rgba(255, 255, 255, 0.90) !important;

    text-shadow: none !important;
}


.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league {
    font-size: 10.5px !important;
    font-weight: 600 !important;

    line-height: 1 !important;

    letter-spacing: 0.08px !important;

    color: #ffffff !important;

    text-shadow: none !important;
}


/*
 * The plates themselves provide separation.
 * Remove the old line between COUNTRY and LEAGUE.
 */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-text-only
> .pm-main-header-inline-separator {
    display: none !important;
}


/* ---------------------------------------------------------------
   CONTEXT SEPARATION
   Small quiet vertical line between identity and match context.
--------------------------------------------------------------- */

@media (min-width: 761px) {

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-right::before {
        content: "" !important;

        display: block !important;
        flex: 0 0 1px !important;

        width: 1px !important;
        min-width: 1px !important;

        height: 16px !important;

        margin:
            0 3px 0 1px
            !important;

        background:
            rgba(255, 255, 255, 0.18)
            !important;

        border: 0 !important;
        box-shadow: none !important;
    }

}


/* ---------------------------------------------------------------
   HOVER / FOCUS
--------------------------------------------------------------- */

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-group:has(
    .pm-main-header-league-link:hover
) {
    border-color:
        rgba(255, 255, 255, 0.17)
        !important;

    background:
        linear-gradient(
            135deg,
            rgba(255, 255, 255, 0.105) 0%,
            rgba(255, 255, 255, 0.055) 100%
        )
        !important;
}


.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-link:hover {
    opacity: 1 !important;

    color: #ffffff !important;

    box-shadow:
        inset 0 -1px 0 rgba(157, 34, 53, 0.88)
        !important;
}


/* ---------------------------------------------------------------
   MOBILE
--------------------------------------------------------------- */

@media (max-width: 760px) {

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-left
    .pm-main-header-text-only {
        gap: 5px !important;
    }

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-country-group,
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-league-group {
        min-height: 24px !important;

        padding:
            3px 6px
            !important;

        gap: 4px !important;

        border-radius: 6px !important;
    }

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-inline-country-flag,
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-inline-country-flag-emoji {
        width: 13px !important;
        min-width: 13px !important;
        max-width: 13px !important;

        height: 13px !important;
        min-height: 13px !important;
        max-height: 13px !important;
    }

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-league-logo-link,
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-league-logo-link:visited {
        width: 18px !important;
        min-width: 18px !important;
        max-width: 18px !important;

        height: 18px !important;
        min-height: 18px !important;
        max-height: 18px !important;

        flex-basis: 18px !important;
    }

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-inline-league-logo {
        width: 14px !important;
        min-width: 14px !important;
        max-width: 14px !important;

        height: 14px !important;
        min-height: 14px !important;
        max-height: 14px !important;
    }

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-country,
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-league {
        font-size: 9px !important;
    }

}


/* Very narrow phones: protect league-name room first. */
@media (max-width: 420px) {

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-country-group,
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-league-group {
        padding-left: 5px !important;
        padding-right: 5px !important;
    }

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-country {
        font-size: 8.5px !important;
    }

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-league {
        font-size: 8.7px !important;
    }

}


/* PM TWEAK: hide foreground country icon 2026-08-25 START */

/*
 * Keep the country name and subtle real-flag background wash.
 * Remove only the small circular foreground flag.
 */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-country-group
.pm-main-header-inline-country-flag,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-country-group
.pm-main-header-inline-country-flag-emoji {
    display: none !important;
}

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-country-group {
    gap: 0 !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
}

@media (max-width: 760px) {
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-country-group {
        padding-left: 6px !important;
        padding-right: 6px !important;
    }
}

/* PM TWEAK: hide foreground country icon 2026-08-25 END */


/* PM TWEAK: uppercase header country name 2026-08-25 START */

/* Country name only. League, stage and round remain unchanged. */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-country {
    text-transform: uppercase !important;
}

/* PM TWEAK: uppercase header country name 2026-08-25 END */

/* PM DESIGN: HEADER V2.1 FLOATING IDENTITY PLATES 2026-08-25 END */


/* PM DESIGN: HEADER V2.2 PHASE ROUND INSIDE LEAGUE PLATE 2026-08-25 START */

/*
|--------------------------------------------------------------------------
| V2.2 — competition context belongs to competition identity
|--------------------------------------------------------------------------
|
| [ COUNTRY ] [ logo  League | Phase – Round ]                 favourite
|
| Phase/round is no longer a separate right-side header object.
|--------------------------------------------------------------------------
*/

/* Two genuine desktop zones now: identity + favourite. */
@media (min-width: 761px) {
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-match-card-header {
        grid-template-columns:
            minmax(0, 1fr)
            28px !important;

        column-gap: 14px !important;
    }

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-left {
        grid-column: 1 !important;
        grid-row: 1 !important;
    }

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-match-card-header
    .pm-match-round {
        grid-column: 2 !important;
        grid-row: 1 !important;
    }
}

/*
 * Defensive only: old markup is removed, but historical CSS rules for
 * pm-main-header-right remain underneath for rollback safety.
 */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-right {
    display: none !important;
}


/* Give league identity first claim on remaining header width. */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-group {
    flex: 0 1 auto !important;

    max-width: 100% !important;

    white-space: nowrap !important;
}


/*
 * Phase / round becomes a quiet sub-identity inside the same league plate.
 * The league itself remains visually strongest.
 */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-context {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;

    flex: 0 0 auto !important;

    min-width: 0 !important;

    margin: 0 0 0 2px !important;
    padding: 0 0 0 8px !important;

    gap: 4px !important;

    border-left:
        1px solid rgba(255, 255, 255, 0.17)
        !important;

    white-space: nowrap !important;
}


/* Phase: quiet contextual layer. */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-context
.pm-main-header-stage {
    margin: 0 !important;
    padding: 0 !important;

    font-family:
        "Quicksand",
        Arial,
        Helvetica,
        sans-serif !important;

    font-size: 9px !important;
    font-weight: 400 !important;
    line-height: 1 !important;

    letter-spacing: 0.04px !important;
    text-transform: none !important;

    color:
        rgba(255, 255, 255, 0.68)
        !important;

    text-shadow: none !important;
}


/* Round: slightly stronger, but still subordinate to league name. */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-context
.pm-main-header-round {
    margin: 0 !important;
    padding: 0 !important;

    font-family:
        "Quicksand",
        Arial,
        Helvetica,
        sans-serif !important;

    font-size: 9px !important;
    font-weight: 600 !important;
    line-height: 1 !important;

    letter-spacing: 0.02px !important;
    text-transform: none !important;

    color:
        rgba(255, 255, 255, 0.88)
        !important;

    text-shadow: none !important;
}


/* Elegant restrained phase → round separator. */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-context-separator {
    display: inline-block !important;

    margin: 0 !important;
    padding: 0 !important;

    color:
        rgba(255, 255, 255, 0.42)
        !important;

    font-family:
        "Quicksand",
        Arial,
        Helvetica,
        sans-serif !important;

    font-size: 9px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
}


/*
 * On smaller widths keep phase/round compact and protect league-name room.
 */
@media (max-width: 760px) {

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-league-context {
        margin-left: 1px !important;
        padding-left: 5px !important;

        gap: 3px !important;

        border-left-color:
            rgba(255, 255, 255, 0.15)
            !important;
    }

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-league-context
    .pm-main-header-stage,
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-league-context
    .pm-main-header-round,
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-league-context-separator {
        font-size: 7.6px !important;
    }
}


@media (max-width: 420px) {

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-league-context {
        padding-left: 4px !important;
        gap: 2px !important;
    }

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-league-context
    .pm-main-header-stage,
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-league-context
    .pm-main-header-round,
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-league-context-separator {
        font-size: 7px !important;
    }
}


/* PM TWEAK: V2.2 mobile header vertical centering 2026-08-25 START */

/*
 * V2.2 moved phase + round into the league plate.
 * The older mobile layout still reserved a second grid row.
 * Remove that obsolete row and vertically centre the complete header identity.
 */
@media (max-width: 760px) {

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-match-card-header {
        grid-template-columns:
            minmax(0, 1fr)
            24px !important;

        grid-template-rows:
            auto !important;

        align-items: center !important;
        align-content: center !important;

        row-gap: 0 !important;
    }

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-left {
        grid-column: 1 !important;
        grid-row: 1 !important;

        align-self: center !important;
        justify-self: stretch !important;

        display: flex !important;
        align-items: center !important;
    }

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-left
    .pm-main-header-text-only {
        align-items: center !important;
    }

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-country-group,
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-league-group {
        align-self: center !important;
    }

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-match-card-header
    .pm-match-round {
        grid-column: 2 !important;
        grid-row: 1 !important;

        align-self: center !important;
        justify-self: end !important;
    }
}

/* PM TWEAK: V2.2 mobile header vertical centering 2026-08-25 END */


/* PM TWEAK: V2.2 smaller favourite artwork 2026-08-25 START */

/*
 * Reduce only the visible favourite artwork.
 * Keep the existing wrapper/button dimensions unchanged so the
 * clickable/tappable target remains comfortable.
 */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-match-card-header
.pm-match-favorite-icon {
    transform: scale(0.50) !important;
    transform-origin: center center !important;
}

/* PM TWEAK: V2.2 smaller favourite artwork 2026-08-25 END */


/* PM FIX: V2.2 unified favourite visual all users 2026-08-25 START */

/*
|--------------------------------------------------------------------------
| One favourite visual system for everybody
|--------------------------------------------------------------------------
|
| Guest:
|   <a class="pm-match-favorite-login">...</a>
|
| Logged Free / PRO / CEO:
|   <button class="pm-match-favorite-button">...</button>
|
| Both now use ONLY the child .pm-match-favorite-icon image.
| Historical CSS background artwork is disabled inside the main header.
|
| Behaviour remains different where required:
| - guest -> login
| - logged user -> add/remove favourite
|--------------------------------------------------------------------------
*/

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-match-card-header
.pm-match-favorite-button,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-match-card-header
.pm-match-favorite-button.is-favorite,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-match-card-header
.pm-match-favorite-login {
    box-sizing: border-box !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 23px !important;
    min-width: 23px !important;
    max-width: 23px !important;

    height: 23px !important;
    min-height: 23px !important;
    max-height: 23px !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
    border-radius: 0 !important;

    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 0 0 !important;

    box-shadow: none !important;
    outline-offset: 2px !important;

    overflow: visible !important;

    color: transparent !important;
    text-decoration: none !important;
    text-indent: 0 !important;

    font-size: 0 !important;
    line-height: 0 !important;

    appearance: none !important;
    -webkit-appearance: none !important;

    cursor: pointer !important;

    transform: none !important;
}


/*
 * Same hover behaviour for <a> and <button>.
 * Do not enlarge the complete clickable control.
 */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-match-card-header
.pm-match-favorite-button:hover,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-match-card-header
.pm-match-favorite-login:hover {
    transform: none !important;
}


/*
 * Child image is now the ONLY visible artwork.
 * Keep the requested 0.50 scale.
 */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-match-card-header
.pm-match-favorite-button
.pm-match-favorite-icon,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-match-card-header
.pm-match-favorite-login
.pm-match-favorite-icon {
    display: block !important;

    width: 23px !important;
    min-width: 23px !important;
    max-width: 23px !important;

    height: 23px !important;
    min-height: 23px !important;
    max-height: 23px !important;

    margin: 0 !important;
    padding: 0 !important;

    object-fit: contain !important;
    object-position: center !important;

    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;

    transform: scale(0.70) !important;
    transform-origin: center center !important;

    pointer-events: none !important;
}


/*
 * Keep the outer control geometry identical too.
 */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-match-card-header
.pm-match-favorite-wrap,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-match-card-header
.pm-match-favorite-form {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 28px !important;
    min-width: 28px !important;
    max-width: 28px !important;

    height: 28px !important;
    min-height: 28px !important;
    max-height: 28px !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* Same geometry on mobile; only the artwork remains visually small. */
@media (max-width: 760px) {

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-match-card-header
    .pm-match-favorite-wrap,
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-match-card-header
    .pm-match-favorite-form {
        width: 24px !important;
        min-width: 24px !important;
        max-width: 24px !important;

        height: 24px !important;
        min-height: 24px !important;
        max-height: 24px !important;
    }

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-match-card-header
    .pm-match-favorite-button,
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-match-card-header
    .pm-match-favorite-button.is-favorite,
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-match-card-header
    .pm-match-favorite-login {
        width: 20px !important;
        min-width: 20px !important;
        max-width: 20px !important;

        height: 20px !important;
        min-height: 20px !important;
        max-height: 20px !important;
    }

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-match-card-header
    .pm-match-favorite-button
    .pm-match-favorite-icon,
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-match-card-header
    .pm-match-favorite-login
    .pm-match-favorite-icon {
        width: 20px !important;
        min-width: 20px !important;
        max-width: 20px !important;

        height: 20px !important;
        min-height: 20px !important;
        max-height: 20px !important;

        transform: scale(0.70) !important;
    }
}

/* PM FIX: V2.2 unified favourite visual all users 2026-08-25 END */



/* PM DESIGN: HEADER V2.2 PHASE ROUND INSIDE LEAGUE PLATE 2026-08-25 END */

/* PM DESIGN: MAIN MATCH CARD HEADER V2 2026-08-25 END */

/* PM TWEAK: remove league-context wrapper visual 2026-08-25 START */

/*
 * Keep stage / round content intact.
 * Remove only the visual separation of its wrapper.
 */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-context {
    margin-left: 0 !important;
    padding-left: 0 !important;

    border-left: 0 !important;
    border-left-color: transparent !important;
}

/*
 * V2.2 mobile previously restored some left spacing.
 * Remove that too so the wrapper remains visually absent.
 */
@media (max-width: 760px) {
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-league-context {
        margin-left: 0 !important;
        padding-left: 0 !important;

        border-left: 0 !important;
    }
}

/* PM TWEAK: remove league-context wrapper visual 2026-08-25 END */

/* PM TWEAK: remove visible league plate 2026-08-25 START */

/*
 * Remove ONLY the visual parent plate around:
 *
 * league logo + league name + stage + round
 *
 * All child markup, text, links and behaviour remain intact.
 */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-group {
    min-height: 0 !important;

    padding: 0 !important;

    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;

    border: 0 !important;
    border-radius: 0 !important;

    box-shadow: none !important;

    overflow: visible !important;
}

/* PM TWEAK: remove visible league plate 2026-08-25 END */

/* PM TWEAK: league logo tile matches country height 2026-08-25 START */

/*
 * Country identity plate:
 *   desktop min-height = 28px
 *   mobile  min-height = 24px
 *
 * Match the league-logo tile to those heights.
 * Keep the actual logo artwork dimensions unchanged.
 */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-logo-link,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-logo-link:visited {
    box-sizing: border-box !important;

    flex: 0 0 28px !important;

    width: 28px !important;
    min-width: 28px !important;
    max-width: 28px !important;

    height: 28px !important;
    min-height: 28px !important;
    max-height: 28px !important;
}

@media (max-width: 760px) {

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-league-logo-link,
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-league-logo-link:visited {
        flex: 0 0 24px !important;

        width: 24px !important;
        min-width: 24px !important;
        max-width: 24px !important;

        height: 24px !important;
        min-height: 24px !important;
        max-height: 24px !important;
    }
}

/* PM TWEAK: league logo tile matches country height 2026-08-25 END */

/* PM TWEAK: optimise league logo artwork size 2026-08-25 START */

/*
 * Tile stays:
 *   desktop 28x28px
 *   mobile  24x24px
 *
 * Increase only the visible league-logo artwork.
 * 20px / 17px keeps useful breathing room around the logo.
 */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-inline-league-logo {
    width: 20px !important;
    min-width: 20px !important;
    max-width: 20px !important;

    height: 20px !important;
    min-height: 20px !important;
    max-height: 20px !important;

    object-fit: contain !important;
    object-position: center !important;
}

@media (max-width: 760px) {

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-inline-league-logo {
        width: 17px !important;
        min-width: 17px !important;
        max-width: 17px !important;

        height: 17px !important;
        min-height: 17px !important;
        max-height: 17px !important;
    }
}

/* PM TWEAK: optimise league logo artwork size 2026-08-25 END */

/* PM TWEAK: league logo tile border zero radius 3px 2026-08-30 START */

/*
 * Small clickable league-logo tile beside the country identity.
 *
 * Requested visual only:
 * - border: 0
 * - border-radius: 3px
 *
 * Preserve background, dimensions, padding, logo artwork and behaviour.
 */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-logo-link,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-logo-link:visited,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-logo-link:hover,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-logo-link:active,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-logo-link:focus-visible {
    border: 0 !important;
    border-color: transparent !important;
    border-radius: 3px !important;
}

/* PM TWEAK: league logo tile border zero radius 3px 2026-08-30 END */

/* PM TWEAK: balance league text with 28px header identity 2026-08-25 START */

/*
 * Country plate and league-logo tile are both 28px high on desktop.
 *
 * Give the league identity/content row the same vertical footprint,
 * then increase typography only enough to create visual balance.
 *
 * The league plate itself remains visually removed.
 */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-group {
    min-height: 28px !important;

    align-items: center !important;
}


/* Primary competition identity. */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league {
    font-size: 11.5px !important;
    font-weight: 700 !important;
    line-height: 1 !important;

    letter-spacing: 0.04px !important;
}


/* Context remains subordinate, but no longer looks undersized. */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-context
.pm-main-header-stage {
    font-size: 9.5px !important;
    line-height: 1 !important;
}


.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-context
.pm-main-header-round {
    font-size: 9.5px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
}


.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-context-separator {
    font-size: 9.5px !important;
    line-height: 1 !important;
}


/* ---------------------------------------------------------------
   MOBILE
--------------------------------------------------------------- */

@media (max-width: 760px) {

    /* Match the existing 24px mobile country/logo containers. */
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-league-group {
        min-height: 24px !important;
    }

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-league {
        font-size: 10px !important;
        font-weight: 700 !important;
    }

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-league-context
    .pm-main-header-stage,
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-league-context
    .pm-main-header-round,
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-league-context-separator {
        font-size: 8.2px !important;
    }
}


/* Very narrow screens still protect league-name space. */
@media (max-width: 420px) {

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-league {
        font-size: 9.5px !important;
    }

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-league-context
    .pm-main-header-stage,
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-league-context
    .pm-main-header-round,
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-league-context-separator {
        font-size: 7.8px !important;
    }
}

/* PM TWEAK: balance league text with 28px header identity 2026-08-25 END */

/* PM TWEAK: text boxes match identity control height 2026-08-25 START */

/*
 * Match the actual league/context text boxes to the neighbouring
 * identity controls:
 *
 * desktop: 28px
 * mobile:  24px
 *
 * Font sizes stay restrained; only the text boxes receive the same
 * physical height and vertical centering.
 */

/* League name text box. */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league {
    display: inline-flex !important;
    align-items: center !important;

    height: 28px !important;
    min-height: 28px !important;
    max-height: 28px !important;

    line-height: 1 !important;
}


/* Stage / round text box. */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-context {
    display: inline-flex !important;
    align-items: center !important;

    height: 28px !important;
    min-height: 28px !important;
    max-height: 28px !important;
}


/* Keep each context text item vertically centred too. */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-context
.pm-main-header-stage,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-context
.pm-main-header-round,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-context-separator {
    display: inline-flex !important;
    align-items: center !important;

    height: 28px !important;
    min-height: 28px !important;
    max-height: 28px !important;
}


/* ---------------------------------------------------------------
   MOBILE
--------------------------------------------------------------- */

@media (max-width: 760px) {

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-league,
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-league-context,
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-league-context
    .pm-main-header-stage,
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-league-context
    .pm-main-header-round,
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-league-context-separator {
        height: 24px !important;
        min-height: 24px !important;
        max-height: 24px !important;

        align-items: center !important;
    }
}

/* PM TWEAK: text boxes match identity control height 2026-08-25 END */

/* PM TWEAK: phase round font matches league 2026-08-25 START */

/*
 * Match phase / round / separator font-size to league name.
 *
 * Keep hierarchy through font-weight only:
 * - league = strongest
 * - round  = medium/strong
 * - phase  = lighter
 */

/* Desktop */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-context
.pm-main-header-stage,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-context
.pm-main-header-round,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-context-separator {
    font-size: 11.5px !important;
}


/* Mobile */
@media (max-width: 760px) {

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-league-context
    .pm-main-header-stage,
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-league-context
    .pm-main-header-round,
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-league-context-separator {
        font-size: 10px !important;
    }
}


/* Very narrow mobile: match existing league-name size. */
@media (max-width: 420px) {

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-league-context
    .pm-main-header-stage,
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-league-context
    .pm-main-header-round,
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-league-context-separator {
        font-size: 9.5px !important;
    }
}

/* PM TWEAK: phase round font matches league 2026-08-25 END */

/* PM FIX: phase round use actual league font Roboto 2026-08-25 START */

/*
 * Root-cause correction.
 *
 * includes/header.php currently forces Roboto globally using an
 * !important selector whose specificity beats the league-name
 * Quicksand declaration.
 *
 * The context selectors are more specific and were therefore
 * successfully forcing Quicksand, producing two genuinely
 * different rendered fonts in the same header.
 *
 * Match phase / separator / round to the ACTUAL league font:
 * Roboto.
 *
 * Existing equal font sizes and control heights remain unchanged.
 */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-context
.pm-main-header-stage,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-context
.pm-main-header-round,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-context-separator {
    font-family:
        "Roboto",
        Arial,
        Helvetica,
        sans-serif
        !important;

    font-weight: 700 !important;
    letter-spacing: 0.04px !important;
    line-height: 1 !important;
}


/*
 * Restore the intentional contextual colours.
 * The font mismatch — not the colour hierarchy — was the problem.
 */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-context
.pm-main-header-stage {
    color: rgba(255, 255, 255, 0.68) !important;
    opacity: 1 !important;
}

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-context
.pm-main-header-round {
    color: rgba(255, 255, 255, 0.88) !important;
    opacity: 1 !important;
}

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-context-separator {
    color: rgba(255, 255, 255, 0.42) !important;
    opacity: 1 !important;
}

/* PM FIX: phase round use actual league font Roboto 2026-08-25 END */

/* PM UX: full league phase round clickable underline 2026-08-25 START */

/*
 * League name + phase + round now form one league-page interaction.
 *
 * Hover/focus treatment:
 * - keep navy header untouched
 * - no plate / rectangle / background
 * - no hover border or shadow
 * - burgundy underline only
 */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-group
> .pm-main-header-league-link,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-group
> .pm-main-header-league-link:visited {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;

    min-width: 0 !important;
    height: 28px !important;
    min-height: 28px !important;
    max-height: 28px !important;

    gap: 6px !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;

    border: 0 !important;
    border-radius: 0 !important;

    box-shadow: none !important;
    outline: 0 !important;

    text-decoration: none !important;

    opacity: 1 !important;
    transform: none !important;

    cursor: pointer !important;
}


/*
 * Historical :has() hover styling must not recreate the
 * old league plate around the text.
 */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-group:has(
    > .pm-main-header-league-link:hover
),
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-group:has(
    > .pm-main-header-league-link:focus-visible
) {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;

    border: 0 !important;
    border-color: transparent !important;
    border-radius: 0 !important;

    box-shadow: none !important;
}


/* No box on the clickable text itself either. */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-group
> .pm-main-header-league-link:hover,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-group
> .pm-main-header-league-link:focus,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-group
> .pm-main-header-league-link:focus-visible {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;

    border: 0 !important;
    border-radius: 0 !important;

    box-shadow: none !important;
    outline: 0 !important;

    opacity: 1 !important;
    transform: none !important;

    text-decoration: none !important;
}


/*
 * Burgundy underline across league + phase + separator + round.
 * Preserve each element's existing text colour.
 */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-group
> .pm-main-header-league-link:hover
.pm-main-header-league,

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-group
> .pm-main-header-league-link:hover
.pm-main-header-stage,

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-group
> .pm-main-header-league-link:hover
.pm-main-header-round,

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-group
> .pm-main-header-league-link:hover
.pm-main-header-league-context-separator,

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-group
> .pm-main-header-league-link:focus-visible
.pm-main-header-league,

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-group
> .pm-main-header-league-link:focus-visible
.pm-main-header-stage,

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-group
> .pm-main-header-league-link:focus-visible
.pm-main-header-round,

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-group
> .pm-main-header-league-link:focus-visible
.pm-main-header-league-context-separator {
    text-decoration-line: underline !important;
    text-decoration-style: solid !important;
    text-decoration-color: #9d2235 !important;
    text-decoration-thickness: 2px !important;
    text-underline-offset: 3px !important;
    text-decoration-skip-ink: auto !important;
}


@media (max-width: 760px) {

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-league-group
    > .pm-main-header-league-link,
    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-league-group
    > .pm-main-header-league-link:visited {
        height: 24px !important;
        min-height: 24px !important;
        max-height: 24px !important;

        gap: 4px !important;
    }
}

/* PM UX: full league phase round clickable underline 2026-08-25 END */

/* PM TWEAK: country pill remove top bottom lines 2026-08-25 START */

/*
 * Keep country identity pill geometry and flag wash unchanged.
 *
 * Remove only the horizontal line effect:
 * - no top border
 * - no bottom border
 * - no inset top highlight
 * - no lower plate shadow
 *
 * Left/right border, radius, padding, dimensions and background remain.
 */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-country-group {
    border-top: 0 !important;
    border-bottom: 0 !important;

    box-shadow: none !important;
}

/* PM TWEAK: country pill remove top bottom lines 2026-08-25 END */

/* PM TWEAK: country identity pill border zero 2026-08-30 START */

/*
 * Correct target:
 * country flag + country-name identity pill in the main match-card header.
 *
 * Remove only its visible border.
 * Preserve flag wash, background, radius, dimensions, spacing and text.
 */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-country-group {
    border: 0 !important;
    border-color: transparent !important;
    border-radius: 3px !important;
}

/* PM TWEAK: country identity pill border zero 2026-08-30 END */

/* PM UX: continuous league hover underline 2026-08-25 START */

/*
 * UX goal:
 * Keep League + Phase + Round as one clickable group, but replace the
 * visually broken piece-by-piece text underline with one continuous
 * Prematcher accent line.
 *
 * No hover box, no hover plate, no hover background.
 * Only one uninterrupted #9d2235 underline.
 */

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-link,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-link:visited {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    text-decoration: none !important;
    background-image: none !important;
    box-shadow: none !important;
}


/* One continuous underline on the whole clickable text group. */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-link:hover,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-link:focus,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-link:focus-visible {
    text-decoration: none !important;

    background-image: linear-gradient(#9d2235, #9d2235) !important;
    background-repeat: no-repeat !important;
    background-size: 100% 1px !important;
    background-position: 0 calc(100% - 2px) !important;

    border-bottom: 0 !important;
    box-shadow: none !important;
}


/* Prevent fragment-level underline effects from breaking the line. */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-link:hover
.pm-main-header-league,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-link:hover
.pm-main-header-stage,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-link:hover
.pm-main-header-round,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-link:hover
.pm-main-header-league-context-separator,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-link:focus
.pm-main-header-league,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-link:focus
.pm-main-header-stage,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-link:focus
.pm-main-header-round,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-link:focus
.pm-main-header-league-context-separator,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-link:focus-visible
.pm-main-header-league,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-link:focus-visible
.pm-main-header-stage,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-link:focus-visible
.pm-main-header-round,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-link:focus-visible
.pm-main-header-league-context-separator {
    text-decoration: none !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
}

/* PM UX: continuous league hover underline 2026-08-25 END */


/* PM UX: phase round modern separator same grey 2026-08-25 START */

/*
 * Competition context format:
 *
 *     Regular Season  |  Round 20
 *
 * Phase and Round intentionally use the same restrained grey.
 * League name remains white.
 *
 * The pipe is lighter-weight to give a modern thin-divider appearance.
 */

/* Phase + Round: identical grey and visual weight. */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-context
.pm-main-header-stage,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-context
.pm-main-header-round {
    color: rgba(255, 255, 255, 0.72) !important;
    opacity: 1 !important;

    /* PM TWEAK: phase round font weight 400 2026-08-25 */
    font-weight: 400 !important;
}


/* Modern thin pipe separator. */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-context-separator {
    color: rgba(255, 255, 255, 0.72) !important;
    opacity: 1 !important;

    font-weight: 300 !important;

    margin-left: 1px !important;
    margin-right: 1px !important;

    text-shadow: none !important;
}


/*
 * Keep hover completely flat:
 * no plate, background, border or shadow.
 * Existing burgundy text underline remains responsible for feedback.
 */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-group:has(
    > .pm-main-header-league-link:hover
),
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-group:has(
    > .pm-main-header-league-link:focus-visible
) {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;

    border: 0 !important;
    box-shadow: none !important;
}

/* PM UX: phase round modern separator same grey 2026-08-25 END */

/* PM FIX: true continuous league hover underline 2026-08-25 START */

/*
 * Root cause:
 * historical fragment-level text-decoration selectors are more specific
 * than the first continuous-line override.
 *
 * Solution:
 * 1. neutralise fragment underlines using the exact structural scope;
 * 2. remove the previous link background-image line;
 * 3. draw ONE physical line with ::after across the complete link width.
 *
 * The link still contains:
 *     League Name  Phase | Round
 *
 * League logo remains outside this underline.
 */


/* ---------------------------------------------------------------
   LINK — PREPARE ONE CONTINUOUS LINE
--------------------------------------------------------------- */

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-group
> .pm-main-header-league-link,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-group
> .pm-main-header-league-link:visited {
    position: relative !important;

    background-image: none !important;
    box-shadow: none !important;

    text-decoration: none !important;
}


/* Disable the previous background-gradient underline. */
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-group
> .pm-main-header-league-link:hover,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-group
> .pm-main-header-league-link:focus,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-group
> .pm-main-header-league-link:focus-visible {
    background-image: none !important;

    text-decoration: none !important;
    text-decoration-line: none !important;

    border-bottom: 0 !important;
    box-shadow: none !important;
}


/* ---------------------------------------------------------------
   NEUTRALISE OLD FRAGMENTED TEXT UNDERLINES
--------------------------------------------------------------- */

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-group
> .pm-main-header-league-link:hover
.pm-main-header-league,

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-group
> .pm-main-header-league-link:hover
.pm-main-header-stage,

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-group
> .pm-main-header-league-link:hover
.pm-main-header-round,

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-group
> .pm-main-header-league-link:hover
.pm-main-header-league-context-separator,

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-group
> .pm-main-header-league-link:focus-visible
.pm-main-header-league,

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-group
> .pm-main-header-league-link:focus-visible
.pm-main-header-stage,

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-group
> .pm-main-header-league-link:focus-visible
.pm-main-header-round,

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-group
> .pm-main-header-league-link:focus-visible
.pm-main-header-league-context-separator {
    text-decoration: none !important;
    text-decoration-line: none !important;
    text-decoration-color: transparent !important;

    border-bottom: 0 !important;
    box-shadow: none !important;
}


/* ---------------------------------------------------------------
   ONE TRUE CONTINUOUS BURGUNDY LINE
--------------------------------------------------------------- */

.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-group
> .pm-main-header-league-link::after {
    content: "" !important;

    position: absolute !important;

    left: 0 !important;
    right: 0 !important;

    bottom: 5px !important;

    height: 1px !important;

    background: #9d2235 !important;

    border: 0 !important;
    border-radius: 0 !important;

    box-shadow: none !important;

    opacity: 0 !important;

    pointer-events: none !important;

    z-index: 2 !important;
}


.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-group
> .pm-main-header-league-link:hover::after,
.pm-match-card.pm-main-match-card:not(.pm-btts-premium)
.pm-main-header-league-group
> .pm-main-header-league-link:focus-visible::after {
    opacity: 1 !important;
}


/* Mobile keeps the line at the equivalent visual position. */
@media (max-width: 760px) {

    .pm-match-card.pm-main-match-card:not(.pm-btts-premium)
    .pm-main-header-league-group
    > .pm-main-header-league-link::after {
        bottom: 4px !important;
    }
}

/* PM FIX: true continuous league hover underline 2026-08-25 END */





/* PM ADD: main-card goal/card event UX 2026-08-22 START */

.pm-match-card.pm-main-match-card .pm-main-card-events-row {
    align-items: start;
    margin: 2px 0 7px;
}

.pm-match-card.pm-main-match-card
.pm-main-card-events-row
.pm-team-events {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    min-width: 0;
    min-height: 19px;
    gap: 4px;
}

.pm-match-card.pm-main-match-card
.pm-main-card-events-row
.pm-team-events.home {
    justify-content: center;
}

.pm-match-card.pm-main-match-card
.pm-main-card-events-row
.pm-team-events.away {
    justify-content: center;
}

.pm-match-card.pm-main-match-card
.pm-table-v2-events-row {
    display: grid;
    grid-template-columns:
        var(--pm-table-v2-rank-col)
        minmax(0, 1fr)
        var(--pm-table-v2-score-col)
        minmax(0, 1fr)
        var(--pm-table-v2-rank-col);
    column-gap: var(--pm-table-v2-gap);
    margin-top: 3px;
    margin-bottom: 7px;
}

.pm-match-card.pm-main-match-card
.pm-table-v2-events-row
.pm-team-events.home {
    grid-column: 2;
}

.pm-match-card.pm-main-match-card
.pm-table-v2-events-row
.pm-events-spacer {
    grid-column: 3;
}

.pm-match-card.pm-main-match-card
.pm-table-v2-events-row
.pm-team-events.away {
    grid-column: 4;
}

.pm-match-card.pm-main-match-card
.pm-team-event.pm-team-event-visual {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    min-height: 18px;
    padding: 2px 6px;
    box-sizing: border-box;
    border: 1px solid #dbe6f3;
    border-radius: 6px;
    background: #f7f9fc;
    color: #13294b;
    font-family: 'Roboto', Arial, Helvetica, sans-serif;
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
    box-shadow: 0 1px 2px rgba(19, 41, 75, 0.06);
}

.pm-match-card.pm-main-match-card
.pm-team-event-icon {
    position: relative;
    display: inline-block;
    flex: 0 0 auto;
    box-sizing: border-box;
}

/* PM FIX: use uploaded goal image in main-card events 2026-08-25 START */
.pm-match-card.pm-main-match-card
.pm-team-event-icon-goal {
    width: 10px;
    height: 10px;
    border: 0;
    border-radius: 0;
    background-color: transparent;
    background-image: url("/img/goal_img.png");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
}

.pm-match-card.pm-main-match-card
.pm-team-event-icon-goal::after {
    content: none;
    display: none;
}
/* PM FIX: use uploaded goal image in main-card events 2026-08-25 END */

.pm-match-card.pm-main-match-card
.pm-team-event-icon-yellow,
.pm-match-card.pm-main-match-card
.pm-team-event-icon-red {
    width: 7px;
    height: 10px;
    border-radius: 1px;
    box-shadow: 0 0 0 1px rgba(19, 41, 75, 0.12);
}

.pm-match-card.pm-main-match-card
.pm-team-event-icon-yellow {
    background: #f2c94c;
}

.pm-match-card.pm-main-match-card
.pm-team-event-icon-red {
    background: #9d2235;
}

.pm-match-card.pm-main-match-card
.pm-team-event-minute {
    color: #13294b;
    font-variant-numeric: tabular-nums;
}

@media (max-width: 700px) {
    .pm-match-card.pm-main-match-card
    .pm-team-event.pm-team-event-visual {
        min-height: 17px;
        padding: 2px 4px;
        gap: 3px;
        font-size: 9px;
    }

    .pm-match-card.pm-main-match-card
    .pm-main-card-events-row
    .pm-team-events {
        gap: 3px;
    }
}

/* PM PERF: defer off-screen main-card rendering 2026-08-30 START */

/*
|--------------------------------------------------------------------------
| Main-card viewport rendering
|--------------------------------------------------------------------------
| Today/Home can contain hundreds of full match cards.
|
| content-visibility:auto keeps every card in the DOM but allows the browser
| to skip layout/paint work for cards far outside the viewport.
|
| IMPORTANT:
| - scoped to pm-main-match-card only
| - match-history cards do not receive pm-main-match-card
| - no AJAX behaviour changes
| - no favourite behaviour changes
| - no live-score polling changes
| - no dropdown behaviour changes
|--------------------------------------------------------------------------
*/
@supports (content-visibility: auto) {
    .pm-match-card.pm-main-match-card {
        content-visibility: auto;
        contain-intrinsic-block-size: auto 360px;
    }
}

/*
 * Mobile cards naturally use more vertical space.
 * Use a closer initial placeholder to reduce scrollbar/layout adjustment
 * while an off-screen card becomes visible.
 */
@media (max-width: 700px) {
    @supports (content-visibility: auto) {
        .pm-match-card.pm-main-match-card {
            contain-intrinsic-block-size: auto 430px;
        }
    }
}

/* PM PERF: defer off-screen main-card rendering 2026-08-30 END */

/* PM ADD: main-card goal/card event UX 2026-08-22 END */

