/**
 * exchange-home.bundle.css — concatenated exchange CSS (no minify).
 * Rebuild: php scripts/build-exchange-css-bundles.php
 * Source order is the cascade order from style-account.
 */

/* ===== exchange-home-density.css ===== */
/**
 * Sportsbook homepage density — compact chrome, markets-first viewport fit.
 * Scoped: .exchange-app (header/cats/shell) + body.ex-home-dense (home fit).
 */

/* ─── Compact header (aligned with exchange-theme navbar tokens) ─────────── */
.exchange-app {
    --ex-site-header-gap: var(--theme-space-header-gap, 0.25rem);
    --ex-home-navbar-h: var(--ex-navbar-h, 60px);
    --ex-home-cats-h: 2.625rem; /* ~42px — sports cats strip, not top bar */
}

.exchange-app .ex-navbar-bottom__grid {
    min-height: 0;
    height: 100%;
    padding: 0;
    gap: 0 var(--ex-navbar-item-gap, 12px);
    align-items: center;
    align-content: center;
}

.exchange-app .ex-navbar-bottom__logo img {
    height: var(--ex-navbar-logo-h, 32px);
    max-height: var(--ex-navbar-logo-h, 32px);
    width: auto;
}

.exchange-app .ex-header-actions {
    min-height: var(--ex-navbar-control-h, 2.75rem);
    height: auto;
    gap: var(--ex-navbar-item-gap, 12px);
    align-items: center;
    align-self: center;
}

.exchange-app .ex-header-actions__icons .switch,
.exchange-app .ex-notification-btn {
    width: var(--ex-navbar-control-h, 2.75rem);
    height: var(--ex-navbar-control-h, 2.75rem);
}

/* ─── Compact sports nav (~42px) ─────────────────────────────────────────── */
.exchange-app .ex-header-cats {
    padding: 0.2rem 0;
    min-height: var(--ex-home-cats-h);
    box-sizing: border-box;
}

html.theme-light .exchange-app .ex-header-cats {
    margin-bottom: 0;
}

html.theme-light .exchange-app .ex-header-cats::before {
    height: 1px;
}

html.theme-light .exchange-app .ex-header-cats::after {
    height: 2px;
    box-shadow: none;
}

.exchange-app .ex-header-cats__marquee::before,
.exchange-app .ex-header-cats__marquee::after {
    width: 1.25rem;
}

/* ─── Compact sidebar ────────────────────────────────────────────────────── */
.exchange-app .ex-sidebar .ex-sidebar-nav-list li a {
    padding: 0.28rem 0.65rem 0.28rem 0.45rem;
    font-size: var(--theme-text-md, 0.8125rem);
}

.exchange-app .ex-sidebar .ex-sidebar-nav-list > li + li {
    margin-top: 0.1rem;
}

.exchange-app .ex-sidebar .ex-sidebar-menu-title {
    margin-top: 0.7rem !important;
    margin-bottom: 0.3rem;
    padding: 0.28rem 0.45rem;
}

.exchange-app .ex-sidebar .ex-sidebar-menu-title:first-child {
    margin-top: 0.25rem !important;
}

.exchange-app .ex-sidebar .ex-sidebar-nav-list li a .nav-icon,
.exchange-app .ex-sidebar .ex-sidebar-nav-list li a .ex-cat-icon,
.exchange-app .ex-sidebar .ex-sidebar-nav-list li a svg.nav-icon,
.exchange-app .ex-sidebar .ex-sidebar-nav-list li a svg.ex-cat-icon {
    width: 1.5rem;
    height: 1.5rem;
    min-width: 1.5rem;
    margin-inline-end: 0.5rem;
    padding: 0.22rem;
}

.exchange-app .ex-sidebar .ex-sidebar-nav-list li.ex-sidebar-nav-item--no-icon > a {
    padding-inline-start: calc(0.45rem + 1.5rem + 0.5rem);
}

.exchange-app .ex-sidebar .ex-sidebar-nav-wrapper {
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: auto;
}

/* Hide scrollbars on dense homepage (wheel/trackpad scroll still works if needed) */
/* Hide chrome scrollbars inside shell, keep page scrollbar so footer is discoverable */
body.ex-home-dense .ex-shell,
body.ex-home-dense .ex-shell * {
    scrollbar-width: none;
    -ms-overflow-style: none;
}

