:root {
    --cf-football-bg: #f4f7fb;
    --cf-football-card: #ffffff;
    --cf-football-ink: #0d1b2a;
    --cf-football-muted: #667085;
    --cf-football-line: #e6eaf0;
    --cf-football-dark: #071923;
    --cf-football-dark-2: #0e2b3a;
    --cf-football-accent: #b7f43b;
    --cf-football-accent-dark: #79b513;
    --cf-football-danger: #d92d20;
    --cf-football-live: #d92d20;
    --cf-football-radius: 22px;
    --cf-football-shadow: 0 16px 44px rgba(12, 28, 45, .10);
}

body.cf-football-page,
body.cf-football-page .site-content,
body.cf-football-page #content {
    background: var(--cf-football-bg);
}

body.cf-football-page .site-content > .ast-container,
body.cf-football-page #content > .ast-container {
    display: block;
    width: 100%;
    max-width: none;
    padding-left: 0;
    padding-right: 0;
}

body.cf-football-page .site-content #primary,
body.cf-football-page .site-content .site-main,
body.cf-football-page .site-content .content-area {
    width: 100%;
    max-width: none;
}

.cf-football-virtual-root {
    width: 100%;
    min-width: 0;
}

.cf-football-shell {
    box-sizing: border-box;
    width: min(1440px, calc(100% - 36px));
    margin: 34px auto 72px;
    color: var(--cf-football-ink);
    font-family: inherit;
}

.cf-football-shell *,
.cf-football-shell *::before,
.cf-football-shell *::after {
    box-sizing: border-box;
}

.cf-football-shell img {
    max-width: 100%;
}

.cf-football-page-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 28px;
    padding: 30px 34px;
    border-radius: var(--cf-football-radius);
    background: linear-gradient(135deg, #071923 0%, #0f3544 100%);
    color: #fff;
    box-shadow: var(--cf-football-shadow);
}

.cf-football-page-head h1,
.cf-football-page-head p,
.cf-football-page-head .cf-football-eyebrow {
    color: inherit;
}

.cf-football-page-head h1 {
    margin: 4px 0 8px;
    font-size: clamp(32px, 4vw, 54px);
    line-height: 1.04;
    letter-spacing: -.04em;
}

.cf-football-page-head p {
    max-width: 780px;
    margin: 0;
    color: rgba(255,255,255,.78);
    font-size: 16px;
}

.cf-football-eyebrow,
.cf-football-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.cf-football-eyebrow {
    color: var(--cf-football-accent);
}

.cf-football-kicker {
    color: #35730d;
}

.cf-football-secondary-button {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 18px;
    border: 1px solid rgba(255,255,255,.24);
    border-radius: 999px;
    background: rgba(255,255,255,.09);
    color: #fff !important;
    text-decoration: none !important;
    font-weight: 700;
    transition: transform .18s ease, background .18s ease;
}

.cf-football-secondary-button:hover {
    transform: translateY(-1px);
    background: rgba(255,255,255,.16);
}

.cf-football-day-block + .cf-football-day-block {
    margin-top: 34px;
}

.cf-football-section-title-row,
.cf-football-section-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.cf-football-section-title-row {
    margin: 0 0 14px;
}

.cf-football-section-title-row h2,
.cf-football-section-heading h2 {
    margin: 0;
    color: var(--cf-football-ink);
}

.cf-football-section-title-row h2 {
    font-size: 24px;
}

.cf-football-section-title-row > span {
    color: var(--cf-football-muted);
    font-size: 14px;
    font-weight: 700;
}

.cf-football-game-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.cf-football-game-card {
    display: block;
    min-width: 0;
    padding: 20px;
    border: 1px solid var(--cf-football-line);
    border-radius: 18px;
    background: var(--cf-football-card);
    color: var(--cf-football-ink) !important;
    text-decoration: none !important;
    box-shadow: 0 8px 28px rgba(12,28,45,.06);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.cf-football-game-card:hover {
    transform: translateY(-3px);
    border-color: #cdd9e4;
    box-shadow: 0 16px 38px rgba(12,28,45,.11);
}

.cf-football-card-top,
.cf-football-card-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.cf-football-card-top {
    margin-bottom: 16px;
    color: var(--cf-football-muted);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.cf-football-mini-status,
.cf-football-status,
.cf-football-dot-label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    white-space: nowrap;
    font-weight: 800;
}

.cf-football-mini-status {
    padding: 5px 9px;
    background: #edf2f7;
    color: #344054;
    font-size: 10px;
}

.cf-football-status-live,
.cf-football-status-crit {
    background: #fff0ef !important;
    color: var(--cf-football-live) !important;
}

.cf-football-status-final,
.cf-football-status-off {
    background: #eef2f6 !important;
    color: #475467 !important;
}

.cf-football-status-fut,
.cf-football-status-pre {
    background: #efffd4 !important;
    color: #477800 !important;
}

.cf-football-card-team-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    min-height: 46px;
}

.cf-football-card-team {
    display: flex;
    align-items: center;
    min-width: 0;
    gap: 11px;
}

.cf-football-card-team img {
    width: 34px;
    height: 34px;
    object-fit: contain;
    flex: 0 0 34px;
}

