/*
 * 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-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-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-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-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-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;
    }
}

/* League profile rebuild */
:root {
    --fbl24-header-height: 0px;
}

html {
    scroll-padding-top: calc(var(--wp-admin--admin-bar--height, 0px) + var(--fbl24-header-height, 0px) + 18px);
}

body.fbl24-clean-ui .fbl24-home-page,
body.fbl24-clean-ui .fbl24-league-profile-page {
    padding-top: clamp(18px, 2.2vw, 30px);
}

.fbl24-league-profile-page {
    background: var(--fbl24-bg);
    color: var(--fbl24-navy);
    min-height: 100vh;
    padding-bottom: 96px;
}

.fbl24-league-profile {
    width: min(100% - 56px, 1500px);
    margin: 0 auto;
}

.fbl24-league-breadcrumbs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    color: var(--fbl24-muted);
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 18px;
}

.fbl24-league-breadcrumbs a {
    color: var(--fbl24-muted);
    text-decoration: none;
}

.fbl24-league-breadcrumbs a:hover,
.fbl24-league-breadcrumbs span {
    color: var(--fbl24-green);
}

.fbl24-league-hero-card {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 20px;
    min-height: 250px;
    padding: clamp(22px, 3vw, 34px);
    border: 1px solid var(--fbl24-line);
    border-radius: 26px;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, .98) 0%, rgba(255, 255, 255, .93) 44%, rgba(255, 255, 255, .38) 100%),
        #fff;
    box-shadow: var(--fbl24-shadow);
}

.fbl24-league-hero-media {
    position: absolute;
    inset: 0 0 0 44%;
    z-index: 0;
    pointer-events: none;
}

.fbl24-league-hero-media:after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, .98), rgba(255, 255, 255, .22)),
        radial-gradient(circle at 70% 55%, rgba(7, 148, 63, .18), transparent 28rem);
}

.fbl24-league-hero-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .72;
    filter: saturate(.95) contrast(1.02);
}

.fbl24-league-identity,
.fbl24-league-actions,
.fbl24-league-stat-strip {
    position: relative;
    z-index: 1;
}

.fbl24-league-identity {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: clamp(18px, 3vw, 28px);
    max-width: 760px;
}

.fbl24-league-logo-wrap {
    width: clamp(92px, 10vw, 136px);
    height: clamp(92px, 10vw, 136px);
    display: grid;
    place-items: center;
    border-radius: 26px;
    background: #fff;
    border: 1px solid var(--fbl24-line);
    box-shadow: var(--fbl24-shadow-soft);
    padding: 16px;
}

.fbl24-league-logo-wrap img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.fbl24-league-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    padding: 8px 12px;
    border-radius: 999px;
    background: var(--fbl24-green-soft);
    color: var(--fbl24-green-dark);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.fbl24-league-title-block h1 {
    margin: 12px 0 10px;
    color: var(--fbl24-navy);
    font-family: Outfit, system-ui, sans-serif;
    font-size: clamp(34px, 4.4vw, 64px);
    line-height: .96;
    letter-spacing: 0;
}

.fbl24-league-title-block p {
    margin: 0;
    color: var(--fbl24-muted);
    font-size: 15px;
    font-weight: 700;
}

.fbl24-league-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 16px;
}

.fbl24-league-tags span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border: 1px solid var(--fbl24-line);
    border-radius: 999px;
    background: rgba(255, 255, 255, .76);
    color: var(--fbl24-navy);
    font-size: 13px;
    font-weight: 800;
}

.fbl24-league-actions {
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    gap: 10px;
}

.fbl24-league-btn,
.fbl24-league-icon-btn,
.fbl24-league-card button,
.fbl24-league-chip-row button {
    border: 1px solid var(--fbl24-line);
    background: #fff;
    color: var(--fbl24-navy);
    cursor: pointer;
    font-family: Outfit, system-ui, sans-serif;
    font-weight: 900;
}

.fbl24-league-btn {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-height: 46px;
    padding: 0 17px;
    border-radius: 14px;
    box-shadow: var(--fbl24-shadow-soft);
}

.fbl24-league-btn.is-saved,
.fbl24-league-btn:hover {
    border-color: var(--fbl24-green);
    background: var(--fbl24-green);
    color: #fff;
}

.fbl24-league-icon-btn {
    width: 46px;
    height: 46px;
    border-radius: 14px;
    box-shadow: var(--fbl24-shadow-soft);
}

.fbl24-league-icon-btn:hover {
    border-color: var(--fbl24-green);
    color: var(--fbl24-green);
}

.fbl24-league-stat-strip {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-top: 18px;
    max-width: 920px;
}

.fbl24-league-stat-strip article {
    display: grid;
    gap: 8px;
    min-height: 82px;
    align-content: center;
    padding: 16px 18px;
    border: 1px solid var(--fbl24-line);
    border-radius: 18px;
    background: rgba(255, 255, 255, .88);
    box-shadow: var(--fbl24-shadow-soft);
}

.fbl24-league-stat-strip span {
    color: var(--fbl24-muted);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.fbl24-league-stat-strip strong {
    color: var(--fbl24-navy);
    font-size: clamp(24px, 3vw, 34px);
    line-height: 1;
}

.fbl24-league-tabs {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 20px 0;
    padding: 8px;
    border: 1px solid var(--fbl24-line);
    border-radius: 20px;
    background: #fff;
    box-shadow: var(--fbl24-shadow-soft);
    overflow-x: auto;
}

.fbl24-league-tabs button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 42px;
    padding: 0 16px;
    border: 0;
    border-radius: 14px;
    background: transparent;
    color: var(--fbl24-muted);
    white-space: nowrap;
    cursor: pointer;
    font-weight: 900;
}

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

.fbl24-league-status {
    margin-bottom: 16px;
    padding: 14px 16px;
    border: 1px solid var(--fbl24-line);
    border-radius: 16px;
    background: #fff;
    color: var(--fbl24-muted);
    font-weight: 800;
}

.fbl24-league-status.is-error {
    border-color: rgba(239, 35, 60, .25);
    background: #fff1f3;
    color: var(--fbl24-red);
}

.fbl24-league-panel[hidden] {
    display: none;
}

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

.fbl24-league-panel {
    padding: clamp(14px, 2vw, 20px);
}

.fbl24-league-overview-grid {
    display: grid;
    grid-template-columns: minmax(0, 2.1fr) minmax(320px, .9fr);
    gap: 18px;
}

.fbl24-league-main-column,
.fbl24-league-side-column,
.fbl24-league-stats-grid {
    display: grid;
    gap: 18px;
}

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

.fbl24-league-card {
    padding: clamp(16px, 2vw, 20px);
}

.fbl24-league-card h2,
.fbl24-league-card h3,
.fbl24-league-panel-head h2 {
    margin: 0;
    color: var(--fbl24-navy);
    font-size: 19px;
    line-height: 1.2;
}