body.ex-home-dense .ex-shell::-webkit-scrollbar,
body.ex-home-dense .ex-shell *::-webkit-scrollbar {
    width: 0 !important;
    height: 0 !important;
    display: none !important;
}

body.ex-home-dense {
    scrollbar-width: thin;
    -ms-overflow-style: auto;
}

body.ex-home-dense::-webkit-scrollbar {
    width: 8px;
    height: 8px;
    display: block !important;
}

body.ex-home-dense .ex-sidebar .simplebar-track,
body.ex-home-dense .ex-sidebar .simplebar-scrollbar,
body.ex-home-dense .simplebar-track.simplebar-vertical {
    display: none !important;
    width: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

body.ex-home-dense .ex-sidebar .ex-sidebar-nav-wrapper,
body.ex-home-dense .ex-shell__main {
    scrollbar-gutter: auto !important;
}

/* ─── Shell: tighter chrome ──────────────────────────────────────────────── */
.ex-shell {
    --ex-shell-gap: var(--theme-space-shell-gap-dense, 0.5rem);
    gap: var(--ex-shell-gap);
    padding: var(--theme-space-1, 0.25rem) 0 var(--theme-space-2, 0.5rem);
}

@media (min-width: 992px) {
    .ex-shell {
        padding: var(--theme-space-1, 0.25rem) 0 var(--theme-space-dense, 0.25rem);
    }
}

/* ─── Homepage scroll + footer visibility ───────────────────────────────── */
html:has(body.ex-home-dense),
body.ex-home-dense {
    height: auto !important;
    max-height: none !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
}

/* Master footer sits outside the shell — hide duplicate on home */
body.ex-home-dense > .ex-footer {
    display: none !important;
}

/* Footer rendered inside home main column */
body.ex-home-dense .ex-shell__main > .ex-home-trading-page .ex-footer,
body.ex-home-dense .ex-home-trading-page > .ex-footer {
    display: block !important;
    visibility: visible !important;
    position: relative !important;
    margin-top: 1.5rem;
    margin-bottom: calc(var(--ex-mobile-nav-h, 3.5rem) + 1rem);
    z-index: 1;
}

@media (min-width: 992px) {
    body.ex-home-dense .container-fluid.exchange-layout {
        height: auto !important;
        min-height: 0;
        max-height: none !important;
        overflow: visible !important;
        flex: 0 1 auto;
    }

    body.ex-home-dense .ex-shell {
        height: auto !important;
        min-height: 0;
        max-height: none !important;
        overflow: visible !important;
        padding-bottom: 0.25rem;
        align-items: start;
    }

    body.ex-home-dense .ex-shell__sidebar {
        --ex-home-sidebar-h: calc(
            100dvh - var(--ex-site-header-height, 7.5rem) - var(--ex-site-header-gap, 0.75rem) - 1rem
        );
        position: sticky;
        top: calc(var(--ex-site-header-height, 7.5rem) + var(--ex-site-header-gap, 0.75rem));
        align-self: start;
        height: var(--ex-home-sidebar-h);
        min-height: 0;
        max-height: var(--ex-home-sidebar-h);
        overflow: hidden;
        /* Cancel sticky rail height so shell/page end at the footer (no empty band). */
        margin-bottom: calc(-1 * var(--ex-home-sidebar-h));
    }

    body.ex-home-dense .ex-shell__main {
        min-height: 0;
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
        overscroll-behavior: contain;
        scrollbar-gutter: auto;
        /* Keep main above sidebar negative-margin collapse */
        position: relative;
        z-index: 1;
    }

    body.ex-home-dense .ex-home-trading-page > .ex-footer {
        margin-bottom: 1.5rem;
    }

    /* Prefer markets over decorative chrome */
    body.ex-home-dense .ex-trending-strip,
    body.ex-home-dense .ex-popular-strip,
    body.ex-home-dense .ex-home-guest-hint {
        display: none !important;
    }

    /* Personalization (Favorites / Recently Viewed) — compact desktop rail below markets. */
    body.ex-home-dense .ex-personalization-strips {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.5rem;
        margin-top: 0.6rem;
        margin-bottom: 0.4rem;
    }

    body.ex-home-dense .ex-personalization-strip {
        padding: 0.6rem 0.7rem;
    }

    body.ex-home-dense .ex-personalization-strip__head {
        margin-bottom: 0.55rem;
    }
}

/* Homepage content density */
body.ex-home-dense .ex-home-trading-page,
body.ex-home-dense .ex-shell__main > .ex-trading-page.ex-home-trading-page {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 0;
    padding-inline: 0;
    align-self: stretch;
    box-sizing: border-box;
}

body.ex-home-dense .ex-home-trading-page .container-sub,
body.ex-home-dense .ex-shell__main > .ex-trading-page .container-sub,
body.ex-home-dense .ex-shell__main {
    padding-top: 0;
}

body.ex-home-dense .ex-schedule-subnav {
    margin-bottom: 0.35rem !important;
}

body.ex-home-dense.exchange-account-layout .ex-home-trading-page .container-sub > .ex-schedule-subnav,
body.ex-home-dense.exchange-account-layout .ex-home-trading-page .container-sub > .ex-inplay-page,
body.ex-home-dense.exchange-user-layout .ex-inplay-page--home-upcoming {
    margin-top: 0.35rem !important;
}

body.ex-home-dense.exchange-account-layout .ex-home-trading-page .container-sub > .ex-schedule-subnav {
    margin-top: 0 !important;
}

body.ex-home-dense .ex-schedule-subnav .ex-sidebar-nav-list.ex-inplay-match-tabs > li > a {
    padding: 0.35rem 0.5rem !important;
    font-size: var(--theme-text-base, 0.875rem) !important;
    font-weight: 500 !important;
    min-height: 2.1rem !important;
}

body.ex-home-dense .ex-inplay-page {
    margin-top: 0.15rem;
}

body.ex-home-dense .ex-inplay-page--home-upcoming {
    margin-top: 0.4rem !important;
}

body.ex-home-dense .ex-inplay-page__toolbar.ex-panel-head {
    margin-bottom: 0.35rem;
    --ex-panel-head-height: 30px;
    font-size: var(--theme-text-base, 0.875rem) !important;
    font-weight: 500 !important;
}

body.ex-home-dense .ex-inplay-page__toolbar-label,
body.ex-home-dense .ex-panel-head .ex-inplay-page__toolbar-label {
    font-size: var(--theme-text-base, 0.875rem) !important;
    font-weight: 500 !important;
}

/* Group head / gap / match-row density promoted → categories + indian-list + spacing */

body.ex-home-dense .ex-inplay-group__list:not(.ex-inplay-group__list--indibet) {
    padding: 0.2rem 0.35rem 0.3rem;
}

body.ex-home-dense .ex-live-cat-strip__item.is-active,
body.ex-home-dense .ex-live-cat-strip__item.is-active .ex-live-cat-strip__label {
    font-weight: 600 !important;
}

/* Homepage banner — full main-column width, fixed strip height */
body.ex-home-dense .ex-home-promo {
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body.ex-home-dense .ex-inplay-page-banner:not(.ex-inplay-page-banner--html) {
    width: 100%;
    max-width: 100%;
    margin: 0 0 0.35rem;
    max-height: 13.5rem;
    border-radius: var(--theme-radius-control, 8px);
}

body.ex-home-dense .ex-inplay-page-banner.ex-inplay-page-banner--inline:not(.ex-inplay-page-banner--html) {
    width: 100%;
    max-width: 100%;
    max-height: 13.5rem;
}

body.ex-home-dense .ex-inplay-page-banner.ex-inplay-page-banner--html {
    margin: 0 0 0.35rem;
    max-height: none;
    border-radius: var(--theme-radius-control, 8px);
}

body.ex-home-dense .ex-inplay-page-banner__img {
    min-height: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    max-height: 13.5rem !important;
    height: 13.5rem !important;
    object-fit: cover;
    object-position: center top;
}

body.ex-home-dense .ex-inplay-page-banner--inline .ex-inplay-page-banner__img {
    width: 100% !important;
    max-width: 100% !important;
    max-height: 13.5rem !important;
    height: 13.5rem !important;
    object-fit: cover !important;
    object-position: center top;
}

@media (min-width: 1200px) {
    body.ex-home-dense .ex-inplay-page-banner:not(.ex-inplay-page-banner--html),
    body.ex-home-dense .ex-inplay-page-banner.ex-inplay-page-banner--inline:not(.ex-inplay-page-banner--html) {
        max-height: 13.5rem;
    }

    body.ex-home-dense .ex-inplay-page-banner__img,
    body.ex-home-dense .ex-inplay-page-banner--inline .ex-inplay-page-banner__img {
        max-height: 13.5rem !important;
        height: 13.5rem !important;
    }
}

/* Fallback banner cap (non-home in-play pages still use banner) */
.ex-inplay-page-banner:not(.ex-inplay-page-banner--html) {
    margin-bottom: 0.5rem;
    max-height: 13.75rem; /* 220px */
}

.ex-inplay-page-banner.ex-inplay-page-banner--inline:not(.ex-inplay-page-banner--html) {
    width: 100%;
    max-width: 100%;
    max-height: 13.5rem;
}

.ex-inplay-page-banner--inline .ex-inplay-page-banner__img {
    width: 100% !important;
    max-width: 100% !important;
    max-height: 13.5rem !important;
    height: 13.5rem !important;
    object-fit: cover;
    object-position: center top;
}

@media (max-width: 991.98px) {
    body.ex-home-dense .container-fluid.exchange-layout {
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
    }

    body.ex-home-dense .ex-shell__main {
        height: auto !important;
        overflow: visible !important;
    }

    body.ex-home-dense .ex-personalization-strips {
        display: block !important;
    }

    /* Compact HTML promo — free first-viewport space for matches */
    body.ex-home-dense .ex-inplay-page-banner.ex-inplay-page-banner--html {
        margin: 0 0 0.25rem;
    }

    body.ex-home-dense .ex-promo-html {
        min-height: 5.75rem;
        height: 5.75rem;
        padding: 0.7rem 2.5rem 0.7rem 0.85rem;
        gap: 0.5rem;
    }

    body.ex-home-dense .ex-promo-html__eyebrow {
        margin-bottom: 0.15rem;
        font-size: var(--theme-text-xs, 0.6875rem);
    }

    body.ex-home-dense .ex-promo-html__title {
        margin-bottom: 0.2rem;
        font-size: var(--theme-text-lg-plus, 1rem);
        line-height: 1.15;
    }

    body.ex-home-dense .ex-promo-html__text {
        display: none;
    }

    body.ex-home-dense .ex-promo-html__cta {
        padding: 0.35rem 1rem;
        font-size: var(--theme-text-sm, 0.75rem);
    }
}

/* ─── International sportsbook typography baseline ────────────────────────
   Use the lower bound of each accepted size range to preserve market density. */
body.ex-home-dense {
    font-family: var(--theme-font-sans, "Inter", system-ui, sans-serif);
    font-size: var(--theme-text-base, 0.875rem); /* 14px */
    line-height: var(--theme-leading-body, 1.45);
    font-feature-settings: var(--theme-font-features, normal);
}

body.ex-home-dense .ex-promo-html__title {
    font-size: var(--theme-text-xl-plus, 1.125rem); /* 18px */
    font-weight: var(--theme-weight-bold, 700);
    line-height: var(--theme-leading-snug, 1.25);
}

body.ex-home-dense .ex-promo-html__text,
body.ex-home-dense .ex-promo-html__cta {
    font-size: var(--theme-text-base, 0.875rem); /* 14px */
}

body.ex-home-dense .ex-promo-html__eyebrow,
body.ex-home-dense .ex-indibet-list__legend-item,
body.ex-home-dense .ex-indibet-list__outcome-sublabel {
    font-size: var(--theme-text-xs, 0.6875rem); /* 11px minimum */
}

/* Odds / badges / columns / team type promoted → odds.css + badges + indian-list + typography */

body.ex-home-dense .ex-promo-html__cta,
body.ex-home-dense .ex-load-more-btn {
    font-weight: var(--theme-weight-semibold, 600);
}


/* ─── Home dual-panel promo (loaded via exchange-home.bundle.css) ───────── */
body.ex-home-dense .ex-home-banner,
.exchange-app .ex-home-banner {
    position: relative;
    display: grid !important;
    grid-template-columns: minmax(0, 1.4fr) minmax(14rem, 1fr) !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 10rem !important;
    margin: 0 0 0.65rem;
    overflow: hidden;
    border-radius: var(--theme-radius-control, 8px);
    background: #0b1220;
    box-sizing: border-box;
    align-self: stretch;
}

body.ex-home-dense .ex-home-banner.is-dismissed,
.exchange-app .ex-home-banner.is-dismissed {
    opacity: 0;
    max-height: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    pointer-events: none;
}

body.ex-home-dense .ex-home-banner__media,
.exchange-app .ex-home-banner__media {
    min-width: 0;
    height: 100%;
    overflow: hidden;
    background: #1a0f0a;
}

body.ex-home-dense .ex-home-banner__media img,
.exchange-app .ex-home-banner__media img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    object-fit: cover !important;
    object-position: left center !important;
}

body.ex-home-dense .ex-home-banner__panel,
.exchange-app .ex-home-banner__panel {
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    gap: 0.35rem;
    min-width: 0;
    height: 100%;
    padding: 0.85rem 2.5rem 0.85rem 1.1rem;
    box-sizing: border-box;
    background: linear-gradient(160deg, #141c2e 0%, #0b1220 55%, #1a1020 100%);
    border-left: 1px solid rgba(255, 255, 255, 0.08);
    color: #f8fafc;
}

body.ex-home-dense .ex-home-banner__eyebrow { margin: 0; font-size: 0.7rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: rgba(248,250,252,0.7); }
body.ex-home-dense .ex-home-banner__title { margin: 0; font-size: 1.05rem; font-weight: 700; line-height: 1.25; color: #fff; }
body.ex-home-dense .ex-home-banner__text { margin: 0; font-size: 0.8rem; line-height: 1.35; color: rgba(248,250,252,0.78); }
body.ex-home-dense .ex-home-banner__cta {
    display: inline-flex; align-items: center; justify-content: center; align-self: flex-start;
    margin-top: 0.35rem; padding: 0.4rem 0.85rem; border-radius: 6px;
    background: var(--theme-primary, #DD3E42); color: #fff !important; font-size: 0.8rem; font-weight: 600; text-decoration: none !important;
}
body.ex-home-dense .ex-home-banner__close {
    position: absolute; top: 0.4rem; right: 0.4rem; z-index: 2;
    display: inline-flex; align-items: center; justify-content: center;
    width: 1.75rem; height: 1.75rem; padding: 0; border: 0; border-radius: 999px;
    background: rgba(15, 23, 42, 0.7); color: #fff; cursor: pointer; font-size: 1.1rem; line-height: 1;
}

@media (max-width: 767.98px) {
    body.ex-home-dense .ex-home-banner,
    .exchange-app .ex-home-banner {
        grid-template-columns: 1fr !important;
        height: auto !important;
    }
    body.ex-home-dense .ex-home-banner__media { height: 7.5rem; }
    body.ex-home-dense .ex-home-banner__text { display: none; }
}

/* ===== exchange-home-ia.css ===== */
/**
 * WP15 — Home IA: markets-first fold
 * Load AFTER exchange-home-density (home routes only).
 * Compress filter chrome · sticky sport strip · quiet counts · meta contrast.
 * Does NOT change odds geometry (WP14) or schedule page IA.
 */

/* Dual chrome → single primary filter (sport strip) */
body.ex-home-dense .ex-live-cat-strip {
  margin: 0 0 0.35rem;
  position: sticky;
  top: var(--ex-site-header-height, 7.5rem);
  z-index: 6;
  padding-top: 0.15rem;
  padding-bottom: 0.15rem;
  background: var(--ex-market-bg, var(--card-bg, #fff));
}

html.theme-dark body.ex-home-dense .ex-live-cat-strip,
.theme-dark body.ex-home-dense .ex-live-cat-strip {
  background: var(--ex-market-bg, var(--card-bg, #0B1220));
}

body.ex-home-dense .ex-live-cat-strip__scroll {
  padding: 0.12rem;
  gap: 0.15rem;
}

body.ex-home-dense .ex-live-cat-strip__item {
  min-height: 2rem !important; /* 32 desktop band */
  padding: 0.28rem 0.45rem !important;
  gap: 0.4rem !important;
  font-size: var(--theme-text-md, 0.8125rem) !important;
}

body.ex-home-dense .ex-live-cat-strip__label {
  font-size: var(--theme-text-md, 0.8125rem) !important;
  font-weight: var(--theme-weight-medium, 500) !important;
}

body.ex-home-dense .ex-live-cat-strip__icon {
  width: 1.35rem !important;
  height: 1.35rem !important;
  min-width: 1.35rem !important;
}

body.ex-home-dense .ex-live-cat-strip__icon .ex-cat-icon,
body.ex-home-dense .ex-live-cat-strip__icon i,
body.ex-home-dense .ex-live-cat-strip__icon svg {
  width: 0.95rem !important;
  height: 0.95rem !important;
  min-width: 0.95rem !important;
}

/* Quiet count chips */
body.ex-home-dense .ex-live-cat-strip__count {
  font-size: var(--theme-text-xs, 0.6875rem) !important;
  font-weight: var(--theme-weight-semibold, 600) !important;
  opacity: 0.7;
  min-width: 1.1rem;
  padding: 0.1rem 0.3rem;
  border-radius: var(--theme-radius-pill, 999px);
  background: color-mix(in srgb, var(--ex-sidebar-ref-muted, #9CA3AF) 16%, transparent) !important;
  color: inherit !important;
}

body.ex-home-dense .ex-live-cat-strip__item.is-active .ex-live-cat-strip__count {
  opacity: 1;
  background: color-mix(in srgb, #fff 22%, transparent) !important;
}

/* Match meta contrast — time secondary to teams */
body.ex-home-dense .ex-indibet-row__meta,
body.ex-home-dense .ex-indibet-row__time {
  color: var(--ex-muted, var(--para-color));
  opacity: 0.92;
}

body.ex-home-dense .ex-indibet-row__team,
body.ex-home-dense .ex-indibet-row__vs {
  color: var(--ex-runner-text, var(--h-color, var(--theme-text-primary)));
}

/* Mobile list: hide star so team names get full info width (odds bundle is deferred) */
@media (max-width: 991.98px) {
  body.ex-home-dense .ex-inplay-group__list--indibet .ex-indibet-row__info-inner > button.ex-event-favorite,
  body.ex-home-dense .ex-inplay-group__list--indibet .ex-indibet-row__info-inner > .ex-event-favorite {
    display: none !important;
  }
}

/* Sticky home sport strip seam (dark) */
html.theme-dark body.ex-home-dense .ex-live-cat-strip,
.theme-dark body.ex-home-dense .ex-live-cat-strip {
  box-shadow: 0 1px 0 var(--ex-border);
}

body.ex-home-dense .ex-live-schedule {
  margin-top: 0;
}

/* Mobile: preserve ≥40 touch on sport chips */
@media (max-width: 991.98px) {
  body.ex-home-dense .ex-live-cat-strip {
    top: var(--ex-site-header-height, 7.5rem);
  }

  body.ex-home-dense .ex-live-cat-strip__item {
    min-height: var(--theme-control-height-primary, 40px) !important;
    padding: 0.35rem 0.5rem !important;
  }
}

/* ============================================================
 * Phase 4 — collapsible sport sections, Home page only.
 *
 * The .collapse/data-bs-toggle markup (schedule-grouped-list.blade.php,
 * gated by collapsibleGroups, only passed from home-page-list.blade.php)
 * is present in the DOM at every width, but desktop (>=992px) forces the
 * body to stay visible regardless of collapse state below, so there is
 * zero desktop behavior/visual change even though the attributes exist
 * in markup. The affordance (pointer cursor, caret) is mobile/tablet-only.
 * ============================================================ */
@media (min-width: 992px) {
  .ex-inplay-page--home-live .ex-inplay-group__list.collapse,
  .ex-inplay-page--home-upcoming .ex-inplay-group__list.collapse {
    display: block !important;
  }
}

@media (max-width: 991.98px) {
  .ex-inplay-page--home-live .ex-inplay-group__head--toggle,
  .ex-inplay-page--home-upcoming .ex-inplay-group__head--toggle {
    cursor: pointer;
  }

  .ex-inplay-page--home-live .ex-inplay-group__caret,
  .ex-inplay-page--home-upcoming .ex-inplay-group__caret {
    position: relative;
    z-index: 1;
    display: inline-flex;
    flex-shrink: 0;
    width: 1rem;
    height: 1rem;
    transition: transform 0.15s ease;
  }

  .ex-inplay-page--home-live .ex-inplay-group__caret svg,
  .ex-inplay-page--home-upcoming .ex-inplay-group__caret svg {
    width: 100%;
    height: 100%;
  }

  .ex-inplay-page--home-live .ex-inplay-group__head--toggle[aria-expanded="false"] .ex-inplay-group__caret,
  .ex-inplay-page--home-upcoming .ex-inplay-group__head--toggle[aria-expanded="false"] .ex-inplay-group__caret {
    transform: rotate(-90deg);
  }
}
