.cnlh-scope {
	/* Light theme (default) — Foxiz defaults every visitor to light unless
	   its own toggle sets body[data-theme="dark"] (confirmed via
	   foxiz-core's foxiz_get_theme_mode(), see cn-f1). Every color below is
	   a token, never hardcoded in the rules further down, so switching
	   theme actually restyles the whole widget instead of leaving stale
	   dark-on-dark or light-on-light text. */
	--cn-blue: #144b9b;
	--cn-light-blue: #3f5f8f;
	--cn-soft-blue: #5c7093;
	--cn-dark: #eef2f9;
	--cn-dark-secondary: #f4f7fc;
	--cn-card: #ffffff;
	--cn-white: #10233f;
	--cn-light: #2b3b52;
	--cn-gold: #96700a;
	--cn-green: #128a48;
	--cn-red: #c81f34;
	--cnlh-border: rgba(20, 75, 155, 0.15);
	--cnlh-max-width: 1340px;
	color: var(--cn-light);
	font-family: inherit;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
}
body[data-theme="dark"] .cnlh-scope {
	--cn-blue: #144b9b;
	--cn-light-blue: #7494c4;
	--cn-soft-blue: #849cc4;
	--cn-dark: #06182f;
	--cn-dark-secondary: #092342;
	--cn-card: #0b2b50;
	--cn-white: #ffffff;
	--cn-light: #e9e9ea;
	--cn-gold: #d9a928;
	--cn-green: #18a957;
	--cn-red: #df3346;
	--cnlh-border: rgba(116, 148, 196, 0.25);
}
/* The hero is a deliberate, self-contained dark "banner" (trophy imagery,
   gold accents) — like a promo strip on many sites, it keeps its own dark
   look regardless of the site-wide toggle. It re-pins the same token names
   back to their dark values, scoped to just this subtree, so every rule
   below still just reads var(--cn-*) without needing hero-specific classes. */
.cnlh-hero {
	--cn-blue: #144b9b;
	--cn-light-blue: #7494c4;
	--cn-soft-blue: #849cc4;
	--cn-dark: #06182f;
	--cn-dark-secondary: #092342;
	--cn-card: #0b2b50;
	--cn-white: #ffffff;
	--cn-light: #e9e9ea;
	--cn-gold: #d9a928;
	--cn-green: #18a957;
	--cn-red: #df3346;
	--cnlh-border: rgba(116, 148, 196, 0.25);
}

.cnlh-scope * { box-sizing: border-box; }
.cnlh-scope a { color: inherit; text-decoration: none; }
.cnlh-scope img { max-width: 100%; display: block; }
.cnlh-scope button { font: inherit; cursor: pointer; }
.cnlh-scope table { border-collapse: collapse; width: 100%; }
.cnlh-scope .screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }

.cnlh-hub { background: var(--cn-dark); border-radius: 12px; overflow: hidden; }
.cnlh-container {
	max-width: var(--cnlh-max-width); margin: 0 auto; padding: 24px 20px 60px;
	/* Safety net below the sticky nav (not an ancestor of it, so this can't
	   break position:sticky): if any card's content still refuses to shrink
	   to its column on a very old/edge-case browser, clip it here instead
	   of letting it push the whole page into horizontal scroll. */
	overflow-x: hidden;
}
.cnlh-updated-at { font-size: 12px; color: var(--cn-soft-blue); margin: 0 0 16px; }