.fbl24-league-card-head,
.fbl24-league-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 16px;
}

.fbl24-league-card-head button {
    border: 0;
    background: transparent;
    color: var(--fbl24-green);
    padding: 0;
    font-size: 13px;
}

.fbl24-league-panel-head span {
    color: var(--fbl24-muted);
    font-size: 13px;
    font-weight: 800;
}

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

.fbl24-league-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 760px;
}

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

.fbl24-league-table th {
    color: var(--fbl24-muted);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.fbl24-league-table a {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: var(--fbl24-navy);
    text-decoration: none;
    font-weight: 900;
}

.fbl24-league-table img {
    width: 24px;
    height: 24px;
    object-fit: contain;
}

.fbl24-league-form {
    display: flex;
    gap: 4px;
}

.fbl24-league-form span {
    display: grid;
    place-items: center;
    width: 20px;
    height: 20px;
    border-radius: 999px;
    background: #e6edf6;
    color: var(--fbl24-muted);
    font-size: 10px;
    font-weight: 900;
}

.fbl24-league-form .is-w {
    background: #dcfce7;
    color: var(--fbl24-green-dark);
}

.fbl24-league-form .is-l {
    background: #ffe4e8;
    color: var(--fbl24-red);
}

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

.fbl24-league-match-row {
    display: grid;
    grid-template-columns: 88px minmax(0, 1fr) 96px minmax(0, 1fr) minmax(90px, auto);
    align-items: center;
    gap: 14px;
    min-height: 76px;
    padding: 12px 14px;
    border: 1px solid var(--fbl24-line);
    border-left: 4px solid var(--fbl24-green);
    border-radius: 16px;
    background: #fff;
    color: var(--fbl24-navy);
    text-decoration: none;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .04);
}

.fbl24-league-match-row.is-upcoming {
    border-left-color: #38bdf8;
}

.fbl24-league-match-row.is-live {
    border-left-color: var(--fbl24-red);
}

.fbl24-league-match-row:hover {
    transform: translateY(-1px);
    box-shadow: var(--fbl24-shadow-soft);
}

.fbl24-league-match-date {
    display: grid;
    gap: 3px;
    color: var(--fbl24-muted);
    font-size: 12px;
    font-weight: 900;
}

.fbl24-league-match-date small {
    color: var(--fbl24-navy);
    font-size: 12px;
}

.fbl24-league-team {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.fbl24-league-team.is-away {
    justify-content: flex-end;
    text-align: right;
}

.fbl24-league-team img {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    object-fit: contain;
    border-radius: 999px;
    border: 1px solid var(--fbl24-line);
    background: #fff;
    padding: 3px;
}

.fbl24-league-team strong,
.fbl24-league-round {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fbl24-league-score {
    display: grid;
    place-items: center;
    gap: 4px;
}

.fbl24-league-score strong {
    min-width: 72px;
    padding: 9px 11px;
    border: 1px solid var(--fbl24-line);
    border-radius: 12px;
    background: #f1f6fb;
    color: var(--fbl24-navy);
    text-align: center;
    font-size: 22px;
    line-height: 1;
}

.fbl24-league-score small {
    color: var(--fbl24-muted);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

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

.fbl24-league-chip-row {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    margin-bottom: 16px;
}

.fbl24-league-chip-row button {
    min-height: 40px;
    padding: 0 16px;
    border-radius: 999px;
    white-space: nowrap;
}

.fbl24-league-chip-row button.is-active {
    border-color: var(--fbl24-green);
    background: var(--fbl24-green);
    color: #fff;
}

.fbl24-league-search {
    display: flex;
    align-items: center;
    gap: 10px;
    width: min(100%, 320px);
    min-height: 44px;
    padding: 0 14px;
    border: 1px solid var(--fbl24-line);
    border-radius: 14px;
    background: #fff;
    color: var(--fbl24-muted);
}

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

.fbl24-league-team-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.fbl24-league-team-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    padding: 14px;
    border: 1px solid var(--fbl24-line);
    border-radius: 16px;
    background: #fff;
    color: var(--fbl24-navy);
    text-decoration: none;
    box-shadow: var(--fbl24-shadow-soft);
}

.fbl24-league-team-card img {
    width: 46px;
    height: 46px;
    object-fit: contain;
}

.fbl24-league-team-card strong,
.fbl24-league-team-card small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fbl24-league-team-card small {
    color: var(--fbl24-muted);
    font-size: 12px;
    margin-top: 3px;
}

.fbl24-league-scorer-list,
.fbl24-league-news-list,
.fbl24-league-mini-list {
    display: grid;
    gap: 10px;
}

.fbl24-league-scorer,
.fbl24-league-news-card,
.fbl24-league-mini-list a {
    display: grid;
    align-items: center;
    gap: 10px;
    color: var(--fbl24-navy);
    text-decoration: none;
}

.fbl24-league-scorer {
    grid-template-columns: 24px 42px minmax(0, 1fr) auto;
    padding: 9px 0;
}

.fbl24-rank {
    color: var(--fbl24-muted);
    font-weight: 900;
}

.fbl24-avatar {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: var(--fbl24-green-soft);
    color: var(--fbl24-green);
    overflow: hidden;
}

.fbl24-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.fbl24-league-scorer strong,
.fbl24-league-news-card strong,
.fbl24-league-mini-list strong {
    color: var(--fbl24-navy);
    font-size: 14px;
}

.fbl24-league-scorer small,
.fbl24-league-news-card small,
.fbl24-league-mini-list small {
    display: block;
    color: var(--fbl24-muted);
    font-size: 12px;
}

.fbl24-scorer-goals,
.fbl24-league-mini-list b {
    color: var(--fbl24-green);
    font-weight: 900;
}

.fbl24-league-news-card {
    grid-template-columns: 86px minmax(0, 1fr);
    padding: 10px 0;
    border-bottom: 1px solid var(--fbl24-line);
}

.fbl24-league-news-card:last-child {
    border-bottom: 0;
}

.fbl24-league-news-card img {
    width: 86px;
    height: 58px;
    border-radius: 12px;
    object-fit: cover;
    background: var(--fbl24-soft);
}

.fbl24-league-mini-list a {
    grid-template-columns: 22px minmax(0, 1fr) minmax(70px, auto) auto;
    padding: 8px 0;
    border-bottom: 1px solid var(--fbl24-line);
}

.fbl24-league-mini-list a:last-child {
    border-bottom: 0;
}

.fbl24-league-empty {
    min-height: 150px;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 8px;
    padding: 22px;
    border: 1px dashed var(--fbl24-line);
    border-radius: 18px;
    background: #fff;
    color: var(--fbl24-muted);
    text-align: center;
}

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

.fbl24-league-empty strong {
    color: var(--fbl24-navy);
}

.fbl24-league-empty span {
    color: var(--fbl24-muted);
    font-size: 13px;
    font-weight: 700;
}

@media (max-width: 1180px) {
    .fbl24-league-profile {
        width: min(100% - 28px, 980px);
    }

    .fbl24-league-overview-grid {
        grid-template-columns: 1fr;
    }

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

@media (max-width: 760px) {
    body.fbl24-clean-ui .fbl24-league-profile-page {
        padding-top: 14px;
    }

    .fbl24-league-profile {
        width: min(100% - 20px, 680px);
    }

    .fbl24-league-hero-card {
        grid-template-columns: 1fr;
        border-radius: 22px;
    }

    .fbl24-league-hero-media {
        inset: 48% 0 0 0;
        opacity: .28;
    }

    .fbl24-league-identity {
        grid-template-columns: 1fr;
    }

    .fbl24-league-logo-wrap {
        width: 82px;
        height: 82px;
        border-radius: 20px;
    }

    .fbl24-league-actions {
        justify-content: flex-start;
    }

    .fbl24-league-stat-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fbl24-league-panel-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .fbl24-league-match-row {
        grid-template-columns: 1fr auto 1fr;
        gap: 10px;
        padding: 12px;
    }

    .fbl24-league-match-date,
    .fbl24-league-round {
        grid-column: 1 / -1;
    }

    .fbl24-league-team img {
        width: 30px;
        height: 30px;
        flex-basis: 30px;
    }

    .fbl24-league-score strong {
        min-width: 62px;
        font-size: 19px;
    }

    .fbl24-league-team-grid,
    .fbl24-league-stats-grid {
        grid-template-columns: 1fr;
    }
}

/* Player profile rebuild */
body.fbl24-clean-ui .fbl24-player-profile-page {
    min-height: 100vh;
    padding: clamp(18px, 2.2vw, 30px) 0 96px;
    background: var(--fbl24-bg);
    color: var(--fbl24-navy);
}

.fbl24-player-profile {
    width: min(100% - 56px, 1540px);
    margin: 0 auto;
}

.fbl24-player-breadcrumbs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 18px;
    color: var(--fbl24-muted);
    font-size: 13px;
    font-weight: 750;
}

.fbl24-player-breadcrumbs a {
    color: var(--fbl24-muted);
    text-decoration: none;
}

.fbl24-player-breadcrumbs a:hover,
.fbl24-player-breadcrumbs span {
    color: var(--fbl24-green);
}

.fbl24-player-status {
    margin-bottom: 16px;
    padding: 14px 16px;
    border: 1px solid var(--fbl24-line);
    border-radius: 16px;
    background: #fff;
    color: var(--fbl24-muted);
    font-weight: 800;
}

.fbl24-player-status.is-error {
    border-color: rgba(239, 35, 60, .24);
    background: #fff1f3;
    color: var(--fbl24-red);
}

.fbl24-player-hero-card {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(210px, 280px) minmax(0, 1fr) auto;
    gap: clamp(20px, 3vw, 36px);
    align-items: end;
    min-height: 286px;
    padding: clamp(22px, 3vw, 34px);
    border: 1px solid var(--fbl24-line);
    border-radius: 26px 26px 0 0;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, .98) 0%, rgba(255, 255, 255, .94) 50%, rgba(255, 255, 255, .42) 100%),
        #fff;
    box-shadow: var(--fbl24-shadow);
}

