/*
 * MCO — Identidade visual compartilhada das páginas da temporada.
 *
 * Referência: Competições.
 * O estilo é carregado APÓS style.css, youth-academy.css e declarations.css.
 * Mantém as larguras e grades próprias de cada menu; padroniza somente
 * hierarquia tipográfica, tamanho dos controles e tratamento visual.
 */
:root{
  --mco-page-heading-size:clamp(30px,3vw,40px);
  --mco-page-heading-color:#f5f5f5;
  --mco-menu-main-height:48px;
  --mco-menu-main-font:17px;
  --mco-menu-small-height:39px;
  --mco-menu-small-font:13px;
  --mco-menu-normal-color:#dce2e8;
  --mco-menu-active-color:#fff;
  --mco-menu-main-background:linear-gradient(180deg,#303a43,#252e35);
  --mco-menu-small-background:linear-gradient(180deg,#37424b,#2b343c);
  --mco-menu-active-background:linear-gradient(180deg,#56636e,#424e58);
}

/* O título de Competições é a referência para TODAS as áreas principais.
   Também atende páginas que não possuem abas: Calendário e Base. */
.season-home-content :is(
  .season-roster-title,
  .season-calendar-heading h1,
  .season-market-title,
  .season-competition-heading h1,
  .season-base-heading h1,
  .season-club-heading h1,
  .season-federacao-heading h1
){
  margin:0;
  color:var(--mco-page-heading-color);
  font-size:var(--mco-page-heading-size);
  line-height:1.1;
  font-weight:780;
  letter-spacing:-1.2px;
  text-align:center;
}

/* Mantém o mesmo espaço entre o título e o próximo elemento em todas as telas. */
.season-home-content :is(
  .season-calendar-heading,
  .season-competition-heading,
  .season-club-heading,
  .season-base-heading,
  .season-federacao-heading
){
  margin:0 0 28px;
  text-align:center;
}
.season-home-content :is(.season-roster-title,.season-market-title){
  margin-bottom:28px;
}

/* ABAS PRINCIPAIS — uma referência visual, número e largura livres. */
.season-home-content :is(
  .season-roster-tabs,
  .season-market-tabs,
  .season-competition-primary-tabs,
  .season-club-primary-tabs,
  .season-ranking-tabs,
  .season-federacao-tabs
){
  margin-bottom:14px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.11);
  border-radius:17px;
  background:var(--mco-menu-main-background);
  box-shadow:0 12px 34px rgba(0,0,0,.19);
}
/* Três categorias de Rankings em uma única linha, mesmo padrão dos outros menus. */
.season-home-content .season-ranking-tabs{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.season-home-content :is(
  .season-roster-tab,
  .season-market-tab,
  .season-competition-primary-tab,
  .season-club-primary-tab,
  .season-ranking-tab,
  .season-federacao-tab
){
  min-width:0;
  min-height:var(--mco-menu-main-height);
  margin:0;
  padding:0 14px;
  border:0;
  border-right:1px solid rgba(255,255,255,.14);
  border-radius:0;
  background:transparent;
  color:var(--mco-menu-normal-color);
  font:inherit;
  font-size:var(--mco-menu-main-font);
  line-height:1.25;
  font-weight:650;
  text-align:center;
  box-shadow:none;
  transition:background .18s ease,color .18s ease;
}
.season-home-content :is(
  .season-roster-tab,
  .season-market-tab,
  .season-competition-primary-tab,
  .season-club-primary-tab,
  .season-ranking-tab,
  .season-federacao-tab
):last-child{
  border-right:0;
}
.season-home-content :is(
  .season-roster-tab,
  .season-market-tab,
  .season-competition-primary-tab,
  .season-club-primary-tab,
  .season-ranking-tab,
  .season-federacao-tab
):is(:hover,:focus-visible):not(:disabled){
  background:rgba(255,255,255,.045);
  color:#fff;
  transform:none;
  box-shadow:none;
}
.season-home-content :is(
  .season-roster-tab,
  .season-market-tab,
  .season-competition-primary-tab,
  .season-club-primary-tab,
  .season-ranking-tab,
  .season-federacao-tab
).is-active{
  background:var(--mco-menu-active-background);
  color:var(--mco-menu-active-color);
  font-weight:780;
}
/* Quando a Copa está selecionada, não há menu secundário; manter o respiro. */
.season-home-content .season-competition-primary-tabs.is-cup{
  margin-bottom:30px;
}

/* ABAS SECUNDÁRIAS — referência: Abertura / Clausura / Final. */
.season-home-content :is(
  .season-competition-secondary-tabs,
  .season-market-subtabs,
  .season-roster-loan-tabs,
  .season-club-finance-tabs
){
  margin-bottom:30px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.10);
  border-radius:15px;
  background:var(--mco-menu-small-background);
  box-shadow:0 10px 28px rgba(0,0,0,.14);
}
.season-home-content :is(
  .season-competition-secondary-tab,
  .season-market-subtab,
  .season-roster-loan-tab,
  .season-club-finance-tab
){
  min-width:0;
  min-height:var(--mco-menu-small-height);
  margin:0;
  padding:0 12px;
  border:0;
  border-right:1px solid rgba(255,255,255,.14);
  border-radius:0;
  background:transparent;
  color:#cdd4da;
  font:inherit;
  font-size:var(--mco-menu-small-font);
  line-height:1.2;
  font-weight:620;
  text-align:center;
  box-shadow:none;
  transition:background .18s ease,color .18s ease;
}
.season-home-content :is(
  .season-competition-secondary-tab,
  .season-market-subtab,
  .season-roster-loan-tab,
  .season-club-finance-tab
):last-child{
  border-right:0;
}
.season-home-content :is(
  .season-competition-secondary-tab,
  .season-market-subtab,
  .season-roster-loan-tab,
  .season-club-finance-tab
):is(:hover,:focus-visible):not(:disabled){
  background:rgba(255,255,255,.045);
  color:#fff;
  transform:none;
  box-shadow:none;
}
.season-home-content :is(
  .season-competition-secondary-tab,
  .season-market-subtab,
  .season-roster-loan-tab,
  .season-club-finance-tab
).is-active{
  background:var(--mco-menu-active-background);
  color:#fff;
  font-weight:760;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}

/* Os menus locais dos quadros de estatísticas/resultados permanecem
   menores: não são navegação principal ou secundária da página. */

@media(max-width:700px){
  :root{
    --mco-page-heading-size:30px;
    --mco-menu-main-height:44px;
    --mco-menu-main-font:14px;
    --mco-menu-small-height:42px;
    --mco-menu-small-font:11px;
  }
  .season-home-content :is(
    .season-roster-tab,
    .season-market-tab,
    .season-competition-primary-tab,
    .season-club-primary-tab,
    .season-ranking-tab,
    .season-federacao-tab
  ){
    padding:7px 9px;
  }
  .season-home-content :is(
    .season-competition-secondary-tab,
    .season-market-subtab,
    .season-roster-loan-tab,
    .season-club-finance-tab
  ){
    padding:6px 8px;
  }
  .season-home-content :is(
    .season-competition-secondary-tabs,
    .season-market-subtabs,
    .season-roster-loan-tabs,
    .season-club-finance-tabs
  ){
    margin-bottom:22px;
  }
  .season-home-content .season-competition-primary-tabs.is-cup{
    margin-bottom:22px;
  }
  /* No mobile o Mercado empilha os botões: divisores passam a ser horizontais. */
  .season-home-content .season-market-my-transfers .season-market-subtabs .season-market-subtab{
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.14);
  }
  .season-home-content .season-market-my-transfers .season-market-subtabs .season-market-subtab:last-child{
    border-bottom:0;
  }
}
/* O menu principal do Mercado passa a ser empilhado já em 720px. */
@media(max-width:720px){
  .season-home-content .season-market-tabs .season-market-tab{
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.14);
  }
  .season-home-content .season-market-tabs .season-market-tab:last-child{
    border-bottom:0;
  }
}