/* ---------- Hero (always dark, see token block above) ---------- */
.cnlh-hero {
	position: relative;
	padding: 56px 20px 40px;
	background: radial-gradient(circle at 80% 20%, rgba(217,169,40,0.18), transparent 55%), linear-gradient(160deg, var(--cn-dark-secondary), var(--cn-dark));
	background-size: cover;
	background-position: center;
	overflow: hidden;
}
.cnlh-hero[style*="--cnlh-hero-bg"] { background-image: var(--cnlh-hero-bg); }
.cnlh-hero__overlay {
	position: absolute; inset: 0;
	background: linear-gradient(180deg, rgba(6,24,47,0.55) 0%, rgba(6,24,47,0.88) 70%, var(--cn-dark) 100%);
	pointer-events: none;
}
.cnlh-hero__inner { position: relative; max-width: var(--cnlh-max-width); margin: 0 auto; }
.cnlh-hero__eyebrow { color: var(--cn-light-blue); font-size: 13px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; margin: 0 0 10px; }
.cnlh-hero__title { margin: 0; font-size: clamp(34px, 6vw, 58px); font-weight: 900; line-height: 1.02; letter-spacing: -0.01em; color: var(--cn-white); }
.cnlh-hero__title span { display: block; }
.cnlh-hero__title-gold { color: var(--cn-gold); }
.cnlh-hero__subtitle { margin: 14px 0 24px; font-size: 16px; color: var(--cn-light-blue); font-weight: 600; letter-spacing: 0.02em; text-transform: uppercase; }

.cnlh-hero__controls { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-bottom: 32px; }
.cnlh-select-wrap { display: inline-block; }
.cnlh-select {
	background: var(--cn-dark-secondary); color: var(--cn-white); border: 1px solid var(--cnlh-border);
	border-radius: 8px; padding: 10px 14px; font-size: 14px; font-weight: 700; min-width: 90px;
}
.cnlh-status { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 700; letter-spacing: 0.04em; color: var(--cn-green); }
.cnlh-status__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--cn-green); }
.cnlh-status.is-live { color: var(--cn-red); }
.cnlh-status.is-live .cnlh-status__dot { background: var(--cn-red); animation: cnlh-pulse 1.4s infinite; }
@keyframes cnlh-pulse { 0%,100% { opacity: 1; } 50% { opacity: 0.35; } }

.cnlh-hero__indicators {
	display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px;
	background: var(--cnlh-border); border: 1px solid var(--cnlh-border); border-radius: 10px; overflow: hidden;
}
.cnlh-indicator { background: rgba(9,35,66,0.7); padding: 16px 18px; display: flex; flex-direction: column; gap: 4px; }
.cnlh-indicator__icon { font-size: 16px; }
.cnlh-indicator__label { font-size: 11px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--cn-soft-blue); font-weight: 600; }
.cnlh-indicator__value { font-size: 15px; font-weight: 800; color: var(--cn-white); }

/* ---------- Nav (theme-aware — outside .cnlh-hero) ---------- */
.cnlh-nav { position: sticky; top: 0; z-index: 20; background: var(--cn-dark-secondary); border-bottom: 1px solid var(--cnlh-border); }
.cnlh-nav__scroller { max-width: var(--cnlh-max-width); margin: 0 auto; display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; padding: 0 20px; }
.cnlh-nav__scroller::-webkit-scrollbar { display: none; }
.cnlh-nav__item {
	flex: 0 0 auto; display: flex; align-items: center; gap: 6px; padding: 14px 14px; font-size: 13px; font-weight: 700;
	color: var(--cn-soft-blue); border-bottom: 2px solid transparent; white-space: nowrap;
}
.cnlh-nav__item:hover, .cnlh-nav__item.is-active { color: var(--cn-white); border-bottom-color: var(--cn-blue); }

