/* Agenda de jogos */

.grupo-agenda{
  width:92%;
  max-width:1120px;
  margin:34px auto;
}

.grupo-agenda > h2{
  margin:0 0 20px;
  padding-bottom:10px;
  border-bottom:5px solid #35d51f;
  color:#171717;
  font-size:30px;
  line-height:1.1;
}

.jogo-agenda{
  padding:22px 0;
  border-bottom:1px solid #dedede;
  text-align:center;
}

.jogo-agenda > small{
  display:block;
  margin-bottom:8px;
  color:#777;
  font-size:15px;
  text-transform:uppercase;
}

.jogo-horario{
  margin-bottom:16px;
  color:#1c1c1c;
  font-size:23px;
  line-height:1;
  text-align:center;
}

.jogo-times-centralizado{
  display:grid;
  grid-template-columns:
    minmax(90px, 1fr)
    56px
    38px
    56px
    minmax(90px, 1fr);
  align-items:center;
  justify-content:center;
  gap:12px;
  width:min(100%,760px);
  margin:0 auto;
}

.nome-time{
  min-width:0;
  color:#1b1b1b;
  font-size:18px;
  font-weight:800;
  line-height:1.2;
}

.nome-mandante{
  text-align:right;
}

.nome-visitante{
  text-align:left;
}

