:root {
    --bg: #0f1115;
    --text: #e5e7eb;
    --muted: #9ca3af;
    --border: #1f2937;
    --accent: #facc15;
    --surface-soft: #1f2127;
    --space-0: 0;
    --space-1: 0.25rem;
    --space-2: 0.5rem;
    --space-3: 0.75rem;
    --space-4: 1rem;
    --space-5: 1.5rem;
    --space-6: 2rem;
    --space-7: 3rem;
    --space-8: 4rem;
}
[data-theme="dark"] {
    --bg: #0f1115;
    --text: #e5e7eb;
    --muted: #9ca3af;
    --border: #1f2937;
    --accent: #ffc30b;
    --surface-soft: rgba(255, 255, 255, 0.06);
}
[data-theme="dark"] .card-category,
[data-theme="dark"] .card-comments {
    opacity: 0.9;
}
html {
    font-size: 16px;
}
body {
    margin: 0;
    background: var(--bg);
    color: var(--text);
    font-family:
        "Oxygen",
        system-ui,
        -apple-system,
        sans-serif;
    font-size: 1rem;
    line-height: 1.6;
}
.hidden {
    display: none !important;
}
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: "Encode Sans Condensed", sans-serif;
    font-weight: 700;
    line-height: 1.2;
    margin: 0 0 0.75rem;
}
input,
textarea,
select,
button {
    font-family:
        "Oxygen",
        system-ui,
        -apple-system,
        sans-serif;
    font-size: 0.9rem;
    color: var(--text);
}
input::placeholder,
textarea::placeholder {
    color: var(--muted);
    opacity: 0.7;
}
[data-theme="dark"] input::placeholder,
[data-theme="dark"] textarea::placeholder {
    color: rgb(255 255 255 / 0.5);
    opacity: 1;
}
*,
*::before,
*::after {
    box-sizing: border-box;
}
img {
    max-width: 100%;
    height: auto;
    display: block;
}
.container {
    max-width: 71.25rem;
    margin: 0 auto;
    padding: 0 var(--space-4);
}
@media (max-width: 640px) {
    .container {
        padding: 0 var(--space-2);
    }
}
@media (max-width: 400px) {
    .container {
        padding: 0 var(--space-2);
    }
}
a {
    color: var(--text);
    text-decoration: none;
    transition: 0.2s;
}
a:hover {
    color: var(--accent);
}
.home-layout {
    display: grid;
    grid-template-columns: 1fr 20rem;
    gap: var(--space-4);
}
.content {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
}
.sidebar {
    width: 20rem;
}
.news-grid--top {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-4);
}
.news-grid--list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}
@media (max-width: 1023px) {
    .home-layout {
        grid-template-columns: 1fr;
    }
    .sidebar {
        width: 100%;
    }
    .news-grid--top {
        grid-template-columns: 1fr;
    }
    .news-grid--list {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 640px) {
    .news-grid--list {
        grid-template-columns: 1fr;
    }
}
main.container {
    margin-top: var(--space-6);
}
.entry-breadcrumb {
    font-size: 0.9rem;
    margin-bottom: var(--space-3);
}
.entry-breadcrumb p {
    margin: 0;
}
.entry-breadcrumb a {
    color: var(--accent);
    transition: 0.2s;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.entry-breadcrumb span {
    color: var(--muted);
}
.entry-breadcrumb strong {
    color: var(--text);
    font-weight: 500;
}
[data-theme="dark"] .entry-breadcrumb a,
[data-theme="dark"] .entry-breadcrumb span {
    color: rgb(255 255 255 / 0.5);
}
[data-theme="dark"] .entry-breadcrumb strong {
    color: rgb(255 255 255 / 0.9);
}
.top-sticky {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: var(--bg);
}
.site-header {
    position: relative;
    background: var(--bg);
    border-bottom: 0.0625rem solid var(--border);
    overflow: visible;
}
@media (min-width: 783px) {
    .admin-bar .top-sticky {
        top: 32px;
    }
}
.header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 4rem;
}
.logo-link {
    display: flex;
    align-items: center;
}
.logo-img {
    display: block;
}
.logo-light img,
.logo-dark img,
.logo-light,
.logo-dark {
    height: 35px;
    width: auto;
    display: block;
}
.logo-light {
    display: block;
}
.logo-dark {
    display: none;
}
html[data-theme="dark"] .logo-light {
    display: none !important;
}
html[data-theme="dark"] .logo-dark {
    display: block !important;
}
.main-nav {
    display: none;
}
.main-nav .menu li a {
    font-family: "Encode Sans Condensed", sans-serif;
    font-weight: 600;
    font-size: 1rem;
}
.menu {
    display: flex;
    gap: var(--space-7);
    list-style: none;
    margin: 0;
    padding: 0;
}
.menu li a {
    font-weight: 500;
}
.menu li a::after,
.mega-menu-root a::after {
    display: none !important;
}
.header-actions {
    display: flex;
    align-items: center;
    gap: var(--space-1);
}
.icon-btn,
.burger {
    width: 2.25rem;
    height: 2.25rem;
    border-radius: var(--space-2);
    border: none;
    background: #fff0;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: 0.2s;
}
.icon-btn:hover,
.burger:hover {
    background: rgb(24 85 25 / 0.08);
}
.icon-btn:hover .icon {
    stroke: var(--accent);
}
.icon {
    width: 1.25rem;
    height: 1.25rem;
    stroke: var(--text);
    fill: none;
    stroke-width: 2;
}
.burger {
    position: relative;
}
.burger span {
    position: absolute;
    width: 1.125rem;
    height: 0.125rem;
    background: var(--text);
    transition: 0.3s, 0.2s;
}
.burger span:nth-child(1) {
    transform: translateY(-0.3125rem);
}
.burger span:nth-child(2) {
    transform: translateY(0);
}
.burger span:nth-child(3) {
    transform: translateY(0.3125rem);
}
.burger.active span:nth-child(1) {
    transform: rotate(45deg);
}
.burger.active span:nth-child(2) {
    opacity: 0;
}
.burger.active span:nth-child(3) {
    transform: rotate(-45deg);
}
.burger:hover span {
    background: var(--accent);
}
.mega-menu {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background: var(--bg);
    opacity: 0;
    transform: translateY(-0.5rem);
    pointer-events: none;
    transition: 0.2s, 0.2s;
}
.mega-menu.active {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
    box-shadow: 0 var(--space-2) var(--space-8) rgb(0 0 0 / 0.05);
}
.mega-inner {
    padding: var(--space-7) 0 var(--space-9);
}
.mega-search {
    margin-bottom: var(--space-7);
}
.mega-search form {
    position: relative;
}
.mega-search input {
    width: 100%;
    height: 3rem;
    border-radius: var(--space-3);
    border: 0.0625rem solid var(--border);
    padding: 0 var(--space-8) 0 var(--space-3);
    font-size: 0.9375rem;
    background: var(--bg);
    color: var(--text);
}
.mega-search input:focus {
    border-color: var(--accent);
    box-shadow: 0 0 0 var(--space-1) rgb(24 85 25 / 0.15);
    outline: none;
}
.mega-search button {
    position: absolute;
    right: var(--space-2);
    top: 50%;
    transform: translateY(-50%);
    width: 2.25rem;
    height: 2.25rem;
    border-radius: var(--space-2);
    background: #fff0;
    border: none;
    cursor: pointer;
}
.mega-search button:hover {
    background: rgb(24 85 25 / 0.08);
}
.mega-search button:hover .icon {
    stroke: var(--accent);
}
.mega-menu-root {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-5);
    list-style: none;
    margin: 0;
    padding: 0;
}
.mega-menu-root > li.menu-item-has-children > a {
    font-weight: 700;
    margin-bottom: var(--space-3);
    display: block;
}
.mega-menu-root .sub-menu {
    list-style: none;
    padding: 0;
    margin: 0;
}
.mega-menu-root .sub-menu li {
    margin-bottom: var(--space-2);
}
.mega-menu-root .sub-menu a {
    font-size: 0.875rem;
    color: var(--muted);
}
.mega-menu-root .sub-menu a:hover {
    color: var(--accent);
}
@media (max-width: 1023px) {
    .mega-menu {
        position: fixed;
        top: var(--menu-offset, 64px);
        left: 0;
        width: 100%;
        height: calc(100dvh - var(--menu-offset, 64px));
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        background: var(--bg);
        z-index: 2000;
        transform: translateY(-10px);
        opacity: 0;
        pointer-events: none;
        transition: 0.25s ease;
    }
    .mega-menu.active {
        transform: translateY(0);
        opacity: 1;
        pointer-events: auto;
    }
    .mega-inner {
        padding: var(--space-6) 16px var(--space-7);
        max-width: 1140px;
        margin: 0 auto;
    }
    .mega-menu-root > li {
        padding-bottom: var(--space-3);
        border-bottom: 0.0625rem solid var(--border);
    }
    .mega-menu-root > li > a {
        font-size: 1rem;
        font-weight: 700;
        margin-bottom: var(--space-2);
        display: block;
    }
    .mega-menu-root .sub-menu {
        display: block;
        margin-top: var(--space-2);
    }
    .mega-menu-root .sub-menu li {
        margin-bottom: 6px;
    }
    .mega-menu-root .sub-menu a {
        font-size: 0.9rem;
        color: var(--muted);
    }
}
@media (min-width: 1024px) {
    .mega-menu-root {
        grid-template-columns: repeat(5, 1fr);
        gap: var(--space-8);
    }
}
:root {
    --admin-bar: 0px;
}
.admin-bar {
    --admin-bar: 32px;
}
@media (max-width: 782px) {
    .admin-bar {
        --admin-bar: 46px;
    }
}
body.menu-open {
    overflow: hidden;
}
@media (min-width: 1024px) {
    .main-nav {
        display: block;
    }
}
.city-bar {
    background: var(--accent);
}
.city-bar-inner {
    max-width: 1140px;
    margin: 0 auto;
    padding: 1.125rem 16px;
    display: flex;
    align-items: center;
    gap: 12px;
}
.trending-list {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-left: 4px;
    overflow-x: auto;
    scrollbar-width: none;
}
.trending-list::-webkit-scrollbar {
    display: none;
}
.trending-link {
    position: relative;
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--bg);
    text-decoration: none;
    white-space: nowrap;
    line-height: 1;
    transition: 0.2s;
}
.trending-link:not(:last-child)::after {
    content: ””;
    display: inline-block;
    width: 2px;
    height: 2px;
    background: rgb(0 0 0 / 0.25);
    border-radius: 50%;
    margin-left: 12px;
    transform: translateY(-2px);
}
.trending-link:hover {
    color: var(--bg);
    text-decoration: underline;
    opacity: 1;
}
.trending-link.active {
    color: var(–-accent);
    font-weight: 600;
    opacity: 1;
}
@media (max-width: 640px) {
    .city-bar-inner {
        gap: var(--space-2);
    }
    .city-detect,
    .city-current {
        font-size: 0.8rem;
    }
    .city-pill {
        font-size: 0.8rem;
    }
}
.load-more-wrap {
    margin-top: var(--space-7);
    display: flex;
    justify-content: center;
}
.loadMoreBtn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.6rem 1.5rem;
    font-size: 0.85rem;
    font-weight: 600;
    font-family: "Encode Sans Condensed", sans-serif;
    border-radius: 999px;
    border: none;
    background: var(--accent);
    color: #fff;
    cursor: pointer;
    transition: 0.2s;
}
.loadMoreBtn:hover {
    background: #ffc30b;
    color: #000;
}
.loadMoreBtn:active {
    transform: scale(0.97);
}
.loadMoreBtn.loading {
    opacity: 0.7;
    pointer-events: none;
}
[data-theme="dark"] .loadMoreBtn {
    background: var(--accent);
    color: #fff;
}
[data-theme="dark"] .loadMoreBtn:hover {
    background: #ffc30b;
    color: #000;
}
.user-menu {
    position: relative;
}
.user-toggle:hover .user-avatar {
    transform: scale(1.08);
    box-shadow: 0 4px 12px rgb(0 0 0 / 0.15);
}
[data-theme="dark"] .user-avatar {
    background: rgb(255 255 255 / 0.08);
    box-shadow: 0 0 0 1px rgb(255 255 255 / 0.1);
}
.user-dropdown {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    min-width: 180px;
    background: var(--surface, #fff);
    border: 1px solid var(--border);
    border-radius: 12px;
    box-shadow: 0 10px 30px rgb(0 0 0 / 0.1);
    padding: 8px;
    display: none;
    z-index: 1000;
}
.user-dropdown a {
    display: block;
    padding: 10px 12px;
    border-radius: 8px;
    font-size: 0.9rem;
    color: var(--text);
    text-decoration: none;
    transition: 0.2s;
}
.user-dropdown a:hover {
    background: rgb(0 0 0 / 0.05);
}
[data-theme="dark"] .user-dropdown {
    background: #1a1a1a;
    border-color: rgb(255 255 255 / 0.1);
}
[data-theme="dark"] .user-dropdown a:hover {
    background: rgb(255 255 255 / 0.06);
}
.user-menu.active .user-dropdown {
    display: block;
}
.user-menu .avatar {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    overflow: hidden;
    display: block;
    padding: 0;
    background: none;
    transform: translateZ(0);
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
    box-shadow: 0 0 0 1px rgb(0 0 0 / 0.06);
}
.user-menu .avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 50%;
}
.layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: var(--space-7);
}
.layout-main {
    min-width: 0;
}
body.home .layout:first-of-type .layout-main,
body.archive .layout:first-of-type .layout-main,
body.search .layout:first-of-type .layout-main,
body.category .layout:first-of-type .layout-main,
body.author .layout:first-of-type .layout-main,
body.tag .layout:first-of-type .layout-main,
body.blog .layout:first-of-type .layout-main {
    display: flex;
    flex-direction: column;
    gap: var(--space-5);
}
body.single .layout-main {
    display: block;
}
.layout-sidebar {
    width: 320px;
    display: flex;
    flex-direction: column;
    gap: var(--space-6);
}
.home-section-alt {
    background: rgb(0 0 0 / 0.03);
    padding: var(--space-8) 0;
    margin: var(--space-8) 0;
}
[data-theme="dark"] .home-section-alt {
    background: rgb(255 255 255 / 0.04);
}
.grid-2,
.grid-3,
.grid-4 {
    display: grid;
    gap: var(--space-5);
}
.grid-2 {
    grid-template-columns: repeat(2, 1fr);
}
.grid-3 {
    grid-template-columns: repeat(3, 1fr);
}
.grid-4 {
    grid-template-columns: repeat(4, 1fr);
}
.container > section {
    margin-top: var(--space-8);
}
.container > section:first-child {
    margin-top: 0;
}
.card {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
}
.card-image {
    border-radius: 0.6rem;
    overflow: hidden;
}
.card-body {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
.card-title {
    font-family: "Encode Sans Condensed", sans-serif;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.35;
    margin: 0;
}
.card-title a {
    color: var(--text);
}
.card-title a:hover {
    color: var(--accent);
    opacity: 0.9;
}
.card-comments {
    font-size: 0.85em;
    font-weight: 700;
    color: var(--accent);
}
.card-category {
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--accent);
}
.card-meta {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.75rem;
    color: var(--muted);
}
.block-title {
    font-size: 1.5rem;
    margin-bottom: var(--space-5);
    position: relative;
    padding-bottom: 0.5rem;
}
.block-title::after {
    content: "";
    display: block;
    width: 40px;
    height: 2px;
    background: var(--accent);
    margin-top: 0.4rem;
}
.block-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    margin-bottom: var(--space-5);
}
.block-header .block-title {
    margin: 0;
}
.block-link {
    font-size: 0.85rem;
    color: var(--muted);
    text-decoration: none;
    transition: 0.2s;
}
.block-link:hover {
    color: var(--accent);
}
.home-full {
    display: block;
}
[data-theme="dark"] .card-meta {
    color: rgb(255 255 255 / 0.6);
}
@media (max-width: 1023px) {
    .layout {
        grid-template-columns: 1fr;
        gap: 0;
    }
    .grid-4,
    .grid-3 {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 640px) {
    .grid-2 {
        grid-template-columns: 1fr;
    }
    .grid-3,
    .grid-4 {
        grid-template-columns: repeat(2, 1fr);
    }
}
.home-mobile {
    display: none;
}
.home-desktop {
    display: block;
}
@media (max-width: 768px) {
    .home-mobile {
        display: block;
    }
    .home-desktop {
        display: none;
    }
}
.home-desktop .grid-2,
.home-mobile .grid-2,
.home-mobile .grid-3 {
    margin-bottom: var(--space-5);
}
.layout-sidebar {
    position: sticky;
    top: 120px;
    align-self: start;
}
.site-footer {
    background: var(--bg);
    border-top: 1px solid var(--border);
    margin-top: var(--space-8);
}
.footer-inner {
    max-width: 1140px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: var(--space-7);
    padding: var(--space-8) 16px;
}
.footer-col {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    position: relative;
}
@media (min-width: 1024px) {
    .footer-col:not(:first-child)::before {
        content: "";
        position: absolute;
        left: -16px;
        top: 0;
        bottom: 0;
        width: 1px;
        background: var(--border);
        opacity: 0.4;
    }
}
.footer-about strong {
    font-family: "Encode Sans Condensed", sans-serif;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.35;
    color: var(--text);
}
.footer-about p {
    font-size: 1rem;
    color: var(--muted);
    line-height: 1.6;
    margin: 0;
}
.footer-col span {
    font-family: "Encode Sans Condensed", sans-serif;
    font-size: 0.9rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--accent);
    margin: 0;
}
.footer-col ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}
.footer-col a {
    font-size: 1rem;
    color: var(--text);
    text-decoration: none;
    transition: 0.2s;
}
.footer-col a:hover {
    color: var(--accent);
}
.footer-bottom {
    border-top: 1px solid var(--border);
    margin-top: var(--space-6);
    padding: var(--space-4) 16px;
    text-align: center;
    font-size: 0.85rem;
    color: var(--muted);
}
@media (max-width: 1024px) {
    .footer-inner {
        grid-template-columns: 1fr 1fr;
        gap: var(--space-6);
    }
    .footer-col::before {
        display: none;
    }
}
@media (max-width: 768px) {
    .footer-inner {
        grid-template-columns: 1fr;
        gap: var(--space-4);
        padding: var(--space-6) 16px;
    }
    .footer-col:not(.footer-about) {
        display: none;
    }
    .footer-about {
        display: block;
        padding-bottom: 0;
        border: none;
    }
    .footer-about strong {
        font-size: 1.125rem;
    }
    .footer-about p {
        font-size: 1rem;
        line-height: 1.6;
    }
    .footer-bottom {
        font-size: 0.8rem;
        margin-top: var(--space-4);
    }
}
[data-theme="dark"] .site-footer {
    background: #0f172a;
    border-top: 1px solid rgb(255 255 255 / 0.08);
}
[data-theme="dark"] .footer-col a {
    color: rgb(255 255 255 / 0.9);
}
[data-theme="dark"] .footer-about p,
[data-theme="dark"] .footer-bottom {
    color: rgb(255 255 255 / 0.6);
}
[data-theme="dark"] .footer-col:not(:first-child)::before {
    background: rgb(255 255 255 / 0.08);
}
#wppb-edit-user-mano-paskyra,
#wppb-register-user-registracija,
#wppb-login-wrap form {
    max-width: 46rem;
    margin: 0 auto;
    padding: var(--space-5);
    background: rgb(0 0 0 / 0.04);
    border-radius: 1rem;
}
#wppb-edit-user-mano-paskyra ul,
#wppb-register-user-registracija ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
#wppb-edit-user-mano-paskyra h4,
#wppb-register-user-registracija h4 {
    font-size: 1.2rem;
    font-weight: 700;
    margin-bottom: var(--space-4);
    color: var(--text);
}
.wppb-form-field {
    display: flex;
    flex-direction: column;
    margin-bottom: var(--space-4);
}
.wppb-form-field label {
    font-size: 0.85rem;
    color: var(--muted);
    margin-bottom: 6px;
}
.wppb-form-field input,
.wppb-form-field select,
#wppb-loginform input {
    width: 100%;
    padding: 10px 12px;
    border-radius: 8px;
    border: 1px solid var(--border);
    background: #fff;
    font-size: 0.95rem;
    transition: 0.2s;
}
[data-theme="dark"] .wppb-form-field input,
[data-theme="dark"] .wppb-form-field select,
[data-theme="dark"] #wppb-loginform input {
    background: rgb(255 255 255 / 0.05);
    border-color: rgb(255 255 255 / 0.1);
    color: #fff;
}
.wppb-form-field input:focus,
.wppb-form-field select:focus,
#wppb-loginform input:focus {
    outline: none;
    border-color: var(--accent);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent) 20%, transparent);
}
#wppb-edit-user-mano-paskyra input[disabled] {
    opacity: 0.6;
    cursor: not-allowed;
}
.wppb-avatar {
    display: flex;
    align-items: center;
    gap: 12px;
}
.wppb-avatar .file-thumb img {
    border-radius: 50%;
    width: 60px;
    height: 60px;
    object-fit: cover;
}
.wppb-remove-upload {
    color: #ef4444;
    font-size: 0.8rem;
    cursor: pointer;
    margin-left: 10px;
}
.wppb-description-delimiter {
    font-size: 0.75rem;
    color: var(--muted);
    margin-top: 4px;
}
.form-submit {
    margin-top: var(--space-5);
}
.form-submit .button,
#wppb-loginform .button {
    width: 100%;
    padding: 12px;
    border-radius: 999px;
    border: none;
    background: var(--accent);
    color: #fff;
    font-weight: 600;
    cursor: pointer;
    transition: 0.2s;
}
.form-submit .button:hover,
#wppb-loginform .button:hover {
    opacity: 0.9;
    transform: translateY(-1px);
}
.wppb-send-credentials-checkbox {
    margin-top: var(--space-4);
}
.wppb-send-credentials-checkbox label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 0.85rem;
    color: var(--muted);
    cursor: pointer;
}
.wppb-send-credentials-checkbox input[type="checkbox"] {
    width: 16px;
    height: 16px;
    accent-color: var(--accent);
    cursor: pointer;
}
.login-remember {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: var(--space-3);
}
.login-remember label {
    font-size: 0.85rem;
    color: var(--muted);
    cursor: pointer;
}
.login-remember input {
    width: 16px !important;
    height: 16px;
    accent-color: var(--accent);
    cursor: pointer;
}
.ffc-wrapper {
    display: flex;
    gap: 24px;
}
.ffc-wrapper .wppb-form-field {
    flex: 1;
    margin-bottom: var(--space-4);
}
@media (max-width: 550px) {
    #wppb-edit-user-mano-paskyra,
    #wppb-register-user-registracija,
    #wppb-login-wrap form {
        padding: var(--space-4);
    }
    .ffc-wrapper {
        display: block;
    }
}
.login-remember {
    display: flex !important;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    margin-top: var(--space-3);
}
.login-remember input {
    width: 16px !important;
    height: 16px;
    margin: 0;
    accent-color: var(--accent);
    flex-shrink: 0;
}
.login-remember label {
    margin: 0 !important;
    font-size: 0.85rem;
    color: var(--muted);
    cursor: pointer;
}
.wppb-form-field.login-remember {
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start;
    gap: 8px;
}
.wppb-form-field.login-remember input {
    width: auto !important;
}
.wppb-form-field.login-remember label {
    margin: 0 !important;
}
.top-banner {
    width: 100%;
    height: var(--banner-height);
    background-repeat: repeat-x;
    background-position: center;
    background-size: auto 100%;
    cursor: pointer;
}
.report-btn {
    display: flex;
    align-items: center;
    gap: 6px;
    height: 2.25rem;
    padding: 0 12px;
    border-radius: 999px;
    border: none;
    background: rgb(24 85 25 / 0.08);
    color: var(--text);
    font-size: 0.85rem;
    font-weight: 600;
    font-family: "Encode Sans Condensed", sans-serif;
    cursor: pointer;
    transition: all 0.2s ease;
}
.report-btn .icon {
    width: 1.1rem;
    height: 1.1rem;
    stroke: var(--accent);
    fill: none;
    stroke-width: 2;
    flex-shrink: 0;
    transition: transform 0.2s ease;
}
.report-btn span {
    line-height: 1;
}
.report-btn:hover {
    background: rgb(24 85 25 / 0.15);
    color: var(--text);
}
.report-btn:hover .icon {
    transform: scale(1.08);
}
.report-btn:active {
    transform: scale(0.96);
}
[data-theme="dark"] .report-btn {
    background: rgb(255 255 255 / 0.08);
}
[data-theme="dark"] .report-btn:hover {
    background: rgb(255 255 255 / 0.15);
}
@media (max-width: 768px) {
    .report-btn {
        padding: 0 10px;
        height: 2.25rem;
    }
    .report-btn .icon {
        width: 1rem;
        height: 1rem;
    }
    .report-btn span {
        font-size: 0.8rem;
    }
}
.entry-follow-facebook {
    margin: 24px 0;
}
.follow-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 18px;
    border-radius: 12px;
    background: linear-gradient(135deg, #f5f7fa 0%, #eef3ff 100%);
    border: 1px solid #e6ecf5;
}
.follow-left {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}
.follow-icon {
    width: 36px;
    height: 36px;
    min-width: 36px;
    border-radius: 50%;
    background: linear-gradient(135deg, #1877f2, #3b82f6);
    display: flex;
    align-items: center;
    justify-content: center;
}
.follow-icon svg {
    width: 16px;
    height: 16px;
    fill: #fff;
}
.follow-text strong {
    display: block;
    font-size: 15px;
    font-weight: 600;
    color: #111;
    line-height: 1.35;
}
.follow-text span {
    display: block;
    font-size: 13px;
    color: #6b7280;
    margin-top: 3px;
}
.follow-btn,
.follow-btn:visited {
    background: #0f5dcf;
    color: #fff !important;
    padding: 8px 18px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none !important;
    transition: all 0.2s ease;
    white-space: nowrap;
}
.follow-btn:hover,
.follow-btn:focus {
    background: #0b4bb0;
    color: #fff !important;
    transform: translateY(-1px);
}
@media (max-width: 600px) {
    .follow-inner {
        flex-direction: column;
        align-items: stretch;
        gap: 14px;
    }
    .follow-left {
        align-items: center;
    }
    .follow-text {
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
    .follow-icon {
        width: 32px;
        height: 32px;
        min-width: 32px;
    }
    .follow-icon svg {
        width: 14px;
        height: 14px;
    }
    .follow-btn {
        width: 100%;
        text-align: center;
        padding: 10px;
        font-size: 15px;
    }
}
.city-stats-section {
    margin: var(--space-2) 0;
    padding-top: var(--space-5);
    border-top: 1px solid var(--border);
}
.city-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--space-3);
}
.stat {
    background: var(--surface-soft);
    border-radius: 10px;
    padding: var(--space-4) var(--space-3);
    text-align: center;
    border: 1px solid var(--border);
}
.stat-icon {
    display: flex;
    justify-content: center;
    margin-bottom: var(--space-2);
}
.stat-icon svg {
    width: 20px;
    height: 20px;
    stroke: var(--accent);
    stroke-width: 1.8;
    fill: none;
    opacity: 0.9;
}
.stat-value {
    font-size: 1.25rem;
    font-weight: 600;
    margin-bottom: 2px;
    color: var(--text);
    letter-spacing: 0.3px;
}
.stat-label {
    font-size: 0.75rem;
    color: var(--muted);
}
.stat-note {
    margin-top: var(--space-2);
    font-size: 0.75rem;
    color: var(--muted);
    text-align: right;
}
@media (max-width: 768px) {
    .city-stats {
        grid-template-columns: repeat(2, 1fr);
    }
}
.city-contact-box .block-header {
    margin-bottom: var(--space-4);
}
.city-contact-widget {
    background: var(--surface-soft);
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: var(--space-5);
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
}
.contact-item {
    display: flex;
    align-items: flex-start;
    gap: var(--space-3);
}
.contact-icon {
    width: 32px;
    height: 32px;
    min-width: 32px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--surface-soft);
    border: 1px solid var(--border);
}
.contact-icon svg {
    width: 18px;
    height: 18px;
    stroke: var(--accent);
    fill: none;
    stroke-width: 1.8;
}
.contact-item > div {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.contact-label {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--muted);
}
.contact-value {
    font-size: 14px;
    font-weight: 500;
    color: var(--text);
}
.contact-link {
    font-size: 14px;
    font-weight: 500;
    color: var(--text);
    text-decoration: none;
    transition: 0.2s ease;
}
.contact-link:hover {
    color: var(--accent);
}
.contact-item:not(:last-child) {
    padding-bottom: var(--space-3);
    border-bottom: 1px solid var(--border);
}
[data-theme="dark"] .city-contact-widget {
    background: var(--surface-soft);
    border-color: var(--border);
}
[data-theme="dark"] .contact-icon {
    background: var(--surface-soft);
    border-color: var(--border);
}
[data-theme="dark"] .contact-label {
    color: var(--muted);
}
[data-theme="dark"] .contact-link:hover {
    color: var(--accent);
}
@media (max-width: 640px) {
    .city-contact-widget {
        padding: var(--space-4);
        gap: var(--space-3);
    }
    .contact-icon {
        width: 28px;
        height: 28px;
        min-width: 28px;
    }
    .contact-icon svg {
        width: 16px;
        height: 16px;
    }
    .contact-value,
    .contact-link {
        font-size: 13px;
    }
    .contact-label {
        font-size: 10px;
    }
}
@media (max-width: 1023px) {
    .layout-sidebar .sidebar-box {
        display: none;
    }
}
@media (max-width: 1023px) {
    .layout-sidebar .sidebar-box--miestas {
        display: block;
    }
}
@media (max-width: 1023px) {
    .layout-sidebar {
        width: 100%;
        max-width: 100%;
        position: static;
    }
}
.authors-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
    margin-top: 16px;
}

/* Card = same feel as entry-author */
.author-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;

    padding: 14px;
    border-radius: 1rem;

    background: rgba(0,0,0,.05);
    border: 1px solid transparent;

    transition: .2s;
}

/* Featured = subtle accent (same logic as article box) */
.author-card--featured {
    grid-column: 1 / -1;
    border-color: color-mix(in srgb, var(--accent) 40%, transparent);
    background: color-mix(in srgb, var(--accent) 6%, transparent);
}

/* Left block */
.author-left {
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    color: inherit;
    min-width: 0;
}

/* Avatar (match article style) */
.author-avatar img {
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    object-fit: cover;
}

/* Meta */
.author-meta {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

/* Name */
.author-name {
    font-weight: 700;
    font-size: .95rem;
    color: var(--text);
}

/* Hover like single entry */
.author-left:hover .author-name {
    color: var(--accent);
}

/* Position (same as entry-author) */
.author-position {
    font-size: .75rem;
    color: var(--muted);
    background: rgba(0,0,0,.06);
    padding: .15rem .5rem;
    border-radius: .5rem;
    width: fit-content;
}

/* Email button (match article author) */
.author-email-btn {
    width: 34px;
    height: 34px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 8px;
    background: rgba(0,0,0,.06);
    color: var(--muted);

    border: none;
    transition: .2s;
    flex-shrink: 0;
}

/* Icon style */
.author-email-btn .icon {
    width: 16px;
    height: 16px;
    stroke: currentColor;
    fill: none;
    stroke-width: 2;
}

/* Hover = same as author box */
.author-email-btn:hover {
    background: var(--accent);
    color: #fff;
    transform: translateY(-1px);
}

/* Hover card */
.author-card:hover {
    background: rgba(0,0,0,.08);
}

/* Remove underline */
.author-left,
.author-left *,
.author-email-btn {
    text-decoration: none !important;
}

/* Responsive */
@media (max-width: 640px) {
    .authors-list {
        grid-template-columns: 1fr;
    }

    .author-card {
        padding: 12px;
    }

    .author-avatar img {
        width: 2.5rem;
        height: 2.5rem;
    }

    .author-name {
        font-size: .9rem;
    }
}

/* DARK MODE */
[data-theme="dark"] .author-card {
    background: rgba(255,255,255,.06);
}

[data-theme="dark"] .author-card:hover {
    background: rgba(255,255,255,.1);
}

[data-theme="dark"] .author-card--featured {
    background: color-mix(in srgb, var(--accent) 12%, transparent);
    border-color: var(--accent);
}

[data-theme="dark"] .author-position {
    background: rgba(255,255,255,.08);
    color: rgba(255,255,255,.7);
}

[data-theme="dark"] .author-email-btn {
    background: rgba(255,255,255,.06);
    color: rgba(255,255,255,.7);
}

[data-theme="dark"] .author-email-btn:hover {
    background: var(--accent);
    color: #fff;
}
[data-theme="dark"] .follow-inner {
    background: linear-gradient(135deg, #1e293b 0%, #1a2236 100%);
    border-color: rgb(255 255 255 / 0.08);
}
[data-theme="dark"] .follow-text strong {
    color: #fff;
}
[data-theme="dark"] .follow-text span {
    color: rgb(255 255 255 / 0.65);
}
[data-theme="dark"] .follow-btn {
    background: #3b82f6;
    color: #fff !important;
}
[data-theme="dark"] .follow-btn:hover {
    background: #2563eb;
}

/* Dark-only cleanup */
#themeToggle,
.theme-toggle,
.mode-toggle,
.color-mode-toggle {
    display: none !important;
}

html,
body {
    background: var(--bg);
    color: var(--text);
}

.site-footer {
    background: #0b0d11 !important;
    border-top: 1px solid var(--border);
    color: var(--text);
}

.site-footer,
.site-footer * {
    color: inherit;
}

.site-footer a {
    color: #d1d5db !important;
}

.site-footer a:hover {
    color: var(--accent) !important;
}

.footer-about p,
.footer-bottom {
    color: var(--muted) !important;
}

.footer-col:not(:first-child)::before {
    background: var(--border) !important;
}


/* =========================
   Football CPT templates
========================= */

.football-layout {
    margin-top: var(--space-6);
}

.football-entry {
    min-width: 0;
}

.football-page-kicker {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    margin-bottom: var(--space-2);
    padding: 0.25rem 0.6rem;
    border-radius: 999px;
    background: var(--surface-soft);
    color: var(--accent);
    font-size: 0.75rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.football-page-title {
    margin-bottom: var(--space-5);
}

.football-template-body {
    display: flex;
    flex-direction: column;
    gap: var(--space-5);
}

.football-extra-content {
    border-top: 1px solid var(--border);
    padding-top: var(--space-5);
}

.football-archive-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-4);
}

.football-archive-card {
    min-width: 0;
}

.football-archive-card-link {
    display: block;
    height: 100%;
    padding: var(--space-4);
    border: 1px solid var(--border);
    border-radius: 14px;
    background: var(--surface-soft);
    color: var(--text);
    text-decoration: none;
    transition: 0.2s;
}

.football-archive-card-link:hover {
    border-color: color-mix(in srgb, var(--accent) 50%, var(--border));
    color: var(--text);
    transform: translateY(-1px);
}

.football-archive-card-label {
    display: inline-flex;
    width: fit-content;
    margin-bottom: var(--space-2);
    padding: 0.2rem 0.5rem;
    border-radius: 999px;
    background: var(--accent);
    color: #fff;
    font-size: 0.7rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.football-archive-card h2 {
    margin: 0;
    font-size: 1.1rem;
}

.football-archive-card p {
    margin: var(--space-2) 0 0;
    color: var(--muted);
    font-size: 0.9rem;
    line-height: 1.45;
}

.football-pagination {
    margin-top: var(--space-6);
}

.football-pagination .nav-links {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
}

.football-pagination .page-numbers {
    display: inline-flex;
    min-width: 2rem;
    min-height: 2rem;
    align-items: center;
    justify-content: center;
    padding: 0 0.65rem;
    border-radius: 8px;
    border: 1px solid var(--border);
    background: var(--surface-soft);
    color: var(--text);
    text-decoration: none;
    font-weight: 700;
}

.football-pagination .page-numbers.current,
.football-pagination .page-numbers:hover {
    background: var(--accent);
    border-color: var(--accent);
    color: #fff;
}

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

@media (max-width: 640px) {
    .football-archive-grid {
        grid-template-columns: 1fr;
    }

    .football-layout {
        margin-top: var(--space-4);
    }
}


/* =========================
   Football template section layout
========================= */

.football-template-section {
    margin-bottom: var(--space-6);
}

.football-template-section:last-child {
    margin-bottom: 0;
}

.football-template-sidebar {
    gap: var(--space-4);
}

.football-sidebar-box {
    border: 1px solid var(--border);
    border-radius: 14px;
    background: var(--surface-soft);
    padding: var(--space-4);
}

.football-sidebar-box .widget-title {
    font-family: "Encode Sans Condensed", sans-serif;
    font-size: 1.05rem;
    font-weight: 800;
    margin: 0 0 var(--space-3);
    padding-bottom: 0.45rem;
    border-bottom: 2px solid var(--accent);
}

.football-sidebar-box .ballaxy-match-list,
.football-sidebar-box .football-results,
.football-sidebar-box .football-fixtures {
    margin: 0;
}

.football-sidebar-box .ballaxy-football-message {
    font-size: 0.85rem;
}

.football-sidebar-box .ballaxy-overview,
.football-sidebar-box .ballaxy-player-overview {
    gap: var(--space-3);
}

.football-sidebar-box .ballaxy-player-profile {
    padding: 0;
    border: 0;
    background: transparent;
    margin-bottom: var(--space-3);
}

.football-sidebar-box .ballaxy-player-avatar {
    width: 52px;
    height: 52px;
    flex-basis: 52px;
    font-size: 1.3rem;
}

.football-sidebar-box .ballaxy-player-profile-grid,
.football-sidebar-box .ballaxy-overview-grid {
    grid-template-columns: 1fr;
}

@media (max-width: 1023px) {
    .football-template-sidebar {
        margin-top: var(--space-5);
    }
}


/* =========================
   Football breadcrumbs
========================= */

.football-breadcrumb {
    margin-bottom: var(--space-3);
}

.football-breadcrumb p {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
}

.football-breadcrumb a {
    color: var(--accent);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.football-breadcrumb span {
    color: var(--muted);
}

.football-breadcrumb strong {
    color: var(--text);
    font-weight: 700;
}


/* =========================
   Football related data inside articles
========================= */

.football-article-related {
    margin: var(--space-7) 0;
    padding-top: var(--space-5);
    border-top: 1px solid var(--border);
}

.football-related-section {
    margin-top: var(--space-5);
}

.football-related-section:first-of-type {
    margin-top: 0;
}

.football-related-section h3 {
    margin-bottom: var(--space-3);
    font-size: 1.15rem;
}

.football-related-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-3);
}

.football-related-card {
    min-width: 0;
}

.football-related-card-link {
    display: flex;
    align-items: center;
    gap: 10px;
    height: 100%;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: var(--surface-soft);
    color: var(--text);
    text-decoration: none;
    transition: 0.2s;
}

.football-related-card-link:hover {
    border-color: color-mix(in srgb, var(--accent) 50%, var(--border));
    color: var(--text);
    transform: translateY(-1px);
}

.football-related-card img,
.football-related-card-icon {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
}

.football-related-card img {
    object-fit: contain;
}

.football-related-card-icon {
    border-radius: 50%;
    background: var(--accent);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: "Encode Sans Condensed", sans-serif;
    font-weight: 900;
}

.football-related-card-body {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.football-related-card-label {
    width: fit-content;
    color: var(--accent);
    font-size: 0.7rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.football-related-card strong {
    color: var(--text);
    font-size: 0.95rem;
    line-height: 1.2;
}

.football-related-card small {
    color: var(--muted);
    font-size: 0.78rem;
    line-height: 1.25;
}

.football-related-standings,
.football-related-team-block {
    margin-top: var(--space-4);
    padding: var(--space-4);
    border: 1px solid var(--border);
    border-radius: 14px;
    background: var(--surface-soft);
}

.football-related-standings h4,
.football-related-team-block h4 {
    margin-bottom: var(--space-3);
}

.football-related-team-blocks {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-4);
    margin-top: var(--space-4);
}

.football-related-mini + .football-related-mini {
    margin-top: var(--space-4);
}

.football-related-mini h5 {
    margin-bottom: var(--space-2);
    color: var(--muted);
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

@media (max-width: 768px) {
    .football-related-card-grid,
    .football-related-team-blocks {
        grid-template-columns: 1fr;
    }
}


/* Stage article football block: boxscore + league table focused */
.football-related-section--boxscore {
    margin-bottom: var(--space-6);
}

.football-related-section--boxscore .ballaxy-match-card,
.football-related-section--boxscore .ballaxy-match-deep {
    margin-bottom: var(--space-4);
}

.football-related-section--standings .football-related-standings {
    margin-top: var(--space-3);
}

.football-related-section--standings h3 {
    margin-bottom: var(--space-3);
}


/* Stage 9.15: clean article football block */
.football-article-related--clean {
    margin: var(--space-6) 0;
    padding-top: 0;
    border-top: 0;
}

.football-related-boxscore {
    margin: var(--space-5) 0 var(--space-6);
}

.football-related-boxscore-link {
    display: block;
    color: inherit;
    text-decoration: none;
}

.football-related-boxscore-link:hover {
    color: inherit;
    text-decoration: none;
}

.football-related-boxscore-link .ballaxy-match-card {
    transition: border-color .2s ease, transform .2s ease;
}

.football-related-boxscore-link:hover .ballaxy-match-card {
    transform: translateY(-1px);
    border-color: color-mix(in srgb, var(--accent) 45%, var(--border));
}

.football-related-standings--clean {
    margin-top: var(--space-6);
    padding: 0;
    border: 0;
    background: transparent;
}

.football-related-standings--clean .block-header {
    margin-bottom: var(--space-3);
}

.football-related-standings--clean .block-title {
    margin-bottom: 0;
}

.football-related-standings--clean h3 {
    margin: 0;
}


/* Stage 9.15: article boxscore embed is clickable and boxscore-only */
.football-related-boxscore {
    position: relative;
}

.football-related-boxscore-overlay {
    position: absolute;
    inset: 0;
    z-index: 5;
    border-radius: 14px;
    text-indent: -9999px;
    overflow: hidden;
}

.football-related-boxscore .ballaxy-match-deep,
.football-related-boxscore .ballaxy-match-detail-notice {
    display: none !important;
}


/* Stage 9.16: boxscore middle, standings end */
.football-article-related--boxscore-only {
    margin: var(--space-5) 0 var(--space-6);
    padding-top: 0;
    border-top: 0;
}

.football-article-related--standings-only {
    margin: var(--space-7) 0 0;
    padding-top: var(--space-5);
    border-top: 1px solid var(--border);
}

.football-article-related--standings-only .block-title {
    margin-bottom: 0;
}


/* =========================
   Football polish fixes
========================= */

.football-layout {
    align-items: flex-start;
}

.football-layout .layout-main {
    min-width: 0;
}

.football-template-sidebar {
    min-width: 0;
}

.football-sidebar-box--player-overview {
    display: none !important;
}

.football-sidebar-box .ballaxy-player-profile-grid,
.football-sidebar-box .ballaxy-overview-grid,
.football-sidebar-box .ballaxy-profile-grid {
    display: grid;
    grid-template-columns: 1fr !important;
    gap: 10px;
}

.football-sidebar-box .ballaxy-stat,
.football-sidebar-box .ballaxy-profile-item,
.football-sidebar-box .ballaxy-overview-item {
    min-width: 0;
    overflow-wrap: anywhere;
}

.football-sidebar-box .ballaxy-player-profile,
.football-sidebar-box .ballaxy-profile-card,
.football-sidebar-box .ballaxy-overview {
    max-width: 100%;
    overflow: hidden;
}

.football-template-section--match-card .ballaxy-match-deep,
.football-template-section--match-card .ballaxy-match-detail-notice {
    display: none !important;
}

.football-archive {
    width: 100%;
}

.football-archive-grid {
    width: 100%;
}

.football-archive-card-link {
    min-height: 130px;
}

.football-archive-card h2 {
    font-family: "Encode Sans Condensed", sans-serif;
    font-weight: 900;
}

.ballaxy-football-message {
    border: 1px solid var(--border);
    border-radius: 10px;
    background: var(--surface-soft);
    color: var(--muted);
    padding: 14px 16px;
}

/* Make shortcode cards more robust in narrow sidebars. */
.layout-sidebar .ballaxy-match-card,
.football-template-sidebar .ballaxy-match-card {
    max-width: 100%;
    overflow: hidden;
}

.layout-sidebar .ballaxy-match-team-name,
.layout-sidebar .ballaxy-team-name,
.football-template-sidebar .ballaxy-match-team-name,
.football-template-sidebar .ballaxy-team-name {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Archive/taxonomy pages were appearing as plain lists when football CSS was not loaded. */
.post-type-archive-football_team .football-archive-card,
.post-type-archive-football_player .football-archive-card,
.post-type-archive-football_match .football-archive-card,
.post-type-archive-football_league .football-archive-card,
.tax-football_country .football-archive-card,
.tax-football_competition .football-archive-card {
    margin: 0;
}


.football-archive-card-link {
    display: flex !important;
    align-items: center;
    gap: 14px;
}

.football-archive-card-media {
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.football-archive-card-media img {
    max-width: 48px;
    max-height: 48px;
    object-fit: contain;
}

.football-archive-card-media span {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--accent);
    color: #111;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: "Encode Sans Condensed", sans-serif;
    font-weight: 900;
    text-transform: uppercase;
}

.football-archive-card-body {
    min-width: 0;
    display: block;
}


/* =========================================================
   Ballaxy football redesign — OneFootball/Goal-inspired,
   original black/yellow identity
   ========================================================= */
:root {
    --ballaxy-bg: #07090d;
    --ballaxy-bg-2: #0c1017;
    --ballaxy-panel: #111722;
    --ballaxy-panel-2: #151d2a;
    --ballaxy-line: rgba(255,255,255,.10);
    --ballaxy-line-2: rgba(255,255,255,.16);
    --ballaxy-text: #f4f7fb;
    --ballaxy-muted: rgba(244,247,251,.68);
    --ballaxy-yellow: #ffc400;
    --ballaxy-yellow-2: #ffe066;
    --ballaxy-green: #1d2f21;
    --ballaxy-radius: 18px;
    --ballaxy-shadow: 0 18px 55px rgba(0,0,0,.35);
}

html[data-theme="dark"],
body {
    background:
        radial-gradient(circle at 25% -10%, rgba(255,196,0,.12), transparent 34rem),
        radial-gradient(circle at 85% 0%, rgba(49,82,255,.10), transparent 32rem),
        var(--ballaxy-bg) !important;
    color: var(--ballaxy-text);
}

a {
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.top-sticky {
    background: rgba(7,9,13,.92) !important;
    border-bottom: 1px solid var(--ballaxy-line);
    backdrop-filter: blur(16px);
    box-shadow: 0 14px 30px rgba(0,0,0,.28);
}

.top-sticky::before {
    content: "";
    display: block;
    height: 4px;
    background: linear-gradient(90deg, var(--ballaxy-yellow), #ffe778 42%, var(--ballaxy-yellow));
}

.site-header {
    background: transparent !important;
    border: 0 !important;
}

.header-inner {
    height: 66px;
    gap: 18px;
}

.logo-link {
    min-width: max-content;
    gap: 10px;
}

.logo-img,
.logo-light img,
.logo-dark img,
.logo-light,
.logo-dark {
    max-height: 38px;
    object-fit: contain;
}

.ballaxy-wordmark,
.footer-wordmark {
    display: inline-flex;
    align-items: center;
    gap: 0;
    color: var(--ballaxy-text);
    font-family: "Encode Sans Condensed", system-ui, sans-serif;
    font-size: 2rem;
    line-height: 1;
    font-weight: 800;
    letter-spacing: -.03em;
    text-decoration: none;
}

.ballaxy-wordmark span,
.footer-wordmark span {
    color: var(--ballaxy-yellow);
}

.main-nav {
    flex: 1;
}

@media (min-width: 1024px) {
    .main-nav {
        display: flex !important;
        justify-content: center;
    }
}

.main-nav .menu {
    align-items: center;
    gap: 8px;
    padding: 6px;
    border: 1px solid var(--ballaxy-line);
    border-radius: 999px;
    background: rgba(255,255,255,.045);
}

.main-nav .menu li a {
    display: inline-flex;
    align-items: center;
    height: 34px;
    padding: 0 13px;
    border-radius: 999px;
    color: var(--ballaxy-muted);
    font-family: "Encode Sans Condensed", system-ui, sans-serif;
    font-size: .94rem;
    font-weight: 800;
    letter-spacing: .02em;
    text-transform: uppercase;
    transition: .18s ease;
}

.main-nav .menu li.current-menu-item > a,
.main-nav .menu li a:hover {
    color: #07090d !important;
    background: var(--ballaxy-yellow);
}

.header-actions {
    gap: 8px;
}

.match-centre-pill {
    display: none;
    align-items: center;
    height: 38px;
    padding: 0 15px;
    border-radius: 999px;
    background: var(--ballaxy-yellow);
    color: #090b10 !important;
    font-family: "Encode Sans Condensed", system-ui, sans-serif;
    font-size: .88rem;
    font-weight: 900;
    letter-spacing: .02em;
    text-transform: uppercase;
    text-decoration: none;
}

@media (min-width: 768px) {
    .match-centre-pill {
        display: inline-flex;
    }
}

.icon-btn,
.burger {
    width: 40px;
    height: 40px;
    border: 1px solid var(--ballaxy-line) !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.055) !important;
}

.icon-btn:hover,
.burger:hover {
    border-color: rgba(255,196,0,.48) !important;
    background: rgba(255,196,0,.12) !important;
}

.icon,
.burger span {
    stroke: var(--ballaxy-text) !important;
}

.burger span {
    background: var(--ballaxy-text) !important;
}

.user-dropdown {
    border: 1px solid var(--ballaxy-line);
    border-radius: 14px;
    background: var(--ballaxy-panel);
    box-shadow: var(--ballaxy-shadow);
}

.mega-menu {
    background:
        radial-gradient(circle at 20% 0%, rgba(255,196,0,.12), transparent 26rem),
        var(--ballaxy-bg-2) !important;
    border-top: 1px solid var(--ballaxy-line);
    border-bottom: 1px solid var(--ballaxy-line);
}

.mega-inner {
    padding-top: 22px;
    padding-bottom: 24px;
}

.mega-search form {
    border: 1px solid var(--ballaxy-line-2);
    border-radius: 18px;
    background: rgba(255,255,255,.055);
    overflow: hidden;
}

.mega-search input {
    background: transparent !important;
    color: var(--ballaxy-text) !important;
}

.mega-search button {
    background: var(--ballaxy-yellow) !important;
    color: #07090d !important;
}

.mega-menu-root {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px 14px;
    padding: 18px 0 0 !important;
}

.mega-menu-root,
.mega-menu-root ul {
    list-style: none;
}

.mega-menu-root a {
    display: flex;
    padding: 13px 14px;
    border: 1px solid var(--ballaxy-line);
    border-radius: 14px;
    background: rgba(255,255,255,.04);
    color: var(--ballaxy-text) !important;
    font-weight: 800;
}

.mega-menu-root a:hover {
    border-color: rgba(255,196,0,.45);
    background: rgba(255,196,0,.10);
}

.city-bar {
    position: relative;
    z-index: 20;
    background: #080b10 !important;
    border-bottom: 1px solid var(--ballaxy-line) !important;
    box-shadow: 0 12px 30px rgba(0,0,0,.20);
}

.container {
    max-width: 1180px;
}

.ballaxy-front-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 290px;
    gap: 18px;
    margin: 0 0 24px;
    padding: 22px;
    border: 1px solid var(--ballaxy-line);
    border-radius: 24px;
    background:
        linear-gradient(135deg, rgba(255,196,0,.16), transparent 42%),
        linear-gradient(135deg, #111722, #090c12);
    overflow: hidden;
    box-shadow: var(--ballaxy-shadow);
}

.ballaxy-front-hero::after {
    content: "";
    position: absolute;
    inset: auto -70px -95px auto;
    width: 270px;
    height: 270px;
    border-radius: 999px;
    border: 48px solid rgba(255,196,0,.08);
}

.ballaxy-front-hero-main,
.ballaxy-front-hero-side {
    position: relative;
    z-index: 1;
}

.ballaxy-eyebrow {
    display: inline-flex;
    align-items: center;
    height: 26px;
    padding: 0 10px;
    border-radius: 999px;
    background: var(--ballaxy-yellow);
    color: #090b10;
    font-family: "Encode Sans Condensed", system-ui, sans-serif;
    font-weight: 900;
    font-size: .78rem;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ballaxy-front-hero h1 {
    max-width: 760px;
    margin: 12px 0 8px;
    color: var(--ballaxy-text);
    font-size: clamp(2rem, 4vw, 4.1rem);
    line-height: .92;
    letter-spacing: -.045em;
    text-transform: uppercase;
}

.ballaxy-front-hero p {
    max-width: 670px;
    margin: 0;
    color: var(--ballaxy-muted);
    font-size: 1rem;
}

.ballaxy-front-hero-side {
    align-self: stretch;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: 8px;
    padding: 18px;
    border: 1px solid var(--ballaxy-line);
    border-radius: 20px;
    background: rgba(7,9,13,.58);
}

.ballaxy-front-hero-side span {
    color: var(--ballaxy-yellow);
    font-family: "Encode Sans Condensed", system-ui, sans-serif;
    font-size: .82rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.ballaxy-front-hero-side strong {
    color: var(--ballaxy-text);
    font-family: "Encode Sans Condensed", system-ui, sans-serif;
    font-size: 1.25rem;
    line-height: 1.05;
    text-transform: uppercase;
}

.layout {
    gap: 22px;
}

.layout-sidebar,
.sidebar,
.widget {
    color: var(--ballaxy-text);
}

.layout-sidebar,
.home-section-alt,
.sidebar .widget,
.widget {
    border-radius: var(--ballaxy-radius);
}

.home-section-alt {
    background: rgba(255,255,255,.035) !important;
    border-top: 1px solid var(--ballaxy-line);
    border-bottom: 1px solid var(--ballaxy-line);
}

.block-header {
    align-items: center;
    padding: 0 0 10px;
    margin-bottom: 18px;
    border-bottom: 1px solid var(--ballaxy-line);
}

.block-title,
.search-title {
    position: relative;
    color: var(--ballaxy-text);
    font-size: clamp(1.35rem, 2vw, 1.9rem);
    letter-spacing: -.02em;
    text-transform: uppercase;
}

.block-title::before,
.search-title::before {
    content: "";
    display: inline-block;
    width: 8px;
    height: .95em;
    margin-right: 10px;
    border-radius: 3px;
    background: var(--ballaxy-yellow);
    vertical-align: -2px;
}

.block-link {
    color: var(--ballaxy-yellow) !important;
    font-weight: 800;
}

.card {
    position: relative;
    gap: 0 !important;
    border: 1px solid var(--ballaxy-line);
    border-radius: var(--ballaxy-radius);
    background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.025));
    overflow: hidden;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.card:hover {
    transform: translateY(-3px);
    border-color: rgba(255,196,0,.42);
    box-shadow: 0 20px 45px rgba(0,0,0,.28);
}

.card-image {
    border-radius: 0 !important;
    background: #0e131b;
}

.card-image img {
    width: 100%;
    aspect-ratio: 16/10;
    object-fit: cover;
    transition: transform .24s ease, opacity .24s ease;
}

.card:hover .card-image img {
    transform: scale(1.035);
    opacity: .94;
}

.card-body {
    padding: 14px;
    gap: 8px !important;
}

.card-category {
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 0 8px;
    border-radius: 999px;
    background: rgba(255,196,0,.14);
    color: var(--ballaxy-yellow) !important;
    font-size: .67rem !important;
    font-weight: 900 !important;
    letter-spacing: .08em !important;
}

.card-title {
    font-size: 1.08rem !important;
    line-height: 1.18 !important;
    letter-spacing: -.015em;
}

.card-large .card-title {
    font-size: clamp(1.35rem, 2vw, 1.85rem) !important;
}

.card-title a {
    color: var(--ballaxy-text) !important;
}

.card-title a:hover {
    color: var(--ballaxy-yellow) !important;
}

.card-meta {
    margin-top: 2px;
    color: var(--ballaxy-muted) !important;
    font-size: .76rem !important;
}

.grid-2,
.grid-3,
.grid-4 {
    gap: 18px !important;
}

.home-desktop > .grid-2:first-child .card-large:first-child {
    min-height: 100%;
}

.home-desktop > .grid-2:first-child .card-large:first-child .card-image img {
    aspect-ratio: 16/11;
}

.loadMoreBtn {
    min-height: 46px;
    padding: 0 20px;
    border: 1px solid rgba(255,196,0,.45);
    border-radius: 999px;
    background: var(--ballaxy-yellow);
    color: #090b10;
    font-family: "Encode Sans Condensed", system-ui, sans-serif;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.site-footer.ballaxy-footer {
    margin-top: 52px;
    background:
        radial-gradient(circle at 10% 0%, rgba(255,196,0,.12), transparent 28rem),
        #06080c !important;
    border-top: 1px solid var(--ballaxy-line) !important;
}

.ballaxy-footer-topline {
    height: 4px;
    background: linear-gradient(90deg, var(--ballaxy-yellow), #fff1a8, var(--ballaxy-yellow));
}

.ballaxy-footer-inner {
    grid-template-columns: minmax(280px, 2fr) repeat(3, minmax(0, 1fr)) !important;
    padding-top: 38px !important;
    padding-bottom: 36px !important;
}

.footer-wordmark {
    font-size: 2.3rem;
    margin-bottom: 10px;
}

.footer-tagline {
    max-width: 380px;
    color: var(--ballaxy-muted) !important;
    font-size: .96rem !important;
}

.footer-contact {
    display: grid;
    gap: 5px;
    margin-top: 14px;
    color: rgba(244,247,251,.55);
    font-size: .82rem;
}

.footer-col span {
    color: var(--ballaxy-yellow) !important;
    font-weight: 900 !important;
    letter-spacing: .08em !important;
}

.footer-col a {
    color: rgba(244,247,251,.74) !important;
}

.footer-col a:hover {
    color: var(--ballaxy-yellow) !important;
}

.ballaxy-footer-bottom {
    border-top: 1px solid var(--ballaxy-line);
    color: rgba(244,247,251,.58);
    font-size: .82rem;
}

.ballaxy-footer-bottom .container {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding-top: 16px;
    padding-bottom: 16px;
}

@media (max-width: 1023px) {
    .main-nav {
        display: none !important;
    }

    .mega-menu-root {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ballaxy-front-hero {
        grid-template-columns: 1fr;
    }

    .ballaxy-footer-inner {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 640px) {
    .header-inner {
        height: 60px;
    }

    .ballaxy-wordmark {
        font-size: 1.65rem;
    }

    .header-search-toggle,
    .user-menu {
        display: none !important;
    }

    .match-centre-pill {
        display: none !important;
    }

    .city-bar {
        overflow: hidden;
    }

    .ballaxy-front-hero {
        margin-bottom: 18px;
        padding: 17px;
        border-radius: 20px;
    }

    .ballaxy-front-hero h1 {
        font-size: 2rem;
    }

    .ballaxy-front-hero-side {
        padding: 14px;
    }

    .grid-3,
    .grid-4 {
        grid-template-columns: 1fr !important;
    }

    .card-body {
        padding: 12px;
    }

    .card-title,
    .card-large .card-title {
        font-size: 1.08rem !important;
    }

    .ballaxy-footer-inner {
        grid-template-columns: 1fr !important;
    }

    .ballaxy-footer-bottom .container {
        flex-direction: column;
    }
}


/* =========================================================
   Ballaxy Stage 3 — cleaner OneFootball/Goal style
   Less boxed UI, more open editorial feed
   ========================================================= */
body {
    background: #000 !important;
}

.top-sticky {
    background: #000 !important;
    border-bottom: 1px solid rgba(255,255,255,.08);
    box-shadow: none !important;
}

.top-sticky::before {
    height: 3px;
}

.site-header {
    background: #000 !important;
}

.header-inner {
    max-width: 1280px;
    height: 74px;
}

.main-nav .menu {
    border: 0 !important;
    background: transparent !important;
    gap: 22px;
    padding: 0;
}

.main-nav .menu li a {
    height: auto;
    padding: 0;
    border-radius: 0;
    background: transparent !important;
    color: #f5f5f5 !important;
    font-size: 1rem;
    text-transform: none;
    letter-spacing: 0;
    font-family: "Oxygen", system-ui, sans-serif;
    font-weight: 800;
}

.main-nav .menu li.current-menu-item > a,
.main-nav .menu li a:hover {
    color: var(--ballaxy-yellow) !important;
    background: transparent !important;
}

.match-centre-pill {
    height: 44px;
    border: 2px solid #fff;
    border-radius: 7px;
    background: transparent !important;
    color: #fff !important;
    font-family: "Oxygen", system-ui, sans-serif;
    font-weight: 900;
    text-transform: none;
    letter-spacing: 0;
}

.match-centre-pill:hover {
    border-color: var(--ballaxy-yellow);
    color: var(--ballaxy-yellow) !important;
}

.icon-btn,
.burger {
    width: 46px !important;
    height: 46px !important;
    border: 0 !important;
    background: #1f1f1f !important;
}

.user-toggle {
    border: 1px solid rgba(255,255,255,.18) !important;
    background: transparent !important;
}

.city-bar {
    background: #050505 !important;
    border-top: 1px solid rgba(255,196,0,.85) !important;
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
    box-shadow: none !important;
}

.container {
    max-width: 1280px;
}

/* Remove the big boxed hero; make it a simple editorial title strip */
.ballaxy-front-hero {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin: 4px 0 28px;
    padding: 0 0 22px;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible;
}

.ballaxy-front-hero::after {
    display: none;
}

.ballaxy-front-hero-main {
    max-width: 850px;
}

.ballaxy-eyebrow {
    height: auto;
    padding: 0;
    border-radius: 0;
    background: transparent;
    color: var(--ballaxy-yellow);
    font-family: "Oxygen", system-ui, sans-serif;
    font-size: .8rem;
    letter-spacing: .12em;
}

.ballaxy-front-hero h1 {
    max-width: 900px;
    margin: 10px 0 8px;
    font-size: clamp(2.3rem, 5vw, 5rem);
    line-height: .9;
    letter-spacing: -.065em;
}

.ballaxy-front-hero p {
    max-width: 650px;
    color: rgba(255,255,255,.68);
}

.ballaxy-front-hero-side {
    min-width: 240px;
    padding: 0 0 0 18px;
    border: 0;
    border-left: 3px solid var(--ballaxy-yellow);
    border-radius: 0;
    background: transparent;
}

.ballaxy-front-hero-side span {
    font-family: "Oxygen", system-ui, sans-serif;
}

.ballaxy-front-hero-side strong {
    font-family: "Oxygen", system-ui, sans-serif;
    font-size: 1.1rem;
    text-transform: none;
}

/* Open grid feed, no heavy card boxes */
.card {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
    transform: none !important;
}

.card:hover {
    transform: none !important;
    border-color: transparent !important;
    box-shadow: none !important;
}

.card-image {
    border-radius: 8px !important;
    overflow: hidden !important;
    background: #111;
}

.card-image img {
    border-radius: 8px;
    aspect-ratio: 16/10;
}

.card-body {
    padding: 14px 0 0 !important;
}

.card-category {
    min-height: auto;
    padding: 0 !important;
    border-radius: 0;
    background: transparent !important;
    color: var(--ballaxy-yellow) !important;
    font-family: "Oxygen", system-ui, sans-serif;
    font-size: .72rem !important;
    letter-spacing: .02em !important;
    text-transform: uppercase;
}

.card-title {
    font-family: "Oxygen", system-ui, sans-serif !important;
    font-size: 1.04rem !important;
    line-height: 1.24 !important;
    letter-spacing: -.02em;
    font-weight: 900 !important;
}

.card-large .card-title {
    font-size: 1.14rem !important;
}

.card-title a:hover {
    color: #fff !important;
    text-decoration: underline;
    text-decoration-color: var(--ballaxy-yellow);
}

.card-meta {
    margin-top: 20px;
    min-height: 24px;
    color: rgba(255,255,255,.82) !important;
    font-size: .84rem !important;
}

.card-author {
    color: #fff;
}

.card-date {
    color: rgba(255,255,255,.64);
}

/* Make homepage first feed closer to OneFootball card rows */
.home-desktop .grid-2,
.home-desktop .grid-3,
.home-mobile .grid-2,
.home-mobile .grid-3 {
    gap: 34px 32px !important;
}

.grid-2,
.grid-3,
.grid-4 {
    gap: 34px 32px !important;
}

.home-desktop > .grid-2:first-child {
    grid-template-columns: repeat(4, 1fr);
    margin-bottom: 42px;
}

.home-desktop > .grid-2:first-child .card-large .card-image img {
    aspect-ratio: 16/10;
}

.home-desktop > .grid-2:first-child .card-large .card-title {
    font-size: 1.06rem !important;
}

.home-desktop > .grid-2:first-child .card-large .card-meta {
    margin-top: 28px;
}

/* Current layout sections: lighter separators, less boxed feel */
.layout {
    gap: 42px;
}

.block-header {
    margin: 44px 0 22px;
    padding: 0;
    border: 0;
}

.block-title,
.search-title {
    font-family: "Oxygen", system-ui, sans-serif;
    font-size: clamp(2rem, 3.5vw, 3.8rem);
    line-height: .95;
    letter-spacing: -.06em;
    text-transform: none;
}

.block-title::before,
.search-title::before {
    display: none;
}

.block-link {
    color: rgba(255,255,255,.7) !important;
    font-size: .92rem;
    font-weight: 800;
}

.block-link:hover {
    color: var(--ballaxy-yellow) !important;
}

.home-section-alt {
    background: #242424 !important;
    border: 0 !important;
    padding: 46px 0;
}

/* Most-read style support for common list/sidebar widgets */
.layout-sidebar,
.sidebar,
.widget {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.layout-sidebar .widget,
.sidebar .widget {
    padding: 0 !important;
}

.widget-title,
.sidebar h2,
.sidebar h3,
.layout-sidebar h2,
.layout-sidebar h3 {
    font-family: "Oxygen", system-ui, sans-serif !important;
    font-size: 2rem !important;
    line-height: 1 !important;
    letter-spacing: -.05em;
    color: #fff !important;
}

/* Generic ordered lists as Goal-like most-read rows */
.widget ol,
.layout-sidebar ol,
.sidebar ol {
    counter-reset: ballaxy-rank;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.widget ol li,
.layout-sidebar ol li,
.sidebar ol li {
    counter-increment: ballaxy-rank;
    position: relative;
    display: flex;
    align-items: center;
    min-height: 58px;
    padding: 12px 14px 12px 58px;
    border-top: 1px solid rgba(255,255,255,.10);
    color: #fff;
}

.widget ol li::before,
.layout-sidebar ol li::before,
.sidebar ol li::before {
    content: counter(ballaxy-rank);
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--ballaxy-yellow);
    font-size: 2rem;
    font-weight: 900;
    line-height: 1;
}

.widget ol li a,
.layout-sidebar ol li a,
.sidebar ol li a {
    color: #fff !important;
    font-weight: 900;
    line-height: 1.25;
    text-decoration: none;
}

.widget ol li a:hover {
    color: var(--ballaxy-yellow) !important;
}

/* Footer: keep branded but less boxed */
.site-footer.ballaxy-footer {
    background: #050505 !important;
    border-top: 1px solid rgba(255,255,255,.10) !important;
}

.ballaxy-footer-inner {
    padding-top: 44px !important;
}

.footer-col:not(:first-child)::before {
    display: none !important;
}

.footer-col a {
    text-decoration: none;
}

.ballaxy-footer-bottom {
    border-top: 1px solid rgba(255,255,255,.08);
}

/* Mega menu less card-heavy */
.mega-menu {
    background: #111 !important;
}

.mega-menu-root a {
    border: 0;
    border-radius: 0;
    background: transparent;
    border-bottom: 1px solid rgba(255,255,255,.08);
}

.mega-menu-root a:hover {
    background: transparent;
    color: var(--ballaxy-yellow) !important;
}

/* Mobile */
@media (max-width: 1023px) {
    .home-desktop > .grid-2:first-child {
        grid-template-columns: repeat(2, 1fr);
    }

    .ballaxy-front-hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .ballaxy-front-hero-side {
        width: 100%;
    }
}

@media (max-width: 640px) {
    .header-inner {
        height: 62px;
    }

    .ballaxy-front-hero {
        margin-bottom: 22px;
        padding-bottom: 0;
    }

    .ballaxy-front-hero h1 {
        font-size: 2.35rem;
    }

    .ballaxy-front-hero p {
        font-size: .95rem;
    }

    .home-mobile .grid-3,
    .home-mobile .grid-2,
    .grid-2,
    .grid-3,
    .grid-4 {
        grid-template-columns: 1fr !important;
        gap: 30px !important;
    }

    .card-image img {
        aspect-ratio: 16/9;
    }

    .card-meta {
        margin-top: 16px;
    }

    .block-header {
        margin-top: 36px;
    }

    .block-title,
    .search-title {
        font-size: 2.35rem;
    }

    .mega-menu-root {
        grid-template-columns: 1fr;
    }
}


/* =========================================================
   Ballaxy Stage 4 — Goal-style header + gray content area
   ========================================================= */
:root {
    --ballaxy-page-gray: #222222;
    --ballaxy-header-black: #000000;
    --ballaxy-card-gray: #272727;
    --ballaxy-soft-gray: #303030;
}

html[data-theme="dark"],
body {
    background: var(--ballaxy-page-gray) !important;
    color: #f4f4f4;
}

.top-sticky {
    background: var(--ballaxy-header-black) !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
}

.top-sticky::before {
    display: none !important;
}

.site-header {
    background: #000 !important;
    border-bottom: 0 !important;
}

.header-inner {
    max-width: 1440px !important;
    height: 52px !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
    gap: 18px;
}

.logo {
    flex: 0 0 auto;
}

.logo-link {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
}

.logo-img,
.logo-light img,
.logo-dark img,
.logo-light,
.logo-dark {
    max-height: 34px !important;
}

.ballaxy-wordmark {
    height: 34px;
    padding: 0 9px;
    border: 2px solid #fff;
    color: #fff !important;
    font-family: "Oxygen", system-ui, sans-serif !important;
    font-size: 1.14rem !important;
    font-weight: 950 !important;
    letter-spacing: -.04em;
    line-height: 30px;
}

.ballaxy-wordmark span {
    color: var(--ballaxy-yellow) !important;
}

.main-nav {
    flex: 1 1 auto;
    justify-content: flex-start !important;
}

@media (min-width: 1024px) {
    .main-nav {
        display: flex !important;
    }
}

.main-nav .menu {
    display: flex;
    align-items: center;
    gap: 22px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

.main-nav .menu li a {
    display: inline-flex;
    align-items: center;
    height: 52px;
    padding: 0 !important;
    border-radius: 0 !important;
    color: #fff !important;
    background: transparent !important;
    font-family: "Oxygen", system-ui, sans-serif !important;
    font-size: .88rem !important;
    font-weight: 950 !important;
    letter-spacing: -.01em !important;
    text-transform: uppercase !important;
}

.main-nav .menu li.current-menu-item > a,
.main-nav .menu li a:hover {
    color: var(--ballaxy-yellow) !important;
    background: transparent !important;
}

.header-actions {
    flex: 0 0 auto;
    gap: 12px !important;
}

.match-centre-pill {
    display: none !important;
}

.header-search-toggle,
.burger,
.user-toggle {
    border: 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
    width: auto !important;
    height: 52px !important;
    min-width: 24px;
    padding: 0 !important;
    color: #fff !important;
}

.header-search-toggle {
    width: 36px !important;
    border-radius: 999px !important;
}

.header-search-toggle .icon,
.user-toggle .icon {
    width: 23px !important;
    height: 23px !important;
    stroke: #fff !important;
}

.header-search-toggle:hover .icon,
.user-toggle:hover .icon,
.burger:hover span {
    stroke: var(--ballaxy-yellow) !important;
    background: var(--ballaxy-yellow) !important;
}

.user-login-toggle {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    color: #fff !important;
    font-size: .88rem !important;
    font-weight: 850 !important;
}

.user-login-toggle span {
    display: inline-block;
    white-space: nowrap;
}

.burger {
    width: 34px !important;
    position: relative;
}

.burger span {
    background: #fff !important;
    height: 2px !important;
    width: 21px !important;
}

.user-dropdown {
    top: 48px;
    right: 0;
    border: 1px solid rgba(255,255,255,.12) !important;
    border-radius: 0 !important;
    background: #111 !important;
}

.mega-menu {
    background: #111 !important;
    border-top: 1px solid rgba(255,255,255,.10);
    border-bottom: 1px solid rgba(255,255,255,.10);
}

.mega-inner {
    max-width: 1280px;
}

.mega-search form {
    border-radius: 0 !important;
    border: 1px solid rgba(255,255,255,.16) !important;
    background: #000 !important;
}

.mega-search button {
    background: var(--ballaxy-yellow) !important;
    color: #000 !important;
}

.mega-menu-root {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.mega-menu-root a {
    border: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.10) !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #fff !important;
    padding: 13px 0 !important;
    font-weight: 900;
    text-transform: uppercase;
    font-size: .9rem;
}

.city-bar {
    background: #000 !important;
    border-top: 1px solid rgba(255,196,0,.90) !important;
    border-bottom: 1px solid rgba(255,255,255,.10) !important;
}

.container {
    max-width: 1280px !important;
}

/* Slight gray section rhythm, no black everywhere */
.ballaxy-front-hero,
.card,
.home-section-alt,
.layout-sidebar,
.widget {
    color: #f4f4f4;
}

.ballaxy-front-hero {
    background: transparent !important;
}

.home-section-alt {
    background: #2a2a2a !important;
}

.card-image {
    background: #181818 !important;
}

.card-category {
    color: var(--ballaxy-yellow) !important;
}

.card-title a {
    color: #fff !important;
}

.card-meta {
    color: rgba(255,255,255,.72) !important;
}

/* Most-read rows on gray, not boxed */
.widget ol li,
.layout-sidebar ol li,
.sidebar ol li {
    border-color: rgba(255,255,255,.10) !important;
}

/* Footer can stay black as site chrome */
.site-footer.ballaxy-footer {
    background: #000 !important;
}

@media (max-width: 1023px) {
    .main-nav {
        display: none !important;
    }

    .header-inner {
        height: 56px !important;
    }

    .header-search-toggle {
        display: inline-flex !important;
    }

    .mega-menu-root {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .header-inner {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    .ballaxy-wordmark {
        height: 31px;
        font-size: 1rem !important;
        line-height: 27px;
    }

    .user-login-toggle span {
        display: none;
    }

    .user-menu {
        display: block !important;
    }

    .header-search-toggle {
        display: inline-flex !important;
    }

    .mega-menu-root {
        grid-template-columns: 1fr;
    }
}


/* =========================================================
   Ballaxy Stage 5 — real news layout proportions
   ========================================================= */

/* Header: more premium height and spacing */
.header-inner {
    height: 68px !important;
    padding-left: 22px !important;
    padding-right: 22px !important;
}

.main-nav .menu li a {
    height: 68px !important;
    font-size: .92rem !important;
}

.header-search-toggle,
.burger,
.user-toggle {
    height: 68px !important;
}

.logo-img,
.logo-light img,
.logo-dark img,
.logo-light,
.logo-dark {
    max-height: 40px !important;
}

.ballaxy-wordmark {
    height: 38px !important;
    line-height: 34px !important;
    font-size: 1.25rem !important;
    padding: 0 11px !important;
}

.user-dropdown {
    top: 62px !important;
}

.container {
    max-width: 1320px !important;
}

.ballaxy-front-hero {
    margin: 8px 0 34px !important;
    padding-bottom: 26px !important;
    border-bottom: 1px solid rgba(255,255,255,.10) !important;
}

.ballaxy-front-hero h1 {
    max-width: 980px !important;
    font-size: clamp(2.7rem, 5.8vw, 5.8rem) !important;
}

.ballaxy-front-hero p {
    font-size: 1.05rem !important;
}

/* Main homepage lead package */
.ballaxy-news-front {
    display: flex !important;
    flex-direction: column;
    gap: 28px;
}

.ballaxy-news-main {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(300px, .95fr);
    gap: 32px;
    align-items: start;
}

.ballaxy-lead-story .card-image img {
    aspect-ratio: 16/9 !important;
}

.ballaxy-lead-story .card-title {
    max-width: 850px;
    font-size: clamp(1.75rem, 3.2vw, 3rem) !important;
    line-height: 1.02 !important;
    letter-spacing: -.045em !important;
}

.ballaxy-lead-story .card-category {
    font-size: .78rem !important;
}

.ballaxy-lead-story .card-meta {
    margin-top: 18px !important;
}

.ballaxy-side-stories {
    display: grid;
    gap: 20px;
}

.ballaxy-side-stories .card {
    display: grid !important;
    grid-template-columns: 138px minmax(0, 1fr);
    gap: 14px !important;
    align-items: start;
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(255,255,255,.10) !important;
}

.ballaxy-side-stories .card:last-child {
    border-bottom: 0 !important;
    padding-bottom: 0;
}

.ballaxy-side-stories .card-image img {
    aspect-ratio: 1.2/1 !important;
}

.ballaxy-side-stories .card-body {
    padding: 0 !important;
}

.ballaxy-side-stories .card-title {
    font-size: 1.06rem !important;
    line-height: 1.17 !important;
}

.ballaxy-side-stories .card-meta {
    margin-top: 10px !important;
}

.ballaxy-news-row {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 32px;
    padding-top: 28px;
    border-top: 1px solid rgba(255,255,255,.10);
}

.ballaxy-news-row .card-title {
    font-size: 1.06rem !important;
}

.ballaxy-news-row .card-image img {
    aspect-ratio: 16/10 !important;
}

/* Make lower sections feel intentionally laid out */
.home-full,
.layout,
.home-section-alt {
    margin-top: 56px !important;
}

.block-header {
    margin: 0 0 26px !important;
    padding-top: 4px;
}

.block-title,
.search-title {
    font-size: clamp(2.2rem, 4vw, 4.4rem) !important;
}

.grid-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.grid-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.layout {
    grid-template-columns: minmax(0, 1fr) 340px !important;
}

.layout-sidebar {
    width: 340px !important;
}

/* Smaller cards in grids should feel like feed items, not equal boxes */
.grid-4 .card-title,
.grid-3 .card-title {
    font-size: 1.04rem !important;
}

.grid-4 .card-image img,
.grid-3 .card-image img {
    aspect-ratio: 16/10 !important;
}

/* Add a subtle module background only for alternate bands */
.home-section-alt {
    padding: 58px 0 !important;
    background: #2b2b2b !important;
}

/* Sidebar positioning */
.layout-sidebar {
    top: 112px !important;
}

.widget-title,
.sidebar h2,
.sidebar h3,
.layout-sidebar h2,
.layout-sidebar h3 {
    margin-bottom: 16px !important;
}

/* Header/ticker relationship */
.city-bar {
    min-height: 46px;
}

/* Category/archive/blog page layouts */
body.blog .home-desktop .grid-2,
body.archive .home-desktop .grid-2,
body.search .home-desktop .grid-2,
body.category .home-desktop .grid-2 {
    grid-template-columns: 1.3fr 1fr !important;
}

body.blog .home-desktop .grid-3,
body.archive .home-desktop .grid-3,
body.search .home-desktop .grid-3,
body.category .home-desktop .grid-3 {
    grid-template-columns: repeat(3, minmax(0,1fr)) !important;
}

/* Mobile/tablet responsive */
@media (max-width: 1180px) {
    .layout {
        grid-template-columns: 1fr !important;
    }

    .layout-sidebar {
        width: auto !important;
        position: static !important;
    }

    .ballaxy-news-main {
        grid-template-columns: 1fr;
    }

    .ballaxy-side-stories {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 22px;
    }

    .ballaxy-side-stories .card {
        display: flex !important;
        border-bottom: 0 !important;
        padding-bottom: 0;
    }

    .ballaxy-news-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 1023px) {
    .header-inner {
        height: 64px !important;
    }

    .header-search-toggle,
    .burger,
    .user-toggle {
        height: 64px !important;
    }

    .grid-4,
    .grid-3 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 700px) {

    .ballaxy-front-hero {
        margin-bottom: 26px !important;
        padding-bottom: 18px !important;
    }

    .ballaxy-front-hero h1 {
        font-size: 2.6rem !important;
    }

    .ballaxy-side-stories,
    .ballaxy-news-row,
    .grid-2,
    .grid-3,
    .grid-4 {
        grid-template-columns: 1fr !important;
    }

    .ballaxy-side-stories .card {
        display: grid !important;
        grid-template-columns: 120px minmax(0, 1fr);
        padding-bottom: 18px;
        border-bottom: 1px solid rgba(255,255,255,.10) !important;
    }

    .ballaxy-lead-story .card-title {
        font-size: 1.7rem !important;
    }

    .block-title,
    .search-title {
        font-size: 2.4rem !important;
    }
}

@media (max-width: 420px) {
    .ballaxy-side-stories .card {
        grid-template-columns: 96px minmax(0, 1fr);
        gap: 12px !important;
    }

    .ballaxy-side-stories .card-title {
        font-size: .98rem !important;
    }

    .header-inner {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
}


/* Ballaxy Stage 6 — ensure lead package applies on blog/static homepage too */
body.blog .ballaxy-news-front,
body.page-template-home .ballaxy-news-front,
body.home .ballaxy-news-front {
    width: 100%;
}

.ballaxy-lead-story {
    min-width: 0;
}

.ballaxy-lead-story .card {
    width: 100%;
}

.ballaxy-news-main + .ballaxy-news-row:empty {
    display: none;
}

@media (min-width: 1181px) {
    .ballaxy-news-main {
        min-height: 420px;
    }

    .ballaxy-lead-story .card-image img {
        min-height: 370px;
    }
}

.container {
    max-width: 1280px !important;
}

/* Hide overbearing intro on pure feed pages if it creates too much vertical gap */
body.home .ballaxy-front-hero,
body.blog .ballaxy-front-hero {
    margin-bottom: 30px !important;
}

/* News homepage grid: equal gutters */
.ballaxy-news-front,
.home-desktop,
.home-mobile {
    gap: 28px !important;
}

.ballaxy-news-main {
    gap: 28px !important;
    align-items: stretch !important;
}

.ballaxy-news-row,
.grid-2,
.grid-3,
.grid-4,
.ballaxy-side-stories {
    gap: 28px !important;
}

/* Card style inspired by the attached block: image top + gray body */
.card {
    border-radius: 4px !important;
    background: #303030 !important;
    overflow: hidden !important;
    border: 0 !important;
    box-shadow: none !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100%;
}

.card:hover {
    transform: none !important;
    background: #343434 !important;
}

.card-image {
    position: relative;
    display: block;
    border-radius: 4px 4px 0 0 !important;
    overflow: hidden !important;
    background: #151515 !important;
}

.card-image img {
    width: 100%;
    aspect-ratio: 16/9 !important;
    object-fit: cover;
    border-radius: 0 !important;
}

.card-body {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    flex: 1 1 auto;
    padding: 18px 16px 16px !important;
}

.card-category {
    display: block !important;
    min-height: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    color: #ffd000 !important;
    font-family: "Oxygen", system-ui, sans-serif !important;
    font-size: .72rem !important;
    line-height: 1 !important;
    font-weight: 950 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
}

.card-title {
    margin: 0 !important;
    font-family: "Oxygen", system-ui, sans-serif !important;
    font-size: 1.06rem !important;
    line-height: 1.18 !important;
    font-weight: 950 !important;
    letter-spacing: -.025em !important;
}

.card-title a {
    color: #fff !important;
    text-decoration: none !important;
}

.card-title a:hover {
    color: #fff !important;
    text-decoration: underline !important;
    text-decoration-color: #ffd000 !important;
}

.card-meta {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-top: auto !important;
    padding-top: 16px !important;
    min-height: 28px !important;
    color: rgba(255,255,255,.72) !important;
    font-size: .82rem !important;
    line-height: 1.2 !important;
}

.card-dot {
    opacity: .75;
}

.card-comments {
    color: rgba(255,255,255,.72) !important;
}

/* Lead story: still larger but uses same card language */
.ballaxy-lead-story .card {
    min-height: 100%;
}

.ballaxy-lead-story .card-image img {
    aspect-ratio: 16/9 !important;
    min-height: 360px;
}

.ballaxy-lead-story .card-body {
    padding: 22px 22px 18px !important;
}

.ballaxy-lead-story .card-title {
    font-size: clamp(1.7rem, 3vw, 2.8rem) !important;
    line-height: 1.03 !important;
}

.ballaxy-lead-story .card-category::after {
    content: " / Lead";
    color: rgba(255,255,255,.55);
    font-weight: 800;
}

/* Side stories: compact cards, but keep the same visual style */
.ballaxy-side-stories {
    display: grid !important;
    grid-template-columns: 1fr !important;
}

.ballaxy-side-stories .card {
    display: grid !important;
    grid-template-columns: 150px minmax(0, 1fr) !important;
    min-height: 150px;
}

.ballaxy-side-stories .card-image {
    border-radius: 4px 0 0 4px !important;
}

.ballaxy-side-stories .card-image img {
    height: 100% !important;
    aspect-ratio: auto !important;
}

.ballaxy-side-stories .card-body {
    padding: 14px !important;
    gap: 10px !important;
}

.ballaxy-side-stories .card-title {
    font-size: 1rem !important;
}

.ballaxy-side-stories .card-meta {
    padding-top: 10px !important;
    font-size: .76rem !important;
}

/* Row cards: equal blocks */
.ballaxy-news-row {
    align-items: stretch !important;
}

.ballaxy-news-row .card,
.grid-3 .card,
.grid-4 .card {
    min-height: 100%;
}

/* Optional video/play feel for posts in video category/tag */
.card.category-video .card-image::after,
.card.tag-video .card-image::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 54px;
    height: 44px;
    background: rgba(255,255,255,.92);
}

.card.category-video .card-image::before,
.card.tag-video .card-image::before {
    content: "";
    position: absolute;
    left: 21px;
    bottom: 14px;
    width: 0;
    height: 0;
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    border-left: 12px solid #555;
    z-index: 2;
}

/* Important-tag visual accent */
.card.tag-important {
    outline: 1px solid rgba(255,208,0,.22) !important;
}

.card.tag-important .card-category {
    color: #ffd000 !important;
}

/* Even lower sections */
.home-full,
.layout,
.home-section-alt {
    margin-top: 48px !important;
}

.block-header {
    margin-bottom: 22px !important;
}

.home-section-alt {
    padding: 48px 0 !important;
}

/* Mobile: equal spacing and cards stay readable */
@media (max-width: 1180px) {
    .ballaxy-side-stories {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    .ballaxy-side-stories .card {
        display: flex !important;
        min-height: 100%;
    }

    .ballaxy-side-stories .card-image {
        border-radius: 4px 4px 0 0 !important;
    }

    .ballaxy-side-stories .card-image img {
        height: auto !important;
        aspect-ratio: 16/9 !important;
    }
}

@media (max-width: 700px) {
    .ballaxy-news-main,
    .ballaxy-news-row,
    .ballaxy-side-stories,
    .grid-2,
    .grid-3,
    .grid-4 {
        gap: 22px !important;
    }

    .ballaxy-side-stories {
        grid-template-columns: 1fr !important;
    }

    .ballaxy-side-stories .card {
        display: grid !important;
        grid-template-columns: 118px minmax(0, 1fr) !important;
        min-height: 126px;
    }

    .ballaxy-side-stories .card-image {
        border-radius: 4px 0 0 4px !important;
    }

    .ballaxy-side-stories .card-image img {
        height: 100% !important;
        aspect-ratio: auto !important;
    }

    .ballaxy-lead-story .card-image img {
        min-height: 0;
    }

    .ballaxy-lead-story .card-title {
        font-size: 1.45rem !important;
    }

    .card-body {
        padding: 15px 14px !important;
    }
}


/* =========================================================
   Ballaxy Stage 8 — fixed important lead + balanced homepage
   ========================================================= */

/* Top section should be a full-width editorial package, not squeezed by sidebar */
body.home .container > .layout:first-of-type,
body.blog .container > .layout:first-of-type {
    display: block !important;
}

body.home .container > .layout:first-of-type .layout-main,
body.blog .container > .layout:first-of-type .layout-main {
    width: 100% !important;
    max-width: 100% !important;
}

/* Reset earlier experimental rules that made first two cards tiny */
.home-desktop > .grid-2:first-child {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

/* Proper real-news lead package */
.ballaxy-news-front {
    display: grid !important;
    gap: 30px !important;
}

.ballaxy-news-main {
    display: grid !important;
    grid-template-columns: minmax(0, 1.72fr) minmax(330px, .86fr) !important;
    gap: 30px !important;
    align-items: stretch !important;
    min-height: 0 !important;
}

.ballaxy-lead-story {
    min-width: 0 !important;
}

.ballaxy-lead-story .card {
    height: 100% !important;
    min-height: 0 !important;
}

.ballaxy-lead-story .card-image img {
    width: 100% !important;
    min-height: 0 !important;
    aspect-ratio: 16/8.7 !important;
}

.ballaxy-lead-story .card-body {
    padding: 24px 24px 22px !important;
}

.ballaxy-lead-story .card-category {
    font-size: .78rem !important;
}

.ballaxy-lead-story .card-title {
    max-width: 900px !important;
    font-size: clamp(2rem, 3.35vw, 3.45rem) !important;
    line-height: .98 !important;
    letter-spacing: -.055em !important;
}

/* Important post = yellow edge, not tiny highlighted cards */
.card.tag-important {
    outline: none !important;
    border: 1px solid rgba(255,208,0,.38) !important;
}

.ballaxy-lead-story .card.tag-important {
    border-color: rgba(255,208,0,.65) !important;
}

.ballaxy-lead-story .card.tag-important::before {
    content: "IMPORTANT";
    position: absolute;
    z-index: 3;
    top: 14px;
    left: 14px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    padding: 0 10px;
    border-radius: 999px;
    background: #ffd000;
    color: #111;
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .06em;
}

/* Side stories: consistent mini-news cards */
.ballaxy-side-stories {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
}

.ballaxy-side-stories .card {
    display: grid !important;
    grid-template-columns: 152px minmax(0, 1fr) !important;
    min-height: 144px !important;
    height: auto !important;
}

.ballaxy-side-stories .card-image {
    height: 100% !important;
}

.ballaxy-side-stories .card-image img {
    height: 100% !important;
    width: 100% !important;
    aspect-ratio: auto !important;
    object-fit: cover !important;
}

.ballaxy-side-stories .card-body {
    padding: 14px 15px !important;
    gap: 10px !important;
}

.ballaxy-side-stories .card-title {
    font-size: 1rem !important;
    line-height: 1.15 !important;
}

.ballaxy-side-stories .card-meta {
    padding-top: 8px !important;
    font-size: .76rem !important;
}

/* Bottom row balanced */
.ballaxy-news-row {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 30px !important;
    padding-top: 30px !important;
    border-top: 1px solid rgba(255,255,255,.10) !important;
}

.ballaxy-news-row .card-image img {
    aspect-ratio: 16/9 !important;
}

.ballaxy-news-row .card-title {
    font-size: 1.08rem !important;
    line-height: 1.17 !important;
}

/* Card height consistency */
.ballaxy-news-row .card,
.grid-3 .card,
.grid-4 .card {
    min-height: 100% !important;
}

.card-body {
    min-height: 174px;
}

.ballaxy-side-stories .card-body {
    min-height: 0;
}

.ballaxy-lead-story .card-body {
    min-height: 230px;
}

/* Better section spacing */
.home-full,
.layout,
.home-section-alt {
    margin-top: 54px !important;
}

.block-header {
    margin-bottom: 24px !important;
}

/* Responsive */
@media (max-width: 1180px) {
    .ballaxy-news-main {
        grid-template-columns: 1fr !important;
    }

    .ballaxy-side-stories {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    .ballaxy-side-stories .card {
        display: flex !important;
        flex-direction: column !important;
        min-height: 100% !important;
    }

    .ballaxy-side-stories .card-image img {
        height: auto !important;
        aspect-ratio: 16/9 !important;
    }

    .ballaxy-news-row {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 720px) {
    .ballaxy-news-main,
    .ballaxy-news-row,
    .ballaxy-side-stories {
        grid-template-columns: 1fr !important;
        gap: 22px !important;
    }

    .ballaxy-side-stories .card {
        display: grid !important;
        grid-template-columns: 112px minmax(0, 1fr) !important;
        min-height: 124px !important;
    }

    .ballaxy-side-stories .card-image img {
        height: 100% !important;
        aspect-ratio: auto !important;
    }

    .ballaxy-lead-story .card-title {
        font-size: 1.65rem !important;
    }

    .ballaxy-lead-story .card-body {
        min-height: 0;
        padding: 18px 16px !important;
    }

    .card-body {
        min-height: 0;
    }
}


/* =========================================================
   Ballaxy Stage 9 — homepage modules: breaking, 4-col news,
   match hub, standings stack
   ========================================================= */

/* Replace oversized lead experiment with real news-site package */
body.home .container > .layout:first-of-type,
body.blog .container > .layout:first-of-type {
    display: block !important;
}

.ballaxy-home-editorial {
    display: grid !important;
    gap: 36px !important;
}

.ballaxy-home-top {
    display: grid !important;
    grid-template-columns: 315px minmax(0, 1fr) !important;
    gap: 28px !important;
    align-items: start;
}

/* Breaking panel like a real news sidebar */
.ballaxy-breaking-panel {
    min-height: 100%;
    padding: 24px 20px;
    border-radius: 8px;
    background: #333;
    color: #fff;
}

.ballaxy-breaking-panel h2 {
    margin: 0 0 20px !important;
    color: #fff;
    font-family: "Oxygen", system-ui, sans-serif;
    font-size: 1.85rem;
    line-height: .95;
    letter-spacing: -.045em;
    text-transform: uppercase;
}

.ballaxy-breaking-item {
    display: block;
    padding: 15px 0;
    border-top: 1px solid rgba(255,255,255,.16);
    color: #fff !important;
    text-decoration: none !important;
}

.ballaxy-breaking-item span {
    display: block;
    margin-bottom: 5px;
    color: rgba(255,255,255,.70);
    font-size: .82rem;
    font-weight: 800;
}

.ballaxy-breaking-item strong {
    display: block;
    color: #fff;
    font-size: 1rem;
    line-height: 1.14;
    letter-spacing: -.02em;
    font-weight: 950;
}

.ballaxy-breaking-item:hover strong {
    color: #ffd000;
}

.ballaxy-breaking-more {
    display: inline-flex;
    margin-top: 18px;
    color: #ffd000 !important;
    font-size: .88rem;
    font-weight: 950;
    text-transform: uppercase;
    text-decoration: none !important;
}

/* Six-card feature block: 3 per row beside breaking panel */
.ballaxy-feature-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 28px !important;
}

.ballaxy-feature-grid .card,
.ballaxy-news-row .card {
    border-radius: 7px !important;
    background: #333 !important;
}

.ballaxy-feature-grid .card-image img,
.ballaxy-news-row .card-image img {
    aspect-ratio: 16/9 !important;
}

.ballaxy-feature-grid .card-body,
.ballaxy-news-row .card-body {
    min-height: 184px !important;
}

.ballaxy-feature-grid .card-title,
.ballaxy-news-row .card-title {
    font-size: 1.13rem !important;
    line-height: 1.15 !important;
}

/* Main row: four news per line */
.ballaxy-news-row {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 28px !important;
    padding-top: 0 !important;
    border-top: 0 !important;
}

/* Important tag becomes ordering only, not bad small yellow boxes */
.card.tag-important,
.ballaxy-lead-story .card.tag-important {
    border: 0 !important;
    outline: none !important;
}

.ballaxy-lead-story .card.tag-important::before {
    display: none !important;
}

/* Match hub with big upcoming-games module and standings sidebar */
.ballaxy-match-hub {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 28px;
    align-items: start;
    padding: 28px;
    border-radius: 8px;
    background: #2d2d2d;
}

.ballaxy-match-hub-main,
.ballaxy-standings-stack {
    min-width: 0;
}

.ballaxy-module-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}

.ballaxy-module-header h2 {
    margin: 0 !important;
    color: #fff;
    font-family: "Oxygen", system-ui, sans-serif;
    font-size: 2.1rem;
    line-height: .95;
    letter-spacing: -.05em;
}

.ballaxy-module-header a {
    color: rgba(255,255,255,.72);
    font-size: .85rem;
    font-weight: 900;
    text-decoration: none;
}

.ballaxy-module-header a:hover {
    color: #ffd000;
}

.ballaxy-standing-mini {
    padding: 16px;
    border-radius: 7px;
    background: #222;
}

.ballaxy-standing-mini + .ballaxy-standing-mini {
    margin-top: 18px;
}

.ballaxy-standing-mini h3 {
    margin: 0 0 12px !important;
    color: #ffd000;
    font-family: "Oxygen", system-ui, sans-serif;
    font-size: 1rem;
    line-height: 1;
    text-transform: uppercase;
}

/* Make standings inside sidebar compact */
.ballaxy-standing-mini table,
.ballaxy-standing-mini .ballaxy-standings-table {
    font-size: .78rem;
}

.ballaxy-standing-mini th,
.ballaxy-standing-mini td {
    padding: 6px 5px !important;
}

.ballaxy-standing-mini tr:nth-child(n+8) {
    display: none;
}

/* Make plugin fixture list sit inside module */
.ballaxy-match-hub .ballaxy-football-message,
.ballaxy-match-hub .ballaxy-match-list,
.ballaxy-match-hub .football-match-list,
.ballaxy-match-hub .ballaxy-fixtures,
.ballaxy-match-hub .football-fixtures {
    background: transparent !important;
}

/* Lower sections all four-per-line by default */
.home-full .grid-4,
.home-section-alt .grid-4,
.layout-main .grid-3,
.grid-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

/* If a section has only one/two cards, don't make them tiny */
.home-section-alt .grid-4:has(.card:nth-child(1):last-child),
.home-full .grid-4:has(.card:nth-child(1):last-child),
.layout-main .grid-3:has(.card:nth-child(1):last-child) {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

/* Remove old giant lead rules */
.ballaxy-lead-story .card-title {
    font-size: 1.2rem !important;
    line-height: 1.15 !important;
}

.ballaxy-lead-story .card-image img {
    min-height: 0 !important;
    aspect-ratio: 16/9 !important;
}

.ballaxy-lead-story .card-body {
    min-height: 184px !important;
    padding: 18px 16px 16px !important;
}

/* Front intro can be tighter now that homepage has modules */
.ballaxy-front-hero {
    margin-bottom: 26px !important;
}

/* Responsive */
@media (max-width: 1180px) {
    .ballaxy-home-top,
    .ballaxy-match-hub {
        grid-template-columns: 1fr !important;
    }

    .ballaxy-feature-grid,
    .ballaxy-news-row {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    .ballaxy-standings-stack {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px;
    }

    .ballaxy-standings-stack .ballaxy-module-header {
        grid-column: 1 / -1;
    }

    .ballaxy-standing-mini + .ballaxy-standing-mini {
        margin-top: 0;
    }
}

@media (max-width: 860px) {
    .ballaxy-feature-grid,
    .ballaxy-news-row,
    .home-full .grid-4,
    .home-section-alt .grid-4,
    .layout-main .grid-3,
    .grid-4,
    .grid-3 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .ballaxy-standings-stack {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    .ballaxy-feature-grid,
    .ballaxy-news-row,
    .home-full .grid-4,
    .home-section-alt .grid-4,
    .layout-main .grid-3,
    .grid-4,
    .grid-3 {
        grid-template-columns: 1fr !important;
    }

    .ballaxy-match-hub {
        padding: 18px;
    }

    .ballaxy-breaking-panel {
        padding: 20px 16px;
    }

    .ballaxy-module-header h2,
    .ballaxy-breaking-panel h2 {
        font-size: 1.65rem;
    }
}


/* =========================================================
   Ballaxy Stage 10 — make homepage hub actually visible
   on mobile/tablet and add competition/news modules
   ========================================================= */

/*
   The theme had old CSS that hides .home-desktop under 768px and shows
   the old .home-mobile layout. This is why the new Breaking/Upcoming/
   standings modules did not show. Force the new hub to be the homepage
   layout at every viewport size.
*/
body.home .home-desktop.ballaxy-home-editorial,
body.blog .home-desktop.ballaxy-home-editorial,
body.page-template-home .home-desktop.ballaxy-home-editorial {
    display: grid !important;
}

body.home .home-mobile,
body.blog .home-mobile,
body.page-template-home .home-mobile {
    display: none !important;
}

/* Make top module use the whole content width, not the old narrow column. */
body.home .container > .layout:first-of-type,
body.blog .container > .layout:first-of-type,
body.page-template-home .container > .layout:first-of-type {
    display: block !important;
    width: 100% !important;
}

body.home .container > .layout:first-of-type .layout-main,
body.blog .container > .layout:first-of-type .layout-main,
body.page-template-home .container > .layout:first-of-type .layout-main {
    width: 100% !important;
    max-width: none !important;
}

/* Bring the big modules closer to the top and make them prominent. */
.ballaxy-home-editorial {
    margin-top: 8px !important;
}

.ballaxy-home-top {
    display: grid !important;
    grid-template-columns: 330px minmax(0, 1fr) !important;
    gap: 28px !important;
    align-items: stretch !important;
}

.ballaxy-breaking-panel {
    display: block !important;
}

.ballaxy-feature-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 28px !important;
}

.ballaxy-match-hub {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 360px !important;
    gap: 28px !important;
    margin-top: 6px !important;
}

/* Four news per line where there is enough space. */
.ballaxy-news-row,
.home-full .grid-4,
.home-section-alt .grid-4,
.layout-main .grid-3,
.grid-4 {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 28px !important;
}

/* Competition strip */
.ballaxy-popular-competitions {
    margin: 44px 0 10px;
    padding: 28px 0;
    border-top: 1px solid rgba(255,255,255,.10);
    border-bottom: 1px solid rgba(255,255,255,.10);
}

.ballaxy-competition-cards {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
}

.ballaxy-competition-card {
    display: flex;
    align-items: center;
    gap: 18px;
    min-height: 94px;
    padding: 18px 22px;
    border-radius: 8px;
    background: #1f1f1f;
    color: #fff !important;
    text-decoration: none !important;
    border: 1px solid rgba(255,255,255,.10);
}

.ballaxy-competition-card:hover {
    border-color: rgba(255,208,0,.55);
    background: #262626;
}

.ballaxy-competition-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    border-radius: 50%;
    background: #ffd000;
    color: #111;
    font-weight: 950;
    font-size: 1rem;
}

.ballaxy-competition-card small {
    display: block;
    color: rgba(255,255,255,.70);
    font-size: .8rem;
    font-weight: 900;
}

.ballaxy-competition-card strong {
    display: block;
    margin-top: 2px;
    color: #fff;
    font-size: 1.05rem;
    line-height: 1.1;
    font-weight: 950;
}

/* Make plugin outputs inside the homepage modules more compact and visible. */
.ballaxy-match-hub .ballaxy-football-message {
    padding: 18px !important;
    border-radius: 7px !important;
    background: #222 !important;
    color: rgba(255,255,255,.78) !important;
}

.ballaxy-match-hub .ballaxy-match-card,
.ballaxy-match-hub .football-match-card,
.ballaxy-match-hub .ballaxy-match-row {
    background: #222 !important;
}

/* If standings shortcode outputs a full-size league table, limit height in homepage sidebar. */
.ballaxy-standing-mini {
    max-height: 430px;
    overflow: hidden;
}

/* More obvious section titles */
.ballaxy-module-header h2,
.block-title,
.search-title {
    color: #fff !important;
}

.ballaxy-module-header {
    margin-bottom: 18px !important;
}

/* Responsive: still show all modules, just stacked. */
@media (max-width: 1180px) {
    .ballaxy-home-top,
    .ballaxy-match-hub {
        grid-template-columns: 1fr !important;
    }

    .ballaxy-feature-grid,
    .ballaxy-news-row,
    .home-full .grid-4,
    .home-section-alt .grid-4,
    .layout-main .grid-3,
    .grid-4,
    .ballaxy-competition-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .ballaxy-standings-stack {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 18px !important;
    }

    .ballaxy-standings-stack .ballaxy-module-header {
        grid-column: 1 / -1;
    }
}

@media (max-width: 680px) {
    .ballaxy-feature-grid,
    .ballaxy-news-row,
    .home-full .grid-4,
    .home-section-alt .grid-4,
    .layout-main .grid-3,
    .grid-4,
    .ballaxy-competition-cards,
    .ballaxy-standings-stack {
        grid-template-columns: 1fr !important;
    }

    .ballaxy-breaking-panel {
        padding: 20px 16px !important;
    }

    .ballaxy-match-hub {
        padding: 18px !important;
    }

    .ballaxy-popular-competitions {
        margin-top: 32px;
        padding: 22px 0;
    }
}


/* =========================================================
   Ballaxy Stage 11 — explicit front-page modules
   This file creates the requested components even if old home CSS exists.
   ========================================================= */
.ballaxy-frontpage-v11 {
    max-width: 1320px !important;
    padding-top: 34px;
}

.ballaxy-home-top-v11 {
    display: grid;
    grid-template-columns: 320px minmax(0, 1fr);
    gap: 28px;
    align-items: stretch;
}

.ballaxy-breaking-panel-v11 {
    padding: 24px 20px;
    border-radius: 8px;
    background: #333;
    color: #fff;
}

.ballaxy-breaking-panel-v11 h2,
.ballaxy-module-header-v11 h2 {
    margin: 0;
    color: #fff;
    font-family: "Oxygen", system-ui, sans-serif;
    font-size: 2rem;
    line-height: .95;
    letter-spacing: -.055em;
    text-transform: uppercase;
}

.ballaxy-breaking-item-v11 {
    display: block;
    padding: 15px 0;
    border-top: 1px solid rgba(255,255,255,.16);
    color: #fff !important;
    text-decoration: none !important;
}

.ballaxy-breaking-item-v11 span {
    display: block;
    margin-bottom: 5px;
    color: rgba(255,255,255,.68);
    font-size: .82rem;
    font-weight: 800;
}

.ballaxy-breaking-item-v11 strong {
    display: block;
    color: #fff;
    font-size: 1rem;
    line-height: 1.15;
    font-weight: 950;
    letter-spacing: -.02em;
}

.ballaxy-breaking-item-v11:hover strong {
    color: #ffd000;
}

.ballaxy-breaking-more-v11 {
    display: inline-flex;
    margin-top: 16px;
    color: #ffd000 !important;
    font-size: .86rem;
    font-weight: 950;
    text-transform: uppercase;
    text-decoration: none !important;
}

.ballaxy-feature-grid-v11,
.ballaxy-four-grid-v11 {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 28px;
}

/* The top feature area has 6 cards: make it 3 columns beside breaking panel. */
.ballaxy-feature-grid-v11 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ballaxy-frontpage-v11 .card {
    border-radius: 7px !important;
    background: #333 !important;
    overflow: hidden !important;
    height: 100%;
}

.ballaxy-frontpage-v11 .card-image img {
    aspect-ratio: 16/9 !important;
}

.ballaxy-frontpage-v11 .card-body {
    min-height: 178px !important;
    padding: 16px !important;
}

.ballaxy-frontpage-v11 .card-title {
    font-size: 1.08rem !important;
    line-height: 1.15 !important;
}

.ballaxy-popular-competitions-v11,
.ballaxy-match-hub-v11,
.ballaxy-latest-grid-section-v11,
.ballaxy-section-band-v11 {
    margin-top: 44px;
}

.ballaxy-popular-competitions-v11 {
    padding: 28px 0;
    border-top: 1px solid rgba(255,255,255,.10);
    border-bottom: 1px solid rgba(255,255,255,.10);
}

.ballaxy-module-header-v11 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 22px;
}

.ballaxy-module-header-v11 a {
    color: rgba(255,255,255,.70) !important;
    font-size: .86rem;
    font-weight: 900;
    text-decoration: none !important;
}

.ballaxy-module-header-v11 a:hover {
    color: #ffd000 !important;
}

.ballaxy-competition-grid-v11 {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
}

.ballaxy-competition-card-v11 {
    display: flex;
    align-items: center;
    gap: 18px;
    min-height: 96px;
    padding: 18px 22px;
    border-radius: 8px;
    background: #1f1f1f;
    color: #fff !important;
    text-decoration: none !important;
    border: 1px solid rgba(255,255,255,.10);
}

.ballaxy-competition-card-v11:hover {
    border-color: rgba(255,208,0,.55);
    background: #262626;
}

.ballaxy-competition-icon-v11 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    border-radius: 50%;
    background: #ffd000;
    color: #111;
    font-weight: 950;
}

.ballaxy-competition-card-v11 small {
    display: block;
    color: rgba(255,255,255,.65);
    font-size: .8rem;
    font-weight: 900;
}

.ballaxy-competition-card-v11 strong {
    display: block;
    margin-top: 2px;
    color: #fff;
    font-size: 1.05rem;
    line-height: 1.1;
    font-weight: 950;
}

.ballaxy-match-hub-v11 {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 28px;
    padding: 28px;
    border-radius: 8px;
    background: #2d2d2d;
}

.ballaxy-upcoming-box-v11,
.ballaxy-table-card-v11 {
    border-radius: 8px;
    background: #222;
    overflow: hidden;
}

.ballaxy-upcoming-box-v11 {
    min-height: 230px;
    padding: 0;
}

.ballaxy-table-card-v11 {
    padding: 16px;
}

.ballaxy-table-card-v11 + .ballaxy-table-card-v11 {
    margin-top: 18px;
}

.ballaxy-table-card-v11 h3 {
    margin: 0 0 12px !important;
    color: #ffd000;
    font-size: 1rem;
    line-height: 1;
    text-transform: uppercase;
}

.ballaxy-table-card-v11 tr:nth-child(n+8) {
    display: none;
}

.ballaxy-table-card-v11 table,
.ballaxy-table-card-v11 .ballaxy-standings-table {
    font-size: .78rem;
}

.ballaxy-table-card-v11 th,
.ballaxy-table-card-v11 td {
    padding: 6px 5px !important;
}

.ballaxy-section-band-v11 {
    padding: 30px 0;
    border-top: 1px solid rgba(255,255,255,.08);
}

/* Force four per row on the explicit homepage, regardless of older grid CSS. */
.ballaxy-frontpage-v11 .ballaxy-four-grid-v11 {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

@media (max-width: 1180px) {
    .ballaxy-home-top-v11,
    .ballaxy-match-hub-v11 {
        grid-template-columns: 1fr;
    }

    .ballaxy-feature-grid-v11,
    .ballaxy-frontpage-v11 .ballaxy-four-grid-v11,
    .ballaxy-competition-grid-v11 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 680px) {
    .ballaxy-frontpage-v11 {
        padding-top: 22px;
    }

    .ballaxy-feature-grid-v11,
    .ballaxy-frontpage-v11 .ballaxy-four-grid-v11,
    .ballaxy-competition-grid-v11 {
        grid-template-columns: 1fr !important;
    }

    .ballaxy-match-hub-v11 {
        padding: 18px;
    }

    .ballaxy-breaking-panel-v11 {
        padding: 20px 16px;
    }

    .ballaxy-breaking-panel-v11 h2,
    .ballaxy-module-header-v11 h2 {
        font-size: 1.65rem;
    }
}


/* =========================================================
   Ballaxy Stage 12 — refined homepage: less empty space,
   league-specific game/table modules, competition emblems
   ========================================================= */
.ballaxy-frontpage-v12 {
    max-width: 1320px !important;
    padding-top: 30px;
}

.ballaxy-home-top-v12 {
    display: grid;
    grid-template-columns: 300px minmax(0, 1fr);
    gap: 28px;
    align-items: start;
}

/* Breaking news: fewer items and less cramped top line */
.ballaxy-breaking-panel-v12 {
    padding: 24px 20px 20px;
    border-radius: 8px;
    background: #333;
    color: #fff;
}

.ballaxy-breaking-panel-v12 h2 {
    margin: 0 0 18px !important;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(255,255,255,.18);
    color: #fff;
    font-family: "Oxygen", system-ui, sans-serif;
    font-size: 1.75rem;
    line-height: 1;
    letter-spacing: -.055em;
    text-transform: uppercase;
}

.ballaxy-breaking-item-v12 {
    display: block;
    padding: 14px 0;
    border-bottom: 1px solid rgba(255,255,255,.14);
    color: #fff !important;
    text-decoration: none !important;
}

.ballaxy-breaking-item-v12 span {
    display: block;
    margin-bottom: 5px;
    color: rgba(255,255,255,.68);
    font-size: .78rem;
    font-weight: 800;
}

.ballaxy-breaking-item-v12 strong {
    display: block;
    color: #fff;
    font-size: .96rem;
    line-height: 1.15;
    font-weight: 950;
    letter-spacing: -.02em;
}

.ballaxy-breaking-item-v12:hover strong {
    color: #ffd000;
}

.ballaxy-breaking-more-v12 {
    display: inline-flex;
    margin-top: 18px;
    color: #ffd000 !important;
    font-size: .84rem;
    font-weight: 950;
    text-transform: uppercase;
    text-decoration: none !important;
}

.ballaxy-feature-grid-v12,
.ballaxy-four-grid-v12 {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 28px;
}

.ballaxy-frontpage-v12 .card {
    border-radius: 7px !important;
    background: #333 !important;
    overflow: hidden !important;
    height: 100%;
}

.ballaxy-frontpage-v12 .card-image img {
    aspect-ratio: 16/9 !important;
}

.ballaxy-frontpage-v12 .card-body {
    min-height: 166px !important;
    padding: 15px !important;
}

.ballaxy-frontpage-v12 .card-title {
    font-size: 1.02rem !important;
    line-height: 1.15 !important;
}

.ballaxy-module-header-v12 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 22px;
}

.ballaxy-module-header-v12 h2 {
    margin: 0;
    color: #fff;
    font-family: "Oxygen", system-ui, sans-serif;
    font-size: 2rem;
    line-height: .95;
    letter-spacing: -.055em;
    text-transform: uppercase;
}

.ballaxy-module-header-v12 a {
    color: rgba(255,255,255,.70) !important;
    font-size: .86rem;
    font-weight: 900;
    text-decoration: none !important;
}

.ballaxy-module-header-v12 a:hover {
    color: #ffd000 !important;
}

/* Competition strip with real emblems when available */
.ballaxy-popular-competitions-v12 {
    margin: 42px 0 0;
    padding: 28px 0;
    border-top: 1px solid rgba(255,255,255,.10);
    border-bottom: 1px solid rgba(255,255,255,.10);
}

.ballaxy-competition-grid-v12 {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
}

.ballaxy-competition-card-v12 {
    display: flex;
    align-items: center;
    gap: 18px;
    min-height: 96px;
    padding: 18px 22px;
    border-radius: 8px;
    background: #1f1f1f;
    color: #fff !important;
    text-decoration: none !important;
    border: 1px solid rgba(255,255,255,.10);
}

.ballaxy-competition-card-v12:hover {
    border-color: rgba(255,208,0,.55);
    background: #262626;
}

.ballaxy-competition-icon-v12 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    background: #ffd000;
    color: #111;
    font-weight: 950;
    overflow: hidden;
}

.ballaxy-competition-icon-v12 img {
    max-width: 42px;
    max-height: 42px;
    object-fit: contain;
}

.ballaxy-competition-card-v12 small {
    display: block;
    color: rgba(255,255,255,.65);
    font-size: .8rem;
    font-weight: 900;
}

.ballaxy-competition-card-v12 strong {
    display: block;
    margin-top: 2px;
    color: #fff;
    font-size: 1.05rem;
    line-height: 1.1;
    font-weight: 950;
}

/* League specific modules */
.ballaxy-league-section-v12,
.ballaxy-latest-grid-section-v12 {
    margin-top: 42px;
}

.ballaxy-league-section-v12 {
    padding: 28px;
    border-radius: 8px;
    background: #2d2d2d;
}

.ballaxy-league-layout-v12 {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 390px;
    gap: 28px;
    align-items: start;
}

.ballaxy-league-games-v12,
.ballaxy-league-table-v12 {
    min-width: 0;
}

.ballaxy-league-games-v12 > h3,
.ballaxy-league-table-v12 > h3 {
    margin: 0 0 14px !important;
    color: #ffd000;
    font-size: 1rem;
    line-height: 1;
    text-transform: uppercase;
}

.ballaxy-game-list-v12 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.ballaxy-game-card-v12 {
    display: grid;
    gap: 10px;
    padding: 14px;
    border-radius: 7px;
    background: #202020;
    color: #fff !important;
    text-decoration: none !important;
    border: 1px solid rgba(255,255,255,.08);
}

.ballaxy-game-card-v12:hover {
    border-color: rgba(255,208,0,.45);
}

.ballaxy-game-date-v12 {
    color: rgba(255,255,255,.68);
    font-size: .78rem;
    font-weight: 900;
}

.ballaxy-game-teams-v12 {
    display: grid;
    gap: 8px;
}

.ballaxy-game-teams-v12 span {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    font-size: .92rem;
    font-weight: 900;
    line-height: 1.1;
}

.ballaxy-game-teams-v12 img {
    width: 22px;
    height: 22px;
    object-fit: contain;
    flex: 0 0 auto;
}

.ballaxy-game-teams-v12 strong {
    color: #ffd000;
    font-size: .78rem;
    text-transform: uppercase;
}

.ballaxy-empty-v12 {
    padding: 18px;
    border-radius: 7px;
    background: #202020;
    color: rgba(255,255,255,.7);
}

.ballaxy-league-table-v12 {
    padding: 16px;
    border-radius: 7px;
    background: #202020;
    overflow: hidden;
}

/* No scrollbars in homepage standings */
.ballaxy-league-table-v12 * {
    max-width: 100%;
}

.ballaxy-league-table-v12 table {
    width: 100% !important;
}

.ballaxy-league-table-v12 tr:nth-child(n+9) {
    display: none;
}

.ballaxy-league-table-v12 .ballaxy-standings-table,
.ballaxy-league-table-v12 .football-standings,
.ballaxy-league-table-v12 .ballaxy-football-standings {
    overflow: hidden !important;
    max-height: none !important;
}

.ballaxy-league-table-v12 th,
.ballaxy-league-table-v12 td {
    padding: 6px 5px !important;
    font-size: .78rem !important;
    white-space: nowrap;
}

.ballaxy-league-table-v12 select {
    max-width: 100%;
}

@media (max-width: 1180px) {
    .ballaxy-home-top-v12,
    .ballaxy-league-layout-v12 {
        grid-template-columns: 1fr;
    }

    .ballaxy-feature-grid-v12,
    .ballaxy-four-grid-v12,
    .ballaxy-competition-grid-v12 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .ballaxy-frontpage-v12 {
        padding-top: 22px;
    }

    .ballaxy-feature-grid-v12,
    .ballaxy-four-grid-v12,
    .ballaxy-competition-grid-v12,
    .ballaxy-game-list-v12 {
        grid-template-columns: 1fr;
    }

    .ballaxy-league-section-v12 {
        padding: 18px;
    }

    .ballaxy-breaking-panel-v12 {
        padding: 20px 16px;
    }

    .ballaxy-module-header-v12 h2,
    .ballaxy-breaking-panel-v12 h2 {
        font-size: 1.65rem;
    }
}


/* =========================================================
   Ballaxy Stage 13 — league sections with full-width fixtures,
   league news on left and standings sidebar on right
   ========================================================= */

/* Override Stage 12 layout inside league modules. */
.ballaxy-league-section-v12 {
    padding: 30px !important;
    border-radius: 8px !important;
    background: #2d2d2d !important;
}

.ballaxy-league-upcoming-v13 {
    margin-bottom: 28px;
}

.ballaxy-league-upcoming-v13 > h3,
.ballaxy-league-news-v13 > h3,
.ballaxy-league-table-v13 > h3 {
    margin: 0 0 14px !important;
    color: #ffd000;
    font-size: 1rem;
    line-height: 1;
    text-transform: uppercase;
}

/* Wide ticker-like fixture strip, but not the ticker UI. */
.ballaxy-game-strip-v13 {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.ballaxy-game-card-v13 {
    display: grid;
    gap: 12px;
    min-height: 118px;
    padding: 15px;
    border-radius: 7px;
    background: #202020;
    color: #fff !important;
    text-decoration: none !important;
    border-top: 3px solid #ffd000;
    border-left: 1px solid rgba(255,255,255,.08);
    border-right: 1px solid rgba(255,255,255,.08);
    border-bottom: 1px solid rgba(255,255,255,.08);
}

.ballaxy-game-card-v13:hover {
    background: #242424;
    border-color: rgba(255,208,0,.55);
}

.ballaxy-game-date-v13 {
    color: rgba(255,255,255,.68);
    font-size: .78rem;
    font-weight: 900;
}

.ballaxy-game-teams-v13 {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: 12px;
    align-items: center;
}

.ballaxy-game-teams-v13 span {
    display: grid;
    grid-template-columns: 26px minmax(0, 1fr);
    gap: 9px;
    align-items: center;
    min-width: 0;
    font-size: .92rem;
    font-weight: 950;
    line-height: 1.1;
}

.ballaxy-game-teams-v13 span:last-child {
    grid-template-columns: minmax(0, 1fr) 26px;
    text-align: right;
}

.ballaxy-game-teams-v13 span:last-child img {
    order: 2;
}

.ballaxy-game-teams-v13 img {
    width: 26px;
    height: 26px;
    object-fit: contain;
}

.ballaxy-game-teams-v13 strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 26px;
    border-radius: 999px;
    background: rgba(255,208,0,.12);
    color: #ffd000;
    font-size: .75rem;
    font-weight: 950;
    text-transform: uppercase;
}

/* Main league content: news left, table right. */
.ballaxy-league-layout-v13 {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 380px;
    gap: 28px;
    align-items: start;
}

.ballaxy-league-news-grid-v13 {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.ballaxy-league-news-grid-v13 .card {
    background: #333 !important;
}

.ballaxy-league-news-grid-v13 .card-body {
    min-height: 160px !important;
}

.ballaxy-league-table-v13 {
    padding: 16px;
    border-radius: 7px;
    background: #202020;
    overflow: hidden !important;
}

/* Remove internal scrollbars in the standings sidebar. */
.ballaxy-league-table-v13 * {
    max-width: 100% !important;
}

.ballaxy-league-table-v13 table {
    width: 100% !important;
    table-layout: auto;
}

.ballaxy-league-table-v13 .ballaxy-standings-table,
.ballaxy-league-table-v13 .football-standings,
.ballaxy-league-table-v13 .ballaxy-football-standings,
.ballaxy-league-table-v13 .ballaxy-table-scroll,
.ballaxy-league-table-v13 [class*="scroll"] {
    overflow: visible !important;
    max-height: none !important;
}

.ballaxy-league-table-v13 tr:nth-child(n+9) {
    display: none;
}

.ballaxy-league-table-v13 th,
.ballaxy-league-table-v13 td {
    padding: 6px 5px !important;
    font-size: .78rem !important;
    white-space: nowrap;
}

.ballaxy-league-table-v13 select {
    max-width: 100%;
}

/* Hide older Stage 12 league layout styles if they still match. */
.ballaxy-league-layout-v12 {
    display: none !important;
}

@media (max-width: 1180px) {
    .ballaxy-game-strip-v13,
    .ballaxy-league-news-grid-v13 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ballaxy-league-layout-v13 {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .ballaxy-league-section-v12 {
        padding: 18px !important;
    }

    .ballaxy-game-strip-v13,
    .ballaxy-league-news-grid-v13 {
        grid-template-columns: 1fr;
    }

    .ballaxy-game-teams-v13 {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .ballaxy-game-teams-v13 span,
    .ballaxy-game-teams-v13 span:last-child {
        grid-template-columns: 26px minmax(0, 1fr);
        text-align: left;
    }

    .ballaxy-game-teams-v13 span:last-child img {
        order: 0;
    }

    .ballaxy-game-teams-v13 strong {
        width: 34px;
    }
}


/* =========================================================
   Ballaxy Stage 14 — full-width league bands + vertical results
   ========================================================= */

/* Keep content aligned with the rest of the page, but let league background go full width */
.ballaxy-frontpage-v12 {
    overflow: visible;
}

.ballaxy-league-section-v12 {
    position: relative;
    padding: 34px 0 !important;
    margin-top: 46px !important;
    border-radius: 0 !important;
    background: transparent !important;
}

.ballaxy-league-section-v12::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 100vw;
    transform: translateX(-50%);
    background: #2d2d2d;
    border-top: 1px solid rgba(255,255,255,.08);
    border-bottom: 1px solid rgba(255,255,255,.08);
}

.ballaxy-league-section-v12 > .ballaxy-module-header-v12,
.ballaxy-league-section-v12 > .ballaxy-league-upcoming-v13,
.ballaxy-league-section-v12 > .ballaxy-league-layout-v13 {
    max-width: 1320px;
    margin-left: auto;
    margin-right: auto;
}

.ballaxy-league-section-v12 > .ballaxy-module-header-v12 {
    margin-bottom: 22px !important;
}

.ballaxy-league-upcoming-v13 {
    margin-bottom: 30px;
}

/* Wider ticker-like upcoming games across the whole module */
.ballaxy-game-strip-v13 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px !important;
}

.ballaxy-game-card-v13 {
    min-height: 112px;
}

/* Left news + right results sidebar */
.ballaxy-league-layout-v13 {
    grid-template-columns: minmax(0, 1fr) 430px !important;
    gap: 30px !important;
}

.ballaxy-league-results-v14 {
    padding: 16px;
    border-radius: 8px;
    background: #202020;
}

.ballaxy-league-results-v14 > h3 {
    margin: 0 0 14px !important;
    color: #ffd000;
    font-size: 1rem;
    line-height: 1;
    text-transform: uppercase;
}

.ballaxy-result-list-v14 {
    display: grid;
    gap: 8px;
}

.ballaxy-result-row-v14 {
    display: grid;
    gap: 8px;
    padding: 11px 12px;
    border-radius: 7px;
    background: #161616;
    color: #fff !important;
    text-decoration: none !important;
    border: 1px solid rgba(255,255,255,.07);
}

.ballaxy-result-row-v14:hover {
    border-color: rgba(255,208,0,.42);
    background: #191919;
}

.ballaxy-result-date-v14 {
    color: rgba(255,255,255,.58);
    font-size: .72rem;
    font-weight: 850;
}

.ballaxy-result-main-v14 {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: 10px;
    align-items: center;
}

.ballaxy-result-team-v14 {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.ballaxy-result-team-v14 img {
    width: 22px;
    height: 22px;
    object-fit: contain;
    flex: 0 0 auto;
}

.ballaxy-result-team-v14 strong {
    min-width: 0;
    color: #fff;
    font-size: .82rem;
    line-height: 1.1;
    font-weight: 900;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ballaxy-result-team-away-v14 {
    justify-content: flex-end;
    text-align: right;
}

.ballaxy-result-score-v14 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 54px;
    min-height: 28px;
    padding: 0 8px;
    border-radius: 999px;
    background: rgba(255,208,0,.14);
    color: #ffd000;
    font-size: .86rem;
    font-weight: 950;
}

/* Do not show old table styles in the new right column */
.ballaxy-league-table-v13 {
    display: none !important;
}

/* Give league news more room and avoid huge empty area */
.ballaxy-league-news-grid-v13 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 24px !important;
}

.ballaxy-league-news-grid-v13 .card-body {
    min-height: 158px !important;
}

/* Content alignment on smaller screens */
@media (max-width: 1380px) {
    .ballaxy-league-section-v12 > .ballaxy-module-header-v12,
    .ballaxy-league-section-v12 > .ballaxy-league-upcoming-v13,
    .ballaxy-league-section-v12 > .ballaxy-league-layout-v13 {
        max-width: none;
        margin-left: 0;
        margin-right: 0;
    }
}

@media (max-width: 1180px) {
    .ballaxy-league-layout-v13 {
        grid-template-columns: 1fr !important;
    }

    .ballaxy-game-strip-v13,
    .ballaxy-league-news-grid-v13 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .ballaxy-result-main-v14 {
        grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    }
}

@media (max-width: 760px) {
    .ballaxy-league-section-v12 {
        padding: 24px 0 !important;
    }

    .ballaxy-game-strip-v13,
    .ballaxy-league-news-grid-v13 {
        grid-template-columns: 1fr !important;
    }

    .ballaxy-result-main-v14 {
        grid-template-columns: 1fr;
        gap: 7px;
    }

    .ballaxy-result-score-v14 {
        justify-self: start;
    }

    .ballaxy-result-team-away-v14 {
        justify-content: flex-start;
        text-align: left;
    }
}


/* =========================================================
   Ballaxy Stage 15 — Champions League only + distinct band
   ========================================================= */

/* CL section should visually separate from the rest of the homepage */
.ballaxy-cl-focus-section {
    margin-top: 54px !important;
    padding-top: 42px !important;
    padding-bottom: 46px !important;
}

.ballaxy-cl-focus-section::before {
    background:
        radial-gradient(circle at 12% 0%, rgba(255, 208, 0, .12), transparent 34rem),
        radial-gradient(circle at 90% 12%, rgba(42, 83, 255, .16), transparent 34rem),
        linear-gradient(180deg, #181c27 0%, #20222b 48%, #181a22 100%) !important;
    border-top: 1px solid rgba(255, 208, 0, .22) !important;
    border-bottom: 1px solid rgba(255, 208, 0, .18) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.05),
        inset 0 -1px 0 rgba(0,0,0,.45);
}

.ballaxy-cl-focus-section > .ballaxy-module-header-v12 {
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(255,255,255,.10);
}

.ballaxy-cl-focus-section .ballaxy-module-header-v12 h2 {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 12px;
}

.ballaxy-cl-focus-section .ballaxy-module-header-v12 h2::before {
    content: "★";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 999px;
    background: #ffd000;
    color: #111;
    font-size: 1rem;
    line-height: 1;
}

.ballaxy-cl-focus-section .ballaxy-game-card-v13,
.ballaxy-cl-focus-section .ballaxy-result-row-v14,
.ballaxy-cl-focus-section .ballaxy-league-results-v14,
.ballaxy-cl-focus-section .ballaxy-league-news-grid-v13 .card {
    background: rgba(10, 12, 18, .78) !important;
    border-color: rgba(255,255,255,.09) !important;
}

.ballaxy-cl-focus-section .ballaxy-game-card-v13 {
    border-top-color: #ffd000 !important;
}

.ballaxy-cl-focus-section .ballaxy-league-results-v14 {
    box-shadow: 0 18px 40px rgba(0,0,0,.22);
}

.ballaxy-cl-focus-section .ballaxy-league-upcoming-v13 > h3,
.ballaxy-cl-focus-section .ballaxy-league-news-v13 > h3,
.ballaxy-cl-focus-section .ballaxy-league-results-v14 > h3 {
    color: #ffd000 !important;
}

@media (max-width: 760px) {
    .ballaxy-cl-focus-section {
        margin-top: 38px !important;
        padding-top: 28px !important;
        padding-bottom: 30px !important;
    }

    .ballaxy-cl-focus-section .ballaxy-module-header-v12 h2::before {
        width: 28px;
        height: 28px;
        font-size: .86rem;
    }
}


/* =========================================================
   Ballaxy Stage 16 — true full-bleed CL band + 2-up mobile news
   ========================================================= */

/*
   Make the Champions League area a true full-width band like the reference:
   not just a container tint, but an entire horizontal homepage section.
*/
.ballaxy-cl-focus-section {
    isolation: isolate;
    position: relative;
    margin-top: 58px !important;
    margin-bottom: 58px !important;
    padding-top: 52px !important;
    padding-bottom: 56px !important;
}

.ballaxy-cl-focus-section::before {
    content: "" !important;
    position: absolute !important;
    z-index: -2 !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 50% !important;
    width: 100vw !important;
    transform: translateX(-50%) !important;
    background:
        linear-gradient(180deg, #050505 0%, #111111 18%, #1d1d1d 100%) !important;
    border-top: 1px solid rgba(255,255,255,.10) !important;
    border-bottom: 1px solid rgba(255,255,255,.10) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.04),
        inset 0 -1px 0 rgba(0,0,0,.55) !important;
}

.ballaxy-cl-focus-section::after {
    content: "" !important;
    position: absolute !important;
    z-index: -1 !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 50% !important;
    width: 100vw !important;
    transform: translateX(-50%) !important;
    background:
        radial-gradient(circle at 18% 0%, rgba(255,208,0,.10), transparent 34rem),
        radial-gradient(circle at 82% 8%, rgba(22,63,180,.16), transparent 36rem) !important;
    pointer-events: none !important;
}

/* Keep actual content aligned with the site's main width. */
.ballaxy-cl-focus-section > .ballaxy-module-header-v12,
.ballaxy-cl-focus-section > .ballaxy-league-upcoming-v13,
.ballaxy-cl-focus-section > .ballaxy-league-layout-v13 {
    max-width: 1320px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Slightly flatter cards so they sit naturally in the full-width band. */
.ballaxy-cl-focus-section .ballaxy-game-card-v13,
.ballaxy-cl-focus-section .ballaxy-result-row-v14,
.ballaxy-cl-focus-section .ballaxy-league-results-v14,
.ballaxy-cl-focus-section .ballaxy-league-news-grid-v13 .card {
    background: rgba(40,40,40,.92) !important;
}

.ballaxy-cl-focus-section .ballaxy-league-results-v14 {
    background: rgba(22,22,22,.96) !important;
}

/*
   Mobile request: all news blocks two per line.
   Keep match/game/result modules readable, but force news/card grids to 2-up.
*/
@media (max-width: 760px) {
    .ballaxy-feature-grid-v12,
    .ballaxy-four-grid-v12,
    .ballaxy-frontpage-v11 .ballaxy-four-grid-v11,
    .ballaxy-feature-grid-v11,
    .ballaxy-news-row,
    .home-full .grid-4,
    .home-section-alt .grid-4,
    .layout-main .grid-3,
    .grid-3,
    .grid-4,
    .ballaxy-league-news-grid-v13 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 16px !important;
    }

    .ballaxy-frontpage-v12 .card-body,
    .ballaxy-frontpage-v11 .card-body,
    .card-body {
        min-height: 138px !important;
        padding: 12px !important;
    }

    .ballaxy-frontpage-v12 .card-title,
    .ballaxy-frontpage-v11 .card-title,
    .card-title {
        font-size: .88rem !important;
        line-height: 1.16 !important;
        letter-spacing: -.015em !important;
    }

    .card-category {
        font-size: .64rem !important;
    }

    .card-meta {
        font-size: .68rem !important;
        gap: 5px !important;
    }

    /* Keep the CL section full bleed on mobile too. */
    .ballaxy-cl-focus-section {
        margin-top: 38px !important;
        margin-bottom: 38px !important;
        padding-top: 30px !important;
        padding-bottom: 32px !important;
    }

    /* Match strips are not news blocks; keep them one per line for readability. */
    .ballaxy-game-strip-v13,
    .ballaxy-game-list-v12,
    .ballaxy-game-list-v14,
    .ballaxy-result-list-v14 {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 420px) {
    .ballaxy-feature-grid-v12,
    .ballaxy-four-grid-v12,
    .ballaxy-frontpage-v11 .ballaxy-four-grid-v11,
    .ballaxy-feature-grid-v11,
    .ballaxy-news-row,
    .home-full .grid-4,
    .home-section-alt .grid-4,
    .layout-main .grid-3,
    .grid-3,
    .grid-4,
    .ballaxy-league-news-grid-v13 {
        gap: 12px !important;
    }

    .ballaxy-frontpage-v12 .card-body,
    .ballaxy-frontpage-v11 .card-body,
    .card-body {
        min-height: 128px !important;
        padding: 10px !important;
    }

    .ballaxy-frontpage-v12 .card-title,
    .ballaxy-frontpage-v11 .card-title,
    .card-title {
        font-size: .82rem !important;
    }
}


/* =========================================================
   Ballaxy Stage 17 — single-color CL band, ticker-like fixtures,
   vertical results, featured article in league section
   ========================================================= */

/* Single color band, no glow */
.ballaxy-cl-focus-section::before {
    background: #101010 !important;
    border-top: 1px solid rgba(255,255,255,.10) !important;
    border-bottom: 1px solid rgba(255,255,255,.10) !important;
    box-shadow: none !important;
}

.ballaxy-cl-focus-section::after {
    display: none !important;
}

.ballaxy-cl-focus-section .ballaxy-module-header-v12 {
    border-bottom: 1px solid rgba(255,255,255,.10);
    padding-bottom: 18px;
}

/* Remove decorative star badge */
.ballaxy-cl-focus-section .ballaxy-module-header-v12 h2::before {
    display: none !important;
}

/* Upcoming games: closer to ticker cards, wider and flatter */
.ballaxy-cl-focus-section .ballaxy-league-upcoming-v13 {
    margin-bottom: 30px !important;
}

.ballaxy-cl-focus-section .ballaxy-game-strip-v13 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
}

.ballaxy-cl-focus-section .ballaxy-game-card-v13 {
    min-height: 84px !important;
    padding: 12px 14px !important;
    border-radius: 8px !important;
    background: #1b1b1b !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    border-top: 3px solid #ffd000 !important;
    box-shadow: none !important;
}

.ballaxy-cl-focus-section .ballaxy-game-date-v13 {
    display: flex;
    justify-content: flex-end;
    color: #ffd000 !important;
    font-size: .74rem !important;
    line-height: 1;
    font-weight: 950 !important;
    text-transform: uppercase;
}

.ballaxy-cl-focus-section .ballaxy-game-teams-v13 {
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
    gap: 10px !important;
    align-items: center !important;
}

.ballaxy-cl-focus-section .ballaxy-game-teams-v13 span {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-width: 0 !important;
    font-size: .92rem !important;
    line-height: 1.05 !important;
    font-weight: 950 !important;
}

.ballaxy-cl-focus-section .ballaxy-game-teams-v13 span:last-child {
    justify-content: flex-end;
    text-align: right;
}

.ballaxy-cl-focus-section .ballaxy-game-teams-v13 img {
    width: 24px !important;
    height: 24px !important;
}

.ballaxy-cl-focus-section .ballaxy-game-teams-v13 strong {
    min-width: 40px !important;
    height: 30px !important;
    border-radius: 999px !important;
    background: #2c2505 !important;
    color: #ffd000 !important;
}

/* Layout: featured/news left, vertical results right */
.ballaxy-cl-focus-section .ballaxy-league-layout-v13 {
    grid-template-columns: minmax(0, 1fr) 390px !important;
    gap: 28px !important;
}

.ballaxy-league-feature-v17 {
    margin-bottom: 22px;
}

.ballaxy-league-feature-v17 .card {
    display: grid !important;
    grid-template-columns: minmax(0, 1.35fr) minmax(340px, .85fr) !important;
    background: #000 !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    border-radius: 8px !important;
    overflow: hidden !important;
}

.ballaxy-league-feature-v17 .card-image {
    height: 100%;
    border-radius: 0 !important;
}

.ballaxy-league-feature-v17 .card-image img {
    height: 100% !important;
    min-height: 330px !important;
    aspect-ratio: auto !important;
    object-fit: cover !important;
}

.ballaxy-league-feature-v17 .card-body {
    min-height: 330px !important;
    padding: 28px !important;
    justify-content: center;
    background: #050505 !important;
}

.ballaxy-league-feature-v17 .card-category {
    color: #ffd000 !important;
}

.ballaxy-league-feature-v17 .card-title {
    font-size: clamp(1.45rem, 2vw, 2.1rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -.04em !important;
}

.ballaxy-league-feature-v17 .card-meta {
    margin-top: 22px !important;
}

/* Four supporting league articles below feature */
.ballaxy-league-news-grid-v17 {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
}

.ballaxy-league-news-grid-v17 .card {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
}

.ballaxy-league-news-grid-v17 .card-image {
    border-radius: 7px !important;
}

.ballaxy-league-news-grid-v17 .card-body {
    min-height: 142px !important;
    padding: 12px 0 0 !important;
    background: transparent !important;
}

.ballaxy-league-news-grid-v17 .card-title {
    font-size: .98rem !important;
    line-height: 1.17 !important;
}

.ballaxy-league-news-grid-v17 .card-meta {
    margin-top: auto !important;
    padding-top: 14px !important;
}

/* Hide old article grid if the prior class is still present somewhere */
.ballaxy-cl-focus-section .ballaxy-league-news-grid-v13 {
    display: none !important;
}

/* Results: vertical ticker-like list */
.ballaxy-cl-focus-section .ballaxy-league-results-v14 {
    background: #181818 !important;
    border-radius: 8px !important;
    padding: 14px !important;
    border: 1px solid rgba(255,255,255,.08);
    box-shadow: none !important;
}

.ballaxy-cl-focus-section .ballaxy-result-list-v14 {
    gap: 10px !important;
}

.ballaxy-cl-focus-section .ballaxy-result-row-v14 {
    padding: 11px 12px !important;
    border-radius: 8px !important;
    background: #111 !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    border-left: 3px solid #ffd000 !important;
}

.ballaxy-cl-focus-section .ballaxy-result-date-v14 {
    color: rgba(255,255,255,.58) !important;
    font-size: .72rem !important;
    font-weight: 900 !important;
}

.ballaxy-cl-focus-section .ballaxy-result-main-v14 {
    display: grid !important;
    grid-template-columns: 1fr auto 1fr !important;
    align-items: center !important;
    gap: 10px !important;
}

.ballaxy-cl-focus-section .ballaxy-result-score-v14 {
    min-width: 58px !important;
    min-height: 30px !important;
    background: #2c2505 !important;
    color: #ffd000 !important;
    border-radius: 999px !important;
}

.ballaxy-cl-focus-section .ballaxy-result-team-v14 strong {
    font-size: .8rem !important;
}

/* Section content still aligns with container */
.ballaxy-cl-focus-section > .ballaxy-module-header-v12,
.ballaxy-cl-focus-section > .ballaxy-league-upcoming-v13,
.ballaxy-cl-focus-section > .ballaxy-league-layout-v13 {
    max-width: 1320px !important;
}

/* Mobile: news remains two per line, feature stacks */
@media (max-width: 1180px) {
    .ballaxy-cl-focus-section .ballaxy-league-layout-v13 {
        grid-template-columns: 1fr !important;
    }

    .ballaxy-league-feature-v17 .card {
        grid-template-columns: 1fr !important;
    }

    .ballaxy-league-feature-v17 .card-body,
    .ballaxy-league-feature-v17 .card-image img {
        min-height: 0 !important;
    }

    .ballaxy-league-news-grid-v17 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 760px) {
    .ballaxy-cl-focus-section .ballaxy-game-strip-v13 {
        grid-template-columns: 1fr !important;
    }

    .ballaxy-cl-focus-section .ballaxy-game-teams-v13 {
        grid-template-columns: minmax(0,1fr) auto minmax(0,1fr) !important;
    }

    .ballaxy-cl-focus-section .ballaxy-game-teams-v13 span,
    .ballaxy-cl-focus-section .ballaxy-game-teams-v13 span:last-child {
        display: flex !important;
        justify-content: flex-start !important;
        text-align: left !important;
    }

    .ballaxy-cl-focus-section .ballaxy-game-teams-v13 span:last-child {
        justify-content: flex-end !important;
        text-align: right !important;
    }

    .ballaxy-league-feature-v17 .card-body {
        padding: 18px 16px !important;
    }

    .ballaxy-league-feature-v17 .card-title {
        font-size: 1.25rem !important;
    }

    .ballaxy-league-news-grid-v17 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 16px !important;
    }

    .ballaxy-league-news-grid-v17 .card-title {
        font-size: .84rem !important;
    }
}

@media (max-width: 420px) {
    .ballaxy-league-news-grid-v17 {
        gap: 12px !important;
    }
}


/* =========================================================
   Ballaxy Stage 18 — clean homepage reset
   Fixes the broken CL feature sizing and brings the page back
   to a polished, consistent news layout.
   ========================================================= */

/* Overall rhythm */
.ballaxy-frontpage-v18 {
    max-width: 1180px !important;
    padding-top: 28px !important;
}

.ballaxy-frontpage-v18 .ballaxy-module-header-v12 {
    margin-bottom: 18px !important;
}

.ballaxy-frontpage-v18 .ballaxy-module-header-v12 h2 {
    font-size: 1.55rem !important;
    line-height: 1 !important;
    letter-spacing: -.04em !important;
}

.ballaxy-frontpage-v18 .ballaxy-module-header-v12 a {
    font-size: .78rem !important;
}

/* Top news: less dense, more balanced */
.ballaxy-frontpage-v18 .ballaxy-home-top-v12 {
    grid-template-columns: 250px minmax(0, 1fr) !important;
    gap: 22px !important;
}

.ballaxy-frontpage-v18 .ballaxy-breaking-panel-v12 {
    padding: 18px 16px !important;
    border-radius: 8px !important;
    background: #2c2c2c !important;
}

.ballaxy-frontpage-v18 .ballaxy-breaking-panel-v12 h2 {
    font-size: 1.25rem !important;
    margin-bottom: 12px !important;
    padding-bottom: 10px !important;
}

.ballaxy-frontpage-v18 .ballaxy-breaking-item-v12 {
    padding: 10px 0 !important;
}

.ballaxy-frontpage-v18 .ballaxy-breaking-item-v12 span {
    font-size: .68rem !important;
}

.ballaxy-frontpage-v18 .ballaxy-breaking-item-v12 strong {
    font-size: .78rem !important;
    line-height: 1.18 !important;
}

.ballaxy-frontpage-v18 .ballaxy-feature-grid-v12 {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 18px !important;
}

/* Normalize cards globally on the front page */
.ballaxy-frontpage-v18 .card {
    background: #303030 !important;
    border-radius: 7px !important;
    border: 0 !important;
    overflow: hidden !important;
    height: 100% !important;
}

.ballaxy-frontpage-v18 .card-image {
    border-radius: 0 !important;
    overflow: hidden !important;
}

.ballaxy-frontpage-v18 .card-image img {
    aspect-ratio: 16/9 !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    object-fit: cover !important;
}

.ballaxy-frontpage-v18 .card-body {
    min-height: 132px !important;
    padding: 12px !important;
    background: transparent !important;
}

.ballaxy-frontpage-v18 .card-category {
    font-size: .58rem !important;
    margin-bottom: 2px !important;
}

.ballaxy-frontpage-v18 .card-title {
    font-size: .82rem !important;
    line-height: 1.15 !important;
    letter-spacing: -.015em !important;
}

.ballaxy-frontpage-v18 .card-meta {
    font-size: .62rem !important;
    padding-top: 10px !important;
}

/* Popular competitions: tighter */
.ballaxy-frontpage-v18 .ballaxy-popular-competitions-v12 {
    margin-top: 32px !important;
    padding: 22px 0 !important;
}

.ballaxy-frontpage-v18 .ballaxy-competition-grid-v12 {
    gap: 18px !important;
}

.ballaxy-frontpage-v18 .ballaxy-competition-card-v12 {
    min-height: 74px !important;
    padding: 14px 16px !important;
}

.ballaxy-frontpage-v18 .ballaxy-competition-icon-v12 {
    width: 44px !important;
    height: 44px !important;
}

.ballaxy-frontpage-v18 .ballaxy-competition-icon-v12 img {
    max-width: 32px !important;
    max-height: 32px !important;
}

.ballaxy-frontpage-v18 .ballaxy-competition-card-v12 small {
    font-size: .65rem !important;
}

.ballaxy-frontpage-v18 .ballaxy-competition-card-v12 strong {
    font-size: .86rem !important;
}

/* Champions League band: simple, clean, not huge */
.ballaxy-frontpage-v18 .ballaxy-cl-focus-section {
    margin-top: 36px !important;
    margin-bottom: 38px !important;
    padding-top: 34px !important;
    padding-bottom: 36px !important;
}

.ballaxy-frontpage-v18 .ballaxy-cl-focus-section::before {
    background: #101010 !important;
}

.ballaxy-frontpage-v18 .ballaxy-cl-focus-section > .ballaxy-module-header-v12,
.ballaxy-frontpage-v18 .ballaxy-cl-focus-section > .ballaxy-league-upcoming-v13,
.ballaxy-frontpage-v18 .ballaxy-cl-focus-section > .ballaxy-league-layout-v13 {
    max-width: 1180px !important;
}

/* Upcoming games: compact ticker-style cards */
.ballaxy-frontpage-v18 .ballaxy-game-strip-v13 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
}

.ballaxy-frontpage-v18 .ballaxy-game-card-v13 {
    min-height: 74px !important;
    padding: 10px 12px !important;
    border-top: 2px solid #ffd000 !important;
    background: #1e1e1e !important;
}

.ballaxy-frontpage-v18 .ballaxy-game-date-v13 {
    font-size: .62rem !important;
}

.ballaxy-frontpage-v18 .ballaxy-game-teams-v13 span {
    font-size: .78rem !important;
    line-height: 1.08 !important;
}

.ballaxy-frontpage-v18 .ballaxy-game-teams-v13 img {
    width: 20px !important;
    height: 20px !important;
}

.ballaxy-frontpage-v18 .ballaxy-game-teams-v13 strong {
    min-width: 32px !important;
    height: 24px !important;
    font-size: .65rem !important;
}

/* CL content: article feature left + results right */
.ballaxy-frontpage-v18 .ballaxy-cl-focus-section .ballaxy-league-layout-v13 {
    grid-template-columns: minmax(0, 1fr) 310px !important;
    gap: 24px !important;
    align-items: start !important;
}

.ballaxy-frontpage-v18 .ballaxy-league-feature-v17 {
    margin-bottom: 18px !important;
}

/* Fix the broken giant image. Make the featured article a clean horizontal card. */
.ballaxy-frontpage-v18 .ballaxy-league-feature-v17 .card {
    display: grid !important;
    grid-template-columns: minmax(0, 1.15fr) minmax(260px, .85fr) !important;
    min-height: 260px !important;
    max-height: 320px !important;
    background: #050505 !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    border-radius: 8px !important;
}

.ballaxy-frontpage-v18 .ballaxy-league-feature-v17 .card-image {
    height: 100% !important;
}

.ballaxy-frontpage-v18 .ballaxy-league-feature-v17 .card-image img {
    height: 100% !important;
    min-height: 260px !important;
    max-height: 320px !important;
    aspect-ratio: auto !important;
    object-fit: cover !important;
}

.ballaxy-frontpage-v18 .ballaxy-league-feature-v17 .card-body {
    min-height: 260px !important;
    padding: 22px !important;
    justify-content: center !important;
    background: #050505 !important;
}

.ballaxy-frontpage-v18 .ballaxy-league-feature-v17 .card-title {
    font-size: 1.35rem !important;
    line-height: 1.1 !important;
}

.ballaxy-frontpage-v18 .ballaxy-league-feature-v17 .card-meta {
    font-size: .74rem !important;
}

/* Four small articles below the feature */
.ballaxy-frontpage-v18 .ballaxy-league-news-grid-v17 {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 16px !important;
}

.ballaxy-frontpage-v18 .ballaxy-league-news-grid-v17 .card {
    background: transparent !important;
}

.ballaxy-frontpage-v18 .ballaxy-league-news-grid-v17 .card-body {
    min-height: 105px !important;
    padding: 10px 0 0 !important;
}

.ballaxy-frontpage-v18 .ballaxy-league-news-grid-v17 .card-title {
    font-size: .74rem !important;
}

/* Results sidebar: compact, not overpowering */
.ballaxy-frontpage-v18 .ballaxy-league-results-v14 {
    padding: 12px !important;
    background: #181818 !important;
}

.ballaxy-frontpage-v18 .ballaxy-league-results-v14 > h3,
.ballaxy-frontpage-v18 .ballaxy-league-upcoming-v13 > h3,
.ballaxy-frontpage-v18 .ballaxy-league-news-v13 > h3 {
    font-size: .78rem !important;
    margin-bottom: 12px !important;
}

.ballaxy-frontpage-v18 .ballaxy-result-list-v14 {
    gap: 7px !important;
}

.ballaxy-frontpage-v18 .ballaxy-result-row-v14 {
    padding: 8px 9px !important;
    border-left-width: 2px !important;
}

.ballaxy-frontpage-v18 .ballaxy-result-date-v14 {
    font-size: .58rem !important;
}

.ballaxy-frontpage-v18 .ballaxy-result-main-v14 {
    gap: 7px !important;
}

.ballaxy-frontpage-v18 .ballaxy-result-team-v14 img {
    width: 17px !important;
    height: 17px !important;
}

.ballaxy-frontpage-v18 .ballaxy-result-team-v14 strong {
    font-size: .65rem !important;
}

.ballaxy-frontpage-v18 .ballaxy-result-score-v14 {
    min-width: 44px !important;
    min-height: 22px !important;
    font-size: .66rem !important;
}

/* Latest news: clean 4 columns */
.ballaxy-frontpage-v18 .ballaxy-latest-grid-section-v12 {
    margin-top: 34px !important;
}

.ballaxy-frontpage-v18 .ballaxy-four-grid-v12 {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 18px !important;
}

/* Responsive */
@media (max-width: 1100px) {
    .ballaxy-frontpage-v18 .ballaxy-home-top-v12,
    .ballaxy-frontpage-v18 .ballaxy-cl-focus-section .ballaxy-league-layout-v13 {
        grid-template-columns: 1fr !important;
    }

    .ballaxy-frontpage-v18 .ballaxy-feature-grid-v12,
    .ballaxy-frontpage-v18 .ballaxy-four-grid-v12 {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    .ballaxy-frontpage-v18 .ballaxy-league-feature-v17 .card {
        grid-template-columns: 1fr !important;
        max-height: none !important;
    }

    .ballaxy-frontpage-v18 .ballaxy-league-feature-v17 .card-image img {
        max-height: none !important;
        height: auto !important;
        aspect-ratio: 16/9 !important;
    }

    .ballaxy-frontpage-v18 .ballaxy-league-feature-v17 .card-body {
        min-height: 0 !important;
    }
}

@media (max-width: 760px) {
    .ballaxy-frontpage-v18 .ballaxy-feature-grid-v12,
    .ballaxy-frontpage-v18 .ballaxy-four-grid-v12,
    .ballaxy-frontpage-v18 .ballaxy-league-news-grid-v17 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 14px !important;
    }

    .ballaxy-frontpage-v18 .ballaxy-game-strip-v13 {
        grid-template-columns: 1fr !important;
    }

    .ballaxy-frontpage-v18 .ballaxy-league-feature-v17 .card-title {
        font-size: 1.05rem !important;
    }
}

@media (max-width: 420px) {
    .ballaxy-frontpage-v18 .ballaxy-feature-grid-v12,
    .ballaxy-frontpage-v18 .ballaxy-four-grid-v12,
    .ballaxy-frontpage-v18 .ballaxy-league-news-grid-v17 {
        gap: 10px !important;
    }

    .ballaxy-frontpage-v18 .card-title {
        font-size: .74rem !important;
    }
}


/* =========================================================
   Ballaxy Stage 19 — Champions League news-only structure
   Restore normal homepage typography and remove oversized Stage 18 text changes
   ========================================================= */

/* Restore more natural card typography on the homepage */
.ballaxy-frontpage-v18 .card-title,
.ballaxy-frontpage-v12 .card-title {
    font-size: 1.02rem !important;
    line-height: 1.18 !important;
    letter-spacing: -.02em !important;
}

.ballaxy-frontpage-v18 .card-category,
.ballaxy-frontpage-v12 .card-category {
    font-size: .7rem !important;
}

.ballaxy-frontpage-v18 .card-meta,
.ballaxy-frontpage-v12 .card-meta {
    font-size: .78rem !important;
}

.ballaxy-frontpage-v18 .card-body,
.ballaxy-frontpage-v12 .card-body {
    min-height: 160px !important;
    padding: 15px !important;
}

/* CL section: news-only layout like the reference */
.ballaxy-cl-focus-section {
    margin-top: 46px !important;
    margin-bottom: 48px !important;
    padding-top: 46px !important;
    padding-bottom: 48px !important;
}

.ballaxy-cl-focus-section::before {
    background: #303030 !important;
    border-top: 1px solid rgba(255,255,255,.09) !important;
    border-bottom: 1px solid rgba(255,255,255,.09) !important;
    box-shadow: none !important;
}

.ballaxy-cl-focus-section::after {
    display: none !important;
}

.ballaxy-cl-focus-section .ballaxy-module-header-v12 {
    border-bottom: 0 !important;
    padding-bottom: 0 !important;
    margin-bottom: 24px !important;
}

.ballaxy-cl-focus-section .ballaxy-module-header-v12 h2 {
    font-size: 2rem !important;
}

/* Main editorial grid:
   big story left, two stacked on right, four cards below */
.ballaxy-cl-news-layout-v19 {
    display: grid;
    grid-template-columns: minmax(0, 1.72fr) minmax(310px, .88fr);
    gap: 24px;
    align-items: stretch;
}

.ballaxy-cl-main-story-v19 {
    min-width: 0;
}

.ballaxy-cl-side-stories-v19 {
    display: grid;
    gap: 24px;
}

.ballaxy-cl-bottom-stories-v19 {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
}

/* Main story: large image + title body, controlled height */
.ballaxy-cl-main-story-v19 .card {
    height: 100% !important;
    min-height: 0 !important;
    background: #3a3a3a !important;
    border-radius: 0 !important;
}

.ballaxy-cl-main-story-v19 .card-image img {
    aspect-ratio: 16/8.7 !important;
    min-height: 0 !important;
    max-height: none !important;
}

.ballaxy-cl-main-story-v19 .card-body {
    min-height: 230px !important;
    padding: 26px !important;
}

.ballaxy-cl-main-story-v19 .card-title {
    font-size: clamp(2rem, 3vw, 3rem) !important;
    line-height: 1.03 !important;
    letter-spacing: -.05em !important;
}

.ballaxy-cl-main-story-v19 .card-meta {
    margin-top: auto !important;
}

/* Side stories: tall cards like the screenshot right column */
.ballaxy-cl-side-stories-v19 .card {
    background: #3a3a3a !important;
    border-radius: 0 !important;
    min-height: 100% !important;
}

.ballaxy-cl-side-stories-v19 .card-image img {
    aspect-ratio: 16/8.4 !important;
}

.ballaxy-cl-side-stories-v19 .card-body {
    min-height: 165px !important;
    padding: 18px !important;
}

.ballaxy-cl-side-stories-v19 .card-title {
    font-size: 1.15rem !important;
    line-height: 1.15 !important;
}

/* Bottom cards */
.ballaxy-cl-bottom-stories-v19 .card {
    background: #3a3a3a !important;
    border-radius: 0 !important;
}

.ballaxy-cl-bottom-stories-v19 .card-image img {
    aspect-ratio: 16/9 !important;
}

.ballaxy-cl-bottom-stories-v19 .card-body {
    min-height: 170px !important;
}

/* Remove old fixtures/results from this section if older cached CSS tries to show them */
.ballaxy-cl-focus-section .ballaxy-league-upcoming-v13,
.ballaxy-cl-focus-section .ballaxy-league-results-v14,
.ballaxy-cl-focus-section .ballaxy-game-strip-v13,
.ballaxy-cl-focus-section .ballaxy-result-list-v14 {
    display: none !important;
}

/* More button */
.ballaxy-cl-more-v19 {
    margin-top: 28px;
    text-align: center;
}

.ballaxy-cl-more-v19 a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 18px;
    border-radius: 999px;
    background: #ffd000;
    color: #111 !important;
    font-weight: 950;
    text-decoration: none !important;
    text-transform: uppercase;
    font-size: .82rem;
}

.ballaxy-cl-more-v19 a:hover {
    background: #ffe36b;
}

/* Normal mobile: still 2 news per line, but main CL story uses full width */
@media (max-width: 980px) {
    .ballaxy-cl-news-layout-v19 {
        grid-template-columns: 1fr;
    }

    .ballaxy-cl-side-stories-v19,
    .ballaxy-cl-bottom-stories-v19 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .ballaxy-cl-main-story-v19 .card-body {
        min-height: 0 !important;
    }
}

@media (max-width: 760px) {
    .ballaxy-cl-focus-section {
        padding-top: 30px !important;
        padding-bottom: 32px !important;
    }

    .ballaxy-cl-focus-section .ballaxy-module-header-v12 h2 {
        font-size: 1.6rem !important;
    }

    .ballaxy-cl-main-story-v19 .card-title {
        font-size: 1.55rem !important;
    }

    .ballaxy-cl-side-stories-v19,
    .ballaxy-cl-bottom-stories-v19 {
        gap: 14px !important;
    }

    .ballaxy-cl-side-stories-v19 .card-title,
    .ballaxy-cl-bottom-stories-v19 .card-title {
        font-size: .88rem !important;
    }

    .ballaxy-cl-side-stories-v19 .card-body,
    .ballaxy-cl-bottom-stories-v19 .card-body {
        min-height: 132px !important;
        padding: 12px !important;
    }
}


/* =========================================================
   Ballaxy Stage 20 — typography + spacing cleanup
   Goal: closer to modern football news sites: larger readable
   titles, bigger gutters, calmer section spacing.
   ========================================================= */

/* Page width and vertical rhythm */
.ballaxy-frontpage-v12,
.ballaxy-frontpage-v18 {
    max-width: 1240px !important;
    padding-top: 42px !important;
}

.ballaxy-frontpage-v12 section,
.ballaxy-frontpage-v18 section {
    scroll-margin-top: 110px;
}

/* Module headers */
.ballaxy-module-header-v12 {
    margin-bottom: 26px !important;
}

.ballaxy-module-header-v12 h2,
.block-title,
.search-title {
    font-size: clamp(1.9rem, 2.4vw, 2.8rem) !important;
    line-height: .95 !important;
    letter-spacing: -.055em !important;
    font-weight: 950 !important;
}

.ballaxy-module-header-v12 a {
    font-size: .9rem !important;
    font-weight: 900 !important;
}

/* Top news area: give cards room and make text readable */
.ballaxy-home-top-v12 {
    grid-template-columns: 300px minmax(0, 1fr) !important;
    gap: 28px !important;
    align-items: stretch !important;
}

.ballaxy-breaking-panel-v12 {
    padding: 24px 20px !important;
    border-radius: 8px !important;
}

.ballaxy-breaking-panel-v12 h2 {
    font-size: 1.65rem !important;
    line-height: .95 !important;
    margin-bottom: 16px !important;
}

.ballaxy-breaking-item-v12 {
    padding: 13px 0 !important;
}

.ballaxy-breaking-item-v12 span {
    font-size: .76rem !important;
    margin-bottom: 6px !important;
}

.ballaxy-breaking-item-v12 strong {
    font-size: .95rem !important;
    line-height: 1.18 !important;
    letter-spacing: -.02em !important;
}

/* Main card grids */
.ballaxy-feature-grid-v12,
.ballaxy-four-grid-v12 {
    gap: 24px !important;
}

.ballaxy-feature-grid-v12 {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.ballaxy-four-grid-v12 {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

/* Restore normal article-card size. Previous stages made them too small. */
.ballaxy-frontpage-v12 .card,
.ballaxy-frontpage-v18 .card {
    border-radius: 7px !important;
    background: #333 !important;
}

.ballaxy-frontpage-v12 .card-image img,
.ballaxy-frontpage-v18 .card-image img {
    aspect-ratio: 16/9 !important;
}

.ballaxy-frontpage-v12 .card-body,
.ballaxy-frontpage-v18 .card-body {
    min-height: 180px !important;
    padding: 18px 16px 16px !important;
}

.ballaxy-frontpage-v12 .card-category,
.ballaxy-frontpage-v18 .card-category {
    font-size: .72rem !important;
    line-height: 1 !important;
    margin-bottom: 6px !important;
    letter-spacing: .01em !important;
}

.ballaxy-frontpage-v12 .card-title,
.ballaxy-frontpage-v18 .card-title {
    font-size: 1.08rem !important;
    line-height: 1.16 !important;
    letter-spacing: -.025em !important;
    font-weight: 950 !important;
}

.ballaxy-frontpage-v12 .card-meta,
.ballaxy-frontpage-v18 .card-meta {
    font-size: .78rem !important;
    line-height: 1.25 !important;
    padding-top: 16px !important;
}

/* Popular competitions spacing */
.ballaxy-popular-competitions-v12 {
    margin-top: 48px !important;
    padding: 32px 0 !important;
}

.ballaxy-competition-grid-v12 {
    gap: 24px !important;
}

.ballaxy-competition-card-v12 {
    min-height: 92px !important;
    padding: 18px 20px !important;
}

.ballaxy-competition-icon-v12 {
    width: 56px !important;
    height: 56px !important;
}

.ballaxy-competition-icon-v12 img {
    max-width: 40px !important;
    max-height: 40px !important;
}

.ballaxy-competition-card-v12 small {
    font-size: .78rem !important;
}

.ballaxy-competition-card-v12 strong {
    font-size: 1.05rem !important;
}

/* Champions League editorial section */
.ballaxy-cl-focus-section {
    margin-top: 58px !important;
    margin-bottom: 56px !important;
    padding-top: 56px !important;
    padding-bottom: 58px !important;
}

.ballaxy-cl-focus-section > .ballaxy-module-header-v12,
.ballaxy-cl-focus-section > .ballaxy-league-upcoming-v13,
.ballaxy-cl-focus-section > .ballaxy-league-layout-v13,
.ballaxy-cl-focus-section .ballaxy-cl-news-layout-v19,
.ballaxy-cl-focus-section .ballaxy-cl-more-v19 {
    max-width: 1240px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.ballaxy-cl-focus-section .ballaxy-module-header-v12 {
    margin-bottom: 30px !important;
}

.ballaxy-cl-news-layout-v19 {
    gap: 28px !important;
}

.ballaxy-cl-bottom-stories-v19 {
    gap: 24px !important;
    margin-top: 2px !important;
}

/* CL main story: larger but controlled, no giant broken image */
.ballaxy-cl-main-story-v19 .card {
    background: #3a3a3a !important;
    border-radius: 0 !important;
}

.ballaxy-cl-main-story-v19 .card-image img {
    aspect-ratio: 16/8.6 !important;
}

.ballaxy-cl-main-story-v19 .card-body {
    min-height: 245px !important;
    padding: 30px 30px 28px !important;
}

.ballaxy-cl-main-story-v19 .card-title {
    font-size: clamp(2.1rem, 3.1vw, 3.2rem) !important;
    line-height: 1.02 !important;
    letter-spacing: -.055em !important;
}

.ballaxy-cl-main-story-v19 .card-meta {
    font-size: .86rem !important;
}

/* CL side cards */
.ballaxy-cl-side-stories-v19 {
    gap: 28px !important;
}

.ballaxy-cl-side-stories-v19 .card-body {
    min-height: 185px !important;
    padding: 20px !important;
}

.ballaxy-cl-side-stories-v19 .card-title {
    font-size: 1.25rem !important;
    line-height: 1.15 !important;
}

/* CL bottom cards */
.ballaxy-cl-bottom-stories-v19 .card-body {
    min-height: 175px !important;
    padding: 16px !important;
}

.ballaxy-cl-bottom-stories-v19 .card-title {
    font-size: 1.05rem !important;
    line-height: 1.16 !important;
}

/* More button spacing */
.ballaxy-cl-more-v19 {
    margin-top: 34px !important;
}

.ballaxy-cl-more-v19 a {
    min-height: 44px !important;
    padding: 0 20px !important;
    font-size: .86rem !important;
}

/* Latest news */
.ballaxy-latest-grid-section-v12 {
    margin-top: 52px !important;
}

.ballaxy-latest-grid-section-v12 .ballaxy-module-header-v12 {
    margin-bottom: 24px !important;
}

/* Footer gets more room, similar to real news site */
.site-footer.ballaxy-footer {
    margin-top: 64px !important;
}

.ballaxy-footer-inner {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
}

/* Tablet */
@media (max-width: 1100px) {
    .ballaxy-frontpage-v12,
    .ballaxy-frontpage-v18 {
        max-width: 94vw !important;
    }

    .ballaxy-home-top-v12 {
        grid-template-columns: 1fr !important;
    }

    .ballaxy-feature-grid-v12,
    .ballaxy-four-grid-v12,
    .ballaxy-cl-bottom-stories-v19 {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    .ballaxy-cl-news-layout-v19 {
        grid-template-columns: 1fr !important;
    }

    .ballaxy-cl-side-stories-v19 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* Mobile: requested two news blocks per line */
@media (max-width: 760px) {
    .ballaxy-frontpage-v12,
    .ballaxy-frontpage-v18 {
        padding-top: 24px !important;
    }

    .ballaxy-module-header-v12 h2,
    .block-title,
    .search-title {
        font-size: 1.7rem !important;
    }

    .ballaxy-feature-grid-v12,
    .ballaxy-four-grid-v12,
    .ballaxy-cl-side-stories-v19,
    .ballaxy-cl-bottom-stories-v19 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 16px !important;
    }

    .ballaxy-frontpage-v12 .card-body,
    .ballaxy-frontpage-v18 .card-body,
    .ballaxy-cl-side-stories-v19 .card-body,
    .ballaxy-cl-bottom-stories-v19 .card-body {
        min-height: 140px !important;
        padding: 12px !important;
    }

    .ballaxy-frontpage-v12 .card-title,
    .ballaxy-frontpage-v18 .card-title,
    .ballaxy-cl-side-stories-v19 .card-title,
    .ballaxy-cl-bottom-stories-v19 .card-title {
        font-size: .9rem !important;
        line-height: 1.17 !important;
    }

    .ballaxy-frontpage-v12 .card-category,
    .ballaxy-frontpage-v18 .card-category {
        font-size: .62rem !important;
    }

    .ballaxy-frontpage-v12 .card-meta,
    .ballaxy-frontpage-v18 .card-meta {
        font-size: .66rem !important;
    }

    .ballaxy-cl-main-story-v19 .card-body {
        min-height: 0 !important;
        padding: 18px 16px !important;
    }

    .ballaxy-cl-main-story-v19 .card-title {
        font-size: 1.55rem !important;
    }

    .ballaxy-competition-grid-v12 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 14px !important;
    }

    .ballaxy-competition-card-v12 {
        min-height: 82px !important;
        padding: 14px !important;
    }
}

@media (max-width: 420px) {
    .ballaxy-feature-grid-v12,
    .ballaxy-four-grid-v12,
    .ballaxy-cl-side-stories-v19,
    .ballaxy-cl-bottom-stories-v19 {
        gap: 12px !important;
    }

    .ballaxy-frontpage-v12 .card-title,
    .ballaxy-frontpage-v18 .card-title,
    .ballaxy-cl-side-stories-v19 .card-title,
    .ballaxy-cl-bottom-stories-v19 .card-title {
        font-size: .82rem !important;
    }
}


/* =========================================================
   Ballaxy Stage 21 — readable breaking news + allow duplicate fill
   ========================================================= */

/* Breaking News was too small. Make it readable and closer to a real news rail. */
.ballaxy-frontpage-v12 .ballaxy-breaking-panel-v12,
.ballaxy-frontpage-v18 .ballaxy-breaking-panel-v12 {
    padding: 24px 20px !important;
}

.ballaxy-frontpage-v12 .ballaxy-breaking-panel-v12 h2,
.ballaxy-frontpage-v18 .ballaxy-breaking-panel-v12 h2 {
    font-size: 1.8rem !important;
    line-height: .95 !important;
    letter-spacing: -.05em !important;
    margin-bottom: 18px !important;
    padding-bottom: 12px !important;
}

.ballaxy-frontpage-v12 .ballaxy-breaking-item-v12,
.ballaxy-frontpage-v18 .ballaxy-breaking-item-v12 {
    padding: 14px 0 !important;
}

.ballaxy-frontpage-v12 .ballaxy-breaking-item-v12 span,
.ballaxy-frontpage-v18 .ballaxy-breaking-item-v12 span {
    font-size: .82rem !important;
    line-height: 1.2 !important;
    margin-bottom: 7px !important;
    color: rgba(255,255,255,.72) !important;
}

.ballaxy-frontpage-v12 .ballaxy-breaking-item-v12 strong,
.ballaxy-frontpage-v18 .ballaxy-breaking-item-v12 strong {
    font-size: 1.05rem !important;
    line-height: 1.18 !important;
    letter-spacing: -.025em !important;
    font-weight: 950 !important;
}

.ballaxy-frontpage-v12 .ballaxy-breaking-more-v12,
.ballaxy-frontpage-v18 .ballaxy-breaking-more-v12 {
    font-size: .9rem !important;
    margin-top: 18px !important;
}

/* Give the breaking rail a little more width so text does not wrap too aggressively. */
.ballaxy-frontpage-v12 .ballaxy-home-top-v12,
.ballaxy-frontpage-v18 .ballaxy-home-top-v12 {
    grid-template-columns: 340px minmax(0, 1fr) !important;
}

/* Keep featured cards balanced after making breaking rail wider. */
.ballaxy-frontpage-v12 .ballaxy-feature-grid-v12,
.ballaxy-frontpage-v18 .ballaxy-feature-grid-v12 {
    gap: 24px !important;
}

/* Tablet/mobile fallback */
@media (max-width: 1100px) {
    .ballaxy-frontpage-v12 .ballaxy-home-top-v12,
    .ballaxy-frontpage-v18 .ballaxy-home-top-v12 {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 760px) {
    .ballaxy-frontpage-v12 .ballaxy-breaking-panel-v12 h2,
    .ballaxy-frontpage-v18 .ballaxy-breaking-panel-v12 h2 {
        font-size: 1.55rem !important;
    }

    .ballaxy-frontpage-v12 .ballaxy-breaking-item-v12 strong,
    .ballaxy-frontpage-v18 .ballaxy-breaking-item-v12 strong {
        font-size: .98rem !important;
    }

    .ballaxy-frontpage-v12 .ballaxy-breaking-item-v12 span,
    .ballaxy-frontpage-v18 .ballaxy-breaking-item-v12 span {
        font-size: .76rem !important;
    }
}


/* =========================================================
   Ballaxy Stage 22 — 3-column news + CL article matching fix
   ========================================================= */

/* Top homepage: less squeezed, cleaner 3-per-row card grid */
.ballaxy-frontpage-v12 .ballaxy-home-top-v12,
.ballaxy-frontpage-v18 .ballaxy-home-top-v12 {
    grid-template-columns: 320px minmax(0, 1fr) !important;
    gap: 30px !important;
    align-items: start !important;
}

.ballaxy-frontpage-v12 .ballaxy-feature-grid-v12,
.ballaxy-frontpage-v18 .ballaxy-feature-grid-v12 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 28px !important;
}

/* Make top cards wider and more readable */
.ballaxy-frontpage-v12 .ballaxy-feature-grid-v12 .card-body,
.ballaxy-frontpage-v18 .ballaxy-feature-grid-v12 .card-body {
    min-height: 190px !important;
    padding: 18px 16px !important;
}

.ballaxy-frontpage-v12 .ballaxy-feature-grid-v12 .card-title,
.ballaxy-frontpage-v18 .ballaxy-feature-grid-v12 .card-title {
    font-size: 1.16rem !important;
    line-height: 1.14 !important;
}

/* Breaking panel should be readable but not huge */
.ballaxy-frontpage-v12 .ballaxy-breaking-panel-v12 h2,
.ballaxy-frontpage-v18 .ballaxy-breaking-panel-v12 h2 {
    font-size: 1.65rem !important;
}

.ballaxy-frontpage-v12 .ballaxy-breaking-item-v12 strong,
.ballaxy-frontpage-v18 .ballaxy-breaking-item-v12 strong {
    font-size: .96rem !important;
    line-height: 1.18 !important;
}

/* Latest News can also be 3 per row if you prefer bigger readable cards */
.ballaxy-frontpage-v12 .ballaxy-four-grid-v12,
.ballaxy-frontpage-v18 .ballaxy-four-grid-v12 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 28px !important;
}

.ballaxy-frontpage-v12 .ballaxy-four-grid-v12 .card-title,
.ballaxy-frontpage-v18 .ballaxy-four-grid-v12 .card-title {
    font-size: 1.08rem !important;
    line-height: 1.16 !important;
}

/* CL section: show more assigned articles and avoid huge empty blocks */
.ballaxy-cl-bottom-stories-v19 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 24px !important;
}

.ballaxy-cl-side-stories-v19 .card-title {
    font-size: 1.12rem !important;
}

.ballaxy-cl-main-story-v19 .card-title {
    font-size: clamp(1.9rem, 2.7vw, 2.8rem) !important;
}

/* Tablet */
@media (max-width: 1100px) {
    .ballaxy-frontpage-v12 .ballaxy-home-top-v12,
    .ballaxy-frontpage-v18 .ballaxy-home-top-v12 {
        grid-template-columns: 1fr !important;
    }

    .ballaxy-frontpage-v12 .ballaxy-feature-grid-v12,
    .ballaxy-frontpage-v18 .ballaxy-feature-grid-v12,
    .ballaxy-frontpage-v12 .ballaxy-four-grid-v12,
    .ballaxy-frontpage-v18 .ballaxy-four-grid-v12,
    .ballaxy-cl-bottom-stories-v19 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* Mobile keeps your requested 2 per line */
@media (max-width: 760px) {
    .ballaxy-frontpage-v12 .ballaxy-feature-grid-v12,
    .ballaxy-frontpage-v18 .ballaxy-feature-grid-v12,
    .ballaxy-frontpage-v12 .ballaxy-four-grid-v12,
    .ballaxy-frontpage-v18 .ballaxy-four-grid-v12,
    .ballaxy-cl-side-stories-v19,
    .ballaxy-cl-bottom-stories-v19 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 16px !important;
    }

    .ballaxy-frontpage-v12 .ballaxy-feature-grid-v12 .card-title,
    .ballaxy-frontpage-v18 .ballaxy-feature-grid-v12 .card-title,
    .ballaxy-frontpage-v12 .ballaxy-four-grid-v12 .card-title,
    .ballaxy-frontpage-v18 .ballaxy-four-grid-v12 .card-title {
        font-size: .9rem !important;
    }
}


/* =========================================================
   Ballaxy Stage 23 — related-leagues matching, 6 top news,
   7 breaking items, consistent headings/actions
   ========================================================= */

/* Top area: breaking + exactly 6 cards on the right */
.ballaxy-frontpage-v12 .ballaxy-home-top-v12,
.ballaxy-frontpage-v18 .ballaxy-home-top-v12 {
    grid-template-columns: 330px minmax(0, 1fr) !important;
    gap: 28px !important;
    align-items: start !important;
}

.ballaxy-frontpage-v12 .ballaxy-feature-grid-v12,
.ballaxy-frontpage-v18 .ballaxy-feature-grid-v12 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 24px !important;
}

/* Breaking readable with 7 items without becoming too huge */
.ballaxy-frontpage-v12 .ballaxy-breaking-panel-v12,
.ballaxy-frontpage-v18 .ballaxy-breaking-panel-v12 {
    padding: 22px 18px !important;
}

.ballaxy-frontpage-v12 .ballaxy-breaking-item-v12,
.ballaxy-frontpage-v18 .ballaxy-breaking-item-v12 {
    padding: 11px 0 !important;
}

.ballaxy-frontpage-v12 .ballaxy-breaking-item-v12 strong,
.ballaxy-frontpage-v18 .ballaxy-breaking-item-v12 strong {
    font-size: .94rem !important;
    line-height: 1.17 !important;
}

.ballaxy-frontpage-v12 .ballaxy-breaking-item-v12 span,
.ballaxy-frontpage-v18 .ballaxy-breaking-item-v12 span {
    font-size: .75rem !important;
}

/* Unified section headings and right links */
.ballaxy-module-header-v12,
.block-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
    margin-bottom: 24px !important;
}

.ballaxy-module-header-v12 h2,
.block-title,
.search-title {
    margin: 0 !important;
    color: #fff !important;
    font-family: "Oxygen", system-ui, sans-serif !important;
    font-size: clamp(1.75rem, 2.1vw, 2.35rem) !important;
    line-height: .96 !important;
    letter-spacing: -.055em !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
}

.ballaxy-module-header-v12 a,
.block-link,
.ballaxy-cl-more-v19 a {
    color: rgba(255,255,255,.74) !important;
    font-family: "Oxygen", system-ui, sans-serif !important;
    font-size: .86rem !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    text-decoration: none !important;
    text-transform: none !important;
}

.ballaxy-module-header-v12 a:hover,
.block-link:hover {
    color: #ffd000 !important;
}

/* CL section should match Related leagues only. If only 4 related posts exist:
   1 big + 2 side + 1 bottom. No fallback unrelated articles. */
.ballaxy-cl-focus-section .ballaxy-module-header-v12 {
    margin-bottom: 26px !important;
}

/* Make CL news grid look balanced even with 4 related posts */
.ballaxy-cl-news-layout-v19 {
    grid-template-columns: minmax(0, 1.55fr) minmax(280px, .85fr) !important;
    gap: 24px !important;
}

.ballaxy-cl-bottom-stories-v19 {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 24px !important;
}

/* If there is only one bottom article, keep it card-sized, don't stretch it across full width */
.ballaxy-cl-bottom-stories-v19 .card {
    max-width: 100% !important;
}

/* More button below CL: align with section action style but make it visible */
.ballaxy-cl-more-v19 {
    margin-top: 30px !important;
    text-align: center !important;
}

.ballaxy-cl-more-v19 a {
    display: inline-flex !important;
    min-height: 40px !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 18px !important;
    border-radius: 999px !important;
    background: #ffd000 !important;
    color: #111 !important;
    font-size: .82rem !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
}

.ballaxy-cl-more-v19 a:hover {
    background: #ffe36b !important;
}

/* Latest News: 3 per line desktop */
.ballaxy-frontpage-v12 .ballaxy-four-grid-v12,
.ballaxy-frontpage-v18 .ballaxy-four-grid-v12 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 24px !important;
}

/* Tablet/mobile */
@media (max-width: 1100px) {
    .ballaxy-frontpage-v12 .ballaxy-home-top-v12,
    .ballaxy-frontpage-v18 .ballaxy-home-top-v12,
    .ballaxy-cl-news-layout-v19 {
        grid-template-columns: 1fr !important;
    }

    .ballaxy-frontpage-v12 .ballaxy-feature-grid-v12,
    .ballaxy-frontpage-v18 .ballaxy-feature-grid-v12,
    .ballaxy-frontpage-v12 .ballaxy-four-grid-v12,
    .ballaxy-frontpage-v18 .ballaxy-four-grid-v12,
    .ballaxy-cl-bottom-stories-v19,
    .ballaxy-cl-side-stories-v19 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 760px) {
    .ballaxy-module-header-v12 h2,
    .block-title,
    .search-title {
        font-size: 1.55rem !important;
    }

    .ballaxy-module-header-v12 a,
    .block-link {
        font-size: .76rem !important;
    }

    .ballaxy-frontpage-v12 .ballaxy-feature-grid-v12,
    .ballaxy-frontpage-v18 .ballaxy-feature-grid-v12,
    .ballaxy-frontpage-v12 .ballaxy-four-grid-v12,
    .ballaxy-frontpage-v18 .ballaxy-four-grid-v12,
    .ballaxy-cl-bottom-stories-v19,
    .ballaxy-cl-side-stories-v19 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 14px !important;
    }
}


/* =========================================================
   Ballaxy Stage 24 — aligned section headings + CL testing fill
   ========================================================= */

/* One shared content width and heading alignment for all homepage sections */
.ballaxy-frontpage-v12,
.ballaxy-frontpage-v18 {
    max-width: 1240px !important;
}

.ballaxy-popular-competitions-v12,
.ballaxy-latest-grid-section-v12 {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Full-bleed CL band, but inner content aligns exactly with other sections */
.ballaxy-cl-focus-section {
    left: 50% !important;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
    width: 100vw !important;
    padding-left: max(24px, calc((100vw - 1240px) / 2)) !important;
    padding-right: max(24px, calc((100vw - 1240px) / 2)) !important;
}

.ballaxy-cl-focus-section > .ballaxy-module-header-v12,
.ballaxy-cl-focus-section .ballaxy-cl-news-layout-v19,
.ballaxy-cl-focus-section .ballaxy-cl-more-v19 {
    max-width: 1240px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Unified section header row */
.ballaxy-module-header-v12,
.ballaxy-popular-competitions-v12 .ballaxy-module-header-v12,
.ballaxy-latest-grid-section-v12 .ballaxy-module-header-v12,
.ballaxy-cl-focus-section > .ballaxy-module-header-v12 {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
    width: 100% !important;
    margin: 0 0 24px !important;
    padding: 0 !important;
    border: 0 !important;
}

/* Unified title size */
.ballaxy-module-header-v12 h2,
.ballaxy-popular-competitions-v12 .ballaxy-module-header-v12 h2,
.ballaxy-latest-grid-section-v12 .ballaxy-module-header-v12 h2,
.ballaxy-cl-focus-section .ballaxy-module-header-v12 h2,
.block-title,
.search-title {
    margin: 0 !important;
    color: #fff !important;
    font-family: "Oxygen", system-ui, sans-serif !important;
    font-size: 1.85rem !important;
    line-height: 1 !important;
    letter-spacing: -.055em !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
}

/* Unified right links */
.ballaxy-module-header-v12 a,
.ballaxy-popular-competitions-v12 .ballaxy-module-header-v12 a,
.ballaxy-latest-grid-section-v12 .ballaxy-module-header-v12 a,
.ballaxy-cl-focus-section .ballaxy-module-header-v12 a,
.block-link {
    margin-left: auto !important;
    color: rgba(255,255,255,.72) !important;
    font-family: "Oxygen", system-ui, sans-serif !important;
    font-size: .86rem !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    text-decoration: none !important;
    text-transform: none !important;
}

.ballaxy-module-header-v12 a:hover,
.block-link:hover {
    color: #ffd000 !important;
}

/* Remove excess blank space in CL when content was not found before */
.ballaxy-cl-focus-section {
    min-height: 0 !important;
    padding-top: 44px !important;
    padding-bottom: 46px !important;
}

.ballaxy-cl-news-layout-v19 {
    min-height: 0 !important;
}

/* Ensure CL cards display once fallback fills articles */
.ballaxy-cl-news-layout-v19 .card {
    display: flex !important;
}

.ballaxy-cl-main-story-v19 .card {
    display: flex !important;
    flex-direction: column !important;
}

/* Keep the CL button close to cards, not floating in a blank area */
.ballaxy-cl-more-v19 {
    margin-top: 28px !important;
}

/* Top grid: 6 cards on right */
.ballaxy-feature-grid-v12 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

/* Mobile keeps 2 per line */
@media (max-width: 760px) {
    .ballaxy-cl-focus-section {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    .ballaxy-module-header-v12 h2,
    .ballaxy-popular-competitions-v12 .ballaxy-module-header-v12 h2,
    .ballaxy-latest-grid-section-v12 .ballaxy-module-header-v12 h2,
    .ballaxy-cl-focus-section .ballaxy-module-header-v12 h2,
    .block-title,
    .search-title {
        font-size: 1.45rem !important;
    }

    .ballaxy-module-header-v12 a,
    .block-link {
        font-size: .74rem !important;
    }
}


/* =========================================================
   Ballaxy Stage 25 — consistent 4-column system
   - Breaking panel = one card column
   - Right top area = three columns
   - Latest News = four per line
   - CL = 1 big + 2 side + two rows of 4
   ========================================================= */

/* Core container alignment */
.ballaxy-frontpage-v12,
.ballaxy-frontpage-v18 {
    max-width: 1240px !important;
}

/* Top module: four-column logic. Breaking rail takes one column,
   news grid takes the remaining three columns. */
.ballaxy-frontpage-v12 .ballaxy-home-top-v12,
.ballaxy-frontpage-v18 .ballaxy-home-top-v12 {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 3fr) !important;
    gap: 24px !important;
    align-items: start !important;
}

.ballaxy-frontpage-v12 .ballaxy-breaking-panel-v12,
.ballaxy-frontpage-v18 .ballaxy-breaking-panel-v12 {
    width: 100% !important;
    padding: 22px 18px !important;
    border-radius: 7px !important;
}

.ballaxy-frontpage-v12 .ballaxy-feature-grid-v12,
.ballaxy-frontpage-v18 .ballaxy-feature-grid-v12 {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 24px !important;
}

/* Cards: one consistent visual unit */
.ballaxy-frontpage-v12 .card,
.ballaxy-frontpage-v18 .card {
    border-radius: 7px !important;
    background: #333 !important;
    overflow: hidden !important;
}

.ballaxy-frontpage-v12 .card-image img,
.ballaxy-frontpage-v18 .card-image img {
    aspect-ratio: 16/9 !important;
}

.ballaxy-frontpage-v12 .card-body,
.ballaxy-frontpage-v18 .card-body {
    min-height: 178px !important;
    padding: 16px !important;
}

.ballaxy-frontpage-v12 .card-title,
.ballaxy-frontpage-v18 .card-title {
    font-size: 1.05rem !important;
    line-height: 1.16 !important;
}

/* Breaking text readable but fits same column width. */
.ballaxy-frontpage-v12 .ballaxy-breaking-panel-v12 h2,
.ballaxy-frontpage-v18 .ballaxy-breaking-panel-v12 h2 {
    font-size: 1.55rem !important;
    line-height: 1 !important;
    margin-bottom: 14px !important;
}

.ballaxy-frontpage-v12 .ballaxy-breaking-item-v12,
.ballaxy-frontpage-v18 .ballaxy-breaking-item-v12 {
    padding: 11px 0 !important;
}

.ballaxy-frontpage-v12 .ballaxy-breaking-item-v12 span,
.ballaxy-frontpage-v18 .ballaxy-breaking-item-v12 span {
    font-size: .72rem !important;
}

.ballaxy-frontpage-v12 .ballaxy-breaking-item-v12 strong,
.ballaxy-frontpage-v18 .ballaxy-breaking-item-v12 strong {
    font-size: .88rem !important;
    line-height: 1.17 !important;
}

/* Unified headings and action links */
.ballaxy-module-header-v12,
.block-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
    margin: 0 0 24px !important;
    padding: 0 !important;
    border: 0 !important;
}

.ballaxy-module-header-v12 h2,
.block-title,
.search-title {
    margin: 0 !important;
    font-size: 1.85rem !important;
    line-height: 1 !important;
    letter-spacing: -.055em !important;
    text-transform: uppercase !important;
}

.ballaxy-module-header-v12 a,
.block-link {
    margin-left: auto !important;
    font-size: .84rem !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    color: rgba(255,255,255,.72) !important;
}

/* Popular competitions aligns to same system */
.ballaxy-popular-competitions-v12 {
    margin-top: 42px !important;
    padding: 30px 0 !important;
}

/* CL full-band alignment, no heading drift */
.ballaxy-cl-focus-section {
    width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding-left: max(24px, calc((100vw - 1240px) / 2)) !important;
    padding-right: max(24px, calc((100vw - 1240px) / 2)) !important;
    padding-top: 46px !important;
    padding-bottom: 50px !important;
    background: #101010 !important;
}

.ballaxy-cl-focus-section::before,
.ballaxy-cl-focus-section::after {
    display: none !important;
}

.ballaxy-cl-focus-section > .ballaxy-module-header-v12,
.ballaxy-cl-news-layout-v19,
.ballaxy-cl-more-v19 {
    max-width: 1240px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* CL layout: big story + two right stories + two rows of four */
.ballaxy-cl-news-layout-v19 {
    display: grid !important;
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) !important;
    gap: 24px !important;
}

.ballaxy-cl-main-story-v19 {
    grid-column: 1 / 2 !important;
}

.ballaxy-cl-side-stories-v19 {
    grid-column: 2 / 3 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 24px !important;
}

.ballaxy-cl-bottom-stories-v19 {
    grid-column: 1 / -1 !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 24px !important;
}

/* CL card proportions */
.ballaxy-cl-main-story-v19 .card-image img {
    aspect-ratio: 16/9 !important;
}

.ballaxy-cl-main-story-v19 .card-body {
    min-height: 220px !important;
    padding: 26px !important;
}

.ballaxy-cl-main-story-v19 .card-title {
    font-size: clamp(2rem, 2.8vw, 3rem) !important;
    line-height: 1.02 !important;
}

.ballaxy-cl-side-stories-v19 .card-body {
    min-height: 165px !important;
    padding: 16px !important;
}

.ballaxy-cl-side-stories-v19 .card-title {
    font-size: 1.08rem !important;
}

.ballaxy-cl-bottom-stories-v19 .card-body {
    min-height: 165px !important;
    padding: 15px !important;
}

.ballaxy-cl-bottom-stories-v19 .card-title {
    font-size: .98rem !important;
}

/* Latest News must be 4 per line */
.ballaxy-frontpage-v12 .ballaxy-four-grid-v12,
.ballaxy-frontpage-v18 .ballaxy-four-grid-v12,
.ballaxy-latest-grid-section-v12 .ballaxy-four-grid-v12 {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 24px !important;
}

/* Responsive */
@media (max-width: 1100px) {
    .ballaxy-frontpage-v12 .ballaxy-home-top-v12,
    .ballaxy-frontpage-v18 .ballaxy-home-top-v12 {
        grid-template-columns: 1fr !important;
    }

    .ballaxy-frontpage-v12 .ballaxy-feature-grid-v12,
    .ballaxy-frontpage-v18 .ballaxy-feature-grid-v12,
    .ballaxy-frontpage-v12 .ballaxy-four-grid-v12,
    .ballaxy-frontpage-v18 .ballaxy-four-grid-v12,
    .ballaxy-latest-grid-section-v12 .ballaxy-four-grid-v12,
    .ballaxy-cl-bottom-stories-v19 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .ballaxy-cl-news-layout-v19 {
        grid-template-columns: 1fr !important;
    }

    .ballaxy-cl-main-story-v19,
    .ballaxy-cl-side-stories-v19,
    .ballaxy-cl-bottom-stories-v19 {
        grid-column: auto !important;
    }

    .ballaxy-cl-side-stories-v19 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* Mobile keeps two news per line */
@media (max-width: 760px) {
    .ballaxy-cl-focus-section {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    .ballaxy-frontpage-v12 .ballaxy-feature-grid-v12,
    .ballaxy-frontpage-v18 .ballaxy-feature-grid-v12,
    .ballaxy-frontpage-v12 .ballaxy-four-grid-v12,
    .ballaxy-frontpage-v18 .ballaxy-four-grid-v12,
    .ballaxy-latest-grid-section-v12 .ballaxy-four-grid-v12,
    .ballaxy-cl-side-stories-v19,
    .ballaxy-cl-bottom-stories-v19 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 14px !important;
    }

    .ballaxy-frontpage-v12 .card-body,
    .ballaxy-frontpage-v18 .card-body {
        min-height: 138px !important;
        padding: 12px !important;
    }

    .ballaxy-frontpage-v12 .card-title,
    .ballaxy-frontpage-v18 .card-title {
        font-size: .86rem !important;
    }

    .ballaxy-cl-main-story-v19 .card-title {
        font-size: 1.5rem !important;
    }
}


/* =========================================================
   Ballaxy Stage 26 — simplify broken homepage layout
   - Breaking title size matches normal card title
   - 4-column system: breaking = 1 column, right cards = 3 columns
   - Champions League section rebuilt as stable CSS grid
   ========================================================= */

/* Container and section rhythm */
.ballaxy-frontpage-v12,
.ballaxy-frontpage-v18 {
    max-width: 1240px !important;
    padding-top: 34px !important;
}

/* Top: breaking rail + 6 cards */
.ballaxy-frontpage-v12 .ballaxy-home-top-v12,
.ballaxy-frontpage-v18 .ballaxy-home-top-v12 {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 3fr) !important;
    gap: 24px !important;
    align-items: start !important;
}

.ballaxy-frontpage-v12 .ballaxy-feature-grid-v12,
.ballaxy-frontpage-v18 .ballaxy-feature-grid-v12 {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 24px !important;
}

/* Unified card sizing */
.ballaxy-frontpage-v12 .card,
.ballaxy-frontpage-v18 .card {
    background: #303030 !important;
    border: 0 !important;
    border-radius: 7px !important;
    overflow: hidden !important;
    height: 100% !important;
}

.ballaxy-frontpage-v12 .card-image img,
.ballaxy-frontpage-v18 .card-image img {
    width: 100% !important;
    aspect-ratio: 16/9 !important;
    height: auto !important;
    object-fit: cover !important;
}

.ballaxy-frontpage-v12 .card-body,
.ballaxy-frontpage-v18 .card-body {
    display: flex !important;
    flex-direction: column !important;
    min-height: 178px !important;
    padding: 16px !important;
}

.ballaxy-frontpage-v12 .card-category,
.ballaxy-frontpage-v18 .card-category {
    font-size: .68rem !important;
    line-height: 1 !important;
    margin-bottom: 7px !important;
}

.ballaxy-frontpage-v12 .card-title,
.ballaxy-frontpage-v18 .card-title {
    font-size: 1.05rem !important;
    line-height: 1.16 !important;
    letter-spacing: -.02em !important;
    font-weight: 950 !important;
}

.ballaxy-frontpage-v12 .card-meta,
.ballaxy-frontpage-v18 .card-meta {
    margin-top: auto !important;
    padding-top: 16px !important;
    font-size: .74rem !important;
}

/* Breaking rail: title sizes match right card titles */
.ballaxy-frontpage-v12 .ballaxy-breaking-panel-v12,
.ballaxy-frontpage-v18 .ballaxy-breaking-panel-v12 {
    width: 100% !important;
    padding: 18px 16px !important;
    border-radius: 7px !important;
    background: #303030 !important;
}

.ballaxy-frontpage-v12 .ballaxy-breaking-panel-v12 h2,
.ballaxy-frontpage-v18 .ballaxy-breaking-panel-v12 h2 {
    font-size: 1.45rem !important;
    line-height: 1 !important;
    letter-spacing: -.045em !important;
    margin: 0 0 13px !important;
    padding: 0 0 12px !important;
}

.ballaxy-frontpage-v12 .ballaxy-breaking-item-v12,
.ballaxy-frontpage-v18 .ballaxy-breaking-item-v12 {
    padding: 10px 0 !important;
}

.ballaxy-frontpage-v12 .ballaxy-breaking-item-v12 span,
.ballaxy-frontpage-v18 .ballaxy-breaking-item-v12 span {
    font-size: .7rem !important;
    line-height: 1.2 !important;
    margin-bottom: 5px !important;
}

.ballaxy-frontpage-v12 .ballaxy-breaking-item-v12 strong,
.ballaxy-frontpage-v18 .ballaxy-breaking-item-v12 strong {
    font-size: 1.05rem !important;
    line-height: 1.16 !important;
    letter-spacing: -.02em !important;
    font-weight: 950 !important;
}

.ballaxy-frontpage-v12 .ballaxy-breaking-more-v12,
.ballaxy-frontpage-v18 .ballaxy-breaking-more-v12 {
    display: inline-flex !important;
    margin-top: 12px !important;
    font-size: .78rem !important;
    font-weight: 950 !important;
}

/* Headings: same alignment everywhere */
.ballaxy-module-header-v12,
.block-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
    width: 100% !important;
    margin: 0 0 22px !important;
    padding: 0 !important;
    border: 0 !important;
}

.ballaxy-module-header-v12 h2,
.block-title,
.search-title {
    margin: 0 !important;
    font-size: 1.75rem !important;
    line-height: 1 !important;
    letter-spacing: -.05em !important;
    text-transform: uppercase !important;
    font-weight: 950 !important;
}

.ballaxy-module-header-v12 a,
.block-link {
    margin-left: auto !important;
    font-size: .82rem !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    color: rgba(255,255,255,.72) !important;
    text-decoration: none !important;
}

/* Popular competitions */
.ballaxy-popular-competitions-v12 {
    margin-top: 42px !important;
    padding: 30px 0 !important;
}

/* Champions League: full-width band without layout drift */
.ballaxy-cl-focus-section {
    position: relative !important;
    width: 100vw !important;
    margin: 46px 0 50px calc(50% - 50vw) !important;
    padding: 46px max(24px, calc((100vw - 1240px) / 2)) 50px !important;
    background: #101010 !important;
    border-top: 1px solid rgba(255,255,255,.08) !important;
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
}

.ballaxy-cl-focus-section::before,
.ballaxy-cl-focus-section::after {
    display: none !important;
}

.ballaxy-cl-focus-section > .ballaxy-module-header-v12,
.ballaxy-cl-focus-section .ballaxy-cl-news-layout-v19,
.ballaxy-cl-focus-section .ballaxy-cl-more-v19 {
    max-width: 1240px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* CL layout: 1 big left, 2 right, 8 below */
.ballaxy-cl-news-layout-v19 {
    display: grid !important;
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) !important;
    gap: 24px !important;
    align-items: stretch !important;
}

.ballaxy-cl-main-story-v19 {
    grid-column: 1 !important;
    grid-row: 1 !important;
}

.ballaxy-cl-side-stories-v19 {
    grid-column: 2 !important;
    grid-row: 1 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 24px !important;
}

.ballaxy-cl-bottom-stories-v19 {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 24px !important;
}

/* CL main card */
.ballaxy-cl-main-story-v19 .card {
    background: #303030 !important;
}

.ballaxy-cl-main-story-v19 .card-image img {
    aspect-ratio: 16/8.8 !important;
}

.ballaxy-cl-main-story-v19 .card-body {
    min-height: 210px !important;
    padding: 24px !important;
}

.ballaxy-cl-main-story-v19 .card-title {
    font-size: clamp(1.9rem, 2.6vw, 2.8rem) !important;
    line-height: 1.04 !important;
}

/* CL right cards */
.ballaxy-cl-side-stories-v19 .card-body {
    min-height: 160px !important;
}

.ballaxy-cl-side-stories-v19 .card-title {
    font-size: 1.05rem !important;
}

/* CL bottom cards */
.ballaxy-cl-bottom-stories-v19 .card-body {
    min-height: 160px !important;
}

.ballaxy-cl-bottom-stories-v19 .card-title {
    font-size: .96rem !important;
}

/* CL button */
.ballaxy-cl-more-v19 {
    margin-top: 28px !important;
    text-align: center !important;
}

.ballaxy-cl-more-v19 a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 40px !important;
    padding: 0 18px !important;
    border-radius: 999px !important;
    background: #ffd000 !important;
    color: #111 !important;
    font-size: .8rem !important;
    font-weight: 950 !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
}

/* Latest news = 4 columns */
.ballaxy-latest-grid-section-v12 .ballaxy-four-grid-v12,
.ballaxy-frontpage-v12 .ballaxy-four-grid-v12,
.ballaxy-frontpage-v18 .ballaxy-four-grid-v12 {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 24px !important;
}

/* Responsive */
@media (max-width: 1100px) {
    .ballaxy-frontpage-v12 .ballaxy-home-top-v12,
    .ballaxy-frontpage-v18 .ballaxy-home-top-v12,
    .ballaxy-cl-news-layout-v19 {
        grid-template-columns: 1fr !important;
    }

    .ballaxy-cl-main-story-v19,
    .ballaxy-cl-side-stories-v19,
    .ballaxy-cl-bottom-stories-v19 {
        grid-column: auto !important;
        grid-row: auto !important;
    }

    .ballaxy-cl-side-stories-v19,
    .ballaxy-cl-bottom-stories-v19,
    .ballaxy-latest-grid-section-v12 .ballaxy-four-grid-v12,
    .ballaxy-frontpage-v12 .ballaxy-feature-grid-v12,
    .ballaxy-frontpage-v18 .ballaxy-feature-grid-v12,
    .ballaxy-frontpage-v12 .ballaxy-four-grid-v12,
    .ballaxy-frontpage-v18 .ballaxy-four-grid-v12 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 760px) {
    .ballaxy-cl-focus-section {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    .ballaxy-module-header-v12 h2,
    .block-title,
    .search-title {
        font-size: 1.45rem !important;
    }

    .ballaxy-module-header-v12 a,
    .block-link {
        font-size: .72rem !important;
    }

    .ballaxy-frontpage-v12 .ballaxy-feature-grid-v12,
    .ballaxy-frontpage-v18 .ballaxy-feature-grid-v12,
    .ballaxy-latest-grid-section-v12 .ballaxy-four-grid-v12,
    .ballaxy-frontpage-v12 .ballaxy-four-grid-v12,
    .ballaxy-frontpage-v18 .ballaxy-four-grid-v12,
    .ballaxy-cl-side-stories-v19,
    .ballaxy-cl-bottom-stories-v19 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 14px !important;
    }

    .ballaxy-frontpage-v12 .card-body,
    .ballaxy-frontpage-v18 .card-body {
        min-height: 135px !important;
        padding: 12px !important;
    }

    .ballaxy-frontpage-v12 .card-title,
    .ballaxy-frontpage-v18 .card-title {
        font-size: .86rem !important;
    }

    .ballaxy-frontpage-v12 .ballaxy-breaking-item-v12 strong,
    .ballaxy-frontpage-v18 .ballaxy-breaking-item-v12 strong {
        font-size: .9rem !important;
    }

    .ballaxy-cl-main-story-v19 .card-title {
        font-size: 1.45rem !important;
    }
}


/* =========================================================
   Ballaxy Stage 27 — CL overflow fix
   The CL section was pushed off-screen by 100vw + padding on a
   content-box element. This fixes the full-bleed band safely.
   ========================================================= */

/* Make sure full-bleed sections include padding inside their declared width. */
.ballaxy-cl-focus-section,
.ballaxy-cl-focus-section *,
.ballaxy-frontpage-v12,
.ballaxy-frontpage-v18 {
    box-sizing: border-box !important;
}

/* Reset the previous full-bleed rules that caused horizontal drift. */
.ballaxy-cl-focus-section {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;

    width: 100vw !important;
    max-width: 100vw !important;

    margin-top: 46px !important;
    margin-bottom: 50px !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;

    padding-top: 46px !important;
    padding-bottom: 50px !important;
    padding-left: max(24px, calc((100vw - 1240px) / 2)) !important;
    padding-right: max(24px, calc((100vw - 1240px) / 2)) !important;

    background: #101010 !important;
    border-top: 1px solid rgba(255,255,255,.08) !important;
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
    overflow: hidden !important;
}

.ballaxy-cl-focus-section::before,
.ballaxy-cl-focus-section::after {
    display: none !important;
}

/* Keep inner content aligned to the same 1240px grid as the rest of the page. */
.ballaxy-cl-focus-section > .ballaxy-module-header-v12,
.ballaxy-cl-focus-section .ballaxy-cl-news-layout-v19,
.ballaxy-cl-focus-section .ballaxy-cl-more-v19 {
    width: 100% !important;
    max-width: 1240px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Heading must align left like other sections, not center. */
.ballaxy-cl-focus-section > .ballaxy-module-header-v12 {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    text-align: left !important;
    margin-bottom: 24px !important;
}

.ballaxy-cl-focus-section > .ballaxy-module-header-v12 h2 {
    text-align: left !important;
    margin: 0 !important;
}

/* Stable CL layout: large story left, two right, four-per-row underneath. */
.ballaxy-cl-news-layout-v19 {
    display: grid !important;
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) !important;
    gap: 24px !important;
    align-items: start !important;
}

.ballaxy-cl-main-story-v19 {
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
}

.ballaxy-cl-side-stories-v19 {
    grid-column: 2 !important;
    grid-row: 1 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    min-width: 0 !important;
}

.ballaxy-cl-bottom-stories-v19 {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 24px !important;
    min-width: 0 !important;
}

/* Prevent any card/image from forcing the grid wider than its column. */
.ballaxy-cl-focus-section .card,
.ballaxy-cl-focus-section .card-image,
.ballaxy-cl-focus-section .card-image img {
    max-width: 100% !important;
    min-width: 0 !important;
}

.ballaxy-cl-main-story-v19 .card-title {
    font-size: clamp(1.8rem, 2.5vw, 2.6rem) !important;
    line-height: 1.04 !important;
}

/* Responsive */
@media (max-width: 1100px) {
    .ballaxy-cl-news-layout-v19 {
        grid-template-columns: 1fr !important;
    }

    .ballaxy-cl-main-story-v19,
    .ballaxy-cl-side-stories-v19,
    .ballaxy-cl-bottom-stories-v19 {
        grid-column: auto !important;
        grid-row: auto !important;
    }

    .ballaxy-cl-side-stories-v19,
    .ballaxy-cl-bottom-stories-v19 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 760px) {
    .ballaxy-cl-focus-section {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    .ballaxy-cl-side-stories-v19,
    .ballaxy-cl-bottom-stories-v19 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 14px !important;
    }
}


/* =========================================================
   Ballaxy Stage 28 — Primera Division focus + excerpt + standings
   ========================================================= */

/* Use the same full-bleed safe band for the league focus section. */
.ballaxy-league-focus-section {
    position: relative !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin: 46px 0 50px calc(50% - 50vw) !important;
    padding: 46px max(24px, calc((100vw - 1240px) / 2)) 54px !important;
    background: #101010 !important;
    border-top: 1px solid rgba(255,255,255,.08) !important;
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.ballaxy-league-focus-section *,
.ballaxy-league-focus-section {
    box-sizing: border-box !important;
}

.ballaxy-league-focus-section::before,
.ballaxy-league-focus-section::after {
    display: none !important;
}

/* Inner content aligns with Popular Competitions / Latest News. */
.ballaxy-league-focus-section > .ballaxy-module-header-v12,
.ballaxy-league-focus-section .ballaxy-cl-news-layout-v19,
.ballaxy-league-focus-section .ballaxy-cl-more-v19,
.ballaxy-league-focus-section .ballaxy-front-standings-v28 {
    width: 100% !important;
    max-width: 1240px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Heading alignment and spacing */
.ballaxy-league-focus-section > .ballaxy-module-header-v12 {
    margin-bottom: 24px !important;
    text-align: left !important;
}

.ballaxy-league-focus-section > .ballaxy-module-header-v12 h2 {
    text-align: left !important;
}

/* News grid: one hero + two side + four below, not eight. */
.ballaxy-league-focus-section .ballaxy-cl-news-layout-v19 {
    display: grid !important;
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) !important;
    gap: 24px !important;
    align-items: stretch !important;
}

.ballaxy-league-focus-section .ballaxy-cl-main-story-v19 {
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
}

.ballaxy-league-focus-section .ballaxy-cl-side-stories-v19 {
    grid-column: 2 !important;
    grid-row: 1 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    min-width: 0 !important;
}

.ballaxy-league-focus-section .ballaxy-cl-bottom-stories-v19 {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 24px !important;
    min-width: 0 !important;
}

/* Hide articles 8+ if older fill CSS renders them. */
.ballaxy-league-focus-section .ballaxy-cl-bottom-stories-v19 .card:nth-child(n+5) {
    display: none !important;
}

/* Hero sizing and excerpt */
.ballaxy-league-focus-section .ballaxy-cl-main-story-v19 .card {
    background: #303030 !important;
    height: 100% !important;
}

.ballaxy-league-focus-section .ballaxy-cl-main-story-v19 .card-image img {
    aspect-ratio: 16/8.5 !important;
}

.ballaxy-league-focus-section .ballaxy-cl-main-story-v19 .card-body {
    min-height: 250px !important;
    padding: 26px 26px 22px !important;
}

.ballaxy-league-focus-section .ballaxy-cl-main-story-v19 .card-title {
    font-size: clamp(1.9rem, 2.45vw, 2.65rem) !important;
    line-height: 1.04 !important;
    letter-spacing: -.05em !important;
}

/* Show excerpt only in the big league hero. */
.ballaxy-league-focus-section .ballaxy-cl-main-story-v19 .card-excerpt,
.ballaxy-league-focus-section .ballaxy-cl-main-story-v19 .entry-summary,
.ballaxy-league-focus-section .ballaxy-cl-main-story-v19 .excerpt {
    display: block !important;
    margin-top: 14px !important;
    color: rgba(255,255,255,.78) !important;
    font-size: 1rem !important;
    line-height: 1.35 !important;
}

/* If the card template has no visible excerpt element, use WP auto excerpt via CSS target not possible.
   This keeps height visually close by making hero body taller and aligned with side stack. */

.ballaxy-league-focus-section .ballaxy-cl-side-stories-v19 .card-body {
    min-height: 170px !important;
    padding: 16px !important;
}

.ballaxy-league-focus-section .ballaxy-cl-side-stories-v19 .card-title {
    font-size: 1.05rem !important;
    line-height: 1.16 !important;
}

.ballaxy-league-focus-section .ballaxy-cl-bottom-stories-v19 .card-body {
    min-height: 160px !important;
    padding: 15px !important;
}

.ballaxy-league-focus-section .ballaxy-cl-bottom-stories-v19 .card-title {
    font-size: .96rem !important;
}

/* Button spacing */
.ballaxy-league-more-v28 {
    margin-top: 28px !important;
}

/* Standings block similar to provided reference */
.ballaxy-front-standings-v28 {
    margin-top: 44px !important;
}

.ballaxy-front-standings-v28 .ballaxy-module-header-v12 {
    margin-bottom: 18px !important;
}

.ballaxy-standings-card-v28 {
    background: #303030 !important;
    border-radius: 9px !important;
    padding: 22px 26px !important;
    overflow-x: auto !important;
}

.ballaxy-standings-card-v28 table {
    width: 100% !important;
    border-collapse: collapse !important;
    color: #fff !important;
}

.ballaxy-standings-card-v28 th {
    padding: 10px 10px 14px !important;
    color: rgba(255,255,255,.78) !important;
    font-size: .82rem !important;
    font-weight: 950 !important;
    text-align: left !important;
    white-space: nowrap !important;
}

.ballaxy-standings-card-v28 td {
    padding: 16px 10px !important;
    border-top: 1px solid rgba(255,255,255,.05) !important;
    color: rgba(255,255,255,.92) !important;
    font-size: .96rem !important;
    white-space: nowrap !important;
}

.ballaxy-standings-pos-v28 {
    width: 54px !important;
    text-align: center !important;
    font-size: 1.25rem !important;
    font-weight: 950 !important;
}

.ballaxy-standings-team-v28 {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    min-width: 220px !important;
}

.ballaxy-standings-team-v28 img {
    width: 24px !important;
    height: 24px !important;
    object-fit: contain !important;
    flex: 0 0 auto !important;
}

.ballaxy-standings-team-v28 strong {
    font-weight: 950 !important;
}

.ballaxy-standings-form-v28 {
    display: flex !important;
    gap: 8px !important;
}

.ballaxy-standings-form-v28 span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 26px !important;
    border-radius: 5px !important;
    color: #fff !important;
    font-size: .8rem !important;
    font-weight: 950 !important;
}

.ballaxy-standings-form-v28 .form-w { background: #2f8f2f !important; }
.ballaxy-standings-form-v28 .form-d { background: #777 !important; }
.ballaxy-standings-form-v28 .form-l { background: #cf263f !important; }

/* Consistent latest news 4 per row */
.ballaxy-latest-grid-section-v12 .ballaxy-four-grid-v12,
.ballaxy-frontpage-v12 .ballaxy-four-grid-v12,
.ballaxy-frontpage-v18 .ballaxy-four-grid-v12 {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

/* Responsive */
@media (max-width: 1100px) {
    .ballaxy-league-focus-section .ballaxy-cl-news-layout-v19 {
        grid-template-columns: 1fr !important;
    }

    .ballaxy-league-focus-section .ballaxy-cl-main-story-v19,
    .ballaxy-league-focus-section .ballaxy-cl-side-stories-v19,
    .ballaxy-league-focus-section .ballaxy-cl-bottom-stories-v19 {
        grid-column: auto !important;
        grid-row: auto !important;
    }

    .ballaxy-league-focus-section .ballaxy-cl-side-stories-v19,
    .ballaxy-league-focus-section .ballaxy-cl-bottom-stories-v19 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 760px) {
    .ballaxy-league-focus-section {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    .ballaxy-league-focus-section .ballaxy-cl-side-stories-v19,
    .ballaxy-league-focus-section .ballaxy-cl-bottom-stories-v19 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 14px !important;
    }

    .ballaxy-league-focus-section .ballaxy-cl-main-story-v19 .card-title {
        font-size: 1.45rem !important;
    }

    .ballaxy-standings-card-v28 {
        padding: 14px !important;
    }

    .ballaxy-standings-card-v28 th,
    .ballaxy-standings-card-v28 td {
        padding: 10px 8px !important;
        font-size: .78rem !important;
    }

    .ballaxy-standings-form-v28 span {
        width: 24px !important;
        height: 22px !important;
        font-size: .7rem !important;
    }
}


/* =========================================================
   Ballaxy Stage 29 — Primera polish: width, images, standings
   ========================================================= */

/* Make focused league content use the same visual width as the rest of the homepage. */
.ballaxy-league-focus-section {
    padding-left: max(24px, calc((100vw - 1180px) / 2)) !important;
    padding-right: max(24px, calc((100vw - 1180px) / 2)) !important;
}

.ballaxy-league-focus-section > .ballaxy-module-header-v12,
.ballaxy-league-focus-section .ballaxy-cl-news-layout-v19,
.ballaxy-league-focus-section .ballaxy-cl-more-v19,
.ballaxy-league-focus-section .ballaxy-front-standings-v28 {
    max-width: 1180px !important;
}

/* Match the cleaner card image proportions from the reference. */
.ballaxy-league-focus-section .card-image img,
.ballaxy-latest-grid-section-v12 .card-image img,
.ballaxy-feature-grid-v12 .card-image img {
    aspect-ratio: 16 / 9 !important;
    height: auto !important;
    min-height: 0 !important;
    object-fit: cover !important;
}

/* Main league story should not use an odd crop. */
.ballaxy-league-focus-section .ballaxy-cl-main-story-v19 .card-image img {
    aspect-ratio: 16 / 9 !important;
}

.ballaxy-league-focus-section .ballaxy-cl-main-story-v19 .card-body {
    min-height: 230px !important;
}

/* Four below cards: closer to the reference card scale. */
.ballaxy-league-focus-section .ballaxy-cl-bottom-stories-v19 .card-body {
    min-height: 175px !important;
}

/* Standings: fix alignment and missing-looking form/position styling. */
.ballaxy-standings-card-v28 {
    padding: 24px 28px !important;
    overflow-x: auto !important;
}

.ballaxy-standings-card-v28 table {
    min-width: 920px !important;
    table-layout: auto !important;
}

.ballaxy-standings-card-v28 th,
.ballaxy-standings-card-v28 td {
    vertical-align: middle !important;
}

.ballaxy-standings-card-v28 th:not(:nth-child(2)),
.ballaxy-standings-card-v28 td:not(:nth-child(2)) {
    text-align: center !important;
}

.ballaxy-standings-pos-v28 {
    width: 62px !important;
    min-width: 62px !important;
    text-align: center !important;
    color: #fff !important;
    font-size: 1.2rem !important;
    font-weight: 950 !important;
}

.ballaxy-standings-team-v28 {
    min-width: 245px !important;
}

.ballaxy-standings-form-v28 {
    min-width: 180px !important;
    justify-content: flex-start !important;
    align-items: center !important;
    white-space: nowrap !important;
}

/* In case a team has no resolvable team id/form yet, keep the cell from looking broken. */
.ballaxy-standings-form-v28:empty::before {
    content: "—";
    color: rgba(255,255,255,.45);
    font-weight: 900;
}

.ballaxy-standings-form-v28 span {
    flex: 0 0 auto !important;
    margin-right: 6px !important;
}

.ballaxy-standings-form-v28 span:last-child {
    margin-right: 0 !important;
}

/* Slightly reduce the table row looseness so it matches the page scale. */
.ballaxy-standings-card-v28 td {
    padding-top: 14px !important;
    padding-bottom: 14px !important;
}

/* Consistent section heading and link position after width change. */
.ballaxy-league-focus-section > .ballaxy-module-header-v12,
.ballaxy-front-standings-v28 > .ballaxy-module-header-v12 {
    width: 100% !important;
}

@media (max-width: 760px) {
    .ballaxy-league-focus-section {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    .ballaxy-league-focus-section > .ballaxy-module-header-v12,
    .ballaxy-league-focus-section .ballaxy-cl-news-layout-v19,
    .ballaxy-league-focus-section .ballaxy-cl-more-v19,
    .ballaxy-league-focus-section .ballaxy-front-standings-v28 {
        max-width: none !important;
    }

    .ballaxy-standings-card-v28 table {
        min-width: 820px !important;
    }
}

/* =========================================================
   Ballaxy Stage 56 — consolidated fixes, no duplicate stage stack
   ========================================================= */

:root {
    --bx-width: 1180px;
    --bx-gutter: 24px;
    --bx-gap: 24px;
    --bx-page: #222;
    --bx-section: #242424;
    --bx-darker: #101010;
    --bx-card: #303030;
    --bx-card-alt: #202020;
    --bx-border: rgba(255,255,255,.12);
    --bx-text: #fff;
    --bx-muted: rgba(255,255,255,.72);
    --bx-yellow: #ffd000;
}

.top-sticky {
    background: #050505 !important;
    border-bottom: 3px solid var(--bx-yellow) !important;
    box-shadow: none !important;
    margin-bottom: 0 !important;
}

.top-sticky .site-header,
.site-header {
    background: #050505 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
}

.match-ticker,
.ballaxy-ticker,
.ballaxy-score-ticker,
.ballaxy-match-ticker,
.scores-ticker,
.tipro-ticker,
.fixture-ticker,
.live-ticker,
[class*="ticker"],
[class*="Ticker"] {
    border-top: 0 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
    margin-bottom: 0 !important;
}

.site-main,
.site-content,
.content-area,
#primary,
#main {
    background: transparent !important;
}

.ballaxy-home-rebuild,
.ballaxy-league-page,
.ballaxy-home-rebuild *,
.ballaxy-league-page * {
    box-sizing: border-box !important;
}

.ballaxy-home-rebuild,
.ballaxy-league-page {
    color: var(--bx-text) !important;
    background: transparent !important;
}

.ballaxy-container,
.ballaxy-league-container {
    width: min(var(--bx-width), calc(100vw - (var(--bx-gutter) * 2))) !important;
    max-width: var(--bx-width) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0 !important;
}

.ballaxy-home-rebuild .ballaxy-section,
.ballaxy-league-page .ballaxy-league-section {
    width: 100% !important;
    margin: 0 !important;
    padding: 42px 0 !important;
}

.ballaxy-home-rebuild .ballaxy-section:first-child,
.ballaxy-home-rebuild .ballaxy-section-top {
    padding-top: 20px !important;
}

.ballaxy-section-light { background: var(--bx-section) !important; }
.ballaxy-section-dark { background: var(--bx-page) !important; }
.ballaxy-section-darker { background: var(--bx-darker) !important; }

.ballaxy-league-news-hero {
    background: var(--bx-section) !important;
}

.ballaxy-league-standings-section {
    background: var(--bx-darker) !important;
    border-top: 1px solid rgba(255,255,255,.08) !important;
}

.ballaxy-section-head,
.ballaxy-league-header,
.ballaxy-league-section-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
    width: 100% !important;
    margin: 0 0 24px !important;
    padding: 0 !important;
}

.ballaxy-section-head h2,
.ballaxy-breaking h2,
.ballaxy-league-header h1,
.ballaxy-league-section-head h2 {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--bx-text) !important;
    font-family: "Oxygen", system-ui, sans-serif !important;
    font-size: 1.92rem !important;
    line-height: 1 !important;
    letter-spacing: -.055em !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
}

.ballaxy-section-head a {
    margin-left: auto !important;
    color: var(--bx-muted) !important;
    font-size: .84rem !important;
    font-weight: 900 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

.ballaxy-home-rebuild .card,
.ballaxy-league-page .card {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 7px !important;
    background: var(--bx-card) !important;
    box-shadow: none !important;
}

.ballaxy-home-rebuild .card-image,
.ballaxy-league-page .card-image {
    display: block !important;
    width: 100% !important;
    overflow: hidden !important;
    background: #111 !important;
}

.ballaxy-home-rebuild .card-image img,
.ballaxy-league-page .card-image img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16 / 9 !important;
    object-fit: cover !important;
}

.ballaxy-home-rebuild .card-body,
.ballaxy-league-page .card-body {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    min-height: 168px !important;
    padding: 16px !important;
}

.ballaxy-home-rebuild .card-category,
.ballaxy-league-page .card-category {
    display: block !important;
    margin: 0 0 8px !important;
    color: var(--bx-yellow) !important;
    font-size: .68rem !important;
    line-height: 1 !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
}

.ballaxy-home-rebuild .card-title,
.ballaxy-league-page .card-title {
    margin: 0 !important;
    color: var(--bx-text) !important;
    font-size: 1.02rem !important;
    line-height: 1.16 !important;
    letter-spacing: -.02em !important;
    font-weight: 950 !important;
}

.ballaxy-home-rebuild .card-title a,
.ballaxy-league-page .card-title a {
    color: inherit !important;
    text-decoration: none !important;
}

.ballaxy-home-rebuild .card-meta,
.ballaxy-league-page .card-meta {
    margin-top: auto !important;
    padding-top: 16px !important;
    color: var(--bx-muted) !important;
    font-size: .74rem !important;
    line-height: 1.25 !important;
}

.ballaxy-grid {
    display: grid !important;
    gap: var(--bx-gap) !important;
}

.ballaxy-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.ballaxy-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }

.ballaxy-top-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 3fr) !important;
    gap: var(--bx-gap) !important;
    align-items: start !important;
}

.ballaxy-breaking {
    padding: 18px 16px !important;
    border: 0 !important;
    border-radius: 7px !important;
    background: var(--bx-card) !important;
    box-shadow: none !important;
}

.ballaxy-breaking h2 {
    margin-bottom: 14px !important;
    border: 0 !important;
}

.ballaxy-breaking-item {
    display: block !important;
    padding: 11px 0 !important;
    border: 0 !important;
    color: var(--bx-text) !important;
    text-decoration: none !important;
}

.ballaxy-breaking-item + .ballaxy-breaking-item {
    border-top: 1px solid rgba(255,255,255,.18) !important;
}

.ballaxy-breaking-item span {
    display: block !important;
    margin-bottom: 5px !important;
    color: var(--bx-muted) !important;
    font-size: .7rem !important;
    line-height: 1.2 !important;
    font-weight: 850 !important;
}

.ballaxy-breaking-item strong {
    display: block !important;
    color: var(--bx-text) !important;
    font-size: 1.02rem !important;
    line-height: 1.16 !important;
    letter-spacing: -.02em !important;
    font-weight: 950 !important;
}

.ballaxy-breaking-more {
    display: flex !important;
    justify-content: flex-end !important;
    width: 100% !important;
    margin-top: 10px !important;
    padding-top: 14px !important;
    border-top: 1px solid rgba(255,255,255,.18) !important;
    color: var(--bx-yellow) !important;
    font-size: .78rem !important;
    font-weight: 950 !important;
    text-align: right !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
}

/* Competition slider */
.popular {
    overflow: hidden !important;
    border-top: 1px solid var(--bx-border) !important;
    border-bottom: 1px solid var(--bx-border) !important;
}

.popular .ballaxy-container {
    position: relative !important;
}

.ballaxy-competition-slider-wrap {
    position: relative !important;
    width: 100% !important;
    display: flex !important;
    align-items: stretch !important;
}

.ballaxy-competition-slider {
    width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-behavior: smooth !important;
    scroll-snap-type: x mandatory !important;
    scrollbar-width: none !important;
}

.ballaxy-competition-slider::-webkit-scrollbar {
    display: none !important;
}

.ballaxy-competition-track {
    display: flex !important;
    flex-flow: row nowrap !important;
    gap: var(--bx-gap) !important;
    width: max-content !important;
    min-width: max-content !important;
}

.ballaxy-competition-card {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    flex: 0 0 calc((1180px - 72px) / 4) !important;
    width: calc((1180px - 72px) / 4) !important;
    min-width: 260px !important;
    max-width: 277px !important;
    min-height: 82px !important;
    padding: 16px !important;
    overflow: hidden !important;
    border: 1px solid var(--bx-border) !important;
    border-radius: 7px !important;
    background: var(--bx-card-alt) !important;
    color: var(--bx-text) !important;
    text-decoration: none !important;
    scroll-snap-align: start !important;
}

.ballaxy-competition-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 48px !important;
    height: 48px !important;
    flex: 0 0 48px !important;
    border-radius: 999px !important;
    background: var(--bx-yellow) !important;
    color: #111 !important;
    font-weight: 950 !important;
    overflow: hidden !important;
}

.ballaxy-competition-icon img {
    max-width: 24px !important;
    max-height: 24px !important;
    object-fit: contain !important;
}

.ballaxy-competition-card > span:last-child {
    min-width: 0 !important;
    overflow: hidden !important;
}

.ballaxy-competition-card small,
.ballaxy-competition-card strong {
    display: block !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.ballaxy-competition-card small {
    color: var(--bx-muted) !important;
    font-size: .72rem !important;
    line-height: 1 !important;
    font-weight: 900 !important;
}

.ballaxy-competition-card strong {
    margin-top: 4px !important;
    color: var(--bx-text) !important;
    font-size: .95rem !important;
    line-height: 1.1 !important;
    font-weight: 950 !important;
}

.ballaxy-competition-nav {
    position: absolute !important;
    top: 50% !important;
    z-index: 5 !important;
    transform: translateY(-50%) !important;
    width: 38px !important;
    height: 82px !important;
    border: 0 !important;
    background: linear-gradient(90deg, rgba(36,36,36,0), #242424 45%) !important;
    color: #fff !important;
    cursor: pointer !important;
    font-size: 3rem !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.ballaxy-competition-prev {
    left: -42px !important;
    background: linear-gradient(270deg, rgba(36,36,36,0), #242424 45%) !important;
}

.ballaxy-competition-next {
    right: -42px !important;
}

/* Editorial layout */
.ballaxy-league-editorial {
    display: grid !important;
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) !important;
    gap: var(--bx-gap) !important;
    align-items: stretch !important;
}

.ballaxy-league-main {
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
}

.ballaxy-league-side {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: var(--bx-gap) !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
}

.ballaxy-league-bottom {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: var(--bx-gap) !important;
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
}

.ballaxy-league-main .card-body {
    min-height: 190px !important;
    padding: 22px 24px !important;
}

.ballaxy-league-main .card-title {
    font-size: clamp(1.85rem, 2.45vw, 2.65rem) !important;
    line-height: 1.04 !important;
    letter-spacing: -.05em !important;
}

.ballaxy-league-bottom .card-title {
    font-size: .96rem !important;
}

.ballaxy-hero-card-custom .ballaxy-card-excerpt {
    display: none !important;
}

.ballaxy-center-action {
    margin-top: 28px !important;
    text-align: center !important;
}

.ballaxy-pill-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 40px !important;
    padding: 0 18px !important;
    border-radius: 999px !important;
    background: var(--bx-yellow) !important;
    color: #111 !important;
    font-size: .8rem !important;
    font-weight: 950 !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
}

/* Standings shared by homepage and league pages */
.ballaxy-standings-block {
    margin-top: 44px !important;
}

.ballaxy-standings-card {
    width: 100% !important;
    padding: 22px 26px !important;
    border-radius: 9px !important;
    background: var(--bx-card) !important;
    overflow-x: visible !important;
}

.ballaxy-standings-card table {
    width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
    color: var(--bx-text) !important;
}

.ballaxy-standings-card th,
.ballaxy-standings-card td {
    display: table-cell !important;
    padding: 15px 8px !important;
    vertical-align: middle !important;
    border-top: 1px solid rgba(255,255,255,.07) !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    font-size: .9rem !important;
}

.ballaxy-standings-card th {
    border-top: 0 !important;
    color: var(--bx-muted) !important;
    font-size: .82rem !important;
    font-weight: 950 !important;
}

.ballaxy-standings-card th:not(:nth-child(2)),
.ballaxy-standings-card td:not(:nth-child(2)) {
    text-align: center !important;
}

.ballaxy-standings-card th:nth-child(1),
.ballaxy-standings-card td:nth-child(1) { width: 52px !important; }

.ballaxy-standings-card th:nth-child(2),
.ballaxy-standings-card td:nth-child(2) { width: 245px !important; }

.ballaxy-standings-card th:nth-child(n+3):nth-child(-n+9),
.ballaxy-standings-card td:nth-child(n+3):nth-child(-n+9) { width: 58px !important; }

.ballaxy-standings-card th:nth-child(10),
.ballaxy-standings-card td:nth-child(10) { width: 62px !important; }

.ballaxy-standings-card th:nth-child(11),
.ballaxy-standings-card td:nth-child(11) { width: 160px !important; }

.ballaxy-standings-card .team {
    text-align: left !important;
}

.ballaxy-standings-card .team a {
    color: #fff !important;
    text-decoration: none !important;
}

.ballaxy-standings-card .team img {
    width: 22px !important;
    height: 22px !important;
    margin-right: 8px !important;
    vertical-align: middle !important;
    object-fit: contain !important;
}

.ballaxy-standings-card .team strong {
    vertical-align: middle !important;
}

.ballaxy-standings-card .form {
    overflow: visible !important;
    text-overflow: clip !important;
}

.ballaxy-standings-card .form span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 22px !important;
    height: 22px !important;
    margin-right: 4px !important;
    border-radius: 50% !important;
    color: #fff !important;
    font-size: .66rem !important;
    line-height: 1 !important;
    font-weight: 950 !important;
}

.ballaxy-standings-card .form-w { background: #2f8f2f !important; }
.ballaxy-standings-card .form-d { background: #d68910 !important; }
.ballaxy-standings-card .form-l { background: #cf263f !important; }

/* League team logos in header */
.ballaxy-header-team-strip {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 86px !important;
    padding: 18px 28px !important;
    background: #171717 !important;
    border-top: 1px solid rgba(255,255,255,.08) !important;
    border-bottom: 0 !important;
}

.ballaxy-header-team-strip .ballaxy-team-strip-scroll {
    width: 100% !important;
    flex: 1 1 auto !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
}

.ballaxy-header-team-strip .ballaxy-team-strip-scroll::-webkit-scrollbar {
    display: none !important;
}

.ballaxy-header-team-strip .ballaxy-team-strip-track {
    width: 100% !important;
    min-width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-evenly !important;
    gap: clamp(22px, 2.4vw, 44px) !important;
}

.ballaxy-header-team-strip .ballaxy-team-strip-item {
    width: 62px !important;
    height: 52px !important;
    flex: 0 0 62px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    background: transparent !important;
    text-decoration: none !important;
}

.ballaxy-header-team-strip .ballaxy-team-strip-item img {
    display: block !important;
    max-width: 52px !important;
    max-height: 52px !important;
    object-fit: contain !important;
    filter: none !important;
}

.ballaxy-header-team-strip .ballaxy-team-strip-item:hover {
    background: rgba(255,255,255,.06) !important;
}

.ballaxy-header-team-strip.is-scrollable {
    padding-left: 52px !important;
    padding-right: 52px !important;
}

.ballaxy-header-team-strip.is-scrollable .ballaxy-team-strip-track {
    width: max-content !important;
    min-width: max-content !important;
    justify-content: flex-start !important;
}

.ballaxy-header-team-strip .ballaxy-team-strip-nav {
    display: none !important;
    position: absolute !important;
    top: 0 !important;
    bottom: 0 !important;
    z-index: 2 !important;
    width: 44px !important;
    min-height: 86px !important;
    border: 0 !important;
    background: #171717 !important;
    color: var(--bx-yellow) !important;
    cursor: pointer !important;
    font-size: 2rem !important;
    line-height: 1 !important;
}

.ballaxy-header-team-strip.is-scrollable .ballaxy-team-strip-nav {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.ballaxy-header-team-strip .ballaxy-team-strip-prev { left: 0 !important; }
.ballaxy-header-team-strip .ballaxy-team-strip-next { right: 0 !important; }

.transfers { border-bottom: 1px solid var(--bx-border) !important; }
.analysis { border-top: 1px solid var(--bx-border) !important; border-bottom: 1px solid var(--bx-border) !important; }

/* Footer */
.site-footer.ballaxy-footer-v40,
.ballaxy-footer-v40 {
    margin: 0 !important;
    padding: 0 !important;
    background: #1b1b1b !important;
    color: #fff !important;
    border-top: 0 !important;
}

.ballaxy-footer-v40 * { box-sizing: border-box !important; }

.ballaxy-footer-v40-inner {
    width: min(var(--bx-width), calc(100vw - 48px)) !important;
    margin: 0 auto !important;
    padding: 48px 0 0 !important;
    background: transparent !important;
}

.ballaxy-footer-v40-rule {
    height: 1px !important;
    width: 100% !important;
    margin-bottom: 34px !important;
    background: rgba(255,255,255,.12) !important;
}

.ballaxy-footer-v40-brandrow { margin-bottom: 34px !important; }

.ballaxy-footer-v40-grid {
    display: grid !important;
    grid-template-columns: 1.35fr 1fr 1fr 1fr !important;
    gap: 70px !important;
    padding-bottom: 52px !important;
}

.ballaxy-footer-v40-col h3 {
    margin: 0 0 18px !important;
    color: #fff !important;
    font-size: 1rem !important;
    line-height: 1 !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
}

.ballaxy-footer-v40-col p,
.ballaxy-footer-v40 a {
    color: rgba(255,255,255,.86) !important;
    font-size: .95rem !important;
    line-height: 1.45 !important;
}

.ballaxy-footer-v40 a {
    font-weight: 700 !important;
    text-decoration: none !important;
}

.ballaxy-footer-v40 a:hover { color: var(--bx-yellow) !important; }

.ballaxy-footer-v40 ul {
    display: grid !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.ballaxy-footer-v40 .footer-contact {
    display: grid !important;
    gap: 7px !important;
}

.ballaxy-footer-v40 .footer-contact span {
    color: var(--bx-yellow) !important;
    font-size: .9rem !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
}

.ballaxy-footer-v40-bottom {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 24px !important;
    width: 100% !important;
    padding: 24px 0 !important;
    border-top: 1px solid rgba(255,255,255,.12) !important;
    color: rgba(255,255,255,.68) !important;
    font-size: .82rem !important;
}

/* Responsive */
@media (max-width: 1100px) {
    :root { --bx-gap: 18px; }

    .ballaxy-top-grid,
    .ballaxy-league-editorial {
        grid-template-columns: 1fr !important;
    }

    .ballaxy-league-main,
    .ballaxy-league-side,
    .ballaxy-league-bottom {
        grid-column: auto !important;
        grid-row: auto !important;
    }

    .ballaxy-grid-3,
    .ballaxy-grid-4,
    .ballaxy-league-side,
    .ballaxy-league-bottom {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .ballaxy-footer-v40-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 34px !important;
    }
}

@media (max-width: 900px) {
    .ballaxy-standings-card {
        overflow-x: auto !important;
    }

    .ballaxy-standings-card table {
        min-width: 820px !important;
    }
}

@media (max-width: 760px) {
    :root { --bx-gutter: 16px; }

    .ballaxy-home-rebuild .ballaxy-section,
    .ballaxy-league-page .ballaxy-league-section {
        padding-top: 30px !important;
        padding-bottom: 30px !important;
    }

    .ballaxy-section-head h2,
    .ballaxy-breaking h2,
    .ballaxy-league-header h1,
    .ballaxy-league-section-head h2 {
        font-size: 1.55rem !important;
    }

    .ballaxy-grid-3,
    .ballaxy-grid-4,
    .ballaxy-league-side,
    .ballaxy-league-bottom {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 14px !important;
    }

    .ballaxy-competition-card {
        flex-basis: 82vw !important;
        width: 82vw !important;
        max-width: 320px !important;
    }

    .card-body {
        min-height: 136px !important;
        padding: 12px !important;
    }

    .card-title { font-size: .86rem !important; }
    .ballaxy-league-main .card-title { font-size: 1.45rem !important; }

    .ballaxy-header-team-strip {
        min-height: 76px !important;
        padding: 14px 42px !important;
    }

    .ballaxy-header-team-strip .ballaxy-team-strip-track {
        justify-content: flex-start !important;
        gap: 24px !important;
        min-width: max-content !important;
    }

    .ballaxy-header-team-strip .ballaxy-team-strip-item {
        width: 54px !important;
        height: 48px !important;
        flex-basis: 54px !important;
    }

    .ballaxy-header-team-strip .ballaxy-team-strip-item img {
        max-width: 46px !important;
        max-height: 46px !important;
    }

    .ballaxy-footer-v40-inner {
        width: calc(100vw - 32px) !important;
        padding-top: 34px !important;
    }

    .ballaxy-footer-v40-grid { grid-template-columns: 1fr !important; }

    .ballaxy-footer-v40-bottom {
        align-items: flex-start !important;
        flex-direction: column !important;
    }
}


/* =========================================================
   Ballaxy Stage 57 — standings logo/name alignment
   ========================================================= */

/* Fix team logos + names in standings on homepage and league pages. */
.ballaxy-standings-card .team {
    text-align: left !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.ballaxy-standings-card .team a,
.ballaxy-standings-card .team > span,
.ballaxy-standings-card .team > strong {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    max-width: 100% !important;
    min-width: 0 !important;
    color: #fff !important;
    text-decoration: none !important;
    vertical-align: middle !important;
}

.ballaxy-standings-card .team img {
    display: inline-block !important;
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    flex: 0 0 24px !important;
    margin: 0 !important;
    object-fit: contain !important;
    vertical-align: middle !important;
}

.ballaxy-standings-card .team strong {
    display: inline-block !important;
    min-width: 0 !important;
    max-width: calc(100% - 34px) !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    vertical-align: middle !important;
}

/* Non-linked team fallback has image + strong directly in td. */
.ballaxy-standings-card .team > img + strong {
    max-width: calc(100% - 34px) !important;
}

/* Give the team column enough room in the shared standings table. */
@media (min-width: 901px) {
    .ballaxy-standings-card th:nth-child(2),
    .ballaxy-standings-card td:nth-child(2) {
        width: 290px !important;
    }

    .ballaxy-standings-card th:nth-child(n+3):nth-child(-n+9),
    .ballaxy-standings-card td:nth-child(n+3):nth-child(-n+9) {
        width: 52px !important;
    }

    .ballaxy-standings-card th:nth-child(11),
    .ballaxy-standings-card td:nth-child(11) {
        width: 150px !important;
    }
}


/* =========================================================
   Ballaxy Stage 58 — league page final content sections
   ========================================================= */

/* Competition rail above team logos */
.ballaxy-header-competition-strip {
    width: 100% !important;
    background: #202020 !important;
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
}

.ballaxy-header-competition-scroll {
    width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
}

.ballaxy-header-competition-scroll::-webkit-scrollbar {
    display: none !important;
}

.ballaxy-header-competition-track {
    display: grid !important;
    grid-auto-flow: column !important;
    grid-auto-columns: minmax(170px, 1fr) !important;
    width: 100% !important;
    min-width: max-content !important;
    gap: 4px !important;
    padding: 6px 8px !important;
}

.ballaxy-header-competition-pill {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 34px !important;
    padding: 0 14px !important;
    border-radius: 4px !important;
    background: #303030 !important;
    color: rgba(255,255,255,.82) !important;
    font-size: .78rem !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

.ballaxy-header-competition-pill.is-active {
    background: #050505 !important;
    color: #fff !important;
    box-shadow: inset 0 3px 0 var(--bx-yellow, #ffd000) !important;
}

.ballaxy-header-competition-pill:hover {
    color: var(--bx-yellow, #ffd000) !important;
}

/* The dark team strip should sit directly below competition rail, no bottom border */
.ballaxy-header-team-strip {
    border-bottom: 0 !important;
}

/* Standings: league page should initially show top 5 only */
.ballaxy-standings-card tbody tr.is-hidden-standing {
    display: none !important;
}

.ballaxy-standings-card.is-expanded tbody tr.is-hidden-standing {
    display: table-row !important;
}

.ballaxy-standings-more {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 120px !important;
    min-height: 38px !important;
    margin: 24px auto 0 !important;
    padding: 0 22px !important;
    border: 1px solid rgba(255,208,0,.65) !important;
    border-radius: 999px !important;
    background: transparent !important;
    color: #fff !important;
    cursor: pointer !important;
    font-size: .86rem !important;
    font-weight: 900 !important;
}

.ballaxy-standings-more:hover {
    background: var(--bx-yellow, #ffd000) !important;
    color: #111 !important;
}

/* Latest results / upcoming games */
.ballaxy-league-matches-section {
    background: var(--bx-section, #242424) !important;
}

.ballaxy-league-matches-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px !important;
}

.ballaxy-league-match-panel {
    min-width: 0 !important;
}

.ballaxy-league-match-group {
    overflow: hidden !important;
    margin-bottom: 18px !important;
    border-radius: 7px !important;
    background: #202020 !important;
}

.ballaxy-league-match-group h3 {
    margin: 0 !important;
    padding: 14px 18px !important;
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
    color: #fff !important;
    font-size: 1rem !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    text-align: center !important;
}

.ballaxy-league-match-row {
    display: grid !important;
    grid-template-columns: 54px minmax(0, 1fr) 78px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 12px !important;
    min-height: 62px !important;
    padding: 10px 16px !important;
    border-top: 1px solid rgba(255,255,255,.12) !important;
}

.ballaxy-league-match-row:first-of-type {
    border-top: 0 !important;
}

.ballaxy-league-match-status {
    color: rgba(255,255,255,.8) !important;
    font-size: .82rem !important;
    font-weight: 900 !important;
}

.ballaxy-league-match-team {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    min-width: 0 !important;
    color: #fff !important;
    font-size: .92rem !important;
    font-weight: 900 !important;
}

.ballaxy-league-match-team span {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.ballaxy-league-match-home {
    justify-content: flex-end !important;
    text-align: right !important;
}

.ballaxy-league-match-away {
    justify-content: flex-start !important;
}

.ballaxy-league-match-team img {
    display: inline-block !important;
    width: 28px !important;
    height: 28px !important;
    flex: 0 0 28px !important;
    object-fit: contain !important;
}

.ballaxy-league-match-score {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    min-height: 34px !important;
    border-radius: 4px !important;
    background: #303030 !important;
    color: #fff !important;
    font-size: .95rem !important;
    font-weight: 900 !important;
}

.ballaxy-league-match-score em {
    color: rgba(255,255,255,.45) !important;
    font-style: normal !important;
    font-weight: 400 !important;
}

.ballaxy-league-match-empty {
    padding: 22px !important;
    border-radius: 7px !important;
    background: #202020 !important;
    color: rgba(255,255,255,.72) !important;
    font-weight: 800 !important;
}

/* More news after matches */
.ballaxy-league-more-news-section {
    background: var(--bx-page, #222) !important;
}

@media (max-width: 900px) {
    .ballaxy-league-matches-grid {
        grid-template-columns: 1fr !important;
    }

    .ballaxy-league-match-row {
        grid-template-columns: 42px minmax(0, 1fr) 66px minmax(0, 1fr) !important;
        gap: 8px !important;
        padding: 10px !important;
    }

    .ballaxy-league-match-team {
        font-size: .8rem !important;
    }

    .ballaxy-league-match-team img {
        width: 24px !important;
        height: 24px !important;
        flex-basis: 24px !important;
    }
}


/* =========================================================
   Ballaxy Stage 59 — league page background/borders/top rails polish
   ========================================================= */

/* League page should use one consistent background across all sections */
.ballaxy-league-page {
    background: #222222 !important;
}

.ballaxy-league-page .ballaxy-league-section,
.ballaxy-league-page .ballaxy-league-news-hero,
.ballaxy-league-page .ballaxy-league-standings-section,
.ballaxy-league-page .ballaxy-league-matches-section,
.ballaxy-league-page .ballaxy-league-more-news-section {
    background: #222222 !important;
}

/* Section separators requested */
.ballaxy-league-page .ballaxy-league-standings-section {
    border-top: 1px solid rgba(255,255,255,.12) !important;
    border-bottom: 1px solid rgba(255,255,255,.12) !important;
}

.ballaxy-league-page .ballaxy-league-more-news-section {
    border-top: 1px solid rgba(255,255,255,.12) !important;
}

/* More button: yellow and centered */
.ballaxy-standings-more {
    display: flex !important;
    width: fit-content !important;
    margin: 24px auto 0 !important;
    border: 0 !important;
    background: var(--bx-yellow, #ffd000) !important;
    color: #111 !important;
    font-weight: 950 !important;
}

.ballaxy-standings-more:hover {
    background: #fff !important;
    color: #111 !important;
}

/* Competition bar: same visual direction as ticker day tabs */
.ballaxy-header-competition-strip {
    width: 100% !important;
    background: #171717 !important;
    border-top: 0 !important;
    border-bottom: 0 !important;
    padding: 6px 8px !important;
}

.ballaxy-header-competition-scroll {
    width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
    cursor: grab !important;
    user-select: none !important;
}

.ballaxy-header-competition-scroll.is-dragging {
    cursor: grabbing !important;
}

.ballaxy-header-competition-scroll::-webkit-scrollbar {
    display: none !important;
}

.ballaxy-header-competition-track {
    display: flex !important;
    align-items: stretch !important;
    gap: 6px !important;
    width: max-content !important;
    min-width: 100% !important;
    padding: 0 !important;
}

.ballaxy-header-competition-pill {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 205px !important;
    min-width: 205px !important;
    min-height: 32px !important;
    padding: 0 14px !important;
    border: 1px solid rgba(255,255,255,.07) !important;
    border-radius: 4px !important;
    background: #303030 !important;
    color: rgba(255,255,255,.86) !important;
    font-size: .78rem !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

.ballaxy-header-competition-pill.is-active {
    background: #000 !important;
    color: #fff !important;
    border-color: #000 !important;
    box-shadow: none !important;
}

.ballaxy-header-competition-pill:hover {
    color: #fff !important;
    background: #383838 !important;
}

.ballaxy-header-competition-pill.is-active:hover {
    background: #000 !important;
}

/* Team logo rail arrows should feel like ticker arrows */
.ballaxy-header-team-strip {
    background: #171717 !important;
    border-top: 0 !important;
    border-bottom: 0 !important;
}

.ballaxy-header-team-strip .ballaxy-team-strip-nav {
    width: 34px !important;
    min-height: 86px !important;
    background: transparent !important;
    color: rgba(255,255,255,.55) !important;
    border: 0 !important;
    font-size: 1.7rem !important;
    font-weight: 700 !important;
    box-shadow: none !important;
}

.ballaxy-header-team-strip .ballaxy-team-strip-nav:hover {
    color: #fff !important;
    background: rgba(255,255,255,.04) !important;
}

.ballaxy-header-team-strip .ballaxy-team-strip-prev {
    left: 0 !important;
}

.ballaxy-header-team-strip .ballaxy-team-strip-next {
    right: 0 !important;
}

/* If arrows are visible, keep the same inset feel as ticker */
.ballaxy-header-team-strip.is-scrollable {
    padding-left: 38px !important;
    padding-right: 38px !important;
}

@media (max-width: 760px) {
    .ballaxy-header-competition-pill {
        flex-basis: 165px !important;
        min-width: 165px !important;
    }

    .ballaxy-header-team-strip.is-scrollable {
        padding-left: 34px !important;
        padding-right: 34px !important;
    }

    .ballaxy-header-team-strip .ballaxy-team-strip-nav {
        width: 30px !important;
    }
}


/* =========================================================
   Ballaxy Stage 60 — centered league rail + admin selected leagues
   ========================================================= */

/* Competition rail is no longer draggable/scroll based. Admin controls visible items. */
.ballaxy-header-competition-strip {
    background: #171717 !important;
    padding: 6px 8px !important;
}

.ballaxy-header-competition-scroll {
    overflow: hidden !important;
    cursor: default !important;
    user-select: auto !important;
}

.ballaxy-header-competition-track {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)) !important;
    gap: 6px !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 0 !important;
}

.ballaxy-header-competition-pill {
    flex: none !important;
    min-width: 0 !important;
    width: auto !important;
    min-height: 32px !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    border-radius: 4px !important;
    background: #303030 !important;
    color: rgba(255,255,255,.86) !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.ballaxy-header-competition-pill.is-active {
    background: #000 !important;
    border-color: #000 !important;
    color: #fff !important;
}

/* Team logo strip arrows should match the ticker arrows: small, edge aligned, not taking space. */
.ballaxy-header-team-strip {
    min-height: 86px !important;
    padding-left: 28px !important;
    padding-right: 28px !important;
}

.ballaxy-header-team-strip.is-scrollable {
    padding-left: 28px !important;
    padding-right: 28px !important;
}

.ballaxy-header-team-strip .ballaxy-team-strip-nav {
    width: 18px !important;
    min-height: 86px !important;
    padding: 0 !important;
    background: transparent !important;
    color: rgba(255,255,255,.45) !important;
    font-size: 1.25rem !important;
    font-weight: 800 !important;
}

.ballaxy-header-team-strip .ballaxy-team-strip-nav:hover {
    color: #fff !important;
    background: transparent !important;
}

.ballaxy-header-team-strip .ballaxy-team-strip-prev {
    left: 0 !important;
}

.ballaxy-header-team-strip .ballaxy-team-strip-next {
    right: 0 !important;
}

@media (max-width: 760px) {
    .ballaxy-header-competition-track {
        grid-template-columns: repeat(4, minmax(120px, 1fr)) !important;
    }

    .ballaxy-header-competition-pill {
        font-size: .7rem !important;
        padding-left: 8px !important;
        padding-right: 8px !important;
    }

    .ballaxy-header-team-strip,
    .ballaxy-header-team-strip.is-scrollable {
        padding-left: 24px !important;
        padding-right: 24px !important;
    }

    .ballaxy-header-team-strip .ballaxy-team-strip-nav {
        width: 16px !important;
        min-height: 76px !important;
    }
}


/* =========================================================
   Ballaxy Stage 61 — admin rail page + exact ticker-like rails
   ========================================================= */

/* Competition rail styling copied to match ticker day tabs */
.ballaxy-header-competition-strip {
    background: #171717 !important;
    padding: 5px 16px 4px !important;
    border: 0 !important;
}

.ballaxy-header-competition-scroll {
    overflow: hidden !important;
    cursor: default !important;
    user-select: auto !important;
}

.ballaxy-header-competition-track {
    display: grid !important;
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
    gap: 4px !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 0 !important;
}

.ballaxy-header-competition-pill {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 0 !important;
    width: 100% !important;
    min-height: 32px !important;
    height: 32px !important;
    padding: 0 6px !important;
    border-radius: 4px !important;
    border: 1px solid #353535 !important;
    background: #303030 !important;
    color: #d1d5db !important;
    font-size: 11px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    text-decoration: none !important;
}

.ballaxy-header-competition-pill.is-active {
    background: #050505 !important;
    border-color: #050505 !important;
    color: #fff !important;
    box-shadow: none !important;
}

.ballaxy-header-competition-pill:hover {
    background: #303030 !important;
    border-color: #353535 !important;
    color: #fff !important;
}

.ballaxy-header-competition-pill.is-active:hover {
    background: #050505 !important;
    border-color: #050505 !important;
}

/* Team strip arrows: match bilis-fmt-arrow behavior and size */
.ballaxy-header-team-strip {
    --fmt-arrow-width: 1.15rem;
    min-height: 86px !important;
    padding: 18px var(--fmt-arrow-width) !important;
    background: #171717 !important;
    border: 0 !important;
}

.ballaxy-header-team-strip.is-scrollable {
    padding-left: var(--fmt-arrow-width) !important;
    padding-right: var(--fmt-arrow-width) !important;
}

.ballaxy-header-team-strip .ballaxy-team-strip-nav {
    flex: 0 0 var(--fmt-arrow-width) !important;
    width: var(--fmt-arrow-width) !important;
    min-height: 86px !important;
    height: 100% !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #6b7280 !important;
    font-size: 1.05rem !important;
    line-height: 1 !important;
    cursor: pointer !important;
    padding: 0 !important;
    position: absolute !important;
    z-index: 4 !important;
    display: none !important;
    align-items: center !important;
    justify-content: center !important;
}

.ballaxy-header-team-strip.is-scrollable .ballaxy-team-strip-nav {
    display: inline-flex !important;
}

.ballaxy-header-team-strip .ballaxy-team-strip-nav:hover {
    background: transparent !important;
    color: #fff !important;
}

.ballaxy-header-team-strip .ballaxy-team-strip-prev {
    left: 0 !important;
}

.ballaxy-header-team-strip .ballaxy-team-strip-next {
    right: 0 !important;
}

@media (max-width: 900px) {
    .ballaxy-header-competition-strip {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }

    .ballaxy-header-competition-track {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 760px) {
    .ballaxy-header-team-strip {
        --fmt-arrow-width: 1rem;
        min-height: 76px !important;
        padding-left: var(--fmt-arrow-width) !important;
        padding-right: var(--fmt-arrow-width) !important;
    }

    .ballaxy-header-team-strip .ballaxy-team-strip-nav {
        width: var(--fmt-arrow-width) !important;
        min-height: 76px !important;
    }

    .ballaxy-header-competition-pill {
        font-size: 10px !important;
    }
}


/* =========================================================
   Ballaxy Stage 62 — league matches current-season layout polish
   ========================================================= */

.ballaxy-league-match-empty {
    min-height: 68px !important;
    display: flex !important;
    align-items: center !important;
}

.ballaxy-league-match-panel .ballaxy-league-section-head {
    margin-bottom: 20px !important;
}


/* =========================================================
   Ballaxy Stage 63 — league latest/next matches use real current date
   ========================================================= */

.ballaxy-league-matches-grid {
    align-items: start !important;
}

.ballaxy-league-match-group {
    margin-bottom: 16px !important;
}

.ballaxy-league-match-row {
    min-height: 56px !important;
}

.ballaxy-league-match-status {
    text-transform: uppercase !important;
}


/* =========================================================
   Ballaxy Stage 64 — league matches use local_date/local_time
   ========================================================= */

.ballaxy-league-match-row {
    grid-template-columns: 54px minmax(0, 1fr) 82px minmax(0, 1fr) !important;
}

@media (max-width: 900px) {
    .ballaxy-league-match-row {
        grid-template-columns: 42px minmax(0, 1fr) 72px minmax(0, 1fr) !important;
    }
}











/* =========================================================
   Ballaxy Stage 73 — match page sidebar details + GOAL-style key events
   ========================================================= */

.ballaxy-match-page,
.ballaxy-match-page * {
    box-sizing: border-box !important;
}

.ballaxy-match-clean {
    background: #222 !important;
    color: #fff !important;
}

.ballaxy-match-clean .ballaxy-match-container {
    width: min(1180px, calc(100vw - 48px)) !important;
    max-width: 1180px !important;
    margin: 0 auto !important;
}

.ballaxy-match-hero-clean {
    padding: 34px 0 0 !important;
}

.ballaxy-clean-hero-card {
    position: relative !important;
    overflow: hidden !important;
    padding: 34px 42px !important;
    border-radius: 8px !important;
    background: #303030 !important;
}

.ballaxy-clean-hero-bg {
    position: absolute !important;
    inset: 0 !important;
    opacity: .16 !important;
    background:
        linear-gradient(90deg, rgba(0,0,0,.55), rgba(0,0,0,.12), rgba(0,0,0,.55)),
        repeating-linear-gradient(-28deg, rgba(255,255,255,.08), rgba(255,255,255,.08) 2px, transparent 2px, transparent 15px) !important;
}

.ballaxy-clean-hero-card > *:not(.ballaxy-clean-hero-bg) {
    position: relative !important;
    z-index: 1 !important;
}

.ballaxy-clean-hero-top {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    margin-bottom: 12px !important;
}

.ballaxy-clean-league {
    display: inline-flex !important;
    align-items: center !important;
    gap: 9px !important;
    color: rgba(255,255,255,.78) !important;
    font-size: .95rem !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
}

.ballaxy-clean-league img {
    width: 22px !important;
    height: 22px !important;
    object-fit: contain !important;
}

.ballaxy-clean-status {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 28px !important;
    padding: 0 11px !important;
    border-radius: 999px !important;
    background: #ffd000 !important;
    color: #111 !important;
    font-size: .78rem !important;
    font-weight: 950 !important;
}

.ballaxy-clean-date {
    margin-bottom: 24px !important;
    color: rgba(255,255,255,.72) !important;
    text-align: center !important;
    font-size: 1.05rem !important;
    font-weight: 850 !important;
}

.ballaxy-clean-scoreboard {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto minmax(0,1fr) !important;
    align-items: center !important;
    gap: 30px !important;
}

.ballaxy-clean-team {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 14px !important;
    min-width: 0 !important;
    text-align: right !important;
}

.ballaxy-clean-team.is-away {
    justify-content: flex-start !important;
    text-align: left !important;
}

.ballaxy-clean-team strong {
    color: #fff !important;
    font-size: 2.15rem !important;
    line-height: 1 !important;
    font-weight: 950 !important;
    letter-spacing: -.04em !important;
    text-transform: uppercase !important;
}

.ballaxy-clean-team img {
    width: 74px !important;
    height: 74px !important;
    object-fit: contain !important;
    flex: 0 0 74px !important;
}

.ballaxy-clean-score {
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
    color: #fff !important;
}

.ballaxy-clean-score span {
    font-size: 3.5rem !important;
    line-height: 1 !important;
    font-weight: 950 !important;
}

.ballaxy-clean-score em {
    color: rgba(255,255,255,.45) !important;
    font-size: 2.05rem !important;
    font-style: normal !important;
    font-weight: 700 !important;
}

.ballaxy-clean-scorers,
.ballaxy-clean-officials {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 8px 16px !important;
    margin-top: 18px !important;
    padding-top: 14px !important;
    border-top: 1px solid rgba(255,255,255,.1) !important;
    color: rgba(255,255,255,.85) !important;
    font-size: .9rem !important;
    font-weight: 850 !important;
}

.ballaxy-clean-officials {
    color: rgba(255,255,255,.7) !important;
    font-size: .82rem !important;
}

.ballaxy-clean-officials strong {
    color: #ffd000 !important;
    text-transform: uppercase !important;
}

.ballaxy-clean-hero-meta {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 8px !important;
    margin-top: 16px !important;
}

.ballaxy-clean-hero-meta span {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 30px !important;
    padding: 0 11px !important;
    border-radius: 999px !important;
    background: rgba(0,0,0,.25) !important;
    color: rgba(255,255,255,.82) !important;
    font-size: .9rem !important;
    font-weight: 850 !important;
}

.ballaxy-match-tabs {
    display: flex !important;
    align-items: center !important;
    gap: 28px !important;
    min-height: 48px !important;
    overflow-x: auto !important;
    border-bottom: 1px solid rgba(255,255,255,.1) !important;
}

.ballaxy-match-tabs a {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    min-height: 48px !important;
    color: #fff !important;
    text-decoration: none !important;
    font-size: .9rem !important;
    font-weight: 950 !important;
    white-space: nowrap !important;
}

.ballaxy-match-tabs a.is-active::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: -1px !important;
    height: 3px !important;
    background: #ffd000 !important;
}

.ballaxy-match-section {
    padding: 42px 0 !important;
}

.ballaxy-match-main-single {
    display: grid !important;
    gap: 20px !important;
}

.ballaxy-clean-panel {
    padding: 28px !important;
    border-radius: 8px !important;
    background: #303030 !important;
}

.ballaxy-clean-panel-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin-bottom: 24px !important;
}

.ballaxy-clean-panel-head h2 {
    margin: 0 !important;
    color: #fff !important;
    font-size: 1.75rem !important;
    line-height: 1 !important;
    letter-spacing: -.045em !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
}

.ballaxy-clean-panel-head img {
    width: 24px !important;
    height: 24px !important;
    object-fit: contain !important;
}

/* Key events matching GOAL style */
.ballaxy-clean-events {
    padding: 0 !important;
    border-radius: 8px !important;
    background: #303030 !important;
    overflow: hidden !important;
}

.ballaxy-clean-events-teams {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    align-items: start !important;
    padding: 28px 32px 20px !important;
}

.ballaxy-clean-events-teams div {
    display: grid !important;
    gap: 8px !important;
    color: #fff !important;
    font-size: 1.05rem !important;
    line-height: 1 !important;
    font-weight: 950 !important;
}

.ballaxy-clean-events-teams div:first-child {
    justify-items: start !important;
}

.ballaxy-clean-events-teams div:last-child {
    justify-items: end !important;
}

.ballaxy-clean-events-teams img {
    width: 78px !important;
    height: 78px !important;
    object-fit: contain !important;
}

.ballaxy-clean-event-list {
    display: grid !important;
    gap: 0 !important;
    max-width: none !important;
    margin: 0 !important;
}

.ballaxy-clean-event-list::before {
    display: none !important;
}

.ballaxy-clean-event-final {
    display: grid !important;
    place-items: center !important;
    gap: 6px !important;
    min-height: 98px !important;
    color: #fff !important;
    background: linear-gradient(180deg, rgba(0,0,0,.02), rgba(0,0,0,.08)) !important;
    border-top: 1px solid rgba(255,255,255,.035) !important;
}

.ballaxy-clean-event-final .event-final-icon {
    color: #fff !important;
    font-size: 1.25rem !important;
    line-height: 1 !important;
}

.ballaxy-clean-event-final strong {
    color: #fff !important;
    font-size: 1rem !important;
    font-weight: 950 !important;
}

.ballaxy-clean-event {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 86px minmax(0, 1fr) !important;
    align-items: center !important;
    min-height: 92px !important;
    padding: 0 32px !important;
    border-top: 1px solid rgba(255,255,255,.035) !important;
    background: rgba(255,255,255,.025) !important;
}

.ballaxy-clean-event:nth-child(even) {
    background: rgba(0,0,0,.08) !important;
}

.ballaxy-clean-event .event-minute {
    grid-column: 2 !important;
    grid-row: 1 !important;
    color: #fff !important;
    font-size: 1.02rem !important;
    font-weight: 500 !important;
    text-align: center !important;
}

.ballaxy-clean-event .event-copy {
    display: grid !important;
    gap: 2px !important;
    max-width: 290px !important;
    padding: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

.ballaxy-clean-event.is-home .event-copy {
    grid-column: 1 !important;
    justify-self: end !important;
    text-align: right !important;
}

.ballaxy-clean-event.is-away .event-copy {
    grid-column: 3 !important;
    justify-self: start !important;
    text-align: left !important;
}

.ballaxy-clean-event .event-copy strong {
    display: inline-flex !important;
    align-items: center !important;
    gap: 9px !important;
    color: #fff !important;
    font-size: 1.18rem !important;
    line-height: 1.12 !important;
    font-weight: 950 !important;
}

.ballaxy-clean-event.is-home .event-copy strong {
    justify-content: flex-end !important;
}

.ballaxy-clean-event.is-away .event-copy strong {
    justify-content: flex-start !important;
}

.ballaxy-clean-event .event-copy span,
.ballaxy-clean-event .event-copy small {
    color: rgba(255,255,255,.8) !important;
    font-size: 1rem !important;
    line-height: 1.18 !important;
}

.ballaxy-clean-event .event-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #ffd000 !important;
    font-size: 1.05rem !important;
    line-height: 1 !important;
}

.ballaxy-clean-event.is-sub .event-icon { color: #00a878 !important; }
.ballaxy-clean-event.is-yellow-card .event-icon { color: #ffd000 !important; }
.ballaxy-clean-event.is-red-card .event-icon { color: #dc2548 !important; }

/* Match stats */
.ballaxy-clean-stats {
    max-width: 760px !important;
    margin: 0 auto !important;
    padding: 12px 0 !important;
}

.ballaxy-clean-stats-head {
    display: grid !important;
    grid-template-columns: 120px 1fr 120px !important;
    align-items: center !important;
    margin-bottom: 18px !important;
}

.ballaxy-clean-stats-head div {
    display: grid !important;
    justify-items: center !important;
    gap: 6px !important;
    color: #fff !important;
    font-size: .85rem !important;
    font-weight: 950 !important;
}

.ballaxy-clean-stats-head img {
    width: 52px !important;
    height: 52px !important;
    object-fit: contain !important;
}

.ballaxy-clean-stats-head strong {
    text-align: center !important;
    color: #fff !important;
    font-size: 1.1rem !important;
    text-transform: uppercase !important;
}

.ballaxy-clean-stat-row {
    display: grid !important;
    grid-template-columns: 78px 1fr 78px !important;
    align-items: end !important;
    gap: 16px !important;
    margin-bottom: 15px !important;
}

.ballaxy-clean-stat-row strong {
    color: #fff !important;
    font-size: 1.06rem !important;
    font-weight: 950 !important;
}

.ballaxy-clean-stat-row strong:last-child {
    text-align: right !important;
}

.ballaxy-clean-stat-row .stat-middle span {
    display: block !important;
    margin-bottom: 5px !important;
    color: rgba(255,255,255,.76) !important;
    font-size: .9rem !important;
    text-align: center !important;
    font-weight: 850 !important;
}

.ballaxy-clean-stat-row .stat-track {
    height: 10px !important;
    border-radius: 999px !important;
    background: #1b1b1b !important;
    overflow: hidden !important;
}

.ballaxy-clean-stat-row .stat-track em {
    display: block !important;
    height: 100% !important;
    border-radius: inherit !important;
    background: #fff !important;
}

/* Standings: uses global .ballaxy-standings-card from league/homepage */
.ballaxy-match-standings-same {
    padding: 0 !important;
    background: transparent !important;
}

.ballaxy-match-standings-same .ballaxy-league-section-head {
    margin-bottom: 18px !important;
}

.ballaxy-match-standings-same .ballaxy-standings-card {
    background: #303030 !important;
}

/* Lineups */
.ballaxy-lineup-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px !important;
}

.ballaxy-lineup-card {
    min-width: 0 !important;
    padding: 18px !important;
    border-radius: 7px !important;
    background: #202020 !important;
}

.ballaxy-lineup-card h3 {
    margin: 0 0 6px !important;
    color: #fff !important;
    font-size: 1.15rem !important;
    font-weight: 950 !important;
}

.ballaxy-lineup-card p {
    margin: 0 0 14px !important;
    color: #ffd000 !important;
    font-size: .9rem !important;
    font-weight: 900 !important;
}

.ballaxy-match-player-list {
    display: grid !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.ballaxy-match-player-list li {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    min-height: 42px !important;
    padding: 8px !important;
    border-radius: 6px !important;
    background: #303030 !important;
}

.ballaxy-match-player-list .num {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 28px !important;
    flex: 0 0 28px !important;
    border-radius: 999px !important;
    background: #ffd000 !important;
    color: #111 !important;
    font-size: .75rem !important;
    font-weight: 950 !important;
}

.ballaxy-match-player-list .info {
    display: grid !important;
    min-width: 0 !important;
}

.ballaxy-match-player-list strong {
    color: #fff !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: .98rem !important;
}

.ballaxy-match-player-list small {
    color: rgba(255,255,255,.62) !important;
    font-size: .82rem !important;
}

.ballaxy-match-empty {
    padding: 14px !important;
    border-radius: 7px !important;
    background: #202020 !important;
    color: rgba(255,255,255,.72) !important;
    font-size: 1rem !important;
    font-weight: 850 !important;
}

@media (max-width: 900px) {
    .ballaxy-lineup-grid {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 760px) {
    .ballaxy-match-clean .ballaxy-match-container {
        width: calc(100vw - 28px) !important;
    }

    .ballaxy-clean-hero-card,
    .ballaxy-clean-panel {
        padding: 18px !important;
    }

    .ballaxy-clean-scoreboard {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }

    .ballaxy-clean-team,
    .ballaxy-clean-team.is-away {
        justify-content: center !important;
        text-align: center !important;
    }

    .ballaxy-clean-team strong {
        font-size: 1.45rem !important;
    }

    .ballaxy-clean-team img {
        width: 58px !important;
        height: 58px !important;
        flex-basis: 58px !important;
    }

    .ballaxy-clean-score span {
        font-size: 2.7rem !important;
    }

    .ballaxy-clean-panel-head h2 {
        font-size: 1.45rem !important;
    }

    .ballaxy-clean-events-teams {
        padding: 22px 18px !important;
    }

    .ballaxy-clean-events-teams img {
        width: 58px !important;
        height: 58px !important;
    }

    .ballaxy-clean-event {
        grid-template-columns: minmax(0, 1fr) 60px minmax(0, 1fr) !important;
        min-height: 84px !important;
        padding: 0 16px !important;
    }

    .ballaxy-clean-event .event-copy strong {
        font-size: .98rem !important;
    }

    .ballaxy-clean-event .event-copy span,
    .ballaxy-clean-event .event-copy small {
        font-size: .82rem !important;
    }

    .ballaxy-clean-event .event-minute {
        font-size: .92rem !important;
    }
}


/* Stage 73 sidebar details */
.ballaxy-match-layout-with-sidebar {
    display: grid !important;
    grid-template-columns: 330px minmax(0, 1fr) !important;
    gap: 24px !important;
    align-items: start !important;
}

.ballaxy-match-sidebar {
    display: grid !important;
    gap: 18px !important;
    position: sticky !important;
    top: 96px !important;
}

.ballaxy-match-details-box {
    padding: 24px 22px !important;
    border-radius: 8px !important;
    background: #303030 !important;
}

.ballaxy-match-details-box h2 {
    margin: 0 0 18px !important;
    padding-bottom: 14px !important;
    border-bottom: 1px solid rgba(255,255,255,.14) !important;
    color: #fff !important;
    font-size: 1.55rem !important;
    line-height: 1 !important;
    letter-spacing: -.045em !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
}

.ballaxy-match-details-list {
    display: grid !important;
}

.ballaxy-match-details-list div {
    display: grid !important;
    gap: 5px !important;
    padding: 12px 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.1) !important;
}

.ballaxy-match-details-list div:last-child {
    border-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.ballaxy-match-details-list span {
    color: rgba(255,255,255,.58) !important;
    font-size: .78rem !important;
    line-height: 1.15 !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
}

.ballaxy-match-details-list strong {
    color: #fff !important;
    font-size: .98rem !important;
    line-height: 1.25 !important;
    font-weight: 950 !important;
}

@media (max-width: 980px) {
    .ballaxy-match-layout-with-sidebar {
        grid-template-columns: 1fr !important;
    }

    .ballaxy-match-sidebar {
        position: static !important;
        order: 2 !important;
    }

    .ballaxy-match-main-single {
        order: 1 !important;
    }
}

@media (max-width: 760px) {
    .ballaxy-match-details-box {
        padding: 18px !important;
    }

    .ballaxy-match-details-box h2 {
        font-size: 1.35rem !important;
    }
}











/* =========================================================
   Ballaxy Stage 83 — clean match page CSS, exact event/stat alignment
   ========================================================= */

/* Sidebar layout */
.ballaxy-match-layout-with-sidebar {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 330px !important;
    gap: 24px !important;
    align-items: start !important;
}

.ballaxy-match-sidebar {
    grid-column: 2 !important;
    grid-row: 1 !important;
    display: grid !important;
    gap: 18px !important;
    position: sticky !important;
    top: 96px !important;
}

.ballaxy-match-main-single {
    grid-column: 1 !important;
    grid-row: 1 !important;
    display: grid !important;
    gap: 20px !important;
    min-width: 0 !important;
}

.ballaxy-match-details-box {
    padding: 24px 22px !important;
    border-radius: 8px !important;
    background: #303030 !important;
}

.ballaxy-match-details-box h2 {
    margin: 0 0 18px !important;
    padding-bottom: 14px !important;
    border-bottom: 1px solid rgba(255,255,255,.14) !important;
    color: #fff !important;
    font-size: 1.55rem !important;
    line-height: 1 !important;
    letter-spacing: -.045em !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
}

.ballaxy-match-details-list {
    display: grid !important;
}

.ballaxy-match-details-list div {
    display: grid !important;
    gap: 5px !important;
    padding: 12px 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.1) !important;
}

.ballaxy-match-details-list div:last-child {
    border-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.ballaxy-match-details-list span {
    color: rgba(255,255,255,.58) !important;
    font-size: .78rem !important;
    line-height: 1.15 !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
}

.ballaxy-match-details-list strong {
    color: #fff !important;
    font-size: .98rem !important;
    line-height: 1.25 !important;
    font-weight: 950 !important;
}

/* Panels */
.ballaxy-clean-panel {
    min-width: 0 !important;
    overflow: hidden !important;
}

/* Shared team-logo row: used by BOTH Key Events and Stats */
.ballaxy-clean-events-teams,
.ballaxy-clean-stats-teams {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    align-items: start !important;
    width: 100% !important;
    padding: 28px 32px 20px !important;
    margin: 0 !important;
}

.ballaxy-clean-events-teams > div,
.ballaxy-clean-stats-teams > div {
    display: grid !important;
    gap: 8px !important;
    color: #fff !important;
    font-size: 1.05rem !important;
    line-height: 1 !important;
    font-weight: 950 !important;
    text-align: center !important;
}

.ballaxy-clean-events-teams > div:first-child,
.ballaxy-clean-stats-teams > div:first-child {
    justify-self: start !important;
    justify-items: center !important;
}

.ballaxy-clean-events-teams > div:last-child,
.ballaxy-clean-stats-teams > div:last-child {
    justify-self: end !important;
    justify-items: center !important;
}

.ballaxy-clean-events-teams a,
.ballaxy-clean-stats-teams a {
    display: grid !important;
    justify-items: center !important;
    gap: 8px !important;
    color: #fff !important;
    text-decoration: none !important;
}

.ballaxy-clean-events-teams a:hover span,
.ballaxy-clean-stats-teams a:hover span {
    color: #ffd000 !important;
}

.ballaxy-clean-events-teams img,
.ballaxy-clean-stats-teams img {
    width: 78px !important;
    height: 78px !important;
    object-fit: contain !important;
}

/* Key Events rows */
.ballaxy-clean-events {
    width: 100% !important;
    padding: 0 !important;
    border-radius: 8px !important;
    background: #303030 !important;
    overflow: hidden !important;
}

.ballaxy-clean-event-list {
    display: grid !important;
    width: 100% !important;
    max-width: none !important;
    gap: 0 !important;
    margin: 0 !important;
}

.ballaxy-clean-event-list::before {
    display: none !important;
}

.ballaxy-clean-event-final {
    display: grid !important;
    place-items: center !important;
    min-height: 84px !important;
    background: #303030 !important;
    border-top: 1px solid rgba(255,255,255,.055) !important;
    color: #fff !important;
}

.ballaxy-clean-event-final .event-final-icon {
    display: none !important;
}

.ballaxy-clean-event-final strong {
    font-size: 1rem !important;
    font-weight: 950 !important;
}

.ballaxy-clean-event {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 74px minmax(0, 1fr) !important;
    align-items: center !important;
    min-height: 92px !important;
    padding: 0 24px !important;
    border-top: 1px solid rgba(255,255,255,.055) !important;
    background: #303030 !important;
}

.ballaxy-clean-event:nth-child(even) {
    background: #292929 !important;
}

.ballaxy-clean-event .event-minute {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: center !important;
    color: #fff !important;
    font-size: 1.02rem !important;
    font-weight: 500 !important;
    text-align: center !important;
}

.ballaxy-clean-event .event-content {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    max-width: 310px !important;
    min-width: 0 !important;
}

.ballaxy-clean-event.is-home .event-content {
    grid-column: 1 !important;
    justify-self: end !important;
    text-align: right !important;
}

.ballaxy-clean-event.is-away .event-content {
    grid-column: 3 !important;
    justify-self: start !important;
    text-align: left !important;
}

.ballaxy-clean-event .event-copy {
    display: grid !important;
    gap: 1px !important;
    min-width: 0 !important;
    max-width: none !important;
    padding: 0 !important;
    background: transparent !important;
}

.ballaxy-clean-event.is-home .event-copy {
    justify-items: end !important;
}

.ballaxy-clean-event.is-away .event-copy {
    justify-items: start !important;
}

.ballaxy-clean-event .event-copy strong {
    display: block !important;
    color: #fff !important;
    font-size: 1.18rem !important;
    line-height: 1.08 !important;
    font-weight: 950 !important;
}

.ballaxy-clean-event .event-copy small {
    display: block !important;
    color: rgba(255,255,255,.82) !important;
    font-size: 1rem !important;
    line-height: 1.18 !important;
    font-weight: 500 !important;
}

.ballaxy-clean-event .event-copy span:not(.event-icon) {
    display: block !important;
    color: rgba(255,255,255,.74) !important;
    font-size: .9rem !important;
    line-height: 1.15 !important;
    font-weight: 650 !important;
    text-transform: none !important;
}

/* Modern icons */
.ballaxy-clean-event .event-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 30px !important;
    width: 30px !important;
    height: 30px !important;
    color: #ffd000 !important;
    line-height: 1 !important;
}

.ballaxy-clean-event .event-icon svg,
.ballaxy-clean-event .event-icon .ballaxy-event-svg {
    display: block !important;
    width: 28px !important;
    height: 28px !important;
}

.ballaxy-clean-event .event-icon .ballaxy-event-svg-sub {
    width: 32px !important;
    height: 32px !important;
    overflow: visible !important;
}

.ballaxy-clean-event.is-sub .event-icon {
    color: inherit !important;
}

.ballaxy-clean-event.is-yellow-card .event-icon {
    color: #ffd84a !important;
}

.ballaxy-clean-event.is-red-card .event-icon {
    color: #dc2548 !important;
}

.ballaxy-clean-event.is-yellow-card .event-copy span:not(.event-icon),
.ballaxy-clean-event.is-red-card .event-copy span:not(.event-icon) {
    text-transform: none !important;
}

/* Stats: same logo row, values aligned to the exact bar edges */
.ballaxy-clean-stats {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 0 8px !important;
}

.ballaxy-clean-stats-head {
    display: none !important;
}

.ballaxy-clean-stat-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    width: 100% !important;
    margin: 0 0 24px !important;
    padding: 0 32px !important;
}

.ballaxy-clean-stat-row .stat-line {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
}

.ballaxy-clean-stat-row .stat-line strong {
    color: #fff !important;
    font-size: 1.35rem !important;
    line-height: 1 !important;
    font-weight: 950 !important;
}

.ballaxy-clean-stat-row .stat-line .stat-home-value {
    justify-self: start !important;
    text-align: left !important;
}

.ballaxy-clean-stat-row .stat-line .stat-away-value {
    justify-self: end !important;
    text-align: right !important;
}

.ballaxy-clean-stat-row .stat-line span {
    justify-self: center !important;
    color: rgba(255,255,255,.86) !important;
    font-size: 1.05rem !important;
    line-height: 1.1 !important;
    font-weight: 500 !important;
    text-align: center !important;
}

.ballaxy-clean-stat-row .stat-bars {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 10px !important;
    width: 100% !important;
    padding: 0 !important;
}

.ballaxy-clean-stat-row .stat-bar {
    position: relative !important;
    height: 10px !important;
    border-radius: 2px !important;
    overflow: hidden !important;
    background: #151515 !important;
}

.ballaxy-clean-stat-row .stat-bar em {
    position: absolute !important;
    top: 0 !important;
    height: 100% !important;
    display: block !important;
    border-radius: 2px !important;
    background: #f4f4f4 !important;
}

.ballaxy-clean-stat-row .stat-bar-home em {
    right: 0 !important;
    left: auto !important;
}

.ballaxy-clean-stat-row .stat-bar-away em {
    left: 0 !important;
    right: auto !important;
}

.ballaxy-clean-stat-row .stat-middle,
.ballaxy-clean-stat-row .stat-track {
    display: none !important;
}

@media (max-width: 1100px) {
    .ballaxy-match-layout-with-sidebar {
        grid-template-columns: minmax(0, 1fr) 300px !important;
        gap: 20px !important;
    }
}

@media (max-width: 980px) {
    .ballaxy-match-layout-with-sidebar {
        grid-template-columns: 1fr !important;
    }

    .ballaxy-match-main-single {
        grid-column: 1 !important;
        grid-row: 1 !important;
    }

    .ballaxy-match-sidebar {
        grid-column: 1 !important;
        grid-row: 2 !important;
        position: static !important;
    }
}

@media (max-width: 760px) {
    .ballaxy-clean-events-teams,
    .ballaxy-clean-stats-teams {
        padding: 22px 18px 18px !important;
    }

    .ballaxy-clean-events-teams img,
    .ballaxy-clean-stats-teams img {
        width: 58px !important;
        height: 58px !important;
    }

    .ballaxy-clean-events-teams > div,
    .ballaxy-clean-stats-teams > div,
    .ballaxy-clean-events-teams a,
    .ballaxy-clean-stats-teams a {
        font-size: .9rem !important;
    }

    .ballaxy-clean-event {
        grid-template-columns: minmax(0, 1fr) 58px minmax(0, 1fr) !important;
        min-height: 84px !important;
        padding: 0 14px !important;
    }

    .ballaxy-clean-event .event-content {
        max-width: 100% !important;
        gap: 7px !important;
    }

    .ballaxy-clean-event .event-copy strong {
        font-size: .98rem !important;
    }

    .ballaxy-clean-event .event-copy small {
        font-size: .84rem !important;
    }

    .ballaxy-clean-event .event-copy span:not(.event-icon) {
        font-size: .76rem !important;
    }

    .ballaxy-clean-event .event-icon {
        flex-basis: 24px !important;
        width: 24px !important;
        height: 24px !important;
    }

    .ballaxy-clean-event .event-icon svg,
    .ballaxy-clean-event .event-icon .ballaxy-event-svg {
        width: 23px !important;
        height: 23px !important;
    }

    .ballaxy-clean-stat-row {
        padding: 0 18px !important;
        margin-bottom: 22px !important;
    }

    .ballaxy-clean-stat-row .stat-line strong {
        font-size: 1.05rem !important;
    }

    .ballaxy-clean-stat-row .stat-line span {
        font-size: .86rem !important;
    }

    .ballaxy-clean-stat-row .stat-bars {
        gap: 8px !important;
    }

    .ballaxy-clean-stat-row .stat-bar {
        height: 8px !important;
    }
}



/* =========================================================
   Ballaxy Stage 85 — lineups and below full-width, no sidebar
   ========================================================= */

.ballaxy-match-fullwidth-after {
    display: grid !important;
    gap: 20px !important;
    width: 100% !important;
    margin-top: 20px !important;
}

.ballaxy-match-fullwidth-after .ballaxy-clean-panel {
    width: 100% !important;
}

.ballaxy-pitch-lineups-panel {
    grid-column: auto !important;
}

/* Bench under the pitch should also use the full content width */
.ballaxy-match-fullwidth-after .ballaxy-lineup-grid {
    width: 100% !important;
}

@media (max-width: 980px) {
    .ballaxy-match-fullwidth-after {
        margin-top: 20px !important;
    }
}


/* =========================================================
   Ballaxy Stage 86 — formation-based football pitch lineups
   ========================================================= */

.ballaxy-pitch-lineups-panel {
    grid-column: auto !important;
}

.ballaxy-pitch-meta {
    padding: 28px 32px 20px !important;
    margin: 0 !important;
}

.ballaxy-pitch-meta small {
    color: rgba(255,255,255,.68) !important;
    font-size: .82rem !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
}

.ballaxy-football-pitch {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    min-height: 650px !important;
    overflow: hidden !important;
    border: 3px solid rgba(255,255,255,.88) !important;
    border-radius: 10px !important;
    background:
        radial-gradient(circle at center, rgba(255,255,255,.05) 0 10%, transparent 10.5% 100%),
        repeating-linear-gradient(115deg, rgba(255,255,255,.035) 0 36px, transparent 36px 72px),
        linear-gradient(90deg, #2e8e2e, #389d34 50%, #2e8e2e) !important;
}

.ballaxy-pitch-markings,
.ballaxy-pitch-markings span {
    pointer-events: none !important;
}

.ballaxy-pitch-markings {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
}

.ballaxy-pitch-markings .center-line {
    position: absolute !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 50% !important;
    width: 3px !important;
    background: rgba(255,255,255,.88) !important;
    transform: translateX(-50%) !important;
}

.ballaxy-pitch-markings .center-circle {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 152px !important;
    height: 152px !important;
    border: 3px solid rgba(255,255,255,.88) !important;
    border-radius: 50% !important;
    transform: translate(-50%, -50%) !important;
}

.ballaxy-pitch-markings .home-box,
.ballaxy-pitch-markings .away-box {
    position: absolute !important;
    top: 29% !important;
    width: 112px !important;
    height: 42% !important;
    border: 3px solid rgba(255,255,255,.88) !important;
}

.ballaxy-pitch-markings .home-box {
    left: -3px !important;
    border-left: 0 !important;
}

.ballaxy-pitch-markings .away-box {
    right: -3px !important;
    border-right: 0 !important;
}

.ballaxy-pitch-markings .home-six,
.ballaxy-pitch-markings .away-six {
    position: absolute !important;
    top: 39% !important;
    width: 55px !important;
    height: 22% !important;
    border: 3px solid rgba(255,255,255,.88) !important;
}

.ballaxy-pitch-markings .home-six {
    left: -3px !important;
    border-left: 0 !important;
}

.ballaxy-pitch-markings .away-six {
    right: -3px !important;
    border-right: 0 !important;
}

.ballaxy-pitch-side {
    position: relative !important;
    z-index: 2 !important;
    display: grid !important;
    grid-auto-flow: column !important;
    grid-auto-columns: minmax(74px, 1fr) !important;
    align-items: stretch !important;
    gap: 8px !important;
    padding: 42px 30px !important;
    min-width: 0 !important;
}

.ballaxy-pitch-home {
    grid-column: 1 !important;
    padding-right: 48px !important;
}

.ballaxy-pitch-away {
    grid-column: 2 !important;
    padding-left: 48px !important;
}

.ballaxy-pitch-line {
    position: relative !important;
    display: grid !important;
    grid-template-rows: repeat(var(--line-count), minmax(0, 1fr)) !important;
    align-items: center !important;
    justify-items: center !important;
    height: 100% !important;
    min-width: 0 !important;
}

.ballaxy-pitch-line::before {
    content: attr(data-role) !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) rotate(-90deg) !important;
    color: rgba(255,255,255,.16) !important;
    font-size: .7rem !important;
    line-height: 1 !important;
    font-weight: 950 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    pointer-events: none !important;
    white-space: nowrap !important;
}

.ballaxy-pitch-player {
    display: grid !important;
    justify-items: center !important;
    gap: 6px !important;
    max-width: 124px !important;
    min-width: 0 !important;
    text-align: center !important;
    color: #fff !important;
}

.ballaxy-pitch-number {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 48px !important;
    height: 48px !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #111 !important;
    font-size: 1.55rem !important;
    line-height: 1 !important;
    font-weight: 950 !important;
    box-shadow: 0 4px 12px rgba(0,0,0,.18) !important;
}

.ballaxy-pitch-away .ballaxy-pitch-number {
    background: #050505 !important;
    color: #fff !important;
}

.ballaxy-pitch-player strong {
    display: block !important;
    max-width: 124px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    color: #fff !important;
    font-size: .86rem !important;
    line-height: 1.12 !important;
    font-weight: 850 !important;
    text-shadow: 0 1px 3px rgba(0,0,0,.45) !important;
}

.ballaxy-pitch-home .ballaxy-pitch-line:nth-child(2),
.ballaxy-pitch-away .ballaxy-pitch-line:nth-last-child(2) {
    padding-top: 18px !important;
    padding-bottom: 18px !important;
}

.ballaxy-pitch-home .ballaxy-pitch-line:last-child,
.ballaxy-pitch-away .ballaxy-pitch-line:first-child {
    padding-top: 46px !important;
    padding-bottom: 46px !important;
}

@media (max-width: 1100px) {
    .ballaxy-football-pitch {
        min-height: 560px !important;
    }

    .ballaxy-pitch-side {
        padding: 34px 20px !important;
        grid-auto-columns: minmax(60px, 1fr) !important;
    }

    .ballaxy-pitch-home {
        padding-right: 34px !important;
    }

    .ballaxy-pitch-away {
        padding-left: 34px !important;
    }

    .ballaxy-pitch-number {
        width: 42px !important;
        height: 42px !important;
        font-size: 1.3rem !important;
    }

    .ballaxy-pitch-player strong {
        font-size: .74rem !important;
        max-width: 96px !important;
    }
}

@media (max-width: 760px) {
    .ballaxy-pitch-meta {
        padding: 22px 18px 18px !important;
    }

    .ballaxy-football-pitch {
        min-height: 820px !important;
        grid-template-columns: 1fr !important;
        grid-template-rows: 1fr 1fr !important;
    }

    .ballaxy-pitch-markings .center-line {
        top: 50% !important;
        left: 0 !important;
        right: 0 !important;
        bottom: auto !important;
        width: 100% !important;
        height: 3px !important;
        transform: translateY(-50%) !important;
    }

    .ballaxy-pitch-markings .center-circle {
        width: 110px !important;
        height: 110px !important;
    }

    .ballaxy-pitch-markings .home-box,
    .ballaxy-pitch-markings .away-box,
    .ballaxy-pitch-markings .home-six,
    .ballaxy-pitch-markings .away-six {
        display: none !important;
    }

    .ballaxy-pitch-home {
        grid-column: 1 !important;
        grid-row: 1 !important;
        padding: 22px 12px 34px !important;
    }

    .ballaxy-pitch-away {
        grid-column: 1 !important;
        grid-row: 2 !important;
        padding: 34px 12px 22px !important;
    }

    .ballaxy-pitch-side {
        grid-auto-flow: row !important;
        grid-auto-rows: minmax(0, 1fr) !important;
        grid-auto-columns: auto !important;
    }

    .ballaxy-pitch-line {
        grid-template-columns: repeat(var(--line-count), minmax(0, 1fr)) !important;
        grid-template-rows: none !important;
        width: 100% !important;
    }

    .ballaxy-pitch-line::before {
        display: none !important;
    }

    .ballaxy-pitch-away {
        transform: rotate(180deg) !important;
    }

    .ballaxy-pitch-away .ballaxy-pitch-player {
        transform: rotate(180deg) !important;
    }
}


/* =========================================================
   Ballaxy Stage 87 — formation player ordering fixes
   ========================================================= */

/* Make sure the pitch order is not visually reversed by older transforms */
.ballaxy-pitch-home {
    direction: ltr !important;
}

.ballaxy-pitch-away {
    direction: ltr !important;
}

/* Keep forwards closest to the centre line with the PHP row order */
.ballaxy-pitch-home .ballaxy-pitch-line:last-child {
    padding-top: 42px !important;
    padding-bottom: 42px !important;
}

.ballaxy-pitch-away .ballaxy-pitch-line:first-child {
    padding-top: 42px !important;
    padding-bottom: 42px !important;
}


/* =========================================================
   Ballaxy Stage 88 — fixed lineup formation ordering
   ========================================================= */

.ballaxy-pitch-home,
.ballaxy-pitch-away {
    direction: ltr !important;
}

.ballaxy-pitch-home {
    grid-column: 1 !important;
}

.ballaxy-pitch-away {
    grid-column: 2 !important;
}

.ballaxy-pitch-home .ballaxy-pitch-line:last-child,
.ballaxy-pitch-away .ballaxy-pitch-line:first-child {
    padding-top: 46px !important;
    padding-bottom: 46px !important;
}


/* =========================================================
   Ballaxy Stage 89 — pitch cleanup + substitutes list
   ========================================================= */

/* Use the same dark section feel as the league/home sections */
.ballaxy-pitch-lineups-panel,
.ballaxy-substitutes-panel {
    background: #303030 !important;
}

/* Remove the logo/formation strip above the pitch if cached markup exists */
.ballaxy-pitch-lineups-panel .ballaxy-pitch-meta {
    display: none !important;
}

/* Remove position role labels from the pitch */
.ballaxy-pitch-line::before {
    display: none !important;
    content: none !important;
}

/* Give the pitch breathing room now that the logo row is removed */
.ballaxy-football-pitch {
    margin-top: 8px !important;
}

/* Substitutes section, styled like lineup cards in the reference */
.ballaxy-substitutes-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px !important;
}

.ballaxy-substitutes-card {
    overflow: hidden !important;
    border-radius: 8px !important;
    background: #2b2b2b !important;
}

.ballaxy-substitutes-card h3 {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    min-height: 78px !important;
    margin: 0 !important;
    padding: 18px 22px !important;
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
    background: #303030 !important;
    color: #fff !important;
    font-size: 1.65rem !important;
    line-height: 1 !important;
    letter-spacing: -.04em !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
}

.ballaxy-substitutes-card h3 img {
    width: 48px !important;
    height: 48px !important;
    object-fit: contain !important;
    flex: 0 0 48px !important;
}

.ballaxy-substitutes-card .ballaxy-match-player-list {
    gap: 0 !important;
}

.ballaxy-substitutes-card .ballaxy-match-player-list li {
    min-height: 54px !important;
    margin: 0 !important;
    padding: 12px 18px !important;
    border-radius: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.035) !important;
    background: #303030 !important;
}

.ballaxy-substitutes-card .ballaxy-match-player-list li:nth-child(even) {
    background: #292929 !important;
}

.ballaxy-substitutes-card .ballaxy-match-player-list li:last-child {
    border-bottom: 0 !important;
}

.ballaxy-substitutes-card .ballaxy-match-player-list .num {
    width: 38px !important;
    height: auto !important;
    flex: 0 0 38px !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #fff !important;
    font-size: 1.2rem !important;
    font-weight: 950 !important;
}

.ballaxy-substitutes-card .ballaxy-match-player-list .info {
    min-width: 0 !important;
}

.ballaxy-substitutes-card .ballaxy-match-player-list strong {
    color: #fff !important;
    font-size: 1.02rem !important;
    line-height: 1.1 !important;
    font-weight: 700 !important;
}

.ballaxy-substitutes-card .ballaxy-match-player-list small {
    color: rgba(255,255,255,.58) !important;
    font-size: .78rem !important;
}

@media (max-width: 900px) {
    .ballaxy-substitutes-grid {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 640px) {
    .ballaxy-substitutes-card h3 {
        min-height: 64px !important;
        padding: 14px 16px !important;
        font-size: 1.28rem !important;
    }

    .ballaxy-substitutes-card h3 img {
        width: 40px !important;
        height: 40px !important;
        flex-basis: 40px !important;
    }
}


/* =========================================================
   Ballaxy Stage 90 — darker lineups/substitutes sections
   ========================================================= */

.ballaxy-pitch-lineups-panel,
.ballaxy-substitutes-panel {
    background: #202020 !important;
}

.ballaxy-pitch-lineups-panel .ballaxy-clean-panel-head,
.ballaxy-substitutes-panel .ballaxy-clean-panel-head {
    background: transparent !important;
}

.ballaxy-substitutes-card {
    background: #242424 !important;
}

.ballaxy-substitutes-card h3 {
    background: #242424 !important;
}

.ballaxy-substitutes-card .ballaxy-match-player-list li {
    background: #242424 !important;
}

.ballaxy-substitutes-card .ballaxy-match-player-list li:nth-child(even) {
    background: #1f1f1f !important;
}


/* =========================================================
   Ballaxy Stage 91 — match page section/container structure
   ========================================================= */

.ballaxy-match-top-section {
    padding-top: 34px !important;
    padding-bottom: 42px !important;
    background: #202020 !important;
}

.ballaxy-match-lineups-section {
    padding-top: 46px !important;
    padding-bottom: 52px !important;
    background: #171717 !important;
}

.ballaxy-match-top-section .ballaxy-container,
.ballaxy-match-lineups-section .ballaxy-container {
    width: min(1180px, calc(100vw - 48px)) !important;
    max-width: 1180px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.ballaxy-match-hero-clean {
    padding: 0 !important;
}

.ballaxy-match-top-section .ballaxy-clean-hero-card {
    margin-bottom: 0 !important;
}

.ballaxy-match-tabs {
    margin-bottom: 34px !important;
}

/* Same overall idea as homepage top-grid, but sidebar is on the right */
.ballaxy-match-layout-with-sidebar {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 330px !important;
    gap: 24px !important;
    align-items: start !important;
}

.ballaxy-match-main-single {
    grid-column: 1 !important;
    grid-row: 1 !important;
    display: grid !important;
    gap: 20px !important;
    min-width: 0 !important;
}

.ballaxy-match-sidebar {
    grid-column: 2 !important;
    grid-row: 1 !important;
    display: grid !important;
    gap: 18px !important;
    position: sticky !important;
    top: 96px !important;
}

/* Keep the sidebar block visually close to homepage Breaking News sizing */
.ballaxy-match-details-box {
    border-radius: 8px !important;
    background: #303030 !important;
    padding: 24px 22px !important;
}

.ballaxy-match-details-box h2 {
    margin: 0 0 18px !important;
    padding-bottom: 14px !important;
    border-bottom: 1px solid rgba(255,255,255,.16) !important;
}

/* Lineups live in their own darker section now */
.ballaxy-match-fullwidth-after {
    display: grid !important;
    gap: 20px !important;
    width: 100% !important;
    margin: 0 !important;
}

.ballaxy-match-lineups-section .ballaxy-pitch-lineups-panel,
.ballaxy-match-lineups-section .ballaxy-substitutes-panel {
    background: #202020 !important;
}

@media (max-width: 980px) {
    .ballaxy-match-layout-with-sidebar {
        grid-template-columns: 1fr !important;
    }

    .ballaxy-match-main-single {
        grid-column: 1 !important;
        grid-row: 1 !important;
    }

    .ballaxy-match-sidebar {
        grid-column: 1 !important;
        grid-row: 2 !important;
        position: static !important;
    }
}

@media (max-width: 760px) {
    .ballaxy-match-top-section .ballaxy-container,
    .ballaxy-match-lineups-section .ballaxy-container {
        width: calc(100vw - 28px) !important;
    }

    .ballaxy-match-top-section {
        padding-top: 24px !important;
        padding-bottom: 34px !important;
    }

    .ballaxy-match-lineups-section {
        padding-top: 34px !important;
        padding-bottom: 40px !important;
    }
}


/* =========================================================
   Ballaxy Stage 92 — substitutes heading/background fix
   ========================================================= */

.ballaxy-substitutes-panel {
    padding-top: 0 !important;
}

.ballaxy-substitutes-panel > .ballaxy-clean-panel-head {
    display: none !important;
}

.ballaxy-substitutes-card {
    background: #242424 !important;
    overflow: hidden !important;
}

.ballaxy-substitutes-card .ballaxy-match-player-list {
    display: grid !important;
    align-content: start !important;
    gap: 0 !important;
    min-height: 0 !important;
    background: #242424 !important;
}

.ballaxy-substitutes-card .ballaxy-match-player-list li {
    width: 100% !important;
    background: #242424 !important;
}

.ballaxy-substitutes-card .ballaxy-match-player-list li:nth-child(even) {
    background: #1f1f1f !important;
}

/* Keep empty space under shorter bench lists the same card color */
.ballaxy-substitutes-card::after {
    content: "" !important;
    display: block !important;
    height: 0 !important;
    background: #242424 !important;
}


/* =========================================================
   Ballaxy Stage 93 — match standings + related posts sections
   ========================================================= */

.ballaxy-match-standings-section,
.ballaxy-match-related-section {
    padding-top: 46px !important;
    padding-bottom: 52px !important;
}

.ballaxy-match-standings-section {
    background: #202020 !important;
}

.ballaxy-match-related-section {
    background: #171717 !important;
}

.ballaxy-match-standings-section .ballaxy-container,
.ballaxy-match-related-section .ballaxy-container {
    width: min(1180px, calc(100vw - 48px)) !important;
    max-width: 1180px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.ballaxy-match-standings-section .ballaxy-standings-block {
    margin: 0 !important;
}

.ballaxy-match-related-section .ballaxy-grid-4 {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 24px !important;
}

@media (max-width: 1024px) {
    .ballaxy-match-related-section .ballaxy-grid-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 640px) {
    .ballaxy-match-standings-section .ballaxy-container,
    .ballaxy-match-related-section .ballaxy-container {
        width: calc(100vw - 28px) !important;
    }

    .ballaxy-match-related-section .ballaxy-grid-4 {
        grid-template-columns: 1fr !important;
    }
}






/* =========================================================
   Ballaxy Stage 96 — clean custom match comments
   ========================================================= */

.ballaxy-match-comments-block {
    margin: 0 0 42px !important;
}

.ballaxy-match-comments-block .ballaxy-section-head h2 {
    text-transform: uppercase !important;
}

.ballaxy-match-comments-card {
    padding: 28px !important;
    border-radius: 8px !important;
    background: #242424 !important;
    color: #fff !important;
}

.ballaxy-match-comment-form {
    max-width: 760px !important;
    margin: 0 0 34px !important;
}

.ballaxy-comment-login {
    margin: 0 0 14px !important;
    color: rgba(255,255,255,.62) !important;
    font-size: .95rem !important;
    line-height: 1.35 !important;
}

.ballaxy-comment-login strong {
    color: #fff !important;
    font-weight: 900 !important;
}

.ballaxy-comment-login a {
    color: #ffd000 !important;
    font-weight: 850 !important;
    text-decoration: none !important;
}

.ballaxy-comment-fields {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
    margin-bottom: 12px !important;
}

.ballaxy-comment-form input[type="text"],
.ballaxy-comment-form input[type="email"],
.ballaxy-comment-form textarea {
    width: 100% !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    border-radius: 6px !important;
    background: #1b1b1b !important;
    color: #fff !important;
    padding: 13px 15px !important;
    font-size: 1rem !important;
    line-height: 1.4 !important;
    outline: none !important;
}

.ballaxy-comment-form input:focus,
.ballaxy-comment-form textarea:focus {
    border-color: rgba(255,208,0,.65) !important;
}

.ballaxy-comment-form textarea {
    min-height: 104px !important;
    resize: vertical !important;
}

.ballaxy-comment-submit-row {
    display: flex !important;
    justify-content: flex-end !important;
    margin-top: 14px !important;
}

.ballaxy-comment-submit-row button {
    border: 0 !important;
    border-radius: 999px !important;
    background: #ffd000 !important;
    color: #111 !important;
    padding: 13px 24px !important;
    font-size: .9rem !important;
    line-height: 1 !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
}

.ballaxy-match-comment-list {
    display: grid !important;
    gap: 0 !important;
    max-width: 920px !important;
}

.ballaxy-comment-item {
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr) !important;
    gap: 16px !important;
    padding: 22px 0 !important;
    border-top: 1px solid rgba(255,255,255,.16) !important;
    background: transparent !important;
}

.ballaxy-comment-item:first-child {
    border-top: 0 !important;
    padding-top: 0 !important;
}

.ballaxy-comment-avatar,
.ballaxy-comment-avatar-wrap img {
    width: 44px !important;
    height: 44px !important;
    border-radius: 999px !important;
    display: block !important;
}

.ballaxy-comment-main {
    min-width: 0 !important;
}

.ballaxy-comment-head {
    display: flex !important;
    align-items: baseline !important;
    gap: 10px !important;
    margin-bottom: 8px !important;
}

.ballaxy-comment-head strong {
    color: #fff !important;
    font-size: 1rem !important;
    line-height: 1.2 !important;
    font-weight: 950 !important;
}

.ballaxy-comment-head span {
    color: rgba(255,255,255,.48) !important;
    font-size: .9rem !important;
    line-height: 1.2 !important;
}

.ballaxy-comment-text {
    color: rgba(255,255,255,.88) !important;
    font-size: 1rem !important;
    line-height: 1.55 !important;
}

.ballaxy-comment-text p {
    margin: 0 0 8px !important;
}

.ballaxy-comment-actions {
    margin-top: 8px !important;
}

.ballaxy-comment-actions a {
    color: rgba(255,255,255,.55) !important;
    font-size: .92rem !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

.ballaxy-comment-actions a:hover {
    color: #ffd000 !important;
}

.ballaxy-comment-children {
    margin: 18px 0 0 -30px !important;
    padding-left: 28px !important;
    border-left: 1px solid rgba(255,255,255,.22) !important;
}

.ballaxy-comment-children .ballaxy-comment-item {
    padding-bottom: 0 !important;
}

.ballaxy-match-comments-card .comment-form-cookies-consent,
.ballaxy-match-comments-card .required-field-message {
    color: rgba(255,255,255,.56) !important;
}

@media (max-width: 760px) {
    .ballaxy-match-comments-card {
        padding: 20px !important;
    }

    .ballaxy-comment-fields {
        grid-template-columns: 1fr !important;
    }

    .ballaxy-comment-submit-row {
        justify-content: flex-start !important;
    }

    .ballaxy-comment-item {
        grid-template-columns: 38px minmax(0, 1fr) !important;
        gap: 12px !important;
        padding: 18px 0 !important;
    }

    .ballaxy-comment-avatar,
    .ballaxy-comment-avatar-wrap img {
        width: 38px !important;
        height: 38px !important;
    }

    .ballaxy-comment-head {
        flex-wrap: wrap !important;
        gap: 6px 10px !important;
    }

    .ballaxy-comment-children {
        margin-left: -18px !important;
        padding-left: 18px !important;
    }
}


/* =========================================================
   Ballaxy Stage 98 — comments English labels + matching widths
   ========================================================= */

.ballaxy-match-comment-form,
.ballaxy-match-comment-list {
    max-width: 760px !important;
}

.ballaxy-comment-submit-row button,
.ballaxy-comment-submit-row button:focus,
.ballaxy-comment-submit-row button:focus-visible,
.ballaxy-comment-form input:focus,
.ballaxy-comment-form textarea:focus {
    outline: none !important;
    box-shadow: none !important;
}

.ballaxy-comment-submit-row button:focus-visible {
    box-shadow: 0 0 0 2px rgba(255,208,0,.35) !important;
}

.ballaxy-comment-actions a {
    color: rgba(255,255,255,.62) !important;
}


/* =========================================================
   Ballaxy Stage 99 — AJAX comments + reply form behavior
   ========================================================= */

.ballaxy-reply-notice {
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin: 0 0 10px !important;
    padding: 10px 12px !important;
    border-radius: 6px !important;
    background: #1b1b1b !important;
    color: rgba(255,255,255,.78) !important;
    font-size: .92rem !important;
}

.ballaxy-reply-notice strong {
    color: #fff !important;
}

.ballaxy-reply-notice button {
    border: 0 !important;
    background: transparent !important;
    color: #ffd000 !important;
    font-weight: 900 !important;
    cursor: pointer !important;
}

.ballaxy-comment-submit-row button[disabled] {
    opacity: .65 !important;
    cursor: wait !important;
}


/* =========================================================
   Ballaxy Stage 100 — comments sidebar + reply styling
   ========================================================= */

.ballaxy-match-comments-section,
.ballaxy-match-standings-section {
    padding-top: 46px !important;
    padding-bottom: 52px !important;
    background: #202020 !important;
}

.ballaxy-match-comments-section .ballaxy-container,
.ballaxy-match-standings-section .ballaxy-container {
    width: min(1180px, calc(100vw - 48px)) !important;
    max-width: 1180px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.ballaxy-match-comments-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 330px !important;
    gap: 24px !important;
    align-items: start !important;
}

.ballaxy-match-comments-block {
    margin: 0 !important;
}

.ballaxy-match-comments-card {
    max-width: none !important;
}

.ballaxy-match-comment-form,
.ballaxy-match-comment-list {
    max-width: 760px !important;
}

.ballaxy-match-goals-sidebar {
    border-radius: 8px !important;
    background: #303030 !important;
    padding: 24px 22px !important;
    color: #fff !important;
    position: sticky !important;
    top: 96px !important;
}

.ballaxy-match-goals-sidebar h2 {
    margin: 0 0 18px !important;
    padding-bottom: 14px !important;
    border-bottom: 1px solid rgba(255,255,255,.16) !important;
    color: #fff !important;
    font-size: 1.55rem !important;
    line-height: 1 !important;
    letter-spacing: -.045em !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
}

.ballaxy-match-goals-sidebar p {
    margin: 0 !important;
    color: rgba(255,255,255,.66) !important;
}

.ballaxy-goals-sidebar-list {
    display: grid !important;
    gap: 0 !important;
}

.ballaxy-goals-sidebar-item {
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr) !important;
    gap: 12px !important;
    padding: 14px 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.1) !important;
}

.ballaxy-goals-sidebar-item:last-child {
    border-bottom: 0 !important;
}

.ballaxy-goals-sidebar-item .goal-minute {
    color: #ffd000 !important;
    font-size: .95rem !important;
    font-weight: 950 !important;
}

.ballaxy-goals-sidebar-item strong {
    display: block !important;
    color: #fff !important;
    font-size: .98rem !important;
    line-height: 1.15 !important;
    font-weight: 950 !important;
}

.ballaxy-goals-sidebar-item small,
.ballaxy-goals-sidebar-item em {
    display: block !important;
    margin-top: 3px !important;
    color: rgba(255,255,255,.62) !important;
    font-size: .82rem !important;
    line-height: 1.2 !important;
    font-style: normal !important;
}

.ballaxy-reply-notice {
    display: none;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin: 0 0 10px !important;
    padding: 10px 12px !important;
    border-radius: 6px !important;
    background: #1b1b1b !important;
    color: rgba(255,255,255,.78) !important;
    font-size: .92rem !important;
    line-height: 1.2 !important;
}

.ballaxy-reply-notice span {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
}

.ballaxy-reply-notice strong {
    color: #fff !important;
}

.ballaxy-reply-notice button {
    border: 0 !important;
    border-radius: 999px !important;
    background: rgba(255,208,0,.14) !important;
    color: #ffd000 !important;
    padding: 6px 10px !important;
    font-size: .78rem !important;
    line-height: 1 !important;
    font-weight: 950 !important;
    cursor: pointer !important;
}

@media (max-width: 980px) {
    .ballaxy-match-comments-layout {
        grid-template-columns: 1fr !important;
    }

    .ballaxy-match-goals-sidebar {
        position: static !important;
    }
}

@media (max-width: 640px) {
    .ballaxy-match-comments-section .ballaxy-container,
    .ballaxy-match-standings-section .ballaxy-container {
        width: calc(100vw - 28px) !important;
    }
}


/* =========================================================
   Ballaxy Stage 101 — goal scorers sidebar + comments bg
   ========================================================= */

.ballaxy-match-comments-card,
.ballaxy-match-goals-sidebar {
    background: #303030 !important;
}

.ballaxy-goals-sidebar-list {
    display: grid !important;
    gap: 0 !important;
}

.ballaxy-goals-sidebar-item {
    display: grid !important;
    grid-template-columns: 48px 44px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 14px 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.1) !important;
}

.ballaxy-goals-sidebar-item:last-child {
    border-bottom: 0 !important;
}

.ballaxy-goals-sidebar-item .goal-team {
    display: grid !important;
    justify-items: center !important;
    gap: 5px !important;
}

.ballaxy-goals-sidebar-item .goal-team img {
    width: 34px !important;
    height: 34px !important;
    object-fit: contain !important;
}

.ballaxy-goals-sidebar-item .goal-team em {
    color: rgba(255,255,255,.64) !important;
    font-size: .68rem !important;
    line-height: 1 !important;
    font-style: normal !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
}

.ballaxy-goals-sidebar-item .goal-minute {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 38px !important;
    height: 38px !important;
    border-radius: 999px !important;
    background: #ffd000 !important;
    color: #111 !important;
    font-size: .92rem !important;
    line-height: 1 !important;
    font-weight: 950 !important;
}

.ballaxy-goals-sidebar-item .goal-info {
    min-width: 0 !important;
}

.ballaxy-goals-sidebar-item .goal-info strong {
    display: block !important;
    color: #fff !important;
    font-size: 1rem !important;
    line-height: 1.12 !important;
    font-weight: 950 !important;
}

.ballaxy-goals-sidebar-item .goal-info small {
    display: block !important;
    margin-top: 3px !important;
    color: rgba(255,255,255,.64) !important;
    font-size: .78rem !important;
    line-height: 1.2 !important;
}

.ballaxy-goals-sidebar-item .goal-info em {
    display: inline-flex !important;
    margin-top: 6px !important;
    border-radius: 999px !important;
    background: rgba(255,208,0,.13) !important;
    color: #ffd000 !important;
    padding: 4px 8px !important;
    font-size: .76rem !important;
    line-height: 1 !important;
    font-style: normal !important;
    font-weight: 950 !important;
}

@media (max-width: 420px) {
    .ballaxy-goals-sidebar-item {
        grid-template-columns: 42px 38px minmax(0, 1fr) !important;
        gap: 10px !important;
    }

    .ballaxy-goals-sidebar-item .goal-team img {
        width: 30px !important;
        height: 30px !important;
    }

    .ballaxy-goals-sidebar-item .goal-minute {
        width: 34px !important;
        height: 34px !important;
        font-size: .82rem !important;
    }
}


/* =========================================================
   Ballaxy Stage 102 — simpler goal scorers sidebar
   ========================================================= */

.ballaxy-goals-sidebar-item {
    grid-template-columns: 46px minmax(0, 1fr) auto !important;
    gap: 12px !important;
    align-items: center !important;
    padding: 14px 0 !important;
}

.ballaxy-goals-sidebar-item .goal-team {
    display: grid !important;
    justify-items: center !important;
    gap: 5px !important;
}

.ballaxy-goals-sidebar-item .goal-team img {
    width: 34px !important;
    height: 34px !important;
    object-fit: contain !important;
}

.ballaxy-goals-sidebar-item .goal-team em {
    color: rgba(255,255,255,.62) !important;
    font-size: .68rem !important;
    line-height: 1 !important;
    font-style: normal !important;
    font-weight: 950 !important;
}

.ballaxy-goals-sidebar-item .goal-minute {
    grid-column: 3 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #ffd000 !important;
    font-size: .95rem !important;
    line-height: 1 !important;
    font-weight: 950 !important;
    padding: 0 !important;
}

.ballaxy-goals-sidebar-item .goal-info {
    grid-column: 2 !important;
    min-width: 0 !important;
}

.ballaxy-goals-sidebar-item .goal-info strong {
    color: #fff !important;
    font-size: 1rem !important;
    line-height: 1.15 !important;
    font-weight: 950 !important;
}

.ballaxy-goals-sidebar-item .goal-info small {
    margin-top: 4px !important;
    color: rgba(255,255,255,.62) !important;
    font-size: .78rem !important;
    line-height: 1.2 !important;
}

.ballaxy-goals-sidebar-item .goal-info em {
    display: block !important;
    margin-top: 4px !important;
    padding: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: rgba(255,208,0,.92) !important;
    font-size: .8rem !important;
    line-height: 1.15 !important;
    font-style: normal !important;
    font-weight: 900 !important;
}

@media (max-width: 420px) {
    .ballaxy-goals-sidebar-item {
        grid-template-columns: 42px minmax(0, 1fr) auto !important;
        gap: 10px !important;
    }

    .ballaxy-goals-sidebar-item .goal-team img {
        width: 30px !important;
        height: 30px !important;
    }

    .ballaxy-goals-sidebar-item .goal-minute {
        font-size: .86rem !important;
    }
}


/* =========================================================
   Ballaxy Stage 103 — compact match header + better section nav
   ========================================================= */

.ballaxy-match-top-section {
    padding-top: 24px !important;
}

.ballaxy-clean-hero-card {
    position: relative !important;
    overflow: hidden !important;
    border-radius: 8px !important;
    min-height: 0 !important;
    padding: 30px 42px 28px !important;
    margin: 0 !important;
    background: #242424 !important;
}

.ballaxy-clean-hero-bg {
    opacity: .38 !important;
}

.ballaxy-clean-hero-top {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
    margin: 0 0 16px !important;
}

.ballaxy-clean-league {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    color: rgba(255,255,255,.86) !important;
    font-size: .95rem !important;
    line-height: 1 !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
}

.ballaxy-clean-league img {
    width: 26px !important;
    height: 26px !important;
    object-fit: contain !important;
}

.ballaxy-clean-status {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 40px !important;
    height: 30px !important;
    padding: 0 12px !important;
    border-radius: 999px !important;
    background: #ffd000 !important;
    color: #111 !important;
    font-size: .82rem !important;
    line-height: 1 !important;
    font-weight: 950 !important;
}

.ballaxy-clean-date {
    margin: 0 0 16px !important;
    color: rgba(255,255,255,.76) !important;
    font-size: 1rem !important;
    line-height: 1.2 !important;
    font-weight: 850 !important;
    text-align: center !important;
}

.ballaxy-clean-scoreboard {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 22px !important;
    max-width: 760px !important;
    margin: 0 auto !important;
}

.ballaxy-clean-team {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    min-width: 0 !important;
}

.ballaxy-clean-team.is-home {
    justify-content: flex-end !important;
    text-align: right !important;
}

.ballaxy-clean-team.is-away {
    justify-content: flex-start !important;
    text-align: left !important;
}

.ballaxy-clean-team img {
    width: 62px !important;
    height: 62px !important;
    object-fit: contain !important;
    flex: 0 0 62px !important;
}

.ballaxy-clean-team strong {
    color: #fff !important;
    font-size: 2rem !important;
    line-height: .98 !important;
    letter-spacing: -.05em !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
}

.ballaxy-clean-score {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    min-width: 170px !important;
    color: #fff !important;
    font-weight: 950 !important;
}

.ballaxy-clean-score span {
    font-size: 3rem !important;
    line-height: .95 !important;
    letter-spacing: -.06em !important;
}

.ballaxy-clean-score em {
    color: rgba(255,255,255,.44) !important;
    font-size: 2rem !important;
    line-height: 1 !important;
    font-style: normal !important;
    font-weight: 950 !important;
}

.ballaxy-clean-scorers {
    display: none !important;
}

/* Navigation should look like compact section tabs, not a broken scroll bar */
.ballaxy-match-tabs {
    display: flex !important;
    align-items: center !important;
    gap: 0 !important;
    margin: 0 0 28px !important;
    padding: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    border-bottom: 1px solid rgba(255,255,255,.13) !important;
    scrollbar-width: none !important;
}

.ballaxy-match-tabs::-webkit-scrollbar {
    display: none !important;
}

.ballaxy-match-tabs a {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    min-height: 48px !important;
    padding: 0 18px !important;
    color: rgba(255,255,255,.78) !important;
    font-size: .92rem !important;
    line-height: 1 !important;
    font-weight: 950 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    border: 0 !important;
    background: transparent !important;
}

.ballaxy-match-tabs a:hover {
    color: #fff !important;
}

.ballaxy-match-tabs a.is-active,
.ballaxy-match-tabs a:first-child {
    color: #fff !important;
}

.ballaxy-match-tabs a.is-active::after,
.ballaxy-match-tabs a:first-child::after {
    content: "" !important;
    position: absolute !important;
    left: 18px !important;
    right: 18px !important;
    bottom: -1px !important;
    height: 3px !important;
    background: #ffd000 !important;
}

@media (max-width: 760px) {
    .ballaxy-clean-hero-card {
        padding: 24px 18px !important;
    }

    .ballaxy-clean-hero-top {
        margin-bottom: 14px !important;
    }

    .ballaxy-clean-scoreboard {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }

    .ballaxy-clean-team,
    .ballaxy-clean-team.is-home,
    .ballaxy-clean-team.is-away {
        justify-content: center !important;
        text-align: center !important;
    }

    .ballaxy-clean-team.is-home {
        flex-direction: row-reverse !important;
    }

    .ballaxy-clean-team img {
        width: 52px !important;
        height: 52px !important;
        flex-basis: 52px !important;
    }

    .ballaxy-clean-team strong {
        font-size: 1.5rem !important;
    }

    .ballaxy-clean-score {
        order: 2 !important;
        min-width: 0 !important;
    }

    .ballaxy-clean-score span {
        font-size: 2.45rem !important;
    }

    .ballaxy-match-tabs a {
        min-height: 44px !important;
        padding: 0 14px !important;
        font-size: .86rem !important;
    }

    .ballaxy-match-tabs a.is-active::after,
    .ballaxy-match-tabs a:first-child::after {
        left: 14px !important;
        right: 14px !important;
    }
}


/* =========================================================
   Ballaxy Stage 104 — comments heading inside card + nav/event font tune
   ========================================================= */

.ballaxy-comments-card-head {
    margin: 0 0 22px !important;
    padding: 0 0 16px !important;
    border-bottom: 1px solid rgba(255,255,255,.16) !important;
}

.ballaxy-comments-card-head h2 {
    margin: 0 !important;
    color: #fff !important;
    font-size: 1.55rem !important;
    line-height: 1 !important;
    letter-spacing: -.045em !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
}

/* Section navigation: slightly bigger text */
.ballaxy-match-tabs a {
    font-size: 1rem !important;
}

/* Key events: slightly smaller details text */
.ballaxy-clean-event .event-copy strong {
    font-size: 1.08rem !important;
}

.ballaxy-clean-event .event-copy small {
    font-size: .92rem !important;
}

.ballaxy-clean-event .event-copy span:not(.event-icon) {
    font-size: .82rem !important;
}

@media (max-width: 760px) {
    .ballaxy-match-tabs a {
        font-size: .92rem !important;
    }

    .ballaxy-comments-card-head h2 {
        font-size: 1.35rem !important;
    }

    .ballaxy-clean-event .event-copy strong {
        font-size: .96rem !important;
    }

    .ballaxy-clean-event .event-copy small {
        font-size: .82rem !important;
    }

    .ballaxy-clean-event .event-copy span:not(.event-icon) {
        font-size: .74rem !important;
    }
}


/* =========================================================
   Ballaxy Stage 105 — final match page polish
   ========================================================= */

/* More breathing room above/below section navigation */
.ballaxy-match-tabs {
    margin-top: 16px !important;
    margin-bottom: 36px !important;
    padding-top: 4px !important;
}

.ballaxy-match-tabs a {
    min-height: 56px !important;
}

/* Make stats use the same inner width rhythm as the other match panels */
.ballaxy-clean-stats {
    max-width: 100% !important;
}

.ballaxy-clean-stat-row {
    padding-left: 32px !important;
    padding-right: 32px !important;
}

.ballaxy-clean-stat-row .stat-line,
.ballaxy-clean-stat-row .stat-bars {
    width: 100% !important;
}

/* Border before the standalone standings section */
.ballaxy-match-standings-section {
    border-top: 1px solid rgba(255,255,255,.14) !important;
}

/* Related posts heading should only show title */
.ballaxy-match-related-section .ballaxy-section-head {
    justify-content: flex-start !important;
}

.ballaxy-match-related-section .ballaxy-section-head a {
    display: none !important;
}

@media (max-width: 760px) {
    .ballaxy-match-tabs {
        margin-top: 12px !important;
        margin-bottom: 28px !important;
    }

    .ballaxy-match-tabs a {
        min-height: 50px !important;
    }

    .ballaxy-clean-stat-row {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }
}


/* =========================================================
   Ballaxy Stage 106 — wider stats + centered match hero status
   ========================================================= */

/* Hero layout: league centered above time, status below score */
.ballaxy-clean-hero-card {
    padding: 30px 42px 30px !important;
}

.ballaxy-clean-hero-top {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin: 0 0 14px !important;
}

.ballaxy-clean-league {
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 8px 16px !important;
    border-radius: 999px !important;
    background: rgba(0,0,0,.34) !important;
    color: #fff !important;
    font-size: .95rem !important;
    line-height: 1 !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
}

.ballaxy-clean-league img {
    width: 28px !important;
    height: 28px !important;
    object-fit: contain !important;
}

.ballaxy-clean-date {
    margin: 0 0 18px !important;
    text-align: center !important;
}

.ballaxy-clean-scoreboard {
    max-width: 760px !important;
    margin: 0 auto 12px !important;
}

.ballaxy-clean-status {
    display: block !important;
    width: max-content !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 auto !important;
    padding: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #fff !important;
    font-size: .98rem !important;
    line-height: 1.2 !important;
    font-weight: 950 !important;
    text-align: center !important;
    text-transform: none !important;
}

/* Stats panel: remove the narrow inner constraints from older blocks */
#stats.ballaxy-clean-panel {
    overflow: visible !important;
}

#stats .ballaxy-clean-stats,
#stats .ballaxy-clean-stats > *,
#stats .ballaxy-clean-stat-row {
    max-width: none !important;
}

#stats .ballaxy-clean-stats {
    width: 100% !important;
    padding: 0 0 12px !important;
    margin: 0 !important;
}

#stats .ballaxy-clean-stats-teams,
#stats .ballaxy-clean-events-teams.ballaxy-clean-stats-teams {
    width: 100% !important;
    padding-left: 32px !important;
    padding-right: 32px !important;
}

#stats .ballaxy-clean-stat-row {
    width: 100% !important;
    padding-left: 32px !important;
    padding-right: 32px !important;
    box-sizing: border-box !important;
}

#stats .ballaxy-clean-stat-row .stat-line,
#stats .ballaxy-clean-stat-row .stat-bars {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
}

#stats .ballaxy-clean-stat-row .stat-bars {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Keep the row values exactly on the outside edges of the bars */
#stats .ballaxy-clean-stat-row .stat-line {
    grid-template-columns: 72px minmax(0, 1fr) 72px !important;
}

@media (max-width: 760px) {
    .ballaxy-clean-hero-card {
        padding: 24px 18px !important;
    }

    .ballaxy-clean-league {
        padding: 7px 12px !important;
        font-size: .82rem !important;
    }

    .ballaxy-clean-league img {
        width: 24px !important;
        height: 24px !important;
    }

    .ballaxy-clean-status {
        font-size: .9rem !important;
    }

    #stats .ballaxy-clean-stats-teams,
    #stats .ballaxy-clean-events-teams.ballaxy-clean-stats-teams,
    #stats .ballaxy-clean-stat-row {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    #stats .ballaxy-clean-stat-row .stat-line {
        grid-template-columns: 52px minmax(0, 1fr) 52px !important;
    }
}


/* =========================================================
   Ballaxy Stage 108 — repair layout, compact hero, fix stats width
   ========================================================= */

.ballaxy-match-layout-with-sidebar {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 330px !important;
    gap: 24px !important;
    align-items: start !important;
}

.ballaxy-match-main-single {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
}

.ballaxy-match-sidebar {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 100% !important;
}

.ballaxy-clean-hero-card {
    padding: 24px 38px 24px !important;
}

.ballaxy-clean-league img {
    display: none !important;
}

.ballaxy-clean-league {
    padding: 7px 15px !important;
    font-size: .88rem !important;
}

.ballaxy-clean-date {
    margin-bottom: 14px !important;
}

.ballaxy-clean-scoreboard {
    max-width: 720px !important;
    margin-bottom: 10px !important;
}

.ballaxy-clean-team img {
    width: 58px !important;
    height: 58px !important;
    flex-basis: 58px !important;
}

.ballaxy-clean-team strong {
    font-size: 1.85rem !important;
}

.ballaxy-clean-score {
    min-width: 150px !important;
}

.ballaxy-clean-score span {
    font-size: 2.8rem !important;
}

.ballaxy-clean-status {
    display: block !important;
    width: max-content !important;
    margin: 0 auto !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #fff !important;
    font-size: .92rem !important;
    line-height: 1.2 !important;
    font-weight: 950 !important;
    text-align: center !important;
}

/* Stats width fix */
#stats.ballaxy-clean-panel {
    width: 100% !important;
    max-width: none !important;
}

#stats .ballaxy-clean-stats {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 0 14px !important;
}

#stats .ballaxy-clean-stats-teams,
#stats .ballaxy-clean-events-teams.ballaxy-clean-stats-teams {
    width: 100% !important;
    box-sizing: border-box !important;
    padding-left: 32px !important;
    padding-right: 32px !important;
}

#stats .ballaxy-clean-stat-row {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 32px !important;
    padding-right: 32px !important;
}

#stats .ballaxy-clean-stat-row .stat-line {
    width: 100% !important;
    max-width: none !important;
    display: grid !important;
    grid-template-columns: 72px minmax(0, 1fr) 72px !important;
    gap: 12px !important;
    align-items: center !important;
    box-sizing: border-box !important;
}

#stats .ballaxy-clean-stat-row .stat-bars {
    width: 100% !important;
    max-width: none !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 10px !important;
    padding-left: 72px !important;
    padding-right: 72px !important;
    box-sizing: border-box !important;
}

#key-events,
#stats {
    max-width: none !important;
}

.ballaxy-match-fullwidth-after,
.ballaxy-pitch-lineups-panel,
.ballaxy-substitutes-panel {
    width: 100% !important;
    max-width: none !important;
}

.ballaxy-football-pitch {
    display: grid !important;
    width: 100% !important;
}

.ballaxy-match-related-section .ballaxy-grid-4 {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 24px !important;
}

@media (max-width: 980px) {
    .ballaxy-match-layout-with-sidebar {
        grid-template-columns: 1fr !important;
    }

    .ballaxy-match-main-single {
        grid-column: 1 !important;
        grid-row: 1 !important;
    }

    .ballaxy-match-sidebar {
        grid-column: 1 !important;
        grid-row: 2 !important;
        position: static !important;
    }
}

@media (max-width: 760px) {
    .ballaxy-clean-hero-card {
        padding: 22px 18px !important;
    }

    #stats .ballaxy-clean-stats-teams,
    #stats .ballaxy-clean-events-teams.ballaxy-clean-stats-teams,
    #stats .ballaxy-clean-stat-row {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    #stats .ballaxy-clean-stat-row .stat-line {
        grid-template-columns: 52px minmax(0, 1fr) 52px !important;
    }

    #stats .ballaxy-clean-stat-row .stat-bars {
        padding-left: 52px !important;
        padding-right: 52px !important;
    }
}

@media (max-width: 640px) {
    .ballaxy-match-related-section .ballaxy-grid-4 {
        grid-template-columns: 1fr !important;
    }
}


/* =========================================================
   Ballaxy Stage 109 — remove stats row/bar padding
   ========================================================= */

#stats .ballaxy-clean-stat-row {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

#stats .ballaxy-clean-stat-row .stat-bars {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

@media (max-width: 760px) {
    #stats .ballaxy-clean-stat-row {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    #stats .ballaxy-clean-stat-row .stat-bars {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}


/* =========================================================
   Ballaxy Stage 110 — mobile match top card + lineups polish
   ========================================================= */

@media (max-width: 760px) {
    /* Top match card */
    .ballaxy-match-top-section {
        padding-top: 18px !important;
        padding-bottom: 30px !important;
    }

    .ballaxy-clean-hero-card {
        padding: 20px 14px 22px !important;
        border-radius: 8px !important;
    }

    .ballaxy-clean-hero-top {
        margin-bottom: 10px !important;
    }

    .ballaxy-clean-league {
        max-width: 100% !important;
        padding: 7px 12px !important;
        font-size: .74rem !important;
        line-height: 1.1 !important;
        text-align: center !important;
        white-space: normal !important;
    }

    .ballaxy-clean-date {
        margin-bottom: 16px !important;
        font-size: .88rem !important;
    }

    .ballaxy-clean-scoreboard {
        grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
        gap: 8px !important;
        max-width: 100% !important;
        margin-bottom: 10px !important;
    }

    .ballaxy-clean-team,
    .ballaxy-clean-team.is-home,
    .ballaxy-clean-team.is-away {
        display: grid !important;
        justify-items: center !important;
        justify-content: center !important;
        gap: 7px !important;
        text-align: center !important;
        min-width: 0 !important;
    }

    .ballaxy-clean-team.is-home {
        flex-direction: initial !important;
    }

    .ballaxy-clean-team img {
        grid-row: 1 !important;
        width: 48px !important;
        height: 48px !important;
        flex: none !important;
    }

    .ballaxy-clean-team strong {
        grid-row: 2 !important;
        display: block !important;
        max-width: 100% !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        color: #fff !important;
        font-size: 1.05rem !important;
        line-height: 1 !important;
        letter-spacing: -.04em !important;
        white-space: nowrap !important;
    }

    .ballaxy-clean-score {
        align-self: center !important;
        min-width: 82px !important;
        gap: 6px !important;
    }

    .ballaxy-clean-score span {
        font-size: 2.1rem !important;
        line-height: .95 !important;
    }

    .ballaxy-clean-score em {
        font-size: 1.25rem !important;
    }

    .ballaxy-clean-status {
        font-size: .82rem !important;
    }

    /* Mobile section nav */
    .ballaxy-match-tabs {
        margin: 10px 0 24px !important;
        padding-top: 0 !important;
        gap: 4px !important;
    }

    .ballaxy-match-tabs a {
        min-height: 42px !important;
        padding: 0 12px !important;
        font-size: .86rem !important;
    }

    .ballaxy-match-tabs a.is-active::after,
    .ballaxy-match-tabs a:first-child::after {
        left: 12px !important;
        right: 12px !important;
    }

    /* Lineups section */
    .ballaxy-match-lineups-section {
        padding-top: 32px !important;
        padding-bottom: 36px !important;
    }

    .ballaxy-pitch-lineups-panel,
    .ballaxy-substitutes-panel {
        border-radius: 8px !important;
        overflow: hidden !important;
    }

    .ballaxy-pitch-lineups-panel .ballaxy-clean-panel-head {
        padding: 20px 16px 0 !important;
    }

    .ballaxy-pitch-lineups-panel .ballaxy-clean-panel-head h2,
    .ballaxy-substitutes-panel .ballaxy-clean-panel-head h2 {
        font-size: 1.25rem !important;
    }

    .ballaxy-football-pitch {
        min-height: 760px !important;
        border-width: 2px !important;
        border-radius: 8px !important;
        margin: 16px 10px 12px !important;
        width: calc(100% - 20px) !important;
    }

    .ballaxy-pitch-home {
        padding: 18px 8px 26px !important;
    }

    .ballaxy-pitch-away {
        padding: 26px 8px 18px !important;
    }

    .ballaxy-pitch-line {
        gap: 4px !important;
    }

    .ballaxy-pitch-number {
        width: 34px !important;
        height: 34px !important;
        font-size: 1.02rem !important;
    }

    .ballaxy-pitch-player {
        gap: 5px !important;
        max-width: 74px !important;
    }

    .ballaxy-pitch-player strong {
        max-width: 74px !important;
        font-size: .64rem !important;
        line-height: 1.08 !important;
        white-space: normal !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    .ballaxy-pitch-markings .center-circle {
        width: 92px !important;
        height: 92px !important;
    }

    .ballaxy-pitch-home .ballaxy-pitch-line:last-child,
    .ballaxy-pitch-away .ballaxy-pitch-line:first-child {
        padding-top: 18px !important;
        padding-bottom: 18px !important;
    }

    /* Substitutes/cards on mobile */
    .ballaxy-substitutes-grid {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }

    .ballaxy-substitutes-card {
        border-radius: 8px !important;
    }

    .ballaxy-substitutes-card h3 {
        min-height: 60px !important;
        padding: 13px 14px !important;
        gap: 10px !important;
        font-size: 1.08rem !important;
    }

    .ballaxy-substitutes-card h3 img {
        width: 36px !important;
        height: 36px !important;
        flex-basis: 36px !important;
    }

    .ballaxy-substitutes-card .ballaxy-match-player-list li {
        min-height: 48px !important;
        padding: 10px 14px !important;
    }

    .ballaxy-substitutes-card .ballaxy-match-player-list .num {
        flex-basis: 34px !important;
        width: 34px !important;
        font-size: 1rem !important;
    }

    .ballaxy-substitutes-card .ballaxy-match-player-list strong {
        font-size: .92rem !important;
    }

    .ballaxy-substitutes-card .ballaxy-match-player-list small {
        font-size: .72rem !important;
    }
}

@media (max-width: 420px) {
    .ballaxy-clean-hero-card {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    .ballaxy-clean-team img {
        width: 42px !important;
        height: 42px !important;
    }

    .ballaxy-clean-team strong {
        font-size: .94rem !important;
    }

    .ballaxy-clean-score {
        min-width: 74px !important;
    }

    .ballaxy-clean-score span {
        font-size: 1.85rem !important;
    }

    .ballaxy-clean-score em {
        font-size: 1.1rem !important;
    }

    .ballaxy-football-pitch {
        min-height: 700px !important;
        margin-left: 8px !important;
        margin-right: 8px !important;
        width: calc(100% - 16px) !important;
    }

    .ballaxy-pitch-number {
        width: 31px !important;
        height: 31px !important;
        font-size: .94rem !important;
    }

    .ballaxy-pitch-player {
        max-width: 66px !important;
    }

    .ballaxy-pitch-player strong {
        max-width: 66px !important;
        font-size: .59rem !important;
    }
}

/* =========================================================
   Ballaxy Stage 111 — match mobile polish: centered score, fixed lineups, consistent substitutes
   ========================================================= */

/* Match hero: keep result in the middle on desktop and mobile */
.ballaxy-match-clean .ballaxy-clean-hero-card {
    padding: 26px 28px 24px !important;
}

.ballaxy-match-clean .ballaxy-clean-hero-top {
    justify-content: center !important;
    margin-bottom: 14px !important;
}

.ballaxy-match-clean .ballaxy-clean-date {
    margin: 0 0 18px !important;
    text-align: center !important;
}

.ballaxy-match-clean .ballaxy-clean-scoreboard {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(96px, auto) minmax(0, 1fr) !important;
    align-items: center !important;
    justify-content: center !important;
    gap: clamp(10px, 4vw, 34px) !important;
    width: min(100%, 760px) !important;
    margin: 0 auto 10px !important;
}

.ballaxy-match-clean .ballaxy-clean-team,
.ballaxy-match-clean .ballaxy-clean-team.is-home,
.ballaxy-match-clean .ballaxy-clean-team.is-away {
    display: grid !important;
    grid-template-rows: auto auto !important;
    justify-items: center !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 9px !important;
    min-width: 0 !important;
    text-align: center !important;
}

.ballaxy-match-clean .ballaxy-clean-team.is-home,
.ballaxy-match-clean .ballaxy-clean-team.is-away {
    flex-direction: initial !important;
}

.ballaxy-match-clean .ballaxy-clean-team img {
    grid-row: 1 !important;
    width: clamp(48px, 8vw, 68px) !important;
    height: clamp(48px, 8vw, 68px) !important;
    flex: none !important;
    object-fit: contain !important;
}

.ballaxy-match-clean .ballaxy-clean-team strong {
    grid-row: 2 !important;
    display: block !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    color: #fff !important;
    font-size: clamp(1.05rem, 3vw, 1.8rem) !important;
    line-height: 1 !important;
    text-align: center !important;
}

.ballaxy-match-clean .ballaxy-clean-score {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: center !important;
    justify-self: center !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: clamp(88px, 17vw, 150px) !important;
    gap: clamp(5px, 1.5vw, 12px) !important;
    text-align: center !important;
}

.ballaxy-match-clean .ballaxy-clean-score span {
    font-size: clamp(2.15rem, 7vw, 3.25rem) !important;
    line-height: .95 !important;
}

.ballaxy-match-clean .ballaxy-clean-score em {
    font-size: clamp(1.2rem, 4vw, 2rem) !important;
    line-height: 1 !important;
}

.ballaxy-match-clean .ballaxy-clean-status {
    display: block !important;
    width: max-content !important;
    margin: 0 auto !important;
    background: transparent !important;
    color: #fff !important;
    border: 0 !important;
    padding: 0 !important;
    text-align: center !important;
}

@media (max-width: 640px) {
    .ballaxy-match-clean .ballaxy-clean-hero-card {
        padding: 20px 14px 22px !important;
    }

    .ballaxy-match-clean .ballaxy-clean-scoreboard {
        grid-template-columns: minmax(0, 1fr) minmax(82px, auto) minmax(0, 1fr) !important;
        gap: 8px !important;
        width: 100% !important;
    }

    .ballaxy-match-clean .ballaxy-clean-team {
        gap: 7px !important;
    }

    .ballaxy-match-clean .ballaxy-clean-team img {
        width: 48px !important;
        height: 48px !important;
    }

    .ballaxy-match-clean .ballaxy-clean-team strong {
        font-size: 1.03rem !important;
    }

    .ballaxy-match-clean .ballaxy-clean-score {
        min-width: 82px !important;
        gap: 6px !important;
    }

    .ballaxy-match-clean .ballaxy-clean-score span {
        font-size: 2.1rem !important;
    }
}

/* Lineups: replace fragile grid/rotation layout with absolute coordinates */
.ballaxy-match-lineups-section .ballaxy-pitch-lineups-panel,
.ballaxy-match-lineups-section .ballaxy-substitutes-panel {
    background: #202020 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
}

.ballaxy-match-lineups-section .ballaxy-pitch-lineups-panel .ballaxy-clean-panel-head {
    padding: 22px 24px 0 !important;
}

.ballaxy-football-pitch {
    position: relative !important;
    display: block !important;
    width: min(100%, 760px) !important;
    max-width: 760px !important;
    min-height: 0 !important;
    aspect-ratio: 7 / 11 !important;
    margin: 20px auto 18px !important;
    overflow: hidden !important;
    border: 3px solid rgba(255,255,255,.9) !important;
    border-radius: 10px !important;
    background:
        repeating-linear-gradient(115deg, rgba(255,255,255,.035) 0 36px, rgba(255,255,255,.01) 36px 72px),
        linear-gradient(180deg, #2c9d32 0%, #2f9d32 50%, #278f2d 100%) !important;
}

.ballaxy-football-pitch .ballaxy-pitch-markings {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    pointer-events: none !important;
}

.ballaxy-football-pitch .ballaxy-pitch-markings .center-line {
    position: absolute !important;
    top: 50% !important;
    left: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    width: 100% !important;
    height: 3px !important;
    background: rgba(255,255,255,.88) !important;
    transform: translateY(-50%) !important;
}

.ballaxy-football-pitch .ballaxy-pitch-markings .center-circle {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 116px !important;
    height: 116px !important;
    border: 3px solid rgba(255,255,255,.88) !important;
    border-radius: 999px !important;
    transform: translate(-50%, -50%) !important;
}

.ballaxy-football-pitch .ballaxy-pitch-markings .home-box,
.ballaxy-football-pitch .ballaxy-pitch-markings .away-box {
    position: absolute !important;
    left: 50% !important;
    width: 42% !important;
    height: 92px !important;
    border: 3px solid rgba(255,255,255,.88) !important;
    transform: translateX(-50%) !important;
}

.ballaxy-football-pitch .ballaxy-pitch-markings .home-box {
    top: -3px !important;
    border-top: 0 !important;
}

.ballaxy-football-pitch .ballaxy-pitch-markings .away-box {
    bottom: -3px !important;
    border-bottom: 0 !important;
}

.ballaxy-football-pitch .ballaxy-pitch-markings .home-six,
.ballaxy-football-pitch .ballaxy-pitch-markings .away-six {
    position: absolute !important;
    left: 50% !important;
    width: 24% !important;
    height: 44px !important;
    border: 3px solid rgba(255,255,255,.88) !important;
    transform: translateX(-50%) !important;
}

.ballaxy-football-pitch .ballaxy-pitch-markings .home-six {
    top: -3px !important;
    border-top: 0 !important;
}

.ballaxy-football-pitch .ballaxy-pitch-markings .away-six {
    bottom: -3px !important;
    border-bottom: 0 !important;
}

.ballaxy-football-pitch .ballaxy-pitch-side,
.ballaxy-football-pitch .ballaxy-pitch-home,
.ballaxy-football-pitch .ballaxy-pitch-away {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    height: 50% !important;
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
    transform: none !important;
    direction: ltr !important;
    z-index: 2 !important;
}

.ballaxy-football-pitch .ballaxy-pitch-home {
    top: 0 !important;
    bottom: auto !important;
    grid-column: auto !important;
    grid-row: auto !important;
}

.ballaxy-football-pitch .ballaxy-pitch-away {
    top: 50% !important;
    bottom: auto !important;
    grid-column: auto !important;
    grid-row: auto !important;
}

.ballaxy-football-pitch .ballaxy-pitch-line {
    display: contents !important;
}

.ballaxy-football-pitch .ballaxy-pitch-line::before {
    display: none !important;
    content: none !important;
}

.ballaxy-football-pitch .ballaxy-pitch-player,
.ballaxy-football-pitch .ballaxy-pitch-away .ballaxy-pitch-player {
    position: absolute !important;
    left: var(--x) !important;
    top: var(--y) !important;
    transform: translate(-50%, -50%) !important;
    display: grid !important;
    justify-items: center !important;
    gap: 6px !important;
    width: 92px !important;
    max-width: 92px !important;
    min-width: 0 !important;
    text-align: center !important;
    color: #fff !important;
}

.ballaxy-football-pitch .ballaxy-pitch-number {
    width: 40px !important;
    height: 40px !important;
    border-radius: 999px !important;
    font-size: 1.25rem !important;
    line-height: 1 !important;
    font-weight: 950 !important;
}

.ballaxy-football-pitch .ballaxy-pitch-player strong {
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    max-width: 92px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: normal !important;
    color: #fff !important;
    font-size: .72rem !important;
    line-height: 1.05 !important;
    font-weight: 850 !important;
    text-shadow: 0 1px 3px rgba(0,0,0,.55) !important;
}

@media (max-width: 640px) {
    .ballaxy-match-lineups-section .ballaxy-pitch-lineups-panel .ballaxy-clean-panel-head {
        padding: 18px 16px 0 !important;
    }

    .ballaxy-football-pitch {
        width: calc(100% - 20px) !important;
        margin: 18px 10px 14px !important;
        border-width: 2px !important;
        border-radius: 8px !important;
    }

    .ballaxy-football-pitch .ballaxy-pitch-markings .center-circle {
        width: 82px !important;
        height: 82px !important;
        border-width: 2px !important;
    }

    .ballaxy-football-pitch .ballaxy-pitch-markings .home-box,
    .ballaxy-football-pitch .ballaxy-pitch-markings .away-box,
    .ballaxy-football-pitch .ballaxy-pitch-markings .home-six,
    .ballaxy-football-pitch .ballaxy-pitch-markings .away-six {
        display: none !important;
    }

    .ballaxy-football-pitch .ballaxy-pitch-player,
    .ballaxy-football-pitch .ballaxy-pitch-away .ballaxy-pitch-player {
        width: 68px !important;
        max-width: 68px !important;
        gap: 5px !important;
    }

    .ballaxy-football-pitch .ballaxy-pitch-number {
        width: 34px !important;
        height: 34px !important;
        font-size: 1rem !important;
    }

    .ballaxy-football-pitch .ballaxy-pitch-player strong {
        max-width: 68px !important;
        font-size: .62rem !important;
        line-height: 1.03 !important;
    }
}

/* Substitutes: same card background and zebra rows like key events */
.ballaxy-match-lineups-section .ballaxy-substitutes-panel {
    background: #202020 !important;
    padding: 0 !important;
}

.ballaxy-substitutes-grid {
    gap: 20px !important;
}

.ballaxy-substitutes-card {
    overflow: hidden !important;
    border-radius: 8px !important;
    background: #303030 !important;
    border: 1px solid rgba(255,255,255,.06) !important;
}

.ballaxy-substitutes-card h3 {
    background: #303030 !important;
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
}

.ballaxy-substitutes-card .ballaxy-match-player-list {
    display: grid !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #303030 !important;
}

.ballaxy-substitutes-card .ballaxy-match-player-list li {
    display: flex !important;
    align-items: center !important;
    min-height: 54px !important;
    margin: 0 !important;
    padding: 12px 18px !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.045) !important;
    border-radius: 0 !important;
    background: #303030 !important;
}

.ballaxy-substitutes-card .ballaxy-match-player-list li:nth-child(even) {
    background: #292929 !important;
}

.ballaxy-substitutes-card .ballaxy-match-player-list li:last-child {
    border-bottom: 0 !important;
}

.ballaxy-substitutes-card .ballaxy-match-player-list .num {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 42px !important;
    width: 42px !important;
    min-width: 42px !important;
    height: auto !important;
    background: transparent !important;
    color: #fff !important;
    font-family: "Encode Sans Condensed", sans-serif !important;
    font-size: 1.25rem !important;
    font-weight: 950 !important;
    line-height: 1 !important;
}

.ballaxy-substitutes-card .ballaxy-match-player-list .info {
    display: grid !important;
    gap: 3px !important;
    min-width: 0 !important;
}

.ballaxy-substitutes-card .ballaxy-match-player-list strong {
    color: #fff !important;
    font-size: 1rem !important;
    line-height: 1.1 !important;
    font-weight: 750 !important;
}

.ballaxy-substitutes-card .ballaxy-match-player-list small {
    color: rgba(255,255,255,.58) !important;
    font-size: .78rem !important;
    line-height: 1.1 !important;
}

@media (max-width: 640px) {
    .ballaxy-substitutes-grid {
        gap: 16px !important;
    }

    .ballaxy-substitutes-card .ballaxy-match-player-list li {
        min-height: 50px !important;
        padding: 11px 14px !important;
    }

    .ballaxy-substitutes-card .ballaxy-match-player-list .num {
        flex-basis: 38px !important;
        width: 38px !important;
        min-width: 38px !important;
        font-size: 1.05rem !important;
    }
}

/* Ballaxy Stage 112 -- desktop horizontal pitch + substitute card background refinement */
@media (min-width: 641px) {
    .ballaxy-football-pitch {
        width: min(100%, 980px) !important;
        max-width: 980px !important;
        aspect-ratio: 11 / 7 !important;
        margin: 20px auto 18px !important;
    }

    .ballaxy-football-pitch .ballaxy-pitch-markings .center-line {
        top: 0 !important;
        bottom: 0 !important;
        left: 50% !important;
        right: auto !important;
        width: 3px !important;
        height: 100% !important;
        transform: translateX(-50%) !important;
    }

    .ballaxy-football-pitch .ballaxy-pitch-markings .center-circle {
        top: 50% !important;
        left: 50% !important;
        width: 116px !important;
        height: 116px !important;
        transform: translate(-50%, -50%) !important;
    }

    .ballaxy-football-pitch .ballaxy-pitch-markings .home-box,
    .ballaxy-football-pitch .ballaxy-pitch-markings .away-box {
        top: 50% !important;
        bottom: auto !important;
        left: auto !important;
        width: 92px !important;
        height: 42% !important;
        transform: translateY(-50%) !important;
    }

    .ballaxy-football-pitch .ballaxy-pitch-markings .home-box {
        left: -3px !important;
        border-left: 0 !important;
        border-top: 3px solid rgba(255,255,255,.88) !important;
    }

    .ballaxy-football-pitch .ballaxy-pitch-markings .away-box {
        right: -3px !important;
        border-right: 0 !important;
        border-bottom: 3px solid rgba(255,255,255,.88) !important;
    }

    .ballaxy-football-pitch .ballaxy-pitch-markings .home-six,
    .ballaxy-football-pitch .ballaxy-pitch-markings .away-six {
        top: 50% !important;
        bottom: auto !important;
        left: auto !important;
        width: 44px !important;
        height: 24% !important;
        transform: translateY(-50%) !important;
    }

    .ballaxy-football-pitch .ballaxy-pitch-markings .home-six {
        left: -3px !important;
        border-left: 0 !important;
        border-top: 3px solid rgba(255,255,255,.88) !important;
    }

    .ballaxy-football-pitch .ballaxy-pitch-markings .away-six {
        right: -3px !important;
        border-right: 0 !important;
        border-bottom: 3px solid rgba(255,255,255,.88) !important;
    }

    .ballaxy-football-pitch .ballaxy-pitch-side,
    .ballaxy-football-pitch .ballaxy-pitch-home,
    .ballaxy-football-pitch .ballaxy-pitch-away {
        top: 0 !important;
        bottom: 0 !important;
        width: 50% !important;
        height: 100% !important;
    }

    .ballaxy-football-pitch .ballaxy-pitch-home {
        left: 0 !important;
        right: auto !important;
    }

    .ballaxy-football-pitch .ballaxy-pitch-away {
        left: 50% !important;
        right: auto !important;
    }

    .ballaxy-football-pitch .ballaxy-pitch-player,
    .ballaxy-football-pitch .ballaxy-pitch-away .ballaxy-pitch-player {
        left: var(--y) !important;
        top: var(--x) !important;
    }
}

.ballaxy-match-lineups-section .ballaxy-substitutes-panel,
.ballaxy-substitutes-card,
.ballaxy-substitutes-card h3,
.ballaxy-substitutes-card .ballaxy-match-player-list,
.ballaxy-substitutes-card .ballaxy-match-player-list li {
    background: #202020 !important;
}

.ballaxy-substitutes-card {
    border: 0 !important;
    box-shadow: none !important;
}

.ballaxy-substitutes-card h3 {
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
}

.ballaxy-substitutes-card .ballaxy-match-player-list li:nth-child(even) {
    background: #1b1b1b !important;
}

/* =========================================================
   Ballaxy Stage 113 -- desktop pitch width + substitutes spacing
   ========================================================= */
@media (min-width: 641px) {
    .ballaxy-match-lineups-section .ballaxy-pitch-lineups-panel {
        padding-left: 28px !important;
        padding-right: 28px !important;
    }

    .ballaxy-match-lineups-section .ballaxy-pitch-lineups-panel .ballaxy-clean-panel-head {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .ballaxy-football-pitch {
        width: 100% !important;
        max-width: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        aspect-ratio: 16 / 9 !important;
    }
}

.ballaxy-match-lineups-section .ballaxy-substitutes-panel {
    padding: 28px !important;
    background: #202020 !important;
    border: 0 !important;
    box-shadow: none !important;
}

.ballaxy-match-lineups-section .ballaxy-substitutes-panel .ballaxy-substitutes-grid {
    width: 100% !important;
    margin: 0 !important;
}

.ballaxy-match-lineups-section .ballaxy-substitutes-card {
    background: #202020 !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 8px !important;
}

.ballaxy-match-lineups-section .ballaxy-substitutes-card h3,
.ballaxy-match-lineups-section .ballaxy-substitutes-card .ballaxy-match-player-list,
.ballaxy-match-lineups-section .ballaxy-substitutes-card .ballaxy-match-player-list li {
    background: #202020 !important;
}

.ballaxy-match-lineups-section .ballaxy-substitutes-card .ballaxy-match-player-list li:nth-child(even) {
    background: #1b1b1b !important;
}

@media (max-width: 640px) {
    .ballaxy-match-lineups-section .ballaxy-substitutes-panel {
        padding: 14px !important;
    }

    .ballaxy-match-lineups-section .ballaxy-substitutes-card h3 {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }
}

/* =========================================================
   Ballaxy Stage 114 -- force visible desktop lineup width + substitutes padding
   ========================================================= */

/* Give the desktop lineup/substitutes section more real width than the article cards. */
@media (min-width: 981px) {
    .ballaxy-match-lineups-section .ballaxy-container {
        width: min(1380px, calc(100vw - 56px)) !important;
        max-width: 1380px !important;
    }

    .ballaxy-match-lineups-section .ballaxy-pitch-lineups-panel {
        padding: 28px !important;
        background: #202020 !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    .ballaxy-match-lineups-section .ballaxy-pitch-lineups-panel .ballaxy-clean-panel-head {
        padding: 0 0 22px !important;
        margin: 0 !important;
    }

    .ballaxy-match-lineups-section .ballaxy-football-pitch {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        min-height: 620px !important;
        aspect-ratio: 16 / 8.4 !important;
        margin: 0 !important;
        position: relative !important;
    }

    /* Desktop pitch is horizontal: home on the left, away on the right. */
    .ballaxy-match-lineups-section .ballaxy-football-pitch .ballaxy-pitch-side,
    .ballaxy-match-lineups-section .ballaxy-football-pitch .ballaxy-pitch-home,
    .ballaxy-match-lineups-section .ballaxy-football-pitch .ballaxy-pitch-away {
        position: absolute !important;
        top: 0 !important;
        bottom: 0 !important;
        width: 50% !important;
        height: 100% !important;
        display: block !important;
        padding: 0 !important;
        margin: 0 !important;
        transform: none !important;
        z-index: 2 !important;
    }

    .ballaxy-match-lineups-section .ballaxy-football-pitch .ballaxy-pitch-home {
        left: 0 !important;
        right: auto !important;
    }

    .ballaxy-match-lineups-section .ballaxy-football-pitch .ballaxy-pitch-away {
        left: 50% !important;
        right: auto !important;
    }

    .ballaxy-match-lineups-section .ballaxy-football-pitch .ballaxy-pitch-line {
        display: contents !important;
    }

    .ballaxy-match-lineups-section .ballaxy-football-pitch .ballaxy-pitch-line::before {
        display: none !important;
        content: none !important;
    }

    /* Convert mobile vertical coordinates to desktop horizontal coordinates. */
    .ballaxy-match-lineups-section .ballaxy-football-pitch .ballaxy-pitch-player,
    .ballaxy-match-lineups-section .ballaxy-football-pitch .ballaxy-pitch-away .ballaxy-pitch-player {
        position: absolute !important;
        left: var(--y) !important;
        top: var(--x) !important;
        transform: translate(-50%, -50%) !important;
        width: 104px !important;
        max-width: 104px !important;
        display: grid !important;
        justify-items: center !important;
        gap: 7px !important;
    }

    .ballaxy-match-lineups-section .ballaxy-football-pitch .ballaxy-pitch-number {
        width: 44px !important;
        height: 44px !important;
        font-size: 1.35rem !important;
    }

    .ballaxy-match-lineups-section .ballaxy-football-pitch .ballaxy-pitch-player strong {
        max-width: 104px !important;
        font-size: .78rem !important;
        line-height: 1.08 !important;
    }

    /* Horizontal pitch markings. */
    .ballaxy-match-lineups-section .ballaxy-football-pitch .ballaxy-pitch-markings .center-line {
        top: 0 !important;
        bottom: 0 !important;
        left: 50% !important;
        right: auto !important;
        width: 3px !important;
        height: 100% !important;
        transform: translateX(-50%) !important;
    }

    .ballaxy-match-lineups-section .ballaxy-football-pitch .ballaxy-pitch-markings .center-circle {
        top: 50% !important;
        left: 50% !important;
        width: 132px !important;
        height: 132px !important;
        transform: translate(-50%, -50%) !important;
    }

    .ballaxy-match-lineups-section .ballaxy-football-pitch .ballaxy-pitch-markings .home-box,
    .ballaxy-match-lineups-section .ballaxy-football-pitch .ballaxy-pitch-markings .away-box {
        top: 50% !important;
        bottom: auto !important;
        left: auto !important;
        width: 118px !important;
        height: 48% !important;
        transform: translateY(-50%) !important;
    }

    .ballaxy-match-lineups-section .ballaxy-football-pitch .ballaxy-pitch-markings .home-box {
        left: -3px !important;
        right: auto !important;
        border-left: 0 !important;
        border-top: 3px solid rgba(255,255,255,.88) !important;
        border-bottom: 3px solid rgba(255,255,255,.88) !important;
        border-right: 3px solid rgba(255,255,255,.88) !important;
    }

    .ballaxy-match-lineups-section .ballaxy-football-pitch .ballaxy-pitch-markings .away-box {
        right: -3px !important;
        left: auto !important;
        border-right: 0 !important;
        border-top: 3px solid rgba(255,255,255,.88) !important;
        border-bottom: 3px solid rgba(255,255,255,.88) !important;
        border-left: 3px solid rgba(255,255,255,.88) !important;
    }

    .ballaxy-match-lineups-section .ballaxy-football-pitch .ballaxy-pitch-markings .home-six,
    .ballaxy-match-lineups-section .ballaxy-football-pitch .ballaxy-pitch-markings .away-six {
        top: 50% !important;
        bottom: auto !important;
        left: auto !important;
        width: 54px !important;
        height: 28% !important;
        transform: translateY(-50%) !important;
    }

    .ballaxy-match-lineups-section .ballaxy-football-pitch .ballaxy-pitch-markings .home-six {
        left: -3px !important;
        right: auto !important;
        border-left: 0 !important;
        border-top: 3px solid rgba(255,255,255,.88) !important;
        border-bottom: 3px solid rgba(255,255,255,.88) !important;
        border-right: 3px solid rgba(255,255,255,.88) !important;
    }

    .ballaxy-match-lineups-section .ballaxy-football-pitch .ballaxy-pitch-markings .away-six {
        right: -3px !important;
        left: auto !important;
        border-right: 0 !important;
        border-top: 3px solid rgba(255,255,255,.88) !important;
        border-bottom: 3px solid rgba(255,255,255,.88) !important;
        border-left: 3px solid rgba(255,255,255,.88) !important;
    }
}

/* Keep the mobile lineup exactly in the vertical layout that works. */
@media (max-width: 640px) {
    .ballaxy-match-lineups-section .ballaxy-football-pitch {
        width: min(100%, 760px) !important;
        max-width: 760px !important;
        aspect-ratio: 7 / 11 !important;
        min-height: 0 !important;
        margin: 20px auto 18px !important;
    }
}

/* Substitutes: same visual container as lineup card, no border, same outer padding. */
.ballaxy-match-lineups-section .ballaxy-substitutes-panel {
    padding: 28px !important;
    background: #202020 !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 8px !important;
}

.ballaxy-match-lineups-section .ballaxy-substitutes-grid {
    width: 100% !important;
    margin: 0 !important;
    gap: 20px !important;
}

.ballaxy-match-lineups-section .ballaxy-substitutes-card {
    background: #202020 !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    overflow: hidden !important;
}

.ballaxy-match-lineups-section .ballaxy-substitutes-card h3 {
    padding: 0 0 18px !important;
    margin: 0 !important;
    background: #202020 !important;
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
}

.ballaxy-match-lineups-section .ballaxy-substitutes-card .ballaxy-match-player-list {
    background: #202020 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.ballaxy-match-lineups-section .ballaxy-substitutes-card .ballaxy-match-player-list li {
    background: #202020 !important;
    border-bottom: 1px solid rgba(255,255,255,.06) !important;
}

.ballaxy-match-lineups-section .ballaxy-substitutes-card .ballaxy-match-player-list li:nth-child(even) {
    background: #1b1b1b !important;
}

@media (max-width: 640px) {
    .ballaxy-match-lineups-section .ballaxy-substitutes-panel {
        padding: 14px !important;
    }

    .ballaxy-match-lineups-section .ballaxy-substitutes-grid {
        gap: 14px !important;
    }

    .ballaxy-match-lineups-section .ballaxy-substitutes-card h3 {
        padding: 0 0 14px !important;
    }
}

/* =========================================================
   Ballaxy Stage 117 -- constrain lineups/substitutes to normal card width
   ========================================================= */

/*
 * Stage 114 intentionally widened the whole lineup section to 1380px so the
 * desktop pitch had room. That made the Lineups/Substitutes containers wider
 * than the rest of the match page. Keep the horizontal desktop pitch, but put
 * the section back into the same content width used by the other match cards.
 */
@media (min-width: 981px) {
    .ballaxy-match-lineups-section .ballaxy-container {
        width: min(1180px, calc(100vw - 48px)) !important;
        max-width: 1180px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .ballaxy-match-lineups-section .ballaxy-pitch-lineups-panel,
    .ballaxy-match-lineups-section .ballaxy-substitutes-panel {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }

    .ballaxy-match-lineups-section .ballaxy-football-pitch {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        min-height: 560px !important;
        aspect-ratio: 16 / 8.8 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }
}

/*
 * Make sure nested grids/lists do not visually overflow their parent cards.
 * This keeps substitutions aligned with the same left/right card edges as
 * the lineups and the rest of the match sections.
 */
.ballaxy-match-lineups-section .ballaxy-substitutes-grid,
.ballaxy-match-lineups-section .ballaxy-substitutes-card,
.ballaxy-match-lineups-section .ballaxy-match-player-list {
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* =========================================================
   Ballaxy Stage 121 -- working match tabs layout
   ========================================================= */

.ballaxy-match-tabs-wrap {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 36px !important;
    height: auto !important;
    z-index: 100 !important;
}

.ballaxy-match-tabs-wrap.is-stuck {
    height: var(--ballaxy-tabs-height, 56px) !important;
}

.ballaxy-match-tabs {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    gap: 34px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 0 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none !important;
    background: #202020 !important;
    border-bottom: 1px solid rgba(255,255,255,.14) !important;
    box-shadow: none !important;
    z-index: 1000 !important;
    box-sizing: border-box !important;
}

.ballaxy-match-tabs::-webkit-scrollbar {
    display: none !important;
}

.ballaxy-match-tabs-wrap.is-stuck .ballaxy-match-tabs {
    position: fixed !important;
    top: calc(var(--admin-bar, 0px) + var(--header-offset, 64px)) !important;
    left: 0 !important;
    right: 0 !important;
    width: 100vw !important;
    max-width: none !important;
    padding-left: max(40px, calc((100vw - 1180px) / 2)) !important;
    padding-right: max(40px, calc((100vw - 1180px) / 2)) !important;
    background: #202020 !important;
    box-shadow: 0 12px 24px rgba(0,0,0,.22) !important;
    z-index: 1500 !important;
}

.ballaxy-match-tabs a {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    min-height: 58px !important;
    padding: 0 !important;
    color: rgba(255,255,255,.68) !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
    opacity: 1 !important;
    text-decoration: none !important;
}

.ballaxy-match-tabs a::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    height: 3px !important;
    background: transparent !important;
    transform: none !important;
    opacity: 1 !important;
}

.ballaxy-match-tabs a:hover,
.ballaxy-match-tabs a.is-active {
    color: #fff !important;
}

.ballaxy-match-tabs a.is-active::after {
    background: #ffd000 !important;
}

.ballaxy-match-tabs-count {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 20px !important;
    height: 20px !important;
    padding: 0 6px !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.14) !important;
    color: rgba(255,255,255,.86) !important;
    font-size: .72rem !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}

.ballaxy-match-tabs a.is-active .ballaxy-match-tabs-count {
    background: #ffd000 !important;
    color: #111 !important;
}

#key-events,
#stats,
#lineups,
#comments,
#standings,
#related-posts {
    scroll-margin-top: calc(var(--admin-bar, 0px) + var(--header-offset, 64px) + 78px) !important;
}

@media (max-width: 768px) {
    .ballaxy-match-tabs {
        gap: 26px !important;
    }

    .ballaxy-match-tabs-wrap.is-stuck .ballaxy-match-tabs {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    .ballaxy-match-tabs a {
        min-height: 50px !important;
        font-size: .92rem !important;
    }

    .ballaxy-match-tabs-count {
        min-width: 18px !important;
        height: 18px !important;
        padding: 0 5px !important;
        font-size: .66rem !important;
    }
}
/* Ballaxy Stage 122 -- sticky tabs JS load fix support */
.ballaxy-match-tabs-wrap.is-stuck .ballaxy-match-tabs{position:fixed!important;top:calc(var(--admin-bar,0px) + var(--header-offset,64px))!important;left:0!important;right:0!important;width:100vw!important;z-index:99999!important}
.ballaxy-match-tabs a.is-active{color:#fff!important}
.ballaxy-match-tabs a.is-active::after{background:#ffd000!important}

/* =========================================================
   Ballaxy Stage 123 -- correct active tab highlight width
   ========================================================= */

/* Earlier CSS forced the first tab to always look active. Override it. */
.ballaxy-match-tabs a:first-child:not(.is-active) {
    color: rgba(255,255,255,.68) !important;
}

.ballaxy-match-tabs a:first-child:not(.is-active)::after {
    background: transparent !important;
}

/* Make the active underline belong to the whole tab, not just a tiny text area. */
.ballaxy-match-tabs a {
    padding-left: 16px !important;
    padding-right: 16px !important;
    outline: none !important;
}

.ballaxy-match-tabs a::after {
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    height: 3px !important;
}

.ballaxy-match-tabs a.is-active::after {
    background: #ffd000 !important;
}

.ballaxy-match-tabs a:focus {
    outline: none !important;
    box-shadow: none !important;
}

.ballaxy-match-tabs a:focus-visible {
    outline: none !important;
    box-shadow: inset 0 -3px 0 #ffd000 !important;
}

@media (max-width: 768px) {
    .ballaxy-match-tabs a {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
}

/* =========================================================
   Ballaxy Stage 124 -- remove mobile sticky tabs gap under header
   ========================================================= */

/*
 * On mobile, the browser/WP admin state can make --admin-bar + --header-offset
 * too large for the fixed match tabs. Anchor the sticky tabs to the visible
 * mobile header height instead, so they sit directly below the yellow header line.
 */
@media (max-width: 768px) {
    .ballaxy-match-tabs-wrap.is-stuck .ballaxy-match-tabs,
    .ballaxy-match-tabs.is-fixed {
        top: var(--header-offset, 64px) !important;
    }

    body.admin-bar .ballaxy-match-tabs-wrap.is-stuck .ballaxy-match-tabs,
    .admin-bar .ballaxy-match-tabs-wrap.is-stuck .ballaxy-match-tabs,
    body.admin-bar .ballaxy-match-tabs.is-fixed,
    .admin-bar .ballaxy-match-tabs.is-fixed {
        top: var(--header-offset, 64px) !important;
    }
}

@media (max-width: 480px) {
    .ballaxy-match-tabs-wrap.is-stuck .ballaxy-match-tabs,
    .ballaxy-match-tabs.is-fixed,
    body.admin-bar .ballaxy-match-tabs-wrap.is-stuck .ballaxy-match-tabs,
    .admin-bar .ballaxy-match-tabs-wrap.is-stuck .ballaxy-match-tabs,
    body.admin-bar .ballaxy-match-tabs.is-fixed,
    .admin-bar .ballaxy-match-tabs.is-fixed {
        top: 70px !important;
    }
}

/* =========================================================
   Ballaxy Stage 125 -- make mobile sticky tabs flush to header
   ========================================================= */

/*
 * Stage 124 still left a small visual gap on narrow mobile screens.
 * Pull the sticky tabs slightly upward so the tab bar touches the yellow
 * header separator.
 */
@media (max-width: 768px) {
    .ballaxy-match-tabs-wrap.is-stuck .ballaxy-match-tabs,
    .ballaxy-match-tabs.is-fixed,
    body.admin-bar .ballaxy-match-tabs-wrap.is-stuck .ballaxy-match-tabs,
    .admin-bar .ballaxy-match-tabs-wrap.is-stuck .ballaxy-match-tabs,
    body.admin-bar .ballaxy-match-tabs.is-fixed,
    .admin-bar .ballaxy-match-tabs.is-fixed {
        top: calc(var(--header-offset, 64px) - 8px) !important;
    }
}

@media (max-width: 480px) {
    .ballaxy-match-tabs-wrap.is-stuck .ballaxy-match-tabs,
    .ballaxy-match-tabs.is-fixed,
    body.admin-bar .ballaxy-match-tabs-wrap.is-stuck .ballaxy-match-tabs,
    .admin-bar .ballaxy-match-tabs-wrap.is-stuck .ballaxy-match-tabs,
    body.admin-bar .ballaxy-match-tabs.is-fixed,
    .admin-bar .ballaxy-match-tabs.is-fixed {
        top: 62px !important;
    }
}

@media (max-width: 390px) {
    .ballaxy-match-tabs-wrap.is-stuck .ballaxy-match-tabs,
    .ballaxy-match-tabs.is-fixed,
    body.admin-bar .ballaxy-match-tabs-wrap.is-stuck .ballaxy-match-tabs,
    .admin-bar .ballaxy-match-tabs-wrap.is-stuck .ballaxy-match-tabs,
    body.admin-bar .ballaxy-match-tabs.is-fixed,
    .admin-bar .ballaxy-match-tabs.is-fixed {
        top: 60px !important;
    }
}

/* =========================================================
   Ballaxy Stage 126 -- scheduled match recent results
   ========================================================= */

.ballaxy-recent-results-panel {
    margin-top: 20px !important;
}

.ballaxy-recent-results-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px !important;
}

.ballaxy-recent-results-card {
    background: #202020 !important;
    border: 0 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
}

.ballaxy-recent-results-card h3 {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin: 0 !important;
    padding: 18px 18px 16px !important;
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
    color: #fff !important;
    font-family: "Encode Sans Condensed", sans-serif !important;
    font-size: 1rem !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
}

.ballaxy-recent-results-card h3 img {
    width: 34px !important;
    height: 34px !important;
    object-fit: contain !important;
    flex-shrink: 0 !important;
}

.ballaxy-recent-results-list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.ballaxy-recent-results-list li {
    margin: 0 !important;
    padding: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.06) !important;
    background: #202020 !important;
}

.ballaxy-recent-results-list li:nth-child(even) {
    background: #1b1b1b !important;
}

.ballaxy-recent-results-list a,
.ballaxy-recent-results-list li > span,
.ballaxy-recent-results-list li > small {
    color: inherit !important;
}

.ballaxy-recent-results-list a,
.ballaxy-recent-results-list li {
    text-decoration: none !important;
}

.ballaxy-recent-results-list a,
.ballaxy-recent-results-list li:not(:has(a)) {
    display: grid !important;
    grid-template-columns: 52px 28px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 14px 16px !important;
}

.ballaxy-result-date {
    color: rgba(255,255,255,.65) !important;
    font-size: .78rem !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
}

.ballaxy-result-badge {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 26px !important;
    height: 26px !important;
    border-radius: 999px !important;
    font-size: .78rem !important;
    font-weight: 950 !important;
    color: #111 !important;
    background: rgba(255,255,255,.8) !important;
}

.ballaxy-result-badge.is-w {
    background: #22c55e !important;
    color: #07130b !important;
}

.ballaxy-result-badge.is-d {
    background: #ffd000 !important;
    color: #111 !important;
}

.ballaxy-result-badge.is-l {
    background: #ef4444 !important;
    color: #fff !important;
}

.ballaxy-result-teams {
    display: grid !important;
    grid-template-columns: 22px minmax(0, 1fr) auto minmax(0, 1fr) 22px !important;
    align-items: center !important;
    gap: 8px !important;
    min-width: 0 !important;
}

.ballaxy-result-teams img {
    width: 22px !important;
    height: 22px !important;
    object-fit: contain !important;
}

.ballaxy-result-teams strong {
    min-width: 0 !important;
    color: #fff !important;
    font-size: .86rem !important;
    font-weight: 900 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.ballaxy-result-teams em {
    color: #fff !important;
    font-style: normal !important;
    font-weight: 950 !important;
    white-space: nowrap !important;
}

.ballaxy-recent-results-list small {
    grid-column: 3 / -1 !important;
    color: rgba(255,255,255,.56) !important;
    font-size: .72rem !important;
    font-weight: 700 !important;
    margin-top: -4px !important;
}

@media (max-width: 900px) {
    .ballaxy-recent-results-grid {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }
}

@media (max-width: 640px) {
    .ballaxy-recent-results-list a,
    .ballaxy-recent-results-list li:not(:has(a)) {
        grid-template-columns: 44px 26px minmax(0, 1fr) !important;
        gap: 9px !important;
        padding: 13px 12px !important;
    }

    .ballaxy-result-teams {
        grid-template-columns: 20px minmax(0, 1fr) auto minmax(0, 1fr) 20px !important;
        gap: 6px !important;
    }

    .ballaxy-result-teams img {
        width: 20px !important;
        height: 20px !important;
    }

    .ballaxy-result-teams strong {
        font-size: .78rem !important;
    }
}

/* =========================================================
   Ballaxy Stage 127 -- scheduled result cards styled like substitutes
   ========================================================= */

.ballaxy-recent-results-panel {
    margin-top: 20px !important;
    padding: 28px !important;
    background: #202020 !important;
    border: 0 !important;
    border-radius: 8px !important;
}

.ballaxy-recent-results-panel .ballaxy-clean-panel-head {
    display: none !important;
}

.ballaxy-recent-results-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px !important;
}

.ballaxy-recent-results-card {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    overflow: hidden !important;
}

.ballaxy-recent-results-card h3 {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    margin: 0 !important;
    padding: 0 0 24px !important;
    border-bottom: 1px solid rgba(255,255,255,.12) !important;
    color: #fff !important;
    font-family: "Encode Sans Condensed", sans-serif !important;
    font-size: 1.65rem !important;
    line-height: 1 !important;
    font-weight: 950 !important;
    letter-spacing: -.05em !important;
    text-transform: uppercase !important;
}

.ballaxy-recent-results-card h3 img {
    width: 48px !important;
    height: 48px !important;
    object-fit: contain !important;
    flex-shrink: 0 !important;
}

.ballaxy-recent-results-list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.ballaxy-recent-results-list li {
    margin: 0 !important;
    padding: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.07) !important;
    background: transparent !important;
}

.ballaxy-recent-results-list li:nth-child(even) {
    background: rgba(0,0,0,.18) !important;
}

.ballaxy-recent-result-row {
    display: grid !important;
    grid-template-columns: 54px 30px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 12px !important;
    min-height: 64px !important;
    padding: 11px 18px !important;
    color: #fff !important;
    text-decoration: none !important;
}

.ballaxy-recent-result-row:hover {
    background: rgba(255,255,255,.035) !important;
    color: #fff !important;
}

.ballaxy-result-date {
    color: rgba(255,255,255,.72) !important;
    font-family: "Encode Sans Condensed", sans-serif !important;
    font-size: 1rem !important;
    font-weight: 950 !important;
    white-space: nowrap !important;
}

.ballaxy-result-badge {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 27px !important;
    height: 27px !important;
    border-radius: 999px !important;
    font-size: .8rem !important;
    font-weight: 950 !important;
    color: #111 !important;
    background: rgba(255,255,255,.85) !important;
}

.ballaxy-result-badge.is-w {
    background: #22c55e !important;
    color: #07130b !important;
}

.ballaxy-result-badge.is-d {
    background: #ffd000 !important;
    color: #111 !important;
}

.ballaxy-result-badge.is-l {
    background: #ef4444 !important;
    color: #fff !important;
}

.ballaxy-result-match {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 10px !important;
    min-width: 0 !important;
}

.ballaxy-result-team {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    min-width: 0 !important;
}

.ballaxy-result-team.is-away {
    justify-content: flex-end !important;
}

.ballaxy-result-team img {
    width: 22px !important;
    height: 22px !important;
    object-fit: contain !important;
    flex-shrink: 0 !important;
}

.ballaxy-result-team strong {
    min-width: 0 !important;
    color: #fff !important;
    font-size: .92rem !important;
    font-weight: 950 !important;
    line-height: 1.1 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.ballaxy-result-match em {
    color: #fff !important;
    font-style: normal !important;
    font-size: 1rem !important;
    font-weight: 950 !important;
    white-space: nowrap !important;
}

.ballaxy-recent-result-row small {
    grid-column: 3 / -1 !important;
    color: rgba(255,255,255,.54) !important;
    font-size: .74rem !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    margin-top: -7px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

@media (max-width: 900px) {
    .ballaxy-recent-results-grid {
        grid-template-columns: 1fr !important;
        gap: 28px !important;
    }
}

@media (max-width: 640px) {
    .ballaxy-recent-results-panel {
        padding: 20px 16px !important;
    }

    .ballaxy-recent-results-card h3 {
        gap: 10px !important;
        padding-bottom: 18px !important;
        font-size: 1.35rem !important;
    }

    .ballaxy-recent-results-card h3 img {
        width: 40px !important;
        height: 40px !important;
    }

    .ballaxy-recent-result-row {
        grid-template-columns: 44px 26px minmax(0, 1fr) !important;
        gap: 8px !important;
        min-height: 58px !important;
        padding: 10px 10px !important;
    }

    .ballaxy-result-date {
        font-size: .88rem !important;
    }

    .ballaxy-result-badge {
        width: 24px !important;
        height: 24px !important;
        font-size: .72rem !important;
    }

    .ballaxy-result-match {
        gap: 6px !important;
    }

    .ballaxy-result-team img {
        width: 18px !important;
        height: 18px !important;
    }

    .ballaxy-result-team strong {
        font-size: .78rem !important;
    }

    .ballaxy-result-match em {
        font-size: .86rem !important;
    }
}

/* =========================================================
   Ballaxy Stage 128 -- scheduled results compact table style
   ========================================================= */

.ballaxy-recent-results-panel {
    background: #303030 !important;
    border: 0 !important;
    border-radius: 8px !important;
    padding: 28px !important;
}

.ballaxy-recent-results-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px !important;
}

.ballaxy-recent-results-card {
    background: #303030 !important;
    border: 0 !important;
    border-radius: 0 !important;
    overflow: visible !important;
}

.ballaxy-recent-results-card h3 {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    margin: 0 !important;
    padding: 0 0 18px !important;
    border-bottom: 1px solid rgba(0,0,0,.42) !important;
    color: #fff !important;
    font-family: "Encode Sans Condensed", sans-serif !important;
    font-size: 1.65rem !important;
    line-height: 1 !important;
    font-weight: 950 !important;
    letter-spacing: -.05em !important;
    text-transform: uppercase !important;
}

.ballaxy-recent-results-card h3 img {
    width: 48px !important;
    height: 48px !important;
    object-fit: contain !important;
    flex-shrink: 0 !important;
}

.ballaxy-recent-results-list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.ballaxy-recent-results-list li {
    margin: 0 !important;
    padding: 0 !important;
    background: #303030 !important;
    border-bottom: 1px solid rgba(0,0,0,.42) !important;
}

.ballaxy-recent-results-list li:nth-child(even) {
    background: #2b2b2b !important;
}

.ballaxy-recent-result-row {
    display: grid !important;
    grid-template-columns: 84px minmax(0, 1fr) 58px minmax(0, 1fr) 34px !important;
    align-items: center !important;
    gap: 10px !important;
    min-height: 44px !important;
    padding: 8px 0 !important;
    color: #fff !important;
    text-decoration: none !important;
}

.ballaxy-recent-result-row:hover {
    color: #fff !important;
    background: rgba(255,255,255,.03) !important;
}

.ballaxy-result-date {
    color: rgba(255,255,255,.82) !important;
    font-size: .95rem !important;
    font-weight: 500 !important;
    white-space: nowrap !important;
}

.ballaxy-result-team-name {
    min-width: 0 !important;
    color: rgba(255,255,255,.88) !important;
    font-size: .95rem !important;
    font-weight: 500 !important;
    line-height: 1.1 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.ballaxy-result-team-name.is-home {
    text-align: left !important;
}

.ballaxy-result-team-name.is-away {
    text-align: left !important;
}

.ballaxy-result-score {
    color: #fff !important;
    font-size: 1rem !important;
    font-weight: 800 !important;
    text-align: center !important;
    white-space: nowrap !important;
}

.ballaxy-result-badge {
    justify-self: end !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 28px !important;
    height: 28px !important;
    padding: 0 8px !important;
    border-radius: 4px !important;
    color: #fff !important;
    background: #777 !important;
    font-size: .82rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

.ballaxy-result-badge.is-w {
    background: #2ca72c !important;
}

.ballaxy-result-badge.is-d {
    background: #d4a900 !important;
    color: #111 !important;
}

.ballaxy-result-badge.is-l {
    background: #c73535 !important;
}

.ballaxy-result-match,
.ballaxy-result-team,
.ballaxy-result-team img,
.ballaxy-recent-result-row small {
    display: none !important;
}

@media (max-width: 900px) {
    .ballaxy-recent-results-grid {
        grid-template-columns: 1fr !important;
        gap: 28px !important;
    }
}

@media (max-width: 640px) {
    .ballaxy-recent-results-panel {
        padding: 20px 16px !important;
    }

    .ballaxy-recent-results-card h3 {
        gap: 10px !important;
        padding-bottom: 16px !important;
        font-size: 1.35rem !important;
    }

    .ballaxy-recent-results-card h3 img {
        width: 40px !important;
        height: 40px !important;
    }

    .ballaxy-recent-result-row {
        grid-template-columns: 72px minmax(0, 1fr) 48px minmax(0, 1fr) 32px !important;
        gap: 7px !important;
        min-height: 42px !important;
    }

    .ballaxy-result-date,
    .ballaxy-result-team-name {
        font-size: .84rem !important;
    }

    .ballaxy-result-score {
        font-size: .9rem !important;
    }

    .ballaxy-result-badge {
        min-width: 26px !important;
        height: 26px !important;
        padding: 0 7px !important;
        font-size: .75rem !important;
    }
}

/* =========================================================
   Ballaxy Stage 129 -- scheduled results single-row layout
   ========================================================= */

/* Card background should match the page cards and not create separate row cards. */
.ballaxy-recent-results-panel {
    background: #303030 !important;
    border: 0 !important;
    border-radius: 8px !important;
    padding: 28px !important;
}

.ballaxy-recent-results-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px !important;
}

.ballaxy-recent-results-card {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    overflow: hidden !important;
    min-width: 0 !important;
}

.ballaxy-recent-results-card h3 {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    margin: 0 !important;
    padding: 0 0 18px !important;
    border-bottom: 1px solid rgba(0,0,0,.44) !important;
    color: #fff !important;
    font-family: "Encode Sans Condensed", sans-serif !important;
    font-size: 1.65rem !important;
    line-height: 1 !important;
    font-weight: 950 !important;
    letter-spacing: -.05em !important;
    text-transform: uppercase !important;
}

.ballaxy-recent-results-card h3 img {
    width: 48px !important;
    height: 48px !important;
    object-fit: contain !important;
    flex-shrink: 0 !important;
}

.ballaxy-recent-results-list {
    display: block !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.ballaxy-recent-results-list li {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border-bottom: 1px solid rgba(0,0,0,.44) !important;
}

.ballaxy-recent-results-list li:nth-child(even) {
    background: rgba(0,0,0,.14) !important;
}

/* Force every result into one horizontal line. */
.ballaxy-recent-result-row {
    display: grid !important;
    grid-template-columns: 82px minmax(0, 1fr) 58px minmax(0, 1fr) 30px !important;
    align-items: center !important;
    gap: 10px !important;
    min-height: 42px !important;
    padding: 7px 0 !important;
    color: #fff !important;
    text-decoration: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.ballaxy-recent-result-row:hover {
    color: #fff !important;
    background: rgba(255,255,255,.025) !important;
}

.ballaxy-result-date,
.ballaxy-result-team-name,
.ballaxy-result-score,
.ballaxy-standing-form,
.ballaxy-result-badge {
    grid-row: 1 !important;
    min-width: 0 !important;
    margin: 0 !important;
    line-height: 1 !important;
}

.ballaxy-result-date {
    grid-column: 1 !important;
    color: rgba(255,255,255,.82) !important;
    font-size: .94rem !important;
    font-weight: 500 !important;
    white-space: nowrap !important;
}

.ballaxy-result-team-name {
    color: rgba(255,255,255,.9) !important;
    font-size: .94rem !important;
    font-weight: 600 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.ballaxy-result-team-name.is-home {
    grid-column: 2 !important;
    text-align: left !important;
}

.ballaxy-result-score {
    grid-column: 3 !important;
    color: #fff !important;
    font-size: 1rem !important;
    font-weight: 850 !important;
    text-align: center !important;
    white-space: nowrap !important;
}

.ballaxy-result-team-name.is-away {
    grid-column: 4 !important;
    text-align: left !important;
}

.ballaxy-standing-form,
.ballaxy-result-badge {
    grid-column: 5 !important;
    justify-self: end !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
    padding: 0 !important;
    border-radius: 4px !important;
    color: #fff !important;
    font-size: .76rem !important;
    font-weight: 850 !important;
    text-transform: uppercase !important;
}

.ballaxy-standing-form.is-w,
.ballaxy-result-badge.is-w {
    background: #2ca72c !important;
    color: #fff !important;
}

.ballaxy-standing-form.is-d,
.ballaxy-result-badge.is-d {
    background: #d4a900 !important;
    color: #111 !important;
}

.ballaxy-standing-form.is-l,
.ballaxy-result-badge.is-l {
    background: #c73535 !important;
    color: #fff !important;
}

/* Remove previous layout leftovers completely. */
.ballaxy-result-match,
.ballaxy-result-team,
.ballaxy-result-team img,
.ballaxy-recent-result-row small,
.ballaxy-result-teams {
    display: none !important;
}

@media (max-width: 900px) {
    .ballaxy-recent-results-grid {
        grid-template-columns: 1fr !important;
        gap: 28px !important;
    }
}

@media (max-width: 640px) {
    .ballaxy-recent-results-panel {
        padding: 20px 16px !important;
    }

    .ballaxy-recent-results-card h3 {
        gap: 10px !important;
        padding-bottom: 16px !important;
        font-size: 1.35rem !important;
    }

    .ballaxy-recent-results-card h3 img {
        width: 40px !important;
        height: 40px !important;
    }

    .ballaxy-recent-result-row {
        grid-template-columns: 70px minmax(0, 1fr) 46px minmax(0, 1fr) 28px !important;
        gap: 7px !important;
        min-height: 40px !important;
        padding: 7px 0 !important;
    }

    .ballaxy-result-date,
    .ballaxy-result-team-name {
        font-size: .82rem !important;
    }

    .ballaxy-result-score {
        font-size: .88rem !important;
    }

    .ballaxy-standing-form,
    .ballaxy-result-badge {
        width: 24px !important;
        height: 24px !important;
        min-width: 24px !important;
        font-size: .7rem !important;
    }
}

/* =========================================================
   Ballaxy Stage 130 -- last 5 results polish: names, borders, round form
   ========================================================= */

.ballaxy-recent-results-panel {
    background: #303030 !important;
    border: 0 !important;
    border-radius: 8px !important;
    padding: 28px !important;
}

.ballaxy-recent-results-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px !important;
}

.ballaxy-recent-results-card {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    overflow: hidden !important;
    min-width: 0 !important;
}

.ballaxy-recent-results-card h3 {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    margin: 0 !important;
    padding: 0 0 18px !important;
    border-bottom: 1px solid rgba(255,255,255,.12) !important;
    color: #fff !important;
    font-family: "Encode Sans Condensed", sans-serif !important;
    font-size: 1.65rem !important;
    line-height: 1 !important;
    font-weight: 950 !important;
    letter-spacing: -.05em !important;
    text-transform: uppercase !important;
}

.ballaxy-recent-results-card h3 img {
    width: 48px !important;
    height: 48px !important;
    object-fit: contain !important;
    flex-shrink: 0 !important;
}

.ballaxy-recent-results-list {
    display: block !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.ballaxy-recent-results-list li {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
}

.ballaxy-recent-results-list li:nth-child(even) {
    background: rgba(0,0,0,.16) !important;
}

/* More space for team names and one clean row. */
.ballaxy-recent-result-row {
    display: grid !important;
    grid-template-columns: 78px minmax(92px, 1fr) 56px minmax(92px, 1fr) 28px !important;
    align-items: center !important;
    gap: 10px !important;
    min-height: 44px !important;
    padding: 8px 14px !important;
    color: #fff !important;
    text-decoration: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.ballaxy-recent-result-row:hover {
    color: #fff !important;
    background: rgba(255,255,255,.035) !important;
}

.ballaxy-result-date,
.ballaxy-result-team-name,
.ballaxy-result-score,
.ballaxy-standing-form,
.ballaxy-result-badge {
    grid-row: 1 !important;
    min-width: 0 !important;
    margin: 0 !important;
    line-height: 1 !important;
}

.ballaxy-result-date {
    grid-column: 1 !important;
    color: rgba(255,255,255,.76) !important;
    font-size: .9rem !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
}

.ballaxy-result-team-name {
    color: rgba(255,255,255,.94) !important;
    font-family: "Encode Sans Condensed", sans-serif !important;
    font-size: 1rem !important;
    font-weight: 850 !important;
    overflow: hidden !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
}

.ballaxy-result-team-name.is-home {
    grid-column: 2 !important;
    text-align: left !important;
}

.ballaxy-result-score {
    grid-column: 3 !important;
    color: #fff !important;
    font-family: "Encode Sans Condensed", sans-serif !important;
    font-size: 1.08rem !important;
    font-weight: 950 !important;
    text-align: center !important;
    white-space: nowrap !important;
}

.ballaxy-result-team-name.is-away {
    grid-column: 4 !important;
    text-align: left !important;
}

.ballaxy-standing-form,
.ballaxy-result-badge {
    grid-column: 5 !important;
    justify-self: end !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    padding: 0 !important;
    border-radius: 999px !important;
    color: #fff !important;
    font-family: "Encode Sans Condensed", sans-serif !important;
    font-size: .78rem !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
}

.ballaxy-standing-form.is-w,
.ballaxy-result-badge.is-w {
    background: #22c55e !important;
    color: #07130b !important;
}

.ballaxy-standing-form.is-d,
.ballaxy-result-badge.is-d {
    background: #ffd000 !important;
    color: #111 !important;
}

.ballaxy-standing-form.is-l,
.ballaxy-result-badge.is-l {
    background: #ef4444 !important;
    color: #fff !important;
}

/* Remove older result layouts. */
.ballaxy-result-match,
.ballaxy-result-team,
.ballaxy-result-team img,
.ballaxy-recent-result-row small,
.ballaxy-result-teams {
    display: none !important;
}

@media (max-width: 1100px) and (min-width: 901px) {
    .ballaxy-recent-result-row {
        grid-template-columns: 70px minmax(70px, 1fr) 48px minmax(70px, 1fr) 26px !important;
        gap: 7px !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    .ballaxy-result-date {
        font-size: .82rem !important;
    }

    .ballaxy-result-team-name {
        font-size: .92rem !important;
    }
}

@media (max-width: 900px) {
    .ballaxy-recent-results-grid {
        grid-template-columns: 1fr !important;
        gap: 28px !important;
    }

    .ballaxy-recent-result-row {
        grid-template-columns: 84px minmax(100px, 1fr) 56px minmax(100px, 1fr) 28px !important;
    }
}

@media (max-width: 640px) {
    .ballaxy-recent-results-panel {
        padding: 20px 16px !important;
    }

    .ballaxy-recent-results-card h3 {
        gap: 10px !important;
        padding-bottom: 16px !important;
        font-size: 1.35rem !important;
    }

    .ballaxy-recent-results-card h3 img {
        width: 40px !important;
        height: 40px !important;
    }

    .ballaxy-recent-result-row {
        grid-template-columns: 66px minmax(48px, 1fr) 44px minmax(48px, 1fr) 24px !important;
        gap: 6px !important;
        min-height: 40px !important;
        padding: 7px 8px !important;
    }

    .ballaxy-result-date {
        font-size: .76rem !important;
    }

    .ballaxy-result-team-name {
        font-size: .82rem !important;
        text-overflow: ellipsis !important;
    }

    .ballaxy-result-score {
        font-size: .86rem !important;
    }

    .ballaxy-standing-form,
    .ballaxy-result-badge {
        width: 22px !important;
        height: 22px !important;
        min-width: 22px !important;
        font-size: .68rem !important;
    }
}

/* =========================================================
   Ballaxy Stage 131 -- readable recent result names
   ========================================================= */

.ballaxy-recent-results-panel {
    background: #303030 !important;
    border: 0 !important;
    border-radius: 8px !important;
    padding: 28px !important;
}

.ballaxy-recent-results-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px !important;
}

.ballaxy-recent-results-card {
    background: transparent !important;
    min-width: 0 !important;
}

.ballaxy-recent-results-card h3 {
    border-bottom: 1px solid rgba(255,255,255,.12) !important;
}

.ballaxy-recent-result-row {
    grid-template-columns: 82px minmax(0, 1.25fr) 54px minmax(0, 1.25fr) 26px !important;
    gap: 10px !important;
    min-height: 44px !important;
    padding: 8px 14px !important;
}

.ballaxy-result-date {
    color: rgba(255,255,255,.72) !important;
    font-family: "Oxygen", system-ui, -apple-system, sans-serif !important;
    font-size: .86rem !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
}

.ballaxy-result-team-name {
    color: rgba(255,255,255,.9) !important;
    font-family: "Oxygen", system-ui, -apple-system, sans-serif !important;
    font-size: .88rem !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.ballaxy-result-score {
    font-family: "Oxygen", system-ui, -apple-system, sans-serif !important;
    font-size: .95rem !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
}

.ballaxy-standing-form,
.ballaxy-result-badge {
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    border-radius: 999px !important;
    color: #fff !important;
    font-family: "Encode Sans Condensed", sans-serif !important;
    font-size: .72rem !important;
    font-weight: 900 !important;
}

.ballaxy-standing-form.is-w,
.ballaxy-result-badge.is-w {
    background: #22c55e !important;
    color: #fff !important;
}

.ballaxy-standing-form.is-d,
.ballaxy-result-badge.is-d {
    background: #ffd000 !important;
    color: #fff !important;
}

.ballaxy-standing-form.is-l,
.ballaxy-result-badge.is-l {
    background: #ef4444 !important;
    color: #fff !important;
}

.ballaxy-recent-results-list li {
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
}

.ballaxy-recent-results-list li:nth-child(even) {
    background: rgba(0,0,0,.16) !important;
}

@media (max-width: 1100px) and (min-width: 901px) {
    .ballaxy-recent-result-row {
        grid-template-columns: 74px minmax(0, 1.1fr) 48px minmax(0, 1.1fr) 24px !important;
        gap: 7px !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    .ballaxy-result-date,
    .ballaxy-result-team-name {
        font-size: .8rem !important;
    }
}

@media (max-width: 900px) {
    .ballaxy-recent-result-row {
        grid-template-columns: 84px minmax(0, 1.25fr) 54px minmax(0, 1.25fr) 26px !important;
    }

    .ballaxy-result-team-name {
        font-size: .88rem !important;
    }
}

@media (max-width: 640px) {
    .ballaxy-recent-result-row {
        grid-template-columns: 62px minmax(0, 1fr) 42px minmax(0, 1fr) 22px !important;
        gap: 5px !important;
        padding: 7px 6px !important;
    }

    .ballaxy-result-date {
        font-size: .72rem !important;
    }

    .ballaxy-result-team-name {
        font-size: .76rem !important;
    }

    .ballaxy-result-score {
        font-size: .8rem !important;
    }

    .ballaxy-standing-form,
    .ballaxy-result-badge {
        width: 21px !important;
        height: 21px !important;
        min-width: 21px !important;
        font-size: .64rem !important;
    }
}

/* =========================================================
   Ballaxy Stage 132 -- scheduled results use team short names
   ========================================================= */

.ballaxy-recent-result-row {
    grid-template-columns: 82px 54px 54px 54px 26px !important;
    gap: 12px !important;
}

.ballaxy-result-team-name {
    font-family: "Encode Sans Condensed", sans-serif !important;
    font-size: 1rem !important;
    font-weight: 850 !important;
    text-transform: uppercase !important;
    letter-spacing: 0 !important;
    text-overflow: clip !important;
}

.ballaxy-result-team-name.is-home,
.ballaxy-result-team-name.is-away {
    text-align: left !important;
}

.ballaxy-result-score {
    font-family: "Encode Sans Condensed", sans-serif !important;
    font-size: 1.05rem !important;
    font-weight: 950 !important;
}

@media (max-width: 1100px) and (min-width: 901px) {
    .ballaxy-recent-result-row {
        grid-template-columns: 74px 48px 46px 48px 24px !important;
        gap: 9px !important;
    }

    .ballaxy-result-team-name {
        font-size: .94rem !important;
    }
}

@media (max-width: 900px) {
    .ballaxy-recent-result-row {
        grid-template-columns: 84px 58px 54px 58px 26px !important;
    }
}

@media (max-width: 640px) {
    .ballaxy-recent-result-row {
        grid-template-columns: 62px 42px 40px 42px 22px !important;
        gap: 7px !important;
    }

    .ballaxy-result-team-name {
        font-size: .82rem !important;
    }
}

/* =========================================================
   Ballaxy Stage 133 -- bring teams closer to score in Last 5 rows
   ========================================================= */

.ballaxy-recent-result-row {
    grid-template-columns: 82px 46px 42px 46px 26px !important;
    gap: 8px !important;
    justify-content: start !important;
}

.ballaxy-result-team-name.is-home {
    text-align: right !important;
}

.ballaxy-result-team-name.is-away {
    text-align: left !important;
}

.ballaxy-result-score {
    text-align: center !important;
}

@media (max-width: 1100px) and (min-width: 901px) {
    .ballaxy-recent-result-row {
        grid-template-columns: 74px 42px 40px 42px 24px !important;
        gap: 7px !important;
    }
}

@media (max-width: 900px) {
    .ballaxy-recent-result-row {
        grid-template-columns: 84px 48px 42px 48px 26px !important;
        gap: 8px !important;
    }
}

@media (max-width: 640px) {
    .ballaxy-recent-result-row {
        grid-template-columns: 62px 38px 38px 38px 22px !important;
        gap: 6px !important;
    }
}

/* =========================================================
   Ballaxy Stage 134 -- Last 5 score cluster layout
   ========================================================= */

/*
 * Use flex instead of the old grid for this table. This keeps the date on the
 * left, the home/score/away cluster together, and the W/D/L circle on the right.
 */
.ballaxy-recent-results-panel .ballaxy-recent-result-row {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 44px !important;
    padding: 8px 14px !important;
    gap: 0 !important;
    color: #fff !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
}

.ballaxy-recent-results-panel .ballaxy-result-date {
    flex: 0 0 82px !important;
    width: 82px !important;
    max-width: 82px !important;
    color: rgba(255,255,255,.76) !important;
    font-size: .86rem !important;
    font-weight: 500 !important;
    white-space: nowrap !important;
}

.ballaxy-recent-results-panel .ballaxy-result-team-name {
    flex: 0 0 54px !important;
    width: 54px !important;
    max-width: 54px !important;
    color: rgba(255,255,255,.92) !important;
    font-family: "Encode Sans Condensed", sans-serif !important;
    font-size: 1rem !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
}

.ballaxy-recent-results-panel .ballaxy-result-team-name.is-home {
    margin-left: auto !important;
    text-align: right !important;
    padding-right: 10px !important;
}

.ballaxy-recent-results-panel .ballaxy-result-score {
    flex: 0 0 46px !important;
    width: 46px !important;
    max-width: 46px !important;
    color: #fff !important;
    font-family: "Encode Sans Condensed", sans-serif !important;
    font-size: 1.08rem !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    text-align: center !important;
    white-space: nowrap !important;
}

.ballaxy-recent-results-panel .ballaxy-result-team-name.is-away {
    text-align: left !important;
    padding-left: 10px !important;
    margin-right: auto !important;
}

.ballaxy-recent-results-panel .ballaxy-standing-form,
.ballaxy-recent-results-panel .ballaxy-result-badge {
    flex: 0 0 24px !important;
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    margin-left: 10px !important;
    border-radius: 999px !important;
    color: #fff !important;
    font-family: "Encode Sans Condensed", sans-serif !important;
    font-size: .72rem !important;
    font-weight: 950 !important;
    line-height: 1 !important;
}

.ballaxy-recent-results-panel .ballaxy-standing-form.is-w,
.ballaxy-recent-results-panel .ballaxy-result-badge.is-w {
    background: #22c55e !important;
    color: #fff !important;
}

.ballaxy-recent-results-panel .ballaxy-standing-form.is-d,
.ballaxy-recent-results-panel .ballaxy-result-badge.is-d {
    background: #ffd000 !important;
    color: #fff !important;
}

.ballaxy-recent-results-panel .ballaxy-standing-form.is-l,
.ballaxy-recent-results-panel .ballaxy-result-badge.is-l {
    background: #ef4444 !important;
    color: #fff !important;
}

@media (max-width: 1100px) and (min-width: 901px) {
    .ballaxy-recent-results-panel .ballaxy-recent-result-row {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    .ballaxy-recent-results-panel .ballaxy-result-date {
        flex-basis: 74px !important;
        width: 74px !important;
        max-width: 74px !important;
        font-size: .8rem !important;
    }

    .ballaxy-recent-results-panel .ballaxy-result-team-name {
        flex-basis: 50px !important;
        width: 50px !important;
        max-width: 50px !important;
        font-size: .94rem !important;
    }

    .ballaxy-recent-results-panel .ballaxy-result-score {
        flex-basis: 42px !important;
        width: 42px !important;
        max-width: 42px !important;
    }
}

@media (max-width: 640px) {
    .ballaxy-recent-results-panel .ballaxy-recent-result-row {
        padding: 7px 8px !important;
    }

    .ballaxy-recent-results-panel .ballaxy-result-date {
        flex-basis: 62px !important;
        width: 62px !important;
        max-width: 62px !important;
        font-size: .72rem !important;
    }

    .ballaxy-recent-results-panel .ballaxy-result-team-name {
        flex-basis: 42px !important;
        width: 42px !important;
        max-width: 42px !important;
        font-size: .82rem !important;
    }

    .ballaxy-recent-results-panel .ballaxy-result-team-name.is-home {
        padding-right: 7px !important;
    }

    .ballaxy-recent-results-panel .ballaxy-result-team-name.is-away {
        padding-left: 7px !important;
    }

    .ballaxy-recent-results-panel .ballaxy-result-score {
        flex-basis: 38px !important;
        width: 38px !important;
        max-width: 38px !important;
        font-size: .86rem !important;
    }

    .ballaxy-recent-results-panel .ballaxy-standing-form,
    .ballaxy-recent-results-panel .ballaxy-result-badge {
        width: 22px !important;
        height: 22px !important;
        min-width: 22px !important;
        flex-basis: 22px !important;
        margin-left: 7px !important;
        font-size: .64rem !important;
    }
}

/* =========================================================
   Ballaxy Stage 135 -- head to head card for scheduled matches
   ========================================================= */

.ballaxy-h2h-panel {
    margin-top: 20px !important;
}

.ballaxy-h2h-card {
    background: #303030 !important;
    border: 0 !important;
    border-radius: 8px !important;
    padding: 28px !important;
}

.ballaxy-h2h-top {
    display: grid !important;
    grid-template-columns: 1fr auto 1fr !important;
    align-items: center !important;
    gap: 24px !important;
    margin-bottom: 28px !important;
}

.ballaxy-h2h-team {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 8px !important;
    color: #fff !important;
    font-family: "Encode Sans Condensed", sans-serif !important;
    font-size: 1rem !important;
    font-weight: 850 !important;
    text-transform: uppercase !important;
}

.ballaxy-h2h-team img {
    width: 64px !important;
    height: 64px !important;
    object-fit: contain !important;
}

.ballaxy-h2h-title {
    color: #fff !important;
    font-family: "Encode Sans Condensed", sans-serif !important;
    font-size: 1.35rem !important;
    font-weight: 850 !important;
    text-transform: uppercase !important;
    text-align: center !important;
    white-space: nowrap !important;
}

.ballaxy-h2h-summary {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    max-width: 520px !important;
    margin: 0 auto 26px !important;
}

.ballaxy-h2h-summary div {
    text-align: center !important;
    padding: 0 22px !important;
    border-right: 1px solid rgba(255,255,255,.14) !important;
}

.ballaxy-h2h-summary div:last-child {
    border-right: 0 !important;
}

.ballaxy-h2h-summary strong {
    display: block !important;
    color: #fff !important;
    font-family: "Encode Sans Condensed", sans-serif !important;
    font-size: 2.3rem !important;
    line-height: 1 !important;
    font-weight: 950 !important;
}

.ballaxy-h2h-summary span {
    display: block !important;
    margin-top: 6px !important;
    color: rgba(255,255,255,.75) !important;
    font-size: .9rem !important;
}

.ballaxy-h2h-list {
    list-style: none !important;
    margin: 0 auto !important;
    padding: 0 !important;
    max-width: 620px !important;
}

.ballaxy-h2h-list li {
    margin: 0 !important;
    padding: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
}

.ballaxy-h2h-list li:nth-child(even) {
    background: rgba(0,0,0,.12) !important;
}

.ballaxy-h2h-row {
    display: grid !important;
    grid-template-columns: 116px minmax(0,1fr) 60px minmax(0,1fr) !important;
    align-items: center !important;
    gap: 14px !important;
    min-height: 48px !important;
    color: #fff !important;
    text-decoration: none !important;
}

.ballaxy-h2h-date {
    color: rgba(255,255,255,.75) !important;
    font-size: .9rem !important;
    white-space: nowrap !important;
}

.ballaxy-h2h-name {
    color: rgba(255,255,255,.82) !important;
    font-size: .9rem !important;
    font-weight: 500 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.ballaxy-h2h-name.is-focus {
    color: #fff !important;
    font-weight: 800 !important;
}

.ballaxy-h2h-score {
    color: #fff !important;
    font-family: "Encode Sans Condensed", sans-serif !important;
    font-size: 1rem !important;
    font-weight: 950 !important;
    text-align: center !important;
    white-space: nowrap !important;
}

.ballaxy-h2h-goals {
    display: grid !important;
    grid-template-columns: 70px 1fr 70px !important;
    align-items: center !important;
    gap: 14px !important;
    max-width: 620px !important;
    margin: 28px auto 0 !important;
    color: #fff !important;
}

.ballaxy-h2h-goals strong {
    font-family: "Encode Sans Condensed", sans-serif !important;
    font-size: 1.6rem !important;
    font-weight: 950 !important;
}

.ballaxy-h2h-goals strong:last-child {
    text-align: right !important;
}

.ballaxy-h2h-goals span {
    color: rgba(255,255,255,.76) !important;
    text-align: center !important;
    font-size: .9rem !important;
}

.ballaxy-h2h-goals span::after {
    content: "" !important;
    display: block !important;
    height: 8px !important;
    margin-top: 10px !important;
    border-radius: 999px !important;
    background: linear-gradient(90deg, #fff 0 50%, rgba(0,0,0,.45) 50% 100%) !important;
}

@media (max-width: 640px) {
    .ballaxy-h2h-card {
        padding: 20px 16px !important;
    }

    .ballaxy-h2h-top {
        grid-template-columns: 1fr auto 1fr !important;
        gap: 12px !important;
        margin-bottom: 22px !important;
    }

    .ballaxy-h2h-team img {
        width: 46px !important;
        height: 46px !important;
    }

    .ballaxy-h2h-title {
        font-size: 1rem !important;
        white-space: normal !important;
    }

    .ballaxy-h2h-summary strong {
        font-size: 1.8rem !important;
    }

    .ballaxy-h2h-row {
        grid-template-columns: 78px minmax(0,1fr) 44px minmax(0,1fr) !important;
        gap: 8px !important;
        min-height: 44px !important;
    }

    .ballaxy-h2h-date,
    .ballaxy-h2h-name {
        font-size: .78rem !important;
    }
}

/* =========================================================
   Ballaxy Stage 136 -- head to head card padding alignment
   ========================================================= */

/* Match Key Events / clean-panel spacing: card content should start closer to edges. */
.ballaxy-h2h-panel {
    padding: 28px !important;
}

.ballaxy-h2h-panel .ballaxy-clean-panel-head {
    margin-bottom: 22px !important;
}

.ballaxy-h2h-card {
    padding: 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
}

.ballaxy-h2h-top {
    margin: 0 0 26px !important;
    padding: 0 6px !important;
}

.ballaxy-h2h-summary {
    max-width: 620px !important;
    margin-bottom: 24px !important;
}

.ballaxy-h2h-list {
    max-width: 760px !important;
}

.ballaxy-h2h-row {
    grid-template-columns: 120px minmax(0,1fr) 58px minmax(0,1fr) !important;
    padding: 0 0 !important;
}

.ballaxy-h2h-goals {
    max-width: 760px !important;
    margin-top: 26px !important;
}

@media (max-width: 640px) {
    .ballaxy-h2h-panel {
        padding: 20px 16px !important;
    }

    .ballaxy-h2h-top {
        padding: 0 !important;
        margin-bottom: 20px !important;
    }

    .ballaxy-h2h-row {
        grid-template-columns: 78px minmax(0,1fr) 42px minmax(0,1fr) !important;
    }
}

/* =========================================================
   Ballaxy Stage 137 -- H2H darker section + stat-style polish
   ========================================================= */

.ballaxy-match-h2h-section {
    background: #181818 !important;
    padding-top: 48px !important;
    padding-bottom: 48px !important;
}

.ballaxy-match-h2h-section .ballaxy-clean-panel.ballaxy-h2h-panel {
    background: #303030 !important;
    border: 0 !important;
    border-radius: 8px !important;
    padding: 28px !important;
    margin: 0 !important;
}

.ballaxy-h2h-panel .ballaxy-clean-panel-head {
    margin-bottom: 26px !important;
}

.ballaxy-h2h-card {
    background: transparent !important;
    padding: 0 !important;
}

.ballaxy-h2h-top {
    display: grid !important;
    grid-template-columns: 1fr auto 1fr !important;
    align-items: center !important;
    gap: 24px !important;
    padding: 0 !important;
    margin: 0 0 28px !important;
}

.ballaxy-h2h-team {
    padding: 0 !important;
}

.ballaxy-h2h-team img {
    width: 68px !important;
    height: 68px !important;
}

.ballaxy-h2h-summary {
    max-width: 620px !important;
    margin-bottom: 28px !important;
}

.ballaxy-h2h-list {
    max-width: 760px !important;
}

.ballaxy-h2h-goals {
    display: grid !important;
    grid-template-columns: 70px minmax(0,1fr) 70px !important;
    align-items: center !important;
    gap: 14px !important;
    max-width: 760px !important;
    margin: 30px auto 0 !important;
}

.ballaxy-h2h-goals strong {
    color: #fff !important;
    font-family: "Encode Sans Condensed", sans-serif !important;
    font-size: 1.35rem !important;
    font-weight: 950 !important;
    line-height: 1 !important;
}

.ballaxy-h2h-goals strong:first-child {
    text-align: left !important;
}

.ballaxy-h2h-goals strong:last-child {
    text-align: right !important;
}

.ballaxy-h2h-goals span {
    position: relative !important;
    display: block !important;
    color: rgba(255,255,255,.82) !important;
    text-align: center !important;
    font-size: .95rem !important;
    font-weight: 500 !important;
    padding-bottom: 18px !important;
}

.ballaxy-h2h-goals span::before,
.ballaxy-h2h-goals span::after {
    content: "" !important;
    position: absolute !important;
    bottom: 0 !important;
    height: 8px !important;
    border-radius: 999px !important;
}

.ballaxy-h2h-goals span::before {
    right: calc(50% + 6px) !important;
    width: calc(50% - 6px) !important;
    background: #f2f2f2 !important;
}

.ballaxy-h2h-goals span::after {
    left: calc(50% + 6px) !important;
    width: calc(50% - 6px) !important;
    background: rgba(0,0,0,.55) !important;
}

@media (max-width: 640px) {
    .ballaxy-match-h2h-section {
        padding-top: 32px !important;
        padding-bottom: 32px !important;
    }

    .ballaxy-match-h2h-section .ballaxy-clean-panel.ballaxy-h2h-panel {
        padding: 20px 16px !important;
    }

    .ballaxy-h2h-top {
        gap: 12px !important;
        margin-bottom: 22px !important;
    }

    .ballaxy-h2h-team img {
        width: 52px !important;
        height: 52px !important;
    }

    .ballaxy-h2h-goals {
        grid-template-columns: 46px minmax(0,1fr) 46px !important;
        gap: 10px !important;
    }
}

/* =========================================================
   Ballaxy Stage 138 -- H2H darker card + prediction/scorers sidebar
   ========================================================= */

.ballaxy-match-h2h-section {
    background: #111 !important;
    padding-top: 48px !important;
    padding-bottom: 48px !important;
}

.ballaxy-match-h2h-section .ballaxy-clean-panel.ballaxy-h2h-panel {
    background: #252525 !important;
    border: 0 !important;
    border-radius: 8px !important;
    padding: 28px !important;
}

.ballaxy-h2h-card {
    background: transparent !important;
}

.ballaxy-h2h-goals {
    display: block !important;
    max-width: 760px !important;
    margin: 30px auto 0 !important;
}

.ballaxy-h2h-goals strong:first-child,
.ballaxy-h2h-goals strong:last-child {
    display: inline-block !important;
    width: 70px !important;
    color: #fff !important;
    font-family: "Encode Sans Condensed", sans-serif !important;
    font-size: 1.35rem !important;
    font-weight: 950 !important;
    vertical-align: top !important;
}

.ballaxy-h2h-goals strong:last-child {
    float: right !important;
    text-align: right !important;
}

.ballaxy-h2h-goals span {
    display: block !important;
    margin: -22px 84px 0 !important;
    padding-bottom: 17px !important;
    position: relative !important;
    color: rgba(255,255,255,.82) !important;
    text-align: center !important;
    font-size: .95rem !important;
}

.ballaxy-h2h-goals span::before,
.ballaxy-h2h-goals span::after {
    content: "" !important;
    position: absolute !important;
    bottom: 0 !important;
    height: 8px !important;
    border-radius: 999px !important;
}

.ballaxy-h2h-goals span::before {
    left: 0 !important;
    width: calc(50% - 6px) !important;
    background: #f2f2f2 !important;
}

.ballaxy-h2h-goals span::after {
    right: 0 !important;
    width: calc(50% - 6px) !important;
    background: rgba(0,0,0,.55) !important;
}

.ballaxy-match-comments-sidebar {
    display: flex !important;
    flex-direction: column !important;
    gap: 18px !important;
}

.ballaxy-match-vote-box h2,
.ballaxy-match-top-scorers-box h2 {
    margin: 0 0 18px !important;
    padding-bottom: 14px !important;
    border-bottom: 1px solid rgba(255,255,255,.16) !important;
    color: #fff !important;
    font-size: 1.55rem !important;
    line-height: 1 !important;
    letter-spacing: -.045em !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
}

.ballaxy-match-vote-options {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
}

.ballaxy-match-vote-options button {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 7px !important;
    min-height: 112px !important;
    border: 1px solid rgba(255,255,255,.1) !important;
    border-radius: 8px !important;
    background: rgba(0,0,0,.18) !important;
    color: #fff !important;
    cursor: pointer !important;
    padding: 12px 8px !important;
    transition: .18s ease !important;
}

.ballaxy-match-vote-options button:hover {
    border-color: var(--accent, #ffd000) !important;
    background: rgba(255,255,255,.06) !important;
}

.ballaxy-match-vote-options button:disabled {
    cursor: default !important;
    opacity: .8 !important;
}

.ballaxy-match-vote-options img {
    width: 38px !important;
    height: 38px !important;
    object-fit: contain !important;
}

.ballaxy-match-vote-options strong {
    font-family: "Encode Sans Condensed", sans-serif !important;
    font-size: 1.05rem !important;
    font-weight: 950 !important;
}

.ballaxy-match-vote-options span {
    color: rgba(255,255,255,.68) !important;
    font-size: .76rem !important;
}

.ballaxy-match-vote-options em {
    color: #fff !important;
    font-style: normal !important;
    font-weight: 800 !important;
}

.ballaxy-match-vote-bars {
    display: grid !important;
    gap: 10px !important;
    margin-top: 14px !important;
}

.ballaxy-match-vote-bars div {
    display: grid !important;
    grid-template-columns: 38px 1fr 42px !important;
    align-items: center !important;
    gap: 8px !important;
}

.ballaxy-match-vote-bars span,
.ballaxy-match-vote-bars strong {
    color: rgba(255,255,255,.82) !important;
    font-size: .78rem !important;
    font-weight: 800 !important;
}

.ballaxy-match-vote-bars strong {
    text-align: right !important;
}

.ballaxy-match-vote-bars em {
    height: 7px !important;
    border-radius: 999px !important;
    overflow: hidden !important;
    background: rgba(0,0,0,.5) !important;
}

.ballaxy-match-vote-bars i {
    display: block !important;
    height: 100% !important;
    border-radius: 999px !important;
    background: var(--accent, #ffd000) !important;
}

.ballaxy-match-vote-message {
    min-height: 18px !important;
    margin: 10px 0 0 !important;
    color: rgba(255,255,255,.68) !important;
    font-size: .78rem !important;
}

.ballaxy-match-top-scorers-box {
    padding-top: 4px !important;
}

.ballaxy-match-top-scorers-list {
    list-style: none !important;
    counter-reset: scorers !important;
    margin: 0 !important;
    padding: 0 !important;
}

.ballaxy-match-top-scorers-list li {
    counter-increment: scorers !important;
    display: grid !important;
    grid-template-columns: 26px minmax(0, 1fr) 30px !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 11px 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.09) !important;
}

.ballaxy-match-top-scorers-list .rank::before {
    content: counter(scorers) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 22px !important;
    height: 22px !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.1) !important;
    color: #fff !important;
    font-family: "Encode Sans Condensed", sans-serif !important;
    font-size: .8rem !important;
    font-weight: 950 !important;
}

.ballaxy-match-top-scorers-list .player {
    min-width: 0 !important;
}

.ballaxy-match-top-scorers-list .player strong {
    display: block !important;
    color: #fff !important;
    font-size: .88rem !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.ballaxy-match-top-scorers-list .player small {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    margin-top: 4px !important;
    color: rgba(255,255,255,.58) !important;
    font-size: .72rem !important;
    font-weight: 700 !important;
}

.ballaxy-match-top-scorers-list .player img {
    width: 16px !important;
    height: 16px !important;
    object-fit: contain !important;
}

.ballaxy-match-top-scorers-list .goals {
    justify-self: end !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 28px !important;
    border-radius: 999px !important;
    background: var(--accent, #ffd000) !important;
    color: #111 !important;
    font-family: "Encode Sans Condensed", sans-serif !important;
    font-size: .9rem !important;
    font-weight: 950 !important;
}

@media (max-width: 1023px) {
    .ballaxy-match-comments-layout {
        grid-template-columns: 1fr !important;
    }

    .ballaxy-match-goals-sidebar {
        position: static !important;
    }
}

@media (max-width: 640px) {
    .ballaxy-match-h2h-section {
        padding-top: 32px !important;
        padding-bottom: 32px !important;
    }

    .ballaxy-match-h2h-section .ballaxy-clean-panel.ballaxy-h2h-panel {
        padding: 20px 16px !important;
    }

    .ballaxy-h2h-goals strong:first-child,
    .ballaxy-h2h-goals strong:last-child {
        width: 46px !important;
    }

    .ballaxy-h2h-goals span {
        margin-left: 58px !important;
        margin-right: 58px !important;
    }
}

/* =========================================================
   Ballaxy Stage 139 -- scheduled-only prediction/top scorers + restored finished sidebar
   ========================================================= */

.ballaxy-match-h2h-section {
    background: #111 !important;
}

.ballaxy-h2h-section-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 330px !important;
    gap: 24px !important;
    align-items: start !important;
}

.ballaxy-h2h-section-main {
    min-width: 0 !important;
}

.ballaxy-h2h-section-sidebar {
    border-radius: 8px !important;
    background: #252525 !important;
    padding: 24px 22px !important;
    color: #fff !important;
    position: sticky !important;
    top: 96px !important;
}

/* H2H card should have same dark card tone as the new darker section cards. */
.ballaxy-match-h2h-section .ballaxy-clean-panel.ballaxy-h2h-panel {
    background: #252525 !important;
    border: 0 !important;
    border-radius: 8px !important;
}

/* Prediction box now lives in the H2H darker section. */
.ballaxy-h2h-section-sidebar .ballaxy-match-vote-box h2 {
    margin: 0 0 18px !important;
    padding-bottom: 14px !important;
    border-bottom: 1px solid rgba(255,255,255,.16) !important;
    color: #fff !important;
    font-size: 1.55rem !important;
    line-height: 1 !important;
    letter-spacing: -.045em !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
}

/* Top scorers should visually match the old goal scorers sidebar. */
.ballaxy-match-top-scorers-box h2 {
    margin: 0 0 18px !important;
    padding-bottom: 14px !important;
    border-bottom: 1px solid rgba(255,255,255,.16) !important;
    color: #fff !important;
    font-size: 1.55rem !important;
    line-height: 1 !important;
    letter-spacing: -.045em !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
}

.ballaxy-match-top-scorers-list {
    list-style: none !important;
    counter-reset: scorers !important;
    margin: 0 !important;
    padding: 0 !important;
}

.ballaxy-match-top-scorers-list li {
    counter-increment: scorers !important;
    display: grid !important;
    grid-template-columns: 38px minmax(0, 1fr) 32px !important;
    gap: 12px !important;
    align-items: center !important;
    padding: 13px 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.09) !important;
}

.ballaxy-match-top-scorers-list .rank::before {
    content: counter(scorers) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 28px !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.1) !important;
    color: #fff !important;
    font-family: "Encode Sans Condensed", sans-serif !important;
    font-size: .85rem !important;
    font-weight: 950 !important;
}

.ballaxy-match-top-scorers-list .player {
    min-width: 0 !important;
}

.ballaxy-match-top-scorers-list .player strong {
    display: block !important;
    color: #fff !important;
    font-size: .9rem !important;
    line-height: 1.15 !important;
    font-weight: 850 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.ballaxy-match-top-scorers-list .player small {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin-top: 4px !important;
    color: rgba(255,255,255,.62) !important;
    font-size: .72rem !important;
    font-weight: 700 !important;
}

.ballaxy-match-top-scorers-list .player img {
    width: 16px !important;
    height: 16px !important;
    object-fit: contain !important;
}

.ballaxy-match-top-scorers-list .goals {
    justify-self: end !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 28px !important;
    height: 28px !important;
    padding: 0 8px !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.1) !important;
    color: #fff !important;
    font-family: "Encode Sans Condensed", sans-serif !important;
    font-size: .9rem !important;
    font-weight: 950 !important;
}

@media (max-width: 1023px) {
    .ballaxy-h2h-section-layout {
        grid-template-columns: 1fr !important;
    }

    .ballaxy-h2h-section-sidebar {
        position: static !important;
    }
}

/* =========================================================
   Ballaxy Stage 142 -- remade single article template hotfix
   ========================================================= */

.ballaxy-article-shell {
    max-width: 1180px !important;
    margin: 0 auto !important;
    padding: 28px 16px 0 !important;
}

.ballaxy-article-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 780px) 320px !important;
    gap: 36px !important;
    align-items: start !important;
}

.ballaxy-article-main {
    min-width: 0 !important;
}

.ballaxy-article-hero {
    margin-bottom: 28px !important;
}

.ballaxy-article-kicker {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-bottom: 14px !important;
    color: var(--muted) !important;
    font-size: .82rem !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: .035em !important;
}

.ballaxy-article-kicker a {
    color: var(--accent) !important;
    font-weight: 950 !important;
}

.ballaxy-article-title {
    margin: 0 0 18px !important;
    color: var(--text) !important;
    font-family: "Encode Sans Condensed", sans-serif !important;
    font-size: clamp(2.2rem, 5vw, 4.2rem) !important;
    line-height: .95 !important;
    letter-spacing: -.055em !important;
    font-weight: 950 !important;
}

.ballaxy-article-meta {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 14px !important;
    margin-bottom: 24px !important;
    color: var(--muted) !important;
    font-size: .9rem !important;
}

.ballaxy-article-author {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    color: var(--text) !important;
}

.ballaxy-article-author img {
    width: 34px !important;
    height: 34px !important;
    border-radius: 999px !important;
}

.ballaxy-article-author span {
    display: grid !important;
    gap: 1px !important;
}

.ballaxy-article-author em {
    color: var(--muted) !important;
    font-size: .72rem !important;
    font-style: normal !important;
    line-height: 1 !important;
}

.ballaxy-article-author strong {
    color: var(--text) !important;
    font-size: .9rem !important;
    line-height: 1.1 !important;
}

.ballaxy-article-comment-jump {
    display: inline-flex !important;
    align-items: center !important;
    border-radius: 999px !important;
    background: var(--surface-soft) !important;
    color: var(--text) !important;
    padding: 6px 11px !important;
    font-size: .82rem !important;
    font-weight: 800 !important;
}

.ballaxy-article-featured {
    margin: 0 !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    background: var(--surface-soft) !important;
}

.ballaxy-article-featured img {
    width: 100% !important;
    border-radius: 14px !important;
    display: block !important;
}

.ballaxy-article-featured figcaption {
    padding: 10px 12px !important;
    color: var(--muted) !important;
    font-size: .78rem !important;
}

.ballaxy-article-content {
    color: var(--text) !important;
    font-size: 1.05rem !important;
    line-height: 1.78 !important;
}

.ballaxy-article-content p {
    margin: 0 0 1.35rem !important;
    font-size: 1.05rem !important;
    line-height: 1.78 !important;
}

[data-theme="dark"] .ballaxy-article-title,
[data-theme="dark"] .ballaxy-article-content,
[data-theme="dark"] .ballaxy-article-content p,
[data-theme="dark"] .ballaxy-article-content h2,
[data-theme="dark"] .ballaxy-article-content h3 {
    color: rgba(255,255,255,.94) !important;
}

/* Article football embeds: visible stronger selectors around current shortcode output. */
.ballaxy-article-content .football-related-boxscore,
body.single-post .football-related-boxscore {
    position: relative !important;
    margin: 32px 0 !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    background: #202020 !important;
}

.ballaxy-article-content .football-related-boxscore > *,
body.single-post .football-related-boxscore > * {
    border-radius: 14px !important;
}

.ballaxy-article-content .football-related-boxscore .ballaxy-clean-hero-card,
.ballaxy-article-content .football-related-boxscore .ballaxy-match-card,
.ballaxy-article-content .football-related-boxscore .football-match-card,
body.single-post .football-related-boxscore .ballaxy-clean-hero-card,
body.single-post .football-related-boxscore .ballaxy-match-card,
body.single-post .football-related-boxscore .football-match-card {
    background: #202020 !important;
    border: 0 !important;
    border-radius: 14px !important;
    color: #fff !important;
    box-shadow: none !important;
}

/* Standings in article */
.ballaxy-article-content .football-related-standings--clean,
body.single-post .football-related-standings--clean {
    margin: 36px 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.ballaxy-article-content .football-related-standings--clean .block-title,
body.single-post .football-related-standings--clean .block-title {
    color: var(--text) !important;
    font-size: 1.65rem !important;
    line-height: 1 !important;
    letter-spacing: -.045em !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
}

.ballaxy-article-content .football-related-standings--clean .ballaxy-standings-card,
.ballaxy-article-content .football-related-standings--clean .football-standings,
.ballaxy-article-content .football-related-standings--clean .ballaxy-football-standings,
body.single-post .football-related-standings--clean .ballaxy-standings-card,
body.single-post .football-related-standings--clean .football-standings,
body.single-post .football-related-standings--clean .ballaxy-football-standings {
    border: 0 !important;
    border-radius: 10px !important;
    background: #303030 !important;
    padding: 18px 20px !important;
    overflow-x: auto !important;
    color: #fff !important;
}

.ballaxy-article-content .football-related-standings--clean table,
body.single-post .football-related-standings--clean table {
    width: 100% !important;
    border-collapse: collapse !important;
    color: #fff !important;
}

.ballaxy-article-content .football-related-standings--clean th,
body.single-post .football-related-standings--clean th {
    padding: 10px 10px 14px !important;
    border: 0 !important;
    color: rgba(255,255,255,.68) !important;
    font-family: "Encode Sans Condensed", sans-serif !important;
    font-size: .82rem !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
}

.ballaxy-article-content .football-related-standings--clean td,
body.single-post .football-related-standings--clean td {
    padding: 14px 10px !important;
    border-top: 1px solid rgba(255,255,255,.07) !important;
    color: rgba(255,255,255,.92) !important;
}

/* Footer/comments */
.ballaxy-article-footer {
    display: grid !important;
    gap: 18px !important;
    margin-top: 34px !important;
    padding-top: 24px !important;
    border-top: 1px solid var(--border) !important;
}

.ballaxy-article-tags,
.ballaxy-article-share {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 8px !important;
}

.ballaxy-article-tags span,
.ballaxy-article-share span {
    color: var(--muted) !important;
    font-size: .8rem !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
}

.ballaxy-article-tags a,
.ballaxy-article-share a,
.ballaxy-article-share button {
    border: 1px solid var(--border) !important;
    border-radius: 999px !important;
    background: var(--surface-soft) !important;
    color: var(--text) !important;
    padding: 7px 11px !important;
    font-size: .82rem !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

.ballaxy-article-author-box {
    display: grid !important;
    grid-template-columns: 56px minmax(0,1fr) auto !important;
    gap: 14px !important;
    align-items: center !important;
    border-radius: 12px !important;
    background: var(--surface-soft) !important;
    border: 1px solid var(--border) !important;
    padding: 16px !important;
}

.ballaxy-article-sidebar {
    position: sticky !important;
    top: 96px !important;
}

body.single-post .comments-wrapper.ballaxy-single-comments {
    border-radius: 10px !important;
    background: #303030 !important;
    color: #fff !important;
    padding: 28px !important;
}

body.single-post .comments-wrapper.ballaxy-single-comments textarea,
body.single-post .comments-wrapper.ballaxy-single-comments input[type="text"],
body.single-post .comments-wrapper.ballaxy-single-comments input[type="email"] {
    background: #202020 !important;
    color: #fff !important;
    border-color: rgba(255,255,255,.12) !important;
    border-radius: 8px !important;
}

@media (max-width: 1023px) {
    .ballaxy-article-grid {
        grid-template-columns: 1fr !important;
    }

    .ballaxy-article-sidebar {
        display: none !important;
    }
}

@media (max-width: 760px) {
    .ballaxy-article-shell {
        padding-top: 20px !important;
    }

    .ballaxy-article-title {
        font-size: clamp(2rem, 12vw, 3rem) !important;
    }

    .ballaxy-article-author-box {
        grid-template-columns: 48px minmax(0,1fr) !important;
    }
}