.fbl24-player-hero-media {
    position: absolute;
    inset: 0 0 0 48%;
    z-index: 0;
    pointer-events: none;
}

.fbl24-player-hero-media:after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, .98), rgba(255, 255, 255, .24)),
        radial-gradient(circle at 72% 44%, rgba(7, 148, 63, .18), transparent 28rem);
}

.fbl24-player-hero-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .66;
    filter: saturate(.96) contrast(1.03);
}

.fbl24-player-photo-panel,
.fbl24-player-hero-content,
.fbl24-player-actions {
    position: relative;
    z-index: 1;
}

.fbl24-player-photo-panel {
    align-self: stretch;
    display: grid;
    place-items: end center;
    min-height: 250px;
    border-radius: 24px 24px 0 0;
    background:
        linear-gradient(180deg, rgba(233, 248, 238, .72), rgba(255, 255, 255, .96)),
        #fff;
    border: 1px solid var(--fbl24-line);
    overflow: hidden;
}

.fbl24-player-photo-panel img {
    width: 100%;
    height: 100%;
    max-height: 280px;
    object-fit: contain;
    object-position: center bottom;
    padding: 16px 18px 0;
}

.fbl24-player-photo-panel:not(.has-real-photo) img {
    max-width: 128px;
    max-height: 128px;
    align-self: center;
    padding: 18px;
    opacity: .9;
}

.fbl24-player-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    padding: 8px 12px;
    border-radius: 999px;
    background: var(--fbl24-green-soft);
    color: var(--fbl24-green-dark);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.fbl24-player-hero-content h1 {
    margin: 14px 0 8px;
    color: var(--fbl24-navy);
    font-family: Outfit, system-ui, sans-serif;
    font-size: clamp(38px, 4.2vw, 64px);
    line-height: .95;
    letter-spacing: 0;
}

.fbl24-player-hero-content p {
    margin: 0;
    color: var(--fbl24-muted);
    font-size: 15px;
    font-weight: 850;
}

.fbl24-player-clubline,
.fbl24-player-detail-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.fbl24-player-clubline {
    margin-top: 18px;
}

.fbl24-player-clubline a,
.fbl24-player-clubline span {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-height: 38px;
    padding: 7px 12px;
    border: 1px solid var(--fbl24-line);
    border-radius: 999px;
    background: rgba(255, 255, 255, .8);
    color: var(--fbl24-navy);
    text-decoration: none;
    font-size: 13px;
    font-weight: 850;
}

.fbl24-player-clubline img {
    width: 24px;
    height: 24px;
    object-fit: contain;
}

.fbl24-player-detail-row {
    margin-top: 22px;
    padding-top: 18px;
    border-top: 1px solid var(--fbl24-line);
}

.fbl24-player-detail-row article {
    min-width: 132px;
    padding-right: 22px;
    border-right: 1px solid var(--fbl24-line);
}

.fbl24-player-detail-row article:last-child {
    border-right: 0;
}

.fbl24-player-detail-row span,
.fbl24-player-stat-strip span,
.fbl24-player-stat-strip small {
    display: block;
    color: var(--fbl24-muted);
    font-size: 12px;
    font-weight: 850;
}

.fbl24-player-detail-row strong {
    display: block;
    margin-top: 5px;
    color: var(--fbl24-navy);
    font-size: 15px;
    font-weight: 900;
}

.fbl24-player-actions {
    align-self: start;
    display: flex;
    gap: 10px;
}