.cf-football-card-team span {
    overflow: hidden;
    color: var(--cf-football-ink);
    font-size: 15px;
    font-weight: 750;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cf-football-card-score {
    flex: 0 0 auto;
    font-size: 21px;
}

.cf-football-card-bottom {
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid var(--cf-football-line);
    color: var(--cf-football-muted);
    font-size: 12px;
}

.cf-football-card-bottom span:last-child {
    overflow: hidden;
    max-width: 62%;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-align: right;
}

.cf-football-hero {
    overflow: hidden;
    margin-bottom: 24px;
    padding: 26px 34px 30px;
    border-radius: 26px;
    background:
        radial-gradient(circle at 18% 12%, rgba(183,244,59,.16), transparent 26%),
        radial-gradient(circle at 82% 12%, rgba(80,173,201,.18), transparent 28%),
        linear-gradient(135deg, #061923 0%, #0a2a39 55%, #071923 100%);
    color: #fff;
    box-shadow: 0 24px 60px rgba(4, 24, 34, .20);
}

.cf-football-hero-topline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}

.cf-football-status {
    padding: 8px 13px;
    background: rgba(255,255,255,.1);
    color: #fff;
    font-size: 11px;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.cf-football-matchup {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(180px, .72fr) minmax(0, 1fr);
    align-items: center;
    gap: 26px;
    padding: 18px 0 22px;
}

.cf-football-hero-team {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 0;
    text-align: center;
}

.cf-football-logo-wrap {
    display: grid;
    place-items: center;
    width: 130px;
    height: 130px;
    margin-bottom: 15px;
    padding: 14px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 28px;
    background: rgba(255,255,255,.07);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}

.cf-football-logo-wrap img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.cf-football-logo-wrap span {
    font-size: 26px;
    font-weight: 900;
}

.cf-football-hero-team strong {
    color: #fff;
    font-size: clamp(19px, 2vw, 28px);
    line-height: 1.12;
}

.cf-football-hero-team small {
    margin-top: 6px;
    color: rgba(255,255,255,.56);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .12em;
}

.cf-football-score-center {
    text-align: center;
}

.cf-football-main-score {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    font-size: clamp(44px, 6vw, 76px);
    line-height: .95;
    font-weight: 900;
    letter-spacing: -.05em;
}

.cf-football-main-score em {
    color: rgba(255,255,255,.42);
    font-style: normal;
    font-weight: 500;
}

.cf-football-start-time {
    color: var(--cf-football-accent);
    font-size: clamp(42px, 6vw, 72px);
    line-height: 1;
    font-weight: 900;
    letter-spacing: -.05em;
}

.cf-football-countdown,
.cf-football-live-clock {
    margin-top: 10px;
    color: rgba(255,255,255,.72);
    font-size: 13px;
    font-weight: 700;
}

.cf-football-hero-meta {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px 18px;
    padding-top: 20px;
    border-top: 1px solid rgba(255,255,255,.11);
    color: rgba(255,255,255,.74);
    font-size: 13px;
    font-weight: 650;
}

.cf-football-hero-meta span + span::before {
    content: '•';
    margin-right: 18px;
    color: rgba(255,255,255,.3);
}

.cf-football-two-col {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    align-items: start;
    gap: 24px;
}

.cf-football-main-col,
.cf-football-sidebar {
    min-width: 0;
}

.cf-football-sidebar {
    position: static !important;
    top: auto !important;
    max-height: none !important;
    overflow: visible !important;
}

.cf-football-card,
.cf-football-side-card {
    border: 1px solid var(--cf-football-line);
    background: var(--cf-football-card);
    box-shadow: var(--cf-football-shadow);
}

.cf-football-card {
    margin-bottom: 24px;
    padding: 26px;
    border-radius: var(--cf-football-radius);
}

.cf-football-side-card {
    margin-bottom: 20px;
    padding: 18px;
    border-radius: 18px;
    overflow: visible !important;
    max-height: none !important;
}

.cf-football-section-heading {
    margin-bottom: 20px;
}

.cf-football-section-heading h2 {
    margin-top: 5px;
    font-size: 25px;
    line-height: 1.15;
}

.cf-football-dot-label {
    padding: 7px 10px;
    background: #f1f5f9;
    color: #475467;
    font-size: 11px;
}

.cf-football-player {
    position: relative;
    overflow: hidden;
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: 16px;
    background: #020609;
}

.cf-football-player iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.cf-football-player-placeholder {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 250px;
    padding: 32px;
    border: 1px dashed #cbd5e1;
    border-radius: 16px;
    background: linear-gradient(145deg, #f7f9fc, #eef3f7);
    text-align: center;
}

.cf-football-player-placeholder strong {
    margin-bottom: 6px;
    font-size: 20px;
}

.cf-football-player-placeholder span {
    max-width: 600px;
    color: var(--cf-football-muted);
}

.cf-football-about-card > h2 {
    margin: 5px 0 12px;
    font-size: 28px;
}

.cf-football-about-card > p {
    margin: 0;
    color: #344054;
    font-size: 16px;
    line-height: 1.75;
}

.cf-football-info-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 22px;
}

.cf-football-info-grid > div {
    min-width: 0;
    padding: 15px;
    border: 1px solid var(--cf-football-line);
    border-radius: 14px;
    background: #f9fbfd;
}

.cf-football-info-grid span,
.cf-football-info-grid strong {
    display: block;
}

.cf-football-info-grid span {
    margin-bottom: 5px;
    color: var(--cf-football-muted);
    font-size: 11px;
    font-weight: 750;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.cf-football-info-grid strong {
    overflow-wrap: anywhere;
    color: var(--cf-football-ink);
    font-size: 14px;
}

.cf-football-summary-group + .cf-football-summary-group,
.cf-football-detail-section + .cf-football-detail-section {
    margin-top: 28px;
    padding-top: 26px;
    border-top: 1px solid var(--cf-football-line);
}

.cf-football-summary-group h3,
.cf-football-detail-section h3,
.cf-football-team-stat-block h4 {
    margin: 0 0 14px;
    color: var(--cf-football-ink);
}

.cf-football-summary-group h3,
.cf-football-detail-section h3 {
    font-size: 20px;
}

.cf-football-period-block + .cf-football-period-block {
    margin-top: 16px;
}

.cf-football-period-label {
    margin-bottom: 8px;
    color: var(--cf-football-muted);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.cf-football-event-row,
.cf-football-penalty-row {
    display: grid;
    align-items: center;
    gap: 12px;
    padding: 11px 0;
    border-bottom: 1px solid #eef2f6;
}

.cf-football-event-row {
    grid-template-columns: 48px 42px minmax(0, 1fr) auto;
}

.cf-football-penalty-row {
    grid-template-columns: 48px minmax(0, 1fr) auto;
}

.cf-football-event-row:last-child,
.cf-football-penalty-row:last-child {
    border-bottom: 0;
}

.cf-football-event-row time,
.cf-football-penalty-row time {
    color: var(--cf-football-muted);
    font-size: 12px;
    font-weight: 800;
}

.cf-football-event-row img {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    object-fit: cover;
    background: #eef2f6;
}

.cf-football-event-row strong,
.cf-football-event-row span,
.cf-football-penalty-row strong,
.cf-football-penalty-row span {
    display: block;
}

.cf-football-event-row strong,
.cf-football-penalty-row strong {
    color: var(--cf-football-ink);
    font-size: 14px;
}

.cf-football-event-row span,
.cf-football-penalty-row span {
    margin-top: 2px;
    color: var(--cf-football-muted);
    font-size: 12px;
}

.cf-football-stars-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.cf-football-star-card {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 18px 14px;
    border: 1px solid var(--cf-football-line);
    border-radius: 16px;
    background: #fbfcfd;
    text-align: center;
}

.cf-football-star-card > span {
    position: absolute;
    top: 10px;
    left: 10px;
    padding: 4px 7px;
    border-radius: 999px;
    background: #0d1b2a;
    color: #fff;
    font-size: 10px;
    font-weight: 800;
}

.cf-football-star-card img {
    width: 70px;
    height: 70px;
    margin-bottom: 8px;
    border-radius: 50%;
    object-fit: cover;
    background: #eef2f6;
}

.cf-football-star-card strong {
    font-size: 14px;
}

.cf-football-star-card small {
    margin-top: 4px;
    color: var(--cf-football-muted);
    font-size: 11px;
}

.cf-football-async {
    min-height: 90px;
}

.cf-football-loading {
    display: flex;
    align-items: center;
    gap: 7px;
    min-height: 90px;
    color: var(--cf-football-muted);
    font-size: 14px;
}

.cf-football-loading span {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #8ea0b1;
    animation: bmMlbPulse 1s ease-in-out infinite alternate;
}

.cf-football-loading span:nth-child(2) { animation-delay: .12s; }
.cf-football-loading span:nth-child(3) { animation-delay: .24s; }

@keyframes bmMlbPulse {
    from { opacity: .35; transform: translateY(0); }
    to { opacity: 1; transform: translateY(-3px); }
}

.cf-football-team-compare {
    overflow: hidden;
    border: 1px solid var(--cf-football-line);
    border-radius: 15px;
}

.cf-football-team-compare-head,
.cf-football-team-compare-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 1.1fr minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    padding: 11px 14px;
    text-align: center;
}

.cf-football-team-compare-head {
    background: #f4f7fa;
    font-size: 12px;
}

.cf-football-team-compare-row + .cf-football-team-compare-row {
    border-top: 1px solid var(--cf-football-line);
}

.cf-football-team-compare-row span {
    color: var(--cf-football-muted);
    font-size: 12px;
}

.cf-football-team-compare-row b {
    font-size: 16px;
}

.cf-football-team-stat-block + .cf-football-team-stat-block {
    margin-top: 28px;
}

.cf-football-table-scroll {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.cf-football-table {
    width: 100%;
    min-width: 760px;
    border-collapse: collapse;
    border-spacing: 0;
    font-size: 13px;
}

.cf-football-table th,
.cf-football-table td {
    padding: 11px 10px;
    border-bottom: 1px solid var(--cf-football-line);
    text-align: center;
    white-space: nowrap;
}

.cf-football-table th {
    background: #f7f9fb;
    color: #475467;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.cf-football-table th:first-child,
.cf-football-table td:first-child,
.cf-football-standing-team {
    text-align: left;
}

.cf-football-timeline {
    position: relative;
}

.cf-football-timeline-row {
    display: grid;
    grid-template-columns: 74px 16px minmax(0, 1fr);
    gap: 10px;
    padding: 9px 0;
}

.cf-football-timeline-time {
    text-align: right;
}

.cf-football-timeline-time strong,
.cf-football-timeline-time span,
.cf-football-timeline-text strong,
.cf-football-timeline-text span {
    display: block;
}

.cf-football-timeline-time strong {
    color: #475467;
    font-size: 11px;
}

.cf-football-timeline-time span {
    color: var(--cf-football-muted);
    font-size: 11px;
}

.cf-football-timeline-dot {
    position: relative;
}

.cf-football-timeline-dot::before {
    content: '';
    position: absolute;
    top: 5px;
    left: 4px;
    z-index: 2;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #8ea0b1;
}

.cf-football-timeline-dot::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: -18px;
    left: 7px;
    width: 2px;
    background: #e4e9ee;
}

.cf-football-timeline-row:last-child .cf-football-timeline-dot::after {
    display: none;
}

.cf-football-play-goal .cf-football-timeline-dot::before {
    background: #72a900;
}

.cf-football-play-penalty .cf-football-timeline-dot::before {
    background: var(--cf-football-danger);
}

.cf-football-timeline-text strong {
    color: var(--cf-football-ink);
    font-size: 13px;
}

.cf-football-timeline-text span {
    margin-top: 2px;
    color: var(--cf-football-muted);
    font-size: 12px;
}

.cf-football-side-title {
    margin: 0 -2px 12px;
    color: var(--cf-football-ink);
    font-size: 16px;
    font-weight: 850;
}

.cf-football-related {
    display: block;
    padding: 13px 0;
    border-bottom: 1px solid var(--cf-football-line);
    color: var(--cf-football-ink) !important;
    text-decoration: none !important;
    transition: opacity .18s ease;
}

.cf-football-related:hover {
    opacity: .72;
}

.cf-football-related:last-child {
    border-bottom: 0;
}

.cf-football-related-team {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    min-height: 28px;
}

.cf-football-related-team img {
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
    object-fit: contain;
}

.cf-football-related-team span {
    overflow: hidden;
    flex: 1 1 auto;
    min-width: 0;
    font-size: 12px;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cf-football-related-team strong {
    flex: 0 0 auto;
    font-size: 13px;
}

.cf-football-related-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-top: 6px;
    color: var(--cf-football-muted);
    font-size: 10px;
}

.cf-football-related-meta b {
    color: #475467;
    font-size: 9px;
    text-transform: uppercase;
}

.cf-football-mini-standings {
    font-size: 11px;
}

.cf-football-mini-head,
.cf-football-mini-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 28px 28px;
    align-items: center;
    gap: 5px;
    padding: 8px 0;
}

.cf-football-mini-head {
    color: var(--cf-football-muted);
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
}

.cf-football-mini-row {
    border-top: 1px solid var(--cf-football-line);
}

.cf-football-mini-row > span {
    display: flex;
    align-items: center;
    min-width: 0;
    gap: 7px;
    overflow: hidden;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cf-football-mini-row img {
    flex: 0 0 22px;
    width: 22px;
    height: 22px;
    object-fit: contain;
}

.cf-football-mini-row b,
.cf-football-mini-head > span:not(:first-child) {
    text-align: center;
}

.cf-football-side-link {
    display: inline-block;
    margin-top: 12px;
    color: #286a06 !important;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none !important;
}

.cf-football-standings-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}

.cf-football-standings-card {
    margin: 0;
}

.cf-football-standing-team {
    display: flex;
    align-items: center;
    gap: 8px;
}

.cf-football-standing-team img {
    width: 28px;
    height: 28px;
    object-fit: contain;
}

.cf-football-empty,
.cf-football-error {
    padding: 22px;
    border-radius: 16px;
    background: #fff;
    color: #475467;
    text-align: center;
}

.cf-football-error {
    display: flex;
    flex-direction: column;
    gap: 4px;
    border: 1px solid #f5c7c2;
    background: #fff7f6;
    color: #8f231a;
}

.cf-football-empty-small {
    padding: 12px 4px;
    background: transparent;
    font-size: 12px;
}

@media (max-width: 1100px) {
    .cf-football-game-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cf-football-two-col {
        grid-template-columns: minmax(0, 1fr) 300px;
    }

    .cf-football-info-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cf-football-standings-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 900px) {
    .cf-football-two-col {
        grid-template-columns: 1fr;
    }

    .cf-football-sidebar {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px;
        width: 100%;
    }

    .cf-football-side-card {
        margin-bottom: 0;
    }

    .cf-football-matchup {
        grid-template-columns: minmax(0, 1fr) 150px minmax(0, 1fr);
        gap: 14px;
    }

    .cf-football-logo-wrap {
        width: 105px;
        height: 105px;
    }
}

@media (max-width: 700px) {
    .cf-football-shell {
        width: min(100% - 22px, 1440px);
        margin-top: 18px;
        margin-bottom: 42px;
    }

    .cf-football-page-head {
        align-items: flex-start;
        flex-direction: column;
        padding: 24px;
    }

    .cf-football-game-grid,
    .cf-football-sidebar,
    .cf-football-stars-grid {
        grid-template-columns: 1fr;
    }

    .cf-football-hero {
        padding: 21px 16px 24px;
        border-radius: 20px;
    }

    .cf-football-matchup {
        grid-template-columns: minmax(0, 1fr) 104px minmax(0, 1fr);
        gap: 8px;
    }

    .cf-football-logo-wrap {
        width: 78px;
        height: 78px;
        padding: 9px;
        border-radius: 18px;
    }

    .cf-football-hero-team strong {
        font-size: 15px;
    }

    .cf-football-hero-team small {
        font-size: 9px;
    }

    .cf-football-start-time,
    .cf-football-main-score {
        font-size: 34px;
    }

    .cf-football-countdown,
    .cf-football-live-clock {
        font-size: 10px;
    }

    .cf-football-hero-meta {
        flex-direction: column;
        gap: 4px;
    }

    .cf-football-hero-meta span + span::before {
        display: none;
    }

    .cf-football-card {
        padding: 20px 16px;
        border-radius: 18px;
    }

    .cf-football-section-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .cf-football-info-grid {
        grid-template-columns: 1fr;
    }

    .cf-football-event-row {
        grid-template-columns: 42px 34px minmax(0, 1fr);
    }

    .cf-football-event-row > b {
        grid-column: 3;
        justify-self: start;
    }

    .cf-football-event-row img {
        width: 34px;
        height: 34px;
    }

    .cf-football-penalty-row {
        grid-template-columns: 42px minmax(0, 1fr);
    }

    .cf-football-penalty-row > b {
        grid-column: 2;
    }

    .cf-football-team-compare-head,
    .cf-football-team-compare-row {
        grid-template-columns: minmax(0, 1fr) 1.1fr minmax(0, 1fr);
        padding-left: 8px;
        padding-right: 8px;
    }

    .cf-football-player-placeholder {
        min-height: 190px;
    }
}

@media (max-width: 430px) {
    .cf-football-matchup {
        grid-template-columns: minmax(0, 1fr) 82px minmax(0, 1fr);
    }

    .cf-football-logo-wrap {
        width: 66px;
        height: 66px;
    }

    .cf-football-start-time,
    .cf-football-main-score {
        font-size: 29px;
    }

    .cf-football-hero-team strong {
        font-size: 13px;
    }

    .cf-football-card-bottom {
        align-items: flex-start;
        flex-direction: column;
    }

    .cf-football-card-bottom span:last-child {
        max-width: 100%;
        text-align: left;
    }
}

.cf-football-leader-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.cf-football-leader-card {
    border: 1px solid var(--cf-football-line);
    border-radius: 15px;
    background: #f9fbfd;
}

.cf-football-leader-card {
    padding: 14px;
}

.cf-football-leader-title {
    margin-bottom: 12px;
    color: var(--cf-football-muted);
    font-size: 11px;
    font-weight: 800;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.cf-football-leader-vs {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 8px;
}

.cf-football-leader-vs > span {
    color: #98a2b3;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

.cf-football-leader-player {
    min-width: 0;
    text-align: center;
}

.cf-football-leader-player img {
    width: 58px;
    height: 58px;
    margin: 0 auto 6px;
    border-radius: 50%;
    object-fit: cover;
    background: #eef2f6;
}

.cf-football-leader-player strong,
.cf-football-leader-player small {
    display: block;
}

.cf-football-leader-player strong {
    overflow: hidden;
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cf-football-leader-player small {
    margin-top: 3px;
    color: #477800;
    font-size: 18px;
    font-weight: 900;
}

@media (max-width: 700px) {
    .cf-football-leader-grid {
        grid-template-columns: 1fr;
    }
}

/* ============================================================
 * Program Premier League 1.0.2 — calendar oficial Premier League + carduri moderne
 * ============================================================ */
.cf-football-schedule-page {
    --cf-football-calendar-bg: #071923;
    --cf-football-calendar-panel: #0d2b39;
    --cf-football-calendar-active: #b7f43b;
}

.cf-football-schedule-head {
    margin-bottom: 18px;
}

.cf-football-calendar {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr) 52px;
    gap: 12px;
    align-items: stretch;
    margin: 0 0 30px;
    padding: 14px;
    border: 1px solid rgba(255,255,255,.06);
    border-radius: 24px;
    background: linear-gradient(135deg, var(--cf-football-calendar-bg) 0%, #0d3140 100%);
    box-shadow: 0 16px 42px rgba(4,24,34,.14);
}

.cf-football-calendar-days {
    display: grid;
    grid-template-columns: repeat(7, minmax(88px, 1fr));
    gap: 8px;
    min-width: 0;
}

.cf-football-calendar-arrow {
    display: grid;
    place-items: center;
    min-height: 96px;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 16px;
    background: rgba(255,255,255,.06);
    color: #fff !important;
    text-decoration: none !important;
    font-size: 30px;
    font-weight: 500;
    transition: transform .18s ease, background .18s ease;
}

.cf-football-calendar-arrow:hover {
    transform: translateY(-1px);
    background: rgba(255,255,255,.12);
}

.cf-football-calendar-arrow.is-disabled {
    opacity: .35;
    pointer-events: none;
}

.cf-football-calendar-day {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: 96px;
    padding: 10px 8px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 16px;
    background: rgba(255,255,255,.055);
    color: #fff !important;
    text-decoration: none !important;
    text-align: center;
    transition: transform .18s ease, background .18s ease, border-color .18s ease;
}

.cf-football-calendar-day:hover {
    transform: translateY(-2px);
    border-color: rgba(183,244,59,.45);
    background: rgba(255,255,255,.10);
}

.cf-football-calendar-day.is-active {
    border-color: var(--cf-football-calendar-active);
    background: var(--cf-football-calendar-active);
    color: #08202b !important;
    box-shadow: 0 10px 24px rgba(183,244,59,.20);
}

.cf-football-calendar-day.is-empty:not(.is-active) {
    opacity: .55;
}

.cf-football-calendar-weekday,
.cf-football-calendar-month {
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .10em;
}

.cf-football-calendar-day strong {
    margin: 2px 0 0;
    font-size: 27px;
    line-height: 1;
    letter-spacing: -.03em;
}

.cf-football-calendar-day small {
    overflow: hidden;
    width: 100%;
    margin-top: 5px;
    font-size: 10px;
    font-weight: 700;
    opacity: .78;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cf-football-schedule-title-row {
    align-items: flex-end;
    margin-bottom: 18px;
}

.cf-football-schedule-title-row .cf-football-kicker {
    margin-bottom: 6px;
}

.cf-football-schedule-title-row h2 {
    font-size: clamp(24px, 2.4vw, 34px);
    letter-spacing: -.025em;
}

.cf-football-schedule-page .cf-football-game-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.cf-football-game-card-modern {
    position: relative;
    overflow: hidden;
    padding: 20px 22px 0;
    border: 1px solid #e1e7ee;
    border-radius: 24px;
    background:
        radial-gradient(circle at 12% 0%, rgba(183,244,59,.08), transparent 26%),
        linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
    box-shadow: 0 12px 34px rgba(12,28,45,.075);
}

.cf-football-game-card-modern::after {
    content: '';
    position: absolute;
    right: -52px;
    top: -52px;
    width: 120px;
    height: 120px;
    border-radius: 50%;
    background: rgba(14,43,58,.035);
    pointer-events: none;
}

.cf-football-game-card-modern:hover {
    transform: translateY(-4px);
    border-color: #cbd8e3;
    box-shadow: 0 20px 46px rgba(12,28,45,.12);
}

.cf-football-card-competition {
    overflow: hidden;
    max-width: 68%;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cf-football-card-timebox {
    display: inline-flex;
    align-items: baseline;
    gap: 8px;
    margin: 0 0 18px;
    padding: 8px 12px;
    border-radius: 12px;
    background: #f2f6f9;
    color: #536171;
}

.cf-football-card-timebox span {
    font-size: 11px;
    font-weight: 700;
}

.cf-football-card-timebox strong {
    color: #071923;
    font-size: 15px;
    font-weight: 850;
}

.cf-football-card-matchup-modern {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 74px minmax(0, 1fr);
    align-items: center;
    gap: 16px;
    min-height: 190px;
    padding: 10px 0 24px;
}

.cf-football-card-team-side {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 0;
    text-align: center;
}

.cf-football-card-logo-modern {
    display: grid;
    place-items: center;
    width: 82px;
    height: 82px;
    margin-bottom: 11px;
    padding: 9px;
    border: 1px solid #e3e9ef;
    border-radius: 22px;
    background: #fff;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.8), 0 8px 20px rgba(12,28,45,.06);
}

.cf-football-card-logo-modern img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.cf-football-card-logo-modern span {
    color: #7a8794;
    font-size: 18px;
    font-weight: 850;
}

.cf-football-card-team-side > strong {
    overflow: hidden;
    width: 100%;
    color: #0d1b2a;
    font-size: 16px;
    line-height: 1.22;
    font-weight: 850;
    text-overflow: ellipsis;
}

.cf-football-card-team-side > small {
    margin-top: 4px;
    color: #7a8794;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .10em;
}

.cf-football-card-versus {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 0;
}

.cf-football-card-versus strong {
    display: grid;
    place-items: center;
    min-width: 52px;
    height: 40px;
    padding: 0 10px;
    border-radius: 999px;
    background: #071923;
    color: #fff;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .04em;
}

.cf-football-card-versus span {
    margin-top: 8px;
    color: #8a96a3;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .08em;
}

.cf-football-card-footer-modern {
    margin: 0 -22px;
    padding: 14px 22px;
    border-top: 1px solid #e8edf2;
    background: #f8fafc;
}

.cf-football-card-location {
    overflow: hidden;
    max-width: 66%;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cf-football-card-cta {
    color: #164d66;
    font-weight: 850;
}

.cf-football-card-cta b {
    display: inline-block;
    margin-left: 4px;
    transition: transform .18s ease;
}

.cf-football-game-card-modern:hover .cf-football-card-cta b {
    transform: translateX(3px);
}

.cf-football-schedule-empty {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 28px;
    border: 1px dashed #cfd8e3;
    border-radius: 20px;
    background: #fff;
}

.cf-football-schedule-empty strong {
    color: #0d1b2a;
}

.cf-football-schedule-empty span {
    color: #667085;
}

@media (max-width: 1080px) {
    .cf-football-calendar {
        grid-template-columns: 44px minmax(0, 1fr) 44px;
    }

    .cf-football-calendar-days {
        overflow-x: auto;
        grid-template-columns: repeat(7, minmax(92px, 1fr));
        padding-bottom: 3px;
        scrollbar-width: thin;
    }

    .cf-football-schedule-page .cf-football-game-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 680px) {
    .cf-football-calendar {
        grid-template-columns: 38px minmax(0, 1fr) 38px;
        gap: 7px;
        padding: 10px;
        border-radius: 18px;
    }

    .cf-football-calendar-arrow {
        min-height: 88px;
        border-radius: 13px;
        font-size: 24px;
    }

    .cf-football-calendar-days {
        grid-template-columns: repeat(7, 82px);
        gap: 6px;
    }

    .cf-football-calendar-day {
        min-height: 88px;
        border-radius: 13px;
    }

    .cf-football-calendar-day strong {
        font-size: 24px;
    }

    .cf-football-schedule-title-row {
        align-items: flex-start;
        flex-direction: column;
        gap: 5px;
    }

    .cf-football-game-card-modern {
        padding: 16px 16px 0;
        border-radius: 20px;
    }

    .cf-football-card-matchup-modern {
        grid-template-columns: minmax(0, 1fr) 56px minmax(0, 1fr);
        gap: 8px;
        min-height: 168px;
    }

    .cf-football-card-logo-modern {
        width: 68px;
        height: 68px;
        border-radius: 18px;
    }

    .cf-football-card-team-side > strong {
        font-size: 14px;
    }

    .cf-football-card-footer-modern {
        margin: 0 -16px;
        padding: 12px 16px;
    }
}

/* ========================================================================== 
   BRATU PREMIER LEAGUE 1.1 — BROADCAST CENTER VISUAL SYSTEM
   ========================================================================== */
:root {
    --bm11-bg: #f3f6f9;
    --bm11-card: #ffffff;
    --bm11-ink: #0b1722;
    --bm11-muted: #6a7885;
    --bm11-soft: #eef3f6;
    --bm11-line: #dde5eb;
    --bm11-navy: #061924;
    --bm11-navy-2: #0a2b3b;
    --bm11-cyan: #27d7e7;
    --bm11-cyan-deep: #0d7f91;
    --bm11-live: #ff3948;
    --bm11-win: #16a56a;
    --bm11-loss: #e04e5b;
    --bm11-ot: #f2a51a;
    --bm11-radius-xl: 30px;
    --bm11-radius-lg: 24px;
    --bm11-radius-md: 18px;
    --bm11-shadow-card: 0 14px 40px rgba(8, 28, 42, .08);
    --bm11-shadow-hover: 0 24px 58px rgba(8, 28, 42, .14);
}

body.cf-football-page,
body.cf-football-page .site-content,
body.cf-football-page #content {
    background:
        radial-gradient(circle at 12% 0%, rgba(39, 215, 231, .055), transparent 26%),
        linear-gradient(180deg, #f7f9fb 0%, var(--bm11-bg) 52%, #eef3f6 100%) !important;
}

.cf-football-shell {
    width: min(1460px, calc(100% - 40px));
    margin-top: 30px;
    color: var(--bm11-ink);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.cf-football-page-head {
    position: relative;
    overflow: hidden;
    align-items: center;
    min-height: 230px;
    margin-bottom: 22px;
    padding: 42px 46px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: var(--bm11-radius-xl);
    background:
        linear-gradient(115deg, rgba(39,215,231,.13), transparent 34%),
        radial-gradient(circle at 88% 0%, rgba(39,215,231,.19), transparent 30%),
        linear-gradient(135deg, #051721 0%, #092b3a 56%, #061a26 100%);
    box-shadow: 0 28px 72px rgba(3, 21, 32, .18);
    isolation: isolate;
}

.cf-football-page-head::before,
.cf-football-page-head::after {
    content: "";
    position: absolute;
    pointer-events: none;
    z-index: -1;
}

.cf-football-page-head::before {
    right: -90px;
    bottom: -200px;
    width: 520px;
    height: 520px;
    border: 1px solid rgba(255,255,255,.065);
    border-radius: 50%;
    box-shadow: 0 0 0 70px rgba(255,255,255,.018), 0 0 0 140px rgba(255,255,255,.012);
}

.cf-football-page-head::after {
    right: 17%;
    top: 0;
    width: 1px;
    height: 100%;
    background: linear-gradient(transparent, rgba(255,255,255,.12), transparent);
    transform: rotate(13deg);
}

.cf-football-head-copy {
    position: relative;
    z-index: 1;
    max-width: 850px;
}

.cf-football-broadcast-brand,
.cf-football-head-actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

.cf-football-broadcast-brand {
    margin-bottom: 13px;
}

.cf-football-auto-chip,
.cf-football-head-note {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 28px;
    padding: 0 10px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 999px;
    background: rgba(255,255,255,.065);
    color: rgba(255,255,255,.76);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.cf-football-auto-chip i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--bm11-cyan);
    box-shadow: 0 0 0 5px rgba(39,215,231,.11);
}

.cf-football-page-head h1 {
    margin: 0 0 12px;
    font-size: clamp(42px, 5.3vw, 76px);
    line-height: .95;
    letter-spacing: -.055em;
    font-weight: 900;
}

.cf-football-page-head p {
    max-width: 760px;
    font-size: clamp(15px, 1.35vw, 18px);
    line-height: 1.7;
}

.cf-football-head-actions {
    position: relative;
    z-index: 1;
    flex: 0 0 auto;
    flex-direction: column;
    align-items: flex-end;
}

.cf-football-secondary-button {
    min-height: 50px;
    padding: 0 20px;
    border-color: rgba(255,255,255,.16);
    background: rgba(255,255,255,.095);
    backdrop-filter: blur(12px);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.09);
}

.cf-football-secondary-button b {
    margin-left: 8px;
    transition: transform .2s ease;
}

.cf-football-secondary-button:hover b {
    transform: translateX(4px);
}

/* Calendar premium */
.cf-football-calendar-shell {
    margin-bottom: 34px;
    border: 1px solid var(--bm11-line);
    border-radius: 26px;
    background: rgba(255,255,255,.92);
    box-shadow: var(--bm11-shadow-card);
    overflow: hidden;
}

.cf-football-calendar-titlebar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 18px 22px 13px;
    border-bottom: 1px solid #edf1f4;
}

.cf-football-calendar-titlebar > div {
    display: flex;
    align-items: baseline;
    gap: 10px;
}

.cf-football-calendar-titlebar span {
    color: var(--bm11-cyan-deep);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .10em;
    text-transform: uppercase;
}

.cf-football-calendar-titlebar strong {
    color: var(--bm11-ink);
    font-size: 16px;
    font-weight: 850;
}

.cf-football-calendar-titlebar small {
    color: var(--bm11-muted);
    font-size: 12px;
    font-weight: 650;
}

.cf-football-calendar {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr) 52px;
    gap: 10px;
    padding: 12px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.cf-football-calendar-days {
    display: grid;
    grid-template-columns: repeat(7, minmax(100px, 1fr));
    gap: 8px;
    min-width: 0;
    scrollbar-width: none;
}

.cf-football-calendar-days::-webkit-scrollbar {
    display: none;
}

.cf-football-calendar-arrow {
    min-height: 112px;
    border: 1px solid #e5eaee;
    border-radius: 17px;
    background: #f7f9fb;
    color: #183444 !important;
    font-size: 30px;
    font-weight: 450;
    transition: .2s ease;
}

.cf-football-calendar-arrow:not(.is-disabled):hover {
    border-color: rgba(39,215,231,.55);
    background: #ecfbfd;
    color: #067889 !important;
    transform: translateY(-1px);
}

.cf-football-calendar-day {
    position: relative;
    min-height: 112px;
    padding: 14px 9px 11px;
    border: 1px solid transparent;
    border-radius: 17px;
    background: #f7f9fb;
    color: var(--bm11-ink) !important;
    transition: transform .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease;
}

.cf-football-calendar-day:hover {
    transform: translateY(-2px);
    border-color: #d8e5eb;
    background: #fff;
    box-shadow: 0 10px 24px rgba(9, 33, 48, .07);
}

.cf-football-calendar-day.is-active {
    border-color: rgba(39,215,231,.44);
    background: linear-gradient(145deg, #081f2c 0%, #0d3a4a 100%);
    color: #fff !important;
    box-shadow: 0 14px 28px rgba(6, 31, 44, .18);
}

.cf-football-calendar-day em {
    position: absolute;
    top: 7px;
    right: 7px;
    padding: 3px 5px;
    border-radius: 999px;
    background: var(--bm11-cyan);
    color: #03222a;
    font-size: 7px;
    font-style: normal;
    font-weight: 950;
    letter-spacing: .08em;
}

.cf-football-calendar-day .cf-football-calendar-weekday {
    color: #73818d;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .1em;
}

.cf-football-calendar-day.is-active .cf-football-calendar-weekday,
.cf-football-calendar-day.is-active .cf-football-calendar-month,
.cf-football-calendar-day.is-active small {
    color: rgba(255,255,255,.66);
}

.cf-football-calendar-day strong {
    margin-top: 3px;
    font-size: 32px;
    line-height: 1;
    font-weight: 900;
    letter-spacing: -.04em;
}

.cf-football-calendar-day small {
    margin-top: 5px;
    color: #7b8994;
    font-size: 9px;
    font-weight: 750;
}

/* Section headings */
.cf-football-schedule-title-row {
    margin-bottom: 18px;
    padding: 0 2px;
}

.cf-football-schedule-title-row .cf-football-kicker {
    margin-bottom: 7px;
    color: var(--bm11-cyan-deep);
}

.cf-football-schedule-title-row h2 {
    font-size: clamp(26px, 2.6vw, 36px);
    line-height: 1.05;
    letter-spacing: -.035em;
    font-weight: 900;
}

.cf-football-schedule-title-row > span {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 12px;
    border-radius: 999px;
    background: #e8f7f8;
    color: #0f7180;
    font-size: 11px;
    font-weight: 850;
}

/* Broadcast game cards */
.cf-football-schedule-page .cf-football-game-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.cf-football-game-card-modern {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 20px 22px 0;
    border: 1px solid var(--bm11-line);
    border-radius: 24px;
    background: linear-gradient(180deg, #fff 0%, #fbfcfd 100%);
    box-shadow: var(--bm11-shadow-card);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.cf-football-game-card-modern::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    background: radial-gradient(circle at 50% 42%, rgba(39,215,231,.07), transparent 30%);
    opacity: 0;
    transition: opacity .22s ease;
}

.cf-football-game-card-modern:hover {
    transform: translateY(-5px);
    border-color: #cbdde4;
    box-shadow: var(--bm11-shadow-hover);
}

.cf-football-game-card-modern:hover::before {
    opacity: 1;
}

.cf-football-card-top {
    margin-bottom: 12px;
}

.cf-football-card-competition {
    color: #4d6170;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .1em;
}

.cf-football-mini-status {
    min-height: 26px;
    padding: 0 10px;
    font-size: 9px;
    letter-spacing: .075em;
    text-transform: uppercase;
}

.cf-football-card-timebox {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    margin: 0 0 4px;
    padding: 8px 0 12px;
    border: 0;
    border-bottom: 1px solid #edf1f4;
    border-radius: 0;
    background: transparent;
}

.cf-football-card-timebox span {
    color: #84909a;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.cf-football-card-timebox strong {
    color: #0a2634;
    font-size: 16px;
    font-weight: 900;
}

.cf-football-card-matchup-modern {
    grid-template-columns: minmax(0, 1fr) 82px minmax(0, 1fr);
    gap: 18px;
    min-height: 218px;
    padding: 22px 0 24px;
}

.cf-football-card-logo-modern {
    width: 96px;
    height: 96px;
    margin-bottom: 14px;
    padding: 11px;
    border: 0;
    border-radius: 50%;
    background: linear-gradient(145deg, #f1f5f8, #fff);
    box-shadow: 0 10px 26px rgba(8, 28, 42, .09), inset 0 0 0 1px rgba(11,45,62,.055);
    transition: transform .25s ease;
}

.cf-football-game-card-modern:hover .cf-football-card-logo-modern {
    transform: scale(1.035);
}

.cf-football-card-team-side > strong {
    font-size: 17px;
    line-height: 1.18;
    letter-spacing: -.02em;
    font-weight: 900;
}

.cf-football-card-team-side > small {
    color: #8b97a1;
}

.cf-football-card-versus strong {
    min-width: 58px;
    height: 46px;
    border: 1px solid rgba(255,255,255,.08);
    background: linear-gradient(145deg, #061924, #0a3141);
    box-shadow: 0 9px 22px rgba(5, 29, 42, .16);
}

.cf-football-card-versus span {
    color: #8b98a2;
}

.cf-football-card-footer-modern {
    min-height: 52px;
    margin: 0 -22px;
    padding: 0 22px;
    border-top: 1px solid #e8edf1;
    background: #f7f9fb;
}

.cf-football-card-location {
    color: #687782;
    font-size: 11px;
    font-weight: 700;
}

.cf-football-card-cta {
    color: #08798a;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .02em;
}

/* Game hero — TV scoreboard */
.cf-football-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    margin-bottom: 24px;
    padding: 26px 38px 30px;
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 32px;
    background:
        radial-gradient(circle at 8% 8%, rgba(39,215,231,.15), transparent 25%),
        radial-gradient(circle at 90% 10%, rgba(39,215,231,.10), transparent 25%),
        linear-gradient(135deg, #051722 0%, #092c3b 50%, #051822 100%);
    box-shadow: 0 30px 76px rgba(4, 23, 34, .2);
}

.cf-football-hero-ice {
    position: absolute;
    z-index: -1;
    inset: 0;
    opacity: .22;
    background:
        linear-gradient(90deg, transparent 49.85%, rgba(255,255,255,.22) 50%, transparent 50.15%),
        radial-gradient(circle at 50% 50%, transparent 0 73px, rgba(255,255,255,.17) 74px 75px, transparent 76px),
        linear-gradient(180deg, transparent 20%, rgba(255,255,255,.045) 20.2%, transparent 20.4%, transparent 79.6%, rgba(255,255,255,.045) 79.8%, transparent 80%);
}

.cf-football-hero::after {
    content: "";
    position: absolute;
    z-index: -1;
    inset: auto -12% -55% 58%;
    height: 100%;
    border-radius: 50%;
    background: rgba(39,215,231,.035);
    transform: rotate(-13deg);
}

.cf-football-hero-topline {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 14px;
    margin-bottom: 16px;
}

.cf-football-broadcast-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: rgba(255,255,255,.78);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.cf-football-broadcast-label i {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--bm11-cyan);
    box-shadow: 0 0 0 5px rgba(39,215,231,.1);
}

.cf-football-hero-topline .cf-football-eyebrow {
    justify-self: center;
    color: rgba(255,255,255,.5);
}

.cf-football-status {
    min-height: 31px;
    padding: 0 12px;
    border: 1px solid rgba(255,255,255,.1);
    background: rgba(255,255,255,.08);
    color: #fff;
    font-size: 9px;
    letter-spacing: .095em;
}

.cf-football-status-live,
.cf-football-status-crit {
    border-color: rgba(255,57,72,.28) !important;
    background: rgba(255,57,72,.14) !important;
    color: #ff8790 !important;
    animation: bmMlbLivePulse 1.8s ease-in-out infinite;
}

@keyframes bmMlbLivePulse {
    0%,100% { box-shadow: 0 0 0 0 rgba(255,57,72,0); }
    50% { box-shadow: 0 0 0 6px rgba(255,57,72,.07); }
}

.cf-football-matchup {
    grid-template-columns: minmax(0, 1fr) minmax(200px, .72fr) minmax(0, 1fr);
    gap: 34px;
    min-height: 330px;
    padding: 24px 0 28px;
}

.cf-football-logo-wrap {
    width: 154px;
    height: 154px;
    margin-bottom: 19px;
    padding: 18px;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 50%;
    background: rgba(255,255,255,.075);
    backdrop-filter: blur(12px);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.09), 0 18px 40px rgba(0,0,0,.14);
}

.cf-football-hero-team strong {
    max-width: 340px;
    font-size: clamp(23px, 2.45vw, 34px);
    letter-spacing: -.035em;
    font-weight: 900;
}

.cf-football-hero-team small {
    color: rgba(255,255,255,.52);
}

.cf-football-main-score {
    font-size: clamp(58px, 7vw, 92px);
    letter-spacing: -.07em;
}

.cf-football-start-time {
    color: #fff;
    font-size: clamp(52px, 6.6vw, 88px);
    text-shadow: 0 0 32px rgba(39,215,231,.12);
}

.cf-football-countdown {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 15px;
    color: rgba(255,255,255,.78);
}

.cf-football-countdown .cf-football-countdown-unit {
    display: inline-flex;
    align-items: baseline;
    gap: 4px;
    padding: 7px 9px;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 10px;
    background: rgba(255,255,255,.055);
    backdrop-filter: blur(8px);
}

.cf-football-countdown .cf-football-countdown-unit b {
    color: #fff;
    font-size: 14px;
    font-weight: 900;
}

.cf-football-countdown .cf-football-countdown-unit small {
    color: rgba(255,255,255,.52);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.cf-football-hero-meta {
    position: relative;
    z-index: 1;
    justify-content: center;
    gap: 8px;
    padding-top: 19px;
    border-top: 1px solid rgba(255,255,255,.08);
}

.cf-football-hero-meta span {
    display: inline-flex;
    align-items: center;
    min-height: 31px;
    padding: 0 11px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 999px;
    background: rgba(255,255,255,.045);
    color: rgba(255,255,255,.68);
    font-size: 11px;
    font-weight: 700;
}

/* Main layout and cards */
.cf-football-two-col {
    grid-template-columns: minmax(0, 1fr) 350px;
    gap: 24px;
    align-items: start;
}

.cf-football-card,
.cf-football-side-card {
    border: 1px solid var(--bm11-line);
    background: rgba(255,255,255,.96);
    box-shadow: var(--bm11-shadow-card);
}

.cf-football-card {
    border-radius: var(--bm11-radius-lg);
}

.cf-football-main-col > .cf-football-card,
.cf-football-main-col > section {
    margin-bottom: 22px;
}

.cf-football-section-heading {
    margin-bottom: 18px;
}

.cf-football-section-heading .cf-football-kicker,
.cf-football-about-card > .cf-football-kicker {
    margin-bottom: 7px;
    color: var(--bm11-cyan-deep);
}

.cf-football-section-heading h2,
.cf-football-about-card h2 {
    font-size: clamp(24px, 2.5vw, 34px);
    line-height: 1.05;
    letter-spacing: -.035em;
    font-weight: 900;
}

/* Cinematic video module */
.cf-football-video-card {
    overflow: hidden;
    padding: 22px;
    background: linear-gradient(180deg, #0a1f2b 0%, #061722 100%);
    border-color: rgba(255,255,255,.05);
    box-shadow: 0 22px 58px rgba(4, 22, 32, .18);
}

.cf-football-video-card .cf-football-section-heading {
    color: #fff;
}

.cf-football-video-card .cf-football-section-heading h2,
.cf-football-video-card .cf-football-kicker {
    color: #fff;
}

.cf-football-video-card .cf-football-kicker {
    opacity: .55;
}

.cf-football-dot-label {
    min-height: 29px;
    padding: 0 10px;
    border: 1px solid rgba(255,255,255,.09);
    background: rgba(255,255,255,.07);
    color: rgba(255,255,255,.78);
    font-size: 9px;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.cf-football-player {
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 19px;
    background: #000;
    box-shadow: 0 18px 40px rgba(0,0,0,.28);
}

.cf-football-player iframe {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    height: auto;
    min-height: 0;
    border: 0;
}

.cf-football-player-placeholder {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    display: grid;
    place-items: center;
    min-height: clamp(300px, 42vw, 610px);
    padding: 42px 24px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 19px;
    background:
        radial-gradient(circle at 50% 40%, rgba(39,215,231,.09), transparent 28%),
        linear-gradient(145deg, #061620, #0a2635);
    text-align: center;
}

.cf-football-player-placeholder::before {
    content: "▶";
    display: grid;
    place-items: center;
    width: 68px;
    height: 68px;
    margin: 0 auto 18px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 50%;
    background: rgba(255,255,255,.07);
    color: var(--bm11-cyan);
    font-size: 21px;
    box-shadow: 0 14px 30px rgba(0,0,0,.15);
}

.cf-football-player-placeholder strong,
.cf-football-player-placeholder span {
    display: block;
}

.cf-football-player-placeholder strong {
    color: #fff;
    font-size: 20px;
}

.cf-football-player-placeholder span {
    max-width: 620px;
    margin: 7px auto 0;
    color: rgba(255,255,255,.62);
    line-height: 1.6;
}

/* Information block */
.cf-football-about-card {
    padding: 27px 28px;
}

.cf-football-about-card > p {
    max-width: 900px;
    color: #536573;
    font-size: 15px;
    line-height: 1.8;
}

.cf-football-info-grid {
    gap: 10px;
    margin-top: 22px;
}

.cf-football-info-grid > div {
    min-height: 76px;
    padding: 14px 15px;
    border: 1px solid #e7edf1;
    border-radius: 15px;
    background: #f8fafb;
}

.cf-football-info-grid span {
    color: #83909a;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .075em;
    text-transform: uppercase;
}

.cf-football-info-grid strong {
    color: #102432;
    font-size: 14px;
}

/* Leaders / stars */
.cf-football-matchup-card,
.cf-football-summary-card,
.cf-football-details-card {
    padding: 27px 28px;
}

.cf-football-leader-card,
.cf-football-star-card {
    border-color: #e3e9ee;
    background: linear-gradient(180deg, #fff, #f8fafb);
}

.cf-football-leader-card:hover,
.cf-football-star-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 26px rgba(8,28,42,.08);
}

/* Comparative statistics dashboard */
.cf-football-stat-dashboard {
    overflow: hidden;
    border: 1px solid #e3e9ed;
    border-radius: 19px;
    background: #f9fbfc;
}

.cf-football-team-compare-head {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto minmax(0,1fr);
    gap: 12px;
    align-items: center;
    padding: 15px 17px;
    border-bottom: 1px solid #e7ecef;
    background: #fff;
}

.cf-football-team-compare-head strong {
    color: #0d2230;
    font-size: 13px;
    font-weight: 900;
}

.cf-football-team-compare-head strong:last-child {
    text-align: right;
}

.cf-football-team-compare-head span {
    color: #84919b;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.cf-football-stat-bars {
    padding: 8px 16px 15px;
}

.cf-football-stat-bar-row {
    padding: 11px 0;
    border-bottom: 1px solid #edf1f3;
}

.cf-football-stat-bar-row:last-child {
    border-bottom: 0;
}

.cf-football-stat-values {
    display: grid;
    grid-template-columns: 54px minmax(0,1fr) 54px;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
}

.cf-football-stat-values b {
    color: #0e2532;
    font-size: 16px;
    font-weight: 900;
}

.cf-football-stat-values b:last-child {
    text-align: right;
}

.cf-football-stat-values span {
    color: #61727e;
    font-size: 11px;
    font-weight: 750;
    text-align: center;
}

.cf-football-stat-track {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4px;
    height: 5px;
}

.cf-football-stat-track > i {
    position: relative;
    overflow: hidden;
    display: block;
    border-radius: 999px;
    background: #e5ecef;
}

.cf-football-stat-track > i::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(90deg, #0a485b, var(--bm11-cyan));
}

.cf-football-stat-track .is-away::after {
    left: auto;
    width: var(--bm-away);
}

.cf-football-stat-track .is-home::after {
    right: auto;
    width: var(--bm-home);
    background: linear-gradient(90deg, var(--bm11-cyan), #0a485b);
}

/* Timeline */
.cf-football-detail-title-row {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}

.cf-football-detail-title-row h3 {
    margin: 0;
}

.cf-football-detail-title-row span {
    color: #84919b;
    font-size: 10px;
    font-weight: 750;
}

.cf-football-timeline {
    padding: 0;
}

.cf-football-timeline-period {
    position: relative;
    padding: 0 0 10px;
}

.cf-football-timeline-period + .cf-football-timeline-period {
    margin-top: 23px;
}

.cf-football-timeline-period-title {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 9px;
}

.cf-football-timeline-period-title span {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    min-height: 27px;
    padding: 0 10px;
    border-radius: 999px;
    background: #0b2d3c;
    color: #fff;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.cf-football-timeline-period-title i {
    flex: 1 1 auto;
    height: 1px;
    background: #e4eaee;
}

.cf-football-timeline-row {
    display: grid;
    grid-template-columns: 56px 30px minmax(0,1fr);
    align-items: start;
    min-height: 54px;
    padding: 8px 0;
    border-bottom: 0;
}

.cf-football-timeline-time {
    padding-top: 5px;
    color: #6b7a85;
    font-size: 10px;
    font-weight: 850;
    text-align: right;
}

.cf-football-timeline-dot {
    position: relative;
    display: grid;
    place-items: center;
    width: 30px;
    height: 36px;
}

.cf-football-timeline-dot::before {
    content: "";
    z-index: 2;
    width: 10px;
    height: 10px;
    border: 3px solid #fff;
    border-radius: 50%;
    background: #91a0aa;
    box-shadow: 0 0 0 1px #d3dde2;
}

.cf-football-timeline-dot::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: -26px;
    left: 50%;
    width: 1px;
    background: #dfe6ea;
}

.cf-football-timeline-row:last-child .cf-football-timeline-dot::after {
    display: none;
}

.cf-football-timeline-text {
    padding: 4px 0 8px 10px;
}

.cf-football-timeline-text strong {
    display: block;
    color: #102431;
    font-size: 12px;
    font-weight: 900;
}

.cf-football-timeline-text span {
    display: block;
    margin-top: 2px;
    color: #6c7b86;
    font-size: 11px;
    line-height: 1.5;
}

.cf-football-play-goal .cf-football-timeline-dot::before {
    background: var(--bm11-cyan);
    box-shadow: 0 0 0 1px rgba(39,215,231,.5), 0 0 0 6px rgba(39,215,231,.10);
}

.cf-football-play-goal .cf-football-timeline-text {
    margin-left: 4px;
    padding: 8px 11px;
    border: 1px solid rgba(39,215,231,.20);
    border-radius: 12px;
    background: #f0fcfd;
}

.cf-football-play-penalty .cf-football-timeline-dot::before {
    border-radius: 3px;
    background: var(--bm11-ot);
    box-shadow: 0 0 0 1px rgba(242,165,26,.4), 0 0 0 5px rgba(242,165,26,.08);
}

.cf-football-play-period-start .cf-football-timeline-dot::before,
.cf-football-play-period-end .cf-football-timeline-dot::before,
.cf-football-play-game-end .cf-football-timeline-dot::before {
    background: #0a3141;
}

/* Player tables */
.cf-football-table-scroll {
    border: 1px solid #e2e8ec;
    border-radius: 16px;
    background: #fff;
}

.cf-football-table thead th {
    background: #f4f7f9;
    color: #637480;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .065em;
    text-transform: uppercase;
}

.cf-football-table tbody tr:hover td {
    background: #f7fbfc;
}

/* Sidebar editorial */
.cf-football-sidebar {
    position: static;
    min-width: 0;
    max-height: none !important;
    overflow: visible !important;
}

.cf-football-side-card {
    overflow: hidden;
    margin-bottom: 18px;
    border-radius: 20px;
}

.cf-football-side-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-height: 52px;
    padding: 0 16px;
    border-bottom: 1px solid #e7ecef;
    background: linear-gradient(180deg, #fff, #f8fafb);
    color: #102431;
    font-size: 13px;
    font-weight: 900;
}

.cf-football-side-title small {
    color: #8a97a1;
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.cf-football-related {
    margin: 0;
    padding: 14px 15px;
    border: 0;
    border-bottom: 1px solid #edf1f3;
    border-radius: 0;
    background: #fff;
    transition: background .18s ease, transform .18s ease;
}

.cf-football-related:last-child {
    border-bottom: 0;
}

.cf-football-related:hover {
    transform: none;
    background: #f1fafb;
}

.cf-football-related-team img {
    width: 28px;
    height: 28px;
}

.cf-football-related-team span {
    color: #233744;
    font-size: 11px;
    font-weight: 800;
}

.cf-football-related-meta {
    margin-top: 9px;
    color: #82909a;
    font-size: 9px;
}

/* Recent form */
.cf-football-form-compare {
    padding: 7px 15px 14px;
}

.cf-football-form-team {
    padding: 12px 0;
    border-bottom: 1px solid #edf1f3;
}

.cf-football-form-team-head {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 9px;
}

.cf-football-form-team-head img {
    width: 28px;
    height: 28px;
    object-fit: contain;
}

.cf-football-form-team-head strong {
    color: #1a3040;
    font-size: 11px;
    font-weight: 900;
}

.cf-football-form-badges {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

.cf-football-form-badges span {
    display: grid;
    place-items: center;
    min-width: 29px;
    height: 29px;
    padding: 0 6px;
    border-radius: 9px;
    color: #fff;
    font-size: 9px;
    font-weight: 950;
}

.cf-football-form-badges .is-v { background: var(--bm11-win); }
.cf-football-form-badges .is-î,
.cf-football-form-badges .is-i { background: var(--bm11-loss); }
.cf-football-form-badges .is-îp,
.cf-football-form-badges .is-ip { background: var(--bm11-ot); color: #3b2600; }
.cf-football-form-badges .is-e { background: #7d8b95; }

.cf-football-form-legend {
    display: grid;
    gap: 5px;
    padding-top: 11px;
    color: #84919a;
    font-size: 8px;
    line-height: 1.35;
}

.cf-football-form-legend span {
    display: flex;
    align-items: center;
    gap: 6px;
}

.cf-football-form-legend i {
    width: 6px;
    height: 6px;
    border-radius: 50%;
}

.cf-football-form-legend .is-v { background: var(--bm11-win); }
.cf-football-form-legend .is-i { background: var(--bm11-loss); }
.cf-football-form-legend .is-ip { background: var(--bm11-ot); }

/* Compact standings */
.cf-football-mini-standings {
    padding: 6px 12px 10px;
}

.cf-football-mini-head,
.cf-football-mini-row {
    grid-template-columns: minmax(0,1fr) 34px 34px;
}

.cf-football-mini-head {
    color: #8a97a1;
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.cf-football-mini-row {
    min-height: 42px;
    border-bottom-color: #edf1f3;
}

.cf-football-mini-row span {
    min-width: 0;
    color: #243844;
    font-size: 10px;
    font-weight: 800;
}

.cf-football-mini-row img {
    width: 23px;
    height: 23px;
}

.cf-football-side-link {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 43px;
    border-top: 1px solid #e7ecef;
    background: #f7f9fb;
    color: #087b8b !important;
    font-size: 10px;
    font-weight: 900;
}

/* Fade-in system: subtle and disabled for reduced-motion */
.cf-football-reveal {
    opacity: 0;
    transform: translateY(10px);
    transition: opacity .42s ease, transform .42s ease;
}

.cf-football-reveal.is-visible {
    opacity: 1;
    transform: none;
}

.cf-football-score-flash {
    animation: bmMlbScoreFlash .55s ease;
}

@keyframes bmMlbScoreFlash {
    0% { transform: scale(1); color: inherit; }
    40% { transform: scale(1.13); color: var(--bm11-cyan); }
    100% { transform: scale(1); color: inherit; }
}

@media (prefers-reduced-motion: reduce) {
    .cf-football-shell *,
    .cf-football-shell *::before,
    .cf-football-shell *::after {
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: .001ms !important;
    }
    .cf-football-reveal { opacity: 1; transform: none; }
}

/* Tablet */
@media (max-width: 1120px) {
    .cf-football-shell {
        width: min(100% - 28px, 1460px);
    }

    .cf-football-page-head {
        min-height: 210px;
        padding: 34px;
    }

    .cf-football-calendar-days {
        overflow-x: auto;
        grid-template-columns: repeat(7, 104px);
        scroll-snap-type: x proximity;
    }

    .cf-football-calendar-day {
        scroll-snap-align: center;
    }

    .cf-football-schedule-page .cf-football-game-grid {
        grid-template-columns: 1fr 1fr;
    }

    .cf-football-two-col {
        grid-template-columns: minmax(0, 1fr) 310px;
        gap: 18px;
    }

    .cf-football-matchup {
        gap: 18px;
    }

    .cf-football-logo-wrap {
        width: 132px;
        height: 132px;
    }
}

/* Stack sidebar before mobile gets cramped */
@media (max-width: 920px) {
    .cf-football-page-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .cf-football-head-actions {
        align-items: flex-start;
        flex-direction: row;
        flex-wrap: wrap;
    }

    .cf-football-schedule-page .cf-football-game-grid {
        grid-template-columns: 1fr;
    }

    .cf-football-two-col {
        grid-template-columns: 1fr;
    }

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

    .cf-football-sidebar .cf-football-side-card {
        margin-bottom: 0;
    }
}

/* Mobile */
@media (max-width: 680px) {
    .cf-football-shell {
        width: min(100% - 20px, 1460px);
        margin-top: 14px;
        margin-bottom: 44px;
    }

    .cf-football-page-head {
        min-height: 0;
        padding: 28px 22px;
        border-radius: 23px;
    }

    .cf-football-broadcast-brand {
        align-items: flex-start;
        flex-direction: column;
    }

    .cf-football-page-head h1 {
        font-size: 42px;
    }

    .cf-football-head-note {
        display: none;
    }

    .cf-football-calendar-shell {
        border-radius: 20px;
    }

    .cf-football-calendar-titlebar {
        align-items: flex-start;
        flex-direction: column;
        gap: 3px;
        padding: 15px 15px 10px;
    }

    .cf-football-calendar-titlebar > div {
        align-items: flex-start;
        flex-direction: column;
        gap: 2px;
    }

    .cf-football-calendar {
        grid-template-columns: 38px minmax(0,1fr) 38px;
        gap: 6px;
        padding: 9px;
    }

    .cf-football-calendar-arrow {
        min-height: 96px;
        border-radius: 13px;
        font-size: 24px;
    }

    .cf-football-calendar-days {
        grid-template-columns: repeat(7, 84px);
        gap: 6px;
    }

    .cf-football-calendar-day {
        min-height: 96px;
        border-radius: 13px;
    }

    .cf-football-calendar-day strong {
        font-size: 27px;
    }

    .cf-football-game-card-modern {
        padding: 16px 16px 0;
        border-radius: 19px;
    }

    .cf-football-card-matchup-modern {
        grid-template-columns: minmax(0,1fr) 48px minmax(0,1fr);
        gap: 7px;
        min-height: 174px;
        padding: 18px 0;
    }

    .cf-football-card-logo-modern {
        width: 70px;
        height: 70px;
    }

    .cf-football-card-team-side > strong {
        font-size: 13px;
    }

    .cf-football-card-versus strong {
        min-width: 45px;
        height: 38px;
        font-size: 11px;
    }

    .cf-football-card-footer-modern {
        min-height: 48px;
        margin: 0 -16px;
        padding: 0 16px;
    }

    .cf-football-card-location {
        max-width: 58%;
        font-size: 9px;
    }

    .cf-football-hero {
        padding: 20px 16px 22px;
        border-radius: 23px;
    }

    .cf-football-hero-topline {
        grid-template-columns: 1fr auto;
    }

    .cf-football-hero-topline .cf-football-eyebrow {
        display: none;
    }

    .cf-football-matchup {
        grid-template-columns: minmax(0,1fr) 92px minmax(0,1fr);
        gap: 7px;
        min-height: 250px;
        padding: 15px 0;
    }

    .cf-football-logo-wrap {
        width: 90px;
        height: 90px;
        padding: 10px;
        margin-bottom: 10px;
    }

    .cf-football-hero-team strong {
        font-size: 15px;
    }

    .cf-football-hero-team small {
        font-size: 9px;
    }

    .cf-football-main-score {
        gap: 5px;
        font-size: 40px;
    }

    .cf-football-start-time {
        font-size: 37px;
    }

    .cf-football-countdown {
        gap: 4px;
    }

    .cf-football-countdown .cf-football-countdown-unit {
        padding: 5px 6px;
    }

    .cf-football-hero-meta {
        flex-wrap: wrap;
    }

    .cf-football-hero-meta span {
        min-height: 27px;
        font-size: 9px;
    }

    .cf-football-video-card,
    .cf-football-about-card,
    .cf-football-matchup-card,
    .cf-football-summary-card,
    .cf-football-details-card {
        padding: 18px;
        border-radius: 19px;
    }

    .cf-football-player-placeholder {
        min-height: 230px;
    }

    .cf-football-info-grid {
        grid-template-columns: 1fr 1fr;
    }

    .cf-football-stat-values {
        grid-template-columns: 42px minmax(0,1fr) 42px;
    }

    .cf-football-timeline-row {
        grid-template-columns: 44px 24px minmax(0,1fr);
    }

    .cf-football-sidebar {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 430px) {
    .cf-football-info-grid {
        grid-template-columns: 1fr;
    }

    .cf-football-card-timebox {
        align-items: flex-start;
        flex-direction: column;
        gap: 2px;
    }

    .cf-football-card-team-side > strong {
        white-space: normal;
    }
}

/* 1.1.1 — meciurile încheiate rămân în program, dar sunt diferențiate discret. */
.cf-football-game-card-final,
.cf-football-game-card-off {
    opacity: .92;
}
.cf-football-game-card-final .cf-football-card-timebox,
.cf-football-game-card-off .cf-football-card-timebox {
    background: rgba(7, 28, 44, .055);
}
.cf-football-game-card-final .cf-football-card-cta,
.cf-football-game-card-off .cf-football-card-cta {
    font-weight: 700;
}

/* =========================================================
   Competiții Fotbal 1.2.0 — Broadcast cards + editorial game page
   ========================================================= */

.cf-football-game-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
}

.cf-football-game-card-broadcast {
    --bm-away-team: #0b2a3d;
    --bm-home-team: #0b2a3d;
    position: relative;
    isolation: isolate;
    display: grid;
    grid-template-columns: minmax(250px, 1fr) minmax(330px, 1.1fr) minmax(250px, 1fr);
    align-items: center;
    min-height: 210px;
    padding: 24px 74px;
    overflow: hidden;
    border: 1px solid #dfe5ec;
    border-radius: 22px;
    background:
        radial-gradient(circle at 12% 50%, color-mix(in srgb, var(--bm-away-team) 8%, transparent), transparent 28%),
        radial-gradient(circle at 88% 50%, color-mix(in srgb, var(--bm-home-team) 8%, transparent), transparent 28%),
        linear-gradient(180deg, #ffffff 0%, #fbfcfe 100%);
    box-shadow: 0 14px 36px rgba(15, 23, 42, .08);
    color: #0f172a !important;
    text-decoration: none !important;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.cf-football-game-card-broadcast:hover {
    transform: translateY(-3px);
    border-color: #cbd5e1;
    box-shadow: 0 22px 52px rgba(15, 23, 42, .13);
}

.cf-football-broadcast-stripe {
    position: absolute;
    z-index: -1;
    top: -25%;
    width: 122px;
    height: 150%;
    transform: skewX(-27deg);
    opacity: .98;
}

.cf-football-broadcast-stripe::after {
    content: "";
    position: absolute;
    inset: 0 38px 0 auto;
    width: 16px;
    background: rgba(255,255,255,.94);
    box-shadow: 19px 0 0 rgba(9, 18, 28, .92);
}

.cf-football-broadcast-stripe.is-away {
    left: -72px;
    background: var(--bm-away-team);
}

.cf-football-broadcast-stripe.is-home {
    right: -72px;
    background: var(--bm-home-team);
    transform: skewX(27deg);
}

.cf-football-broadcast-stripe.is-home::after {
    inset: 0 auto 0 38px;
    box-shadow: -19px 0 0 rgba(9, 18, 28, .92);
}

.cf-football-banner-team {
    display: flex;
    align-items: center;
    min-width: 0;
    gap: 22px;
}

.cf-football-banner-team.is-home {
    flex-direction: row-reverse;
    text-align: right;
}

.cf-football-banner-logo {
    display: grid;
    place-items: center;
    flex: 0 0 116px;
    width: 116px;
    height: 116px;
    padding: 8px;
}

.cf-football-banner-logo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: drop-shadow(0 8px 12px rgba(15,23,42,.10));
}

.cf-football-banner-logo span {
    display: grid;
    place-items: center;
    width: 92px;
    height: 92px;
    border-radius: 50%;
    background: #eef2f6;
    color: #475569;
    font-weight: 900;
}

.cf-football-banner-name {
    min-width: 0;
}

.cf-football-banner-name span {
    display: block;
    margin-bottom: 2px;
    color: #202938;
    font-size: clamp(19px, 1.8vw, 30px);
    line-height: 1.05;
    font-weight: 500;
}

.cf-football-banner-name strong {
    display: block;
    color: #050b14;
    font-size: clamp(29px, 2.6vw, 46px);
    line-height: .98;
    letter-spacing: -.045em;
    overflow-wrap: anywhere;
}

.cf-football-broadcast-center {
    position: relative;
    min-width: 0;
    padding: 0 28px;
    text-align: center;
}

.cf-football-broadcast-center::before,
.cf-football-broadcast-center::after {
    content: "";
    position: absolute;
    top: 7%;
    bottom: 7%;
    width: 1px;
    background: linear-gradient(transparent, #dce2e8 20%, #dce2e8 80%, transparent);
}

.cf-football-broadcast-center::before { left: 0; }
.cf-football-broadcast-center::after { right: 0; }

.cf-football-broadcast-league {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 7px;
    margin-bottom: 4px;
    color: #475569;
    font-size: 15px;
    font-weight: 850;
}

.cf-football-broadcast-league > span {
    display: inline-grid;
    place-items: center;
    min-width: 42px;
    height: 30px;
    padding: 0 10px;
    border: 1px solid #cfd8e3;
    border-radius: 999px;
    background: #0b1118;
    color: #fff;
    font-size: 12px;
    letter-spacing: .08em;
}

.cf-football-broadcast-league > em {
    font-style: normal;
    margin-left: 5px;
}

.cf-football-broadcast-time,
.cf-football-broadcast-score {
    margin: 4px 0;
    color: #111827;
    font-size: clamp(38px, 4vw, 58px);
    line-height: 1;
    font-weight: 900;
    letter-spacing: -.05em;
}

.cf-football-broadcast-time-sub {
    color: #64748b;
    font-size: 13px;
    font-weight: 800;
}

.cf-football-broadcast-date {
    margin-top: 9px;
    color: #344054;
    font-size: 15px;
    font-weight: 700;
}

.cf-football-broadcast-venue {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    margin-top: 8px;
    color: #4b5563;
    font-size: 14px;
}

.cf-football-broadcast-venue img,
.cf-football-related-venue img {
    width: 17px;
    height: 17px;
    flex: 0 0 17px;
    opacity: .76;
}

.cf-football-intro-card {
    position: relative;
    overflow: hidden;
    padding: 30px 32px;
    border-top: 4px solid #0e2b3a;
}

.cf-football-intro-card::after {
    content: "";
    position: absolute;
    right: -65px;
    top: -85px;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(39,215,231,.13), rgba(39,215,231,0) 70%);
    pointer-events: none;
}

.cf-football-intro-title {
    position: relative;
    z-index: 1;
    margin: 8px 0 14px !important;
    color: #0f172a !important;
    font-size: clamp(28px, 3vw, 42px) !important;
    line-height: 1.06 !important;
    letter-spacing: -.035em !important;
}

.cf-football-intro-copy {
    position: relative;
    z-index: 1;
    color: #344054;
    font-size: 17px;
    line-height: 1.82;
}

.cf-football-intro-copy p {
    margin: 0;
}

.cf-football-intro-copy strong {
    color: #111827;
    font-weight: 800;
}

.cf-football-related-pro {
    display: block;
    padding: 14px 14px 13px;
    border: 1px solid #e3e8ef;
    border-radius: 16px;
    background: #fff;
    color: #111827 !important;
    text-decoration: none !important;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.cf-football-related-pro + .cf-football-related-pro {
    margin-top: 10px;
}

.cf-football-related-pro:hover {
    transform: translateY(-2px);
    border-color: #cbd5e1;
    box-shadow: 0 12px 25px rgba(15,23,42,.08);
}

.cf-football-related-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    margin-bottom: 11px;
    color: #64748b;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.cf-football-related-top time {
    text-transform: none;
    letter-spacing: 0;
    color: #475569;
}

.cf-football-related-matchup {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 8px;
}

.cf-football-related-inline-team {
    display: flex;
    align-items: center;
    min-width: 0;
    gap: 7px;
    color: #111827;
    font-size: 12px;
    font-weight: 750;
}

.cf-football-related-inline-team:last-child {
    flex-direction: row-reverse;
    text-align: right;
}

.cf-football-related-inline-team img {
    flex: 0 0 27px;
    width: 27px;
    height: 27px;
    object-fit: contain;
}

.cf-football-related-inline-team > span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cf-football-related-time {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 50px;
    min-height: 30px;
    padding: 0 8px;
    border-radius: 9px;
    background: #071923;
    color: #fff;
    font-size: 12px;
}

.cf-football-related-venue {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-top: 11px;
    padding-top: 10px;
    border-top: 1px solid #eef2f6;
    color: #64748b;
    font-size: 11px;
}

.cf-football-related-venue strong {
    color: #334155;
}

.cf-football-form-badges {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.cf-football-form-result {
    position: relative;
    display: inline-grid;
    place-items: center;
    width: 33px;
    height: 33px;
    border-radius: 10px;
    color: #fff !important;
    text-decoration: none !important;
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
    outline: none;
    transition: transform .16s ease, box-shadow .16s ease;
}

.cf-football-form-result.is-v { background: #18864b; }
.cf-football-form-result.is-i { background: #c03535; }
.cf-football-form-result.is-ip { background: #b7791f; }
.cf-football-form-result.is-e { background: #64748b; }

.cf-football-form-result:hover,
.cf-football-form-result:focus-visible {
    transform: translateY(-2px) scale(1.04);
    box-shadow: 0 7px 17px rgba(15,23,42,.18);
}

.cf-football-form-tooltip {
    position: absolute;
    z-index: 30;
    left: 50%;
    bottom: calc(100% + 9px);
    width: max-content;
    max-width: 220px;
    transform: translate(-50%, 5px);
    padding: 8px 10px;
    border-radius: 9px;
    background: #071923;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.35;
    text-align: center;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .15s ease, transform .15s ease, visibility .15s ease;
}

.cf-football-form-result:hover .cf-football-form-tooltip,
.cf-football-form-result:focus-visible .cf-football-form-tooltip {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0);
}

.cf-football-form-hint {
    margin: 10px 0 0;
    color: #64748b;
    font-size: 11px;
    line-height: 1.5;
}

.cf-football-standings-snapshot {
    margin: 0 0 10px;
    color: #64748b;
    font-size: 11px;
}

.cf-football-mini-group + .cf-football-mini-group {
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid #e9edf2;
}

.cf-football-mini-group h4 {
    margin: 0 0 8px;
    color: #0f172a;
    font-size: 13px;
}

.cf-football-mini-row {
    position: relative;
}

.cf-football-mini-row.is-focus {
    margin: 3px -5px;
    padding-left: 5px;
    padding-right: 5px;
    border-radius: 10px;
    background: color-mix(in srgb, var(--bm-focus-team) 11%, white);
    box-shadow: inset 3px 0 0 var(--bm-focus-team);
}

.cf-football-mini-team {
    min-width: 0;
}

.cf-football-mini-rank {
    display: inline-grid;
    place-items: center;
    flex: 0 0 18px;
    width: 18px;
    color: #64748b;
    font-size: 10px;
}

.cf-football-mini-row.is-focus .cf-football-mini-team > strong {
    color: #0f172a;
    font-weight: 900;
}

@media (max-width: 1180px) {
    .cf-football-game-card-broadcast {
        grid-template-columns: minmax(210px, 1fr) minmax(280px, .9fr) minmax(210px, 1fr);
        padding: 22px 54px;
    }
    .cf-football-banner-logo {
        flex-basis: 94px;
        width: 94px;
        height: 94px;
    }
    .cf-football-banner-team { gap: 14px; }
}

@media (max-width: 900px) {
    .cf-football-game-card-broadcast {
        grid-template-columns: minmax(0, 1fr) 190px minmax(0, 1fr);
        min-height: 185px;
        padding: 20px 34px;
    }
    .cf-football-banner-logo {
        flex-basis: 70px;
        width: 70px;
        height: 70px;
    }
    .cf-football-banner-name span { font-size: 15px; }
    .cf-football-banner-name strong { font-size: 24px; }
    .cf-football-broadcast-center { padding: 0 14px; }
    .cf-football-broadcast-date,
    .cf-football-broadcast-venue { font-size: 12px; }
}

@media (max-width: 680px) {
    .cf-football-game-card-broadcast {
        grid-template-columns: minmax(0, 1fr) 94px minmax(0, 1fr);
        min-height: 150px;
        padding: 18px 18px;
        border-radius: 18px;
    }
    .cf-football-broadcast-stripe { width: 76px; }
    .cf-football-broadcast-stripe.is-away { left: -56px; }
    .cf-football-broadcast-stripe.is-home { right: -56px; }
    .cf-football-broadcast-stripe::after { display: none; }
    .cf-football-banner-team,
    .cf-football-banner-team.is-home {
        flex-direction: column;
        gap: 6px;
        text-align: center;
    }
    .cf-football-banner-logo {
        flex-basis: 54px;
        width: 54px;
        height: 54px;
        padding: 3px;
    }
    .cf-football-banner-name span { display: none; }
    .cf-football-banner-name strong {
        max-width: 110px;
        font-size: 14px;
        line-height: 1.05;
    }
    .cf-football-broadcast-center::before,
    .cf-football-broadcast-center::after { display: none; }
    .cf-football-broadcast-center { padding: 0 5px; }
    .cf-football-broadcast-league { gap: 3px; font-size: 9px; }
    .cf-football-broadcast-league > span { min-width: 34px; height: 22px; padding: 0 6px; font-size: 9px; }
    .cf-football-broadcast-league > em { display: none; }
    .cf-football-broadcast-time,
    .cf-football-broadcast-score { font-size: 25px; }
    .cf-football-broadcast-date { margin-top: 5px; font-size: 10px; line-height: 1.25; }
    .cf-football-broadcast-venue { display: none; }
    .cf-football-intro-card { padding: 24px 20px; }
    .cf-football-intro-copy { font-size: 15px; line-height: 1.7; }
    .cf-football-related-matchup { grid-template-columns: minmax(0,1fr) 46px minmax(0,1fr); }
    .cf-football-related-inline-team { flex-direction: column; text-align: center; gap: 4px; }
    .cf-football-related-inline-team:last-child { flex-direction: column; text-align: center; }
    .cf-football-related-inline-team > span { white-space: normal; line-height: 1.15; }
}

/* =========================================================
   1.2.1 — full-row schedule cards, responsive sidebar names,
   player availability + streaming disclaimer
   ========================================================= */

/* Afișăm întotdeauna un singur meci pe rând în program. */
.cf-football-schedule-page .cf-football-game-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
    gap: 20px !important;
}

.cf-football-schedule-page .cf-football-game-card-broadcast {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    grid-template-columns: minmax(230px, 1fr) minmax(300px, .92fr) minmax(230px, 1fr);
    padding-inline: clamp(34px, 5vw, 78px);
}

/* Sidebar: numele complete rămân pe un singur rând. JS-ul micșorează
   fontul doar dacă este necesar, fără ellipsis/trunchiere. */
.cf-football-related-pro .cf-football-related-matchup {
    grid-template-columns: minmax(0, 1fr) 50px minmax(0, 1fr);
    gap: 6px;
}

.cf-football-related-pro .cf-football-related-inline-team {
    min-width: 0;
    gap: 5px;
}

.cf-football-related-pro .cf-football-related-inline-team img {
    flex: 0 0 25px;
    width: 25px;
    height: 25px;
}

.cf-football-related-pro .cf-football-related-inline-team > span {
    display: block;
    min-width: 0;
    width: 100%;
    max-width: 100%;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
    font-size: 12px;
    line-height: 1.08;
    letter-spacing: -.01em;
}

.cf-football-related-pro .cf-football-related-time {
    min-width: 46px;
    padding-inline: 5px;
}

/* Mesajele de sub player. */
.cf-football-player-messages {
    display: grid;
    gap: 12px;
    margin-top: 16px;
}

.cf-football-player-availability-note,
.cf-football-stream-disclaimer {
    border-radius: 14px;
    font-size: 14px;
    line-height: 1.55;
}

.cf-football-player-availability-note {
    padding: 14px 16px;
    border: 1px solid rgba(39, 215, 231, .25);
    background: rgba(39, 215, 231, .075);
    color: #d9f8fb;
}

.cf-football-player-availability-note strong {
    color: #72eff8;
}

.cf-football-stream-disclaimer {
    position: relative;
    padding: 17px 18px 17px 20px;
    border: 1px solid rgba(255, 184, 0, .48);
    border-left: 5px solid #ffb800;
    background: linear-gradient(135deg, rgba(255,184,0,.14), rgba(255,255,255,.035));
    color: #fff2c2;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.025);
}

.cf-football-stream-disclaimer strong {
    color: #ffd34d;
    font-weight: 900;
    letter-spacing: .02em;
}

/* Laptop / tabletă landscape. */
@media (max-width: 1180px) {
    .cf-football-schedule-page .cf-football-game-card-broadcast {
        grid-template-columns: minmax(190px, 1fr) minmax(250px, .9fr) minmax(190px, 1fr);
        min-height: 184px;
        padding-inline: 36px;
    }
    .cf-football-schedule-page .cf-football-banner-logo {
        flex-basis: 92px;
        width: 92px;
        height: 92px;
    }
    .cf-football-schedule-page .cf-football-banner-name strong {
        font-size: clamp(25px, 3vw, 38px);
    }
}

/* Tabletă portrait. */
@media (max-width: 900px) {
    .cf-football-schedule-page .cf-football-game-card-broadcast {
        grid-template-columns: minmax(0, 1fr) 150px minmax(0, 1fr);
        min-height: 168px;
        padding: 20px 24px;
        gap: 10px;
    }
    .cf-football-schedule-page .cf-football-banner-team,
    .cf-football-schedule-page .cf-football-banner-team.is-home {
        gap: 12px;
    }
    .cf-football-schedule-page .cf-football-banner-logo {
        flex-basis: 70px;
        width: 70px;
        height: 70px;
    }
    .cf-football-schedule-page .cf-football-banner-name span {
        font-size: 15px;
    }
    .cf-football-schedule-page .cf-football-banner-name strong {
        font-size: 24px;
        overflow-wrap: normal;
        word-break: normal;
    }
    .cf-football-schedule-page .cf-football-broadcast-center {
        padding-inline: 12px;
    }
    .cf-football-schedule-page .cf-football-broadcast-time,
    .cf-football-schedule-page .cf-football-broadcast-score {
        font-size: 38px;
    }
}

/* Telefon / tabletă mică: păstrăm matchup-ul orizontal, dar compact. */
@media (max-width: 680px) {
    .cf-football-schedule-page .cf-football-game-card-broadcast {
        grid-template-columns: minmax(0, 1fr) 86px minmax(0, 1fr) !important;
        min-height: 152px;
        padding: 18px 12px !important;
        gap: 5px;
        border-radius: 18px;
    }
    .cf-football-schedule-page .cf-football-banner-team,
    .cf-football-schedule-page .cf-football-banner-team.is-home {
        flex-direction: column;
        gap: 6px;
        text-align: center;
    }
    .cf-football-schedule-page .cf-football-banner-logo {
        flex-basis: 54px;
        width: 54px;
        height: 54px;
    }
    .cf-football-schedule-page .cf-football-banner-name span {
        display: none;
    }
    .cf-football-schedule-page .cf-football-banner-name strong {
        max-width: none;
        font-size: clamp(12px, 3.6vw, 16px);
        line-height: 1.06;
        overflow-wrap: normal;
        word-break: normal;
    }
    .cf-football-schedule-page .cf-football-broadcast-center {
        padding-inline: 2px;
    }
    .cf-football-schedule-page .cf-football-broadcast-time,
    .cf-football-schedule-page .cf-football-broadcast-score {
        font-size: clamp(23px, 7vw, 30px);
    }
    .cf-football-schedule-page .cf-football-broadcast-date {
        font-size: 9px;
    }
    .cf-football-player-availability-note,
    .cf-football-stream-disclaimer {
        font-size: 13px;
    }

    /* În sidebar (care se mută sub conținut) numele rămân orizontale. */
    .cf-football-related-pro .cf-football-related-matchup {
        grid-template-columns: minmax(0, 1fr) 48px minmax(0, 1fr) !important;
    }
    .cf-football-related-pro .cf-football-related-inline-team,
    .cf-football-related-pro .cf-football-related-inline-team:last-child {
        flex-direction: row !important;
        text-align: left;
        gap: 5px;
    }
    .cf-football-related-pro .cf-football-related-inline-team:last-child {
        flex-direction: row-reverse !important;
        text-align: right;
    }
    .cf-football-related-pro .cf-football-related-inline-team > span {
        white-space: nowrap !important;
        line-height: 1.08;
    }
}

@media (max-width: 420px) {
    .cf-football-schedule-page .cf-football-game-card-broadcast {
        grid-template-columns: minmax(0, 1fr) 72px minmax(0, 1fr) !important;
        padding-inline: 8px !important;
    }
    .cf-football-schedule-page .cf-football-banner-logo {
        flex-basis: 46px;
        width: 46px;
        height: 46px;
    }
    .cf-football-schedule-page .cf-football-banner-name strong {
        font-size: clamp(11px, 3.5vw, 14px);
    }
    .cf-football-schedule-page .cf-football-broadcast-league > strong,
    .cf-football-schedule-page .cf-football-broadcast-league > b {
        display: none;
    }
    .cf-football-schedule-page .cf-football-broadcast-time,
    .cf-football-schedule-page .cf-football-broadcast-score {
        font-size: 22px;
    }
    .cf-football-schedule-page .cf-football-broadcast-date {
        font-size: 8px;
    }
    .cf-football-related-pro {
        padding-inline: 10px;
    }
    .cf-football-related-pro .cf-football-related-inline-team img {
        flex-basis: 22px;
        width: 22px;
        height: 22px;
    }
    .cf-football-related-pro .cf-football-related-time {
        min-width: 42px;
        font-size: 11px;
    }
}

/* =========================================================
   1.2.2 — text editorial, logo Premier League, navigare zilnică și
   reorganizarea sidebarului paginii de meci
   ========================================================= */

.cf-football-schedule-head .cf-football-head-copy {
    max-width: 940px;
}

.cf-football-schedule-head .cf-football-head-copy h1 {
    max-width: 900px;
}

.cf-football-schedule-head .cf-football-head-copy p {
    max-width: 920px;
}

.cf-football-league-brand {
    min-width: 176px;
    align-items: center;
}

.cf-football-league-logo {
    display: block;
    width: clamp(82px, 7vw, 116px);
    max-height: 124px;
    object-fit: contain;
    opacity: .60;
    filter: drop-shadow(0 10px 24px rgba(0,0,0,.20));
}

.cf-football-day-step-nav {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr);
    gap: 14px;
    margin: -8px 0 28px;
}

.cf-football-day-step-nav a {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 54px;
    padding: 0 18px;
    border: 1px solid #dbe3ea;
    border-radius: 16px;
    background: rgba(255,255,255,.88);
    box-shadow: 0 8px 24px rgba(15,23,42,.055);
    color: #0b2432 !important;
    text-decoration: none !important;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.cf-football-day-step-nav a:last-child {
    justify-content: flex-end;
    text-align: right;
}

.cf-football-day-step-nav a:hover {
    transform: translateY(-2px);
    border-color: #b8c7d4;
    background: #fff;
    box-shadow: 0 12px 30px rgba(15,23,42,.09);
}

.cf-football-day-step-nav span {
    display: inline-grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #0a2d3c;
    color: #fff;
    font-size: 18px;
    line-height: 1;
}

.cf-football-day-step-nav strong {
    font-size: 14px;
    font-weight: 850;
}

.cf-football-side-official-data {
    overflow: hidden;
}

.cf-football-side-facts {
    display: grid;
    gap: 8px;
}

.cf-football-side-facts > div {
    display: grid;
    grid-template-columns: minmax(84px, .8fr) minmax(0, 1.2fr);
    gap: 10px;
    align-items: start;
    padding: 10px 0;
    border-bottom: 1px solid #edf1f4;
}

.cf-football-side-facts > div:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.cf-football-side-facts span {
    color: #7a8895;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.cf-football-side-facts strong {
    min-width: 0;
    color: #0f172a;
    font-size: 11px;
    line-height: 1.45;
    font-weight: 800;
    overflow-wrap: anywhere;
}

@media (max-width: 920px) {
    .cf-football-league-brand {
        min-width: 0;
        align-items: center;
    }

    .cf-football-league-logo {
        width: 88px;
    }
}

@media (max-width: 680px) {
    .cf-football-schedule-head .cf-football-head-actions {
        width: 100%;
        align-items: center;
        justify-content: space-between;
    }

    .cf-football-league-logo {
        width: 72px;
        max-height: 82px;
    }

    .cf-football-day-step-nav {
        gap: 8px;
        margin-top: -14px;
        margin-bottom: 22px;
    }

    .cf-football-day-step-nav a {
        min-height: 48px;
        padding: 0 11px;
        border-radius: 13px;
        gap: 7px;
    }

    .cf-football-day-step-nav span {
        width: 27px;
        height: 27px;
        font-size: 15px;
    }

    .cf-football-day-step-nav strong {
        font-size: 12px;
        line-height: 1.15;
    }

    .cf-football-side-facts > div {
        grid-template-columns: 108px minmax(0,1fr);
    }
}

@media (max-width: 420px) {
    .cf-football-schedule-head .cf-football-head-actions {
        align-items: flex-start;
    }

    .cf-football-schedule-head .cf-football-secondary-button {
        min-height: 44px;
        padding-inline: 14px;
        font-size: 12px;
    }

    .cf-football-league-logo {
        width: 62px;
    }

    .cf-football-day-step-nav a {
        padding-inline: 8px;
    }

    .cf-football-day-step-nav strong {
        font-size: 11px;
    }
}

/* 1.3.0 — accesibilitate tastatură */
.cf-football-shell a:focus-visible,
.cf-football-shell button:focus-visible,
.cf-football-shell [tabindex]:focus-visible {
    outline: 3px solid #22d3ee;
    outline-offset: 3px;
    border-radius: 8px;
}

/* Competiții Fotbal: competition-specific presentation layer. */
.cf-football-period-card {
    padding: 27px 28px;
}

.cf-football-period-table {
    width: 100%;
    overflow-x: auto;
    border: 1px solid #e3e9ed;
    border-radius: 18px;
    background: #fff;
    -webkit-overflow-scrolling: touch;
}

.cf-football-period-row {
    display: flex;
    align-items: center;
    min-width: 620px;
    border-top: 1px solid #e8edf0;
}

.cf-football-period-row:first-child {
    border-top: 0;
}

.cf-football-period-row > span,
.cf-football-period-row > strong {
    flex: 0 0 58px;
    padding: 13px 10px;
    color: #213542;
    font-size: 12px;
    font-weight: 800;
    text-align: center;
}

.cf-football-period-row > span:first-child {
    flex: 1 1 230px;
    min-width: 230px;
    text-align: left;
    font-weight: 900;
}

.cf-football-period-row > strong {
    background: #f5f8fa;
    color: #071c2c;
    font-size: 13px;
}

.cf-football-period-row.is-head {
    background: #f7f9fb;
}

.cf-football-period-row.is-head > span,
.cf-football-period-row.is-head > strong {
    color: #71808b;
    font-size: 9px;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.cf-football-player-name-cell {
    display: grid;
    grid-template-columns: 34px minmax(110px,1fr) auto;
    align-items: center;
    gap: 8px;
    min-width: 180px;
}

.cf-football-player-name-cell img {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    object-fit: cover;
    background: #f1f5f7;
}

.cf-football-player-name-cell strong {
    overflow: hidden;
    color: #102431;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cf-football-player-name-cell small {
    color: #89969f;
    font-size: 10px;
    font-weight: 800;
}

.cf-football-timeline-text em {
    display: inline-flex;
    margin-top: 5px;
    padding: 2px 7px;
    border-radius: 999px;
    background: #eef3f6;
    color: #29414f;
    font-size: 9px;
    font-style: normal;
    font-weight: 900;
}

.cf-football-play-2pt .cf-football-timeline-dot::before,
.cf-football-play-3pt .cf-football-timeline-dot::before,
.cf-football-play-freethrow .cf-football-timeline-dot::before {
    background: var(--bm11-cyan);
    box-shadow: 0 0 0 1px rgba(39,215,231,.5), 0 0 0 6px rgba(39,215,231,.10);
}

.cf-football-play-foul .cf-football-timeline-dot::before,
.cf-football-play-turnover .cf-football-timeline-dot::before {
    background: var(--cf-football-danger);
}

.cf-football-play-2pt .cf-football-timeline-text,
.cf-football-play-3pt .cf-football-timeline-text {
    margin-left: 4px;
    padding: 8px 11px;
    border: 1px solid rgba(39,215,231,.18);
    border-radius: 12px;
    background: #f3fcfd;
}

.cf-football-mini-row.is-focus {
    position: relative;
    margin-inline: -8px;
    padding-inline: 8px;
    border-radius: 10px;
    background: color-mix(in srgb, var(--bm-focus-team, #0b2a3d) 9%, #fff);
    box-shadow: inset 3px 0 0 var(--bm-focus-team, #0b2a3d);
}

.cf-football-form-result.is-v { background: #eaf8ef; color: #167441; }
.cf-football-form-result.is-i { background: #fff0f1; color: #b92938; }

@supports not (background: color-mix(in srgb, #000 10%, #fff)) {
    .cf-football-mini-row.is-focus { background: #f3f7f9; }
}

@media (max-width: 720px) {
    .cf-football-period-card { padding: 20px 16px; }
    .cf-football-player-name-cell { grid-template-columns: 28px minmax(100px,1fr) auto; min-width: 160px; }
    .cf-football-player-name-cell img { width: 28px; height: 28px; }
}

/* Competiții Fotbal 1.1.0 – advanced data suite */
.cf-football-table-wide{min-width:1180px}
.cf-football-advanced-suite{display:grid;gap:14px}
.cf-football-metric-panel{border:1px solid rgba(13,42,61,.12);border-radius:14px;background:#fff;overflow:hidden}
.cf-football-metric-panel>summary{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:15px 17px;cursor:pointer;list-style:none;background:linear-gradient(180deg,#fbfdff,#f5f8fa)}
.cf-football-metric-panel>summary::-webkit-details-marker{display:none}
.cf-football-metric-panel>summary strong{font-size:15px;color:#0b2a3d}
.cf-football-metric-panel>summary span{font-size:12px;color:#617383;text-align:right}
.cf-football-metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:6px 17px 14px;gap:0 20px}
.cf-football-metric-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid rgba(13,42,61,.08)}
.cf-football-metric-row span{font-size:12px;color:#637786}
.cf-football-metric-row strong,.cf-football-metric-row em{font-style:normal;font-size:13px;color:#0b2a3d;min-width:54px;text-align:right}
.cf-football-metric-row em{color:#b22538}
.cf-football-advanced-player-wrap{padding:0 17px 16px}
.cf-football-advanced-player-wrap h4{margin:13px 0 8px;font-size:13px;color:#0b2a3d}
.cf-football-official-description{display:block;margin-top:4px;color:#7a8892;font-size:11px;line-height:1.4}
.cf-football-live-refresh-warning{margin:0 0 14px;padding:10px 13px;border-radius:10px;background:#fff8e6;border:1px solid #efd28a;color:#795900;font-size:12px}
.cf-football-shot-layout{display:grid;grid-template-columns:minmax(260px,520px) minmax(150px,1fr);gap:20px;align-items:center}
.cf-football-shot-chart{width:100%;height:auto;max-height:480px;background:#f8fafb;border:1px solid rgba(13,42,61,.11);border-radius:16px}
.cf-football-shot-chart .court{fill:none;stroke:#93a3ad;stroke-width:2}
.cf-football-shot-chart circle{stroke:#fff;stroke-width:1.4;opacity:.88}
.cf-football-shot-chart circle.is-made{fill:#12833b}
.cf-football-shot-chart circle.is-miss{fill:#c53647}
.cf-football-shot-legend{display:grid;gap:10px}
.cf-football-shot-legend span{display:flex;align-items:center;gap:8px;color:#617383;font-size:13px}
.cf-football-shot-legend i{width:11px;height:11px;border-radius:50%;display:inline-block}
.cf-football-shot-legend i.is-made{background:#12833b}.cf-football-shot-legend i.is-miss{background:#c53647}
.cf-football-shot-legend strong{margin-left:auto;color:#0b2a3d}
.cf-football-lead-chart{border:1px solid rgba(13,42,61,.11);border-radius:14px;padding:12px;background:#fbfcfd}
.cf-football-lead-chart svg{display:block;width:100%;height:auto;max-height:240px}
.cf-football-lead-chart .grid{fill:none;stroke:#d9e1e6;stroke-width:1}
.cf-football-lead-chart polyline{fill:none;stroke-width:3;stroke-linejoin:round;stroke-linecap:round}
.cf-football-lead-chart polyline.away{stroke:#1b668a}.cf-football-lead-chart polyline.home{stroke:#bd3345}
.cf-football-chart-legend{display:flex;justify-content:center;gap:22px;margin-top:8px;font-size:12px;font-weight:700}
.cf-football-chart-legend .away{color:#1b668a}.cf-football-chart-legend .home{color:#bd3345}
.cf-football-status-postponed,.cf-football-status-delayed{background:#fff4cc!important;color:#755600!important}
.cf-football-status-cancelled{background:#fde7e7!important;color:#8b1e24!important}
@media(max-width:760px){
  .cf-football-metric-grid{grid-template-columns:1fr}
  .cf-football-metric-panel>summary{align-items:flex-start;flex-direction:column;gap:4px}
  .cf-football-metric-panel>summary span{text-align:left}
  .cf-football-shot-layout{grid-template-columns:1fr}
  .cf-football-shot-legend{grid-template-columns:1fr 1fr}
}
.cf-football-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.cf-football-summary-card{border:1px solid rgba(13,42,61,.11);border-radius:13px;background:#fbfcfd;padding:14px;display:grid;gap:7px;align-content:start}
.cf-football-summary-card h4{margin:0 0 4px;font-size:13px;color:#0b2a3d}
.cf-football-summary-card span,.cf-football-summary-card>div{font-size:12px;color:#617383;line-height:1.45}
.cf-football-summary-card>div{display:grid;gap:2px;padding:6px 0;border-bottom:1px solid rgba(13,42,61,.07)}
.cf-football-summary-card strong{color:#233e50}
@media(max-width:900px){.cf-football-summary-grid{grid-template-columns:1fr}}

/* ========================================================================== 
   BRATU PREMIER LEAGUE 1.1.1 — refined standings + competition badge + cleanup
   ========================================================================== */

/* Calendar header removed permanently */
.cf-football-calendar-head,
.cf-football-calendar-titlebar {
    display: none !important;
}

.cf-football-schedule-page .cf-football-calendar {
    display: block;
    padding: 14px;
}

.cf-football-schedule-page .cf-football-calendar-days {
    grid-template-columns: repeat(7, minmax(96px, 1fr));
}

/* Competition mark instead of black Premier League pill */
.cf-football-broadcast-league {
    gap: 10px;
}

.cf-football-broadcast-league > .cf-football-competition-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 52px;
    height: 36px;
    padding: 0 8px;
    border: 1px solid #d9e2ea;
    border-radius: 14px;
    background: linear-gradient(180deg, #ffffff 0%, #f5f8fb 100%);
    box-shadow: 0 8px 18px rgba(15, 23, 42, .08);
}

.cf-football-broadcast-league > .cf-football-competition-mark img {
    display: block;
    width: 34px;
    height: 24px;
    object-fit: contain;
}

/* Team abbreviations under names removed */
.cf-football-hero-team small,
.cf-football-card-team-side > small {
    display: none !important;
}

/* Standings page stacked: East then West */
.cf-football-standings-grid,
.cf-football-standings-stack {
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.cf-football-standings-page {
    overflow-x: hidden;
}

.cf-football-standings-card {
    padding: 22px;
}

.cf-football-standings-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.cf-football-standings-item {
    display: grid;
    grid-template-columns: 52px minmax(0, 2.3fr) repeat(6, minmax(72px, 1fr));
    align-items: center;
    gap: 12px;
    padding: 13px 16px;
    border-radius: 18px;
    background: #f8fafc;
    box-shadow: inset 0 0 0 1px rgba(13, 27, 42, .04);
}

.cf-football-standings-item.is-head {
    padding-top: 4px;
    padding-bottom: 4px;
    background: transparent;
    box-shadow: none;
}

.cf-football-standings-item.is-head .cf-football-standings-rank,
.cf-football-standings-item.is-head .cf-football-standings-team,
.cf-football-standings-item.is-head .cf-football-standings-metric {
    color: #7a8895;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.cf-football-standings-rank {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 999px;
    background: #eef3f7;
    color: #081520;
    font-size: 14px;
    font-weight: 900;
}

.cf-football-standings-item.is-head .cf-football-standings-rank {
    width: auto;
    height: auto;
    justify-content: flex-start;
    background: transparent;
    border-radius: 0;
}

.cf-football-standings-team {
    display: flex;
    align-items: center;
    min-width: 0;
    gap: 12px;
}

.cf-football-standings-team img {
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    object-fit: contain;
}

.cf-football-standings-team strong {
    overflow: hidden;
    color: #0b1722;
    font-size: 14px;
    font-weight: 850;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cf-football-standings-metric {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    min-width: 0;
    text-align: center;
}

.cf-football-standings-metric small {
    display: none;
}

.cf-football-standings-metric strong {
    color: #102232;
    font-size: 13px;
    font-weight: 850;
}

/* Side standings without visible separator lines */
.cf-football-mini-row {
    margin-top: 8px;
    padding: 10px 8px;
    border-top: 0;
    border-radius: 12px;
    background: #f8fafc;
}

.cf-football-mini-group + .cf-football-mini-group {
    margin-top: 16px;
}

.cf-football-mini-group h4 {
    margin: 0 0 8px;
    color: #152536;
    font-size: 13px;
    font-weight: 850;
}

@media (max-width: 1100px) {
    .cf-football-standings-item {
        grid-template-columns: 48px minmax(0, 2fr) repeat(6, minmax(62px, 1fr));
        gap: 10px;
        padding: 12px 14px;
    }

    .cf-football-schedule-page .cf-football-calendar-days {
        overflow-x: auto;
        padding-bottom: 2px;
    }
}

@media (max-width: 900px) {
    .cf-football-broadcast-league > strong {
        font-size: 13px;
    }

    .cf-football-standings-item {
        grid-template-columns: 44px minmax(0, 1.8fr) repeat(6, minmax(54px, 1fr));
        gap: 8px;
    }

    .cf-football-standings-team strong {
        font-size: 13px;
    }

    .cf-football-standings-metric strong {
        font-size: 12px;
    }
}

@media (max-width: 720px) {
    .cf-football-standings-item.is-head {
        display: none;
    }

    .cf-football-standings-item {
        grid-template-columns: 40px minmax(0, 1fr) repeat(3, minmax(0, 1fr));
        gap: 10px;
        padding: 14px;
    }

    .cf-football-standings-team {
        grid-column: 2 / -1;
        grid-row: 1;
    }

    .cf-football-standings-rank {
        grid-row: 1;
        width: 36px;
        height: 36px;
        font-size: 13px;
    }

    .cf-football-standings-item .cf-football-standings-metric {
        align-items: flex-start;
        padding: 8px 10px;
        border-radius: 12px;
        background: #ffffff;
        box-shadow: inset 0 0 0 1px rgba(13, 27, 42, .05);
        text-align: left;
    }

    .cf-football-standings-item .cf-football-standings-metric small {
        display: block;
        color: #7a8895;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: .05em;
        text-transform: uppercase;
    }

    .cf-football-standings-item .cf-football-standings-metric strong {
        font-size: 13px;
    }

    .cf-football-broadcast-league > strong {
        font-size: 12px;
    }
}

@media (max-width: 420px) {
    .cf-football-broadcast-league > strong {
        display: none;
    }

    .cf-football-broadcast-league > .cf-football-competition-mark {
        min-width: 46px;
        height: 32px;
    }

    .cf-football-broadcast-league > .cf-football-competition-mark img {
        width: 28px;
        height: 20px;
    }

    .cf-football-standings-item {
        grid-template-columns: 36px minmax(0, 1fr) repeat(2, minmax(0, 1fr));
    }

    .cf-football-standings-item .cf-football-standings-metric {
        min-height: 48px;
    }
}

/* ========================================================================== 
   BRATU PREMIER LEAGUE 1.2.0 — Premium responsive finish
   ========================================================================== */

/* A cleaner rhythm across all virtual Premier League screens. */
.cf-football-shell {
    --bm12-border: rgba(15, 35, 50, .09);
    --bm12-soft-shadow: 0 12px 34px rgba(7, 28, 42, .075);
    --bm12-hover-shadow: 0 22px 52px rgba(7, 28, 42, .12);
}

.cf-football-card,
.cf-football-side-card,
.cf-football-calendar,
.cf-football-game-card-broadcast {
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

/* Official competition logo treatment, with textual fallback behind it. */
.cf-football-broadcast-league > .cf-football-competition-mark {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-width: 58px;
    height: 38px;
    padding: 5px 9px;
    border-color: #dde5eb;
    background: #fff;
}

.cf-football-broadcast-league > .cf-football-competition-mark::after {
    content: "Premier League";
    position: absolute;
    inset: 0;
    z-index: -1;
    display: grid;
    place-items: center;
    color: #243746;
    font-size: 10px;
    font-weight: 950;
    letter-spacing: .08em;
}

.cf-football-broadcast-league > .cf-football-competition-mark img {
    position: relative;
    z-index: 1;
    width: 42px;
    height: 28px;
    background: #fff;
}

.cf-football-broadcast-league > strong {
    color: #415567;
    font-size: 13px;
    font-weight: 850;
}

/* Program cards: slightly denser, cleaner, with more consistent alignment. */
.cf-football-schedule-page .cf-football-game-card-broadcast {
    border-color: var(--bm12-border);
    box-shadow: var(--bm12-soft-shadow);
}

.cf-football-schedule-page .cf-football-game-card-broadcast:hover {
    box-shadow: var(--bm12-hover-shadow);
}

.cf-football-schedule-page .cf-football-banner-name strong,
.cf-football-schedule-page .cf-football-banner-name span {
    text-wrap: balance;
}

.cf-football-schedule-page .cf-football-broadcast-date {
    max-width: 260px;
    margin-inline: auto;
    text-wrap: balance;
}

/* Calendar: label removed from markup, now visually self-contained. */
.cf-football-schedule-page .cf-football-calendar {
    margin-bottom: 26px;
    border: 1px solid var(--bm12-border);
    border-radius: 22px;
    background: rgba(255,255,255,.94);
    box-shadow: var(--bm12-soft-shadow);
}

.cf-football-schedule-page .cf-football-calendar-day {
    min-height: 104px;
    border: 1px solid transparent;
    background: #f7f9fb;
}

.cf-football-schedule-page .cf-football-calendar-day.is-active {
    border-color: rgba(39,215,231,.38);
    background: linear-gradient(145deg, #071e2a 0%, #0e3b4b 100%);
}

/* Standings: no horizontal scroll, no row rules, clear conference hierarchy. */
.cf-football-standings-page .cf-football-page-head {
    min-height: 190px;
}

.cf-football-standings-stack {
    gap: 28px;
}

.cf-football-standings-card {
    overflow: hidden;
    margin: 0;
    border-color: var(--bm12-border);
    box-shadow: var(--bm12-soft-shadow);
}

.cf-football-standings-card .cf-football-section-heading {
    margin-bottom: 12px;
    padding-bottom: 14px;
    border-bottom: 0;
}

.cf-football-standings-list,
.cf-football-standings-head,
.cf-football-standings-body {
    width: 100%;
    max-width: 100%;
    overflow: visible;
}

.cf-football-standings-item {
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.cf-football-standings-body .cf-football-standings-item:hover {
    transform: translateY(-1px);
    background: #fff;
    box-shadow: 0 9px 24px rgba(8, 28, 42, .07), inset 0 0 0 1px rgba(13, 27, 42, .045);
}

.cf-football-standings-body .cf-football-standings-item:nth-child(-n+6) .cf-football-standings-rank {
    background: #e9f8fa;
    color: #08798a;
}

.cf-football-standings-team strong {
    line-height: 1.2;
}

/* Sidebar cards remain compact and do not create nested scrolling. */
.cf-football-sidebar,
.cf-football-side-card,
.cf-football-standings-side-card,
.cf-football-mini-standings {
    max-height: none !important;
    overflow: visible !important;
}

.cf-football-mini-row {
    box-shadow: inset 0 0 0 1px rgba(13, 27, 42, .035);
}

/* Hero polish after removing team abbreviations. */
.cf-football-hero-team strong {
    margin-top: 1px;
    text-wrap: balance;
}

.cf-football-logo-wrap {
    margin-bottom: 13px;
}

/* Better keyboard navigation. */
.cf-football-shell a:focus-visible,
.cf-football-shell button:focus-visible,
.cf-football-shell summary:focus-visible {
    outline: 3px solid rgba(15, 173, 195, .45);
    outline-offset: 3px;
    border-radius: 10px;
}

/* Avoid theme styles forcing unexpected horizontal overflow. */
.cf-football-schedule-page,
.cf-football-game-page,
.cf-football-standings-page,
.cf-football-two-col,
.cf-football-main-col,
.cf-football-sidebar,
.cf-football-standings-stack,
.cf-football-standings-card {
    min-width: 0;
    max-width: 100%;
}

@media (max-width: 1080px) {
    .cf-football-schedule-page .cf-football-calendar-days {
        grid-template-columns: repeat(7, minmax(82px, 1fr));
    }

    .cf-football-standings-item {
        grid-template-columns: 46px minmax(150px, 2fr) repeat(6, minmax(48px, 1fr));
    }
}

@media (max-width: 760px) {
    .cf-football-shell {
        width: min(100% - 20px, 1460px);
    }

    .cf-football-page-head {
        min-height: 0;
        padding: 26px 22px;
        border-radius: 22px;
    }

    .cf-football-page-head h1 {
        font-size: clamp(34px, 10vw, 48px);
        line-height: 1;
    }

    /* Seven days fit in two rows; no forced horizontal scroll on phones. */
    .cf-football-schedule-page .cf-football-calendar {
        padding: 10px;
        border-radius: 18px;
    }

    .cf-football-schedule-page .cf-football-calendar-days {
        overflow: visible;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 7px;
    }

    .cf-football-schedule-page .cf-football-calendar-day {
        min-width: 0;
        min-height: 82px;
        padding: 10px 5px 8px;
        border-radius: 13px;
    }

    .cf-football-schedule-page .cf-football-calendar-day strong {
        font-size: 24px;
    }

    .cf-football-schedule-page .cf-football-calendar-day em {
        position: static;
        margin-top: 5px;
        padding: 2px 5px;
        font-size: 7px;
    }

    .cf-football-day-step-nav {
        gap: 8px;
    }

    .cf-football-day-step-nav a {
        min-height: 50px;
        padding-inline: 14px;
        font-size: 12px;
    }

    .cf-football-standings-card {
        padding: 18px 14px;
        border-radius: 18px;
    }

    .cf-football-standings-list {
        gap: 8px;
    }

    .cf-football-standings-item {
        grid-template-columns: 38px minmax(0, 1fr) repeat(3, minmax(0, 1fr));
        gap: 8px;
        padding: 12px;
        border-radius: 15px;
    }

    .cf-football-standings-team img {
        flex-basis: 30px;
        width: 30px;
        height: 30px;
    }

    .cf-football-standings-team strong {
        white-space: normal;
        text-overflow: clip;
    }

    .cf-football-game-page .cf-football-hero {
        padding-inline: 14px;
    }
}

@media (max-width: 480px) {
    .cf-football-shell {
        width: min(100% - 14px, 1460px);
        margin-top: 12px;
    }

    .cf-football-schedule-page .cf-football-calendar-days {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .cf-football-schedule-page .cf-football-calendar-day {
        min-height: 76px;
    }

    .cf-football-schedule-page .cf-football-game-card-broadcast {
        grid-template-columns: minmax(0, 1fr) 74px minmax(0, 1fr) !important;
        padding: 15px 7px !important;
        min-height: 148px;
    }

    .cf-football-schedule-page .cf-football-banner-logo {
        flex-basis: 48px;
        width: 48px;
        height: 48px;
    }

    .cf-football-schedule-page .cf-football-banner-name strong {
        font-size: 13px;
    }

    .cf-football-broadcast-league > .cf-football-competition-mark {
        min-width: 43px;
        height: 30px;
        padding: 4px 6px;
        border-radius: 10px;
    }

    .cf-football-broadcast-league > .cf-football-competition-mark img {
        width: 30px;
        height: 20px;
    }

    .cf-football-broadcast-league > strong {
        display: none;
    }

    .cf-football-standings-item {
        grid-template-columns: 34px minmax(0, 1fr) repeat(2, minmax(0, 1fr));
        padding: 11px;
    }

    .cf-football-standings-rank {
        width: 32px;
        height: 32px;
    }

    .cf-football-standings-item .cf-football-standings-metric {
        min-height: 46px;
        padding: 7px 8px;
    }

    .cf-football-standings-item .cf-football-standings-metric small {
        font-size: 9px;
    }

    .cf-football-standings-item .cf-football-standings-metric strong {
        font-size: 12px;
    }
}

@media (max-width: 360px) {
    .cf-football-schedule-page .cf-football-calendar-days {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .cf-football-schedule-page .cf-football-game-card-broadcast {
        grid-template-columns: minmax(0, 1fr) 66px minmax(0, 1fr) !important;
    }

    .cf-football-schedule-page .cf-football-banner-name strong {
        font-size: 12px;
    }

    .cf-football-standings-item {
        grid-template-columns: 32px minmax(0, 1fr) repeat(2, minmax(0, 1fr));
        gap: 6px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .cf-football-shell *,
    .cf-football-shell *::before,
    .cf-football-shell *::after {
        scroll-behavior: auto !important;
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .001ms !important;
    }
}

/* ========================================================================== 
   BRATU PREMIER LEAGUE 1.0 — Premier League-specific refinements
   ========================================================================== */
:root {
    --bm11-cyan: #d50a0a;
    --bm11-cyan-deep: #8f0810;
    --cf-football-accent: #d50a0a;
    --cf-football-blue: #013369;
}

.cf-football-page-head {
    background:
        linear-gradient(115deg, rgba(213,10,10,.15), transparent 34%),
        radial-gradient(circle at 88% 0%, rgba(1,51,105,.42), transparent 36%),
        linear-gradient(135deg, #061827 0%, #0b3155 58%, #061725 100%);
}

.cf-football-league-logo {
    display: block;
    width: 86px;
    height: 86px;
    object-fit: contain;
    filter: drop-shadow(0 10px 24px rgba(0,0,0,.22));
}

.cf-football-calendar-head,
.cf-football-calendar-titlebar { display:none !important; }

.cf-football-schedule-page .cf-football-calendar {
    display:block;
    padding:14px;
}

.cf-football-broadcast-league > .cf-football-competition-mark {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:54px;
    height:38px;
    padding:4px 8px;
    border:1px solid #d8e1e8;
    border-radius:13px;
    background:#fff;
    box-shadow:0 7px 18px rgba(15,23,42,.09);
}

.cf-football-broadcast-league > .cf-football-competition-mark img {
    display:block;
    width:38px;
    height:28px;
    object-fit:contain;
}

.cf-football-hero-team small,
.cf-football-card-team-side > small { display:none !important; }

/* Baseball-specific detail cards */
.cf-football-team-stats-grid,
.cf-football-injury-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
}

.cf-football-team-stat-card,
.cf-football-injury-card {
    min-width:0;
    padding:18px;
    border:1px solid #e3e9ef;
    border-radius:18px;
    background:#f9fbfd;
}

.cf-football-team-stat-title {
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:10px;
}

.cf-football-team-stat-title img {
    width:34px;
    height:34px;
    object-fit:contain;
}

.cf-football-stat-line {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:8px 0;
}

.cf-football-stat-line + .cf-football-stat-line {
    border-top:0;
}

.cf-football-stat-line span {
    min-width:0;
    color:#667085;
    font-size:12px;
}

.cf-football-stat-line b {
    flex:0 0 auto;
    color:#0d1b2a;
    font-size:13px;
}

.cf-football-scoring-list {
    display:flex;
    flex-direction:column;
    gap:9px;
}

.cf-football-scoring-row {
    display:grid;
    grid-template-columns:70px minmax(0,1fr) auto;
    align-items:center;
    gap:12px;
    padding:12px 14px;
    border-radius:14px;
    background:#f8fafc;
}

.cf-football-scoring-row > div strong,
.cf-football-scoring-row > div small { display:block; }
.cf-football-scoring-row > div small { color:#7b8794;font-size:10px; }
.cf-football-scoring-row p { margin:0;color:#354252;font-size:13px;line-height:1.45; }
.cf-football-scoring-row > b { font-size:14px;white-space:nowrap; }

.cf-football-player-stat-block + .cf-football-player-stat-block {
    margin-top:24px;
}

.cf-football-player-stat-block h4,
.cf-football-injury-card h4,
.cf-football-division-block h3 {
    margin:0 0 12px;
    color:#0d1b2a;
}

.cf-football-injury-card > div {
    padding:9px 0;
}

.cf-football-injury-card > div + div { border-top:0; }
.cf-football-injury-card strong,
.cf-football-injury-card span { display:block; }
.cf-football-injury-card span { margin-top:2px;color:#667085;font-size:11px; }

/* AL/NL: league cards stacked, divisions inside each league */
.cf-football-standings-stack {
    display:flex;
    flex-direction:column;
    gap:24px;
}

.cf-football-conference-divisions {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px;
}

.cf-football-division-block {
    min-width:0;
    padding:18px;
    border-radius:20px;
    background:#f7f9fb;
}

.cf-football-division-block h3 {
    font-size:18px;
    font-weight:900;
    letter-spacing:-.02em;
}

.cf-football-standings-list { overflow:visible !important; }

.cf-football-standings-item {
    display:grid !important;
    grid-template-columns:42px minmax(150px,2fr) repeat(7,minmax(48px,.7fr)) !important;
    align-items:center;
    gap:7px;
    padding:11px 10px;
    border:0 !important;
    border-radius:14px;
    background:#fff;
    box-shadow:none !important;
}

.cf-football-standings-body {
    display:flex;
    flex-direction:column;
    gap:7px;
}

.cf-football-standings-item.is-head {
    background:transparent;
    padding-top:2px;
    padding-bottom:4px;
}

.cf-football-standings-item.is-head > span {
    color:#7a8794;
    font-size:9px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.06em;
    text-align:center;
}

.cf-football-standings-item.is-head > span:nth-child(2) { text-align:left; }

.cf-football-standings-team {
    display:flex;
    align-items:center;
    min-width:0;
    gap:8px;
}

.cf-football-standings-team img {
    flex:0 0 28px;
    width:28px;
    height:28px;
    object-fit:contain;
}

.cf-football-standings-team strong {
    overflow:hidden;
    font-size:12px;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.cf-football-standings-rank {
    display:grid;
    place-items:center;
    width:32px;
    height:32px;
    border-radius:50%;
    background:#eef3f7;
    font-size:12px;
    font-weight:900;
}

.cf-football-standings-metric {
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:0;
    text-align:center;
}

.cf-football-standings-metric small { display:none; }
.cf-football-standings-metric strong { font-size:11px;font-weight:850; }

/* Compact sidebar standings — no visible separator lines */
.cf-football-mini-row {
    margin-top:7px;
    padding:9px 7px;
    border-top:0 !important;
    border-radius:11px;
    background:#f8fafc;
}

.cf-football-mini-group + .cf-football-mini-group { margin-top:16px; }
.cf-football-mini-group h4 { margin:0 0 6px;font-size:12px;font-weight:850; }

@media (max-width:1180px) {
    .cf-football-conference-divisions { grid-template-columns:1fr; }
}

@media (max-width:900px) {
    .cf-football-team-stats-grid,
    .cf-football-injury-grid { grid-template-columns:1fr; }
}

@media (max-width:720px) {
    .cf-football-division-block { padding:12px; }
    .cf-football-standings-head { display:none; }
    .cf-football-standings-item {
        grid-template-columns:36px minmax(0,1fr) repeat(3,minmax(0,1fr)) !important;
        gap:8px;
        padding:12px;
    }
    .cf-football-standings-team { grid-column:2 / -1;grid-row:1; }
    .cf-football-standings-rank { grid-row:1;width:34px;height:34px; }
    .cf-football-standings-item .cf-football-standings-metric {
        align-items:flex-start;
        justify-content:center;
        flex-direction:column;
        min-height:48px;
        padding:7px 9px;
        border-radius:11px;
        background:#f7f9fb;
        text-align:left;
    }
    .cf-football-standings-item .cf-football-standings-metric small {
        display:block;
        color:#7a8794;
        font-size:8px;
        font-weight:850;
        text-transform:uppercase;
    }
    .cf-football-standings-item .cf-football-standings-metric strong { font-size:12px; }
    .cf-football-scoring-row { grid-template-columns:58px minmax(0,1fr); }
    .cf-football-scoring-row > b { grid-column:2;justify-self:start; }
}

@media (max-width:430px) {
    .cf-football-league-logo { width:68px;height:68px; }
    .cf-football-standings-item { grid-template-columns:32px minmax(0,1fr) repeat(2,minmax(0,1fr)) !important;gap:6px; }
    .cf-football-standings-team strong { white-space:normal;line-height:1.1; }
    .cf-football-player-stat-block .cf-football-table { min-width:680px; }
}

/* ========================================================================== 
   BRATU PREMIER LEAGUE 1.0 — football / Premier League premium overrides
   ========================================================================== */
:root {
    --cf-football-bg: #f5f3f7;
    --cf-football-card: #ffffff;
    --cf-football-ink: #1a1020;
    --cf-football-muted: #716878;
    --cf-football-line: #ebe4ee;
    --cf-football-dark: #25002d;
    --cf-football-dark-2: #3b0647;
    --cf-football-accent: #00ff85;
    --cf-football-accent-dark: #00b85f;
    --cf-football-live: #e90052;
    --cf-football-danger: #d91d47;
    --cf-football-shadow: 0 18px 48px rgba(55, 0, 60, .10);
    --bm11-bg: #f5f3f7;
    --bm11-card: #ffffff;
    --bm11-ink: #1a1020;
    --bm11-muted: #716878;
    --bm11-soft: #f1edf3;
    --bm11-line: #ebe4ee;
    --bm11-navy: #25002d;
    --bm11-navy-2: #4a0759;
    --bm11-cyan: #04f5ff;
    --bm11-cyan-deep: #7b188c;
    --bm11-live: #e90052;
    --bm11-win: #00a75a;
    --bm11-loss: #d91d47;
}

body.cf-football-page,
body.cf-football-page .site-content,
body.cf-football-page #content {
    overflow-x: hidden;
    background:
        radial-gradient(circle at 8% 0%, rgba(4,245,255,.07), transparent 24%),
        radial-gradient(circle at 94% 14%, rgba(0,255,133,.055), transparent 21%),
        linear-gradient(180deg, #faf8fb 0%, #f5f2f7 52%, #f2eef4 100%) !important;
}

.cf-football-shell {
    width: min(1460px, calc(100% - 40px));
    color: var(--cf-football-ink);
}

.cf-football-page-head {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: 244px;
    align-items: center;
    padding: 44px 48px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 30px;
    background:
        radial-gradient(circle at 88% 8%, rgba(0,255,133,.18), transparent 25%),
        radial-gradient(circle at 63% 115%, rgba(4,245,255,.13), transparent 35%),
        linear-gradient(128deg, #26002f 0%, #450052 52%, #24102c 100%);
    box-shadow: 0 30px 76px rgba(55,0,60,.20);
}

.cf-football-page-head::before {
    content:"";
    position:absolute;
    z-index:-1;
    right:-140px;
    bottom:-290px;
    width:590px;
    height:590px;
    border:1px solid rgba(255,255,255,.07);
    border-radius:50%;
    box-shadow:0 0 0 74px rgba(255,255,255,.025),0 0 0 150px rgba(255,255,255,.014);
}

.cf-football-page-head h1 {
    max-width: 900px;
    font-size: clamp(40px, 5.2vw, 74px);
    line-height: .97;
    letter-spacing: -.055em;
    font-weight: 920;
}

.cf-football-page-head p {
    max-width: 900px;
    color: rgba(255,255,255,.78);
    font-size: clamp(15px, 1.25vw, 18px);
    line-height: 1.7;
}

.cf-football-eyebrow,
.cf-football-kicker {
    color: #00c96b;
}

.cf-football-page-head .cf-football-eyebrow { color: #00ff85; }

.cf-football-league-logo {
    width: 104px;
    height: 72px;
    object-fit: contain;
    filter: drop-shadow(0 10px 20px rgba(0,0,0,.15));
}

.cf-football-secondary-button {
    min-height: 50px;
    border-color: rgba(255,255,255,.20);
    background: rgba(255,255,255,.10);
    backdrop-filter: blur(10px);
}

/* Calendar: clean, no redundant label, no forced horizontal scrolling on phones. */
.cf-football-calendar {
    display:block;
    margin: 0 0 28px;
    padding: 12px;
    border:1px solid var(--cf-football-line);
    border-radius:24px;
    background:rgba(255,255,255,.94);
    box-shadow:var(--cf-football-shadow);
}

.cf-football-calendar-days {
    display:grid;
    grid-template-columns:repeat(7,minmax(88px,1fr));
    gap:8px;
    overflow:visible;
}

.cf-football-calendar-day {
    min-height:102px;
    border:1px solid transparent;
    background:#f8f5f9;
    color:#24152a !important;
}

.cf-football-calendar-day:hover {
    border-color:#d8c7dc;
    background:#fff;
}

.cf-football-calendar-day.is-active {
    border-color:#520061;
    background:linear-gradient(145deg,#290031,#560064);
    color:#fff !important;
    box-shadow:0 14px 30px rgba(55,0,60,.17);
}

.cf-football-calendar-day em {
    background:#00ff85;
    color:#23002b;
}

.cf-football-day-step-nav a {
    border-color:#e4dbe7;
    background:#fff;
}

.cf-football-day-step-nav a span {
    background:#37003c;
}

/* Match cards */
.cf-football-game-card-broadcast {
    --bm-away-team:#37003c;
    --bm-home-team:#6f137b;
    min-height:250px;
    border-color:#e5dce8;
    background:
        radial-gradient(circle at 12% 50%, rgba(0,255,133,.06), transparent 27%),
        radial-gradient(circle at 88% 50%, rgba(4,245,255,.055), transparent 27%),
        linear-gradient(180deg,#fff 0%,#fdfbfd 100%);
    box-shadow:0 16px 40px rgba(55,0,60,.08);
}

.cf-football-broadcast-stripe.is-away { background:#04f5ff; }
.cf-football-broadcast-stripe.is-home { background:#00ff85; }
.cf-football-broadcast-stripe::after { background:#fff; box-shadow:19px 0 0 #37003c; }
.cf-football-broadcast-stripe.is-home::after { box-shadow:-19px 0 0 #37003c; }

.cf-football-competition-mark {
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    min-width:62px !important;
    height:42px !important;
    padding:0 7px !important;
    border:1px solid #e4d8e7 !important;
    border-radius:14px !important;
    background:#fff !important;
    box-shadow:0 8px 20px rgba(55,0,60,.09);
}
.cf-football-competition-mark img { width:48px;height:32px;object-fit:contain; }

.cf-football-broadcast-league > strong { color:#4b3b51; }
.cf-football-broadcast-time,
.cf-football-broadcast-score { color:#26002f; }
.cf-football-card-cta,
.cf-football-side-link { color:#720082 !important; }

/* Football match hero */
.cf-football-hero {
    position:relative;
    isolation:isolate;
    overflow:hidden;
    border-radius:32px;
    border:1px solid rgba(255,255,255,.09);
    background:
        radial-gradient(circle at 14% 16%, rgba(0,255,133,.18), transparent 24%),
        radial-gradient(circle at 86% 14%, rgba(4,245,255,.15), transparent 25%),
        linear-gradient(135deg,#24002c 0%,#4b0757 55%,#24102c 100%);
    box-shadow:0 30px 78px rgba(55,0,60,.22);
}

.cf-football-hero-ice {
    opacity:.22;
    background:
        linear-gradient(90deg, transparent 49.9%, rgba(255,255,255,.22) 50%, transparent 50.1%),
        radial-gradient(circle at 50% 50%, transparent 0 70px, rgba(255,255,255,.20) 71px 72px, transparent 73px),
        linear-gradient(180deg,transparent 10%,rgba(255,255,255,.08) 10.2%,transparent 10.4%,transparent 89.6%,rgba(255,255,255,.08) 89.8%,transparent 90%);
}

.cf-football-broadcast-label i { background:#00ff85; box-shadow:0 0 0 5px rgba(0,255,133,.12); }
.cf-football-status-live { background:rgba(233,0,82,.16)!important;color:#ff9bbb!important; }
.cf-football-start-time { color:#fff; }
.cf-football-logo-wrap { border-color:rgba(255,255,255,.15);background:rgba(255,255,255,.09); }

.cf-football-intro-card {
    border-top:3px solid #520061;
}

.cf-football-intro-copy p {
    margin:0 0 15px;
    color:#3c3140;
    font-size:15px;
    line-height:1.82;
}
.cf-football-intro-copy p:last-child { margin-bottom:0; }
.cf-football-intro-copy strong { color:#26002f; }

/* Detailed football statistics */
.cf-football-detail-section + .cf-football-detail-section {
    border-top-color:#eee5f0;
}

.cf-football-detail-title-row {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:14px;
    margin-bottom:16px;
}
.cf-football-detail-title-row h3 { margin:0;color:#251629;font-size:22px;letter-spacing:-.025em; }
.cf-football-detail-title-row > span { color:#84788a;font-size:11px;font-weight:750; }

.cf-football-stat-score-head {
    display:grid;
    grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr);
    align-items:center;
    gap:12px;
    margin-bottom:16px;
    padding:13px 16px;
    border-radius:16px;
    background:#f7f3f8;
    text-align:center;
}
.cf-football-stat-score-head strong { color:#291630;font-size:13px; }
.cf-football-stat-score-head span { color:#96899b;font-size:10px;font-weight:900;text-transform:uppercase; }

.cf-football-football-stat-list { display:flex;flex-direction:column;gap:8px; }
.cf-football-football-stat {
    padding:12px 14px;
    border-radius:15px;
    background:#fbf9fc;
    box-shadow:inset 0 0 0 1px rgba(55,0,60,.045);
}
.cf-football-football-stat > div:first-child {
    display:grid;
    grid-template-columns:70px minmax(0,1fr) 70px;
    align-items:center;
    gap:10px;
    margin-bottom:8px;
    text-align:center;
}
.cf-football-football-stat b { color:#26002f;font-size:14px; }
.cf-football-football-stat span { color:#6e6373;font-size:11px;font-weight:800; }
.cf-football-dual-bar { display:flex;height:6px;gap:3px;overflow:hidden;border-radius:999px;background:#eee8f0; }
.cf-football-dual-bar i:first-child { background:linear-gradient(90deg,#37003c,#7b188c);border-radius:999px 0 0 999px; }
.cf-football-dual-bar i:last-child { background:linear-gradient(90deg,#00c96b,#00ff85);border-radius:0 999px 999px 0; }

/* Events */
.cf-football-soccer-events { display:flex;flex-direction:column;gap:8px; }
.cf-football-soccer-event {
    display:grid;
    grid-template-columns:48px 38px minmax(0,1fr);
    align-items:center;
    gap:10px;
    padding:11px 13px;
    border-radius:14px;
    background:#faf8fb;
}
.cf-football-soccer-event time { color:#6e6373;font-size:12px;font-weight:900; }
.cf-football-soccer-event > i { display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#eee8f0;font-style:normal; }
.cf-football-soccer-event.is-goal > i { background:#ddffed; }
.cf-football-soccer-event.is-yellow > i { background:#fff4c5;color:#a97500; }
.cf-football-soccer-event.is-red > i { background:#ffe7ec;color:#c6003f; }
.cf-football-soccer-event strong { display:block;color:#26152c;font-size:13px; }
.cf-football-soccer-event small { display:block;margin-top:2px;color:#817586;font-size:11px; }

/* Line-ups */
.cf-football-lineups-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
}
.cf-football-lineup-card {
    min-width:0;
    padding:16px;
    border:1px solid #ece3ef;
    border-radius:18px;
    background:#fbf9fc;
}
.cf-football-lineup-head {
    display:flex;
    align-items:center;
    gap:12px;
    padding-bottom:13px;
    margin-bottom:9px;
    border-bottom:1px solid #eee7f0;
}
.cf-football-lineup-head img { flex:0 0 44px;width:44px;height:44px;object-fit:contain; }
.cf-football-lineup-head strong,
.cf-football-lineup-head small { display:block; }
.cf-football-lineup-head strong { color:#26002f;font-size:14px; }
.cf-football-lineup-head small { margin-top:3px;color:#817586;font-size:10px; }
.cf-football-player-list { display:flex;flex-direction:column;gap:5px; }
.cf-football-player-list-row {
    display:grid;
    grid-template-columns:34px minmax(0,1fr) auto;
    align-items:center;
    gap:9px;
    min-height:46px;
    padding:5px 7px;
    border-radius:11px;
}
.cf-football-player-list-row.is-starter { background:#fff;box-shadow:inset 3px 0 0 #00c96b; }
.cf-football-player-list-row img { width:34px;height:38px;object-fit:cover;object-position:top center;border-radius:8px;background:#f0ebf2; }
.cf-football-player-list-row span { overflow:hidden;color:#2a1b2f;font-size:12px;font-weight:750;text-overflow:ellipsis;white-space:nowrap; }
.cf-football-player-list-row small { color:#8c8090;font-size:9px;text-align:right; }

/* Match information / commentary */
.cf-football-info-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}
.cf-football-info-grid > div { border-color:#ede5ef;background:#faf8fb; }

.cf-football-commentary { display:flex;flex-direction:column;gap:6px; }
.cf-football-commentary-row {
    display:grid;
    grid-template-columns:54px minmax(0,1fr);
    gap:12px;
    padding:10px 12px;
    border-radius:12px;
    background:#fbf9fc;
}
.cf-football-commentary-row time { color:#6e086f;font-size:11px;font-weight:900; }
.cf-football-commentary-row p { margin:0;color:#514655;font-size:12px;line-height:1.55; }

/* Standings — all 20 clubs, no horizontal scroll. */
.cf-football-standings-page,
.cf-football-standings-card,
.cf-football-standings-list { overflow-x:hidden; }
.cf-football-standings-list { display:flex;flex-direction:column;gap:8px; }
.cf-football-standings-item {
    display:grid !important;
    grid-template-columns:46px minmax(180px,2.2fr) repeat(7,minmax(54px,.65fr)) 68px !important;
    align-items:center;
    gap:8px;
    width:100%;
    min-width:0 !important;
    padding:12px 14px;
    border:0 !important;
    border-radius:16px;
    background:#faf8fb;
    box-shadow:inset 0 0 0 1px rgba(55,0,60,.045);
}
.cf-football-standings-item.is-head { padding-top:5px;padding-bottom:5px;background:transparent;box-shadow:none; }
.cf-football-standings-item.is-head > span { color:#887b8c;font-size:9px;font-weight:900;text-transform:uppercase;text-align:center; }
.cf-football-standings-item.is-head > span:nth-child(2) { text-align:left; }
.cf-football-standings-rank { background:#efe9f1;color:#37003c; }
.cf-football-standings-team { display:flex;align-items:center;min-width:0;gap:9px; }
.cf-football-standings-team img { flex:0 0 31px;width:31px;height:31px;object-fit:contain; }
.cf-football-standings-team strong { overflow:hidden;color:#26152c;font-size:12px;text-overflow:ellipsis;white-space:nowrap; }
.cf-football-standings-metric { display:flex;align-items:center;justify-content:center;min-width:0; }
.cf-football-standings-metric small { display:none; }
.cf-football-standings-metric strong { color:#302334;font-size:11px;font-weight:850; }
.cf-football-standings-metric.is-points strong { color:#520061;font-size:14px; }
.cf-football-standings-body .cf-football-standings-item:nth-child(-n+4) .cf-football-standings-rank { background:#e1fff0;color:#006b39; }
.cf-football-standings-body .cf-football-standings-item:nth-last-child(-n+3) .cf-football-standings-rank { background:#ffe8ef;color:#b30039; }

/* Leaders */
.cf-football-leaders-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px; }
.cf-football-leader-board { padding:16px;border:1px solid #ebe2ed;border-radius:18px;background:#fbf9fc; }
.cf-football-leader-board h3 { margin:0 0 11px;color:#2d1832;font-size:15px; }
.cf-football-leader-row {
    display:grid;
    grid-template-columns:28px 38px minmax(0,1fr) auto;
    align-items:center;
    gap:9px;
    padding:7px 0;
}
.cf-football-leader-row > span { color:#8e8192;font-size:11px;font-weight:850;text-align:center; }
.cf-football-leader-row img { width:38px;height:42px;object-fit:cover;object-position:top;border-radius:9px;background:#f0ebf2; }
.cf-football-leader-row strong,
.cf-football-leader-row small { display:block; }
.cf-football-leader-row strong { color:#2a1a2e;font-size:12px; }
.cf-football-leader-row small { margin-top:2px;color:#8a7e8f;font-size:9px; }
.cf-football-leader-row > b { color:#520061;font-size:17px; }

/* Form */
.cf-football-form-result.is-v { background:#e2fced !important;color:#087945 !important; }
.cf-football-form-result.is-e { background:#f0edf2 !important;color:#695d6e !important; }
.cf-football-form-result.is-i { background:#ffe9ef !important;color:#b61e49 !important; }
.cf-football-form-legend .is-v { background:#00a75a; }
.cf-football-form-legend .is-e { background:#7b6f80; }
.cf-football-form-legend .is-i { background:#d91d47; }

/* Accessibility / interaction */
.cf-football-shell a:focus-visible,
.cf-football-shell button:focus-visible {
    outline:3px solid #04f5ff;
    outline-offset:3px;
}

@media (max-width:1100px) {
    .cf-football-two-col { grid-template-columns:minmax(0,1fr) 310px; }
    .cf-football-standings-item {
        grid-template-columns:42px minmax(150px,1.7fr) repeat(7,minmax(46px,.55fr)) 58px !important;
        gap:5px;
        padding-inline:10px;
    }
    .cf-football-standings-team strong { font-size:11px; }
    .cf-football-standings-metric strong { font-size:10px; }
}

@media (max-width:900px) {
    .cf-football-two-col { grid-template-columns:1fr; }
    .cf-football-sidebar { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .cf-football-lineups-grid { grid-template-columns:1fr; }
    .cf-football-leaders-grid { grid-template-columns:1fr; }
    .cf-football-page-head { padding:36px 32px; }
}

@media (max-width:720px) {
    .cf-football-shell { width:min(100% - 20px,1460px);margin-top:16px; }
    .cf-football-page-head { min-height:0;align-items:flex-start;flex-direction:column;padding:28px 23px;border-radius:23px; }
    .cf-football-page-head h1 { font-size:clamp(34px,11vw,50px); }
    .cf-football-head-actions { align-items:flex-start; }
    .cf-football-league-logo { width:84px;height:58px; }
    .cf-football-calendar { padding:8px;border-radius:18px; }
    .cf-football-calendar-days { grid-template-columns:repeat(4,minmax(0,1fr));gap:6px; }
    .cf-football-calendar-day { min-height:82px;padding:9px 5px;border-radius:13px; }
    .cf-football-calendar-day:nth-child(n+5) { grid-column:auto; }
    .cf-football-calendar-day strong { font-size:23px; }
    .cf-football-calendar-day em { position:static;margin-top:5px;font-size:7px; }
    .cf-football-game-grid { grid-template-columns:1fr !important; }
    .cf-football-matchup { grid-template-columns:minmax(0,1fr) 94px minmax(0,1fr);gap:7px; }
    .cf-football-logo-wrap { width:76px;height:76px; }
    .cf-football-hero-team strong { font-size:13px;line-height:1.08; }
    .cf-football-start-time,.cf-football-main-score { font-size:31px; }
    .cf-football-sidebar { grid-template-columns:1fr; }
    .cf-football-detail-title-row { align-items:flex-start;flex-direction:column;gap:4px; }
    .cf-football-football-stat > div:first-child { grid-template-columns:54px minmax(0,1fr) 54px; }
    .cf-football-stat-score-head { grid-template-columns:minmax(0,1fr) 30px minmax(0,1fr);padding-inline:9px; }
    .cf-football-soccer-event { grid-template-columns:42px 32px minmax(0,1fr);padding-inline:9px; }
    .cf-football-info-grid { grid-template-columns:1fr; }

    .cf-football-standings-head { display:none !important; }
    .cf-football-standings-item {
        grid-template-columns:36px repeat(4,minmax(0,1fr)) !important;
        gap:7px;
        padding:12px;
    }
    .cf-football-standings-rank { grid-row:1;width:34px;height:34px; }
    .cf-football-standings-team { grid-column:2 / -1;grid-row:1; }
    .cf-football-standings-team strong { font-size:13px;white-space:normal;line-height:1.12; }
    .cf-football-standings-item .cf-football-standings-metric {
        align-items:flex-start;
        justify-content:center;
        flex-direction:column;
        min-height:47px;
        padding:6px 8px;
        border-radius:10px;
        background:#fff;
        box-shadow:inset 0 0 0 1px rgba(55,0,60,.055);
        text-align:left;
    }
    .cf-football-standings-item .cf-football-standings-metric small { display:block;color:#8d8091;font-size:8px;font-weight:850;text-transform:uppercase; }
    .cf-football-standings-item .cf-football-standings-metric strong { font-size:12px; }
    .cf-football-commentary-row { grid-template-columns:44px minmax(0,1fr);padding-inline:8px; }
}

@media (max-width:430px) {
    .cf-football-calendar-days { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .cf-football-game-card-broadcast { min-height:145px;grid-template-columns:minmax(0,1fr) 78px minmax(0,1fr) !important;padding-inline:8px !important; }
    .cf-football-banner-logo { width:48px;height:48px;flex-basis:48px; }
    .cf-football-banner-name strong { font-size:12px !important; }
    .cf-football-broadcast-league > strong { display:none; }
    .cf-football-competition-mark { min-width:46px!important;height:32px!important; }
    .cf-football-competition-mark img { width:35px;height:24px; }
    .cf-football-broadcast-time,.cf-football-broadcast-score { font-size:21px !important; }
    .cf-football-standings-item { grid-template-columns:32px repeat(3,minmax(0,1fr)) !important;gap:6px; }
    .cf-football-standings-team { grid-column:2 / -1; }
    .cf-football-leader-row { grid-template-columns:24px 34px minmax(0,1fr) auto;gap:6px; }
}

@media (prefers-reduced-motion: reduce) {
    .cf-football-shell *,
    .cf-football-shell *::before,
    .cf-football-shell *::after {
        scroll-behavior:auto !important;
        animation-duration:.001ms !important;
        animation-iteration-count:1 !important;
        transition-duration:.001ms !important;
    }
}

.cf-football-head-facts {
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:20px;
}
.cf-football-head-facts span {
    display:inline-flex;
    align-items:center;
    gap:6px;
    min-height:34px;
    padding:0 11px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:999px;
    background:rgba(255,255,255,.07);
    color:rgba(255,255,255,.74);
    font-size:10px;
    font-weight:750;
}
.cf-football-head-facts b { color:#00ff85;font-size:12px; }
@media(max-width:720px){.cf-football-head-facts{margin-top:16px}.cf-football-head-facts span{min-height:31px;font-size:9px}}

/* ========================================================================== 
   BRATU PREMIER LEAGUE 1.0.1 — standings resilience + club colour cards
   ========================================================================== */

/* Match cards now inherit the identity of the two clubs. Home is left, away is right. */
.cf-football-schedule-page .cf-football-game-card-broadcast {
    background:
        radial-gradient(circle at 5% 50%, color-mix(in srgb, var(--bm-home-team) 18%, transparent), transparent 34%),
        radial-gradient(circle at 95% 50%, color-mix(in srgb, var(--bm-away-team) 18%, transparent), transparent 34%),
        linear-gradient(180deg,#ffffff 0%,#fdfbfd 100%);
    border-color: color-mix(in srgb, var(--bm-home-team) 12%, #e5dce8);
}

.cf-football-schedule-page .cf-football-broadcast-stripe.is-home {
    left: -72px;
    right: auto;
    transform: skewX(-27deg);
    background: var(--bm-home-team) !important;
}

.cf-football-schedule-page .cf-football-broadcast-stripe.is-away {
    right: -72px;
    left: auto;
    transform: skewX(27deg);
    background: var(--bm-away-team) !important;
}

.cf-football-schedule-page .cf-football-broadcast-stripe.is-home::after {
    inset: 0 38px 0 auto;
    background: var(--bm-home-accent) !important;
    box-shadow: 19px 0 0 color-mix(in srgb, var(--bm-home-team) 82%, #111 18%) !important;
}

.cf-football-schedule-page .cf-football-broadcast-stripe.is-away::after {
    inset: 0 auto 0 38px;
    background: var(--bm-away-accent) !important;
    box-shadow: -19px 0 0 color-mix(in srgb, var(--bm-away-team) 82%, #111 18%) !important;
}

.cf-football-schedule-page .cf-football-banner-team.is-home .cf-football-banner-logo {
    filter: drop-shadow(0 9px 18px color-mix(in srgb, var(--bm-home-team) 22%, transparent));
}

.cf-football-schedule-page .cf-football-banner-team.is-away .cf-football-banner-logo {
    filter: drop-shadow(0 9px 18px color-mix(in srgb, var(--bm-away-team) 22%, transparent));
}

/* Upcoming-match cards in the sidebar carry the same club identity. */
.cf-football-related-pro {
    position: relative;
    overflow: hidden;
    border-radius: 14px;
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--bm-home-team) 7%, #fff) 0%, #fff 38%, #fff 62%, color-mix(in srgb, var(--bm-away-team) 7%, #fff) 100%);
}

.cf-football-related-pro::before,
.cf-football-related-pro::after {
    content:"";
    position:absolute;
    top:0;
    bottom:0;
    width:3px;
}
.cf-football-related-pro::before { left:0;background:var(--bm-home-team); }
.cf-football-related-pro::after { right:0;background:var(--bm-away-team); }

/* Dedicated standings: always render vertically and never depend on table overflow. */
.cf-football-standings-page .cf-football-standings-list,
.cf-football-standings-page .cf-football-standings-body,
.cf-football-standings-page .cf-football-standings-card {
    width:100%;
    max-width:100%;
    overflow:visible !important;
}

/* Sections intentionally removed in 1.0.1 stay hidden even if stale cached HTML exists briefly. */
.cf-football-soccer-events,
.cf-football-commentary,
.cf-football-info-grid {
    display:none !important;
}

@media (max-width: 680px) {
    .cf-football-schedule-page .cf-football-broadcast-stripe.is-home { left:-56px; }
    .cf-football-schedule-page .cf-football-broadcast-stripe.is-away { right:-56px; }
}

/* ============================================================
 * Competiții Fotbal 1.0.0 — generic competition overrides
 * ============================================================ */
.cf-football-shell { --bm-epl-purple: var(--cf-accent, #12263a); --bm-epl-green: var(--cf-accent-2, #2ec4b6); }
.cf-football-page-head {
    background:
        radial-gradient(circle at 84% 10%, color-mix(in srgb, var(--cf-accent-2, #2ec4b6) 24%, transparent), transparent 30%),
        linear-gradient(135deg, color-mix(in srgb, var(--cf-accent, #12263a) 92%, #000 8%) 0%, color-mix(in srgb, var(--cf-accent, #12263a) 72%, #0d2b3c 28%) 100%) !important;
}
.cf-football-eyebrow,
.cf-football-kicker { color: var(--cf-accent-2, #2ec4b6) !important; }
.cf-football-calendar-day.is-active {
    background: linear-gradient(145deg, color-mix(in srgb, var(--cf-accent, #12263a) 90%, #000 10%), color-mix(in srgb, var(--cf-accent, #12263a) 72%, #0d2b3c 28%)) !important;
    border-color: color-mix(in srgb, var(--cf-accent-2, #2ec4b6) 58%, transparent) !important;
}
.cf-football-head-facts b { color: var(--cf-accent-2, #2ec4b6) !important; }
.cf-football-secondary-button:hover,
.cf-football-side-link { color: var(--cf-accent-2, #2ec4b6) !important; }
.cf-football-competition-logo-large {
    display:grid; place-items:center; width:120px; min-height:88px; margin:0 auto 14px; padding:12px;
    border:1px solid rgba(255,255,255,.14); border-radius:22px; background:rgba(255,255,255,.08);
}
.cf-football-competition-logo-large img { max-width:96px; max-height:64px; object-fit:contain; filter:drop-shadow(0 8px 18px rgba(0,0,0,.18)); }
.cf-football-competition-logo-large span { font-size:46px; line-height:1; }
.cf-football-competition-mark img { max-width:48px; max-height:32px; object-fit:contain; }
.cf-football-competition-mark > span { font-size:23px; line-height:1; }
.cf-football-standings-card { overflow:hidden; }
.cf-football-standings-list { width:100%; min-width:0; }
.cf-football-standings-item { grid-template-columns:48px minmax(180px,2fr) repeat(6,minmax(54px,1fr)); }
.cf-football-lineup-player img { width:38px; height:38px; border-radius:50%; object-fit:cover; background:#eef2f6; }
@media(max-width:720px){
    .cf-football-competition-logo-large { width:92px; min-height:72px; margin:0; }
    .cf-football-standings-item { grid-template-columns:40px minmax(0,1fr) repeat(3,minmax(0,1fr)); }
    .cf-football-standings-item.is-head { display:none; }
    .cf-football-standings-team { grid-column:2/-1; }
    .cf-football-standings-metric small { display:block; }
}
.cf-football-broadcast-league > .cf-football-competition-mark::after { content:none !important; display:none !important; }

/* ========================================================================== 
   COMPETIȚII FOTBAL 1.0.2 — navigare robustă pe etape
   ========================================================================== */
.cf-football-round-nav {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(190px, .72fr) minmax(0, 1fr);
    align-items: stretch;
    gap: 12px;
    margin: 0 0 34px;
}

.cf-football-round-step,
.cf-football-round-current {
    min-height: 82px;
    border: 1px solid var(--cf-line, #dde5eb);
    border-radius: 18px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 10px 30px rgba(8,28,42,.065);
}

.cf-football-round-step {
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 14px 18px;
    color: var(--cf-ink, #0b1722) !important;
    text-decoration: none !important;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.cf-football-round-step.is-next {
    justify-content: flex-end;
    text-align: right;
}

.cf-football-round-step:hover {
    transform: translateY(-2px);
    border-color: color-mix(in srgb, var(--cf-accent, #12263a) 30%, #dce4ea);
    box-shadow: 0 15px 34px rgba(8,28,42,.10);
}

.cf-football-round-step > span[aria-hidden="true"] {
    display: grid;
    place-items: center;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--cf-accent, #12263a) 9%, #fff);
    color: var(--cf-accent, #12263a);
    font-size: 20px;
    font-weight: 900;
}

.cf-football-round-step small,
.cf-football-round-step strong,
.cf-football-round-current small,
.cf-football-round-current strong,
.cf-football-round-current span {
    display: block;
}

.cf-football-round-step small,
.cf-football-round-current small {
    margin-bottom: 3px;
    color: #7a8895;
    font-size: 10px;
    line-height: 1.1;
    font-weight: 850;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.cf-football-round-step strong {
    color: #102232;
    font-size: 15px;
    font-weight: 900;
}

.cf-football-round-current {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 12px 18px;
    text-align: center;
    background:
        radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--cf-accent-2, #2ec4b6) 18%, transparent), transparent 65%),
        linear-gradient(145deg, var(--cf-accent, #12263a), color-mix(in srgb, var(--cf-accent, #12263a) 72%, #071923));
    border-color: transparent;
    color: #fff;
    box-shadow: 0 16px 38px color-mix(in srgb, var(--cf-accent, #12263a) 18%, transparent);
}

.cf-football-round-current small {
    color: rgba(255,255,255,.62);
}

.cf-football-round-current strong {
    color: #fff;
    font-size: clamp(20px, 2.1vw, 29px);
    line-height: 1;
    letter-spacing: -.025em;
    font-weight: 950;
}

.cf-football-round-current > span {
    margin-top: 6px;
    color: rgba(255,255,255,.72);
    font-size: 11px;
    font-weight: 700;
}

.cf-football-round-step.is-disabled {
    visibility: hidden;
}

.cf-football-round-nav-fallback {
    grid-template-columns: 1fr minmax(190px, .72fr) 1fr;
}

/* Calendarul vechi nu mai este utilizat în pagina de program. */
.cf-football-schedule-page > .cf-football-calendar,
.cf-football-schedule-page > .cf-football-day-step-nav {
    display: none !important;
}

@media (max-width: 760px) {
    .cf-football-round-nav {
        grid-template-columns: minmax(0, 1fr) minmax(126px, .9fr) minmax(0, 1fr);
        gap: 7px;
        margin-bottom: 24px;
    }

    .cf-football-round-step,
    .cf-football-round-current {
        min-height: 74px;
        border-radius: 15px;
    }

    .cf-football-round-step {
        gap: 7px;
        padding: 10px;
    }

    .cf-football-round-step > span[aria-hidden="true"] {
        flex-basis: 28px;
        width: 28px;
        height: 28px;
        font-size: 16px;
    }

    .cf-football-round-step small {
        display: none;
    }

    .cf-football-round-step strong {
        font-size: 12px;
        line-height: 1.15;
    }

    .cf-football-round-current {
        padding: 10px 7px;
    }

    .cf-football-round-current small {
        font-size: 8px;
    }

    .cf-football-round-current strong {
        font-size: 18px;
    }

    .cf-football-round-current > span {
        font-size: 9px;
    }
}

@media (max-width: 430px) {
    .cf-football-round-nav {
        grid-template-columns: 88px minmax(0, 1fr) 88px;
        gap: 6px;
    }

    .cf-football-round-step {
        min-width: 0;
        justify-content: center !important;
        flex-direction: column;
        gap: 4px;
        padding: 7px 4px;
        text-align: center !important;
    }

    .cf-football-round-step.is-next {
        flex-direction: column-reverse;
    }

    .cf-football-round-step > span:not([aria-hidden="true"]) {
        display: block;
        min-width: 0;
    }

    .cf-football-round-step > span[aria-hidden="true"] {
        flex: 0 0 25px;
        width: 25px;
        height: 25px;
        font-size: 15px;
    }

    .cf-football-round-step strong {
        display: block;
        font-size: 9px;
        line-height: 1.12;
        overflow-wrap: anywhere;
    }

    .cf-football-round-current {
        min-width: 0;
        padding-inline: 4px;
    }

    .cf-football-round-current strong {
        font-size: 18px;
    }
}

@media (max-width: 350px) {
    .cf-football-round-nav {
        grid-template-columns: 78px minmax(0, 1fr) 78px;
        gap: 4px;
    }
    .cf-football-round-step strong { font-size: 8px; }
    .cf-football-round-current strong { font-size: 16px; }
    .cf-football-round-current > span { font-size: 8px; }
}

@supports not (background: color-mix(in srgb, #000 10%, #fff)) {
    .cf-football-round-step > span[aria-hidden="true"] { background: #f1f5f7; }
    .cf-football-round-current { background: var(--cf-accent, #12263a); }
}


/* ========================================================================== 
   COMPETIȚII FOTBAL 1.0.3 — logo ESPN + navigare etapă mereu vizibilă
   ========================================================================== */
.cf-football-round-nav { width:100%; }
.cf-football-round-step { visibility:visible; }
.cf-football-round-step.is-disabled { visibility:hidden; }
.cf-football-banner-logo img,
.cf-football-logo-wrap img { width:100%; height:100%; object-fit:contain; }
@media (max-width:430px){
  .cf-football-round-nav{grid-template-columns:minmax(82px,.8fr) minmax(138px,1.25fr) minmax(82px,.8fr);gap:6px;}
  .cf-football-round-step{min-height:82px;padding:8px 4px;}
  .cf-football-round-step strong{font-size:9px;line-height:1.12;overflow-wrap:normal;word-break:normal;}
  .cf-football-round-current{min-height:82px;}
  .cf-football-round-current strong{font-size:18px;white-space:nowrap;}
}
@media (max-width:360px){
  .cf-football-round-nav{grid-template-columns:78px minmax(126px,1fr) 78px;gap:4px;}
  .cf-football-round-step strong{font-size:8px;}
  .cf-football-round-current strong{font-size:16px;}
}

/* 1.0.7 — selector pentru toate sursele video PPV păstrate */
.cf-football-player-source-wrap {
    display:flex;
    flex-direction:column;
    gap:10px;
}
.cf-football-player-sources {
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    padding:0 0 2px;
}
.cf-football-source-button {
    appearance:none;
    border:1px solid rgba(23,18,30,.12);
    border-radius:999px;
    background:#fff;
    color:#2a1b2f;
    cursor:pointer;
    display:inline-flex;
    align-items:center;
    gap:7px;
    min-height:38px;
    padding:8px 13px;
    font:inherit;
    font-size:12px;
    font-weight:700;
    line-height:1.1;
    transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.cf-football-source-button small {
    opacity:.58;
    font-size:9px;
    font-weight:800;
    letter-spacing:.04em;
}
.cf-football-source-button:hover,
.cf-football-source-button:focus-visible {
    border-color:var(--cf-accent,#5b2cff);
    box-shadow:0 0 0 3px rgba(91,44,255,.10);
    outline:none;
}
.cf-football-source-button.is-active {
    border-color:var(--cf-accent,#5b2cff);
    background:var(--cf-accent,#5b2cff);
    color:#fff;
}
@media (max-width:520px) {
    .cf-football-player-sources { gap:6px; }
    .cf-football-source-button { flex:1 1 calc(50% - 6px); justify-content:center; min-width:0; }
}

/* 1.0.9 — prioritate surse directe PPV + fallback manual */
.cf-football-next-source {
    appearance:none;
    align-self:flex-start;
    border:1px solid rgba(255,255,255,.18);
    border-radius:999px;
    background:rgba(255,255,255,.08);
    color:inherit;
    cursor:pointer;
    min-height:40px;
    padding:9px 14px;
    font:inherit;
    font-size:12px;
    font-weight:800;
    line-height:1.2;
    transition:transform .18s ease, background .18s ease, border-color .18s ease;
}
.cf-football-next-source:hover,
.cf-football-next-source:focus-visible {
    transform:translateY(-1px);
    background:rgba(255,255,255,.14);
    border-color:rgba(255,255,255,.32);
    outline:none;
}
.cf-football-source-button small {
    text-transform:none;
}
@media (max-width:520px) {
    .cf-football-next-source { width:100%; text-align:center; justify-content:center; }
}

/* ============================================================
 * Competiții Fotbal 1.0.11 — cerințe UI eveniment + program
 * ============================================================ */

/* Siglele sunt complet transparente, fără cerc, placă sau umbră de fundal. */
.cf-football-logo-wrap,
.cf-football-banner-logo,
.cf-football-competition-logo-large,
.cf-football-competition-mark,
.cf-football-video-competition-logo {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    overflow: visible !important;
}
.cf-football-logo-wrap::before,
.cf-football-logo-wrap::after,
.cf-football-banner-logo::before,
.cf-football-banner-logo::after,
.cf-football-competition-logo-large::before,
.cf-football-competition-logo-large::after,
.cf-football-competition-mark::before,
.cf-football-competition-mark::after {
    content: none !important;
    display: none !important;
}

/* Siglele sunt mărite cu 30%, păstrând proporțiile sursei. */
.cf-football-logo-wrap img,
.cf-football-banner-logo img,
.cf-football-competition-logo-large img,
.cf-football-competition-mark img {
    width: 130% !important;
    height: 130% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: contain !important;
    filter: none !important;
}
.cf-football-logo-wrap img,
.cf-football-banner-logo img,
.cf-football-competition-logo-large img,
.cf-football-competition-mark img,
.cf-football-mini-row img,
.cf-football-related-inline-team img,
.cf-football-form-team-head img,
[data-cf-football-zoom-logo] {
    cursor: zoom-in;
}
[data-cf-football-zoom-logo]:focus-visible {
    outline: 3px solid currentColor;
    outline-offset: 4px;
}

/* Lightbox pentru zoom-ul siglelor. */
.cf-football-logo-zoom {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: grid;
    place-items: center;
    padding: 28px;
    background: rgba(5, 10, 18, .86);
    backdrop-filter: blur(8px);
}
.cf-football-logo-zoom[hidden] { display: none !important; }
.cf-football-logo-zoom-inner {
    position: relative;
    display: grid;
    place-items: center;
    width: min(560px, 92vw);
    height: min(560px, 78vh);
    padding: 38px;
    border-radius: 26px;
    background: rgba(255,255,255,.97);
    box-shadow: 0 30px 90px rgba(0,0,0,.35);
}
.cf-football-logo-zoom-inner img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: transparent !important;
}
.cf-football-logo-zoom-close {
    position: absolute;
    top: 12px;
    right: 12px;
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: #101820;
    color: #fff;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
}
body.cf-football-logo-zoom-open { overflow: hidden; }

/* SVG-uri pentru dată, oră și locație. */
.cf-football-meta-icon {
    display: inline-block !important;
    flex: 0 0 15px;
    width: 15px !important;
    height: 15px !important;
    max-width: 15px !important;
    max-height: 15px !important;
    margin: 0 7px 0 0;
    object-fit: contain;
    vertical-align: -2px;
    opacity: .78;
    background: transparent !important;
}
.cf-football-hero-meta > span {
    display: inline-flex;
    align-items: center;
    gap: 0;
}
.cf-football-event-meta-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    margin-top: 6px;
}
.cf-football-event-meta-card > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    max-width: 100%;
    color: #6f6672;
    font-size: 10px;
    line-height: 1.25;
    text-align: center;
}
.cf-football-event-meta-card .cf-football-meta-icon {
    flex-basis: 12px;
    width: 12px !important;
    height: 12px !important;
    max-width: 12px !important;
    max-height: 12px !important;
    margin-right: 5px;
}
.cf-football-side-facts > div > span:has(.cf-football-meta-icon) {
    display: inline-flex;
    align-items: center;
}
.cf-football-side-facts .cf-football-meta-icon {
    width: 12px !important;
    height: 12px !important;
    max-width: 12px !important;
    max-height: 12px !important;
    margin-right: 5px;
}

/* Titlurile cerute în stil wordmark sportiv, fără marcă afișată. */
.cf-football-wordmark-heading {
    margin: 0;
    font-family: "Arial Black", Arial, Helvetica, sans-serif !important;
    font-style: italic;
    font-weight: 900 !important;
    text-transform: uppercase;
    letter-spacing: -.06em !important;
    line-height: .92 !important;
}
.cf-football-video-card .cf-football-wordmark-heading,
.cf-football-details-card > .cf-football-section-heading .cf-football-wordmark-heading {
    font-size: clamp(27px, 3.2vw, 42px) !important;
}
.cf-football-video-competition {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
    color: var(--cf-accent-2, #2ec4b6);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.cf-football-video-competition-logo {
    display: inline-grid;
    place-items: center;
    width: 30px;
    height: 30px;
    min-width: 30px;
}
.cf-football-video-competition-logo img {
    width: 130% !important;
    height: 130% !important;
}

/* Navigarea are numai cele două etape, cu săgețile împinse spre margini. */
.cf-football-round-nav.cf-football-round-nav-two {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 14px;
}
.cf-football-round-nav-two .cf-football-round-step {
    width: 100%;
    min-height: 76px;
    justify-content: space-between !important;
    padding-inline: 22px;
}
.cf-football-round-nav-two .cf-football-round-step.is-next {
    text-align: right;
}
.cf-football-round-nav-two .cf-football-round-step strong {
    font-size: clamp(14px, 1.8vw, 18px);
}
.cf-football-round-nav-two .cf-football-round-step > span[aria-hidden="true"] {
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
}

/* Formații: listă editorială, fără fotografii de jucători. */
.cf-football-lineups-pro .cf-football-lineups-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}
.cf-football-lineups-pro .cf-football-lineup-card {
    overflow: hidden;
    padding: 0 !important;
    border: 1px solid #e6e8ec;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 12px 32px rgba(20, 22, 30, .06);
}
.cf-football-lineups-pro .cf-football-lineup-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 20px;
    border-bottom: 1px solid #eceef1;
    background: linear-gradient(180deg, #fff 0%, #fafbfc 100%);
}
.cf-football-lineups-pro .cf-football-lineup-title strong,
.cf-football-lineups-pro .cf-football-lineup-title small {
    display: block;
}
.cf-football-lineups-pro .cf-football-lineup-title strong {
    color: #17131a;
    font-size: 16px;
    font-weight: 900;
}
.cf-football-lineups-pro .cf-football-lineup-title small {
    margin-top: 3px;
    color: #847b87;
    font-size: 10px;
}
.cf-football-formation-badge {
    flex: 0 0 auto;
    padding: 7px 10px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--cf-accent, #12263a) 9%, #fff);
    color: var(--cf-accent, #12263a);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .04em;
}
.cf-football-lineup-group { padding: 16px 18px 18px; }
.cf-football-lineup-group + .cf-football-lineup-group { border-top: 1px solid #eef0f2; }
.cf-football-lineup-group h4 {
    margin: 0 0 10px;
    color: #827884;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .09em;
    text-transform: uppercase;
}
.cf-football-lineups-pro .cf-football-lineup-list {
    display: grid;
    gap: 7px;
}
.cf-football-lineups-pro .cf-football-lineup-player {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    min-height: 48px;
    padding: 8px 10px;
    border: 1px solid #eef0f2;
    border-radius: 12px;
    background: #fcfcfd;
}
.cf-football-lineup-number {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border-radius: 9px;
    background: var(--cf-accent, #12263a);
    color: #fff;
    font-size: 11px;
    font-weight: 900;
}
.cf-football-lineup-player-copy { min-width: 0; }
.cf-football-lineup-player-copy strong,
.cf-football-lineup-player-copy small { display: block; }
.cf-football-lineup-player-copy strong {
    overflow: hidden;
    color: #211a23;
    font-size: 12px;
    line-height: 1.25;
    font-weight: 850;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.cf-football-lineup-player-copy small {
    margin-top: 2px;
    color: #8a818d;
    font-size: 9px;
}
.cf-football-lineups-pro .cf-football-lineup-player img { display: none !important; }

/* Clasamentul din sidebar este complet și grupat când competiția folosește grupe. */
.cf-football-mini-standings-complete { max-height: none !important; overflow: visible !important; }
.cf-football-mini-group + .cf-football-mini-group { margin-top: 16px; }
.cf-football-mini-group-title {
    margin: 0 0 7px;
    padding: 0 3px;
    color: #6e6470;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
}

@media (max-width: 760px) {
    .cf-football-round-nav.cf-football-round-nav-two {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        gap: 8px;
    }
    .cf-football-round-nav-two .cf-football-round-step {
        min-height: 66px;
        flex-direction: row !important;
        padding: 9px 10px;
        text-align: left !important;
    }
    .cf-football-round-nav-two .cf-football-round-step.is-next { text-align: right !important; }
    .cf-football-round-nav-two .cf-football-round-step strong {
        font-size: 11px;
        line-height: 1.15;
    }
    .cf-football-round-nav-two .cf-football-round-step > span[aria-hidden="true"] {
        flex-basis: 30px;
        width: 30px;
        height: 30px;
    }
    .cf-football-lineups-pro .cf-football-lineups-grid { grid-template-columns: 1fr; }
    .cf-football-logo-zoom-inner { width: 92vw; height: 68vh; padding: 28px; }
}

/* Culorile laterale ale cardurilor provin numai din culorile echipelor. */
.cf-football-schedule-page .cf-football-broadcast-stripe.is-home,
.cf-football-schedule-page .cf-football-broadcast-stripe.is-home::after {
    background: var(--bm-home-team) !important;
    box-shadow: none !important;
}
.cf-football-schedule-page .cf-football-broadcast-stripe.is-away,
.cf-football-schedule-page .cf-football-broadcast-stripe.is-away::after {
    background: var(--bm-away-team) !important;
    box-shadow: none !important;
}
.cf-football-schedule-page .cf-football-banner-logo { filter: none !important; }

/* Toate siglele interactive rămân fără fundal; cardurile nu inventează accente secundare. */
.cf-football-shell img[data-cf-football-zoom-logo] { background: transparent !important; }
.cf-football-schedule-page .cf-football-broadcast-stripe::after { display:none !important; content:none !important; box-shadow:none !important; }

/* Full-width shortcode pages as well as virtual competition pages. */
body.cf-football-page #content > .ast-container,
body.cf-football-page #content #primary,
body.cf-football-page #content .site-main,
body.cf-football-page #content .ast-article-single,
body.cf-football-page #content .entry-content { width:100% !important; max-width:none !important; min-width:0; margin-left:0 !important; margin-right:0 !important; padding-left:0 !important; padding-right:0 !important; box-sizing:border-box; }
body.cf-football-page #content > .ast-container { display:block !important; }
body.cf-football-page #content .cf-football-shell { width:calc(100% - 32px) !important; max-width:none !important; margin-left:auto !important; margin-right:auto !important; }
body.cf-football-page #content .entry-header { padding-left:16px; padding-right:16px; }
@media(max-width:600px) { body.cf-football-page #content .cf-football-shell { width:calc(100% - 20px) !important; } }
