/*
Theme Name: Football Club Child - LUF
Theme URI: https://lufamador.com.br
Description: Child theme do Football Club para a Liga Uberlandense de Futebol. Home no estilo dark (azul-marinho + verde LUF).
Author: Raid Servicos de Tecnologia
Template: football-club
Version: 1.0.0
Text Domain: football-club-child
*/

/* ==========================================================================
   VARIAVEIS DE COR - LUF (azul-marinho + verde)
   ========================================================================== */
:root {
  --luf-bg:        #dadada;   /* fundo geral cinza claro (igual laterais) */
  --luf-card:      #142338;   /* fundo dos cards             */
  --luf-card-2:    #1a2d47;   /* gradiente topo dos cards    */
  --luf-border:    #22385a;   /* bordas sutis                */
  --luf-green:     #1faa4b;   /* verde LUF - destaque        */
  --luf-green-2:   #16863a;   /* verde escuro (hover)        */
  --luf-text:      #eaf1f8;   /* texto principal claro       */
  --luf-text-dim:  #9db2cc;   /* texto secundario           */
  --luf-radius:    12px;
  --luf-shadow:    0 6px 20px rgba(0,0,0,.35);
}

/* ==========================================================================
   HOME - CONTAINER DARK (aplicado so na pagina inicial)
   ========================================================================== */
body.home #content,
body.page-template-template-homepage #content {
  background: var(--luf-bg);
}

.luf-home {
  max-width: 1140px;
  margin: 0 auto;
  padding: 32px 16px 48px;
  color: var(--luf-text);
  font-family: "Inter","Segoe UI",Roboto,Arial,sans-serif;
}

/* Titulos de secao */
.luf-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 34px 0 18px;
}
.luf-section-head h2 {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--luf-text);
  margin: 0;
  position: relative;
  padding-left: 14px;
}
.luf-section-head h2::before {
  content: "";
  position: absolute;
  left: 0; top: 50%;
  transform: translateY(-50%);
  width: 4px; height: 22px;
  background: var(--luf-green);
  border-radius: 3px;
}
.luf-section-head .luf-see-all {
  font-size: 12px;
  color: var(--luf-text-dim);
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: .08em;
  transition: color .2s;
}
.luf-section-head .luf-see-all:hover { color: var(--luf-green); }

/* ==========================================================================
   NOTICIAS - GRID DE CARDS
   ========================================================================== */
.luf-news-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.luf-news-card {
  background: linear-gradient(180deg, var(--luf-card-2) 0%, var(--luf-card) 100%);
  border: 1px solid var(--luf-border);
  border-radius: var(--luf-radius);
  overflow: hidden;
  box-shadow: var(--luf-shadow);
  transition: transform .2s, border-color .2s;
  display: flex;
  flex-direction: column;
}
.luf-news-card:hover {
  transform: translateY(-4px);
  border-color: var(--luf-green);
}
.luf-news-card .luf-news-thumb {
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #0b1522;
}
.luf-news-card .luf-news-thumb img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
}
.luf-news-card .luf-news-body { padding: 16px 16px 20px; }
.luf-news-card .luf-news-date {
  font-size: 11px;
  color: var(--luf-green);
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 600;
  margin-bottom: 8px;
}
.luf-news-card .luf-news-title {
  font-size: 15px;
  font-weight: 700;
  color: var(--luf-text);
  line-height: 1.35;
  margin: 0 0 8px;
}
.luf-news-card .luf-news-title a { color: inherit; text-decoration: none; }
.luf-news-card .luf-news-title a:hover { color: var(--luf-green); }
.luf-news-card .luf-news-excerpt {
  font-size: 13px;
  color: var(--luf-text-dim);
  line-height: 1.5;
  margin: 0;
}

/* ==========================================================================
   CAMPEONATOS - GRID DE CARDS ESCUROS
   ========================================================================== */