.fbl24-player-btn,
.fbl24-player-icon-btn,
.fbl24-player-card button {
    border: 1px solid var(--fbl24-line);
    background: #fff;
    color: var(--fbl24-navy);
    cursor: pointer;
    font-family: Outfit, system-ui, sans-serif;
    font-weight: 900;
}

.fbl24-player-btn {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-height: 46px;
    padding: 0 17px;
    border-radius: 14px;
    box-shadow: var(--fbl24-shadow-soft);
    white-space: nowrap;
}

.fbl24-player-btn:hover,
.fbl24-player-btn.is-saved {
    border-color: var(--fbl24-green);
    background: var(--fbl24-green);
    color: #fff;
}

.fbl24-player-icon-btn {
    width: 46px;
    height: 46px;
    border-radius: 14px;
    box-shadow: var(--fbl24-shadow-soft);
}

.fbl24-player-icon-btn:hover {
    border-color: var(--fbl24-green);
    color: var(--fbl24-green);
}

.fbl24-player-stat-strip {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    border: 1px solid var(--fbl24-line);
    border-top: 0;
    background: #fff;
    box-shadow: var(--fbl24-shadow-soft);
}

.fbl24-player-stat-strip article {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 4px 12px;
    min-height: 90px;
    padding: 16px;
    border-right: 1px solid var(--fbl24-line);
}

.fbl24-player-stat-strip article:last-child {
    border-right: 0;
}

.fbl24-player-stat-strip i {
    grid-row: 1 / 4;
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: var(--fbl24-green-soft);
    color: var(--fbl24-green);
}

.fbl24-player-stat-strip strong {
    color: var(--fbl24-navy);
    font-size: clamp(22px, 2.5vw, 31px);
    line-height: 1;
}

.fbl24-player-tabs {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border: 1px solid var(--fbl24-line);
    border-top: 0;
    border-radius: 0 0 22px 22px;
    background: #fff;
    box-shadow: var(--fbl24-shadow-soft);
    overflow-x: auto;
}

.fbl24-player-tabs button {
    min-height: 42px;
    padding: 0 18px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--fbl24-muted);
    white-space: nowrap;
    cursor: pointer;
    font-family: Outfit, system-ui, sans-serif;
    font-weight: 900;
}

.fbl24-player-tabs button.is-active {
    color: var(--fbl24-green);
    box-shadow: inset 0 -3px 0 var(--fbl24-green);
}

.fbl24-player-panels {
    margin-top: 18px;
}

.fbl24-player-panel[hidden] {
    display: none;
}

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

.fbl24-player-panel {
    padding: clamp(14px, 2vw, 20px);
}

.fbl24-player-overview-grid {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(320px, .92fr);
    gap: 18px;
}

.fbl24-player-main-column,
.fbl24-player-side-column {
    display: grid;
    align-content: start;
    gap: 18px;
}

.fbl24-player-card {
    padding: clamp(16px, 2vw, 20px);
}

.fbl24-player-card h2,
.fbl24-player-panel-head h2 {
    margin: 0;
    color: var(--fbl24-navy);
    font-size: 20px;
    line-height: 1.2;
}

.fbl24-player-card p {
    margin: 12px 0 0;
    color: var(--fbl24-muted);
    font-size: 14px;
    line-height: 1.6;
    font-weight: 750;
}

.fbl24-player-card-head,
.fbl24-player-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 16px;
}

.fbl24-player-card-head button {
    border: 0;
    background: transparent;
    color: var(--fbl24-green);
    padding: 0;
    font-size: 13px;
}

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

.fbl24-player-panel-head span {
    color: var(--fbl24-muted);
    font-size: 13px;
    font-weight: 800;
}

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

.fbl24-player-table {
    width: 100%;
    min-width: 720px;
    border-collapse: collapse;
}

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

.fbl24-player-table th {
    color: var(--fbl24-muted);
    font-size: 11px;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.fbl24-player-table .is-total td {
    background: #f7fafc;
    color: var(--fbl24-navy);
    font-weight: 900;
}

.fbl24-player-match-list,
.fbl24-player-news-list,
.fbl24-player-mini-list {
    display: grid;
    gap: 10px;
}

.fbl24-player-match-row {
    display: grid;
    grid-template-columns: 86px minmax(0, 1fr) 86px minmax(180px, auto);
    align-items: center;
    gap: 12px;
    min-height: 66px;
    padding: 12px 14px;
    border: 1px solid var(--fbl24-line);
    border-radius: 16px;
    background: #fff;
    color: var(--fbl24-navy);
    text-decoration: none;
}

.fbl24-player-match-row:hover,
.fbl24-player-news-card:hover,
.fbl24-player-mini-list a:hover {
    border-color: rgba(7, 148, 63, .28);
    box-shadow: 0 12px 24px rgba(15, 23, 42, .06);
}

.fbl24-player-match-row span,
.fbl24-player-match-row small {
    color: var(--fbl24-muted);
    font-size: 12px;
    font-weight: 800;
}

.fbl24-player-match-row strong,
.fbl24-player-match-row b {
    color: var(--fbl24-navy);
    font-size: 14px;
}

.fbl24-player-match-row strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fbl24-player-match-row b {
    justify-self: center;
    min-width: 64px;
    padding: 8px 10px;
    border: 1px solid var(--fbl24-line);
    border-radius: 12px;
    background: #f1f6fb;
    text-align: center;
}

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

.fbl24-player-timeline article,
.fbl24-player-honours article {
    min-height: 138px;
    padding: 16px;
    border: 1px solid var(--fbl24-line);
    border-radius: 18px;
    background: #fff;
    text-align: center;
}

.fbl24-player-timeline img {
    width: 52px;
    height: 52px;
    object-fit: contain;
    margin-bottom: 10px;
}

.fbl24-player-timeline strong,
.fbl24-player-honours strong {
    display: block;
    color: var(--fbl24-navy);
    font-size: 14px;
}

.fbl24-player-timeline span,
.fbl24-player-timeline small,
.fbl24-player-honours span {
    display: block;
    margin-top: 5px;
    color: var(--fbl24-muted);
    font-size: 12px;
    font-weight: 750;
}

.fbl24-player-honours i {
    margin-bottom: 12px;
    color: var(--fbl24-green);
    font-size: 28px;
}

.fbl24-player-current-club {
    display: grid;
    gap: 14px;
}

.fbl24-player-current-club a {
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--fbl24-navy);
    text-decoration: none;
}

.fbl24-player-current-club img,
.fbl24-player-mini-list img {
    width: 48px;
    height: 48px;
    border: 1px solid var(--fbl24-line);
    border-radius: 999px;
    background: #fff;
    object-fit: contain;
    padding: 3px;
}

.fbl24-player-current-club strong,
.fbl24-player-mini-list strong,
.fbl24-player-news-card strong {
    color: var(--fbl24-navy);
    font-size: 14px;
}

