/* ========================================================================== 
   TERREIRO CAPOEIRA ANGOLA — SITE V7.3
   Ajustes pontuais de contraste, hierarquia e destaque do Núcleo Central.
   Preserva a estrutura funcional da V7.2.
   ========================================================================== */

/* Linha institucional de Angola no fecho do cabeçalho. */
.sport-header{
  border-bottom:3px solid var(--angola-red)!important;
}
.sport-header.scrolled{
  border-bottom-color:var(--angola-red)!important;
}

/* Mantém a leitura do item ativo sem competir com a linha vermelha. */
@media(min-width:1200px){
  .sport-nav-item>a{
    border-bottom-width:3px!important;
  }
}

/* ========================================================================== 
   CONTRASTE: TÍTULOS, INFORMAÇÃO E AÇÕES DENTRO DOS CARTÕES
   ========================================================================== */
.sport-nucleus-grid article{
  background:#121214!important;
  border-color:#3a3a3d!important;
  color:#f7f7f4!important;
  box-shadow:none!important;
}
.sport-nucleus-grid article h3,
.sport-nucleus-grid article b{
  color:#ffffff!important;
}
.sport-nucleus-grid article p{
  color:#c9c9c4!important;
}
.sport-nucleus-grid article .sport-nucleus-hours{
  color:#d8d8d3!important;
}
.sport-nucleus-grid article .sport-nucleus-hours i,
.sport-nucleus-grid article .sport-nucleus-top,
.sport-nucleus-grid article .sport-nucleus-top span,
.sport-nucleus-grid article .sport-nucleus-top i{
  color:var(--angola-yellow)!important;
}
.sport-nucleus-grid article .sport-nucleus-top em{
  color:var(--angola-yellow)!important;
  border-color:var(--angola-yellow)!important;
  background:#0b0b0c!important;
}
.sport-nucleus-grid article:hover{
  background:#18181a!important;
  color:#ffffff!important;
  border-color:var(--angola-yellow)!important;
  transform:translateY(-5px)!important;
  box-shadow:0 18px 42px rgba(0,0,0,.20)!important;
}
.sport-nucleus-grid article:hover h3,
.sport-nucleus-grid article:hover b{
  color:#ffffff!important;
}
.sport-nucleus-grid article:hover p,
.sport-nucleus-grid article:hover .sport-nucleus-hours{
  color:#ddddda!important;
}

.sport-card-actions a{
  background:#151517!important;
  border-color:#4c4c50!important;
  color:var(--angola-yellow)!important;
  opacity:1!important;
  visibility:visible!important;
}
.sport-card-actions a i{
  color:var(--angola-yellow)!important;
}
.sport-card-actions a:hover,
.sport-card-actions a:focus-visible{
  background:var(--angola-yellow)!important;
  border-color:var(--angola-yellow)!important;
  color:var(--angola-black)!important;
}
.sport-card-actions a:hover i,
.sport-card-actions a:focus-visible i{
  color:var(--angola-black)!important;
}

/* O Núcleo Central deve ser imediatamente reconhecível em qualquer tema. */
.sport-nucleus-grid article.sport-nucleus-central{
  background:
    linear-gradient(135deg,rgba(206,17,38,.22) 0%,rgba(206,17,38,.08) 38%,rgba(18,18,20,1) 78%)!important;
  border:2px solid var(--angola-red)!important;
  box-shadow:inset 0 5px 0 var(--angola-yellow),0 18px 48px rgba(0,0,0,.20)!important;
}
.sport-nucleus-grid article.sport-nucleus-central::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:5px;
  background:var(--angola-red);
}
.sport-nucleus-grid article.sport-nucleus-central h3{
  color:var(--angola-yellow)!important;
}
.sport-nucleus-grid article.sport-nucleus-central .sport-nucleus-top em{
  background:var(--angola-red)!important;
  border-color:var(--angola-red)!important;
  color:#ffffff!important;
}
.sport-nucleus-grid article.sport-nucleus-central:hover{
  background:
    linear-gradient(135deg,rgba(206,17,38,.30) 0%,rgba(206,17,38,.11) 42%,rgba(24,24,26,1) 82%)!important;
  border-color:var(--angola-red)!important;
  box-shadow:inset 0 5px 0 var(--angola-yellow),0 22px 54px rgba(0,0,0,.28)!important;
}

