/*
 * FBL24 clean light UI.
 * Scope: shared header + Home dashboard only.
 */

:root {
    --fbl24-green: #07943f;
    --fbl24-green-dark: #057a35;
    --fbl24-green-soft: #e9f8ee;
    --fbl24-blue: #2563eb;
    --fbl24-red: #ef233c;
    --fbl24-navy: #07111f;
    --fbl24-muted: #65758b;
    --fbl24-soft: #eef3f8;
    --fbl24-line: #dce5ef;
    --fbl24-card: #ffffff;
    --fbl24-bg: #f6f8fb;
    --fbl24-radius: 18px;
    --fbl24-shadow: 0 18px 42px rgba(15, 23, 42, .08);
    --fbl24-shadow-soft: 0 10px 24px rgba(15, 23, 42, .06);
}

html {
    max-width: 100%;
    overflow-x: hidden;
}

body.fbl24-clean-ui {
    min-width: 0;
    max-width: 100%;
    overflow-x: hidden;
    background: var(--fbl24-bg) !important;
    color: var(--fbl24-navy);
    font-family: Outfit, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body.fbl24-clean-ui *,
body.fbl24-clean-ui *::before,
body.fbl24-clean-ui *::after {
    box-sizing: border-box;
}

.hidden {
    display: none !important;
}

.flex {
    display: flex !important;
}

.screen-reader-text,
.fbl24-skip-link:not(:focus) {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.fbl24-skip-link:focus {
    position: fixed;
    top: 10px;
    left: 10px;
    z-index: 100000;
    padding: 10px 14px;
    border-radius: 12px;
    background: #fff;
    color: var(--fbl24-navy);
    font-weight: 800;
    text-decoration: none;
    box-shadow: var(--fbl24-shadow);
}

a {
    color: inherit;
}

/* Header */
.fbl24-main-header {
    position: sticky;
    top: var(--wp-admin--admin-bar--height, 0px);
    z-index: 9990;
    width: 100%;
    background: rgba(255, 255, 255, .96);
    border-bottom: 1px solid var(--fbl24-line);
    box-shadow: 0 8px 24px rgba(15, 23, 42, .05);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

.fbl24-header-inner {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr) auto;
    align-items: center;
    gap: 28px;
    width: min(100%, 1500px);
    min-height: 76px;
    margin: 0 auto;
    padding: 0 28px;
}

.fbl24-brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--fbl24-navy);
    text-decoration: none;
    min-width: 0;
}

.fbl24-brand-logo {
    width: 42px;
    height: 42px;
    object-fit: contain;
    border-radius: 12px;
    flex: 0 0 auto;
}

.fbl24-brand-name {
    color: var(--fbl24-navy);
    font-family: Outfit, system-ui, sans-serif;
    font-size: 31px;
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1;
    white-space: nowrap;
}

.fbl24-brand-name span {
    color: var(--fbl24-red);
}

.fbl24-primary-nav {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 28px;
    min-width: 0;
}

.fbl24-nav-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    color: var(--fbl24-navy);
    font-size: 15px;
    font-weight: 850;
    text-decoration: none;
    white-space: nowrap;
}

.fbl24-nav-link i {
    font-size: 13px;
}

.fbl24-live-dot {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: #ff4b5f;
    box-shadow: 0 0 0 6px rgba(239, 35, 60, .09);
}

.fbl24-nav-link.is-active {
    color: var(--fbl24-green);
}

.fbl24-nav-link.is-active::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 2px;
    left: 0;
    height: 3px;
    border-radius: 999px;
    background: var(--fbl24-green);
}

.fbl24-header-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    min-width: 0;
}

.fbl24-header-search {
    display: flex;
    align-items: center;
    width: min(300px, 24vw);
    height: 48px;
    border: 1px solid var(--fbl24-line);
    border-radius: 13px;
    background: #fff;
    box-shadow: var(--fbl24-shadow-soft);
}

.fbl24-header-search input {
    width: 100%;
    min-width: 0;
    height: 100%;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--fbl24-navy);
    padding: 0 12px 0 16px;
    font: inherit;
    font-size: 14px;
}

.fbl24-header-search button,
.fbl24-search-icon,
.fbl24-menu-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: 12px;
    background: transparent;
    color: var(--fbl24-navy);
    cursor: pointer;
    text-decoration: none;
}

.fbl24-search-icon {
    display: none;
    border: 1px solid var(--fbl24-line);
    background: #fff;
}

.fbl24-header-alert {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    color: var(--fbl24-navy);
    text-decoration: none;
}

.fbl24-header-alert span {
    position: absolute;
    top: 8px;
    right: 7px;
    width: 8px;
    height: 8px;
    border: 2px solid #fff;
    border-radius: 50%;
    background: var(--fbl24-green);
}

.fbl24-auth-logged-out,
.fbl24-account {
    align-items: center;
    gap: 10px;
}

.fbl24-login-link,
.fbl24-join-link,
.fbl24-profile-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 24px;
    border: 1px solid var(--fbl24-green);
    border-radius: 12px;
    background: #fff;
    color: var(--fbl24-green-dark);
    font-weight: 850;
    text-decoration: none;
    cursor: pointer;
}

.fbl24-join-link {
    background: var(--fbl24-green);
    color: #fff;
    box-shadow: 0 12px 24px rgba(7, 148, 63, .18);
}

.fbl24-profile-btn {
    gap: 10px;
    border-color: var(--fbl24-line);
    color: var(--fbl24-navy);
}

.fbl24-avatar,
.fbl24-dropdown-avatar,
.fbl24-mobile-profile img {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    object-fit: cover;
}

.fbl24-profile-dropdown {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    width: 260px;
    border: 1px solid var(--fbl24-line);
    border-radius: 18px;
    background: #fff;
    box-shadow: var(--fbl24-shadow);
    opacity: 0;
    transform: translateY(8px);
    pointer-events: none;
    transition: .18s ease;
    z-index: 10000;
    overflow: hidden;
}

.fbl24-account {
    position: relative;
}

.fbl24-profile-dropdown.is-open {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.fbl24-dropdown-head {
    display: flex;
    gap: 10px;
    padding: 14px;
    border-bottom: 1px solid var(--fbl24-line);
}

.fbl24-dropdown-kicker {
    margin: 0 0 3px;
    color: var(--fbl24-muted);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.fbl24-dropdown-name {
    margin: 0;
    font-size: 16px;
}

.fbl24-dropdown-menu {
    margin: 0;
    padding: 8px;
    list-style: none;
}

.fbl24-dropdown-menu a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 10px;
    border-radius: 12px;
    color: var(--fbl24-navy);
    font-weight: 750;
    text-decoration: none;
}

.fbl24-dropdown-menu a:hover {
    background: var(--fbl24-green-soft);
    color: var(--fbl24-green-dark);
}

.fbl24-dropdown-menu a.is-danger {
    color: var(--fbl24-red);
}

.fbl24-menu-btn {
    display: none;
    border: 1px solid var(--fbl24-line);
    background: #fff;
}

.fbl24-mobile-menu {
    position: fixed;
    inset: calc(var(--wp-admin--admin-bar--height, 0px) + 76px) 12px auto;
    z-index: 9989;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-10px);
    transition: .18s ease;
}

.fbl24-mobile-menu.is-open {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

.fbl24-mobile-panel {
    display: grid;
    gap: 14px;
    max-width: 520px;
    margin-left: auto;
    padding: 16px;
    border: 1px solid var(--fbl24-line);
    border-radius: 20px;
    background: #fff;
    box-shadow: var(--fbl24-shadow);
}

.fbl24-mobile-search {
    display: flex;
    height: 46px;
    border: 1px solid var(--fbl24-line);
    border-radius: 13px;
    overflow: hidden;
}

.fbl24-mobile-search input {
    flex: 1;
    min-width: 0;
    border: 0;
    outline: 0;
    padding: 0 12px;
}

.fbl24-mobile-search button {
    width: 46px;
    border: 0;
    background: var(--fbl24-green);
    color: #fff;
}

.fbl24-mobile-nav,
.fbl24-mobile-auth-grid,
.fbl24-mobile-account-grid {
    display: grid;
    gap: 8px;
}

.fbl24-mobile-link,
.fbl24-mobile-auth-link,
.fbl24-mobile-account-link {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 44px;
    padding: 0 12px;
    border-radius: 12px;
    background: var(--fbl24-soft);
    color: var(--fbl24-navy);
    font-weight: 800;
    text-decoration: none;
}

.fbl24-mobile-link.is-active,
.fbl24-mobile-auth-link.is-primary {
    background: var(--fbl24-green);
    color: #fff;
}

.fbl24-mobile-profile {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
    color: var(--fbl24-navy);
    font-weight: 850;
}

/* Home layout */
.fbl24-home-page {
    background: linear-gradient(180deg, #fbfdff 0%, #f2f6fb 100%);
}

.fbl24-home {
    width: min(100%, 1500px);
    margin: 0 auto;
    padding: 28px 28px 90px;
}

.fbl24-home-grid {
    display: grid;
    grid-template-columns: 250px minmax(0, 1fr) 340px;
    gap: 28px;
    align-items: start;
}

.fbl24-home-left,
.fbl24-home-right {
    position: sticky;
    top: calc(var(--wp-admin--admin-bar--height, 0px) + 104px);
    display: grid;
    gap: 22px;
}

.fbl24-side-title,
.fbl24-section-head,
.fbl24-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.fbl24-side-title {
    justify-content: flex-start;
    color: var(--fbl24-navy);
    font-size: 18px;
    font-weight: 850;
}

.fbl24-side-title i,
.fbl24-section-head i,
.fbl24-panel-head i {
    color: var(--fbl24-green);
}

.fbl24-competition-list {
    display: grid;
    gap: 9px;
}

.fbl24-competition-row {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    min-height: 58px;
    padding: 9px 12px;
    border: 1px solid var(--fbl24-line);
    border-radius: 10px;
    background: #fff;
    color: var(--fbl24-navy);
    font-size: 15px;
    font-weight: 750;
    text-decoration: none;
    box-shadow: var(--fbl24-shadow-soft);
}

.fbl24-competition-row:hover {
    border-color: #b9dec7;
    color: var(--fbl24-green-dark);
}

.fbl24-competition-row span:nth-child(2) {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fbl24-competition-logo {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 10px;
    background: var(--fbl24-green-soft);
    color: var(--fbl24-green);
}

.fbl24-side-promo {
    position: relative;
    display: grid;
    align-content: start;
    min-height: 350px;
    padding: 26px 22px;
    overflow: hidden;
    border-radius: 18px;
    background:
        radial-gradient(circle at 75% 82%, rgba(7, 148, 63, .24), transparent 44%),
        linear-gradient(145deg, #ffffff 0%, #eef8f1 100%);
    border: 1px solid #d8eadf;
    color: var(--fbl24-navy);
    text-decoration: none;
    box-shadow: var(--fbl24-shadow);
}

.fbl24-side-promo strong {
    max-width: 170px;
    font-size: 24px;
    line-height: 1.15;
}

.fbl24-side-promo span {
    max-width: 165px;
    margin-top: 18px;
    color: var(--fbl24-muted);
    font-weight: 600;
    line-height: 1.55;
}

.fbl24-side-promo i {
    position: absolute;
    right: 20px;
    bottom: 24px;
    color: rgba(7, 148, 63, .18);
    font-size: 118px;
    transform: rotate(-18deg);
}

.fbl24-home-center {
    display: grid;
    gap: 28px;
    min-width: 0;
}

.fbl24-date-strip-wrap {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) 48px;
    gap: 14px;
    align-items: center;
}

.fbl24-date-strip {
    display: grid;
    grid-template-columns: repeat(7, minmax(94px, 1fr));
    gap: 14px;
    min-width: 0;
}

.fbl24-date-arrow,
.fbl24-date-pill {
    border: 1px solid var(--fbl24-line);
    background: #fff;
    color: var(--fbl24-navy);
    box-shadow: var(--fbl24-shadow-soft);
    cursor: pointer;
}

.fbl24-date-arrow {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    font-size: 16px;
}

.fbl24-date-pill {
    display: grid;
    place-items: center;
    min-height: 56px;
    border-radius: 12px;
    font-weight: 800;
    line-height: 1.2;
}

.fbl24-date-pill small {
    color: var(--fbl24-muted);
    font-size: 12px;
    font-weight: 750;
}

.fbl24-date-pill strong {
    font-size: 14px;
    font-weight: 850;
}

.fbl24-date-pill.is-active {
    border-color: var(--fbl24-green);
    background: var(--fbl24-green);
    color: #fff;
    box-shadow: 0 14px 28px rgba(7, 148, 63, .22);
}

.fbl24-date-pill.is-active small,
.fbl24-date-pill.is-active strong {
    color: #fff;
}

.fbl24-section-head h1,
.fbl24-section-head h2,
.fbl24-panel-head h2 {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    color: var(--fbl24-navy);
    font-size: 22px;
    font-weight: 850;
}

.fbl24-section-head a,
.fbl24-panel-head a {
    color: var(--fbl24-green-dark);
    font-size: 14px;
    font-weight: 800;
    text-decoration: none;
}

.fbl24-featured,
.fbl24-matches {
    display: grid;
    gap: 14px;
}

.fbl24-featured-card {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 180px minmax(0, 1fr);
    align-items: center;
    gap: 24px;
    min-height: 165px;
    padding: 24px 32px;
    overflow: hidden;
    border: 1px solid #cfe8d8;
    border-left: 3px solid var(--fbl24-green);
    border-right: 3px solid var(--fbl24-green);
    border-radius: 18px;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, .94), rgba(255, 255, 255, .78)),
        radial-gradient(circle at 50% 130%, rgba(7, 148, 63, .18), transparent 44%),
        linear-gradient(135deg, #ffffff, #eef7f2);
    box-shadow: var(--fbl24-shadow);
}

.fbl24-featured-card::before {
    content: "";
    position: absolute;
    inset: 16px;
    border-radius: 16px;
    background:
        linear-gradient(to right, transparent 49%, rgba(7, 148, 63, .12) 49%, rgba(7, 148, 63, .12) 51%, transparent 51%),
        linear-gradient(to bottom, transparent 49%, rgba(7, 148, 63, .08) 49%, rgba(7, 148, 63, .08) 51%, transparent 51%);
    opacity: .35;
    pointer-events: none;
}

.fbl24-featured-card > * {
    position: relative;
    z-index: 1;
}

.fbl24-featured-team,
.fbl24-match-team {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
}

.fbl24-featured-team.is-away {
    flex-direction: row-reverse;
    text-align: right;
}

.fbl24-team-logo {
    width: 62px;
    height: 62px;
    flex: 0 0 auto;
    object-fit: contain;
    border-radius: 50%;
    background: #fff;
    border: 1px solid var(--fbl24-line);
    padding: 5px;
}

.fbl24-featured-team strong,
.fbl24-match-team strong {
    display: block;
    overflow: hidden;
    color: var(--fbl24-navy);
    font-size: 20px;
    font-weight: 850;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fbl24-featured-score {
    display: grid;
    justify-items: center;
    gap: 7px;
    color: var(--fbl24-navy);
    text-align: center;
}

.fbl24-live-pill,
.fbl24-status-pill {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 24px;
    padding: 0 9px;
    border-radius: 999px;
    background: var(--fbl24-green);
    color: #fff;
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
}

.fbl24-featured-score strong {
    font-size: 38px;
    line-height: 1;
}

.fbl24-featured-score span {
    color: var(--fbl24-muted);
    font-size: 13px;
    font-weight: 750;
}

.fbl24-home-toolbar {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) auto;
    gap: 12px;
    align-items: center;
}

.fbl24-home-search {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 50px;
    padding: 0 14px;
    border: 1px solid var(--fbl24-line);
    border-radius: 14px;
    background: #fff;
    box-shadow: var(--fbl24-shadow-soft);
}

.fbl24-home-search i {
    color: var(--fbl24-muted);
}

.fbl24-home-search input {
    width: 100%;
    min-width: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--fbl24-navy);
    font: inherit;
    font-size: 14px;
}

.fbl24-home-filters {
    display: flex;
    gap: 8px;
    overflow-x: auto;
}

.fbl24-home-filters button {
    min-height: 42px;
    padding: 0 15px;
    border: 1px solid var(--fbl24-line);
    border-radius: 12px;
    background: #fff;
    color: var(--fbl24-muted);
    font-weight: 850;
    cursor: pointer;
    white-space: nowrap;
}

.fbl24-home-filters button.is-active {
    background: var(--fbl24-green);
    border-color: var(--fbl24-green);
    color: #fff;
}

.fbl24-match-list {
    display: grid;
    gap: 10px;
}

.fbl24-league-group {
    display: grid;
    gap: 10px;
}

.fbl24-league-title {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 8px 0 0;
    color: var(--fbl24-navy);
    font-weight: 850;
}

.fbl24-league-title img {
    width: 22px;
    height: 22px;
    object-fit: contain;
}

.fbl24-match-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 130px minmax(0, 1fr) 42px;
    align-items: center;
    gap: 16px;
    min-height: 88px;
    padding: 14px 18px;
    border: 1px solid var(--fbl24-line);
    border-radius: 15px;
    background: #fff;
    color: var(--fbl24-navy);
    text-decoration: none;
    box-shadow: var(--fbl24-shadow-soft);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.fbl24-match-row:hover {
    transform: translateY(-2px);
    border-color: #b8dec7;
    box-shadow: var(--fbl24-shadow);
}

.fbl24-match-team.is-away {
    flex-direction: row-reverse;
    text-align: right;
}

.fbl24-match-team .fbl24-team-logo {
    width: 42px;
    height: 42px;
}

.fbl24-match-team strong {
    font-size: 15px;
}

.fbl24-match-center {
    display: grid;
    justify-items: center;
    gap: 4px;
    text-align: center;
}

.fbl24-match-league {
    color: var(--fbl24-muted);
    font-size: 12px;
    font-weight: 750;
}

.fbl24-match-score {
    color: var(--fbl24-navy);
    font-size: 27px;
    font-weight: 900;
    line-height: 1;
}

.fbl24-match-time {
    color: var(--fbl24-muted);
    font-size: 12px;
    font-weight: 750;
}

.fbl24-match-row.is-live .fbl24-status-pill,
.fbl24-match-row.is-live .fbl24-match-score {
    color: var(--fbl24-green);
}

.fbl24-match-row.is-upcoming .fbl24-status-pill {
    background: #eaf2ff;
    color: var(--fbl24-blue);
}

.fbl24-match-row.is-finished .fbl24-status-pill {
    background: #edf8f0;
    color: var(--fbl24-green-dark);
}

.fbl24-bell-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--fbl24-green);
    cursor: pointer;
}