.luf-champ-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}
.luf-champ-card {
  background: linear-gradient(180deg, #182c46 0%, #0f1e33 100%);
  border: 1px solid var(--luf-border);
  border-radius: 10px;
  padding: 14px 16px;
  transition: border-color .2s, transform .2s;
  cursor: pointer;
  position: relative;
}
.luf-champ-card:hover {
  border-color: var(--luf-green);
  transform: translateY(-2px);
}
.luf-champ-card .luf-champ-name {
  font-size: 14px;
  font-weight: 700;
  color: var(--luf-text);
  margin: 0 0 4px;
}
.luf-champ-card .luf-champ-meta {
  font-size: 11px;
  color: var(--luf-text-dim);
  margin: 0 0 8px;
}
.luf-champ-card .luf-champ-team {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--luf-green);
  font-weight: 600;
}
.luf-champ-card .luf-champ-team::before {
  content: "";
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--luf-green);
  display: inline-block;
}

/* ==========================================================================
   BOTOES / ACESSAR
   ========================================================================== */
.luf-home .luf-btn,
.luf-home a.button,
.luf-home .sp-view-all-link a {
  display: inline-block;
  background: var(--luf-green);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  padding: 8px 18px;
  border-radius: 6px;
  text-decoration: none;
  transition: background .2s;
}
.luf-home .luf-btn:hover,
.luf-home a.button:hover { background: var(--luf-green-2); }

/* ==========================================================================
   BLOCOS SPORTSPRESS (resultados / proximos jogos) - RESKIN DARK
   ========================================================================== */
.luf-home .sp-template-event-blocks,
.luf-home .sp-widget-align-none {
  background: var(--luf-card);
  border: 1px solid var(--luf-border);
  border-radius: var(--luf-radius);
  padding: 14px;
  color: var(--luf-text);
}
.luf-home .sp-event-blocks .sp-team-name,
.luf-home .sp-event-blocks a { color: var(--luf-text); }
.luf-home .sp-event-blocks .sp-event-results,
.luf-home .sp-event-blocks .sp-event-result {
  color: var(--luf-green);
  font-weight: 700;
}

/* ==========================================================================
   RESPONSIVO
   ========================================================================== */
@media (max-width: 980px) {
  .luf-news-grid  { grid-template-columns: repeat(2, 1fr); }
  .luf-champ-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  .luf-news-grid  { grid-template-columns: 1fr; }
  .luf-champ-grid { grid-template-columns: 1fr; }
}

/* ==========================================================================
   RESULTADOS + PROXIMOS JOGOS - empilhados (largura total), dark
   ========================================================================== */
.luf-matches { margin: 8px 0; }

/* empilhado: uma coluna so */
.luf-matches-grid {
  display: block;
}
.luf-matches-col { margin-bottom: 18px; }

/* caixa de cada bloco */
.luf-matches-col .luf-widget,
.luf-matches-col > div {
  background: var(--luf-card);
  border: 1px solid var(--luf-border);
  border-radius: var(--luf-radius);
  box-shadow: var(--luf-shadow);
  overflow: hidden;
}

/* FORCA todo texto dentro dos blocos de jogos a ficar claro */
.luf-matches,
.luf-matches * {
  color: var(--luf-text) !important;
  border-color: var(--luf-border) !important;
}

/* fundos internos escuros (SportsPress usa tabelas com fundo branco) */
.luf-matches table,
.luf-matches tr,
.luf-matches td,
.luf-matches th,
.luf-matches .sp-template,
.luf-matches .sp-event-blocks,
.luf-matches .sp-scoreboard,
.luf-matches ul,
.luf-matches li {
  background: transparent !important;
}

/* linhas zebradas: leve contraste */
.luf-matches tr:nth-child(even) td {
  background: rgba(255,255,255,.02) !important;
}

/* cabecalho do bloco (ULTIMOS RESULTADOS / PROXIMOS JOGOS) */
.luf-matches h1, .luf-matches h2, .luf-matches h3,
.luf-matches h4, .luf-matches h5, .luf-matches caption,
.luf-matches .sp-heading {
  color: var(--luf-green) !important;
  text-transform: uppercase;
  letter-spacing: .06em;
  font-size: 13px !important;
  font-weight: 700 !important;
  padding: 10px 12px !important;
  margin: 0 !important;
  background: rgba(0,0,0,.15) !important;
  border-bottom: 1px solid var(--luf-border) !important;
}

/* placar / resultado em verde */
.luf-matches .sp-event-results,
.luf-matches .sp-event-results *,
.luf-matches .sp-result,
.luf-matches .sp-scoreboard .sp-result {
  color: var(--luf-green) !important;
  font-weight: 700 !important;
}

/* links */
.luf-matches a { color: var(--luf-text) !important; }
.luf-matches a:hover { color: var(--luf-green) !important; }