/* ---------- Cards (shared) ---------- */
.cnlh-card {
	background: var(--cn-card); border: 1px solid var(--cnlh-border); border-radius: 8px; padding: 18px;
	transition: border-color .15s ease, transform .15s ease;
	/* Grid/flex items default to min-width:auto (their content's intrinsic
	   minimum), not 0 — a wide table or long text inside a card can force
	   its whole grid *track* wider than the viewport before overflow:hidden
	   further up ever gets a chance to clip anything. min-width:0 here lets
	   each card actually shrink to its column's real width and hand any
	   real overflow to its own internal .cnlh-table-scroll instead. */
	min-width: 0;
}
@media (hover: hover) { .cnlh-card:hover { border-color: var(--cn-light-blue); } }
.cnlh-card__eyebrow { margin: 0 0 14px; font-size: 12px; font-weight: 800; letter-spacing: 0.06em; color: var(--cn-soft-blue); text-transform: uppercase; }
.cnlh-card__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 10px; }
.cnlh-card__head .cnlh-card__eyebrow { margin-bottom: 0; }
.cnlh-empty { color: var(--cn-soft-blue); font-size: 14px; padding: 10px 0; }
.cnlh-section__title { font-size: 18px; font-weight: 800; color: var(--cn-white); margin: 0 0 16px; }
.cnlh-tag { display: inline-block; font-size: 11px; font-weight: 800; letter-spacing: 0.05em; color: var(--cn-gold); margin: 0 0 8px; }
.cnlh-tag-status { font-size: 12px; font-weight: 700; color: var(--cn-green); margin: 6px 0; }
.cnlh-link-inline { font-size: 12px; font-weight: 700; color: var(--cn-light-blue); }
.cnlh-link-inline:hover { color: var(--cn-white); }
.cnlh-btn {
	display: inline-block; margin-top: 12px; padding: 10px 16px; border-radius: 8px; background: transparent;
	border: 1px solid var(--cnlh-border); color: var(--cn-white); font-size: 13px; font-weight: 700; text-align: center; width: 100%;
}
.cnlh-btn--primary { background: var(--cn-blue); border-color: var(--cn-blue); color: #ffffff; }
.cnlh-btn:hover { background: var(--cn-blue); border-color: var(--cn-blue); color: #ffffff; }

/* Section grids */
.cnlh-section { margin-top: 24px; }
.cnlh-triad { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; align-items: start; }
.cnlh-duo { display: grid; grid-template-columns: 1.4fr 1fr; gap: 16px; align-items: start; }
.cnlh-block + .cnlh-block { margin-top: 16px; }
.cnlh-quad { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 16px; }

/* Badges */
.cnlh-badge { width: 32px; height: 32px; object-fit: contain; flex-shrink: 0; }
.cnlh-badge--sm { width: 24px; height: 24px; }
.cnlh-badge--lg { width: 56px; height: 56px; margin: 0 auto 10px; }
.cnlh-avatar { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; margin: 0 auto 8px; background: var(--cn-dark-secondary); }

/* Matchup */
.cnlh-matchup { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 14px 0; }
.cnlh-matchup--stack { flex-direction: column; gap: 8px; }
.cnlh-matchup__team { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 700; flex: 1; min-width: 0; }
.cnlh-matchup__team span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cnlh-matchup--stack .cnlh-matchup__team { flex-direction: column; text-align: center; width: 100%; }
.cnlh-matchup--stack .cnlh-matchup__team span { white-space: normal; }
.cnlh-matchup__score { font-size: 22px; font-weight: 900; color: var(--cn-white); white-space: nowrap; }
.cnlh-matchup__score--vs { font-size: 13px; color: var(--cn-soft-blue); font-weight: 700; }
.cnlh-datetime { font-size: 13px; font-weight: 700; color: var(--cn-white); margin: 4px 0; text-align: center; }
.cnlh-venue { font-size: 12px; color: var(--cn-soft-blue); margin: 4px 0; text-align: center; }
.cnlh-broadcast { font-size: 12px; font-weight: 700; color: var(--cn-gold); margin: 6px 0 0; text-align: center; }
.cnlh-broadcast--muted { color: var(--cn-soft-blue); font-weight: 500; }

/* Live card */
.cnlh-card--live { position: relative; }
.cnlh-live-badge { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 800; color: var(--cn-red); letter-spacing: 0.05em; margin-bottom: 6px; }
.cnlh-live-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--cn-red); animation: cnlh-pulse 1.2s infinite; }
.cnlh-live-minute { font-size: 12px; color: var(--cn-green); font-weight: 700; margin: 0 0 6px; }
.cnlh-live-more { font-size: 12px; color: var(--cn-soft-blue); margin-top: 8px; }