.fbl24-panel {
    padding: 20px;
    border: 1px solid var(--fbl24-line);
    border-radius: 16px;
    background: #fff;
    box-shadow: var(--fbl24-shadow);
}

.fbl24-panel-head {
    margin-bottom: 14px;
}

.fbl24-panel-head h2 {
    font-size: 20px;
}

.fbl24-table {
    width: 100%;
    border-collapse: collapse;
    color: var(--fbl24-navy);
    font-size: 13px;
}

.fbl24-table th {
    color: var(--fbl24-muted);
    font-size: 11px;
    font-weight: 800;
    text-align: left;
}

.fbl24-table th,
.fbl24-table td {
    padding: 9px 4px;
    border-bottom: 1px solid #edf1f6;
}

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

.fbl24-mini-club,
.fbl24-scorer-row,
.fbl24-news-row {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.fbl24-mini-club img,
.fbl24-scorer-row img {
    width: 24px;
    height: 24px;
    object-fit: contain;
    border-radius: 50%;
}

.fbl24-mini-club span,
.fbl24-scorer-row strong,
.fbl24-news-row strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fbl24-scorer-list,
.fbl24-news-list {
    display: grid;
    gap: 12px;
}

.fbl24-scorer-row {
    display: grid;
    grid-template-columns: 20px 34px minmax(0, 1fr) auto;
    color: var(--fbl24-navy);
    font-size: 13px;
}

.fbl24-scorer-row small {
    display: block;
    color: var(--fbl24-muted);
    font-size: 12px;
}

.fbl24-scorer-goals {
    color: var(--fbl24-navy);
    font-weight: 900;
}

.fbl24-news-row {
    align-items: flex-start;
    color: var(--fbl24-navy);
    text-decoration: none;
}

.fbl24-news-row img {
    width: 74px;
    height: 54px;
    flex: 0 0 auto;
    object-fit: cover;
    border-radius: 10px;
    background: var(--fbl24-soft);
}

.fbl24-news-row span {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.fbl24-news-row strong {
    display: block;
    font-size: 13px;
    line-height: 1.28;
}

.fbl24-news-row small {
    color: var(--fbl24-green-dark);
    font-size: 12px;
    font-weight: 750;
}

.fbl24-card-empty,
.fbl24-side-empty {
    display: grid;
    place-items: center;
    gap: 8px;
    min-height: 120px;
    padding: 22px;
    border: 1px dashed var(--fbl24-line);
    border-radius: 16px;
    background: #fff;
    color: var(--fbl24-muted);
    text-align: center;
    font-weight: 750;
}

.fbl24-side-empty {
    min-height: 90px;
}

.is-hidden {
    display: none !important;
}

.fbl24-home-loading {
    display: grid;
    gap: 12px;
}

.fbl24-home-loading span {
    display: block;
    height: 88px;
    border-radius: 15px;
    background: linear-gradient(90deg, #eef3f8, #ffffff, #eef3f8);
    background-size: 220% 100%;
    animation: fbl24Loading 1.15s infinite;
    border: 1px solid var(--fbl24-line);
}

@keyframes fbl24Loading {
    0% { background-position: 0% 0; }
    100% { background-position: -220% 0; }
}

/* Live Scores page */
.fbl24-live-page {
    min-height: 80vh;
    background: linear-gradient(180deg, #fbfdff 0%, #f2f6fb 100%);
}

.fbl24-live {
    width: min(100%, 1500px);
    margin: 0 auto;
    padding: 34px 28px 90px;
}

.fbl24-live-grid {
    display: grid;
    grid-template-columns: 250px minmax(0, 1fr) 300px;
    gap: 28px;
    align-items: start;
}

.fbl24-live-left,
.fbl24-live-right {
    position: sticky;
    top: calc(var(--wp-admin--admin-bar--height, 0px) + 110px);
    display: grid;
    gap: 18px;
}

.fbl24-live-center {
    display: grid;
    gap: 18px;
    min-width: 0;
}

.fbl24-live-panel,
.fbl24-live-titlebar,
.fbl24-live-chipbar,
.fbl24-live-group,
.fbl24-live-empty {
    border: 1px solid var(--fbl24-line);
    border-radius: 16px;
    background: #fff;
    box-shadow: var(--fbl24-shadow-soft);
}

.fbl24-live-panel {
    padding: 16px;
}

.fbl24-live-titlebar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 20px;
}

.fbl24-live-titlebar h1 {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    color: var(--fbl24-navy);
    font-size: 22px;
    font-weight: 900;
}

.fbl24-live-titlebar h1 i {
    color: var(--fbl24-green);
}

.fbl24-live-title-actions {
    display: flex;
    align-items: center;
    gap: 18px;
}

.fbl24-live-title-actions button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 0;
    background: transparent;
    color: var(--fbl24-navy);
    font-weight: 750;
    cursor: pointer;
}

.fbl24-live-toggle {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--fbl24-muted);
    font-size: 14px;
    font-weight: 700;
}

.fbl24-live-toggle input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.fbl24-live-toggle i {
    position: relative;
    width: 38px;
    height: 22px;
    border-radius: 999px;
    background: #d9e1ec;
}

.fbl24-live-toggle i::after {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 2px 6px rgba(15, 23, 42, .18);
    transition: .18s ease;
}

.fbl24-live-toggle input:checked + i {
    background: var(--fbl24-green);
}

.fbl24-live-toggle input:checked + i::after {
    transform: translateX(16px);
}

.fbl24-live-chipbar {
    display: flex;
    gap: 10px;
    padding: 14px;
    overflow-x: auto;
}

.fbl24-live-chipbar button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 42px;
    padding: 0 18px;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: #34445a;
    font-weight: 800;
    cursor: pointer;
    white-space: nowrap;
}

.fbl24-live-chipbar button.is-active {
    background: var(--fbl24-green);
    color: #fff;
    box-shadow: 0 12px 24px rgba(7, 148, 63, .2);
}

.fbl24-live-side-row,
.fbl24-live-comp-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 44px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--fbl24-navy);
    font: inherit;
    font-weight: 750;
    cursor: pointer;
    padding: 0 12px;
    text-decoration: none;
}

.fbl24-live-side-row + .fbl24-live-side-row,
.fbl24-live-comp-row + .fbl24-live-comp-row {
    border-top: 1px solid #edf1f6;
}

.fbl24-live-side-row span,
.fbl24-live-comp-row span {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.fbl24-live-side-row i,
.fbl24-live-comp-row i {
    color: #6b7a90;
    width: 18px;
}

.fbl24-live-side-row strong,
.fbl24-live-comp-row strong {
    color: var(--fbl24-green);
    font-weight: 900;
}

.fbl24-live-side-row.is-active,
.fbl24-live-comp-row.is-active {
    background: var(--fbl24-green-soft);
    color: var(--fbl24-green-dark);
}

.fbl24-live-side-row.is-active i,
.fbl24-live-comp-row.is-active i {
    color: var(--fbl24-green);
}

.fbl24-live-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
}

.fbl24-live-panel-head h2 {
    margin: 0;
    color: var(--fbl24-navy);
    font-size: 17px;
    font-weight: 900;
}

.fbl24-live-panel-head a {
    color: var(--fbl24-green-dark);
    font-size: 13px;
    font-weight: 800;
    text-decoration: underline;
}

.fbl24-live-promo,
.fbl24-live-companion {
    position: relative;
    display: grid;
    gap: 12px;
    min-height: 270px;
    overflow: hidden;
    padding: 24px 22px;
    border: 1px solid #d8eadf;
    border-radius: 18px;
    background:
        radial-gradient(circle at 82% 82%, rgba(7, 148, 63, .24), transparent 42%),
        linear-gradient(145deg, #ffffff, #eff8f3);
    color: var(--fbl24-navy);
    text-decoration: none;
    box-shadow: var(--fbl24-shadow-soft);
}

.fbl24-live-promo strong,
.fbl24-live-companion b {
    max-width: 190px;
    font-size: 24px;
    line-height: 1.12;
}

.fbl24-live-promo span {
    max-width: 190px;
    color: var(--fbl24-muted);
    line-height: 1.5;
    font-weight: 600;
}

.fbl24-live-promo em,
.fbl24-live-companion em,
.fbl24-live-alert-card a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: max-content;
    min-height: 38px;
    padding: 0 16px;
    border-radius: 9px;
    background: var(--fbl24-green);
    color: #fff;
    font-style: normal;
    font-weight: 850;
    text-decoration: none;
}

.fbl24-live-promo > i {
    position: absolute;
    right: 22px;
    bottom: 18px;
    color: rgba(7, 148, 63, .18);
    font-size: 112px;
}

.fbl24-live-companion {
    min-height: 160px;
    background:
        radial-gradient(circle at 82% 70%, rgba(7, 148, 63, .35), transparent 44%),
        linear-gradient(135deg, #0d1728, #152135);
    color: #fff;
}

.fbl24-live-companion strong {
    font-size: 25px;
    font-weight: 950;
}

.fbl24-live-companion strong span {
    color: #22c55e;
}

.fbl24-live-groups {
    display: grid;
    gap: 12px;
}

.fbl24-live-group {
    overflow: hidden;
}

.fbl24-live-group-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 12px;
    min-height: 52px;
    padding: 0 18px;
    border-bottom: 1px solid #edf1f6;
    color: var(--fbl24-navy);
    font-weight: 900;
}

