/* ========================================================================== 
   TERREIRO CAPOEIRA ANGOLA — SITE V7.1
   Identidade Angola: Vermelho · Amarelo · Preto
   Camada final de identidade, contraste e coerência visual.
   ========================================================================== */
:root{
  --angola-red:#CE1126;
  --angola-red-bright:#E21D31;
  --angola-red-deep:#8E0D1C;
  --angola-yellow:#F7D117;
  --angola-yellow-soft:#FFE66A;
  --angola-black:#0B0B0C;
  --angola-black-soft:#151214;
  --angola-burgundy:#321116;
  --angola-paper:#F5F3EF;
  --angola-paper-alt:#ECE7DF;
  --angola-white:#FFFFFF;

  /* Aliases históricos: nenhum componente público volta ao azul. */
  --sport-red:var(--angola-red);
  --sport-blue:var(--angola-red);
  --sport-blue-bright:var(--angola-red-bright);
  --sport-yellow:var(--angola-yellow);
  --sport-ink:var(--angola-black);
  --sport-navy:var(--angola-black-soft);
  --sport-paper:var(--angola-paper);
  --sport-muted:#6D6567;
  --sport-form-accent:var(--angola-red);
  --sport-focus:rgba(206,17,38,.18);
}
html[data-theme="light"]{
  color-scheme:light;
  --sport-page-bg:var(--angola-paper);
  --sport-surface:var(--angola-white);
  --sport-surface-alt:var(--angola-paper-alt);
  --sport-card:var(--angola-white);
  --sport-title:#111112;
  --sport-copy:#5B5557;
  --sport-line:#D9D0C8;
  --sport-soft:#EEE8E2;
  --sport-input:#FFFFFF;
  --sport-input-border:#CFC5BD;
}
html[data-theme="dark"]{
  color-scheme:dark;
  --sport-page-bg:var(--angola-black);
  --sport-surface:#121011;
  --sport-surface-alt:#191416;
  --sport-card:#1D181A;
  --sport-title:#FAF7F1;
  --sport-copy:#CBC1BE;
  --sport-line:#45373A;
  --sport-soft:#251A1D;
  --sport-input:#151113;
  --sport-input-border:#5B4449;
  --sport-form-accent:var(--angola-yellow);
  --sport-focus:rgba(247,209,23,.18);
}
body.public-body,.tca-sport-site{background:var(--sport-page-bg)!important;color:var(--sport-title)!important}

