/*
 * CartolaNews Nations League 1.2.0 — todo seletor escopado em .cnnl-hub.
 * Tema: claro por padrão; escuro somente quando o Foxiz marca [data-theme="dark"]
 * (toggle do site, localStorage RubyDarkMode). Não usa prefers-color-scheme: com o
 * sistema em modo escuro e o site em claro, isso pintava texto claro sobre fundo claro.
 * O Foxiz força outline:none !important em button/select/input, então o foco visível
 * desses controles usa box-shadow.
 */
.cnnl-hub {
  --cnnl-brand: #144b9b;
  --cnnl-brand-strong: #0d3269;
  --cnnl-accent: #7494c4;
  --cnnl-accent-soft: #849cc4;
  --cnnl-neutral: #e9e9ea;
  --cnnl-text: #2b2b24;
  --cnnl-muted: #55554e;
  --cnnl-surface: #ffffff;
  --cnnl-surface-2: #f4f5f7;
  --cnnl-border: #d9dbe0;
  --cnnl-link: #144b9b;
  --cnnl-chip-bg: #e6edf8;
  --cnnl-chip-text: #123f84;
  --cnnl-focus: #144b9b;
  --cnnl-live: #b42318;
  --cnnl-live-bg: #fde8e7;
  --cnnl-warn: #8a4b00;
  --cnnl-warn-bg: #fff4e0;
  --cnnl-ok-bg: #e9f6ef;
  --cnnl-ok: #146c43;
  --cnnl-shadow: 0 8px 24px rgba(15, 23, 42, .08);
  --cnnl-radius: 12px;
  box-sizing: border-box;
  max-width: 1240px;
  margin: 1.25rem auto 2rem;
  padding-inline: clamp(12px, 3vw, 20px);
  color: var(--cnnl-text);
  font-family: inherit;
  font-size: 1rem;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
[data-theme="dark"] .cnnl-hub {
  --cnnl-text: #f1f2f4;
  --cnnl-muted: #b9c0cc;
  --cnnl-surface: #1f232a;
  --cnnl-surface-2: #262b34;
  --cnnl-border: #3a414e;
  --cnnl-link: #a9c3ee;
  --cnnl-chip-bg: #263752;
  --cnnl-chip-text: #d5e2f8;
  --cnnl-focus: #a9c3ee;
  --cnnl-live: #ffb4ab;
  --cnnl-live-bg: #3d1f1d;
  --cnnl-warn: #ffd08a;
  --cnnl-warn-bg: #3a2d16;
  --cnnl-ok-bg: #173527;
  --cnnl-ok: #9be0bd;
  --cnnl-neutral: #2b303a;
  --cnnl-shadow: 0 8px 24px rgba(0, 0, 0, .35);
}
/* Dentro de um contêiner do tema/Elementor o respiro lateral já existe. */
:where(.entry-content, .rbct, .elementor-widget-container) .cnnl-hub { padding-inline: 0; margin-top: 0; }
.cnnl-hub *, .cnnl-hub *::before, .cnnl-hub *::after { box-sizing: border-box; }
#cnnl-hub p { max-width: none; }
.cnnl-hub .cnnl-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* Títulos e texto: cor explícita (o Foxiz troca --h*-fcolor para #fff no escuro). */
.cnnl-hub .cnnl-title, .cnnl-hub .cnnl-subtitle, .cnnl-hub .cnnl-league__title, .cnnl-hub .cnnl-group__title,
.cnnl-hub .cnnl-ko__stage, .cnnl-hub .cnnl-edition__title { color: var(--cnnl-text); font-family: inherit; letter-spacing: normal; text-transform: none; }
.cnnl-hub .cnnl-title { font-size: clamp(1.25rem, 1.1rem + .6vw, 1.55rem); line-height: 1.25; margin: 0 0 .75rem; font-weight: 800; }
.cnnl-hub .cnnl-subtitle { font-size: 1.1rem; line-height: 1.3; margin: 1.5rem 0 .6rem; font-weight: 800; }
.cnnl-hub .cnnl-lead { margin: 0 0 1rem; font-size: 1.02rem; color: var(--cnnl-text); }
.cnnl-hub .cnnl-note { margin: .25rem 0 .9rem; font-size: .88rem; color: var(--cnnl-muted); }
.cnnl-hub .cnnl-prose p { margin: 0 0 .9rem; color: var(--cnnl-text); }
.cnnl-hub .cnnl-list { margin: 0 0 1rem 1.2rem; padding: 0; list-style: disc; }
.cnnl-hub .cnnl-list li { margin: 0 0 .35rem; color: var(--cnnl-text); position: static; }
.cnnl-hub .cnnl-link, .cnnl-hub .cnnl-link:visited { color: var(--cnnl-link); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.cnnl-hub a:focus-visible { outline: 3px solid var(--cnnl-focus); outline-offset: 3px; border-radius: 4px; }

/* Hero: texto branco somente sobre o azul da marca (contraste 9:1). */
.cnnl-hub .cnnl-hero { background: linear-gradient(135deg, var(--cnnl-brand), var(--cnnl-brand-strong)); color: #ffffff; padding: clamp(1.25rem, 3.5vw, 2.5rem); border-radius: 18px; box-shadow: var(--cnnl-shadow); }
.cnnl-hub .cnnl-kicker { margin: 0 0 .35rem; font-size: .78rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #dbe6f7; }
.cnnl-hub .cnnl-hero__title { margin: 0 0 .35rem; font-size: clamp(1.6rem, 1.2rem + 2vw, 2.4rem); line-height: 1.1; font-weight: 900; color: #ffffff; font-family: inherit; }
.cnnl-hub .cnnl-hero__edition { margin: 0; font-size: 1.05rem; font-weight: 700; color: #ffffff; }
.cnnl-hub .cnnl-hero__meta { margin: .5rem 0 0; font-size: .85rem; color: #dbe6f7; }
.cnnl-hub .cnnl-chip { display: inline-flex; align-items: center; gap: .25rem; padding: .15rem .6rem; border-radius: 999px; font-size: .78rem; font-weight: 700; line-height: 1.6; background: var(--cnnl-chip-bg); color: var(--cnnl-chip-text); white-space: nowrap; }
.cnnl-hub .cnnl-chip--light { background: #ffffff; color: var(--cnnl-brand-strong); }

/* Avisos */
.cnnl-hub .cnnl-notices:empty { display: none; }
.cnnl-hub .cnnl-notices { margin: 1rem 0 0; display: grid; gap: .6rem; }
.cnnl-hub .cnnl-notice { margin: 0; padding: .8rem 1rem; border-radius: var(--cnnl-radius); border-left: 4px solid var(--cnnl-brand); background: var(--cnnl-chip-bg); color: var(--cnnl-text); font-size: .95rem; }
.cnnl-hub .cnnl-notice--warning { border-left-color: var(--cnnl-warn); background: var(--cnnl-warn-bg); }
.cnnl-hub .cnnl-empty { margin: 0 0 1rem; padding: .9rem 1rem; border-radius: var(--cnnl-radius); border-left: 4px solid var(--cnnl-accent); background: var(--cnnl-surface-2); color: var(--cnnl-text); }

/* Abas (role=tablist) */
.cnnl-hub .cnnl-tabs { display: flex; gap: .4rem; margin: 1.1rem 0 .4rem; padding: .3rem; overflow-x: auto; scrollbar-width: thin; border-radius: 999px; background: var(--cnnl-surface-2); -webkit-overflow-scrolling: touch; }
.cnnl-hub .cnnl-tab { flex: 0 0 auto; margin: 0; padding: .6rem 1rem; border: 1px solid transparent; border-radius: 999px; background: transparent; color: var(--cnnl-text); font: inherit; font-size: .95rem; font-weight: 700; line-height: 1.2; white-space: nowrap; cursor: pointer; text-transform: none; letter-spacing: normal; min-height: 44px; }
.cnnl-hub .cnnl-tab:hover { border-color: var(--cnnl-accent); }
.cnnl-hub .cnnl-tab[aria-selected="true"] { background: var(--cnnl-brand); color: #ffffff; border-color: var(--cnnl-brand); }
.cnnl-hub .cnnl-tab:focus-visible { box-shadow: 0 0 0 3px var(--cnnl-surface), 0 0 0 6px var(--cnnl-focus); }
.cnnl-hub .cnnl-panel { padding: 1rem 0 .5rem; min-width: 0; }
.cnnl-hub .cnnl-panel:focus-visible { outline: 3px solid var(--cnnl-focus); outline-offset: 4px; border-radius: 6px; }
.cnnl-hub .cnnl-panel[hidden] { display: none; }

/* Números da edição */
.cnnl-hub .cnnl-kpis { list-style: none; margin: 0 0 1rem; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.cnnl-hub .cnnl-kpi { margin: 0; padding: 1rem; border: 1px solid var(--cnnl-border); border-radius: var(--cnnl-radius); background: var(--cnnl-surface); min-width: 0; position: static; }
.cnnl-hub .cnnl-kpi strong { display: block; font-size: 1.8rem; line-height: 1.1; font-weight: 900; color: var(--cnnl-link); }
.cnnl-hub .cnnl-kpi span { display: block; margin-top: .2rem; font-size: .88rem; color: var(--cnnl-muted); }
.cnnl-hub .cnnl-champion { margin: 0 0 1rem; padding: 1rem 1.1rem; border-radius: var(--cnnl-radius); border: 1px solid var(--cnnl-border); border-left: 5px solid var(--cnnl-brand); background: var(--cnnl-surface); }
.cnnl-hub .cnnl-champion__label { margin: 0; font-size: .8rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; color: var(--cnnl-muted); }
.cnnl-hub .cnnl-champion__team { margin: .25rem 0; font-size: 1.35rem; font-weight: 900; color: var(--cnnl-text); }
.cnnl-hub .cnnl-champion__final { margin: 0; font-size: .92rem; color: var(--cnnl-text); }
.cnnl-hub .cnnl-columns { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0 1.25rem; }
.cnnl-hub .cnnl-block { min-width: 0; }

/* Seleção com bandeira */
.cnnl-hub .cnnl-team { display: inline-flex; align-items: center; gap: .45rem; min-width: 0; color: var(--cnnl-text); font-weight: 700; }
.cnnl-hub .cnnl-team__name { min-width: 0; overflow-wrap: anywhere; }
.cnnl-hub .cnnl-flag { flex: 0 0 auto; width: 20px; height: 20px; object-fit: contain; border-radius: 3px; margin: 0; }
.cnnl-hub .cnnl-flag--empty { display: inline-block; background: var(--cnnl-neutral); }

/* Lista de partidas */
.cnnl-hub .cnnl-matches { list-style: none; margin: 0 0 1rem; padding: 0; display: grid; gap: .6rem; }
.cnnl-hub .cnnl-match { margin: 0; padding: .8rem .9rem; border: 1px solid var(--cnnl-border); border-radius: var(--cnnl-radius); background: var(--cnnl-surface); display: grid; gap: .45rem; min-width: 0; position: static; }
.cnnl-hub .cnnl-match--live { border-color: var(--cnnl-live); }
.cnnl-hub .cnnl-match[hidden] { display: none; }
.cnnl-hub .cnnl-match__meta { display: flex; flex-wrap: wrap; gap: .25rem .75rem; font-size: .84rem; color: var(--cnnl-muted); min-width: 0; }
.cnnl-hub .cnnl-when { color: var(--cnnl-muted); font-weight: 700; }
.cnnl-hub .cnnl-match__context { color: var(--cnnl-muted); }
.cnnl-hub .cnnl-scoreline { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: .6rem; min-width: 0; }
.cnnl-hub .cnnl-team--home { justify-content: flex-end; text-align: right; }
.cnnl-hub .cnnl-team--home .cnnl-flag { order: 2; }
.cnnl-hub .cnnl-score { min-width: 3.4rem; padding: .2rem .55rem; border-radius: 8px; background: var(--cnnl-brand); color: #ffffff; font-weight: 900; font-size: 1.05rem; text-align: center; white-space: nowrap; font-variant-numeric: tabular-nums; }
.cnnl-hub .cnnl-score--vs { background: var(--cnnl-surface-2); color: var(--cnnl-text); font-weight: 800; }
.cnnl-hub .cnnl-match__foot { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .7rem; font-size: .84rem; min-width: 0; }
.cnnl-hub .cnnl-status { display: inline-block; padding: .1rem .5rem; border-radius: 999px; font-weight: 800; font-size: .78rem; background: var(--cnnl-neutral); color: var(--cnnl-text); }
.cnnl-hub .cnnl-status--scheduled { background: var(--cnnl-chip-bg); color: var(--cnnl-chip-text); }
.cnnl-hub .cnnl-status--live { background: var(--cnnl-live-bg); color: var(--cnnl-live); }
.cnnl-hub .cnnl-status--finished { background: var(--cnnl-ok-bg); color: var(--cnnl-ok); }
.cnnl-hub .cnnl-status--postponed, .cnnl-hub .cnnl-status--suspended, .cnnl-hub .cnnl-status--cancelled { background: var(--cnnl-warn-bg); color: var(--cnnl-warn); }
.cnnl-hub .cnnl-pens { font-weight: 800; color: var(--cnnl-text); }
.cnnl-hub .cnnl-pens--missing { font-weight: 600; color: var(--cnnl-muted); }
.cnnl-hub .cnnl-venue { color: var(--cnnl-muted); }

/* Filtros e paginação */
.cnnl-hub .cnnl-filters { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: .6rem; margin: 0 0 .75rem; padding: .8rem; border: 1px solid var(--cnnl-border); border-radius: var(--cnnl-radius); background: var(--cnnl-surface-2); }
.cnnl-hub .cnnl-field { display: grid; gap: .25rem; min-width: 0; }
.cnnl-hub .cnnl-field label { font-size: .8rem; font-weight: 800; color: var(--cnnl-text); margin: 0; }
.cnnl-hub .cnnl-field select, .cnnl-hub .cnnl-field input { width: 100%; min-width: 0; min-height: 44px; margin: 0; padding: .45rem .6rem; border: 1px solid var(--cnnl-border); border-radius: 8px; background: var(--cnnl-surface); color: var(--cnnl-text); font: inherit; font-size: .92rem; color-scheme: light; }
[data-theme="dark"] .cnnl-hub .cnnl-field select, [data-theme="dark"] .cnnl-hub .cnnl-field input { color-scheme: dark; }
.cnnl-hub .cnnl-field select:focus-visible, .cnnl-hub .cnnl-field input:focus-visible { box-shadow: 0 0 0 3px var(--cnnl-focus); border-color: var(--cnnl-focus); }
.cnnl-hub .cnnl-field--action { align-content: end; }
.cnnl-hub .cnnl-btn { min-height: 44px; margin: 0; padding: .5rem .9rem; border: 1px solid var(--cnnl-brand); border-radius: 8px; background: var(--cnnl-surface); color: var(--cnnl-link); font: inherit; font-size: .92rem; font-weight: 800; cursor: pointer; text-transform: none; letter-spacing: normal; }
.cnnl-hub .cnnl-btn:hover { background: var(--cnnl-chip-bg); }
.cnnl-hub .cnnl-btn:focus-visible { box-shadow: 0 0 0 3px var(--cnnl-surface), 0 0 0 6px var(--cnnl-focus); }
.cnnl-hub .cnnl-btn[disabled] { opacity: .45; cursor: not-allowed; }
.cnnl-hub .cnnl-results { margin: 0 0 .6rem; font-size: .9rem; font-weight: 700; color: var(--cnnl-text); }
.cnnl-hub .cnnl-pager { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .6rem; margin: .5rem 0 1rem; }
.cnnl-hub .cnnl-pager[hidden] { display: none; }
.cnnl-hub .cnnl-pager__info { font-weight: 700; color: var(--cnnl-text); }

/* Tabelas: rolagem horizontal só dentro do wrapper. O wrapper também leva
   .cn-table-wrap para o cn-site-optimizer não envelopar de novo; aqui ele é neutralizado. */
.cnnl-hub .cnnl-table-wrap, .cnnl-hub .cnnl-table-wrap.cn-table-wrap { width: 100%; max-width: 100%; margin: 0 0 1rem; overflow-x: auto; border: 1px solid var(--cnnl-border); border-radius: var(--cnnl-radius); background: var(--cnnl-surface); box-shadow: none; -webkit-overflow-scrolling: touch; }
.cnnl-hub .cnnl-table-wrap:focus-visible { outline: 3px solid var(--cnnl-focus); outline-offset: 2px; }
.cnnl-hub .cnnl-table-wrap .cnnl-table, .cnnl-hub .cnnl-table-wrap.cn-table-wrap table { width: 100%; min-width: 0; margin: 0; border-collapse: collapse; border: 0; background: transparent; color: var(--cnnl-text); font-size: .9rem; }
.cnnl-hub .cnnl-table th, .cnnl-hub .cnnl-table td { padding: .55rem .5rem; border: 0; border-bottom: 1px solid var(--cnnl-border); background: transparent; color: var(--cnnl-text); text-align: center; vertical-align: middle; white-space: nowrap; font-variant-numeric: tabular-nums; }
.cnnl-hub .cnnl-table thead th { font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; color: var(--cnnl-muted); background: var(--cnnl-surface-2); }
.cnnl-hub .cnnl-table abbr { text-decoration: none; border: 0; cursor: help; color: inherit; }
.cnnl-hub .cnnl-table tbody tr:last-child th, .cnnl-hub .cnnl-table tbody tr:last-child td { border-bottom: 0; }
.cnnl-hub .cnnl-table .cnnl-table__team { text-align: left; font-weight: 700; }
.cnnl-hub .cnnl-table__pos { width: 2.6rem; font-weight: 800; }
.cnnl-hub .cnnl-table__pts { font-weight: 900; }
.cnnl-hub .cnnl-table caption { caption-side: top; }

/* Grupos */
.cnnl-hub .cnnl-league { margin: 0 0 1.5rem; }
.cnnl-hub .cnnl-league__title { margin: 1.25rem 0 .75rem; padding: .45rem .8rem; border-radius: 8px; background: var(--cnnl-brand); color: #ffffff; font-size: 1.1rem; font-weight: 900; }
.cnnl-hub .cnnl-groups { display: grid; grid-template-columns: minmax(0, 1fr); gap: .25rem 1.25rem; }
.cnnl-hub .cnnl-group { min-width: 0; }
.cnnl-hub .cnnl-group__title { margin: .4rem 0 .45rem; font-size: 1rem; font-weight: 800; }

/* Mata-mata */
.cnnl-hub .cnnl-ko__stage { margin: 1.1rem 0 .55rem; font-size: 1rem; font-weight: 800; }
.cnnl-hub .cnnl-ties { display: grid; grid-template-columns: minmax(0, 1fr); gap: .75rem; }
.cnnl-hub .cnnl-tie { margin: 0; padding: .9rem; border: 1px solid var(--cnnl-border); border-radius: var(--cnnl-radius); background: var(--cnnl-surface); min-width: 0; }
.cnnl-hub .cnnl-tie--done { border-left: 4px solid var(--cnnl-brand); }
.cnnl-hub .cnnl-tie__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem; margin: 0 0 .55rem; }
.cnnl-hub .cnnl-tie__teams { display: inline-flex; flex-wrap: wrap; align-items: center; gap: .4rem; min-width: 0; }
.cnnl-hub .cnnl-tie__x { color: var(--cnnl-muted); font-weight: 800; }
.cnnl-hub .cnnl-legs { list-style: none; margin: 0; padding: 0; display: grid; gap: .4rem; }
.cnnl-hub .cnnl-leg { margin: 0; padding: .5rem .6rem; border-radius: 8px; background: var(--cnnl-surface-2); display: grid; grid-template-columns: minmax(0, 1fr); gap: .15rem; font-size: .9rem; position: static; }
.cnnl-hub .cnnl-leg__label { font-weight: 800; color: var(--cnnl-text); }
.cnnl-hub .cnnl-leg__score { font-weight: 800; color: var(--cnnl-text); }
.cnnl-hub .cnnl-leg__status { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; }
.cnnl-hub .cnnl-tie__aggregate { margin: .6rem 0 0; font-weight: 800; color: var(--cnnl-text); }
.cnnl-hub .cnnl-tie__result { margin: .3rem 0 0; color: var(--cnnl-text); }

/* Rankings em lista */
.cnnl-hub .cnnl-rank { list-style: none; margin: 0 0 1rem; padding: 0; border: 1px solid var(--cnnl-border); border-radius: var(--cnnl-radius); background: var(--cnnl-surface); overflow: hidden; }
.cnnl-hub .cnnl-rank li { margin: 0; display: grid; grid-template-columns: 2.6rem minmax(0, 1fr) auto; align-items: center; gap: .6rem; padding: .65rem .8rem; border-bottom: 1px solid var(--cnnl-border); position: static; }
.cnnl-hub .cnnl-rank li:last-child { border-bottom: 0; }
.cnnl-hub .cnnl-rank__pos { font-weight: 900; color: var(--cnnl-muted); }
.cnnl-hub .cnnl-rank__who { display: grid; min-width: 0; color: var(--cnnl-text); }
.cnnl-hub .cnnl-rank__team { font-size: .85rem; color: var(--cnnl-muted); }
.cnnl-hub .cnnl-rank__val { font-weight: 900; color: var(--cnnl-link); white-space: nowrap; }

/* História */
.cnnl-hub .cnnl-editions { display: grid; grid-template-columns: minmax(0, 1fr); gap: .8rem; }
.cnnl-hub .cnnl-edition { margin: 0; padding: 1rem; border: 1px solid var(--cnnl-border); border-radius: var(--cnnl-radius); background: var(--cnnl-surface); min-width: 0; }
.cnnl-hub .cnnl-edition__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem; margin: 0 0 .6rem; }
.cnnl-hub .cnnl-edition__title { margin: 0; font-size: 1.15rem; font-weight: 900; }
.cnnl-hub .cnnl-facts { margin: 0; display: grid; gap: .5rem; }
.cnnl-hub .cnnl-facts div { display: grid; grid-template-columns: minmax(0, 1fr); gap: .1rem; min-width: 0; }
.cnnl-hub .cnnl-facts dt { margin: 0; font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; color: var(--cnnl-muted); }
.cnnl-hub .cnnl-facts dd { margin: 0; color: var(--cnnl-text); }

/* Atalhos editoriais */
.cnnl-hub .cnnl-links { display: grid; grid-template-columns: minmax(0, 1fr); gap: .75rem; margin: 1.5rem 0 0; padding: 1rem 0 0; border-top: 1px solid var(--cnnl-border); }
.cnnl-hub .cnnl-cta, .cnnl-hub .cnnl-cta:visited { display: grid; gap: .15rem; padding: .85rem 1rem; border: 1px solid var(--cnnl-border); border-radius: var(--cnnl-radius); background: var(--cnnl-surface); color: var(--cnnl-text); text-decoration: none; font-weight: 400; }
.cnnl-hub .cnnl-cta:hover { border-color: var(--cnnl-brand); }
.cnnl-hub .cnnl-cta__title { font-weight: 900; color: var(--cnnl-link); }
.cnnl-hub .cnnl-cta__text { font-size: .9rem; color: var(--cnnl-muted); }

/* Seletor de edição (no hero azul: controles claros, foco em anel branco) */
.cnnl-hub .cnnl-picker { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .6rem; margin: .6rem 0 0; }
.cnnl-hub .cnnl-picker__label { margin: 0; font-size: .85rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: #dbe6f7; }
.cnnl-hub .cnnl-picker__select { width: auto; min-width: 8.5rem; min-height: 44px; margin: 0; padding: .4rem 2rem .4rem .75rem; border: 1px solid #ffffff; border-radius: 10px; background-color: #ffffff; color: var(--cnnl-brand-strong); font: inherit; font-size: 1.05rem; font-weight: 800; color-scheme: light; cursor: pointer; }
.cnnl-hub .cnnl-picker__select:focus-visible, .cnnl-hub .cnnl-picker__go:focus-visible { box-shadow: 0 0 0 3px var(--cnnl-brand-strong), 0 0 0 6px #ffffff; }
.cnnl-hub .cnnl-picker__go { min-height: 44px; margin: 0; padding: .4rem .9rem; border: 1px solid #ffffff; border-radius: 10px; background: transparent; color: #ffffff; font: inherit; font-size: .92rem; font-weight: 800; cursor: pointer; text-transform: none; letter-spacing: normal; }
.cnnl-hub .cnnl-picker__go:hover { background: rgba(255, 255, 255, .14); }
.cnnl-hub .cnnl-hero__next { font-weight: 800; color: #ffffff; }

/* Rodada atual / próxima rodada, com jogos agrupados por dia */
.cnnl-hub .cnnl-round { margin: 0 0 1.25rem; }
.cnnl-hub .cnnl-round .cnnl-subtitle { margin-top: 1.1rem; }
.cnnl-hub .cnnl-round__meta { margin: -.2rem 0 .6rem; font-size: .88rem; font-weight: 700; color: var(--cnnl-muted); }
.cnnl-hub .cnnl-day { margin: 0 0 .4rem; }
.cnnl-hub .cnnl-day__title { margin: .9rem 0 .5rem; padding: 0 0 .3rem; border-bottom: 2px solid var(--cnnl-border); font-family: inherit; font-size: .98rem; font-weight: 800; line-height: 1.3; letter-spacing: normal; text-transform: none; color: var(--cnnl-text); }
.cnnl-hub .cnnl-kpi--text strong { font-size: 1.2rem; line-height: 1.25; }

@media (min-width: 640px) {
  .cnnl-hub .cnnl-kpis { grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr)); }
  .cnnl-hub .cnnl-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cnnl-hub .cnnl-leg { grid-template-columns: 4rem minmax(0, 1.2fr) minmax(0, 1.4fr) minmax(0, 1.2fr); align-items: center; gap: .6rem; }
  .cnnl-hub .cnnl-facts div { grid-template-columns: 9rem minmax(0, 1fr); }
}
@media (min-width: 1024px) {
  .cnnl-hub .cnnl-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cnnl-hub .cnnl-groups, .cnnl-hub .cnnl-ties, .cnnl-hub .cnnl-editions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cnnl-hub .cnnl-day .cnnl-matches { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  /* Tabelas: o nome pode quebrar entre palavras para caber mais colunas; o resto rola dentro do wrapper. */
  .cnnl-hub .cnnl-table .cnnl-table__team { white-space: normal; min-width: 8.5rem; }
  .cnnl-hub .cnnl-table th, .cnnl-hub .cnnl-table td { padding: .5rem .32rem; }
}
@media (max-width: 480px) {
  /* Placar empilhado: cada seleção numa linha com o seu número (sem quebrar nome no meio). */
  .cnnl-hub .cnnl-scoreline { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "home hs" "away as"; gap: .35rem .6rem; }
  .cnnl-hub .cnnl-scoreline .cnnl-team--home { grid-area: home; justify-content: flex-start; text-align: left; }
  .cnnl-hub .cnnl-scoreline .cnnl-team--home .cnnl-flag { order: 0; }
  .cnnl-hub .cnnl-scoreline .cnnl-team--away { grid-area: away; }
  .cnnl-hub .cnnl-scoreline .cnnl-team__name { overflow-wrap: break-word; }
  .cnnl-hub .cnnl-scoreline .cnnl-score { display: contents; }
  .cnnl-hub .cnnl-scoreline .cnnl-score__x, .cnnl-hub .cnnl-scoreline .cnnl-score--vs { display: none; }
  .cnnl-hub .cnnl-scoreline .cnnl-score__home, .cnnl-hub .cnnl-scoreline .cnnl-score__away { min-width: 2.1rem; padding: .1rem .45rem; border-radius: 6px; background: var(--cnnl-brand); color: #ffffff; font-weight: 900; text-align: center; font-variant-numeric: tabular-nums; }
  .cnnl-hub .cnnl-scoreline .cnnl-score__home { grid-area: hs; }
  .cnnl-hub .cnnl-scoreline .cnnl-score__away { grid-area: as; }
  .cnnl-hub .cnnl-table { font-size: .86rem; }
  .cnnl-hub .cnnl-table th, .cnnl-hub .cnnl-table td { padding: .45rem .2rem; }
  .cnnl-hub .cnnl-table thead th { letter-spacing: 0; font-size: .72rem; }
  .cnnl-hub .cnnl-table .cnnl-table__team { min-width: 6.6rem; }
  .cnnl-hub .cnnl-table__pos { width: 1.9rem; }
  .cnnl-hub .cnnl-table .cnnl-flag { width: 16px; height: 16px; }
  .cnnl-hub .cnnl-table .cnnl-team { gap: .3rem; }
  .cnnl-hub .cnnl-hero { border-radius: 14px; }
  .cnnl-hub .cnnl-tabs { border-radius: 14px; }
  .cnnl-hub .cnnl-tab { padding: .55rem .8rem; font-size: .9rem; }
  .cnnl-hub .cnnl-team { font-size: .95rem; gap: .4rem; }
}
@media (prefers-reduced-motion: reduce) { .cnnl-hub * { scroll-behavior: auto !important; transition: none !important; } }