.fbl24-live-group-head span:first-child {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.fbl24-live-group-head img {
    width: 22px;
    height: 22px;
    object-fit: contain;
}

.fbl24-live-group-count {
    color: var(--fbl24-red);
    font-weight: 900;
}

.fbl24-live-group-toggle {
    border: 0;
    background: transparent;
    color: #53647a;
    cursor: pointer;
}

.fbl24-live-match-row {
    display: grid;
    grid-template-columns: 34px 58px minmax(0, 1fr) 92px minmax(0, 1fr) 42px;
    align-items: center;
    gap: 12px;
    min-height: 76px;
    padding: 0 18px;
    color: var(--fbl24-navy);
    text-decoration: none;
}

.fbl24-live-match-row + .fbl24-live-match-row {
    border-top: 1px solid #edf1f6;
}

.fbl24-live-star,
.fbl24-live-alert {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: #8ca0b8;
}

.fbl24-live-alert {
    color: var(--fbl24-green);
}

.fbl24-live-minute {
    color: var(--fbl24-green);
    font-weight: 950;
}

.fbl24-live-team {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    font-weight: 850;
}

.fbl24-live-team.is-away {
    flex-direction: row-reverse;
    text-align: right;
}

.fbl24-live-team img {
    width: 34px;
    height: 34px;
    flex: 0 0 auto;
    object-fit: contain;
    border-radius: 50%;
}

.fbl24-live-team span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fbl24-live-score {
    display: grid;
    justify-items: center;
    gap: 4px;
    text-align: center;
}

.fbl24-live-score strong {
    min-width: 58px;
    padding: 5px 11px;
    border: 1px solid #aee8bf;
    border-radius: 9px;
    background: #effbf3;
    color: var(--fbl24-green-dark);
    font-size: 20px;
    line-height: 1;
}

.fbl24-live-score small {
    min-height: 18px;
    padding: 2px 7px;
    border-radius: 999px;
    background: var(--fbl24-green);
    color: #fff;
    font-size: 9px;
    font-weight: 900;
    text-transform: uppercase;
}

.fbl24-live-loading {
    display: grid;
    gap: 12px;
}

.fbl24-live-loading span {
    display: block;
    height: 92px;
    border: 1px solid var(--fbl24-line);
    border-radius: 16px;
    background: linear-gradient(90deg, #eef3f8, #fff, #eef3f8);
    background-size: 220% 100%;
    animation: fbl24Loading 1.15s infinite;
}

.fbl24-live-empty {
    display: grid;
    place-items: center;
    gap: 8px;
    min-height: 220px;
    padding: 26px;
    color: var(--fbl24-muted);
    text-align: center;
}

.fbl24-live-empty i {
    color: var(--fbl24-green);
    font-size: 34px;
}

.fbl24-live-empty h2 {
    margin: 0;
    color: var(--fbl24-navy);
    font-size: 22px;
}

.fbl24-live-empty p {
    margin: 0;
}

.fbl24-live-viewall {
    justify-self: center;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    min-width: 300px;
    min-height: 48px;
    border: 1px solid var(--fbl24-line);
    border-radius: 10px;
    background: #fff;
    color: var(--fbl24-navy);
    font-weight: 850;
    text-decoration: none;
    box-shadow: var(--fbl24-shadow-soft);
}

.fbl24-live-scorer-list,
.fbl24-live-popular {
    display: grid;
    gap: 12px;
}

.fbl24-live-scorer-row,
.fbl24-live-popular-row {
    display: grid;
    grid-template-columns: 24px 36px minmax(0, 1fr) auto;
    align-items: center;
    gap: 9px;
    color: var(--fbl24-navy);
    text-decoration: none;
    font-size: 13px;
}

.fbl24-live-popular-row {
    grid-template-columns: 28px minmax(0, 1fr) auto;
}

.fbl24-live-scorer-row img {
    width: 34px;
    height: 34px;
    object-fit: cover;
    border-radius: 50%;
}

.fbl24-live-scorer-row strong,
.fbl24-live-popular-row strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fbl24-live-scorer-row small {
    display: block;
    color: var(--fbl24-muted);
}

.fbl24-live-scorer-goals,
.fbl24-live-popular-count {
    color: var(--fbl24-green);
    font-weight: 950;
}

.fbl24-live-alert-card {
    position: relative;
    display: grid;
    gap: 18px;
    overflow: hidden;
    padding: 26px;
}

.fbl24-live-alert-card h2 {
    margin: 0 0 12px;
    color: var(--fbl24-navy);
    font-size: 18px;
}

.fbl24-live-alert-card p {
    margin: 0;
    color: var(--fbl24-muted);
    line-height: 1.55;
}

.fbl24-live-alert-card > i {
    position: absolute;
    top: 26px;
    right: 24px;
    display: grid;
    place-items: center;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: var(--fbl24-green-soft);
    color: var(--fbl24-green);
}

.fbl24-live-side-empty {
    display: grid;
    place-items: center;
    min-height: 90px;
    color: var(--fbl24-muted);
    font-weight: 750;
    text-align: center;
}

@media (max-width: 1280px) {
    .fbl24-live-grid {
        grid-template-columns: 230px minmax(0, 1fr);
    }

    .fbl24-live-right {
        position: static;
        grid-column: 1 / -1;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .fbl24-live-companion {
        min-height: auto;
    }
}

@media (max-width: 980px) {
    .fbl24-live {
        padding: 18px 14px 100px;
    }

    .fbl24-live-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .fbl24-live-left,
    .fbl24-live-right {
        position: static;
    }

    .fbl24-live-titlebar {
        align-items: flex-start;
        flex-direction: column;
    }

    .fbl24-live-title-actions {
        width: 100%;
        justify-content: space-between;
    }

    .fbl24-live-match-row {
        grid-template-columns: 28px 42px minmax(0, 1fr) 74px minmax(0, 1fr) 34px;
        min-height: 74px;
        gap: 7px;
        padding: 0 10px;
    }

    .fbl24-live-team {
        flex-direction: column;
        gap: 4px;
        text-align: center;
    }

    .fbl24-live-team.is-away {
        flex-direction: column;
        text-align: center;
    }

    .fbl24-live-team img {
        width: 30px;
        height: 30px;
    }

    .fbl24-live-team span {
        max-width: 76px;
        font-size: 12px;
    }

    .fbl24-live-right {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 1280px) {
    .fbl24-header-inner {
        grid-template-columns: auto 1fr auto;
        gap: 18px;
    }

    .fbl24-primary-nav {
        gap: 18px;
    }

    .fbl24-header-search {
        display: none;
    }

    .fbl24-search-icon {
        display: inline-flex;
    }

    .fbl24-home-grid {
        grid-template-columns: 230px minmax(0, 1fr);
    }

    .fbl24-home-right {
        position: static;
        grid-column: 1 / -1;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 980px) {
    .fbl24-header-inner {
        min-height: 70px;
        padding: 0 16px;
        grid-template-columns: auto auto;
        justify-content: space-between;
    }

    .fbl24-primary-nav,
    .fbl24-auth-area {
        display: none !important;
    }

    .fbl24-menu-btn,
    .fbl24-search-icon {
        display: inline-flex;
    }

    .fbl24-home {
        padding: 18px 14px 100px;
    }

    .fbl24-home-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .fbl24-home-left,
    .fbl24-home-right {
        position: static;
    }

    .fbl24-competition-list {
        display: flex;
        overflow-x: auto;
        padding-bottom: 6px;
        scroll-snap-type: x proximity;
    }

    .fbl24-competition-row {
        min-width: 220px;
        scroll-snap-align: start;
    }

    .fbl24-side-promo {
        display: none;
    }

    .fbl24-home-right {
        grid-template-columns: 1fr;
    }

    .fbl24-date-strip-wrap {
        grid-template-columns: 42px minmax(0, 1fr) 42px;
        gap: 8px;
    }

    .fbl24-date-strip {
        display: flex;
        overflow-x: auto;
        gap: 10px;
        padding-bottom: 6px;
        scroll-snap-type: x proximity;
    }

    .fbl24-date-pill {
        min-width: 86px;
        scroll-snap-align: center;
    }

    .fbl24-featured-card {
        grid-template-columns: 1fr;
        justify-items: center;
        text-align: center;
        min-height: 0;
        padding: 22px;
    }

    .fbl24-featured-team,
    .fbl24-featured-team.is-away {
        flex-direction: column;
        text-align: center;
    }

    .fbl24-home-toolbar {
        grid-template-columns: 1fr;
    }

    .fbl24-match-row {
        grid-template-columns: minmax(0, 1fr) 92px minmax(0, 1fr) 34px;
        gap: 8px;
        padding: 12px;
    }

    .fbl24-match-team {
        flex-direction: column;
        text-align: center;
        gap: 7px;
    }

    .fbl24-match-team.is-away {
        flex-direction: column;
        text-align: center;
    }

    .fbl24-match-team .fbl24-team-logo {
        width: 36px;
        height: 36px;
    }

    .fbl24-match-team strong {
        max-width: 90px;
        font-size: 12px;
    }
}

@media (max-width: 520px) {
    .fbl24-brand-name {
        font-size: 25px;
    }

    .fbl24-brand-logo {
        width: 36px;
        height: 36px;
    }

    .fbl24-header-actions {
        gap: 8px;
    }

    .fbl24-search-icon,
    .fbl24-menu-btn {
        width: 40px;
        height: 40px;
    }

    .fbl24-home {
        padding-inline: 10px;
    }

    .fbl24-section-head h1,
    .fbl24-section-head h2,
    .fbl24-panel-head h2 {
        font-size: 19px;
    }
}

/* World Cup page */
.fbl24-wc-page {
    min-height: 80vh;
    background: linear-gradient(180deg, #fbfdff 0%, #f2f6fb 100%);
}

.fbl24-wc-layout {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr) 330px;
    gap: 24px;
    width: min(100%, 1500px);
    margin: 0 auto;
    padding: 28px 28px 92px;
}

.fbl24-wc-left,
.fbl24-wc-right {
    position: sticky;
    top: calc(var(--wp-admin--admin-bar--height, 0px) + 104px);
    display: grid;
    align-self: start;
    gap: 20px;
}

.fbl24-wc-main {
    display: grid;
    gap: 18px;
    min-width: 0;
}

.fbl24-wc-card,
.fbl24-wc-hero-card,
.fbl24-wc-stat-strip article,
.fbl24-wc-history article {
    border: 1px solid var(--fbl24-line);
    border-radius: 18px;
    background: #fff;
    box-shadow: var(--fbl24-shadow-soft);
}

.fbl24-wc-card {
    padding: 18px;
}

.fbl24-wc-menu-card {
    padding: 10px;
}

.fbl24-wc-menu-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 50px;
    border: 0;
    border-radius: 13px;
    background: #fff;
    color: var(--fbl24-navy);
    font: inherit;
    font-weight: 900;
    cursor: pointer;
    padding: 0 10px;
    text-align: left;
}

.fbl24-wc-menu-title span,
.fbl24-wc-menu button {
    display: flex;
    align-items: center;
    gap: 10px;
}

.fbl24-wc-menu-title i:first-child {
    color: var(--fbl24-green);
}

.fbl24-wc-menu {
    display: grid;
    gap: 4px;
    margin-top: 8px;
}

.fbl24-wc-menu button {
    width: 100%;
    min-height: 44px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: var(--fbl24-navy);
    font: inherit;
    font-size: 14px;
    font-weight: 760;
    cursor: pointer;
    padding: 0 12px;
    text-align: left;
}

.fbl24-wc-menu button i {
    width: 18px;
    color: #63758c;
}

.fbl24-wc-menu button.is-active,
.fbl24-wc-menu button:hover {
    background: var(--fbl24-green-soft);
    color: var(--fbl24-green-dark);
}

.fbl24-wc-menu button.is-active i,
.fbl24-wc-menu button:hover i {
    color: var(--fbl24-green);
}

.fbl24-wc-promo {
    position: relative;
    display: grid;
    gap: 12px;
    min-height: 430px;
    overflow: hidden;
    border-radius: 18px;
    padding: 28px 22px;
    background: linear-gradient(145deg, rgba(7, 17, 31, .82), rgba(7, 148, 63, .15));
    color: #fff;
    text-decoration: none;
    box-shadow: var(--fbl24-shadow);
}

.fbl24-wc-promo::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(7, 17, 31, .26), rgba(7, 17, 31, .88));
    pointer-events: none;
}

.fbl24-wc-promo img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}

.fbl24-wc-promo span,
.fbl24-wc-promo strong,
.fbl24-wc-promo em {
    position: relative;
    z-index: 1;
}

.fbl24-wc-promo span {
    color: rgba(255,255,255,.86);
    font-size: 14px;
}

.fbl24-wc-promo strong {
    max-width: 200px;
    font-size: 25px;
    line-height: 1.15;
}

.fbl24-wc-promo em {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: max-content;
    min-height: 40px;
    padding: 0 17px;
    border-radius: 9px;
    background: var(--fbl24-green);
    color: #fff;
    font-style: normal;
    font-weight: 850;
}

.fbl24-wc-hero-card {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 360px);
    gap: 20px;
    min-height: 240px;
    overflow: hidden;
    padding: 36px;
    background:
        radial-gradient(circle at 80% 35%, rgba(7, 148, 63, .18), transparent 34%),
        linear-gradient(135deg, #ffffff 0%, #f3f8f5 100%);
}

.fbl24-wc-hero-copy {
    position: relative;
    z-index: 1;
    align-self: center;
}

.fbl24-wc-hero-copy p {
    margin: 0 0 12px;
    color: var(--fbl24-green-dark);
    font-size: 14px;
    font-weight: 900;
    letter-spacing: .04em;
}

.fbl24-wc-hero-copy h1 {
    margin: 0;
    color: var(--fbl24-navy);
    font-size: clamp(36px, 4vw, 54px);
    line-height: 1;
}

.fbl24-wc-hero-copy ul {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    margin: 22px 0 0;
    padding: 0;
    list-style: none;
    color: #25354b;
    font-weight: 780;
}

.fbl24-wc-hero-copy li {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.fbl24-wc-hero-copy li i {
    color: var(--fbl24-green);
}

.fbl24-wc-hero-img {
    align-self: center;
    justify-self: end;
    width: min(100%, 330px);
    height: 210px;
    object-fit: cover;
    border-radius: 22px;
    box-shadow: var(--fbl24-shadow);
}

.fbl24-wc-stat-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.fbl24-wc-stat-strip article {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    min-height: 78px;
    padding: 14px 18px;
}

.fbl24-wc-stat-strip i {
    grid-row: span 2;
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: var(--fbl24-green-soft);
    color: var(--fbl24-green);
}

.fbl24-wc-stat-strip span {
    color: var(--fbl24-muted);
    font-size: 13px;
    font-weight: 760;
}

.fbl24-wc-stat-strip strong {
    color: var(--fbl24-navy);
    font-size: 22px;
    line-height: 1;
}

.fbl24-wc-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}

.fbl24-wc-section-head h2 {
    margin: 0;
    color: var(--fbl24-navy);
    font-size: 19px;
    font-weight: 900;
}

.fbl24-wc-section-head h2 small,
.fbl24-wc-section-head span {
    color: var(--fbl24-muted);
    font-size: 13px;
    font-weight: 750;
}

.fbl24-wc-section-head a {
    color: var(--fbl24-green-dark);
    font-size: 13px;
    font-weight: 850;
    text-decoration: none;
}

.fbl24-wc-match-list,
.fbl24-wc-scorer-list,
.fbl24-wc-news-list,
.fbl24-wc-standings-wrap {
    display: grid;
    gap: 10px;
}

.fbl24-wc-match-row {
    display: grid;
    grid-template-columns: 155px minmax(0, 1fr) 54px minmax(0, 1fr) 98px;
    align-items: center;
    gap: 14px;
    min-height: 74px;
    padding: 12px 14px;
    border: 1px solid #edf1f6;
    border-radius: 12px;
    background: #fff;
    color: var(--fbl24-navy);
    text-decoration: none;
}

.fbl24-wc-match-row:hover,
.fbl24-wc-team-card:hover,
.fbl24-wc-news-row:hover {
    border-color: #b9dec7;
    box-shadow: var(--fbl24-shadow-soft);
}

.fbl24-wc-match-date {
    color: #34445a;
    font-size: 13px;
    font-weight: 760;
}

.fbl24-wc-match-team {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    font-weight: 850;
}

.fbl24-wc-match-team.is-away {
    flex-direction: row-reverse;
    text-align: right;
}

.fbl24-wc-match-team img,
.fbl24-wc-team-card img,
.fbl24-wc-scorer-row img {
    flex: 0 0 auto;
    width: 34px;
    height: 34px;
    object-fit: contain;
    border-radius: 50%;
}

.fbl24-wc-match-team span,
.fbl24-wc-team-card strong,
.fbl24-wc-scorer-row strong,
.fbl24-wc-news-row strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fbl24-wc-vs {
    justify-self: center;
    color: #4b5d75;
    font-weight: 900;
}

.fbl24-wc-status {
    justify-self: end;
    min-width: 86px;
    padding: 8px 10px;
    border: 1px solid #dce5ef;
    border-radius: 9px;
    background: #f7fafc;
    color: var(--fbl24-navy);
    font-size: 12px;
    font-weight: 850;
    text-align: center;
}

.fbl24-wc-status.is-live {
    border-color: #b8e8c6;
    background: var(--fbl24-green-soft);
    color: var(--fbl24-green-dark);
}

.fbl24-wc-groups-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.fbl24-wc-group-card {
    border: 1px solid var(--fbl24-line);
    border-radius: 13px;
    padding: 14px;
    background: #fff;
}

.fbl24-wc-group-card h3 {
    margin: 0 0 10px;
    color: var(--fbl24-green-dark);
    font-size: 15px;
}

.fbl24-wc-group-card ol {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.fbl24-wc-group-card li {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    color: var(--fbl24-navy);
    font-size: 13px;
    font-weight: 760;
}

.fbl24-wc-group-card img {
    width: 20px;
    height: 20px;
    object-fit: contain;
}

.fbl24-wc-group-card a {
    display: inline-flex;
    margin-top: 12px;
    color: var(--fbl24-green-dark);
    font-size: 13px;
    font-weight: 850;
    text-decoration: none;
}

.fbl24-wc-standings-table {
    width: 100%;
    border-collapse: collapse;
    color: var(--fbl24-navy);
    font-size: 13px;
}

.fbl24-wc-standings-table th,
.fbl24-wc-standings-table td {
    padding: 10px 8px;
    border-bottom: 1px solid #edf1f6;
    text-align: left;
}

.fbl24-wc-standings-table th {
    color: var(--fbl24-muted);
    font-size: 11px;
    font-weight: 850;
    text-transform: uppercase;
}

.fbl24-wc-team-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.fbl24-wc-team-card {
    display: grid;
    justify-items: center;
    gap: 7px;
    min-width: 0;
    padding: 8px 6px;
    border: 1px solid transparent;
    border-radius: 12px;
    color: var(--fbl24-navy);
    text-align: center;
    text-decoration: none;
}

.fbl24-wc-team-card strong {
    max-width: 100%;
    font-size: 12px;
}

.fbl24-wc-scorer-row {
    display: grid;
    grid-template-columns: 20px 38px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    min-height: 48px;
    color: var(--fbl24-navy);
    text-decoration: none;
}

.fbl24-wc-scorer-row span {
    min-width: 0;
}

.fbl24-wc-scorer-row small {
    display: block;
    overflow: hidden;
    color: var(--fbl24-muted);
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fbl24-wc-scorer-row b {
    color: var(--fbl24-navy);
}

.fbl24-wc-news-row {
    display: grid;
    grid-template-columns: 74px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    min-height: 74px;
    border: 1px solid transparent;
    border-radius: 12px;
    color: var(--fbl24-navy);
    text-decoration: none;
}

.fbl24-wc-news-row img {
    width: 74px;
    height: 56px;
    object-fit: cover;
    border-radius: 10px;
    background: var(--fbl24-soft);
}

.fbl24-wc-news-row span {
    display: grid;
    gap: 5px;
    min-width: 0;
}

.fbl24-wc-news-row small {
    color: var(--fbl24-muted);
    font-size: 12px;
    font-weight: 750;
}

.fbl24-wc-history {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.fbl24-wc-history article {
    display: grid;
    gap: 8px;
    padding: 18px;
}

.fbl24-wc-history i {
    color: var(--fbl24-green);
    font-size: 20px;
}

.fbl24-wc-history strong {
    color: var(--fbl24-navy);
    font-size: 16px;
}

.fbl24-wc-history span {
    color: var(--fbl24-muted);
    font-size: 13px;
    line-height: 1.45;
}

.fbl24-wc-empty {
    display: grid;
    place-items: center;
    min-height: 120px;
    border: 1px dashed var(--fbl24-line);
    border-radius: 14px;
    background: #fbfdff;
    color: var(--fbl24-muted);
    font-weight: 780;
    text-align: center;
    padding: 20px;
}

.fbl24-wc-loading {
    display: grid;
    gap: 10px;
    width: 100%;
}

.fbl24-wc-loading span {
    display: block;
    height: 56px;
    border: 1px solid var(--fbl24-line);
    border-radius: 12px;
    background: linear-gradient(90deg, #eef3f8, #fff, #eef3f8);
    background-size: 220% 100%;
    animation: fbl24Loading 1.15s infinite;
}

@media (max-width: 1320px) {
    .fbl24-wc-layout {
        grid-template-columns: 240px minmax(0, 1fr);
    }

    .fbl24-wc-right {
        position: static;
        grid-column: 1 / -1;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 980px) {
    .fbl24-wc-layout {
        grid-template-columns: 1fr;
        padding: 18px 14px 100px;
    }

    .fbl24-wc-left,
    .fbl24-wc-right {
        position: static;
    }

    .fbl24-wc-menu {
        display: flex;
        overflow-x: auto;
        padding-bottom: 6px;
    }

    .fbl24-wc-menu button {
        flex: 0 0 auto;
        width: auto;
        white-space: nowrap;
    }

    .fbl24-wc-promo {
        display: none;
    }

    .fbl24-wc-hero-card {
        grid-template-columns: 1fr;
        padding: 24px;
    }

    .fbl24-wc-hero-img {
        justify-self: stretch;
        width: 100%;
    }

    .fbl24-wc-stat-strip,
    .fbl24-wc-history,
    .fbl24-wc-right {
        grid-template-columns: 1fr;
    }

    .fbl24-wc-groups-grid {
        grid-template-columns: 1fr;
    }

    .fbl24-wc-match-row {
        grid-template-columns: 1fr 38px 1fr 76px;
    }

    .fbl24-wc-match-date {
        grid-column: 1 / -1;
    }

    .fbl24-wc-team-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .fbl24-wc-layout {
        padding-inline: 10px;
    }

    .fbl24-wc-card {
        padding: 14px;
    }

    .fbl24-wc-hero-copy h1 {
        font-size: 34px;
    }

    .fbl24-wc-hero-copy ul {
        display: grid;
        gap: 10px;
    }

    .fbl24-wc-stat-strip article {
        grid-template-columns: 38px minmax(0, 1fr);
        min-height: 68px;
        padding: 12px;
    }

    .fbl24-wc-match-row {
        grid-template-columns: minmax(0, 1fr) 48px minmax(0, 1fr);
        gap: 8px;
    }

    .fbl24-wc-status {
        grid-column: 1 / -1;
        justify-self: stretch;
    }

    .fbl24-wc-match-team,
    .fbl24-wc-match-team.is-away {
        flex-direction: column;
        text-align: center;
    }

    .fbl24-wc-team-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Competitions page */
.fbl24-comp-page {
    min-height: 80vh;
    background: linear-gradient(180deg, #fbfdff 0%, #f2f6fb 100%);
}

.fbl24-comp-layout {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr) 300px;
    gap: 28px;
    width: min(100%, 1500px);
    margin: 0 auto;
    padding: 28px 28px 94px;
}

.fbl24-comp-left,
.fbl24-comp-right {
    position: sticky;
    top: calc(var(--wp-admin--admin-bar--height, 0px) + 104px);
    display: grid;
    align-self: start;
    gap: 18px;
}

.fbl24-comp-main {
    display: grid;
    align-content: start;
    gap: 18px;
    min-width: 0;
}

.fbl24-comp-card {
    border: 1px solid var(--fbl24-line);
    border-radius: 16px;
    background: #fff;
    box-shadow: var(--fbl24-shadow-soft);
}

.fbl24-comp-filter-card,
.fbl24-comp-card {
    padding: 18px;
}

.fbl24-comp-filter-card h2,
.fbl24-comp-section-head h2,
.fbl24-comp-info h2 {
    margin: 0;
    color: var(--fbl24-navy);
    font-size: 19px;
    font-weight: 900;
}

.fbl24-comp-title h1 {
    margin: 0 0 6px;
    color: var(--fbl24-navy);
    font-size: clamp(30px, 3vw, 38px);
    line-height: 1;
}

.fbl24-comp-title p {
    margin: 0;
    color: var(--fbl24-muted);
    font-size: 16px;
    font-weight: 650;
}

.fbl24-comp-search {
    position: relative;
    display: block;
    margin: 14px 0 18px;
}

.fbl24-comp-search input {
    width: 100%;
    height: 46px;
    border: 1px solid var(--fbl24-line);
    border-radius: 10px;
    background: #fff;
    color: var(--fbl24-navy);
    font: inherit;
    outline: 0;
    padding: 0 42px 0 13px;
}

.fbl24-comp-search input:focus {
    border-color: #b8dec7;
    box-shadow: 0 0 0 4px rgba(7, 148, 63, .1);
}

.fbl24-comp-search i {
    position: absolute;
    top: 50%;
    right: 14px;
    color: var(--fbl24-navy);
    transform: translateY(-50%);
}

.fbl24-comp-filter-block {
    display: grid;
    gap: 8px;
    margin-bottom: 18px;
}

.fbl24-comp-filter-block h3,
.fbl24-comp-select-label span {
    margin: 0;
    color: var(--fbl24-navy);
    font-size: 13px;
    font-weight: 900;
}

.fbl24-comp-filter-list {
    display: grid;
    gap: 4px;
}

.fbl24-comp-filter-list button,
.fbl24-comp-region-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    min-height: 40px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #28384f;
    cursor: pointer;
    font: inherit;
    font-size: 14px;
    font-weight: 720;
    padding: 0 10px;
    text-align: left;
}

.fbl24-comp-filter-list button span,
.fbl24-comp-region-row span {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.fbl24-comp-filter-list button i,
.fbl24-comp-region-row i {
    color: var(--fbl24-green);
    width: 18px;
}

.fbl24-comp-filter-list button b,
.fbl24-comp-region-row b {
    color: var(--fbl24-green-dark);
    font-weight: 900;
}

.fbl24-comp-filter-list button.is-active,
.fbl24-comp-filter-list button:hover,
.fbl24-comp-region-row:hover {
    background: var(--fbl24-green-soft);
    color: var(--fbl24-green-dark);
}

.fbl24-comp-select-label {
    display: grid;
    gap: 8px;
    margin-bottom: 16px;
}

.fbl24-comp-select-label select {
    width: 100%;
    height: 42px;
    border: 1px solid var(--fbl24-line);
    border-radius: 9px;
    background: #fff;
    color: var(--fbl24-navy);
    font: inherit;
    padding: 0 12px;
}

.fbl24-comp-actions {
    display: grid;
    grid-template-columns: 1fr 1.4fr;
    gap: 12px;
}

.fbl24-comp-actions button,
.fbl24-comp-link-btn,
.fbl24-comp-info button,
.fbl24-comp-section-head button,
.fbl24-comp-page-btn,
.fbl24-comp-view-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    border: 1px solid var(--fbl24-line);
    border-radius: 9px;
    background: #fff;
    color: var(--fbl24-navy);
    cursor: pointer;
    font: inherit;
    font-size: 13px;
    font-weight: 850;
    text-decoration: none;
}

.fbl24-comp-actions button:last-child,
.fbl24-comp-info button,
.fbl24-comp-page-btn.is-active {
    border-color: var(--fbl24-green);
    background: var(--fbl24-green);
    color: #fff;
}

.fbl24-comp-promo {
    position: relative;
    display: grid;
    align-content: start;
    gap: 12px;
    min-height: 310px;
    overflow: hidden;
    border-radius: 16px;
    padding: 24px 18px;
    color: #fff;
    text-decoration: none;
    box-shadow: var(--fbl24-shadow);
}

.fbl24-comp-promo::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(7, 17, 31, .88), rgba(7, 17, 31, .28));
    pointer-events: none;
}

.fbl24-comp-promo img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.fbl24-comp-promo strong,
.fbl24-comp-promo span,
.fbl24-comp-promo em {
    position: relative;
    z-index: 1;
}

.fbl24-comp-promo strong {
    max-width: 210px;
    font-size: 22px;
    line-height: 1.2;
}

.fbl24-comp-promo span {
    max-width: 190px;
    color: rgba(255,255,255,.9);
    line-height: 1.45;
}

.fbl24-comp-promo em {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: max-content;
    min-height: 38px;
    padding: 0 14px;
    border-radius: 9px;
    background: var(--fbl24-green);
    color: #fff;
    font-style: normal;
    font-weight: 850;
}

.fbl24-comp-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}

.fbl24-comp-section-head h2 small,
.fbl24-comp-section-head span {
    color: var(--fbl24-muted);
    font-size: 14px;
    font-weight: 760;
}

.fbl24-comp-section-head button,
.fbl24-comp-link-btn {
    min-height: auto;
    border: 0;
    background: transparent;
    color: var(--fbl24-green-dark);
    padding: 0;
    text-decoration: underline;
}

.fbl24-comp-popular {
    display: grid;
    grid-auto-columns: minmax(130px, 1fr);
    grid-auto-flow: column;
    gap: 10px;
    overflow-x: auto;
    padding: 1px 2px 8px;
    scroll-snap-type: x proximity;
}

.fbl24-comp-popular-card {
    display: grid;
    justify-items: center;
    gap: 8px;
    min-height: 144px;
    min-width: 130px;
    padding: 14px 10px;
    border: 1px solid var(--fbl24-line);
    border-radius: 12px;
    background: #fff;
    color: var(--fbl24-navy);
    text-align: center;
    text-decoration: none;
    scroll-snap-align: start;
}

.fbl24-comp-popular-card:hover {
    border-color: #b8dec7;
    box-shadow: var(--fbl24-shadow-soft);
}

.fbl24-comp-popular-card img {
    width: 54px;
    height: 54px;
    object-fit: contain;
}

.fbl24-comp-popular-card strong {
    display: -webkit-box;
    overflow: hidden;
    min-height: 34px;
    color: var(--fbl24-navy);
    font-size: 13px;
    line-height: 1.28;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.fbl24-comp-popular-card span {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    color: var(--fbl24-muted);
    font-size: 12px;
    font-weight: 700;
}

.fbl24-comp-popular-card span img,
.fbl24-comp-flag {
    width: 20px;
    height: 14px;
    object-fit: cover;
    border-radius: 3px;
}

.fbl24-comp-dots {
    display: flex;
    justify-content: center;
    gap: 6px;
    min-height: 10px;
    margin-top: 2px;
}

.fbl24-comp-dots i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #d7e0eb;
}

.fbl24-comp-dots i:first-child {
    background: var(--fbl24-green);
}

.fbl24-comp-table-wrap {
    overflow-x: auto;
}

.fbl24-comp-table {
    width: 100%;
    min-width: 760px;
    border-collapse: collapse;
    color: var(--fbl24-navy);
    font-size: 14px;
}

.fbl24-comp-table th,
.fbl24-comp-table td {
    padding: 12px 10px;
    border-bottom: 1px solid #edf1f6;
    text-align: left;
}

.fbl24-comp-table th {
    color: #4b5d75;
    font-size: 12px;
    font-weight: 760;
}

.fbl24-comp-table tr:last-child td {
    border-bottom: 0;
}

.fbl24-comp-name-cell,
.fbl24-comp-country-cell {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.fbl24-comp-name-cell img {
    width: 30px;
    height: 30px;
    object-fit: contain;
}

.fbl24-comp-name-cell strong,
.fbl24-comp-country-cell span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fbl24-comp-type-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 24px;
    padding: 0 10px;
    border-radius: 999px;
    background: var(--fbl24-green-soft);
    color: var(--fbl24-green-dark);
    font-size: 12px;
    font-weight: 800;
}

.fbl24-comp-type-pill.is-cup,
.fbl24-comp-type-pill.is-international {
    background: #eaf2ff;
    color: var(--fbl24-blue);
}

.fbl24-comp-row-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.fbl24-comp-view-btn {
    min-width: 64px;
    min-height: 34px;
    color: var(--fbl24-navy);
}

.fbl24-comp-star {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: #70829a;
    cursor: pointer;
}

.fbl24-comp-star.is-saved {
    color: var(--fbl24-green);
}

.fbl24-comp-pagination {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-top: 18px;
    flex-wrap: wrap;
}

.fbl24-comp-page-btn {
    min-width: 40px;
    height: 40px;
}

.fbl24-comp-region-list,
.fbl24-comp-local-list {
    display: grid;
    gap: 12px;
}

.fbl24-comp-local-row {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) 24px;
    align-items: center;
    gap: 10px;
    color: var(--fbl24-navy);
    text-decoration: none;
}

.fbl24-comp-local-row img {
    width: 34px;
    height: 34px;
    object-fit: contain;
}

.fbl24-comp-local-row strong {
    display: block;
    overflow: hidden;
    color: var(--fbl24-navy);
    font-size: 14px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fbl24-comp-local-row small {
    display: block;
    color: var(--fbl24-muted);
    font-size: 12px;
}

.fbl24-comp-local-row i {
    color: var(--fbl24-green);
}

.fbl24-comp-info {
    display: grid;
    gap: 12px;
    padding: 24px;
}

.fbl24-comp-info > i {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--fbl24-green-soft);
    color: var(--fbl24-green);
}

.fbl24-comp-info p {
    margin: 0;
    color: var(--fbl24-muted);
    line-height: 1.55;
}

.fbl24-comp-empty {
    display: grid;
    place-items: center;
    min-height: 130px;
    border: 1px dashed var(--fbl24-line);
    border-radius: 14px;
    background: #fbfdff;
    color: var(--fbl24-muted);
    font-weight: 780;
    text-align: center;
    padding: 20px;
}

.fbl24-comp-loading {
    display: grid;
    gap: 10px;
    width: 100%;
}

.fbl24-comp-loading span {
    display: block;
    height: 54px;
    border: 1px solid var(--fbl24-line);
    border-radius: 12px;
    background: linear-gradient(90deg, #eef3f8, #fff, #eef3f8);
    background-size: 220% 100%;
    animation: fbl24Loading 1.15s infinite;
}

@media (max-width: 1320px) {
    .fbl24-comp-layout {
        grid-template-columns: 240px minmax(0, 1fr);
    }

    .fbl24-comp-right {
        position: static;
        grid-column: 1 / -1;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 980px) {
    .fbl24-comp-layout {
        grid-template-columns: 1fr;
        padding: 18px 14px 100px;
    }

    .fbl24-comp-left,
    .fbl24-comp-right {
        position: static;
    }

    .fbl24-comp-promo {
        display: none;
    }

    .fbl24-comp-right {
        grid-template-columns: 1fr;
    }

    .fbl24-comp-table,
    .fbl24-comp-table thead,
    .fbl24-comp-table tbody,
    .fbl24-comp-table tr,
    .fbl24-comp-table td {
        display: block;
        min-width: 0;
        width: 100%;
    }

    .fbl24-comp-table thead {
        display: none;
    }

    .fbl24-comp-table tr {
        margin-bottom: 12px;
        border: 1px solid var(--fbl24-line);
        border-radius: 14px;
        background: #fff;
        padding: 12px;
    }

    .fbl24-comp-table td {
        display: flex;
        justify-content: space-between;
        gap: 12px;
        border-bottom: 0;
        padding: 7px 0;
    }

    .fbl24-comp-table td::before {
        content: attr(data-label);
        color: var(--fbl24-muted);
        font-size: 12px;
        font-weight: 850;
    }

    .fbl24-comp-name-cell,
    .fbl24-comp-country-cell {
        justify-content: flex-end;
        text-align: right;
    }
}

@media (max-width: 560px) {
    .fbl24-comp-layout {
        padding-inline: 10px;
    }

    .fbl24-comp-card,
    .fbl24-comp-filter-card {
        padding: 14px;
    }

    .fbl24-comp-title h1 {
        font-size: 30px;
    }

    .fbl24-comp-actions {
        grid-template-columns: 1fr;
    }

    .fbl24-comp-popular {
        grid-auto-columns: minmax(120px, 72%);
    }

    .fbl24-comp-section-head {
        align-items: flex-start;
        flex-direction: column;
        gap: 6px;
    }
}

/* News */
#fbl24-news {
    width: 100%;
    min-height: 100vh;
    overflow-x: clip;
    background: var(--fbl24-bg);
    color: var(--fbl24-navy);
}

.fbl24-news-layout {
    display: grid;
    grid-template-columns: 238px minmax(0, 1fr) 300px;
    gap: 22px;
    width: min(100%, 1500px);
    margin: 0 auto;
    padding: 24px 28px 72px;
}

.fbl24-news-left,
.fbl24-news-main,
.fbl24-news-right {
    display: grid;
    align-content: start;
    gap: 18px;
    min-width: 0;
}

.fbl24-news-card,
.fbl24-news-promo {
    min-width: 0;
    border: 1px solid var(--fbl24-line);
    border-radius: 18px;
    background: #fff;
    box-shadow: var(--fbl24-shadow-soft);
}

.fbl24-news-card {
    padding: 16px;
}

.fbl24-news-card h1,
.fbl24-news-card h2,
.fbl24-news-promo h2 {
    margin: 0;
    color: var(--fbl24-navy);
    line-height: 1.1;
}

.fbl24-news-card h1 {
    font-size: 23px;
}

.fbl24-news-card h2,
.fbl24-news-promo h2 {
    font-size: 18px;
}

.fbl24-news-category-card {
    padding: 14px;
}

.fbl24-news-category-list {
    display: grid;
    gap: 5px;
    margin-top: 14px;
}

.fbl24-news-category {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    min-height: 42px;
    width: 100%;
    border: 0;
    border-radius: 12px;
    background: transparent;
    color: var(--fbl24-navy);
    padding: 0 10px;
    cursor: pointer;
    font: 800 14px Outfit, system-ui, sans-serif;
    text-align: left;
}

.fbl24-news-category i {
    color: #516178;
    text-align: center;
}

.fbl24-news-category span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fbl24-news-category:hover,
.fbl24-news-category.is-active {
    background: var(--fbl24-green-soft);
    color: var(--fbl24-green-dark);
}

.fbl24-news-category:hover i,
.fbl24-news-category.is-active i {
    color: var(--fbl24-green-dark);
}

.fbl24-news-promo {
    display: grid;
    min-height: 430px;
    overflow: hidden;
    padding: 20px;
    color: #fff;
    background:
        linear-gradient(180deg, rgba(7, 17, 31, .72), rgba(7, 17, 31, .22) 46%, rgba(7, 17, 31, .68)),
        url("../images/auth-stadium-player-web.jpg") center bottom / cover no-repeat;
}

.fbl24-news-promo h2 {
    max-width: 190px;
    color: #fff;
    font-size: 28px;
    line-height: 1.12;
}

.fbl24-news-promo p {
    max-width: 190px;
    margin: 14px 0 20px;
    color: rgba(255, 255, 255, .9);
    font-weight: 700;
    line-height: 1.55;
}

.fbl24-news-promo a,
.fbl24-news-subscribe button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    border: 0;
    border-radius: 10px;
    background: var(--fbl24-green);
    color: #fff;
    padding: 0 14px;
    font-weight: 900;
    text-decoration: none;
    cursor: pointer;
    box-shadow: 0 12px 24px rgba(7, 148, 63, .2);
}

.fbl24-news-section-head,
.fbl24-news-latest-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 14px;
}

.fbl24-news-section-head button,
.fbl24-news-section-head span {
    border: 0;
    background: transparent;
    color: var(--fbl24-green-dark);
    font: 900 13px Outfit, system-ui, sans-serif;
    text-decoration: underline;
    cursor: pointer;
    white-space: nowrap;
}

.fbl24-news-section-head span {
    color: var(--fbl24-muted);
    text-decoration: none;
}

.fbl24-news-top-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(260px, .9fr);
    gap: 16px;
    min-width: 0;
}