.escudo-time{
  width:56px;
  height:56px;
  display:grid;
  place-items:center;
  overflow:visible;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.escudo-time img{
  display:block;
  max-width:56px;
  max-height:56px;
  width:auto;
  height:auto;
  object-fit:contain;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.placar-agenda{
  display:grid;
  place-items:center;
  color:#1b1b1b;
  font-size:22px;
  font-weight:900;
  line-height:1;
}

@media(max-width:700px){
  .grupo-agenda{
    width:92%;
    margin:28px auto;
  }

  .grupo-agenda > h2{
    font-size:27px;
  }

  .jogo-agenda{
    padding:20px 0;
  }

  .jogo-horario{
    margin-bottom:14px;
    font-size:21px;
  }

  .jogo-times-centralizado{
    grid-template-columns:
      minmax(74px,1fr)
      48px
      26px
      48px
      minmax(74px,1fr);
    gap:7px;
    width:100%;
  }

  .escudo-time{
    width:48px;
    height:48px;
  }

  .escudo-time img{
    max-width:48px;
    max-height:48px;
  }

  .nome-time{
    font-size:15px;
  }

  .placar-agenda{
    font-size:19px;
  }
}

@media(max-width:390px){
  .jogo-times-centralizado{
    grid-template-columns:
      minmax(65px,1fr)
      42px
      22px
      42px
      minmax(65px,1fr);
    gap:5px;
  }

  .escudo-time{
    width:42px;
    height:42px;
  }

  .escudo-time img{
    max-width:42px;
    max-height:42px;
  }

  .nome-time{
    font-size:14px;
  }
}


.jogo-local{
  margin:5px 0 13px;
  color:#666;
  font-size:14px;
  font-weight:600;
  text-align:center;
}


/* Página de resultados */
.grupo-resultados > h2{
  border-bottom-color:#35d51f;
}

.placar-resultado{
  min-width:54px;
  font-size:22px;
}

.mensagem-listagem-vazia{
  width:92%;
  max-width:1120px;
  margin:30px auto;
  color:#666;
  font-size:17px;
}

@media(max-width:700px){
  .placar-resultado{
    min-width:42px;
    font-size:19px;
  }
}

/* Correção do alinhamento do placar na página de resultados */
.jogo-resultado .jogo-times-centralizado{
  grid-template-columns:
    minmax(90px, 1fr)
    56px
    72px
    56px
    minmax(90px, 1fr);
}

.jogo-resultado .placar-resultado{
  width:72px;
  min-width:72px;
  white-space:nowrap;
  text-align:center;
  justify-self:center;
}

@media(max-width:700px){
  .jogo-resultado .jogo-times-centralizado{
    grid-template-columns:
      minmax(68px, 1fr)
      46px
      64px
      46px
      minmax(68px, 1fr);
    gap:6px;
  }

  .jogo-resultado .escudo-time{
    width:46px;
    height:46px;
  }

  .jogo-resultado .escudo-time img{
    max-width:46px;
    max-height:46px;
  }

  .jogo-resultado .placar-resultado{
    width:64px;
    min-width:64px;
    font-size:20px;
  }
}

@media(max-width:390px){
  .jogo-resultado .jogo-times-centralizado{
    grid-template-columns:
      minmax(58px, 1fr)
      40px
      58px
      40px
      minmax(58px, 1fr);
    gap:4px;
  }

  .jogo-resultado .escudo-time{
    width:40px;
    height:40px;
  }

  .jogo-resultado .escudo-time img{
    max-width:40px;
    max-height:40px;
  }

  .jogo-resultado .placar-resultado{
    width:58px;
    min-width:58px;
    font-size:19px;
  }
}

/* =========================================================
   Página unificada de Jogos — agenda + resultados
   ========================================================= */
.pagina-jogos{
  padding-bottom:34px;
}

.cabecalho-jogos{
  margin-bottom:18px;
}

.filtros-jogos{
  width:92%;
  max-width:1120px;
  margin:0 auto 28px;
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}

.seletor-data-jogos{
  position:relative;
}

.seletor-data-jogos input[type="date"]{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  opacity:0;
  cursor:pointer;
}

.botao-filtro-jogos{
  min-height:52px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:0 20px;
  border:1px solid #e5e7eb;
  border-radius:999px;
  background:#f4f5f6;
  color:#202124;
  text-decoration:none;
  font-size:16px;
  font-weight:800;
}

.botao-filtro-jogos:hover{
  background:#eceeef;
}

.botao-ao-vivo.ativo{
  background:#edf9ef;
  border-color:#bce7c3;
  color:#147a2a;
}

.ponto-ao-vivo{
  width:10px;
  height:10px;
  border-radius:50%;
  background:#ff5364;
  box-shadow:0 0 0 4px rgba(255,83,100,.10);
}

.titulo-data-jogos{
  width:92%;
  max-width:1120px;
  margin:0 auto 8px;
  padding:0 0 16px 18px;
  border-left:6px solid #28c840;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}

.titulo-data-jogos h2{
  margin:0;
  color:#171717;
  font-size:31px;
  line-height:1.1;
}

.titulo-data-jogos a{
  color:#1b8f31;
  font-size:14px;
  font-weight:800;
  text-decoration:none;
}

.grupo-competicao-jogos{
  width:92%;
  max-width:1120px;
  margin:0 auto 22px;
  border-top:1px solid #ececec;
  background:#fff;
}

.cabecalho-competicao-jogos{
  padding:21px 4px 15px;
  border-bottom:1px solid #ececec;
}

.cabecalho-competicao-jogos h3{
  margin:0;
  color:#20a63a;
  font-size:21px;
  font-weight:900;
}

.lista-partidas-jogos{
  display:grid;
}

.partida-jogos{
  padding:18px 4px 17px;
  border-bottom:1px solid #ededed;
}

.partida-jogos__topo{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:13px;
  color:#4f5357;
  font-size:14px;
}

.status-partida{
  flex:0 0 auto;
  padding:5px 10px;
  border-radius:7px;
  background:#dadbdd;
  color:#62666a;
  font-size:12px;
  font-weight:900;
  line-height:1;
  text-transform:uppercase;
}

.status-ao-vivo{
  background:#ffe0e4;
  color:#bb2434;
}

.status-intervalo{
  background:#fff0ca;
  color:#946000;
}

.status-agendado{
  background:#edf7ef;
  color:#247b35;
}

.status-aguardando{
  background:#fff3d9;
  color:#8a6300;
}

.partida-jogos__confronto{
  display:grid;
  gap:8px;
}

.linha-time-jogo{
  display:grid;
  grid-template-columns:34px minmax(0,1fr) 34px;
  align-items:center;
  gap:10px;
}

.linha-time-jogo strong{
  min-width:0;
  color:#222;
  font-size:18px;
  line-height:1.2;
}

.linha-time-jogo b{
  justify-self:end;
  color:#1d1e20;
  font-size:21px;
  line-height:1;
}

.mini-escudo-jogo{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
}

.mini-escudo-jogo img{
  display:block;
  max-width:32px;
  max-height:32px;
  width:auto;
  height:auto;
  object-fit:contain;
}

.partida-jogos__local{
  margin:12px 0 0 44px;
  color:#7a7e82;
  font-size:13px;
}

.estado-vazio-jogos{
  width:92%;
  max-width:1120px;
  margin:26px auto 50px;
  padding:32px 24px;
  border:1px dashed #d9dedb;
  border-radius:16px;
  background:#fafbfa;
  text-align:center;
}

.estado-vazio-jogos strong,
.estado-vazio-jogos span{
  display:block;
}

.estado-vazio-jogos strong{
  color:#242724;
  font-size:18px;
}

.estado-vazio-jogos span{
  margin-top:7px;
  color:#737a75;
  font-size:14px;
}

@media(max-width:700px){
  .cabecalho-jogos{
    margin-bottom:12px;
  }

  .filtros-jogos{
    margin-bottom:25px;
  }

  .botao-filtro-jogos{
    min-height:48px;
    padding:0 17px;
    font-size:15px;
  }

  .titulo-data-jogos{
    padding-left:14px;
  }

  .titulo-data-jogos h2{
    font-size:28px;
  }

  .cabecalho-competicao-jogos h3{
    font-size:20px;
  }

  .partida-jogos{
    padding:16px 3px 15px;
  }

  .linha-time-jogo strong{
    font-size:17px;
  }
}

/* Etapa 4: links para as páginas dos campeonatos */
.cabecalho-competicao-jogos h3 a{color:inherit;text-decoration:none;display:inline-flex;align-items:center;gap:4px}
.cabecalho-competicao-jogos h3 a,
.cabecalho-competicao-jogos h3 a:link,
.cabecalho-competicao-jogos h3 a:visited,
.cabecalho-competicao-jogos h3 a:hover,
.cabecalho-competicao-jogos h3 a:focus,
.cabecalho-competicao-jogos h3 a:active{
  color:inherit;
  text-decoration:none !important;
  border-bottom:0 !important;
  box-shadow:none !important;
}

/* Etapa 5: card de partida clicável */
.partida-jogos,.card-jogo,.agenda-resumo-card-v38{position:relative}
.link-card-jogo{position:absolute;inset:0;z-index:1;border-radius:inherit;text-decoration:none!important}
.partida-jogos:hover,.card-jogo:hover,.agenda-resumo-card-v38:hover{box-shadow:0 8px 22px rgba(0,0,0,.08)}
.partida-jogos a:not(.link-card-jogo),.card-jogo a:not(.link-card-jogo),.agenda-resumo-card-v38 a:not(.link-card-jogo){position:relative;z-index:2}