.fbl24-player-current-club small,
.fbl24-player-mini-list small,
.fbl24-player-news-card small {
    display: block;
    margin-top: 3px;
    color: var(--fbl24-muted);
    font-size: 12px;
    font-weight: 750;
}

.fbl24-player-current-club > div {
    display: flex;
    justify-content: space-between;
    padding: 12px;
    border-radius: 14px;
    background: #f7fafc;
}

.fbl24-player-current-club > div span {
    color: var(--fbl24-muted);
    font-size: 12px;
    font-weight: 850;
}

.fbl24-player-current-club > div strong {
    color: var(--fbl24-navy);
}

.fbl24-player-mini-list a {
    display: grid;
    grid-template-columns: 22px 48px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    padding: 8px 0;
    border-bottom: 1px solid var(--fbl24-line);
    color: var(--fbl24-navy);
    text-decoration: none;
}

.fbl24-player-mini-list a:last-child {
    border-bottom: 0;
}

.fbl24-player-mini-list a.is-current strong,
.fbl24-player-mini-list b {
    color: var(--fbl24-green);
    font-weight: 950;
}

.fbl24-player-news-card {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid var(--fbl24-line);
    color: var(--fbl24-navy);
    text-decoration: none;
}

.fbl24-player-news-card:last-child {
    border-bottom: 0;
}

.fbl24-player-news-card img {
    width: 92px;
    height: 62px;
    border-radius: 12px;
    background: var(--fbl24-soft);
    object-fit: cover;
}

.fbl24-player-empty {
    min-height: 150px;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 8px;
    padding: 22px;
    border: 1px dashed var(--fbl24-line);
    border-radius: 18px;
    background: #fff;
    color: var(--fbl24-muted);
    text-align: center;
}

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

.fbl24-player-empty strong {
    color: var(--fbl24-navy);
}

.fbl24-player-empty span {
    color: var(--fbl24-muted);
    font-size: 13px;
    font-weight: 700;
}

@media (max-width: 1180px) {
    .fbl24-player-profile {
        width: min(100% - 28px, 980px);
    }

    .fbl24-player-hero-card {
        grid-template-columns: 220px minmax(0, 1fr);
    }

    .fbl24-player-actions {
        grid-column: 1 / -1;
        justify-content: flex-start;
    }

    .fbl24-player-overview-grid {
        grid-template-columns: 1fr;
    }

    .fbl24-player-stat-strip {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .fbl24-player-timeline,
    .fbl24-player-honours {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    body.fbl24-clean-ui .fbl24-player-profile-page {
        padding-top: 14px;
    }

    .fbl24-player-profile {
        width: min(100% - 20px, 680px);
    }

    .fbl24-player-hero-card {
        grid-template-columns: 1fr;
        align-items: start;
        border-radius: 22px 22px 0 0;
    }

    .fbl24-player-hero-media {
        inset: 52% 0 0 0;
        opacity: .28;
    }

    .fbl24-player-photo-panel {
        min-height: 190px;
    }

    .fbl24-player-photo-panel img {
        max-height: 210px;
    }

    .fbl24-player-detail-row article {
        min-width: calc(50% - 10px);
        padding-right: 0;
        border-right: 0;
    }

    .fbl24-player-stat-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fbl24-player-stat-strip article {
        border-right: 0;
        border-bottom: 1px solid var(--fbl24-line);
    }

    .fbl24-player-tabs {
        border-radius: 0 0 18px 18px;
    }

    .fbl24-player-panel-head,
    .fbl24-player-card-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .fbl24-player-match-row {
        grid-template-columns: 1fr auto;
    }

    .fbl24-player-match-row span,
    .fbl24-player-match-row small {
        grid-column: 1 / -1;
    }

    .fbl24-player-timeline,
    .fbl24-player-honours {
        grid-template-columns: 1fr;
    }

    .fbl24-player-mini-list a {
        grid-template-columns: 22px 42px minmax(0, 1fr) auto;
    }

    .fbl24-player-current-club img,
    .fbl24-player-mini-list img {
        width: 42px;
        height: 42px;
    }
}

/* My Feed */
body.fbl24-clean-ui .fbl24-my-feed-page {
    min-height: 100vh;
    padding: 26px 0 56px;
    background:
        radial-gradient(circle at 8% 6%, rgba(9, 148, 63, .08), transparent 30%),
        linear-gradient(180deg, #f8fbff 0%, #eef3f8 100%);
}

.fbl24-my-feed {
    width: min(100% - 40px, 1500px);
    margin: 0 auto;
    color: var(--fbl24-navy);
}

.fbl24-mf-loading,
.fbl24-mf-auth-gate,
.fbl24-mf-section,
.fbl24-mf-side-card,
.fbl24-mf-menu-card {
    border: 1px solid var(--fbl24-line);
    border-radius: 22px;
    background: rgba(255, 255, 255, .94);
    box-shadow: var(--fbl24-shadow-soft);
}

.fbl24-mf-loading {
    min-height: 260px;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 10px;
    text-align: center;
}

.fbl24-mf-loading i {
    color: var(--fbl24-green);
    font-size: 30px;
}

.fbl24-mf-loading strong,
.fbl24-mf-auth-gate h1,
.fbl24-mf-head h1,
.fbl24-mf-section h2,
.fbl24-mf-side-card h2 {
    color: var(--fbl24-navy);
    font-weight: 950;
    letter-spacing: 0;
}

.fbl24-mf-loading span,
.fbl24-mf-auth-gate p,
.fbl24-mf-head p {
    color: var(--fbl24-muted);
    font-weight: 700;
}

.fbl24-mf-auth-gate {
    min-height: 460px;
    display: grid;
    place-items: center;
    padding: 42px;
    background:
        linear-gradient(120deg, rgba(255, 255, 255, .96), rgba(233, 248, 238, .86)),
        radial-gradient(circle at 85% 20%, rgba(9, 148, 63, .14), transparent 30%);
}

.fbl24-mf-auth-gate > div {
    max-width: 600px;
    text-align: center;
}

.fbl24-mf-auth-gate h1 {
    margin: 12px 0;
    font-size: clamp(34px, 5vw, 62px);
    line-height: 1;
}

.fbl24-mf-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--fbl24-green);
    font-size: 12px;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.fbl24-mf-auth-actions {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-top: 24px;
}

.fbl24-mf-primary,
.fbl24-mf-secondary,
.fbl24-mf-head a,
.fbl24-mf-promo-card a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    padding: 0 18px;
    border-radius: 14px;
    font-size: 14px;
    font-weight: 900;
    text-decoration: none;
}

.fbl24-mf-primary,
.fbl24-mf-promo-card a {
    background: var(--fbl24-green);
    color: #fff;
    box-shadow: 0 14px 28px rgba(9, 148, 63, .2);
}

.fbl24-mf-secondary,
.fbl24-mf-head a {
    border: 1px solid var(--fbl24-line);
    background: #fff;
    color: var(--fbl24-navy);
}

.fbl24-mf-layout {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr) 300px;
    gap: 24px;
    align-items: start;
}