.fbl24-news-hero-story,
.fbl24-news-top-small,
.fbl24-news-list-row,
.fbl24-news-trend-row,
.fbl24-news-video-row {
    color: inherit;
    text-decoration: none;
}

.fbl24-news-hero-story {
    position: relative;
    display: grid;
    align-content: end;
    min-height: 360px;
    overflow: hidden;
    border-radius: 14px;
    background: #e8eef5;
}

.fbl24-news-hero-story > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .25s ease;
}

.fbl24-news-hero-story::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(7, 17, 31, .82), rgba(7, 17, 31, .38) 58%, rgba(7, 17, 31, .05));
}

.fbl24-news-hero-story:hover > img,
.fbl24-news-top-small:hover img,
.fbl24-news-list-row:hover img,
.fbl24-news-trend-row:hover img {
    transform: scale(1.035);
}

.fbl24-news-badge {
    position: absolute;
    left: 24px;
    top: 92px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    border-radius: 8px;
    background: var(--fbl24-green);
    color: #fff;
    padding: 0 10px;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.fbl24-news-hero-copy {
    position: relative;
    z-index: 2;
    display: grid;
    gap: 10px;
    max-width: 500px;
    padding: 0 24px 24px;
    color: #fff;
}

.fbl24-news-hero-copy strong {
    font-size: clamp(25px, 3vw, 38px);
    line-height: 1.16;
}

.fbl24-news-hero-copy em {
    max-width: 430px;
    color: rgba(255, 255, 255, .9);
    font-style: normal;
    font-weight: 650;
    line-height: 1.45;
}

.fbl24-news-hero-copy small {
    color: rgba(255, 255, 255, .86);
    font-weight: 800;
}

.fbl24-news-top-stack {
    display: grid;
    gap: 12px;
    min-width: 0;
}

.fbl24-news-top-small {
    display: grid;
    grid-template-columns: 132px minmax(0, 1fr);
    align-items: center;
    gap: 14px;
    min-height: 112px;
    border-bottom: 1px solid var(--fbl24-line);
    padding-bottom: 12px;
}

.fbl24-news-top-small:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.fbl24-news-top-small img,
.fbl24-news-list-row img,
.fbl24-news-trend-row img,
.fbl24-news-video-row img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .25s ease;
}