/* My team */
.cnlh-my-team__header { display: flex; flex-direction: column; align-items: center; text-align: center; margin: 10px 0; }
.cnlh-my-team__name { font-size: 16px; font-weight: 800; color: var(--cn-white); }
.cnlh-my-team__next-label, .cnlh-my-team__campaign-label { font-size: 12px; color: var(--cn-soft-blue); margin: 10px 0 2px; }
.cnlh-my-team__next { font-size: 13px; font-weight: 700; color: var(--cn-white); margin: 0; }
.cnlh-my-team__campaign { list-style: none; display: flex; gap: 14px; padding: 0; margin: 4px 0 0; font-size: 12px; color: var(--cn-soft-blue); flex-wrap: wrap; }
.cnlh-my-team__campaign strong { display: block; font-size: 16px; color: var(--cn-white); }

/* Path timeline */
.cnlh-path__list { display: flex; align-items: center; gap: 6px; list-style: none; padding: 0; margin: 0; overflow-x: auto; padding-bottom: 6px; }
.cnlh-path__step { display: flex; flex-direction: column; align-items: center; gap: 6px; min-width: 92px; position: relative; }
.cnlh-path__step:not(:last-child)::after { content: ""; position: absolute; top: 14px; left: 60%; width: 100%; height: 2px; background: var(--cnlh-border); z-index: 0; }
.cnlh-path__icon {
	width: 30px; height: 30px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
	background: var(--cn-dark-secondary); border: 2px solid var(--cnlh-border); color: var(--cn-soft-blue); font-size: 13px; font-weight: 800; z-index: 1;
}
.cnlh-path__step.is-done .cnlh-path__icon { border-color: var(--cn-green); color: var(--cn-green); }
.cnlh-path__step.is-current .cnlh-path__icon { border-color: var(--cn-blue); background: var(--cn-blue); color: #ffffff; }
.cnlh-path__label { font-size: 10px; font-weight: 700; letter-spacing: 0.03em; color: var(--cn-soft-blue); text-align: center; }
.cnlh-path__step.is-current .cnlh-path__label { color: var(--cn-white); }

/* Upcoming */
.cnlh-filters { display: flex; gap: 6px; flex-wrap: wrap; }
.cnlh-filter { background: transparent; border: 1px solid var(--cnlh-border); color: var(--cn-soft-blue); border-radius: 999px; padding: 6px 14px; font-size: 12px; font-weight: 700; }
.cnlh-filter.is-active, .cnlh-filter:hover { background: var(--cn-blue); border-color: var(--cn-blue); color: #ffffff; }
.cnlh-upcoming__scroller { display: flex; gap: 12px; overflow-x: auto; padding-bottom: 4px; }
.cnlh-upcoming-card { flex: 0 0 220px; background: var(--cn-dark-secondary); border: 1px solid var(--cnlh-border); border-radius: 8px; padding: 14px; }

/* Bracket — only one stage's ties are ever visible at a time (JS-toggled
   via [hidden]), so this is a plain block container, never a multi-column
   grid: a fixed-track grid would still reserve empty tracks for the hidden
   stages and squeeze the one visible column into a sliver. Now also given
   the whole width of its own full-width section (see .cnlh-block), not
   squeezed into half a paired row next to Próximos Jogos. */
.cnlh-bracket-tabs { display: flex; flex-wrap: wrap; margin-bottom: 14px; }
.cnlh-bracket__column { width: 100%; }
.cnlh-bracket__stage-title { font-size: 12px; font-weight: 800; letter-spacing: 0.05em; color: var(--cn-soft-blue); margin: 0 0 10px; text-align: center; }
.cnlh-bracket__ties { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; }
.cnlh-tie { background: var(--cn-dark-secondary); border: 1px solid var(--cnlh-border); border-radius: 8px; padding: 10px; }
.cnlh-tie__team { display: flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 700; padding: 4px 0; min-width: 0; }
.cnlh-tie__team span:first-of-type { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cnlh-tie__team.is-winner { color: var(--cn-white); }
.cnlh-tie__team:not(.is-winner) { color: var(--cn-soft-blue); }
.cnlh-tie__score { font-weight: 800; flex-shrink: 0; }
.cnlh-tie__meta { font-size: 10px; color: var(--cn-soft-blue); margin: 4px 0 0; }

/* Standings */
.cnlh-table-scroll { overflow-x: auto; }
.cnlh-table { font-size: 13px; min-width: 480px; }
.cnlh-table th, .cnlh-table td { padding: 9px 8px; text-align: center; border-bottom: 1px solid var(--cnlh-border); white-space: nowrap; }
.cnlh-table th { color: var(--cn-soft-blue); font-size: 11px; text-transform: uppercase; letter-spacing: 0.04em; font-weight: 700; }
.cnlh-table td:nth-child(2), .cnlh-table th:nth-child(2) { text-align: left; }
.cnlh-table__club { display: flex; align-items: center; gap: 8px; font-weight: 700; }
.cnlh-table--compact { min-width: 0; }
.cnlh-table--compact td, .cnlh-table--compact th { padding: 8px 6px; }
.cnlh-zone-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin-right: 6px; }
.cnlh-zone-dot.is-classified { background: var(--cn-green); }
.cnlh-zone-dot.is-sudamericana { background: var(--cn-gold); }
.cnlh-zone-dot.is-eliminated { background: var(--cn-red); }
.cnlh-legend { margin-top: 12px; font-size: 12px; color: var(--cn-soft-blue); display: flex; gap: 16px; flex-wrap: wrap; }

/* Scorers */
.cnlh-scorers-podium { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 18px; }
.cnlh-scorer-highlight { text-align: center; background: var(--cn-dark-secondary); border-radius: 8px; padding: 14px 8px; }
.cnlh-scorer-highlight__rank { font-size: 11px; color: var(--cn-gold); font-weight: 800; margin: 0; }
.cnlh-scorer-highlight__name { font-size: 13px; font-weight: 800; color: var(--cn-white); margin: 2px 0; }
.cnlh-scorer-highlight__team { font-size: 11px; color: var(--cn-soft-blue); margin: 0 0 6px; }
.cnlh-scorer-highlight__goals { font-size: 12px; font-weight: 800; color: var(--cn-gold); margin: 0; }

/* Brazilians — horizontal carousel, own full-width section below Artilharia */
.cnlh-brazilians-scroller { display: flex; gap: 12px; overflow-x: auto; padding-bottom: 4px; scroll-snap-type: x proximity; }
.cnlh-brazilian-card { flex: 0 0 160px; scroll-snap-align: start; background: var(--cn-dark-secondary); border: 1px solid var(--cnlh-border); border-radius: 8px; padding: 14px; text-align: center; }
.cnlh-brazilian-card__name { font-size: 12px; font-weight: 800; color: var(--cn-white); margin: 4px 0; }
.cnlh-brazilian-card__campaign { font-size: 11px; color: var(--cn-soft-blue); margin: 4px 0; }
.cnlh-brazilian-card__next { font-size: 11px; color: var(--cn-light-blue); margin: 4px 0 0; }

/* Numbers */
.cnlh-numbers-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.cnlh-number { text-align: center; padding: 12px; }
.cnlh-number__icon { font-size: 20px; display: block; }
.cnlh-number__value { display: block; font-size: 22px; font-weight: 900; color: var(--cn-white); }
.cnlh-number__label { display: block; font-size: 10px; color: var(--cn-soft-blue); font-weight: 700; letter-spacing: 0.04em; }

/* Champions wall */
.cnlh-wall-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; }
.cnlh-wall-item { text-align: center; }
.cnlh-wall-item__year { font-size: 13px; font-weight: 800; color: var(--cn-gold); margin: 0 0 6px; }
.cnlh-wall-item__team { font-size: 11px; font-weight: 700; color: var(--cn-white); margin: 4px 0 0; }

/* Bars (titles by country) */
.cnlh-bars { display: flex; flex-direction: column; gap: 10px; }
.cnlh-bar-row { display: grid; grid-template-columns: 90px 1fr 30px; align-items: center; gap: 10px; font-size: 12px; }
.cnlh-bar-row__label { color: var(--cn-light); font-weight: 600; }
.cnlh-bar-row__track { height: 10px; background: var(--cn-dark-secondary); border-radius: 999px; overflow: hidden; }
.cnlh-bar-row__fill { display: block; height: 100%; background: linear-gradient(90deg, var(--cn-blue), var(--cn-light-blue)); }
.cnlh-bar-row__value { text-align: right; font-weight: 700; color: var(--cn-soft-blue); }

/* Finals */
.cnlh-finals-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.cnlh-finals-list li { display: grid; grid-template-columns: 50px 1fr auto 1fr; gap: 10px; align-items: center; font-size: 12px; padding: 8px 0; border-bottom: 1px solid var(--cnlh-border); }
.cnlh-finals-list li > * { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cnlh-finals-list__year { color: var(--cn-soft-blue); font-weight: 700; }
.cnlh-finals-list__champion { font-weight: 800; color: var(--cn-white); }
.cnlh-finals-list__score { color: var(--cn-gold); font-weight: 700; text-align: center; }
.cnlh-finals-list__runnerup { color: var(--cn-soft-blue); text-align: right; }

/* News */
.cnlh-news-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.cnlh-news-item { background: var(--cn-dark-secondary); border-radius: 8px; overflow: hidden; border: 1px solid var(--cnlh-border); }
.cnlh-news-item__image { aspect-ratio: 16/10; overflow: hidden; }
.cnlh-news-item__image img { width: 100%; height: 100%; object-fit: cover; }
.cnlh-news-item__body { padding: 12px; }
.cnlh-news-item__title { font-size: 13px; font-weight: 700; color: var(--cn-white); margin: 6px 0; line-height: 1.3; }
.cnlh-news-item__date { font-size: 11px; color: var(--cn-soft-blue); }

/* Editorial */
.cnlh-editorial { background: var(--cn-dark-secondary); border-radius: 8px; padding: 28px; }
.cnlh-editorial__content h2 { font-size: 20px; color: var(--cn-white); margin: 24px 0 10px; }
.cnlh-editorial__content h2:first-child { margin-top: 0; }
.cnlh-editorial__content p { font-size: 14px; color: var(--cn-light); line-height: 1.7; margin: 0 0 12px; }
.cnlh-editorial__content a { color: var(--cn-light-blue); text-decoration: underline; }

/* Focus visibility (accessibility) */
.cnlh-scope a:focus-visible, .cnlh-scope button:focus-visible, .cnlh-scope select:focus-visible {
	outline: 2px solid var(--cn-gold); outline-offset: 2px;
}

/* ---------- Responsive ---------- */
@media (max-width: 1200px) {
	.cnlh-news-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 1024px) {
	.cnlh-duo, .cnlh-quad { grid-template-columns: 1fr 1fr; }
	.cnlh-wall-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 768px) {
	.cnlh-duo, .cnlh-quad, .cnlh-numbers-grid, .cnlh-scorers-podium { grid-template-columns: 1fr; }
	.cnlh-hero__indicators { grid-template-columns: repeat(2, 1fr); }
	.cnlh-news-grid { grid-template-columns: repeat(2, 1fr); }
	.cnlh-wall-grid { grid-template-columns: repeat(3, 1fr); }
	.cnlh-bracket-tabs { overflow-x: auto; flex-wrap: nowrap; }
	.cnlh-bracket__ties { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
	.cnlh-hero { padding: 40px 16px 28px; }
	.cnlh-hero__indicators { grid-template-columns: 1fr 1fr; }
	.cnlh-container { padding: 18px 14px 40px; }
	.cnlh-news-grid { grid-template-columns: 1fr; }
	.cnlh-wall-grid { grid-template-columns: repeat(2, 1fr); }
	.cnlh-finals-list li { grid-template-columns: 40px 1fr; row-gap: 2px; }
	.cnlh-finals-list__score, .cnlh-finals-list__runnerup { grid-column: 2; text-align: left; }
}
