/* Kisure Sports v393 kisure-v393-base-bundle.css. Generated in source order to reduce render-blocking requests. */

/* ===== scroll.css ===== */

.scroll-container {
    position: relative;
    overflow: hidden;
}

.scroll-content {
    display: flex;
    overflow-x: auto;
    scroll-behavior: smooth;
    padding-bottom: 0.5rem;
    scrollbar-width: none;
}

.scroll-content::-webkit-scrollbar {
    display: none;
}

.scroll-button {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-color: #f4f6f8;
    border: none;
    cursor: pointer;
    z-index: 1;
    padding: 0.5rem;
    
}

.scroll-button.left {
    left: 0;
}

.scroll-button.right {
    right: 0;
}

@media (max-width: 576px) {
    .scroll-content {
        max-width: 100vw;
        font-size: 0.75rem;
        justify-content: center;
    }

    .navbar-nav {
        display: inline-flex;
        flex-wrap: nowrap;
    }

    .scroll-button {
        display: block;
        margin-left: 25px;
        margin-right: 25px;
    }
}


/* ===== kisure-redesign.css ===== */
:root {
    --font-display: "Space Grotesk", "Segoe UI", sans-serif;
    --font-body: "Manrope", "Segoe UI", sans-serif;
    --bg: #f5f7fb;
    --bg-elevated: rgba(255, 255, 255, 0.9);
    --bg-soft: rgba(255, 255, 255, 0.72);
    --bg-contrast: #0f172a;
    --surface: #ffffff;
    --surface-strong: #f8fafc;
    --surface-dark: #111827;
    --text: #122033;
    --text-soft: #5b6b82;
    --text-faint: #8a98ad;
    --border: rgba(15, 23, 42, 0.1);
    --border-strong: rgba(15, 23, 42, 0.18);
    --primary: #0ea5a4;
    --primary-strong: #0b7285;
    --accent: #f97316;
    --accent-soft: rgba(249, 115, 22, 0.12);
    --success: #10b981;
    --danger: #ef4444;
    --shadow-sm: 0 18px 40px rgba(15, 23, 42, 0.08);
    --shadow-md: 0 24px 60px rgba(15, 23, 42, 0.14);
    --shadow-lg: 0 35px 90px rgba(15, 23, 42, 0.18);
    --radius-sm: 16px;
    --radius-md: 24px;
    --radius-lg: 34px;
    --hero-gradient: radial-gradient(circle at top left, rgba(14, 165, 164, 0.22), transparent 34%), radial-gradient(circle at top right, rgba(249, 115, 22, 0.16), transparent 26%), linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(245, 247, 251, 0.88));
}

html[data-theme="dark"] {
    --bg: #07111f;
    --bg-elevated: rgba(8, 16, 31, 0.88);
    --bg-soft: rgba(15, 23, 42, 0.68);
    --bg-contrast: #eff6ff;
    --surface: #0f172a;
    --surface-strong: #162033;
    --surface-dark: #020817;
    --text: #e5edf8;
    --text-soft: #b3c1d7;
    --text-faint: #7f8da3;
    --border: rgba(148, 163, 184, 0.16);
    --border-strong: rgba(148, 163, 184, 0.26);
    --primary: #4fd1c5;
    --primary-strong: #14b8a6;
    --accent: #fb923c;
    --accent-soft: rgba(251, 146, 60, 0.14);
    --success: #34d399;
    --danger: #f87171;
    --shadow-sm: 0 18px 38px rgba(2, 8, 23, 0.28);
    --shadow-md: 0 24px 60px rgba(2, 8, 23, 0.36);
    --shadow-lg: 0 34px 90px rgba(2, 8, 23, 0.46);
    --hero-gradient: radial-gradient(circle at top left, rgba(79, 209, 197, 0.18), transparent 34%), radial-gradient(circle at top right, rgba(251, 146, 60, 0.14), transparent 26%), linear-gradient(180deg, rgba(7, 17, 31, 0.94), rgba(7, 17, 31, 0.8));
}

html {
    scroll-behavior: smooth;
}

body {
    background: var(--bg);
    color: var(--text);
    font-family: var(--font-body);
    line-height: 1.65;
    min-height: 100vh;
    transition: background-color 0.25s ease, color 0.25s ease;
}

body.site-body {
    background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.4), rgba(245, 247, 251, 0));
}

html[data-theme="dark"] body.site-body {
    background-image:
        radial-gradient(circle at 12% -12%, rgba(79, 209, 197, 0.08), transparent 22%),
        radial-gradient(circle at 88% -10%, rgba(251, 146, 60, 0.07), transparent 18%),
        linear-gradient(180deg, transparent, rgba(7, 17, 31, 0));
}

h1,
h2,
h3,
h4,
h5,
h6,
.display-font {
    color: var(--bg-contrast);
    font-family: var(--font-display);
    font-weight: 700;
    letter-spacing: -0.03em;
}

a {
    color: inherit;
    text-decoration: none;
    transition: color 0.2s ease, opacity 0.2s ease, transform 0.2s ease;
}

a:hover {
    color: var(--primary);
}

img {
    max-width: 100%;
}

.site-main {
    padding: 2rem 0 4rem;
}

.site-shell {
    width: min(1400px, calc(100% - 2rem));
    margin: 0 auto;
}

.site-shell--wide {
    width: min(1540px, calc(100% - 1.5rem));
}

.site-section {
    margin-bottom: 2rem;
}

.surface-card,
.site-panel {
    background: var(--bg-elevated);
    backdrop-filter: blur(16px);
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm);
}

.site-panel {
    padding: 1.5rem;
}

.site-panel--tight {
    padding: 1.15rem;
}

.site-panel--hero {
    background: var(--hero-gradient);
    border-color: var(--border-strong);
    box-shadow: var(--shadow-md);
}

.site-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    color: var(--primary-strong);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.26em;
    text-transform: uppercase;
}

.site-kicker::before {
    content: "";
    width: 2.7rem;
    height: 1px;
    background: linear-gradient(90deg, var(--primary), transparent);
}

.section-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.3rem;
}

.section-heading h2,
.section-heading h3,
.section-heading h4 {
    margin: 0;
}

.section-heading p {
    color: var(--text-soft);
    margin: 0.35rem 0 0;
}

.section-link {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    color: var(--primary-strong);
    font-size: 0.95rem;
    font-weight: 700;
}

.section-link:hover {
    transform: translateX(3px);
}

.theme-switcher {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.3rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

html[data-theme="dark"] .theme-switcher {
    background: rgba(15, 23, 42, 0.8);
    border-color: rgba(148, 163, 184, 0.16);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.theme-switcher__button {
    appearance: none;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: var(--text-soft);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    font-size: 0.84rem;
    font-weight: 700;
    min-height: 2.2rem;
    padding: 0 0.85rem;
}

.theme-switcher__button.is-active {
    background: var(--surface);
    color: var(--bg-contrast);
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.08);
}

html[data-theme="dark"] .theme-switcher__button.is-active {
    background: rgba(255, 255, 255, 0.08);
    box-shadow: 0 14px 30px rgba(2, 8, 23, 0.22);
}

.theme-menu {
    position: relative;
}

.theme-menu__trigger {
    background: rgba(255, 255, 255, 0.82);
    border-color: rgba(15, 23, 42, 0.1);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.92);
    justify-content: space-between;
    min-width: 10rem;
}

.theme-menu__trigger span {
    font-size: 0.86rem;
    font-weight: 800;
}

.theme-menu__trigger > .fa-circle-half-stroke {
    color: var(--primary-strong);
}

.theme-menu__trigger .small {
    font-size: 0.7rem;
    opacity: 0.7;
}

html[data-theme="dark"] .theme-menu__trigger {
    background: rgba(15, 23, 42, 0.8);
    border-color: rgba(148, 163, 184, 0.18);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.theme-menu__dropdown {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 18px;
    box-shadow: var(--shadow-md);
    display: grid;
    gap: 0.25rem;
    min-width: 13rem;
    opacity: 0;
    overflow: hidden;
    padding: 0.45rem;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: calc(100% + 0.5rem);
    transform: translateY(0.35rem);
    transition: opacity 0.2s ease, transform 0.2s ease;
    z-index: 40;
}

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

.theme-menu__dropdown .theme-switcher__button {
    border-radius: 14px;
    justify-content: flex-start;
    min-height: 2.65rem;
    padding-inline: 0.95rem;
    width: 100%;
}

.theme-menu__dropdown .theme-switcher__button i {
    text-align: center;
    width: 1rem;
}

.site-button,
.btn-site {
    appearance: none;
    align-items: center;
    background: linear-gradient(135deg, var(--primary), var(--primary-strong));
    border: 1px solid transparent;
    border-radius: 999px;
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    font-weight: 800;
    gap: 0.55rem;
    justify-content: center;
    min-height: 3rem;
    padding: 0 1.35rem;
    text-align: center;
    text-decoration: none;
    transition: transform 0.22s ease, box-shadow 0.22s ease, background 0.22s ease;
}

.site-button:hover,
.btn-site:hover {
    box-shadow: 0 18px 32px rgba(14, 165, 164, 0.22);
    color: #fff;
    transform: translateY(-1px);
}

.site-button--ghost {
    background: transparent;
    border-color: var(--border-strong);
    color: var(--bg-contrast);
}

.site-button--ghost:hover {
    background: rgba(14, 165, 164, 0.08);
    color: var(--bg-contrast);
}

.site-header {
    padding: 1rem 0 0;
    position: sticky;
    top: 0;
    z-index: 1040;
}

.site-header__inner {
    display: grid;
    gap: 1rem;
}

.site-header__bar {
    align-items: center;
    display: grid;
    gap: 1rem;
    grid-template-columns: auto minmax(0, 1fr) auto;
    padding: 1rem 1.25rem;
}

.site-header__group {
    align-items: center;
    display: flex;
    gap: 0.85rem;
}

.site-header__brand {
    align-items: center;
    display: inline-flex;
    flex-shrink: 0;
    gap: 0.85rem;
    min-width: 0;
}

.site-header__brand img {
    background: transparent !important;
    border-radius: 0;
    display: block;
    filter: none !important;
    height: auto;
    max-height: 3.25rem;
    max-width: min(13rem, 34vw);
    mix-blend-mode: normal !important;
    object-fit: contain;
    width: auto;
}

.footer-panel__brand .site-header__brand img {
    max-height: 3.5rem;
    max-width: min(100%, 15rem);
}

html[data-theme="dark"] .site-header__brand img[src$=".svg"],
html[data-theme="dark"] .footer-panel__brand .site-header__brand img[src$=".svg"] {
    filter: brightness(0) invert(1) !important;
}

.brand-mark {
    align-items: center;
    background: linear-gradient(135deg, var(--primary), var(--primary-strong));
    border-radius: 18px;
    color: #fff;
    display: inline-flex;
    font-family: var(--font-display);
    font-size: 1rem;
    font-weight: 800;
    height: 3rem;
    justify-content: center;
    width: 3rem;
}

.site-header__title {
    display: block;
    line-height: 1.1;
}

.site-header__title strong {
    color: var(--bg-contrast);
    font-family: var(--font-display);
    font-size: 1.1rem;
}

.site-header__title span {
    color: var(--text-soft);
    font-size: 0.8rem;
}

.site-header__nav {
    align-items: center;
    display: flex;
    flex-wrap: nowrap;
    gap: 0.3rem;
    justify-content: center;
    min-width: 0;
    overflow-x: auto;
    scrollbar-width: none;
}

.site-header__nav::-webkit-scrollbar {
    display: none;
}

.site-header__nav a,
.site-header__nav button {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 999px;
    color: var(--text-soft);
    display: inline-flex;
    font-size: 0.9rem;
    font-weight: 700;
    gap: 0.5rem;
    min-height: 2.75rem;
    padding: 0 0.95rem;
    white-space: nowrap;
}

.site-header__nav a:hover,
.site-header__nav button:hover,
.site-header__nav .is-active {
    background: rgba(14, 165, 164, 0.1);
    color: var(--bg-contrast);
}

.header-menu-item {
    position: relative;
    padding-block: 0.25rem 0.45rem;
}

.header-menu-item::after {
    content: "";
    height: 1.25rem;
    left: 0;
    position: absolute;
    right: 0;
    top: calc(100% - 0.35rem);
}

.header-menu-item__dropdown {
    backdrop-filter: blur(18px);
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 20px;
    box-shadow: var(--shadow-md);
    display: grid;
    gap: 0.25rem;
    min-width: 16rem;
    opacity: 0;
    padding: 0.6rem;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: calc(100% - 0.15rem);
    transform: translateY(0.35rem);
    transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s ease;
    visibility: hidden;
    z-index: 35;
}

.header-menu-item:hover .header-menu-item__dropdown,
.header-menu-item:focus-within .header-menu-item__dropdown {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
    visibility: visible;
}

.header-menu-item__dropdown a {
    border-radius: 14px;
    min-height: 2.5rem;
    width: 100%;
}

.site-icon-button {
    align-items: center;
    background: transparent;
    border: 1px solid var(--border);
    border-radius: 999px;
    color: var(--bg-contrast);
    cursor: pointer;
    display: inline-flex;
    height: 3rem;
    justify-content: center;
    width: 3rem;
}

.site-icon-button--label {
    gap: 0.55rem;
    min-width: 10rem;
    padding: 0 1rem;
    width: auto;
}

.site-icon-button:hover {
    background: rgba(14, 165, 164, 0.09);
    color: var(--primary-strong);
}

.site-header__utility {
    align-items: center;
    display: flex;
    gap: 0.6rem;
    justify-content: flex-end;
}

.header-spotlight {
    align-items: center;
    background: linear-gradient(135deg, rgba(15, 23, 42, 0.04), rgba(14, 165, 164, 0.05));
    border: 1px solid var(--border);
    border-radius: 22px;
    display: flex;
    gap: 0.75rem;
    padding: 0.7rem 0.95rem;
}

.header-spotlight__value {
    color: var(--bg-contrast);
    font-family: var(--font-display);
    font-size: 1rem;
    font-weight: 700;
}

.header-spotlight__label {
    color: var(--text-soft);
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
}

.site-mobile-menu {
    display: none;
    grid-column: 1 / -1;
}

.site-mobile-menu.is-open {
    display: grid;
}

.site-mobile-menu__panel {
    display: grid;
    gap: 0.85rem;
    padding: 0.15rem 1rem 1.1rem;
}

.site-mobile-menu__row {
    align-items: center;
    display: grid;
    gap: 0.45rem;
    grid-template-columns: minmax(0, 1fr) auto;
}

.site-mobile-menu__link,
.site-mobile-menu__child {
    align-items: center;
    border-radius: 18px;
    color: var(--bg-contrast);
    display: flex;
    font-weight: 700;
    justify-content: space-between;
    min-height: 3rem;
    padding: 0.85rem 1rem;
    text-decoration: none;
    transition: background 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.site-mobile-menu__link {
    background: rgba(14, 165, 164, 0.08);
    border: 1px solid rgba(14, 165, 164, 0.12);
}

.site-mobile-menu__link--single {
    width: 100%;
}

.site-mobile-menu__group {
    background: linear-gradient(180deg, rgba(14, 165, 164, 0.06), rgba(255, 255, 255, 0.92));
    border: 1px solid var(--border);
    border-radius: 20px;
    box-shadow: var(--shadow-sm);
    padding: 0.45rem;
}

html[data-theme="dark"] .site-mobile-menu__group {
    background: linear-gradient(180deg, rgba(79, 209, 197, 0.08), rgba(15, 23, 42, 0.88));
}

.site-mobile-menu__toggle {
    align-items: center;
    background: rgba(14, 165, 164, 0.12);
    border: 0;
    border-radius: 16px;
    color: var(--primary-strong);
    cursor: pointer;
    display: inline-flex;
    height: 3rem;
    justify-content: center;
    transition: background 0.18s ease, color 0.18s ease, transform 0.18s ease;
    width: 3rem;
}

.site-mobile-menu__toggle i {
    transition: transform 0.2s ease;
}

.site-mobile-menu__group.is-open .site-mobile-menu__toggle i {
    transform: rotate(180deg);
}

.site-mobile-menu__children {
    display: grid;
    gap: 0.35rem;
    padding: 0.6rem 0.05rem 0.1rem;
}

.site-mobile-menu__children[hidden] {
    display: none !important;
}

.site-mobile-menu__child {
    background: rgba(255, 255, 255, 0.74);
    border: 1px solid rgba(148, 163, 184, 0.12);
    color: var(--text-soft);
    padding-block: 0.75rem;
    padding-left: 1.1rem;
}

html[data-theme="dark"] .site-mobile-menu__child {
    background: rgba(15, 23, 42, 0.58);
}

.site-mobile-menu__link:hover,
.site-mobile-menu__child:hover,
.site-mobile-menu__toggle:hover {
    color: var(--bg-contrast);
    transform: translateY(-1px);
}

.site-mobile-menu__child:hover {
    background: rgba(14, 165, 164, 0.12);
}

.search-modal {
    background: rgba(7, 17, 31, 0.45);
    inset: 0;
    opacity: 0;
    pointer-events: none;
    position: fixed;
    transition: opacity 0.22s ease;
    z-index: 1100;
}

.search-modal.is-open {
    opacity: 1;
    pointer-events: auto;
}

.search-modal__card {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 28px;
    box-shadow: var(--shadow-lg);
    margin: 6.5rem auto 0;
    max-width: 52rem;
    padding: 1rem;
    width: min(92vw, 52rem);
}

.search-modal__top {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-bottom: 0.75rem;
}

.search-modal__label {
    color: var(--text-soft);
    font-size: 0.9rem;
    font-weight: 700;
}

.search-modal__form {
    display: grid;
    gap: 0.85rem;
    grid-template-columns: 1fr auto;
}

.search-modal__form input,
.newsletter-form input,
.auth-form__control,
.site-form-control {
    background: rgba(14, 165, 164, 0.04);
    border: 1px solid rgba(14, 165, 164, 0.14);
    border-radius: 18px;
    color: var(--bg-contrast);
    min-height: 3.25rem;
    outline: none;
    padding: 0.95rem 1rem;
    width: 100%;
}

.search-modal__form input::placeholder,
.newsletter-form input::placeholder,
.auth-form__control::placeholder,
.site-form-control::placeholder {
    color: var(--text-faint);
}

.search-modal__form input:focus,
.newsletter-form input:focus,
.auth-form__control:focus,
.site-form-control:focus {
    border-color: rgba(14, 165, 164, 0.36);
    box-shadow: 0 0 0 0.28rem rgba(14, 165, 164, 0.12);
}

.live-strip {
    overflow: hidden;
    padding: 0.3rem 0 1.15rem;
}

.live-strip__rail {
    align-items: stretch;
    display: flex;
    gap: 0.9rem;
    overflow-x: auto;
    padding-bottom: 0.3rem;
    scrollbar-width: none;
}

.live-strip__rail::-webkit-scrollbar {
    display: none;
}

.live-card {
    background: var(--bg-elevated);
    border: 1px solid var(--border);
    border-radius: 24px;
    box-shadow: var(--shadow-sm);
    display: grid;
    flex: 0 0 20rem;
    gap: 0.8rem;
    min-height: 8.8rem;
    padding: 1rem;
}

.live-card__top {
    align-items: center;
    display: flex;
    gap: 0.6rem;
    justify-content: space-between;
}

.live-card__league {
    color: var(--bg-contrast);
    font-size: 0.92rem;
    font-weight: 800;
    line-height: 1.3;
}

.live-card__status {
    align-items: center;
    background: rgba(14, 165, 164, 0.12);
    border-radius: 999px;
    color: var(--primary-strong);
    display: inline-flex;
    font-size: 0.75rem;
    font-weight: 800;
    gap: 0.4rem;
    padding: 0.35rem 0.7rem;
}

.live-card__status::before {
    background: currentColor;
    border-radius: 999px;
    content: "";
    height: 0.42rem;
    width: 0.42rem;
}

.live-card__match {
    display: grid;
    gap: 0.5rem;
}

.live-card__row {
    align-items: center;
    display: grid;
    gap: 0.75rem;
    grid-template-columns: auto 1fr auto;
}

.live-card__logo {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 999px;
    height: 2rem;
    object-fit: contain;
    padding: 0.25rem;
    width: 2rem;
}

.live-card__team {
    color: var(--bg-contrast);
    font-weight: 700;
}

.live-card__score {
    color: var(--bg-contrast);
    font-family: var(--font-display);
    font-size: 1.12rem;
    font-weight: 800;
}

.hero-grid {
    display: grid;
    gap: 1.25rem;
    grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr);
}

.hero-story {
    display: grid;
    gap: 0;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
    min-height: 33rem;
    overflow: hidden;
}

.hero-story__media,
.news-card__media,
.story-tile__media,
.article-hero__media {
    background: linear-gradient(135deg, rgba(14, 165, 164, 0.08), rgba(249, 115, 22, 0.08));
    overflow: hidden;
    position: relative;
}

.hero-story__media {
    aspect-ratio: 16 / 10;
    border-radius: 26px;
}

.news-card__media,
.story-tile__media {
    aspect-ratio: 4 / 3;
}

.article-hero__media {
    aspect-ratio: 16 / 9;
}

.hero-story__media picture,
.news-card__media picture,
.story-tile__media picture,
.article-hero__media picture {
    display: block;
    height: 100%;
    width: 100%;
}

.hero-story__media img,
.news-card__media img,
.story-tile__media img,
.article-hero__media img {
    display: block;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
    width: 100%;
}

.hero-story:hover .hero-story__media img,
.news-card:hover .news-card__media img,
.story-tile:hover .story-tile__media img,
.article-hero:hover .article-hero__media img {
    transform: scale(1.04);
}

.hero-story__content {
    align-content: start;
    display: grid;
    gap: 0.85rem;
    padding: 1.6rem;
}

.story-badge {
    align-items: center;
    background: var(--accent-soft);
    border-radius: 999px;
    color: var(--accent);
    display: inline-flex;
    font-size: 0.78rem;
    font-weight: 800;
    gap: 0.45rem;
    letter-spacing: 0.08em;
    padding: 0.45rem 0.8rem;
    text-transform: uppercase;
}

.story-badge--primary {
    background: rgba(14, 165, 164, 0.12);
    color: var(--primary-strong);
}

.story-meta {
    align-items: center;
    color: var(--text-soft);
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    font-size: 0.88rem;
}

.story-meta .dot {
    background: var(--border-strong);
    border-radius: 999px;
    height: 0.3rem;
    width: 0.3rem;
}

.story-title {
    color: var(--bg-contrast);
    font-size: clamp(2rem, 3.3vw, 3.25rem);
    line-height: 1.02;
    margin: 0;
}

.story-title--sm {
    font-size: 1.15rem;
    line-height: 1.25;
}

.story-summary {
    color: var(--text-soft);
    font-size: 1rem;
    margin: 0;
}

.story-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
    margin-top: auto;
}

.story-tiles {
    align-content: start;
    display: grid;
    gap: 1rem;
}

.story-tile {
    align-items: center;
    display: grid;
    gap: 0.8rem;
    grid-template-columns: 7rem minmax(0, 1fr);
    padding: 1rem;
}

.story-tile__media {
    border-radius: 20px;
    min-height: 0;
}

.story-tile__content {
    align-content: start;
    display: grid;
    gap: 0.45rem;
}

.content-grid {
    align-items: start;
    display: grid;
    gap: 1.35rem;
    grid-template-columns: minmax(0, 1fr) minmax(18rem, 20rem);
}

.content-grid > section,
.content-grid > aside {
    min-width: 0;
}

.content-grid > aside {
    align-self: start;
    width: 100%;
}

.stack-grid {
    display: grid;
    gap: 1rem;
}

.news-card {
    cursor: pointer;
    overflow: hidden;
    position: relative;
}

.news-card__media {
    border-bottom: 1px solid var(--border);
    min-height: 0;
}

.news-card__body {
    display: grid;
    gap: 0.75rem;
    padding: 1.2rem 1.25rem 1.25rem;
}

.news-card__title {
    color: var(--bg-contrast);
    font-family: var(--font-display);
    font-size: 1.3rem;
    line-height: 1.18;
    margin: 0;
}

.news-card__excerpt {
    color: var(--text-soft);
    font-size: 0.96rem;
    margin: 0;
}

.news-card__footer {
    align-items: center;
    display: flex;
    gap: 0.75rem;
    justify-content: space-between;
}

.sidebar-stack {
    display: grid;
    gap: 1rem;
}

.sidebar-list {
    display: grid;
    gap: 0.8rem;
}

.sidebar-item {
    align-items: start;
    display: grid;
    gap: 0.75rem;
    grid-template-columns: auto minmax(0, 1fr);
}

.headline-index {
    align-items: center;
    background: linear-gradient(135deg, var(--primary), var(--primary-strong));
    border-radius: 16px;
    color: #fff;
    display: inline-flex;
    font-family: var(--font-display);
    font-size: 0.92rem;
    font-weight: 800;
    height: 2.2rem;
    justify-content: center;
    width: 2.2rem;
}

.headline-title {
    color: var(--bg-contrast);
    font-size: 0.98rem;
    font-weight: 700;
    line-height: 1.3;
    margin: 0 0 0.3rem;
}

.sidebar-muted {
    color: var(--text-soft);
    font-size: 0.82rem;
}

.tag-cloud {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.chip-row {
    display: flex;
    flex-wrap: nowrap;
    gap: 0.5rem;
    overflow-x: auto;
    padding-bottom: 0.15rem;
    scrollbar-width: none;
}

.chip-row::-webkit-scrollbar {
    display: none;
}

.chip,
.tag-chip {
    align-items: center;
    background: rgba(14, 165, 164, 0.08);
    border: 1px solid rgba(14, 165, 164, 0.14);
    border-radius: 999px;
    color: var(--primary-strong);
    display: inline-flex;
    font-size: 0.84rem;
    font-weight: 700;
    min-height: 2rem;
    padding: 0 0.85rem;
}

.chip:hover,
.tag-chip:hover {
    background: rgba(14, 165, 164, 0.14);
    color: var(--primary-strong);
}

.newsletter-card {
    display: grid;
    gap: 1rem;
    padding: 1.5rem;
}

.newsletter-card--compact {
    gap: 0.85rem;
    padding: 1.15rem;
}

.newsletter-card--compact .newsletter-card__copy h3,
.newsletter-card--compact .newsletter-card__copy h4 {
    font-size: 1.18rem;
}

.newsletter-card--compact .newsletter-card__copy p {
    max-width: 24rem;
}

.newsletter-card__copy h3,
.newsletter-card__copy h4 {
    margin: 0 0 0.45rem;
}

.newsletter-card__copy p {
    color: var(--text-soft);
    margin: 0;
}

.newsletter-form {
    display: grid;
    gap: 0.8rem;
}

.newsletter-form__row {
    display: grid;
    gap: 0.8rem;
}

.newsletter-feedback {
    border-radius: 18px;
    display: none;
    font-size: 0.92rem;
    font-weight: 600;
    padding: 0.9rem 1rem;
}

.newsletter-feedback.is-success {
    background: rgba(16, 185, 129, 0.12);
    color: #065f46;
    display: block;
}

.newsletter-feedback.is-error {
    background: rgba(239, 68, 68, 0.12);
    color: #991b1b;
    display: block;
}

html[data-theme="dark"] .newsletter-feedback.is-success {
    color: #b7f7df;
}

html[data-theme="dark"] .newsletter-feedback.is-error {
    color: #fecaca;
}

.league-stack {
    display: grid;
    gap: 0.75rem;
}

.league-card {
    background: rgba(15, 23, 42, 0.03);
    border: 1px solid var(--border);
    border-radius: 22px;
    display: grid;
    gap: 0.75rem;
    padding: 1rem;
}

.league-card__header {
    align-items: center;
    display: flex;
    gap: 0.75rem;
    justify-content: space-between;
}

.league-card__title {
    align-items: center;
    color: var(--bg-contrast);
    display: flex;
    font-size: 0.95rem;
    font-weight: 800;
    gap: 0.7rem;
    min-width: 0;
}

.league-card__title img {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 999px;
    height: 2rem;
    object-fit: contain;
    padding: 0.25rem;
    width: 2rem;
}

.league-card__actions {
    display: flex;
    gap: 0.5rem;
}

.league-card__action {
    align-items: center;
    background: rgba(14, 165, 164, 0.09);
    border-radius: 14px;
    color: var(--primary-strong);
    display: inline-flex;
    font-size: 0.8rem;
    font-weight: 800;
    gap: 0.4rem;
    min-height: 2.2rem;
    padding: 0 0.8rem;
}

.league-card__action:hover {
    background: rgba(14, 165, 164, 0.16);
    color: var(--primary-strong);
}

.league-list {
    display: grid;
    gap: 0.55rem;
}

.league-list a {
    align-items: center;
    background: rgba(14, 165, 164, 0.05);
    border-radius: 16px;
    color: var(--bg-contrast);
    display: flex;
    font-weight: 700;
    gap: 0.75rem;
    padding: 0.8rem 0.95rem;
}

.league-list img {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 999px;
    height: 1.8rem;
    object-fit: contain;
    padding: 0.2rem;
    width: 1.8rem;
}

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

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

.pagination-wrap {
    display: flex;
    justify-content: center;
    margin-top: 1.75rem;
    overflow-x: auto;
    padding-bottom: 0.25rem;
}

.pagination {
    align-items: center;
    display: flex;
    flex-wrap: nowrap;
    gap: 0.45rem;
    justify-content: center;
    width: max-content;
}

.page-link,
.page-item span {
    align-items: center;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 16px;
    color: var(--bg-contrast);
    display: inline-flex;
    font-size: 0.9rem;
    font-weight: 700;
    height: 2.85rem;
    justify-content: center;
    min-width: 2.85rem;
    padding: 0 0.95rem;
}

.page-item.active .page-link,
.page-link:hover {
    background: linear-gradient(135deg, var(--primary), var(--primary-strong));
    border-color: transparent;
    color: #fff;
}

.page-item.disabled .page-link,
.page-item.disabled span {
    color: var(--text-faint);
    opacity: 0.75;
}

.page-hero {
    display: grid;
    gap: 1rem;
    padding: 2rem;
}

.page-hero__title {
    font-size: clamp(2rem, 4vw, 3.15rem);
    margin: 0;
}

.page-hero__summary {
    color: var(--text-soft);
    font-size: 1rem;
    margin: 0;
    max-width: 46rem;
}

.contact-layout {
    display: grid;
    gap: 1.25rem;
    grid-template-columns: minmax(0, 1.15fr) minmax(18rem, 0.85fr);
}

.contact-card {
    display: grid;
    gap: 1rem;
    padding: 1.4rem;
}

.contact-card__list {
    display: grid;
    gap: 0.9rem;
}

.contact-card__list span {
    color: var(--text-soft);
    display: block;
    font-size: 0.82rem;
    margin-bottom: 0.18rem;
    text-transform: uppercase;
}

.contact-card__list strong {
    color: var(--bg-contrast);
    font-size: 0.98rem;
}

.contact-form {
    display: grid;
    gap: 0.85rem;
}

.contact-form__grid {
    display: grid;
    gap: 0.8rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.contact-form input,
.contact-form textarea {
    background: rgba(14, 165, 164, 0.04);
    border: 1px solid rgba(14, 165, 164, 0.14);
    border-radius: 18px;
    color: var(--bg-contrast);
    outline: none;
    padding: 0.95rem 1rem;
    width: 100%;
}

.contact-form textarea {
    min-height: 11rem;
    resize: vertical;
}

.contact-form input:focus,
.contact-form textarea:focus {
    border-color: rgba(14, 165, 164, 0.36);
    box-shadow: 0 0 0 0.28rem rgba(14, 165, 164, 0.12);
}

.contact-feedback {
    border-radius: 16px;
    font-size: 0.92rem;
    font-weight: 600;
    padding: 0.9rem 1rem;
}

.contact-feedback--success {
    background: rgba(16, 185, 129, 0.12);
    color: #047857;
}

.contact-feedback--error {
    background: rgba(239, 68, 68, 0.1);
    color: #b91c1c;
}

.search-summary {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: space-between;
}

.result-count {
    align-items: center;
    background: rgba(14, 165, 164, 0.08);
    border-radius: 999px;
    color: var(--primary-strong);
    display: inline-flex;
    font-size: 0.88rem;
    font-weight: 800;
    gap: 0.45rem;
    min-height: 2.4rem;
    padding: 0 0.9rem;
}

.empty-state {
    display: grid;
    gap: 0.7rem;
    justify-items: start;
    padding: 2rem;
}

.empty-state__icon {
    align-items: center;
    background: rgba(14, 165, 164, 0.1);
    border-radius: 22px;
    color: var(--primary-strong);
    display: inline-flex;
    font-size: 1.4rem;
    height: 3.6rem;
    justify-content: center;
    width: 3.6rem;
}

.article-shell {
    display: grid;
    gap: 1.35rem;
    grid-template-columns: minmax(0, 1.45fr) 20rem;
}

.article-hero {
    display: grid;
    gap: 1.25rem;
    padding: 1.25rem;
}

.article-hero__media {
    border-radius: 28px;
    min-height: 0;
}

.article-hero__content {
    display: grid;
    gap: 0.85rem;
}

.article-hero__title {
    font-size: clamp(2rem, 4vw, 3.4rem);
    line-height: 1.02;
    margin: 0;
}

.article-hero__dek {
    color: var(--text-soft);
    font-size: 1.08rem;
    margin: 0;
}

.article-rail {
    display: grid;
    gap: 1rem;
    height: fit-content;
}

.share-stack {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.share-chip {
    align-items: center;
    background: rgba(14, 165, 164, 0.08);
    border: 1px solid rgba(14, 165, 164, 0.14);
    border-radius: 999px;
    color: var(--primary-strong);
    display: inline-flex;
    font-size: 0.86rem;
    font-weight: 800;
    gap: 0.45rem;
    height: 2.5rem;
    justify-content: center;
    min-height: 2.5rem;
    padding: 0;
    width: 2.5rem;
}

.share-chip:hover {
    background: rgba(14, 165, 164, 0.16);
    color: var(--primary-strong);
}

.share-chip i {
    line-height: 1;
}

.social-icon-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
}

.social-icon-link {
    align-items: center;
    background: rgba(14, 165, 164, 0.08);
    border: 1px solid rgba(14, 165, 164, 0.14);
    border-radius: 999px;
    color: var(--primary-strong);
    display: inline-flex;
    font-size: 1rem;
    height: 2.55rem;
    justify-content: center;
    width: 2.55rem;
}

.social-icon-link:hover {
    background: rgba(14, 165, 164, 0.16);
    color: var(--primary-strong);
}

.article-content-card {
    padding: 0 1.25rem 1.25rem;
}

.article-prose {
    color: var(--text);
    font-size: 1.04rem;
    line-height: 1.88;
}

.article-prose > * + * {
    margin-top: 1.25rem;
}

.article-prose h2,
.article-prose h3,
.article-prose h4 {
    margin-top: 2rem;
}

.article-prose a {
    color: var(--primary-strong);
    font-weight: 700;
}

.article-prose blockquote {
    background: rgba(14, 165, 164, 0.06);
    border-left: 4px solid var(--primary);
    border-radius: 0 22px 22px 0;
    margin-inline: 0;
    padding: 1.3rem 1.4rem;
}

.article-prose img,
.article-prose iframe,
.article-prose video,
.article-prose table {
    border-radius: 24px;
    max-width: 100%;
}

.article-prose iframe,
.article-prose video {
    min-height: 18rem;
    width: 100%;
}

.article-prose table {
    background: var(--surface);
    border-collapse: collapse;
    display: block;
    overflow-x: auto;
    width: 100%;
}

.article-prose table th,
.article-prose table td {
    border: 1px solid var(--border);
    padding: 0.75rem;
}

.article-prose .video-embed-wrap,
.article-prose .social-embed-wrap {
    overflow: hidden;
}

.article-prose .video-embed-wrap {
    aspect-ratio: 16 / 9;
}

.article-prose .video-embed-wrap iframe {
    border: 0;
    height: 100%;
    min-height: 100%;
    width: 100%;
}

.article-author {
    align-items: center;
    display: grid;
    gap: 1rem;
    grid-template-columns: auto minmax(0, 1fr);
    padding: 1.3rem;
}

.article-author__avatar {
    align-items: center;
    background: linear-gradient(135deg, var(--primary), var(--primary-strong));
    border-radius: 22px;
    color: #fff;
    display: inline-flex;
    font-family: var(--font-display);
    font-size: 1.35rem;
    font-weight: 800;
    height: 4rem;
    justify-content: center;
    width: 4rem;
}

.article-nav-grid,
.related-grid,
.more-grid {
    display: grid;
    gap: 1rem;
}

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

.article-nav-card {
    align-items: center;
    display: grid;
    gap: 0.8rem;
    grid-template-columns: auto minmax(0, 1fr);
    padding: 1rem 1.1rem;
}

.article-nav-card--reverse {
    grid-template-columns: minmax(0, 1fr) auto;
    text-align: right;
}

.article-nav-card__icon {
    align-items: center;
    background: rgba(14, 165, 164, 0.09);
    border-radius: 18px;
    color: var(--primary-strong);
    display: inline-flex;
    font-size: 1rem;
    height: 3rem;
    justify-content: center;
    width: 3rem;
}

.legal-article {
    padding: 1.6rem 1.65rem;
}

.legal-article .article-prose {
    font-size: 1rem;
}

.footer-shell {
    padding: 0 0 2rem;
}

.site-promo-shell {
    margin-bottom: 1.6rem;
}

.site-promo {
    align-items: center;
    background: linear-gradient(135deg, rgba(14, 165, 164, 0.08), rgba(255, 255, 255, 0.92));
    border-color: var(--border-strong);
    display: grid;
    gap: 1.25rem;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 1.5rem 1.75rem;
}

.site-promo__copy {
    display: grid;
    gap: 0.45rem;
}

.site-promo__copy h2 {
    font-size: clamp(1.3rem, 2.1vw, 1.8rem);
    margin: 0;
}

.site-promo__copy p {
    color: var(--text-soft);
    margin: 0;
    max-width: 36rem;
}

.site-button--youtube {
    background: linear-gradient(135deg, #ef4444, #dc2626);
    min-width: 10.5rem;
}

.site-button--youtube:hover {
    box-shadow: 0 18px 32px rgba(239, 68, 68, 0.22);
}

html[data-theme="dark"] .site-promo {
    background: linear-gradient(135deg, rgba(79, 209, 197, 0.1), rgba(15, 23, 42, 0.92));
}

.footer-panel {
    display: grid;
    gap: 1.2rem;
    grid-template-columns: 1.25fr 0.9fr 0.9fr;
    padding: 1.8rem;
}

.footer-panel__brand {
    display: grid;
    gap: 1rem;
}

.footer-panel__brand p,
.footer-panel__group p {
    color: var(--text-soft);
    margin: 0;
}

.footer-links {
    display: grid;
    gap: 0.55rem;
}

.footer-links a {
    color: var(--text-soft);
    font-weight: 700;
}

.footer-status {
    align-items: center;
    background: rgba(14, 165, 164, 0.08);
    border: 1px solid rgba(14, 165, 164, 0.14);
    border-radius: 999px;
    display: inline-flex;
    gap: 0.65rem;
    justify-content: space-between;
    padding: 0.7rem 0.95rem;
}

.footer-status span {
    color: var(--text-soft);
    font-size: 0.85rem;
}

.footer-bottom {
    align-items: center;
    color: var(--text-soft);
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    justify-content: space-between;
    margin-top: 0.95rem;
    padding: 0 0.2rem;
}

.footer-socials {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.footer-socials a,
.back-top {
    align-items: center;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 999px;
    color: var(--bg-contrast);
    display: inline-flex;
    height: 2.85rem;
    justify-content: center;
    width: 2.85rem;
}

.footer-socials a:hover,
.back-top:hover {
    background: rgba(14, 165, 164, 0.1);
    color: var(--primary-strong);
}

.auth-body {
    background:
        radial-gradient(circle at top left, rgba(14, 165, 164, 0.18), transparent 32%),
        radial-gradient(circle at bottom right, rgba(249, 115, 22, 0.12), transparent 28%),
        var(--bg);
    min-height: 100vh;
}

.auth-shell {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(24rem, 32rem);
    gap: 1.25rem;
    min-height: 100vh;
    padding: 1rem;
}

.auth-showcase {
    align-items: end;
    background: linear-gradient(160deg, rgba(15, 23, 42, 0.92), rgba(14, 165, 164, 0.72));
    border-radius: 34px;
    color: #fff;
    display: grid;
    overflow: hidden;
    padding: 2rem;
    position: relative;
}

.auth-showcase::before {
    background:
        radial-gradient(circle at top left, rgba(255, 255, 255, 0.2), transparent 24%),
        radial-gradient(circle at center, rgba(255, 255, 255, 0.12), transparent 20%);
    content: "";
    inset: 0;
    position: absolute;
}

.auth-showcase__content {
    display: grid;
    gap: 1rem;
    position: relative;
    z-index: 1;
}

.auth-showcase__eyebrow {
    letter-spacing: 0.18em;
    opacity: 0.82;
    text-transform: uppercase;
}

.auth-showcase__title {
    color: #fff;
    font-size: clamp(2.3rem, 5vw, 4rem);
    line-height: 0.96;
    margin: 0;
}

.auth-showcase__stats {
    display: grid;
    gap: 0.8rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.auth-stat {
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 22px;
    padding: 0.95rem;
}

.auth-stat strong {
    color: #fff;
    display: block;
    font-family: var(--font-display);
    font-size: 1.4rem;
}

.auth-card {
    align-items: center;
    display: grid;
    justify-items: stretch;
    padding: 1rem 0;
}

.auth-card__panel {
    display: grid;
    gap: 1.2rem;
    padding: 1.8rem;
    width: min(100%, 32rem);
}

.auth-card__head {
    display: grid;
    gap: 0.5rem;
}

.auth-card__logo {
    align-items: center;
    background: rgba(14, 165, 164, 0.08);
    border: 1px solid rgba(14, 165, 164, 0.14);
    border-radius: 14px;
    display: inline-flex;
    height: 3.2rem;
    justify-content: center;
    margin-bottom: 0.35rem;
    padding: 0.55rem 0.75rem;
    width: fit-content;
}

.auth-card__logo img {
    display: block;
    height: auto;
    max-height: 1.9rem;
    max-width: 8.5rem;
    object-fit: contain;
}

.auth-card__eyebrow {
    color: var(--primary-strong);
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.auth-card__title {
    font-size: clamp(1.9rem, 3.2vw, 2.5rem);
    margin: 0;
}

.auth-card__text {
    color: var(--text-soft);
    margin: 0;
}

.auth-form {
    display: grid;
    gap: 0.9rem;
}

.auth-form__group {
    display: grid;
    gap: 0.45rem;
}

.auth-form__label {
    color: var(--bg-contrast);
    font-size: 0.88rem;
    font-weight: 800;
}

.auth-form__inline {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: space-between;
}

.auth-form__checkbox {
    align-items: center;
    display: inline-flex;
    gap: 0.55rem;
}

.auth-form__alert {
    border-radius: 18px;
    font-size: 0.92rem;
    font-weight: 700;
    padding: 0.95rem 1rem;
}

.auth-form__alert--success {
    background: rgba(16, 185, 129, 0.12);
    color: #065f46;
}

.auth-form__alert--error {
    background: rgba(239, 68, 68, 0.12);
    color: #991b1b;
}

html[data-theme="dark"] .auth-form__alert--success {
    color: #b7f7df;
}

html[data-theme="dark"] .auth-form__alert--error {
    color: #fecaca;
}

.toggle-password {
    background: transparent;
    border: 0;
    color: var(--text-soft);
    cursor: pointer;
    position: absolute;
    right: 0.9rem;
    top: 50%;
    transform: translateY(-50%);
}

.field-with-icon {
    position: relative;
}

.ad-slot {
    background: var(--bg-elevated);
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    overflow: hidden;
    position: relative;
}

.ad-slot::before,
.ad-slot::after {
    color: var(--text-faint);
    content: attr(data-ad-code);
    font-size: 0.58rem;
    font-weight: 800;
    letter-spacing: 0.22em;
    opacity: 0.72;
    pointer-events: none;
    position: absolute;
    text-transform: uppercase;
    top: 3.4rem;
    writing-mode: vertical-rl;
    z-index: 1;
}

.ad-slot::before {
    left: 0.28rem;
    transform: rotate(180deg);
}

.ad-slot::after {
    right: 0.28rem;
}

.ad-slot-header {
    align-items: center;
    background: rgba(14, 165, 164, 0.06);
    border-bottom: 1px solid var(--border);
    display: flex;
    justify-content: center;
    min-height: 2.8rem;
}

.ad-slot-label {
    color: var(--text-soft);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.ad-slot-content {
    min-height: 6.5rem;
    padding: 1rem 1.7rem;
}

.copy-toast {
    background: rgba(16, 185, 129, 0.95);
    border-radius: 999px;
    bottom: 1rem;
    color: #fff;
    font-size: 0.88rem;
    font-weight: 800;
    left: 50%;
    opacity: 0;
    padding: 0.8rem 1rem;
    pointer-events: none;
    position: fixed;
    transform: translateX(-50%) translateY(1rem);
    transition: opacity 0.22s ease, transform 0.22s ease;
    z-index: 1200;
}

.copy-toast.is-visible {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}

@media (max-width: 1499.98px) {
    .news-grid,
    .news-grid--cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 1199.98px) {
    .content-grid {
        grid-template-columns: minmax(0, 1fr) 18rem;
    }

    .article-rail {
        position: static;
    }

    .article-shell {
        grid-template-columns: minmax(0, 1fr);
    }

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

    .contact-layout {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 991.98px) {
    .site-shell,
    .site-shell--wide {
        width: min(100%, calc(100% - 1rem));
    }

    .content-grid {
        grid-template-columns: minmax(0, 1fr);
    }


    .site-header__bar {
        display: grid;
        gap: 0.9rem;
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .site-header__nav {
        display: none;
    }

    .header-spotlight {
        display: none;
    }

    .hero-grid,
    .hero-story,
    .auth-shell {
        grid-template-columns: minmax(0, 1fr);
    }

    .hero-story {
        min-height: auto;
    }

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

    .site-main {
        padding-top: 1.4rem;
    }

    .auth-showcase {
        min-height: 22rem;
    }

    .site-promo {
        grid-template-columns: minmax(0, 1fr);
    }

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

@media (max-width: 767.98px) {
    .site-header {
        padding-top: 0.6rem;
    }

    .site-header__bar,
    .site-panel,
    .footer-panel,
    .auth-card__panel,
    .auth-showcase {
        padding: 1rem;
    }

    .theme-switcher {
        width: 100%;
    }

    .theme-switcher__button {
        flex: 1 1 0;
        justify-content: center;
        padding-inline: 0.35rem;
    }

    .site-header__utility {
        flex-wrap: nowrap;
        width: auto;
    }

    .site-button {
        width: 100%;
    }

    .search-modal__card {
        margin-top: 5rem;
        padding: 0.8rem;
    }

    .search-modal__form {
        grid-template-columns: 1fr;
    }

    .live-card {
        flex-basis: 16.5rem;
    }

    .story-tiles,
    .news-grid--cards,
    .article-nav-grid,
    .footer-panel,
    .auth-showcase__stats {
        grid-template-columns: minmax(0, 1fr);
    }

    .news-grid,
    .news-grid--cards {
        grid-template-columns: minmax(0, 1fr);
    }

    .story-tile {
        grid-template-columns: minmax(0, 1fr);
    }

    .story-tile__media {
        min-height: 0;
    }

    .contact-form__grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .ad-slot::before,
    .ad-slot::after {
        display: none;
    }

    .article-hero__media {
        min-height: 0;
    }

    .page-link,
    .page-item span {
        min-width: 2.45rem;
        padding-inline: 0.7rem;
    }
}

@media (max-width: 575.98px) {
    .news-grid,
    .news-grid--cards {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Final requested polish: desktop dropdowns, single-line chips, captions, embeds, ads and clickable hero */
.site-header,
.site-header__bar,
.site-header__nav,
.header-menu-item {
    overflow: visible !important;
}

.site-header__nav {
    position: relative;
    z-index: 1050;
}

.header-menu-item {
    z-index: 1060;
}

.header-menu-item__dropdown {
    background: var(--surface) !important;
    box-shadow: 0 24px 60px rgba(15, 23, 42, 0.22) !important;
    color: var(--bg-contrast);
    left: 0;
    max-height: min(70vh, 28rem);
    overflow-y: auto;
    right: auto;
    top: calc(100% + 0.25rem);
    z-index: 5000 !important;
}

.header-menu-item__dropdown a {
    color: var(--bg-contrast) !important;
    justify-content: flex-start;
    white-space: nowrap;
}

html[data-theme="dark"] .header-menu-item__dropdown {
    background: #0f172a !important;
    border-color: rgba(148, 163, 184, 0.28) !important;
}

.chip-row {
    -webkit-overflow-scrolling: touch;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden;
}

.chip-row .chip,
.chip,
.tag-chip {
    flex: 0 0 auto;
    max-width: none;
    white-space: nowrap !important;
}

.hero-story--feature {
    cursor: pointer;
    grid-template-columns: minmax(0, 1fr) !important;
    min-height: auto;
}

.hero-story--feature .hero-story__media {
    border-radius: 26px 26px 0 0;
}

.hero-story--feature .hero-story__content {
    padding: 1.25rem 1.35rem 1.5rem;
}

.hero-story--feature .story-title {
    font-size: clamp(1.85rem, 3vw, 3rem);
}

.image-caption-toggle {
    background: rgba(14, 165, 164, 0.07);
    border: 1px solid rgba(14, 165, 164, 0.16);
    border-radius: 18px;
    color: var(--text-soft);
    margin-top: 0.85rem;
    padding: 0.75rem 0.9rem;
}

.image-caption-toggle summary {
    align-items: center;
    color: var(--bg-contrast);
    cursor: pointer;
    display: flex;
    font-size: 0.82rem;
    font-weight: 900;
    justify-content: space-between;
    letter-spacing: 0.08em;
    list-style: none;
    text-transform: uppercase;
}

.image-caption-toggle summary::-webkit-details-marker {
    display: none;
}

.image-caption-toggle[open] summary i {
    transform: rotate(45deg);
}

.image-caption-toggle p {
    margin: 0.65rem 0 0;
}

.image-caption-toggle--article {
    margin: 0.85rem 1.25rem 0;
}

.image-caption-toggle--form {
    margin-top: 1rem;
}

.video-embed-wrap,
.social-embed-wrap {
    aspect-ratio: 16 / 9;
    background: #020617;
    border-radius: 22px;
    overflow: hidden;
    width: 100%;
}

.video-embed-wrap iframe,
.social-embed-wrap iframe {
    border: 0;
    display: block;
    height: 100%;
    width: 100%;
}

.video-embed-wrap--hero,
.social-embed-wrap--hero {
    border-radius: inherit;
    height: 100%;
}

.article-prose .video-embed-wrap,
.article-prose .social-embed-wrap,
.article-prose .twitter-tweet,
.article-prose .instagram-media,
.article-prose .tiktok-embed {
    margin: 1.5rem auto;
    max-width: 100%;
    overflow-x: auto;
}

.submission-form {
    display: grid;
    gap: 1rem;
}

.submission-form label {
    color: var(--bg-contrast);
    display: grid;
    font-weight: 800;
    gap: 0.45rem;
}

.submission-form input,
.submission-form textarea {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 16px;
    color: var(--bg-contrast);
    padding: 0.85rem 1rem;
    width: 100%;
}

.ad-slot,
.ad-slot-content,
.ad-slot-content ins,
.ad-slot-content iframe {
    max-width: 100%;
}

.ad-slot-content {
    align-items: center;
    display: flex;
    justify-content: center;
    overflow: hidden;
}

@media (max-width: 767.98px) {
    .ad-slot-content {
        min-height: 4.8rem;
        padding: 0.75rem;
    }

    .hero-story--feature .hero-story__content {
        padding: 1rem;
    }

    .story-actions .site-button {
        width: 100%;
    }
}

/* May 2026 final polish: clean hero, in-image captions, floating video, submissions, tag/404 pages */
.hero-story--feature .hero-story__content .story-title {
    margin: 0;
}

.hero-story--feature .hero-story__content {
    display: block;
}

.article-hero__media {
    position: relative;
    overflow: hidden;
}

.image-caption-toggle--inside-media {
    position: absolute;
    left: 1rem;
    right: 1rem;
    bottom: 1rem;
    margin: 0 !important;
    max-height: 55%;
    overflow: auto;
    background: rgba(2, 8, 23, 0.72);
    border-color: rgba(255, 255, 255, 0.16);
    color: rgba(255, 255, 255, 0.88);
    backdrop-filter: blur(14px);
    z-index: 8;
}

.image-caption-toggle--inside-media summary {
    color: #ffffff;
}

.image-caption-toggle--inside-media p {
    color: rgba(255, 255, 255, 0.9);
}

.floating-video-card {
    position: fixed;
    right: 1.2rem;
    bottom: 1.2rem;
    width: min(430px, calc(100vw - 1.5rem));
    background: #000;
    border: 1px solid rgba(255,255,255,.18);
    box-shadow: 0 18px 50px rgba(0,0,0,.35);
    z-index: 7000;
    opacity: 0;
    pointer-events: none;
    transform: translateY(18px) scale(.98);
    transition: opacity .22s ease, transform .22s ease;
}

.floating-video-card.is-visible {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0) scale(1);
}

.floating-video-card__media {
    aspect-ratio: 16 / 9;
    overflow: hidden;
}

.floating-video-card__media .video-embed-wrap,
.floating-video-card__media .social-embed-wrap,
.floating-video-card__media iframe {
    border-radius: 0 !important;
    height: 100% !important;
    width: 100% !important;
}

.floating-video-card__close {
    position: absolute;
    right: .55rem;
    top: .55rem;
    width: 2rem;
    height: 2rem;
    border-radius: 999px;
    border: 1px solid #111;
    background: #fff;
    color: #111;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    z-index: 3;
}

.floating-video-card__actions {
    position: absolute;
    right: .55rem;
    top: 50%;
    transform: translateY(-50%);
    display: grid;
    gap: .45rem;
    z-index: 3;
}

.floating-video-card__next,
.floating-video-card__stay {
    border: 2px solid rgba(255,255,255,.75);
    border-radius: 10px;
    background: rgba(0,0,0,.72);
    color: #fff !important;
    font-weight: 900;
    padding: .42rem 1rem;
    min-width: 5.4rem;
    text-align: center;
    box-shadow: 0 0 12px rgba(255,255,255,.35);
}

.floating-video-card__next {
    background: linear-gradient(135deg, #ff4f7c, #ff275f);
}

.submit-article-hero {
    background: radial-gradient(circle at top left, rgba(14,165,164,.2), transparent 36%), linear-gradient(135deg, var(--surface), var(--surface-strong));
}

.submission-form small {
    color: var(--text-soft);
    font-weight: 600;
}

.kisure-empty-state,
.kisure-error-page,
.kisure-tag-hero {
    text-align: center;
}

.kisure-error-code {
    font-size: clamp(5rem, 18vw, 12rem);
    font-weight: 900;
    line-height: .8;
    letter-spacing: -.08em;
    color: transparent;
    -webkit-text-stroke: 2px var(--primary);
    text-shadow: 0 24px 70px rgba(14,165,164,.24);
}

.kisure-tag-stat-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.kisure-tag-stat {
    padding: 1rem;
    border-radius: 20px;
    background: var(--surface-strong);
    border: 1px solid var(--border);
}

@media (max-width: 767.98px) {
    .floating-video-card {
        right: .75rem;
        bottom: .75rem;
        width: min(360px, calc(100vw - 1.5rem));
    }
    .floating-video-card__actions {
        right: .45rem;
    }
    .floating-video-card__next,
    .floating-video-card__stay {
        min-width: 4.8rem;
        padding: .32rem .7rem;
    }
    .image-caption-toggle--inside-media {
        left: .65rem;
        right: .65rem;
        bottom: .65rem;
        padding: .6rem .7rem;
    }
    .kisure-tag-stat-grid {
        grid-template-columns: 1fr;
    }
}


/* May 2026 follow-up refinement: single submit page, balanced homepage hero, stronger floating player */
.hero-grid {
    align-items: stretch;
    grid-template-columns: minmax(0, 1.45fr) minmax(18rem, 0.95fr);
}

.hero-story--feature {
    align-content: start;
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
}

.hero-story--feature .hero-story__media {
    aspect-ratio: 16 / 9;
    border-radius: 26px 26px 0 0;
}

.hero-story--feature .hero-story__content {
    display: grid;
    gap: 0.75rem;
    padding: 1.2rem 0.2rem 0;
}

.hero-story--feature .story-title {
    font-size: clamp(1.9rem, 3vw, 3rem);
    line-height: 1.05;
}

.story-tiles {
    grid-auto-rows: minmax(0, 1fr);
}

.story-tile {
    align-items: stretch;
    min-height: 9rem;
}

.floating-video-card {
    border-radius: 18px;
    inset: auto 1rem 1rem auto;
    left: auto !important;
    margin: 0 !important;
    max-height: calc(100vh - 2rem);
    overflow: hidden;
    top: auto !important;
    width: min(420px, calc(100vw - 2rem));
}

.floating-video-card__media {
    background: #000;
}

.floating-video-card__media .video-embed-wrap,
.floating-video-card__media .social-embed-wrap {
    margin: 0 !important;
}

.submission-form {
    display: grid;
    gap: 1rem;
}

.submission-form label {
    display: grid;
    gap: 0.45rem;
    font-weight: 700;
}

.submission-form input,
.submission-form textarea,
.submission-form select {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 16px;
    color: var(--bg-contrast);
    min-height: 3rem;
    padding: 0.85rem 1rem;
    width: 100%;
}

.submission-form textarea {
    min-height: 8rem;
    resize: vertical;
}

.submission-form input[type='file'] {
    padding: 0.9rem;
}

@media (max-width: 991.98px) {
    .hero-grid {
        grid-template-columns: 1fr;
    }

    .hero-story--feature .hero-story__content {
        padding-top: 1rem;
    }
}

@media (max-width: 640px) {
    .floating-video-card {
        inset: auto .65rem .65rem .65rem;
        max-height: calc(100vh - 1.3rem);
        width: auto;
    }

    .floating-video-card__actions {
        right: .45rem;
        top: auto;
        bottom: .55rem;
        transform: none;
    }

    .floating-video-card__next,
    .floating-video-card__stay {
        backdrop-filter: blur(6px);
        min-width: 4.45rem;
        padding: .34rem .65rem;
    }
}

/* May 2026 final user-request polish: football.london style drop-down, balanced hero, contact + author pages */
.hero-grid {
    align-items: stretch;
    grid-template-columns: minmax(0, 1.38fr) minmax(20rem, 0.9fr);
}

.hero-story--feature {
    min-height: 0 !important;
    overflow: visible;
}

.hero-story--feature .hero-story__media {
    aspect-ratio: 16 / 9;
    border-radius: 28px 28px 0 0;
}

.hero-story--feature .hero-story__content {
    background: linear-gradient(180deg, var(--surface), var(--surface-strong));
    border-radius: 0 0 28px 28px;
    padding: clamp(1rem, 2vw, 1.55rem);
}

.hero-story--feature .story-title {
    font-size: clamp(2rem, 3.3vw, 3.35rem);
    line-height: 1.02;
    max-width: 18ch;
    overflow-wrap: anywhere;
}

.story-tiles {
    align-content: stretch;
    display: grid;
    gap: 1rem;
    grid-auto-rows: minmax(9.5rem, auto);
}

.story-tile {
    align-items: center;
    grid-template-columns: minmax(8.5rem, 36%) minmax(0, 1fr);
    min-height: 9.5rem;
    overflow: visible;
    padding: 1rem;
}

.story-tile__content {
    min-width: 0;
    overflow: visible;
}

.story-title--sm {
    display: block;
    font-size: clamp(0.98rem, 1.05vw, 1.12rem);
    line-height: 1.22;
    margin: 0;
    overflow-wrap: anywhere;
    white-space: normal;
}

.floating-video-card {
    background: #050505;
    border-radius: 20px;
    box-shadow: 0 22px 70px rgba(0, 0, 0, .34), 0 0 0 1px rgba(255,255,255,.14);
    isolation: isolate;
    overflow: visible;
    right: 1.1rem !important;
    bottom: 1.1rem !important;
    top: auto !important;
    left: auto !important;
    transform: translateY(28px) scale(.96);
    width: min(430px, calc(100vw - 2rem));
}

.floating-video-card::before {
    content: "Featured";
    position: absolute;
    left: 1rem;
    top: -2.45rem;
    background: rgba(255,255,255,.96);
    border: 1px solid rgba(15, 23, 42, .12);
    border-radius: 999px;
    color: #0f172a;
    font-size: .75rem;
    font-weight: 900;
    letter-spacing: .08em;
    padding: .45rem .85rem;
    text-transform: uppercase;
    box-shadow: 0 10px 28px rgba(0,0,0,.16);
}

.floating-video-card.is-visible {
    transform: translateY(0) scale(1);
}

.floating-video-card__media {
    border-radius: 20px;
    overflow: hidden;
}

.floating-video-card__actions {
    right: .7rem;
}

.floating-video-card__next,
.floating-video-card__stay {
    border-radius: 12px;
    min-width: 5.25rem;
}

.contact-layout {
    align-items: start;
}

.contact-card__list > div {
    align-items: center;
    background: var(--surface-strong);
    border: 1px solid var(--border);
    border-radius: 18px;
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: .9rem 1rem;
}

.contact-card__list span {
    color: var(--text-soft);
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: .76rem;
}

.contact-card__list strong {
    color: var(--bg-contrast);
    text-align: right;
    overflow-wrap: anywhere;
}

.author-page .author-hero {
    align-items: center;
    display: grid;
    gap: clamp(1.2rem, 3vw, 2rem);
    grid-template-columns: auto minmax(0, 1fr);
}

.author-hero__avatar-wrap {
    background: linear-gradient(135deg, var(--primary), var(--accent));
    border-radius: 32px;
    padding: .4rem;
    box-shadow: var(--shadow-sm);
}

.author-hero__avatar {
    border: 5px solid var(--surface);
    border-radius: 28px;
    display: block;
    height: clamp(8.5rem, 16vw, 13rem);
    object-fit: cover;
    width: clamp(8.5rem, 16vw, 13rem);
}

.author-hero__content {
    display: grid;
    gap: .95rem;
}

.author-meta-grid {
    display: grid;
    gap: .8rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.author-meta-grid > div {
    background: rgba(14, 165, 164, .07);
    border: 1px solid rgba(14, 165, 164, .12);
    border-radius: 18px;
    padding: .9rem 1rem;
}

.author-meta-grid span {
    color: var(--text-soft);
    display: block;
    font-size: .75rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.author-meta-grid strong {
    color: var(--bg-contrast);
    display: block;
    margin-top: .25rem;
}

.author-socials {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
}

.author-socials a {
    align-items: center;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 999px;
    color: var(--primary-strong);
    display: inline-flex;
    height: 2.75rem;
    justify-content: center;
    width: 2.75rem;
}

.author-socials a:hover {
    background: linear-gradient(135deg, var(--primary), var(--primary-strong));
    color: #fff;
    transform: translateY(-2px);
}

.author-content-grid .news-grid--cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 1199.98px) {
    .hero-grid {
        grid-template-columns: 1fr;
    }
    .story-tiles {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .story-tile {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767.98px) {
    .hero-story--feature .story-title {
        max-width: none;
    }
    .story-tiles,
    .author-content-grid .news-grid--cards {
        grid-template-columns: 1fr;
    }
    .floating-video-card {
        border-radius: 16px;
        bottom: .7rem !important;
        left: .7rem !important;
        right: .7rem !important;
        width: auto;
    }
    .floating-video-card::before {
        left: .8rem;
        top: -2.2rem;
    }
    .floating-video-card__actions {
        bottom: .6rem;
        right: .55rem;
        top: auto;
        transform: none;
    }
    .author-page .author-hero {
        grid-template-columns: 1fr;
        text-align: center;
    }
    .author-hero__avatar-wrap {
        justify-self: center;
    }
    .author-meta-grid {
        grid-template-columns: 1fr;
        text-align: left;
    }
    .author-socials {
        justify-content: center;
    }
    .contact-card__list > div {
        align-items: flex-start;
        flex-direction: column;
    }
    .contact-card__list strong {
        text-align: left;
    }
}


/* May 2026 V4: real fixed bottom-right mini player + smaller article hero */
@media (min-width: 992px) {
    .article-shell {
        grid-template-columns: minmax(0, 1fr) minmax(19rem, 21rem);
        gap: 1.25rem;
    }

    .article-hero {
        align-items: center;
        display: grid;
        gap: clamp(1rem, 2vw, 1.5rem);
        grid-template-columns: minmax(20rem, 0.92fr) minmax(0, 1.08fr);
        padding: clamp(1rem, 1.8vw, 1.35rem);
    }

    .article-hero__media {
        aspect-ratio: 16 / 9;
        border-radius: 24px;
        max-height: 390px;
    }

    .article-hero__content {
        gap: 0.65rem;
        min-width: 0;
    }

    .article-hero__title {
        font-size: clamp(2rem, 3.15vw, 3.15rem) !important;
        line-height: 1.04 !important;
        overflow-wrap: anywhere;
    }

    .article-hero__dek {
        font-size: clamp(1rem, 1.2vw, 1.12rem);
        line-height: 1.65;
    }
}

@media (min-width: 1200px) {
    .article-hero__media {
        max-height: 360px;
    }
}

/* Homepage hero: cleaner cards, no clipping */
.hero-grid {
    grid-template-columns: minmax(0, 1.42fr) minmax(19rem, .88fr) !important;
}

.hero-story--feature .story-title {
    max-width: 100% !important;
    font-size: clamp(1.75rem, 2.55vw, 2.85rem) !important;
    line-height: 1.08 !important;
}

.hero-story--feature .hero-story__media {
    aspect-ratio: 16 / 8.4 !important;
}

.story-tiles {
    grid-auto-rows: minmax(8rem, 1fr) !important;
}

.story-tile {
    border-radius: 24px !important;
    grid-template-columns: minmax(7.8rem, 35%) minmax(0, 1fr) !important;
    min-height: 8rem !important;
    padding: .85rem !important;
}

.story-tile__media {
    border-radius: 18px !important;
}

.story-title--sm {
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    display: -webkit-box !important;
    overflow: hidden !important;
    text-overflow: ellipsis;
}

/* Force the featured mini-player to be viewport-fixed at the bottom-right. */
body > .floating-video-card {
    bottom: 22px !important;
    left: auto !important;
    position: fixed !important;
    right: 22px !important;
    top: auto !important;
    width: min(340px, calc(100vw - 44px)) !important;
    z-index: 2147483000 !important;
    border-radius: 12px !important;
    overflow: visible !important;
    background: #000 !important;
    border: 1px solid rgba(255,255,255,.22) !important;
    box-shadow: 0 12px 38px rgba(0,0,0,.35) !important;
    opacity: 0;
    pointer-events: none;
    transform: translateY(18px) scale(.98) !important;
    transition: opacity .2s ease, transform .2s ease !important;
}

body > .floating-video-card.is-visible {
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateY(0) scale(1) !important;
}

body > .floating-video-card::before {
    display: none !important;
}

body > .floating-video-card .floating-video-card__media {
    aspect-ratio: 16 / 9 !important;
    border-radius: 12px !important;
    height: auto !important;
    overflow: hidden !important;
    width: 100% !important;
}

body > .floating-video-card .floating-video-card__media > *,
body > .floating-video-card .floating-video-card__media .video-embed-wrap,
body > .floating-video-card .floating-video-card__media .social-embed-wrap,
body > .floating-video-card .floating-video-card__media iframe {
    aspect-ratio: auto !important;
    border-radius: 0 !important;
    display: block !important;
    height: 100% !important;
    margin: 0 !important;
    min-height: 0 !important;
    width: 100% !important;
}

body > .floating-video-card .floating-video-card__close {
    background: #fff !important;
    border: 1px solid rgba(15,23,42,.28) !important;
    box-shadow: 0 8px 24px rgba(0,0,0,.26) !important;
    color: #111827 !important;
    right: -10px !important;
    top: -12px !important;
}

body > .floating-video-card .floating-video-card__actions {
    bottom: auto !important;
    display: grid !important;
    gap: .45rem !important;
    position: absolute !important;
    right: .55rem !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 5 !important;
}

body > .floating-video-card .floating-video-card__next,
body > .floating-video-card .floating-video-card__stay {
    border: 2px solid rgba(255,255,255,.78) !important;
    border-radius: 9px !important;
    box-shadow: 0 0 12px rgba(255,255,255,.28) !important;
    color: #fff !important;
    font-size: .88rem !important;
    font-weight: 900 !important;
    min-width: 4.85rem !important;
    padding: .36rem .7rem !important;
}

body > .floating-video-card .floating-video-card__next {
    background: linear-gradient(135deg, #ff5f8e, #ef174d) !important;
}

body > .floating-video-card .floating-video-card__stay {
    background: rgba(0,0,0,.72) !important;
}

@media (max-width: 991.98px) {
    .hero-grid {
        grid-template-columns: 1fr !important;
    }

    .article-hero {
        padding: 1rem !important;
    }

    .article-hero__media {
        aspect-ratio: 16 / 9 !important;
        max-height: none !important;
    }

    .article-hero__title {
        font-size: clamp(1.85rem, 8vw, 2.65rem) !important;
    }
}

@media (max-width: 560px) {
    body > .floating-video-card {
        bottom: 12px !important;
        left: 12px !important;
        right: 12px !important;
        width: auto !important;
    }

    body > .floating-video-card .floating-video-card__actions {
        right: .45rem !important;
    }

    body > .floating-video-card .floating-video-card__next,
    body > .floating-video-card .floating-video-card__stay {
        min-width: 4.25rem !important;
        padding: .3rem .55rem !important;
    }
}


/* v6 final: restore article hero full-width layout while keeping the fixed bottom-right mini-player. */
.article-shell .article-hero {
    align-items: initial !important;
    display: grid !important;
    gap: 1.25rem !important;
    grid-template-columns: 1fr !important;
    padding: 1.25rem !important;
}

.article-shell .article-hero__media {
    aspect-ratio: 16 / 9 !important;
    border-radius: 28px !important;
    max-height: none !important;
    min-height: 0 !important;
}

.article-shell .article-hero__content {
    display: grid !important;
    gap: 0.85rem !important;
    min-width: 0 !important;
}

.article-shell .article-hero__title {
    font-size: clamp(2rem, 4vw, 3.4rem) !important;
    line-height: 1.02 !important;
    margin: 0 !important;
    overflow-wrap: normal !important;
}

.article-shell .article-hero__dek {
    color: var(--text-soft) !important;
    font-size: 1.08rem !important;
    line-height: inherit !important;
    margin: 0 !important;
}

body > .floating-video-card .floating-video-card__media:empty {
    display: none !important;
}


/* v8 final floating video fix: remove Next/Stay controls and force the same original video outside the article container. */
.floating-video-card__actions,
.floating-video-card__next,
.floating-video-card__stay {
    display: none !important;
}

body > .floating-video-card {
    background: #000 !important;
    border: 1px solid rgba(255,255,255,.22) !important;
    border-radius: 14px !important;
    bottom: 22px !important;
    box-shadow: 0 16px 42px rgba(0,0,0,.38) !important;
    left: auto !important;
    opacity: 0 !important;
    overflow: visible !important;
    pointer-events: none !important;
    position: fixed !important;
    right: 22px !important;
    top: auto !important;
    transform: translate3d(0, 18px, 0) scale(.98) !important;
    transition: opacity .2s ease, transform .2s ease !important;
    width: min(360px, calc(100vw - 44px)) !important;
    z-index: 2147483647 !important;
}

body > .floating-video-card.is-visible {
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translate3d(0, 0, 0) scale(1) !important;
}

body > .floating-video-card .floating-video-card__media {
    aspect-ratio: 16 / 9 !important;
    border-radius: 14px !important;
    height: auto !important;
    overflow: hidden !important;
    width: 100% !important;
}

body > .floating-video-card .article-hero__media.is-floating-video-source {
    aspect-ratio: 16 / 9 !important;
    border-radius: 14px !important;
    box-shadow: none !important;
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: relative !important;
    width: 100% !important;
}

body > .floating-video-card .article-hero__media.is-floating-video-source::before,
body > .floating-video-card .article-hero__media.is-floating-video-source::after {
    display: none !important;
}

body > .floating-video-card .article-hero__media.is-floating-video-source > *,
body > .floating-video-card .article-hero__media.is-floating-video-source .video-embed-wrap,
body > .floating-video-card .article-hero__media.is-floating-video-source .social-embed-wrap,
body > .floating-video-card .article-hero__media.is-floating-video-source iframe {
    border-radius: 0 !important;
    display: block !important;
    height: 100% !important;
    margin: 0 !important;
    min-height: 0 !important;
    width: 100% !important;
}

body > .floating-video-card .floating-video-card__close {
    align-items: center !important;
    background: #fff !important;
    border: 1px solid rgba(15,23,42,.24) !important;
    border-radius: 999px !important;
    box-shadow: 0 8px 24px rgba(0,0,0,.28) !important;
    color: #111827 !important;
    display: inline-flex !important;
    height: 34px !important;
    justify-content: center !important;
    position: absolute !important;
    right: -10px !important;
    top: -12px !important;
    width: 34px !important;
    z-index: 5 !important;
}

.featured-video-placeholder {
    border-radius: 28px !important;
    width: 100% !important;
}

@media (max-width: 560px) {
    body > .floating-video-card {
        bottom: 12px !important;
        left: 12px !important;
        right: 12px !important;
        width: auto !important;
    }
}

/* v10 playback-safe floating video: the iframe is mounted once and only repositioned. */
body > .floating-video-card.is-inline {
    background: transparent !important;
    border: 0 !important;
    border-radius: 28px !important;
    bottom: auto !important;
    box-shadow: none !important;
    left: var(--floating-video-inline-left, 0) !important;
    opacity: 1 !important;
    overflow: hidden !important;
    pointer-events: auto !important;
    position: fixed !important;
    right: auto !important;
    top: var(--floating-video-inline-top, 0) !important;
    transform: none !important;
    transition: none !important;
    width: var(--floating-video-inline-width, 100%) !important;
    z-index: 30 !important;
}

body > .floating-video-card.is-inline .floating-video-card__close {
    display: none !important;
}

body > .floating-video-card.is-inline .floating-video-card__media,
body > .floating-video-card.is-inline .article-hero__media.is-floating-video-source {
    aspect-ratio: 16 / 9 !important;
    border-radius: 28px !important;
    height: auto !important;
    overflow: hidden !important;
    width: 100% !important;
}

body > .floating-video-card.is-inline .article-hero__media.is-floating-video-source > *,
body > .floating-video-card.is-inline .article-hero__media.is-floating-video-source .video-embed-wrap,
body > .floating-video-card.is-inline .article-hero__media.is-floating-video-source .social-embed-wrap,
body > .floating-video-card.is-inline .article-hero__media.is-floating-video-source iframe,
body > .floating-video-card.is-visible .article-hero__media.is-floating-video-source > *,
body > .floating-video-card.is-visible .article-hero__media.is-floating-video-source .video-embed-wrap,
body > .floating-video-card.is-visible .article-hero__media.is-floating-video-source .social-embed-wrap,
body > .floating-video-card.is-visible .article-hero__media.is-floating-video-source iframe {
    display: block !important;
    height: 100% !important;
    margin: 0 !important;
    min-height: 0 !important;
    width: 100% !important;
}

body > .floating-video-card.is-visible {
    bottom: 22px !important;
    left: auto !important;
    position: fixed !important;
    right: 22px !important;
    top: auto !important;
    z-index: 2147483647 !important;
}

@media (max-width: 560px) {
    body > .floating-video-card.is-visible {
        bottom: 12px !important;
        left: 12px !important;
        right: 12px !important;
        width: auto !important;
    }
}

/* v12 mobile/tablet floating video support. */
@media (max-width: 991.98px) {
    .featured-video-placeholder {
        aspect-ratio: 16 / 9 !important;
        min-height: 180px !important;
    }

    body > .floating-video-card.is-inline {
        border-radius: 24px !important;
        width: min(var(--floating-video-inline-width, calc(100vw - 24px)), calc(100vw - 24px)) !important;
        z-index: 60 !important;
    }

    body > .floating-video-card.is-inline .floating-video-card__media,
    body > .floating-video-card.is-inline .article-hero__media.is-floating-video-source {
        border-radius: 24px !important;
        min-height: 180px !important;
    }

    body > .floating-video-card.is-visible {
        bottom: calc(12px + env(safe-area-inset-bottom, 0px)) !important;
        left: auto !important;
        right: 12px !important;
        top: auto !important;
        width: min(340px, calc(100vw - 24px)) !important;
        z-index: 2147483647 !important;
    }

    body > .floating-video-card.is-visible .floating-video-card__media,
    body > .floating-video-card.is-visible .article-hero__media.is-floating-video-source {
        min-height: 0 !important;
    }
}

@media (max-width: 575.98px) {
    .featured-video-placeholder {
        min-height: 170px !important;
    }

    body > .floating-video-card.is-inline {
        left: 12px !important;
        right: 12px !important;
        width: calc(100vw - 24px) !important;
    }

    body > .floating-video-card.is-visible {
        bottom: calc(10px + env(safe-area-inset-bottom, 0px)) !important;
        left: 10px !important;
        right: 10px !important;
        width: auto !important;
    }
}

/* v17 article readability fixes */
.article-content-card { padding: 1.35rem 1.45rem !important; }
.article-prose { max-width: 860px; margin-inline: auto; white-space: normal; overflow-wrap: anywhere; }
.article-prose p { margin: 0 0 1.15rem; }
.news-card__media img,
.article-hero__media img { object-fit: cover; width: 100%; height: 100%; }
@media (max-width: 767.98px) { .article-content-card { padding: 1rem !important; } }

/* v20 newsroom media formats + notification prompt */
.story-badge-row {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.story-badge--media {
    background: rgba(2, 8, 23, .08);
    color: var(--bg-contrast);
}

.media-type-chip {
    align-items: center;
    background: rgba(2, 8, 23, .82);
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    font-size: .78rem;
    font-weight: 900;
    gap: .4rem;
    left: .85rem;
    letter-spacing: .01em;
    padding: .45rem .7rem;
    position: absolute;
    top: .85rem;
    z-index: 4;
}

.media-type-chip--sm {
    font-size: .72rem;
    padding: .34rem .55rem;
}

.video-embed-wrap video {
    background: #000;
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.article-gallery {
    padding: 1.25rem;
}

.article-gallery__grid {
    display: grid;
    gap: .8rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.article-gallery__item {
    background: var(--surface-strong);
    border: 1px solid var(--border);
    border-radius: 16px;
    margin: 0;
    overflow: hidden;
}

.article-gallery__item a {
    aspect-ratio: 4 / 3;
    display: block;
}

.article-gallery__item picture,
.article-gallery__item img {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.article-gallery__item figcaption {
    color: var(--text-soft);
    font-size: .84rem;
    line-height: 1.45;
    padding: .75rem .85rem;
}

.media-section {
    border-top: 1px solid var(--border);
    margin-top: .5rem;
    padding-top: 1.25rem;
}

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

.notification-subscribe-modal {
    align-items: center;
    background: rgba(2, 8, 23, .42);
    display: flex;
    inset: 0;
    justify-content: center;
    opacity: 0;
    padding: 1rem;
    pointer-events: none;
    position: fixed;
    transition: opacity .18s ease;
    z-index: 9000;
}

.notification-subscribe-modal.is-open {
    opacity: 1;
    pointer-events: auto;
}

.notification-subscribe-modal__card {
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 24px 70px rgba(2, 8, 23, .24);
    color: #0f2238;
    max-width: 720px;
    padding: 2rem;
    transform: translateY(10px);
    transition: transform .18s ease;
    width: min(100%, 720px);
}

.notification-subscribe-modal.is-open .notification-subscribe-modal__card {
    transform: translateY(0);
}

.notification-subscribe-modal__header {
    align-items: center;
    display: grid;
    gap: 1.5rem;
    grid-template-columns: 120px minmax(0, 1fr);
}

.notification-subscribe-modal__logo {
    max-height: 82px;
    max-width: 120px;
    object-fit: contain;
}

.notification-subscribe-modal__header h2 {
    font-size: clamp(1.25rem, 2vw, 1.65rem);
    font-weight: 500;
    line-height: 1.45;
    margin: 0;
}

.notification-subscribe-modal__grid {
    display: grid;
    gap: 1.35rem 2.5rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 3rem 0 2.4rem;
}

.notification-topic {
    align-items: center;
    cursor: pointer;
    display: flex;
    gap: 1rem;
    margin: 0;
}

.notification-topic input {
    position: absolute;
    opacity: 0;
}

.notification-topic span {
    align-items: center;
    background: #0b7fd3;
    border-radius: 5px;
    color: #fff;
    display: inline-flex;
    flex: 0 0 36px;
    font-size: 1.35rem;
    height: 36px;
    justify-content: center;
    width: 36px;
}

.notification-topic input:not(:checked) + span {
    background: #e7eef5;
    color: transparent;
}

.notification-topic strong {
    font-size: clamp(1rem, 2vw, 1.35rem);
    font-weight: 500;
}

.notification-subscribe-modal__actions {
    align-items: center;
    display: flex;
    gap: 1.25rem;
    justify-content: flex-end;
}

.notification-link-button {
    background: transparent;
    border: 0;
    color: #0877c7;
    font-size: 1.05rem;
    font-weight: 700;
    padding: .8rem 1rem;
}

@media (max-width: 767.98px) {
    .article-gallery__grid,
    .news-grid--compact,
    .notification-subscribe-modal__grid,
    .notification-subscribe-modal__header {
        grid-template-columns: 1fr;
    }

    .notification-subscribe-modal__card {
        padding: 1.25rem;
    }

    .notification-subscribe-modal__grid {
        margin: 1.6rem 0;
    }
}

/* v23 contact page polish + article mid advert */
.contact-showcase {
    display: grid;
    gap: 1.25rem;
    grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
    align-items: start;
}
.contact-intro-card,
.contact-form-card {
    padding: clamp(1.2rem, 2vw, 1.7rem);
}
.contact-intro-card {
    background:
        radial-gradient(circle at top right, rgba(14,165,164,.16), transparent 32%),
        var(--surface);
}
.contact-intro-card h2 {
    color: var(--bg-contrast);
    font-family: var(--font-display);
    font-size: clamp(1.45rem, 2.3vw, 2rem);
    margin: .35rem 0 1rem;
}
.contact-intro-copy {
    margin-bottom: 1.2rem;
}
.contact-quick-grid {
    display: grid;
    gap: .8rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.contact-quick-card {
    background: rgba(14,165,164,.06);
    border: 1px solid rgba(14,165,164,.16);
    border-radius: 20px;
    color: inherit;
    display: grid;
    gap: .28rem;
    min-height: 7.4rem;
    padding: 1rem;
    text-decoration: none;
    transition: transform .18s ease, border-color .18s ease, background .18s ease;
}
.contact-quick-card:hover {
    background: rgba(14,165,164,.1);
    border-color: rgba(14,165,164,.32);
    color: inherit;
    transform: translateY(-2px);
}
.contact-quick-card i {
    color: var(--primary-strong);
    font-size: 1.15rem;
}
.contact-quick-card span {
    color: var(--text-soft);
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.contact-quick-card strong {
    color: var(--bg-contrast);
    font-size: .92rem;
    overflow-wrap: anywhere;
}
.contact-form-card h3 {
    color: var(--bg-contrast);
    font-family: var(--font-display);
    margin: .35rem 0 .45rem;
}
.contact-form-card__lead {
    color: var(--text-soft);
    margin-bottom: 1.15rem;
}
.contact-form label {
    display: grid;
    gap: .38rem;
}
.contact-form label span {
    color: var(--bg-contrast);
    font-size: .82rem;
    font-weight: 800;
}
.contact-form__message {
    margin-top: .85rem;
}
.ad-slot--article-mid {
    margin-block: .1rem;
}
@media (max-width: 991.98px) {
    .contact-showcase {
        grid-template-columns: minmax(0, 1fr);
    }
}
@media (max-width: 767.98px) {
    .contact-quick-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}


/* Continue-reading page shown once after article back navigation */
.continue-reading-intro {
    align-items: center;
    display: flex;
    gap: 1.25rem;
    justify-content: space-between;
    padding: clamp(1.2rem, 2vw, 1.7rem);
}
.continue-reading-intro h1 {
    color: var(--bg-contrast);
    font-size: clamp(1.45rem, 3vw, 2.25rem);
    margin: .2rem 0 .35rem;
}
.continue-reading-intro p {
    color: var(--text-soft);
    margin: 0;
}
.continue-reading-intro__actions {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
    justify-content: flex-end;
}
.continue-reading-feature-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1.65fr) minmax(18rem, .8fr);
}
.continue-reading-trending {
    min-width: 0;
}
@media (max-width: 991.98px) {
    .continue-reading-intro {
        align-items: flex-start;
        flex-direction: column;
    }
    .continue-reading-intro__actions {
        justify-content: flex-start;
    }
    .continue-reading-feature-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}


/* Homepage submission card */
.submit-story-card {
    padding: clamp(1.35rem, 2vw, 2rem);
    border-radius: 28px;
}
.submit-story-card .site-kicker {
    display: flex;
    align-items: center;
    gap: .8rem;
    margin-bottom: .55rem;
}
.submit-story-card .site-kicker::before {
    content: "";
    width: 54px;
    height: 1px;
    background: var(--accent, #0e7d79);
}
.submit-story-card h3 {
    font-size: clamp(1.45rem, 2vw, 2rem);
    margin-bottom: .75rem;
}
.submit-story-card p {
    color: var(--text-soft);
    margin-bottom: 1rem;
}
.submit-story-card a {
    color: var(--accent, #0e7d79);
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    gap: .6rem;
}

/* Archive inline adverts */
.archive-inline-ad {
    grid-column: 1 / -1;
    margin-block: .3rem;
}

/* Rebuilt homepage video showcase */
.video-showcase__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(280px, .75fr);
    gap: 1rem;
}
.video-feature {
    overflow: hidden;
}
.video-feature__media {
    position: relative;
    aspect-ratio: 16 / 9;
    overflow: hidden;
}
.video-feature__media img {
    object-fit: cover;
}
.video-play-badge {
    position: absolute;
    left: 1rem;
    bottom: 1rem;
    width: 54px;
    height: 54px;
    border-radius: 999px;
    background: rgba(14, 125, 121, .95);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 18px 34px rgba(0, 0, 0, .25);
}
.video-feature__body {
    padding: 1.15rem;
}
.video-feature__body h3 {
    font-size: clamp(1.15rem, 2vw, 1.55rem);
    margin: .7rem 0 .45rem;
}
.video-rail {
    display: grid;
    gap: .8rem;
}
.video-rail__item {
    padding: .7rem;
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    gap: .8rem;
    align-items: center;
}
.video-rail__media {
    aspect-ratio: 16 / 9;
    border-radius: 16px;
    overflow: hidden;
    position: relative;
}
.video-rail__media img {
    object-fit: cover;
}
.video-rail__media span {
    position: absolute;
    inset: auto auto .5rem .5rem;
    width: 28px;
    height: 28px;
    border-radius: 999px;
    background: rgba(14, 125, 121, .95);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: .7rem;
}
.video-rail__item strong {
    display: block;
    line-height: 1.35;
}
.video-rail__item small {
    display: block;
    color: var(--text-soft);
    margin-top: .35rem;
}

/* Live articles */
.live-story-pill {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    border-radius: 999px;
    padding: .38rem .72rem;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .08em;
}
.live-story-pill.is-live {
    background: rgba(220, 38, 38, .12);
    color: #dc2626;
}
.live-story-pill.is-live i {
    animation: kisure-live-pulse 1.25s infinite;
}
.live-story-pill.is-ended {
    background: rgba(100, 116, 139, .15);
    color: #475569;
}
@keyframes kisure-live-pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: .25; }
}
.live-blog-shell {
    padding: clamp(1rem, 2vw, 1.5rem);
}
.live-blog-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.15rem;
}
.live-blog-header h2 {
    margin: .2rem 0 0;
}
.live-updates-feed {
    display: grid;
    gap: 1rem;
}
.live-update {
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr);
    gap: .85rem;
}
.live-update__rail {
    position: relative;
}
.live-update__rail::before {
    content: "";
    position: absolute;
    left: 11px;
    top: 0;
    bottom: -1rem;
    width: 2px;
    background: rgba(220, 38, 38, .18);
}
.live-update__rail span {
    position: relative;
    display: block;
    width: 24px;
    height: 24px;
    border-radius: 999px;
    background: #dc2626;
    border: 5px solid #fff;
    box-shadow: 0 0 0 1px rgba(220, 38, 38, .15);
}
.live-update__card {
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 24px;
    padding: 1rem;
    background: rgba(255, 255, 255, .72);
}
.live-update__meta {
    display: flex;
    gap: .7rem;
    color: var(--text-soft);
    font-size: .82rem;
    margin-bottom: .55rem;
}
.live-update__meta time {
    color: #dc2626;
    font-weight: 800;
}
.live-update__card h3 {
    font-size: 1.12rem;
    margin-bottom: .65rem;
}
.live-update__content > :last-child {
    margin-bottom: 0;
}
.live-update-ad {
    margin-left: 39px;
}
.live-empty-state {
    border-radius: 20px;
    padding: 1rem;
    background: rgba(15, 23, 42, .04);
    color: var(--text-soft);
}
.live-admin-updates {
    display: grid;
    gap: .8rem;
}
.live-admin-update {
    border: 1px solid rgba(15, 23, 42, .12);
    border-radius: 16px;
    padding: .85rem;
}
.live-admin-update summary {
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .8rem;
}

/* Dark support */
body[data-theme="dark"] .live-update__card,
.dark .live-update__card {
    background: rgba(15, 23, 42, .72);
    border-color: rgba(255, 255, 255, .12);
}
body[data-theme="dark"] .live-update__rail span,
.dark .live-update__rail span {
    border-color: #0f172a;
}

@media (max-width: 767px) {
    .video-showcase__grid {
        grid-template-columns: 1fr;
    }
    .live-update-ad {
        margin-left: 0;
    }
}

.media-type-chip--live,
.story-badge--live {
    background: rgba(220, 38, 38, .92) !important;
    color: #fff !important;
}
.media-type-chip--live i,
.story-badge--live i {
    font-size: .52rem;
    animation: kisure-live-pulse 1.25s infinite;
}


/* Latest live article non-reloading popup */
.latest-live-toast {
    align-items: center;
    background: rgba(15, 23, 42, .94);
    border: 1px solid rgba(248, 113, 113, .32);
    border-radius: 999px;
    box-shadow: 0 22px 60px rgba(2, 8, 23, .32);
    color: #fff;
    display: flex;
    gap: .8rem;
    left: 50%;
    max-width: min(720px, calc(100vw - 2rem));
    min-width: min(420px, calc(100vw - 2rem));
    padding: .72rem .78rem .72rem .72rem;
    position: fixed;
    top: 1rem;
    transform: translate(-50%, -18px);
    opacity: 0;
    pointer-events: none;
    transition: opacity .18s ease, transform .18s ease;
    z-index: 2200;
}
.latest-live-toast.is-visible {
    opacity: 1;
    pointer-events: auto;
    transform: translate(-50%, 0);
}
.latest-live-toast__pulse {
    align-items: center;
    background: rgba(239, 68, 68, .16);
    border-radius: 999px;
    display: inline-flex;
    flex: 0 0 2.35rem;
    height: 2.35rem;
    justify-content: center;
    width: 2.35rem;
}
.latest-live-toast__pulse span {
    background: #ef4444;
    border-radius: 999px;
    height: .72rem;
    width: .72rem;
    animation: kisure-live-pulse 1.25s infinite;
}
.latest-live-toast__copy {
    display: grid;
    line-height: 1.25;
    min-width: 0;
}
.latest-live-toast__copy strong {
    color: #fca5a5;
    font-size: .7rem;
    font-weight: 900;
    letter-spacing: .16em;
    text-transform: uppercase;
}
.latest-live-toast__copy a {
    color: #fff;
    font-weight: 800;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.latest-live-toast button {
    align-items: center;
    background: rgba(255, 255, 255, .1);
    border: 0;
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    flex: 0 0 2rem;
    height: 2rem;
    justify-content: center;
    margin-left: auto;
    width: 2rem;
}
.latest-live-toast button:hover {
    background: rgba(255, 255, 255, .18);
}
@media (max-width: 575.98px) {
    .latest-live-toast {
        border-radius: 22px;
        min-width: 0;
        width: calc(100vw - 1rem);
    }
}


/* New live updates appear automatically without reloading the article page */
.live-update.is-fresh .live-update__card {
    animation: live-update-arrived 1.2s ease;
}
@keyframes live-update-arrived {
    0% {
        border-color: rgba(239, 68, 68, .75);
        box-shadow: 0 0 0 0 rgba(239, 68, 68, .3);
        transform: translateY(-4px);
    }
    100% {
        border-color: rgba(15, 23, 42, .08);
        box-shadow: 0 0 0 16px rgba(239, 68, 68, 0);
        transform: translateY(0);
    }
}
html[data-theme="dark"] .live-update.is-fresh .live-update__card {
    animation-name: live-update-arrived-dark;
}
@keyframes live-update-arrived-dark {
    0% {
        border-color: rgba(248, 113, 113, .78);
        box-shadow: 0 0 0 0 rgba(248, 113, 113, .25);
        transform: translateY(-4px);
    }
    100% {
        border-color: rgba(255, 255, 255, .12);
        box-shadow: 0 0 0 16px rgba(248, 113, 113, 0);
        transform: translateY(0);
    }
}


/* v42 homepage video balance */
.video-showcase__grid {
    align-items: stretch;
}
.video-feature {
    display: grid;
    grid-template-rows: auto 1fr;
}
.video-rail {
    grid-template-rows: repeat(3, minmax(0, 1fr));
    height: 100%;
}
.video-rail__item {
    grid-template-columns: minmax(148px, 38%) minmax(0, 1fr);
    gap: 1rem;
    height: 100%;
    min-height: 0;
    padding: .8rem;
}
.video-rail__media {
    aspect-ratio: auto;
    height: 100%;
    min-height: 104px;
}
.video-rail__item strong {
    font-size: clamp(.98rem, 1.15vw, 1.12rem);
}
@media (max-width: 991.98px) {
    .video-rail {
        grid-template-rows: none;
    }
    .video-rail__item {
        min-height: 126px;
    }
}
@media (max-width: 575.98px) {
    .video-rail__item {
        grid-template-columns: 132px minmax(0, 1fr);
        min-height: 110px;
    }
}


/* v46 live article reactions and live-update images */
.live-blog-header__actions {
    display: flex;
    align-items: center;
    gap: .65rem;
    flex-wrap: wrap;
}
.live-reaction-button {
    align-items: center;
    background: rgba(220, 38, 38, .08);
    border: 1px solid rgba(220, 38, 38, .18);
    border-radius: 999px;
    color: #991b1b;
    display: inline-flex;
    font-weight: 800;
    gap: .45rem;
    min-height: 2.35rem;
    padding: .42rem .78rem;
}
.live-reaction-button i {
    color: #dc2626;
}
.live-reaction-button strong {
    background: rgba(220, 38, 38, .13);
    border-radius: 999px;
    min-width: 1.45rem;
    padding: .12rem .42rem;
}
.live-reaction-button.is-reacted {
    background: #dc2626;
    border-color: #dc2626;
    color: #fff;
}
.live-reaction-button.is-reacted i,
.live-reaction-button.is-reacted strong {
    color: #fff;
}
.live-reaction-button.is-reacted strong {
    background: rgba(255,255,255,.2);
}
.live-update__image {
    border-radius: 20px;
    margin: .2rem 0 .85rem;
    overflow: hidden;
}
.live-update__image img {
    display: block;
    max-height: 520px;
    object-fit: cover;
    width: 100%;
}
@media (max-width: 575.98px) {
    .live-blog-header {
        align-items: flex-start;
        flex-direction: column;
    }
}






/* v49 compact live-update reactions with more-reaction popout */
.live-update-reaction-shell {
    margin-top: 1.15rem;
}

.live-update-reaction-counts {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    position: relative;
}

.live-update-reaction-counts > button {
    align-items: center;
    background: #f4f5f7;
    border: 0;
    border-radius: 999px;
    color: #475569;
    display: inline-flex;
    font-weight: 800;
    gap: .46rem;
    min-height: 2.55rem;
    padding: .42rem .85rem;
    transition: background .16s ease, color .16s ease, transform .16s ease, box-shadow .16s ease;
}

.live-update-reaction-counts > button span {
    font-size: 1.36rem;
    line-height: 1;
}

.live-update-reaction-counts > button strong {
    font-size: .98rem;
    font-weight: 800;
}

.live-update-reaction-counts > button:hover,
.live-update-reaction-counts > button.is-selected {
    background: rgba(14, 125, 121, .12);
    box-shadow: 0 12px 28px rgba(15, 23, 42, .08);
    color: #0f172a;
    transform: translateY(-1px);
}

.live-update-more-reactions {
    display: inline-flex;
    position: relative;
}

.live-update-more-trigger {
    align-items: center;
    background: #f4f5f7;
    border: 0;
    border-radius: 999px;
    color: #475569;
    display: inline-flex;
    height: 2.55rem;
    justify-content: center;
    padding: 0;
    transition: background .16s ease, transform .16s ease, box-shadow .16s ease;
    width: 2.55rem;
}

.live-update-more-trigger:hover,
.live-update-more-trigger.is-selected,
.live-update-more-trigger[aria-expanded="true"] {
    background: rgba(14, 125, 121, .12);
    box-shadow: 0 12px 28px rgba(15, 23, 42, .08);
    transform: translateY(-1px);
}

.live-update-more-icon {
    display: inline-flex;
    height: 1.2rem;
    position: relative;
    width: 1.34rem;
}

.live-update-more-icon i {
    font-size: 1.18rem;
    line-height: 1;
}

.live-update-more-icon b {
    background: #f4f5f7;
    border-radius: 999px;
    bottom: -.18rem;
    font-size: .72rem;
    font-weight: 900;
    line-height: 1;
    padding: .02rem;
    position: absolute;
    right: -.18rem;
}

.live-update-more-menu {
    align-items: center;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 999px;
    bottom: calc(100% + .65rem);
    box-shadow: 0 18px 42px rgba(15, 23, 42, .16);
    display: flex;
    flex-wrap: wrap;
    gap: .28rem;
    left: 50%;
    padding: .38rem;
    position: absolute;
    transform: translateX(-50%);
    z-index: 8;
}

.live-update-more-menu[hidden] {
    display: none;
}

.live-update-more-menu button {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 999px;
    display: inline-flex;
    height: 2.52rem;
    justify-content: center;
    padding: 0;
    transition: background .16s ease, transform .16s ease;
    width: 2.52rem;
}

.live-update-more-menu button span {
    font-size: 1.62rem;
    line-height: 1;
}

.live-update-more-menu button:hover,
.live-update-more-menu button.is-selected {
    background: rgba(14, 125, 121, .12);
    transform: translateY(-2px) scale(1.08);
}

html[data-theme="dark"] .live-update-reaction-counts > button,
html[data-theme="dark"] .live-update-more-trigger {
    background: rgba(255, 255, 255, .07);
    color: #dbe7f7;
}

html[data-theme="dark"] .live-update-reaction-counts > button:hover,
html[data-theme="dark"] .live-update-reaction-counts > button.is-selected,
html[data-theme="dark"] .live-update-more-trigger:hover,
html[data-theme="dark"] .live-update-more-trigger.is-selected,
html[data-theme="dark"] .live-update-more-trigger[aria-expanded="true"] {
    background: rgba(45, 212, 191, .15);
    color: #f8fbff;
}

html[data-theme="dark"] .live-update-more-icon b {
    background: #151f33;
}

html[data-theme="dark"] .live-update-more-menu {
    background: #151f33;
    border-color: rgba(255, 255, 255, .12);
}

html[data-theme="dark"] .live-update-more-menu button:hover,
html[data-theme="dark"] .live-update-more-menu button.is-selected {
    background: rgba(45, 212, 191, .15);
}

@media (max-width: 575.98px) {
    .live-update-reaction-counts > button {
        min-height: 2.34rem;
        padding: .35rem .68rem;
    }

    .live-update-reaction-counts > button span {
        font-size: 1.2rem;
    }

    .live-update-more-trigger {
        height: 2.34rem;
        width: 2.34rem;
    }

    .live-update-more-menu {
        border-radius: 22px;
        max-width: min(280px, calc(100vw - 2.25rem));
    }
}


/* v50 full-page skeleton loader */
.site-skeleton-loader {
    background:
        radial-gradient(circle at 10% -10%, rgba(14, 125, 121, .08), transparent 24%),
        linear-gradient(180deg, #ffffff 0%, #f7f8fb 100%);
    inset: 0;
    opacity: 1;
    overflow: hidden;
    pointer-events: all;
    position: fixed;
    transition: opacity .35s ease, visibility .35s ease;
    visibility: visible;
    z-index: 99999;
}

html[data-theme="dark"] .site-skeleton-loader {
    background:
        radial-gradient(circle at 10% -10%, rgba(45, 212, 191, .12), transparent 24%),
        linear-gradient(180deg, #06101d 0%, #07111f 100%);
}

html:not(.kisure-page-loading) .site-skeleton-loader,
.site-skeleton-loader.is-hidden {
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
}

.site-skeleton-loader__top {
    background: #040404;
    height: 4.8rem;
    width: 100%;
}

html[data-theme="dark"] .site-skeleton-loader__top {
    background: #020817;
}

.site-skeleton-loader__shell {
    margin: 0 auto;
    padding: 2rem 1rem 5rem;
    width: min(1180px, calc(100% - 1rem));
}

.shimmer-block {
    background: linear-gradient(90deg, #eff1f4 0%, #e4e7eb 44%, #f4f6f8 72%, #eff1f4 100%);
    background-size: 220% 100%;
    animation: kisure-skeleton-shimmer 1.25s ease-in-out infinite;
}

html[data-theme="dark"] .shimmer-block {
    background: linear-gradient(90deg, rgba(148, 163, 184, .12) 0%, rgba(148, 163, 184, .2) 44%, rgba(148, 163, 184, .1) 72%, rgba(148, 163, 184, .12) 100%);
    background-size: 220% 100%;
}

.site-skeleton-loader__logo {
    border-radius: 12px;
    height: 3.05rem;
    margin-bottom: 2rem;
    width: min(420px, 70vw);
}

.site-skeleton-loader__search {
    border-radius: 999px;
    height: 4.25rem;
    margin: 0 0 2.2rem;
    position: relative;
    width: 100%;
}

.site-skeleton-loader__search::before {
    background: rgba(255, 255, 255, .42);
    border-radius: 50%;
    content: "";
    height: 2.05rem;
    left: 1.6rem;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 2.05rem;
}

html[data-theme="dark"] .site-skeleton-loader__search::before {
    background: rgba(255, 255, 255, .08);
}

.site-skeleton-loader__tabs {
    display: grid;
    gap: 1.6rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: 2rem;
}

.site-skeleton-loader__tabs span {
    border-radius: 18px;
    height: 4rem;
}

.site-skeleton-loader__grid {
    display: grid;
    gap: 2rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.site-skeleton-loader__card {
    background: rgba(255, 255, 255, .74);
    border: 1px solid rgba(15, 23, 42, .04);
    border-radius: 28px;
    box-shadow: 0 18px 40px rgba(15, 23, 42, .05);
    padding: 1.35rem;
}

html[data-theme="dark"] .site-skeleton-loader__card {
    background: rgba(15, 23, 42, .72);
    border-color: rgba(148, 163, 184, .14);
    box-shadow: 0 18px 40px rgba(2, 8, 23, .22);
}

.site-skeleton-loader__media {
    aspect-ratio: 1.15 / 1;
    border-radius: 22px;
    margin-bottom: 1.35rem;
}

.site-skeleton-loader__line {
    border-radius: 12px;
    height: 2rem;
    margin-bottom: 1.25rem;
    width: 82%;
}

.site-skeleton-loader__meta {
    display: flex;
    gap: 1rem;
    margin-bottom: 1.35rem;
}

.site-skeleton-loader__meta span:first-child {
    border-radius: 10px;
    height: 2.2rem;
    width: 3.8rem;
}

.site-skeleton-loader__meta span:last-child {
    border-radius: 10px;
    height: 2.2rem;
    width: 52%;
}

.site-skeleton-loader__footer {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
}

.site-skeleton-loader__footer span {
    border-radius: 10px;
    height: 2rem;
    width: 38%;
}

@keyframes kisure-skeleton-shimmer {
    0% {
        background-position: 120% 0;
    }
    100% {
        background-position: -120% 0;
    }
}

@media (max-width: 767.98px) {
    .site-skeleton-loader__top {
        height: 4.4rem;
    }

    .site-skeleton-loader__shell {
        padding: 1.35rem 1rem 6rem;
    }

    .site-skeleton-loader__logo {
        height: 2.75rem;
        margin-bottom: 1.6rem;
        width: min(360px, 76vw);
    }

    .site-skeleton-loader__search {
        height: 4.6rem;
        margin-bottom: 1.65rem;
    }

    .site-skeleton-loader__tabs {
        gap: 1rem;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .site-skeleton-loader__tabs span {
        height: 3.35rem;
    }

    .site-skeleton-loader__grid {
        gap: 1.35rem;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .site-skeleton-loader__card {
        border-radius: 22px;
        padding: .85rem;
    }

    .site-skeleton-loader__media {
        border-radius: 18px;
        margin-bottom: 1rem;
    }

    .site-skeleton-loader__line {
        height: 1.55rem;
        width: 86%;
    }

    .site-skeleton-loader__meta,
    .site-skeleton-loader__footer {
        gap: .7rem;
    }
}

@media (max-width: 480px) {
    .site-skeleton-loader__grid {
        grid-template-columns: 1fr;
    }

    .site-skeleton-loader__tabs {
        grid-template-columns: 1fr 1fr;
    }

    .site-skeleton-loader__card:nth-child(n+3) {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .shimmer-block {
        animation: none;
    }

    .site-skeleton-loader {
        transition: none;
    }
}


/* v52 route-aware Kisure skeleton loader and full-card grid repair */
.site-skeleton-loader {
    background:
        radial-gradient(circle at 18% -12%, rgba(14, 125, 121, .08), transparent 24%),
        linear-gradient(180deg, #f7f9fc 0%, #edf2f7 100%);
    inset: 0;
    opacity: 1;
    overflow: auto;
    pointer-events: all;
    position: fixed;
    transition: opacity .28s ease, visibility .28s ease;
    visibility: visible;
    z-index: 99999;
}

html[data-theme="dark"] .site-skeleton-loader {
    background:
        radial-gradient(circle at 18% -12%, rgba(45, 212, 191, .12), transparent 24%),
        linear-gradient(180deg, #07111f 0%, #0b1424 100%);
}

html:not(.kisure-page-loading) .site-skeleton-loader,
.site-skeleton-loader.is-hidden {
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
}

.kisure-skeleton-shell {
    margin: 0 auto;
    padding: .85rem 1rem 3rem;
    width: min(760px, calc(100% - 1rem));
}

.site-skeleton-loader--article .kisure-skeleton-shell {
    width: min(980px, calc(100% - 1rem));
}

.kisure-skeleton-header {
    align-items: center;
    background: rgba(255,255,255,.92);
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 999px;
    display: grid;
    gap: .8rem;
    grid-template-columns: 150px 1fr 92px;
    margin-bottom: .75rem;
    padding: .55rem .75rem;
}

html[data-theme="dark"] .kisure-skeleton-header,
html[data-theme="dark"] .kisure-skeleton-home-hero,
html[data-theme="dark"] .kisure-skeleton-page-hero,
html[data-theme="dark"] .kisure-skeleton-news-card,
html[data-theme="dark"] .kisure-skeleton-feature-card,
html[data-theme="dark"] .kisure-skeleton-article,
html[data-theme="dark"] .kisure-skeleton-rail-item {
    background: rgba(15,23,42,.86);
    border-color: rgba(148,163,184,.18);
}

.kisure-skeleton-logo,
.kisure-skeleton-actions,
.kisure-skeleton-ad,
.kisure-skeleton-media,
.kisure-skeleton-title,
.kisure-skeleton-section-title,
.kisure-skeleton-card-title,
.kisure-skeleton-card-text,
.kisure-skeleton-chip,
.kisure-skeleton-panel,
.kisure-skeleton-kicker,
.kisure-skeleton-page-title,
.kisure-skeleton-page-summary,
.kisure-skeleton-article-title,
.kisure-skeleton-article-meta,
.kisure-skeleton-paragraph,
.kisure-skeleton-chip-row span,
.kisure-skeleton-nav span,
.kisure-skeleton-card-footer span,
.kisure-skeleton-rail-item span,
.kisure-skeleton-rail-item b,
.kisure-skeleton-rail-item small {
    border-radius: 14px;
}

.kisure-skeleton-logo { height: 2.05rem; }
.kisure-skeleton-actions { height: 2rem; }
.kisure-skeleton-nav {
    align-items: center;
    display: flex;
    gap: .55rem;
    justify-content: center;
}
.kisure-skeleton-nav span {
    height: .78rem;
    width: 4.4rem;
}
.kisure-skeleton-ad {
    height: 4.5rem;
    margin-bottom: .75rem;
}

.kisure-skeleton-home-hero,
.kisure-skeleton-page-hero,
.kisure-skeleton-news-card,
.kisure-skeleton-feature-card,
.kisure-skeleton-article,
.kisure-skeleton-rail-item {
    background: rgba(255,255,255,.92);
    border: 1px solid rgba(15,23,42,.08);
    box-shadow: 0 14px 34px rgba(15,23,42,.05);
}

.kisure-skeleton-home-hero {
    border-radius: 22px;
    display: grid;
    gap: .85rem;
    grid-template-columns: minmax(0, 1.55fr) minmax(0, .95fr);
    margin-bottom: 1.1rem;
    padding: .75rem;
}

.kisure-skeleton-home-main,
.kisure-skeleton-news-card,
.kisure-skeleton-feature-card {
    border-radius: 18px;
    overflow: hidden;
    padding: .65rem;
}

.kisure-skeleton-home-rail {
    display: grid;
    gap: .7rem;
}

.kisure-skeleton-rail-item {
    align-items: center;
    border-radius: 16px;
    display: grid;
    gap: .65rem;
    grid-template-columns: 92px 1fr;
    padding: .65rem;
}

.kisure-skeleton-rail-item > span {
    aspect-ratio: 16 / 10;
}
.kisure-skeleton-rail-item b,
.kisure-skeleton-rail-item small {
    display: block;
    height: .95rem;
    margin-bottom: .55rem;
}
.kisure-skeleton-rail-item b { width: 100%; }
.kisure-skeleton-rail-item small { width: 58%; }

.kisure-skeleton-media { aspect-ratio: 4 / 3; }
.kisure-skeleton-media--hero { aspect-ratio: 16 / 10; margin-bottom: .65rem; }
.kisure-skeleton-media--feature { aspect-ratio: 16 / 9; margin-bottom: .75rem; }
.kisure-skeleton-media--article { aspect-ratio: 16 / 9; margin: 1.2rem 0; }

.kisure-skeleton-title {
    height: 2rem;
    width: 88%;
}
.kisure-skeleton-section-title {
    height: 1.5rem;
    margin: 0 0 .85rem;
    width: 260px;
}
.kisure-skeleton-layout {
    display: grid;
    gap: 1rem;
}
.kisure-skeleton-layout--with-sidebar {
    grid-template-columns: minmax(0, 1fr) 220px;
}
.kisure-skeleton-card-grid {
    display: grid;
    gap: .95rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.kisure-skeleton-card-grid--archive {
    margin-top: .9rem;
}

.kisure-skeleton-news-card {
    min-height: 21rem;
}
.kisure-skeleton-news-card .kisure-skeleton-media {
    margin-bottom: .65rem;
}
.kisure-skeleton-chip {
    height: 1.15rem;
    margin-bottom: .55rem;
    width: 5.5rem;
}
.kisure-skeleton-card-title {
    height: 2.2rem;
    margin-bottom: .55rem;
    width: 94%;
}
.kisure-skeleton-card-text {
    height: 2.6rem;
    margin-bottom: .65rem;
    width: 100%;
}
.kisure-skeleton-card-footer {
    display: flex;
    justify-content: space-between;
    gap: .6rem;
}
.kisure-skeleton-card-footer span {
    height: 1.2rem;
    width: 44%;
}

.kisure-skeleton-sidebar {
    display: grid;
    gap: .9rem;
}
.kisure-skeleton-panel { height: 8.5rem; }
.kisure-skeleton-panel--small { height: 5.8rem; }

.kisure-skeleton-page-hero,
.kisure-skeleton-article {
    border-radius: 28px;
    margin-bottom: 1.1rem;
    padding: 1.25rem;
}
.kisure-skeleton-kicker {
    height: 1rem;
    margin-bottom: .85rem;
    width: 7.5rem;
}
.kisure-skeleton-page-title {
    height: 3rem;
    margin-bottom: .85rem;
    width: 56%;
}
.kisure-skeleton-page-summary {
    height: 1.55rem;
    margin-bottom: 1rem;
    width: 76%;
}
.kisure-skeleton-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}
.kisure-skeleton-chip-row span {
    height: 2rem;
    width: 6rem;
}
.kisure-skeleton-feature-card {
    margin-bottom: 1rem;
}
.kisure-skeleton-article-title {
    height: 4rem;
    margin-bottom: 1rem;
    width: 86%;
}
.kisure-skeleton-article-meta {
    height: 1.4rem;
    width: 42%;
}
.kisure-skeleton-paragraph {
    height: 4.8rem;
    margin-bottom: .85rem;
    width: 100%;
}
.kisure-skeleton-paragraph--short { width: 70%; }

.shimmer-block {
    background: linear-gradient(90deg, #eff1f4 0%, #e3e7ec 44%, #f5f7fa 72%, #eff1f4 100%);
    background-size: 220% 100%;
    animation: kisure-skeleton-shimmer 1.15s ease-in-out infinite;
}
html[data-theme="dark"] .shimmer-block {
    background: linear-gradient(90deg, rgba(148,163,184,.12) 0%, rgba(148,163,184,.22) 44%, rgba(148,163,184,.1) 72%, rgba(148,163,184,.12) 100%);
    background-size: 220% 100%;
}
@keyframes kisure-skeleton-shimmer {
    0% { background-position: 120% 0; }
    100% { background-position: -120% 0; }
}

/* v53 card grid repair: show more articles, do not squeeze existing cards */
.news-grid,
.news-grid--cards {
    align-items: stretch;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.content-grid .news-grid,
.content-grid .news-grid--cards,
.stack-grid .news-grid,
.stack-grid .news-grid--cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

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

.news-card {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    width: 100%;
}

.news-card > a {
    display: block;
    flex: 0 0 auto;
}

.news-card__media,
.story-tile__media,
.hero-story__media {
    background:
        radial-gradient(circle at 18% 12%, rgba(255,255,255,.22), transparent 28%),
        linear-gradient(135deg, rgba(14,125,121,.2), rgba(15,23,42,.08), rgba(249,115,22,.15));
}

.news-card__media img,
.story-tile__media img,
.hero-story__media img {
    background-color: var(--surface-strong);
}

.news-card__body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
}

.news-card__excerpt {
    flex: 1 1 auto;
}

.news-card__footer {
    margin-top: auto;
}

.news-card img.kisure-image-fallback,
.story-tile img.kisure-image-fallback,
.hero-story img.kisure-image-fallback {
    object-fit: cover;
}

/* A full-width ad should come after complete rows. The views now insert it after 6 articles. */
.archive-inline-ad {
    grid-column: 1 / -1;
}

@media (max-width: 991.98px) {
    .news-grid,
    .news-grid--cards,
    .content-grid .news-grid,
    .content-grid .news-grid--cards,
    .stack-grid .news-grid,
    .stack-grid .news-grid--cards,
    .news-grid--compact {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .news-grid,
    .news-grid--cards,
    .content-grid .news-grid,
    .content-grid .news-grid--cards,
    .stack-grid .news-grid,
    .stack-grid .news-grid--cards,
    .news-grid--compact {
        grid-template-columns: 1fr;
    }
}


@media (max-width: 991.98px) {
    .kisure-skeleton-layout--with-sidebar {
        grid-template-columns: 1fr;
    }
    .kisure-skeleton-sidebar {
        display: none;
    }
    .kisure-skeleton-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .site-skeleton-loader--article .kisure-skeleton-shell,
    .kisure-skeleton-shell {
        width: min(720px, calc(100% - 1rem));
    }
}

@media (max-width: 767.98px) {
    .kisure-skeleton-header {
        grid-template-columns: 120px 1fr 54px;
    }
    .kisure-skeleton-nav span:nth-child(n+3) {
        display: none;
    }
    .kisure-skeleton-home-hero {
        grid-template-columns: 1fr;
    }
    .kisure-skeleton-page-title,
    .kisure-skeleton-article-title {
        width: 92%;
    }
}

@media (max-width: 520px) {
    .kisure-skeleton-card-grid {
        grid-template-columns: 1fr;
    }
    .kisure-skeleton-news-card:nth-child(n+4) {
        display: none;
    }
    .kisure-skeleton-rail-item {
        grid-template-columns: 86px 1fr;
    }
}

@supports not selector(:has(*)) {
    .news-grid,
    .news-grid--cards {
        grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
    }
}

@media (prefers-reduced-motion: reduce) {
    .shimmer-block {
        animation: none;
    }
    .site-skeleton-loader {
        transition: none;
    }
}


/* v53 final override: never compress homepage/category/tag cards into skinny four-column cards */
@media (min-width: 992px) {
    .news-grid,
    .news-grid--cards,
    .content-grid .news-grid,
    .content-grid .news-grid--cards,
    .stack-grid .news-grid,
    .stack-grid .news-grid--cards,
    .news-grid--compact {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (min-width: 992px) and (max-width: 1180px) {
    .content-grid .news-grid,
    .content-grid .news-grid--cards {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 767.98px) {
    .news-grid,
    .news-grid--cards,
    .content-grid .news-grid,
    .content-grid .news-grid--cards,
    .stack-grid .news-grid,
    .stack-grid .news-grid--cards,
    .news-grid--compact {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 520px) {
    .news-grid,
    .news-grid--cards,
    .content-grid .news-grid,
    .content-grid .news-grid--cards,
    .stack-grid .news-grid,
    .stack-grid .news-grid--cards,
    .news-grid--compact {
        grid-template-columns: 1fr !important;
    }
}


/* v54 final public layout fixes */

/* Page-aware skeleton loader should use the real site width and not look zoomed inside. */
.kisure-skeleton-shell {
    width: min(1540px, calc(100% - 1.5rem)) !important;
    max-width: 1540px !important;
}
.site-skeleton-loader--article .kisure-skeleton-shell {
    width: min(1180px, calc(100% - 1.5rem)) !important;
}
.kisure-skeleton-card-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
.kisure-skeleton-layout--with-sidebar {
    grid-template-columns: minmax(0, 1fr) 320px !important;
}
@media (max-width: 1180px) {
    .kisure-skeleton-layout--with-sidebar {
        grid-template-columns: 1fr !important;
    }
    .kisure-skeleton-sidebar {
        display: none !important;
    }
}
@media (max-width: 767.98px) {
    .kisure-skeleton-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}
@media (max-width: 520px) {
    .kisure-skeleton-card-grid {
        grid-template-columns: 1fr !important;
    }
}

/* Do not compress news cards. Add more stories in PHP and keep balanced row sizes. */
.news-grid,
.news-grid--cards,
.stack-grid .news-grid,
.stack-grid .news-grid--cards {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    align-items: stretch !important;
}
.content-grid .news-grid,
.content-grid .news-grid--cards {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
.archive-inline-ad {
    grid-column: 1 / -1 !important;
}
.news-card {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    min-height: 100% !important;
}
.news-card__body {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
}
.news-card__excerpt {
    flex: 1 1 auto !important;
}
.news-card__footer {
    margin-top: auto !important;
}
@media (max-width: 1180px) {
    .content-grid .news-grid,
    .content-grid .news-grid--cards {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}
@media (max-width: 767.98px) {
    .news-grid,
    .news-grid--cards,
    .stack-grid .news-grid,
    .stack-grid .news-grid--cards,
    .content-grid .news-grid,
    .content-grid .news-grid--cards {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}
@media (max-width: 520px) {
    .news-grid,
    .news-grid--cards,
    .stack-grid .news-grid,
    .stack-grid .news-grid--cards,
    .content-grid .news-grid,
    .content-grid .news-grid--cards {
        grid-template-columns: 1fr !important;
    }
}

/* Ended live articles should not look like currently live red alerts. */
.media-type-chip--ended,
.story-badge--ended,
.live-story-pill.is-ended {
    background: rgba(15, 23, 42, .08) !important;
    color: #475569 !important;
}
.media-type-chip--ended i,
.story-badge--ended i,
.live-story-pill.is-ended i {
    animation: none !important;
    color: #64748b !important;
}
html[data-theme="dark"] .media-type-chip--ended,
html[data-theme="dark"] .story-badge--ended,
html[data-theme="dark"] .live-story-pill.is-ended {
    background: rgba(148, 163, 184, .16) !important;
    color: #d7e3f4 !important;
}

/* Keep video/gallery indication only on media image, not as a second Watch/Photos badge after category. */
.story-badge-row .story-badge--media {
    display: none !important;
}

/* Homepage video section: better background, balanced image shapes, no prolonged thumbnails. */
.video-showcase {
    background:
        radial-gradient(circle at 12% 12%, rgba(14, 125, 121, .14), transparent 28%),
        radial-gradient(circle at 88% 0%, rgba(249, 115, 22, .10), transparent 24%),
        linear-gradient(135deg, rgba(255,255,255,.92), rgba(239,246,255,.76)) !important;
    border: 1px solid rgba(14, 125, 121, .12) !important;
    border-radius: 28px !important;
    padding: clamp(1rem, 2vw, 1.35rem) !important;
    overflow: hidden;
}
html[data-theme="dark"] .video-showcase {
    background:
        radial-gradient(circle at 12% 12%, rgba(45, 212, 191, .14), transparent 28%),
        radial-gradient(circle at 88% 0%, rgba(251, 146, 60, .10), transparent 24%),
        linear-gradient(135deg, rgba(15, 23, 42, .92), rgba(8, 16, 31, .82)) !important;
}
.video-showcase__grid {
    align-items: stretch !important;
    grid-template-columns: minmax(0, 1.32fr) minmax(320px, .82fr) !important;
    gap: 1rem !important;
}
.video-feature {
    background: var(--surface) !important;
    border: 1px solid var(--border) !important;
    border-radius: 24px !important;
    box-shadow: 0 18px 45px rgba(15, 23, 42, .08) !important;
}
.video-feature__media {
    aspect-ratio: 16 / 9 !important;
    max-height: 430px !important;
}
.video-feature__media img,
.video-rail__media img {
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    width: 100% !important;
}
.video-rail {
    display: grid !important;
    gap: .9rem !important;
    grid-template-rows: repeat(3, minmax(0, 1fr)) !important;
}
.video-rail__item {
    background: var(--surface) !important;
    border: 1px solid var(--border) !important;
    border-radius: 24px !important;
    box-shadow: 0 14px 34px rgba(15, 23, 42, .06) !important;
    display: grid !important;
    grid-template-columns: minmax(128px, 40%) minmax(0, 1fr) !important;
    gap: 1rem !important;
    min-height: 142px !important;
    padding: .85rem !important;
}
.video-rail__media {
    aspect-ratio: 16 / 10 !important;
    height: 100% !important;
    min-height: 112px !important;
}
.video-rail__item strong {
    font-size: clamp(1rem, 1.15vw, 1.2rem) !important;
    line-height: 1.25 !important;
}
@media (max-width: 991.98px) {
    .video-showcase__grid {
        grid-template-columns: 1fr !important;
    }
    .video-rail {
        grid-template-rows: none !important;
    }
    .video-rail__item {
        min-height: 124px !important;
    }
}
@media (max-width: 575.98px) {
    .video-rail__item {
        grid-template-columns: 122px minmax(0, 1fr) !important;
    }
    .video-rail__media {
        min-height: 92px !important;
    }
}


/* v55: loader must never create its own scroll page */
.site-skeleton-loader,
.site-skeleton-loader--home,
.site-skeleton-loader--category,
.site-skeleton-loader--tag,
.site-skeleton-loader--author,
.site-skeleton-loader--search,
.site-skeleton-loader--archive,
.site-skeleton-loader--article {
    height: 100dvh !important;
    max-height: 100dvh !important;
    min-height: 100dvh !important;
    overflow: hidden !important;
}
.site-skeleton-loader .kisure-skeleton-shell {
    height: 100% !important;
    overflow: hidden !important;
    padding-bottom: 1rem !important;
}
.site-skeleton-loader--article .kisure-skeleton-shell {
    width: min(1180px, calc(100% - 1.5rem)) !important;
}
.kisure-skeleton-layout--with-sidebar {
    max-height: calc(100dvh - 15rem) !important;
    overflow: hidden !important;
}

/* v55: video rail cards after the main hero are visual cards only */
.video-rail__item {
    display: block !important;
    min-height: 0 !important;
    padding: .55rem !important;
}
.video-rail__item > div:not(.video-rail__media) {
    display: none !important;
}
.video-rail__media {
    aspect-ratio: 16 / 10 !important;
    border-radius: 20px !important;
    min-height: 0 !important;
    width: 100% !important;
}
.video-rail__media img {
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    width: 100% !important;
}
.video-rail {
    align-content: stretch !important;
    grid-template-rows: repeat(3, minmax(0, 1fr)) !important;
}

/* v55: ended live status should stay on the image chip, not after category */
.story-badge-row .story-badge--ended {
    display: none !important;
}
.media-type-chip--ended {
    background: rgba(15, 23, 42, .70) !important;
    color: #fff !important;
}
.media-type-chip--ended i {
    color: #cbd5e1 !important;
}

/* Article auto-load */
.article-autoload-trigger {
    display: flex;
    justify-content: center;
    margin: 1.2rem 0 .2rem;
    min-height: 2.5rem;
}
.article-autoload-pill {
    align-items: center;
    background: rgba(14, 125, 121, .10);
    border: 1px solid rgba(14, 125, 121, .18);
    border-radius: 999px;
    color: var(--primary-strong);
    display: inline-flex;
    font-size: .86rem;
    font-weight: 800;
    gap: .5rem;
    padding: .58rem 1rem;
}
html[data-theme="dark"] .article-autoload-pill {
    background: rgba(45, 212, 191, .12);
    border-color: rgba(45, 212, 191, .22);
    color: #99f6e4;
}


/* v56 video feature excerpt */
.video-feature__excerpt {
    color: var(--text-soft);
    font-size: .98rem;
    line-height: 1.6;
    margin: .35rem 0 .8rem;
}

/* v56 full article auto-load */
.full-article-autoload-section {
    margin-top: 1.25rem;
}
.full-article-autoload-feed {
    display: grid;
    gap: 1.35rem;
}
.full-article-card {
    padding: clamp(1rem, 2vw, 1.45rem);
}
.full-article-card__header h2 {
    color: var(--text-strong);
    font-size: clamp(1.45rem, 2.4vw, 2.35rem);
    line-height: 1.08;
    margin: .45rem 0 .55rem;
}
.full-article-card__media {
    border-radius: 24px;
    display: block;
    margin: 1rem 0;
    overflow: hidden;
    position: relative;
}
.full-article-card__media img {
    aspect-ratio: 16 / 9;
    object-fit: cover;
    width: 100%;
}
.full-article-card__content {
    color: var(--text-soft);
    font-size: 1.02rem;
    line-height: 1.8;
    white-space: pre-line;
}
.full-article-card__footer {
    display: flex;
    justify-content: flex-end;
    margin-top: 1rem;
}

/* v56 push subscriber admin cards */
.admin-stat-card {
    background: var(--admin-surface, rgba(255,255,255,.08));
    border: 1px solid rgba(148, 163, 184, .18);
    border-radius: 22px;
    padding: 1.1rem;
}
.admin-stat-card span {
    color: var(--text-soft, #64748b);
    display: block;
    font-weight: 800;
    margin-bottom: .35rem;
}
.admin-stat-card strong {
    font-size: 2rem;
}
.notification-subscribe-modal__header p {
    color: var(--text-soft);
    margin: .35rem 0 0;
}


/* v57 redesigned web push popup */
.notification-subscribe-modal {
    align-items: center !important;
    background: rgba(15, 23, 42, .46) !important;
    display: flex !important;
    inset: 0 !important;
    justify-content: center !important;
    padding: 1rem !important;
    position: fixed !important;
    z-index: 99998 !important;
}
.notification-subscribe-modal[hidden] {
    display: none !important;
}
.notification-subscribe-modal__card {
    background: #fff !important;
    border: 1px solid rgba(15, 23, 42, .08) !important;
    border-radius: 30px !important;
    box-shadow: 0 30px 80px rgba(15, 23, 42, .24) !important;
    display: grid !important;
    gap: 1.2rem !important;
    grid-template-columns: minmax(260px, .78fr) minmax(320px, 1fr) !important;
    max-height: min(86vh, 760px) !important;
    max-width: 940px !important;
    overflow: auto !important;
    padding: clamp(1.1rem, 2.4vw, 1.8rem) !important;
    position: relative !important;
    width: min(940px, calc(100vw - 2rem)) !important;
}
.notification-subscribe-modal__close {
    align-items: center;
    background: rgba(15, 23, 42, .06);
    border: 0;
    border-radius: 999px;
    color: #334155;
    display: inline-flex;
    height: 2.2rem;
    justify-content: center;
    position: absolute;
    right: 1rem;
    top: 1rem;
    width: 2.2rem;
}
.notification-subscribe-modal__hero {
    background:
        radial-gradient(circle at 20% 8%, rgba(14, 125, 121, .18), transparent 38%),
        linear-gradient(135deg, #f0fdfa, #eef6ff);
    border-radius: 24px;
    padding: 1.35rem;
}
.notification-subscribe-modal__brand {
    align-items: center;
    display: flex;
    gap: .75rem;
    margin-bottom: 1.2rem;
}
.notification-subscribe-modal__logo {
    height: 42px !important;
    max-width: 150px !important;
    object-fit: contain !important;
}
.notification-subscribe-modal__brand span {
    background: rgba(14, 125, 121, .12);
    border-radius: 999px;
    color: #0e7d79;
    font-size: .76rem;
    font-weight: 900;
    padding: .35rem .65rem;
    text-transform: uppercase;
}
.notification-subscribe-modal__hero h2 {
    color: #0f172a !important;
    font-size: clamp(1.65rem, 3vw, 2.55rem) !important;
    line-height: 1.04 !important;
    margin: 0 0 .8rem !important;
}
.notification-subscribe-modal__hero p {
    color: #64748b !important;
    font-size: 1rem !important;
    line-height: 1.65 !important;
    margin: 0 !important;
}
.notification-subscribe-modal__content {
    display: flex;
    flex-direction: column;
    gap: 1.1rem;
    min-width: 0;
    padding: 1.2rem .6rem .4rem;
}
.notification-subscribe-modal__grid {
    display: grid !important;
    gap: .7rem !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    max-height: 360px !important;
    overflow: auto !important;
    padding-right: .3rem !important;
}
.notification-topic {
    align-items: center !important;
    background: #f8fafc !important;
    border: 1px solid rgba(15, 23, 42, .08) !important;
    border-radius: 16px !important;
    display: flex !important;
    gap: .7rem !important;
    padding: .7rem !important;
}
.notification-topic span {
    align-items: center !important;
    background: #0e7d79 !important;
    border-radius: 12px !important;
    color: #fff !important;
    display: inline-flex !important;
    flex: 0 0 auto !important;
    height: 2.1rem !important;
    justify-content: center !important;
    width: 2.1rem !important;
}
.notification-topic strong {
    color: #0f172a !important;
    font-size: .98rem !important;
    line-height: 1.2 !important;
}
.notification-subscribe-modal__actions {
    align-items: center !important;
    display: flex !important;
    gap: 1rem !important;
    justify-content: flex-end !important;
}
@media (max-width: 760px) {
    .notification-subscribe-modal__card {
        grid-template-columns: 1fr !important;
        max-height: 92vh !important;
    }
    .notification-subscribe-modal__grid {
        grid-template-columns: 1fr !important;
    }
}

/* v57 full article autoload: use article-like design and stop at two */
.full-article-autoload-section {
    margin-top: 2rem !important;
}
.full-article-autoload-section .section-heading {
    display: none !important;
}
.full-article-card {
    margin: 0 auto 1.5rem !important;
    max-width: 980px !important;
}
.full-article-card.article-shell {
    padding: clamp(1rem, 2vw, 1.55rem) !important;
}
.full-article-card__header h1 {
    color: var(--text-strong) !important;
    font-size: clamp(1.85rem, 3vw, 3.35rem) !important;
    letter-spacing: -.04em !important;
    line-height: 1.02 !important;
}
.full-article-card__media img {
    aspect-ratio: 16 / 9 !important;
    height: auto !important;
    object-fit: cover !important;
    width: 100% !important;
}
.full-article-inline-ad {
    margin: 1.4rem auto !important;
    max-width: 980px !important;
}

/* v57 live-ended should match homepage: image chip only, no body badge */
.story-badge--ended {
    display: none !important;
}
.media-type-chip--ended {
    background: #dc3545 !important;
    color: #fff !important;
}
.media-type-chip--ended i {
    color: rgba(255,255,255,.82) !important;
}


/* v58: web push popup no internal scrollers and buttons work cleanly */
.notification-subscribe-modal {
    overflow: hidden !important;
}
.notification-subscribe-modal__card {
    max-height: none !important;
    overflow: visible !important;
}
.notification-subscribe-modal__grid {
    max-height: none !important;
    overflow: visible !important;
}
@media (max-height: 720px), (max-width: 760px) {
    .notification-subscribe-modal {
        align-items: flex-start !important;
        overflow: auto !important;
        padding: .75rem !important;
    }
    .notification-subscribe-modal__card {
        max-height: none !important;
    }
}

/* v58: live ended must look like media badge only */
.story-badge--ended {
    display: none !important;
}
.media-type-chip--ended {
    background: #dc3545 !important;
    color: #fff !important;
}
.media-type-chip--ended i {
    color: rgba(255,255,255,.82) !important;
}

/* v58: full article auto-load should be invisible until real articles arrive */
.full-article-autoload-section {
    margin-top: 1.5rem !important;
}
.full-article-autoload-section .section-heading {
    display: none !important;
}
.article-autoload-trigger {
    min-height: 0 !important;
}
.article-autoload-trigger .article-autoload-pill {
    opacity: .92;
}
.full-article-autoload-feed:empty + .article-autoload-trigger {
    margin-top: .8rem !important;
}
.full-article-card.article-shell {
    margin: 0 auto 1.5rem !important;
    max-width: 980px !important;
    padding: clamp(1rem, 2vw, 1.55rem) !important;
}
.full-article-card__header h1 {
    color: var(--text-strong) !important;
    font-size: clamp(1.85rem, 3vw, 3.35rem) !important;
    letter-spacing: -.04em !important;
    line-height: 1.02 !important;
}
.full-article-card__media img {
    aspect-ratio: 16 / 9 !important;
    height: auto !important;
    object-fit: cover !important;
    width: 100% !important;
}
.full-article-inline-ad {
    margin: 1.4rem auto !important;
    max-width: 980px !important;
}


/* v59: readable live badges in dark mode and one wording everywhere */
html[data-theme="dark"] .media-type-chip--live,
html[data-theme="dark"] .story-badge--live {
    background: #ef4444 !important;
    color: #ffffff !important;
    box-shadow: 0 14px 30px rgba(239, 68, 68, .22) !important;
}
html[data-theme="dark"] .media-type-chip--live i,
html[data-theme="dark"] .story-badge--live i {
    color: #ffffff !important;
}
.media-type-chip--ended {
    background: #ef4444 !important;
    color: #ffffff !important;
    box-shadow: 0 14px 30px rgba(239, 68, 68, .18) !important;
}
.media-type-chip--ended i {
    color: #ffffff !important;
}
html[data-theme="dark"] .media-type-chip--ended {
    background: #ef4444 !important;
    color: #ffffff !important;
}

/* Hide ended body badge only; active live in body can still show where intended */
.story-badge--ended {
    display: none !important;
}

/* v59: push popup topic selection works visually */
.notification-subscribe-modal__toolbar {
    display: flex;
    justify-content: flex-end;
    margin-bottom: .65rem;
}
.notification-select-all-button {
    align-items: center;
    background: rgba(14, 125, 121, .10);
    border: 1px solid rgba(14, 125, 121, .18);
    border-radius: 999px;
    color: #0e7d79;
    display: inline-flex;
    font-weight: 900;
    gap: .45rem;
    padding: .55rem .85rem;
}
.notification-topic {
    user-select: none;
}
.notification-topic input:not(:checked) + span,
.notification-topic:not(.is-checked) span {
    background: #e2e8f0 !important;
    color: transparent !important;
}
.notification-topic input:checked + span,
.notification-topic.is-checked span {
    background: #0e7d79 !important;
    color: #fff !important;
}
.notification-topic.is-checked {
    border-color: rgba(14, 125, 121, .30) !important;
    background: rgba(14, 125, 121, .06) !important;
}

/* v59: browser support message styling remains graceful even where Web Push APIs differ */
.notification-subscribe-modal__hero p {
    max-width: 34rem;
}

/* v59: article auto-load failure should not stay stuck */
.article-autoload-trigger.is-loading .article-autoload-pill {
    opacity: 1;
}


/* v60: restore section headings; only news/article category chips get the improved category color */
.news-card__body > .story-badge,
.hero-story__content > .story-badge,
.article-header .article-kicker,
.full-article-card__header .article-kicker {
    background: linear-gradient(135deg, rgba(255, 237, 213, .98), rgba(254, 215, 170, .72)) !important;
    border: 1px solid rgba(249, 115, 22, .14) !important;
    color: #ea580c !important;
}

html[data-theme="dark"] .news-card__body > .story-badge,
html[data-theme="dark"] .hero-story__content > .story-badge,
html[data-theme="dark"] .article-header .article-kicker,
html[data-theme="dark"] .full-article-card__header .article-kicker {
    background: linear-gradient(135deg, rgba(249, 115, 22, .18), rgba(14, 125, 121, .10)) !important;
    border-color: rgba(251, 146, 60, .18) !important;
    color: #fb923c !important;
}

/* v60: keep Live ended ONLY on image/media badges, never after category/body */
.news-card__body .story-badge--live,
.news-card__body .story-badge--ended,
.hero-story__content .story-badge--live,
.hero-story__content .story-badge--ended,
.story-badge-row .story-badge--live,
.story-badge-row .story-badge--ended {
    display: none !important;
}

.media-type-chip--ended,
html[data-theme="dark"] .media-type-chip--ended {
    background: #ef4444 !important;
    color: #ffffff !important;
    box-shadow: 0 14px 30px rgba(239, 68, 68, .24) !important;
}

.media-type-chip--ended i,
html[data-theme="dark"] .media-type-chip--ended i {
    color: #ffffff !important;
}

/* v60: make live badge readable in dark mode */
html[data-theme="dark"] .media-type-chip--live,
html[data-theme="dark"] .story-badge--live {
    background: #ef4444 !important;
    color: #fff !important;
    box-shadow: 0 14px 30px rgba(239, 68, 68, .24) !important;
}

/* v60: push popup topic and Allow All placement */
.notification-subscribe-modal__toolbar {
    display: none !important;
}

.notification-subscribe-modal__actions {
    align-items: center !important;
    display: grid !important;
    gap: .75rem !important;
    grid-template-columns: 1fr auto auto !important;
}

.notification-select-all-button {
    align-items: center;
    background: rgba(14, 125, 121, .10);
    border: 1px solid rgba(14, 125, 121, .18);
    border-radius: 999px;
    color: #0e7d79;
    display: inline-flex;
    font-weight: 900;
    gap: .45rem;
    justify-content: center;
    padding: .74rem 1rem;
}

.notification-topic {
    cursor: pointer !important;
    user-select: none !important;
}

.notification-topic input:not(:checked) + span,
.notification-topic:not(.is-checked) span {
    background: #e2e8f0 !important;
    color: transparent !important;
}

.notification-topic input:checked + span,
.notification-topic.is-checked span {
    background: #0e7d79 !important;
    color: #fff !important;
}

.notification-topic.is-checked {
    background: rgba(14, 125, 121, .06) !important;
    border-color: rgba(14, 125, 121, .30) !important;
}

/* v60: full articles loaded below article; no endless spinner */
.full-article-autoload-section {
    margin-top: 1.25rem !important;
}

.full-article-autoload-feed:empty + .article-autoload-trigger {
    display: none !important;
}

.full-article-card.article-shell {
    margin: 0 auto 1.5rem !important;
    max-width: 980px !important;
    padding: clamp(1rem, 2vw, 1.55rem) !important;
}

.full-article-card__header h1 {
    color: var(--text-strong) !important;
    font-size: clamp(1.85rem, 3vw, 3.35rem) !important;
    letter-spacing: -.04em !important;
    line-height: 1.02 !important;
}

.full-article-card__media img {
    aspect-ratio: 16 / 9 !important;
    height: auto !important;
    object-fit: cover !important;
    width: 100% !important;
}

.full-article-inline-ad {
    margin: 1.4rem auto !important;
    max-width: 980px !important;
}

@media (max-width: 760px) {
    .notification-subscribe-modal__actions {
        grid-template-columns: 1fr !important;
    }
}

/* v61: web push popup category expansion and no-wrap buttons */
.notification-subscribe-modal__content {
    min-width: 0 !important;
}
.notification-subscribe-modal__grid {
    max-height: min(58vh, 520px) !important;
    overflow-y: auto !important;
    padding-right: 6px !important;
    scrollbar-width: thin;
}
.notification-topic,
.notification-select-all-button,
.notification-link-button,
.notification-subscribe-modal .site-button {
    white-space: nowrap !important;
}
.notification-topic strong,
.notification-select-all-button span,
.notification-link-button,
.notification-subscribe-modal .site-button span {
    white-space: nowrap !important;
}
.notification-subscribe-modal__actions {
    align-items: center !important;
    gap: 18px !important;
}
.notification-select-all-button,
.notification-subscribe-modal .site-button {
    min-width: max-content !important;
}
.full-article-autoload-section {
    margin-top: 2rem !important;
}
.full-article-autoload-feed {
    display: grid !important;
    gap: 1.25rem !important;
}
.full-article-autoload-feed:empty + .article-autoload-trigger {
    display: flex !important;
}
.article-autoload-trigger {
    min-height: 64px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}
.article-autoload-trigger .article-autoload-pill {
    display: inline-flex !important;
    align-items: center !important;
    gap: .6rem !important;
    border-radius: 999px !important;
    padding: .8rem 1.1rem !important;
    background: rgba(14, 125, 121, .10) !important;
    border: 1px solid rgba(14, 125, 121, .22) !important;
    color: #0e7d79 !important;
    font-weight: 900 !important;
}
@media (max-width: 760px) {
    .notification-subscribe-modal__grid {
        max-height: 48vh !important;
    }
    .notification-subscribe-modal__actions {
        grid-template-columns: 1fr !important;
    }
    .notification-select-all-button,
    .notification-link-button,
    .notification-subscribe-modal .site-button {
        width: 100% !important;
        justify-content: center !important;
    }
}

/* v62: auto-load full articles must render like real article pages, not broken summary cards */
.full-article-autoload-section {
    margin-top: clamp(2rem, 5vw, 4rem) !important;
}

.full-article-autoload-feed {
    display: block !important;
}

.auto-loaded-full-article {
    max-width: 1180px !important;
    margin: 0 auto !important;
}

.auto-loaded-full-article + .auto-loaded-full-article,
.auto-loaded-full-article__separator-ad + .auto-loaded-full-article {
    margin-top: clamp(2rem, 5vw, 4rem) !important;
}

.auto-loaded-full-article__permalink {
    display: inline-flex !important;
    align-items: center !important;
    gap: .55rem !important;
    margin: 0 0 1rem !important;
    width: auto !important;
    min-height: 0 !important;
    border-radius: 999px !important;
    padding: .72rem 1rem !important;
    background: rgba(14, 125, 121, .10) !important;
    border: 1px solid rgba(14, 125, 121, .18) !important;
    color: #0e7d79 !important;
    font-size: .86rem !important;
    font-weight: 900 !important;
    line-height: 1.15 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

.auto-loaded-full-article__permalink:hover {
    background: rgba(14, 125, 121, .16) !important;
    color: #075f5b !important;
}

.auto-loaded-full-article__title-link {
    color: inherit !important;
    text-decoration: none !important;
}

.auto-loaded-full-article__hero,
.auto-loaded-full-article__content-card,
.auto-loaded-full-article__author,
.auto-loaded-full-article__tags {
    width: 100% !important;
    max-width: 100% !important;
}

.auto-loaded-full-article .article-hero__media img,
.auto-loaded-full-article .article-hero__media picture,
.auto-loaded-full-article .article-hero__media video,
.auto-loaded-full-article .video-embed-wrap,
.auto-loaded-full-article .social-embed-wrap {
    max-width: 100% !important;
}

.auto-loaded-full-article .article-prose {
    max-width: none !important;
}

.auto-loaded-full-article__separator-ad {
    max-width: 1180px !important;
    margin: clamp(1.6rem, 4vw, 3rem) auto !important;
}

.auto-loaded-full-article__separator-ad .ad-slot-content {
    min-height: 90px !important;
}

.full-article-autoload-feed .site-button {
    width: auto !important;
    min-height: 0 !important;
    padding: .85rem 1rem !important;
    border-radius: 999px !important;
    writing-mode: horizontal-tb !important;
}

@media (max-width: 760px) {
    .auto-loaded-full-article__permalink {
        display: flex !important;
        justify-content: center !important;
        white-space: normal !important;
        text-align: center !important;
    }
}

/* v72: readable live article cards in the actual html[data-theme] dark mode */
html[data-theme="dark"] .live-blog-shell {
    background: rgba(8, 16, 31, .92) !important;
    border-color: rgba(148, 163, 184, .18) !important;
}

html[data-theme="dark"] .live-update__card {
    background: #111c2d !important;
    border-color: rgba(148, 163, 184, .2) !important;
    color: #eaf2f8 !important;
    box-shadow: 0 18px 44px rgba(0, 0, 0, .22);
}

html[data-theme="dark"] .live-update__card h3,
html[data-theme="dark"] .live-update__content,
html[data-theme="dark"] .live-update__content p,
html[data-theme="dark"] .live-update__content li,
html[data-theme="dark"] .article-content.live-update__content {
    color: #f8fbff !important;
}

html[data-theme="dark"] .live-update__meta,
html[data-theme="dark"] .live-update__meta span {
    color: #b9c7d8 !important;
}

html[data-theme="dark"] .live-update__meta time {
    color: #f87171 !important;
}

html[data-theme="dark"] .live-update__rail::before {
    background: rgba(248, 113, 113, .28) !important;
}

html[data-theme="dark"] .live-update__rail span {
    border-color: #07111f !important;
    box-shadow: 0 0 0 1px rgba(248, 113, 113, .35);
}

html[data-theme="dark"] .live-update-ad.ad-slot {
    background: #091423 !important;
    border-color: rgba(148, 163, 184, .18) !important;
}


/* v75: Allow All hover help explains that every backend category is enabled */
.notification-select-all-button {
    position: relative !important;
}

.notification-select-all-button__tooltip {
    background: #0f172a;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 14px;
    bottom: calc(100% + 12px);
    box-shadow: 0 20px 45px rgba(15, 23, 42, .25);
    color: #ffffff;
    font-size: .78rem;
    font-style: normal;
    font-weight: 800;
    left: 50%;
    line-height: 1.35;
    max-width: min(300px, 82vw);
    opacity: 0;
    padding: .75rem .9rem;
    pointer-events: none;
    position: absolute;
    text-align: center;
    transform: translate(-50%, 6px);
    transition: opacity .16s ease, transform .16s ease, visibility .16s ease;
    visibility: hidden;
    white-space: normal !important;
    width: max-content;
    z-index: 20;
}

.notification-select-all-button__tooltip::after {
    border-left: 7px solid transparent;
    border-right: 7px solid transparent;
    border-top: 7px solid #0f172a;
    content: "";
    left: 50%;
    position: absolute;
    top: 100%;
    transform: translateX(-50%);
}

.notification-select-all-button:hover .notification-select-all-button__tooltip,
.notification-select-all-button:focus-visible .notification-select-all-button__tooltip {
    opacity: 1;
    transform: translate(-50%, 0);
    visibility: visible;
}

html[data-theme="dark"] .notification-select-all-button__tooltip {
    background: #020617;
    border-color: rgba(148, 163, 184, .28);
}

html[data-theme="dark"] .notification-select-all-button__tooltip::after {
    border-top-color: #020617;
}

@media (max-width: 760px) {
    .notification-select-all-button__tooltip {
        bottom: auto;
        left: 50%;
        max-width: calc(100vw - 44px);
        top: calc(100% + 12px);
        transform: translate(-50%, -6px);
        width: max-content;
    }

    .notification-select-all-button__tooltip::after {
        border-bottom: 7px solid #0f172a;
        border-top: 0;
        top: auto;
        bottom: 100%;
    }

    .notification-select-all-button:hover .notification-select-all-button__tooltip,
    .notification-select-all-button:focus-visible .notification-select-all-button__tooltip {
        transform: translate(-50%, 0);
    }

    html[data-theme="dark"] .notification-select-all-button__tooltip::after {
        border-bottom-color: #020617;
    }
}

/* May 2026: mobile quick-share bar for article pages */
@media (max-width: 767.98px) {
    .article-rail > .site-panel.site-panel--tight:first-child {
        position: fixed;
        left: 0.75rem;
        right: 0.75rem;
        bottom: 0.75rem;
        z-index: 1090;
        padding: 0.62rem 0.7rem;
        border-radius: 999px;
        box-shadow: 0 18px 55px rgba(2, 12, 25, 0.26);
        backdrop-filter: blur(16px);
    }

    .article-rail > .site-panel.site-panel--tight:first-child .section-heading {
        display: none;
    }

    .article-rail > .site-panel.site-panel--tight:first-child .share-stack {
        align-items: center;
        flex-wrap: nowrap;
        gap: 0.38rem;
        justify-content: space-between;
        overflow-x: auto;
        scrollbar-width: none;
    }

    .article-rail > .site-panel.site-panel--tight:first-child .share-stack::-webkit-scrollbar {
        display: none;
    }

    .article-rail > .site-panel.site-panel--tight:first-child .share-chip {
        flex: 0 0 2.4rem;
        height: 2.4rem;
        min-height: 2.4rem;
        width: 2.4rem;
    }

    body:has(.article-rail > .site-panel.site-panel--tight:first-child) {
        padding-bottom: 4.6rem;
    }
}

/* v98: homepage hero/video showcase layout repair after excerpt removal */
.site-panel--hero.hero-grid {
    align-items: stretch !important;
    display: grid !important;
    gap: clamp(.9rem, 1.6vw, 1.25rem) !important;
    grid-template-columns: minmax(0, 1.55fr) minmax(300px, .85fr) !important;
    overflow: hidden !important;
}
.hero-story--feature {
    background: var(--surface) !important;
    border: 1px solid var(--border) !important;
    border-radius: 30px !important;
    box-shadow: 0 18px 50px rgba(15, 23, 42, .08) !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
    overflow: hidden !important;
}
.hero-story--feature .hero-story__media {
    aspect-ratio: 16 / 8.35 !important;
    border-radius: 30px 30px 0 0 !important;
    min-height: 0 !important;
    width: 100% !important;
}
.hero-story--feature .hero-story__content {
    background: var(--surface) !important;
    border-radius: 0 !important;
    padding: clamp(1rem, 2vw, 1.45rem) !important;
}
.hero-story--feature .story-title {
    font-size: clamp(1.85rem, 3.05vw, 3rem) !important;
    line-height: 1.08 !important;
    max-width: 100% !important;
}
.story-tiles {
    align-content: stretch !important;
    display: grid !important;
    gap: clamp(.75rem, 1.2vw, 1rem) !important;
    grid-auto-rows: minmax(0, 1fr) !important;
}
.story-tile {
    align-items: stretch !important;
    background: var(--surface) !important;
    border: 1px solid var(--border) !important;
    border-radius: 24px !important;
    display: grid !important;
    gap: .85rem !important;
    grid-template-columns: minmax(8.5rem, 42%) minmax(0, 1fr) !important;
    min-height: 0 !important;
    overflow: hidden !important;
    padding: .85rem !important;
}
.story-tile__media {
    aspect-ratio: auto !important;
    border-radius: 18px !important;
    height: 100% !important;
    min-height: 118px !important;
    overflow: hidden !important;
    width: 100% !important;
}
.story-tile__media img,
.story-tile__media picture {
    display: block !important;
    height: 100% !important;
    object-fit: cover !important;
    width: 100% !important;
}
.story-tile__content {
    align-content: center !important;
    display: grid !important;
    min-width: 0 !important;
}
.story-title--sm {
    -webkit-line-clamp: 4 !important;
    color: var(--text-strong) !important;
    font-size: clamp(.98rem, 1.05vw, 1.15rem) !important;
    line-height: 1.22 !important;
    overflow-wrap: anywhere !important;
}

.video-showcase {
    overflow: hidden !important;
}
.video-showcase__grid {
    align-items: stretch !important;
    display: grid !important;
    gap: clamp(.9rem, 1.5vw, 1.15rem) !important;
    grid-template-columns: minmax(0, 1.52fr) minmax(300px, .88fr) !important;
}
.video-feature {
    border-radius: 28px !important;
    display: grid !important;
    grid-template-rows: auto 1fr !important;
    overflow: hidden !important;
}
.video-feature__media {
    aspect-ratio: 16 / 8.5 !important;
    border-radius: 28px 28px 0 0 !important;
    max-height: none !important;
}
.video-feature__body {
    padding: clamp(1rem, 1.8vw, 1.35rem) !important;
}
.video-feature__body h3 {
    font-size: clamp(1.5rem, 2.4vw, 2.45rem) !important;
    line-height: 1.1 !important;
    margin: .65rem 0 .45rem !important;
}
.video-rail {
    align-content: stretch !important;
    display: grid !important;
    gap: clamp(.75rem, 1.1vw, 1rem) !important;
    grid-template-rows: repeat(3, minmax(0, 1fr)) !important;
}
.video-rail__item {
    align-items: stretch !important;
    background: var(--surface) !important;
    border: 1px solid var(--border) !important;
    border-radius: 24px !important;
    display: block !important;
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
    padding: .65rem !important;
}
.video-rail__media {
    aspect-ratio: auto !important;
    border-radius: 20px !important;
    height: 100% !important;
    min-height: 132px !important;
    overflow: hidden !important;
    width: 100% !important;
}
.video-rail__media picture,
.video-rail__media img {
    display: block !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    width: 100% !important;
}
.video-rail__media span {
    bottom: .65rem !important;
    left: .65rem !important;
}
@media (max-width: 1199.98px) {
    .site-panel--hero.hero-grid,
    .video-showcase__grid {
        grid-template-columns: 1fr !important;
    }
    .story-tiles {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
    .story-tile {
        grid-template-columns: 1fr !important;
    }
    .story-tile__media {
        aspect-ratio: 16 / 10 !important;
        height: auto !important;
        min-height: 0 !important;
    }
    .video-rail {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        grid-template-rows: none !important;
    }
    .video-rail__media {
        aspect-ratio: 16 / 10 !important;
        height: auto !important;
        min-height: 0 !important;
    }
}
@media (max-width: 767.98px) {
    .site-panel--hero.hero-grid,
    .video-showcase {
        border-radius: 22px !important;
    }
    .hero-story--feature .hero-story__media,
    .video-feature__media {
        aspect-ratio: 16 / 10 !important;
    }
    .hero-story--feature .story-title,
    .video-feature__body h3 {
        font-size: clamp(1.55rem, 7vw, 2.2rem) !important;
    }
    .story-tiles,
    .video-rail {
        display: flex !important;
        gap: .75rem !important;
        overflow-x: auto !important;
        padding-bottom: .25rem !important;
        scroll-snap-type: x mandatory !important;
    }
    .story-tile,
    .video-rail__item {
        flex: 0 0 min(78vw, 320px) !important;
        scroll-snap-align: start !important;
    }
}

/* v99: restore compact rectangular homepage hero cards and rebalance video showcase */
.site-panel--hero.hero-grid {
    align-items: stretch !important;
    grid-template-columns: minmax(0, 1.45fr) minmax(320px, .95fr) !important;
}
.story-tiles {
    align-content: stretch !important;
    grid-auto-rows: minmax(9.5rem, 1fr) !important;
}
.story-tile {
    align-items: center !important;
    border-radius: 24px !important;
    grid-template-columns: minmax(9.5rem, 38%) minmax(0, 1fr) !important;
    min-height: 9.5rem !important;
    padding: clamp(.75rem, 1vw, .95rem) !important;
}
.story-tile__media {
    aspect-ratio: 16 / 10 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: 12rem !important;
}
.story-tile__content {
    align-content: center !important;
    min-height: 100% !important;
    padding: .15rem .25rem !important;
}
.story-title--sm {
    -webkit-line-clamp: 3 !important;
    display: -webkit-box !important;
    font-size: clamp(1.05rem, 1.35vw, 1.35rem) !important;
    line-height: 1.18 !important;
}
.video-showcase__grid {
    grid-template-columns: minmax(0, 1.32fr) minmax(280px, .78fr) !important;
}
.video-feature {
    grid-template-rows: auto auto !important;
    min-height: 0 !important;
}
.video-feature__media {
    aspect-ratio: 16 / 8.8 !important;
}
.video-feature__body {
    padding: clamp(.95rem, 1.6vw, 1.25rem) !important;
}
.video-feature__body h3 {
    font-size: clamp(1.35rem, 2vw, 2.05rem) !important;
    line-height: 1.12 !important;
}
.video-feature__excerpt {
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    margin: .25rem 0 .55rem !important;
    max-width: 92% !important;
}
.video-rail {
    grid-template-rows: repeat(3, minmax(7rem, 1fr)) !important;
}
.video-rail__item {
    min-height: 7rem !important;
    padding: .55rem !important;
}
.video-rail__media {
    aspect-ratio: 16 / 8.5 !important;
    height: auto !important;
    min-height: 0 !important;
}
@media (max-width: 1199.98px) {
    .story-tiles {
        grid-auto-rows: auto !important;
    }
    .story-tile {
        grid-template-columns: minmax(8.5rem, 38%) minmax(0, 1fr) !important;
        min-height: 8.75rem !important;
    }
    .story-tile__media {
        aspect-ratio: 16 / 10 !important;
    }
    .video-showcase__grid {
        grid-template-columns: 1fr !important;
    }
}
@media (max-width: 767.98px) {
    .story-tiles {
        display: grid !important;
        gap: .85rem !important;
        overflow: visible !important;
        padding-bottom: 0 !important;
        scroll-snap-type: none !important;
    }
    .story-tile {
        display: grid !important;
        flex: initial !important;
        grid-template-columns: minmax(7.75rem, 42%) minmax(0, 1fr) !important;
        min-height: 8rem !important;
        scroll-snap-align: none !important;
    }
    .story-tile__media {
        aspect-ratio: 16 / 10 !important;
    }
    .story-title--sm {
        font-size: clamp(1rem, 4.4vw, 1.24rem) !important;
        -webkit-line-clamp: 3 !important;
    }
    .video-feature__excerpt {
        max-width: 100% !important;
    }
}

/* v100: stable responsive homepage hero and cleaner mobile menu */
.site-panel--hero.hero-grid {
    align-items: stretch !important;
    display: grid !important;
    gap: clamp(1rem, 1.6vw, 1.35rem) !important;
    grid-template-columns: minmax(0, 1.58fr) minmax(360px, .9fr) !important;
    overflow: hidden !important;
}
.site-panel--hero.hero-grid .hero-story--feature {
    min-width: 0 !important;
}
.site-panel--hero.hero-grid .story-tiles {
    align-content: stretch !important;
    display: grid !important;
    gap: clamp(.85rem, 1.15vw, 1rem) !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: repeat(3, minmax(8.75rem, 1fr)) !important;
    min-width: 0 !important;
    overflow: visible !important;
}
.site-panel--hero.hero-grid .story-tile {
    align-items: center !important;
    display: grid !important;
    gap: clamp(.8rem, 1vw, 1rem) !important;
    grid-template-columns: minmax(8.6rem, 38%) minmax(0, 1fr) !important;
    min-height: 8.75rem !important;
    max-height: 12rem !important;
    padding: .8rem !important;
    width: 100% !important;
}
.site-panel--hero.hero-grid .story-tile__media {
    aspect-ratio: 16 / 10 !important;
    height: auto !important;
    max-height: 9.5rem !important;
    min-height: 0 !important;
    width: 100% !important;
}
.site-panel--hero.hero-grid .story-tile__media picture,
.site-panel--hero.hero-grid .story-tile__media img {
    display: block !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    width: 100% !important;
}
.site-panel--hero.hero-grid .story-tile__content {
    align-content: center !important;
    display: grid !important;
    min-width: 0 !important;
    padding: .1rem .15rem !important;
}
.site-panel--hero.hero-grid .story-title--sm {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 3 !important;
    font-size: clamp(1.02rem, 1.15vw, 1.26rem) !important;
    line-height: 1.18 !important;
    overflow: hidden !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
}
@media (max-width: 1199.98px) {
    .site-panel--hero.hero-grid {
        grid-template-columns: 1fr !important;
    }
    .site-panel--hero.hero-grid .story-tiles {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        grid-template-rows: none !important;
    }
    .site-panel--hero.hero-grid .story-tile {
        grid-template-columns: 1fr !important;
        max-height: none !important;
        min-height: 0 !important;
    }
    .site-panel--hero.hero-grid .story-tile__media {
        max-height: none !important;
    }
}
@media (max-width: 767.98px) {
    .site-panel--hero.hero-grid {
        gap: .85rem !important;
        padding: .85rem !important;
    }
    .site-panel--hero.hero-grid .hero-story--feature .hero-story__media {
        aspect-ratio: 16 / 10 !important;
    }
    .site-panel--hero.hero-grid .hero-story--feature .story-title {
        font-size: clamp(1.35rem, 6.2vw, 1.9rem) !important;
    }
    .site-panel--hero.hero-grid .story-tiles {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: .75rem !important;
        overflow: visible !important;
        scroll-snap-type: none !important;
    }
    .site-panel--hero.hero-grid .story-tile {
        border-radius: 20px !important;
        grid-template-columns: minmax(6.2rem, 38%) minmax(0, 1fr) !important;
        min-height: 7.35rem !important;
        padding: .6rem !important;
    }
    .site-panel--hero.hero-grid .story-tile__media {
        aspect-ratio: 4 / 3 !important;
        border-radius: 16px !important;
        max-height: 6.8rem !important;
    }
    .site-panel--hero.hero-grid .story-title--sm {
        -webkit-line-clamp: 3 !important;
        font-size: clamp(.92rem, 4.2vw, 1.16rem) !important;
        line-height: 1.16 !important;
    }
}

@media (max-width: 991.98px) {
    .site-mobile-menu {
        background: rgba(7, 17, 31, .38) !important;
        backdrop-filter: blur(18px) !important;
        display: none;
        inset: 0 !important;
        padding: 5.25rem 1rem 1rem !important;
        position: fixed !important;
        z-index: 1190 !important;
    }
    .site-mobile-menu.is-open {
        display: block !important;
    }
    .site-mobile-menu__panel {
        background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(244,250,250,.96)) !important;
        border: 1px solid rgba(14,125,121,.18) !important;
        border-radius: 28px !important;
        box-shadow: 0 24px 70px rgba(15,23,42,.24) !important;
        display: grid !important;
        gap: .55rem !important;
        margin: 0 auto !important;
        max-height: calc(100vh - 6.25rem) !important;
        max-width: 440px !important;
        overflow-y: auto !important;
        padding: .85rem !important;
    }
    html[data-theme="dark"] .site-mobile-menu__panel {
        background: linear-gradient(180deg, rgba(7,17,31,.98), rgba(9,44,54,.96)) !important;
        border-color: rgba(79,209,197,.22) !important;
    }
    .site-mobile-menu__panel .theme-switcher {
        background: rgba(14,125,121,.08) !important;
        border-radius: 20px !important;
        display: grid !important;
        gap: .45rem !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        padding: .45rem !important;
    }
    .site-mobile-menu__panel .theme-switcher__button {
        justify-content: center !important;
        min-height: 2.55rem !important;
        padding: .55rem .35rem !important;
        width: 100% !important;
    }
    .site-mobile-menu__group {
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        padding: 0 !important;
    }
    .site-mobile-menu__row {
        gap: .45rem !important;
    }
    .site-mobile-menu__link,
    .site-mobile-menu__child {
        background: rgba(255,255,255,.84) !important;
        border: 1px solid rgba(148,163,184,.18) !important;
        border-radius: 18px !important;
        color: var(--bg-contrast) !important;
        min-height: 3.1rem !important;
        padding: .82rem .95rem !important;
    }
    html[data-theme="dark"] .site-mobile-menu__link,
    html[data-theme="dark"] .site-mobile-menu__child {
        background: rgba(15,23,42,.72) !important;
        border-color: rgba(79,209,197,.15) !important;
        color: #e5f7f5 !important;
    }
    .site-mobile-menu__toggle {
        background: rgba(14,125,121,.12) !important;
        border-radius: 18px !important;
        height: 3.1rem !important;
        width: 3.1rem !important;
    }
    .site-mobile-menu__children {
        border-left: 2px solid rgba(14,125,121,.22) !important;
        margin: .45rem 0 .6rem 1rem !important;
        padding: 0 0 0 .65rem !important;
    }
    .site-mobile-menu__child {
        color: var(--text-soft) !important;
        font-size: .94rem !important;
        min-height: 2.65rem !important;
    }
    .site-mobile-menu__panel [data-mobile-close] {
        justify-content: center !important;
        margin-top: .35rem !important;
        width: 100% !important;
    }
}

/* v101: simple inline mobile menu; no dark overlay / floating cartoon popup */
@media (max-width: 991.98px) {
    .site-mobile-menu {
        background: transparent !important;
        backdrop-filter: none !important;
        display: none !important;
        grid-column: 1 / -1 !important;
        inset: auto !important;
        padding: .65rem 0 0 !important;
        position: static !important;
        width: 100% !important;
        z-index: auto !important;
    }
    .site-mobile-menu.is-open {
        display: block !important;
    }
    .site-mobile-menu__panel {
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        display: grid !important;
        gap: .55rem !important;
        margin: 0 !important;
        max-height: none !important;
        max-width: none !important;
        overflow: visible !important;
        padding: 0 !important;
        width: 100% !important;
    }
    html[data-theme="dark"] .site-mobile-menu__panel {
        background: transparent !important;
        border: 0 !important;
    }
    .site-mobile-menu__panel .theme-switcher {
        background: rgba(14,125,121,.07) !important;
        border: 1px solid rgba(14,125,121,.12) !important;
        border-radius: 18px !important;
        display: grid !important;
        gap: .4rem !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        padding: .35rem !important;
    }
    .site-mobile-menu__panel .theme-switcher__button {
        border-radius: 14px !important;
        justify-content: center !important;
        min-height: 2.4rem !important;
        padding: .45rem .25rem !important;
        width: 100% !important;
    }
    .site-mobile-menu__group {
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        padding: 0 !important;
    }
    .site-mobile-menu__row {
        gap: .45rem !important;
    }
    .site-mobile-menu__link,
    .site-mobile-menu__child {
        background: rgba(255,255,255,.82) !important;
        border: 1px solid rgba(148,163,184,.16) !important;
        border-radius: 16px !important;
        box-shadow: none !important;
        color: var(--bg-contrast) !important;
        min-height: 2.85rem !important;
        padding: .72rem .9rem !important;
    }
    html[data-theme="dark"] .site-mobile-menu__link,
    html[data-theme="dark"] .site-mobile-menu__child {
        background: rgba(15,23,42,.6) !important;
        border-color: rgba(79,209,197,.14) !important;
        color: #e5f7f5 !important;
    }
    .site-mobile-menu__toggle {
        background: rgba(14,125,121,.1) !important;
        border-radius: 16px !important;
        height: 2.85rem !important;
        width: 2.85rem !important;
    }
    .site-mobile-menu__children {
        border-left: 2px solid rgba(14,125,121,.2) !important;
        margin: .45rem 0 .55rem .85rem !important;
        padding: 0 0 0 .6rem !important;
    }
    .site-mobile-menu__child {
        color: var(--text-soft) !important;
        font-size: .94rem !important;
        min-height: 2.45rem !important;
    }
    .site-mobile-menu__panel [data-mobile-close] {
        background: rgba(14,125,121,.08) !important;
        border: 1px solid rgba(14,125,121,.14) !important;
        border-radius: 16px !important;
        justify-content: center !important;
        margin-top: .1rem !important;
        width: 100% !important;
    }
}

/* v107: desktop-only homepage hero side cards spacing cleanup */
@media (min-width: 1200px) {
    .site-panel--hero.hero-grid {
        align-items: center !important;
    }

    .site-panel--hero.hero-grid .story-tiles {
        align-content: center !important;
        grid-template-rows: repeat(3, auto) !important;
        gap: clamp(.9rem, 1.05vw, 1.15rem) !important;
    }

    .site-panel--hero.hero-grid .story-tile {
        align-items: center !important;
        grid-template-columns: minmax(10.75rem, 36%) minmax(0, 1fr) !important;
        min-height: 7.75rem !important;
        max-height: 9.5rem !important;
        padding: .72rem .9rem !important;
    }

    .site-panel--hero.hero-grid .story-tile__media {
        aspect-ratio: 16 / 9 !important;
        height: auto !important;
        max-height: 7.25rem !important;
        min-height: 0 !important;
    }

    .site-panel--hero.hero-grid .story-tile__content {
        align-content: center !important;
        min-height: 0 !important;
        padding: 0 .15rem !important;
    }

    .site-panel--hero.hero-grid .story-title--sm {
        -webkit-line-clamp: 3 !important;
        font-size: clamp(1.02rem, 1.05vw, 1.2rem) !important;
        line-height: 1.16 !important;
    }
}

/* v109: desktop-only hero refinement - keep v107 side-card look, only reduce the main feature and match rail height */
@media (min-width: 1200px) {
    .site-panel--hero.hero-grid {
        align-items: center !important;
        gap: clamp(1.05rem, 1.55vw, 1.45rem) !important;
        grid-template-columns: minmax(0, 1.48fr) minmax(360px, .86fr) !important;
        padding: clamp(1.05rem, 1.45vw, 1.45rem) !important;
    }

    .site-panel--hero.hero-grid .hero-story--feature {
        align-self: center !important;
        display: grid !important;
        grid-template-rows: minmax(0, 1fr) auto !important;
        height: clamp(29rem, 34vw, 35.5rem) !important;
        max-height: 35.5rem !important;
        min-height: 29rem !important;
        width: 100% !important;
    }

    .site-panel--hero.hero-grid .hero-story--feature .hero-story__media {
        aspect-ratio: auto !important;
        height: 100% !important;
        min-height: 0 !important;
    }

    .site-panel--hero.hero-grid .hero-story--feature .hero-story__content {
        min-height: 6.45rem !important;
        padding: clamp(1rem, 1.45vw, 1.35rem) clamp(1.15rem, 1.7vw, 1.65rem) !important;
    }

    .site-panel--hero.hero-grid .hero-story--feature .story-title {
        font-size: clamp(2rem, 2.45vw, 2.95rem) !important;
        line-height: 1.08 !important;
    }

    .site-panel--hero.hero-grid .story-tiles {
        align-content: stretch !important;
        align-self: center !important;
        display: grid !important;
        gap: clamp(.85rem, 1.05vw, 1.15rem) !important;
        grid-template-rows: repeat(3, minmax(0, 1fr)) !important;
        height: clamp(29rem, 34vw, 35.5rem) !important;
        max-height: 35.5rem !important;
        min-height: 29rem !important;
    }

    .site-panel--hero.hero-grid .story-tile {
        align-items: center !important;
        grid-template-columns: minmax(10.75rem, 36%) minmax(0, 1fr) !important;
        height: 100% !important;
        min-height: 0 !important;
        max-height: none !important;
        padding: .72rem .9rem !important;
    }

    .site-panel--hero.hero-grid .story-tile__media {
        aspect-ratio: 16 / 9 !important;
        height: auto !important;
        max-height: 7.25rem !important;
        min-height: 0 !important;
    }
}


/* === v110 Hero redesign, gallery story experience, event countdown === */
.hero-grid--showcase {
    display: grid;
    grid-template-columns: minmax(0, 1.75fr) minmax(280px, 0.85fr);
    gap: 24px;
    align-items: stretch;
}
.hero-story--showcase {
    position: relative;
    min-height: 540px;
    overflow: hidden;
    border-radius: 34px;
    background: #08152f;
}
.hero-story--showcase .hero-story__media,
.hero-story--showcase .hero-story__media picture,
.hero-story--showcase .hero-story__media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}
.hero-story--showcase .hero-story__media img {
    object-fit: cover;
}
.hero-story__content--showcase {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: stretch;
    min-height: 540px;
    padding: 0;
    background: linear-gradient(90deg, rgba(3, 10, 24, 0.96) 0%, rgba(3, 10, 24, 0.88) 32%, rgba(3, 10, 24, 0.38) 65%, rgba(3, 10, 24, 0.06) 100%);
}
.hero-story--showcase .hero-story__copy {
    width: min(100%, 48%);
    min-width: 360px;
    padding: 40px 38px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 16px;
    color: #fff;
}
.hero-kicker {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(255,255,255,0.12);
    border: 1px solid rgba(255,255,255,0.16);
    color: #fff;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}
.hero-format-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(18, 153, 131, 0.16);
    color: #d7fff5;
    border: 1px solid rgba(29, 197, 160, 0.38);
}
.hero-format-pill--live { background: rgba(235, 66, 66, 0.2); color: #fff0f0; border-color: rgba(255, 90, 90, 0.42); }
.hero-format-pill--ended { background: rgba(122, 145, 178, 0.18); color: #eff6ff; border-color: rgba(160, 181, 210, 0.26); }
.hero-story--showcase .story-title {
    font-size: clamp(2.5rem, 4vw, 4.4rem);
    line-height: 0.96;
    letter-spacing: -0.045em;
    color: #fff;
    margin: 0;
    max-width: 11ch;
}
.hero-story__dek {
    margin: 0;
    font-size: 1.08rem;
    line-height: 1.7;
    color: rgba(255,255,255,0.88);
    max-width: 34ch;
}
.hero-story__meta {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
    color: rgba(255,255,255,0.76);
    font-size: 0.94rem;
}
.hero-story__cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    margin-top: 4px;
    padding: 12px 18px;
    border-radius: 999px;
    background: #fff;
    color: #08214a;
    font-weight: 800;
}
.story-tiles--showcase {
    display: grid;
    gap: 18px;
    align-content: stretch;
}
.story-tile--showcase {
    display: grid;
    grid-template-columns: 178px minmax(0, 1fr);
    align-items: center;
    min-height: 0;
    padding: 12px;
    border-radius: 28px;
    background: var(--surface-card);
    box-shadow: var(--card-shadow);
}
.story-tile--showcase .story-tile__media {
    width: 178px;
    min-width: 178px;
    aspect-ratio: 16 / 10;
    border-radius: 22px;
    overflow: hidden;
}
.story-tile--showcase .story-tile__content {
    padding: 4px 2px 4px 18px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 8px;
}
.story-tile__eyebrow {
    display: inline-flex;
    width: fit-content;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    font-size: 0.72rem;
    font-weight: 800;
    color: var(--accent);
}
.story-tile--showcase .story-title--sm {
    margin: 0;
    font-size: 1.05rem;
    line-height: 1.3;
}
.gallery-count-chip {
    position: absolute;
    right: 14px;
    bottom: 14px;
    z-index: 2;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(3,10,24,.78);
    color: #fff;
    font-size: .82rem;
    font-weight: 700;
}
.event-countdown-shell {
    margin-top: 12px;
}
.event-countdown {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) auto auto;
    align-items: center;
    gap: 24px;
    padding: 22px 28px;
    border-radius: 30px;
    background: linear-gradient(115deg, rgba(8, 24, 56, 0.92), rgba(16, 140, 118, 0.88));
    color: #fff;
    background-size: cover;
    background-position: center;
    box-shadow: 0 22px 45px rgba(10, 28, 58, 0.16);
}
.event-countdown__kicker {
    display: inline-flex;
    padding: 7px 12px;
    border-radius: 999px;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.18);
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
    margin-bottom: 12px;
}
.event-countdown__headline-row {
    display: flex;
    gap: 16px;
    align-items: center;
}
.event-countdown__logo {
    width: 72px;
    height: 72px;
    object-fit: contain;
    border-radius: 18px;
    background: rgba(255,255,255,.12);
    padding: 10px;
}
.event-countdown h3 { margin: 0 0 6px; font-size: clamp(1.4rem, 2vw, 2rem); color: #fff; }
.event-countdown p { margin: 0; color: rgba(255,255,255,.86); max-width: 58ch; }
.event-countdown__timer {
    display: grid;
    grid-template-columns: repeat(4, minmax(74px, 1fr));
    gap: 12px;
}
.event-countdown__unit {
    min-width: 78px;
    padding: 14px 12px;
    text-align: center;
    border-radius: 22px;
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.18);
}
.event-countdown__unit strong { display: block; font-size: 1.5rem; line-height: 1; color: #fff; }
.event-countdown__unit span { display: block; margin-top: 6px; font-size: .8rem; text-transform: uppercase; letter-spacing: .08em; color: rgba(255,255,255,.8); }
.event-countdown__action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 20px;
    border-radius: 999px;
    background: #fff;
    color: #08214a;
    font-weight: 800;
    text-decoration: none;
}
.gallery-story-shell {
    display: grid;
    gap: 18px;
    padding: 24px;
}
.gallery-story-shell__top {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: center;
    flex-wrap: wrap;
}
.gallery-story-shell__count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 16px;
    border-radius: 999px;
    background: rgba(14, 125, 121, 0.12);
    color: var(--accent);
    font-weight: 800;
}
.gallery-story-shell__lead {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(280px, .7fr);
    gap: 18px;
}
.gallery-story-shell__lead-image {
    display: block;
    border-radius: 24px;
    overflow: hidden;
    min-height: 400px;
}
.gallery-story-shell__lead-image picture,
.gallery-story-shell__lead-image img { width: 100%; height: 100%; object-fit: cover; }
.gallery-story-shell__thumbs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    align-content: start;
}
.gallery-story-shell__thumb {
    display: block;
    border-radius: 20px;
    overflow: hidden;
    aspect-ratio: 1 / 1;
}
.gallery-story-shell__thumb picture,
.gallery-story-shell__thumb img { width: 100%; height: 100%; object-fit: cover; }
.article-gallery__grid--enhanced {
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
}
.gallery-upload-preview,
.gallery-existing-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
    gap: 12px;
    margin-top: 14px;
}
.gallery-upload-preview__item,
.gallery-existing-grid__item {
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid rgba(12, 33, 63, 0.08);
    background: #eef3f8;
    aspect-ratio: 1 / 1;
}
.gallery-upload-preview__item img,
.gallery-existing-grid__item img { width: 100%; height: 100%; object-fit: cover; display: block; }
.news-grid--gallery-showcase .news-card__media { position: relative; }
@media (max-width: 1199px) {
    .hero-grid--showcase { grid-template-columns: 1fr; }
    .hero-story--showcase { min-height: 470px; }
    .hero-story__content--showcase { min-height: 470px; }
    .story-tiles--showcase { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .story-tile--showcase { grid-template-columns: 1fr; }
    .story-tile--showcase .story-tile__media { width: 100%; aspect-ratio: 16/10; }
    .story-tile--showcase .story-tile__content { padding: 14px 4px 4px; }
    .event-countdown { grid-template-columns: 1fr; }
    .gallery-story-shell__lead { grid-template-columns: 1fr; }
}
@media (max-width: 991px) {
    .hero-story__copy { width: 100%; min-width: 0; max-width: none; padding: 28px 24px; justify-content: flex-end; }
    .hero-story__content--showcase { align-items: flex-end; background: linear-gradient(180deg, rgba(3, 10, 24, 0.08) 0%, rgba(3, 10, 24, 0.78) 62%, rgba(3, 10, 24, 0.96) 100%); }
    .hero-story--showcase .story-title { max-width: none; font-size: clamp(2rem, 7vw, 3rem); }
    .hero-story__dek { max-width: none; font-size: 1rem; }
    .story-tiles--showcase { grid-template-columns: 1fr; }
    .event-countdown { padding: 20px; }
    .event-countdown__headline-row { align-items: flex-start; }
    .event-countdown__timer { width: 100%; grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
    .hero-story--showcase, .hero-story__content--showcase { min-height: 430px; }
    .story-tile--showcase { grid-template-columns: 118px minmax(0, 1fr); }
    .story-tile--showcase .story-tile__media { width: 118px; min-width: 118px; border-radius: 18px; }
    .story-tile--showcase .story-tile__content { padding: 4px 2px 4px 14px; }
    .event-countdown__timer { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .event-countdown__action { width: 100%; }
    .gallery-story-shell { padding: 20px; }
    .gallery-story-shell__lead-image { min-height: 260px; }
    .gallery-story-shell__thumbs { grid-template-columns: repeat(4, minmax(100px, 1fr)); overflow-x: auto; padding-bottom: 6px; }
    .gallery-story-shell__thumb { min-width: 120px; }
}
@media (max-width: 575px) {
    .hero-story--showcase, .hero-story__content--showcase { min-height: 390px; border-radius: 24px; }
    .hero-story__copy { padding: 22px 18px; gap: 12px; }
    .hero-kicker, .hero-format-pill { font-size: .72rem; }
    .hero-story__meta { font-size: .82rem; }
    .story-tile--showcase { grid-template-columns: 104px minmax(0, 1fr); padding: 10px; border-radius: 22px; }
    .story-tile--showcase .story-tile__media { width: 104px; min-width: 104px; border-radius: 16px; }
    .story-tile--showcase .story-title--sm { font-size: .98rem; }
    .event-countdown { border-radius: 24px; gap: 18px; }
    .event-countdown__headline-row { flex-direction: column; }
    .event-countdown__logo { width: 62px; height: 62px; }
}

/* v111: requested hero, compact mobile countdown, DailyMail-style gallery teaser and Football London-style lightbox */
.site-panel--hero.hero-grid.hero-grid--showcase {
    background: #050608 !important;
    border: 0 !important;
    border-radius: 8px !important;
    box-shadow: 0 28px 70px rgba(7, 17, 31, 0.16) !important;
    display: grid !important;
    gap: 0 !important;
    grid-template-columns: minmax(0, 1fr) !important;
    overflow: hidden !important;
    padding: 0 !important;
}

.site-panel--hero.hero-grid.hero-grid--showcase .story-tiles--showcase {
    display: none !important;
}

.site-panel--hero.hero-grid.hero-grid--showcase .hero-story--feature {
    align-self: stretch !important;
    background: #050608 !important;
    border-radius: 8px !important;
    display: block !important;
    height: clamp(34rem, 50vw, 45rem) !important;
    max-height: none !important;
    min-height: 34rem !important;
    overflow: hidden !important;
    position: relative !important;
    width: 100% !important;
}

.hero-story--showcase .hero-story__media,
.hero-story--showcase .hero-story__media picture,
.hero-story--showcase .hero-story__media img {
    display: block !important;
    height: 100% !important;
    inset: 0 !important;
    position: absolute !important;
    width: 100% !important;
}

.hero-story--showcase .hero-story__media img {
    object-fit: cover !important;
    object-position: 72% center !important;
}

.hero-story__content--showcase {
    align-items: stretch !important;
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.98) 0%, rgba(0, 0, 0, 0.94) 34%, rgba(0, 0, 0, 0.54) 56%, rgba(0, 0, 0, 0.1) 78%, rgba(0, 0, 0, 0.02) 100%) !important;
    display: flex !important;
    height: 100% !important;
    min-height: 100% !important;
    position: relative !important;
    z-index: 2 !important;
}

.hero-story--showcase .hero-story__copy {
    color: #fff !important;
    gap: clamp(1rem, 1.5vw, 1.35rem) !important;
    justify-content: center !important;
    min-width: min(100%, 24rem) !important;
    padding: clamp(3rem, 5vw, 5.4rem) clamp(2rem, 4.5vw, 5rem) !important;
    width: min(46rem, 48%) !important;
}

.hero-story--showcase .hero-kicker {
    background: #ff0a62 !important;
    border: 0 !important;
    border-radius: 0 !important;
    clip-path: polygon(8% 0, 100% 0, 92% 100%, 0 100%) !important;
    color: #fff !important;
    font-family: var(--font-display) !important;
    font-size: 0.98rem !important;
    font-style: italic !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
    line-height: 1 !important;
    padding: 0.75rem 1.55rem !important;
    text-transform: uppercase !important;
}

.hero-story--showcase .hero-format-pill {
    background: rgba(255, 255, 255, 0.12) !important;
    border-color: rgba(255, 255, 255, 0.22) !important;
    color: rgba(255, 255, 255, 0.92) !important;
    letter-spacing: 0 !important;
}

.hero-story--showcase .story-title {
    color: #fff !important;
    font-size: clamp(3.25rem, 5.8vw, 6.5rem) !important;
    letter-spacing: 0 !important;
    line-height: 0.95 !important;
    margin: 0 !important;
    max-width: 12ch !important;
    text-wrap: balance !important;
}

.hero-story--showcase .hero-story__dek {
    color: rgba(255, 255, 255, 0.84) !important;
    font-size: clamp(1.05rem, 1.45vw, 1.45rem) !important;
    line-height: 1.45 !important;
    max-width: 42rem !important;
}

.hero-story--showcase .hero-story__meta {
    color: rgba(255, 255, 255, 0.72) !important;
    letter-spacing: 0 !important;
}

.hero-story--showcase .hero-story__cta {
    background: #fff !important;
    border-radius: 999px !important;
    color: #050608 !important;
    letter-spacing: 0 !important;
}

.daily-gallery-teaser {
    margin: 0;
}

.daily-gallery-card {
    appearance: none;
    background: #050608;
    border: 0;
    border-radius: 4px;
    cursor: pointer;
    display: block;
    min-height: 24rem;
    overflow: hidden;
    padding: 0;
    position: relative;
    text-align: left;
    width: 100%;
}

.daily-gallery-card picture,
.daily-gallery-card img {
    display: block;
    height: 100%;
    inset: 0;
    object-fit: cover;
    position: absolute;
    width: 100%;
}

.daily-gallery-card::after {
    background: linear-gradient(180deg, transparent 52%, rgba(0, 0, 0, 0.58) 100%);
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
}

.daily-gallery-card__credit {
    background: rgba(0, 0, 0, 0.5);
    bottom: 0;
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.82rem;
    font-weight: 700;
    left: 0;
    line-height: 1.2;
    padding: 0.42rem 0.7rem;
    position: absolute;
    z-index: 2;
}

.daily-gallery-card__badge {
    align-items: center;
    background: #1368d8;
    bottom: 0.8rem;
    color: #fff;
    display: grid;
    gap: 0.08rem;
    justify-items: start;
    padding: 0.62rem 0.78rem;
    position: absolute;
    right: 0.8rem;
    z-index: 3;
}

.daily-gallery-card__badge span {
    align-items: center;
    display: inline-flex;
    gap: 0.4rem;
}

.daily-gallery-card__badge i {
    font-size: 1.3rem;
}

.daily-gallery-card__badge strong {
    font-family: var(--font-display);
    font-size: 1.35rem;
    letter-spacing: 0;
    line-height: 1;
}

.daily-gallery-card__badge em {
    font-style: normal;
    font-weight: 800;
    line-height: 1.05;
}

body.gallery-lightbox-open {
    overflow: hidden;
}

.gallery-lightbox[hidden] {
    display: none !important;
}

.gallery-lightbox {
    inset: 0;
    position: fixed;
    z-index: 2500;
}

.gallery-lightbox__backdrop {
    background: rgba(255, 255, 255, 0.96);
    inset: 0;
    position: absolute;
}

.gallery-lightbox__frame {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(21rem, 28rem);
    height: 100%;
    isolation: isolate;
    position: relative;
    z-index: 1;
}

.gallery-lightbox__stage {
    align-items: center;
    background: #f7f8fa;
    display: flex;
    justify-content: center;
    min-width: 0;
    padding: clamp(1rem, 3vw, 3.2rem);
}

.gallery-lightbox__slide {
    display: none;
    height: 100%;
    margin: 0;
    place-items: center;
    width: 100%;
}

.gallery-lightbox__slide.is-active {
    display: grid;
}

.gallery-lightbox__slide img {
    box-shadow: 0 18px 60px rgba(15, 23, 42, 0.13);
    display: block;
    max-height: min(82vh, 62rem);
    max-width: 100%;
    object-fit: contain;
    width: auto;
}

.gallery-lightbox__meta {
    background: #fff;
    border-left: 1px solid rgba(15, 23, 42, 0.1);
    color: #111827;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    overflow-y: auto;
    padding: clamp(1.5rem, 3vw, 3rem) clamp(1.1rem, 2.2vw, 2.1rem);
}

.gallery-lightbox__counter {
    align-items: center;
    color: #111827;
    display: inline-flex;
    font-size: 1rem;
    gap: 0.55rem;
}

.gallery-lightbox__counter i {
    color: var(--primary-strong);
}

.gallery-lightbox__counter strong {
    font-family: var(--font-display);
}

.gallery-lightbox__meta h2 {
    color: #111827;
    font-size: clamp(1.35rem, 2vw, 2rem);
    letter-spacing: 0;
    line-height: 1.25;
    margin: 0;
}

.gallery-lightbox__meta p {
    color: #4b5563;
    font-size: 1.02rem;
    line-height: 1.55;
    margin: 0;
}

.gallery-lightbox__full {
    align-items: center;
    border: 1px solid rgba(15, 23, 42, 0.12);
    border-radius: 999px;
    color: #111827;
    display: inline-flex;
    font-weight: 800;
    gap: 0.55rem;
    justify-content: center;
    min-height: 2.8rem;
    padding: 0 1rem;
    width: fit-content;
}

.gallery-lightbox__thumbs {
    border-top: 1px solid rgba(15, 23, 42, 0.1);
    display: grid;
    gap: 0.55rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: auto;
    padding-top: 1rem;
}

.gallery-lightbox__thumbs button {
    appearance: none;
    aspect-ratio: 1 / 1;
    background: #eef2f7;
    border: 2px solid transparent;
    border-radius: 4px;
    cursor: pointer;
    overflow: hidden;
    padding: 0;
}

.gallery-lightbox__thumbs button.is-active {
    border-color: #1368d8;
}

.gallery-lightbox__thumbs img {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.gallery-lightbox__close,
.gallery-lightbox__nav {
    align-items: center;
    appearance: none;
    border: 0;
    border-radius: 999px;
    cursor: pointer;
    display: inline-flex;
    justify-content: center;
    position: absolute;
    z-index: 5;
}

.gallery-lightbox__close {
    background: transparent;
    color: #111827;
    font-size: 1.55rem;
    height: 3rem;
    right: 1.05rem;
    top: 1rem;
    width: 3rem;
}

.gallery-lightbox__nav {
    background: #111827;
    color: #fff;
    height: 3.35rem;
    top: 50%;
    transform: translateY(-50%);
    width: 3.35rem;
}

.gallery-lightbox__nav--prev {
    left: 1.1rem;
}

.gallery-lightbox__nav--next {
    right: 29.25rem;
}

.gallery-upload-preview--with-captions,
.gallery-existing-grid--with-captions {
    grid-template-columns: repeat(auto-fill, minmax(13rem, 1fr)) !important;
}

.gallery-upload-preview--with-captions .gallery-upload-preview__item,
.gallery-existing-grid--with-captions .gallery-existing-grid__item {
    aspect-ratio: auto !important;
    background: #fff !important;
    border: 1px solid rgba(12, 33, 63, 0.1) !important;
    display: grid !important;
    grid-template-rows: auto 1fr !important;
    overflow: hidden !important;
}

.gallery-upload-preview--with-captions img,
.gallery-existing-grid--with-captions img {
    aspect-ratio: 16 / 10 !important;
    height: auto !important;
    object-fit: cover !important;
    width: 100% !important;
}

.gallery-upload-preview__body,
.gallery-existing-grid__body {
    display: grid;
    gap: 0.35rem;
    padding: 0.75rem;
}

.gallery-upload-preview__body label,
.gallery-existing-grid__body label {
    color: #526176;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    margin: 0;
    text-transform: uppercase;
}

@media (max-width: 991px) {
    .site-panel--hero.hero-grid.hero-grid--showcase .hero-story--feature {
        height: clamp(29rem, 78vw, 39rem) !important;
        min-height: 29rem !important;
    }

    .hero-story__content--showcase {
        background: linear-gradient(180deg, rgba(0, 0, 0, 0.08) 0%, rgba(0, 0, 0, 0.72) 55%, rgba(0, 0, 0, 0.98) 100%) !important;
    }

    .hero-story--showcase .hero-story__copy {
        justify-content: flex-end !important;
        min-width: 0 !important;
        padding: 2rem 1.5rem !important;
        width: 100% !important;
    }

    .hero-story--showcase .story-title {
        font-size: clamp(2.25rem, 8vw, 4.4rem) !important;
        max-width: 13ch !important;
    }

    .gallery-lightbox__frame {
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: minmax(0, 1fr) auto;
    }

    .gallery-lightbox__stage {
        padding: 4rem 1rem 1rem;
    }

    .gallery-lightbox__meta {
        border-left: 0;
        border-top: 1px solid rgba(15, 23, 42, 0.1);
        max-height: 38vh;
        padding: 1rem;
    }

    .gallery-lightbox__nav--next {
        right: 1.1rem;
    }
}

@media (max-width: 575px) {
    .event-countdown-shell {
        margin-top: 0.55rem !important;
    }

    .event-countdown-shell .site-shell {
        width: min(calc(100% - 1rem), 1540px) !important;
    }

    .event-countdown {
        align-items: center !important;
        border-radius: 18px !important;
        display: flex !important;
        gap: 0.55rem !important;
        grid-template-columns: none !important;
        min-height: 0 !important;
        padding: 0.58rem 0.65rem !important;
    }

    .event-countdown__intro {
        display: contents !important;
    }

    .event-countdown__kicker,
    .event-countdown__headline-row > div,
    .event-countdown__action {
        display: none !important;
    }

    .event-countdown__headline-row {
        align-items: center !important;
        display: flex !important;
        flex: 0 0 auto !important;
        gap: 0 !important;
    }

    .event-countdown__logo {
        background: rgba(255, 255, 255, 0.14) !important;
        border-radius: 12px !important;
        height: 42px !important;
        padding: 0.4rem !important;
        width: 42px !important;
    }

    .event-countdown__timer {
        display: grid !important;
        flex: 1 1 auto !important;
        gap: 0.34rem !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        min-width: 0 !important;
        width: auto !important;
    }

    .event-countdown__unit {
        border-radius: 12px !important;
        min-width: 0 !important;
        padding: 0.42rem 0.2rem !important;
    }

    .event-countdown__unit strong {
        font-size: 1rem !important;
    }

    .event-countdown__unit span {
        font-size: 0.55rem !important;
        letter-spacing: 0.04em !important;
        margin-top: 0.22rem !important;
    }

    .site-panel--hero.hero-grid.hero-grid--showcase {
        border-radius: 8px !important;
    }

    .site-panel--hero.hero-grid.hero-grid--showcase .hero-story--feature {
        border-radius: 8px !important;
        height: 31rem !important;
        min-height: 31rem !important;
    }

    .hero-story--showcase .hero-story__copy {
        gap: 0.75rem !important;
        padding: 1.35rem 1rem !important;
    }

    .hero-story--showcase .hero-kicker {
        font-size: 0.78rem !important;
        padding: 0.58rem 1.1rem !important;
    }

    .hero-story--showcase .story-title {
        font-size: 2.45rem !important;
        line-height: 0.98 !important;
        max-width: 12ch !important;
    }

    .hero-story--showcase .hero-story__dek {
        display: -webkit-box !important;
        font-size: 0.95rem !important;
        line-height: 1.35 !important;
        -webkit-box-orient: vertical !important;
        -webkit-line-clamp: 2 !important;
        overflow: hidden !important;
    }

    .hero-story--showcase .hero-story__meta {
        display: none !important;
    }

    .daily-gallery-card {
        min-height: 18rem;
    }

    .daily-gallery-card__badge {
        bottom: 0.6rem;
        right: 0.6rem;
    }

    .daily-gallery-card__credit {
        max-width: 65%;
    }

    .gallery-lightbox__slide img {
        max-height: 55vh;
    }

    .gallery-lightbox__thumbs {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
}

/* v112: keep the original homepage hero logic, using the reference only as proportion guidance */
.site-panel--hero.hero-grid.hero-grid--showcase {
    background: var(--hero-gradient) !important;
    border: 1px solid var(--border-strong) !important;
    border-radius: var(--radius-md) !important;
    box-shadow: var(--shadow-md) !important;
    display: grid !important;
    gap: clamp(1rem, 1.45vw, 1.35rem) !important;
    grid-template-columns: minmax(0, 1.48fr) minmax(320px, 0.9fr) !important;
    overflow: hidden !important;
    padding: clamp(1rem, 1.4vw, 1.35rem) !important;
}

.site-panel--hero.hero-grid.hero-grid--showcase .story-tiles--showcase {
    align-content: stretch !important;
    display: grid !important;
    gap: clamp(0.75rem, 1vw, 1rem) !important;
    grid-template-rows: repeat(3, minmax(0, 1fr)) !important;
    height: clamp(24rem, 30vw, 31rem) !important;
    max-height: 31rem !important;
    min-height: 24rem !important;
}

.site-panel--hero.hero-grid.hero-grid--showcase .hero-story--feature,
.hero-story--showcase {
    background: #071525 !important;
    border-radius: 24px !important;
    display: block !important;
    height: clamp(24rem, 30vw, 31rem) !important;
    max-height: 31rem !important;
    min-height: 24rem !important;
    overflow: hidden !important;
    position: relative !important;
}

.hero-story--showcase .hero-story__media img {
    object-fit: cover !important;
    object-position: center !important;
}

.hero-story__content--showcase {
    align-items: flex-end !important;
    background: linear-gradient(180deg, rgba(7, 21, 37, 0.04) 0%, rgba(7, 21, 37, 0.32) 45%, rgba(7, 21, 37, 0.88) 100%) !important;
    display: flex !important;
    height: 100% !important;
    min-height: 100% !important;
    position: relative !important;
    z-index: 2 !important;
}

.hero-story--showcase .hero-story__copy {
    color: #fff !important;
    gap: 0.75rem !important;
    justify-content: flex-end !important;
    min-width: 0 !important;
    padding: clamp(1.15rem, 2.2vw, 1.8rem) !important;
    width: min(100%, 43rem) !important;
}

.hero-story--showcase .hero-kicker {
    background: rgba(14, 165, 164, 0.22) !important;
    border: 1px solid rgba(79, 209, 197, 0.38) !important;
    border-radius: 999px !important;
    clip-path: none !important;
    color: #eafffb !important;
    font-family: var(--font-body) !important;
    font-size: 0.74rem !important;
    font-style: normal !important;
    font-weight: 900 !important;
    letter-spacing: 0.14em !important;
    padding: 0.45rem 0.8rem !important;
}

.hero-story--showcase .story-title {
    color: #fff !important;
    font-size: clamp(1.8rem, 2.7vw, 3.1rem) !important;
    letter-spacing: 0 !important;
    line-height: 1.03 !important;
    margin: 0 !important;
    max-width: 18ch !important;
}

.hero-story--showcase .hero-story__dek {
    color: rgba(255, 255, 255, 0.86) !important;
    display: -webkit-box !important;
    font-size: clamp(0.95rem, 1.05vw, 1.08rem) !important;
    line-height: 1.45 !important;
    max-width: 42rem !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    overflow: hidden !important;
}

.hero-story--showcase .hero-story__meta {
    color: rgba(255, 255, 255, 0.76) !important;
    font-size: 0.88rem !important;
}

.hero-story--showcase .hero-story__cta {
    background: rgba(255, 255, 255, 0.94) !important;
    color: #071525 !important;
    font-size: 0.9rem !important;
    min-height: 2.4rem !important;
    padding: 0.55rem 0.95rem !important;
}

.site-panel--hero.hero-grid.hero-grid--showcase .story-tile--showcase {
    align-items: center !important;
    background: var(--surface) !important;
    border: 1px solid var(--border) !important;
    border-radius: 20px !important;
    box-shadow: var(--shadow-sm) !important;
    display: grid !important;
    grid-template-columns: minmax(8.2rem, 35%) minmax(0, 1fr) !important;
    height: 100% !important;
    max-height: none !important;
    min-height: 0 !important;
    padding: 0.65rem !important;
}

.site-panel--hero.hero-grid.hero-grid--showcase .story-tile__media {
    aspect-ratio: 16 / 10 !important;
    border-radius: 16px !important;
    height: auto !important;
    max-height: 6.5rem !important;
    min-height: 0 !important;
    min-width: 0 !important;
    overflow: hidden !important;
    width: 100% !important;
}

.site-panel--hero.hero-grid.hero-grid--showcase .story-tile__content {
    gap: 0.4rem !important;
    padding: 0.15rem 0.2rem 0.15rem 0.85rem !important;
}

.site-panel--hero.hero-grid.hero-grid--showcase .story-title--sm {
    font-size: clamp(0.92rem, 1vw, 1.08rem) !important;
    line-height: 1.2 !important;
}

@media (max-width: 1199px) {
    .site-panel--hero.hero-grid.hero-grid--showcase {
        grid-template-columns: 1fr !important;
    }

    .site-panel--hero.hero-grid.hero-grid--showcase .hero-story--feature,
    .hero-story--showcase {
        height: clamp(22rem, 47vw, 29rem) !important;
        min-height: 22rem !important;
    }

    .site-panel--hero.hero-grid.hero-grid--showcase .story-tiles--showcase {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        grid-template-rows: none !important;
        height: auto !important;
        max-height: none !important;
        min-height: 0 !important;
    }

    .site-panel--hero.hero-grid.hero-grid--showcase .story-tile--showcase {
        grid-template-columns: 1fr !important;
        height: auto !important;
    }

    .site-panel--hero.hero-grid.hero-grid--showcase .story-tile__content {
        padding: 0.75rem 0.2rem 0.15rem !important;
    }
}

@media (max-width: 767px) {
    .site-panel--hero.hero-grid.hero-grid--showcase {
        border-radius: 22px !important;
        padding: 0.75rem !important;
    }

    .site-panel--hero.hero-grid.hero-grid--showcase .hero-story--feature,
    .hero-story--showcase {
        border-radius: 20px !important;
        height: 23rem !important;
        min-height: 23rem !important;
    }

    .hero-story--showcase .hero-story__copy {
        padding: 1rem !important;
    }

    .hero-story--showcase .story-title {
        font-size: 1.9rem !important;
        max-width: 16ch !important;
    }

    .hero-story--showcase .hero-story__meta,
    .hero-story--showcase .hero-story__cta {
        display: none !important;
    }

    .site-panel--hero.hero-grid.hero-grid--showcase .story-tiles--showcase {
        grid-template-columns: 1fr !important;
    }

    .site-panel--hero.hero-grid.hero-grid--showcase .story-tile--showcase {
        grid-template-columns: 6.8rem minmax(0, 1fr) !important;
    }

    .site-panel--hero.hero-grid.hero-grid--showcase .story-tile__content {
        padding: 0.1rem 0.1rem 0.1rem 0.75rem !important;
    }
}

/* v113: compact expandable countdown, Kisure gallery colors, and reliable shared hero media */
.event-countdown-shell {
    margin-top: 0.8rem !important;
}

.event-countdown.event-countdown--compact {
    background: var(--event-countdown-bg, linear-gradient(115deg, rgba(8, 24, 56, 0.94), rgba(14, 125, 121, 0.9))) !important;
    background-position: center !important;
    background-size: cover !important;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    border-radius: 22px !important;
    box-shadow: 0 16px 34px rgba(10, 28, 58, 0.14) !important;
    color: #fff !important;
    display: block !important;
    overflow: hidden !important;
    padding: 0 !important;
}

.event-countdown--compact summary {
    list-style: none !important;
}

.event-countdown--compact summary::-webkit-details-marker {
    display: none !important;
}

.event-countdown__summary {
    align-items: center !important;
    cursor: pointer !important;
    display: grid !important;
    gap: clamp(0.65rem, 1.5vw, 1.15rem) !important;
    grid-template-columns: minmax(13rem, 0.85fr) minmax(18rem, 1fr) auto !important;
    min-height: 4.5rem !important;
    padding: 0.7rem clamp(0.8rem, 1.7vw, 1.3rem) !important;
}

.event-countdown__compact-brand {
    align-items: center;
    display: flex;
    gap: 0.75rem;
    min-width: 0;
}

.event-countdown__summary .event-countdown__kicker {
    background: transparent !important;
    border: 0 !important;
    display: block !important;
    font-size: 0.66rem !important;
    letter-spacing: 0.12em !important;
    margin: 0 0 0.15rem !important;
    padding: 0 !important;
}

.event-countdown__summary h3 {
    color: #fff !important;
    font-size: clamp(0.98rem, 1.25vw, 1.2rem) !important;
    line-height: 1.12 !important;
    margin: 0 !important;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.event-countdown--compact .event-countdown__logo {
    background: rgba(255, 255, 255, 0.14) !important;
    border-radius: 12px !important;
    flex: 0 0 auto !important;
    height: 42px !important;
    padding: 0.4rem !important;
    width: 42px !important;
}

.event-countdown--compact .event-countdown__timer {
    display: grid !important;
    gap: 0.45rem !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    width: 100% !important;
}

.event-countdown--compact .event-countdown__unit {
    background: rgba(255, 255, 255, 0.12) !important;
    border: 1px solid rgba(255, 255, 255, 0.18) !important;
    border-radius: 14px !important;
    min-width: 0 !important;
    padding: 0.5rem 0.35rem !important;
}

.event-countdown--compact .event-countdown__unit strong {
    color: #fff !important;
    display: block !important;
    font-size: clamp(1rem, 1.45vw, 1.28rem) !important;
    line-height: 1 !important;
}

.event-countdown--compact .event-countdown__unit span {
    color: rgba(255, 255, 255, 0.82) !important;
    display: block !important;
    font-size: 0.62rem !important;
    letter-spacing: 0.07em !important;
    margin-top: 0.25rem !important;
    text-transform: uppercase !important;
}

.event-countdown__toggle {
    align-items: center;
    background: rgba(255, 255, 255, 0.13);
    border-radius: 999px;
    display: inline-flex;
    height: 2.4rem;
    justify-content: center;
    transition: transform 0.2s ease;
    width: 2.4rem;
}

.event-countdown[open] .event-countdown__toggle {
    transform: rotate(180deg);
}

.event-countdown__details {
    align-items: center;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 1rem clamp(0.9rem, 1.7vw, 1.4rem) 1.15rem;
}

.event-countdown__details .event-countdown__headline-row {
    align-items: center !important;
    display: flex !important;
    gap: 0.95rem !important;
}

.event-countdown__details h3 {
    color: #fff !important;
    font-size: clamp(1.25rem, 2vw, 1.75rem) !important;
    margin: 0 0 0.25rem !important;
}

.event-countdown__details p {
    color: rgba(255, 255, 255, 0.84) !important;
    margin: 0 !important;
    max-width: 62ch !important;
}

.event-countdown__logo--large {
    height: 64px !important;
    width: 64px !important;
}

.event-countdown__details .event-countdown__action {
    background: #fff !important;
    color: #071525 !important;
    margin: 0 !important;
    white-space: nowrap !important;
}

.hero-story--showcase .hero-story__media {
    aspect-ratio: auto !important;
    background: linear-gradient(135deg, rgba(14, 165, 164, 0.12), rgba(249, 115, 22, 0.12)) !important;
    border-radius: 0 !important;
    inset: 0 !important;
    overflow: hidden !important;
    position: absolute !important;
}

.hero-story--showcase .hero-story__media picture,
.hero-story--showcase .hero-story__media img {
    display: block !important;
    height: 100% !important;
    inset: 0 !important;
    position: absolute !important;
    width: 100% !important;
}

.hero-story--showcase .hero-story__media img {
    object-fit: cover !important;
    object-position: center !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.hero-story__media-badges {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    left: 1rem;
    position: absolute;
    right: 1rem;
    top: 1rem;
    z-index: 6;
}

.hero-story__media-badges .story-badge,
.hero-story__media-badges .media-type-chip {
    backdrop-filter: blur(14px);
    box-shadow: 0 12px 24px rgba(7, 17, 31, 0.15);
}

.hero-story--showcase .hero-story__content--showcase {
    pointer-events: none;
}

.hero-story--showcase .hero-story__copy,
.hero-story--showcase .hero-story__copy a,
.hero-story--showcase .hero-story__copy button {
    pointer-events: auto;
}

.daily-gallery-card {
    background: var(--surface) !important;
    border: 1px solid var(--border) !important;
    border-radius: 18px !important;
    box-shadow: var(--shadow-sm) !important;
}

.daily-gallery-card::after {
    background: linear-gradient(180deg, transparent 50%, rgba(7, 17, 31, 0.62) 100%) !important;
}

.daily-gallery-card__badge {
    background: linear-gradient(135deg, var(--primary), var(--primary-strong)) !important;
    border-radius: 16px !important;
    box-shadow: 0 16px 30px rgba(14, 125, 121, 0.24) !important;
}

.daily-gallery-card__credit {
    background: rgba(7, 17, 31, 0.58) !important;
    border-top-right-radius: 12px !important;
}

.gallery-lightbox__backdrop {
    background: rgba(245, 247, 251, 0.98) !important;
}

.gallery-lightbox__stage {
    background: linear-gradient(135deg, rgba(14, 165, 164, 0.08), rgba(249, 115, 22, 0.08)) !important;
}

.gallery-lightbox__meta {
    background: var(--surface) !important;
    color: var(--text) !important;
}

.gallery-lightbox__meta h2 {
    color: var(--bg-contrast) !important;
}

.gallery-lightbox__meta p {
    color: var(--text-soft) !important;
}

.gallery-lightbox__counter i {
    color: var(--primary-strong) !important;
}

.gallery-lightbox__full {
    background: rgba(14, 165, 164, 0.08) !important;
    border-color: rgba(14, 165, 164, 0.2) !important;
    color: var(--primary-strong) !important;
}

.gallery-lightbox__nav {
    background: var(--bg-contrast) !important;
    box-shadow: 0 16px 30px rgba(7, 17, 31, 0.2) !important;
    color: var(--surface) !important;
}

.gallery-lightbox__close {
    color: var(--bg-contrast) !important;
}

.gallery-lightbox__thumbs button.is-active {
    border-color: var(--primary-strong) !important;
}

@media (max-width: 991px) {
    .event-countdown__summary {
        grid-template-columns: minmax(9rem, 0.72fr) minmax(14rem, 1fr) auto !important;
    }

    .event-countdown__details {
        grid-template-columns: 1fr !important;
    }

    .event-countdown__details .event-countdown__action {
        justify-self: start !important;
    }
}

@media (max-width: 575px) {
    .event-countdown__summary {
        gap: 0.48rem !important;
        grid-template-columns: auto minmax(0, 1fr) auto !important;
        min-height: 3.85rem !important;
        padding: 0.55rem 0.6rem !important;
    }

    .event-countdown__summary h3,
    .event-countdown__summary .event-countdown__kicker {
        display: none !important;
    }

    .event-countdown--compact .event-countdown__timer {
        gap: 0.32rem !important;
    }

    .event-countdown--compact .event-countdown__unit {
        border-radius: 11px !important;
        padding: 0.38rem 0.18rem !important;
    }

    .event-countdown--compact .event-countdown__unit strong {
        font-size: 0.95rem !important;
    }

    .event-countdown--compact .event-countdown__unit span {
        font-size: 0.52rem !important;
        letter-spacing: 0.03em !important;
    }

    .event-countdown__toggle {
        height: 2rem;
        width: 2rem;
    }

    .event-countdown__details {
        padding: 0.85rem !important;
    }

    .event-countdown__details .event-countdown__headline-row {
        align-items: flex-start !important;
    }

    .event-countdown__details .event-countdown__headline-row > div {
        display: block !important;
    }

    .event-countdown__details .event-countdown__kicker {
        display: inline-flex !important;
    }

    .event-countdown__details .event-countdown__action {
        display: inline-flex !important;
        width: fit-content !important;
    }

    .event-countdown__logo--large {
        height: 52px !important;
        width: 52px !important;
    }
}


/* Gallery editor remove controls + lightbox captions */
.gallery-upload-preview__media,
.gallery-existing-grid__media {
    position: relative;
}

.gallery-image-remove-btn,
.gallery-existing-remove-check span {
    align-items: center;
    background: rgba(185, 28, 28, 0.94);
    border: 0;
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    font-size: 0.76rem;
    font-weight: 800;
    gap: 0.35rem;
    line-height: 1;
    padding: 0.45rem 0.65rem;
    position: absolute;
    right: 0.55rem;
    top: 0.55rem;
    z-index: 3;
}

.gallery-image-remove-btn:hover,
.gallery-existing-remove-check:hover span {
    background: rgba(127, 29, 29, 0.98);
    color: #fff;
}

.gallery-existing-remove-check {
    cursor: pointer;
    margin: 0;
}

.gallery-existing-remove-check input {
    opacity: 0;
    pointer-events: none;
    position: absolute;
}

.gallery-existing-grid__item.is-marked-remove {
    border-color: rgba(185, 28, 28, 0.55) !important;
    box-shadow: 0 0 0 3px rgba(185, 28, 28, 0.13) !important;
    opacity: 0.72;
}

.gallery-existing-grid__item.is-marked-remove img {
    filter: grayscale(1);
}

.gallery-existing-toolbar {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
}

.gallery-lightbox__slide {
    align-content: center;
    gap: 0.85rem;
    grid-template-rows: minmax(0, auto) auto;
}

.gallery-lightbox__image-caption {
    background: rgba(15, 23, 42, 0.84);
    border-radius: 999px;
    color: #fff;
    font-size: clamp(0.82rem, 1.6vw, 0.98rem);
    font-weight: 700;
    line-height: 1.45;
    margin: 0 auto;
    max-width: min(92%, 52rem);
    padding: 0.58rem 1rem;
    text-align: center;
}

@media (max-width: 768px) {
    .gallery-lightbox__image-caption {
        border-radius: 1rem;
        max-width: 100%;
    }
}
.gallery-lightbox__slide img {
    max-height: min(74vh, 58rem);
}


/* v113 hotfix: category/tag hero uses v109-safe media flow */
.kisure-safe-feature-hero.hero-grid--showcase {
    align-items: stretch !important;
}

.kisure-safe-feature-hero .hero-story--feature,
.kisure-safe-feature-hero .hero-story--showcase {
    background: var(--surface-card) !important;
    border: 1px solid var(--border) !important;
    border-radius: 30px !important;
    box-shadow: var(--card-shadow) !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
    position: relative !important;
}

.kisure-safe-feature-hero .hero-story--showcase .hero-story__media {
    aspect-ratio: 16 / 10 !important;
    background: linear-gradient(135deg, rgba(14, 165, 164, 0.1), rgba(249, 115, 22, 0.1)) !important;
    border-radius: 30px 30px 0 0 !important;
    display: block !important;
    height: auto !important;
    inset: auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
    position: relative !important;
    width: 100% !important;
}

.kisure-safe-feature-hero .hero-story--showcase .hero-story__media picture,
.kisure-safe-feature-hero .hero-story--showcase .hero-story__media img {
    display: block !important;
    height: 100% !important;
    inset: auto !important;
    object-fit: cover !important;
    object-position: center !important;
    opacity: 1 !important;
    position: relative !important;
    visibility: visible !important;
    width: 100% !important;
}

.kisure-safe-feature-hero .hero-story--showcase .hero-story__content--showcase {
    background: transparent !important;
    color: var(--text-main) !important;
    display: block !important;
    min-height: 0 !important;
    padding: 1.3rem 1.35rem 1.5rem !important;
    pointer-events: auto !important;
    position: relative !important;
    z-index: 2 !important;
}

.kisure-safe-feature-hero .hero-story--showcase .hero-story__copy {
    color: var(--text-main) !important;
    display: grid !important;
    gap: 0.75rem !important;
    min-width: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

.kisure-safe-feature-hero .hero-story--showcase .hero-kicker {
    background: var(--accent-soft) !important;
    border-color: rgba(14, 125, 121, 0.16) !important;
    color: var(--accent) !important;
}

.kisure-safe-feature-hero .hero-story--showcase .story-title,
.kisure-safe-feature-hero .hero-story--showcase .story-title a {
    color: var(--text-main) !important;
    font-size: clamp(1.85rem, 3vw, 3rem) !important;
    line-height: 1.02 !important;
    max-width: none !important;
}

.kisure-safe-feature-hero .hero-story--showcase .hero-story__dek,
.kisure-safe-feature-hero .hero-story--showcase .hero-story__meta {
    color: var(--text-soft) !important;
    max-width: 62ch !important;
}

.kisure-safe-feature-hero .hero-story--showcase .hero-story__cta {
    background: var(--bg-contrast) !important;
    color: var(--surface) !important;
    margin-top: 0.2rem !important;
}

html[data-theme="dark"] .kisure-safe-feature-hero .hero-story--showcase .hero-story__cta {
    background: #fff !important;
    color: #071525 !important;
}

@media (max-width: 767px) {
    .kisure-safe-feature-hero .hero-story--feature,
    .kisure-safe-feature-hero .hero-story--showcase {
        height: auto !important;
        min-height: 0 !important;
    }

    .kisure-safe-feature-hero .hero-story--showcase .hero-story__media {
        aspect-ratio: 16 / 11 !important;
    }

    .kisure-safe-feature-hero .hero-story--showcase .hero-story__meta,
    .kisure-safe-feature-hero .hero-story--showcase .hero-story__cta {
        display: inline-flex !important;
    }
}

/* v114 final hero/gallery stability patch: use the article featured image, keep one clear label, and keep popup captions under the active image. */
.site-panel--hero.hero-grid--showcase .hero-story--showcase .hero-story__media,
.site-panel--hero.hero-grid--showcase .hero-story--showcase .hero-story__media picture,
.site-panel--hero.hero-grid--showcase .hero-story--showcase .hero-story__media img {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.site-panel--hero.hero-grid--showcase .hero-story--showcase .hero-story__media img {
    filter: none !important;
    object-fit: cover !important;
    object-position: center !important;
}

.site-panel--hero.hero-grid--showcase .hero-story--showcase .hero-story__content--showcase {
    background: linear-gradient(180deg, rgba(7, 21, 37, 0.02) 0%, rgba(7, 21, 37, 0.34) 42%, rgba(7, 21, 37, 0.92) 100%) !important;
}

.site-panel--hero.hero-grid--showcase .hero-story--showcase .hero-kicker {
    max-width: max-content !important;
    position: relative !important;
    z-index: 3 !important;
}

.site-panel--hero.hero-grid--showcase .hero-story--showcase .story-title,
.site-panel--hero.hero-grid--showcase .hero-story--showcase .hero-story__dek,
.site-panel--hero.hero-grid--showcase .hero-story--showcase .hero-story__meta,
.site-panel--hero.hero-grid--showcase .hero-story--showcase .hero-story__cta {
    position: relative !important;
    z-index: 3 !important;
}

.gallery-lightbox__stage {
    align-items: center !important;
    display: flex !important;
    justify-content: center !important;
}

.gallery-lightbox__slide[data-gallery-active-slide] {
    display: grid !important;
    height: 100% !important;
    justify-items: center !important;
    margin: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
}

.gallery-lightbox__slide[data-gallery-active-slide] img {
    display: block !important;
    height: auto !important;
    max-height: min(74vh, 58rem) !important;
    max-width: 100% !important;
    object-fit: contain !important;
    opacity: 1 !important;
    visibility: visible !important;
    width: auto !important;
}

.gallery-lightbox__image-caption.d-none {
    display: none !important;
}


/* v113 final stability patch: keep homepage featured images visible and simplify category/tag hero copy. */
.hero-story .hero-story__content .story-badge,
.hero-story--showcase .hero-kicker {
    background: rgba(14, 125, 121, 0.94) !important;
    border: 1px solid rgba(14, 125, 121, 0.35) !important;
    color: #ffffff !important;
    box-shadow: 0 14px 30px rgba(14, 125, 121, 0.18) !important;
}

html[data-theme="dark"] .hero-story .hero-story__content .story-badge,
html[data-theme="dark"] .hero-story--showcase .hero-kicker {
    background: rgba(14, 125, 121, 0.96) !important;
    color: #ffffff !important;
}

.hero-story__cta,
.hero-story__cta:hover,
.hero-story__cta:focus {
    text-decoration: none !important;
}

.hero-grid:not(.hero-grid--showcase) .hero-story--feature .hero-story__media,
.hero-grid:not(.hero-grid--showcase) .hero-story--feature .hero-story__media picture,
.hero-grid:not(.hero-grid--showcase) .hero-story--feature .hero-story__media img {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.hero-grid:not(.hero-grid--showcase) .hero-story--feature .hero-story__media img {
    object-fit: cover !important;
    object-position: center !important;
}

.hero-grid:not(.hero-grid--showcase) .hero-story--feature .hero-story__content {
    align-content: center !important;
}

@media (max-width: 991px) {
    .hero-grid:not(.hero-grid--showcase) .hero-story--feature {
        grid-template-columns: 1fr !important;
    }
}

/* v115: homepage uses the category/tag hero system, galleries become a Kisure photo showcase, countdown stays logo+timer compact. */
.kisure-home-feature-hero.hero-grid--showcase {
    align-items: stretch !important;
}

.kisure-home-feature-hero .hero-story--showcase .hero-story__media {
    background: linear-gradient(135deg, rgba(14, 165, 164, 0.1), rgba(249, 115, 22, 0.1)) !important;
}

.kisure-home-feature-hero .hero-story--showcase .hero-story__content--showcase {
    background: linear-gradient(180deg, rgba(7, 21, 37, 0.02) 0%, rgba(7, 21, 37, 0.34) 42%, rgba(7, 21, 37, 0.92) 100%) !important;
}

.kisure-home-feature-hero .hero-story--showcase .story-title {
    max-width: 17ch !important;
}

.home-gallery-showcase {
    gap: 1.1rem !important;
}

.home-gallery-showcase__grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1.35fr) minmax(17rem, 0.65fr);
}

.home-gallery-showcase__grid--single {
    grid-template-columns: minmax(0, 1fr);
}

.home-gallery-feature {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    overflow: hidden;
}

.home-gallery-feature__media {
    aspect-ratio: 16 / 9;
    background: linear-gradient(135deg, rgba(14, 165, 164, 0.08), rgba(249, 115, 22, 0.08));
    display: block;
    overflow: hidden;
    position: relative;
}

.home-gallery-feature__media picture,
.home-gallery-feature__media img {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.home-gallery-feature__media::after {
    background: linear-gradient(180deg, transparent 45%, rgba(7, 17, 31, 0.52));
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
}

.home-gallery-feature__media .media-type-chip {
    left: 1rem;
    position: absolute;
    top: 1rem;
    z-index: 3;
}

.home-gallery-feature__media .gallery-count-chip {
    bottom: 1rem;
    position: absolute;
    right: 1rem;
    z-index: 3;
}

.home-gallery-feature__body {
    display: grid;
    gap: 0.8rem;
    padding: clamp(1rem, 1.8vw, 1.35rem);
}

.home-gallery-feature__body h3 {
    color: var(--bg-contrast);
    font-size: clamp(1.45rem, 2.1vw, 2.2rem);
    line-height: 1.05;
    margin: 0;
}

.home-gallery-feature__body p {
    color: var(--text-soft);
    margin: 0;
}

.home-gallery-rail {
    display: grid;
    gap: 0.8rem;
}

.home-gallery-rail__item {
    align-items: center;
    display: grid;
    gap: 0.85rem;
    grid-template-columns: 8.5rem minmax(0, 1fr);
    padding: 0.65rem;
}

.home-gallery-rail__media {
    aspect-ratio: 16 / 11;
    border-radius: 16px;
    overflow: hidden;
    position: relative;
}

.home-gallery-rail__media picture,
.home-gallery-rail__media img {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.home-gallery-rail__media span {
    align-items: center;
    background: rgba(7, 17, 31, 0.74);
    border-radius: 999px;
    bottom: 0.45rem;
    color: #fff;
    display: inline-flex;
    font-size: 0.75rem;
    font-weight: 800;
    gap: 0.35rem;
    left: 0.45rem;
    padding: 0.28rem 0.52rem;
    position: absolute;
}

.home-gallery-rail__body {
    display: grid;
    gap: 0.35rem;
}

.home-gallery-rail__body span {
    color: var(--accent);
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.home-gallery-rail__body h3 {
    color: var(--bg-contrast);
    font-size: 0.98rem;
    line-height: 1.2;
    margin: 0;
}

.event-countdown__summary {
    grid-template-columns: auto minmax(18rem, 1fr) auto !important;
}

.event-countdown__compact-brand {
    min-width: 0 !important;
}

.event-countdown__details .event-countdown__kicker,
.event-countdown__details h3,
.event-countdown__logo--large {
    display: none !important;
}

.event-countdown__details {
    grid-template-columns: minmax(0, 1fr) auto !important;
}

.event-countdown__details .event-countdown__headline-row {
    display: block !important;
}

.event-countdown__details p {
    max-width: 72ch !important;
}

@media (max-width: 1199px) {
    .home-gallery-showcase__grid {
        grid-template-columns: 1fr;
    }

    .home-gallery-rail {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .home-gallery-rail__item {
        align-content: start;
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    .home-gallery-rail {
        grid-template-columns: 1fr;
    }

    .home-gallery-rail__item {
        grid-template-columns: 7.5rem minmax(0, 1fr);
    }

    .event-countdown__summary {
        grid-template-columns: auto minmax(0, 1fr) auto !important;
    }

    .event-countdown__details {
        grid-template-columns: 1fr !important;
    }
}

/* v116: restore countdown top copy, strengthen shared hero readability, and add article excerpt space in the gallery popup. */
.event-countdown__compact-copy {
    min-width: 0 !important;
    max-width: clamp(9rem, 20vw, 18rem) !important;
}

.event-countdown__summary .event-countdown__compact-copy,
.event-countdown__summary .event-countdown__kicker,
.event-countdown__summary h3 {
    display: block !important;
}

.event-countdown__summary h3 {
    color: #fff !important;
    font-weight: 900 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.event-countdown__details .event-countdown__kicker,
.event-countdown__details h3,
.event-countdown__details .event-countdown__logo--large {
    display: none !important;
}

.site-panel--hero.hero-grid--showcase .hero-story--showcase::before {
    background:
        linear-gradient(90deg, rgba(3, 10, 24, 0.92) 0%, rgba(3, 10, 24, 0.74) 36%, rgba(3, 10, 24, 0.24) 72%, rgba(3, 10, 24, 0.06) 100%),
        linear-gradient(0deg, rgba(3, 10, 24, 0.92) 0%, rgba(3, 10, 24, 0.34) 46%, rgba(3, 10, 24, 0.08) 100%) !important;
    content: "" !important;
    inset: 0 !important;
    pointer-events: none !important;
    position: absolute !important;
    z-index: 1 !important;
}

.site-panel--hero.hero-grid--showcase .hero-story--showcase .hero-story__content--showcase {
    background: linear-gradient(180deg, rgba(3, 10, 24, 0.04) 0%, rgba(3, 10, 24, 0.24) 44%, rgba(3, 10, 24, 0.72) 100%) !important;
    position: relative !important;
    z-index: 2 !important;
}

.site-panel--hero.hero-grid--showcase .hero-story--showcase .hero-story__copy {
    position: relative !important;
    text-shadow: 0 2px 18px rgba(0, 0, 0, 0.52) !important;
    z-index: 3 !important;
}

.site-panel--hero.hero-grid--showcase .hero-story--showcase .hero-story__dek,
.site-panel--hero.hero-grid--showcase .hero-story--showcase .hero-story__meta {
    color: rgba(255, 255, 255, 0.92) !important;
}

.gallery-lightbox__meta .gallery-lightbox__article-excerpt {
    color: rgba(231, 238, 247, 0.82) !important;
    font-size: clamp(0.98rem, 1.2vw, 1.08rem) !important;
    line-height: 1.55 !important;
    margin: 1rem 0 0 !important;
    max-width: 34rem !important;
}

@media (max-width: 575px) {
    .event-countdown__compact-brand {
        gap: 0.42rem !important;
    }

    .event-countdown__compact-copy {
        max-width: 6.6rem !important;
    }

    .event-countdown--compact .event-countdown__logo {
        height: 34px !important;
        padding: 0.28rem !important;
        width: 34px !important;
    }

    .event-countdown__summary .event-countdown__kicker {
        font-size: 0.52rem !important;
        letter-spacing: 0.08em !important;
    }

    .event-countdown__summary h3 {
        font-size: 0.72rem !important;
        line-height: 1.08 !important;
    }
}

/* v117: final countdown visibility + mobile expanded layout + readable gallery popup excerpt. */
.event-countdown.event-countdown--compact {
    position: relative !important;
}

.event-countdown.event-countdown--compact::before {
    background: linear-gradient(90deg, rgba(2, 8, 23, 0.64) 0%, rgba(2, 8, 23, 0.34) 34%, rgba(14, 125, 121, 0.12) 100%) !important;
    content: "" !important;
    inset: 0 !important;
    pointer-events: none !important;
    position: absolute !important;
    z-index: 0 !important;
}

.event-countdown.event-countdown--compact > summary,
.event-countdown.event-countdown--compact > .event-countdown__details {
    position: relative !important;
    z-index: 1 !important;
}

.event-countdown__summary {
    grid-template-columns: minmax(25rem, 0.95fr) minmax(31rem, 1.45fr) auto !important;
}

.event-countdown__compact-brand {
    min-width: 0 !important;
    overflow: hidden !important;
}

.event-countdown__compact-copy {
    max-width: none !important;
    min-width: 0 !important;
    width: 100% !important;
}

.event-countdown__summary h3 {
    font-size: clamp(1rem, 1.35vw, 1.32rem) !important;
    letter-spacing: -0.02em !important;
    max-width: 100% !important;
}

.event-countdown--compact .event-countdown__timer {
    min-width: 0 !important;
}

.event-countdown__details .event-countdown__kicker--details,
.event-countdown__details .event-countdown__details-title {
    display: none !important;
}

.gallery-lightbox__meta .gallery-lightbox__article-excerpt {
    background: rgba(14, 125, 121, 0.075) !important;
    border: 1px solid rgba(14, 125, 121, 0.16) !important;
    border-radius: 18px !important;
    color: #243447 !important;
    font-weight: 650 !important;
    padding: 0.95rem 1rem !important;
}

html[data-theme="dark"] .gallery-lightbox__meta .gallery-lightbox__article-excerpt {
    background: rgba(255, 255, 255, 0.08) !important;
    border-color: rgba(255, 255, 255, 0.14) !important;
    color: rgba(255, 255, 255, 0.88) !important;
}

@media (min-width: 768px) and (max-width: 1199px) {
    .event-countdown__summary {
        grid-template-columns: minmax(18rem, 0.75fr) minmax(25rem, 1.25fr) auto !important;
    }

    .event-countdown__compact-copy {
        max-width: 26rem !important;
    }
}

@media (max-width: 767px) {
    .event-countdown-shell {
        margin-top: 0.7rem !important;
    }

    .event-countdown.event-countdown--compact {
        border-radius: 20px !important;
    }

    .event-countdown__summary {
        gap: 0.55rem !important;
        grid-template-columns: auto minmax(0, 1fr) auto !important;
        min-height: 4.2rem !important;
        padding: 0.55rem 0.6rem !important;
    }

    .event-countdown__summary .event-countdown__compact-copy {
        display: none !important;
    }

    .event-countdown--compact .event-countdown__logo {
        height: 38px !important;
        padding: 0.28rem !important;
        width: 38px !important;
    }

    .event-countdown--compact .event-countdown__timer {
        gap: 0.42rem !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        width: 100% !important;
    }

    .event-countdown--compact .event-countdown__unit {
        border-radius: 12px !important;
        min-height: 3.35rem !important;
        padding: 0.42rem 0.22rem !important;
    }

    .event-countdown--compact .event-countdown__unit strong {
        font-size: clamp(1rem, 4.5vw, 1.25rem) !important;
    }

    .event-countdown--compact .event-countdown__unit span {
        font-size: 0.6rem !important;
        letter-spacing: 0.03em !important;
    }

    .event-countdown__toggle {
        height: 2.2rem !important;
        width: 2.2rem !important;
    }

    .event-countdown__details {
        border-top: 0 !important;
        display: block !important;
        padding: 1.35rem 1.25rem 1.25rem !important;
    }

    .event-countdown__details .event-countdown__headline-row {
        display: block !important;
    }

    .event-countdown__details .event-countdown__kicker--details {
        align-items: center !important;
        background: rgba(255, 255, 255, 0.14) !important;
        border: 1px solid rgba(255, 255, 255, 0.2) !important;
        border-radius: 999px !important;
        color: #fff !important;
        display: inline-flex !important;
        font-size: 0.74rem !important;
        font-weight: 900 !important;
        letter-spacing: 0.16em !important;
        margin: 0 0 1rem !important;
        padding: 0.58rem 0.95rem !important;
        text-transform: uppercase !important;
    }

    .event-countdown__details .event-countdown__details-title {
        color: #fff !important;
        display: block !important;
        font-size: clamp(1.65rem, 7.2vw, 2.25rem) !important;
        font-weight: 950 !important;
        letter-spacing: -0.045em !important;
        line-height: 1.08 !important;
        margin: 0 0 0.75rem !important;
        text-shadow: 0 2px 16px rgba(0, 0, 0, 0.42) !important;
    }

    .event-countdown__details p {
        color: rgba(255, 255, 255, 0.92) !important;
        font-size: clamp(1.02rem, 4.2vw, 1.28rem) !important;
        line-height: 1.55 !important;
        max-width: none !important;
        text-shadow: 0 2px 16px rgba(0, 0, 0, 0.3) !important;
    }

    .event-countdown__details .event-countdown__action {
        background: #fff !important;
        border-radius: 999px !important;
        color: #071525 !important;
        display: inline-flex !important;
        font-size: 1.02rem !important;
        margin-top: 1.25rem !important;
        min-height: 3.2rem !important;
        padding: 0.8rem 1.45rem !important;
        width: fit-content !important;
    }
}

@media (max-width: 430px) {
    .event-countdown__summary {
        gap: 0.42rem !important;
        padding-left: 0.5rem !important;
        padding-right: 0.5rem !important;
    }

    .event-countdown--compact .event-countdown__logo {
        height: 34px !important;
        width: 34px !important;
    }

    .event-countdown--compact .event-countdown__timer {
        gap: 0.3rem !important;
    }

    .event-countdown--compact .event-countdown__unit {
        min-height: 3.05rem !important;
        padding: 0.36rem 0.16rem !important;
    }

    .event-countdown__toggle {
        height: 2rem !important;
        width: 2rem !important;
    }
}

/* v118: tablet/mobile countdown summary must stay compact: logo + timer + arrow only. Details show the label/title when opened. */
@media (max-width: 991px) {
    .event-countdown__summary {
        grid-template-columns: auto minmax(0, 1fr) auto !important;
        gap: 0.6rem !important;
        min-height: 4.45rem !important;
        padding: 0.62rem 0.7rem !important;
    }

    .event-countdown__summary .event-countdown__compact-copy,
    .event-countdown__summary .event-countdown__kicker,
    .event-countdown__summary h3 {
        display: none !important;
    }

    .event-countdown__compact-brand {
        gap: 0 !important;
        min-width: auto !important;
        overflow: visible !important;
    }

    .event-countdown--compact .event-countdown__logo {
        height: 48px !important;
        width: 48px !important;
        padding: 0.36rem !important;
        border-radius: 14px !important;
    }

    .event-countdown--compact .event-countdown__timer {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 0.48rem !important;
        min-width: 0 !important;
        width: 100% !important;
    }

    .event-countdown--compact .event-countdown__unit {
        min-width: 0 !important;
    }

    .event-countdown__details .event-countdown__kicker--details {
        display: inline-flex !important;
    }

    .event-countdown__details .event-countdown__details-title {
        display: block !important;
    }
}

@media (max-width: 575px) {
    .event-countdown__summary {
        gap: 0.48rem !important;
        min-height: 4.1rem !important;
        padding: 0.55rem 0.55rem !important;
    }

    .event-countdown--compact .event-countdown__logo {
        height: 44px !important;
        width: 44px !important;
        padding: 0.32rem !important;
        border-radius: 13px !important;
    }

    .event-countdown--compact .event-countdown__timer {
        gap: 0.34rem !important;
    }

    .event-countdown--compact .event-countdown__unit {
        min-height: 3.15rem !important;
        padding: 0.38rem 0.15rem !important;
    }

    .event-countdown__toggle {
        height: 2.15rem !important;
        width: 2.15rem !important;
    }
}

@media (max-width: 430px) {
    .event-countdown--compact .event-countdown__logo {
        height: 42px !important;
        width: 42px !important;
        padding: 0.3rem !important;
    }

    .event-countdown--compact .event-countdown__timer {
        gap: 0.26rem !important;
    }

    .event-countdown--compact .event-countdown__unit strong {
        font-size: clamp(0.92rem, 4.7vw, 1.08rem) !important;
    }

    .event-countdown--compact .event-countdown__unit span {
        font-size: 0.52rem !important;
    }
}


/* v120: complete gallery popup redesign */
.gallery-lightbox {
    display: grid !important;
    place-items: center !important;
    padding: 1rem !important;
}

.gallery-lightbox__backdrop {
    background: rgba(6, 12, 23, 0.72) !important;
    backdrop-filter: blur(8px) !important;
}

.gallery-lightbox__dialog {
    position: relative !important;
    width: min(100%, 1660px) !important;
    z-index: 2 !important;
}

.gallery-lightbox__frame {
    background: #ffffff !important;
    border: 1px solid rgba(15, 23, 42, 0.12) !important;
    border-radius: 28px !important;
    box-shadow: 0 32px 90px rgba(0, 0, 0, 0.28) !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1.5fr) minmax(320px, 430px) !important;
    height: min(92vh, 980px) !important;
    overflow: hidden !important;
    position: relative !important;
}

.gallery-lightbox__viewer {
    background: linear-gradient(180deg, #0b1220 0%, #111827 100%) !important;
    min-width: 0 !important;
    position: relative !important;
}

.gallery-lightbox__stage {
    align-items: center !important;
    background: radial-gradient(circle at top, rgba(20, 184, 166, 0.12), rgba(15, 23, 42, 0) 40%), linear-gradient(180deg, rgba(255, 255, 255, 0.02), rgba(255,255,255,0.01)) !important;
    display: flex !important;
    height: 100% !important;
    justify-content: center !important;
    padding: 1.35rem 5.2rem 1.35rem !important;
}

.gallery-lightbox__slide,
.gallery-lightbox__slide[data-gallery-active-slide] {
    align-content: stretch !important;
    display: grid !important;
    gap: 1rem !important;
    grid-template-rows: minmax(0, 1fr) auto !important;
    height: 100% !important;
    justify-items: center !important;
    width: 100% !important;
}

.gallery-lightbox__slide img,
.gallery-lightbox__slide[data-gallery-active-slide] img {
    border-radius: 20px !important;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.3) !important;
    display: block !important;
    height: auto !important;
    max-height: calc(100% - 0.5rem) !important;
    max-width: 100% !important;
    object-fit: contain !important;
    width: auto !important;
}

.gallery-lightbox__image-caption {
    background: rgba(15, 23, 42, 0.94) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 20px !important;
    color: #f8fafc !important;
    font-size: clamp(0.96rem, 1.2vw, 1.08rem) !important;
    font-weight: 700 !important;
    line-height: 1.55 !important;
    margin: 0 !important;
    max-width: min(100%, 980px) !important;
    padding: 1rem 1.2rem !important;
    text-align: center !important;
    width: fit-content !important;
}

.gallery-lightbox__meta {
    background: linear-gradient(180deg, #ffffff 0%, #f8fbfd 100%) !important;
    border-left: 1px solid rgba(15, 23, 42, 0.08) !important;
    color: #0f172a !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 1.1rem !important;
    overflow-y: auto !important;
    padding: 1.4rem 1.35rem 1.25rem !important;
}

.gallery-lightbox__meta-head {
    display: grid !important;
    gap: 0.95rem !important;
}

.gallery-lightbox__counter {
    align-items: center !important;
    background: rgba(14, 125, 121, 0.08) !important;
    border: 1px solid rgba(14, 125, 121, 0.12) !important;
    border-radius: 999px !important;
    color: #0f172a !important;
    display: inline-flex !important;
    font-weight: 700 !important;
    gap: 0.55rem !important;
    padding: 0.55rem 0.9rem !important;
    width: fit-content !important;
}

.gallery-lightbox__counter i {
    color: #0e7d79 !important;
}

.gallery-lightbox__meta h2 {
    color: #07111f !important;
    font-size: clamp(1.95rem, 2vw, 2.6rem) !important;
    font-weight: 900 !important;
    letter-spacing: -0.03em !important;
    line-height: 1.14 !important;
    margin: 0 !important;
}

.gallery-lightbox__full {
    align-items: center !important;
    align-self: start !important;
    background: rgba(14, 125, 121, 0.08) !important;
    border: 1px solid rgba(14, 125, 121, 0.18) !important;
    border-radius: 999px !important;
    color: #0e7d79 !important;
    display: inline-flex !important;
    font-size: 1rem !important;
    font-weight: 800 !important;
    gap: 0.6rem !important;
    min-height: 3.5rem !important;
    padding: 0.85rem 1.15rem !important;
    text-decoration: none !important;
    transition: transform 0.18s ease, box-shadow 0.18s ease !important;
    width: fit-content !important;
}

.gallery-lightbox__full:hover {
    box-shadow: 0 12px 24px rgba(14, 125, 121, 0.12) !important;
    transform: translateY(-1px) !important;
}

.gallery-lightbox__article-card {
    background: rgba(14, 125, 121, 0.06) !important;
    border: 1px solid rgba(14, 125, 121, 0.12) !important;
    border-radius: 20px !important;
    padding: 0 !important;
}

.gallery-lightbox__meta .gallery-lightbox__article-excerpt {
    color: #243447 !important;
    font-size: 1.04rem !important;
    font-weight: 650 !important;
    line-height: 1.65 !important;
    margin: 0 !important;
    max-width: none !important;
    padding: 1rem 1.05rem !important;
}

.gallery-lightbox__thumbs-wrap {
    border-top: 1px solid rgba(15, 23, 42, 0.08) !important;
    display: grid !important;
    gap: 0.8rem !important;
    margin-top: auto !important;
    padding-top: 1rem !important;
}

.gallery-lightbox__thumbs-label {
    color: #475569 !important;
    font-size: 0.85rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.08em !important;
    margin: 0 !important;
    text-transform: uppercase !important;
}

.gallery-lightbox__thumbs {
    border-top: 0 !important;
    display: grid !important;
    gap: 0.7rem !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.gallery-lightbox__thumbs button {
    aspect-ratio: 1 / 1 !important;
    background: #dfe8f0 !important;
    border: 3px solid transparent !important;
    border-radius: 16px !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08) !important;
    overflow: hidden !important;
    position: relative !important;
    transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease !important;
}

.gallery-lightbox__thumbs button:hover {
    transform: translateY(-1px) !important;
}

.gallery-lightbox__thumbs button.is-active {
    border-color: #0e7d79 !important;
    box-shadow: 0 14px 28px rgba(14, 125, 121, 0.16) !important;
}

.gallery-lightbox__thumbs img {
    display: block !important;
    height: 100% !important;
    object-fit: cover !important;
    width: 100% !important;
}

.gallery-lightbox__close,
.gallery-lightbox__nav {
    align-items: center !important;
    appearance: none !important;
    border: 0 !important;
    border-radius: 999px !important;
    cursor: pointer !important;
    display: inline-flex !important;
    justify-content: center !important;
    z-index: 5 !important;
}

.gallery-lightbox__close {
    background: rgba(255, 255, 255, 0.94) !important;
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.18) !important;
    color: #07111f !important;
    font-size: 1.35rem !important;
    height: 3rem !important;
    position: absolute !important;
    right: 1rem !important;
    top: 1rem !important;
    width: 3rem !important;
}

.gallery-lightbox__nav {
    background: rgba(7, 17, 31, 0.94) !important;
    box-shadow: 0 16px 32px rgba(0, 0, 0, 0.24) !important;
    color: #fff !important;
    height: 3.6rem !important;
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 3.6rem !important;
}

.gallery-lightbox__nav--prev {
    left: 1rem !important;
}

.gallery-lightbox__nav--next {
    right: 1rem !important;
}

html[data-theme="dark"] .gallery-lightbox__frame {
    background: #0f172a !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
}

html[data-theme="dark"] .gallery-lightbox__meta {
    background: linear-gradient(180deg, #111827 0%, #0f172a 100%) !important;
    border-left-color: rgba(255, 255, 255, 0.08) !important;
    color: rgba(255, 255, 255, 0.92) !important;
}

html[data-theme="dark"] .gallery-lightbox__counter {
    background: rgba(14, 125, 121, 0.18) !important;
    border-color: rgba(45, 212, 191, 0.16) !important;
    color: rgba(255, 255, 255, 0.92) !important;
}

html[data-theme="dark"] .gallery-lightbox__meta h2 {
    color: #f8fafc !important;
}

html[data-theme="dark"] .gallery-lightbox__full {
    background: rgba(45, 212, 191, 0.12) !important;
    border-color: rgba(45, 212, 191, 0.2) !important;
    color: #7dd3fc !important;
}

html[data-theme="dark"] .gallery-lightbox__article-card {
    background: rgba(255, 255, 255, 0.06) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
}

html[data-theme="dark"] .gallery-lightbox__meta .gallery-lightbox__article-excerpt,
html[data-theme="dark"] .gallery-lightbox__thumbs-label {
    color: rgba(226, 232, 240, 0.9) !important;
}

html[data-theme="dark"] .gallery-lightbox__close {
    background: rgba(15, 23, 42, 0.92) !important;
    color: #f8fafc !important;
}

@media (max-width: 1199px) {
    .gallery-lightbox__frame {
        grid-template-columns: minmax(0, 1.2fr) minmax(300px, 380px) !important;
    }

    .gallery-lightbox__meta h2 {
        font-size: clamp(1.55rem, 2vw, 2rem) !important;
    }

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

@media (max-width: 991px) {
    .gallery-lightbox {
        padding: 0.75rem !important;
    }

    .gallery-lightbox__dialog {
        height: 100% !important;
        width: 100% !important;
    }

    .gallery-lightbox__frame {
        grid-template-columns: minmax(0, 1fr) !important;
        grid-template-rows: auto minmax(0, 1fr) !important;
        height: calc(100vh - 1.5rem) !important;
    }

    .gallery-lightbox__viewer {
        min-height: 0 !important;
    }

    .gallery-lightbox__stage {
        height: auto !important;
        min-height: min(52vh, 30rem) !important;
        padding: 4.5rem 1rem 1rem !important;
    }

    .gallery-lightbox__slide img,
    .gallery-lightbox__slide[data-gallery-active-slide] img {
        max-height: 38vh !important;
    }

    .gallery-lightbox__meta {
        border-left: 0 !important;
        border-top: 1px solid rgba(15, 23, 42, 0.08) !important;
        padding: 1rem !important;
    }

    .gallery-lightbox__meta-head {
        gap: 0.8rem !important;
    }

    .gallery-lightbox__meta h2 {
        font-size: clamp(1.4rem, 4.8vw, 1.9rem) !important;
    }

    .gallery-lightbox__thumbs {
        display: flex !important;
        gap: 0.7rem !important;
        overflow-x: auto !important;
        padding-bottom: 0.2rem !important;
        scroll-snap-type: x proximity !important;
    }

    .gallery-lightbox__thumbs button {
        flex: 0 0 92px !important;
        scroll-snap-align: start !important;
    }
}

@media (max-width: 640px) {
    .gallery-lightbox {
        padding: 0 !important;
    }

    .gallery-lightbox__frame {
        border-radius: 0 !important;
        height: 100vh !important;
        max-height: 100vh !important;
    }

    .gallery-lightbox__close {
        right: 0.9rem !important;
        top: 0.85rem !important;
    }

    .gallery-lightbox__stage {
        min-height: 0 !important;
        padding: 4.25rem 0.9rem 0.9rem !important;
    }

    .gallery-lightbox__slide,
    .gallery-lightbox__slide[data-gallery-active-slide] {
        gap: 0.85rem !important;
    }

    .gallery-lightbox__slide img,
    .gallery-lightbox__slide[data-gallery-active-slide] img {
        border-radius: 16px !important;
        max-height: 34vh !important;
    }

    .gallery-lightbox__image-caption {
        border-radius: 18px !important;
        font-size: 1.02rem !important;
        line-height: 1.5 !important;
        padding: 0.95rem 1rem !important;
        width: 100% !important;
    }

    .gallery-lightbox__nav {
        bottom: 1.15rem !important;
        height: 3.25rem !important;
        top: auto !important;
        transform: none !important;
        width: 3.25rem !important;
    }

    .gallery-lightbox__nav--prev {
        left: 1rem !important;
    }

    .gallery-lightbox__nav--next {
        right: 1rem !important;
    }

    .gallery-lightbox__counter {
        font-size: 0.92rem !important;
        padding: 0.5rem 0.78rem !important;
    }

    .gallery-lightbox__meta h2 {
        font-size: 1.16rem !important;
        line-height: 1.2 !important;
    }

    .gallery-lightbox__full {
        min-height: 3.15rem !important;
        width: 100% !important;
    }

    .gallery-lightbox__meta .gallery-lightbox__article-excerpt {
        font-size: 0.98rem !important;
        line-height: 1.58 !important;
        padding: 0.9rem !important;
    }

    .gallery-lightbox__thumbs-label {
        font-size: 0.78rem !important;
    }

    .gallery-lightbox__thumbs button {
        flex-basis: 84px !important;
    }
}


/* v122: gallery popup final polish for clearer title, excerpt, and thumbnails */
.gallery-lightbox__dialog {
    filter: drop-shadow(0 30px 70px rgba(2, 6, 23, 0.26));
}

.gallery-lightbox__frame {
    border-radius: 32px !important;
    grid-template-columns: minmax(0, 1.58fr) minmax(350px, 450px) !important;
}

.gallery-lightbox__viewer {
    background:
        radial-gradient(circle at 20% 18%, rgba(45, 212, 191, 0.18), transparent 28%),
        linear-gradient(145deg, #07111f 0%, #0d1726 48%, #07111f 100%) !important;
}

.gallery-lightbox__stage {
    padding: 2rem 5.75rem 1.75rem !important;
}

.gallery-lightbox__slide img,
.gallery-lightbox__slide[data-gallery-active-slide] img {
    background: #0b1220 !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.24) !important;
}

.gallery-lightbox__image-caption {
    background: rgba(15, 23, 42, 0.92) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    color: #ffffff !important;
}

.gallery-lightbox__meta {
    background:
        radial-gradient(circle at 100% 0%, rgba(14, 125, 121, 0.10), transparent 24%),
        linear-gradient(180deg, #ffffff 0%, #f4f8fb 100%) !important;
    gap: 1.25rem !important;
    padding: 2rem !important;
}

.gallery-lightbox__meta-head {
    gap: 1rem !important;
}

.gallery-lightbox__meta h2 {
    color: #07111f !important;
    font-size: clamp(1.8rem, 2vw, 2.42rem) !important;
    letter-spacing: -0.035em !important;
    line-height: 1.08 !important;
    text-wrap: balance;
}

.gallery-lightbox__counter {
    background: rgba(14, 125, 121, 0.10) !important;
    color: #06313c !important;
}

.gallery-lightbox__full {
    background: #07111f !important;
    border-color: #07111f !important;
    color: #ffffff !important;
    width: fit-content !important;
}

.gallery-lightbox__full i {
    color: #2dd4bf !important;
}

.gallery-lightbox__article-card {
    background: #ffffff !important;
    border: 1px solid rgba(14, 125, 121, 0.14) !important;
    border-left: 5px solid #0e7d79 !important;
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.08) !important;
}

.gallery-lightbox__meta .gallery-lightbox__article-excerpt {
    color: #1f3144 !important;
    font-size: 1.02rem !important;
    font-weight: 650 !important;
}

.gallery-lightbox__thumbs-wrap {
    margin-top: 0 !important;
}

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

.gallery-lightbox__thumbs button {
    border-radius: 14px !important;
}

html[data-theme="dark"] .gallery-lightbox__article-card {
    background: rgba(255, 255, 255, 0.06) !important;
    border-color: rgba(45, 212, 191, 0.16) !important;
    border-left-color: #2dd4bf !important;
}

html[data-theme="dark"] .gallery-lightbox__full {
    background: #e8fffc !important;
    border-color: #e8fffc !important;
    color: #052c35 !important;
}

@media (max-width: 1199px) {
    .gallery-lightbox__frame {
        grid-template-columns: minmax(0, 1.25fr) minmax(320px, 390px) !important;
    }

    .gallery-lightbox__stage {
        padding-left: 4.75rem !important;
        padding-right: 4.75rem !important;
    }
}

@media (max-width: 991px) {
    .gallery-lightbox__frame {
        border-radius: 24px !important;
        grid-template-columns: 1fr !important;
        grid-template-rows: minmax(0, 54vh) auto !important;
    }

    .gallery-lightbox__stage {
        min-height: 0 !important;
        padding: 4.6rem 1rem 1rem !important;
    }

    .gallery-lightbox__slide img,
    .gallery-lightbox__slide[data-gallery-active-slide] img {
        max-height: 40vh !important;
    }

    .gallery-lightbox__meta {
        gap: .9rem !important;
        max-height: 46vh !important;
        overflow: auto !important;
        padding: 1rem !important;
    }

    .gallery-lightbox__meta h2 {
        font-size: clamp(1.28rem, 4.2vw, 1.8rem) !important;
    }

    .gallery-lightbox__article-card {
        border-left-width: 4px !important;
    }

    .gallery-lightbox__thumbs button {
        flex: 0 0 88px !important;
    }
}

@media (max-width: 640px) {
    .gallery-lightbox__frame {
        border-radius: 0 !important;
        grid-template-rows: minmax(0, 48vh) auto !important;
    }

    .gallery-lightbox__stage {
        padding-top: 4.15rem !important;
    }

    .gallery-lightbox__slide img,
    .gallery-lightbox__slide[data-gallery-active-slide] img {
        max-height: 32vh !important;
    }

    .gallery-lightbox__meta {
        max-height: 52vh !important;
    }

    .gallery-lightbox__counter {
        width: fit-content !important;
    }

    .gallery-lightbox__meta-head {
        align-items: flex-start !important;
        flex-direction: column !important;
    }

    .gallery-lightbox__full {
        width: 100% !important;
    }
}


/* v126: public football data-engine experience */
.football-page {
    display: grid;
    gap: 1.35rem;
}

.football-hero,
.football-club-hero,
.football-match-hero,
.football-player-hero,
.football-compact-hero,
.football-home-board {
    background: var(--hero-gradient);
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-md);
    color: var(--text);
    overflow: hidden;
    position: relative;
}

.football-hero::after,
.football-home-board::after,
.football-match-hero::after,
.football-club-hero::after,
.football-player-hero::after,
.football-compact-hero::after {
    background: radial-gradient(circle, rgba(14, 165, 164, 0.16), transparent 62%);
    content: "";
    height: 16rem;
    pointer-events: none;
    position: absolute;
    right: -5rem;
    top: -6rem;
    width: 16rem;
}

.football-hero,
.football-club-hero,
.football-player-hero,
.football-compact-hero--split {
    align-items: center;
    display: grid;
    gap: 1.35rem;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: clamp(1.25rem, 3vw, 2.6rem);
}

.football-compact-hero:not(.football-compact-hero--split) {
    padding: clamp(1.25rem, 3vw, 2.2rem);
}

.football-hero h1,
.football-club-hero h1,
.football-match-hero h1,
.football-player-hero h1,
.football-compact-hero h1,
.football-home-board h2 {
    color: var(--bg-contrast);
    font-size: clamp(2rem, 4vw, 4rem);
    letter-spacing: -0.055em;
    line-height: 1.02;
    margin: 0;
}

.football-home-board h2 {
    font-size: clamp(1.55rem, 2.5vw, 2.5rem);
}

.football-hero p,
.football-club-hero p,
.football-player-hero p,
.football-compact-hero p,
.football-home-board p {
    color: var(--text-soft);
    font-size: clamp(0.98rem, 1.3vw, 1.14rem);
    margin: 0.65rem 0 0;
    max-width: 760px;
}

.football-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 1rem;
}

.site-button--ghost {
    background: var(--bg-soft) !important;
    border: 1px solid var(--border-strong) !important;
    color: var(--bg-contrast) !important;
}

.football-hero-scorecard,
.football-hero__panel {
    background: var(--bg-elevated);
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm);
    display: grid;
    gap: 0.85rem;
    min-width: min(390px, 100%);
    padding: 1.05rem;
    position: relative;
    z-index: 1;
}

.football-hero-scorecard__league,
.football-hero-scorecard__meta {
    color: var(--primary-strong);
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.football-hero-scorecard__teams {
    align-items: center;
    display: grid;
    gap: 0.75rem;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
}

.football-hero-scorecard__teams a:not(.football-hero-scorecard__score) {
    align-items: center;
    color: var(--bg-contrast);
    display: grid;
    font-weight: 900;
    gap: 0.5rem;
    justify-items: center;
    text-align: center;
}

.football-hero-scorecard__teams img,
.football-fixture-tile__teams img,
.football-schedule-row__team img,
.football-table-team img,
.football-mini-table img,
.football-player-team-link img {
    background: var(--surface-strong);
    border: 1px solid var(--border);
    border-radius: 999px;
    height: 38px;
    object-fit: contain;
    padding: 0.22rem;
    width: 38px;
}

.football-hero-scorecard__score {
    align-items: center;
    background: linear-gradient(135deg, var(--primary), var(--primary-strong));
    border-radius: 18px;
    color: #fff !important;
    display: inline-flex;
    font-family: var(--font-display);
    font-size: clamp(1.35rem, 3vw, 2.4rem);
    font-weight: 900;
    justify-content: center;
    min-height: 74px;
    min-width: 96px;
    padding: 0 0.85rem;
}

.football-quick-panel,
.football-stat-grid {
    display: grid;
    gap: 0.9rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.football-quick-panel a,
.football-stat-grid > div {
    background: var(--bg-elevated);
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm);
    color: var(--text);
    display: grid;
    gap: 0.15rem;
    padding: 1rem;
}

.football-quick-panel strong,
.football-stat-grid strong {
    color: var(--bg-contrast);
    font-family: var(--font-display);
    font-size: clamp(1.45rem, 2.2vw, 2.25rem);
    line-height: 1;
}

.football-quick-panel span,
.football-stat-grid span {
    color: var(--text-soft);
    font-size: 0.82rem;
    font-weight: 850;
    text-transform: uppercase;
}

.football-home-board {
    padding: clamp(1rem, 2.5vw, 1.5rem);
}

.football-home-board__head,
.football-home-board__bottom,
.football-feed-strip__head {
    align-items: center;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    position: relative;
    z-index: 1;
}

.football-fixture-strip {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(4, minmax(270px, 1fr));
    margin-top: 1.2rem;
    overflow-x: auto;
    padding-bottom: 0.15rem;
    position: relative;
    scroll-snap-type: x proximity;
    z-index: 1;
}

.football-fixture-tile {
    background: var(--bg-elevated);
    border: 1px solid var(--border);
    border-radius: 20px;
    box-shadow: var(--shadow-sm);
    min-width: 270px;
    overflow: hidden;
    scroll-snap-align: start;
}

.football-fixture-tile__league {
    align-items: center;
    background: linear-gradient(135deg, var(--primary-strong), var(--primary));
    color: #fff !important;
    display: flex;
    gap: 0.65rem;
    justify-content: space-between;
    padding: 0.82rem 1rem;
}

.football-fixture-tile__league span {
    font-family: var(--font-display);
    font-size: 1rem;
    font-weight: 900;
    line-height: 1.12;
}

.football-fixture-tile__league small {
    color: rgba(255, 255, 255, 0.86);
    font-weight: 800;
    white-space: nowrap;
}

.football-fixture-tile__body {
    align-items: center;
    display: grid;
    gap: 0.75rem;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 0.95rem 1rem 0.75rem;
}

.football-fixture-tile__teams {
    display: grid;
    gap: 0.5rem;
    min-width: 0;
}

.football-fixture-tile__teams a {
    align-items: center;
    color: var(--text);
    display: flex;
    font-size: 0.98rem;
    font-weight: 850;
    gap: 0.55rem;
    min-width: 0;
}

.football-fixture-tile__teams span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.football-fixture-tile__kickoff {
    border-left: 1px solid var(--border);
    color: var(--bg-contrast);
    display: grid;
    gap: 0.2rem;
    min-width: 92px;
    padding-left: 0.85rem;
    text-align: center;
}

.football-fixture-tile__kickoff strong {
    font-family: var(--font-display);
    font-size: 1rem;
}

.football-fixture-tile__kickoff small,
.football-fixture-tile__venue {
    color: var(--text-soft);
    font-size: 0.76rem;
    font-weight: 800;
}

.football-fixture-tile__venue {
    border-top: 1px solid var(--border);
    padding: 0.65rem 1rem;
}

.football-home-board__bottom {
    align-items: flex-start;
    border-top: 1px solid var(--border);
    margin-top: 1rem;
    padding-top: 1rem;
}

.football-home-board__summary {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
}

.football-home-board__summary span,
.football-competition-rail a,
.football-season-switcher a {
    background: var(--surface-strong);
    border: 1px solid var(--border);
    border-radius: 999px;
    color: var(--text);
    font-size: 0.82rem;
    font-weight: 850;
    padding: 0.45rem 0.75rem;
}

.football-home-board__summary strong {
    color: var(--primary-strong);
}

.football-competition-rail {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: flex-end;
}

.football-competition-rail a:hover,
.football-season-switcher a.is-active,
.football-season-switcher a:hover {
    background: var(--primary);
    color: #fff;
}

.football-section,
.football-side-panel,
.football-table-wrap {
    background: var(--bg-elevated);
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm);
    padding: clamp(1rem, 2vw, 1.5rem);
}

.football-section--flush .section-heading {
    margin-bottom: 1rem;
}

.football-layout {
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 380px);
}

.football-layout--wide-main {
    grid-template-columns: minmax(0, 1fr) minmax(290px, 360px);
}

.football-card-grid,
.football-player-grid,
.football-data-grid,
.football-competition-grid,
.football-match-summary-grid {
    display: grid;
    gap: 1rem;
}

.football-card-grid {
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}

.football-card-grid--compact {
    grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
}

.football-player-grid,
.football-data-grid,
.football-stat-grid {
    grid-template-columns: repeat(auto-fit, minmax(165px, 1fr));
}

.football-data-grid--wide {
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.football-competition-grid {
    grid-template-columns: repeat(auto-fit, minmax(255px, 1fr));
}

.football-match-summary-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.football-match-card {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 20px;
    box-shadow: var(--shadow-sm);
    color: var(--text);
    display: grid;
    gap: 0.85rem;
    min-height: 166px;
    padding: 1rem;
    text-decoration: none;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.football-match-card:hover {
    border-color: rgba(14, 165, 164, 0.35);
    box-shadow: var(--shadow-md);
    transform: translateY(-2px);
}

.football-match-card.is-live {
    border-color: rgba(239, 68, 68, 0.35);
}

.football-match-card__top,
.football-match-card__meta {
    align-items: center;
    color: var(--text-soft);
    display: flex;
    font-size: 0.78rem;
    font-weight: 850;
    gap: 0.6rem;
    justify-content: space-between;
    text-transform: uppercase;
}

.football-match-card__league {
    color: var(--primary-strong);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.football-match-card__time,
.football-match-card__meta a,
.football-panel-link {
    background: rgba(14, 165, 164, 0.10);
    border-radius: 999px;
    color: var(--primary-strong);
    font-weight: 900;
    padding: 0.28rem 0.55rem;
    white-space: nowrap;
}

.football-match-card.is-live .football-match-card__time {
    background: rgba(239, 68, 68, 0.12);
    color: var(--danger);
}

.football-match-card__teams {
    align-items: center;
    display: grid;
    gap: 0.75rem;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
}

.football-match-card__team {
    align-items: center;
    color: var(--text);
    display: flex;
    gap: 0.55rem;
    min-width: 0;
}

.football-match-card__team:hover span,
.football-table-team:hover strong,
.football-schedule-row__team:hover span {
    color: var(--primary-strong);
}

.football-match-card__team--away {
    justify-content: flex-end;
    text-align: right;
}

.football-match-card__team img,
.football-match-card__team b,
.football-club-hero__badge,
.football-player-hero__photo {
    align-items: center;
    background: var(--surface-strong);
    border: 1px solid var(--border);
    border-radius: 14px;
    display: inline-flex;
    flex: 0 0 auto;
    height: 42px;
    justify-content: center;
    object-fit: contain;
    padding: 0.15rem;
    width: 42px;
}

.football-match-card__team span {
    font-weight: 900;
    line-height: 1.18;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.football-match-card__score {
    align-items: center;
    background: var(--bg-contrast);
    border-radius: 14px;
    color: var(--surface) !important;
    display: inline-flex;
    font-weight: 900;
    gap: 0.35rem;
    justify-content: center;
    min-height: 44px;
    min-width: 74px;
    padding: 0 0.72rem;
}

.football-match-card__meta {
    border-top: 1px solid var(--border);
    padding-top: 0.65rem;
}

.football-empty {
    background: var(--surface-strong);
    border: 1px dashed var(--border-strong);
    border-radius: 18px;
    color: var(--text-soft);
    font-weight: 800;
    padding: 1rem;
}

.football-side-panel {
    align-self: start;
}

.football-link-list,
.football-article-list,
.football-mini-table,
.football-timeline,
.football-info-list,
.football-schedule-list,
.football-lineup-card__players {
    display: grid;
    gap: 0.7rem;
}

.football-link-list a,
.football-article-list a,
.football-mini-table a,
.football-mini-table div,
.football-timeline__item,
.football-data-card,
.football-player-card,
.football-stat-grid > div,
.football-info-list a,
.football-info-list > span,
.football-summary-team,
.football-summary-kickoff {
    background: var(--surface-strong);
    border: 1px solid var(--border);
    border-radius: 16px;
    color: var(--text);
    padding: 0.85rem;
    text-decoration: none;
}

.football-link-list a,
.football-article-list a,
.football-mini-table a,
.football-mini-table div,
.football-info-list a,
.football-info-list > span {
    align-items: center;
    display: flex;
    justify-content: space-between;
}

.football-link-list a.is-active,
.football-mini-table a.is-active {
    border-color: rgba(14, 165, 164, 0.38);
    box-shadow: inset 4px 0 0 var(--primary);
}

.football-mini-table strong,
.football-table-team {
    align-items: center;
    display: inline-flex;
    gap: 0.5rem;
}

.football-mini-table img,
.football-table-team img {
    height: 28px;
    width: 28px;
}

.football-muted {
    color: var(--text-soft);
    font-weight: 700;
}

.football-club-hero__badge,
.football-player-hero__photo {
    border-radius: 24px;
    height: 104px;
    width: 104px;
}

.football-club-hero__badge img,
.football-player-hero__photo img {
    height: 100%;
    object-fit: contain;
    width: 100%;
}

.football-player-team-link {
    align-items: center;
    background: var(--bg-elevated);
    border: 1px solid var(--border);
    border-radius: 999px;
    color: var(--text);
    display: inline-flex;
    font-weight: 900;
    gap: 0.5rem;
    margin-top: 0.9rem;
    padding: 0.45rem 0.75rem;
}

.football-section-tabs {
    display: flex;
    gap: 0.6rem;
    overflow-x: auto;
}

.football-section-tabs a {
    background: var(--bg-elevated);
    border: 1px solid var(--border);
    border-radius: 999px;
    color: var(--primary-strong);
    flex: 0 0 auto;
    font-weight: 900;
    padding: 0.7rem 1rem;
    text-decoration: none;
}

.football-section-tabs a:hover {
    background: var(--primary);
    color: #fff;
}

.football-match-hero {
    align-items: center;
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    padding: clamp(1rem, 3vw, 2rem);
}

.football-match-hero__team {
    align-items: center;
    color: var(--bg-contrast);
    display: grid;
    gap: 0.8rem;
    justify-items: start;
    position: relative;
    z-index: 1;
}

.football-match-hero__team span {
    color: var(--text-soft);
    font-weight: 900;
    text-transform: uppercase;
}

.football-match-hero__team--away {
    justify-items: end;
    text-align: right;
}

.football-match-hero__team img,
.football-summary-team img {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 18px;
    height: 72px;
    object-fit: contain;
    padding: 0.5rem;
    width: 72px;
}

.football-match-hero__score {
    background: var(--bg-elevated);
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm);
    display: grid;
    gap: 0.45rem;
    min-width: 210px;
    padding: 1rem;
    position: relative;
    text-align: center;
    z-index: 1;
}

.football-match-hero__score a,
.football-match-hero__score small {
    color: var(--text-soft);
    font-weight: 850;
}

.football-match-hero__score div {
    align-items: center;
    display: inline-flex;
    gap: 0.65rem;
    justify-content: center;
}

.football-match-hero__score strong {
    color: var(--bg-contrast);
    font-size: clamp(2rem, 5vw, 4rem);
    line-height: 1;
}

.football-summary-team,
.football-summary-kickoff {
    align-items: center;
    display: grid;
    gap: 0.5rem;
    justify-items: center;
    text-align: center;
}

.football-summary-team strong,
.football-summary-kickoff strong {
    color: var(--bg-contrast);
    font-family: var(--font-display);
    font-size: 1.15rem;
}

.football-summary-team span,
.football-summary-kickoff span,
.football-summary-kickoff small {
    color: var(--text-soft);
    font-size: 0.82rem;
    font-weight: 850;
}

.football-info-list i {
    color: var(--primary-strong);
    margin-right: 0.7rem;
}

.football-info-list span span {
    display: grid;
}

.football-info-list small {
    color: var(--text-soft);
}

.football-timeline__item span {
    color: var(--primary-strong);
    font-weight: 900;
}

.football-timeline__item p,
.football-data-card p {
    color: var(--text-soft);
    margin: 0.25rem 0 0;
}

.football-lineup-card__players {
    grid-template-columns: repeat(auto-fit, minmax(115px, 1fr));
    margin-top: 0.85rem;
}

.football-lineup-card__players a,
.football-lineup-card__players span {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 999px;
    color: var(--text);
    font-size: 0.82rem;
    font-weight: 800;
    padding: 0.4rem 0.55rem;
}

.football-date-filter {
    background: var(--bg-elevated);
    border: 1px solid var(--border);
    border-radius: 18px;
    display: grid;
    gap: 0.4rem;
    padding: 0.85rem;
    position: relative;
    z-index: 1;
}

.football-date-filter label {
    color: var(--text-soft);
    font-size: 0.78rem;
    font-weight: 900;
    text-transform: uppercase;
}

.football-date-filter input {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 12px;
    color: var(--text);
    padding: 0.55rem;
}

.football-schedule-day h3 {
    margin: 0.6rem 0 0;
}

.football-schedule-competition {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 20px;
    overflow: hidden;
}

.football-schedule-competition__head {
    align-items: center;
    background: linear-gradient(135deg, var(--primary-strong), var(--primary));
    color: #fff !important;
    display: flex;
    font-weight: 900;
    gap: 1rem;
    justify-content: space-between;
    padding: 0.8rem 1rem;
}

.football-schedule-competition__head small {
    color: rgba(255, 255, 255, 0.86);
}

.football-schedule-row {
    align-items: center;
    border-top: 1px solid var(--border);
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1fr) minmax(130px, auto) minmax(0, 1fr);
    padding: 0.85rem 1rem;
}

.football-schedule-row__team {
    align-items: center;
    color: var(--text);
    display: flex;
    font-weight: 850;
    gap: 0.55rem;
    min-width: 0;
}

.football-schedule-row__team--home {
    justify-content: flex-end;
    text-align: right;
}

.football-schedule-row__middle {
    color: var(--text);
    display: grid;
    gap: 0.15rem;
    text-align: center;
}

.football-schedule-row__middle small,
.football-schedule-row__middle em {
    color: var(--text-soft);
    font-size: 0.72rem;
    font-style: normal;
    font-weight: 800;
}

.football-schedule-row__middle strong {
    color: var(--bg-contrast);
    font-family: var(--font-display);
    font-size: 1.05rem;
}

.football-competition-card {
    align-items: center;
    background: var(--surface-strong);
    border: 1px solid var(--border);
    border-radius: 18px;
    color: var(--text);
    display: grid;
    gap: 0.75rem;
    grid-template-columns: auto minmax(0, 1fr) auto;
    padding: 0.9rem;
}

.football-competition-card:hover {
    border-color: rgba(14, 165, 164, 0.35);
    transform: translateY(-1px);
}

.football-competition-card__logo {
    align-items: center;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 16px;
    display: inline-flex;
    height: 44px;
    justify-content: center;
    width: 44px;
}

.football-competition-card__logo img {
    height: 34px;
    object-fit: contain;
    width: 34px;
}

.football-competition-card strong,
.football-competition-card small {
    display: block;
}

.football-competition-card small {
    color: var(--text-soft);
    font-size: 0.78rem;
    margin-top: 0.08rem;
}

.football-season-switcher {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    justify-content: flex-end;
    position: relative;
    z-index: 1;
}

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

.football-table-wrap {
    overflow-x: auto;
    padding: 0;
}

.football-section--table .football-table-wrap {
    border-radius: 18px;
}

.football-table th,
.football-table td {
    border-bottom: 1px solid var(--border);
    padding: 0.85rem;
    text-align: left;
    vertical-align: middle;
}

.football-table th {
    background: linear-gradient(135deg, var(--primary-strong), var(--primary));
    color: #fff;
    font-size: 0.78rem;
    text-transform: uppercase;
}

.football-table tbody tr:hover {
    background: rgba(14, 165, 164, 0.06);
}

.football-table-rank {
    align-items: center;
    background: var(--surface-strong);
    border: 1px solid var(--border);
    border-radius: 10px;
    display: inline-flex;
    font-weight: 900;
    justify-content: center;
    min-width: 2rem;
    padding: 0.15rem 0.35rem;
}

.football-table-team {
    color: var(--text);
    font-weight: 900;
}

.football-table-team--small {
    font-weight: 800;
}

.football-form-chips {
    display: inline-flex;
    gap: 0.24rem;
}

.football-form-chips span,
.football-form-chips a {
    align-items: center;
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    font-size: 0.68rem;
    font-weight: 900;
    height: 1.45rem;
    justify-content: center;
    text-decoration: none;
    width: 1.45rem;
}

.football-form-chips .is-w { background: var(--success); }
.football-form-chips .is-d { background: var(--accent); }
.football-form-chips .is-l { background: var(--danger); }
.football-form-chips .is-n { background: var(--text-faint); }

html[data-theme="dark"] .football-match-card,
html[data-theme="dark"] .football-fixture-tile,
html[data-theme="dark"] .football-schedule-competition,
html[data-theme="dark"] .football-table-wrap {
    background: var(--surface);
}

@media (max-width: 1180px) {
    .football-fixture-strip {
        grid-auto-columns: minmax(270px, 360px);
        grid-auto-flow: column;
        grid-template-columns: none;
    }
}

@media (max-width: 991px) {
    .football-hero,
    .football-club-hero,
    .football-player-hero,
    .football-compact-hero--split,
    .football-layout,
    .football-match-hero {
        grid-template-columns: 1fr;
    }

    .football-hero-scorecard,
    .football-hero__panel,
    .football-date-filter {
        width: 100%;
    }

    .football-match-hero__team,
    .football-match-hero__team--away {
        justify-items: center;
        text-align: center;
    }

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

    .football-home-board__head,
    .football-home-board__bottom {
        align-items: flex-start;
        flex-direction: column;
    }

    .football-competition-rail {
        justify-content: flex-start;
    }
}

@media (max-width: 640px) {
    .football-page {
        gap: 1rem;
    }

    .football-hero,
    .football-club-hero,
    .football-player-hero,
    .football-match-hero,
    .football-compact-hero,
    .football-home-board,
    .football-section,
    .football-side-panel {
        border-radius: 20px;
    }

    .football-quick-panel,
    .football-match-summary-grid {
        grid-template-columns: 1fr;
    }

    .football-card-grid,
    .football-card-grid--compact {
        grid-template-columns: 1fr;
    }

    .football-match-card__teams,
    .football-hero-scorecard__teams,
    .football-fixture-tile__body {
        grid-template-columns: 1fr;
        text-align: left;
    }

    .football-match-card__team--away,
    .football-schedule-row__team--home {
        justify-content: flex-start;
        text-align: left;
    }

    .football-match-card__score,
    .football-hero-scorecard__score {
        justify-self: start;
    }

    .football-schedule-row {
        grid-template-columns: 1fr;
    }

    .football-schedule-row__middle {
        background: var(--surface-strong);
        border-radius: 14px;
        padding: 0.6rem;
        text-align: left;
    }

    .football-table {
        min-width: 820px;
    }
}

/* v127: compact football cards, Supersport-style mobile match centre, and SEO page polish */
.football-fixture-strip {
    gap: 0.75rem;
    grid-template-columns: repeat(4, minmax(235px, 1fr));
    margin-top: 0.9rem;
}

.football-fixture-tile {
    border-radius: 16px;
    min-width: 0;
}

.football-fixture-tile__league {
    min-height: 50px;
    padding: 0.62rem 0.78rem;
}

.football-fixture-tile__league-title {
    align-items: center;
    display: flex;
    gap: 0.52rem;
    min-width: 0;
}

.football-fixture-tile__league-title img,
.football-fixture-tile__league-title i,
.football-match-card__league img {
    align-items: center;
    background: rgba(255, 255, 255, 0.96);
    border-radius: 999px;
    color: var(--primary-strong);
    display: inline-flex;
    flex: 0 0 auto;
    height: 26px;
    justify-content: center;
    object-fit: contain;
    padding: 0.18rem;
    width: 26px;
}

.football-fixture-tile__league-title > span,
.football-match-card__league span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.football-fixture-tile__league span {
    font-size: 0.95rem;
}

.football-fixture-tile__body {
    gap: 0.58rem;
    grid-template-columns: minmax(0, 1fr) minmax(74px, auto);
    padding: 0.72rem 0.78rem 0.58rem;
}

.football-fixture-tile__teams {
    gap: 0.42rem;
}

.football-fixture-tile__teams a {
    font-size: 0.86rem;
    gap: 0.45rem;
}

.football-fixture-tile__teams img,
.football-schedule-row__team img {
    height: 28px;
    width: 28px;
}

.football-fixture-tile__kickoff {
    min-width: 74px;
    padding-left: 0.65rem;
}

.football-fixture-tile__venue {
    padding: 0.5rem 0.78rem;
}

.football-match-card {
    border-radius: 16px;
    gap: 0.62rem;
    min-height: 0;
    padding: 0.82rem;
}

.football-match-card__league {
    align-items: center;
    display: inline-flex;
    gap: 0.42rem;
    min-width: 0;
}

.football-match-card__team img,
.football-match-card__team b {
    border-radius: 11px;
    height: 34px;
    width: 34px;
}

.football-match-card__score {
    border-radius: 12px;
    min-height: 38px;
    min-width: 62px;
    padding: 0 0.55rem;
}

.football-player-card {
    align-items: center;
    display: grid;
    gap: 0.45rem;
    justify-items: center;
    text-align: center;
}

.football-player-card img,
.football-player-card b {
    align-items: center;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 16px;
    display: inline-flex;
    height: 58px;
    justify-content: center;
    object-fit: cover;
    width: 58px;
}

.football-player-card span {
    color: var(--bg-contrast);
    font-weight: 900;
    line-height: 1.12;
}

.football-player-card small {
    color: var(--text-soft);
    font-weight: 800;
}

.football-match-hero__meta {
    color: var(--text-soft);
    display: grid;
    gap: 0.16rem;
    grid-column: 1 / -1;
    justify-items: center;
    position: relative;
    text-align: center;
    z-index: 1;
}

.football-match-hero__meta a,
.football-match-hero__meta strong {
    color: var(--bg-contrast);
    font-weight: 900;
}

.football-match-hero__meta span {
    font-size: 0.82rem;
    font-weight: 800;
}

@media (max-width: 1180px) {
    .football-fixture-strip {
        grid-auto-columns: minmax(235px, 315px);
    }
}

@media (max-width: 991px) {
    .football-match-hero {
        grid-template-columns: minmax(0, 1fr) minmax(110px, auto) minmax(0, 1fr) !important;
    }

    .football-match-hero__team,
    .football-match-hero__team--away {
        justify-items: center;
        text-align: center;
    }
}

@media (max-width: 640px) {
    .football-page {
        gap: 0.72rem;
    }

    .football-home-board,
    .football-section,
    .football-side-panel,
    .football-table-wrap,
    .football-hero,
    .football-club-hero,
    .football-player-hero,
    .football-match-hero,
    .football-compact-hero {
        border-radius: 16px;
    }

    .football-home-board,
    .football-section,
    .football-side-panel,
    .football-compact-hero:not(.football-compact-hero--split) {
        padding: 0.75rem;
    }

    .football-home-board__head h2,
    .football-section .section-heading h2 {
        font-size: 1rem;
        letter-spacing: -0.02em;
    }

    .football-home-board__head p,
    .football-hero p,
    .football-club-hero p,
    .football-player-hero p,
    .football-compact-hero p {
        font-size: 0.82rem;
    }

    .football-fixture-strip {
        gap: 0.55rem;
        grid-auto-columns: minmax(216px, 76vw) !important;
        margin-top: 0.65rem;
        padding-bottom: 0.35rem;
    }

    .football-fixture-tile {
        border-radius: 14px;
    }

    .football-fixture-tile__league {
        min-height: 42px;
        padding: 0.45rem 0.55rem;
    }

    .football-fixture-tile__league-title {
        gap: 0.38rem;
    }

    .football-fixture-tile__league-title img,
    .football-fixture-tile__league-title i,
    .football-match-card__league img {
        height: 22px;
        width: 22px;
    }

    .football-fixture-tile__league span {
        font-size: 0.78rem;
    }

    .football-fixture-tile__league small {
        font-size: 0.63rem;
        max-width: 78px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .football-fixture-tile__body {
        gap: 0.4rem;
        grid-template-columns: minmax(0, 1fr) minmax(58px, auto) !important;
        padding: 0.55rem;
        text-align: left;
    }

    .football-fixture-tile__teams {
        gap: 0.28rem;
    }

    .football-fixture-tile__teams a {
        font-size: 0.74rem;
        gap: 0.34rem;
    }

    .football-fixture-tile__teams img,
    .football-schedule-row__team img {
        height: 22px;
        padding: 0.1rem;
        width: 22px;
    }

    .football-fixture-tile__kickoff {
        min-width: 58px;
        padding-left: 0.42rem;
    }

    .football-fixture-tile__kickoff strong {
        font-size: 0.78rem;
    }

    .football-fixture-tile__kickoff small,
    .football-fixture-tile__venue {
        font-size: 0.64rem;
    }

    .football-fixture-tile__venue {
        padding: 0.38rem 0.55rem;
    }

    .football-card-grid,
    .football-card-grid--compact {
        gap: 0.62rem;
        grid-template-columns: 1fr;
    }

    .football-match-card {
        border-radius: 14px;
        gap: 0.48rem;
        padding: 0.65rem;
    }

    .football-match-card__top {
        background: linear-gradient(135deg, var(--primary-strong), var(--primary));
        border-radius: 13px 13px 0 0;
        color: #fff;
        margin: -0.65rem -0.65rem 0.28rem;
        padding: 0.48rem 0.58rem;
    }

    .football-match-card__league,
    .football-match-card__time {
        color: #fff !important;
    }

    .football-match-card__time {
        background: rgba(255, 255, 255, 0.16);
        font-size: 0.66rem;
        padding: 0.2rem 0.42rem;
    }

    .football-match-card__teams {
        align-items: center;
        gap: 0.32rem 0.5rem;
        grid-template-areas: "home score" "away score";
        grid-template-columns: minmax(0, 1fr) minmax(54px, auto) !important;
        text-align: left;
    }

    .football-match-card__team:first-child {
        grid-area: home;
    }

    .football-match-card__team--away {
        flex-direction: row-reverse;
        grid-area: away;
        justify-content: flex-end;
        text-align: left;
    }

    .football-match-card__team span {
        font-size: 0.78rem;
    }

    .football-match-card__team img,
    .football-match-card__team b {
        border-radius: 9px;
        height: 26px;
        width: 26px;
    }

    .football-match-card__score {
        align-self: stretch;
        border-radius: 11px;
        grid-area: score;
        min-height: 50px;
        min-width: 54px;
        padding: 0 0.42rem;
    }

    .football-match-card__meta {
        font-size: 0.64rem;
        gap: 0.34rem;
        overflow-x: auto;
        padding-top: 0.42rem;
        text-transform: none;
    }

    .football-match-card__meta a {
        padding: 0.22rem 0.42rem;
    }

    .football-club-hero,
    .football-player-hero {
        gap: 0.65rem;
        grid-template-columns: auto minmax(0, 1fr) !important;
        padding: 0.78rem;
    }

    .football-club-hero__badge,
    .football-player-hero__photo {
        border-radius: 16px;
        height: 58px;
        width: 58px;
    }

    .football-club-hero h1,
    .football-player-hero h1,
    .football-compact-hero h1,
    .football-hero h1 {
        font-size: 1.25rem;
        letter-spacing: -0.03em;
        line-height: 1.06;
    }

    .football-hero__actions {
        gap: 0.42rem;
        overflow-x: auto;
        padding-bottom: 0.12rem;
    }

    .football-hero__actions .site-button,
    .football-section-tabs a,
    .football-season-switcher a {
        font-size: 0.72rem;
        padding: 0.48rem 0.62rem;
        white-space: nowrap;
    }

    .football-section-tabs {
        gap: 0.4rem;
    }

    .football-match-hero {
        gap: 0.42rem;
        grid-template-columns: minmax(0, 1fr) minmax(68px, auto) minmax(0, 1fr) !important;
        padding: 0.72rem;
    }

    .football-match-hero__meta {
        font-size: 0.7rem;
    }

    .football-match-hero__meta span {
        font-size: 0.66rem;
    }

    .football-match-hero__team {
        gap: 0.34rem;
    }

    .football-match-hero__team h1 {
        font-size: 0.78rem;
        letter-spacing: -0.02em;
        line-height: 1.08;
        max-width: 105px;
    }

    .football-match-hero__team span {
        display: none;
    }

    .football-match-hero__team img,
    .football-summary-team img {
        border-radius: 13px;
        height: 42px;
        padding: 0.22rem;
        width: 42px;
    }

    .football-match-hero__score {
        border-radius: 13px;
        gap: 0.18rem;
        min-width: 68px;
        padding: 0.42rem;
    }

    .football-match-hero__score > a {
        display: none;
    }

    .football-match-hero__score strong {
        font-size: 1rem;
    }

    .football-match-hero__score small {
        font-size: 0.62rem;
        line-height: 1.12;
    }

    .football-match-summary-grid {
        gap: 0.45rem;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .football-summary-team,
    .football-summary-kickoff,
    .football-data-card,
    .football-mini-table a,
    .football-mini-table div,
    .football-info-list a,
    .football-info-list > span {
        border-radius: 13px;
        padding: 0.55rem;
    }

    .football-summary-team strong,
    .football-summary-kickoff strong {
        font-size: 0.76rem;
    }

    .football-summary-team span,
    .football-summary-kickoff span,
    .football-summary-kickoff small {
        font-size: 0.62rem;
    }

    .football-schedule-list {
        gap: 0.52rem;
    }

    .football-schedule-day h3 {
        font-size: 0.92rem;
        margin: 0.35rem 0 0;
    }

    .football-schedule-competition {
        border-radius: 14px;
    }

    .football-schedule-competition__head {
        padding: 0.5rem 0.62rem;
    }

    .football-schedule-competition__head span,
    .football-schedule-competition__head small {
        font-size: 0.72rem;
    }

    .football-schedule-row {
        gap: 0.34rem;
        grid-template-columns: minmax(0, 1fr) minmax(58px, auto) minmax(0, 1fr) !important;
        padding: 0.52rem 0.6rem;
    }

    .football-schedule-row__team {
        font-size: 0.72rem;
        gap: 0.3rem;
    }

    .football-schedule-row__team--home {
        justify-content: flex-end;
        text-align: right;
    }

    .football-schedule-row__middle {
        background: transparent;
        border-radius: 0;
        padding: 0;
        text-align: center;
    }

    .football-schedule-row__middle small,
    .football-schedule-row__middle em {
        font-size: 0.58rem;
        max-width: 76px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .football-schedule-row__middle strong {
        font-size: 0.82rem;
    }

    .football-table {
        min-width: 640px;
    }

    .football-table th,
    .football-table td {
        font-size: 0.72rem;
        padding: 0.46rem;
    }

    .football-table-team {
        gap: 0.35rem;
    }

    .football-table-team img,
    .football-mini-table img {
        height: 22px;
        width: 22px;
    }

    .football-table-rank {
        border-radius: 8px;
        min-width: 1.55rem;
        padding: 0.08rem 0.22rem;
    }

    .football-form-chips span,
    .football-form-chips a {
        font-size: 0.58rem;
        height: 1.1rem;
        width: 1.1rem;
    }

    .football-player-grid,
    .football-stat-grid {
        gap: 0.58rem;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .football-player-card {
        border-radius: 13px;
        padding: 0.62rem;
    }

    .football-player-card img,
    .football-player-card b {
        border-radius: 13px;
        height: 42px;
        width: 42px;
    }

    .football-player-card span {
        font-size: 0.78rem;
    }

    .football-player-card small,
    .football-muted,
    .football-data-card p {
        font-size: 0.74rem;
    }

    .football-stat-grid > div {
        border-radius: 13px;
        padding: 0.62rem;
    }

    .football-stat-grid strong {
        font-size: 1.08rem;
    }

    .football-competition-grid,
    .football-data-grid,
    .football-data-grid--wide {
        gap: 0.62rem;
        grid-template-columns: 1fr;
    }

    .football-competition-card {
        border-radius: 13px;
        padding: 0.62rem;
    }

    .football-competition-card__logo {
        border-radius: 12px;
        height: 34px;
        width: 34px;
    }

    .football-competition-card__logo img {
        height: 26px;
        width: 26px;
    }
}

/* v128: compact football homepage rail, fixed schedule rows, clean standings text, and SEO title polish */
.football-home-board {
    padding: clamp(0.85rem, 1.8vw, 1.15rem);
}

.football-home-board__head {
    gap: 0.8rem;
}

.football-home-board__head .site-kicker {
    letter-spacing: 0.18em;
}

.football-home-board h2 {
    font-size: clamp(1.25rem, 1.9vw, 1.9rem);
    line-height: 1.05;
}

.football-home-board p {
    font-size: clamp(0.84rem, 1vw, 0.98rem);
    max-width: 620px;
}

.football-home-board .site-button {
    padding: 0.7rem 1rem;
}

.football-fixture-strip {
    gap: 0.72rem;
    grid-template-columns: repeat(4, minmax(250px, 1fr));
    margin-top: 0.85rem;
    padding: 0 0 0.25rem;
    scrollbar-width: thin;
}

.football-fixture-strip::-webkit-scrollbar {
    height: 6px;
}

.football-fixture-strip::-webkit-scrollbar-thumb {
    background: rgba(14, 125, 121, 0.35);
    border-radius: 999px;
}

.football-fixture-tile {
    border-radius: 15px;
    min-width: 250px;
}

.football-fixture-tile__league {
    min-height: 46px;
    padding: 0.52rem 0.68rem;
}

.football-fixture-tile__league-title,
.football-schedule-competition__title {
    align-items: center;
    display: flex;
    gap: 0.48rem;
    min-width: 0;
}

.football-schedule-competition__title img,
.football-schedule-competition__title i {
    align-items: center;
    background: rgba(255, 255, 255, 0.96);
    border-radius: 999px;
    color: var(--primary-strong);
    display: inline-flex;
    flex: 0 0 auto;
    height: 25px;
    justify-content: center;
    object-fit: contain;
    padding: 0.16rem;
    width: 25px;
}

.football-fixture-tile__league-title > span,
.football-schedule-competition__title > span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.football-fixture-tile__body {
    gap: 0.55rem;
    grid-template-columns: minmax(0, 1fr) minmax(68px, auto);
    padding: 0.64rem 0.68rem 0.52rem;
}

.football-fixture-tile__teams a {
    align-items: flex-start;
    font-size: 0.82rem;
    gap: 0.38rem;
}

.football-fixture-tile__teams span {
    line-height: 1.14;
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
    word-break: normal;
}

.football-fixture-tile__kickoff {
    min-width: 68px;
    padding-left: 0.52rem;
}

.football-fixture-tile__venue {
    font-size: 0.72rem;
    overflow: hidden;
    padding: 0.44rem 0.68rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.football-home-board__bottom {
    margin-top: 0.8rem;
    padding-top: 0.75rem;
}

.football-home-board__summary span,
.football-competition-rail a {
    font-size: 0.76rem;
    padding: 0.36rem 0.62rem;
}

.football-section--embedded {
    margin-top: 1rem;
}

.football-schedule-competition__head {
    min-height: 48px;
    padding: 0.62rem 0.78rem;
}

.football-schedule-competition__head > i {
    color: rgba(255, 255, 255, 0.92);
    font-size: 0.95rem;
}

.football-schedule-row {
    grid-template-columns: minmax(0, 1fr) minmax(112px, auto) minmax(0, 1fr);
    min-height: 76px;
    padding: 0.72rem 0.86rem;
}

.football-schedule-row__team span {
    line-height: 1.16;
    min-width: 0;
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
}

.football-schedule-row__middle small {
    line-height: 1.15;
}

.football-schedule-row__middle em {
    display: none;
}

.football-side-panel .football-muted:empty {
    display: none;
}

@media (max-width: 1180px) {
    .football-fixture-strip {
        grid-auto-columns: minmax(248px, 310px);
        grid-auto-flow: column;
        grid-template-columns: none;
    }
}

@media (max-width: 640px) {
    .football-home-board {
        padding: 0.65rem;
    }

    .football-home-board__head {
        align-items: stretch;
        gap: 0.55rem;
    }

    .football-home-board h2 {
        font-size: 0.98rem;
        letter-spacing: -0.02em;
        line-height: 1.08;
    }

    .football-home-board p {
        font-size: 0.72rem;
        line-height: 1.35;
        margin-top: 0.36rem;
    }

    .football-home-board .site-button {
        justify-content: center;
        padding: 0.5rem 0.72rem;
        width: 100%;
    }

    .football-fixture-strip {
        gap: 0.5rem;
        grid-auto-columns: minmax(218px, 72vw) !important;
        margin-top: 0.55rem;
    }

    .football-fixture-tile {
        min-width: 218px;
    }

    .football-fixture-tile__league {
        min-height: 38px;
        padding: 0.38rem 0.5rem;
    }

    .football-fixture-tile__league-title img,
    .football-fixture-tile__league-title i,
    .football-schedule-competition__title img,
    .football-schedule-competition__title i {
        height: 20px;
        width: 20px;
    }

    .football-fixture-tile__league span {
        font-size: 0.72rem;
    }

    .football-fixture-tile__league small {
        font-size: 0.58rem;
        max-width: 76px;
    }

    .football-fixture-tile__body {
        grid-template-columns: minmax(0, 1fr) minmax(54px, auto) !important;
        padding: 0.48rem 0.5rem;
    }

    .football-fixture-tile__teams a {
        font-size: 0.68rem;
        line-height: 1.1;
    }

    .football-fixture-tile__teams img {
        height: 20px;
        width: 20px;
    }

    .football-fixture-tile__kickoff {
        min-width: 54px;
        padding-left: 0.36rem;
    }

    .football-fixture-tile__kickoff strong {
        font-size: 0.72rem;
    }

    .football-fixture-tile__kickoff small,
    .football-fixture-tile__venue {
        font-size: 0.58rem;
    }

    .football-home-board__bottom {
        gap: 0.5rem;
        margin-top: 0.55rem;
        padding-top: 0.55rem;
    }

    .football-home-board__summary {
        gap: 0.35rem;
    }

    .football-home-board__summary span,
    .football-competition-rail a {
        font-size: 0.66rem;
        padding: 0.28rem 0.48rem;
    }

    .football-hero-scorecard {
        padding: 0.72rem;
    }

    .football-hero-scorecard__teams {
        grid-template-columns: minmax(0, 1fr) minmax(58px, auto) minmax(0, 1fr) !important;
        text-align: center;
    }

    .football-hero-scorecard__teams a:not(.football-hero-scorecard__score) {
        font-size: 0.72rem;
        gap: 0.28rem;
        justify-items: center;
    }

    .football-hero-scorecard__teams img {
        height: 32px;
        width: 32px;
    }

    .football-hero-scorecard__score {
        font-size: 0.92rem;
        min-height: 46px;
        min-width: 58px;
        padding: 0 0.35rem;
    }

    .football-schedule-competition {
        border-radius: 13px;
    }

    .football-schedule-competition__head {
        min-height: 38px;
        padding: 0.42rem 0.55rem;
    }

    .football-schedule-competition__title > span {
        font-size: 0.68rem;
    }

    .football-schedule-competition__head > i {
        font-size: 0.8rem;
    }

    .football-schedule-row {
        gap: 0.24rem 0.52rem;
        grid-template-areas: "home score" "away score";
        grid-template-columns: minmax(0, 1fr) minmax(54px, auto) !important;
        min-height: 0;
        padding: 0.54rem 0.62rem;
    }

    .football-schedule-row__team {
        font-size: 0.68rem;
        gap: 0.3rem;
        min-width: 0;
    }

    .football-schedule-row__team--home {
        flex-direction: row-reverse;
        grid-area: home;
        justify-content: flex-end !important;
        text-align: left !important;
    }

    .football-schedule-row__team--away {
        grid-area: away;
        justify-content: flex-start;
        text-align: left;
    }

    .football-schedule-row__team img {
        height: 20px;
        width: 20px;
    }

    .football-schedule-row__team span {
        font-size: 0.68rem;
        line-height: 1.12;
    }

    .football-schedule-row__middle {
        align-self: stretch;
        border-left: 1px solid var(--border);
        display: grid;
        gap: 0.1rem;
        grid-area: score;
        min-width: 54px;
        padding-left: 0.48rem;
        place-content: center;
        text-align: center;
    }

    .football-schedule-row__middle small {
        font-size: 0.54rem;
        max-width: 76px;
    }

    .football-schedule-row__middle strong {
        font-size: 0.78rem;
    }

    .football-match-hero {
        background: linear-gradient(135deg, var(--primary-strong), var(--primary));
        color: #fff;
        gap: 0.36rem;
        padding: 0.68rem 0.72rem 0.82rem;
    }

    .football-match-hero__meta,
    .football-match-hero__meta a,
    .football-match-hero__meta strong,
    .football-match-hero__meta span,
    .football-match-hero__team h1,
    .football-match-hero__score strong,
    .football-match-hero__score small {
        color: #fff !important;
    }

    .football-match-hero__score {
        background: transparent;
        border: 0;
        box-shadow: none;
        min-width: 58px;
        padding: 0.2rem;
    }

    .football-match-hero__team img,
    .football-summary-team img {
        background: rgba(255, 255, 255, 0.96);
        height: 34px;
        width: 34px;
    }

    .football-match-hero__team h1 {
        font-size: 0.72rem;
        max-width: 96px;
    }

    .football-match-hero__score small {
        display: none;
    }
}

/* v129: football normalization UX, mobile standings, stacked fixture rows, and clean SEO text */
.football-home-board {
    padding: clamp(0.78rem, 1.45vw, 1rem);
}

.football-home-board h2 {
    font-size: clamp(1.12rem, 1.55vw, 1.65rem);
}

.football-home-board p {
    font-size: clamp(0.78rem, 0.95vw, 0.92rem);
}

.football-fixture-strip {
    grid-template-columns: repeat(4, minmax(285px, 1fr));
}

.football-fixture-tile {
    min-width: 285px;
}

.football-fixture-tile__league-title > span,
.football-schedule-competition__title > span,
.football-match-card__league span {
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
}

.football-fixture-tile__league small {
    white-space: normal;
    text-align: right;
}

.football-standings-mobile {
    display: none;
}

.football-standings-card {
    background: var(--surface-strong);
    border: 1px solid var(--border);
    border-radius: 15px;
    box-shadow: var(--shadow-sm);
    display: grid;
    gap: 0.5rem;
    padding: 0.7rem;
}

.football-standings-card__team {
    align-items: center;
    color: var(--text);
    display: grid;
    gap: 0.45rem;
    grid-template-columns: auto auto minmax(0, 1fr) auto;
}

.football-standings-card__team img {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 999px;
    height: 28px;
    object-fit: contain;
    padding: 0.12rem;
    width: 28px;
}

.football-standings-card__team strong {
    color: var(--bg-contrast);
    font-size: 0.86rem;
    line-height: 1.12;
}

.football-standings-card__team em {
    color: var(--primary-strong);
    font-style: normal;
    font-weight: 900;
    white-space: nowrap;
}

.football-standings-card__stats {
    display: grid;
    gap: 0.35rem;
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.football-standings-card__stats span {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 10px;
    color: var(--text-soft);
    font-size: 0.68rem;
    font-weight: 850;
    padding: 0.26rem 0.2rem;
    text-align: center;
}

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

.football-timeline__phase {
    background: var(--bg-contrast);
    border-radius: 999px;
    color: var(--surface);
    font-size: 0.78rem;
    font-weight: 900;
    justify-self: center;
    padding: 0.38rem 0.8rem;
    text-align: center;
}

.football-timeline__phase.is-live {
    background: var(--danger);
    color: #fff;
}

.football-timeline__item {
    align-items: center;
    display: grid;
    gap: 0.5rem;
    grid-template-columns: auto auto minmax(0, 1fr);
}

.football-timeline__item--away {
    background: rgba(14, 125, 121, 0.06);
}

.football-timeline__minute {
    min-width: 2.4rem;
}

.football-timeline__icon {
    align-items: center;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 999px;
    display: inline-flex;
    height: 2rem;
    justify-content: center;
    width: 2rem;
}

.football-timeline__item p {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.football-timeline__item p span,
.football-timeline__item p em {
    color: var(--text-soft);
    font-style: normal;
    font-weight: 800;
}

.football-timeline__item p a {
    color: var(--primary-strong);
    font-weight: 900;
}

@media (max-width: 1180px) {
    .football-fixture-strip {
        grid-auto-columns: minmax(270px, 340px) !important;
        grid-auto-flow: column;
        grid-template-columns: none;
    }
}

@media (max-width: 640px) {
    .football-home-board {
        padding: 0.58rem;
    }

    .football-home-board h2 {
        font-size: 0.92rem;
    }

    .football-home-board p {
        font-size: 0.68rem;
    }

    .football-fixture-strip {
        grid-auto-columns: minmax(238px, 82vw) !important;
    }

    .football-fixture-tile {
        min-width: 238px;
    }

    .football-fixture-tile__league span {
        font-size: 0.68rem;
    }

    .football-fixture-tile__league small {
        max-width: 92px;
        overflow: visible;
        text-overflow: clip;
    }

    .football-fixture-tile__teams a,
    .football-fixture-tile__kickoff small,
    .football-fixture-tile__venue {
        font-size: 0.64rem;
    }

    .football-section--standings-table .football-table-wrap {
        display: none;
    }

    .football-standings-mobile {
        display: grid;
        gap: 0.52rem;
    }

    .football-standings-card .football-form-chips {
        justify-content: flex-start;
    }

    .football-schedule-row {
        align-items: center;
        gap: 0.24rem 0.5rem;
        grid-template-areas: "home score" "away score" !important;
        grid-template-columns: minmax(0, 1fr) minmax(58px, auto) !important;
        min-height: 0;
        padding: 0.52rem 0.6rem;
    }

    .football-schedule-row__team--home {
        flex-direction: row-reverse;
        grid-area: home;
        justify-content: flex-end !important;
        text-align: left !important;
    }

    .football-schedule-row__team--away {
        grid-area: away;
        justify-content: flex-start !important;
        text-align: left !important;
    }

    .football-schedule-row__team span {
        font-size: 0.68rem;
        line-height: 1.12;
    }

    .football-schedule-row__middle {
        align-self: stretch;
        border-left: 1px solid var(--border);
        display: grid;
        gap: 0.1rem;
        grid-area: score;
        min-width: 58px;
        padding-left: 0.48rem;
        place-content: center;
        text-align: center;
    }

    .football-schedule-row__middle small {
        display: none;
    }

    .football-schedule-row__middle strong {
        font-size: 0.76rem;
    }

    .football-match-hero {
        background: linear-gradient(135deg, var(--primary-strong), var(--primary)) !important;
        border-radius: 0;
        color: #fff;
        gap: 0.32rem;
        grid-template-columns: minmax(0, 1fr) minmax(58px, auto) minmax(0, 1fr) !important;
        padding: 0.72rem 0.55rem 0.9rem;
    }

    .football-match-hero__meta {
        gap: 0.12rem;
        line-height: 1.1;
    }

    .football-match-hero__team img,
    .football-summary-team img {
        height: 34px;
        width: 34px;
    }

    .football-match-hero__team h1 {
        color: #fff !important;
        font-size: 0.72rem;
        max-width: 92px;
    }

    .football-match-hero__score {
        background: transparent;
        border: 0;
        box-shadow: none;
        color: #fff;
        min-width: 58px;
        padding: 0.2rem;
    }

    .football-match-hero__score strong,
    .football-match-hero__score small,
    .football-match-hero__meta a,
    .football-match-hero__meta strong,
    .football-match-hero__meta span {
        color: #fff !important;
    }

    .football-match-hero__score div {
        gap: 0.26rem;
    }

    .football-timeline__item {
        border-radius: 13px;
        gap: 0.35rem;
        grid-template-columns: auto auto minmax(0, 1fr);
        padding: 0.55rem;
    }

    .football-timeline__minute {
        font-size: 0.72rem;
        min-width: 1.85rem;
    }

    .football-timeline__icon {
        height: 1.65rem;
        width: 1.65rem;
    }

    .football-timeline__item strong {
        font-size: 0.76rem;
        line-height: 1.14;
    }

    .football-timeline__item p {
        font-size: 0.68rem;
        line-height: 1.2;
    }
}

.football-schedule-row__team b {
    align-items: center;
    background: var(--surface-strong);
    border: 1px solid var(--border);
    border-radius: 999px;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 0.68rem;
    font-weight: 900;
    height: 28px;
    justify-content: center;
    width: 28px;
}

@media (max-width: 640px) {
    .football-schedule-row__team b {
        font-size: 0.56rem;
        height: 22px;
        width: 22px;
    }
}

/* v139 football data-engine alignment fixes */
@media (min-width: 992px) {
    .football-layout {
        align-items: start;
        grid-template-columns: minmax(0, 1fr) minmax(310px, 380px);
    }

    .football-layout > .football-side-panel {
        justify-self: stretch;
        margin-left: auto;
        width: 100%;
    }

    .football-layout--wide-main {
        grid-template-columns: minmax(0, 1fr) minmax(300px, 360px);
    }
}

.football-info-list a,
.football-info-list > span {
    gap: 0.75rem;
    justify-content: flex-start;
}

.football-info-list a > span,
.football-info-list > span > span {
    min-width: 0;
}

.football-info-list strong,
.football-mini-table strong,
.football-link-list span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.football-lineups-grid {
    grid-template-columns: repeat(2, minmax(280px, 1fr));
}

.football-lineup-card__head {
    align-items: center;
    display: flex;
    gap: 0.75rem;
    margin-bottom: 0.85rem;
}

.football-lineup-card__head img {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 14px;
    height: 44px;
    object-fit: contain;
    padding: 0.25rem;
    width: 44px;
}

.football-lineup-card__head h3,
.football-lineup-card__head p {
    margin: 0;
}

.football-lineup-card__players--photos {
    grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
}

.football-lineup-card__players--subs {
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
}

.football-lineup-player {
    align-items: center;
    display: flex !important;
    gap: 0.55rem;
    justify-content: flex-start;
    min-width: 0;
    text-align: left;
}

.football-lineup-player img,
.football-lineup-player b {
    align-items: center;
    background: var(--surface-strong);
    border: 1px solid var(--border);
    border-radius: 999px;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 0.68rem;
    height: 30px;
    justify-content: center;
    object-fit: cover;
    width: 30px;
}

.football-lineup-player span {
    background: transparent !important;
    border: 0 !important;
    display: grid;
    gap: 0.1rem;
    min-width: 0;
    padding: 0 !important;
}

.football-lineup-player strong {
    font-size: 0.78rem;
    line-height: 1.12;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.football-lineup-player small {
    color: var(--text-soft);
    font-size: 0.68rem;
    font-weight: 850;
}

.football-lineup-card__subs {
    border-top: 1px solid var(--border);
    margin-top: 1rem;
    padding-top: 0.85rem;
}

.football-lineup-card__subs h4,
.football-profile-history h3,
.football-standings-legend h3,
.football-bracket-panel h3 {
    color: var(--bg-contrast);
    font-family: var(--font-display);
    font-size: 0.92rem;
    margin: 0 0 0.65rem;
}

.football-substitution-list {
    display: grid;
    gap: 0.45rem;
}

.football-substitution-list span {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 12px;
    color: var(--text);
    font-size: 0.78rem;
    font-weight: 800;
    padding: 0.5rem 0.65rem;
}

.football-table-group td {
    background: rgba(14, 125, 121, 0.10);
    color: var(--primary-strong);
    font-size: 0.78rem;
    font-weight: 950;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.football-qualification-badge {
    color: var(--primary-strong);
    display: block;
    font-size: 0.68rem;
    font-weight: 850;
    margin-top: 0.2rem;
}

.football-standings-legend,
.football-bracket-panel,
.football-profile-history {
    background: var(--surface-strong);
    border: 1px solid var(--border);
    border-radius: 18px;
    margin-top: 1rem;
    padding: 1rem;
}

.football-standings-legend > div,
.football-bracket-grid,
.football-knockout-list,
.football-profile-history__list,
.data-engine-dashboard-grid {
    display: grid;
    gap: 0.7rem;
}

.football-standings-legend > div {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.football-standings-legend span {
    align-items: center;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 999px;
    display: inline-flex;
    font-size: 0.78rem;
    font-weight: 850;
    gap: 0.45rem;
    padding: 0.45rem 0.65rem;
}

.football-standings-legend i {
    border-radius: 999px;
    display: inline-block;
    height: 0.65rem;
    width: 0.65rem;
}

.football-standings-legend small {
    color: var(--text-soft);
    display: block;
    font-weight: 850;
    margin-top: 0.7rem;
}

.football-standings-legend b {
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    font-size: 0.65rem;
    height: 1.1rem;
    justify-content: center;
    line-height: 1.1rem;
    margin: 0 0.15rem;
    width: 1.1rem;
}

.football-standings-legend b.is-w { background: var(--success); }
.football-standings-legend b.is-d { background: var(--accent); }
.football-standings-legend b.is-l { background: var(--danger); }

.football-bracket-grid {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.football-bracket-grid article,
.football-knockout-list article,
.football-profile-history__row {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 14px;
    padding: 0.75rem;
}

.football-bracket-grid article span,
.football-profile-history__row span,
.football-profile-history__row em {
    color: var(--text-soft);
    display: block;
    font-size: 0.78rem;
    font-style: normal;
    font-weight: 800;
    margin-top: 0.25rem;
}

.football-knockout-list {
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    margin-top: 0.8rem;
}

.football-stat-grid--player {
    grid-template-columns: repeat(auto-fit, minmax(135px, 1fr));
}

.football-empty--profile {
    margin-top: 1rem;
}

.data-engine-dashboard-grid {
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
}

.data-engine-dashboard-grid span {
    background: var(--bs-light, #f8fafc);
    border: 1px solid rgba(148, 163, 184, 0.3);
    border-radius: 14px;
    display: grid;
    padding: 0.75rem;
}

.data-engine-dashboard-grid strong {
    color: #0e7d79;
    font-size: 1.4rem;
    line-height: 1;
}

.data-engine-dashboard-grid small {
    color: #64748b;
    font-weight: 800;
    margin-top: 0.25rem;
}

html[data-theme="dark"] .data-engine-dashboard-grid span {
    background: rgba(15, 23, 42, 0.78);
    border-color: rgba(148, 163, 184, 0.22);
}

html[data-theme="dark"] .data-engine-dashboard-grid small {
    color: #cbd5e1;
}

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

    .football-layout > .football-side-panel {
        margin-left: 0;
    }
}

@media (max-width: 640px) {
    .football-lineup-card__players--photos,
    .football-lineup-card__players--subs {
        grid-template-columns: 1fr;
    }

    .football-lineup-player strong {
        white-space: normal;
    }

    .football-standings-legend,
    .football-bracket-panel,
    .football-profile-history {
        border-radius: 14px;
        padding: 0.75rem;
    }
}


/* v140 football data-engine frontend refinements */
.football-fixture-strip--scroll {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(230px, 280px);
    gap: 12px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: inline mandatory;
    padding-bottom: 10px;
}
.football-fixture-strip--scroll .football-fixture-tile { cursor: pointer; scroll-snap-align: start; min-height: 132px; }
.football-fixture-tile__body--link { color: inherit; text-decoration: none; }
.football-fixture-tile__body--link:hover { text-decoration: none; }
.football-fixture-tile__teams span { display: flex; align-items: center; gap: 7px; min-width: 0; }
.football-fixture-tile__teams strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .82rem; }
.football-list-stack--cards { display: grid; grid-template-columns: 1fr; gap: 12px; }
.football-list-stack--cards .football-match-card { width: 100%; }
@media (min-width: 900px) {
    .football-list-stack--cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .football-card-grid--compact .football-match-card, .football-fixture-tile { transform: scale(.96); transform-origin: top left; }
    .football-home-board .football-fixture-strip--scroll { grid-auto-columns: minmax(220px, 260px); }
}
@media (min-width: 1180px) {
    .football-list-stack--cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.football-standings-toolbar,
.football-topscorer-toolbar {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
    flex-wrap: wrap;
}
.football-competition-search { display: flex; align-items: end; gap: 10px; flex-wrap: wrap; }
.football-competition-search label { display: block; font-size: .74rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; color: #0e7d79; width: 100%; }
.football-competition-search select,
.football-competition-search input { min-width: min(360px, 100%); border: 1px solid rgba(15,23,42,.14); border-radius: 14px; padding: 11px 12px; background: #fff; color: #061626; font-weight: 700; }
.football-competition-search button,
.football-topscorer-toolbar button { border: 0; border-radius: 14px; padding: 12px 16px; background: #07142a; color: #fff; font-weight: 800; cursor: pointer; }
.football-standings-hero__title { display: flex; align-items: center; gap: 16px; }
.football-standings-hero__title > img { width: 72px; height: 72px; object-fit: contain; border-radius: 20px; background: #fff; padding: 10px; box-shadow: 0 12px 28px rgba(0,0,0,.12); }
.football-link-list--logos a { display: grid; grid-template-columns: 28px minmax(0, 1fr) 16px; align-items: center; gap: 10px; }
.football-link-list--logos img { width: 28px; height: 28px; object-fit: contain; border-radius: 50%; background: #fff; padding: 3px; }
.football-link-list__more { margin-top: 8px; border-top: 1px solid rgba(15,23,42,.10); }
.football-knockout-bracket { display: grid; grid-template-columns: repeat(var(--round-count), minmax(210px, 1fr)); gap: 18px; overflow-x: auto; padding: 8px 2px 16px; }
.football-knockout-round { min-width: 210px; display: flex; flex-direction: column; gap: 10px; }
.football-knockout-round h3 { margin: 0 0 4px; font-size: .9rem; text-transform: uppercase; letter-spacing: .08em; color: #0e7d79; }
.football-bracket-match { position: relative; display: grid; gap: 6px; padding: 10px; border-radius: 14px; background: #fff; border: 1px solid rgba(15,23,42,.12); color: #07142a; text-decoration: none; box-shadow: 0 10px 24px rgba(15,23,42,.08); }
.football-bracket-match::after { content: ''; position: absolute; right: -18px; top: 50%; width: 18px; border-top: 2px solid rgba(14,125,121,.28); }
.football-knockout-round:last-child .football-bracket-match::after { display: none; }
.football-bracket-match span { display: grid; grid-template-columns: 24px minmax(0,1fr) auto; align-items: center; gap: 7px; font-size: .84rem; font-weight: 700; }
.football-bracket-match img { width: 24px; height: 24px; object-fit: contain; border-radius: 50%; background: #f8fafc; }
.football-club-hero--balanced { grid-template-columns: auto minmax(0, 1fr); align-items: center; }
.football-club-hero__content { min-width: 0; }
.football-mini-table__full-link { display: inline-flex; align-items: center; gap: 8px; margin-top: 12px; font-weight: 800; color: #0e7d79; text-decoration: none; }
.data-engine-form input.form-control { width: 100%; max-width: 680px; border-radius: 12px; padding: 10px 12px; }
@media (max-width: 900px) {
    .football-fixture-strip--scroll { grid-auto-columns: minmax(215px, 82vw); }
    .football-standings-hero__title { align-items: flex-start; }
    .football-standings-hero__title > img { width: 56px; height: 56px; }
    .football-knockout-bracket { grid-template-columns: repeat(var(--round-count), minmax(190px, 78vw)); }
    .football-competition-search { width: 100%; }
    .football-competition-search select { flex: 1 1 100%; }
}
@media (max-width: 640px) {
    .football-club-hero--balanced { grid-template-columns: 1fr; text-align: center; justify-items: center; }
    .football-standings-toolbar, .football-topscorer-toolbar { align-items: stretch; }
    .football-competition-search button, .football-topscorer-toolbar button { width: 100%; }
}
.football-standings-toolbar--single { align-items: center; }
.football-competition-grid--wide { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.football-competition-card--full {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.football-competition-card__main {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    color: inherit;
    text-decoration: none;
    flex: 1 1 auto;
}
.football-competition-card__main span:last-child { min-width: 0; }
.football-competition-card__actions {
    display: flex;
    gap: 6px;
    flex: 0 0 auto;
}
.football-competition-card__actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    padding: 7px 10px;
    background: rgba(14, 125, 121, .10);
    color: #0e7d79;
    font-size: .74rem;
    font-weight: 900;
    text-decoration: none;
}
@media (max-width: 640px) {
    .football-competition-card--full { align-items: flex-start; flex-direction: column; }
    .football-competition-card__actions { width: 100%; }
    .football-competition-card__actions a { flex: 1 1 0; }
}

/* v145: homepage football rail anti-overlap + standings/bracket data guard */
.football-home-board {
    overflow: hidden;
}

.football-home-board .football-fixture-strip--scroll {
    display: grid !important;
    grid-auto-flow: column !important;
    grid-template-columns: none !important;
    grid-auto-columns: clamp(270px, 20vw, 320px) !important;
    gap: clamp(14px, 1.35vw, 22px) !important;
    align-items: stretch;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: inline mandatory;
    padding: 10px 4px 16px !important;
    margin-top: 1rem;
    scrollbar-gutter: stable;
}

.football-home-board .football-fixture-strip--scroll .football-fixture-tile {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    transform: none !important;
    transform-origin: unset !important;
    scroll-snap-align: start;
    position: relative;
    z-index: 0;
    isolation: isolate;
}

.football-home-board .football-fixture-tile__league {
    min-width: 0;
    gap: 10px;
}

.football-home-board .football-fixture-tile__league-title {
    min-width: 0;
    flex: 1 1 auto;
}

.football-home-board .football-fixture-tile__league-title > span {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.football-home-board .football-fixture-tile__league small {
    flex: 0 0 auto;
    max-width: 44%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap !important;
}

.football-home-board .football-fixture-tile__body {
    grid-template-columns: minmax(0, 1fr) minmax(70px, auto);
}

.football-home-board .football-fixture-tile__teams,
.football-home-board .football-fixture-tile__teams span,
.football-home-board .football-fixture-tile__teams strong {
    min-width: 0;
}

.football-home-board .football-fixture-tile__teams strong {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

@media (min-width: 1180px) {
    .football-home-board .football-fixture-strip--scroll {
        grid-auto-columns: clamp(260px, 18vw, 300px) !important;
    }
}

@media (max-width: 900px) {
    .football-home-board .football-fixture-strip--scroll {
        grid-auto-columns: minmax(240px, 78vw) !important;
        gap: 12px !important;
        padding-inline: 2px !important;
    }
}

@media (max-width: 560px) {
    .football-home-board .football-fixture-strip--scroll {
        grid-auto-columns: minmax(230px, 86vw) !important;
    }

    .football-home-board .football-fixture-tile__league small {
        max-width: 36%;
    }
}

/* v146: match centre layout cleanup, compact lineups, and stat comparison rows */
.football-match-hero__team > span {
    display: none !important;
}

.football-layout--match-table {
    align-items: start;
}

.football-layout--match-table > .football-side-panel {
    justify-self: end;
    max-width: 310px;
    width: 100%;
}

.football-layout--match-table .football-mini-table a {
    gap: 0.55rem;
}

.football-layout--match-table .football-mini-table strong {
    flex: 1 1 auto;
    font-size: 0.88rem;
}

.football-layout--match-table .football-mini-table em {
    flex: 0 0 auto;
    font-style: italic;
    font-weight: 850;
}

.football-section--match-stats {
    align-self: start;
    justify-self: end;
    max-width: 390px;
    width: 100%;
}

.football-match-stats {
    display: grid;
    gap: 0.55rem;
}

.football-match-stat-row {
    align-items: center;
    background: var(--surface-strong);
    border: 1px solid var(--border);
    border-radius: 14px;
    display: grid;
    gap: 0.65rem;
    grid-template-columns: 48px minmax(0, 1fr) 48px;
    padding: 0.58rem 0.65rem;
}

.football-match-stat-row__value {
    align-items: center;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 999px;
    color: var(--bg-contrast);
    display: inline-flex;
    font-size: 0.78rem;
    font-weight: 950;
    justify-content: center;
    min-height: 30px;
    padding: 0.2rem 0.35rem;
    text-align: center;
}

.football-match-stat-row__middle {
    display: grid;
    gap: 0.35rem;
    min-width: 0;
    text-align: center;
}

.football-match-stat-row__middle strong {
    color: var(--text);
    font-size: 0.74rem;
    font-weight: 900;
    line-height: 1.15;
}

.football-match-stat-bar {
    align-items: center;
    display: grid;
    gap: 0.25rem;
    grid-template-columns: 1fr 1fr;
}

.football-match-stat-bar i,
.football-match-stat-bar b {
    border-radius: 999px;
    display: block;
    height: 6px;
    max-width: 100%;
    min-width: 6px;
}

.football-match-stat-bar i {
    justify-self: end;
    background: var(--primary);
}

.football-match-stat-bar b {
    justify-self: start;
    background: var(--bg-contrast);
}

.football-lineup-card__subs--events:empty,
.football-substitution-list:empty {
    display: none !important;
}

.football-lineup-card__subs--events .football-substitution-list span:empty {
    display: none !important;
}

.football-lineup-card__subs--events {
    margin-bottom: 0;
}

@media (min-width: 992px) {
    .football-layout:has(.football-section--match-stats) {
        grid-template-columns: minmax(0, 1fr) minmax(300px, 390px);
    }
}

@media (max-width: 991px) {
    .football-layout--match-table > .football-side-panel,
    .football-section--match-stats {
        justify-self: stretch;
        max-width: none;
    }
}

@media (max-width: 640px) {
    .football-match-stat-row {
        gap: 0.45rem;
        grid-template-columns: 42px minmax(0, 1fr) 42px;
        padding: 0.48rem;
    }

    .football-match-stat-row__value {
        font-size: 0.68rem;
        min-height: 26px;
    }

    .football-match-stat-row__middle strong {
        font-size: 0.68rem;
    }
}

/* v147: compact homepage rail, match stat reposition, competition actions */
.football-home-board .football-fixture-strip--scroll {
    grid-auto-columns: clamp(190px, 14vw, 224px) !important;
    gap: 10px !important;
    padding: 8px 2px 14px !important;
}

.football-home-board .football-fixture-strip--scroll .football-fixture-tile {
    min-height: 96px !important;
    border-radius: 12px !important;
}

.football-home-board .football-fixture-tile__league {
    min-height: 34px !important;
    padding: 0.38rem 0.5rem !important;
    gap: 7px !important;
}

.football-home-board .football-fixture-tile__league span {
    font-size: 0.8rem !important;
    line-height: 1.05 !important;
}

.football-home-board .football-fixture-tile__league small {
    font-size: 0.66rem !important;
    max-width: 42% !important;
}

.football-home-board .football-fixture-tile__league-title img,
.football-home-board .football-fixture-tile__league-title i {
    width: 21px !important;
    height: 21px !important;
    padding: 0.12rem !important;
}

.football-home-board .football-fixture-tile__body {
    grid-template-columns: minmax(0, 1fr) minmax(50px, auto) !important;
    gap: 0.42rem !important;
    padding: 0.44rem 0.5rem !important;
}

.football-home-board .football-fixture-tile__teams {
    gap: 0.32rem !important;
}

.football-home-board .football-fixture-tile__teams span {
    gap: 5px !important;
}

.football-home-board .football-fixture-tile__teams img {
    width: 20px !important;
    height: 20px !important;
}

.football-home-board .football-fixture-tile__teams strong {
    font-size: 0.72rem !important;
}

.football-home-board .football-fixture-tile__kickoff {
    min-width: 50px !important;
    padding-left: 0.4rem !important;
}

.football-home-board .football-fixture-tile__kickoff strong {
    font-size: 0.84rem !important;
}

.football-home-board .football-fixture-tile__kickoff small,
.football-home-board .football-fixture-tile__venue {
    font-size: 0.62rem !important;
}

.football-home-board .football-fixture-tile__venue {
    padding: 0.34rem 0.5rem !important;
}

@media (min-width: 1180px) {
    .football-home-board .football-fixture-strip--scroll {
        grid-auto-columns: clamp(188px, 13vw, 220px) !important;
    }
}

@media (max-width: 991px) {
    .football-home-board .football-fixture-strip--scroll {
        grid-auto-columns: minmax(210px, 56vw) !important;
    }
}

@media (max-width: 560px) {
    .football-home-board .football-fixture-strip--scroll {
        grid-auto-columns: minmax(210px, 84vw) !important;
    }
}

@media (min-width: 992px) {

    .football-layout--match-overview,
    .football-layout--match-table {
        grid-template-columns: minmax(0, 1fr) minmax(330px, 390px) !important;
    }

    .football-layout--match-overview > .football-side-panel,
    .football-layout--match-table > .football-side-panel,
    .football-page .football-layout > aside.football-side-panel {
        justify-self: stretch !important;
        width: 100% !important;
        max-width: none !important;
    }
}

.football-section--match-stats-inline {
    margin-top: 1rem;
    padding: clamp(0.9rem, 1.6vw, 1.2rem);
}

.football-match-stats--inline {
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}

.football-ad-panel {
    min-height: 260px;
}

.football-sidebar-ad-slot {
    align-items: center;
    background: var(--surface-strong);
    border: 1px dashed var(--border);
    border-radius: 16px;
    display: flex;
    justify-content: center;
    min-height: 230px;
    overflow: hidden;
    padding: 0.75rem;
}

.football-competition-card__actions {
    flex-wrap: wrap;
    justify-content: flex-end;
}

@media (max-width: 991px) {
    .football-page .football-layout > aside.football-side-panel,
    .football-page .football-layout > .football-side-panel {
        position: static;
        top: auto;
    }

    .football-match-stats--inline {
        grid-template-columns: 1fr;
    }
}

/* v148: finished/upcoming rail, readable labels, color standings and admin data-engine polish */
.football-home-board .football-fixture-strip--scroll {
    grid-auto-columns: clamp(280px, 18vw, 330px) !important;
    gap: 14px !important;
}
.football-home-board .football-fixture-tile__league {
    min-height: 46px !important;
    padding: 0.54rem 0.68rem !important;
    align-items: center;
}
.football-home-board .football-fixture-tile__league-title {
    flex: 1 1 auto;
    min-width: 0;
}
.football-home-board .football-fixture-tile__league-title > span,
.football-home-board .football-fixture-tile__league span {
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
    font-size: 0.92rem !important;
    line-height: 1.08 !important;
}
.football-home-board .football-fixture-tile__league small {
    flex: 0 0 auto;
    max-width: none !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
    font-size: 0.78rem !important;
}
.football-home-board .football-fixture-tile__teams strong {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    line-height: 1.12;
}
.football-home-board .football-fixture-tile__kickoff {
    min-width: 68px !important;
}
@media (min-width: 1180px) {
    .football-home-board .football-fixture-strip--scroll { grid-auto-columns: clamp(270px, 16vw, 315px) !important; }
}
@media (max-width: 991px) {
    .football-home-board .football-fixture-strip--scroll { grid-auto-columns: minmax(250px, 68vw) !important; }
}
@media (max-width: 560px) {
    .football-home-board .football-fixture-strip--scroll { grid-auto-columns: minmax(238px, 86vw) !important; }
    .football-home-board .football-fixture-tile__league small { font-size: 0.66rem !important; }
}

.football-table tr.has-qualification td:first-child,
.football-standings-card.has-qualification {
    box-shadow: inset 4px 0 0 var(--qualification-color, var(--primary));
}
.football-qualification-badge { display: none !important; }
.football-qualification-marker {
    align-items: center;
    display: inline-flex;
    gap: 0.35rem;
    margin-top: 0.32rem;
    vertical-align: middle;
}
.football-qualification-marker i {
    background: var(--qualification-color, var(--primary));
    border: 2px solid color-mix(in srgb, var(--qualification-color, var(--primary)) 35%, #fff);
    border-radius: 999px;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--qualification-color, var(--primary)) 13%, transparent);
    display: inline-block;
    height: 0.78rem;
    width: 0.78rem;
}
.football-form-chips--interactive span,
.football-form-chips--interactive a {
    cursor: help;
    position: relative;
}
.football-form-chips--interactive span:hover::after,
.football-form-chips--interactive span:focus::after,
.football-form-chips--interactive a:hover::after,
.football-form-chips--interactive a:focus::after {
    background: #07142a;
    border-radius: 10px;
    bottom: calc(100% + 8px);
    color: #fff;
    content: attr(data-football-tooltip);
    font-size: 0.72rem;
    font-weight: 800;
    left: 50%;
    line-height: 1.2;
    max-width: 220px;
    min-width: 150px;
    padding: 0.55rem 0.65rem;
    position: absolute;
    transform: translateX(-50%);
    white-space: normal;
    z-index: 50;
}

.football-table-wrap .football-form-chips--interactive span:hover::after,
.football-table-wrap .football-form-chips--interactive span:focus::after,
.football-table-wrap .football-form-chips--interactive a:hover::after,
.football-table-wrap .football-form-chips--interactive a:focus::after {
    display: none !important;
}

.football-knockout-bracket--tree {
    align-items: center;
    gap: clamp(20px, 3vw, 46px) !important;
    padding: 0.75rem 0.25rem 1.25rem !important;
}
.football-knockout-bracket--tree .football-knockout-round {
    gap: clamp(14px, 2vw, 24px);
    justify-content: center;
    min-width: 240px;
}
.football-bracket-match--tie,
.football-knockout-bracket--tree .football-bracket-match {
    border-radius: 18px;
    padding: 0.85rem;
    position: relative;
}
.football-bracket-match--tie::before,
.football-knockout-bracket--tree .football-bracket-match::before {
    border-right: 2px solid rgba(14, 125, 121, 0.24);
    content: '';
    height: 32px;
    position: absolute;
    right: -24px;
    top: 50%;
    transform: translateY(-50%);
}
.football-knockout-round:last-child .football-bracket-match::before { display: none; }
.football-bracket-match__legs {
    display: flex !important;
    gap: 0.35rem;
    justify-content: flex-end;
    margin-bottom: 0.35rem;
}
.football-bracket-match__legs b {
    background: var(--surface-strong);
    border-radius: 999px;
    color: var(--text-soft);
    font-size: 0.66rem;
    font-weight: 950;
    padding: 0.2rem 0.42rem;
}
.football-bracket-team {
    display: grid !important;
    grid-template-columns: 26px minmax(0, 1fr) auto !important;
    align-items: center;
    gap: 0.5rem;
}
.football-bracket-team em {
    color: var(--text);
    font-style: normal;
    font-weight: 850;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.football-bracket-team strong,
.football-bracket-team b {
    color: var(--bg-contrast);
    font-weight: 950;
}
.football-bracket-team.is-winner em,
.football-bracket-team.is-winner strong { color: var(--primary-strong); }
.football-bracket-match small {
    color: var(--text-soft);
    display: block;
    font-size: 0.74rem;
    font-weight: 800;
    margin-top: 0.35rem;
}
@media (max-width: 900px) {
    .football-knockout-bracket--tree { grid-template-columns: repeat(var(--round-count), minmax(230px, 82vw)); }
}

.admin-data-engine-page .data-engine-hero {
    align-items: flex-start;
    background: linear-gradient(135deg, rgba(14,125,121,.14), rgba(7,20,42,.08));
    border: 1px solid rgba(14,125,121,.18);
    border-radius: 24px;
    box-shadow: 0 18px 45px rgba(15, 23, 42, .08);
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin-bottom: 1rem;
    padding: clamp(1.2rem, 2vw, 2rem);
}
.data-engine-hero__actions {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    gap: .65rem;
    justify-content: flex-end;
}
.data-engine-hero__actions .btn {
    align-items: center;
    display: inline-flex;
    justify-content: center;
    min-height: 44px;
}
@media (max-width: 800px) {
    .admin-data-engine-page .data-engine-hero {
        flex-direction: column;
    }
    .data-engine-hero__actions {
        justify-content: stretch;
        width: 100%;
    }
    .data-engine-hero__actions .btn {
        flex: 1 1 220px;
    }
}
.data-engine-tabs {
    background: #fff;
    border: 1px solid rgba(15,23,42,.10);
    border-radius: 18px;
    box-shadow: 0 12px 30px rgba(15,23,42,.06);
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin: 1rem 0;
    padding: 0.5rem;
}
.data-engine-tabs a {
    border-radius: 999px;
    color: #334155;
    font-weight: 850;
    padding: 0.62rem 0.9rem;
    text-decoration: none;
}
.data-engine-tabs a.is-active,
.data-engine-tabs a:hover {
    background: #0e7d79;
    color: #fff;
}
.data-engine-stat-grid {
    display: grid;
    gap: 0.85rem;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    margin-bottom: 1rem;
}
.data-engine-stat-card,
.data-engine-panel,
.data-engine-table-card {
    background: #fff;
    border: 1px solid rgba(15, 23, 42, .10);
    border-radius: 20px;
    box-shadow: 0 14px 34px rgba(15, 23, 42, .06);
}
.data-engine-stat-card {
    display: grid;
    gap: 0.2rem;
    min-height: 112px;
    padding: 1rem;
}
.data-engine-stat-card span {
    color: #0e7d79;
    font-size: 0.72rem;
    font-weight: 950;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.data-engine-stat-card strong {
    color: #07142a;
    font-size: clamp(1.3rem, 2vw, 2.05rem);
    line-height: 1;
}
.data-engine-stat-card small { color: #64748b; font-weight: 750; }
.data-engine-stat-card.is-online { border-color: rgba(14,125,121,.25); box-shadow: inset 4px 0 0 #0e7d79, 0 14px 34px rgba(15, 23, 42, .06); }
.data-engine-stat-card.is-offline { border-color: rgba(220,38,38,.25); box-shadow: inset 4px 0 0 #dc2626, 0 14px 34px rgba(15, 23, 42, .06); }
.data-engine-actions-panel {
    display: grid;
    gap: 0.7rem;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    margin: 1rem 0;
}
.data-engine-actions-panel button {
    align-items: center;
    background: linear-gradient(135deg, #07142a, #0e7d79);
    border: 0;
    border-radius: 16px;
    color: #fff;
    display: inline-flex;
    font-weight: 900;
    gap: 0.55rem;
    justify-content: center;
    min-height: 48px;
    padding: 0.8rem 1rem;
    width: 100%;
}
.data-engine-panel { margin: 1rem 0; padding: clamp(1rem, 1.5vw, 1.25rem); }
.data-engine-panel__head {
    align-items: center;
    display: flex;
    gap: 0.75rem;
    justify-content: space-between;
    margin-bottom: 0.8rem;
}
.data-engine-panel__head span {
    color: #07142a;
    font-weight: 950;
}
.data-engine-panel__head a { color: #0e7d79; font-weight: 900; }
.data-engine-grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
.data-engine-details { display: grid; gap: 0.55rem; }
.data-engine-details div { background: #f8fafc; border-radius: 12px; padding: 0.65rem; }
.data-engine-details dt { color: #64748b; font-size: 0.72rem; font-weight: 900; text-transform: uppercase; }
.data-engine-details dd { color: #07142a; font-weight: 850; margin: 0.15rem 0 0; overflow-wrap: anywhere; }

.normalization-logo-uploader {
    display: grid;
    gap: 0.5rem;
}
.normalization-logo-uploader img,
.normalization-record-title img {
    background: #f8fafc;
    border: 1px solid rgba(15,23,42,.10);
    border-radius: 14px;
    height: 44px;
    object-fit: contain;
    padding: 0.25rem;
    width: 44px;
}
.normalization-logo-uploader img {
    height: 58px;
    width: 58px;
}
.normalization-check--danger { color: #dc2626; font-weight: 850; }
.data-engine-normalization-table label {
    color: #0e7d79;
    font-size: 0.68rem;
    font-weight: 950;
    letter-spacing: .04em;
    margin: 0.42rem 0 0.18rem;
    text-transform: uppercase;
}
.data-engine-normalization-table input.form-control,
.data-engine-normalization-table textarea.form-control,
.data-engine-normalization-filter .form-control {
    border: 1px solid rgba(15,23,42,.14);
    border-radius: 12px;
    font-weight: 750;
    padding: 0.55rem 0.7rem;
}
@media (max-width: 900px) {
    .data-engine-table-card { overflow-x: auto; }
    .data-engine-normalization-table { min-width: 980px; }
}

/* v149: competition directory polish, clean qualification edges, and consistent mini tables */
.football-page .football-section--flush {
    overflow: visible;
}
.football-page:has(.football-competition-grid--wide) {
    padding-top: clamp(1rem, 2.4vw, 2rem);
}
.football-standings-toolbar--single {
    align-items: flex-start !important;
    background: linear-gradient(135deg, rgba(14,125,121,.08), rgba(15,23,42,.03));
    border: 1px solid var(--border);
    border-radius: 22px;
    padding: clamp(.85rem, 1.5vw, 1.15rem);
}
.football-standings-toolbar--single .section-heading {
    margin: 0 !important;
}
.football-competition-grid--wide {
    grid-template-columns: repeat(auto-fill, minmax(310px, 1fr)) !important;
    gap: clamp(.9rem, 1.5vw, 1.15rem) !important;
}
.football-competition-card--directory {
    align-items: stretch !important;
    background:
        radial-gradient(circle at top right, rgba(14,165,164,.12), transparent 38%),
        var(--surface-strong) !important;
    border: 1px solid var(--border) !important;
    border-radius: 24px !important;
    box-shadow: var(--shadow-sm);
    display: grid !important;
    gap: 1rem !important;
    grid-template-columns: 1fr !important;
    min-height: 190px;
    overflow: hidden;
    padding: 1rem !important;
    position: relative;
}
.football-competition-card--directory:hover {
    border-color: rgba(14, 125, 121, .34) !important;
    box-shadow: var(--shadow-md);
    transform: translateY(-2px);
}
.football-competition-card--directory::before {
    background: var(--primary);
    border-radius: 999px;
    content: '';
    height: 4px;
    left: 1rem;
    position: absolute;
    right: 1rem;
    top: 0;
}
.football-competition-card--directory .football-competition-card__main {
    align-items: center !important;
    display: grid !important;
    gap: .9rem !important;
    grid-template-columns: 56px minmax(0, 1fr) !important;
    min-height: 84px;
}
.football-competition-card--directory .football-competition-card__logo {
    background: #fff !important;
    border-radius: 18px !important;
    box-shadow: 0 12px 24px rgba(15,23,42,.08);
    height: 56px !important;
    padding: .35rem;
    width: 56px !important;
}
.football-competition-card--directory .football-competition-card__logo img {
    height: 44px !important;
    width: 44px !important;
}
.football-competition-card__text {
    display: grid;
    gap: .18rem;
    min-width: 0;
}
.football-competition-card__text strong {
    color: var(--bg-contrast);
    font-size: clamp(1.08rem, 1.4vw, 1.35rem);
    line-height: 1.1;
    overflow: visible;
    white-space: normal;
}
.football-competition-card__country,
.football-competition-card__text em {
    color: var(--text-soft);
    font-size: .82rem;
    font-style: normal;
    font-weight: 850;
}
.football-competition-card--directory .football-competition-card__actions {
    align-items: stretch;
    display: grid !important;
    gap: .5rem !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    justify-content: stretch !important;
    margin-top: auto;
    width: 100%;
}
.football-competition-card--directory .football-competition-card__actions a {
    align-items: center;
    background: rgba(14,125,121,.11) !important;
    border: 1px solid rgba(14,125,121,.14);
    border-radius: 14px !important;
    color: var(--primary-strong) !important;
    display: inline-flex;
    font-size: .78rem !important;
    font-weight: 950 !important;
    gap: .35rem;
    justify-content: center;
    min-height: 42px;
    padding: .55rem .45rem !important;
    text-decoration: none;
}
.football-competition-card--directory .football-competition-card__actions a:hover {
    background: var(--primary) !important;
    color: #fff !important;
}

/* Standings: use only the colored left edge; remove dot markers completely. */
.football-qualification-marker,
.football-qualification-marker i {
    display: none !important;
}
.football-table tr.has-qualification td:first-child,
.football-standings-card.has-qualification {
    box-shadow: inset 5px 0 0 var(--qualification-color, var(--primary)) !important;
}
.football-table tr.has-qualification td:first-child {
    position: relative;
}
.football-table tr.has-qualification td:first-child::before {
    background: var(--qualification-color, var(--primary));
    bottom: 0;
    content: '';
    left: 0;
    position: absolute;
    top: 0;
    width: 5px;
}

/* Homepage rail: finished + upcoming cards, readable league/round labels with no ellipses. */
.football-home-board .football-fixture-strip--scroll {
    grid-auto-columns: clamp(292px, 19vw, 340px) !important;
    gap: 1rem !important;
}
.football-home-board .football-fixture-tile {
    border-radius: 18px !important;
    min-height: 138px !important;
    overflow: hidden !important;
    transform: none !important;
    width: auto !important;
}
.football-home-board .football-fixture-tile__league {
    display: grid !important;
    gap: .5rem !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    min-height: 48px !important;
}
.football-home-board .football-fixture-tile__league-title {
    min-width: 0 !important;
    overflow: visible !important;
}
.football-home-board .football-fixture-tile__league-title > span {
    font-size: .9rem !important;
    font-weight: 950 !important;
    line-height: 1.05 !important;
    max-width: none !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
    word-break: normal !important;
}
.football-home-board .football-fixture-tile__league small {
    align-self: center;
    font-size: .76rem !important;
    font-weight: 950 !important;
    max-width: none !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
}
.football-home-board .football-fixture-tile__teams strong {
    font-size: .86rem !important;
    max-width: none !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
}

/* Team/club sidebar mini table: match-page style everywhere. */
.football-side-panel .football-mini-table {
    display: grid;
    gap: .55rem;
}
.football-side-panel .football-mini-table a {
    align-items: center;
    background: var(--surface-strong);
    border: 1px solid var(--border);
    border-radius: 14px;
    color: var(--text);
    display: grid;
    gap: .55rem;
    grid-template-columns: 38px minmax(0, 1fr) auto;
    min-height: 46px;
    padding: .45rem .55rem;
    text-decoration: none;
}
.football-side-panel .football-mini-table a.is-active {
    border-color: rgba(14,125,121,.55);
    box-shadow: inset 4px 0 0 var(--primary);
}
.football-side-panel .football-mini-table a > span {
    align-items: center;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 12px;
    display: inline-flex;
    font-weight: 900;
    height: 32px;
    justify-content: center;
    width: 32px;
}
.football-side-panel .football-mini-table strong {
    align-items: center;
    display: flex;
    gap: .45rem;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.football-side-panel .football-mini-table strong img {
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 50%;
    flex: 0 0 auto;
    height: 22px;
    object-fit: contain;
    padding: 2px;
    width: 22px;
}
.football-side-panel .football-mini-table em {
    color: var(--bg-contrast);
    font-style: italic;
    font-weight: 900;
}
.football-panel-link--block,
.football-side-panel .football-panel-link {
    display: inline-flex;
    margin-top: .8rem;
    text-decoration: none;
}

@media (max-width: 991px) {
    .football-competition-grid--wide { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important; }
    .football-home-board .football-fixture-strip--scroll { grid-auto-columns: minmax(285px, 74vw) !important; }
}
@media (max-width: 560px) {
    .football-competition-card--directory .football-competition-card__actions { grid-template-columns: 1fr; }
    .football-home-board .football-fixture-strip--scroll { grid-auto-columns: minmax(265px, 88vw) !important; }
    .football-home-board .football-fixture-tile__league-title > span { font-size: .84rem !important; }
    .football-home-board .football-fixture-tile__league small { font-size: .68rem !important; }
}

/* v150: live data + projected knockout polish */
.football-bracket-match.is-projected {
    background: linear-gradient(135deg, rgba(14,125,121,.08), #fff);
    border-style: dashed;
}
.football-bracket-match.is-projected .football-bracket-match__legs b {
    width: auto;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: .62rem;
    text-transform: uppercase;
    letter-spacing: .08em;
    background: rgba(14,125,121,.12);
    color: var(--primary-strong, #0e7d79);
}
.football-bracket-match.is-projected small {
    color: #64748b;
}


/* v154 football polish: stack match info labels and keep sidebar ads clean. */
.football-info-list a > span,
.football-info-list > span > span {
    display: grid;
    gap: 0.15rem;
    line-height: 1.2;
}

.football-info-list strong,
.football-info-list small {
    display: block;
}

.football-sidebar-stack {
    align-self: start;
    display: grid;
    gap: 1rem;
    min-width: 0;
}

.football-sidebar-stack .football-side-panel {
    width: 100%;
}

.football-ad-panel .football-sidebar-ad-slot {
    margin-top: 0.75rem;
}

.football-transfer-list{display:grid;gap:12px}.football-transfer-card{border:1px solid rgba(15,23,42,.1);border-radius:18px;background:#fff;padding:14px 16px;box-shadow:0 12px 28px rgba(15,23,42,.06)}.football-transfer-card strong{display:block;font-size:1rem;color:#0f172a}.football-transfer-card span{display:block;color:#64748b;font-size:.85rem;margin-top:2px}.football-transfer-card p{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0 0;color:#334155}.football-transfer-card img{width:24px;height:24px;object-fit:contain;border-radius:999px;background:#fff;border:1px solid rgba(15,23,42,.12)}.article-score-chip{display:flex;align-items:center;gap:12px;border:1px solid rgba(14,125,121,.18);background:linear-gradient(135deg,#f0fdfa,#fff);border-radius:18px;padding:12px 14px;margin:18px 0}.article-score-chip img{width:28px;height:28px;object-fit:contain}.article-score-chip strong{font-size:1.2rem}.article-score-chip span{font-weight:800}.article-score-chip small{display:block;color:#64748b;font-size:.78rem}


/* v157 football/article/admin refinements */
.article-score-chip{display:none!important}
.article-match-scoreboard{margin:22px 0;border-radius:24px;background:#151515;color:#fff;padding:24px 32px;box-shadow:0 22px 48px rgba(0,0,0,.22);overflow:hidden;position:relative}
.article-match-scoreboard:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% -20%,rgba(255,221,70,.14),transparent 42%);pointer-events:none}.article-match-scoreboard__meta{display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap;color:#cbd5e1;font-size:.95rem;margin-bottom:18px}.article-match-scoreboard__meta strong{color:#fff}.article-match-scoreboard__main{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:24px;align-items:center}.article-match-scoreboard__team{display:flex;align-items:center;gap:14px;font-size:clamp(1.25rem,3vw,2.2rem);font-weight:800;min-width:0}.article-match-scoreboard__team strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.article-match-scoreboard__team--home{justify-content:flex-end}.article-match-scoreboard__team--away{justify-content:flex-start}.article-match-scoreboard__team img{width:54px;height:54px;object-fit:contain;border-radius:999px;background:#fff;padding:5px}.article-match-scoreboard__score{display:grid;grid-template-columns:auto 3px auto;align-items:center;gap:18px;text-align:center}.article-match-scoreboard__score b{font-size:clamp(2.8rem,7vw,5.2rem);line-height:.9}.article-match-scoreboard__score em{width:3px;height:78px;background:#f5c400;display:block}.article-match-scoreboard__score span{grid-column:1/-1;color:#f5c400;text-transform:uppercase;font-weight:900;letter-spacing:.08em;margin-top:6px}.football-live-pill,.football-summary-live{display:inline-flex!important;align-items:center;gap:8px;border-radius:999px;background:#ef4444;color:#fff!important;font-weight:900;text-transform:uppercase;letter-spacing:.04em;padding:7px 12px;box-shadow:0 12px 26px rgba(239,68,68,.22)}.football-live-pill i,.football-summary-live i{width:9px;height:9px;border-radius:999px;background:#fff;box-shadow:0 0 0 0 rgba(255,255,255,.7);animation:kisureLivePulse 1.3s infinite}.football-live-pill em,.football-summary-live b{font-style:normal;background:rgba(255,255,255,.18);border-radius:999px;padding:2px 7px}.football-match-hero.is-live{border-color:rgba(239,68,68,.45);box-shadow:0 24px 60px rgba(239,68,68,.12)}@keyframes kisureLivePulse{70%{box-shadow:0 0 0 9px rgba(255,255,255,0)}100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}}.football-select-search,.js-football-match-option-search,.js-admin-filter-search{border:1px solid rgba(15,23,42,.13);border-radius:14px;padding:11px 13px;background:#fff;width:100%;font-weight:700}.graphics-manual-fallback{display:none!important}.admin-graphics-create .graphic-type-panel[data-panel="table-square"] .graphics-table-builder{display:none}.admin-graphics-create .alert-info,.admin-graphics-create .alert-warning{font-weight:700}.football-topscorer-toolbar{gap:14px}.football-competition-search{min-width:min(100%,520px)}.football-competition-search select{width:100%;min-height:44px}.football-competition-search select[size]{height:auto;max-height:320px;overflow:auto}
@media (max-width: 760px){.article-match-scoreboard{padding:18px 16px;border-radius:20px}.article-match-scoreboard__main{grid-template-columns:1fr;gap:14px}.article-match-scoreboard__team,.article-match-scoreboard__team--home,.article-match-scoreboard__team--away{justify-content:center;text-align:center;flex-direction:column;font-size:1.35rem}.article-match-scoreboard__team--away{flex-direction:column-reverse}.article-match-scoreboard__score{justify-content:center}.article-match-scoreboard__score b{font-size:3rem}.article-match-scoreboard__score em{height:52px}.football-section--table .football-table-wrap{overflow:visible}.football-section--table .football-table{min-width:0;width:100%;border-collapse:separate;border-spacing:0 10px}.football-section--table .football-table thead{display:none}.football-section--table .football-table tr{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:#fff;border:1px solid rgba(15,23,42,.1);border-radius:18px;padding:12px;box-shadow:0 12px 30px rgba(15,23,42,.06)}html[data-theme="dark"] .football-section--table .football-table tr{background:#0f172a}.football-section--table .football-table td{display:flex;align-items:center;justify-content:space-between;border:0!important;padding:5px 0!important;font-size:.9rem}.football-section--table .football-table td:before{content:attr(data-label);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:#64748b;font-weight:900}.football-section--table .football-table td[data-label="Player"],.football-section--table .football-table td[data-label="Team"]{grid-column:1/-1}.football-section--table .football-table td[data-label="Player"]:before,.football-section--table .football-table td[data-label="Team"]:before{margin-right:12px}.football-table-team{min-width:0}.football-table-team strong,.football-table-team span{white-space:normal}.football-topscorer-toolbar,.football-competition-search{width:100%}.football-competition-search{display:grid;gap:8px}.football-compact-hero--split{gap:14px}.football-season-switcher{justify-content:flex-start;overflow-x:auto}}

.admin-graphics-create .graphic-type-panel[data-panel="score-square"] .card-body>.row{display:none!important}


/* v158 football/player/article/top-scorers/graphics refresh */
.football-player-hero--detailed{display:grid;grid-template-columns:minmax(160px,220px) minmax(0,1fr);align-items:center;gap:32px;background:linear-gradient(115deg,rgba(14,125,121,.08),rgba(255,255,255,.92) 56%,rgba(14,20,42,.04));border:1px solid rgba(14,125,121,.14);border-radius:34px;padding:36px 42px;overflow:hidden}.football-player-hero__media{display:flex;align-items:center;justify-content:center}.football-player-hero__photo{width:160px;height:160px;border-radius:30px;background:linear-gradient(180deg,#f7fbfb,#eef7f6);border:1px solid rgba(14,125,121,.14);display:flex;align-items:flex-end;justify-content:center;overflow:hidden;box-shadow:0 18px 40px rgba(15,23,42,.08)}.football-player-hero__photo img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block}.football-player-hero__content{display:grid;gap:12px;align-content:center}.football-player-hero__content h1{font-size:clamp(2.3rem,4.4vw,4.8rem);line-height:.95;margin:0;color:#0b1632}.football-player-hero__content p{font-size:1.15rem;color:#52637c;margin:0}.football-player-team-link{display:inline-flex;align-items:center;gap:12px;border-radius:999px;padding:10px 18px;background:#fff;border:1px solid rgba(15,23,42,.1);box-shadow:0 12px 28px rgba(15,23,42,.06);width:max-content;max-width:100%}.football-player-team-link img{width:42px;height:42px;border-radius:50%;background:#fff;object-fit:contain;border:1px solid rgba(15,23,42,.08)}
.article-match-scoreboard{margin:22px 0;border-radius:28px;background:linear-gradient(135deg,#08101d,#0f172a 42%,#08101d);color:#fff;padding:24px 28px;box-shadow:0 22px 48px rgba(0,0,0,.22);overflow:hidden;position:relative}.article-match-scoreboard:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 0,rgba(14,125,121,.18),transparent 42%);pointer-events:none}.article-match-scoreboard__meta{display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap;color:#cbd5e1;font-size:.96rem;margin-bottom:20px}.article-match-scoreboard__meta strong{color:#fff}.article-match-scoreboard__main{display:grid;grid-template-columns:minmax(0,1fr) 72px auto 72px minmax(0,1fr);align-items:center;gap:16px}.article-match-scoreboard__team{display:flex;align-items:center;font-size:clamp(1.4rem,2.8vw,3rem);font-weight:800;min-width:0}.article-match-scoreboard__team strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.article-match-scoreboard__team--home{justify-content:flex-end;text-align:right}.article-match-scoreboard__team--away{justify-content:flex-start;text-align:left}.article-match-scoreboard__crest{display:flex;align-items:center;justify-content:center}.article-match-scoreboard__crest img{width:64px;height:64px;border-radius:999px;background:#fff;padding:6px;object-fit:contain;box-shadow:0 10px 24px rgba(0,0,0,.18)}.article-match-scoreboard__score{display:grid;grid-template-columns:auto 3px auto;align-items:center;gap:18px;text-align:center}.article-match-scoreboard__score b{font-size:clamp(3.2rem,7vw,5.2rem);line-height:.9;color:#fff}.article-match-scoreboard__score em{width:3px;height:80px;background:#0e7d79;display:block}.article-match-scoreboard__score span{grid-column:1/-1;color:#8de2d7;text-transform:uppercase;font-weight:900;letter-spacing:.08em;margin-top:8px}.article-match-scoreboard__details{display:flex;justify-content:center;align-items:center;gap:12px 18px;flex-wrap:wrap;margin-top:18px;color:#d9e2ef}.article-match-scoreboard__details span{display:inline-flex;align-items:center;gap:8px}.article-match-scoreboard__status-pill{display:inline-flex;align-items:center;gap:8px;border-radius:999px;background:rgba(14,125,121,.18);color:#fff;padding:8px 14px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.article-match-scoreboard__status-pill.is-live{background:#dc2626}.article-match-scoreboard__status-pill i{width:9px;height:9px;border-radius:999px;background:#fff;box-shadow:0 0 0 0 rgba(255,255,255,.65);animation:kisureLivePulse 1.2s infinite}.article-match-scoreboard__status-pill em{font-style:normal;background:rgba(255,255,255,.16);padding:2px 7px;border-radius:999px}
.football-topscorers-mobile-list{display:none}.football-topscorers-table-wrap{overflow-x:auto}.football-topscorer-card{border:1px solid rgba(15,23,42,.1);border-radius:18px;background:#fff;box-shadow:0 14px 32px rgba(15,23,42,.06);overflow:hidden}.football-topscorer-card+ .football-topscorer-card{margin-top:12px}.football-topscorer-card summary{list-style:none;display:grid;grid-template-columns:44px minmax(0,1fr) 56px 36px;gap:12px;align-items:center;padding:14px 16px;cursor:pointer}.football-topscorer-card summary::-webkit-details-marker{display:none}.football-topscorer-card__rank{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:12px;background:#eff6ff;border:1px solid rgba(15,23,42,.1);font-weight:900;color:#0b1632}.football-topscorer-card__name{font-weight:800;color:#0b1632;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.football-topscorer-card__goals{font-size:1.15rem;font-weight:900;text-align:center;color:#0e7d79}.football-topscorer-card__toggle{display:flex;align-items:center;justify-content:center;color:#64748b;transition:transform .2s ease}.football-topscorer-card[open] .football-topscorer-card__toggle{transform:rotate(180deg)}.football-topscorer-card__body{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;padding:0 16px 16px}.football-topscorer-card__body div{display:grid;gap:3px;padding:10px 12px;border-radius:14px;background:#f8fafc}.football-topscorer-card__body span{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#64748b;font-weight:800}.football-topscorer-card__body strong,.football-topscorer-card__body a{color:#0b1632;font-weight:800;text-decoration:none}
.football-bracket-panel--knockout{background:#f8fafc;border:1px solid rgba(15,23,42,.08);border-radius:26px;padding:20px}.football-knockout-bracket--tree{gap:20px;align-items:start}.football-knockout-round h3{padding:0 6px}.football-bracket-match--tie,.football-knockout-bracket--tree .football-bracket-match{border-radius:18px;background:#fff;border:1px solid rgba(15,23,42,.1);padding:12px;box-shadow:0 14px 30px rgba(15,23,42,.06)}.football-bracket-match--tie::before,.football-knockout-bracket--tree .football-bracket-match::before,.football-bracket-match::after{border-color:rgba(148,163,184,.45)!important}.football-bracket-match__legs{color:#0e7d79}.football-bracket-match__legs b{background:rgba(14,125,121,.1);color:#0e7d79}.football-bracket-team{grid-template-columns:28px minmax(0,1fr) auto!important;gap:8px!important}.football-bracket-team em{font-style:normal;color:#0b1632}.football-bracket-match.is-projected{opacity:1;background:#fff}.football-bracket-match.is-projected .football-bracket-match__legs b{background:rgba(148,163,184,.15);color:#475569}.football-bracket-match.is-projected small{color:#64748b}
.admin-graphics-create .graphics-control-card .card-body{display:grid;gap:18px}.admin-graphics-create .graphics-control-card .alert{margin-bottom:0}.admin-graphics-create .graphics-control-field .form-select,.admin-graphics-create .graphics-control-field .form-control,.admin-graphics-create .form-select,.admin-graphics-create .form-control{border-radius:16px;min-height:48px}.admin-graphics-create .graphics-submit-bar{background:transparent;border:0;padding:18px 0 0}.admin-graphics-create .graphic-type-panel .card-body{display:grid;gap:16px}
@media (max-width: 991px){.football-player-hero--detailed{grid-template-columns:1fr;justify-items:center;text-align:center;padding:28px 20px}.football-player-team-link{margin-inline:auto}.football-player-hero__content{text-align:center}.football-player-hero__content h1{font-size:clamp(2.1rem,9vw,3.4rem)}.article-match-scoreboard__main{grid-template-columns:1fr;gap:10px}.article-match-scoreboard__team,.article-match-scoreboard__team--home,.article-match-scoreboard__team--away{justify-content:center;text-align:center}.article-match-scoreboard__crest{display:none}.article-match-scoreboard__score{justify-content:center}.article-match-scoreboard__score em{height:56px}.article-match-scoreboard__details{justify-content:center}.football-knockout-bracket--tree{grid-template-columns:repeat(var(--round-count),minmax(220px,78vw))}}
@media (max-width: 760px){.football-topscorers-table-wrap{display:none}.football-topscorers-mobile-list{display:block}.football-topscorer-card__body{grid-template-columns:1fr}.football-topscorer-toolbar{display:grid}.football-player-hero__photo{width:132px;height:132px;border-radius:24px}.article-match-scoreboard{padding:18px 16px;border-radius:22px}.article-match-scoreboard__meta{font-size:.84rem;gap:10px}.article-match-scoreboard__score b{font-size:3.2rem}.article-match-scoreboard__score span{font-size:.82rem}.article-match-scoreboard__details{font-size:.86rem}.football-knockout-bracket--tree{grid-template-columns:repeat(var(--round-count),minmax(190px,74vw))}}

@media (max-width: 991px){
  .article-match-scoreboard__main{grid-template-columns:minmax(0,1fr) 52px auto 52px minmax(0,1fr)!important;gap:10px}
  .article-match-scoreboard__team,.article-match-scoreboard__team--home,.article-match-scoreboard__team--away{justify-content:center!important;text-align:center!important;font-size:clamp(1rem,3vw,1.8rem)}
  .article-match-scoreboard__crest{display:flex!important}
  .article-match-scoreboard__crest img{width:46px;height:46px;padding:4px}
  .article-match-scoreboard__score b{font-size:clamp(2.3rem,6vw,3.4rem)}
  .article-match-scoreboard__score em{height:50px}
}
@media (max-width: 520px){
  .article-match-scoreboard__meta{font-size:.78rem}
  .article-match-scoreboard__main{grid-template-columns:minmax(0,1fr) 40px auto 40px minmax(0,1fr)!important;gap:8px}
  .article-match-scoreboard__team{font-size:.95rem}
  .article-match-scoreboard__crest img{width:38px;height:38px}
  .article-match-scoreboard__score{gap:10px}
  .article-match-scoreboard__score b{font-size:2.1rem}
  .article-match-scoreboard__score span{font-size:.74rem}
}


/* v159 football fixes: full-width scorers, article score details, player button, bracket and lineup pitch */
.football-topscorer-toolbar{width:100%;display:block}.football-topscorer-toolbar .football-competition-search{width:100%;max-width:none;display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end;background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:22px;padding:16px;box-shadow:0 12px 30px rgba(15,23,42,.05)}.football-topscorer-toolbar .football-competition-search label{grid-column:1/-1}.football-topscorer-toolbar .football-competition-search input,.football-topscorer-toolbar .football-competition-search select{min-width:0;width:100%}.football-topscorer-toolbar .football-competition-search button{height:48px;border-radius:14px;background:#07142a;color:#fff;border:0;padding:0 28px;font-weight:900}.football-player-team-link{min-height:54px}.football-player-team-link span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.article-match-scoreboard__event-grid{margin-top:18px;border-top:1px solid rgba(255,255,255,.14);display:grid;gap:10px;padding-top:16px}.article-match-scoreboard__event-grid div{display:grid;grid-template-columns:minmax(120px,.28fr) 1fr;gap:12px;align-items:start}.article-match-scoreboard__event-grid span{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:#8de2d7;font-weight:900}.article-match-scoreboard__event-grid strong{font-weight:800;color:#fff}.football-section--fullwidth{grid-column:1/-1;width:100%}.football-section--knockout-path{margin-top:24px}.football-bracket-panel--fullwidth{width:100%;max-width:none}.football-knockout-bracket--responsive{min-height:360px}.football-bracket-slot-icon{width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#e5e7eb;color:#94a3b8}.football-bracket-match.is-slot{background:#fff}.football-bracket-match.is-slot small{display:none}.football-lineups-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.football-formation-pitch{position:relative;overflow:hidden;border-radius:24px;background:linear-gradient(90deg,#078a56,#0aa164);min-height:560px;padding:22px 18px;display:grid;gap:14px;align-content:space-between;border:1px solid rgba(255,255,255,.2);box-shadow:inset 0 0 0 2px rgba(255,255,255,.06)}.football-formation-pitch:before{content:"";position:absolute;inset:14px;border:2px solid rgba(255,255,255,.15);border-radius:18px}.football-formation-pitch:after{content:"";position:absolute;left:50%;top:50%;width:132px;height:132px;border:2px solid rgba(255,255,255,.12);border-radius:50%;transform:translate(-50%,-50%)}.football-formation-pitch__halfway{position:absolute;left:0;right:0;top:50%;border-top:2px solid rgba(255,255,255,.12)}.football-formation-row{position:relative;z-index:1;display:grid;grid-template-columns:repeat(var(--line-count,1),minmax(0,1fr));gap:8px;justify-items:center}.football-formation-row--keeper{--line-count:1}.football-formation-player{display:grid;justify-items:center;text-align:center;text-decoration:none;color:#fff;font-weight:900;min-width:0}.football-formation-player img,.football-formation-player b{width:48px;height:48px;border-radius:50%;background:#fff;color:#0b1632;display:flex;align-items:center;justify-content:center;object-fit:cover;border:3px solid #fff;box-shadow:0 8px 18px rgba(0,0,0,.22)}.football-formation-player span{margin-top:5px;font-size:.78rem;line-height:1.15;text-shadow:0 2px 8px rgba(0,0,0,.32);max-width:88px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.football-formation-player em{font-style:normal;margin-right:4px;color:#dffcf6}.admin-graphics-create .graphics-manual-fallback,.admin-graphics-create .graphics-extra-manual-fallback{display:none!important}.admin-graphics-create .graphic-type-panel[data-panel="score-square"] .alert,.admin-graphics-create .graphic-type-panel[data-panel="table-square"] .alert{font-size:1rem}.admin-graphics-create .graphics-submit-bar .btn{min-height:50px;border-radius:16px;font-weight:900;padding-inline:24px}
@media(max-width:991px){.football-topscorer-toolbar .football-competition-search{grid-template-columns:1fr}.football-player-team-link{min-height:48px;padding:8px 12px;font-size:.92rem}.football-player-team-link img{width:34px;height:34px}.football-lineups-grid{grid-template-columns:1fr}.football-formation-pitch{min-height:720px}.football-knockout-bracket--responsive{grid-template-columns:1fr!important;overflow:visible}.football-knockout-bracket--responsive .football-knockout-round{min-width:0}.football-knockout-bracket--responsive .football-bracket-match:before,.football-knockout-bracket--responsive .football-bracket-match:after{display:none!important}}
@media(max-width:560px){.football-player-team-link{max-width:100%;width:100%;justify-content:center}.football-player-team-link span{font-size:.88rem}.article-match-scoreboard__event-grid div{grid-template-columns:1fr}.football-formation-pitch{min-height:760px;padding:18px 10px}.football-formation-player img,.football-formation-player b{width:42px;height:42px}.football-formation-player span{font-size:.72rem;max-width:74px}.football-topscorer-toolbar .football-competition-search{padding:12px}}


/* v160 match scoreboard, knockout explainer and graphics editor fixes */
.article-match-scoreboard--match-page{margin-top:0;margin-bottom:24px;border-radius:34px;min-height:280px;display:grid;align-content:center}.article-match-scoreboard--match-page .article-match-scoreboard__meta{margin-bottom:18px}.article-match-scoreboard--match-page .article-match-scoreboard__team{text-decoration:none;color:#fff}.article-match-scoreboard--match-page .article-match-scoreboard__score{text-decoration:none;color:#fff}.article-match-scoreboard__event-grid{max-width:1040px;margin-inline:auto}.article-match-scoreboard__event-grid div{border-radius:16px;background:rgba(255,255,255,.06);padding:10px 14px}.article-match-scoreboard__event-grid div:empty{display:none}.football-bracket-explainer{margin:0 0 18px;border:1px solid rgba(14,125,121,.16);background:linear-gradient(135deg,rgba(14,125,121,.08),rgba(255,255,255,.9));border-radius:20px;padding:14px 16px;color:#0b1632}.football-bracket-explainer summary{cursor:pointer;font-weight:900;color:#0e7d79;text-transform:uppercase;letter-spacing:.08em;font-size:.82rem}.football-bracket-explainer div{display:grid;gap:10px;margin-top:12px}.football-bracket-explainer p{margin:0;color:#475569;line-height:1.55}.football-standings-mobile-group{display:none;margin:14px 0 8px;padding:10px 14px;border-radius:14px;background:rgba(14,125,121,.1);color:#0e7d79;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}.football-bracket-match.is-slot .football-bracket-team em{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-weight:900;letter-spacing:.02em}.football-bracket-match.is-slot .football-bracket-slot-icon{background:#eef2f7;color:#94a3b8}.admin-graphics-create .graphics-control-field.d-none{display:none!important}.admin-graphics-create .graphics-type-help{display:block;margin-top:8px;font-weight:700}.admin-graphics-create .graphic-type-panel.d-none{display:none!important}.admin-graphics-create .card-body>.graphics-control-field.alert{margin-bottom:1rem}.admin-graphics-create [data-panel="score-square"] .graphics-manual-fallback,.admin-graphics-create [data-panel="table-square"] .graphics-table-builder{display:none!important}.football-topscorer-toolbar{width:100%;max-width:none}.football-topscorer-toolbar .football-competition-search{width:100%;max-width:none!important}
@media(max-width:760px){.article-match-scoreboard--match-page{border-radius:24px;min-height:auto}.article-match-scoreboard--match-page .article-match-scoreboard__main{grid-template-columns:minmax(0,1fr) 42px auto 42px minmax(0,1fr)!important}.article-match-scoreboard--match-page .article-match-scoreboard__team{font-size:.95rem!important}.article-match-scoreboard--match-page .article-match-scoreboard__event-grid{font-size:.9rem}.football-standings-mobile-group{display:block}.football-bracket-explainer{padding:12px;border-radius:16px}.football-bracket-explainer p{font-size:.9rem}.football-knockout-bracket--responsive{display:flex!important;overflow-x:auto;gap:14px;scroll-snap-type:x mandatory}.football-knockout-bracket--responsive .football-knockout-round{min-width:78vw;scroll-snap-align:start}}
@media(max-width:760px){
  .football-knockout-bracket--responsive{display:grid!important;grid-template-columns:1fr!important;overflow:visible!important;gap:18px!important;min-height:0!important}
  .football-knockout-bracket--responsive .football-knockout-round{min-width:0!important;width:100%!important;display:grid!important;gap:12px!important}
  .football-knockout-bracket--responsive .football-knockout-round h3{position:sticky;top:72px;background:#fff;z-index:2;padding:8px;border-radius:12px;border:1px solid rgba(15,23,42,.08)}
  .football-knockout-bracket--responsive .football-bracket-match{max-width:100%;width:100%}
  .football-knockout-bracket--responsive .football-bracket-match::before,.football-knockout-bracket--responsive .football-bracket-match::after{display:none!important}
}

/* v162 match summary scores, football story icons, player full-name/dark-mode fixes */
.football-summary-kickoff--score {
    gap: 0.35rem;
    min-height: 128px;
}
.football-summary-scoreline {
    align-items: center;
    display: inline-flex;
    gap: 0.45rem;
    justify-content: center;
    line-height: 1;
}
.football-summary-scoreline em,
.football-summary-scoreline b {
    color: var(--bg-contrast);
    font-family: var(--font-display);
    font-size: clamp(1.5rem, 3vw, 2.25rem);
    font-style: normal;
    font-weight: 950;
}
.football-summary-scoreline b {
    color: var(--primary-strong);
}
.football-summary-time {
    font-weight: 900;
}
.football-article-list a.football-article-list__item {
    align-items: center;
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 0.78rem;
    justify-content: stretch;
}
.football-article-list__icon {
    align-items: center;
    background: linear-gradient(135deg, rgba(14, 125, 121, 0.12), rgba(14, 20, 42, 0.06));
    border: 1px solid var(--border);
    border-radius: 14px;
    display: inline-flex;
    height: 46px;
    justify-content: center;
    overflow: hidden;
    width: 46px;
}
.football-article-list__icon img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}
.football-article-list__icon b {
    color: var(--primary-strong);
    font-weight: 950;
}
.football-article-list__body {
    display: grid;
    gap: 0.22rem;
    min-width: 0;
}
.football-article-list__body strong {
    color: var(--text);
    line-height: 1.25;
}
.football-article-list__body em {
    color: var(--text-soft);
    font-size: 0.82rem;
    font-style: normal;
    font-weight: 850;
}
html[data-theme="dark"] .football-player-hero--detailed {
    background: linear-gradient(135deg, rgba(8, 18, 32, 0.96), rgba(14, 125, 121, 0.16));
    border-color: rgba(141, 226, 215, 0.16);
}
html[data-theme="dark"] .football-player-hero__content h1,
html[data-theme="dark"] .football-player-hero__content p,
html[data-theme="dark"] .football-player-team-link span,
html[data-theme="dark"] .football-data-card h3,
html[data-theme="dark"] .football-data-card p,
html[data-theme="dark"] .football-stat-grid--player span,
html[data-theme="dark"] .football-stat-grid--player strong {
    color: #f8fafc;
}
html[data-theme="dark"] .football-player-hero__photo,
html[data-theme="dark"] .football-player-team-link,
html[data-theme="dark"] .football-data-card,
html[data-theme="dark"] .football-stat-grid--player > div,
html[data-theme="dark"] .football-article-list a.football-article-list__item {
    background: rgba(15, 23, 42, 0.82);
    border-color: rgba(148, 163, 184, 0.22);
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.24);
}
html[data-theme="dark"] .football-player-team-link img,
html[data-theme="dark"] .football-article-list__icon {
    background: rgba(255, 255, 255, 0.94);
}
html[data-theme="dark"] .football-article-list__body strong {
    color: #f8fafc;
}
html[data-theme="dark"] .football-article-list__body em,
html[data-theme="dark"] .football-player-hero__content p {
    color: #cbd5e1;
}
@media (max-width: 760px) {
    .football-summary-kickoff--score {
        min-height: 102px;
        padding: 0.65rem;
    }
    .football-summary-scoreline em,
    .football-summary-scoreline b {
        font-size: 1.3rem;
    }
    .football-article-list a.football-article-list__item {
        grid-template-columns: 40px minmax(0, 1fr);
    }
    .football-article-list__icon {
        height: 40px;
        width: 40px;
    }
    .football-player-team-link {
        font-size: 0.88rem;
        gap: 8px;
        min-height: 46px;
        padding: 7px 12px;
    }
    .football-player-team-link img {
        height: 34px;
        width: 34px;
    }
}

/* v163 knockout dark-mode and match scoreboard alignment refinements */
.article-match-scoreboard__support {
    border-top: 1px solid rgba(255, 255, 255, 0.14);
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    margin-top: 18px;
    padding-top: 18px;
    align-items: start;
}
.article-match-scoreboard__support--assists {
    margin-top: 14px;
    padding-top: 16px;
}
.article-match-scoreboard__support-col {
    min-width: 0;
}
.article-match-scoreboard__support-col strong,
.article-match-scoreboard__support-center strong,
.article-match-scoreboard__support-center span {
    display: block;
}
.article-match-scoreboard__support-col strong {
    color: #fff;
    font-size: clamp(0.98rem, 1.8vw, 1.15rem);
    font-weight: 850;
    line-height: 1.55;
}
.article-match-scoreboard__support-col--home {
    text-align: right;
}
.article-match-scoreboard__support-col--away {
    text-align: left;
}
.article-match-scoreboard__support-center {
    align-self: center;
    display: grid;
    gap: 0.35rem;
    justify-items: center;
    min-width: 110px;
    text-align: center;
}
.article-match-scoreboard__support-center strong {
    color: #f8fafc;
    font-family: var(--font-display);
    font-size: clamp(1rem, 2vw, 1.35rem);
    font-weight: 950;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.article-match-scoreboard__support-center span {
    color: #cbd5e1;
    font-size: 0.92rem;
    font-weight: 850;
}
.article-match-scoreboard__support-center--label span {
    color: #8de2d7;
    font-size: 0.82rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.article-match-scoreboard__support--single {
    grid-template-columns: 1fr;
}
.article-match-scoreboard__support--single .article-match-scoreboard__support-center {
    min-width: 0;
}
.article-match-scoreboard__facts {
    border-top: 1px solid rgba(255, 255, 255, 0.14);
    color: #d9e2ef;
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem 1.25rem;
    justify-content: center;
    margin-top: 16px;
    padding-top: 14px;
}
.article-match-scoreboard__facts span {
    display: inline-flex;
    gap: 0.35rem;
}
.article-match-scoreboard__facts b {
    color: #8de2d7;
    font-weight: 900;
}
html[data-theme="dark"] .football-bracket-panel--knockout {
    background: linear-gradient(180deg, rgba(8, 16, 29, 0.98), rgba(15, 23, 42, 0.96));
    border-color: rgba(141, 226, 215, 0.14);
    box-shadow: 0 24px 54px rgba(0, 0, 0, 0.28);
}
html[data-theme="dark"] .football-bracket-panel--knockout .section-heading h2,
html[data-theme="dark"] .football-bracket-panel--knockout .section-heading h3,
html[data-theme="dark"] .football-bracket-panel--knockout .site-kicker,
html[data-theme="dark"] .football-bracket-panel--knockout .football-panel-link,
html[data-theme="dark"] .football-bracket-panel--knockout .football-bracket-match small,
html[data-theme="dark"] .football-bracket-panel--knockout .football-bracket-team em {
    color: #f8fafc;
}
html[data-theme="dark"] .football-bracket-panel--knockout .site-kicker,
html[data-theme="dark"] .football-bracket-panel--knockout .football-panel-link,
html[data-theme="dark"] .football-bracket-panel--knockout .football-bracket-match__legs,
html[data-theme="dark"] .football-bracket-panel--knockout .football-bracket-match__legs b,
html[data-theme="dark"] .football-bracket-panel--knockout .football-knockout-round h3,
html[data-theme="dark"] .football-bracket-panel--knockout .football-bracket-explainer summary {
    color: #8de2d7;
}
html[data-theme="dark"] .football-bracket-panel--knockout .football-panel-link {
    background: rgba(14, 125, 121, 0.12);
    border: 1px solid rgba(141, 226, 215, 0.18);
    border-radius: 999px;
    padding: 0.55rem 0.9rem;
}
html[data-theme="dark"] .football-bracket-panel--knockout .football-bracket-explainer {
    background: linear-gradient(135deg, rgba(14, 125, 121, 0.14), rgba(15, 23, 42, 0.92));
    border-color: rgba(141, 226, 215, 0.18);
    color: #f8fafc;
}
html[data-theme="dark"] .football-bracket-panel--knockout .football-bracket-explainer p {
    color: #cbd5e1;
}
html[data-theme="dark"] .football-bracket-panel--knockout .football-bracket-match--tie,
html[data-theme="dark"] .football-bracket-panel--knockout .football-knockout-bracket--tree .football-bracket-match,
html[data-theme="dark"] .football-bracket-panel--knockout .football-bracket-match.is-slot {
    background: rgba(15, 23, 42, 0.86);
    border-color: rgba(148, 163, 184, 0.18);
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.22);
    color: #f8fafc;
}
html[data-theme="dark"] .football-bracket-panel--knockout .football-bracket-match img {
    background: rgba(255, 255, 255, 0.94);
}
html[data-theme="dark"] .football-bracket-panel--knockout .football-bracket-slot-icon {
    background: rgba(148, 163, 184, 0.14);
    color: #cbd5e1;
}
html[data-theme="dark"] .football-bracket-panel--knockout .football-bracket-match.is-slot .football-bracket-slot-icon {
    background: rgba(148, 163, 184, 0.14);
    color: #cbd5e1;
}
html[data-theme="dark"] .football-bracket-panel--knockout .football-bracket-match.is-slot .football-bracket-team em,
html[data-theme="dark"] .football-bracket-panel--knockout .football-bracket-match.is-projected small {
    color: #cbd5e1;
}
html[data-theme="dark"] .football-bracket-panel--knockout .football-bracket-match::before,
html[data-theme="dark"] .football-bracket-panel--knockout .football-bracket-match::after {
    border-color: rgba(141, 226, 215, 0.18) !important;
}
@media (max-width: 760px) {
    .article-match-scoreboard__support {
        grid-template-columns: 1fr;
        gap: 12px;
        text-align: center;
    }
    .article-match-scoreboard__support-col,
    .article-match-scoreboard__support-col--home,
    .article-match-scoreboard__support-col--away {
        text-align: center;
    }
    .article-match-scoreboard__support-center {
        min-width: 0;
        order: -1;
    }
    .article-match-scoreboard__support-col strong {
        font-size: 0.96rem;
    }
    .article-match-scoreboard__facts {
        font-size: 0.88rem;
        gap: 0.5rem 0.9rem;
    }
    html[data-theme="dark"] .football-knockout-bracket--responsive .football-knockout-round h3 {
        background: rgba(15, 23, 42, 0.98);
        border-color: rgba(141, 226, 215, 0.16);
        color: #8de2d7;
    }
}

/* v164 scoreboard order: HT middle, goal icon center, details last */
.article-match-scoreboard__details--halftime {
    margin-top: 14px;
    justify-content: center;
}
.article-match-scoreboard__halftime-pill {
    border: 1px solid rgba(141, 226, 215, 0.28);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    color: #cbd5e1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 0.42rem 0.85rem;
    font-weight: 900;
}
.article-match-scoreboard__goal-icon {
    align-items: center;
    background: linear-gradient(135deg, rgba(14, 125, 121, 0.95), rgba(141, 226, 215, 0.22));
    border: 1px solid rgba(141, 226, 215, 0.38);
    border-radius: 999px;
    color: #ffffff;
    display: inline-flex;
    height: 44px;
    justify-content: center;
    width: 44px;
    box-shadow: 0 12px 26px rgba(14, 125, 121, 0.25);
}
.article-match-scoreboard__goal-icon i {
    font-size: 1.05rem;
}
.article-match-scoreboard__details--last {
    border-top: 1px solid rgba(255, 255, 255, 0.14);
    margin-top: 16px;
    padding-top: 14px;
}
.article-match-scoreboard__details--last span {
    color: #d9e2ef;
    font-weight: 800;
}
.article-match-scoreboard__details--last i {
    color: #8de2d7;
}
.article-match-scoreboard__support-center > .article-match-scoreboard__goal-icon + span,
.article-match-scoreboard__support-center > .article-match-scoreboard__goal-icon + strong {
    display: none;
}
@media (max-width: 760px) {
    .article-match-scoreboard__goal-icon {
        height: 38px;
        width: 38px;
    }
    .article-match-scoreboard__details--last {
        align-items: center;
        display: flex;
        gap: 0.45rem 0.8rem;
        justify-content: center;
    }
}

/* v165 mobile scoreboard: BBC-style compact match centre */
@media (max-width: 760px) {
    .article-match-scoreboard,
    .article-match-scoreboard--match-page {
        border-radius: 0;
        margin-inline: calc(-1 * var(--site-shell-padding, 0px));
        padding: 28px 18px 30px;
        background: #151515;
        box-shadow: none;
    }

    .article-match-scoreboard__meta {
        display: grid;
        gap: 5px;
        justify-items: center;
        margin-bottom: 20px;
        text-align: center;
    }

    .article-match-scoreboard__meta span,
    .article-match-scoreboard__meta strong {
        font-size: 0.98rem;
        line-height: 1.2;
    }

    .article-match-scoreboard__meta strong {
        color: #fff;
        font-weight: 900;
    }

    .article-match-scoreboard__main,
    .article-match-scoreboard--match-page .article-match-scoreboard__main {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
        grid-template-areas:
            "homecrest score awaycrest"
            "homename score awayname";
        column-gap: 14px;
        row-gap: 8px;
        align-items: center;
        justify-items: center;
        max-width: 430px;
        margin-inline: auto;
    }

    .article-match-scoreboard__team,
    .article-match-scoreboard--match-page .article-match-scoreboard__team {
        color: #fff;
        display: block;
        font-size: 1rem !important;
        line-height: 1.2;
        max-width: 120px;
        min-width: 0;
        text-align: center !important;
        text-decoration: none;
    }

    .article-match-scoreboard__team strong {
        display: block;
        overflow: visible;
        text-overflow: clip;
        white-space: normal;
    }

    .article-match-scoreboard__team--home {
        grid-area: homename;
        justify-self: center !important;
    }

    .article-match-scoreboard__team--away {
        grid-area: awayname;
        justify-self: center !important;
    }

    .article-match-scoreboard__crest {
        display: flex !important;
        align-items: center;
        justify-content: center;
    }

    .article-match-scoreboard__crest--home {
        grid-area: homecrest;
    }

    .article-match-scoreboard__crest--away {
        grid-area: awaycrest;
    }

    .article-match-scoreboard__crest img,
    .article-match-scoreboard__team img {
        width: 54px;
        height: 54px;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        object-fit: contain;
        padding: 0;
    }

    .article-match-scoreboard__score,
    .article-match-scoreboard--match-page .article-match-scoreboard__score {
        grid-area: score;
        display: grid;
        grid-template-columns: auto 2px auto;
        gap: 12px;
        align-items: center;
        justify-items: center;
        min-width: 116px;
        text-align: center;
        text-decoration: none;
    }

    .article-match-scoreboard__score b {
        color: #fff;
        font-size: 3.15rem;
        font-weight: 900;
        line-height: 0.9;
    }

    .article-match-scoreboard__score em {
        width: 2px;
        height: 52px;
        background: #f5c400;
    }

    .article-match-scoreboard__score span {
        grid-column: 1 / -1;
        color: #f5c400;
        font-size: 0.94rem;
        font-weight: 950;
        letter-spacing: 0.04em;
        margin-top: 2px;
    }

    .article-match-scoreboard__details--halftime {
        margin-top: 12px;
        padding-top: 0;
    }

    .article-match-scoreboard__halftime-pill {
        background: transparent;
        border: 0;
        box-shadow: none;
        color: #cbd5e1;
        font-size: 1rem;
        padding: 0;
    }

    .article-match-scoreboard__support {
        border-top: 0;
        max-width: 430px;
        margin: 16px auto 0;
        padding-top: 0;
    }

    .article-match-scoreboard__support--goals {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 12px 26px;
    }

    .article-match-scoreboard__support--goals .article-match-scoreboard__support-center {
        display: none;
    }

    .article-match-scoreboard__support-col,
    .article-match-scoreboard__support-col--home,
    .article-match-scoreboard__support-col--away {
        text-align: center !important;
    }

    .article-match-scoreboard__support-col strong {
        display: block;
        color: #fff;
        font-size: 0.96rem;
        font-weight: 900;
        line-height: 1.65;
    }

    .article-match-scoreboard__support-col strong br {
        display: block;
    }

    .article-match-scoreboard__support--assists:not(.article-match-scoreboard__support--single) {
        border-top: 1px solid rgba(255, 255, 255, 0.16);
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 12px 26px;
        margin-top: 18px;
        padding-top: 14px;
    }

    .article-match-scoreboard__support--assists:not(.article-match-scoreboard__support--single) .article-match-scoreboard__support-center {
        grid-column: 1 / -1;
        min-width: 0;
        order: -1;
    }

    .article-match-scoreboard__support-center--label span {
        color: #fff;
        font-family: var(--font-display);
        font-size: 1.12rem;
        font-weight: 950;
        letter-spacing: 0;
        text-transform: none;
    }

    .article-match-scoreboard__support--single {
        border-top: 1px solid rgba(255, 255, 255, 0.16);
        margin-top: 18px;
        padding-top: 14px;
    }

    .article-match-scoreboard__support--single .article-match-scoreboard__support-center {
        justify-items: center;
        text-align: center;
    }

    .article-match-scoreboard__details--last {
        border-top: 1px solid rgba(255, 255, 255, 0.12);
        justify-content: center;
        margin-top: 18px;
        padding-top: 13px;
    }

    .article-match-scoreboard__details--last span {
        font-size: 0.84rem;
    }
}

@media (max-width: 420px) {
    .article-match-scoreboard,
    .article-match-scoreboard--match-page {
        padding-inline: 12px;
    }

    .article-match-scoreboard__main,
    .article-match-scoreboard--match-page .article-match-scoreboard__main,
    .article-match-scoreboard__support,
    .article-match-scoreboard__support--goals,
    .article-match-scoreboard__support--assists:not(.article-match-scoreboard__support--single) {
        max-width: 100%;
    }

    .article-match-scoreboard__main,
    .article-match-scoreboard--match-page .article-match-scoreboard__main {
        column-gap: 10px;
    }

    .article-match-scoreboard__score,
    .article-match-scoreboard--match-page .article-match-scoreboard__score {
        gap: 10px;
        min-width: 96px;
    }

    .article-match-scoreboard__score b {
        font-size: 2.75rem;
    }

    .article-match-scoreboard__score em {
        height: 48px;
    }

    .article-match-scoreboard__crest img,
    .article-match-scoreboard__team img {
        width: 48px;
        height: 48px;
    }

    .article-match-scoreboard__team,
    .article-match-scoreboard--match-page .article-match-scoreboard__team {
        max-width: 92px;
        font-size: 0.95rem !important;
    }

    .article-match-scoreboard__support--goals,
    .article-match-scoreboard__support--assists:not(.article-match-scoreboard__support--single) {
        gap: 10px 18px;
    }
}

/* v166 scoreboard refinements: teal mobile colour, centered VS, visible HT and wrapping scorer columns */
.article-match-scoreboard__score.is-vs {
    grid-template-columns: 1fr;
    min-width: 120px;
    justify-items: center;
}
.article-match-scoreboard__score.is-vs b {
    grid-column: 1 / -1;
    text-align: center;
    width: 100%;
}
.article-match-scoreboard__score.is-vs span {
    grid-column: 1 / -1;
}
@media (min-width: 761px) {
    .article-match-scoreboard__support-col {
        min-width: 0;
    }
    .article-match-scoreboard__support-col strong {
        display: inline-block;
        max-width: min(42ch, 100%);
        overflow-wrap: break-word;
        word-break: normal;
        white-space: normal;
    }
    .article-match-scoreboard__support-col--home strong {
        margin-left: auto;
    }
    .article-match-scoreboard__support-col--away strong {
        margin-right: auto;
    }
    .article-match-scoreboard__support--goals,
    .article-match-scoreboard__support--assists:not(.article-match-scoreboard__support--single) {
        grid-template-columns: minmax(0, 1fr) 70px minmax(0, 1fr);
    }
}
@media (max-width: 760px) {
    .article-match-scoreboard,
    .article-match-scoreboard--match-page {
        background: linear-gradient(180deg, #071827 0%, #08101d 100%);
        border-top: 3px solid rgba(14, 125, 121, 0.65);
    }
    .article-match-scoreboard__score,
    .article-match-scoreboard--match-page .article-match-scoreboard__score {
        align-self: center;
    }
    .article-match-scoreboard__score.is-vs,
    .article-match-scoreboard--match-page .article-match-scoreboard__score.is-vs {
        grid-template-columns: 1fr !important;
        min-width: 92px;
        place-items: center;
    }
    .article-match-scoreboard__score.is-vs b {
        font-size: 3rem;
        line-height: 0.95;
        text-align: center;
    }
    .article-match-scoreboard__score em {
        background: #0e7d79 !important;
    }
    .article-match-scoreboard__score span,
    .article-match-scoreboard__halftime-pill,
    .article-match-scoreboard__support-center--label span {
        color: #8de2d7 !important;
    }
    .article-match-scoreboard__halftime-pill {
        font-weight: 950;
    }
    .article-match-scoreboard__goal-icon {
        background: linear-gradient(135deg, #0e7d79, rgba(141, 226, 215, 0.22));
        border-color: rgba(141, 226, 215, 0.45);
        color: #fff;
        box-shadow: 0 10px 24px rgba(14, 125, 121, 0.25);
    }
    .article-match-scoreboard__details--last i,
    .article-match-scoreboard__facts b {
        color: #8de2d7;
    }
}
/* v166 final color override: use Kisure teal instead of yellow in all scoreboard modes */
.article-match-scoreboard:before {
    background: radial-gradient(circle at 50% -20%, rgba(14, 125, 121, 0.18), transparent 42%) !important;
}
.article-match-scoreboard__score em {
    background: #0e7d79 !important;
}
.article-match-scoreboard__score span {
    color: #8de2d7 !important;
}
.article-match-scoreboard__details--halftime .article-match-scoreboard__halftime-pill {
    color: #8de2d7 !important;
    border-color: rgba(141, 226, 215, 0.32) !important;
}


/* v167 scoreboard scorer/assist alignment: no goal icon between scorers */
.article-match-scoreboard__support-center--empty {
    min-width: clamp(72px, 8vw, 120px);
    visibility: hidden;
}
.article-match-scoreboard__support--goals .article-match-scoreboard__support-center--empty {
    display: block;
}
.article-match-scoreboard__support-col strong {
    max-width: 100%;
    overflow-wrap: anywhere;
    white-space: normal;
    word-break: normal;
}
.article-match-scoreboard__support--assists:not(.article-match-scoreboard__support--single) {
    grid-template-columns: minmax(0, 1fr) clamp(92px, 10vw, 140px) minmax(0, 1fr);
}
.article-match-scoreboard__support-center--label {
    align-self: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    justify-self: center;
    min-height: 100%;
    text-align: center;
    width: 100%;
}
.article-match-scoreboard__support-center--label > span {
    align-items: center;
    display: inline-flex !important;
    justify-content: center;
    line-height: 1;
    margin-inline: auto;
    min-height: 32px;
    text-align: center;
    width: 100%;
}
.article-match-scoreboard__support--single .article-match-scoreboard__support-center--label {
    max-width: 760px;
    margin-inline: auto;
}
.article-match-scoreboard__goal-icon {
    display: none !important;
}
@media (max-width: 760px) {
    .article-match-scoreboard__support-center--empty {
        display: none !important;
        min-width: 0;
    }
    .article-match-scoreboard__support--assists:not(.article-match-scoreboard__support--single) {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }
    .article-match-scoreboard__support-center--label {
        min-height: auto;
    }
    .article-match-scoreboard__support-center--label > span {
        min-height: 24px;
    }
}


/* v168 final scoreboard assists alignment and goal-icon removal */
.article-match-scoreboard__goal-icon,
.article-match-scoreboard__goal-icon * {
    display: none !important;
}
.article-match-scoreboard__support--goals .article-match-scoreboard__support-center,
.article-match-scoreboard__support--goals .article-match-scoreboard__support-center--empty {
    display: block !important;
    visibility: hidden !important;
    min-width: clamp(80px, 8vw, 128px) !important;
}
.article-match-scoreboard__support--assists:not(.article-match-scoreboard__support--single) {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) clamp(110px, 11vw, 160px) minmax(0, 1fr) !important;
    align-items: stretch !important;
}
.article-match-scoreboard__support--assists:not(.article-match-scoreboard__support--single) .article-match-scoreboard__support-center--label {
    align-self: stretch !important;
    display: grid !important;
    justify-content: center !important;
    justify-items: center !important;
    align-content: center !important;
    place-items: center !important;
    text-align: center !important;
    min-height: 100% !important;
    width: 100% !important;
}
.article-match-scoreboard__support--assists:not(.article-match-scoreboard__support--single) .article-match-scoreboard__support-center--label > span {
    display: inline-grid !important;
    place-items: center !important;
    width: 100% !important;
    margin: 0 auto !important;
    line-height: 1 !important;
    text-align: center !important;
}
.article-match-scoreboard__support-col strong {
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    line-height: 1.55 !important;
}
.article-match-scoreboard__support-col--home strong {
    margin-left: auto !important;
}
.article-match-scoreboard__support-col--away strong {
    margin-right: auto !important;
}
@media (max-width: 760px) {
    .article-match-scoreboard__support--goals .article-match-scoreboard__support-center,
    .article-match-scoreboard__support--goals .article-match-scoreboard__support-center--empty {
        display: none !important;
        min-width: 0 !important;
    }
    .article-match-scoreboard__support--assists:not(.article-match-scoreboard__support--single) {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    }
    .article-match-scoreboard__support--assists:not(.article-match-scoreboard__support--single) .article-match-scoreboard__support-center--label {
        grid-column: 1 / -1 !important;
        min-height: auto !important;
    }
}

/* v169 article scorecard compact default with dropdown details */
.article-match-scoreboard:not(.article-match-scoreboard--match-page) {
    padding-bottom: 18px;
}
.article-match-scoreboard__more {
    border-top: 1px solid rgba(255, 255, 255, 0.14);
    margin-top: 18px;
    padding-top: 12px;
}
.article-match-scoreboard__more summary {
    align-items: center;
    background: rgba(14, 125, 121, 0.14);
    border: 1px solid rgba(141, 226, 215, 0.18);
    border-radius: 999px;
    color: #8de2d7;
    cursor: pointer;
    display: inline-flex;
    font-weight: 900;
    gap: 10px;
    justify-content: center;
    letter-spacing: 0.04em;
    list-style: none;
    margin-inline: auto;
    min-height: 40px;
    padding: 0 16px;
    text-transform: uppercase;
    width: fit-content;
}
.article-match-scoreboard__more summary::-webkit-details-marker {
    display: none;
}
.article-match-scoreboard__more summary i {
    font-size: 0.78rem;
    transition: transform 0.2s ease;
}
.article-match-scoreboard__more[open] summary i {
    transform: rotate(180deg);
}
.article-match-scoreboard__more-body {
    display: grid;
    gap: 0;
    margin-top: 12px;
}
.article-match-scoreboard:not(.article-match-scoreboard--match-page) .article-match-scoreboard__support:first-child,
.article-match-scoreboard:not(.article-match-scoreboard--match-page) .article-match-scoreboard__details--halftime:first-child {
    margin-top: 0;
}
.article-match-scoreboard:not(.article-match-scoreboard--match-page) .article-match-scoreboard__main {
    margin-bottom: 0;
}
@media (max-width: 760px) {
    .article-match-scoreboard__more {
        margin-top: 12px;
        padding-top: 10px;
    }
    .article-match-scoreboard__more summary {
        font-size: 0.72rem;
        min-height: 34px;
        padding-inline: 13px;
    }
}
    .site-header-football__match-main {
        grid-template-columns: auto minmax(0, 1fr) auto minmax(0, 1fr) auto;
    }

/* v171: header football league hover panels + mobile bracket fit */
.football-header-leagues {
    position: relative;
    z-index: 40;
    margin-top: 0.75rem;
    margin-bottom: 1rem;
}
.football-header-leagues__surface {
    position: relative;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 30px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 24px 60px rgba(15, 23, 42, 0.08);
    backdrop-filter: blur(16px);
    padding: 1rem 1.2rem;
}
.football-header-leagues__tabs {
    display: flex;
    align-items: center;
    gap: 1.1rem;
    min-height: 58px;
    overflow-x: auto;
    overflow-y: visible;
    scrollbar-width: none;
}
.football-header-leagues__tabs::-webkit-scrollbar { display: none; }
.football-header-league { position: static; flex: 0 0 auto; }
.football-header-league__tab,
.football-header-league__more {
    align-items: center;
    border-radius: 18px;
    color: #0b1632;
    display: inline-flex;
    gap: 0.75rem;
    min-height: 48px;
    padding: 0.65rem 1rem;
    text-decoration: none;
    transition: 0.2s ease;
    white-space: nowrap;
}
.football-header-league__tab:hover,
.football-header-league:focus-within .football-header-league__tab {
    background: linear-gradient(135deg, #087f7a, #075d66);
    color: #fff;
    box-shadow: 0 14px 30px rgba(8, 127, 122, 0.18);
}
.football-header-league:first-child .football-header-league__tab {
    background: linear-gradient(135deg, #087f7a, #075d66);
    color: #fff;
    box-shadow: 0 14px 30px rgba(8, 127, 122, 0.18);
}
.football-header-league__logo {
    align-items: center;
    background: rgba(14, 125, 121, 0.10);
    border-radius: 999px;
    display: inline-flex;
    height: 34px;
    justify-content: center;
    width: 34px;
}
.football-header-league__tab:hover .football-header-league__logo,
.football-header-league:focus-within .football-header-league__logo,
.football-header-league:first-child .football-header-league__logo {
    background: rgba(255,255,255,.18);
}
.football-header-league__logo img {
    height: 25px;
    object-fit: contain;
    width: 25px;
}
.football-header-league__logo i { color: #0e7d79; }
.football-header-league__tab:hover .football-header-league__logo i,
.football-header-league:focus-within .football-header-league__logo i,
.football-header-league:first-child .football-header-league__logo i { color: #fff; }
.football-header-league__tab strong,
.football-header-league__more strong {
    font-size: 0.98rem;
    font-weight: 900;
}
.football-header-league__more {
    margin-left: auto;
    color: #172033;
}
.football-header-league__more:hover { background: #eef9f8; color: #0e7d79; }
.football-header-league__dropdown {
    left: 1.2rem;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    right: 1.2rem;
    top: calc(100% - 0.25rem);
    transform: translateY(10px);
    transition: opacity .18s ease, transform .18s ease;
    z-index: 80;
}
.football-header-league:hover .football-header-league__dropdown,
.football-header-league:focus-within .football-header-league__dropdown {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}
.football-header-panel {
    background: rgba(255,255,255,.98);
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 26px;
    box-shadow: 0 30px 80px rgba(15, 23, 42, 0.15);
    display: grid;
    gap: 1rem;
    grid-template-columns: 260px minmax(0, 1fr) 280px 290px;
    padding: 1.1rem;
}
.football-header-panel__lead {
    align-content: center;
    background: linear-gradient(135deg, rgba(14,125,121,.08), rgba(14,125,121,.02));
    border-radius: 22px;
    display: grid;
    gap: 0.7rem;
    padding: 1.35rem;
}
.football-header-panel__lead.is-live { background: linear-gradient(135deg, rgba(16,185,129,.14), rgba(14,125,121,.04)); }
.football-header-panel__lead span {
    align-items: center;
    background: #10b981;
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .08em;
    padding: .35rem .65rem;
    text-transform: uppercase;
    width: max-content;
}
.football-header-panel__lead strong {
    color: #0b1632;
    font-size: 1.1rem;
    font-weight: 950;
}
.football-header-panel__lead small { color: #64748b; font-size: .9rem; }
.football-header-panel__lead a {
    color: #0e7d79;
    font-weight: 900;
    text-decoration: none;
}
.football-header-panel__matches {
    display: grid;
    gap: .7rem;
    min-width: 0;
}
.football-header-panel__group {
    display: grid;
    gap: .45rem;
}
.football-header-panel__group-title {
    align-items: center;
    color: #0e7d79;
    display: flex;
    font-size: .68rem;
    font-weight: 950;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.football-header-panel__group-title:after {
    background: rgba(14,125,121,.14);
    content: '';
    flex: 1;
    height: 1px;
    margin-left: .55rem;
}
.football-header-match-row {
    align-items: center;
    border-radius: 16px;
    color: #0b1632;
    display: grid;
    gap: .55rem;
    grid-template-columns: 56px minmax(0, 1fr) auto minmax(0, 1fr);
    min-height: 56px;
    padding: .55rem .65rem;
    text-decoration: none;
    transition: .18s ease;
}
.football-header-match-row:hover { background: #f2fbfa; color: #0e7d79; }
.football-header-match-row.is-live .football-header-match-row__status { color: #10b981; }
.football-header-match-row__status {
    color: #0e7d79;
    font-size: .78rem;
    font-weight: 950;
    text-transform: uppercase;
}
.football-header-match-row__team {
    align-items: center;
    display: flex;
    gap: .5rem;
    min-width: 0;
}
.football-header-match-row__team img {
    background: #fff;
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 999px;
    height: 28px;
    object-fit: contain;
    padding: 2px;
    width: 28px;
}
.football-header-match-row__team strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.football-header-match-row b {
    color: #07142a;
    font-size: 1rem;
    font-weight: 950;
    min-width: 42px;
    text-align: center;
}
.football-header-match-row--empty {
    grid-template-columns: 28px 1fr;
    color: #64748b;
    background: #f8fafc;
}
.football-header-panel__side,
.football-header-panel__cta {
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 22px;
    padding: 1rem;
}
.football-header-panel__side-head {
    align-items: center;
    display: flex;
    justify-content: space-between;
    gap: .75rem;
    margin-bottom: .75rem;
}
.football-header-panel__side-head strong { color: #0b1632; font-weight: 950; }
.football-header-panel__side-head a { color: #0e7d79; font-size: .85rem; font-weight: 900; text-decoration: none; }
.football-header-toplist,
.football-header-tablemini {
    display: grid;
    gap: .5rem;
}
.football-header-toplist a,
.football-header-tablemini a {
    align-items: center;
    color: #0b1632;
    display: grid;
    gap: .55rem;
    grid-template-columns: 22px 36px minmax(0,1fr) auto;
    min-height: 45px;
    text-decoration: none;
}
.football-header-toplist span,
.football-header-tablemini span { color: #64748b; font-weight: 900; text-align: center; }
.football-header-toplist img,
.football-header-toplist em,
.football-header-tablemini em {
    align-items: center;
    background: #eef9f8;
    border-radius: 999px;
    display: inline-flex;
    font-style: normal;
    font-weight: 950;
    height: 34px;
    justify-content: center;
    object-fit: cover;
    width: 34px;
}
.football-header-toplist strong,
.football-header-tablemini strong {
    display: grid;
    font-size: .9rem;
    line-height: 1.15;
    min-width: 0;
}
.football-header-toplist small { color: #64748b; font-size: .78rem; font-weight: 700; }
.football-header-toplist b,
.football-header-tablemini b {
    background: #def7f4;
    border-radius: 999px;
    color: #0e7d79;
    font-weight: 950;
    min-width: 38px;
    padding: .35rem .55rem;
    text-align: center;
}
.football-header-tablemini a { grid-template-columns: 22px 44px minmax(0,1fr) auto; }
.football-header-tablemini em {
    border-radius: 12px;
    color: #0e7d79;
    font-size: .75rem;
    letter-spacing: .04em;
    width: 44px;
}
.football-header-panel__cta {
    align-content: center;
    background: linear-gradient(135deg, rgba(14,125,121,.10), rgba(14,125,121,.02));
    display: grid;
    gap: 1rem;
    text-decoration: none;
}
.football-header-panel__cta > i {
    align-items: center;
    background: rgba(14,125,121,.10);
    border-radius: 16px;
    color: #0e7d79;
    display: inline-flex;
    height: 52px;
    justify-content: center;
    width: 52px;
}
.football-header-panel__cta span { display: grid; gap: .4rem; }
.football-header-panel__cta strong { color: #0b1632; font-size: 1.2rem; font-weight: 950; }
.football-header-panel__cta small { color: #64748b; line-height: 1.45; }
.football-header-panel__cta b {
    align-items: center;
    background: linear-gradient(135deg, #0e7d79, #00788a);
    border-radius: 999px;
    color: #fff;
    display: flex;
    font-weight: 950;
    justify-content: space-between;
    padding: .75rem 1rem;
}
.football-header-leagues__mobile { display: none; }
html[data-theme="dark"] .football-header-leagues__surface,
html[data-theme="dark"] .football-header-panel {
    background: rgba(8, 16, 29, 0.96);
    border-color: rgba(148, 163, 184, 0.16);
}
html[data-theme="dark"] .football-header-league__tab,
html[data-theme="dark"] .football-header-league__more,
html[data-theme="dark"] .football-header-panel__lead strong,
html[data-theme="dark"] .football-header-panel__side-head strong,
html[data-theme="dark"] .football-header-match-row,
html[data-theme="dark"] .football-header-match-row b,
html[data-theme="dark"] .football-header-toplist a,
html[data-theme="dark"] .football-header-tablemini a,
html[data-theme="dark"] .football-header-panel__cta strong {
    color: #f8fafc;
}
html[data-theme="dark"] .football-header-match-row:hover,
html[data-theme="dark"] .football-header-match-row--empty,
html[data-theme="dark"] .football-header-panel__side,
html[data-theme="dark"] .football-header-panel__cta {
    background: rgba(15, 23, 42, 0.72);
    border-color: rgba(148, 163, 184, 0.16);
}
html[data-theme="dark"] .football-header-panel__lead,
html[data-theme="dark"] .football-header-panel__cta { background: rgba(14, 125, 121, 0.10); }
html[data-theme="dark"] .football-header-panel__lead small,
html[data-theme="dark"] .football-header-toplist small,
html[data-theme="dark"] .football-header-panel__cta small { color: #cbd5e1; }
@media (max-width: 1180px) {
    .football-header-panel { grid-template-columns: 220px minmax(0, 1fr) 260px; }
    .football-header-panel__cta { display: none; }
}
@media (max-width: 991px) {
    .football-header-leagues__surface { border-radius: 24px; padding: .85rem; }
    .football-header-leagues__tabs { display: none; }
    .football-header-leagues__mobile { display: grid; gap: .75rem; }
    .football-header-mobile-panel {
        background: #fff;
        border: 1px solid rgba(15,23,42,.08);
        border-radius: 20px;
        overflow: hidden;
    }
    .football-header-mobile-panel summary {
        align-items: center;
        cursor: pointer;
        display: grid;
        gap: .75rem;
        grid-template-columns: 34px 1fr auto;
        list-style: none;
        padding: .8rem .95rem;
    }
    .football-header-mobile-panel summary::-webkit-details-marker { display: none; }
    .football-header-mobile-panel summary span {
        align-items: center;
        background: #eef9f8;
        border-radius: 999px;
        display: inline-flex;
        height: 34px;
        justify-content: center;
        width: 34px;
    }
    .football-header-mobile-panel summary img { height: 25px; object-fit: contain; width: 25px; }
    .football-header-mobile-panel summary strong { color: #0b1632; font-weight: 950; }
    .football-header-mobile-panel[open] summary i:last-child { transform: rotate(180deg); }
    .football-header-mobile-panel__body { display: grid; gap: .7rem; padding: 0 .95rem .95rem; }
    .football-header-mobile-panel__link,
    .football-header-mobile-panel__more {
        align-items: center;
        background: #eef9f8;
        border-radius: 16px;
        color: #0e7d79;
        display: flex;
        font-weight: 950;
        gap: .6rem;
        justify-content: space-between;
        padding: .8rem .95rem;
        text-decoration: none;
    }
    .football-header-mobile-panel__more { background: #07142a; color: #fff; }
    .football-header-match-row { grid-template-columns: 50px minmax(0, 1fr) auto minmax(0, 1fr); padding: .5rem; }
    .football-header-match-row__team strong { font-size: .86rem; }
    .football-header-toplist a,
    .football-header-tablemini a { grid-template-columns: 20px 34px minmax(0,1fr) auto; }
    html[data-theme="dark"] .football-header-mobile-panel { background: rgba(15,23,42,.78); border-color: rgba(148,163,184,.16); }
    html[data-theme="dark"] .football-header-mobile-panel summary strong { color: #f8fafc; }
}
@media (max-width: 560px) {
    .football-header-leagues { margin-top: .55rem; }
    .football-header-leagues__surface { padding: .55rem; border-radius: 20px; }
    .football-header-match-row { grid-template-columns: 44px minmax(0,1fr) 46px minmax(0,1fr); gap: .35rem; }
    .football-header-match-row__status { font-size: .68rem; }
    .football-header-match-row__team img { width: 22px; height: 22px; }
    .football-header-match-row__team { gap: .3rem; }
    .football-header-match-row__team strong { font-size: .78rem; }
}
/* Make large tournament standings/brackets fit small screens cleanly */
@media (max-width: 760px) {
    .football-section--knockout-path,
    .football-bracket-panel--fullwidth,
    .football-bracket-panel--knockout {
        max-width: 100%;
        overflow: hidden;
    }
    .football-bracket-panel--knockout { padding: 14px; border-radius: 20px; }
    .football-bracket-panel--knockout .section-heading {
        align-items: flex-start;
        gap: .8rem;
    }
    .football-bracket-panel--knockout .section-heading h2 {
        font-size: 1.05rem;
        line-height: 1.2;
        overflow-wrap: anywhere;
    }
    .football-knockout-bracket--responsive {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 14px !important;
        min-height: 0 !important;
        overflow: visible !important;
        padding: 0 !important;
    }
    .football-knockout-bracket--responsive .football-knockout-round {
        display: grid !important;
        gap: 10px !important;
        min-width: 0 !important;
        width: 100% !important;
    }
    .football-knockout-bracket--responsive .football-knockout-round h3 {
        position: static !important;
        background: rgba(14,125,121,.08);
        border: 1px solid rgba(14,125,121,.14);
        border-radius: 12px;
        color: #0e7d79;
        padding: 8px 10px;
    }
    .football-knockout-bracket--responsive .football-bracket-match {
        max-width: 100%;
        min-width: 0;
        width: 100%;
    }
    .football-knockout-bracket--responsive .football-bracket-match::before,
    .football-knockout-bracket--responsive .football-bracket-match::after {
        display: none !important;
    }
    .football-bracket-team em,
    .football-bracket-team strong,
    .football-bracket-team b {
        min-width: 0;
        overflow-wrap: anywhere;
        white-space: normal;
    }
}

/* v172: header league cards/dropdown polish and mobile standings fit */
.football-header-leagues { margin-top: .7rem; position: relative; z-index: 25; }
.football-header-leagues__surface { overflow: visible; }
.football-header-league__tab,
.football-header-league__more { min-width: 145px; }
.football-header-league__dropdown { left: 24px; right: 24px; top: calc(100% - 8px); padding-top: 18px; }
.football-header-panel { grid-template-columns: 240px minmax(0, 1fr) 260px 300px; }
.football-header-panel__matches { grid-template-columns: 1fr; }
.football-header-panel__group { gap: .45rem; }
.football-header-match-row { grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); gap: .55rem .8rem; align-items: center; }
.football-header-match-row__status { grid-column: 1 / -1; white-space: nowrap; text-align: left; letter-spacing: .04em; }
.football-header-match-row__team--home { justify-content: flex-start; }
.football-header-match-row__team--away { justify-content: flex-start; }
.football-header-match-row b { min-width: 54px; text-align: center; }
.football-header-panel__cta { min-height: 100%; }

.football-header-leagues__mobile { display: none; }
.football-header-mobile-tabs { display: flex; gap: .85rem; overflow-x: auto; padding: .2rem .1rem .8rem; scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch; }
.football-header-mobile-tabs::-webkit-scrollbar { display: none; }
.football-header-mobile-tab { appearance: none; border: 1px solid rgba(15,23,42,.08); background: #fff; color: #0b1632; border-radius: 20px; display: grid; gap: .55rem; justify-items: center; align-content: center; min-width: 118px; min-height: 112px; padding: .9rem .75rem; text-decoration: none; box-shadow: 0 14px 36px rgba(15,23,42,.08); scroll-snap-align: start; }
.football-header-mobile-tab span { width: 46px; height: 46px; border-radius: 16px; display: inline-flex; align-items: center; justify-content: center; background: #f8fafc; }
.football-header-mobile-tab img { max-width: 34px; max-height: 34px; object-fit: contain; }
.football-header-mobile-tab i { color: #0e7d79; font-size: 1.35rem; }
.football-header-mobile-tab strong { color: #0b1632; font-weight: 950; line-height: 1.1; text-align: center; }
.football-header-mobile-tab.is-active { background: linear-gradient(135deg, #055f62, #0e7d79); border-color: rgba(14,125,121,.4); color: #fff; }
.football-header-mobile-tab.is-active span { background: rgba(255,255,255,.14); }
.football-header-mobile-tab.is-active strong,
.football-header-mobile-tab.is-active i { color: #fff; }
.football-header-mobile-panels { display: grid; gap: 1rem; }
.football-header-mobile-panel[hidden] { display: none !important; }
.football-header-mobile-panel { display: grid; gap: 1rem; }
.football-header-mobile-panel__scoreboard { border: 1px solid rgba(14,125,121,.16); border-radius: 24px; background: linear-gradient(135deg, rgba(14,125,121,.1), rgba(255,255,255,.96)); padding: 1rem; box-shadow: 0 18px 42px rgba(15,23,42,.07); }
.football-header-mobile-panel__head { display: flex; align-items: center; justify-content: space-between; gap: .7rem; margin-bottom: .95rem; }
.football-header-mobile-panel__head > span { border-radius: 999px; background: #dffcf6; color: #0e7d79; padding: .38rem .7rem; font-weight: 950; text-transform: uppercase; letter-spacing: .04em; }
.football-header-mobile-panel__head > span.is-live { background: #10b981; color: #fff; }
.football-header-mobile-panel__head strong { color: #0b1632; font-weight: 950; font-size: 1.1rem; }
.football-header-mobile-panel__head a { color: #0e7d79; text-decoration: none; font-weight: 950; white-space: nowrap; }
.football-header-mobile-match-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .85rem; }
.football-header-mobile-match-grid .football-header-match-row { display: grid; grid-template-columns: minmax(0,1fr) auto; min-height: 138px; padding: .85rem; border-radius: 18px; align-content: center; background: #fff; box-shadow: 0 12px 32px rgba(15,23,42,.06); }
.football-header-mobile-match-grid .football-header-match-row__status { grid-column: 1 / -1; color: #10b981; font-weight: 950; text-align: left; }
.football-header-mobile-match-grid .football-header-match-row__team { grid-column: 1; display: flex; gap: .45rem; }
.football-header-mobile-match-grid .football-header-match-row__team--away { margin-top: .45rem; }
.football-header-mobile-match-grid .football-header-match-row__team img { width: 30px; height: 30px; }
.football-header-mobile-match-grid .football-header-match-row__team strong { font-size: .01px; line-height: 0; color: transparent; }
.football-header-mobile-match-grid .football-header-match-row__team strong::after { content: attr(data-initials); color: #0b1632; font-size: .95rem; line-height: 1; font-weight: 950; }
.football-header-mobile-match-grid .football-header-match-row b { grid-column: 2; grid-row: 2 / span 2; align-self: center; min-width: 34px; color: #0b1632; font-size: 1.2rem; }
.football-header-mobile-panel__below { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 1rem; }
.football-header-mobile-panel__below .football-header-panel__side,
.football-header-mobile-panel__below .football-header-panel__cta { display: grid; min-height: 210px; border-radius: 24px; }

@media (max-width: 991px) {
    .football-header-leagues__surface { border-radius: 24px; padding: .9rem; }
    .football-header-leagues__tabs { display: none !important; }
    .football-header-leagues__mobile { display: grid; gap: 1rem; }
}
@media (max-width: 640px) {
    .football-header-leagues { margin-top: .55rem; }
    .football-header-leagues__surface { padding: .65rem; border-radius: 20px; }
    .football-header-mobile-tab { min-width: 100px; min-height: 100px; border-radius: 18px; }
    .football-header-mobile-tab span { width: 40px; height: 40px; }
    .football-header-mobile-tab img { max-width: 30px; max-height: 30px; }
    .football-header-mobile-tab strong { font-size: .88rem; }
    .football-header-mobile-panel__scoreboard { padding: .8rem; border-radius: 22px; }
    .football-header-mobile-panel__head { align-items: flex-start; flex-wrap: wrap; }
    .football-header-mobile-panel__head strong { order: 2; width: 100%; }
    .football-header-mobile-match-grid { grid-template-columns: 1fr 1fr; gap: .65rem; }
    .football-header-mobile-match-grid .football-header-match-row { min-height: 126px; padding: .7rem; }
    .football-header-mobile-panel__below { grid-template-columns: 1fr; }
    .football-header-mobile-panel__below .football-header-panel__side,
    .football-header-mobile-panel__below .football-header-panel__cta { min-height: 0; }
}
@media (max-width: 420px) {
    .football-header-mobile-match-grid { grid-template-columns: 1fr; }
    .football-header-mobile-match-grid .football-header-match-row { min-height: 108px; }
}

/* v172: stronger small-screen fit for long World Cup standings/brackets */
@media (max-width: 760px) {
    .football-standings-layout,
    .football-main-grid,
    .football-content-grid { display: block !important; }
    .football-section--fullwidth,
    .football-section--knockout-path,
    .football-bracket-panel--fullwidth,
    .football-bracket-panel--knockout { width: 100% !important; max-width: 100% !important; overflow: hidden; }
    .football-bracket-panel--knockout { padding: 12px !important; border-radius: 18px !important; }
    .football-knockout-bracket--responsive { display: grid !important; grid-template-columns: 1fr !important; gap: 14px !important; overflow: visible !important; min-width: 0 !important; }
    .football-knockout-bracket--responsive .football-knockout-round { width: 100% !important; min-width: 0 !important; }
    .football-knockout-bracket--responsive .football-bracket-match { width: 100% !important; max-width: 100% !important; }
    .football-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
}

html[data-theme="dark"] .football-header-mobile-tab { background: rgba(15,23,42,.88); border-color: rgba(148,163,184,.18); }
html[data-theme="dark"] .football-header-mobile-tab strong { color: #f8fafc; }
html[data-theme="dark"] .football-header-mobile-panel__scoreboard { background: linear-gradient(135deg, rgba(14,125,121,.18), rgba(15,23,42,.92)); border-color: rgba(141,226,215,.18); }
html[data-theme="dark"] .football-header-mobile-panel__head strong,
html[data-theme="dark"] .football-header-mobile-match-grid .football-header-match-row__team strong::after,
html[data-theme="dark"] .football-header-mobile-match-grid .football-header-match-row b { color: #f8fafc; }
html[data-theme="dark"] .football-header-mobile-match-grid .football-header-match-row { background: rgba(15,23,42,.86); border-color: rgba(148,163,184,.16); }

/* v173: football header mobile click-only panels + desktop carousel dropdown */
.football-header-league__tab,
.football-header-league__more {
    border-color: rgba(14, 125, 121, 0.10);
    background: linear-gradient(180deg, #ffffff, #f8fbfb);
    color: #0b1632;
}
.football-header-league__tab:hover,
.football-header-league:focus-within .football-header-league__tab,
.football-header-league:first-child .football-header-league__tab,
.football-header-mobile-tab.is-active {
    background: linear-gradient(135deg, #075f62, #0e7d79 68%, #16a39e);
    color: #ffffff;
    box-shadow: 0 18px 40px rgba(14, 125, 121, 0.22);
}
.football-header-league__more:hover,
.football-header-panel__lead a,
.football-header-panel__group-title a,
.football-header-panel__side-head a {
    color: #087b78;
}
.football-header-panel__lead a,
.football-header-panel__group-title a {
    align-items: center;
    background: rgba(14, 125, 121, 0.08);
    border: 1px solid rgba(14, 125, 121, 0.12);
    border-radius: 999px;
    display: inline-flex;
    gap: 0.35rem;
    padding: 0.42rem 0.72rem;
    text-decoration: none;
}
.football-header-panel__group-title {
    align-items: center;
    display: flex;
    gap: 0.75rem;
    justify-content: space-between;
}
.football-header-panel__group-title a {
    flex: 0 0 auto;
    font-size: 0.72rem;
    font-weight: 950;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.football-header-panel__group-title:after {
    display: none;
}
@media (min-width: 992px) {
    .football-header-panel__matches,
    .football-header-panel__group {
        min-width: 0;
        overflow: hidden;
    }
    .football-header-panel__matches {
        gap: 0.8rem;
    }
    .football-header-panel__match-slider {
        display: flex;
        gap: 0.75rem;
        overflow-x: auto;
        overscroll-behavior-x: contain;
        padding: 0.08rem 0.08rem 0.5rem;
        scroll-padding-left: 0.08rem;
        scroll-snap-type: x mandatory;
        scrollbar-color: rgba(14, 125, 121, 0.45) rgba(14, 125, 121, 0.08);
        scrollbar-width: thin;
        -webkit-overflow-scrolling: touch;
    }
    .football-header-panel__match-slider::-webkit-scrollbar {
        height: 7px;
    }
    .football-header-panel__match-slider::-webkit-scrollbar-track {
        background: rgba(14, 125, 121, 0.08);
        border-radius: 999px;
    }
    .football-header-panel__match-slider::-webkit-scrollbar-thumb {
        background: rgba(14, 125, 121, 0.45);
        border-radius: 999px;
    }
    .football-header-panel__match-slider .football-header-match-row {
        background: rgba(255, 255, 255, 0.92);
        border: 1px solid rgba(15, 23, 42, 0.08);
        border-radius: 18px;
        box-shadow: 0 14px 32px rgba(15, 23, 42, 0.06);
        display: grid;
        flex: 0 0 min(100%, 450px);
        grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
        gap: 0.55rem 0.8rem;
        min-height: 82px;
        padding: 0.72rem 0.8rem;
        scroll-snap-align: start;
    }
    .football-header-panel__match-slider .football-header-match-row__status {
        color: #087b78;
        display: block;
        font-size: 0.74rem;
        font-weight: 950;
        grid-column: 1 / -1;
        letter-spacing: 0.045em;
        line-height: 1.1;
        overflow: hidden;
        text-align: left;
        text-overflow: ellipsis;
        text-transform: uppercase;
        white-space: nowrap;
        writing-mode: horizontal-tb !important;
    }
    .football-header-panel__match-slider .football-header-match-row__team {
        min-width: 0;
    }
    .football-header-panel__match-slider .football-header-match-row__team--home,
    .football-header-panel__match-slider .football-header-match-row__team--away {
        justify-content: flex-start;
    }
    .football-header-panel__match-slider .football-header-match-row__team strong {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .football-header-panel__match-slider .football-header-match-row b {
        align-self: center;
        background: rgba(8, 123, 120, 0.08);
        border-radius: 999px;
        color: #0b1632;
        font-weight: 950;
        min-width: 54px;
        padding: 0.28rem 0.45rem;
        text-align: center;
    }
    .football-header-panel__match-slider .football-header-match-row--view-more {
        align-content: center;
        color: #087b78;
        flex-basis: 190px;
        gap: 0.45rem;
        grid-template-columns: 1fr !important;
        justify-items: center;
        text-align: center;
    }
    .football-header-panel__match-slider .football-header-match-row--view-more span {
        font-weight: 950;
    }
}
.football-header-mobile-tab {
    border-color: rgba(14, 125, 121, 0.10);
}
.football-header-mobile-tab:hover,
.football-header-mobile-tab:focus-visible {
    border-color: rgba(14, 125, 121, 0.26);
    box-shadow: 0 16px 34px rgba(14, 125, 121, 0.13);
    outline: none;
}
.football-header-mobile-panel__head > span {
    background: rgba(14, 125, 121, 0.10);
    color: #087b78;
}
.football-header-mobile-panel__head > span.is-live {
    background: linear-gradient(135deg, #087b78, #10b981);
    color: #fff;
}
.football-header-mobile-panel__head a,
.football-header-panel__cta b {
    background: linear-gradient(135deg, #087b78, #0e7d79);
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    gap: 0.45rem;
    padding: 0.5rem 0.78rem;
    text-decoration: none;
}
.football-header-mobile-panel[hidden] {
    display: none !important;
}
html[data-theme="dark"] .football-header-panel__match-slider .football-header-match-row {
    background: rgba(15, 23, 42, 0.88);
    border-color: rgba(148, 163, 184, 0.16);
}
html[data-theme="dark"] .football-header-panel__match-slider .football-header-match-row b {
    background: rgba(141, 226, 215, 0.12);
    color: #f8fafc;
}
html[data-theme="dark"] .football-header-panel__group-title a,
html[data-theme="dark"] .football-header-panel__lead a {
    background: rgba(141, 226, 215, 0.10);
    border-color: rgba(141, 226, 215, 0.16);
    color: #8de2d7;
}
@media (max-width: 991px) {
    .football-header-mobile-panels {
        min-height: 0;
    }
    .football-header-mobile-panel {
        animation: kisureHeaderPanelIn 0.18s ease both;
    }
}
@media (max-width: 640px) {
    .football-header-mobile-tabs {
        gap: 0.7rem;
        padding-bottom: 0.65rem;
    }
    .football-header-mobile-tab {
        min-height: 104px;
    }
    .football-header-mobile-panel__head a {
        font-size: 0.78rem;
        padding: 0.42rem 0.62rem;
    }
}
@keyframes kisureHeaderPanelIn {
    from { opacity: 0; transform: translateY(-4px); }
    to { opacity: 1; transform: translateY(0); }
}

/* v174 header league panel fixes: dots, one-card paging, full mobile team names */
@media (min-width: 992px) {
    .football-header-panel__match-slider {
        scrollbar-width: none !important;
        overflow-x: auto !important;
        scroll-snap-type: x mandatory !important;
        scroll-behavior: smooth;
    }
    .football-header-panel__match-slider::-webkit-scrollbar { display: none !important; }
    .football-header-panel__match-slider .football-header-match-row {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        min-height: 76px;
    }
    .football-header-panel__match-slider .football-header-match-row--view-more {
        flex: 0 0 100% !important;
        min-height: 76px;
    }
    .football-header-panel__pager {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: .55rem;
        padding-top: .2rem;
    }
    .football-header-panel__pager span {
        width: 9px;
        height: 9px;
        border-radius: 999px;
        background: rgba(14, 125, 121, .18);
        display: block;
    }
    .football-header-panel__pager span.is-active {
        background: #10b981;
        box-shadow: 0 0 0 4px rgba(16,185,129,.12);
    }
}
.football-header-panel__side:has(.football-header-toplist) .football-header-panel__side-head strong::after {
    content: '';
}
.football-header-toplist a {
    min-height: 54px;
}
.football-header-toplist img,
.football-header-toplist em {
    width: 42px;
    height: 42px;
}
.football-header-toplist strong small {
    display: block;
    margin-top: .15rem;
}
@media (max-width: 991px) {
    .football-header-mobile-match-grid .football-header-match-row {
        grid-template-columns: minmax(0, 1fr) auto !important;
        min-height: 132px;
        align-content: center;
    }
    .football-header-mobile-match-grid .football-header-match-row__status {
        grid-column: 1 / -1;
        white-space: normal;
    }
    .football-header-mobile-match-grid .football-header-match-row__team strong {
        color: #0b1632 !important;
        display: -webkit-box;
        font-size: .86rem !important;
        font-weight: 950;
        line-height: 1.15 !important;
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        white-space: normal !important;
    }
    .football-header-mobile-match-grid .football-header-match-row__team strong::after {
        content: none !important;
    }
    .football-header-mobile-match-grid .football-header-match-row b {
        background: rgba(14,125,121,.08);
        border-radius: 999px;
        grid-column: 2;
        grid-row: 2 / span 2;
        min-width: 42px;
        padding: .28rem .42rem;
    }
}
@media (max-width: 420px) {
    .football-header-mobile-match-grid .football-header-match-row {
        min-height: 106px;
        padding: .72rem;
    }
    .football-header-mobile-match-grid .football-header-match-row__team img {
        width: 24px;
        height: 24px;
    }
    .football-header-mobile-match-grid .football-header-match-row__team strong {
        font-size: .82rem !important;
    }
}
html[data-theme="dark"] .football-header-mobile-match-grid .football-header-match-row__team strong {
    color: #f8fafc !important;
}
html[data-theme="dark"] .football-header-panel__pager span { background: rgba(141,226,215,.18); }
html[data-theme="dark"] .football-header-panel__pager span.is-active { background: #8de2d7; }

/* v175 header league panel refinements: no heading CTA, clickable pager, logo-only mobile tabs, full team names */
.football-header-panel__group-title {
    justify-content: flex-start !important;
}
.football-header-panel__group-title a {
    display: none !important;
}
.football-header-panel__pager button,
.football-header-panel__pager span {
    width: 9px;
    height: 9px;
    border-radius: 999px;
    background: rgba(14, 125, 121, .18);
    display: block;
}
.football-header-panel__pager button {
    appearance: none;
    border: 0;
    cursor: pointer;
    padding: 0;
    transition: transform .18s ease, background-color .18s ease, box-shadow .18s ease;
}
.football-header-panel__pager button:hover,
.football-header-panel__pager button:focus-visible {
    background: rgba(14, 125, 121, .55);
    outline: none;
    transform: scale(1.15);
}
.football-header-panel__pager button.is-active,
.football-header-panel__pager span.is-active {
    background: #10b981;
    box-shadow: 0 0 0 4px rgba(16,185,129,.12);
}
@media (min-width: 992px) {
    .football-header-panel__match-slider .football-header-match-row__team strong {
        display: -webkit-box !important;
        overflow: hidden !important;
        text-overflow: clip !important;
        white-space: normal !important;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        line-height: 1.15;
        max-width: 100%;
        word-break: normal;
    }
    .football-header-panel__match-slider .football-header-match-row__team {
        align-items: center;
        min-width: 0;
    }
    .football-header-panel__match-slider .football-header-match-row {
        grid-template-columns: minmax(160px, 1fr) auto minmax(160px, 1fr) !important;
    }
}
@media (max-width: 991px) {
    .football-header-mobile-tab {
        min-width: 74px !important;
        min-height: 76px !important;
        padding: .68rem .55rem !important;
        border-radius: 18px !important;
    }
    .football-header-mobile-tab strong {
        display: none !important;
    }
    .football-header-mobile-tab span {
        width: 46px !important;
        height: 46px !important;
        border-radius: 15px !important;
        margin: 0 auto;
    }
    .football-header-mobile-tab img {
        max-width: 36px !important;
        max-height: 36px !important;
    }
    .football-header-mobile-tab i {
        font-size: 1.35rem;
    }
    .football-header-mobile-match-grid .football-header-match-row__team strong {
        display: -webkit-box !important;
        color: #0b1632 !important;
        font-size: .86rem !important;
        font-weight: 950 !important;
        line-height: 1.15 !important;
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        white-space: normal !important;
    }
    .football-header-mobile-match-grid .football-header-match-row__team strong::after {
        content: none !important;
    }
}
@media (max-width: 420px) {
    .football-header-mobile-tab {
        min-width: 66px !important;
        min-height: 70px !important;
        padding: .55rem .45rem !important;
    }
    .football-header-mobile-tab span {
        width: 42px !important;
        height: 42px !important;
    }
    .football-header-mobile-tab img {
        max-width: 32px !important;
        max-height: 32px !important;
    }
    .football-header-mobile-match-grid .football-header-match-row__team strong {
        font-size: .82rem !important;
    }
}
html[data-theme="dark"] .football-header-panel__pager button,
html[data-theme="dark"] .football-header-panel__pager span { background: rgba(141,226,215,.18); }
html[data-theme="dark"] .football-header-panel__pager button.is-active,
html[data-theme="dark"] .football-header-panel__pager span.is-active { background: #8de2d7; }
html[data-theme="dark"] .football-header-mobile-match-grid .football-header-match-row__team strong { color: #f8fafc !important; }

/* v176: header league strip logo-only desktop, lighter hover, balanced dropdown cards */
@media (min-width: 992px) {
    .football-header-leagues__surface {
        padding: 0.9rem 1.2rem !important;
    }
    .football-header-leagues__tabs {
        display: flex !important;
        gap: 0.7rem !important;
        justify-content: space-between !important;
        align-items: center !important;
        overflow: visible !important;
    }
    .football-header-league {
        flex: 1 1 0 !important;
        min-width: 0 !important;
        max-width: 170px;
    }
    .football-header-league__tab {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 60px !important;
        justify-content: center !important;
        padding: 0.68rem 0.85rem !important;
        background: linear-gradient(180deg, #ffffff, #f7fbfb) !important;
        border: 1px solid rgba(15, 23, 42, 0.06) !important;
        box-shadow: 0 12px 30px rgba(15, 23, 42, 0.05) !important;
        color: #0b1632 !important;
    }
    .football-header-league__tab strong {
        display: none !important;
    }
    .football-header-league__logo {
        width: 46px !important;
        height: 46px !important;
        border-radius: 18px !important;
        background: rgba(14, 125, 121, 0.08) !important;
        transition: background-color .18s ease, transform .18s ease, box-shadow .18s ease;
    }
    .football-header-league__logo img {
        width: 34px !important;
        height: 34px !important;
        object-fit: contain !important;
    }
    .football-header-league__logo i {
        color: #087b78 !important;
        font-size: 1.28rem;
    }
    .football-header-league__tab:hover,
    .football-header-league:focus-within .football-header-league__tab,
    .football-header-league:first-child .football-header-league__tab {
        background: linear-gradient(135deg, rgba(14, 125, 121, 0.10), rgba(255, 255, 255, 0.96)) !important;
        color: #0b1632 !important;
        box-shadow: 0 16px 34px rgba(14, 125, 121, 0.13) !important;
        border-color: rgba(14, 125, 121, 0.22) !important;
    }
    .football-header-league__tab:hover .football-header-league__logo,
    .football-header-league:focus-within .football-header-league__logo,
    .football-header-league:first-child .football-header-league__logo {
        background: rgba(14, 125, 121, 0.14) !important;
        transform: translateY(-1px);
    }
    .football-header-league__tab:hover .football-header-league__logo i,
    .football-header-league:focus-within .football-header-league__logo i,
    .football-header-league:first-child .football-header-league__logo i {
        color: #087b78 !important;
    }
    .football-header-league__more {
        flex: 1 1 0 !important;
        max-width: 170px;
        margin-left: 0 !important;
        justify-content: center !important;
        min-height: 60px !important;
        background: linear-gradient(180deg, #ffffff, #f8fbfb) !important;
        border: 1px solid rgba(15, 23, 42, 0.06) !important;
        box-shadow: 0 12px 30px rgba(15, 23, 42, 0.05) !important;
        color: #0b1632 !important;
    }
    .football-header-league__more:hover {
        background: linear-gradient(135deg, rgba(14, 125, 121, 0.10), rgba(255, 255, 255, 0.96)) !important;
        color: #087b78 !important;
        border-color: rgba(14, 125, 121, 0.22) !important;
    }
    .football-header-league__dropdown {
        left: 1.4rem !important;
        right: 1.4rem !important;
        top: calc(100% - 0.2rem) !important;
    }
    .football-header-panel {
        grid-template-columns: 245px minmax(420px, 1fr) 330px 300px !important;
        align-items: stretch !important;
        gap: 1rem !important;
        padding: 1rem !important;
    }
    .football-header-panel__lead {
        min-width: 0;
        padding: 1.1rem !important;
    }
    .football-header-panel__lead strong {
        font-size: 1.05rem !important;
        line-height: 1.25;
    }
    .football-header-panel__matches {
        min-width: 0 !important;
        overflow: hidden !important;
    }
    .football-header-panel__match-slider[data-kisure-paged="true"] {
        display: block !important;
        overflow: visible !important;
        padding: 0 !important;
    }
    .football-header-panel__match-slider[data-kisure-paged="true"] .football-header-match-row {
        display: none !important;
    }
    .football-header-panel__match-slider[data-kisure-paged="true"] .football-header-match-row.is-active {
        display: grid !important;
    }
    .football-header-panel__match-slider .football-header-match-row {
        grid-template-columns: minmax(185px, 1fr) 76px minmax(185px, 1fr) !important;
        width: 100% !important;
        min-height: 88px !important;
        padding: 0.82rem 0.95rem !important;
    }
    .football-header-panel__match-slider .football-header-match-row__status {
        grid-column: 1 / -1 !important;
        color: #087b78 !important;
        font-size: 0.78rem !important;
        letter-spacing: 0.05em !important;
        white-space: nowrap !important;
    }
    .football-header-panel__match-slider .football-header-match-row__team {
        gap: 0.62rem !important;
        min-width: 0 !important;
    }
    .football-header-panel__match-slider .football-header-match-row__team img {
        width: 32px !important;
        height: 32px !important;
        flex: 0 0 32px !important;
    }
    .football-header-panel__match-slider .football-header-match-row__team strong {
        display: block !important;
        font-size: 0.96rem !important;
        line-height: 1.18 !important;
        max-width: none !important;
        overflow: visible !important;
        text-overflow: clip !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        -webkit-line-clamp: unset !important;
    }
    .football-header-panel__match-slider .football-header-match-row b {
        align-self: center !important;
        justify-self: center !important;
        min-width: 62px !important;
        padding: 0.42rem 0.55rem !important;
        font-size: 1rem !important;
    }
    .football-header-panel__match-slider .football-header-match-row--view-more {
        min-height: 88px !important;
        justify-content: center !important;
        align-content: center !important;
        text-align: center !important;
    }
    .football-header-panel__pager {
        display: flex !important;
        justify-content: center !important;
        gap: 0.55rem !important;
        padding-top: 0.35rem !important;
    }
    .football-header-panel__pager button {
        width: 10px !important;
        height: 10px !important;
        position: relative !important;
        z-index: 3 !important;
    }
    .football-header-panel__pager button.is-active {
        background: #10b981 !important;
        box-shadow: 0 0 0 4px rgba(16, 185, 129, .12) !important;
    }
}
@media (min-width: 992px) and (max-width: 1380px) {
    .football-header-panel {
        grid-template-columns: 220px minmax(390px, 1fr) 300px !important;
    }
    .football-header-panel__cta {
        display: none !important;
    }
    .football-header-panel__match-slider .football-header-match-row {
        grid-template-columns: minmax(160px, 1fr) 68px minmax(160px, 1fr) !important;
    }
}
@media (max-width: 991px) {
    .football-header-mobile-tabs {
        justify-content: space-between !important;
        gap: 0.55rem !important;
    }
    .football-header-mobile-tab {
        flex: 1 1 0 !important;
        min-width: 58px !important;
        max-width: 82px !important;
        min-height: 66px !important;
        padding: .5rem .35rem !important;
        background: linear-gradient(180deg, #fff, #f8fbfb) !important;
    }
    .football-header-mobile-tab span {
        width: 42px !important;
        height: 42px !important;
        border-radius: 15px !important;
    }
    .football-header-mobile-tab img {
        max-width: 32px !important;
        max-height: 32px !important;
    }
    .football-header-mobile-tab.is-active,
    .football-header-mobile-tab:hover,
    .football-header-mobile-tab:focus-visible {
        background: linear-gradient(135deg, rgba(14, 125, 121, .12), rgba(255,255,255,.96)) !important;
        border-color: rgba(14, 125, 121, .22) !important;
        box-shadow: 0 12px 28px rgba(14, 125, 121, .12) !important;
    }
    .football-header-mobile-tab.is-active span {
        background: rgba(14, 125, 121, .12) !important;
    }
    .football-header-mobile-tab.is-active i,
    .football-header-mobile-tab:hover i,
    .football-header-mobile-tab:focus-visible i {
        color: #087b78 !important;
    }
    .football-header-mobile-match-grid .football-header-match-row__team strong {
        color: #0b1632 !important;
        display: block !important;
        font-size: .86rem !important;
        line-height: 1.16 !important;
        max-width: 100% !important;
        overflow: visible !important;
        text-overflow: clip !important;
        white-space: normal !important;
        word-break: normal !important;
        -webkit-line-clamp: unset !important;
    }
}
@media (max-width: 520px) {
    .football-header-mobile-tab {
        min-width: 50px !important;
        min-height: 60px !important;
        padding: .45rem .28rem !important;
    }
    .football-header-mobile-tab span {
        width: 38px !important;
        height: 38px !important;
    }
    .football-header-mobile-tab img {
        max-width: 29px !important;
        max-height: 29px !important;
    }
    .football-header-mobile-panel__scoreboard {
        padding: .75rem !important;
    }
    .football-header-mobile-match-grid .football-header-match-row {
        min-height: 112px !important;
        padding: .72rem !important;
    }
}
html[data-theme="dark"] .football-header-league__tab,
html[data-theme="dark"] .football-header-league__more,
html[data-theme="dark"] .football-header-mobile-tab {
    background: rgba(15,23,42,.86) !important;
    border-color: rgba(148,163,184,.16) !important;
}
html[data-theme="dark"] .football-header-league__tab:hover,
html[data-theme="dark"] .football-header-league:focus-within .football-header-league__tab,
html[data-theme="dark"] .football-header-league:first-child .football-header-league__tab,
html[data-theme="dark"] .football-header-league__more:hover,
html[data-theme="dark"] .football-header-mobile-tab.is-active,
html[data-theme="dark"] .football-header-mobile-tab:hover,
html[data-theme="dark"] .football-header-mobile-tab:focus-visible {
    background: rgba(14,125,121,.18) !important;
    border-color: rgba(141,226,215,.24) !important;
    color: #f8fafc !important;
}

/* v177: compact header/countdown and balanced league dropdown */
.site-header {
    padding: .55rem 0 0 !important;
}
.site-header__inner {
    gap: .55rem !important;
}
.site-header__bar {
    border-radius: 26px !important;
    min-height: 76px !important;
    padding: .68rem 1rem !important;
}
.site-header__brand img {
    max-height: 2.75rem !important;
    max-width: min(11.8rem, 30vw) !important;
}
.site-header__nav {
    gap: .18rem !important;
}
.site-header__nav a,
.site-header__nav button {
    font-size: .86rem !important;
    min-height: 2.35rem !important;
    padding: 0 .78rem !important;
}
.header-menu-item {
    padding-block: .12rem .22rem !important;
}
.site-icon-button {
    height: 2.55rem !important;
    width: 2.55rem !important;
}
.site-icon-button--label {
    min-width: 8.6rem !important;
    padding-inline: .82rem !important;
}
.site-header__utility {
    gap: .45rem !important;
}
.event-countdown-shell {
    margin-bottom: .45rem !important;
    margin-top: .5rem !important;
    max-height: 520px;
    opacity: 1;
    transition: max-height .2s ease, margin .2s ease, opacity .16s ease;
}
.event-countdown-shell.is-expired {
    margin: 0 !important;
    max-height: 0 !important;
    opacity: 0;
    overflow: hidden !important;
    pointer-events: none;
}
.event-countdown.event-countdown--compact {
    border-radius: 24px !important;
    box-shadow: 0 14px 34px rgba(10, 28, 58, .13) !important;
    overflow: hidden !important;
}
.event-countdown__summary {
    align-items: center !important;
    display: grid !important;
    gap: .75rem !important;
    grid-template-columns: minmax(260px, .7fr) minmax(360px, 1fr) 44px !important;
    min-height: 68px !important;
    padding: .62rem .9rem !important;
}
.event-countdown__compact-brand {
    gap: .7rem !important;
    min-width: 0 !important;
}
.event-countdown__compact-copy {
    min-width: 0 !important;
}
.event-countdown--compact .event-countdown__logo {
    border-radius: 15px !important;
    height: 42px !important;
    padding: 7px !important;
    width: 42px !important;
}
.event-countdown__summary .event-countdown__kicker {
    font-size: .68rem !important;
    letter-spacing: .12em !important;
    margin: 0 0 .18rem !important;
    padding: 0 !important;
}
.event-countdown__summary h3 {
    font-size: clamp(1rem, 1.35vw, 1.28rem) !important;
    line-height: 1.18 !important;
    margin: 0 !important;
}
.event-countdown--compact .event-countdown__timer {
    display: grid !important;
    gap: .45rem !important;
    grid-template-columns: repeat(4, minmax(74px, 1fr)) !important;
    width: 100% !important;
}
.event-countdown--compact .event-countdown__unit {
    border-radius: 14px !important;
    min-height: 44px !important;
    min-width: 0 !important;
    padding: .42rem .55rem !important;
}
.event-countdown--compact .event-countdown__unit strong {
    font-size: 1.08rem !important;
}
.event-countdown--compact .event-countdown__unit span {
    font-size: .62rem !important;
    letter-spacing: .07em !important;
    margin-top: .2rem !important;
}
.event-countdown__toggle {
    height: 44px !important;
    width: 44px !important;
}
.event-countdown__details {
    padding: .72rem .9rem .85rem !important;
}
.event-countdown__details .event-countdown__headline-row {
    gap: .75rem !important;
}
.site-header + .event-countdown-shell + .football-header-leagues,
.site-header + .football-header-leagues {
    margin-top: .5rem !important;
}
.football-header-leagues {
    margin-bottom: .65rem !important;
    margin-top: .5rem !important;
}
.football-header-leagues__surface {
    border-radius: 24px !important;
    padding: .55rem .8rem !important;
}
@media (min-width: 992px) {
    .football-header-leagues__tabs {
        gap: .55rem !important;
        min-height: 54px !important;
    }
    .football-header-league,
    .football-header-league__more {
        max-width: 158px !important;
    }
    .football-header-league__tab,
    .football-header-league__more {
        border-radius: 16px !important;
        min-height: 52px !important;
        padding: .45rem .72rem !important;
    }
    .football-header-league__logo {
        border-radius: 15px !important;
        height: 38px !important;
        width: 38px !important;
    }
    .football-header-league__logo img {
        height: 29px !important;
        width: 29px !important;
    }
    .football-header-league__logo i {
        font-size: 1.08rem !important;
    }
    .football-header-league__dropdown {
        left: .9rem !important;
        padding-top: .45rem !important;
        right: .9rem !important;
        top: calc(100% + .2rem) !important;
    }
    .football-header-panel {
        align-items: stretch !important;
        border-radius: 22px !important;
        gap: .8rem !important;
        grid-template-columns: minmax(190px, .72fr) minmax(0, 2fr) minmax(250px, .9fr) !important;
        padding: .82rem !important;
    }
    .football-header-panel__cta {
        display: none !important;
    }
    .football-header-panel__lead {
        align-content: center !important;
        border-radius: 20px !important;
        gap: .58rem !important;
        min-width: 0 !important;
        padding: .95rem !important;
    }
    .football-header-panel__lead span {
        font-size: .68rem !important;
        padding: .3rem .58rem !important;
    }
    .football-header-panel__lead strong {
        font-size: .98rem !important;
        line-height: 1.22 !important;
    }
    .football-header-panel__lead small {
        font-size: .82rem !important;
        line-height: 1.35 !important;
    }
    .football-header-panel__lead a {
        justify-content: center !important;
        margin-top: .08rem !important;
        width: 100% !important;
    }
    .football-header-panel__matches {
        display: grid !important;
        gap: .55rem !important;
        grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
        min-width: 0 !important;
        overflow: visible !important;
    }
    .football-header-panel__group {
        align-content: start !important;
        gap: .36rem !important;
        min-width: 0 !important;
    }
    .football-header-panel__group-title {
        font-size: .66rem !important;
        min-height: 16px !important;
    }
    .football-header-panel__match-slider[data-kisure-paged="true"] {
        display: block !important;
        overflow: visible !important;
        padding: 0 !important;
    }
    .football-header-panel__match-slider .football-header-match-row {
        border-radius: 16px !important;
        gap: .4rem .72rem !important;
        grid-template-columns: minmax(135px, 1fr) 62px minmax(135px, 1fr) !important;
        min-height: 72px !important;
        padding: .62rem .78rem !important;
        width: 100% !important;
    }
    .football-header-panel__match-slider .football-header-match-row__status {
        font-size: .68rem !important;
        letter-spacing: .05em !important;
        line-height: 1.05 !important;
    }
    .football-header-panel__match-slider .football-header-match-row__team {
        gap: .5rem !important;
    }
    .football-header-panel__match-slider .football-header-match-row__team img {
        flex: 0 0 28px !important;
        height: 28px !important;
        width: 28px !important;
    }
    .football-header-panel__match-slider .football-header-match-row__team strong {
        display: -webkit-box !important;
        font-size: .92rem !important;
        line-height: 1.13 !important;
        overflow: hidden !important;
        overflow-wrap: normal !important;
        text-overflow: clip !important;
        white-space: normal !important;
        word-break: normal !important;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2 !important;
    }
    .football-header-panel__match-slider .football-header-match-row b {
        font-size: .96rem !important;
        min-width: 56px !important;
        padding: .34rem .5rem !important;
    }
    .football-header-panel__match-slider .football-header-match-row--view-more {
        min-height: 72px !important;
    }
    .football-header-panel__pager {
        gap: .48rem !important;
        min-height: 14px !important;
        padding-top: .22rem !important;
    }
    .football-header-panel__pager button,
    .football-header-panel__pager span {
        height: 8px !important;
        width: 8px !important;
    }
    .football-header-panel__side {
        align-content: center !important;
        border-radius: 20px !important;
        display: grid !important;
        min-width: 0 !important;
        padding: .9rem !important;
    }
    .football-header-panel__side-head {
        gap: .55rem !important;
        margin-bottom: .55rem !important;
    }
    .football-header-panel__side-head strong {
        font-size: 1rem !important;
    }
    .football-header-panel__side-head a {
        font-size: .8rem !important;
        white-space: nowrap !important;
    }
    .football-header-toplist,
    .football-header-tablemini {
        gap: .42rem !important;
    }
    .football-header-toplist a,
    .football-header-tablemini a {
        gap: .5rem !important;
        grid-template-columns: 20px 38px minmax(0, 1fr) auto !important;
        min-height: 46px !important;
    }
    .football-header-toplist img,
    .football-header-toplist em,
    .football-header-tablemini em {
        height: 38px !important;
        width: 38px !important;
    }
    .football-header-toplist strong,
    .football-header-tablemini strong {
        font-size: .86rem !important;
    }
    .football-header-toplist b,
    .football-header-tablemini b {
        min-width: 34px !important;
        padding: .32rem .5rem !important;
    }
}
@media (min-width: 992px) and (max-width: 1180px) {
    .football-header-panel {
        grid-template-columns: 180px minmax(0, 1fr) 230px !important;
    }
    .football-header-panel__match-slider .football-header-match-row {
        grid-template-columns: minmax(110px, 1fr) 56px minmax(110px, 1fr) !important;
    }
}
@media (max-width: 991px) {
    .site-header {
        padding-top: .42rem !important;
    }
    .site-header__bar {
        border-radius: 22px !important;
        min-height: 64px !important;
        padding: .58rem .72rem !important;
    }
    .site-header__brand img {
        max-height: 2.35rem !important;
        max-width: min(10.2rem, 50vw) !important;
    }
    .site-icon-button {
        height: 2.35rem !important;
        width: 2.35rem !important;
    }
    .event-countdown-shell {
        margin-top: .42rem !important;
    }
    .event-countdown.event-countdown--compact {
        border-radius: 20px !important;
    }
    .event-countdown__summary {
        grid-template-columns: minmax(0, 1fr) 40px !important;
        min-height: 0 !important;
        padding: .65rem !important;
    }
    .event-countdown__compact-brand {
        grid-column: 1;
    }
    .event-countdown--compact .event-countdown__logo {
        height: 38px !important;
        width: 38px !important;
    }
    .event-countdown__summary h3 {
        font-size: 1rem !important;
    }
    .event-countdown--compact .event-countdown__timer {
        grid-column: 1 / -1;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
    .event-countdown--compact .event-countdown__unit {
        min-height: 42px !important;
        padding: .38rem .35rem !important;
    }
    .event-countdown__toggle {
        grid-column: 2;
        grid-row: 1;
        height: 40px !important;
        width: 40px !important;
    }
    .football-header-leagues {
        margin-top: .42rem !important;
    }
    .football-header-leagues__surface {
        border-radius: 20px !important;
        padding: .55rem !important;
    }
    .football-header-mobile-tabs {
        gap: .45rem !important;
        padding-bottom: .52rem !important;
    }
    .football-header-mobile-tab {
        min-height: 58px !important;
    }
    .football-header-mobile-tab span {
        height: 36px !important;
        width: 36px !important;
    }
    .football-header-mobile-tab img {
        max-height: 28px !important;
        max-width: 28px !important;
    }
}
@media (max-width: 520px) {
    .event-countdown--compact .event-countdown__timer {
        gap: .35rem !important;
    }
    .event-countdown--compact .event-countdown__unit strong {
        font-size: .98rem !important;
    }
    .event-countdown--compact .event-countdown__unit span {
        font-size: .56rem !important;
    }
    .football-header-mobile-tab {
        min-height: 54px !important;
        min-width: 46px !important;
        padding: .36rem .22rem !important;
    }
    .football-header-mobile-tab span {
        height: 34px !important;
        width: 34px !important;
    }
    .football-header-mobile-tab img {
        max-height: 26px !important;
        max-width: 26px !important;
    }
}

/* v178: centered fixture cards and forgiving league dropdown hover */
@media (min-width: 992px) {
    .football-header-league.is-open .football-header-league__tab {
        background: linear-gradient(135deg, rgba(14, 125, 121, 0.10), rgba(255, 255, 255, 0.96)) !important;
        border-color: rgba(14, 125, 121, 0.22) !important;
        box-shadow: 0 16px 34px rgba(14, 125, 121, 0.13) !important;
        color: #0b1632 !important;
    }
    .football-header-league.is-open .football-header-league__logo {
        background: rgba(14, 125, 121, 0.14) !important;
        transform: translateY(-1px);
    }
    .football-header-league.is-open .football-header-league__logo i {
        color: #087b78 !important;
    }
    .football-header-league__dropdown {
        padding-top: 1.2rem !important;
        top: calc(100% - .72rem) !important;
        transition: opacity .16s ease, transform .16s ease !important;
    }
    .football-header-league__dropdown::before {
        content: "";
        height: 1.25rem;
        left: 0;
        position: absolute;
        right: 0;
        top: 0;
    }
    .football-header-league.is-open .football-header-league__dropdown {
        opacity: 1 !important;
        pointer-events: auto !important;
        transform: translateY(0) !important;
    }
    .football-header-panel {
        grid-template-columns: minmax(190px, 230px) minmax(460px, 1fr) minmax(270px, 340px) !important;
    }
    .football-header-panel__matches {
        align-content: center !important;
        justify-items: center !important;
    }
    .football-header-panel__group {
        justify-self: center !important;
        width: min(100%, 680px) !important;
    }
    .football-header-panel__group-title,
    .football-header-panel__match-slider,
    .football-header-panel__pager {
        width: 100% !important;
    }
    .football-header-panel__match-slider .football-header-match-row {
        grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
        margin-inline: auto !important;
        max-width: 680px !important;
        min-height: 76px !important;
        padding: .66rem .9rem !important;
        width: 100% !important;
    }
    .football-header-panel__match-slider .football-header-match-row__status {
        justify-self: center !important;
        text-align: center !important;
        width: 100% !important;
    }
    .football-header-panel__match-slider .football-header-match-row__team--home {
        justify-content: flex-end !important;
        text-align: right !important;
    }
    .football-header-panel__match-slider .football-header-match-row__team--away {
        justify-content: flex-start !important;
        text-align: left !important;
    }
    .football-header-panel__match-slider .football-header-match-row__team strong {
        flex: 0 1 auto !important;
        max-width: 15rem !important;
    }
    .football-header-panel__match-slider .football-header-match-row b {
        justify-self: center !important;
        min-width: 58px !important;
    }
    .football-header-panel__match-slider .football-header-match-row--view-more {
        grid-template-columns: 1fr !important;
        justify-items: center !important;
        text-align: center !important;
    }
}
@media (min-width: 992px) and (max-width: 1180px) {
    .football-header-panel {
        grid-template-columns: 180px minmax(360px, 1fr) 230px !important;
    }
    .football-header-panel__group,
    .football-header-panel__match-slider .football-header-match-row {
        max-width: 560px !important;
    }
    .football-header-panel__match-slider .football-header-match-row__team strong {
        max-width: 11rem !important;
    }
}
html[data-theme="dark"] .football-header-league.is-open .football-header-league__tab {
    background: rgba(14,125,121,.18) !important;
    border-color: rgba(141,226,215,.24) !important;
    color: #f8fafc !important;
}

/* v179: opaque dark football header and match rows as name-logo-score-logo-name */
@media (min-width: 992px) {
    .football-header-panel__match-slider .football-header-match-row:not(.football-header-match-row--empty):not(.football-header-match-row--view-more) {
        grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
        gap: .5rem 1rem !important;
        max-width: 640px !important;
        padding-inline: 1.15rem !important;
    }
    .football-header-panel__match-slider .football-header-match-row:not(.football-header-match-row--empty):not(.football-header-match-row--view-more) .football-header-match-row__team {
        align-items: center !important;
        gap: .6rem !important;
        min-width: 0 !important;
    }
    .football-header-panel__match-slider .football-header-match-row:not(.football-header-match-row--empty):not(.football-header-match-row--view-more) .football-header-match-row__team--home {
        flex-direction: row-reverse !important;
        justify-content: flex-start !important;
        justify-self: end !important;
        text-align: right !important;
    }
    .football-header-panel__match-slider .football-header-match-row:not(.football-header-match-row--empty):not(.football-header-match-row--view-more) .football-header-match-row__team--away {
        flex-direction: row !important;
        justify-content: flex-start !important;
        justify-self: start !important;
        text-align: left !important;
    }
    .football-header-panel__match-slider .football-header-match-row:not(.football-header-match-row--empty):not(.football-header-match-row--view-more) .football-header-match-row__team strong {
        max-width: 13rem !important;
    }
    .football-header-panel__match-slider .football-header-match-row:not(.football-header-match-row--empty):not(.football-header-match-row--view-more) .football-header-match-row__team img {
        background: #fff !important;
        flex: 0 0 34px !important;
        height: 34px !important;
        width: 34px !important;
    }
    .football-header-panel__match-slider .football-header-match-row:not(.football-header-match-row--empty):not(.football-header-match-row--view-more) b {
        min-width: 64px !important;
    }
}
html[data-theme="dark"] .football-header-leagues__surface {
    background: #071321 !important;
    border-color: #1f344a !important;
    box-shadow: 0 22px 48px rgba(0, 0, 0, .34) !important;
    backdrop-filter: none !important;
}
html[data-theme="dark"] .football-header-league__tab,
html[data-theme="dark"] .football-header-league__more,
html[data-theme="dark"] .football-header-mobile-tab {
    background: #0b1526 !important;
    border-color: #26364f !important;
    box-shadow: none !important;
    color: #eaf2ff !important;
}
html[data-theme="dark"] .football-header-league__tab:hover,
html[data-theme="dark"] .football-header-league:focus-within .football-header-league__tab,
html[data-theme="dark"] .football-header-league.is-open .football-header-league__tab,
html[data-theme="dark"] .football-header-league:first-child .football-header-league__tab,
html[data-theme="dark"] .football-header-league__more:hover,
html[data-theme="dark"] .football-header-mobile-tab.is-active,
html[data-theme="dark"] .football-header-mobile-tab:hover,
html[data-theme="dark"] .football-header-mobile-tab:focus-visible {
    background: #082a33 !important;
    border-color: #1c9d98 !important;
    color: #f8fafc !important;
    box-shadow: 0 0 0 1px rgba(141, 226, 215, .08), 0 16px 34px rgba(0, 0, 0, .28) !important;
}
html[data-theme="dark"] .football-header-league__logo,
html[data-theme="dark"] .football-header-mobile-tab span {
    background: #102438 !important;
}
html[data-theme="dark"] .football-header-league__tab:hover .football-header-league__logo,
html[data-theme="dark"] .football-header-league:focus-within .football-header-league__logo,
html[data-theme="dark"] .football-header-league.is-open .football-header-league__logo,
html[data-theme="dark"] .football-header-league:first-child .football-header-league__logo,
html[data-theme="dark"] .football-header-mobile-tab.is-active span {
    background: #0b3b43 !important;
}
html[data-theme="dark"] .football-header-panel {
    background: #08111f !important;
    border-color: #22344c !important;
    box-shadow: 0 30px 80px rgba(0, 0, 0, .52) !important;
    backdrop-filter: none !important;
}
html[data-theme="dark"] .football-header-panel__lead {
    background: #0b1d2c !important;
    border: 1px solid #1d3448 !important;
}
html[data-theme="dark"] .football-header-panel__lead span {
    background: #0f766e !important;
    color: #ecfeff !important;
}
html[data-theme="dark"] .football-header-panel__lead strong,
html[data-theme="dark"] .football-header-panel__side-head strong,
html[data-theme="dark"] .football-header-toplist strong,
html[data-theme="dark"] .football-header-tablemini strong,
html[data-theme="dark"] .football-header-match-row__team strong {
    color: #f8fafc !important;
}
html[data-theme="dark"] .football-header-panel__lead small,
html[data-theme="dark"] .football-header-toplist small,
html[data-theme="dark"] .football-header-panel__side-head a {
    color: #b7c6da !important;
}
html[data-theme="dark"] .football-header-panel__lead a {
    background: #0c3438 !important;
    border-color: #1f6867 !important;
    color: #b8fff7 !important;
}
html[data-theme="dark"] .football-header-panel__group-title {
    color: #7ddbd2 !important;
}
html[data-theme="dark"] .football-header-panel__match-slider .football-header-match-row {
    background: #0d1727 !important;
    border-color: #26364f !important;
    box-shadow: none !important;
    color: #f8fafc !important;
}
html[data-theme="dark"] .football-header-panel__match-slider .football-header-match-row:hover {
    background: #102033 !important;
    border-color: #2b5963 !important;
    color: #f8fafc !important;
}
html[data-theme="dark"] .football-header-panel__match-slider .football-header-match-row__status {
    color: #7ddbd2 !important;
}
html[data-theme="dark"] .football-header-panel__match-slider .football-header-match-row b {
    background: #e8f7f5 !important;
    color: #07142a !important;
}
html[data-theme="dark"] .football-header-panel__match-slider .football-header-match-row--empty,
html[data-theme="dark"] .football-header-panel__match-slider .football-header-match-row--view-more {
    background: #0f1b2d !important;
    color: #b8fff7 !important;
}
html[data-theme="dark"] .football-header-panel__side,
html[data-theme="dark"] .football-header-panel__cta {
    background: #0b1526 !important;
    border-color: #26364f !important;
}
html[data-theme="dark"] .football-header-toplist a,
html[data-theme="dark"] .football-header-tablemini a {
    background: transparent !important;
    color: #f8fafc !important;
}
html[data-theme="dark"] .football-header-toplist b,
html[data-theme="dark"] .football-header-tablemini b {
    background: #153d42 !important;
    color: #b8fff7 !important;
}
html[data-theme="dark"] .football-header-panel__pager button,
html[data-theme="dark"] .football-header-panel__pager span {
    background: #284057 !important;
}
html[data-theme="dark"] .football-header-panel__pager button.is-active,
html[data-theme="dark"] .football-header-panel__pager span.is-active {
    background: #22c7b8 !important;
    box-shadow: 0 0 0 4px rgba(34, 199, 184, .16) !important;
}

/* v180: visible league icons in dark mode and light mobile league strip */
html[data-theme="dark"] .football-header-league__logo,
html[data-theme="dark"] .football-header-league__tab:hover .football-header-league__logo,
html[data-theme="dark"] .football-header-league:focus-within .football-header-league__logo,
html[data-theme="dark"] .football-header-league.is-open .football-header-league__logo,
html[data-theme="dark"] .football-header-league:first-child .football-header-league__logo {
    background: #f5f7fb !important;
    border: 1px solid #d8e2ef !important;
    box-shadow: 0 8px 18px rgba(0, 0, 0, .18) !important;
}
html[data-theme="dark"] .football-header-league__logo img,
html[data-theme="dark"] .football-header-mobile-tab img {
    filter: none !important;
    mix-blend-mode: normal !important;
    opacity: 1 !important;
}
html[data-theme="dark"] .football-header-league__logo i {
    color: #083344 !important;
}
html[data-theme="dark"] .football-header-league__more i {
    color: #eaf2ff !important;
}
html[data-theme="dark"] .football-header-league__more:hover i {
    color: #b8fff7 !important;
}

/* v183: restore mobile dark mode while keeping league icons readable */
@media (max-width: 991px) {
    html[data-theme="dark"] .football-header-leagues__surface {
        background: #071321 !important;
        border-color: #1f344a !important;
        box-shadow: 0 18px 38px rgba(0, 0, 0, .34) !important;
    }
    html[data-theme="dark"] .football-header-leagues__mobile,
    html[data-theme="dark"] .football-header-mobile-panels,
    html[data-theme="dark"] .football-header-mobile-panel {
        background: transparent !important;
    }
    html[data-theme="dark"] .football-header-mobile-tabs {
        background: #071321 !important;
        border-radius: 16px !important;
    }
    html[data-theme="dark"] .football-header-mobile-tab {
        background: #0b1526 !important;
        border-color: #26364f !important;
        color: #eaf2ff !important;
        box-shadow: none !important;
    }
    html[data-theme="dark"] .football-header-mobile-tab strong {
        color: #eaf2ff !important;
    }
    html[data-theme="dark"] .football-header-mobile-tab.is-active,
    html[data-theme="dark"] .football-header-mobile-tab:hover,
    html[data-theme="dark"] .football-header-mobile-tab:focus-visible {
        background: #082a33 !important;
        border-color: #1c9d98 !important;
        color: #f8fafc !important;
        box-shadow: 0 12px 28px rgba(0, 0, 0, .28) !important;
    }
    html[data-theme="dark"] .football-header-mobile-tab.is-active strong,
    html[data-theme="dark"] .football-header-mobile-tab:hover strong,
    html[data-theme="dark"] .football-header-mobile-tab:focus-visible strong {
        color: #f8fafc !important;
    }
    html[data-theme="dark"] .football-header-mobile-tab span,
    html[data-theme="dark"] .football-header-mobile-tab.is-active span,
    html[data-theme="dark"] .football-header-mobile-tab:hover span,
    html[data-theme="dark"] .football-header-mobile-tab:focus-visible span {
        background: #d9e6f2 !important;
        border: 1px solid #b9c8d8 !important;
        box-shadow: 0 8px 18px rgba(0, 0, 0, .22) !important;
    }
    html[data-theme="dark"] .football-header-mobile-tab img {
        filter: none !important;
        mix-blend-mode: normal !important;
        opacity: 1 !important;
    }
    html[data-theme="dark"] .football-header-mobile-tab i {
        color: #083344 !important;
    }
    html[data-theme="dark"] .football-header-mobile-panel__scoreboard {
        background: #0b1526 !important;
        border: 1px solid #26364f !important;
        box-shadow: none !important;
    }
    html[data-theme="dark"] .football-header-mobile-panel__head > span {
        background: #0c3438 !important;
        color: #b8fff7 !important;
    }
    html[data-theme="dark"] .football-header-mobile-panel__head strong,
    html[data-theme="dark"] .football-header-mobile-match-grid .football-header-match-row__team strong,
    html[data-theme="dark"] .football-header-mobile-match-grid .football-header-match-row__team strong::after,
    html[data-theme="dark"] .football-header-mobile-match-grid .football-header-match-row b,
    html[data-theme="dark"] .football-header-mobile-panel__below .football-header-panel__side-head strong,
    html[data-theme="dark"] .football-header-mobile-panel__below .football-header-toplist strong,
    html[data-theme="dark"] .football-header-mobile-panel__below .football-header-panel__cta strong {
        color: #f8fafc !important;
    }
    html[data-theme="dark"] .football-header-mobile-panel__head a,
    html[data-theme="dark"] .football-header-mobile-panel__below .football-header-panel__side-head a {
        color: #8de2d7 !important;
    }
    html[data-theme="dark"] .football-header-mobile-match-grid .football-header-match-row {
        background: #0d1727 !important;
        border: 1px solid #26364f !important;
        box-shadow: none !important;
        color: #f8fafc !important;
    }
    html[data-theme="dark"] .football-header-mobile-match-grid .football-header-match-row__status {
        color: #7ddbd2 !important;
    }
    html[data-theme="dark"] .football-header-mobile-match-grid .football-header-match-row b {
        background: rgba(141, 226, 215, .12) !important;
        color: #f8fafc !important;
    }
    html[data-theme="dark"] .football-header-mobile-panel__below .football-header-panel__side,
    html[data-theme="dark"] .football-header-mobile-panel__below .football-header-panel__cta {
        background: #0b1526 !important;
        border-color: #26364f !important;
        box-shadow: none !important;
    }
    html[data-theme="dark"] .football-header-mobile-panel__below .football-header-toplist a,
    html[data-theme="dark"] .football-header-mobile-panel__below .football-header-tablemini a {
        color: #f8fafc !important;
    }
    html[data-theme="dark"] .football-header-mobile-panel__below .football-header-toplist small,
    html[data-theme="dark"] .football-header-mobile-panel__below .football-header-panel__cta small {
        color: #b7c6da !important;
    }
    html[data-theme="dark"] .football-header-mobile-panel__below .football-header-toplist b,
    html[data-theme="dark"] .football-header-mobile-panel__below .football-header-tablemini b {
        background: #153d42 !important;
        color: #b8fff7 !important;
    }
    html[data-theme="dark"] .football-header-mobile-panel__below .football-header-panel__cta b {
        background: linear-gradient(135deg, #087b78, #0e7d79) !important;
        color: #ffffff !important;
    }
}

/* v184: standings preview uses club logos when available */
.football-header-tablemini img {
    background: #ffffff;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 999px;
    box-shadow: 0 6px 16px rgba(15, 23, 42, .08);
    height: 40px;
    object-fit: contain;
    padding: 4px;
    width: 40px;
}
html[data-theme="dark"] .football-header-tablemini img {
    background: #d9e6f2;
    border-color: #b9c8d8;
}

/* v186: expanded mobile countdown must push the league strip down, not overlap it */
@media (max-width: 991px) {
    .event-countdown-shell {
        max-height: none !important;
        overflow: visible !important;
    }
    .event-countdown-shell.is-expired {
        max-height: 0 !important;
        overflow: hidden !important;
    }
    .site-header + .event-countdown-shell + .football-header-leagues {
        clear: both !important;
        margin-top: .9rem !important;
    }
    .event-countdown.event-countdown--compact[open] .event-countdown__details {
        padding-bottom: 1.45rem !important;
    }
}
@media (max-width: 575px) {
    .event-countdown-shell {
        margin-bottom: .85rem !important;
    }
    .event-countdown.event-countdown--compact[open] .event-countdown__details {
        padding-bottom: 1.65rem !important;
    }
}

/* v193: tighten the mobile league strip so it does not leave a wide blank gap */
@media (max-width: 991px) {
    .football-header-leagues {
        margin-bottom: .25rem !important;
    }
    .football-header-leagues__surface {
        padding-bottom: .28rem !important;
    }
    .football-header-mobile-tabs {
        padding-bottom: .08rem !important;
    }
    .football-header-mobile-panels {
        gap: .65rem !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    .football-header-mobile-panel[hidden] {
        display: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    .football-header-mobile-panel.is-active {
        margin-top: .55rem !important;
    }
}
@media (max-width: 575px) {
    .football-header-leagues {
        margin-bottom: .12rem !important;
    }
    .football-header-leagues__surface {
        padding-bottom: .22rem !important;
    }
    .football-header-mobile-tabs {
        padding-bottom: 0 !important;
    }
}


/* Kisure football polish v194: header IDs, mobile spacing, dark-mode readability and match balance */
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

.football-header-league__tab--more { gap: .45rem; }
.football-header-league--more { position: relative; flex: 0 0 auto; }
.football-header-league__dropdown--more { min-width: min(680px, calc(100vw - 2rem)); right: 0; left: auto; }
.football-header-more-panel { display: grid; gap: .85rem; padding: .95rem; border-radius: 24px; background: rgba(255,255,255,.98); border: 1px solid rgba(15,23,42,.1); box-shadow: 0 28px 60px rgba(2,6,23,.18); }
.football-header-more-panel__quick { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .65rem; }
.football-header-more-panel__quick a,
.football-header-more-panel__leagues a,
.football-header-more-panel__all { display: flex; align-items: center; gap: .65rem; border: 1px solid rgba(15,23,42,.1); border-radius: 18px; background: #fff; color: #061626; padding: .72rem .78rem; text-decoration: none; min-width: 0; }
.football-header-more-panel__quick a > i { width: 36px; height: 36px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; background: rgba(14,165,164,.12); color: var(--primary-strong); flex: 0 0 auto; }
.football-header-more-panel__quick strong,
.football-header-more-panel__leagues strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.football-header-more-panel__quick small,
.football-header-more-panel__leagues small { color: #64748b; display: block; font-size: .74rem; margin-top: .1rem; }
.football-header-more-panel__leagues { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .55rem; }
.football-header-more-panel__leagues span { width: 32px; height: 32px; border-radius: 999px; background: #f8fafc; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; border: 1px solid rgba(15,23,42,.08); }
.football-header-more-panel__leagues img { width: 24px; height: 24px; object-fit: contain; }
.football-header-more-panel__all { justify-content: space-between; background: linear-gradient(135deg, rgba(14,165,164,.16), rgba(255,255,255,.96)); font-weight: 900; }
html[data-theme="dark"] .football-header-more-panel { background: #0b1220; border-color: rgba(148,163,184,.22); box-shadow: 0 30px 70px rgba(0,0,0,.38); }
html[data-theme="dark"] .football-header-more-panel__quick a,
html[data-theme="dark"] .football-header-more-panel__leagues a,
html[data-theme="dark"] .football-header-more-panel__all { background: #111827; border-color: rgba(148,163,184,.22); color: #f8fafc; }
html[data-theme="dark"] .football-header-more-panel__quick small,
html[data-theme="dark"] .football-header-more-panel__leagues small { color: #cbd5e1; }
html[data-theme="dark"] .football-header-more-panel__leagues span { background: #0f172a; border-color: rgba(148,163,184,.2); }

@media (max-width: 760px) {
    .football-header-leagues { margin-bottom: .45rem !important; }
    .football-header-leagues__surface { padding: .42rem !important; border-radius: 18px !important; }
    .football-header-leagues__mobile { gap: .38rem !important; }
    .football-header-mobile-tabs { gap: .42rem !important; padding: .2rem !important; }
    .football-header-mobile-panels:empty { display: none !important; }
    .football-header-mobile-panel[hidden] { display: none !important; }
    .football-header-mobile-panel { margin-top: .2rem !important; }
    .football-header-mobile-panel__below { margin-top: .5rem !important; }
}

.football-header-panel__pager button { cursor: pointer; }
.football-header-panel__pager button:hover { transform: translateY(-1px); opacity: .85; }
.football-header-match-row__team strong { min-width: 0; }
@media (max-width: 760px) {
    .football-header-match-row__team strong { font-size: .68rem; line-height: 1.05; white-space: normal; overflow: visible; text-overflow: clip; }
    .football-header-match-row__team strong::before { content: none !important; }
}

.football-competition-search { background: rgba(255,255,255,.74); border: 1px solid rgba(15,23,42,.08); border-radius: 20px; padding: .75rem; }
.football-competition-search input,
.football-competition-search select { background: #fff; color: #071320; border-color: rgba(15,23,42,.16); }
.football-competition-card[hidden] { display: none !important; }
html[data-theme="dark"] .football-competition-search { background: rgba(15,23,42,.72); border-color: rgba(148,163,184,.22); }
html[data-theme="dark"] .football-competition-search label { color: #7ddbd8; }
html[data-theme="dark"] .football-competition-search input,
html[data-theme="dark"] .football-competition-search select,
html[data-theme="dark"] .football-select-search { background: #0b1220; border-color: rgba(148,163,184,.3); color: #f8fafc; }
html[data-theme="dark"] .football-competition-search input::placeholder,
html[data-theme="dark"] .football-select-search::placeholder { color: #94a3b8; }
html[data-theme="dark"] .football-competition-card,
html[data-theme="dark"] .football-competition-card--directory { background: #111827; border-color: rgba(148,163,184,.18); color: #f8fafc; }
html[data-theme="dark"] .football-competition-card strong,
html[data-theme="dark"] .football-competition-card__text strong { color: #f8fafc; }
html[data-theme="dark"] .football-competition-card small,
html[data-theme="dark"] .football-competition-card em,
html[data-theme="dark"] .football-competition-card__country { color: #cbd5e1; }
html[data-theme="dark"] .football-competition-card__logo { background: #0b1220; border-color: rgba(148,163,184,.2); color: #7ddbd8; }
html[data-theme="dark"] .football-competition-card__actions a { background: #0b1220; border-color: rgba(148,163,184,.18); color: #e2e8f0; }

@media (max-width: 720px) {
    .football-club-hero--balanced { grid-template-columns: 1fr !important; text-align: center; justify-items: center; gap: .9rem; padding-top: 1.15rem; }
    .football-club-hero--balanced .football-club-hero__badge { order: -1; width: 96px; height: 96px; margin: 0 auto; justify-self: center; transform: none !important; }
    .football-club-hero--balanced .football-club-hero__badge img { width: 76px; height: 76px; object-fit: contain; }
    .football-club-hero--balanced .football-hero__actions { justify-content: center; width: 100%; }
}

.football-transfer-card { transition: background .2s ease, border-color .2s ease, transform .2s ease; }
html[data-theme="dark"] .football-transfer-card { background: #111827; border-color: rgba(148,163,184,.18); box-shadow: 0 16px 34px rgba(0,0,0,.28); }
html[data-theme="dark"] .football-transfer-card strong { color: #f8fafc; }
html[data-theme="dark"] .football-transfer-card span { color: #cbd5e1; }
html[data-theme="dark"] .football-transfer-card p { color: #e2e8f0; }
html[data-theme="dark"] .football-transfer-card img { background: #fff; }

.football-schedule-competition__head { justify-content: flex-start !important; }
.football-schedule-row { grid-template-columns: minmax(0, 1fr) minmax(96px, 160px) minmax(0, 1fr) !important; }
.football-schedule-row__middle { min-width: 0 !important; max-width: 170px; justify-self: center; }
.football-schedule-row__middle small { display: block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 640px) {
    .football-schedule-row { grid-template-columns: minmax(0, 1fr) minmax(58px, 72px) !important; }
    .football-schedule-row__middle { max-width: 72px; }
}

.article-match-scoreboard__support { grid-template-columns: minmax(0, 1fr) minmax(74px, auto) minmax(0, 1fr) !important; }
.article-match-scoreboard__support-col { min-width: 0; display: flex; }
.article-match-scoreboard__support-col--home { justify-content: flex-end !important; text-align: right !important; }
.article-match-scoreboard__support-col--away { justify-content: flex-start !important; text-align: left !important; }
.article-match-scoreboard__support-col--home strong { margin-left: auto; margin-right: 0; text-align: right !important; }
.article-match-scoreboard__support-col--away strong { margin-left: 0; margin-right: auto; text-align: left !important; }
.article-match-scoreboard__support-center--empty { min-width: 74px; }
@media (max-width: 760px) {
    .article-match-scoreboard__support,
    .article-match-scoreboard__support--goals,
    .article-match-scoreboard__support--assists:not(.article-match-scoreboard__support--single) { grid-template-columns: 1fr !important; gap: .5rem !important; }
    .article-match-scoreboard__support-center--empty { display: none !important; }
    .article-match-scoreboard__support-col--home,
    .article-match-scoreboard__support-col--away { justify-content: flex-start !important; text-align: left !important; }
    .article-match-scoreboard__support-col--home strong,
    .article-match-scoreboard__support-col--away strong { margin: 0 !important; text-align: left !important; }
}

.football-formation-player { max-width: 76px; }
.football-formation-player span { max-width: 100%; overflow: hidden; text-overflow: clip; white-space: nowrap; }
.football-formation-player:hover span,
.football-lineup-player:hover strong { overflow: visible; white-space: normal; position: relative; z-index: 4; }
.football-lineup-player strong { overflow: hidden; text-overflow: clip; white-space: nowrap; }
@media (max-width: 720px) {
    .football-formation-player { max-width: 64px; }
    .football-formation-player span { font-size: .66rem; }
}
/* Keep shortened lineup labels readable on hover. */
.football-formation-pitch { overflow: visible !important; }
.football-formation-player span { display: block !important; -webkit-line-clamp: unset !important; -webkit-box-orient: initial !important; }
.football-formation-player:hover span,
.football-lineup-player:hover strong { background: rgba(5,15,30,.88); color: #fff; border-radius: 8px; padding: 2px 5px; box-shadow: 0 10px 20px rgba(0,0,0,.22); }

/* Kisure football polish v195: header dropdown containment, no auto-selected tabs, and mobile scoreboard side columns */
@media (min-width: 992px) {
    .football-header-leagues__surface {
        overflow: visible !important;
    }
    .football-header-leagues__tabs {
        overflow: visible !important;
        gap: clamp(.55rem, 1vw, .95rem) !important;
    }
    .football-header-league--more {
        position: static !important;
    }
    .football-header-league__dropdown--more {
        left: 1.2rem !important;
        right: 1.2rem !important;
        top: calc(100% - .15rem) !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
    }
    .football-header-more-panel {
        max-height: min(72vh, 640px) !important;
        overflow: auto !important;
    }
    .football-header-more-panel__quick {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
    .football-header-more-panel__leagues {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
}
@media (max-width: 1200px) and (min-width: 992px) {
    .football-header-more-panel__quick,
    .football-header-more-panel__leagues {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

.football-header-league:first-child:not(:hover):not(:focus-within) .football-header-league__tab,
.football-header-league:first-child:not(:hover):not(:focus-within) .football-header-league__tab:hover {
    background: rgba(255,255,255,.52) !important;
    border-color: rgba(15,23,42,.1) !important;
    box-shadow: none !important;
    color: #0b1632 !important;
}
.football-header-league:first-child:not(:hover):not(:focus-within) .football-header-league__logo {
    background: rgba(14, 125, 121, .10) !important;
}
.football-header-league:first-child:not(:hover):not(:focus-within) .football-header-league__logo i {
    color: #0e7d79 !important;
}
html[data-theme="dark"] .football-header-league:first-child:not(:hover):not(:focus-within) .football-header-league__tab {
    background: #0f172a !important;
    border-color: rgba(148,163,184,.2) !important;
    color: #e2e8f0 !important;
}
html[data-theme="dark"] .football-header-league:first-child:not(:hover):not(:focus-within) .football-header-league__logo {
    background: rgba(255,255,255,.94) !important;
}
html[data-theme="dark"] .football-header-league:first-child:not(:hover):not(:focus-within) .football-header-league__logo i {
    color: #0e7d79 !important;
}

.article-match-scoreboard__support-col strong span,
.article-match-scoreboard__support-center strong span {
    display: block;
}

@media (min-width: 761px) {
    .article-match-scoreboard__support-col--home strong span {
        text-align: right;
    }
    .article-match-scoreboard__support-col--away strong span {
        text-align: left;
    }
}

@media (max-width: 760px) {
    .article-match-scoreboard,
    .article-match-scoreboard--match-page {
        box-sizing: border-box !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        max-width: 100% !important;
        overflow: hidden !important;
        padding-left: clamp(14px, 4vw, 18px) !important;
        padding-right: clamp(14px, 4vw, 18px) !important;
        width: 100% !important;
    }
    .article-match-scoreboard__main,
    .article-match-scoreboard--match-page .article-match-scoreboard__main {
        max-width: 100% !important;
    }
    .article-match-scoreboard__support,
    .article-match-scoreboard__support--goals,
    .article-match-scoreboard__support--assists:not(.article-match-scoreboard__support--single) {
        align-items: start !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        gap: .55rem 1rem !important;
        max-width: 100% !important;
        width: 100% !important;
    }
    .article-match-scoreboard__support-center--empty {
        display: none !important;
    }
    .article-match-scoreboard__support--assists:not(.article-match-scoreboard__support--single) .article-match-scoreboard__support-center--label {
        grid-column: 1 / -1 !important;
        justify-self: center !important;
        order: -1 !important;
        text-align: center !important;
        width: 100% !important;
    }
    .article-match-scoreboard__support-col,
    .article-match-scoreboard__support-col--home,
    .article-match-scoreboard__support-col--away {
        display: flex !important;
        min-width: 0 !important;
    }
    .article-match-scoreboard__support-col--home {
        justify-content: flex-start !important;
        text-align: left !important;
    }
    .article-match-scoreboard__support-col--away {
        justify-content: flex-end !important;
        text-align: right !important;
    }
    .article-match-scoreboard__support-col strong,
    .article-match-scoreboard__support-center strong {
        display: grid !important;
        gap: .28rem !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow-wrap: anywhere !important;
        white-space: normal !important;
        word-break: normal !important;
    }
    .article-match-scoreboard__support-col--home strong {
        margin: 0 auto 0 0 !important;
        text-align: left !important;
    }
    .article-match-scoreboard__support-col--away strong {
        margin: 0 0 0 auto !important;
        text-align: right !important;
    }
    .article-match-scoreboard__support-col--home strong span {
        text-align: left !important;
    }
    .article-match-scoreboard__support-col--away strong span {
        text-align: right !important;
    }
    .article-match-scoreboard__support--single {
        grid-template-columns: 1fr !important;
    }
    .article-match-scoreboard__support--single .article-match-scoreboard__support-center--label {
        justify-items: center !important;
        text-align: center !important;
    }
}

@media (max-width: 420px) {
    .article-match-scoreboard__support,
    .article-match-scoreboard__support--goals,
    .article-match-scoreboard__support--assists:not(.article-match-scoreboard__support--single) {
        gap: .55rem .7rem !important;
    }
    .article-match-scoreboard__support-col strong,
    .article-match-scoreboard__support-center strong {
        font-size: .82rem !important;
        line-height: 1.36 !important;
    }
    .article-match-scoreboard__details--last {
        gap: .45rem .65rem !important;
        overflow-wrap: anywhere !important;
    }
}

/* Kisure football polish v196: More dropdown controls, fixture meta placement and sports-desk redesign */
.football-header-more-panel {
    background: #ffffff;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 24px;
    box-shadow: 0 28px 70px rgba(2, 12, 27, .18);
    color: #0b1632;
}
.football-header-more-panel__quick a,
.football-header-more-panel__leagues a,
.football-header-more-panel__all {
    background: linear-gradient(180deg, #ffffff, #f7fbfb) !important;
    border: 1px solid rgba(15, 23, 42, .1) !important;
    color: #0b1632 !important;
}
.football-header-more-panel__quick a:hover,
.football-header-more-panel__leagues a:hover,
.football-header-more-panel__all:hover {
    background: linear-gradient(135deg, rgba(14, 125, 121, .1), rgba(20, 184, 166, .08)) !important;
    border-color: rgba(14, 125, 121, .32) !important;
    color: #075f62 !important;
}
.football-header-more-panel__quick a > i,
.football-header-more-panel__leagues a span {
    background: rgba(14, 125, 121, .11) !important;
    color: #0e7d79 !important;
}
.football-header-more-panel__quick small { color: #64748b !important; }
.football-header-more-panel__leagues a strong { white-space: normal !important; }

html[data-theme="dark"] .football-header-more-panel {
    background: #071321 !important;
    border-color: #22344c !important;
    box-shadow: 0 30px 90px rgba(0, 0, 0, .55) !important;
    color: #f8fafc !important;
}
html[data-theme="dark"] .football-header-more-panel__quick a,
html[data-theme="dark"] .football-header-more-panel__leagues a,
html[data-theme="dark"] .football-header-more-panel__all {
    background: #0b1526 !important;
    border-color: #26364f !important;
    color: #f8fafc !important;
}
html[data-theme="dark"] .football-header-more-panel__quick a:hover,
html[data-theme="dark"] .football-header-more-panel__leagues a:hover,
html[data-theme="dark"] .football-header-more-panel__all:hover {
    background: #102033 !important;
    border-color: #1c9d98 !important;
    color: #b8fff7 !important;
}
html[data-theme="dark"] .football-header-more-panel__quick a > i,
html[data-theme="dark"] .football-header-more-panel__leagues a span {
    background: #f5f7fb !important;
    color: #083344 !important;
}
html[data-theme="dark"] .football-header-more-panel__quick strong,
html[data-theme="dark"] .football-header-more-panel__leagues strong,
html[data-theme="dark"] .football-header-more-panel__all strong { color: #f8fafc !important; }
html[data-theme="dark"] .football-header-more-panel__quick small { color: #cbd5e1 !important; }

.football-schedule-row {
    align-items: center !important;
    display: grid !important;
    gap: .42rem 1rem !important;
    grid-template-columns: minmax(0, 1fr) minmax(92px, 138px) minmax(0, 1fr) !important;
    grid-template-areas:
        "meta meta meta"
        "home middle away" !important;
}
.football-schedule-row__meta {
    color: var(--text-soft) !important;
    display: block !important;
    font-size: .76rem !important;
    font-weight: 850 !important;
    grid-area: meta !important;
    letter-spacing: .02em !important;
    line-height: 1.35 !important;
    min-width: 0 !important;
    overflow: visible !important;
    text-align: center !important;
    text-overflow: clip !important;
    white-space: normal !important;
}
.football-schedule-row__team--home { grid-area: home !important; }
.football-schedule-row__middle {
    grid-area: middle !important;
    justify-self: stretch !important;
    max-width: none !important;
    min-width: 0 !important;
}
.football-schedule-row__team--away { grid-area: away !important; }
.football-schedule-row__middle small { display: none !important; }
.football-schedule-row__middle em {
    display: block !important;
    max-width: none !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
}
html[data-theme="dark"] .football-schedule-row__meta { color: #b7c6da !important; }
@media (max-width: 640px) {
    .football-schedule-row {
        grid-template-columns: minmax(0, 1fr) minmax(62px, 82px) minmax(0, 1fr) !important;
        gap: .36rem .45rem !important;
        padding: .72rem .68rem !important;
    }
    .football-schedule-row__meta {
        font-size: .68rem !important;
        text-align: center !important;
    }
    .football-schedule-row__middle { max-width: none !important; }
}

.sports-desk-page.stack-grid { gap: 1.35rem; }
.sports-desk-intro,
.sports-desk-data-strip {
    align-items: center;
    background: linear-gradient(135deg, rgba(14, 125, 121, .12), rgba(255,255,255,.92));
    border: 1px solid rgba(14, 125, 121, .16);
    border-radius: 28px;
    box-shadow: 0 22px 60px rgba(2, 12, 27, .08);
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: clamp(1rem, 2.5vw, 1.5rem);
}
.sports-desk-intro h1,
.sports-desk-data-strip h2 {
    color: var(--bg-contrast);
    font-family: var(--font-display);
    margin: .15rem 0 .35rem;
}
.sports-desk-intro p,
.sports-desk-data-strip p {
    color: var(--text-soft);
    margin: 0;
    max-width: 760px;
}
.sports-desk-home-hero {
    overflow: hidden;
}
.sports-desk-home-hero .hero-story__media img {
    object-fit: cover;
}
.sports-desk-data-strip .football-mini-table {
    min-width: min(390px, 42vw);
}
html[data-theme="dark"] .sports-desk-intro,
html[data-theme="dark"] .sports-desk-data-strip {
    background: linear-gradient(135deg, rgba(14,125,121,.16), rgba(7,19,33,.96));
    border-color: rgba(141,226,215,.18);
    box-shadow: 0 24px 68px rgba(0,0,0,.34);
}
html[data-theme="dark"] .sports-desk-intro h1,
html[data-theme="dark"] .sports-desk-data-strip h2 { color: #f8fafc; }
html[data-theme="dark"] .sports-desk-intro p,
html[data-theme="dark"] .sports-desk-data-strip p { color: #cbd5e1; }
html[data-theme="dark"] .sports-desk-data-strip .football-mini-table a {
    background: #0b1526;
    border-color: rgba(148,163,184,.18);
    color: #f8fafc;
}
@media (max-width: 820px) {
    .sports-desk-intro,
    .sports-desk-data-strip {
        grid-template-columns: 1fr;
        text-align: left;
    }
    .sports-desk-intro .football-hero__actions { justify-content: flex-start; }
    .sports-desk-data-strip .football-mini-table { min-width: 0; width: 100%; }
}
@media (max-width: 560px) {
    .sports-desk-intro,
    .sports-desk-data-strip { border-radius: 22px; padding: .95rem; }
    .sports-desk-intro .football-hero__actions,
    .sports-desk-intro .site-button { width: 100%; }
    .sports-desk-intro .site-button { justify-content: center; }
}

/* Kisure football polish v197: precise More IDs, sports-desk source locking and fixture meta wrapping */
.football-header-more-panel__quick span,
.football-header-more-panel__leagues strong {
    min-width: 0;
}
.football-header-more-panel__quick a,
.football-header-more-panel__leagues a {
    min-height: 64px;
}
.football-header-more-panel__quick small:empty,
.football-header-more-panel__leagues small:empty {
    display: none !important;
}
html[data-theme="dark"] .football-header-league__dropdown--more {
    color: #f8fafc;
}
html[data-theme="dark"] .football-header-more-panel__all {
    background: linear-gradient(135deg, rgba(20,184,166,.18), rgba(15,23,42,.98)) !important;
}
html[data-theme="dark"] .football-header-more-panel__all i {
    color: #7cf7ec !important;
}
.football-schedule-row__meta {
    background: rgba(14, 125, 121, .08) !important;
    border: 1px solid rgba(14, 125, 121, .12) !important;
    border-radius: 999px !important;
    justify-self: center !important;
    max-width: 100% !important;
    padding: .24rem .7rem !important;
    width: fit-content !important;
}
html[data-theme="dark"] .football-schedule-row__meta {
    background: rgba(20, 184, 166, .12) !important;
    border-color: rgba(125, 247, 236, .18) !important;
    color: #d7fffb !important;
}
.football-match-card__meta {
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
}
.football-match-card__meta span,
.football-match-card__venue {
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
}
.football-match-card__venue {
    color: var(--text-soft) !important;
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
    text-transform: none !important;
}
.sports-desk-intro .site-button,
.sports-desk-data-strip .football-mini-table a,
.sports-desk-layout .football-section,
.sports-desk-layout .football-side-panel {
    transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}
.sports-desk-data-strip .football-mini-table a strong,
.sports-desk-data-strip .football-mini-table a em {
    color: inherit;
}
html[data-theme="dark"] .sports-desk-page .site-button--ghost {
    background: rgba(15, 23, 42, .88) !important;
    border-color: rgba(125, 247, 236, .2) !important;
    color: #dffdfa !important;
}
html[data-theme="dark"] .sports-desk-layout .football-section,
html[data-theme="dark"] .sports-desk-layout .football-side-panel {
    background: #071321 !important;
    border-color: rgba(125, 247, 236, .14) !important;
    color: #f8fafc !important;
}
html[data-theme="dark"] .sports-desk-layout .section-heading h2,
html[data-theme="dark"] .sports-desk-layout h3,
html[data-theme="dark"] .sports-desk-layout .news-card__title {
    color: #f8fafc !important;
}
html[data-theme="dark"] .sports-desk-layout .story-meta,
html[data-theme="dark"] .sports-desk-layout .sidebar-muted,
html[data-theme="dark"] .sports-desk-layout .football-muted {
    color: #cbd5e1 !important;
}
@media (max-width: 640px) {
    .football-schedule-row__meta {
        border-radius: 14px !important;
        font-size: .66rem !important;
        line-height: 1.3 !important;
        padding: .25rem .5rem !important;
    }
    .football-match-card__meta {
        gap: .4rem !important;
    }
}

/* v199 standings selector + real competition season windows */
.football-standings-toolbar .football-competition-search--wide {
    width: 100%;
    max-width: none;
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 18px;
    border-radius: 24px;
}
.football-standings-toolbar .football-competition-search--wide select {
    width: 100%;
    min-width: 0;
    min-height: 54px;
    border-radius: 18px;
    padding-inline: 18px;
    font-size: 1rem;
}
.football-competition-search--auto noscript button {
    margin-top: 8px;
}
.football-standings-toolbar .football-competition-search--wide + .section-heading {
    width: 100%;
}
html[data-theme="dark"] .football-standings-toolbar .football-competition-search--wide {
    background: rgba(7, 18, 32, .86);
    border-color: rgba(125, 219, 216, .22);
    box-shadow: 0 18px 45px rgba(0,0,0,.24);
}
html[data-theme="dark"] .football-standings-toolbar .football-competition-search--wide select {
    background: #0b1424;
    color: #f8fafc;
    border-color: rgba(148,163,184,.32);
}

/* v200: sharpen football logos in dark mode on /football and football data cards */
html[data-theme="dark"] .football-page img[src*="media.api-sports.io/football"],
html[data-theme="dark"] .football-page img[src*="/storage/football/"],
html[data-theme="dark"] .football-header-leagues img[src*="media.api-sports.io/football"],
html[data-theme="dark"] .football-header-leagues img[src*="/storage/football/"] {
    filter: none !important;
    mix-blend-mode: normal !important;
    opacity: 1 !important;
}

html[data-theme="dark"] .football-page .football-competition-card__logo,
html[data-theme="dark"] .football-page .football-match-card__team img,
html[data-theme="dark"] .football-page .football-hero-scorecard__teams img,
html[data-theme="dark"] .football-page .football-fixture-tile__teams img,
html[data-theme="dark"] .football-page .football-schedule-row__team img,
html[data-theme="dark"] .football-page .football-table-team img,
html[data-theme="dark"] .football-page .football-mini-table img,
html[data-theme="dark"] .football-page .football-summary-team img,
html[data-theme="dark"] .football-page .football-player-team-link img,
html[data-theme="dark"] .football-page .article-match-scoreboard__crest img,
html[data-theme="dark"] .football-header-league__logo,
html[data-theme="dark"] .football-header-mobile-tab span,
html[data-theme="dark"] .football-header-match-row__team img,
html[data-theme="dark"] .football-header-toplist img,
html[data-theme="dark"] .football-header-tablemini img,
html[data-theme="dark"] .football-header-more-panel__leagues span {
    background: #ffffff !important;
    border: 1px solid rgba(226, 232, 240, .95) !important;
    box-shadow: 0 10px 24px rgba(0, 0, 0, .28) !important;
}

html[data-theme="dark"] .football-page .football-competition-card__logo img,
html[data-theme="dark"] .football-page .football-match-card__team img,
html[data-theme="dark"] .football-page .football-hero-scorecard__teams img,
html[data-theme="dark"] .football-page .football-fixture-tile__teams img,
html[data-theme="dark"] .football-page .football-schedule-row__team img,
html[data-theme="dark"] .football-page .football-table-team img,
html[data-theme="dark"] .football-page .football-mini-table img,
html[data-theme="dark"] .football-page .football-summary-team img,
html[data-theme="dark"] .football-page .football-player-team-link img,
html[data-theme="dark"] .football-page .article-match-scoreboard__crest img,
html[data-theme="dark"] .football-header-league__logo img,
html[data-theme="dark"] .football-header-mobile-tab img,
html[data-theme="dark"] .football-header-match-row__team img,
html[data-theme="dark"] .football-header-toplist img,
html[data-theme="dark"] .football-header-tablemini img,
html[data-theme="dark"] .football-header-more-panel__leagues img {
    background: #ffffff !important;
    border-color: rgba(226, 232, 240, .95) !important;
    filter: none !important;
    mix-blend-mode: normal !important;
    opacity: 1 !important;
}

html[data-theme="dark"] .football-page .football-competition-card__logo {
    min-height: 52px;
    min-width: 52px;
}

html[data-theme="dark"] .football-page .football-competition-card__logo img {
    max-height: 38px;
    max-width: 38px;
    object-fit: contain;
}

html[data-theme="dark"] .football-page .football-match-card,
html[data-theme="dark"] .football-page .football-competition-card,
html[data-theme="dark"] .football-page .football-quick-panel a,
html[data-theme="dark"] .football-page .football-stat-grid > div,
html[data-theme="dark"] .football-page .football-hero-scorecard,
html[data-theme="dark"] .football-page .football-section,
html[data-theme="dark"] .football-page .football-empty {
    border-color: rgba(125, 219, 216, .22) !important;
}

html[data-theme="dark"] .football-page .football-competition-card:hover .football-competition-card__logo,
html[data-theme="dark"] .football-page .football-match-card:hover .football-match-card__team img,
html[data-theme="dark"] .football-header-league__tab:hover .football-header-league__logo,
html[data-theme="dark"] .football-header-league:focus-within .football-header-league__logo,
html[data-theme="dark"] .football-header-league.is-open .football-header-league__logo {
    box-shadow: 0 0 0 3px rgba(79, 209, 197, .18), 0 14px 28px rgba(0, 0, 0, .34) !important;
}

html[data-theme="dark"] .football-page .football-competition-card__logo i,
html[data-theme="dark"] .football-header-league__logo i,
html[data-theme="dark"] .football-header-mobile-tab i,
html[data-theme="dark"] .football-header-more-panel__leagues i {
    color: #0f766e !important;
}

/* v201: safe knockout rendering and live-clock polish */
.football-section--notice {
    margin-top: 24px;
}
.football-bracket-safe-notice {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 22px;
    border-radius: 22px;
    background: linear-gradient(135deg, rgba(14, 125, 121, .08), rgba(255,255,255,.96));
    border: 1px solid rgba(14, 125, 121, .16);
    box-shadow: 0 18px 45px rgba(15, 23, 42, .08);
}
.football-bracket-safe-notice h2 {
    margin: 4px 0 8px;
    color: #0b1632;
    font-size: clamp(1.1rem, 2vw, 1.55rem);
}
.football-bracket-safe-notice p {
    margin: 0;
    color: #536179;
    line-height: 1.55;
    max-width: 72ch;
}
html[data-theme="dark"] .football-bracket-safe-notice {
    background: linear-gradient(135deg, rgba(20, 184, 166, .14), rgba(15, 23, 42, .96));
    border-color: rgba(148, 163, 184, .24);
    box-shadow: 0 20px 50px rgba(0, 0, 0, .36);
}
html[data-theme="dark"] .football-bracket-safe-notice h2 {
    color: #f8fafc;
}
html[data-theme="dark"] .football-bracket-safe-notice p {
    color: #cbd5e1;
}
[data-live-clock] {
    transition: color .18s ease, opacity .18s ease;
}
.is-live [data-live-clock],
[data-live-clock][data-live-status] {
    font-variant-numeric: tabular-nums;
}
@media (max-width: 720px) {
    .football-bracket-safe-notice {
        align-items: stretch;
        flex-direction: column;
        padding: 16px;
        border-radius: 18px;
    }
    .football-bracket-safe-notice .site-button {
        width: 100%;
        justify-content: center;
    }
}


/* v206: smart live-clock ticker states with exact league filtering and visible blinking apostrophe */
[data-live-clock].is-live-clock-running,
[data-live-clock][data-live-clock-state="running"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .38rem;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
[data-live-clock].is-live-clock-running::before,
[data-live-clock][data-live-clock-state="running"]::before {
    content: "";
    width: .52rem;
    height: .52rem;
    flex: 0 0 .52rem;
    border-radius: 999px;
    background: #ef4444;
    box-shadow: 0 0 0 0 rgba(239, 68, 68, .55);
    animation: kisure-live-clock-pulse 1s ease-out infinite;
}
[data-live-clock].is-live-clock-running::after,
[data-live-clock][data-live-clock-state="running"]::after {
    content: "'";
    display: inline-block;
    min-width: .32em;
    margin-left: -.16rem;
    font-size: 1.18em;
    line-height: 1;
    font-weight: 1000;
    color: #ef4444;
    opacity: 1;
    transform: translateY(-.06em);
    animation: kisure-live-apostrophe-blink .72s steps(1, end) infinite;
}
[data-live-clock][data-live-added-time] {
    color: #b45309;
    font-weight: 1000;
}
[data-live-clock][data-live-added-time]::before {
    background: #f59e0b !important;
    box-shadow: 0 0 0 0 rgba(245, 158, 11, .55) !important;
}
[data-live-clock][data-live-added-time]::after {
    color: #f59e0b !important;
}
[data-live-clock].is-live-clock-paused,
[data-live-clock][data-live-clock-state="paused"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
[data-live-clock].is-live-clock-paused::before,
[data-live-clock][data-live-clock-state="paused"]::before {
    content: "Ⅱ";
    width: 1rem;
    height: 1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: rgba(245, 158, 11, .14);
    color: #d97706;
    font-size: .62em;
    font-weight: 1000;
}
[data-live-clock].is-live-clock-final,
[data-live-clock][data-live-clock-state="final"] {
    font-variant-numeric: tabular-nums;
}
@keyframes kisure-live-clock-pulse {
    0% { box-shadow: 0 0 0 0 rgba(239, 68, 68, .58); transform: scale(1); }
    70% { box-shadow: 0 0 0 .52rem rgba(239, 68, 68, 0); transform: scale(.94); }
    100% { box-shadow: 0 0 0 0 rgba(239, 68, 68, 0); transform: scale(1); }
}
@keyframes kisure-live-clock-blink {
    0%, 100% { opacity: .9; }
    50% { opacity: .42; }
}
@keyframes kisure-live-apostrophe-blink {
    0%, 49% { opacity: 1; transform: translateY(-.02em); }
    50%, 100% { opacity: 0; transform: translateY(-.02em); }
}
.football-match-card__time.is-live-clock-running,
.football-schedule-row__middle [data-live-clock].is-live-clock-running,
.football-header-match-row__status.is-live-clock-running {
    color: #dc2626;
}
html[data-theme="dark"] [data-live-clock].is-live-clock-running::before,
html[data-theme="dark"] [data-live-clock][data-live-clock-state="running"]::before {
    background: #fb7185;
    box-shadow: 0 0 0 0 rgba(251, 113, 133, .55);
}
html[data-theme="dark"] [data-live-clock].is-live-clock-running::after,
html[data-theme="dark"] [data-live-clock][data-live-clock-state="running"]::after {
    color: #fda4af;
}
html[data-theme="dark"] [data-live-clock][data-live-added-time] {
    color: #fbbf24;
}
html[data-theme="dark"] [data-live-clock][data-live-added-time]::after {
    color: #fbbf24 !important;
}
@media (max-width: 640px) {
    [data-live-clock].is-live-clock-running::after,
    [data-live-clock][data-live-clock-state="running"]::after {
        font-size: .52em;
        letter-spacing: .06em;
    }
    [data-live-clock].is-live-clock-running,
    [data-live-clock][data-live-clock-state="running"] {
        gap: .28rem;
    }
}

/* v206: keep live matches above finished results in header panels */
.football-header-panel__matches .football-header-panel__group--live + .football-header-panel__group--results {
    margin-top: .65rem;
}
.football-header-panel__group--results .football-header-panel__group-title span::before {
    content: "";
    width: .45rem;
    height: .45rem;
    border-radius: 999px;
    background: currentColor;
    opacity: .45;
    display: inline-block;
    margin-right: .45rem;
    vertical-align: middle;
}
.football-header-mobile-section-title {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    gap: .5rem;
    margin: .2rem 0 -.25rem;
    font-size: .72rem;
    line-height: 1;
    letter-spacing: .12em;
    text-transform: uppercase;
    font-weight: 950;
    color: #0f766e;
}
.football-header-mobile-section-title::before {
    content: "";
    width: 1.35rem;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    opacity: .75;
}
.football-header-mobile-section-title--live {
    color: #059669;
}
.football-header-mobile-section-title--results {
    color: #64748b;
    margin-top: .65rem;
}
html[data-theme="dark"] .football-header-mobile-section-title--results {
    color: #94a3b8;
}

/* v207: compact professional knockout tree with stage-list and accordion fallback */
.football-bracket-panel--compact{background:linear-gradient(135deg,#ffffff 0%,#f8fbfb 100%);border:1px solid rgba(15,23,42,.08);box-shadow:0 18px 44px rgba(15,23,42,.06);overflow:hidden}.football-knockout-heading{align-items:flex-start}.football-knockout-heading .football-muted{margin:.35rem 0 0;color:#64748b;max-width:760px}.football-knockout-heading__actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.football-knockout-mode-pill{display:inline-flex;align-items:center;gap:8px;border-radius:999px;background:rgba(14,165,154,.11);border:1px solid rgba(14,125,121,.18);color:#08736f;padding:9px 13px;font-weight:900;font-size:.82rem;text-transform:uppercase;letter-spacing:.06em}.football-knockout-flow{display:flex;align-items:center;gap:8px;overflow-x:auto;padding:10px 2px 16px;margin-bottom:6px;scrollbar-width:thin}.football-knockout-flow span{white-space:nowrap;border-radius:999px;background:#eefafa;border:1px solid rgba(14,125,121,.14);color:#0b1632;padding:8px 12px;font-weight:900;font-size:.82rem}.football-knockout-flow i{color:#0e7d79;font-size:.75rem;opacity:.8}.football-bracket-explainer--compact{margin:0 0 16px;border-radius:16px;border:1px solid rgba(15,23,42,.08);background:#fff}.football-bracket-explainer--compact summary{font-size:.92rem}.football-knockout-stage-track{display:grid;gap:14px}.football-knockout-stage-track--tree,.football-knockout-stage-track--scroll{grid-template-columns:repeat(var(--round-count),minmax(230px,1fr));overflow-x:auto;align-items:start;padding-bottom:8px}.football-knockout-stage-track--scroll{grid-template-columns:repeat(var(--round-count),minmax(235px,300px));scroll-snap-type:x proximity}.football-knockout-stage-track--stage-list,.football-knockout-stage-track--accordion{grid-template-columns:1fr}.football-knockout-stage{border:1px solid rgba(15,23,42,.08);border-radius:18px;background:#fff;overflow:hidden;min-width:0}.football-knockout-stage--tree,.football-knockout-stage--scroll{min-width:230px;scroll-snap-align:start}.football-knockout-stage summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid rgba(15,23,42,.06);background:linear-gradient(90deg,rgba(14,125,121,.09),rgba(255,255,255,.9));font-weight:900;color:#0b1632}.football-knockout-stage summary::-webkit-details-marker{display:none}.football-knockout-stage summary span{text-transform:uppercase;letter-spacing:.07em;font-size:.82rem;color:#08736f}.football-knockout-stage summary b{font-size:.75rem;color:#64748b;background:#f1f5f9;border-radius:999px;padding:5px 9px;white-space:nowrap}.football-knockout-stage__matches{display:grid;gap:7px;padding:10px}.football-knockout-stage--stage-list .football-knockout-stage__matches{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.football-knockout-stage--accordion .football-knockout-stage__matches{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));max-height:460px;overflow:auto}.football-knockout-mini-match{position:relative;display:grid;gap:4px;text-decoration:none;color:#0b1632;background:#fbfdfe;border:1px solid rgba(15,23,42,.07);border-radius:14px;padding:8px;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.football-knockout-mini-match:hover{transform:translateY(-1px);border-color:rgba(14,125,121,.28);box-shadow:0 10px 24px rgba(15,23,42,.08)}.football-knockout-mini-match__meta{display:flex;align-items:center;justify-content:space-between;gap:6px;color:#64748b;font-size:.7rem;line-height:1.2}.football-knockout-mini-match__meta b{display:inline-flex;align-items:center;border-radius:999px;background:rgba(14,125,121,.1);color:#08736f;padding:3px 7px;font-size:.68rem;white-space:nowrap}.football-knockout-mini-match__meta em{font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.football-knockout-mini-team{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:7px;min-height:28px}.football-knockout-mini-team img,.football-knockout-mini-team>span{width:24px;height:24px;border-radius:50%;object-fit:contain;background:#fff;border:1px solid rgba(15,23,42,.08);display:inline-flex;align-items:center;justify-content:center;color:#94a3b8}.football-knockout-mini-team em{font-style:normal;font-weight:850;font-size:.86rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.football-knockout-mini-team strong{font-size:.9rem;font-weight:950;min-width:18px;text-align:right;color:#0b1632}.football-knockout-mini-team.is-winner em,.football-knockout-mini-team.is-winner strong{color:#08736f}.football-knockout-mini-match.is-slot{background:repeating-linear-gradient(-45deg,#fbfdfe,#fbfdfe 8px,#f8fafc 8px,#f8fafc 16px)}.football-knockout-stage-track--tree .football-knockout-stage:not(:last-child) .football-knockout-mini-match::after,.football-knockout-stage-track--scroll .football-knockout-stage:not(:last-child) .football-knockout-mini-match::after{content:"";position:absolute;right:-12px;top:50%;width:12px;border-top:1px solid rgba(14,125,121,.24)}
html[data-theme="dark"] .football-bracket-panel--compact{background:linear-gradient(135deg,#071426 0%,#0b1b31 100%);border-color:rgba(148,163,184,.16);box-shadow:0 20px 54px rgba(0,0,0,.22)}html[data-theme="dark"] .football-knockout-heading .football-muted{color:#9fb1c9}html[data-theme="dark"] .football-knockout-mode-pill{background:rgba(45,212,191,.12);border-color:rgba(45,212,191,.22);color:#7cf1e7}html[data-theme="dark"] .football-knockout-flow span{background:rgba(45,212,191,.08);border-color:rgba(45,212,191,.18);color:#eaf6ff}html[data-theme="dark"] .football-knockout-flow i{color:#7cf1e7}html[data-theme="dark"] .football-bracket-explainer--compact,html[data-theme="dark"] .football-knockout-stage{background:#0d1b2f;border-color:rgba(148,163,184,.16)}html[data-theme="dark"] .football-knockout-stage summary{background:linear-gradient(90deg,rgba(45,212,191,.12),rgba(13,27,47,.9));border-color:rgba(148,163,184,.12);color:#f8fafc}html[data-theme="dark"] .football-knockout-stage summary span{color:#7cf1e7}html[data-theme="dark"] .football-knockout-stage summary b{background:rgba(148,163,184,.12);color:#cbd5e1}html[data-theme="dark"] .football-knockout-mini-match{background:#0a1628;border-color:rgba(148,163,184,.15);color:#f8fafc}html[data-theme="dark"] .football-knockout-mini-match:hover{border-color:rgba(45,212,191,.32);box-shadow:0 10px 24px rgba(0,0,0,.28)}html[data-theme="dark"] .football-knockout-mini-match__meta{color:#9fb1c9}html[data-theme="dark"] .football-knockout-mini-match__meta b{background:rgba(45,212,191,.12);color:#7cf1e7}html[data-theme="dark"] .football-knockout-mini-team img,html[data-theme="dark"] .football-knockout-mini-team>span{background:#f8fafc;border-color:rgba(148,163,184,.22);color:#64748b}html[data-theme="dark"] .football-knockout-mini-team strong{color:#f8fafc}html[data-theme="dark"] .football-knockout-mini-team.is-winner em,html[data-theme="dark"] .football-knockout-mini-team.is-winner strong{color:#7cf1e7}html[data-theme="dark"] .football-knockout-mini-match.is-slot{background:repeating-linear-gradient(-45deg,#0a1628,#0a1628 8px,#0e1d32 8px,#0e1d32 16px)}
@media(max-width:991px){.football-knockout-heading{display:grid;gap:10px}.football-knockout-heading__actions{width:100%;justify-content:space-between}.football-knockout-stage-track--tree,.football-knockout-stage-track--scroll{grid-template-columns:repeat(var(--round-count),minmax(78vw,1fr))}.football-knockout-flow{padding-bottom:12px}.football-knockout-stage--tree,.football-knockout-stage--scroll{min-width:78vw}.football-knockout-stage-track--tree .football-knockout-stage:not(:last-child) .football-knockout-mini-match::after,.football-knockout-stage-track--scroll .football-knockout-stage:not(:last-child) .football-knockout-mini-match::after{display:none}}@media(max-width:640px){.football-bracket-panel--compact{border-radius:22px;padding:14px}.football-knockout-flow span{font-size:.74rem;padding:7px 10px}.football-knockout-stage-track{display:grid!important;grid-template-columns:1fr!important;overflow:visible!important}.football-knockout-stage--tree,.football-knockout-stage--scroll{min-width:0}.football-knockout-stage__matches,.football-knockout-stage--stage-list .football-knockout-stage__matches,.football-knockout-stage--accordion .football-knockout-stage__matches{grid-template-columns:1fr;max-height:none}.football-knockout-mini-match{padding:8px;border-radius:12px}.football-knockout-mini-team em{font-size:.82rem}.football-knockout-heading__actions{justify-content:flex-start}}

/* v208: knockout tree shows only true bracket rounds; group/preliminary/matchday rounds stay in fixtures */

/* v209: FotMob-style professional knockout bracket tree */
.football-bracket-panel--visual{
    position:relative;
    padding:28px;
    border-radius:30px;
    overflow:hidden;
    background:
        radial-gradient(circle at 50% 12%, rgba(14,125,121,.08), transparent 34%),
        linear-gradient(135deg,#fff 0%,#f9fbfb 100%);
    border:1px solid rgba(15,23,42,.08);
    box-shadow:0 20px 54px rgba(15,23,42,.08);
}
.football-bracket-panel--visual .football-muted{max-width:820px;color:#64748b;line-height:1.55}.football-visual-bracket{position:relative}.football-visual-bracket--desktop{display:grid;grid-template-columns:minmax(0,1fr) minmax(148px,190px) minmax(0,1fr);gap:26px;align-items:center;margin-top:22px;min-height:clamp(360px,calc(var(--bracket-max-items,4) * 78px),880px)}.football-visual-bracket__side{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(94px,1fr);gap:34px;align-items:stretch;min-height:inherit}.football-visual-bracket__side--left{justify-content:end}.football-visual-bracket__side--right{justify-content:start}.football-visual-round{position:relative;display:grid;grid-template-rows:auto 1fr;gap:12px;min-width:94px}.football-visual-round__label{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:4px 7px;border-radius:999px;background:rgba(14,125,121,.08);border:1px solid rgba(14,125,121,.12);color:#08736f;font-size:.62rem;font-weight:950;letter-spacing:.06em;text-transform:uppercase;text-align:center;white-space:normal}.football-visual-round__matches{position:relative;display:flex;flex-direction:column;justify-content:space-around;gap:16px;min-height:calc(var(--bracket-max-items,4) * 66px)}.football-visual-round:not(:last-child)::after{content:"";position:absolute;top:52%;bottom:10%;width:2px;background:linear-gradient(#e5e7eb,#00a86b,#e5e7eb);opacity:.72}.football-visual-bracket__side--left .football-visual-round:not(:last-child)::after{right:-18px}.football-visual-bracket__side--right .football-visual-round:not(:last-child)::after{left:-18px}.football-visual-match{position:relative;width:90px;min-height:78px;margin-inline:auto;display:grid;grid-template-rows:auto auto;align-content:center;gap:4px;padding:8px 7px;border-radius:10px;background:#fff;border:1px solid rgba(15,23,42,.1);box-shadow:0 8px 20px rgba(15,23,42,.07);text-decoration:none;color:#0b1632;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.football-visual-match:hover{transform:translateY(-2px);border-color:rgba(14,125,121,.3);box-shadow:0 14px 30px rgba(15,23,42,.12)}.football-visual-bracket__side--left .football-visual-match::after,.football-visual-bracket__side--right .football-visual-match::before{content:"";position:absolute;top:50%;width:34px;border-top:2px solid rgba(148,163,184,.26)}.football-visual-bracket__side--left .football-visual-match::after{right:-34px}.football-visual-bracket__side--right .football-visual-match::before{left:-34px}.football-visual-round:last-child .football-visual-match::after,.football-visual-round:last-child .football-visual-match::before{border-color:rgba(0,168,107,.75)}.football-visual-match__teams{display:grid;grid-template-columns:1fr 1fr;gap:3px;align-items:start}.football-visual-match__team{display:grid;justify-items:center;gap:2px;min-width:0}.football-visual-match__team img,.football-visual-match__fallback{width:20px;height:20px;border-radius:50%;object-fit:contain;background:#fff;border:1px solid rgba(15,23,42,.08);display:flex;align-items:center;justify-content:center;font-size:.48rem;font-weight:950;color:#64748b}.football-visual-match__team b{max-width:38px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.66rem;line-height:1;font-weight:1000;color:#0b1632}.football-visual-match__team.is-winner b{color:#00856f}.football-visual-match__score{display:flex;align-items:center;justify-content:center;gap:6px;font-size:.88rem;line-height:1;font-weight:950}.football-visual-match__score strong{min-width:12px;text-align:center}.football-visual-match__score em{font-style:normal;color:#64748b}.football-visual-match__badge{justify-self:center;max-width:76px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:5px;padding:2px 5px;background:#e0f2fe;color:#0369a1;font-size:.54rem;line-height:1;font-weight:950;text-transform:uppercase}.football-visual-match.is-final-badge .football-visual-match__badge{background:#fde68a;color:#92400e}.football-visual-match.is-bronze-badge .football-visual-match__badge{background:#bae6fd;color:#075985}.football-visual-bracket__center{display:grid;justify-items:center;align-content:center;gap:18px;min-height:inherit;position:relative}.football-visual-bracket__center::before{content:"";position:absolute;top:22%;bottom:24%;left:50%;border-left:2px solid rgba(148,163,184,.24);transform:translateX(-50%)}.football-visual-champion{position:relative;z-index:1;display:grid;justify-items:center;text-align:center;gap:6px;color:#64748b}.football-visual-champion__trophy{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#b6b6b6;font-size:2.35rem;background:linear-gradient(#fff,#f4f4f5);border:1px solid rgba(15,23,42,.08)}.football-visual-champion img,.football-visual-champion>span:not(.football-visual-champion__trophy){width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;object-fit:contain;background:#ecfeff;border:1px solid rgba(14,125,121,.16);color:#08736f;font-weight:950}.football-visual-champion strong{font-size:1rem;color:#64748b;font-weight:850}.football-visual-champion em{font-style:normal;text-transform:uppercase;letter-spacing:.13em;font-size:.72rem;font-weight:950;color:#94a3b8}.football-visual-center-match{position:relative;z-index:2}.football-visual-center-match--final .football-visual-match{border-color:rgba(245,158,11,.35);box-shadow:0 12px 26px rgba(245,158,11,.14)}.football-visual-center-match--bronze .football-visual-match{border-color:rgba(14,165,233,.28)}.football-visual-match--center{width:92px}.football-visual-match--center::before,.football-visual-match--center::after{display:none!important}.football-visual-bracket--mobile{display:none}.football-mobile-bracket-round{position:relative;display:grid;gap:12px;padding-bottom:24px}.football-mobile-bracket-round:not(:last-child)::after,.football-mobile-bracket-final-ladder::before{content:"";position:absolute;left:50%;bottom:0;height:24px;border-left:2px solid rgba(148,163,184,.26);transform:translateX(-50%)}.football-mobile-bracket-round h3{margin:0;text-align:center;text-transform:uppercase;letter-spacing:.1em;font-size:.78rem;color:#08736f}.football-mobile-bracket-round__matches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;justify-items:center}.football-mobile-bracket-final-ladder{position:relative;display:grid;justify-items:center;gap:16px;padding-top:8px}.football-visual-match--mobile{width:96px;min-height:84px}.football-visual-champion--mobile{margin-top:4px}.football-visual-champion--mobile .football-visual-champion__trophy{width:64px;height:64px;font-size:2.8rem}html[data-theme="dark"] .football-bracket-panel--visual{background:radial-gradient(circle at 50% 12%,rgba(45,212,191,.08),transparent 34%),linear-gradient(135deg,#071426,#0b1b31);border-color:rgba(148,163,184,.16);box-shadow:0 20px 54px rgba(0,0,0,.24)}html[data-theme="dark"] .football-bracket-panel--visual .football-muted{color:#9fb1c9}html[data-theme="dark"] .football-visual-round__label{background:rgba(45,212,191,.1);border-color:rgba(45,212,191,.2);color:#7cf1e7}html[data-theme="dark"] .football-visual-match{background:#0a1628;border-color:rgba(148,163,184,.16);color:#f8fafc;box-shadow:0 8px 20px rgba(0,0,0,.22)}html[data-theme="dark"] .football-visual-match:hover{border-color:rgba(45,212,191,.35);box-shadow:0 14px 30px rgba(0,0,0,.32)}html[data-theme="dark"] .football-visual-match__team b,html[data-theme="dark"] .football-visual-match__score{color:#f8fafc}html[data-theme="dark"] .football-visual-match__team.is-winner b{color:#7cf1e7}html[data-theme="dark"] .football-visual-match__team img,html[data-theme="dark"] .football-visual-match__fallback{background:#fff;border-color:rgba(148,163,184,.2)}html[data-theme="dark"] .football-visual-match__score em{color:#94a3b8}html[data-theme="dark"] .football-visual-champion__trophy{background:linear-gradient(#0e1d32,#0a1628);border-color:rgba(148,163,184,.18);color:#94a3b8}html[data-theme="dark"] .football-visual-champion strong{color:#e2e8f0}html[data-theme="dark"] .football-mobile-bracket-round h3{color:#7cf1e7}@media(max-width:1020px){.football-visual-bracket--desktop{grid-template-columns:1fr;display:none}.football-visual-bracket--mobile{display:grid;gap:18px;margin-top:18px}.football-bracket-panel--visual{padding:20px;border-radius:24px}.football-mobile-bracket-round__matches{grid-template-columns:repeat(auto-fit,minmax(92px,1fr));max-width:520px;margin-inline:auto;width:100%}}@media(max-width:560px){.football-bracket-panel--visual{padding:14px;border-radius:20px}.football-mobile-bracket-round__matches{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.football-visual-match--mobile{width:88px;min-height:80px}.football-visual-match__team img,.football-visual-match__fallback{width:19px;height:19px}.football-visual-match__team b{font-size:.62rem}.football-visual-match__score{font-size:.82rem}.football-visual-match__badge{font-size:.5rem;max-width:72px}.football-visual-champion strong{font-size:.92rem}}

/* v210 professional true-bracket repair: exact competition rendering + FotMob-style tree */
.football-bracket-panel--visual{
    overflow-x:auto;
    background:radial-gradient(circle at 50% 12%, rgba(14,125,121,.08), transparent 34%), linear-gradient(135deg,#ffffff,#f8fbfc);
}
.football-visual-bracket--desktop{
    min-width:1180px;
    grid-template-columns:minmax(420px,1fr) 230px minmax(420px,1fr);
    gap:40px;
    padding:8px 4px 18px;
    align-items:center;
}
.football-visual-bracket__side{
    grid-auto-columns:minmax(96px,118px);
    gap:56px;
}
.football-visual-round__label{
    min-height:18px;
    padding:3px 6px;
    font-size:.56rem;
    opacity:.86;
}
.football-visual-round__matches{
    min-height:calc(var(--bracket-max-items,4) * 84px);
    gap:22px;
}
.football-visual-match{
    width:92px;
    min-height:88px;
    border-radius:12px;
    padding:8px 7px;
    box-shadow:0 10px 28px rgba(15,23,42,.08);
}
.football-visual-match__team img,
.football-visual-match__fallback{
    width:24px;
    height:24px;
}
.football-visual-match__team b{
    max-width:42px;
    font-size:.68rem;
}
.football-visual-match__score{
    font-size:.9rem;
    letter-spacing:.02em;
}
.football-visual-match__badge{
    max-width:78px;
    font-size:.52rem;
}
.football-visual-bracket__side--left .football-visual-match::after,
.football-visual-bracket__side--right .football-visual-match::before{
    width:56px;
    border-color:rgba(148,163,184,.34);
}
.football-visual-bracket__side--left .football-visual-match::after{right:-56px;}
.football-visual-bracket__side--right .football-visual-match::before{left:-56px;}
.football-visual-round:not(:last-child)::after{
    width:2px;
    opacity:.8;
    background:linear-gradient(#e5e7eb,#e5e7eb 42%,#00a86b 42%,#00a86b 58%,#e5e7eb 58%);
}
.football-visual-bracket__side--left .football-visual-round:not(:last-child)::after{right:-29px;}
.football-visual-bracket__side--right .football-visual-round:not(:last-child)::after{left:-29px;}
.football-visual-bracket__center{
    gap:20px;
}
.football-visual-champion__trophy{
    width:66px;
    height:66px;
    font-size:3rem;
}
.football-visual-champion img,
.football-visual-champion>span:not(.football-visual-champion__trophy){
    width:38px;
    height:38px;
    margin-top:-22px;
}
.football-visual-champion strong{
    font-size:1.05rem;
}
.football-visual-match--center{
    width:96px;
    min-height:90px;
}
@media(max-width:1020px){
    .football-bracket-panel--visual{overflow-x:hidden;}
    .football-visual-bracket--mobile{
        display:grid;
        gap:14px;
        justify-items:center;
        padding:10px 0 18px;
    }
    .football-mobile-bracket-round{
        width:100%;
        max-width:460px;
        padding:12px 10px 28px;
        border-radius:16px;
        background:rgba(255,255,255,.62);
        border:1px solid rgba(15,23,42,.06);
    }
    .football-mobile-bracket-round__matches{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:12px 18px;
        justify-items:center;
    }
    .football-mobile-bracket-final-ladder{
        width:100%;
        max-width:460px;
        padding:16px 10px;
        border-radius:16px;
        background:rgba(255,255,255,.65);
        border:1px solid rgba(15,23,42,.06);
    }
    .football-visual-match--mobile{
        width:104px;
        min-height:92px;
    }
}
@media(max-width:560px){
    .football-mobile-bracket-round,
    .football-mobile-bracket-final-ladder{max-width:100%;}
    .football-mobile-bracket-round__matches{gap:10px 12px;}
    .football-visual-match--mobile{width:96px;min-height:86px;}
    .football-visual-match__team b{font-size:.64rem;}
}
html[data-theme="dark"] .football-mobile-bracket-round,
html[data-theme="dark"] .football-mobile-bracket-final-ladder{
    background:rgba(10,22,40,.72);
    border-color:rgba(148,163,184,.14);
}

/* v212: exact data-engine seasons dropdown and bracket source fix */
.football-season-switcher--dropdown{display:inline-flex;align-items:center;gap:10px;border-radius:999px;background:rgba(255,255,255,.82);border:1px solid rgba(14,125,121,.16);box-shadow:0 12px 28px rgba(15,23,42,.08);padding:8px 10px 8px 14px;margin-left:auto}
.football-season-switcher--dropdown label{font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#08736f;white-space:nowrap}
.football-season-switcher--dropdown select{appearance:auto;border:0;background:#0ea5a0;color:#fff;border-radius:999px;padding:10px 14px;font-weight:900;min-width:155px;outline:0;box-shadow:none}
.football-season-switcher--dropdown select option{color:#0b1632;background:#fff;font-weight:700}
html[data-theme="dark"] .football-season-switcher--dropdown{background:rgba(9,22,38,.84);border-color:rgba(45,212,191,.2);box-shadow:0 16px 34px rgba(0,0,0,.28)}
html[data-theme="dark"] .football-season-switcher--dropdown label{color:#7cf1e7}
html[data-theme="dark"] .football-season-switcher--dropdown select{background:#0f766e;color:#ecfeff}
@media(max-width:760px){.football-season-switcher--dropdown{width:100%;justify-content:space-between;border-radius:18px;margin-left:0}.football-season-switcher--dropdown select{min-width:0;flex:1}}

/* v216 knockout fix: semi/quarter stages are no longer classified as Final; canonical bracket rounds supported. */

/* v217: desktop bracket fit, two-leg finals, penalties, solid header panel */
.football-header-panel{
    background:#fff !important;
}
html[data-theme="dark"] .football-header-panel{
    background:#071321 !important;
}
.football-header-match-row b{
    display:grid;
    justify-items:center;
    align-content:center;
    gap:2px;
}
.football-header-match-row b small{
    display:block;
    font-size:.54rem;
    line-height:1;
    letter-spacing:.06em;
    color:#0f766e;
}
html[data-theme="dark"] .football-header-match-row b small{
    color:#7cf1e7;
}
.football-bracket-panel--visual{
    overflow:hidden !important;
}
.football-visual-bracket--desktop{
    min-width:0 !important;
    width:100% !important;
    grid-template-columns:minmax(0,1fr) clamp(136px,12vw,190px) minmax(0,1fr) !important;
    gap:clamp(14px,1.8vw,28px) !important;
    min-height:clamp(330px, calc(var(--bracket-max-items,4) * 76px), 650px) !important;
    padding:8px 0 14px !important;
    overflow:visible !important;
}
.football-visual-bracket__side{
    grid-auto-columns:minmax(74px, min(8vw,102px)) !important;
    gap:clamp(20px,2.7vw,42px) !important;
    min-width:0 !important;
}
.football-visual-round{
    min-width:0 !important;
}
.football-visual-round__matches{
    min-height:clamp(260px, calc(var(--bracket-max-items,4) * 72px), 610px) !important;
    gap:clamp(12px,1.6vw,20px) !important;
}
.football-visual-match{
    width:clamp(74px,5.3vw,92px) !important;
    min-height:clamp(82px,6.2vw,100px) !important;
    padding:7px 5px !important;
    border:1px solid rgba(15,23,42,.1);
    appearance:none;
    font:inherit;
    cursor:pointer;
}
.football-visual-match__team img,
.football-visual-match__fallback{
    width:clamp(18px,1.55vw,24px) !important;
    height:clamp(18px,1.55vw,24px) !important;
}
.football-visual-match__team b{
    max-width:44px !important;
    font-size:clamp(.58rem,.72vw,.68rem) !important;
}
.football-visual-match__score{
    font-size:clamp(.78rem,.84vw,.9rem) !important;
}
.football-visual-match__penalties,
.football-visual-match__tie-note{
    justify-self:center;
    max-width:86px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    border-radius:999px;
    padding:2px 6px;
    font-size:.48rem;
    line-height:1;
    font-weight:950;
    letter-spacing:.06em;
    text-transform:uppercase;
}
.football-visual-match__penalties{
    background:#ecfdf5;
    color:#047857;
}
.football-visual-match__tie-note{
    background:#f1f5f9;
    color:#64748b;
}
.football-visual-bracket__side--left .football-visual-match::after,
.football-visual-bracket__side--right .football-visual-match::before{
    width:clamp(20px,2.7vw,42px) !important;
    border-top-width:2px;
    border-color:rgba(148,163,184,.34);
}
.football-visual-bracket__side--left .football-visual-match::after{
    right:calc(-1 * clamp(20px,2.7vw,42px)) !important;
}
.football-visual-bracket__side--right .football-visual-match::before{
    left:calc(-1 * clamp(20px,2.7vw,42px)) !important;
}
.football-visual-match.has-winner::after,
.football-visual-match.has-winner::before{
    border-top-width:3px !important;
    border-color:rgba(0,168,107,.9) !important;
}
.football-visual-round:not(:last-child)::after{
    top:22% !important;
    bottom:16% !important;
    width:2px !important;
    background:linear-gradient(#e5e7eb,#e5e7eb 38%,#00a86b 38%,#00a86b 62%,#e5e7eb 62%) !important;
}
.football-visual-bracket__side--left .football-visual-round:not(:last-child)::after{
    right:calc(-1 * clamp(10px,1.35vw,21px)) !important;
}
.football-visual-bracket__side--right .football-visual-round:not(:last-child)::after{
    left:calc(-1 * clamp(10px,1.35vw,21px)) !important;
}
.football-visual-match--center{
    width:clamp(82px,6vw,96px) !important;
}
.football-visual-champion{
    border:0;
    background:transparent;
    padding:0;
    font:inherit;
}
.football-visual-champion.is-celebratable{
    cursor:pointer;
}
.football-visual-champion__burst{
    position:absolute;
    inset:50%;
    width:1px;
    height:1px;
    pointer-events:none;
    z-index:4;
}
.football-visual-champion>.football-visual-champion__burst{
    width:1px !important;
    height:1px !important;
    margin:0 !important;
    border:0 !important;
    background:transparent !important;
}
.football-visual-champion__spark{
    position:absolute;
    left:0;
    top:0;
    width:13px;
    height:13px;
    border-radius:999px;
    background:var(--spark-color,#0e7d79);
    box-shadow:0 0 22px var(--spark-color,#0e7d79),0 0 44px var(--spark-color,#0e7d79);
    animation:kisureChampionSpark 1.65s cubic-bezier(.16,.9,.2,1) var(--spark-delay,0ms) forwards;
}
@keyframes kisureChampionSpark{
    0%{opacity:0;transform:translate(-50%,-50%) scale(.3);}
    18%{opacity:1;}
    78%{opacity:1;}
    100%{opacity:0;transform:translate(calc(-50% + var(--spark-x)),calc(-50% + var(--spark-y))) scale(.18);}
}
.football-two-leg-modal[hidden]{
    display:none !important;
}
.football-two-leg-modal{
    position:fixed;
    inset:0;
    z-index:1300;
    display:grid;
    place-items:center;
    padding:20px;
    background:rgba(15,23,42,.58);
}
.football-two-leg-modal__card{
    position:relative;
    width:min(540px,100%);
    overflow:hidden;
    border-radius:18px;
    background:#fff;
    box-shadow:0 28px 90px rgba(15,23,42,.28);
}
.football-two-leg-modal__card h3{
    margin:0;
    padding:18px 54px 16px;
    border-bottom:1px solid rgba(15,23,42,.08);
    text-align:center;
    color:#0b1632;
    font-size:1.28rem;
    font-weight:950;
}
.football-two-leg-modal__x{
    position:absolute;
    top:10px;
    right:10px;
    width:34px;
    height:34px;
    border:0;
    border-radius:999px;
    background:#f8fafc;
    color:#0b1632;
    cursor:pointer;
}
.football-two-leg-modal__body{
    display:grid;
}
.football-two-leg-modal__row{
    display:grid;
    grid-template-columns:minmax(82px,.8fr) minmax(0,1fr) 30px auto 30px minmax(0,1fr);
    align-items:center;
    gap:10px;
    padding:16px 22px;
    background:#fff;
}
.football-two-leg-modal__row:nth-child(even){
    background:#f8fafc;
}
.football-two-leg-modal__date{
    color:#64748b;
    font-weight:800;
    font-size:.78rem;
}
.football-two-leg-modal__row strong{
    color:#334155;
    font-size:.95rem;
    line-height:1.08;
}
.football-two-leg-modal__row img,
.football-two-leg-modal__crest{
    width:28px;
    height:28px;
    border-radius:50%;
    object-fit:contain;
    background:#fff;
    border:1px solid rgba(15,23,42,.08);
    display:grid;
    place-items:center;
    font-size:.62rem;
    font-weight:950;
    color:#0f766e;
}
.football-two-leg-modal__row b{
    color:#0f766e;
    min-width:42px;
    text-align:center;
    font-size:1rem;
}
.football-two-leg-modal__row small{
    grid-column:4;
    justify-self:center;
    margin-top:-6px;
    border-radius:999px;
    padding:3px 7px;
    background:#ecfdf5;
    color:#047857;
    font-size:.64rem;
    font-weight:950;
}
.football-two-leg-modal__aggregate[hidden]{
    display:none !important;
}
.football-two-leg-modal__aggregate{
    display:grid;
    justify-items:center;
    gap:9px;
    margin:14px 20px 18px;
    padding:14px 18px 15px;
    border:1px solid rgba(14,125,121,.18);
    border-radius:14px;
    background:linear-gradient(135deg,rgba(236,253,245,.96),rgba(240,253,250,.96));
    color:#0b1632;
    text-align:center;
}
.football-two-leg-modal__aggregate-label{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:25px;
    padding:4px 12px;
    border-radius:999px;
    background:#0e7d79;
    color:#fff;
    font-size:.7rem;
    font-weight:1000;
    letter-spacing:.04em;
    line-height:1;
}
.football-two-leg-modal__aggregate-scoreline{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
    align-items:center;
    gap:clamp(12px,3vw,22px);
    width:min(100%,440px);
}
.football-two-leg-modal__aggregate-scoreline strong{
    min-width:0;
    color:#334155;
    font-size:.9rem;
    font-weight:900;
    line-height:1.18;
    overflow-wrap:anywhere;
}
.football-two-leg-modal__aggregate-scoreline strong:first-child{
    text-align:right;
}
.football-two-leg-modal__aggregate-scoreline strong:last-child{
    text-align:left;
}
.football-two-leg-modal__aggregate-scoreline b{
    min-width:58px;
    color:#0f766e;
    font-size:1.08rem;
    font-weight:1000;
    white-space:nowrap;
    text-align:center;
}
.football-two-leg-modal__close{
    width:100%;
    border:0;
    border-top:1px solid rgba(15,23,42,.08);
    padding:16px;
    background:#fff;
    color:#00946f;
    font-size:1rem;
    font-weight:900;
    cursor:pointer;
}
.article-match-scoreboard__details--penalties{
    justify-content:center;
    margin-top:12px;
}
.article-match-scoreboard__penalty-pill,
.football-summary-penalties,
.football-match-card__penalties,
.football-schedule-row__penalties{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    border-radius:999px;
    background:rgba(45,212,191,.14);
    color:#0f766e;
    font-weight:950;
}
.article-match-scoreboard__penalty-pill{
    padding:8px 13px;
    letter-spacing:.03em;
}
.football-summary-penalties,
.football-match-card__penalties,
.football-schedule-row__penalties{
    padding:4px 8px;
    font-size:.72rem;
}
.football-schedule-row__penalties{
    margin-top:3px;
}
html[data-theme="dark"] .football-visual-match__penalties,
html[data-theme="dark"] .football-two-leg-modal__row small,
html[data-theme="dark"] .article-match-scoreboard__penalty-pill,
html[data-theme="dark"] .football-summary-penalties,
html[data-theme="dark"] .football-match-card__penalties,
html[data-theme="dark"] .football-schedule-row__penalties{
    background:rgba(45,212,191,.14);
    color:#7cf1e7;
}
html[data-theme="dark"] .football-visual-match__tie-note{
    background:rgba(148,163,184,.13);
    color:#cbd5e1;
}
html[data-theme="dark"] .football-two-leg-modal{
    background:rgba(0,0,0,.68);
}
html[data-theme="dark"] .football-two-leg-modal__card,
html[data-theme="dark"] .football-two-leg-modal__close{
    background:#071321;
    color:#7cf1e7;
}
html[data-theme="dark"] .football-two-leg-modal__card h3{
    border-color:rgba(148,163,184,.14);
    color:#f8fafc;
}
html[data-theme="dark"] .football-two-leg-modal__row{
    background:#071321;
}
html[data-theme="dark"] .football-two-leg-modal__row:nth-child(even){
    background:#0a1628;
}
html[data-theme="dark"] .football-two-leg-modal__row strong{
    color:#e2e8f0;
}
html[data-theme="dark"] .football-two-leg-modal__aggregate{
    border-color:rgba(45,212,191,.22);
    background:linear-gradient(135deg,rgba(13,45,48,.95),rgba(8,32,38,.95));
    color:#f8fafc;
}
html[data-theme="dark"] .football-two-leg-modal__aggregate strong{
    color:#e2e8f0;
}
html[data-theme="dark"] .football-two-leg-modal__aggregate b{
    color:#7cf1e7;
}
html[data-theme="dark"] .football-two-leg-modal__date{
    color:#94a3b8;
}
html[data-theme="dark"] .football-two-leg-modal__x{
    background:#0a1628;
    color:#f8fafc;
}
@media(max-width:1320px){
    .football-visual-bracket--desktop{
        grid-template-columns:minmax(0,1fr) clamp(120px,10vw,160px) minmax(0,1fr) !important;
        gap:14px !important;
    }
    .football-visual-bracket__side{
        grid-auto-columns:minmax(68px,86px) !important;
        gap:22px !important;
    }
    .football-visual-match{
        width:76px !important;
        min-height:88px !important;
    }
    .football-visual-bracket__side--left .football-visual-match::after,
    .football-visual-bracket__side--right .football-visual-match::before{
        width:22px !important;
    }
    .football-visual-bracket__side--left .football-visual-match::after{right:-22px !important;}
    .football-visual-bracket__side--right .football-visual-match::before{left:-22px !important;}
    .football-visual-bracket__side--left .football-visual-round:not(:last-child)::after{right:-11px !important;}
    .football-visual-bracket__side--right .football-visual-round:not(:last-child)::after{left:-11px !important;}
}
@media(max-width:640px){
    .football-two-leg-modal__row{
        grid-template-columns:1fr 28px auto 28px 1fr;
        gap:8px;
        padding:14px;
    }
    .football-two-leg-modal__date{
        grid-column:1 / -1;
    }
    .football-two-leg-modal__row strong:first-of-type{
        text-align:right;
    }
    .football-two-leg-modal__row small{
        grid-column:3;
    }
    .football-two-leg-modal__aggregate{
        margin:12px 14px 16px;
        padding:12px 10px 13px;
    }
    .football-two-leg-modal__aggregate-scoreline{
        grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
        gap:9px;
        width:100%;
    }
    .football-two-leg-modal__aggregate-scoreline strong{
        font-size:.8rem;
    }
    .football-two-leg-modal__aggregate-scoreline b{
        min-width:50px;
        font-size:1rem;
    }
}

/* v219: permanent league isolation, two-leg final safety, bigger champion fireworks and connected bracket lines */
.football-visual-bracket--desktop{
    align-items:stretch !important;
}
.football-visual-bracket__side{
    align-content:stretch !important;
    justify-content:space-evenly !important;
}
.football-visual-bracket--rounds-1 .football-visual-bracket__side,
.football-visual-bracket--rounds-2 .football-visual-bracket__side{
    justify-content:center !important;
    grid-auto-columns:minmax(96px,130px) !important;
    gap:clamp(42px,6vw,90px) !important;
}
.football-visual-bracket--rounds-1 .football-visual-round__matches,
.football-visual-bracket--rounds-2 .football-visual-round__matches{
    min-height:clamp(320px,42vw,620px) !important;
    justify-content:space-evenly !important;
}
.football-visual-round__matches{
    justify-content:space-evenly !important;
}
.football-visual-match::after,
.football-visual-match::before{
    z-index:0;
}
.football-visual-round:not(:last-child)::after{
    border-radius:999px;
    opacity:.95;
}
.football-visual-bracket__center::before,
.football-visual-bracket__center::after{
    content:"";
    position:absolute;
    left:50%;
    width:2px;
    transform:translateX(-50%);
    background:linear-gradient(180deg,rgba(14,125,121,.05),rgba(0,168,107,.72),rgba(14,125,121,.05));
    border-radius:999px;
    pointer-events:none;
}
.football-visual-bracket__center::before{top:74px;height:34%;}
.football-visual-bracket__center::after{bottom:74px;height:28%;}
.football-visual-center-match--final{
    z-index:6;
    transform:scale(1.28);
    filter:drop-shadow(0 18px 30px rgba(245,158,11,.22));
    animation:kisureFinalFocus 2.4s ease-in-out infinite;
}
.football-visual-center-match--final .football-visual-match{
    width:clamp(128px,10.4vw,170px) !important;
    min-height:clamp(130px,9.8vw,168px) !important;
    border-width:2px !important;
    border-color:rgba(245,158,11,.62) !important;
    background:linear-gradient(180deg,#fff,#fffbeb) !important;
}
.football-visual-center-match--final .football-visual-match__team img,
.football-visual-center-match--final .football-visual-match__fallback{
    width:clamp(30px,2.45vw,40px) !important;
    height:clamp(30px,2.45vw,40px) !important;
}
.football-visual-center-match--final .football-visual-match__team b{
    font-size:clamp(.74rem,.92vw,.9rem) !important;
    max-width:64px !important;
}
.football-visual-center-match--final .football-visual-match__score{
    font-size:clamp(1.05rem,1.2vw,1.35rem) !important;
}
.football-visual-center-match--final .football-visual-match__badge{
    font-size:.64rem !important;
    padding:4px 9px !important;
}
.football-visual-champion{
    position:relative;
    z-index:7;
}
.football-visual-champion.is-celebratable .football-visual-champion__trophy{
    animation:kisureTrophyGlow 2.7s ease-in-out infinite;
}
@keyframes kisureFinalFocus{
    0%,100%{transform:scale(1.22);}
    50%{transform:scale(1.34);}
}
@keyframes kisureTrophyGlow{
    0%,100%{box-shadow:0 10px 28px rgba(15,23,42,.08),0 0 0 rgba(245,158,11,0);}
    50%{box-shadow:0 12px 36px rgba(15,23,42,.1),0 0 0 10px rgba(245,158,11,.11);}
}
.football-two-leg-modal__row{
    color:inherit;
    text-decoration:none;
}
a.football-two-leg-modal__row:hover{
    background:#ecfeff;
}
.article-match-scoreboard__details--penalties{
    gap:10px;
}
.article-match-scoreboard__penalty-pill{
    background:linear-gradient(135deg,rgba(245,158,11,.16),rgba(45,212,191,.18));
    color:#0f766e;
    border:1px solid rgba(14,125,121,.14);
}
html[data-theme="dark"] .football-visual-center-match--final .football-visual-match{
    background:linear-gradient(180deg,#182235,#0f172a) !important;
    border-color:rgba(245,158,11,.62) !important;
}
html[data-theme="dark"] a.football-two-leg-modal__row:hover{
    background:#102134;
}
@media(max-width:1020px){
    .football-visual-center-match--final{transform:none;animation:none;}
    .football-visual-center-match--final .football-visual-match{width:118px !important;min-height:120px !important;}
}

/* v220: league fixture/result SEO pages, missed-penalty markers, calmer two-leg final card */
.football-fixture-hero-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px}.football-fixture-hero-actions .site-button{min-width:120px;justify-content:center}.football-scoreboard-missed-penalty{display:inline-flex;align-items:center;margin-left:4px;font-size:.95em;line-height:1;filter:drop-shadow(0 1px 0 rgba(15,23,42,.12))}.football-visual-center-match--final{transform:none!important;filter:none!important;animation:none!important}.football-visual-center-match--final .football-visual-match{width:clamp(92px,6.8vw,112px)!important;min-height:clamp(92px,7vw,116px)!important;border-width:1px!important;box-shadow:0 10px 22px rgba(15,23,42,.08)!important;background:#fff!important}.football-visual-center-match--final .football-visual-match:hover{transform:translateY(-1px)!important}.football-visual-center-match--final .football-visual-match__team img,.football-visual-center-match--final .football-visual-match__fallback{width:clamp(22px,1.8vw,28px)!important;height:clamp(22px,1.8vw,28px)!important}.football-visual-center-match--final .football-visual-match__team b{font-size:clamp(.64rem,.78vw,.74rem)!important;max-width:48px!important}.football-visual-center-match--final .football-visual-match__score{font-size:clamp(.86rem,.95vw,1.05rem)!important}.football-visual-center-match--final .football-visual-match__badge{font-size:.56rem!important;padding:3px 7px!important}.football-visual-center-match--final .football-visual-match__tie-note{font-size:.46rem!important;max-width:92px}.football-visual-match.has-two-leg-tie{cursor:pointer}.football-visual-match.has-two-leg-tie::marker{content:""}html[data-theme="dark"] .football-visual-center-match--final .football-visual-match{background:#0a1628!important;box-shadow:0 10px 22px rgba(0,0,0,.22)!important}.football-header-panel__side .football-header-toplist:empty{display:none}@media(max-width:760px){.football-fixture-hero-actions{width:100%;justify-content:flex-start}.football-fixture-hero-actions .site-button{flex:1}}

/* v222 league centre and league fixture pages */
.football-fixtures-hero .football-fixture-hero-actions,
.football-league-hero .football-season-switcher { margin-left: auto; }
.football-fixture-hero-actions { display: grid; gap: .75rem; justify-items: end; }
.football-fixture-hero-actions__tabs { display: flex; flex-wrap: wrap; gap: .65rem; justify-content: flex-end; }
.football-standings-hero__league-link { align-self: center; white-space: nowrap; }
.football-league-tabs { display: flex; gap: .65rem; overflow-x: auto; padding: .35rem 0 1rem; margin-top: -0.25rem; scroll-behavior: smooth; }
.football-league-tabs a { flex: 0 0 auto; padding: .72rem 1rem; border: 1px solid rgba(14, 125, 121, .22); border-radius: 999px; background: rgba(255,255,255,.86); color: #0f172a; text-decoration: none; font-weight: 900; box-shadow: 0 10px 25px rgba(15, 23, 42, .05); }
.football-league-tabs a:hover { background: #0eaaa7; color: #fff; border-color: #0eaaa7; }
.football-league-summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin: 1rem 0 1.35rem; }
.football-league-summary-grid article { border: 1px solid rgba(14,125,121,.18); background: linear-gradient(135deg, rgba(14,170,167,.10), rgba(255,255,255,.92)); border-radius: 24px; padding: 1rem; display: grid; gap: .25rem; box-shadow: 0 18px 45px rgba(15,23,42,.06); }
.football-league-summary-grid span { color: #087c80; text-transform: uppercase; letter-spacing: .12em; font-size: .72rem; font-weight: 950; }
.football-league-summary-grid strong { color: #0f172a; font-size: clamp(1.7rem, 3vw, 2.45rem); line-height: 1; }
.football-league-summary-grid small { color: #64748b; font-weight: 750; }
.football-main-stack { display: grid; gap: 1.25rem; min-width: 0; }
.football-heading-actions { display: flex; flex-wrap: wrap; gap: .65rem; justify-content: flex-end; }
.football-table--compact td, .football-table--compact th { padding: .78rem .8rem; }
.football-league-bracket-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: .9rem; }
.football-league-bracket-list article { border: 1px solid rgba(14,125,121,.18); border-radius: 22px; padding: .95rem; background: rgba(255,255,255,.88); box-shadow: 0 12px 30px rgba(15,23,42,.05); }
.football-league-bracket-list h3 { margin: 0 0 .8rem; color: #087c80; font-size: .9rem; text-transform: uppercase; letter-spacing: .12em; }
.football-league-bracket-list article > div { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: .5rem; padding: .55rem 0; border-top: 1px solid rgba(15,23,42,.08); font-size: .86rem; font-weight: 850; }
.football-league-bracket-list article > div span:last-child { text-align: right; }
.football-mini-list { display: grid; gap: .65rem; }
.football-mini-list a, .football-mini-list > div { display: grid; grid-template-columns: auto 1fr auto; gap: .75rem; align-items: center; padding: .65rem; border: 1px solid rgba(15,23,42,.08); border-radius: 18px; background: rgba(248,250,252,.85); text-decoration: none; color: #0f172a; }
.football-mini-list--compact a, .football-mini-list--compact > div { grid-template-columns: 1fr auto; }
.football-mini-list img { width: 40px; height: 40px; object-fit: cover; border-radius: 999px; background: #fff; border: 1px solid rgba(15,23,42,.08); }
.football-mini-list strong { display: block; color: #0f172a; }
.football-mini-list small { display: block; color: #64748b; font-weight: 750; }
.football-mini-list b { background: #d9f7f4; color: #0e7d79; border-radius: 999px; padding: .45rem .7rem; min-width: 2.25rem; text-align: center; }
.football-side-panel__subhead { margin-top: 1rem; }
.football-season-history { display: grid; gap: .65rem; }
.football-season-history article { border: 1px solid rgba(15,23,42,.08); border-radius: 18px; padding: .75rem; background: rgba(248,250,252,.82); display: grid; gap: .25rem; }
.football-season-history strong { color: #0f172a; }
.football-season-history span, .football-season-history small { color: #64748b; font-weight: 750; }
.football-header-match-row--league-centre { background: linear-gradient(135deg, rgba(14,170,167,.10), rgba(255,255,255,.92)) !important; }
html[data-theme="dark"] .football-league-tabs a,
html[data-theme="dark"] .football-league-summary-grid article,
html[data-theme="dark"] .football-league-bracket-list article,
html[data-theme="dark"] .football-mini-list a,
html[data-theme="dark"] .football-mini-list > div,
html[data-theme="dark"] .football-season-history article,
html[data-theme="dark"] .football-header-match-row--league-centre { background: rgba(15,23,42,.9) !important; border-color: rgba(148,163,184,.22); color: #e5e7eb; }
html[data-theme="dark"] .football-league-summary-grid strong,
html[data-theme="dark"] .football-mini-list strong,
html[data-theme="dark"] .football-season-history strong { color: #f8fafc; }
html[data-theme="dark"] .football-league-summary-grid small,
html[data-theme="dark"] .football-mini-list small,
html[data-theme="dark"] .football-season-history span,
html[data-theme="dark"] .football-season-history small { color: #cbd5e1; }
@media (max-width: 900px) { .football-league-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .football-fixtures-hero .football-fixture-hero-actions, .football-league-hero .football-season-switcher { margin-left: 0; justify-items: stretch; width: 100%; } .football-fixture-hero-actions__tabs { justify-content: flex-start; } }
@media (max-width: 560px) { .football-league-summary-grid { grid-template-columns: 1fr 1fr; gap: .7rem; } .football-league-summary-grid article { padding: .82rem; border-radius: 18px; } .football-league-tabs a { padding: .62rem .78rem; font-size: .82rem; } }


/* v222 league overview + header fallback polish */
.football-league-tabs a.is-active{background:#0eaaa7;color:#fff;border-color:#0eaaa7;box-shadow:0 14px 30px rgba(14,170,167,.22)}
.football-league-overview-grid{display:none}.football-league-two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.football-league-wide-list{display:grid;gap:.8rem}.football-season-history--grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.85rem}.football-link-list--cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.8rem}.football-league-briefs{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:1rem;margin:1rem 0 1.8rem}.football-league-brief{border:1px solid rgba(14,125,121,.16);border-radius:24px;background:linear-gradient(135deg,rgba(14,170,167,.08),rgba(255,255,255,.94));box-shadow:0 18px 45px rgba(15,23,42,.055);padding:1rem;min-width:0}.football-league-brief--standings{grid-row:span 2}.football-league-brief__head{display:flex;align-items:center;justify-content:space-between;gap:.85rem;margin-bottom:.75rem}.football-league-brief__head span{display:inline-flex;align-items:center;gap:.5rem;color:#087c80;font-size:.78rem;font-weight:950;letter-spacing:.1em;text-transform:uppercase}.football-league-brief__head span i{width:30px;height:30px;display:grid;place-items:center;border-radius:12px;background:rgba(14,170,167,.13)}.football-league-brief__head a{display:inline-flex;align-items:center;gap:.35rem;color:#0e7d79;font-size:.82rem;font-weight:900;text-decoration:none;white-space:nowrap}.football-brief-table,.football-brief-list{display:grid;gap:.55rem}.football-brief-table a{display:grid;grid-template-columns:30px 34px minmax(0,1fr) auto;align-items:center;gap:.65rem;text-decoration:none;color:#0f172a;background:rgba(248,250,252,.9);border:1px solid rgba(15,23,42,.07);border-radius:16px;padding:.58rem .68rem}.football-brief-table b{width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:rgba(14,170,167,.12);color:#087c80}.football-brief-table img{width:34px;height:34px;object-fit:contain;border-radius:999px;background:#fff;border:1px solid rgba(15,23,42,.08)}.football-brief-table strong{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.football-brief-table em{font-style:normal;color:#64748b;font-size:.82rem;font-weight:900}.football-brief-list a{display:grid;gap:.18rem;text-decoration:none;color:#0f172a;background:rgba(248,250,252,.86);border:1px solid rgba(15,23,42,.07);border-radius:16px;padding:.65rem .75rem}.football-brief-list a small{color:#64748b;font-size:.78rem;font-weight:850}.football-brief-list a strong{font-size:.94rem;line-height:1.25}.football-brief-list--scores a strong b{color:#087c80;margin:0 .25rem}.football-brief-list--players a{grid-template-columns:auto minmax(0,1fr) auto;align-items:center}.football-brief-list--players img{width:34px;height:34px;object-fit:cover;border-radius:999px;background:#fff;border:1px solid rgba(15,23,42,.08)}.football-brief-list--players span{display:grid;min-width:0}.football-brief-list--players span strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.football-brief-list--players b{background:#d9f7f4;color:#0e7d79;border-radius:999px;padding:.38rem .62rem;min-width:2rem;text-align:center}.football-league-brief .football-muted{margin:.25rem 0 0;color:#64748b;font-weight:750}.football-header-tablemini__empty{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.7rem;min-height:76px;padding:.85rem 1rem!important;border-radius:20px;background:rgba(14,170,167,.10)!important;text-decoration:none}.football-header-tablemini__empty>span{min-width:0;display:grid;gap:.1rem}.football-header-tablemini__empty strong{white-space:normal!important;line-height:1.05}.football-header-tablemini__empty small{display:block;color:#64748b;font-size:.75rem;font-weight:800}.football-header-tablemini__empty b{width:44px;height:44px;display:grid;place-items:center;border-radius:999px;background:rgba(14,170,167,.14);color:#087c80}.football-header-tablemini__empty>i{color:#087c80;font-size:1.1rem}html[data-theme="dark"] .football-league-overview-grid a,html[data-theme="dark"] .football-header-tablemini__empty{background:rgba(15,23,42,.86)!important;border-color:rgba(45,212,191,.18);color:#e5f2ff}html[data-theme="dark"] .football-league-overview-grid small,html[data-theme="dark"] .football-header-tablemini__empty small{color:#9fb2c8}@media(max-width:900px){.football-league-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.football-league-two-col{grid-template-columns:1fr}}@media(max-width:560px){.football-league-overview-grid{grid-template-columns:1fr}.football-league-overview-grid a{min-height:112px;border-radius:18px}}

/* v223 fixture pages, canonical standings links and clean header fallback */
html,
body{
    max-width:100%;
    overflow-x:hidden;
}
.site-shell,
.football-page,
.football-layout,
.football-section,
.football-sidebar-stack,
.football-schedule-list,
.football-schedule-day,
.football-schedule-competition{
    min-width:0;
    max-width:100%;
}
.football-fixtures-page .football-layout--wide-main{
    grid-template-columns:minmax(0,1fr) minmax(280px,340px);
    align-items:start;
    overflow:visible;
}
.football-fixtures-page .football-section--schedule,
.football-fixtures-page .football-schedule-list,
.football-fixtures-page .football-schedule-competition{
    overflow:clip;
}
.football-fixtures-page .football-schedule-row{
    max-width:100%;
    overflow:hidden;
}
.football-fixtures-page .football-schedule-row__team,
.football-fixtures-page .football-schedule-row__middle,
.football-fixtures-page .football-schedule-row__meta{
    min-width:0;
}
.football-fixtures-page .football-schedule-row__team span{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.football-fixtures-page .football-link-list a span{
    white-space:normal;
}
.football-fixtures-page .football-compact-hero{
    max-width:100%;
    overflow:clip;
}
.football-fixtures-page .football-fixture-hero-actions{
    min-width:0;
    max-width:100%;
}
.football-fixtures-page .football-season-switcher{
    max-width:100%;
}
.football-fixtures-page .football-season-switcher select{
    max-width:min(100%,340px);
}
@media (max-width:1180px){
    .football-fixtures-page .football-layout--wide-main{
        grid-template-columns:1fr;
    }
    .football-fixtures-page .football-sidebar-stack{
        width:100%;
    }
}
@media (max-width:760px){
    .football-fixtures-page .football-section--schedule{
        padding-inline:.75rem;
    }
    .football-fixtures-page .football-schedule-row{
        grid-template-columns:minmax(0,1fr) minmax(58px,78px) minmax(0,1fr)!important;
    }
}
.football-header-tablemini a.football-header-tablemini__empty{
    display:grid!important;
    grid-template-columns:42px minmax(0,1fr) 48px!important;
    align-items:center!important;
    gap:12px!important;
    min-height:96px!important;
    padding:16px 18px!important;
    border-radius:22px!important;
    background:linear-gradient(135deg,rgba(14,170,167,.13),rgba(255,255,255,.92))!important;
    color:#0b1632!important;
    text-decoration:none!important;
}
.football-header-tablemini a.football-header-tablemini__empty > i{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border-radius:14px;
    background:rgba(14,170,167,.12);
    color:#087c80;
    font-size:1rem;
}
.football-header-tablemini a.football-header-tablemini__empty > span{
    display:block!important;
    min-width:0!important;
    text-align:left!important;
    color:inherit!important;
}
.football-header-tablemini a.football-header-tablemini__empty strong{
    display:block!important;
    color:#0b1632!important;
    font-size:.98rem!important;
    line-height:1.1!important;
    white-space:normal!important;
}
.football-header-tablemini a.football-header-tablemini__empty small{
    display:block!important;
    color:#64748b!important;
    font-size:.76rem!important;
    font-weight:800!important;
    line-height:1.25!important;
    margin-top:3px!important;
}
.football-header-tablemini a.football-header-tablemini__empty b{
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
    padding:0!important;
    display:grid!important;
    place-items:center!important;
    border-radius:999px!important;
    background:rgba(14,170,167,.16)!important;
    color:#087c80!important;
}
html[data-theme="dark"] .football-header-tablemini a.football-header-tablemini__empty{
    background:linear-gradient(135deg,rgba(13,148,136,.18),rgba(15,23,42,.92))!important;
    border-color:rgba(45,212,191,.18)!important;
    color:#f8fafc!important;
}
html[data-theme="dark"] .football-header-tablemini a.football-header-tablemini__empty strong{
    color:#f8fafc!important;
}
html[data-theme="dark"] .football-header-tablemini a.football-header-tablemini__empty small{
    color:#b9c8dc!important;
}
@media (max-width:520px){
    .football-header-tablemini a.football-header-tablemini__empty{
        grid-template-columns:38px minmax(0,1fr) 42px!important;
        min-height:82px!important;
        padding:13px!important;
    }
    .football-header-tablemini a.football-header-tablemini__empty > i,
    .football-header-tablemini a.football-header-tablemini__empty b{
        width:38px!important;
        height:38px!important;
        min-width:38px!important;
    }
}


/* v224 promotion/brand placements */
.football-promo-slot {
    border: 1px solid rgba(14,125,121,.16);
    border-radius: 28px;
    background:
        radial-gradient(circle at 10% 0%, rgba(14,170,167,.12), transparent 36%),
        linear-gradient(135deg, rgba(255,255,255,.96), rgba(248,250,252,.92));
    box-shadow: 0 18px 42px rgba(15,23,42,.06);
    display: grid;
    gap: .85rem;
    margin: clamp(1rem, 2vw, 1.35rem) 0;
    padding: clamp(.85rem, 1.8vw, 1.1rem);
    min-width: 0;
    overflow: hidden;
}
.football-promo-slot--billboard {
    grid-template-columns: minmax(150px, 240px) minmax(0, 1fr);
    align-items: center;
}
.football-promo-slot--inline {
    grid-template-columns: minmax(130px, 190px) minmax(0, 1fr);
    align-items: center;
    border-radius: 22px;
    margin: 1rem 0 0;
}
.football-promo-slot--sidebar {
    grid-template-columns: 1fr;
    border-radius: 22px;
    margin: 1rem 0 0;
}
.football-promo-slot__label {
    display: grid;
    gap: .25rem;
    align-content: center;
}
.football-promo-slot__label span {
    color: #087c80;
    font-size: .76rem;
    font-weight: 950;
    letter-spacing: .13em;
    text-transform: uppercase;
}
.football-promo-slot__label small {
    color: #64748b;
    font-weight: 850;
}
.football-promo-slot__creative {
    min-height: 96px;
    min-width: 0;
    display: grid;
    align-items: stretch;
}
.football-promo-slot--sidebar .football-promo-slot__creative { min-height: 210px; }
.football-promo-slot__creative > .kisure-safe-ad-slot {
    width: 100%;
    min-width: 0;
}
.football-promo-slot__fallback {
    align-items: center;
    background: linear-gradient(135deg, rgba(14,170,167,.12), rgba(219,250,247,.75));
    border: 1px dashed rgba(14,125,121,.28);
    border-radius: 20px;
    color: #0b1632;
    display: grid;
    gap: .2rem;
    grid-template-columns: minmax(0, 1fr) auto;
    min-height: 96px;
    padding: 1rem 1.15rem;
    text-decoration: none;
}
.football-promo-slot__fallback strong,
.football-promo-slot__fallback small { grid-column: 1; }
.football-promo-slot__fallback strong { font-size: clamp(1.05rem, 2vw, 1.35rem); line-height: 1.1; }
.football-promo-slot__fallback small { color: #64748b; font-weight: 780; line-height: 1.25; }
.football-promo-slot__fallback b {
    align-items: center;
    background: #0eaaa7;
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    font-weight: 950;
    gap: .45rem;
    grid-column: 2;
    grid-row: 1 / span 2;
    justify-self: end;
    padding: .72rem 1rem;
    white-space: nowrap;
}
.football-promo-slot__creative:has(.kisure-safe-ad-slot) .football-promo-slot__fallback {
    display: none;
}
.football-ad-panel .football-sidebar-ad-slot {
    background: linear-gradient(135deg, rgba(14,170,167,.09), rgba(255,255,255,.92));
    border-style: solid;
}
html[data-theme="dark"] .football-promo-slot {
    background: radial-gradient(circle at 10% 0%, rgba(45,212,191,.12), transparent 36%), linear-gradient(135deg, rgba(15,23,42,.96), rgba(8,15,28,.94));
    border-color: rgba(45,212,191,.18);
    box-shadow: 0 20px 48px rgba(0,0,0,.28);
}
html[data-theme="dark"] .football-promo-slot__fallback {
    background: linear-gradient(135deg, rgba(13,148,136,.18), rgba(15,23,42,.86));
    border-color: rgba(45,212,191,.24);
    color: #f8fafc;
}
html[data-theme="dark"] .football-promo-slot__label small,
html[data-theme="dark"] .football-promo-slot__fallback small { color: #b9c8dc; }
@media (max-width: 760px) {
    .football-promo-slot,
    .football-promo-slot--billboard,
    .football-promo-slot--inline {
        grid-template-columns: 1fr;
        border-radius: 20px;
    }
    .football-promo-slot__creative { min-height: 84px; }
    .football-promo-slot__fallback {
        grid-template-columns: 1fr;
        min-height: 92px;
        padding: .9rem;
    }
    .football-promo-slot__fallback b {
        grid-column: 1;
        grid-row: auto;
        justify-self: start;
        padding: .58rem .82rem;
    }
}



/* v237 clean frontend sidebar behaviour: simple v30-style sticky columns, no inner scroll rails. */
@media (min-width: 1200px) {
    .content-grid,
    .article-shell,
    .football-layout,
    .football-layout--wide-main,
    .football-layout--match-page,
    .football-main-grid,
    .football-content-grid,
    .sports-desk-layout,
    .article-main-section,
    .main-content-wrapper {
        align-items: start;
        overflow: visible;
    }

    .sticky-sidebar,
    .article-rail.sticky-sidebar,
    .football-sidebar-stack.sticky-sidebar,
    .football-side-panel.sticky-sidebar,
    .continue-reading-trending.sticky-sidebar {
        position: -webkit-sticky;
        position: sticky;
        top: 7.4rem;
        align-self: start;
        height: max-content;
        min-width: 0;
        transform: none;
        overflow: visible;
        z-index: 10;
    }
}
@media (max-width: 1199.98px) {
    .sticky-sidebar,
    .article-rail.sticky-sidebar,
    .football-sidebar-stack.sticky-sidebar,
    .football-side-panel.sticky-sidebar,
    .continue-reading-trending.sticky-sidebar {
        position: static;
        top: auto;
        height: auto;
    }
}
.site-header,
.site-header__inner,
.site-header__bar,
.site-header__nav,
.header-menu-item,
.theme-menu {
    overflow: visible;
}
.site-header {
    z-index: 7000;
    isolation: isolate;
}
.header-menu-item__dropdown,
.theme-menu__dropdown {
    z-index: 7200;
}
html[data-theme="dark"] .football-league-brief{background:rgba(15,23,42,.86);border-color:rgba(45,212,191,.18);color:#e5f2ff}html[data-theme="dark"] .football-brief-table a,html[data-theme="dark"] .football-brief-list a{background:rgba(8,15,28,.72);border-color:rgba(45,212,191,.12);color:#e5f2ff}html[data-theme="dark"] .football-brief-table em,html[data-theme="dark"] .football-brief-list a small,html[data-theme="dark"] .football-league-brief .football-muted{color:#9fb2c8}
@media(max-width:900px){.football-league-briefs{grid-template-columns:1fr}.football-league-brief--standings{grid-row:auto}}@media(max-width:560px){.football-league-brief{border-radius:18px;padding:.82rem}.football-league-brief__head{align-items:flex-start;flex-direction:column}.football-brief-table a{grid-template-columns:28px minmax(0,1fr) auto}.football-brief-table img{display:none}.football-brief-table em{font-size:.75rem}}

/* v238 hard reset and forced sticky sidebar behaviour.
   This deliberately avoids inner rail wrappers and makes the sidebar itself stick. */
@media (min-width: 992px) {
    .site-main,
    .site-shell,
    .site-shell--wide,
    .content-grid,
    .article-shell,
    .article-main-section,
    .main-content-wrapper,
    .sports-desk-layout,
    .football-page,
    .football-layout,
    .football-layout--wide-main,
    .football-layout--match-page,
    .football-main-grid,
    .football-content-grid,
    .football-section--standings-table,
    .football-section--table,
    .football-fixtures-page,
    .football-standings-page,
    .football-match-page,
    .news-view-page,
    .home-news-layout,
    .category-news-layout,
    .tag-news-layout {
        overflow: visible !important;
        overflow-x: visible !important;
        overflow-y: visible !important;
        contain: none !important;
        transform: none !important;
        filter: none !important;
        perspective: none !important;
        isolation: auto !important;
    }

    .content-grid,
    .article-shell,
    .article-main-section,
    .sports-desk-layout,
    .football-layout,
    .football-layout--wide-main,
    .football-layout--match-page,
    .football-main-grid,
    .football-content-grid {
        align-items: start !important;
    }

    .sticky-sidebar,
    aside.sticky-sidebar,
    .sidebar-stack.sticky-sidebar,
    .article-rail.sticky-sidebar,
    .football-sidebar-stack.sticky-sidebar,
    .football-side-panel.sticky-sidebar,
    .football-layout > aside.football-side-panel,
    .football-layout > .football-sidebar-stack,
    .continue-reading-trending.sticky-sidebar {
        align-self: start !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
        position: -webkit-sticky !important;
        position: sticky !important;
        top: var(--kisure-sticky-top, 118px) !important;
        transform: none !important;
        width: 100%;
        z-index: 80 !important;
    }

    .kisure-js-sticky-placeholder {
        display: none;
        min-width: 0;
        pointer-events: none;
        visibility: hidden;
    }

    .kisure-js-sticky-placeholder.is-active {
        display: block;
    }

    .sticky-sidebar.is-js-sticky-fixed,
    aside.sticky-sidebar.is-js-sticky-fixed,
    .sidebar-stack.sticky-sidebar.is-js-sticky-fixed,
    .article-rail.sticky-sidebar.is-js-sticky-fixed,
    .football-sidebar-stack.sticky-sidebar.is-js-sticky-fixed,
    .football-side-panel.sticky-sidebar.is-js-sticky-fixed,
    .continue-reading-trending.sticky-sidebar.is-js-sticky-fixed {
        position: fixed !important;
        margin: 0 !important;
        max-width: none !important;
        z-index: 800 !important;
        will-change: top, left, width;
    }
}

@media (max-width: 991.98px) {
    .sticky-sidebar,
    aside.sticky-sidebar,
    .sidebar-stack.sticky-sidebar,
    .article-rail.sticky-sidebar,
    .football-sidebar-stack.sticky-sidebar,
    .football-side-panel.sticky-sidebar,
    .football-layout > aside.football-side-panel,
    .football-layout > .football-sidebar-stack,
    .continue-reading-trending.sticky-sidebar {
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
        position: static !important;
        top: auto !important;
        width: 100% !important;
    }

    .sticky-sidebar.is-js-sticky-fixed,
    .kisure-js-sticky-placeholder {
        display: none !important;
        position: static !important;
    }
}

/* v290: balanced fixture rows on mobile/tablet, finished prediction result buttons */
.football-schedule-row {
    grid-template-columns: minmax(0, 1fr) minmax(104px, 150px) minmax(0, 1fr) !important;
    grid-template-areas:
        "meta meta meta"
        "home middle away"
        "actions actions actions" !important;
    align-items: center !important;
    row-gap: .55rem !important;
}
.football-schedule-row__meta { grid-area: meta !important; }
.football-schedule-row__team--home { grid-area: home !important; }
.football-schedule-row__middle { grid-area: middle !important; }
.football-schedule-row__team--away { grid-area: away !important; }
.football-schedule-row__actions {
    grid-area: actions !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: .55rem !important;
    min-width: 0 !important;
}
.football-schedule-row__prediction {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: .42rem !important;
    width: fit-content !important;
    max-width: 100% !important;
    padding: .52rem .85rem !important;
    border-radius: 999px !important;
    border: 1px solid rgba(14, 170, 167, .24) !important;
    background: rgba(224, 252, 247, .88) !important;
    color: #087c80 !important;
    font-size: .78rem !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    box-shadow: 0 10px 24px rgba(2, 12, 27, .06) !important;
}
.football-schedule-row__prediction:hover {
    background: #0eaaa7 !important;
    border-color: #0eaaa7 !important;
    color: #fff !important;
    transform: translateY(-1px);
}
.football-schedule-row__prediction--won {
    background: rgba(220, 252, 231, .92) !important;
    border-color: rgba(22, 163, 74, .28) !important;
    color: #166534 !important;
}
.football-schedule-row__prediction--lost {
    background: rgba(254, 226, 226, .92) !important;
    border-color: rgba(220, 38, 38, .24) !important;
    color: #991b1b !important;
}
.football-schedule-row__prediction--void,
.football-schedule-row__prediction--settled {
    background: rgba(241, 245, 249, .94) !important;
    border-color: rgba(100, 116, 139, .18) !important;
    color: #334155 !important;
}
.football-schedule-row__scoreline {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: .34rem !important;
    white-space: nowrap !important;
}
.football-schedule-row__scoreline b,
.football-schedule-row__scoreline span,
.football-schedule-row__scoreline i {
    flex: 0 0 auto !important;
}
.football-schedule-row__scoreline i {
    color: #0e7d79 !important;
    font-style: normal !important;
    font-weight: 950 !important;
}
.football-schedule-row__team img,
.football-schedule-row__team b {
    flex: 0 0 auto !important;
}
.football-schedule-row__team span {
    min-width: 0 !important;
}
html[data-theme="dark"] .football-schedule-row__prediction {
    background: rgba(15, 23, 42, .92) !important;
    border-color: rgba(45, 212, 191, .24) !important;
    color: #a7fff4 !important;
    box-shadow: 0 12px 28px rgba(0, 0, 0, .22) !important;
}
html[data-theme="dark"] .football-schedule-row__prediction:hover {
    background: #0f766e !important;
    color: #ffffff !important;
}
html[data-theme="dark"] .football-schedule-row__prediction--won {
    background: rgba(20, 83, 45, .48) !important;
    border-color: rgba(74, 222, 128, .24) !important;
    color: #bbf7d0 !important;
}
html[data-theme="dark"] .football-schedule-row__prediction--lost {
    background: rgba(127, 29, 29, .48) !important;
    border-color: rgba(248, 113, 113, .24) !important;
    color: #fecaca !important;
}
html[data-theme="dark"] .football-schedule-row__prediction--void,
html[data-theme="dark"] .football-schedule-row__prediction--settled {
    background: rgba(30, 41, 59, .88) !important;
    border-color: rgba(148, 163, 184, .22) !important;
    color: #dbeafe !important;
}
html[data-theme="dark"] .football-schedule-row__scoreline i {
    color: #7dd3fc !important;
}
@media (max-width: 980px) {
    .football-schedule-row {
        grid-template-columns: minmax(0, 1fr) minmax(86px, 118px) minmax(0, 1fr) !important;
        column-gap: .5rem !important;
        row-gap: .48rem !important;
        padding: .78rem .72rem !important;
    }
    .football-schedule-row__team {
        gap: .32rem !important;
        font-size: clamp(.72rem, 2.6vw, .92rem) !important;
        line-height: 1.12 !important;
        min-width: 0 !important;
    }
    .football-schedule-row__team--home {
        justify-content: flex-end !important;
        text-align: right !important;
    }
    .football-schedule-row__team--away {
        justify-content: flex-start !important;
        text-align: left !important;
    }
    .football-schedule-row__team span {
        display: -webkit-box !important;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: normal !important;
        max-width: 100% !important;
    }
    .football-schedule-row__team img,
    .football-schedule-row__team b {
        width: 28px !important;
        height: 28px !important;
        min-width: 28px !important;
    }
    .football-schedule-row__middle {
        min-width: 0 !important;
        max-width: none !important;
        text-align: center !important;
        justify-items: center !important;
    }
    .football-schedule-row__middle strong {
        font-size: clamp(.9rem, 3vw, 1.05rem) !important;
        min-width: 0 !important;
    }
    .football-schedule-row__middle em {
        display: block !important;
        max-width: 112px !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        font-size: .64rem !important;
    }
    .football-schedule-row__middle small {
        display: none !important;
    }
    .football-schedule-row__prediction {
        padding: .48rem .75rem !important;
        font-size: .72rem !important;
    }
}
@media (max-width: 420px) {
    .football-schedule-row {
        grid-template-columns: minmax(0, 1fr) minmax(72px, 92px) minmax(0, 1fr) !important;
        column-gap: .34rem !important;
        padding-inline: .54rem !important;
    }
    .football-schedule-row__team img,
    .football-schedule-row__team b {
        width: 24px !important;
        height: 24px !important;
        min-width: 24px !important;
    }
    .football-schedule-row__middle strong {
        gap: .22rem !important;
        font-size: .84rem !important;
    }
    .football-schedule-row__middle em {
        max-width: 86px !important;
        font-size: .58rem !important;
    }
}

/* v290: finished prediction buttons on football match cards */
.football-match-card__actions {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: .55rem !important;
    margin-top: .7rem !important;
}
.football-match-card__prediction {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: .42rem !important;
    width: fit-content !important;
    max-width: 100% !important;
    padding: .56rem .9rem !important;
    border-radius: 999px !important;
    border: 1px solid rgba(14,170,167,.24) !important;
    background: rgba(224,252,247,.9) !important;
    color: #087c80 !important;
    font-size: .78rem !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}
.football-match-card__prediction:hover {
    background: #0eaaa7 !important;
    border-color: #0eaaa7 !important;
    color: #ffffff !important;
}
.football-match-card__prediction--won { background: rgba(220,252,231,.92) !important; border-color: rgba(22,163,74,.28) !important; color: #166534 !important; }
.football-match-card__prediction--lost { background: rgba(254,226,226,.92) !important; border-color: rgba(220,38,38,.24) !important; color: #991b1b !important; }
.football-match-card__prediction--void,
.football-match-card__prediction--settled { background: rgba(241,245,249,.94) !important; border-color: rgba(100,116,139,.18) !important; color: #334155 !important; }
html[data-theme="dark"] .football-match-card__prediction { background: rgba(15,23,42,.92) !important; border-color: rgba(45,212,191,.24) !important; color: #a7fff4 !important; }
html[data-theme="dark"] .football-match-card__prediction:hover { background: #0f766e !important; color: #ffffff !important; }
html[data-theme="dark"] .football-match-card__prediction--won { background: rgba(20,83,45,.48) !important; border-color: rgba(74,222,128,.24) !important; color: #bbf7d0 !important; }
html[data-theme="dark"] .football-match-card__prediction--lost { background: rgba(127,29,29,.48) !important; border-color: rgba(248,113,113,.24) !important; color: #fecaca !important; }
html[data-theme="dark"] .football-match-card__prediction--void,
html[data-theme="dark"] .football-match-card__prediction--settled { background: rgba(30,41,59,.88) !important; border-color: rgba(148,163,184,.22) !important; color: #dbeafe !important; }
@media (max-width: 640px) {
    .football-match-card__teams {
        grid-template-columns: minmax(0,1fr) minmax(72px,92px) minmax(0,1fr) !important;
        align-items: center !important;
        gap: .35rem !important;
    }
    .football-match-card__team {
        min-width: 0 !important;
        gap: .32rem !important;
    }
    .football-match-card__team span {
        display: -webkit-box !important;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden !important;
        white-space: normal !important;
        line-height: 1.12 !important;
    }
    .football-match-card__score {
        min-width: 0 !important;
        white-space: nowrap !important;
        gap: .24rem !important;
        font-size: .9rem !important;
    }
}

/* v291: mobile/tablet fixtures must read name-logo | score/time | logo-name */
.football-schedule-row__team--home,
.football-schedule-row__team--away {
    min-width: 0 !important;
}
.football-schedule-row__team--home {
    flex-direction: row !important;
    justify-content: flex-end !important;
    justify-self: stretch !important;
    text-align: right !important;
}
.football-schedule-row__team--away {
    flex-direction: row !important;
    justify-content: flex-start !important;
    justify-self: stretch !important;
    text-align: left !important;
}
.football-schedule-row__team--home span,
.football-schedule-row__team--away span {
    min-width: 0 !important;
}
.football-schedule-row__team--home img,
.football-schedule-row__team--home b,
.football-schedule-row__team--away img,
.football-schedule-row__team--away b {
    flex: 0 0 auto !important;
    order: initial !important;
}
.football-schedule-row__middle {
    justify-self: center !important;
}

@media (max-width: 980px) {
    .football-schedule-row {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) clamp(78px, 22vw, 118px) minmax(0, 1fr) !important;
        grid-template-areas:
            "meta meta meta"
            "home middle away"
            "actions actions actions" !important;
        align-items: center !important;
        column-gap: clamp(.28rem, 1.8vw, .62rem) !important;
        row-gap: .5rem !important;
        padding: .78rem clamp(.5rem, 2vw, .85rem) !important;
    }
    .football-schedule-row__meta {
        grid-area: meta !important;
        text-align: center !important;
    }
    .football-schedule-row__team--home {
        grid-area: home !important;
        flex-direction: row !important;
        justify-content: flex-end !important;
        text-align: right !important;
    }
    .football-schedule-row__team--away {
        grid-area: away !important;
        flex-direction: row !important;
        justify-content: flex-start !important;
        text-align: left !important;
    }
    .football-schedule-row__team {
        display: flex !important;
        align-items: center !important;
        gap: .34rem !important;
        min-width: 0 !important;
        width: 100% !important;
        line-height: 1.12 !important;
    }
    .football-schedule-row__team span {
        display: -webkit-box !important;
        -webkit-box-orient: vertical !important;
        -webkit-line-clamp: 2 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: normal !important;
        max-width: min(100%, 8.2rem) !important;
        font-size: clamp(.68rem, 2.55vw, .88rem) !important;
        font-weight: 950 !important;
    }
    .football-schedule-row__team--home span {
        text-align: right !important;
    }
    .football-schedule-row__team--away span {
        text-align: left !important;
    }
    .football-schedule-row__team img,
    .football-schedule-row__team b {
        width: clamp(22px, 6.7vw, 28px) !important;
        height: clamp(22px, 6.7vw, 28px) !important;
        min-width: clamp(22px, 6.7vw, 28px) !important;
        flex: 0 0 auto !important;
    }
    .football-schedule-row__middle {
        grid-area: middle !important;
        justify-self: stretch !important;
        justify-items: center !important;
        text-align: center !important;
        min-width: 0 !important;
        max-width: none !important;
        padding: 0 !important;
        border-left: 0 !important;
    }
    .football-schedule-row__middle strong,
    .football-schedule-row__scoreline {
        justify-content: center !important;
        text-align: center !important;
        font-size: clamp(.82rem, 3vw, 1rem) !important;
        max-width: 100% !important;
    }
    .football-schedule-row__middle em {
        display: block !important;
        max-width: 100% !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        font-size: clamp(.54rem, 2vw, .66rem) !important;
        text-align: center !important;
    }
    .football-schedule-row__actions {
        grid-area: actions !important;
    }
}

@media (max-width: 420px) {
    .football-schedule-row {
        grid-template-columns: minmax(0, 1fr) clamp(70px, 24vw, 88px) minmax(0, 1fr) !important;
        column-gap: .28rem !important;
    }
    .football-schedule-row__team {
        gap: .25rem !important;
    }
    .football-schedule-row__team span {
        font-size: .64rem !important;
        max-width: 5.7rem !important;
    }
    .football-schedule-row__middle strong,
    .football-schedule-row__scoreline {
        font-size: .78rem !important;
        gap: .18rem !important;
    }
}

/* v292: stale fixture result-sync state */
.football-schedule-row.is-sync-pending {
    border-color: rgba(245, 158, 11, .26) !important;
    background: linear-gradient(180deg, rgba(255, 251, 235, .98), rgba(255, 255, 255, .96)) !important;
}
.football-schedule-row.is-sync-pending .football-schedule-row__middle em {
    color: #b45309 !important;
    font-weight: 950 !important;
}
.football-schedule-row__prediction--sync {
    background: rgba(254, 243, 199, .95) !important;
    border-color: rgba(245, 158, 11, .34) !important;
    color: #92400e !important;
}
html[data-theme="dark"] .football-schedule-row.is-sync-pending {
    background: linear-gradient(180deg, rgba(69, 45, 10, .80), rgba(15, 23, 42, .92)) !important;
    border-color: rgba(245, 158, 11, .24) !important;
}
html[data-theme="dark"] .football-schedule-row.is-sync-pending .football-schedule-row__middle em {
    color: #fde68a !important;
}
html[data-theme="dark"] .football-schedule-row__prediction--sync {
    background: rgba(69, 45, 10, .82) !important;
    border-color: rgba(251, 191, 36, .30) !important;
    color: #fde68a !important;
}

/* v297: responsive match scoreboard event alignment
   Keep goal and assist rows in the desktop three-column shape on phones/tablets.
   This prevents scorer/assist names from being squeezed into tiny two-column blocks. */
@media (max-width: 900px) {
    .article-match-scoreboard .article-match-scoreboard__support,
    .article-match-scoreboard .article-match-scoreboard__support--goals,
    .article-match-scoreboard .article-match-scoreboard__support--penalties,
    .article-match-scoreboard .article-match-scoreboard__support--assists:not(.article-match-scoreboard__support--single),
    .article-match-scoreboard--match-page .article-match-scoreboard__support,
    .article-match-scoreboard--match-page .article-match-scoreboard__support--goals,
    .article-match-scoreboard--match-page .article-match-scoreboard__support--penalties,
    .article-match-scoreboard--match-page .article-match-scoreboard__support--assists:not(.article-match-scoreboard__support--single) {
        align-items: center !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) clamp(42px, 12vw, 64px) minmax(0, 1fr) !important;
        gap: .65rem clamp(.45rem, 2.4vw, .9rem) !important;
        max-width: min(100%, 680px) !important;
        margin-left: auto !important;
        margin-right: auto !important;
        width: 100% !important;
    }

    .article-match-scoreboard .article-match-scoreboard__support--single,
    .article-match-scoreboard--match-page .article-match-scoreboard__support--single {
        grid-template-columns: 1fr !important;
    }

    .article-match-scoreboard .article-match-scoreboard__support-center,
    .article-match-scoreboard .article-match-scoreboard__support-center--icon,
    .article-match-scoreboard .article-match-scoreboard__support-center--label,
    .article-match-scoreboard .article-match-scoreboard__support-center--empty,
    .article-match-scoreboard--match-page .article-match-scoreboard__support-center,
    .article-match-scoreboard--match-page .article-match-scoreboard__support-center--icon,
    .article-match-scoreboard--match-page .article-match-scoreboard__support-center--label,
    .article-match-scoreboard--match-page .article-match-scoreboard__support-center--empty {
        align-self: center !important;
        display: grid !important;
        grid-column: auto !important;
        justify-content: center !important;
        justify-items: center !important;
        min-height: 0 !important;
        min-width: 0 !important;
        order: initial !important;
        place-items: center !important;
        text-align: center !important;
        visibility: visible !important;
        width: auto !important;
    }

    .article-match-scoreboard .article-match-scoreboard__support-center--empty,
    .article-match-scoreboard--match-page .article-match-scoreboard__support-center--empty {
        visibility: hidden !important;
    }

    .article-match-scoreboard .article-match-scoreboard__support-center .football-event-icon,
    .article-match-scoreboard--match-page .article-match-scoreboard__support-center .football-event-icon {
        align-items: center !important;
        display: inline-flex !important;
        justify-content: center !important;
        min-height: 38px !important;
        min-width: 38px !important;
    }

    .article-match-scoreboard .article-match-scoreboard__support-col,
    .article-match-scoreboard .article-match-scoreboard__support-col--home,
    .article-match-scoreboard .article-match-scoreboard__support-col--away,
    .article-match-scoreboard--match-page .article-match-scoreboard__support-col,
    .article-match-scoreboard--match-page .article-match-scoreboard__support-col--home,
    .article-match-scoreboard--match-page .article-match-scoreboard__support-col--away {
        display: block !important;
        min-width: 0 !important;
        width: 100% !important;
    }

    .article-match-scoreboard .article-match-scoreboard__support-col--home,
    .article-match-scoreboard--match-page .article-match-scoreboard__support-col--home {
        text-align: right !important;
    }

    .article-match-scoreboard .article-match-scoreboard__support-col--away,
    .article-match-scoreboard--match-page .article-match-scoreboard__support-col--away {
        text-align: left !important;
    }

    .article-match-scoreboard .article-match-scoreboard__support-col strong,
    .article-match-scoreboard .article-match-scoreboard__support-center strong,
    .article-match-scoreboard--match-page .article-match-scoreboard__support-col strong,
    .article-match-scoreboard--match-page .article-match-scoreboard__support-center strong {
        display: block !important;
        font-size: clamp(.86rem, 3.2vw, 1rem) !important;
        font-weight: 900 !important;
        line-height: 1.48 !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow-wrap: break-word !important;
        white-space: normal !important;
        word-break: normal !important;
        hyphens: none !important;
    }

    .article-match-scoreboard .article-match-scoreboard__support-col strong span,
    .article-match-scoreboard .article-match-scoreboard__support-center strong span,
    .article-match-scoreboard--match-page .article-match-scoreboard__support-col strong span,
    .article-match-scoreboard--match-page .article-match-scoreboard__support-center strong span {
        display: block !important;
        max-width: 100% !important;
        overflow-wrap: break-word !important;
        white-space: normal !important;
        word-break: normal !important;
        hyphens: none !important;
    }

    .article-match-scoreboard .article-match-scoreboard__support-col--home strong,
    .article-match-scoreboard .article-match-scoreboard__support-col--home strong span,
    .article-match-scoreboard--match-page .article-match-scoreboard__support-col--home strong,
    .article-match-scoreboard--match-page .article-match-scoreboard__support-col--home strong span {
        margin-left: auto !important;
        margin-right: 0 !important;
        text-align: right !important;
    }

    .article-match-scoreboard .article-match-scoreboard__support-col--away strong,
    .article-match-scoreboard .article-match-scoreboard__support-col--away strong span,
    .article-match-scoreboard--match-page .article-match-scoreboard__support-col--away strong,
    .article-match-scoreboard--match-page .article-match-scoreboard__support-col--away strong span {
        margin-left: 0 !important;
        margin-right: auto !important;
        text-align: left !important;
    }

    .article-match-scoreboard__more-body .article-match-scoreboard__support:first-child,
    .article-match-scoreboard__more-body .article-match-scoreboard__details--halftime + .article-match-scoreboard__support {
        margin-top: 14px !important;
    }
}

@media (max-width: 420px) {
    .article-match-scoreboard .article-match-scoreboard__support,
    .article-match-scoreboard .article-match-scoreboard__support--goals,
    .article-match-scoreboard .article-match-scoreboard__support--penalties,
    .article-match-scoreboard .article-match-scoreboard__support--assists:not(.article-match-scoreboard__support--single),
    .article-match-scoreboard--match-page .article-match-scoreboard__support,
    .article-match-scoreboard--match-page .article-match-scoreboard__support--goals,
    .article-match-scoreboard--match-page .article-match-scoreboard__support--penalties,
    .article-match-scoreboard--match-page .article-match-scoreboard__support--assists:not(.article-match-scoreboard__support--single) {
        grid-template-columns: minmax(0, 1fr) 40px minmax(0, 1fr) !important;
        gap: .55rem .45rem !important;
    }

    .article-match-scoreboard .article-match-scoreboard__support-center .football-event-icon,
    .article-match-scoreboard--match-page .article-match-scoreboard__support-center .football-event-icon {
        min-height: 34px !important;
        min-width: 34px !important;
    }

    .article-match-scoreboard .article-match-scoreboard__support-col strong,
    .article-match-scoreboard .article-match-scoreboard__support-center strong,
    .article-match-scoreboard--match-page .article-match-scoreboard__support-col strong,
    .article-match-scoreboard--match-page .article-match-scoreboard__support-center strong {
        font-size: clamp(.78rem, 3.65vw, .92rem) !important;
        line-height: 1.42 !important;
    }
}

/* v298: mobile/tablet scoreboard event sections with centered title and two team columns */
@media (max-width: 900px) {
    .article-match-scoreboard .article-match-scoreboard__support--goals,
    .article-match-scoreboard .article-match-scoreboard__support--penalties,
    .article-match-scoreboard .article-match-scoreboard__support--assists:not(.article-match-scoreboard__support--single),
    .article-match-scoreboard--match-page .article-match-scoreboard__support--goals,
    .article-match-scoreboard--match-page .article-match-scoreboard__support--penalties,
    .article-match-scoreboard--match-page .article-match-scoreboard__support--assists:not(.article-match-scoreboard__support--single) {
        align-items: start !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        grid-template-areas:
            "event-title event-title"
            "home-events away-events" !important;
        gap: .45rem clamp(.85rem, 4.2vw, 1.55rem) !important;
        max-width: min(100%, 560px) !important;
        margin-left: auto !important;
        margin-right: auto !important;
        text-align: left !important;
        width: 100% !important;
    }

    .article-match-scoreboard .article-match-scoreboard__support--goals,
    .article-match-scoreboard--match-page .article-match-scoreboard__support--goals {
        margin-top: 16px !important;
    }

    .article-match-scoreboard .article-match-scoreboard__support--assists:not(.article-match-scoreboard__support--single),
    .article-match-scoreboard--match-page .article-match-scoreboard__support--assists:not(.article-match-scoreboard__support--single),
    .article-match-scoreboard .article-match-scoreboard__support--penalties,
    .article-match-scoreboard--match-page .article-match-scoreboard__support--penalties {
        margin-top: 18px !important;
        padding-top: 14px !important;
    }

    .article-match-scoreboard .article-match-scoreboard__support--goals .article-match-scoreboard__support-center,
    .article-match-scoreboard .article-match-scoreboard__support--penalties .article-match-scoreboard__support-center,
    .article-match-scoreboard .article-match-scoreboard__support--assists:not(.article-match-scoreboard__support--single) .article-match-scoreboard__support-center,
    .article-match-scoreboard--match-page .article-match-scoreboard__support--goals .article-match-scoreboard__support-center,
    .article-match-scoreboard--match-page .article-match-scoreboard__support--penalties .article-match-scoreboard__support-center,
    .article-match-scoreboard--match-page .article-match-scoreboard__support--assists:not(.article-match-scoreboard__support--single) .article-match-scoreboard__support-center {
        align-items: center !important;
        display: flex !important;
        grid-area: event-title !important;
        grid-column: 1 / -1 !important;
        justify-content: center !important;
        justify-self: center !important;
        min-height: 0 !important;
        min-width: 0 !important;
        order: -1 !important;
        text-align: center !important;
        visibility: visible !important;
        width: 100% !important;
    }

    .article-match-scoreboard .article-match-scoreboard__support--goals .article-match-scoreboard__support-center .football-event-icon,
    .article-match-scoreboard .article-match-scoreboard__support--penalties .article-match-scoreboard__support-center .football-event-icon,
    .article-match-scoreboard .article-match-scoreboard__support--assists:not(.article-match-scoreboard__support--single) .article-match-scoreboard__support-center .football-event-icon,
    .article-match-scoreboard--match-page .article-match-scoreboard__support--goals .article-match-scoreboard__support-center .football-event-icon,
    .article-match-scoreboard--match-page .article-match-scoreboard__support--penalties .article-match-scoreboard__support-center .football-event-icon,
    .article-match-scoreboard--match-page .article-match-scoreboard__support--assists:not(.article-match-scoreboard__support--single) .article-match-scoreboard__support-center .football-event-icon {
        display: none !important;
    }

    .article-match-scoreboard .article-match-scoreboard__support--goals .article-match-scoreboard__support-center::before,
    .article-match-scoreboard .article-match-scoreboard__support--penalties .article-match-scoreboard__support-center::before,
    .article-match-scoreboard .article-match-scoreboard__support--assists:not(.article-match-scoreboard__support--single) .article-match-scoreboard__support-center::before,
    .article-match-scoreboard--match-page .article-match-scoreboard__support--goals .article-match-scoreboard__support-center::before,
    .article-match-scoreboard--match-page .article-match-scoreboard__support--penalties .article-match-scoreboard__support-center::before,
    .article-match-scoreboard--match-page .article-match-scoreboard__support--assists:not(.article-match-scoreboard__support--single) .article-match-scoreboard__support-center::before {
        color: #ffffff !important;
        content: attr(aria-label) !important;
        display: block !important;
        font-family: var(--font-display) !important;
        font-size: clamp(1.02rem, 4vw, 1.25rem) !important;
        font-weight: 950 !important;
        letter-spacing: .02em !important;
        line-height: 1.2 !important;
        text-align: center !important;
        text-transform: none !important;
        white-space: nowrap !important;
    }

    .article-match-scoreboard .article-match-scoreboard__support-col--home,
    .article-match-scoreboard--match-page .article-match-scoreboard__support-col--home {
        grid-area: home-events !important;
        grid-column: 1 !important;
        min-width: 0 !important;
        text-align: left !important;
        width: 100% !important;
    }

    .article-match-scoreboard .article-match-scoreboard__support-col--away,
    .article-match-scoreboard--match-page .article-match-scoreboard__support-col--away {
        grid-area: away-events !important;
        grid-column: 2 !important;
        min-width: 0 !important;
        text-align: left !important;
        width: 100% !important;
    }

    .article-match-scoreboard .article-match-scoreboard__support-col strong,
    .article-match-scoreboard--match-page .article-match-scoreboard__support-col strong {
        display: block !important;
        font-size: clamp(.86rem, 3.25vw, 1rem) !important;
        font-weight: 900 !important;
        line-height: 1.45 !important;
        margin: 0 !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow-wrap: break-word !important;
        text-align: left !important;
        white-space: normal !important;
        word-break: normal !important;
        hyphens: none !important;
    }

    .article-match-scoreboard .article-match-scoreboard__support-col strong span,
    .article-match-scoreboard--match-page .article-match-scoreboard__support-col strong span {
        display: block !important;
        margin: 0 0 .15rem !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow-wrap: break-word !important;
        text-align: left !important;
        white-space: normal !important;
        word-break: normal !important;
        hyphens: none !important;
    }

    .article-match-scoreboard .article-match-scoreboard__support-center--empty,
    .article-match-scoreboard--match-page .article-match-scoreboard__support-center--empty {
        display: none !important;
        visibility: hidden !important;
    }
}

@media (max-width: 420px) {
    .article-match-scoreboard .article-match-scoreboard__support--goals,
    .article-match-scoreboard .article-match-scoreboard__support--penalties,
    .article-match-scoreboard .article-match-scoreboard__support--assists:not(.article-match-scoreboard__support--single),
    .article-match-scoreboard--match-page .article-match-scoreboard__support--goals,
    .article-match-scoreboard--match-page .article-match-scoreboard__support--penalties,
    .article-match-scoreboard--match-page .article-match-scoreboard__support--assists:not(.article-match-scoreboard__support--single) {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        gap: .42rem clamp(.65rem, 3.4vw, 1rem) !important;
    }

    .article-match-scoreboard .article-match-scoreboard__support-col strong,
    .article-match-scoreboard--match-page .article-match-scoreboard__support-col strong {
        font-size: clamp(.78rem, 3.55vw, .92rem) !important;
        line-height: 1.42 !important;
    }
}

/* v299: scoreboard event columns mirror team sides on match and article scorecards */
.article-match-scoreboard .article-match-scoreboard__support-col--home,
.article-match-scoreboard--match-page .article-match-scoreboard__support-col--home {
    display: flex !important;
    justify-content: flex-end !important;
    justify-items: end !important;
    text-align: right !important;
}

.article-match-scoreboard .article-match-scoreboard__support-col--away,
.article-match-scoreboard--match-page .article-match-scoreboard__support-col--away {
    display: flex !important;
    justify-content: flex-start !important;
    justify-items: start !important;
    text-align: left !important;
}

.article-match-scoreboard .article-match-scoreboard__support-col--home strong,
.article-match-scoreboard--match-page .article-match-scoreboard__support-col--home strong {
    display: grid !important;
    justify-items: end !important;
    margin-left: auto !important;
    margin-right: 0 !important;
    max-width: 100% !important;
    text-align: right !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    hyphens: none !important;
}

.article-match-scoreboard .article-match-scoreboard__support-col--away strong,
.article-match-scoreboard--match-page .article-match-scoreboard__support-col--away strong {
    display: grid !important;
    justify-items: start !important;
    margin-left: 0 !important;
    margin-right: auto !important;
    max-width: 100% !important;
    text-align: left !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    hyphens: none !important;
}

.article-match-scoreboard .article-match-scoreboard__support-col--home strong span,
.article-match-scoreboard--match-page .article-match-scoreboard__support-col--home strong span {
    display: block !important;
    margin-left: auto !important;
    margin-right: 0 !important;
    max-width: 100% !important;
    text-align: right !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    hyphens: none !important;
}

.article-match-scoreboard .article-match-scoreboard__support-col--away strong span,
.article-match-scoreboard--match-page .article-match-scoreboard__support-col--away strong span {
    display: block !important;
    margin-left: 0 !important;
    margin-right: auto !important;
    max-width: 100% !important;
    text-align: left !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    hyphens: none !important;
}

@media (max-width: 900px) {
    .article-match-scoreboard .article-match-scoreboard__support--goals,
    .article-match-scoreboard .article-match-scoreboard__support--penalties,
    .article-match-scoreboard .article-match-scoreboard__support--assists:not(.article-match-scoreboard__support--single),
    .article-match-scoreboard--match-page .article-match-scoreboard__support--goals,
    .article-match-scoreboard--match-page .article-match-scoreboard__support--penalties,
    .article-match-scoreboard--match-page .article-match-scoreboard__support--assists:not(.article-match-scoreboard__support--single) {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        grid-template-areas:
            "event-title event-title"
            "home-events away-events" !important;
    }

    .article-match-scoreboard .article-match-scoreboard__support-col--home,
    .article-match-scoreboard--match-page .article-match-scoreboard__support-col--home {
        grid-area: home-events !important;
        grid-column: 1 !important;
        justify-content: flex-end !important;
        text-align: right !important;
    }

    .article-match-scoreboard .article-match-scoreboard__support-col--away,
    .article-match-scoreboard--match-page .article-match-scoreboard__support-col--away {
        grid-area: away-events !important;
        grid-column: 2 !important;
        justify-content: flex-start !important;
        text-align: left !important;
    }
}

/* v300: Kisure Newsroom Editor admin panel */
.newsroom-editor-panel {
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 16px 42px rgba(15, 23, 42, .08);
}
.newsroom-editor-score-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}
.newsroom-editor-score-card {
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(14, 125, 121, .08), rgba(255, 255, 255, .96));
    padding: 16px;
    display: grid;
    gap: 6px;
}
.newsroom-editor-score-card span {
    font-size: .72rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #0e7d79;
}
.newsroom-editor-score-card strong {
    font-size: 1.45rem;
    color: #0f172a;
}
.newsroom-editor-score-card small {
    color: #64748b;
    line-height: 1.45;
}
.newsroom-editor-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}
.newsroom-editor-notes {
    white-space: pre-wrap;
    background: #0f172a;
    color: #e2e8f0;
    border-radius: 16px;
    padding: 14px 16px;
    font-size: .86rem;
    line-height: 1.55;
}
.newsroom-editor-preview,
.newsroom-editor-signals {
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 18px;
    padding: 14px 16px;
    background: #fff;
}
.newsroom-editor-preview summary,
.newsroom-editor-signals summary {
    cursor: pointer;
    font-weight: 900;
    color: #0e7d79;
    text-transform: uppercase;
    letter-spacing: .06em;
    font-size: .78rem;
}
.newsroom-editor-preview-grid {
    display: grid;
    grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
    gap: 18px;
}
.newsroom-editor-preview-grid h5 {
    font-size: .78rem;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-weight: 900;
    color: #0f172a;
    margin-bottom: 6px;
}
.newsroom-editor-article-preview {
    max-height: 360px;
    overflow: auto;
    border-radius: 14px;
    background: #f8fafc;
    padding: 14px;
    color: #1f2937;
    line-height: 1.65;
}
.newsroom-editor-signal-list {
    display: grid;
    gap: 10px;
}
.newsroom-editor-signal {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 6px 12px;
    border-radius: 14px;
    background: #f8fafc;
    padding: 12px;
}
.newsroom-editor-signal strong {
    color: #0f172a;
}
.newsroom-editor-signal span {
    font-weight: 900;
    color: #0e7d79;
}
.newsroom-editor-signal p {
    grid-column: 1 / -1;
    margin: 0;
    color: #64748b;
}
@media (max-width: 860px) {
    .newsroom-editor-score-grid,
    .newsroom-editor-preview-grid {
        grid-template-columns: 1fr;
    }
}

/* v303 Sports Desk hero dark-mode readability fallback. */
.sports-desk-page .sports-desk-home-hero .hero-story--showcase .hero-story__content--showcase,
.sports-desk-page .sports-desk-home-hero .hero-story--feature .hero-story__content--showcase {
    background:
        linear-gradient(90deg, rgba(3, 10, 24, .82) 0%, rgba(3, 10, 24, .54) 42%, rgba(3, 10, 24, .16) 100%),
        linear-gradient(180deg, rgba(3, 10, 24, .02) 0%, rgba(3, 10, 24, .20) 52%, rgba(3, 10, 24, .54) 100%) !important;
}
html[data-theme="dark"] .sports-desk-page .sports-desk-home-hero.hero-grid--showcase,
html[data-theme="dark"] .sports-desk-page .sports-desk-home-hero .story-tile--showcase {
    background: #0f172a !important;
    border-color: rgba(148, 163, 184, .24) !important;
    color: #e5edf8 !important;
}
html[data-theme="dark"] .sports-desk-page .sports-desk-home-hero .story-title--sm {
    color: #f8fafc !important;
}
html[data-theme="dark"] .sports-desk-page .sports-desk-home-hero .story-meta,
html[data-theme="dark"] .sports-desk-page .sports-desk-home-hero .story-meta span {
    color: #cbd5e1 !important;
}


/* v304 Sports Desk hero image clarity and brand-uniform text panel.
   Keep the photo clear. Only the copy block gets the dark/teal readability tint. */
.sports-desk-page .sports-desk-home-hero .hero-story--showcase .hero-story__content--showcase,
.sports-desk-page .sports-desk-home-hero .hero-story--feature .hero-story__content--showcase {
    background: transparent !important;
}
.sports-desk-page .sports-desk-home-hero .hero-story--showcase::before,
.sports-desk-page .sports-desk-home-hero .hero-story--feature::before,
.sports-desk-page .sports-desk-home-hero .hero-story--showcase::after,
.sports-desk-page .sports-desk-home-hero .hero-story--feature::after {
    opacity: 0 !important;
    background: transparent !important;
    pointer-events: none !important;
}
.sports-desk-page .sports-desk-home-hero .hero-story--showcase .hero-story__media img {
    filter: none !important;
    opacity: 1 !important;
    transform: scale(1.01);
}
.sports-desk-page .sports-desk-home-hero .hero-story--showcase .hero-story__copy,
.sports-desk-page .sports-desk-home-hero .hero-story--feature .hero-story__copy {
    position: relative;
    isolation: isolate;
    width: min(620px, 68%);
    max-width: 620px;
    padding: clamp(1.5rem, 3vw, 2.35rem) clamp(1.4rem, 3vw, 2.55rem);
    margin-left: clamp(1.25rem, 3vw, 2.65rem);
    border-radius: 28px;
    overflow: hidden;
    background:
        linear-gradient(135deg, rgba(2, 12, 18, .92) 0%, rgba(4, 43, 47, .86) 54%, rgba(14, 125, 121, .74) 100%) !important;
    border: 1px solid rgba(255, 255, 255, .14);
    box-shadow: 0 28px 70px rgba(2, 12, 18, .38);
}
.sports-desk-page .sports-desk-home-hero .hero-story--showcase .hero-story__copy::before,
.sports-desk-page .sports-desk-home-hero .hero-story--feature .hero-story__copy::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        radial-gradient(circle at 12% 12%, rgba(255, 255, 255, .14), transparent 30%),
        linear-gradient(110deg, rgba(0, 223, 137, .18) 0%, rgba(13, 138, 250, .10) 54%, rgba(255, 255, 255, .02) 100%);
    transform: skewX(-7deg) translateX(-22px);
    transform-origin: left center;
}
.sports-desk-page .sports-desk-home-hero .hero-story--showcase .hero-kicker,
.sports-desk-page .sports-desk-home-hero .hero-story--feature .hero-kicker,
.sports-desk-page .sports-desk-home-hero .story-tile__eyebrow {
    background: rgba(14, 125, 121, .14) !important;
    color: #0e7d79 !important;
    border: 1px solid rgba(14, 125, 121, .22) !important;
}
.sports-desk-page .sports-desk-home-hero .hero-story--showcase .hero-kicker,
.sports-desk-page .sports-desk-home-hero .hero-story--feature .hero-kicker {
    background: rgba(14, 125, 121, .92) !important;
    color: #ffffff !important;
    border-color: rgba(255, 255, 255, .18) !important;
}
.sports-desk-page .sports-desk-home-hero .hero-story--showcase .story-title,
.sports-desk-page .sports-desk-home-hero .hero-story--feature .story-title,
.sports-desk-page .sports-desk-home-hero .hero-story--showcase .hero-story__meta,
.sports-desk-page .sports-desk-home-hero .hero-story--feature .hero-story__meta,
.sports-desk-page .sports-desk-home-hero .hero-story--showcase .hero-story__meta span,
.sports-desk-page .sports-desk-home-hero .hero-story--feature .hero-story__meta span {
    color: #ffffff !important;
    text-shadow: 0 2px 12px rgba(0, 0, 0, .34);
}
.sports-desk-page .sports-desk-home-hero .hero-story--showcase .hero-story__meta,
.sports-desk-page .sports-desk-home-hero .hero-story--feature .hero-story__meta {
    opacity: .94;
}
.sports-desk-page .sports-desk-home-hero .hero-story--showcase .hero-story__cta,
.sports-desk-page .sports-desk-home-hero .hero-story--feature .hero-story__cta {
    background: #ffffff !important;
    color: #07191c !important;
    border: 1px solid rgba(255, 255, 255, .28) !important;
    box-shadow: 0 12px 28px rgba(0, 0, 0, .18);
}
.sports-desk-page .sports-desk-home-hero .hero-story--showcase .hero-story__cta:hover,
.sports-desk-page .sports-desk-home-hero .hero-story--feature .hero-story__cta:hover {
    background: #0e7d79 !important;
    color: #ffffff !important;
}
.sports-desk-page .sports-desk-home-hero.hero-grid--showcase,
.sports-desk-page .sports-desk-home-hero .story-tile--showcase {
    background: var(--surface-card, #ffffff) !important;
    border-color: var(--border-subtle, rgba(15, 23, 42, .10)) !important;
    color: var(--text-main, #0f172a) !important;
}
.sports-desk-page .sports-desk-home-hero .story-tile--showcase .story-title--sm {
    color: var(--text-main, #0f172a) !important;
}
.sports-desk-page .sports-desk-home-hero .story-tile--showcase .story-meta,
.sports-desk-page .sports-desk-home-hero .story-tile--showcase .story-meta span {
    color: var(--text-muted, #64748b) !important;
}
html[data-theme="dark"] .sports-desk-page .sports-desk-home-hero.hero-grid--showcase,
html[data-theme="dark"] .sports-desk-page .sports-desk-home-hero .story-tile--showcase {
    background: var(--surface-card, #101820) !important;
    border-color: var(--border-subtle, rgba(148, 163, 184, .24)) !important;
    color: var(--text-main, #f8fafc) !important;
}
html[data-theme="dark"] .sports-desk-page .sports-desk-home-hero .story-tile--showcase .story-title--sm {
    color: var(--text-main, #f8fafc) !important;
}
html[data-theme="dark"] .sports-desk-page .sports-desk-home-hero .story-tile--showcase .story-meta,
html[data-theme="dark"] .sports-desk-page .sports-desk-home-hero .story-tile--showcase .story-meta span {
    color: var(--text-muted, #cbd5e1) !important;
}
@media (max-width: 991px) {
    .sports-desk-page .sports-desk-home-hero .hero-story--showcase .hero-story__content--showcase,
    .sports-desk-page .sports-desk-home-hero .hero-story--feature .hero-story__content--showcase {
        align-items: flex-end !important;
    }
    .sports-desk-page .sports-desk-home-hero .hero-story--showcase .hero-story__copy,
    .sports-desk-page .sports-desk-home-hero .hero-story--feature .hero-story__copy {
        width: calc(100% - 2rem);
        max-width: none;
        margin: 1rem;
        padding: 1.35rem;
        border-radius: 22px;
    }
}
@media (max-width: 560px) {
    .sports-desk-page .sports-desk-home-hero .hero-story--showcase .hero-story__copy,
    .sports-desk-page .sports-desk-home-hero .hero-story--feature .hero-story__copy {
        width: calc(100% - 1rem);
        margin: .5rem;
        padding: 1.1rem;
    }
}

/* v305 Sports Desk rebuild: clean newsroom showcase, clear hero image, brand colours and full dark-mode support. */
.sports-desk-page {
    --sportsdesk-brand: #0e7d79;
    --sportsdesk-brand-strong: #08716d;
    --sportsdesk-blue: #0D8AFA;
    --sportsdesk-mint: rgba(14, 125, 121, .10);
    --sportsdesk-card: var(--surface-card, #ffffff);
    --sportsdesk-card-soft: var(--surface-soft, #f8fafc);
    --sportsdesk-border: var(--border-subtle, rgba(15, 23, 42, .10));
    --sportsdesk-text: var(--text-main, #0f172a);
    --sportsdesk-muted: var(--text-muted, #64748b);
}
.sports-desk-page .sports-desk-intro,
.sports-desk-page .sports-desk-data-strip,
.sports-desk-showcase-v305,
.sports-desk-page .football-section,
.sports-desk-page .football-side-panel {
    background: var(--sportsdesk-card) !important;
    border: 1px solid var(--sportsdesk-border) !important;
    color: var(--sportsdesk-text) !important;
    box-shadow: 0 18px 42px rgba(15, 23, 42, .08) !important;
}
.sports-desk-page .sports-desk-intro,
.sports-desk-page .sports-desk-data-strip {
    background:
        radial-gradient(circle at 94% 6%, rgba(14, 125, 121, .12), transparent 28%),
        var(--sportsdesk-card) !important;
}
.sports-desk-page .site-kicker,
.sports-desk-page .section-heading .site-kicker {
    color: var(--sportsdesk-brand) !important;
}
.sports-desk-showcase-v305 {
    display: grid;
    grid-template-columns: minmax(0, 1.85fr) minmax(330px, .92fr);
    gap: clamp(1rem, 2vw, 1.4rem);
    padding: clamp(.95rem, 1.8vw, 1.35rem);
    border-radius: 30px;
    overflow: hidden;
}
.sports-desk-lead-v305 {
    position: relative;
    min-height: clamp(430px, 42vw, 620px);
    border-radius: 24px;
    overflow: hidden;
    background: #081116;
    border: 1px solid rgba(15, 23, 42, .08);
    box-shadow: 0 18px 36px rgba(15, 23, 42, .16);
    isolation: isolate;
}
.sports-desk-lead-v305__media {
    position: absolute;
    inset: 0;
    display: block;
    z-index: 1;
}
.sports-desk-lead-v305__media picture,
.sports-desk-lead-v305__media img {
    width: 100%;
    height: 100%;
    display: block;
}
.sports-desk-lead-v305__media img {
    object-fit: cover;
    filter: none !important;
    opacity: 1 !important;
    transform: scale(1.01);
}
.sports-desk-lead-v305::after {
    content: "";
    position: absolute;
    inset: auto 0 0 0;
    height: 44%;
    z-index: 2;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(2, 6, 23, 0) 0%, rgba(2, 6, 23, .38) 100%);
}
.sports-desk-lead-v305__copy {
    position: absolute;
    left: clamp(1rem, 3vw, 2rem);
    bottom: clamp(1rem, 3vw, 2rem);
    z-index: 3;
    width: min(530px, calc(100% - 2rem));
    display: grid;
    gap: .9rem;
    padding: clamp(1.1rem, 2.3vw, 1.65rem);
    border-radius: 24px;
    background: linear-gradient(135deg, rgba(2, 18, 22, .78) 0%, rgba(5, 41, 45, .66) 62%, rgba(14, 125, 121, .46) 100%);
    border: 1px solid rgba(255, 255, 255, .17);
    box-shadow: 0 20px 44px rgba(2, 6, 23, .32);
    backdrop-filter: blur(8px) saturate(125%);
    -webkit-backdrop-filter: blur(8px) saturate(125%);
}
.sports-desk-lead-v305__copy::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    border-radius: inherit;
    background: linear-gradient(112deg, rgba(255, 255, 255, .12), transparent 42%);
}
.sports-desk-kicker-v305,
.sports-desk-mini-v305__kicker {
    width: max-content;
    max-width: 100%;
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: .35rem .82rem;
    border-radius: 999px;
    color: #ffffff;
    background: var(--sportsdesk-brand);
    border: 1px solid rgba(255, 255, 255, .22);
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
    font-size: .78rem;
    line-height: 1;
}
.sports-desk-lead-v305__copy h1 {
    margin: 0;
    max-width: 12.5ch;
    color: #ffffff;
    font-size: clamp(2rem, 4.4vw, 4.1rem);
    line-height: .98;
    letter-spacing: -.05em;
    text-wrap: balance;
}
.sports-desk-lead-v305__copy h1 a {
    color: inherit;
    text-decoration: none;
}
.sports-desk-meta-v305 {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .55rem .85rem;
    color: rgba(255, 255, 255, .92);
    font-weight: 750;
    font-size: clamp(.93rem, 1.2vw, 1.05rem);
}
.sports-desk-meta-v305 .dot {
    width: 5px;
    height: 5px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .48);
}
.sports-desk-cta-v305 {
    width: max-content;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    min-height: 46px;
    padding: .72rem 1.2rem;
    border-radius: 999px;
    background: #ffffff;
    color: #07191c;
    text-decoration: none;
    font-weight: 900;
    box-shadow: 0 12px 28px rgba(2, 6, 23, .26);
    transition: transform .2s ease, background .2s ease, color .2s ease;
}
.sports-desk-cta-v305:hover {
    transform: translateY(-1px);
    background: var(--sportsdesk-brand);
    color: #ffffff;
}
.sports-desk-rail-v305 {
    display: grid;
    gap: clamp(.85rem, 1.5vw, 1rem);
    align-content: stretch;
}
.sports-desk-mini-v305 {
    display: grid;
    grid-template-columns: minmax(120px, 34%) minmax(0, 1fr);
    gap: 1rem;
    align-items: center;
    min-height: 156px;
    padding: clamp(.75rem, 1.4vw, 1rem);
    border-radius: 24px;
    background: var(--sportsdesk-card-soft);
    border: 1px solid var(--sportsdesk-border);
    color: var(--sportsdesk-text);
    text-decoration: none;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .06);
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.sports-desk-mini-v305:hover {
    transform: translateY(-2px);
    border-color: rgba(14, 125, 121, .26);
    box-shadow: 0 18px 34px rgba(14, 125, 121, .13);
}
.sports-desk-mini-v305__media {
    display: block;
    aspect-ratio: 1.35 / 1;
    overflow: hidden;
    border-radius: 16px;
    background: #e2e8f0;
}
.sports-desk-mini-v305__media picture,
.sports-desk-mini-v305__media img {
    width: 100%;
    height: 100%;
    display: block;
}
.sports-desk-mini-v305__media img {
    object-fit: cover;
    transform: scale(1.01);
}
.sports-desk-mini-v305__body {
    min-width: 0;
    display: grid;
    gap: .55rem;
}
.sports-desk-mini-v305__kicker {
    min-height: 24px;
    padding: .28rem .56rem;
    color: var(--sportsdesk-brand);
    background: var(--sportsdesk-mint);
    border: 1px solid rgba(14, 125, 121, .16);
    font-size: .68rem;
    letter-spacing: .16em;
}
.sports-desk-mini-v305 strong {
    color: var(--sportsdesk-text);
    font-size: clamp(1.02rem, 1.25vw, 1.25rem);
    line-height: 1.18;
    letter-spacing: -.025em;
    text-wrap: balance;
}
.sports-desk-mini-v305 small {
    color: var(--sportsdesk-muted);
    font-size: .96rem;
    font-weight: 700;
}
.sports-desk-page .football-sidebar-stack {
    align-self: start;
}
html[data-theme="dark"] .sports-desk-page {
    --sportsdesk-card: var(--surface-card, #101820);
    --sportsdesk-card-soft: rgba(15, 23, 42, .74);
    --sportsdesk-border: rgba(148, 163, 184, .20);
    --sportsdesk-text: #f8fafc;
    --sportsdesk-muted: #cbd5e1;
    --sportsdesk-mint: rgba(20, 184, 166, .16);
}
html[data-theme="dark"] .sports-desk-page .sports-desk-intro,
html[data-theme="dark"] .sports-desk-page .sports-desk-data-strip,
html[data-theme="dark"] .sports-desk-showcase-v305,
html[data-theme="dark"] .sports-desk-page .football-section,
html[data-theme="dark"] .sports-desk-page .football-side-panel {
    box-shadow: 0 18px 42px rgba(0, 0, 0, .26) !important;
}
html[data-theme="dark"] .sports-desk-mini-v305 {
    background: rgba(15, 23, 42, .74);
}
html[data-theme="dark"] .sports-desk-mini-v305__media {
    background: #0b1120;
}
html[data-theme="dark"] .sports-desk-mini-v305 strong {
    color: #f8fafc;
}
html[data-theme="dark"] .sports-desk-mini-v305 small {
    color: #cbd5e1;
}
@media (max-width: 1180px) {
    .sports-desk-showcase-v305 {
        grid-template-columns: 1fr;
    }
    .sports-desk-rail-v305 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .sports-desk-mini-v305 {
        grid-template-columns: 1fr;
        min-height: 0;
    }
    .sports-desk-mini-v305__media {
        aspect-ratio: 16 / 9;
    }
}
@media (max-width: 760px) {
    .sports-desk-showcase-v305 {
        border-radius: 22px;
        padding: .75rem;
    }
    .sports-desk-lead-v305 {
        min-height: clamp(420px, 112vw, 560px);
        border-radius: 20px;
    }
    .sports-desk-lead-v305__copy {
        left: .75rem;
        right: .75rem;
        bottom: .75rem;
        width: auto;
        padding: 1rem;
        border-radius: 20px;
    }
    .sports-desk-lead-v305__copy h1 {
        max-width: 100%;
        font-size: clamp(1.85rem, 10vw, 3rem);
    }
    .sports-desk-rail-v305 {
        grid-template-columns: 1fr;
    }
    .sports-desk-mini-v305 {
        grid-template-columns: 112px minmax(0, 1fr);
        border-radius: 20px;
    }
    .sports-desk-mini-v305__media {
        aspect-ratio: 1.12 / 1;
    }
}
@media (max-width: 460px) {
    .sports-desk-mini-v305 {
        grid-template-columns: 92px minmax(0, 1fr);
        gap: .75rem;
    }
    .sports-desk-kicker-v305,
    .sports-desk-mini-v305__kicker {
        letter-spacing: .1em;
    }
    .sports-desk-cta-v305 {
        width: 100%;
    }
}

/* v318: prediction/result buttons also cover cancelled, postponed, suspended and other terminal fixture states. */
.football-schedule-row__prediction--postponed,
.football-schedule-row__prediction--suspended,
.football-schedule-row__prediction--interrupted,
.football-schedule-row__prediction--sync {
    background: rgba(254, 243, 199, .95) !important;
    border-color: rgba(245, 158, 11, .34) !important;
    color: #92400e !important;
}
.football-schedule-row__prediction--cancelled,
.football-schedule-row__prediction--abandoned {
    background: rgba(254, 226, 226, .92) !important;
    border-color: rgba(220, 38, 38, .24) !important;
    color: #991b1b !important;
}
.football-schedule-row__prediction--awarded,
.football-schedule-row__prediction--walkover {
    background: rgba(237, 233, 254, .95) !important;
    border-color: rgba(124, 58, 237, .28) !important;
    color: #5b21b6 !important;
}
html[data-theme="dark"] .football-schedule-row__prediction--postponed,
html[data-theme="dark"] .football-schedule-row__prediction--suspended,
html[data-theme="dark"] .football-schedule-row__prediction--interrupted,
html[data-theme="dark"] .football-schedule-row__prediction--sync {
    background: rgba(69, 45, 10, .82) !important;
    border-color: rgba(251, 191, 36, .30) !important;
    color: #fde68a !important;
}
html[data-theme="dark"] .football-schedule-row__prediction--cancelled,
html[data-theme="dark"] .football-schedule-row__prediction--abandoned {
    background: rgba(127, 29, 29, .48) !important;
    border-color: rgba(248, 113, 113, .24) !important;
    color: #fecaca !important;
}
html[data-theme="dark"] .football-schedule-row__prediction--awarded,
html[data-theme="dark"] .football-schedule-row__prediction--walkover {
    background: rgba(46, 16, 101, .54) !important;
    border-color: rgba(167, 139, 250, .25) !important;
    color: #ddd6fe !important;
}

/* v326 archive/card balance: keep odd fallback rows from leaving an obvious empty slot. */
.news-grid > .news-card--balance-last,
.news-grid--cards > .news-card--balance-last,
.content-grid .news-grid > .news-card--balance-last,
.content-grid .news-grid--cards > .news-card--balance-last,
.stack-grid .news-grid > .news-card--balance-last,
.stack-grid .news-grid--cards > .news-card--balance-last {
    grid-column: 1 / -1 !important;
}

@media (max-width: 520px) {
    .news-grid > .news-card--balance-last,
    .news-grid--cards > .news-card--balance-last,
    .content-grid .news-grid > .news-card--balance-last,
    .content-grid .news-grid--cards > .news-card--balance-last,
    .stack-grid .news-grid > .news-card--balance-last,
    .stack-grid .news-grid--cards > .news-card--balance-last {
        grid-column: auto !important;
    }
}

/* v331 homepage fixture prediction outcome buttons */
.football-home-board .football-fixture-tile__actions {
    justify-content: center;
    padding: .7rem 1rem .95rem;
}

.football-home-board .football-fixture-tile__actions .football-schedule-row__prediction {
    justify-content: center;
    min-width: 142px;
    width: auto;
}

.football-home-board .football-fixture-tile__actions .football-schedule-row__prediction--won {
    background: rgba(34, 197, 94, .12) !important;
    border-color: rgba(34, 197, 94, .28) !important;
    color: #15803d !important;
}

.football-home-board .football-fixture-tile__actions .football-schedule-row__prediction--lost {
    background: rgba(239, 68, 68, .10) !important;
    border-color: rgba(239, 68, 68, .24) !important;
    color: #dc2626 !important;
}

.football-home-board .football-fixture-tile__actions .football-schedule-row__prediction--void,
.football-home-board .football-fixture-tile__actions .football-schedule-row__prediction--settled,
.football-home-board .football-fixture-tile__actions .football-schedule-row__prediction--sync {
    background: rgba(100, 116, 139, .12) !important;
    border-color: rgba(100, 116, 139, .26) !important;
    color: #475569 !important;
}

.football-home-board .football-fixture-tile__actions .football-schedule-row__prediction--cancelled,
.football-home-board .football-fixture-tile__actions .football-schedule-row__prediction--postponed,
.football-home-board .football-fixture-tile__actions .football-schedule-row__prediction--suspended,
.football-home-board .football-fixture-tile__actions .football-schedule-row__prediction--interrupted,
.football-home-board .football-fixture-tile__actions .football-schedule-row__prediction--abandoned,
.football-home-board .football-fixture-tile__actions .football-schedule-row__prediction--awarded,
.football-home-board .football-fixture-tile__actions .football-schedule-row__prediction--walkover {
    background: rgba(245, 158, 11, .12) !important;
    border-color: rgba(245, 158, 11, .30) !important;
    color: #b45309 !important;
}

/* v335 club/player football profile rebuild */
.football-club-page-v335,
.football-club-page-v337,
.football-player-page-v335 {
    display: grid;
    gap: 1.15rem;
}

.football-club-hero--v335,
.football-club-hero--v337,
.football-player-hero--v335 {
    position: relative;
    overflow: hidden;
}

.football-club-hero__quick,
.football-player-hero__quick {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .65rem;
    margin: 1rem 0 .25rem;
    max-width: 760px;
}

.football-club-hero__quick span,
.football-player-hero__quick span {
    background: rgba(255,255,255,.82);
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 16px;
    box-shadow: 0 10px 24px rgba(15,23,42,.06);
    display: grid;
    gap: .15rem;
    padding: .72rem .85rem;
}

.football-club-hero__quick strong,
.football-player-hero__quick strong {
    color: #0b1632;
    font-size: 1.2rem;
    font-weight: 950;
    line-height: 1;
}

.football-club-hero__quick small,
.football-player-hero__quick small {
    color: #52637c;
    font-size: .72rem;
    font-weight: 900;
    line-height: 1.18;
    text-transform: uppercase;
}

.football-layout--club-overview,
.football-layout--player-profile {
    align-items: start;
    grid-template-columns: minmax(0, 1fr) minmax(310px, 380px);
}

.football-club-main-stack,
.football-player-main-stack,
.football-sidebar-stack--club,
.football-sidebar-stack--player {
    display: grid;
    gap: 1rem;
    min-width: 0;
}

.football-sidebar-stack--club,
.football-sidebar-stack--player {
    align-self: start;
    position: sticky;
    top: calc(var(--sticky-offset, 96px) + 12px);
}

.football-player-grid--compact-first {
    grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
}

.football-player-card--profile {
    align-content: start;
    min-height: 188px;
}

.football-player-card--profile img,
.football-player-card--profile b {
    height: 74px;
    width: 74px;
}

.football-player-card--profile span {
    line-height: 1.12;
}

.football-club-split {
    display: grid;
    grid-template-columns: minmax(0, .98fr) minmax(280px, .82fr);
    gap: 1rem;
}

.football-data-grid--club-notes,
.football-data-grid--sidebar {
    grid-template-columns: 1fr;
}

.football-transfer-list--compact {
    display: grid;
    gap: .7rem;
}

.football-mini-table--team-default {
    gap: .48rem;
}

.football-mini-table__group-label {
    display: inline-flex;
    align-items: center;
    gap: .48rem;
    width: fit-content;
    max-width: 100%;
    margin: .2rem 0 .75rem;
    padding: .45rem .7rem;
    border: 1px solid rgba(14,165,164,.18);
    border-radius: 999px;
    background: rgba(14,165,164,.08);
    color: #0f766e;
    font-size: .76rem;
    font-weight: 900;
    line-height: 1.1;
}

.football-mini-table__group-label span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.football-mini-table--team-default .football-mini-table__header,
.football-mini-table--team-default a {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr) 28px 38px;
    align-items: center;
    justify-content: stretch;
    gap: .55rem;
}

.football-mini-table--team-default .football-mini-table__header {
    padding: .2rem .78rem .05rem;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--text-soft);
    font-size: .66rem;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.football-mini-table--team-default .football-mini-table__header span:nth-child(3),
.football-mini-table--team-default .football-mini-table__header span:nth-child(4) {
    text-align: center;
}

.football-mini-table--team-default a {
    gap: .55rem;
    padding: .7rem .78rem;
}

.football-mini-table--team-default a > span,
.football-mini-table--team-default a > em {
    text-align: center;
}

.football-mini-table--team-default a strong {
    min-width: 0;
    overflow: hidden;
}

.football-mini-table--team-default a strong > span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.football-mini-table--team-default a em {
    color: var(--text);
    font-style: normal;
    font-weight: 950;
}

.football-mini-table--team-default .football-mini-table__played {
    color: var(--text-soft);
    font-size: .78rem;
    font-weight: 850;
}

.football-mini-table--team-default .football-mini-table__empty {
    display: block;
    text-align: center;
}

.football-mini-table--team-default a.is-active {
    background: linear-gradient(90deg, rgba(14,165,164,.14), rgba(255,255,255,.94));
}

.football-profile-history--grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(245px, 1fr));
    gap: .75rem;
}

.football-profile-history--grid .football-profile-history__row {
    margin: 0;
}

.football-article-list--grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

@media (max-width: 1180px) {
    .football-layout--club-overview,
    .football-layout--player-profile {
        grid-template-columns: 1fr;
    }

    .football-sidebar-stack--club,
    .football-sidebar-stack--player {
        position: static;
    }
}

@media (max-width: 760px) {
    .football-club-hero__quick,
    .football-player-hero__quick {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
    }

    .football-club-split {
        grid-template-columns: 1fr;
    }

    .football-player-grid--compact-first {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .football-player-card--profile {
        min-height: 164px;
        padding: .75rem;
    }

    .football-player-card--profile img,
    .football-player-card--profile b {
        height: 60px;
        width: 60px;
    }
}

@media (max-width: 480px) {
    .football-mini-table--team-default .football-mini-table__header,
    .football-mini-table--team-default a {
        grid-template-columns: 28px minmax(0, 1fr) 25px 34px;
        gap: .4rem;
    }

    .football-mini-table--team-default a {
        padding-inline: .65rem;
    }

    .football-mini-table--team-default img {
        width: 24px;
        height: 24px;
    }

    .football-player-grid--compact-first {
        grid-template-columns: 1fr;
    }

    .football-club-hero__quick,
    .football-player-hero__quick {
        grid-template-columns: 1fr;
    }
}

html[data-theme="dark"] .football-club-hero__quick span,
html[data-theme="dark"] .football-player-hero__quick span {
    background: rgba(15,23,42,.84);
    border-color: rgba(255,255,255,.08);
}

html[data-theme="dark"] .football-club-hero__quick strong,
html[data-theme="dark"] .football-player-hero__quick strong {
    color: #f8fafc;
}

html[data-theme="dark"] .football-club-hero__quick small,
html[data-theme="dark"] .football-player-hero__quick small {
    color: #cbd5e1;
}


/* v337: club pages must favour the team's default domestic league over temporary cups. */
.football-club-page-v337 .football-club-hero__content > p {
    text-transform: none;
}
.football-mini-table--team-default a.is-active {
    outline: 1px solid color-mix(in srgb, var(--site-primary, #0ea5a4) 45%, transparent);
}

/* v345 club profile context placement and resilient fallback pages */
.football-club-context-section {
    scroll-margin-top: calc(var(--sticky-offset, 96px) + 18px);
}

.football-club-context-section .football-data-grid--club-notes {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.football-club-context-section .football-data-card {
    min-width: 0;
}

.football-club-context-section .football-data-card p,
.football-transfer-section .football-transfer-card p,
.football-transfer-section .football-transfer-card strong,
.football-transfer-section .football-transfer-card span {
    overflow-wrap: anywhere;
    word-break: normal;
}

.football-transfer-section {
    min-width: 0;
}

@media (max-width: 640px) {
    .football-club-context-section .football-data-grid--club-notes {
        grid-template-columns: 1fr;
    }
}


/* v354: balanced aggregate summary and group-aware club mini tables. */
html[data-theme="dark"] .football-two-leg-modal__aggregate-label {
    background: #14b8a6;
    color: #021a18;
}

html[data-theme="dark"] .football-club-page-v337 .football-mini-table__group-label {
    border-color: rgba(45,212,191,.22);
    background: rgba(13,148,136,.16);
    color: #5eead4;
}

html[data-theme="dark"] .football-club-page-v337 .football-mini-table--team-default .football-mini-table__header {
    color: #94a3b8;
}

html[data-theme="dark"] .football-club-page-v337 .football-mini-table--team-default .football-mini-table__played {
    color: #94a3b8;
}

/* v356: article gallery showcase, viewport-level lightbox, and final overlay isolation. */
.article-gallery-showcase {
    display: grid;
    gap: 1rem;
    padding: clamp(1rem, 2vw, 1.4rem);
    border: 1px solid rgba(15, 23, 42, .09);
    border-radius: 28px;
    background: linear-gradient(145deg, #ffffff 0%, #f4f9fb 100%);
    box-shadow: 0 20px 50px rgba(15, 23, 42, .08);
    overflow: hidden;
}

.article-gallery-showcase__header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
}

.article-gallery-showcase__header > div {
    min-width: 0;
}

.article-gallery-showcase__header h2 {
    margin: .22rem 0 0;
    color: var(--text, #0f172a);
    font-family: var(--font-display);
    font-size: clamp(1.35rem, 2.2vw, 2rem);
    line-height: 1.08;
    text-wrap: balance;
}

.article-gallery-showcase__count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .48rem;
    flex: 0 0 auto;
    min-height: 2.55rem;
    padding: .58rem .9rem;
    border: 1px solid rgba(14, 125, 121, .18);
    border-radius: 999px;
    background: rgba(14, 125, 121, .09);
    color: #0f766e;
    font-size: .82rem;
    font-weight: 900;
}

.article-gallery-showcase__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 28%);
    gap: .85rem;
    min-width: 0;
}

.article-gallery-showcase__grid.is-single {
    grid-template-columns: minmax(0, 1fr);
}

.article-gallery-showcase button {
    appearance: none;
    border: 0;
    cursor: pointer;
    font: inherit;
}

.article-gallery-showcase__lead,
.article-gallery-showcase__thumb {
    position: relative;
    display: block;
    min-width: 0;
    overflow: hidden;
    background: #07111f;
}

.article-gallery-showcase__lead {
    min-height: clamp(330px, 43vw, 560px);
    border-radius: 22px;
}

.article-gallery-showcase__lead picture,
.article-gallery-showcase__lead img,
.article-gallery-showcase__thumb picture,
.article-gallery-showcase__thumb img {
    display: block;
    width: 100%;
    height: 100%;
}

.article-gallery-showcase__lead img,
.article-gallery-showcase__thumb img {
    object-fit: cover;
    transition: transform .28s ease, filter .28s ease;
}

.article-gallery-showcase__lead:hover img,
.article-gallery-showcase__thumb:hover img {
    transform: scale(1.025);
    filter: saturate(1.04);
}

.article-gallery-showcase__lead:focus-visible,
.article-gallery-showcase__thumb:focus-visible {
    outline: 3px solid #14b8a6;
    outline-offset: 3px;
}

.article-gallery-showcase__lead-overlay {
    position: absolute;
    inset: auto 0 0;
    z-index: 2;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    padding: clamp(1rem, 2.2vw, 1.55rem);
    background: linear-gradient(180deg, transparent 0%, rgba(3, 10, 24, .88) 100%);
    color: #fff;
    text-align: left;
}

.article-gallery-showcase__caption {
    max-width: 68ch;
    font-size: clamp(.92rem, 1.15vw, 1.08rem);
    font-weight: 750;
    line-height: 1.35;
}

.article-gallery-showcase__open {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    flex: 0 0 auto;
    min-height: 2.7rem;
    padding: .65rem .9rem;
    border: 1px solid rgba(255, 255, 255, .26);
    border-radius: 999px;
    background: rgba(255, 255, 255, .14);
    backdrop-filter: blur(10px);
    font-size: .82rem;
    font-weight: 900;
}

.article-gallery-showcase__rail {
    display: grid;
    grid-template-rows: repeat(3, minmax(0, 1fr));
    gap: .85rem;
    min-height: 0;
}

.article-gallery-showcase__thumb {
    min-height: 0;
    border-radius: 18px;
}

.article-gallery-showcase__thumb::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: inherit;
}

.article-gallery-showcase__more {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: grid;
    place-items: center;
    background: rgba(3, 10, 24, .62);
    color: #fff;
    font-family: var(--font-display);
    font-size: clamp(1.05rem, 1.8vw, 1.45rem);
    font-weight: 950;
}

html[data-theme="dark"] .article-gallery-showcase {
    border-color: rgba(148, 163, 184, .14);
    background: linear-gradient(145deg, #081526 0%, #0b1b2f 100%);
    box-shadow: 0 22px 54px rgba(0, 0, 0, .28);
}

html[data-theme="dark"] .article-gallery-showcase__count {
    border-color: rgba(45, 212, 191, .22);
    background: rgba(13, 148, 136, .16);
    color: #7cf1e7;
}

body.gallery-lightbox-open {
    overflow: hidden !important;
    overscroll-behavior: none !important;
    touch-action: none;
}

body > .gallery-lightbox[hidden] {
    display: none !important;
}

body > .gallery-lightbox {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147483647 !important;
    display: grid !important;
    place-items: center !important;
    width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    padding: 1rem !important;
    isolation: isolate !important;
    overflow: hidden !important;
}

body > .gallery-lightbox__placeholder {
    display: none !important;
}

body > .gallery-lightbox .gallery-lightbox__backdrop {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    background: rgba(2, 8, 20, .88) !important;
    backdrop-filter: blur(14px) !important;
}

body > .gallery-lightbox .gallery-lightbox__dialog {
    position: relative !important;
    z-index: 2 !important;
    width: min(1480px, calc(100vw - 2rem)) !important;
    height: min(880px, calc(100vh - 2rem)) !important;
    height: min(880px, calc(100dvh - 2rem)) !important;
    margin: 0 !important;
    filter: none !important;
}

body > .gallery-lightbox .gallery-lightbox__frame {
    display: grid !important;
    grid-template-columns: minmax(0, 1.62fr) minmax(340px, .72fr) !important;
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    overflow: hidden !important;
    border: 1px solid rgba(255, 255, 255, .12) !important;
    border-radius: 28px !important;
    background: #07111f !important;
    box-shadow: 0 34px 90px rgba(0, 0, 0, .48) !important;
}

body > .gallery-lightbox .gallery-lightbox__viewer {
    position: relative !important;
    display: grid !important;
    min-width: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
    background:
        radial-gradient(circle at 18% 12%, rgba(20, 184, 166, .17), transparent 30%),
        linear-gradient(145deg, #06101d 0%, #0b1728 54%, #06101d 100%) !important;
}

body > .gallery-lightbox .gallery-lightbox__stage {
    display: grid !important;
    place-items: center !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    padding: 4.6rem 5.7rem 2rem !important;
    overflow: hidden !important;
}

body > .gallery-lightbox .gallery-lightbox__slide,
body > .gallery-lightbox .gallery-lightbox__slide[data-gallery-active-slide] {
    display: grid !important;
    grid-template-rows: minmax(0, 1fr) auto !important;
    justify-items: center !important;
    align-items: center !important;
    gap: 1rem !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
}

body > .gallery-lightbox .gallery-lightbox__slide img,
body > .gallery-lightbox .gallery-lightbox__slide[data-gallery-active-slide] img {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 100% !important;
    min-height: 0 !important;
    object-fit: contain !important;
    border: 1px solid rgba(255, 255, 255, .09) !important;
    border-radius: 18px !important;
    background: #020817 !important;
    box-shadow: 0 22px 60px rgba(0, 0, 0, .34) !important;
}

body > .gallery-lightbox .gallery-lightbox__image-caption {
    width: min(760px, 100%) !important;
    margin: 0 !important;
    padding: .72rem .95rem !important;
    border: 1px solid rgba(255, 255, 255, .1) !important;
    border-radius: 14px !important;
    background: rgba(15, 23, 42, .82) !important;
    color: #f8fafc !important;
    font-size: .92rem !important;
    font-weight: 700 !important;
    line-height: 1.42 !important;
    text-align: center !important;
}

body > .gallery-lightbox .gallery-lightbox__meta {
    display: flex !important;
    flex-direction: column !important;
    gap: 1rem !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 1.55rem !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    border-left: 1px solid rgba(15, 23, 42, .08) !important;
    background: linear-gradient(180deg, #ffffff 0%, #f5f8fb 100%) !important;
}

body > .gallery-lightbox .gallery-lightbox__meta-head {
    display: grid !important;
    gap: .8rem !important;
    align-content: start !important;
}

body > .gallery-lightbox .gallery-lightbox__counter {
    width: fit-content !important;
    margin: 0 !important;
}

body > .gallery-lightbox .gallery-lightbox__meta h2 {
    margin: 0 !important;
    color: #07111f !important;
    font-size: clamp(1.55rem, 2.15vw, 2.35rem) !important;
    line-height: 1.08 !important;
    text-wrap: balance !important;
}

body > .gallery-lightbox .gallery-lightbox__full {
    width: fit-content !important;
    min-height: 2.8rem !important;
    margin: 0 !important;
}

body > .gallery-lightbox .gallery-lightbox__article-card {
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid rgba(14, 125, 121, .15) !important;
    border-left: 4px solid #0e7d79 !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 12px 30px rgba(15, 23, 42, .07) !important;
}

body > .gallery-lightbox .gallery-lightbox__article-excerpt {
    margin: 0 !important;
    padding: 1rem !important;
    color: #26384b !important;
    font-size: .98rem !important;
    font-weight: 650 !important;
    line-height: 1.55 !important;
}

body > .gallery-lightbox .gallery-lightbox__thumbs-wrap {
    margin-top: auto !important;
}

body > .gallery-lightbox .gallery-lightbox__thumbs {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: .65rem !important;
    overflow: visible !important;
}

body > .gallery-lightbox .gallery-lightbox__thumbs button {
    min-width: 0 !important;
    aspect-ratio: 4 / 3 !important;
    border-radius: 12px !important;
}

body > .gallery-lightbox .gallery-lightbox__close {
    position: absolute !important;
    top: 1rem !important;
    right: 1rem !important;
    z-index: 8 !important;
    width: 3rem !important;
    height: 3rem !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, .94) !important;
    color: #07111f !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .22) !important;
}

body > .gallery-lightbox .gallery-lightbox__nav {
    z-index: 7 !important;
    width: 3.4rem !important;
    height: 3.4rem !important;
    border: 1px solid rgba(255, 255, 255, .16) !important;
    border-radius: 50% !important;
    background: rgba(2, 8, 23, .72) !important;
    color: #fff !important;
    backdrop-filter: blur(10px) !important;
}

body > .gallery-lightbox .gallery-lightbox__nav--prev {
    left: 1.25rem !important;
}

body > .gallery-lightbox .gallery-lightbox__nav--next {
    right: 1.25rem !important;
}

html[data-theme="dark"] body > .gallery-lightbox .gallery-lightbox__meta {
    border-left-color: rgba(148, 163, 184, .14) !important;
    background: linear-gradient(180deg, #0b1728 0%, #071426 100%) !important;
}

html[data-theme="dark"] body > .gallery-lightbox .gallery-lightbox__meta h2 {
    color: #f8fafc !important;
}

html[data-theme="dark"] body > .gallery-lightbox .gallery-lightbox__article-card {
    border-color: rgba(45, 212, 191, .16) !important;
    border-left-color: #2dd4bf !important;
    background: rgba(255, 255, 255, .055) !important;
}

html[data-theme="dark"] body > .gallery-lightbox .gallery-lightbox__article-excerpt {
    color: #dbe7f3 !important;
}

@media (max-width: 960px) {
    .article-gallery-showcase__grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .article-gallery-showcase__lead {
        min-height: clamp(300px, 58vw, 500px);
    }

    .article-gallery-showcase__rail {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        grid-template-rows: none;
    }

    .article-gallery-showcase__thumb {
        aspect-ratio: 4 / 3;
    }

    body > .gallery-lightbox .gallery-lightbox__frame {
        grid-template-columns: minmax(0, 1fr) !important;
        grid-template-rows: minmax(0, 57%) minmax(0, 43%) !important;
    }

    body > .gallery-lightbox .gallery-lightbox__stage {
        padding: 4.4rem 4.7rem 1rem !important;
    }

    body > .gallery-lightbox .gallery-lightbox__meta {
        border-top: 1px solid rgba(15, 23, 42, .08) !important;
        border-left: 0 !important;
        padding: 1rem 1.15rem !important;
    }

    body > .gallery-lightbox .gallery-lightbox__meta-head {
        grid-template-columns: auto minmax(0, 1fr) auto !important;
        align-items: center !important;
    }

    body > .gallery-lightbox .gallery-lightbox__meta h2 {
        font-size: clamp(1.18rem, 3.8vw, 1.7rem) !important;
    }

    body > .gallery-lightbox .gallery-lightbox__article-card {
        display: none !important;
    }

    body > .gallery-lightbox .gallery-lightbox__thumbs-wrap {
        margin-top: 0 !important;
    }

    body > .gallery-lightbox .gallery-lightbox__thumbs {
        display: flex !important;
        gap: .6rem !important;
        overflow-x: auto !important;
        padding-bottom: .2rem !important;
    }

    body > .gallery-lightbox .gallery-lightbox__thumbs button {
        flex: 0 0 88px !important;
    }
}

@media (max-width: 640px) {
    .article-gallery-showcase {
        gap: .8rem;
        padding: .85rem;
        border-radius: 22px;
    }

    .article-gallery-showcase__header {
        align-items: flex-start;
        flex-direction: column;
    }

    .article-gallery-showcase__header h2 {
        font-size: 1.28rem;
    }

    .article-gallery-showcase__count {
        min-height: 2.25rem;
        padding: .48rem .72rem;
    }

    .article-gallery-showcase__lead {
        min-height: 270px;
        border-radius: 17px;
    }

    .article-gallery-showcase__lead-overlay {
        align-items: flex-start;
        flex-direction: column;
        gap: .7rem;
        padding: .9rem;
    }

    .article-gallery-showcase__open {
        min-height: 2.35rem;
        padding: .5rem .72rem;
    }

    .article-gallery-showcase__rail {
        gap: .55rem;
    }

    .article-gallery-showcase__thumb {
        border-radius: 13px;
    }

    body > .gallery-lightbox {
        padding: 0 !important;
    }

    body > .gallery-lightbox .gallery-lightbox__dialog {
        width: 100vw !important;
        height: 100vh !important;
        height: 100dvh !important;
    }

    body > .gallery-lightbox .gallery-lightbox__frame {
        grid-template-rows: minmax(0, 55%) minmax(0, 45%) !important;
        border: 0 !important;
        border-radius: 0 !important;
    }

    body > .gallery-lightbox .gallery-lightbox__stage {
        padding: 4.25rem 3.6rem .8rem !important;
    }

    body > .gallery-lightbox .gallery-lightbox__slide img,
    body > .gallery-lightbox .gallery-lightbox__slide[data-gallery-active-slide] img {
        border-radius: 12px !important;
    }

    body > .gallery-lightbox .gallery-lightbox__image-caption {
        max-height: 3.9rem !important;
        overflow: auto !important;
        padding: .6rem .72rem !important;
        font-size: .82rem !important;
    }

    body > .gallery-lightbox .gallery-lightbox__meta {
        gap: .7rem !important;
        padding: .85rem !important;
    }

    body > .gallery-lightbox .gallery-lightbox__meta-head {
        grid-template-columns: minmax(0, 1fr) auto !important;
        gap: .55rem !important;
    }

    body > .gallery-lightbox .gallery-lightbox__counter {
        grid-column: 1 / -1 !important;
    }

    body > .gallery-lightbox .gallery-lightbox__meta h2 {
        font-size: 1.08rem !important;
        line-height: 1.18 !important;
    }

    body > .gallery-lightbox .gallery-lightbox__full {
        min-height: 2.45rem !important;
        padding: .5rem .7rem !important;
    }

    body > .gallery-lightbox .gallery-lightbox__full span {
        display: none !important;
    }

    body > .gallery-lightbox .gallery-lightbox__close {
        top: .75rem !important;
        right: .75rem !important;
        width: 2.75rem !important;
        height: 2.75rem !important;
    }

    body > .gallery-lightbox .gallery-lightbox__nav {
        top: 50% !important;
        bottom: auto !important;
        width: 2.8rem !important;
        height: 2.8rem !important;
        transform: translateY(-50%) !important;
    }

    body > .gallery-lightbox .gallery-lightbox__nav--prev {
        left: .45rem !important;
    }

    body > .gallery-lightbox .gallery-lightbox__nav--next {
        right: .45rem !important;
    }

    body > .gallery-lightbox .gallery-lightbox__thumbs button {
        flex-basis: 76px !important;
    }
}

/* v356 gallery image fill correction. */
.article-gallery-showcase__lead picture,
.article-gallery-showcase__lead > img,
.article-gallery-showcase__thumb picture,
.article-gallery-showcase__thumb > img {
    position: absolute !important;
    inset: 0 !important;
}

.article-gallery-showcase__lead picture > img,
.article-gallery-showcase__thumb picture > img {
    position: absolute !important;
    inset: 0 !important;
}

/* v367: local competition leaderboards and responsive match section navigation */
.football-section-actions{display:flex;align-items:center;justify-content:flex-end;gap:.55rem;flex-wrap:wrap}.football-section-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:.55rem .8rem;border:1px solid rgba(14,125,121,.18);border-radius:999px;background:rgba(14,170,167,.08);color:#087c80;font-size:.78rem;font-weight:900;text-decoration:none;white-space:nowrap}.football-section-actions a:hover{background:rgba(14,170,167,.15)}.football-league-two-col--leaderboards{grid-template-columns:repeat(3,minmax(0,1fr))}.football-side-panel--discipline .football-mini-list a{grid-template-columns:auto minmax(0,1fr) auto}.football-side-panel--discipline .football-mini-list img{width:38px;height:38px;object-fit:contain;border-radius:999px;background:#fff;border:1px solid rgba(15,23,42,.08)}html[data-theme="dark"] .football-section-actions a{background:rgba(45,212,191,.09);border-color:rgba(45,212,191,.2);color:#79e4d7}@media(max-width:1100px){.football-league-two-col--leaderboards{grid-template-columns:repeat(2,minmax(0,1fr))}.football-side-panel--discipline{grid-column:1/-1}}@media(max-width:900px){.football-league-two-col--leaderboards{grid-template-columns:1fr}.football-side-panel--discipline{grid-column:auto}.football-section-actions{justify-content:flex-start;width:100%}}@media(min-width:992px){.football-section-tabs--match{display:none!important}}@media(max-width:991px){.football-section-tabs--match{display:flex;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:0 0 .9rem;padding:.15rem 0 .25rem}.football-section-tabs--match::-webkit-scrollbar{display:none}.football-section-tabs--match a{flex:0 0 auto;scroll-snap-align:start}}