.fbl24-news-top-small img {
    height: 104px;
    border-radius: 10px;
    background: #eef3f8;
}

.fbl24-news-top-small span,
.fbl24-news-trend-row span,
.fbl24-news-list-row span {
    min-width: 0;
}

.fbl24-news-top-small strong,
.fbl24-news-trend-row strong {
    display: -webkit-box;
    overflow: hidden;
    color: var(--fbl24-navy);
    font-size: 15px;
    line-height: 1.28;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

.fbl24-news-top-small small,
.fbl24-news-trend-row small,
.fbl24-news-row-body small {
    display: block;
    margin-top: 7px;
    color: var(--fbl24-muted);
    font-size: 12px;
    font-weight: 750;
}

.fbl24-news-latest-panel {
    padding: 18px;
}

.fbl24-news-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 14px;
}

.fbl24-news-filter-chips {
    display: flex;
    gap: 8px;
    min-width: 0;
    overflow-x: auto;
    scrollbar-width: none;
}

.fbl24-news-filter-chips::-webkit-scrollbar {
    display: none;
}

.fbl24-news-filter-chips button {
    flex: 0 0 auto;
    min-height: 36px;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: #3f4d63;
    padding: 0 14px;
    cursor: pointer;
    font: 850 13px Outfit, system-ui, sans-serif;
}

.fbl24-news-filter-chips button.is-active {
    background: var(--fbl24-green);
    color: #fff;
}

.fbl24-news-sort-wrap {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--fbl24-muted);
    font-size: 13px;
    font-weight: 750;
}

.fbl24-news-sort-wrap select,
.fbl24-news-searchbox input {
    border: 1px solid var(--fbl24-line);
    border-radius: 10px;
    background: #fff;
    color: var(--fbl24-navy);
    font: 800 13px Outfit, system-ui, sans-serif;
}

.fbl24-news-sort-wrap select {
    min-height: 38px;
    padding: 0 34px 0 12px;
}

.fbl24-news-searchbox {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    width: min(100%, 320px);
    min-width: 220px;
    border: 1px solid var(--fbl24-line);
    border-radius: 12px;
    background: #fff;
    padding: 0 10px;
}

.fbl24-news-searchbox i {
    color: #8da0b7;
}

.fbl24-news-searchbox input {
    width: 100%;
    min-width: 0;
    min-height: 38px;
    border: 0;
    outline: 0;
}

.fbl24-news-searchbox button {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border: 0;
    border-radius: 999px;
    background: #eef3f8;
    color: var(--fbl24-muted);
    cursor: pointer;
}

.fbl24-news-list {
    display: grid;
    gap: 0;
}

.fbl24-news-list-row {
    display: grid;
    grid-template-columns: 176px minmax(0, 1fr);
    gap: 18px;
    min-height: 104px;
    padding: 13px 0;
    border-bottom: 1px solid var(--fbl24-line);
}

.fbl24-news-list-row:first-child {
    padding-top: 0;
}

.fbl24-news-list-row:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.fbl24-news-row-img {
    display: block;
    height: 92px;
    overflow: hidden;
    border-radius: 10px;
    background: #eef3f8;
}

.fbl24-news-row-body {
    display: grid;
    align-content: center;
    gap: 5px;
}

.fbl24-news-row-body strong {
    display: -webkit-box;
    overflow: hidden;
    color: var(--fbl24-navy);
    font-size: 18px;
    line-height: 1.22;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.fbl24-news-row-body em {
    display: -webkit-box;
    overflow: hidden;
    color: #536174;
    font-style: normal;
    font-weight: 650;
    line-height: 1.38;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.fbl24-news-row-body small b {
    color: var(--fbl24-green-dark);
    font-weight: 900;
}

.fbl24-news-trending,
.fbl24-news-videos {
    display: grid;
    gap: 12px;
}

.fbl24-news-trend-row {
    display: grid;
    grid-template-columns: 22px 84px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
}

.fbl24-news-trend-row b {
    color: #54657b;
    font-weight: 850;
    text-align: center;
}

.fbl24-news-trend-row img {
    height: 64px;
    border-radius: 9px;
    background: #eef3f8;
}

.fbl24-news-video-row {
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
}

.fbl24-news-video-row > span {
    position: relative;
    height: 60px;
    overflow: hidden;
    border-radius: 9px;
    background: #eef3f8;
}

.fbl24-news-video-row i {
    position: absolute;
    left: 50%;
    top: 50%;
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .9);
    color: var(--fbl24-green-dark);
    transform: translate(-50%, -50%);
}

.fbl24-news-video-row strong {
    display: -webkit-box;
    overflow: hidden;
    color: var(--fbl24-navy);
    font-size: 14px;
    line-height: 1.25;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.fbl24-news-subscribe {
    display: grid;
    gap: 10px;
}

.fbl24-news-subscribe > span {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border-radius: 999px;
    background: var(--fbl24-green-soft);
    color: var(--fbl24-green-dark);
    font-size: 22px;
}

.fbl24-news-subscribe p {
    margin: 0;
    color: var(--fbl24-muted);
    font-weight: 650;
    line-height: 1.45;
}

.fbl24-news-subscribe form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    margin-top: 4px;
}

.fbl24-news-subscribe input {
    min-width: 0;
    min-height: 40px;
    border: 1px solid var(--fbl24-line);
    border-radius: 10px;
    padding: 0 11px;
    font: 750 13px Outfit, system-ui, sans-serif;
}

.fbl24-news-subscribe-note {
    min-height: 18px;
    color: var(--fbl24-green-dark) !important;
    font-size: 12px;
    font-weight: 800 !important;
}

.fbl24-news-empty,
.fbl24-news-empty-mini {
    display: grid;
    place-items: center;
    min-height: 104px;
    border: 1px dashed var(--fbl24-line);
    border-radius: 14px;
    background: #f8fafc;
    color: var(--fbl24-muted);
    text-align: center;
    padding: 16px;
    font-weight: 800;
}

.fbl24-news-empty i {
    color: var(--fbl24-green-dark);
    font-size: 26px;
    margin-bottom: 8px;
}

.fbl24-news-empty strong {
    display: block;
    color: var(--fbl24-navy);
    font-size: 18px;
}

.fbl24-news-empty span {
    display: block;
    margin-top: 4px;
    color: var(--fbl24-muted);
    font-size: 13px;
}

.fbl24-news-load-more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    justify-self: center;
    min-height: 44px;
    margin-top: 16px;
    border: 1px solid var(--fbl24-line);
    border-radius: 12px;
    background: #fff;
    color: var(--fbl24-navy);
    padding: 0 28px;
    cursor: pointer;
    font: 900 13px Outfit, system-ui, sans-serif;
    box-shadow: var(--fbl24-shadow-soft);
}

.fbl24-news-skeleton {
    min-height: 98px;
    border-radius: 14px;
    background:
        linear-gradient(90deg, transparent, rgba(255, 255, 255, .65), transparent),
        #edf2f7;
    background-size: 220% 100%;
    animation: fbl24-news-shimmer 1.1s infinite;
}

.fbl24-news-skeleton.is-large {
    min-height: 360px;
}

.fbl24-news-skeleton-stack {
    display: grid;
    gap: 12px;
}

@keyframes fbl24-news-shimmer {
    to {
        background-position: -220% 0;
    }
}