.fbl24-mf-left,
.fbl24-mf-right {
    position: sticky;
    top: calc(var(--fbl24-header-height, 136px) + 18px);
    display: grid;
    gap: 18px;
}

.fbl24-mf-menu-card {
    padding: 16px;
}

.fbl24-mf-menu-title {
    margin: 0 0 12px;
    color: var(--fbl24-green);
    font-size: 12px;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.fbl24-mf-menu-card nav {
    display: grid;
    gap: 6px;
}

.fbl24-mf-menu-card a {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    min-height: 42px;
    padding: 0 12px;
    border-radius: 12px;
    color: var(--fbl24-navy);
    font-size: 14px;
    font-weight: 850;
    text-decoration: none;
}

.fbl24-mf-menu-card a.is-active,
.fbl24-mf-menu-card a:hover {
    background: var(--fbl24-green-soft);
    color: var(--fbl24-green);
}

.fbl24-mf-menu-card b {
    min-width: 24px;
    padding: 3px 7px;
    border-radius: 999px;
    background: var(--fbl24-soft);
    color: var(--fbl24-muted);
    font-size: 11px;
    text-align: center;
}

.fbl24-mf-promo-card {
    min-height: 230px;
    overflow: hidden;
    padding: 22px;
    border: 1px solid #b8e6c9;
    border-radius: 22px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .9), rgba(233, 248, 238, .88)),
        url("../images/auth-stadium-player-web.jpg") center bottom / cover;
    box-shadow: var(--fbl24-shadow-soft);
}

.fbl24-mf-promo-card span {
    color: var(--fbl24-green);
    font-size: 12px;
    font-weight: 950;
    text-transform: uppercase;
}

.fbl24-mf-promo-card h2 {
    margin: 12px 0 8px;
    max-width: 170px;
    color: var(--fbl24-navy);
    font-size: 24px;
    line-height: 1.05;
}

.fbl24-mf-promo-card p {
    max-width: 170px;
    color: var(--fbl24-muted);
    font-size: 13px;
    font-weight: 700;
}

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

.fbl24-mf-head {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: center;
}

.fbl24-mf-head h1 {
    margin: 4px 0 2px;
    font-size: clamp(34px, 4vw, 48px);
}

.fbl24-mf-status {
    padding: 12px 16px;
    border: 1px solid #fed7aa;
    border-radius: 14px;
    background: #fff7ed;
    color: #9a3412;
    font-weight: 850;
}

.fbl24-mf-status.is-error {
    border-color: #fecdd3;
    background: #fff1f2;
    color: #be123c;
}

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

.fbl24-mf-summary-card {
    position: relative;
    min-height: 140px;
    display: grid;
    align-content: start;
    gap: 8px;
    overflow: hidden;
    padding: 18px;
    border: 1px solid var(--fbl24-line);
    border-radius: 20px;
    background: #fff;
    box-shadow: var(--fbl24-shadow-soft);
}

.fbl24-mf-summary-card > i {
    width: 42px;
    height: 42px;
    display: inline-grid;
    place-items: center;
    border-radius: 14px;
    background: var(--fbl24-green-soft);
    color: var(--fbl24-green);
}

.fbl24-mf-summary-card span {
    color: var(--fbl24-muted);
    font-size: 12px;
    font-weight: 850;
}

.fbl24-mf-summary-card strong {
    color: var(--fbl24-navy);
    font-size: 30px;
    line-height: 1;
}

.fbl24-mf-summary-card div {
    display: flex;
    align-items: center;
    min-height: 34px;
    margin-top: 6px;
}

.fbl24-mf-avatar-stack img,
.fbl24-mf-avatar-stack span {
    width: 34px;
    height: 34px;
    display: inline-grid;
    place-items: center;
    margin-left: -8px;
    border: 2px solid #fff;
    border-radius: 999px;
    background: var(--fbl24-soft);
    color: var(--fbl24-navy);
    font-size: 14px;
    font-weight: 950;
    object-fit: contain;
}

.fbl24-mf-avatar-stack img:first-child,
.fbl24-mf-avatar-stack span:first-child {
    margin-left: 0;
}

.fbl24-mf-section {
    padding: 18px;
}

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

.fbl24-mf-section-head h2,
.fbl24-mf-side-head h2 {
    margin: 0;
    font-size: 20px;
}

.fbl24-mf-section-head a,
.fbl24-mf-side-head a {
    color: var(--fbl24-green);
    font-size: 13px;
    font-weight: 900;
    text-decoration: none;
}

.fbl24-mf-card-grid,
.fbl24-mf-match-grid,
.fbl24-mf-reco-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.fbl24-mf-card-grid.is-wide {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.fbl24-mf-fav-card,
.fbl24-mf-match-card,
.fbl24-mf-reco-card,
.fbl24-mf-prediction-card {
    min-width: 0;
    border: 1px solid var(--fbl24-line);
    border-radius: 18px;
    background: #fff;
    color: var(--fbl24-navy);
    text-decoration: none;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .05);
}

.fbl24-mf-fav-card {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    min-height: 92px;
    padding: 14px;
}

.fbl24-mf-fav-card img,
.fbl24-mf-logo-fallback {
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    border: 1px solid var(--fbl24-line);
    border-radius: 16px;
    background: #fff;
    object-fit: contain;
    padding: 4px;
    color: var(--fbl24-green);
    font-weight: 950;
}