/* Barra nacional, cabeçalho e navegação. */
.sport-topline{background:var(--angola-yellow)!important;color:var(--angola-black)!important;border-bottom:1px solid rgba(0,0,0,.16)}
.sport-country-mark{color:var(--angola-black)!important;border-right-color:rgba(0,0,0,.32)!important}
.sport-header{background:rgba(8,8,9,.975)!important;border-bottom:1px solid rgba(206,17,38,.5)!important}
.sport-header.scrolled{box-shadow:0 16px 55px rgba(0,0,0,.32)!important}
.sport-logo{background:#fff!important;box-shadow:inset 0 -3px 0 var(--angola-yellow)}
.sport-brand b{color:#fff!important;letter-spacing:.055em!important}
.sport-brand small{color:#C8BFC1!important;letter-spacing:.085em!important}
.sport-nav-item>a{color:#fff!important}
.sport-nav-item>a:hover,.sport-nav-item.active>a{color:var(--angola-yellow)!important;border-bottom-color:var(--angola-red)!important;background:rgba(206,17,38,.08)!important}
.sport-nav-item.enroll-link>a,.sport-nav-item:last-child>a{background:var(--angola-red)!important;color:#fff!important;border-color:var(--angola-red)!important}
.sport-nav-item.enroll-link>a:hover,.sport-nav-item:last-child>a:hover{background:var(--angola-yellow)!important;color:var(--angola-black)!important}
.sport-submenu{background:#100D0E!important;border-top-color:var(--angola-red)!important}
.sport-submenu a:hover{color:var(--angola-yellow)!important;background:rgba(206,17,38,.11)}
.sport-theme-toggle,.sport-menu-toggle{background:#111!important;border-color:#4A3A3D!important;color:#fff!important}
.sport-theme-toggle:hover,.sport-menu-toggle:hover{background:var(--angola-red)!important;border-color:var(--angola-red)!important;color:#fff!important}
.sport-header-controls .tca-country-switcher summary{background:#111!important;border-color:#4A3A3D!important;color:#fff!important}
.sport-header-controls .tca-country-switcher summary:hover{border-color:var(--angola-yellow)!important}

/* Hero: Angola aparece no contraste, não numa massa de cor. */
.sport-hero,.sport-page-hero,.sport-article-hero{background:var(--angola-black)!important}
.sport-slide-shade,.sport-page-hero .sport-slide-shade{
  background:
    linear-gradient(90deg,rgba(4,4,5,.98) 0%,rgba(8,8,9,.91) 38%,rgba(54,11,18,.39) 72%,rgba(5,5,6,.62) 100%),
    linear-gradient(0deg,rgba(5,5,6,.97),transparent 58%)!important;
}
.sport-grid-lines{background-image:linear-gradient(rgba(247,209,23,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(206,17,38,.07) 1px,transparent 1px)!important}
.sport-eyebrow{background:rgba(206,17,38,.86)!important;color:#fff!important;border-color:var(--angola-yellow)!important;box-shadow:inset 4px 0 0 var(--angola-yellow)}
.sport-slide h1,.sport-page-hero h1,.sport-article-hero h1{color:#fff!important}
.sport-slide h1 strong{color:var(--angola-yellow)!important}
.sport-slide-copy>p,.sport-page-hero p{color:#E5DFDC!important}
.sport-slider-ui>button{background:rgba(11,11,12,.75)!important;border-color:#665356!important;color:#fff!important}
.sport-slider-ui>button:hover{background:var(--angola-red)!important;border-color:var(--angola-red)!important;color:#fff!important}
.sport-dots button.active{background:var(--angola-yellow)!important}.sport-slide-counter b{color:var(--angola-yellow)!important}
.sport-scroll-hint i{color:var(--angola-yellow)!important}

/* Botões: amarelo = primário, preto = secundário, vermelho = estado/ênfase. */
.sport-btn.primary,.sport-animated-form .btn-primary{background:var(--angola-yellow)!important;color:var(--angola-black)!important;border-color:var(--angola-yellow)!important}
.sport-btn.primary:hover,.sport-animated-form .btn-primary:hover{background:var(--angola-yellow-soft)!important;color:var(--angola-black)!important;border-color:var(--angola-yellow-soft)!important}
.sport-btn.dark{background:var(--angola-black)!important;color:#fff!important;border-color:#423537!important}
.sport-btn.dark:hover{background:var(--angola-red)!important;color:#fff!important;border-color:var(--angola-red)!important}
.sport-btn.ghost{background:transparent!important;color:#fff!important;border-color:#8B777A!important}
.sport-btn.ghost:hover{background:var(--angola-red)!important;color:#fff!important;border-color:var(--angola-red)!important}
html[data-theme="light"] .sport-about .sport-btn.ghost,
html[data-theme="light"] .sport-history .sport-btn.ghost,
html[data-theme="light"] .sport-values .sport-btn.ghost,
html[data-theme="light"] .sport-events .sport-btn.ghost,
html[data-theme="light"] .sport-team .sport-btn.ghost,
html[data-theme="light"] .sport-gallery .sport-btn.ghost,
html[data-theme="light"] .sport-contact-page .sport-btn.ghost,
html[data-theme="light"] .sport-profile-page .sport-btn.ghost,
html[data-theme="light"] .sport-nucleus-detail .sport-btn.ghost{color:var(--angola-black)!important;border-color:#403638!important}
html[data-theme="light"] .sport-about .sport-btn.ghost:hover,
html[data-theme="light"] .sport-history .sport-btn.ghost:hover,
html[data-theme="light"] .sport-values .sport-btn.ghost:hover,
html[data-theme="light"] .sport-events .sport-btn.ghost:hover,
html[data-theme="light"] .sport-team .sport-btn.ghost:hover,
html[data-theme="light"] .sport-gallery .sport-btn.ghost:hover,
html[data-theme="light"] .sport-contact-page .sport-btn.ghost:hover,
html[data-theme="light"] .sport-profile-page .sport-btn.ghost:hover,
html[data-theme="light"] .sport-nucleus-detail .sport-btn.ghost:hover{background:var(--angola-red)!important;color:#fff!important;border-color:var(--angola-red)!important}

/* Estatísticas, títulos e acentos editoriais. */
.sport-scoreboard{background:linear-gradient(90deg,var(--angola-red-deep),var(--angola-red))!important;border-top-color:var(--angola-yellow)!important}
.sport-score-grid article{border-right-color:rgba(255,255,255,.18)!important}.sport-score-grid i{color:var(--angola-yellow)!important}.sport-score-grid small{color:#F5DADD!important}
.sport-section-tag{color:var(--angola-red)!important}
.sport-projects .sport-section-tag,.sport-nuclei .sport-section-tag,.sport-map-section .sport-section-tag,.sport-profile-nuclei .sport-section-tag,.sport-nucleus-class .sport-section-tag,.sport-dark-feature .sport-section-tag{color:var(--angola-yellow)!important}
.sport-section-heading>p,.sport-copy>h3,.sport-values-intro>h3,.sport-contact-copy>h3,.sport-page-intro h3,.sport-rich-copy h3,.sport-text-link,.sport-inline-link,.sport-blog-read,.sport-blog-copy>span,.sport-team-group-title small,.sport-person-more{color:var(--angola-red)!important}
html[data-theme="dark"] .sport-section-heading>p,html[data-theme="dark"] .sport-copy>h3,html[data-theme="dark"] .sport-values-intro>h3,html[data-theme="dark"] .sport-contact-copy>h3,html[data-theme="dark"] .sport-page-intro h3,html[data-theme="dark"] .sport-rich-copy h3,html[data-theme="dark"] .sport-text-link,html[data-theme="dark"] .sport-inline-link,html[data-theme="dark"] .sport-blog-read,html[data-theme="dark"] .sport-blog-copy>span,html[data-theme="dark"] .sport-person-more{color:#F1A6AF!important}

/* Superfícies claras/quentes e superfícies escuras/preto-vermelho. */
.sport-about,.sport-events,.sport-gallery,.sport-contact-page,.sport-registration-page,.sport-graduation-list,.sport-success-page,.sport-events-directory,.sport-page-content,.sport-profile-page,.sport-nucleus-detail,.sport-nucleus-responsibles,.sport-blog-list,.sport-home-blog{background:var(--sport-surface)!important;color:var(--sport-title)!important}
.sport-history,.sport-values,.sport-team,.sport-structure,.sport-project-list-section,.sport-light-cta{background:var(--sport-surface-alt)!important;color:var(--sport-title)!important}
.sport-projects,.sport-nuclei,.sport-map-section,.sport-profile-nuclei,.sport-nucleus-class,.sport-dark-feature{background:var(--angola-black)!important;color:#fff!important}
.sport-nuclei,.sport-profile-nuclei,.sport-nucleus-class{background:linear-gradient(135deg,#080809 0%,#19090C 58%,var(--angola-burgundy) 100%)!important}
.sport-projects:before{background-image:linear-gradient(rgba(247,209,23,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(206,17,38,.055) 1px,transparent 1px)!important}

/* História e estrutura institucional. */
.sport-history:before{color:rgba(206,17,38,.045)!important}
.sport-history-grid{background:var(--angola-black)!important}
.sport-timeline{border-left-color:rgba(206,17,38,.5)!important}.sport-timeline div:before{background:var(--angola-yellow)!important}.sport-timeline b{color:var(--angola-yellow)!important}
.sport-history-track:before{background:var(--angola-red)!important}.sport-history-track article>span{background:var(--angola-red)!important;color:#fff!important}.sport-history-track i{color:var(--angola-red)!important}
.sport-structure-grid article{border-top-color:var(--angola-red)!important}.sport-structure-grid i{color:var(--angola-red)!important}
.sport-org-team-list li{border-left-color:var(--angola-yellow)!important}

/* Valores e princípios. */
.sport-value-grid article{background:var(--sport-card)!important;border-color:var(--sport-line)!important}
.sport-value-grid article:hover{border-color:var(--angola-red)!important;box-shadow:0 24px 70px rgba(72,10,20,.16)!important}
.sport-value-grid i{color:var(--angola-red)!important}.sport-value-grid article>span{color:rgba(206,17,38,.07)!important}.sport-value-grid b{color:var(--angola-red)!important}
.sport-three-pillars article{background:var(--sport-card)!important;color:var(--sport-title)!important;border-color:var(--angola-red)!important}
.sport-three-pillars article:nth-child(2){background:var(--angola-black)!important;color:#fff!important;border-color:var(--angola-yellow)!important}.sport-three-pillars article:nth-child(2) p{color:#D6CCCA!important}
.sport-three-pillars article:nth-child(3){background:var(--angola-yellow)!important;color:var(--angola-black)!important;border-color:var(--angola-red)!important}
.sport-three-pillars i{background:var(--angola-red)!important;color:#fff!important}.sport-three-pillars article:nth-child(2) i{background:var(--angola-yellow)!important;color:var(--angola-black)!important}.sport-three-pillars article:nth-child(3) i{background:var(--angola-black)!important;color:var(--angola-yellow)!important}

/* Graduação e percursos. */
.sport-graduation{background:var(--angola-yellow)!important;color:var(--angola-black)!important}
.sport-graduation .sport-copy h2,.sport-graduation .sport-copy p{color:var(--angola-black)!important}.sport-graduation .sport-copy h3{color:var(--angola-red-deep)!important}
.sport-graduation-visual{background:var(--angola-black)!important}.sport-ring,.sport-ring:before,.sport-ring:after{border-color:rgba(247,209,23,.48)!important}
.sport-rank-grid article{border-left-color:var(--angola-red)!important}.sport-rank-grid article>span{background:var(--angola-black)!important;color:var(--angola-yellow)!important}.sport-rank-grid small{color:var(--angola-red)!important}

/* Projetos, equipa e perfis. */
.sport-project-grid article{background:#1A1113!important}.sport-project-content>i,.sport-project-content>span{color:var(--angola-yellow)!important}
.sport-person-photo,.sport-person-placeholder,.sport-profile-photo{background:linear-gradient(145deg,var(--angola-red-deep),var(--angola-black))!important}
.sport-person-number,.sport-profile-badge{background:var(--angola-yellow)!important;color:var(--angola-black)!important}
.sport-person-copy>span,.sport-profile-copy h3,.sport-profile-meta i{color:var(--angola-red)!important}
html[data-theme="dark"] .sport-person-copy>span,html[data-theme="dark"] .sport-profile-copy h3,html[data-theme="dark"] .sport-profile-meta i{color:#F1A6AF!important}
.sport-profile-meta{border-left-color:var(--angola-red)!important}

/* Núcleos e mapas. */
.sport-nucleus-grid article{background:rgba(255,255,255,.055)!important;border-color:rgba(255,255,255,.18)!important}
.sport-nucleus-grid article:hover{background:var(--angola-yellow)!important;color:var(--angola-black)!important;border-color:var(--angola-yellow)!important}.sport-nucleus-grid article:hover h3,.sport-nucleus-grid article:hover b,.sport-nucleus-grid article:hover p,.sport-nucleus-grid article:hover a{color:var(--angola-black)!important}
.sport-nucleus-top,.sport-nucleus-grid b,.sport-nucleus-hours i{color:var(--angola-yellow)!important}
.sport-nucleus-selector>span{background:var(--angola-yellow)!important;color:var(--angola-black)!important}.sport-nucleus-selector button.active{box-shadow:inset 5px 0 var(--angola-red)!important}.sport-nucleus-selector i,.sport-nucleus-fact-list i{background:var(--angola-red)!important;color:#fff!important}
.sport-map-panel{background:var(--angola-black)!important}.sport-map-caption{background:var(--angola-black)!important}.sport-map-caption a{color:var(--angola-yellow)!important}

/* Galeria, lightbox e vídeo. */
.sport-gallery-grid figure,.sport-gallery-page figure,.sport-album-cover,.sport-video-card{background:var(--angola-black)!important}
.sport-gallery-filters button.active,.sport-gallery-filters button:hover{background:var(--angola-red)!important;border-color:var(--angola-red)!important;color:#fff!important}
.sport-gallery-grid figcaption span,.sport-gallery-page figcaption span{color:var(--angola-yellow)!important}
.sport-album-card:hover{border-color:var(--angola-red)!important}.sport-album-copy small{color:var(--angola-red)!important}.sport-album-cover em{background:var(--angola-yellow)!important;color:var(--angola-black)!important}
.sport-lightbox-dialog,.sport-program-dialog{background:var(--angola-black)!important;border-color:#503B40!important}.sport-lightbox-dialog>header,.sport-program-dialog>header{border-bottom-color:#4A3439!important}.sport-lightbox-dialog>header span,.sport-program-dialog>header span,.sport-lightbox-video i{color:var(--angola-yellow)!important}.sport-lightbox-dialog>header button,.sport-program-dialog>header button,.sport-lightbox-nav{background:#1A1214!important;border-color:#5B4449!important}.sport-lightbox-dialog>header button:hover,.sport-program-dialog>header button:hover,.sport-lightbox-nav:hover{background:var(--angola-red)!important;border-color:var(--angola-red)!important}

/* Eventos e blog. */
.sport-event-list-poster,.sport-blog-image,.sport-article-hero{background:var(--angola-black)!important}.sport-event-list-poster>span{background:var(--angola-yellow)!important;color:var(--angola-black)!important}.sport-event-list-meta span,.sport-event-list-copy h4{color:var(--angola-red)!important}
html[data-theme="dark"] .sport-event-list-meta span,html[data-theme="dark"] .sport-event-list-copy h4{color:#F1A6AF!important}
html[data-theme="light"] .sport-event-actions-3 .sport-btn.ghost,html[data-theme="light"] .sport-event-actions-3 .sport-btn.dark{background:var(--angola-black)!important;border-color:var(--angola-black)!important;color:#fff!important}
html[data-theme="light"] .sport-event-actions-3 .sport-btn.ghost:hover,html[data-theme="light"] .sport-event-actions-3 .sport-btn.dark:hover,html[data-theme="dark"] .sport-event-actions-3 .sport-btn.ghost:hover,html[data-theme="dark"] .sport-event-actions-3 .sport-btn.dark:hover{background:var(--angola-red)!important;border-color:var(--angola-red)!important;color:#fff!important}
.sport-action-dialog>header{background:var(--angola-black)!important;border-bottom-color:#4A3439!important}.sport-action-dialog>header span{color:var(--angola-yellow)!important}.sport-action-dialog>header button{background:#1A1214!important;border-color:#5B4449!important}.sport-action-dialog>header button:hover{background:var(--angola-red)!important;border-color:var(--angola-red)!important}
.sport-blog-card:hover{border-color:var(--angola-red)!important}.sport-pagination a.active{background:var(--angola-yellow)!important;color:var(--angola-black)!important;border-color:var(--angola-yellow)!important}.sport-article-meta i{color:var(--angola-yellow)!important}

/* Formulários e segurança. */
.sport-contact{background:var(--angola-yellow)!important;color:var(--angola-black)!important}
.sport-contact .sport-section-tag,.sport-contact-copy h2,.sport-contact-copy p,.sport-contact-lines>a,.sport-contact-lines>div{color:var(--angola-black)!important}
.sport-contact-copy>h3{color:var(--angola-red-deep)!important}.sport-contact-lines i{background:var(--angola-black)!important;color:var(--angola-yellow)!important}
.sport-contact-form,.sport-form-shell,.sport-event-form{border-top-color:var(--angola-red)!important}
.sport-public-form input:focus,.sport-public-form select:focus,.sport-public-form textarea:focus,.sport-contact-form input:focus,.sport-contact-form select:focus,.sport-contact-form textarea:focus,.premium-form input:focus,.premium-form select:focus,.premium-form textarea:focus{border-color:var(--sport-form-accent)!important;box-shadow:0 0 0 4px var(--sport-focus)!important}
.sport-form-heading>span{background:var(--angola-yellow)!important;color:var(--angola-black)!important}.sport-form-section>span{color:var(--angola-red)!important}.sport-form-section::after{color:rgba(206,17,38,.07)!important}.sport-form-section:focus-within{border-color:var(--sport-form-accent)!important}.sport-consents{border-left-color:var(--angola-red)!important}.sport-consents input[type="checkbox"],.premium-form input[type="checkbox"]{accent-color:var(--angola-red)!important}.sport-turnstile-loading i{background:var(--angola-red)!important;color:#fff!important}
.sport-registration-info{background:linear-gradient(145deg,var(--angola-red-deep),var(--angola-red))!important}.sport-registration-info h3{color:var(--angola-yellow)!important}.sport-registration-info li>span{background:var(--angola-yellow)!important;color:var(--angola-black)!important}

/* CTAs e rodapé. */
.sport-home-cta{background:var(--angola-yellow)!important;color:var(--angola-black)!important}.sport-home-cta h2,.sport-home-cta p,.sport-home-cta span{color:var(--angola-black)!important}
.sport-join-strip{background:linear-gradient(90deg,var(--angola-red-deep),var(--angola-red))!important;color:#fff!important;border-top-color:var(--angola-yellow)!important}.sport-join-strip span{color:var(--angola-yellow)!important}.sport-join-strip h2{color:#fff!important}
.sport-footer{background:#070708!important;color:#fff!important;border-top:4px solid var(--angola-yellow)!important}.sport-footer p{color:#BDB3B5!important}.sport-footer-grid>div>span{color:var(--angola-yellow)!important}.sport-footer-grid a:hover{color:var(--angola-yellow)!important}.sport-footer-socials a{background:#161214!important;color:var(--angola-yellow)!important;border-color:#49363B!important}.sport-footer-socials a:hover{background:var(--angola-red)!important;color:#fff!important;border-color:var(--angola-red)!important}.sport-footer-bottom{border-top-color:#362B2E!important}.sport-footer-bottom a{color:var(--angola-yellow)!important}

/* Mobile: menu preto/vermelho, ícones centralizados e identidade preservada. */
@media(max-width:1199px){
  .sport-header{background:#080809!important}
  .sport-nav{background:radial-gradient(circle at 100% 0,rgba(206,17,38,.27),transparent 36%),linear-gradient(180deg,#0B0B0C 0%,#190A0D 100%)!important;border-top-color:rgba(247,209,23,.22)!important}
  .sport-nav-item{border-bottom-color:rgba(255,255,255,.11)!important}
  .sport-nav-item.active>a{color:var(--angola-yellow)!important;border-left-color:var(--angola-red)!important;background:rgba(206,17,38,.12)!important}
  .sport-nav-item.enroll-link{background:var(--angola-red)!important;border-color:var(--angola-red)!important}
  .sport-nav-item.enroll-link>a{background:var(--angola-red)!important;color:#fff!important}
  .sport-nav-item.enroll-link>a:hover{background:var(--angola-yellow)!important;color:var(--angola-black)!important}
  .sport-submenu{background:rgba(206,17,38,.07)!important;border-left-color:var(--angola-red)!important}
}
@media(max-width:900px){
  .sport-header-controls .tca-country-switcher summary,.sport-theme-toggle,.sport-menu-toggle{background:#121011!important;border-color:#4A3A3D!important;color:#fff!important}
  .sport-slide-content{align-items:center!important}
}
@media(max-width:520px){
  .sport-topline{font-size:9px!important}
  .sport-slide h1,.sport-slide h1.sport-title-long,.sport-slide h1.sport-title-compact,.sport-slide h1.sport-title-very-long{font-size:clamp(38px,11.4vw,56px)!important;line-height:.97!important}
}