@media (max-width: 1180px) {
    .fbl24-news-layout {
        grid-template-columns: 230px minmax(0, 1fr);
    }

    .fbl24-news-right {
        grid-column: 2;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fbl24-news-subscribe {
        grid-column: 1 / -1;
    }
}

@media (max-width: 900px) {
    .fbl24-news-layout {
        grid-template-columns: 1fr;
        padding: 18px 14px 112px;
    }

    .fbl24-news-left,
    .fbl24-news-right {
        grid-column: auto;
    }

    .fbl24-news-category-list,
    .fbl24-news-right {
        display: flex;
        gap: 10px;
        overflow-x: auto;
        overscroll-behavior-x: contain;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .fbl24-news-category-list::-webkit-scrollbar,
    .fbl24-news-right::-webkit-scrollbar {
        display: none;
    }

    .fbl24-news-category {
        flex: 0 0 auto;
        width: auto;
        min-width: max-content;
        padding-right: 14px;
    }

    .fbl24-news-promo {
        min-height: 240px;
    }

    .fbl24-news-right > .fbl24-news-card {
        flex: 0 0 310px;
    }
}

@media (max-width: 760px) {
    .fbl24-news-layout {
        padding: 16px 12px 112px;
    }

    .fbl24-news-card {
        padding: 14px;
    }

    .fbl24-news-top-grid {
        grid-template-columns: 1fr;
    }

    .fbl24-news-hero-story {
        min-height: 320px;
    }

    .fbl24-news-badge {
        left: 16px;
        top: 16px;
    }

    .fbl24-news-hero-copy {
        padding: 0 16px 18px;
    }

    .fbl24-news-toolbar,
    .fbl24-news-latest-head {
        align-items: stretch;
        flex-direction: column;
    }

    .fbl24-news-searchbox,
    .fbl24-news-sort-wrap,
    .fbl24-news-sort-wrap select {
        width: 100%;
        min-width: 0;
    }

    .fbl24-news-list-row {
        grid-template-columns: 108px minmax(0, 1fr);
        gap: 12px;
        min-height: 92px;
    }

    .fbl24-news-row-img {
        height: 78px;
    }

    .fbl24-news-row-body strong {
        font-size: 15px;
    }

    .fbl24-news-row-body em {
        display: none;
    }

    .fbl24-news-top-small {
        grid-template-columns: 96px minmax(0, 1fr);
        min-height: 86px;
    }

    .fbl24-news-top-small img {
        height: 78px;
    }

    .fbl24-news-subscribe form {
        grid-template-columns: 1fr;
    }
}

/* Match Center */
#fbl24-match-center {
    width: 100%;
    min-height: 100vh;
    overflow-x: clip;
    background: var(--fbl24-bg);
    color: var(--fbl24-navy);
}

.fbl24-mc-layout {
    width: min(100%, 1500px);
    margin: 0 auto;
    padding: 22px 28px 80px;
}

.fbl24-mc-breadcrumbs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 9px;
    margin-bottom: 14px;
    color: #52627a;
    font-size: 13px;
    font-weight: 800;
}

.fbl24-mc-breadcrumbs a {
    color: var(--fbl24-green-dark);
    text-decoration: none;
}

.fbl24-mc-breadcrumbs span::before {
    content: "/";
    margin-right: 9px;
    color: #9aa8bb;
}

.fbl24-mc-hero,
.fbl24-mc-tabs,
.fbl24-mc-card {
    border: 1px solid var(--fbl24-line);
    border-radius: 18px;
    background: #fff;
    box-shadow: var(--fbl24-shadow-soft);
}

.fbl24-mc-hero {
    position: relative;
    overflow: hidden;
    padding: 18px 22px;
}

.fbl24-mc-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 50% 0%, rgba(7, 148, 63, .1), transparent 25rem),
        linear-gradient(90deg, rgba(7, 148, 63, .08), transparent 34%, transparent 66%, rgba(7, 148, 63, .06));
}

.fbl24-mc-hero > * {
    position: relative;
    z-index: 1;
}

.fbl24-mc-hero-meta,
.fbl24-mc-hero-foot {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
    color: #34445b;
    font-size: 13px;
    font-weight: 850;
}

.fbl24-mc-hero-meta span,
.fbl24-mc-hero-foot span {
    min-height: 28px;
    border-radius: 999px;
    background: #f3f7fb;
    padding: 6px 12px;
}

.fbl24-mc-scoreboard {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 24px;
    margin: 18px 0;
}

.fbl24-mc-team {
    display: grid;
    justify-items: center;
    gap: 10px;
    min-width: 0;
    text-align: center;
}

.fbl24-mc-team img {
    width: 96px;
    height: 96px;
    object-fit: contain;
    border: 1px solid var(--fbl24-line);
    border-radius: 24px;
    background: #fff;
    padding: 8px;
    box-shadow: 0 10px 20px rgba(15, 23, 42, .08);
}

.fbl24-mc-team strong {
    max-width: 100%;
    overflow: hidden;
    color: var(--fbl24-navy);
    font-size: 20px;
    font-weight: 950;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fbl24-mc-score {
    display: grid;
    justify-items: center;
    gap: 7px;
    min-width: 160px;
    text-align: center;
}

.fbl24-mc-status {
    min-height: 26px;
    border-radius: 999px;
    background: var(--fbl24-green);
    color: #fff;
    padding: 5px 10px;
    font-size: 12px;
    font-weight: 950;
    text-transform: uppercase;
}

.fbl24-mc-status.is-finished {
    background: #16a34a;
}

.fbl24-mc-status.is-upcoming {
    background: #2563eb;
}

.fbl24-mc-score strong {
    color: var(--fbl24-navy);
    font-size: clamp(42px, 6vw, 70px);
    font-weight: 950;
    line-height: 1;
}

.fbl24-mc-score small {
    color: var(--fbl24-green-dark);
    font-size: 18px;
    font-weight: 950;
}

.fbl24-mc-scorers {
    display: grid;
    gap: 3px;
    min-height: 18px;
    color: #52627a;
    font-size: 12px;
    font-weight: 780;
}

.fbl24-mc-tabs {
    display: flex;
    gap: 8px;
    margin: 14px 0;
    padding: 10px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
}

.fbl24-mc-tabs::-webkit-scrollbar {
    display: none;
}

.fbl24-mc-tabs button,
.fbl24-mc-card-head button,
.fbl24-mc-event-filters button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: #4c5d74;
    cursor: pointer;
    font: 900 13px Outfit, system-ui, sans-serif;
    white-space: nowrap;
}

.fbl24-mc-tabs button {
    flex: 0 0 auto;
    min-height: 38px;
    padding: 0 14px;
}

.fbl24-mc-tabs button.is-active {
    background: var(--fbl24-green);
    color: #fff;
    box-shadow: 0 12px 24px rgba(7, 148, 63, .18);
}

.fbl24-mc-view {
    display: none;
}

.fbl24-mc-view.is-active {
    display: block;
}

.fbl24-mc-grid {
    display: grid;
    grid-template-columns: 360px minmax(0, 1fr) 340px;
    gap: 18px;
    align-items: start;
}

.fbl24-mc-left,
.fbl24-mc-center,
.fbl24-mc-right {
    display: grid;
    gap: 16px;
    min-width: 0;
}

.fbl24-mc-card {
    min-width: 0;
    padding: 16px;
}

.fbl24-mc-card h2 {
    margin: 0;
    color: var(--fbl24-navy);
    font-size: 18px;
    line-height: 1.1;
}

.fbl24-mc-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}

.fbl24-mc-card-head button {
    color: var(--fbl24-green-dark);
    text-decoration: none;
}

.fbl24-mc-empty,
.fbl24-mc-loading {
    display: grid;
    place-items: center;
    min-height: 120px;
    border: 1px dashed var(--fbl24-line);
    border-radius: 14px;
    background: #f8fafc;
    color: var(--fbl24-muted);
    text-align: center;
    padding: 18px;
    font-weight: 850;
}

.fbl24-mc-loading {
    background:
        linear-gradient(90deg, transparent, rgba(255, 255, 255, .72), transparent),
        #edf2f7;
    background-size: 220% 100%;
    animation: fbl24-news-shimmer 1.1s infinite;
}

.fbl24-mc-timeline,
.fbl24-mc-event-list {
    display: grid;
    gap: 0;
}

.fbl24-mc-event-row {
    display: grid;
    grid-template-columns: 52px 34px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    min-height: 58px;
    border-bottom: 1px solid var(--fbl24-line);
    color: var(--fbl24-navy);
}

.fbl24-mc-event-row:last-child {
    border-bottom: 0;
}

.fbl24-mc-event-row time {
    color: var(--fbl24-green-dark);
    font-size: 16px;
    font-weight: 950;
}

.fbl24-mc-event-icon {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border-radius: 999px;
    background: var(--fbl24-green-soft);
    color: var(--fbl24-green-dark);
}

.fbl24-mc-event-row strong {
    display: block;
    overflow: hidden;
    color: var(--fbl24-navy);
    font-size: 14px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fbl24-mc-event-row small {
    display: block;
    overflow: hidden;
    color: var(--fbl24-muted);
    font-size: 12px;
    font-weight: 750;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fbl24-mc-event-score {
    border-radius: 999px;
    background: var(--fbl24-green-soft);
    color: var(--fbl24-green-dark);
    padding: 5px 9px;
    font-size: 12px;
    font-weight: 950;
}

.fbl24-mc-event-filters {
    display: flex;
    gap: 8px;
    margin-bottom: 12px;
    overflow-x: auto;
    scrollbar-width: none;
}

.fbl24-mc-event-filters::-webkit-scrollbar {
    display: none;
}

.fbl24-mc-event-filters button {
    flex: 0 0 auto;
    min-height: 34px;
    border: 1px solid var(--fbl24-line);
    background: #fff;
    padding: 0 12px;
}

.fbl24-mc-event-filters button.is-active {
    border-color: var(--fbl24-green);
    background: var(--fbl24-green);
    color: #fff;
}

.fbl24-mc-info-list {
    display: grid;
    gap: 10px;
}

.fbl24-mc-info-row {
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr);
    align-items: start;
    gap: 10px;
    min-height: 38px;
}

.fbl24-mc-info-row i {
    color: var(--fbl24-green-dark);
}

.fbl24-mc-info-row span {
    display: block;
    color: var(--fbl24-muted);
    font-size: 12px;
    font-weight: 800;
}

.fbl24-mc-info-row strong {
    display: block;
    overflow-wrap: anywhere;
    color: var(--fbl24-navy);
    font-size: 13px;
    font-weight: 900;
}

.fbl24-mc-stats {
    display: grid;
    gap: 12px;
}

.fbl24-mc-stat-row {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) 42px;
    align-items: center;
    gap: 10px;
}

.fbl24-mc-stat-row b {
    color: var(--fbl24-navy);
    font-size: 13px;
    font-weight: 950;
    text-align: center;
}

.fbl24-mc-stat-mid {
    display: grid;
    gap: 5px;
}

.fbl24-mc-stat-mid span {
    color: #52627a;
    font-size: 12px;
    font-weight: 850;
    text-align: center;
}

.fbl24-mc-stat-track {
    position: relative;
    height: 7px;
    overflow: hidden;
    border-radius: 999px;
    background: #edf2f7;
}

.fbl24-mc-stat-home,
.fbl24-mc-stat-away {
    position: absolute;
    top: 0;
    bottom: 0;
}

.fbl24-mc-stat-home {
    right: 50%;
    background: var(--fbl24-green);
}

.fbl24-mc-stat-away {
    left: 50%;
    background: #2563eb;
}

.fbl24-mc-lineups {
    display: grid;
    gap: 12px;
}

.fbl24-mc-lineup-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    color: var(--fbl24-navy);
    font-size: 13px;
    font-weight: 900;
}

.fbl24-mc-lineup-head span:nth-child(2) {
    border-radius: 999px;
    background: var(--fbl24-green-soft);
    color: var(--fbl24-green-dark);
    padding: 5px 10px;
}

.fbl24-mc-pitch {
    position: relative;
    width: min(100%, 620px);
    aspect-ratio: .75;
    min-height: 580px;
    margin: 0 auto;
    overflow: hidden;
    border: 5px solid rgba(255, 255, 255, .92);
    border-radius: 18px;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, .08) 50%, transparent 50%),
        repeating-linear-gradient(0deg, rgba(255, 255, 255, .04) 0 28px, rgba(0, 0, 0, .04) 28px 56px),
        linear-gradient(180deg, #219747, #137331);
    box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .32), 0 18px 34px rgba(22, 101, 52, .18);
}

.fbl24-mc-pitch::before,
.fbl24-mc-pitch::after {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    border: 2px solid rgba(255, 255, 255, .72);
    pointer-events: none;
}

.fbl24-mc-pitch::before {
    top: 0;
    width: 44%;
    height: 14%;
    border-top: 0;
}

.fbl24-mc-pitch::after {
    bottom: 0;
    width: 44%;
    height: 14%;
    border-bottom: 0;
}

.fbl24-mc-pitch-line {
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    border-top: 2px solid rgba(255, 255, 255, .72);
}

.fbl24-mc-pitch-circle {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 23%;
    aspect-ratio: 1;
    border: 2px solid rgba(255, 255, 255, .72);
    border-radius: 999px;
    transform: translate(-50%, -50%);
}

.fbl24-mc-player {
    position: absolute;
    display: grid;
    justify-items: center;
    width: 78px;
    min-height: 74px;
    color: #fff;
    text-align: center;
    transform: translate(-50%, -50%);
}

.fbl24-mc-player img {
    width: 42px;
    height: 42px;
    object-fit: cover;
    border: 2px solid #fff;
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 8px 16px rgba(0, 0, 0, .22);
}

.fbl24-mc-player b {
    position: absolute;
    right: 16px;
    top: -2px;
    display: grid;
    place-items: center;
    min-width: 20px;
    height: 20px;
    border-radius: 999px;
    background: #fff;
    color: var(--fbl24-navy);
    font-size: 11px;
}

.fbl24-mc-player strong {
    max-width: 74px;
    overflow: hidden;
    margin-top: 3px;
    color: #fff;
    font-size: 11px;
    font-weight: 900;
    text-overflow: ellipsis;
    text-shadow: 0 1px 3px rgba(0, 0, 0, .45);
    white-space: nowrap;
}

.fbl24-mc-next {
    display: grid;
    gap: 10px;
}

.fbl24-mc-next-row,
.fbl24-mc-h2h-row,
.fbl24-mc-news-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
    border-bottom: 1px solid var(--fbl24-line);
    color: inherit;
    padding: 10px 0;
    text-decoration: none;
}

.fbl24-mc-next-row:last-child,
.fbl24-mc-h2h-row:last-child,
.fbl24-mc-news-row:last-child {
    border-bottom: 0;
}

.fbl24-mc-h2h-row {
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
}

.fbl24-mc-h2h-row > strong {
    color: var(--fbl24-green);
    font-size: 17px;
    text-align: center;
    white-space: nowrap;
}

.fbl24-mc-h2h-row .fbl24-mc-mini-teams:last-child {
    justify-content: flex-end;
}

.fbl24-mc-mini-teams {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    color: var(--fbl24-navy);
    font-size: 13px;
    font-weight: 900;
}

.fbl24-mc-mini-teams img {
    width: 26px;
    height: 26px;
    object-fit: contain;
    flex: 0 0 auto;
}

.fbl24-mc-mini-teams span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fbl24-mc-table {
    width: 100%;
    border-collapse: collapse;
    color: var(--fbl24-navy);
}

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

.fbl24-mc-table th {
    color: var(--fbl24-muted);
    font-size: 11px;
    text-transform: uppercase;
}

@media (max-width: 1180px) {
    .fbl24-mc-grid {
        grid-template-columns: minmax(0, 1fr) 320px;
    }

    .fbl24-mc-left {
        grid-column: 1 / -1;
    }
}

@media (max-width: 900px) {
    .fbl24-mc-layout {
        padding: 18px 14px 112px;
    }

    .fbl24-mc-grid,
    .fbl24-mc-scoreboard {
        grid-template-columns: 1fr;
    }

    .fbl24-mc-team.is-away {
        order: 3;
    }

    .fbl24-mc-score {
        order: 2;
    }

    .fbl24-mc-pitch {
        min-height: 520px;
    }
}

@media (max-width: 560px) {
    .fbl24-mc-layout {
        padding-inline: 10px;
    }

    .fbl24-mc-hero,
    .fbl24-mc-card {
        padding: 14px;
    }

    .fbl24-mc-team img {
        width: 74px;
        height: 74px;
        border-radius: 18px;
    }

    .fbl24-mc-event-row {
        grid-template-columns: 44px 30px minmax(0, 1fr);
    }

    .fbl24-mc-event-score {
        display: none;
    }

    .fbl24-mc-pitch {
        min-height: 470px;
    }

    .fbl24-mc-player {
        width: 58px;
    }

    .fbl24-mc-player img {
        width: 34px;
        height: 34px;
    }

    .fbl24-mc-player b {
        right: 6px;
    }

    .fbl24-mc-player strong {
        max-width: 56px;
        font-size: 10px;
    }
}

/* Final clean-light system overrides */
body.fbl24-clean-ui,
body.fbl24-theme,
body.fbl24-theme-light {
    background: #f6f8fb !important;
    color: var(--fbl24-navy) !important;
}