/* O mesmo destaque aparece no seletor de mapas, sem substituir o estado ativo. */
.sport-nucleus-selector button.sport-nucleus-central{
  background:linear-gradient(90deg,rgba(206,17,38,.12),var(--sport-card))!important;
  box-shadow:inset 4px 0 var(--angola-red)!important;
}
.sport-nucleus-selector button.sport-nucleus-central b{
  color:var(--sport-title)!important;
}
.sport-nucleus-selector button.sport-nucleus-central i{
  background:var(--angola-red)!important;
  color:#ffffff!important;
}
.sport-nucleus-selector button.sport-nucleus-central.active{
  box-shadow:inset 6px 0 var(--angola-red),inset 0 -3px var(--angola-yellow)!important;
}

/* ========================================================================== 
   BOTÕES EM FUNDOS ESCUROS — NUNCA DESAPARECEM
   ========================================================================== */
.sport-join-strip .sport-btn.ghost,
.sport-projects .sport-btn.ghost,
.sport-nuclei .sport-btn.ghost,
.sport-map-section .sport-btn.ghost,
.sport-profile-nuclei .sport-btn.ghost,
.sport-nucleus-class .sport-btn.ghost,
.sport-dark-feature .sport-btn.ghost{
  background:#171719!important;
  border-color:#646469!important;
  color:#ffffff!important;
  opacity:1!important;
}
.sport-join-strip .sport-btn.ghost:hover,
.sport-projects .sport-btn.ghost:hover,
.sport-nuclei .sport-btn.ghost:hover,
.sport-map-section .sport-btn.ghost:hover,
.sport-profile-nuclei .sport-btn.ghost:hover,
.sport-nucleus-class .sport-btn.ghost:hover,
.sport-dark-feature .sport-btn.ghost:hover{
  background:#242427!important;
  border-color:var(--angola-yellow)!important;
  color:var(--angola-yellow)!important;
}

/* Botões escuros em páginas claras/escurecidas mantêm contraste nos dois temas. */
.sport-center-action .sport-btn.dark{
  background:#0d0d0e!important;
  border-color:#3d3d40!important;
  color:#ffffff!important;
}
.sport-center-action .sport-btn.dark:hover{
  background:#202023!important;
  border-color:var(--angola-yellow)!important;
  color:var(--angola-yellow)!important;
}

/* ========================================================================== 
   CABEÇALHOS DE SECÇÃO E CARTÕES EDITORIAIS — LIGHT/DARK CONSISTENTES
   ========================================================================== */
html[data-theme="light"] .sport-values .sport-section-heading.light h2,
html[data-theme="light"] .sport-values .sport-section-heading.light>p,
html[data-theme="light"] .sport-history .sport-section-heading.light h2,
html[data-theme="light"] .sport-history .sport-section-heading.light>p,
html[data-theme="light"] .sport-team .sport-section-heading.light h2,
html[data-theme="light"] .sport-team .sport-section-heading.light>p{
  color:var(--sport-title)!important;
}
html[data-theme="light"] .sport-projects .sport-section-heading.light h2,
html[data-theme="light"] .sport-projects .sport-section-heading.light>p,
html[data-theme="light"] .sport-nuclei .sport-section-heading.light h2,
html[data-theme="light"] .sport-nuclei .sport-section-heading.light>p,
html[data-theme="light"] .sport-map-section .sport-section-heading.light h2,
html[data-theme="light"] .sport-map-section .sport-section-heading.light>p,
html[data-theme="light"] .sport-profile-nuclei .sport-section-heading.light h2,
html[data-theme="light"] .sport-profile-nuclei .sport-section-heading.light>p,
html[data-theme="light"] .sport-nucleus-class .sport-section-heading.light h2,
html[data-theme="light"] .sport-nucleus-class .sport-section-heading.light>p,
html[data-theme="light"] .sport-dark-feature .sport-section-heading.light h2,
html[data-theme="light"] .sport-dark-feature .sport-section-heading.light>p{
  color:#ffffff!important;
}