/* botao Acessar / ver todos */
.luf-matches .button,
.luf-matches a.button,
.luf-matches input[type="submit"] {
  background: var(--luf-green) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 6px !important;
  padding: 6px 16px !important;
  font-size: 12px !important;
  text-transform: uppercase;
  font-weight: 700 !important;
}
.luf-matches .button:hover,
.luf-matches a.button:hover { background: var(--luf-green-2) !important; }

/* datas/horarios em cinza claro */
.luf-matches time,
.luf-matches .event-date { color: var(--luf-text-dim) !important; }

/* link "ver todos os eventos" */
.luf-matches .sp-view-all-link a { color: var(--luf-green) !important; }

/* ==========================================================================
   COMUNICADOS (block-8 wp:details) - nao ficar branco no branco
   ========================================================================== */
.luf-home .wp-block-details {
  background: var(--luf-card) !important;
  border: 1px solid var(--luf-border) !important;
  border-radius: 8px;
  color: var(--luf-text) !important;
  padding: 4px 12px !important;
  margin-bottom: 12px;
}
.luf-home .wp-block-details summary { color: var(--luf-text) !important; font-weight: 700; }
.luf-home .wp-block-details a { color: #7fb2ff !important; }

/* ==========================================================================
   AJUSTE FINO - classes reais dos cards de evento (sp-custom-event-*)
   ========================================================================== */

/* cada card de jogo: fundo escuro */
.luf-matches .sp-custom-event-card {
  background: #0f1e33 !important;
  border: 1px solid var(--luf-border) !important;
  border-radius: 10px !important;
  margin: 10px !important;
  padding: 12px !important;
  box-shadow: none !important;
}

/* cabecalho do card (liga/campeonato + data) */
.luf-matches .sp-custom-event-header,
.luf-matches .sp-custom-event-header * {
  color: var(--luf-text-dim) !important;
  background: transparent !important;
}

/* nomes dos times */
.luf-matches .sp-custom-event-teams,
.luf-matches .sp-custom-event-teams *,
.luf-matches .sp-team-home,
.luf-matches .sp-team-away,
.luf-matches .sp-team-link {
  color: var(--luf-text) !important;
  font-weight: 600 !important;
}

/* o "x" / versus e placar em verde */
.luf-matches .sp-versus,
.luf-matches .sp-custom-event-teams .sp-versus {
  color: var(--luf-green) !important;
  font-weight: 700 !important;
}

/* data e horario */
.luf-matches .sp-date,
.luf-matches .sp-time,
.luf-matches .sp-venue {
  color: var(--luf-text-dim) !important;
}

/* botao Acessar (sp-cta-button / sp-custom-event-cta) */
.luf-matches .sp-cta-button,
.luf-matches .sp-custom-event-cta a,
.luf-matches a.sp-cta-button {
  background: var(--luf-green) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 6px !important;
  padding: 6px 18px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  display: inline-block;
}
.luf-matches .sp-cta-button:hover { background: var(--luf-green-2) !important; }

/* cabecalho do bloco todo (ULTIMOS RESULTADOS / PROXIMOS JOGOS) */
.luf-matches .sp-template-event-blocks > h4,
.luf-matches .sp-template-event-blocks .sp-table-caption,
.luf-matches .sp-header-scoreboard {
  color: var(--luf-green) !important;
  text-transform: uppercase;
  font-weight: 700 !important;
}

/* linhas alternadas */
.luf-matches .sp-row.alternate,
.luf-matches .sp-row.sp-post {
  background: transparent !important;
}

/* logos dos times: leve fundo pra escudos escuros */
.luf-matches .sp-team-logo {
  background: transparent !important;
}

/* ==========================================================================
   CORRIGE FLOATS DO SPORTSPRESS - forca empilhamento e limpa alinhamento
   ========================================================================== */

/* zera os floats de alinhamento left/right dos widgets */
.luf-matches .sp-widget-align-left,
.luf-matches .sp-widget-align-right,
.luf-matches .sp-template-event-blocks {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  clear: both !important;
}

/* cada coluna ocupa a largura toda e uma embaixo da outra */
.luf-matches-col {
  float: none !important;
  width: 100% !important;
  clear: both !important;
  display: block !important;
}

/* limpa floats ao final da secao de jogos (evita "Noticias" subir) */
.luf-matches::after {
  content: "";
  display: table;
  clear: both;
}
.luf-matches-grid::after {
  content: "";
  display: table;
  clear: both;
}

/* garante que a secao Noticias comece limpa, sem sobreposicao */
.luf-news,
.luf-champs {
  clear: both !important;
  position: relative;
  z-index: 1;
}

/* dentro de cada bloco, os cards de jogo em grid responsivo agradavel */
.luf-matches .sp-template-event-blocks .sp-custom-event-card {
  display: block;
  width: auto;
}

/* ==========================================================================
   CENTRALIZAR CARDS DE JOGO (bom quando ha poucos/1 resultado)
   ========================================================================== */

/* centraliza o conteudo dentro de cada bloco de jogos */
.luf-matches .sp-template-event-blocks {
  text-align: center !important;
}

/* cards com largura maxima e centralizados horizontalmente */
.luf-matches .sp-custom-event-card {
  max-width: 460px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* mantem o conteudo interno do card alinhado de forma equilibrada */
.luf-matches .sp-custom-event-card .sp-custom-event-teams {
  justify-content: center !important;
}

/* cabecalho do bloco centralizado */
.luf-matches .sp-template-event-blocks > h4,
.luf-matches .sp-header-scoreboard {
  text-align: center !important;
}

/* ==========================================================================
   FUNDO ARROXEADO SO NA SECAO NOTICIAS (igual referencia)
   ========================================================================== */
.luf-news {
  background: #d0d0d0;
  border: 1px solid #bcbcbc;
  border-radius: 16px;
  padding: 24px 22px 28px;
  margin: 18px 0 22px;
}

/* garante contraste do titulo e "ver todas" sobre o cinza */
.luf-news .luf-section-head h2 { color: #222 !important; }
.luf-news .luf-section-head .luf-see-all { color: #555 !important; }
.luf-news .luf-section-head .luf-see-all:hover { color: var(--luf-green) !important; }

/* cards mais claros que o fundo cinza, pra destacar */
.luf-news .luf-news-card {
  background: #ffffff;
  border: 1px solid #cccccc;
}

/* ==========================================================================
   PALETA CINZA - cards de jogos, campeonatos e blocos sobre fundo grafite
   ========================================================================== */

/* caixas dos blocos de jogos */
.luf-matches-col .luf-widget,
.luf-matches-col > div {
  background: #2c3038 !important;
  border-color: #3a3f49 !important;
}

/* cada card de jogo */
.luf-matches .sp-custom-event-card {
  background: #31353e !important;
  border-color: #3f4550 !important;
}

/* cabecalhos dos blocos (fundo levemente destacado) */
.luf-matches h1, .luf-matches h2, .luf-matches h3,
.luf-matches h4, .luf-matches h5, .luf-matches caption,
.luf-matches .sp-heading,
.luf-matches .sp-header-scoreboard {
  background: rgba(0,0,0,.18) !important;
  border-bottom-color: #3a3f49 !important;
}

/* cards de campeonatos */
.luf-champ-card {
  background: linear-gradient(180deg, #2f333c 0%, #282c34 100%) !important;
  border-color: #3a3f49 !important;
}

/* comunicados */
.luf-home .wp-block-details {
  background: #2c3038 !important;
  border-color: #3a3f49 !important;
}

/* linhas zebradas mais suaves no cinza */
.luf-matches tr:nth-child(even) td {
  background: rgba(255,255,255,.03) !important;
}

/* bordas gerais dentro dos blocos de jogo pro tom cinza */
.luf-matches,
.luf-matches * {
  border-color: #3a3f49 !important;
}

/* ==========================================================================
   FORCA FUNDO CINZA GERAL (sobrepoe tema pai) - correcao
   ========================================================================== */
body.home,
body.page-template-template-homepage,
body.home #page,
body.home .site-content,
body.home #content,
body.home .content-wrapper,
body.page-template-template-homepage #content,
body.page-template-template-homepage .site-content,
body.page-template-template-homepage #page {
  background: #dadada !important;
}

.luf-home { background: #dadada !important; }

/* ==========================================================================
   TEMA CLARO - ajuste de textos e cards para fundo cinza claro
   ========================================================================== */

/* cards de noticia: texto escuro */
.luf-news .luf-news-card .luf-news-title,
.luf-news .luf-news-card .luf-news-title a { color: #1a1a1a !important; }
.luf-news .luf-news-card .luf-news-title a:hover { color: var(--luf-green) !important; }
.luf-news .luf-news-card .luf-news-excerpt { color: #555 !important; }
.luf-news .luf-news-card .luf-news-date { color: var(--luf-green-2) !important; }

/* cards de campeonatos: claros com texto escuro */
.luf-champ-card {
  background: #ffffff !important;
  border: 1px solid #cccccc !important;
}
.luf-champ-card .luf-champ-name { color: #1a1a1a !important; }
.luf-champ-card .luf-champ-meta { color: #666 !important; }
.luf-champ-card .luf-champ-team { color: var(--luf-green-2) !important; }

/* titulos de secao (Campeonatos etc.): texto escuro sobre cinza */
.luf-home .luf-section-head h2 { color: #1a1a1a !important; }
.luf-home .luf-section-head .luf-see-all { color: #666 !important; }

/* blocos de jogos: caixas claras */
.luf-matches-col .luf-widget,
.luf-matches-col > div {
  background: #eaeaea !important;
  border-color: #cccccc !important;
}
.luf-matches .sp-custom-event-card {
  background: #ffffff !important;
  border-color: #cccccc !important;
}

/* texto dos jogos: escuro */
.luf-matches,
.luf-matches * { color: #222 !important; }
.luf-matches .sp-custom-event-teams,
.luf-matches .sp-custom-event-teams *,
.luf-matches .sp-team-home,
.luf-matches .sp-team-away,
.luf-matches .sp-team-link { color: #1a1a1a !important; }

/* cabecalhos dos blocos de jogo: verde sobre claro */
.luf-matches h1, .luf-matches h2, .luf-matches h3,
.luf-matches h4, .luf-matches h5, .luf-matches caption,
.luf-matches .sp-heading,
.luf-matches .sp-header-scoreboard {
  color: var(--luf-green-2) !important;
  background: #e2e2e2 !important;
  border-bottom-color: #cccccc !important;
}

/* placar e versus continuam verdes */
.luf-matches .sp-versus,
.luf-matches .sp-event-results,
.luf-matches .sp-result { color: var(--luf-green-2) !important; }

/* data/hora em cinza medio */
.luf-matches .sp-date,
.luf-matches .sp-time,
.luf-matches .sp-venue,
.luf-matches time { color: #777 !important; }

/* links dos jogos */
.luf-matches a { color: #1a1a1a !important; }
.luf-matches a:hover { color: var(--luf-green) !important; }

/* comunicados claros */
.luf-home .wp-block-details {
  background: #eaeaea !important;
  border-color: #cccccc !important;
}
.luf-home .wp-block-details summary { color: #1a1a1a !important; }
.luf-home .wp-block-details a { color: #185fa5 !important; }

/* ==========================================================================
   LATERAIS (body) - degrade horizontal azul vibrante -> verde agua
   ========================================================================== */
body.home,
body.page-template-template-homepage {
  background: linear-gradient(90deg, #134a86 0%, #106b6f 50%, #157a45 100%) !important;
  background-attachment: fixed !important;
}

/* mantem o container de conteudo (home) no cinza claro por cima do degrade */
body.home #content,
body.home .content-wrapper,
body.page-template-template-homepage #content,
body.page-template-template-homepage .content-wrapper,
.luf-home {
  background: #dadada !important;
}

/* ==========================================================================
   CARDS EM AZUL-MARINHO (fundo claro geral, mas cards azuis com texto claro)
   ========================================================================== */

/* --- CARDS DE NOTICIA --- */
.luf-news .luf-news-card {
  background: linear-gradient(180deg, #1a2d47 0%, #142338 100%) !important;
  border: 1px solid #22385a !important;
}
.luf-news .luf-news-card .luf-news-title,
.luf-news .luf-news-card .luf-news-title a { color: #eaf1f8 !important; }
.luf-news .luf-news-card .luf-news-title a:hover { color: var(--luf-green) !important; }
.luf-news .luf-news-card .luf-news-excerpt { color: #9db2cc !important; }
.luf-news .luf-news-card .luf-news-date { color: var(--luf-green) !important; }

/* --- CARDS DE CAMPEONATOS --- */
.luf-champ-card {
  background: linear-gradient(180deg, #182c46 0%, #0f1e33 100%) !important;
  border: 1px solid #22385a !important;
}
.luf-champ-card .luf-champ-name { color: #eaf1f8 !important; }
.luf-champ-card .luf-champ-meta { color: #9db2cc !important; }
.luf-champ-card .luf-champ-team { color: var(--luf-green) !important; }

/* --- CARDS DE JOGOS/RESULTADOS --- */
.luf-matches .sp-custom-event-card {
  background: #142338 !important;
  border-color: #22385a !important;
}
.luf-matches .sp-custom-event-card,
.luf-matches .sp-custom-event-card * { color: #eaf1f8 !important; }
.luf-matches .sp-custom-event-teams,
.luf-matches .sp-custom-event-teams *,
.luf-matches .sp-team-home,
.luf-matches .sp-team-away,
.luf-matches .sp-team-link { color: #eaf1f8 !important; }
.luf-matches .sp-versus,
.luf-matches .sp-event-results,
.luf-matches .sp-result { color: var(--luf-green) !important; }
.luf-matches .sp-date,
.luf-matches .sp-time,
.luf-matches .sp-venue,
.luf-matches .sp-custom-event-header,
.luf-matches .sp-custom-event-header * { color: #9db2cc !important; }

/* ==========================================================================
   PLACAR - caixas escuras com numero branco (corrige placar invisivel)
   ========================================================================== */

/* as caixinhas de resultado dentro do card de jogo */
.luf-matches .sp-custom-event-card .sp-result,
.luf-matches .sp-custom-event-teams .sp-result,
.luf-matches .sp-event-results,
.luf-matches .sp-scoreboard .sp-result,
.luf-matches .sp-custom-event-card [class*="result"],
.luf-matches .sp-custom-event-card [class*="score"] {
  background: #ffffff !important;
  color: #142338 !important;
  border: 1px solid #cccccc !important;
  border-radius: 6px !important;
  font-weight: 700 !important;
  padding: 4px 10px !important;
  min-width: 28px;
  text-align: center;
}

/* garante que qualquer numero dentro das caixas de placar fique escuro */
.luf-matches .sp-custom-event-card .sp-result *,
.luf-matches .sp-event-results * {
  color: #142338 !important;
}

/* o "x" (versus) continua verde, separando os numeros */
.luf-matches .sp-versus {
  color: var(--luf-green) !important;
  background: transparent !important;
  font-weight: 700 !important;
  padding: 0 6px !important;
}

/* ==========================================================================
   CARDS DE JOGOS - fundo branco, placar preto, sem linhas horizontais
   ========================================================================== */

/* card do jogo branco com texto escuro */
.luf-matches .sp-custom-event-card {
  background: #ffffff !important;
  border: 1px solid #dddddd !important;
}
.luf-matches .sp-custom-event-card,
.luf-matches .sp-custom-event-card *,
.luf-matches .sp-custom-event-teams,
.luf-matches .sp-custom-event-teams *,
.luf-matches .sp-team-home,
.luf-matches .sp-team-away,
.luf-matches .sp-team-link {
  color: #1a1a1a !important;
}

/* placar: caixa branca, numero PRETO */
.luf-matches .sp-custom-event-card .sp-result,
.luf-matches .sp-custom-event-teams .sp-result,
.luf-matches .sp-event-results,
.luf-matches .sp-custom-event-card [class*="result"],
.luf-matches .sp-custom-event-card [class*="score"],
.luf-matches .sp-custom-event-card .sp-result *,
.luf-matches .sp-event-results * {
  background: #ffffff !important;
  color: #000000 !important;
  border-color: #cccccc !important;
}

/* versus verde */
.luf-matches .sp-versus { color: var(--luf-green) !important; }

/* data/hora e cabecalho interno do card em cinza */
.luf-matches .sp-custom-event-header,
.luf-matches .sp-custom-event-header *,
.luf-matches .sp-date,
.luf-matches .sp-time,
.luf-matches .sp-venue { color: #777 !important; }

/* REMOVE as linhas horizontais acima/abaixo dos cards/blocos */
.luf-matches .sp-template-event-blocks,
.luf-matches .sp-template-event-blocks *,
.luf-matches .sp-custom-event-card,
.luf-matches hr,
.luf-matches .sp-table-caption,
.luf-matches thead,
.luf-matches tbody,
.luf-matches tr,
.luf-matches td,
.luf-matches th {
  border-top: none !important;
  border-bottom: none !important;
}

/* mantem so a borda suave em volta do card (todas as laterais) */
.luf-matches .sp-custom-event-card {
  border: 1px solid #dddddd !important;
}

/* cabecalho do bloco (ULTIMOS RESULTADOS / PROXIMOS JOGOS) sem linha embaixo */
.luf-matches h1, .luf-matches h2, .luf-matches h3,
.luf-matches h4, .luf-matches h5, .luf-matches caption,
.luf-matches .sp-heading,
.luf-matches .sp-header-scoreboard {
  border-bottom: none !important;
}

/* ==========================================================================
   REMOVE os "riscos"/bordas das CAIXAS grandes dos blocos de jogos
   (mantem apenas os cards internos com borda suave)
   ========================================================================== */

/* zera bordas, sombras e cantos das caixas contenedoras dos blocos */
.luf-matches-col .luf-widget,
.luf-matches-col > div,
.luf-matches .sp-template-event-blocks,
.luf-matches .sp-widget-align-left,
.luf-matches .sp-widget-align-right,
.luf-matches .sp-table-wrapper,
.luf-matches .sp-scoreboard-wrapper {
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  background: transparent !important;
}

/* reforca: nenhuma borda em qualquer wrapper interno, exceto o card do jogo */
.luf-matches *:not(.sp-custom-event-card):not(.sp-result):not([class*="result"]):not([class*="score"]) {
  border: none !important;
  box-shadow: none !important;
}

/* o card do jogo mantem sua borda suave */
.luf-matches .sp-custom-event-card {
  border: 1px solid #dddddd !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.06) !important;
  border-radius: 10px !important;
}

/* ==========================================================================
   CABECALHO - degrade verde (tons da logo) atras da barra logo/titulo
   ========================================================================== */
.site-header .header-area,
.header-wrapper .header-area {
  background: linear-gradient(90deg, #1f9d57 0%, #ffffff 30%, #ffffff 70%, #1f9d57 100%) !important;
}

/* barra da logo/titulo mais fina */
.site-branding { padding: 10px 20px !important; }
.site-identity { align-items: center; }
.site-title a, .site-description { color: #142338 !important; }

/* menu logo abaixo, faixa propria */
.site-menu {
  background: #142338;
}
.site-menu .main-navigation a { color: #eaf1f8; }
.site-menu .main-navigation a:hover { color: var(--luf-green); }

/* ==========================================================================
   SLIDER DE BANNERS (Swiper)
   ========================================================================== */
.luf-slider-wrap {
  margin: 0 0 16px;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 6px 20px rgba(0,0,0,.15);
}
.luf-swiper {
  width: 100%;
  background: #0f1e33;
}
.luf-swiper .swiper-slide {
  display: flex;
  align-items: center;
  justify-content: center;
}
.luf-slide-img {
  width: 100%;
  height: auto;
  display: block;
}
/* setas e bolinhas em verde LUF */
.luf-swiper .swiper-button-next,
.luf-swiper .swiper-button-prev { color: #fff; }
.luf-swiper .swiper-pagination-bullet-active { background: var(--luf-green) !important; }
.luf-swiper .swiper-pagination-bullet { background: rgba(255,255,255,.7); }

/* ==========================================================================
   MENU EM AZUL-MARINHO (sobrepoe o cinza do tema pai)
   ========================================================================== */
.site-menu,
.main-navigation,
.main-navigation ul,
#site-navigation {
  background: #142338 !important;
}
.main-navigation li { background: transparent !important; }
.main-navigation a { color: #eaf1f8 !important; }
.main-navigation a:hover,
.main-navigation li:hover > a,
.main-navigation .current-menu-item > a,
.main-navigation .current_page_item > a {
  background: #1a2d47 !important;
  color: var(--luf-green) !important;
}
/* submenus tambem azul-marinho */
.main-navigation ul ul,
.main-navigation ul ul li { background: #0f1e33 !important; }
.main-navigation ul ul a { color: #eaf1f8 !important; }
/* botao de busca combinando */
.site-menu .search-field { background: #1a2d47 !important; color: #eaf1f8 !important; border-color: #22385a !important; }
.site-menu .search-submit { background: #1a2d47 !important; }