body.fbl24-clean-ui .fbl24-main-header {
    position: sticky;
    top: var(--wp-admin--admin-bar--height, 0px);
    z-index: 9990;
    border-bottom: 1px solid var(--fbl24-line);
    background: rgba(255, 255, 255, .98);
    box-shadow: 0 8px 24px rgba(15, 23, 42, .05);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

.fbl24-topbar {
    border-bottom: 1px solid var(--fbl24-line);
    background: #fff;
}

.fbl24-topbar-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    width: min(100%, 1500px);
    min-height: 48px;
    margin: 0 auto;
    padding: 0 28px;
}

.fbl24-top-live,
.fbl24-top-actions {
    display: flex;
    align-items: center;
    min-width: 0;
    gap: 16px;
    color: var(--fbl24-navy);
    font-size: 14px;
    font-weight: 800;
    text-decoration: none;
}

.fbl24-top-live.is-hidden {
    visibility: hidden;
}

.fbl24-top-live-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border-radius: 9px;
    background: var(--fbl24-green);
    color: #fff;
    padding: 8px 14px;
    box-shadow: 0 8px 18px rgba(7, 148, 63, .2);
}

.fbl24-top-live-pill i {
    width: 9px;
    height: 9px;
    border-radius: 999px;
    background: #d9ffe6;
}

.fbl24-top-live strong {
    color: var(--fbl24-green);
    white-space: nowrap;
}

.fbl24-top-league,
.fbl24-top-actions a,
.fbl24-top-actions button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 0;
    background: transparent;
    color: var(--fbl24-navy);
    font: inherit;
    font-size: 14px;
    text-decoration: none;
    cursor: pointer;
    white-space: nowrap;
}

.fbl24-top-actions button[data-fbl24-coming-soon] {
    cursor: default;
}

.fbl24-top-sep {
    width: 1px;
    height: 24px;
    background: var(--fbl24-line);
}

body.fbl24-clean-ui .fbl24-header-inner {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr) auto;
    align-items: center;
    gap: 28px;
    width: min(100%, 1500px);
    min-height: 86px;
    margin: 0 auto;
    padding: 0 28px;
}

body.fbl24-clean-ui .fbl24-brand {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    color: var(--fbl24-navy);
    text-decoration: none;
}

body.fbl24-clean-ui .fbl24-brand-logo {
    width: 50px;
    height: 50px;
    border-radius: 12px;
    object-fit: contain;
}

body.fbl24-clean-ui .fbl24-brand-name {
    color: var(--fbl24-navy);
    font-family: Outfit, system-ui, sans-serif;
    font-size: 36px;
    font-weight: 900;
    letter-spacing: 0;
}

body.fbl24-clean-ui .fbl24-brand-name span {
    color: var(--fbl24-green);
}

body.fbl24-clean-ui .fbl24-primary-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 34px;
    min-width: 0;
}

body.fbl24-clean-ui .fbl24-nav-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-height: 54px;
    border: 0 !important;
    background: transparent !important;
    color: var(--fbl24-navy) !important;
    box-shadow: none !important;
    font-size: 16px;
    font-weight: 850;
    text-decoration: none;
    white-space: nowrap;
}

body.fbl24-clean-ui .fbl24-nav-link.is-active,
body.fbl24-clean-ui .fbl24-nav-link[aria-current="page"],
body.fbl24-clean-ui .fbl24-nav-link:hover {
    color: var(--fbl24-green) !important;
}

body.fbl24-clean-ui .fbl24-nav-link::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 8px;
    left: 0;
    height: 3px;
    border-radius: 999px;
    background: transparent;
}

body.fbl24-clean-ui .fbl24-nav-link.is-active::after,
body.fbl24-clean-ui .fbl24-nav-link[aria-current="page"]::after {
    background: var(--fbl24-green);
}

body.fbl24-clean-ui .fbl24-header-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 14px;
    min-width: 0;
}

body.fbl24-clean-ui .fbl24-header-search {
    width: min(390px, 28vw);
    height: 52px;
    border: 1px solid var(--fbl24-line);
    border-radius: 13px;
    background: #fff;
    box-shadow: var(--fbl24-shadow-soft);
}

body.fbl24-clean-ui .fbl24-header-search input {
    color: var(--fbl24-navy);
    font-size: 15px;
}

body.fbl24-clean-ui .fbl24-header-search input::placeholder {
    color: #8a99ad;
}

body.fbl24-clean-ui .fbl24-header-search button,
body.fbl24-clean-ui .fbl24-search-icon,
body.fbl24-clean-ui .fbl24-header-alert,
body.fbl24-clean-ui .fbl24-menu-btn {
    width: 52px;
    height: 52px;
    border: 1px solid var(--fbl24-line);
    border-radius: 13px;
    background: #fff;
    color: var(--fbl24-navy);
    box-shadow: var(--fbl24-shadow-soft);
}

body.fbl24-clean-ui .fbl24-header-search button {
    border: 0;
    box-shadow: none;
}

body.fbl24-clean-ui .fbl24-header-alert {
    position: relative;
}

body.fbl24-clean-ui .fbl24-header-alert span:not(:empty) {
    position: absolute;
    top: -5px;
    right: -5px;
    display: grid;
    min-width: 19px;
    height: 19px;
    place-items: center;
    border-radius: 999px;
    background: var(--fbl24-green);
    color: #fff;
    font-size: 11px;
    font-weight: 900;
}

body.fbl24-clean-ui .fbl24-login-link,
body.fbl24-clean-ui .fbl24-join-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    border-radius: 12px;
    padding: 0 26px;
    font-size: 15px;
    font-weight: 850;
    text-decoration: none;
}

body.fbl24-clean-ui .fbl24-login-link {
    border: 1px solid var(--fbl24-green);
    background: #fff;
    color: var(--fbl24-green);
}

body.fbl24-clean-ui .fbl24-join-link {
    border: 1px solid var(--fbl24-green);
    background: var(--fbl24-green);
    color: #fff;
    box-shadow: 0 12px 22px rgba(7, 148, 63, .2);
}

body.fbl24-clean-ui .fbl24-profile-btn {
    min-height: 52px;
    border: 1px solid var(--fbl24-line);
    border-radius: 13px;
    background: #fff;
    color: var(--fbl24-navy);
    box-shadow: var(--fbl24-shadow-soft);
}

body.fbl24-clean-ui .fbl24-avatar {
    width: 38px;
    height: 38px;
    border-radius: 10px;
}

.fbl24-site-footer {
    margin-top: 54px;
    border-top: 1px solid var(--fbl24-line);
    background: #fff;
    color: var(--fbl24-navy);
}

.fbl24-footer-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr));
    gap: 18px;
    width: min(100%, 1280px);
    margin: 0 auto;
    padding: 34px 24px 22px;
}

.fbl24-footer-brand,
.fbl24-footer-card {
    border: 1px solid var(--fbl24-line);
    border-radius: 18px;
    background: #fff;
    padding: 20px;
    box-shadow: var(--fbl24-shadow-soft);
}

.fbl24-footer-logo {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--fbl24-navy);
    font-size: 32px;
    font-weight: 950;
    text-decoration: none;
}

.fbl24-footer-logo img {
    width: 42px;
    height: 42px;
    object-fit: contain;
    border-radius: 10px;
}

.fbl24-footer-logo span span {
    color: var(--fbl24-green);
}

.fbl24-footer-brand p,
.fbl24-footer-bottom p {
    color: var(--fbl24-muted);
    line-height: 1.6;
}

.fbl24-footer-mini {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 16px;
}

.fbl24-footer-mini a,
.fbl24-footer-card a,
.fbl24-footer-card button {
    display: flex;
    align-items: center;
    gap: 9px;
    width: 100%;
    border: 0;
    border-radius: 11px;
    background: transparent;
    color: #52627a;
    padding: 9px 10px;
    font: inherit;
    font-weight: 800;
    text-align: left;
    text-decoration: none;
}

.fbl24-footer-mini a {
    width: auto;
    background: var(--fbl24-green-soft);
    color: var(--fbl24-green-dark);
}

.fbl24-footer-card a:hover,
.fbl24-footer-card button:hover {
    background: var(--fbl24-green-soft);
    color: var(--fbl24-green-dark);
}

.fbl24-footer-card h2 {
    margin: 0 0 12px;
    color: var(--fbl24-navy);
    font-size: 16px;
}

.fbl24-footer-social {
    display: flex;
    gap: 8px;
    margin-top: 12px;
}

.fbl24-footer-social a {
    width: 42px;
    justify-content: center;
    border: 1px solid var(--fbl24-line);
    background: #fff;
}

.fbl24-footer-bottom {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    width: min(100%, 1280px);
    margin: 0 auto;
    border-top: 1px solid var(--fbl24-line);
    padding: 18px 24px 88px;
    font-size: 13px;
}

.fbl24-mobile-bottom-nav {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 9980;
    display: none;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 4px;
    width: 100%;
    max-width: 100vw;
    border-top: 1px solid var(--fbl24-line);
    background: rgba(255, 255, 255, .96);
    padding: 8px 8px calc(8px + env(safe-area-inset-bottom));
    box-shadow: 0 -14px 30px rgba(15, 23, 42, .08);
}

.mobile-bottom-link {
    display: grid;
    justify-items: center;
    gap: 3px;
    min-width: 0;
    border-radius: 13px;
    color: #64748b;
    padding: 7px 2px;
    font-size: 10px;
    font-weight: 850;
    text-decoration: none;
}

.mobile-bottom-link i {
    color: var(--fbl24-green);
    font-size: 16px;
}

.mobile-bottom-link:hover,
.mobile-bottom-link[aria-current="page"],
.mobile-bottom-link.is-active {
    background: var(--fbl24-green-soft);
    color: var(--fbl24-green-dark);
}

.fbl24-back-to-top {
    position: fixed;
    right: 20px;
    bottom: 24px;
    z-index: 9970;
    display: grid;
    width: 46px;
    height: 46px;
    place-items: center;
    border: 0;
    border-radius: 14px;
    background: var(--fbl24-green);
    color: #fff;
    box-shadow: 0 14px 26px rgba(7, 148, 63, .24);
}

.fbl24-auth-modal {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(15, 23, 42, .24);
    padding: 18px;
}

.fbl24-auth-dialog {
    position: relative;
    width: min(100%, 430px);
    border: 1px solid var(--fbl24-line);
    border-radius: 22px;
    background: #fff;
    padding: 26px;
    box-shadow: 0 28px 80px rgba(15, 23, 42, .22);
}

.fbl24-auth-close {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 38px;
    height: 38px;
    border: 1px solid var(--fbl24-line);
    border-radius: 12px;
    background: #fff;
    color: var(--fbl24-navy);
}

.fbl24-auth-head {
    margin-bottom: 20px;
    text-align: center;
}

.fbl24-auth-head > span {
    display: inline-grid;
    width: 52px;
    height: 52px;
    place-items: center;
    border-radius: 16px;
    background: var(--fbl24-green-soft);
    color: var(--fbl24-green);
}

.fbl24-auth-head h3 {
    margin: 12px 0 6px;
    color: var(--fbl24-navy);
    font-size: 28px;
}

.fbl24-auth-head p,
.fbl24-auth-toggle {
    color: var(--fbl24-muted);
}

.fbl24-auth-form,
.fbl24-auth-field {
    display: grid;
    gap: 10px;
}

.fbl24-auth-form {
    gap: 14px;
}

.fbl24-auth-field label {
    color: #52627a;
    font-size: 12px;
    font-weight: 850;
    text-transform: uppercase;
}

.fbl24-auth-field input {
    width: 100%;
    min-height: 48px;
    border: 1px solid var(--fbl24-line);
    border-radius: 13px;
    background: #fff;
    color: var(--fbl24-navy);
    padding: 0 14px;
    font: inherit;
}

.fbl24-auth-submit {
    min-height: 50px;
    border: 0;
    border-radius: 13px;
    background: var(--fbl24-green);
    color: #fff;
    font-weight: 900;
}

.fbl24-auth-toggle {
    margin: 18px 0 0;
    text-align: center;
}

.fbl24-auth-toggle button {
    border: 0;
    background: transparent;
    color: var(--fbl24-green);
    font: inherit;
    font-weight: 900;
}

.fbl24-auth-message {
    border: 1px solid var(--fbl24-line);
    border-radius: 12px;
    background: #f8fafc;
    padding: 10px 12px;
    color: var(--fbl24-navy);
    font-weight: 800;
    text-align: center;
}

.fbl24-auth-message.is-success {
    border-color: rgba(7, 148, 63, .22);
    background: var(--fbl24-green-soft);
    color: var(--fbl24-green-dark);
}

.fbl24-auth-message.is-error {
    border-color: rgba(225, 29, 72, .24);
    background: #fff1f2;
    color: var(--fbl24-red);
}

.fbl24-auth-submit.is-loading {
    opacity: .75;
}

.fbl24-settings-page {
    min-height: 100vh;
    padding: 40px 0 96px;
    background: #f6f8fb;
}

.fbl24-settings-shell {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}

.fbl24-settings-hero,
.fbl24-settings-card {
    border: 1px solid var(--fbl24-line);
    border-radius: 22px;
    background: #fff;
    box-shadow: var(--fbl24-shadow);
}

.fbl24-settings-hero {
    margin-bottom: 18px;
    padding: 30px;
    background:
        radial-gradient(circle at 92% 12%, rgba(7, 148, 63, .12), transparent 28%),
        linear-gradient(135deg, #fff 0%, #f4f8fb 100%);
}

.fbl24-settings-hero h1 {
    margin: 10px 0 8px;
    color: var(--fbl24-navy);
    font-size: clamp(42px, 7vw, 76px);
    line-height: .92;
}

.fbl24-settings-hero p {
    max-width: 760px;
    margin: 0;
    color: var(--fbl24-muted);
    font-weight: 750;
    line-height: 1.65;
}

.fbl24-settings-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.fbl24-settings-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 16px;
    align-items: start;
    padding: 20px;
}

.fbl24-settings-icon {
    display: inline-grid;
    width: 48px;
    height: 48px;
    place-items: center;
    border-radius: 16px;
    background: var(--fbl24-green-soft);
    color: var(--fbl24-green);
}

.fbl24-settings-card h2 {
    margin: 0 0 6px;
    color: var(--fbl24-navy);
    font-size: 20px;
}

.fbl24-settings-card p {
    margin: 0;
    color: var(--fbl24-muted);
    font-weight: 750;
    line-height: 1.55;
}

.fbl24-settings-select,
.fbl24-settings-link,
.fbl24-settings-pill {
    grid-column: 1 / -1;
    min-height: 44px;
    border: 1px solid var(--fbl24-line);
    border-radius: 13px;
    background: #f8fafc;
    color: var(--fbl24-navy);
    padding: 0 14px;
    font: inherit;
    font-weight: 850;
}