.fbl24-mf-fav-card strong,
.fbl24-mf-match-card strong,
.fbl24-mf-reco-card strong {
    display: block;
    overflow: hidden;
    color: var(--fbl24-navy);
    font-size: 15px;
    font-weight: 950;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fbl24-mf-fav-card small,
.fbl24-mf-match-card small,
.fbl24-mf-reco-card small {
    display: block;
    margin-top: 4px;
    overflow: hidden;
    color: var(--fbl24-muted);
    font-size: 12px;
    font-weight: 750;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fbl24-mf-fav-card i {
    color: #facc15;
}

.fbl24-mf-match-card {
    min-height: 132px;
    display: grid;
    gap: 10px;
    padding: 14px;
}

.fbl24-mf-match-top,
.fbl24-mf-match-teams,
.fbl24-mf-match-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.fbl24-mf-match-top span {
    max-width: 64%;
    overflow: hidden;
    color: var(--fbl24-muted);
    font-size: 12px;
    font-weight: 900;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fbl24-mf-status-pill {
    flex: 0 0 auto;
    padding: 5px 9px;
    border-radius: 999px;
    background: var(--fbl24-green-soft);
    color: var(--fbl24-green);
    font-size: 11px;
    font-weight: 950;
    text-transform: uppercase;
}

.fbl24-mf-status-pill.is-live {
    background: #dcfce7;
    color: #047857;
}

.fbl24-mf-status-pill.is-finished {
    background: #eef2f7;
    color: var(--fbl24-muted);
}

.fbl24-mf-team {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1;
}

.fbl24-mf-team:last-child {
    justify-content: flex-end;
    text-align: right;
}

.fbl24-mf-team img {
    width: 34px;
    height: 34px;
    border: 1px solid var(--fbl24-line);
    border-radius: 999px;
    object-fit: contain;
    padding: 3px;
}

.fbl24-mf-score {
    min-width: 70px;
    padding: 8px 10px;
    border: 1px solid var(--fbl24-line);
    border-radius: 14px;
    background: #f8fafc;
    color: var(--fbl24-navy);
    font-size: 20px;
    font-weight: 950;
    text-align: center;
}

.fbl24-mf-match-meta {
    color: var(--fbl24-muted);
    font-size: 12px;
    font-weight: 800;
}

.fbl24-mf-match-meta i {
    color: var(--fbl24-green);
}

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

.fbl24-mf-prediction-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
}

.fbl24-mf-prediction-card b {
    color: var(--fbl24-green);
}

.fbl24-mf-reco-card {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    padding: 12px;
}

.fbl24-mf-empty {
    min-height: 130px;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 8px;
    padding: 18px;
    border: 1px dashed var(--fbl24-line);
    border-radius: 18px;
    background: #fbfdff;
    color: var(--fbl24-muted);
    text-align: center;
    font-size: 13px;
    font-weight: 750;
}

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

.fbl24-mf-empty strong {
    color: var(--fbl24-navy);
    font-size: 15px;
}

.fbl24-mf-side-card {
    padding: 16px;
}

.fbl24-mf-side-tabs {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 4px;
    margin-bottom: 12px;
}

.fbl24-mf-side-tabs button {
    min-height: 34px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: var(--fbl24-muted);
    font-size: 11px;
    font-weight: 900;
    cursor: pointer;
}

.fbl24-mf-side-tabs button.is-active {
    background: var(--fbl24-green-soft);
    color: var(--fbl24-green);
}

.fbl24-mf-side-list {
    display: grid;
    gap: 8px;
}

.fbl24-mf-side-item {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    padding: 8px 0;
    border-bottom: 1px solid var(--fbl24-line);
    color: var(--fbl24-navy);
    text-decoration: none;
}

.fbl24-mf-side-item:last-child {
    border-bottom: 0;
}

.fbl24-mf-side-item img,
.fbl24-mf-side-item .fbl24-mf-logo-fallback {
    width: 38px;
    height: 38px;
    border-radius: 12px;
}

.fbl24-mf-side-item strong {
    display: block;
    overflow: hidden;
    color: var(--fbl24-navy);
    font-size: 13px;
    font-weight: 950;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fbl24-mf-side-item small {
    display: block;
    overflow: hidden;
    color: var(--fbl24-muted);
    font-size: 11px;
    font-weight: 750;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fbl24-mf-side-item i,
.fbl24-mf-side-item b {
    color: var(--fbl24-green);
    font-size: 13px;
}

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

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

    .fbl24-mf-summary-grid,
    .fbl24-mf-card-grid,
    .fbl24-mf-match-grid,
    .fbl24-mf-reco-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 860px) {
    body.fbl24-clean-ui .fbl24-my-feed-page {
        padding-top: 16px;
    }

    .fbl24-my-feed {
        width: min(100% - 20px, 720px);
    }

    .fbl24-mf-layout {
        grid-template-columns: 1fr;
    }

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

    .fbl24-mf-menu-card nav {
        display: flex;
        gap: 8px;
        overflow-x: auto;
        padding-bottom: 4px;
    }

    .fbl24-mf-menu-card a {
        flex: 0 0 auto;
        min-width: 154px;
    }

    .fbl24-mf-promo-card {
        min-height: 180px;
    }

    .fbl24-mf-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .fbl24-mf-summary-grid,
    .fbl24-mf-card-grid,
    .fbl24-mf-card-grid.is-wide,
    .fbl24-mf-match-grid,
    .fbl24-mf-reco-grid,
    .fbl24-mf-right {
        grid-template-columns: 1fr;
    }

    .fbl24-mf-section,
    .fbl24-mf-side-card,
    .fbl24-mf-menu-card {
        border-radius: 18px;
    }

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

@media (max-width: 520px) {
    .fbl24-mf-fav-card,
    .fbl24-mf-reco-card {
        grid-template-columns: 48px minmax(0, 1fr);
    }

    .fbl24-mf-fav-card > i,
    .fbl24-mf-reco-card > i {
        display: none;
    }

    .fbl24-mf-match-teams {
        display: grid;
        grid-template-columns: 1fr;
    }

    .fbl24-mf-team:last-child {
        justify-content: flex-start;
        text-align: left;
    }

    .fbl24-mf-score {
        width: max-content;
    }
}

/* Clean light utility pages: Favorites, Country, H2H */
.fbl24-clean-page {
    min-height: 100vh;
    background: #f4f7fb;
    color: #071328;
    padding: 28px 0 96px;
    overflow-x: hidden;
}

.fbl24-clean-page * {
    box-sizing: border-box;
}

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

.fbl24-simple-shell--narrow {
    width: min(980px, calc(100% - 40px));
}

.fbl24-page-hero {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 22px;
    margin-bottom: 18px;
    border: 1px solid #dce5f1;
    border-radius: 24px;
    background:
        radial-gradient(circle at 88% 18%, rgba(0, 166, 83, .16), transparent 22rem),
        linear-gradient(135deg, #ffffff 0%, #f8fbff 56%, #eef8f2 100%);
    box-shadow: 0 18px 44px rgba(14, 31, 53, .08);
    padding: 28px;
}

.fbl24-page-hero--compact h1 {
    margin: 0;
    color: #071328;
    font-size: clamp(36px, 5vw, 62px);
    line-height: .98;
    letter-spacing: -.04em;
}

.fbl24-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 10px;
    color: #009a46;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.fbl24-page-hero span {
    display: block;
    max-width: 760px;
    margin-top: 10px;
    color: #5d6d83;
    font-weight: 700;
    line-height: 1.55;
}

.fbl24-green-btn,
.fbl24-outline-btn,
.fbl24-pill-row button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 42px;
    border-radius: 12px;
    font: inherit;
    font-size: 13px;
    font-weight: 900;
    text-decoration: none;
    cursor: pointer;
    touch-action: manipulation;
}

.fbl24-green-btn {
    border: 1px solid #009a46;
    background: linear-gradient(180deg, #0abf58, #009a46);
    color: #fff;
    box-shadow: 0 12px 26px rgba(0, 154, 70, .22);
    padding: 0 18px;
}

.fbl24-outline-btn {
    border: 1px solid #d7e1ed;
    background: #fff;
    color: #071328;
    padding: 0 16px;
}

.fbl24-signin-gate,
.fbl24-info-card,
.fbl24-simple-card,
.fbl24-favorite-card,
.fbl24-light-empty {
    border: 1px solid #dce5f1;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 14px 36px rgba(14, 31, 53, .07);
}

.fbl24-signin-gate {
    display: grid;
    place-items: center;
    gap: 12px;
    min-height: 320px;
    text-align: center;
    padding: 30px;
}

.fbl24-signin-gate > i,
.fbl24-light-empty > i {
    display: grid;
    place-items: center;
    width: 54px;
    height: 54px;
    border-radius: 18px;
    background: #eaf8ef;
    color: #009a46;
    font-size: 22px;
}

.fbl24-signin-gate h2,
.fbl24-light-empty h3,
.fbl24-info-card h2 {
    margin: 0;
    color: #071328;
    font-size: 22px;
    letter-spacing: -.02em;
}

.fbl24-signin-gate p,
.fbl24-light-empty p {
    margin: 0;
    color: #65758a;
    font-weight: 700;
}

.fbl24-signin-gate div {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}

.fbl24-pill-row {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    margin-bottom: 16px;
    border: 1px solid #dce5f1;
    border-radius: 18px;
    background: #fff;
    padding: 10px;
    box-shadow: 0 10px 28px rgba(14, 31, 53, .05);
    scrollbar-width: none;
}

.fbl24-pill-row::-webkit-scrollbar {
    display: none;
}

.fbl24-pill-row button {
    flex: 0 0 auto;
    min-height: 40px;
    border: 1px solid #dce5f1;
    background: #f4f7fb;
    color: #52637a;
    padding: 0 14px;
}

.fbl24-pill-row button.is-active {
    border-color: #009a46;
    background: #e8f8ee;
    color: #007f3a;
}

.fbl24-summary-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 16px;
}

.fbl24-mini-stat {
    border: 1px solid #dce5f1;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 10px 26px rgba(14, 31, 53, .05);
    padding: 14px;
}

.fbl24-mini-stat strong {
    display: block;
    color: #009a46;
    font-size: 30px;
    line-height: 1;
}

.fbl24-mini-stat span {
    color: #65758a;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
}

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

.fbl24-favorite-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    padding: 14px;
}

.fbl24-favorite-card > a,
.fbl24-item-row {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    min-width: 0;
    color: inherit;
    text-decoration: none;
}

.fbl24-favorite-card strong,
.fbl24-item-row strong,
.fbl24-data-row strong {
    display: block;
    overflow: hidden;
    color: #071328;
    font-weight: 900;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fbl24-favorite-card small,
.fbl24-item-row small,
.fbl24-data-row small {
    display: block;
    margin-top: 3px;
    color: #65758a;
    font-weight: 700;
}

.fbl24-favorite-card img,
.fbl24-item-row img,
.fbl24-data-row img,
.fbl24-h2h-team img,
.fbl24-logo-fallback {
    width: 46px;
    height: 46px;
    border: 1px solid #dce5f1;
    border-radius: 14px;
    background: #fff;
    object-fit: contain;
    padding: 4px;
}

.fbl24-logo-fallback {
    display: grid;
    place-items: center;
    background: #e8f8ee;
    color: #009a46;
    font-weight: 900;
}

.fbl24-favorite-card button {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border: 1px solid #dce5f1;
    border-radius: 12px;
    background: #f7f9fc;
    color: #6a7a91;
    cursor: pointer;
}

.fbl24-light-empty {
    grid-column: 1 / -1;
    display: grid;
    place-items: center;
    gap: 10px;
    min-height: 210px;
    padding: 26px;
    text-align: center;
}

.fbl24-search-panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    margin-bottom: 16px;
    border: 1px solid #dce5f1;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(14, 31, 53, .05);
    padding: 12px;
}

.fbl24-search-panel--three {
    grid-template-columns: 1fr 1fr auto;
}

.fbl24-search-panel label {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 10px;
}

.fbl24-search-panel input {
    width: 100%;
    min-height: 46px;
    border: 1px solid #dce5f1;
    border-radius: 14px;
    background: #f8fafc;
    color: #071328;
    font: inherit;
    font-weight: 800;
    outline: none;
    padding: 0 13px;
}

.fbl24-search-panel label input {
    border: 0;
    background: transparent;
    padding: 0;
}

.fbl24-search-panel label {
    border: 1px solid #dce5f1;
    border-radius: 14px;
    background: #f8fafc;
    min-height: 46px;
    padding: 0 13px;
}

.fbl24-simple-card {
    display: grid;
    gap: 14px;
    padding: 16px;
}

.fbl24-card-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.fbl24-country-selected {
    display: grid;
    gap: 14px;
    margin-top: 16px;
}

.fbl24-two-col {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 14px;
}

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

.fbl24-info-card h2 {
    margin-bottom: 14px;
    font-size: 18px;
}

.fbl24-data-list,
.fbl24-h2h-results {
    display: grid;
    gap: 10px;
}

.fbl24-data-row {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    min-width: 0;
    border: 1px solid #e1e8f1;
    border-radius: 16px;
    background: #fbfdff;
    color: inherit;
    text-decoration: none;
    padding: 11px;
}

.fbl24-data-row b {
    color: #009a46;
    font-weight: 900;
}

.fbl24-h2h-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 92px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    border: 1px solid #e1e8f1;
    border-radius: 16px;
    background: #fbfdff;
    color: inherit;
    text-decoration: none;
    padding: 12px;
}

.fbl24-h2h-team {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.fbl24-h2h-team:last-child {
    flex-direction: row-reverse;
    text-align: right;
}

.fbl24-h2h-team b {
    overflow: hidden;
    color: #071328;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fbl24-h2h-score {
    display: grid;
    justify-items: center;
    color: #071328;
    font-size: 24px;
    font-weight: 950;
    line-height: 1;
}

.fbl24-h2h-score small {
    margin-top: 5px;
    color: #65758a;
    font-size: 11px;
    font-weight: 800;
}

@media (max-width: 980px) {
    .fbl24-summary-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .fbl24-card-grid,
    .fbl24-two-col {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .fbl24-clean-page {
        padding: 18px 0 104px;
    }

    .fbl24-simple-shell,
    .fbl24-simple-shell--narrow {
        width: min(100% - 16px, 100%);
    }

    .fbl24-page-hero,
    .fbl24-search-panel,
    .fbl24-search-panel--three {
        grid-template-columns: 1fr;
    }

    .fbl24-page-hero {
        align-items: flex-start;
        padding: 20px;
    }

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

    .fbl24-favorite-card,
    .fbl24-data-row,
    .fbl24-h2h-row {
        grid-template-columns: 1fr;
    }

    .fbl24-h2h-team:last-child {
        flex-direction: row;
        text-align: left;
    }

    .fbl24-h2h-score {
        justify-items: start;
    }
}