/* Missão / Visão / Compromisso: contraste explícito em vez de depender do tema. */
.sport-three-pillars article:first-child{
  background:var(--sport-card)!important;
  color:var(--sport-title)!important;
  border-bottom-color:var(--angola-red)!important;
}
.sport-three-pillars article:first-child h2{
  color:var(--sport-title)!important;
}
.sport-three-pillars article:first-child p{
  color:var(--sport-copy)!important;
}
.sport-three-pillars article:nth-child(2){
  background:#080809!important;
  color:#ffffff!important;
  border-bottom-color:var(--angola-yellow)!important;
}
.sport-three-pillars article:nth-child(2) h2{
  color:#ffffff!important;
}
.sport-three-pillars article:nth-child(2) p{
  color:#deded9!important;
}
.sport-three-pillars article:nth-child(3){
  background:var(--angola-yellow)!important;
  color:var(--angola-black)!important;
  border-bottom-color:var(--angola-red)!important;
}
.sport-three-pillars article:nth-child(3) h2,
.sport-three-pillars article:nth-child(3) p{
  color:var(--angola-black)!important;
}
.sport-three-pillars article:first-child>span{
  color:rgba(0,0,0,.07)!important;
}
html[data-theme="dark"] .sport-three-pillars article:first-child>span{
  color:rgba(255,255,255,.035)!important;
}
.sport-three-pillars article:nth-child(2)>span{
  color:rgba(255,255,255,.035)!important;
}
.sport-three-pillars article:nth-child(3)>span{
  color:rgba(0,0,0,.09)!important;
}

/* Cartões genéricos: assegura títulos e texto legíveis no tema escuro. */
html[data-theme="dark"] .sport-value-grid article h3,
html[data-theme="dark"] .sport-event-card h3,
html[data-theme="dark"] .sport-team-grid article h3,
html[data-theme="dark"] .sport-structure-grid article h3,
html[data-theme="dark"] .sport-rank-grid article h3,
html[data-theme="dark"] .sport-blog-card h3,
html[data-theme="dark"] .sport-blog-card h3 a{
  color:#ffffff!important;
}
html[data-theme="dark"] .sport-value-grid article p,
html[data-theme="dark"] .sport-event-card p,
html[data-theme="dark"] .sport-team-grid article p,
html[data-theme="dark"] .sport-structure-grid article p,
html[data-theme="dark"] .sport-rank-grid article p,
html[data-theme="dark"] .sport-blog-card p{
  color:#c9c9c4!important;
}

/* Tema claro: não herdar branco de blocos originalmente escuros. */
html[data-theme="light"] .sport-value-grid article h3,
html[data-theme="light"] .sport-event-card h3,
html[data-theme="light"] .sport-team-grid article h3,
html[data-theme="light"] .sport-structure-grid article h3,
html[data-theme="light"] .sport-rank-grid article h3,
html[data-theme="light"] .sport-blog-card h3,
html[data-theme="light"] .sport-blog-card h3 a{
  color:#0b0b0c!important;
}
html[data-theme="light"] .sport-value-grid article p,
html[data-theme="light"] .sport-event-card p,
html[data-theme="light"] .sport-team-grid article p,
html[data-theme="light"] .sport-structure-grid article p,
html[data-theme="light"] .sport-rank-grid article p,
html[data-theme="light"] .sport-blog-card p{
  color:#56565b!important;
}

/* Exceção deliberada: os cartões de núcleos ficam escuros nos dois temas. */
html[data-theme="light"] .sport-nucleus-grid article h3,
html[data-theme="light"] .sport-nucleus-grid article b{
  color:#ffffff!important;
}
html[data-theme="light"] .sport-nucleus-grid article p{
  color:#c9c9c4!important;
}
html[data-theme="light"] .sport-nucleus-grid article.sport-nucleus-central h3{
  color:var(--angola-yellow)!important;
}

/* Mobile: a linha vermelha acompanha o drawer sem criar deslocamento. */
@media(max-width:1199px){
  .sport-header{
    border-bottom-width:3px!important;
  }
  .sport-nucleus-grid article.sport-nucleus-central::before{
    width:4px;
  }
}

/* CTA secundário do slideshow: contraste garantido mesmo quando o tema global é claro. */
.sport-hero .sport-btn.ghost,
.sport-slider .sport-btn.ghost,
.sport-slide .sport-btn.ghost{
  background:rgba(13,13,14,.72)!important;
  border-color:#737378!important;
  color:#ffffff!important;
  opacity:1!important;
}
.sport-hero .sport-btn.ghost:hover,
.sport-slider .sport-btn.ghost:hover,
.sport-slide .sport-btn.ghost:hover{
  background:#1d1d20!important;
  border-color:var(--angola-yellow)!important;
  color:var(--angola-yellow)!important;
}

/* Links de ação que vivem dentro de cartões nunca usam tons demasiado escuros. */
html[data-theme="dark"] .sport-event-body>a,
html[data-theme="dark"] .sport-blog-read,
html[data-theme="dark"] .sport-person-more,
html[data-theme="dark"] .sport-inline-link{
  color:var(--angola-yellow)!important;
}