.fbl24-settings-link,
.fbl24-settings-pill {
    display: inline-flex;
    width: max-content;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

.fbl24-settings-link:hover {
    border-color: rgba(7, 148, 63, .25);
    background: var(--fbl24-green-soft);
    color: var(--fbl24-green-dark);
}

.fbl24-settings-pill {
    background: var(--fbl24-green-soft);
    color: var(--fbl24-green-dark);
}

.fbl24-settings-actions {
    grid-column: 1 / -1;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.ip-page {
    min-height: 100vh;
    padding: 40px 0 96px;
    background: #f6f8fb;
    color: var(--fbl24-navy);
}

.ip-shell {
    width: min(1120px, calc(100% - 40px));
    margin: 0 auto;
}

.ip-hero,
.ip-grid article,
.ip-content {
    border: 1px solid var(--fbl24-line);
    border-radius: 22px;
    background: #fff;
    box-shadow: var(--fbl24-shadow);
}

.ip-hero {
    margin-bottom: 16px;
    padding: 30px;
    background:
        radial-gradient(circle at 92% 12%, rgba(7, 148, 63, .12), transparent 28%),
        linear-gradient(135deg, #fff 0%, #f4f8fb 100%);
}

.ip-hero p {
    margin: 0 0 10px;
    color: var(--fbl24-green);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.ip-hero h1 {
    margin: 0 0 10px;
    color: var(--fbl24-navy);
    font-size: clamp(42px, 7vw, 74px);
    line-height: .92;
}

.ip-hero span {
    display: block;
    max-width: 780px;
    color: var(--fbl24-muted);
    font-weight: 750;
    line-height: 1.65;
}

.ip-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.ip-grid article,
.ip-content {
    padding: 20px;
}

.ip-grid article i {
    display: inline-grid;
    width: 46px;
    height: 46px;
    place-items: center;
    border-radius: 15px;
    background: var(--fbl24-green-soft);
    color: var(--fbl24-green);
}

.ip-grid article h2,
.ip-content h1,
.ip-content h2,
.ip-content h3 {
    color: var(--fbl24-navy);
}

.ip-grid article p,
.ip-content p,
.ip-content li {
    color: var(--fbl24-muted);
    font-weight: 750;
    line-height: 1.65;
}

.fbl-single-page {
    min-height: 100vh;
    padding: 34px 0 96px;
    background: #f6f8fb;
    color: var(--fbl24-navy);
}

.fbl-single-shell {
    width: min(1040px, calc(100% - 40px));
    margin: 0 auto;
}

.fbl-single-article,
.fbl-related,
.fbl-single-empty {
    overflow: hidden;
    border: 1px solid var(--fbl24-line);
    border-radius: 24px;
    background: #fff;
    box-shadow: var(--fbl24-shadow);
}

.fbl-single-header {
    padding: clamp(24px, 5vw, 48px) clamp(20px, 5vw, 54px) 22px;
}

.fbl-single-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
    color: var(--fbl24-muted);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.fbl-single-meta span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.fbl-single-category {
    border-radius: 999px;
    background: var(--fbl24-green-soft);
    color: var(--fbl24-green-dark) !important;
    padding: 7px 10px;
}

.fbl-single-header h1 {
    margin: 0;
    color: var(--fbl24-navy);
    font-size: clamp(42px, 7vw, 76px);
    line-height: .94;
    overflow-wrap: anywhere;
}

.fbl-single-image {
    margin: 0;
    border-top: 1px solid var(--fbl24-line);
    border-bottom: 1px solid var(--fbl24-line);
    background: #f8fafc;
}

.fbl-single-image img {
    display: block;
    width: 100%;
    max-height: 560px;
    object-fit: cover;
}

.fbl-single-share,
.fbl-single-tags {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    padding: 18px clamp(20px, 5vw, 54px);
}

.fbl-single-share {
    border-bottom: 1px solid var(--fbl24-line);
}

.fbl-single-share span,
.fbl-single-tags span {
    color: var(--fbl24-muted);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.fbl-single-share a,
.fbl-single-tags a,
.fbl-single-nav a,
.fbl-single-empty a {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 1px solid var(--fbl24-line);
    border-radius: 999px;
    background: #f8fafc;
    color: var(--fbl24-navy);
    padding: 0 13px;
    font-size: 12px;
    font-weight: 900;
    text-decoration: none;
    text-transform: uppercase;
}

.fbl-single-share a:hover,
.fbl-single-tags a:hover,
.fbl-single-nav a:hover,
.fbl-single-empty a:hover {
    border-color: rgba(7, 148, 63, .24);
    background: var(--fbl24-green-soft);
    color: var(--fbl24-green-dark);
}

.fbl-single-content {
    padding: clamp(24px, 5vw, 54px);
    color: #263449;
    font-size: clamp(17px, 2vw, 20px);
    line-height: 1.85;
}

.fbl-single-content p,
.fbl-single-content ul,
.fbl-single-content ol,
.fbl-single-content blockquote {
    margin-top: 0;
    margin-bottom: 1.5em;
}

.fbl-single-content h2,
.fbl-single-content h3 {
    color: var(--fbl24-navy);
    line-height: 1.05;
    margin-top: 2em;
    margin-bottom: .6em;
}

.fbl-single-content h2 {
    border-left: 4px solid var(--fbl24-green);
    padding-left: 14px;
    font-size: clamp(30px, 4vw, 46px);
}

.fbl-single-content h3 {
    font-size: clamp(24px, 3.5vw, 36px);
}

.fbl-single-content a {
    color: var(--fbl24-green-dark);
    font-weight: 850;
}

.fbl-single-content img {
    max-width: 100%;
    height: auto;
    border-radius: 16px;
}

.fbl-single-nav {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin: 18px 0;
}

.fbl-single-nav a {
    min-height: 48px;
    border-radius: 14px;
    padding: 0 18px;
}

.fbl-related {
    padding: 20px;
}

.fbl-related-head p {
    margin: 0 0 6px;
    color: var(--fbl24-green);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.fbl-related-head h2 {
    margin: 0 0 14px;
    color: var(--fbl24-navy);
    font-size: 38px;
    line-height: 1;
}

.fbl-related-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.fbl-related-card {
    overflow: hidden;
    border: 1px solid var(--fbl24-line);
    border-radius: 16px;
    background: #fff;
}

.fbl-related-image {
    display: block;
    height: 130px;
    background: #f8fafc;
}

.fbl-related-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.fbl-related-card div {
    padding: 12px;
}

.fbl-related-card span {
    color: var(--fbl24-muted);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.fbl-related-card h3 {
    margin: 6px 0 0;
    font-size: 16px;
    line-height: 1.3;
}

.fbl-related-card a {
    color: var(--fbl24-navy);
    text-decoration: none;
}

.fbl-single-empty {
    padding: 40px 24px;
    text-align: center;
}

.fbl-single-empty h1 {
    margin: 0 0 8px;
    color: var(--fbl24-navy);
    font-size: 52px;
    line-height: 1;
}

.fbl-single-empty p {
    color: var(--fbl24-muted);
}

/* Legacy route light overrides: keep old WordPress routes working while removing dark surfaces. */
body.fbl24-clean-ui .fblp-page {
    --fblp-bg: #f6f8fb;
    --fblp-card: #ffffff;
    --fblp-card2: #f8fafc;
    --fblp-line: #dbe3ef;
    --fblp-line2: #cbd6e5;
    --fblp-green: #07943f;
    --fblp-muted: #62718a;
    --fblp-text: #07142a;
}

body.fbl24-clean-ui .tp-shell,
body.fbl24-clean-ui .ac-shell {
    --t-bg: #f6f8fb;
    --t-panel: #ffffff;
    --t-solid: #ffffff;
    --t-line: #dbe3ef;
    --t-line2: #cbd6e5;
    --t-text: #07142a;
    --t-muted: #62718a;
    --ac-bg: #f6f8fb;
    --ac-panel: #ffffff;
    --ac-solid: #ffffff;
    --ac-line: #dbe3ef;
    --ac-line2: #cbd6e5;
    --ac-text: #07142a;
    --ac-muted: #62718a;
}

body.fbl24-clean-ui .fbl-auth-page,
body.fbl24-clean-ui .ac-shell,
body.fbl24-clean-ui .tp-shell,
body.fbl24-clean-ui .fblp-page,
body.fbl24-clean-ui .sr-app,
body.fbl24-clean-ui .fp-page,
body.fbl24-clean-ui .cp-page,
body.fbl24-clean-ui .hp-page,
body.fbl24-clean-ui .fbl-league-page,
body.fbl24-clean-ui .fbl-player-page,
body.fbl24-clean-ui .fbl-standings-page,
body.fbl24-clean-ui .fbl-single-page,
body.fbl24-clean-ui .ip-page {
    background: #f6f8fb !important;
    color: var(--fbl24-navy) !important;
}

body.fbl24-clean-ui :is(
    .ac-hero,.ac-card,.ac-panel,.ac-modal-box,
    .auth-shell,.auth-card,.auth-panel,.auth-benefit,.fbl-auth-page form,
    .fblp-hero,.fblp-toolbar,.fblp-side-card,.fblp-status,.fblp-card,.fblp-statline div,.fblp-hero-card div,
    .sr-hero,.sr-panel,.sr-card,.sr-empty,.sr-search,.sr-result,.sr-stat,
    .fp-hero,.fp-gate,.fp-tabs,.fp-stat,.fp-card,.fp-empty,
    .cp-hero,.cp-toolbar,.cp-selected article,.cp-selected-head,.cp-card,.cp-empty,
    .hp-hero,.hp-toolbar,.hp-panel,.hp-empty,.hp-row,
    .tp-card,.tp-panel,.tp-panels,.tp-tab,.tp-player-card,.tp-modal-box,
    .fbl-league-page .panel,.fbl-league-page .card,.fbl-league-page .hero,.fbl-league-page .tab,.fbl-league-page .league-card,
    .fbl-player-page .panel,.fbl-player-page .card,.fbl-player-page .hero,
    .fbl-standings-page .panel,.fbl-standings-page .card,.fbl-standings-page .hero,
    .fbl-single-page .fbl-single-card,.fbl-single-page article,.ip-card,.ip-hero
) {
    border-color: var(--fbl24-line) !important;
    background: #fff !important;
    color: var(--fbl24-navy) !important;
    box-shadow: var(--fbl24-shadow) !important;
}

body.fbl24-clean-ui :is(
    .ac-hero h1,.ac-card h2,.ac-panel h2,
    .auth-card h1,.auth-card h2,.auth-card h3,
    .fblp-hero h1,.fblp-side-title,.fblp-status h2,.fblp-card strong,.fblp-name strong,.fblp-statline strong,
    .sr-hero h1,.sr-panel h2,.sr-card h3,.sr-empty h2,
    .fp-hero h1,.fp-gate h2,.fp-card h3,.fp-empty h3,
    .cp-hero h1,.cp-card h3,.cp-selected h2,.cp-empty h3,
    .hp-hero h1,.hp-panel h2,.hp-empty h3,.hp-team span,
    .tp-shell h1,.tp-shell h2,.tp-shell h3,
    .fbl-league-page h1,.fbl-league-page h2,.fbl-league-page h3,
    .fbl-player-page h1,.fbl-player-page h2,.fbl-player-page h3,
    .fbl-standings-page h1,.fbl-standings-page h2,.fbl-standings-page h3,
    .fbl-single-page h1,.fbl-single-page h2,.fbl-single-page h3,.ip-page h1,.ip-page h2
) {
    color: var(--fbl24-navy) !important;
}

body.fbl24-clean-ui :is(
    .ac-hero p,.ac-card p,.ac-panel p,
    .auth-card p,.auth-benefit p,
    .fblp-hero p,.fblp-muted,.fblp-name span,.fblp-statline span,
    .sr-hero p,.sr-card p,.sr-empty p,
    .fp-hero span,.fp-card p,.fp-empty p,
    .cp-hero span,.cp-card p,.cp-row span,.cp-empty p,
    .hp-hero span,.hp-empty p,
    .tp-shell p,.tp-shell span,
    .fbl-league-page p,.fbl-player-page p,.fbl-standings-page p,.fbl-single-page p,.ip-page p
) {
    color: var(--fbl24-muted) !important;
}

body.fbl24-clean-ui :is(
    .fblp-search-box,.fblp-select-grid select,.fblp-side-btn,.fblp-photo,.fblp-open,
    .cp-toolbar label,.cp-row,.hp-toolbar input,.hp-row,
    .fp-tabs button,.fp-card button,.fp-hero a,.fp-gate a,
    .tp-tab.active,.tp-panels,
    .sr-app input,.sr-app select,.sr-app button,
    .fbl-auth-page input,.fbl-auth-page select,.fbl-auth-page button,
    .fbl-league-page input,.fbl-league-page select,.fbl-league-page button,
    .fbl-player-page input,.fbl-player-page select,.fbl-player-page button,
    .fbl-standings-page input,.fbl-standings-page select,.fbl-standings-page button
) {
    border-color: var(--fbl24-line) !important;
    background: #f8fafc !important;
    color: var(--fbl24-navy) !important;
}

body.fbl24-clean-ui :is(.fblp-search-box button,.fblp-load-more,.hp-toolbar button,.cp-toolbar button) {
    border-color: var(--fbl24-green) !important;
    background: var(--fbl24-green) !important;
    color: #fff !important;
}

body.fbl24-clean-ui main,
body.fbl24-clean-ui .fbl24-home-page,
body.fbl24-clean-ui .fbl24-live-page,
body.fbl24-clean-ui .fbl24-wc-page,
body.fbl24-clean-ui .fbl24-comp-page,
body.fbl24-clean-ui .fbl24-news-page,
body.fbl24-clean-ui #fbl24-match-center,
body.fbl24-clean-ui .fbl24-search-page,
body.fbl24-clean-ui .fbl24-players-page,
body.fbl24-clean-ui .fbl24-settings-page,
body.fbl24-clean-ui .fbl24-account-page,
body.fbl24-clean-ui .fbl24-favorites-page,
body.fbl24-clean-ui .fbl24-country-page,
body.fbl24-clean-ui .fbl24-h2h-page,
body.fbl24-clean-ui .fbl24-standings-page,
body.fbl24-clean-ui .fbl24-team-page,
body.fbl24-clean-ui .fbl24-player-page {
    background: #f6f8fb !important;
    color: var(--fbl24-navy) !important;
}

body.fbl24-clean-ui article,
body.fbl24-clean-ui section,
body.fbl24-clean-ui aside {
    max-width: 100%;
}

@media (max-width: 1180px) {
    body.fbl24-clean-ui .fbl24-header-inner {
        grid-template-columns: auto 1fr auto;
        gap: 16px;
    }

    body.fbl24-clean-ui .fbl24-primary-nav {
        gap: 18px;
    }

    body.fbl24-clean-ui .fbl24-header-search {
        width: min(300px, 26vw);
    }

    .fbl24-footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 860px) {
    .fbl24-topbar-inner {
        min-height: 42px;
        overflow-x: auto;
        padding: 0 16px;
    }

    .fbl24-top-actions {
        display: none;
    }

    body.fbl24-clean-ui .fbl24-header-inner {
        min-height: 70px;
        padding: 0 16px;
    }

    body.fbl24-clean-ui .fbl24-brand-name {
        font-size: 30px;
    }

    body.fbl24-clean-ui .fbl24-brand-logo {
        width: 42px;
        height: 42px;
    }

    body.fbl24-clean-ui .fbl24-primary-nav,
    body.fbl24-clean-ui .fbl24-header-search,
    body.fbl24-clean-ui .fbl24-auth-area {
        display: none;
    }

    body.fbl24-clean-ui .fbl24-search-icon,
    body.fbl24-clean-ui .fbl24-header-alert,
    body.fbl24-clean-ui .fbl24-menu-btn {
        display: inline-flex;
        width: 44px;
        height: 44px;
    }

    .fbl24-mobile-bottom-nav {
        display: grid;
    }

    .fbl24-footer-grid {
        grid-template-columns: 1fr;
        padding: 24px 16px 16px;
    }

    .fbl24-footer-bottom {
        flex-direction: column;
        padding: 16px 16px 88px;
    }

    .fbl24-settings-page {
        padding: 22px 0 104px;
    }

    .fbl24-settings-shell {
        width: min(100% - 20px, 680px);
    }

    .fbl24-settings-hero {
        padding: 22px;
    }

    .fbl24-settings-grid {
        grid-template-columns: 1fr;
    }

    .ip-page {
        padding: 22px 0 104px;
    }

    .ip-shell {
        width: min(100% - 20px, 680px);
    }

    .ip-hero {
        padding: 22px;
    }

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

    .fbl-single-page {
        padding: 18px 0 104px;
    }

    .fbl-single-shell {
        width: min(100% - 20px, 680px);
    }

    .fbl-related-grid {
        grid-template-columns: 1fr;
    }

    .fbl-single-nav {
        flex-direction: column;
    }
}