/* ============================================================
   MCO — ESPAÇAMENTO E PALETA ÚNICOS (16/10/2026)
   Competições continua sendo a referência. Estes tokens também
   impedem que novas áreas usem cinzas avulsos para cards comuns.
   ============================================================ */
:root{
  --mco-page-section-gap:28px;
  --mco-menu-between-gap:14px;
  --mco-panel-border:#4b5863;
  --mco-panel-surface:linear-gradient(145deg,#3a4650,#2d3740 72%);
  --mco-panel-shadow:
    0 22px 55px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.055);
  --mco-table-heading-surface:linear-gradient(180deg,#303a43,#252e35);
  --mco-table-heading-text:#cbd3d9;
}

/* Padroniza o espaço VISÍVEL sob o título, sem depender de
   colapso de margens entre título, header e menu seguinte. */
.season-home-content :is(
  .season-roster-title,
  .season-calendar-heading h1,
  .season-market-title,
  .season-competition-heading h1,
  .season-base-heading h1,
  .season-club-heading h1,
  .season-federacao-heading h1
){
  margin:0;
  padding-bottom:var(--mco-page-section-gap);
}
.season-home-content :is(
  .season-calendar-heading,
  .season-competition-heading,
  .season-club-heading,
  .season-base-heading,
  .season-federacao-heading
){
  margin:0;
}
/* Categoria de Base não adiciona mais 10px extras sobre o conteúdo. */
.season-home-content .season-base-landing{
  padding-top:0;
}

/* Menu principal SEM submenu: mesma distância entre título/menu
   e entre menu/conteúdo. Mantém larguras individuais inalteradas. */
.season-home-content :is(
  .season-roster-tabs,
  .season-market-tabs,
  .season-competition-primary-tabs,
  .season-club-primary-tabs,
  .season-ranking-tabs,
  .season-federacao-tabs
){
  margin-top:0;
  margin-bottom:var(--mco-page-section-gap);
}
/* Quando existir submenu, o intervalo entre menus é o mesmo
   de Competições: 14px, não 28px. */
.season-home-content .season-competition-primary-tabs:not(.is-cup){
  margin-bottom:var(--mco-menu-between-gap);
}
.season-home-content .season-market-page:has(.season-market-subtabs) .season-market-tabs,
.season-home-content .season-club-page:has(.season-club-finance-tabs) .season-club-primary-tabs{
  margin-bottom:var(--mco-menu-between-gap);
}
/* Copa não possui submenu. */
.season-home-content .season-competition-primary-tabs.is-cup{
  margin-bottom:var(--mco-page-section-gap);
}

/* O conteúdo começa sempre 28px abaixo do último menu,
   independentemente de ser principal ou secundário. */
.season-home-content :is(
  .season-competition-secondary-tabs,
  .season-market-subtabs,
  .season-roster-loan-tabs,
  .season-club-finance-tabs
){
  margin-top:0;
  margin-bottom:var(--mco-page-section-gap);
}

/* Superfícies comuns: Plantel, Mercado, Competições, Rankings
   e os quadros neutros do Clube. Cores esportivas (classificados),
   alertas, botões azuis e títulos financeiros especiais ficam intactos. */
.season-home-content :is(
  .season-roster-panel,
  .season-market-table-panel,
  .season-competition-table-card,
  .season-competition-results-card,
  .season-ranking-card,
  .season-club-finance-summary,
  .season-club-statement-card
){
  border-color:var(--mco-panel-border);
  background:var(--mco-panel-surface);
  box-shadow:var(--mco-panel-shadow);
}
/* Estados vazios neutros do Mercado continuam da mesma família. */
.season-home-content :is(
  .season-market-history-empty,
  .season-market-history-row
){
  border-color:rgba(151,175,190,.20);
  background:var(--mco-panel-surface);
}

/* Cabeçalhos das tabelas/quadros neutros: cinza-azulado escuro
   de Competições, sem tocar nos cabeçalhos de mérito ou alerta. */
.season-home-content :is(
  .season-roster-header,
  .season-stats-header,
  .season-market-header,
  .season-competition-table-head,
  .season-ranking-card-heading,
  .season-club-statement-head
){
  background:var(--mco-table-heading-surface);
  color:var(--mco-table-heading-text);
}

@media(max-width:700px){
  :root{
    --mco-page-section-gap:22px;
  }
  /* Respiro do menu principal ao conteúdo também no celular.
     A separação entre menu principal/secundário permanece 14px. */
  .season-home-content .season-competition-primary-tabs.is-cup{
    margin-bottom:var(--mco-page-section-gap);
  }
}


/* Largura de menu guiada pela quantidade real de opções.
   1 aba é compacta; menus com muitas abas continuam largos.
   :has() mantém o comportamento quando novas opções forem adicionadas. */
.season-home-content :is(
  .season-roster-tabs,.season-market-tabs,.season-competition-primary-tabs,
  .season-club-primary-tabs,.season-ranking-tabs,.season-federacao-tabs
){
  max-width:100%;
  margin-left:auto;
  margin-right:auto;
}
.season-home-content :is(
  .season-roster-tabs,.season-market-tabs,.season-competition-primary-tabs,
  .season-club-primary-tabs,.season-ranking-tabs,.season-federacao-tabs
):has(> :nth-child(1):last-child){
  width:min(315px,100%);
}
.season-home-content :is(
  .season-roster-tabs,.season-market-tabs,.season-competition-primary-tabs,
  .season-club-primary-tabs,.season-ranking-tabs,.season-federacao-tabs
):has(> :nth-child(2):last-child){
  width:min(720px,100%);
}
.season-home-content :is(
  .season-roster-tabs,.season-market-tabs,.season-competition-primary-tabs,
  .season-club-primary-tabs,.season-ranking-tabs,.season-federacao-tabs
):has(> :nth-child(3):last-child){
  width:min(950px,100%);
}
/* Mercado: menu de três opções 20% mais largo, com colunas iguais. */
.season-home-content .season-market-tabs:has(> :nth-child(3):last-child){
  width:min(1140px,100%);
}
.season-home-content :is(
  .season-roster-tabs,.season-market-tabs,.season-competition-primary-tabs,
  .season-club-primary-tabs,.season-ranking-tabs,.season-federacao-tabs
):has(> :nth-child(4):last-child){
  width:min(1050px,100%);
}
.season-home-content :is(
  .season-roster-tabs,.season-market-tabs,.season-competition-primary-tabs,
  .season-club-primary-tabs,.season-ranking-tabs,.season-federacao-tabs
):has(> :nth-child(n+5)){
  width:min(1140px,100%);
}
.season-home-content :is(
  .season-competition-secondary-tabs,.season-market-subtabs,
  .season-roster-loan-tabs,.season-club-finance-tabs
){
  max-width:100%;margin-left:auto;margin-right:auto;
}
.season-home-content :is(
  .season-competition-secondary-tabs,.season-market-subtabs,
  .season-roster-loan-tabs,.season-club-finance-tabs
):has(> :nth-child(1):last-child){
  width:min(280px,100%);
}
.season-home-content :is(
  .season-competition-secondary-tabs,.season-market-subtabs,
  .season-roster-loan-tabs,.season-club-finance-tabs
):has(> :nth-child(2):last-child){
  width:min(620px,100%);
}
.season-home-content :is(
  .season-competition-secondary-tabs,.season-market-subtabs,
  .season-roster-loan-tabs,.season-club-finance-tabs
):has(> :nth-child(3):last-child){
  width:min(820px,100%);
}
.season-home-content :is(
  .season-competition-secondary-tabs,.season-market-subtabs,
  .season-roster-loan-tabs,.season-club-finance-tabs
):has(> :nth-child(n+4)){
  width:min(960px,100%);
}
/* Folha Salarial e Extrato são rótulos curtos: não precisam
   da mesma largura das abas longas dos jogadores emprestados. */
.season-home-content .season-club-finance-tabs:has(> :nth-child(2):last-child){
  width:min(430px,100%);
}
/* Duas abas de empréstimos têm rótulos longos: deixar respirar. */
.season-home-content .season-roster-loan-tabs:has(> :nth-child(2):last-child){
  width:min(760px,100%);
}
@media(max-width:700px){
  .season-home-content :is(
    .season-roster-tabs,.season-market-tabs,.season-competition-primary-tabs,
    .season-club-primary-tabs,.season-ranking-tabs,.season-federacao-tabs,
    .season-competition-secondary-tabs,.season-market-subtabs,
    .season-roster-loan-tabs,.season-club-finance-tabs
  ){
    max-width:100%;
  }
}

/* Clube > Geral tem apenas duas opções; anula a grade de três do Financeiro. */
.season-home-content .season-club-general-tabs{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  width:min(430px,100%);
}
.season-home-content .season-club-general-tabs>.season-club-general-tab{
  width:100%;min-width:0;
}
