/* Modo escuro — activado via [data-theme="escuro"] em <html> (ver _Layout.cshtml
   para o script anti-FOUC e o botão de alternância, e premium-ux.js para o clique).
   Carrega depois de variables.css e premium.css de propósito, para poder sobrepor os
   dois. Cobertura: tokens de cor (aplica-se automaticamente a tudo o que já usa
   var(--color-*), que é a maioria do CSS próprio deste site) + as superfícies claras
   mais visíveis com cor fixa em vez de variável (cartões, formulários, tabelas,
   secções com fundo claro). Não persegue cada hex fixo isolado no CSS do template
   original — só as superfícies grandes/visíveis. */

:root[data-theme="escuro"] {
    --color-default: #e8ecf3;
    --color-text-body: #c3cbdb;
    --color-branco-azul: #131c33;

    --color-primary: #27b563;
    --color-primary-light: #3fd67d;
    --color-primary-dark: #1b8a4a;
    --color-primary-rgb: 39, 181, 99;

    --color-secondary: #0b1f4b;
    --color-secondary-light: #24356b;
    --color-secondary-dark: #050f26;

    --bs-body-bg: #0a1226;
    --bs-body-bg-rgb: 10, 18, 38;
    --bs-body-color: #c3cbdb;
}

[data-theme="escuro"] body {
    background-color: #0a1226;
    color: #c3cbdb;
}

/* ---------- Secções e cartões que tinham fundo claro fixo ---------- */
[data-theme="escuro"] .section-bg,
[data-theme="escuro"] #footer,
[data-theme="escuro"] #footer .footer-top,
[data-theme="escuro"] #footer .footer-newsletter form,
[data-theme="escuro"] .card,
[data-theme="escuro"] .pricing-item,
[data-theme="escuro"] .produto-card,
[data-theme="escuro"] .noticia-card,
[data-theme="escuro"] .noticia-video-card,
[data-theme="escuro"] .noticia-home-card,
[data-theme="escuro"] .team-card,
[data-theme="escuro"] .team .member,
[data-theme="escuro"] .chef-member,
[data-theme="escuro"] .patrocinador-oficial-destaque,
[data-theme="escuro"] .conquista-card,
[data-theme="escuro"] .memoria-card,
[data-theme="escuro"] .estadio-ficha,
[data-theme="escuro"] .featured-services .icon-box,
[data-theme="escuro"] .services .icon-box,
[data-theme="escuro"] .testimonial-item,
[data-theme="escuro"] .calendario-jogo-card,
[data-theme="escuro"] .reacoes-noticia,
[data-theme="escuro"] .reacao-btn,
[data-theme="escuro"] .presidente-mensagem .presidente-card,
[data-theme="escuro"] #contact .php-email-form,
[data-theme="escuro"] .produto-detalhe-caixa,
[data-theme="escuro"] .perfil-socio-caixa,
[data-theme="escuro"] .perfil-conta-caixa,
[data-theme="escuro"] .perfil-sem-socio-caixa,
[data-theme="escuro"] .app-download-feature,
[data-theme="escuro"] .reserva-form,
[data-theme="escuro"] .reserva-sem-jogo,
[data-theme="escuro"] .socio-form-seccao,
[data-theme="escuro"] .comments .comment,
[data-theme="escuro"] .comments .reply-form,
[data-theme="escuro"] .vazio-premium,
[data-theme="escuro"] .sidebar,
[data-theme="escuro"] .noticia-destaque-overlay,
[data-theme="escuro"] .loja-filtros-pesquisa input,
[data-theme="escuro"] #preloader,
[data-theme="escuro"] #assistente-painel,
[data-theme="escuro"] .assistente-msg-bot,
[data-theme="escuro"] .assistente-sugestao,
[data-theme="escuro"] #assistente-form {
    background-color: #101a33 !important;
    color: #c3cbdb;
}

[data-theme="escuro"] #footer,
[data-theme="escuro"] #footer .footer-top {
    background: #08101f !important;
}

/* Cabeçalho — aparece em todas as páginas, era a maior falha visual: ficava sempre
   branco por cima de tudo o resto já escuro. */
[data-theme="escuro"] #header,
[data-theme="escuro"] .navbar .dropdown ul {
    background: #0a1226 !important;
}

    [data-theme="escuro"] .navbar .dropdown ul {
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.6);
    }

    /* O ícone do hamburger vive no cabeçalho (claro/escuro consoante o tema) — nunca
       deve ganhar fundo, só precisa de cor legível. */
    [data-theme="escuro"] .mobile-nav-toggle {
        color: #e8ecf3;
    }

    [data-theme="escuro"] .mobile-header-login-btn {
        color: #e8ecf3;
        border-color: rgba(255, 255, 255, 0.2);
    }

    /* O <ul> do menu já não é filho directo de .navbar (vive dentro de
       .mobile-nav-panel, ver _Layout.cshtml) — ">" deixou de aplicar-se.
       Selector descendente cobre a estrutura actual sem depender disso. */
    [data-theme="escuro"] .navbar ul > li > a,
    [data-theme="escuro"] .navbar .dropdown ul li a,
    [data-theme="escuro"] .logo-texto {
        color: #e8ecf3;
    }

/* ---------- Painel do menu mobile (.mobile-nav-panel) ----------
   Até aqui só existia em navy fixo (independente do tema) — passou a claro
   por omissão em site.css; este bloco devolve o navy só quando o tema é
   mesmo escuro. */
[data-theme="escuro"] .mobile-nav-panel {
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='103.92' height='180' viewBox='0 0 103.92 180'%3E%3Cpolygon points='51.96,30 0,60 -51.96,30 -51.96,-30 0,-60 51.96,-30' fill='none' stroke='rgba(255,255,255,0.06)' stroke-width='1'/%3E%3Cpolygon points='103.92,120 51.96,150 0,120 0,60 51.96,30 103.92,60' fill='none' stroke='rgba(255,255,255,0.06)' stroke-width='1'/%3E%3C/svg%3E") 0 0/103.92px 180px repeat,
        linear-gradient(180deg, var(--color-secondary-dark) 0%, var(--color-secondary) 100%);
    box-shadow: -24px 0 60px -20px rgba(0, 0, 0, 0.5);
}

[data-theme="escuro"] .mobile-nav-header {
    border-bottom-color: rgba(255, 255, 255, 0.12);
}

[data-theme="escuro"] .mobile-nav-nome {
    color: #fff;
}

[data-theme="escuro"] .mobile-nav-close {
    border-color: rgba(255, 255, 255, 0.25);
    color: #fff;
}

    [data-theme="escuro"] .mobile-nav-close:hover {
        background: rgba(255, 255, 255, 0.14);
    }

[data-theme="escuro"] .navbar-mobile a,
[data-theme="escuro"] .navbar-mobile a:focus {
    color: rgba(255, 255, 255, 0.85);
    border-bottom-color: rgba(255, 255, 255, 0.07);
}

[data-theme="escuro"] .navbar-mobile a:hover,
[data-theme="escuro"] .navbar-mobile .active,
[data-theme="escuro"] .navbar-mobile li:hover > a {
    color: var(--color-gold-light);
    background: rgba(255, 255, 255, 0.05);
}

[data-theme="escuro"] .navbar-mobile a i:first-child {
    background: rgba(255, 255, 255, 0.09);
}

[data-theme="escuro"] .navbar-mobile .dropdown ul {
    background: rgba(0, 0, 0, 0.2);
}

[data-theme="escuro"] .navbar-mobile .dropdown ul a:hover,
[data-theme="escuro"] .navbar-mobile .dropdown ul .active:hover,
[data-theme="escuro"] .navbar-mobile .dropdown ul li:hover > a {
    color: var(--color-gold-light);
}

[data-theme="escuro"] .mobile-nav-utility {
    border-top-color: rgba(255, 255, 255, 0.1);
}

[data-theme="escuro"] .mobile-nav-util-btn {
    color: rgba(255, 255, 255, 0.8);
}

    [data-theme="escuro"] .mobile-nav-util-btn i {
        background: rgba(255, 255, 255, 0.09);
    }

    [data-theme="escuro"] .mobile-nav-util-btn:hover {
        color: #fff;
    }

        [data-theme="escuro"] .mobile-nav-util-btn:hover i {
            background: rgba(255, 255, 255, 0.16);
        }

[data-theme="escuro"] .mobile-nav-util-avatar {
    background: rgba(255, 255, 255, 0.15);
}

/* Tabela de classificação — as células do Bootstrap não seguiam a variável
   --bs-table-bg neste ponto da cascata; força-se directamente para não ficarem
   brancas por cima de um fundo já escuro. */
[data-theme="escuro"] .classificacao-premium,
[data-theme="escuro"] .classificacao-premium tr,
[data-theme="escuro"] .classificacao-premium td,
[data-theme="escuro"] .classificacao-premium th {
    background-color: transparent !important;
    color: #c3cbdb;
}

[data-theme="escuro"] .card,
[data-theme="escuro"] .produto-card,
[data-theme="escuro"] .vmv-card,
[data-theme="escuro"] .noticia-card,
[data-theme="escuro"] .noticia-home-card,
[data-theme="escuro"] .team-card,
[data-theme="escuro"] .team .member,
[data-theme="escuro"] .calendario-jogo-card {
    box-shadow: 0 10px 26px -10px rgba(0, 0, 0, 0.55);
}

/* ---------- Texto que ficava escuro fixo (herdava de fundo claro) ---------- */
[data-theme="escuro"] h1,
[data-theme="escuro"] h2,
[data-theme="escuro"] h3,
[data-theme="escuro"] h4,
[data-theme="escuro"] h5,
[data-theme="escuro"] .produto-card-body h3 a,
[data-theme="escuro"] .vmv-card h4 {
    color: #f1f4fa;
}

/* .section-title h2 é o "pill" pequeno acima do título de cada secção
   (ex.: "PATROCINADOR(S)", "SOCIAL") — tem fundo claro fixo (#e7f1fd) em
   site.css; herdar o branco da regra genérica de heading acima deixava-o
   ilegível (texto quase branco sobre fundo quase branco). */
[data-theme="escuro"] .section-title h2 {
    background: rgba(var(--color-primary-rgb), 0.16);
    color: var(--color-primary-light);
}

/* ---------- Formulários ---------- */
[data-theme="escuro"] .form-control,
[data-theme="escuro"] .form-select,
[data-theme="escuro"] .php-email-form input:not([type="hidden"]):not([type="submit"]),
[data-theme="escuro"] .php-email-form textarea,
[data-theme="escuro"] #FormCandidatura .form-control,
[data-theme="escuro"] #FormCandidatura .form-select {
    background-color: #0e1830;
    border-color: #263255;
    color: #e8ecf3;
}

[data-theme="escuro"] .form-control:focus,
[data-theme="escuro"] .form-select:focus {
    background-color: #101c38;
    color: #f1f4fa;
}

[data-theme="escuro"] .input-group-text {
    background: #0e1830;
    border-color: #263255;
    color: #9fb3d9;
}

/* ---------- Tabelas ---------- */
[data-theme="escuro"] .table,
[data-theme="escuro"] .tabela-premium,
[data-theme="escuro"] .classificacao-premium {
    color: #c3cbdb;
    --bs-table-bg: transparent;
    --bs-table-striped-bg: rgba(255, 255, 255, 0.03);
    --bs-table-hover-bg: rgba(255, 255, 255, 0.05);
    border-color: #263255;
}

/* ---------- Nav-tabs / separadores ---------- */
[data-theme="escuro"] .nav-tabs {
    border-bottom-color: #263255;
}

    [data-theme="escuro"] .nav-tabs .nav-link {
        color: #c3cbdb;
    }

/* ---------- Botões do cabeçalho ("Pontuação"/"Carrinho"/"Entrar" fantasma) ----------
   .btn-book-a-table-ghost usa var(--color-secondary) a propósito, assumindo sempre um
   cabeçalho claro por trás — texto invisível sobre o cabeçalho agora escuro. */
[data-theme="escuro"] .btn-book-a-table-ghost {
    color: #e8ecf3;
    border-color: rgba(255, 255, 255, 0.25);
}

    [data-theme="escuro"] .btn-book-a-table-ghost:hover {
        background: rgba(var(--color-primary-rgb), 0.15);
        color: #fff;
    }

/* ---------- Ficheiros *.cshtml.css (CSS isolation, um por página) ----------
   Estes ficheiros fixam sempre cor de texto escura (var(--color-secondary) ou
   rgba(11,31,75,X)) partindo do princípio de que o cartão por trás é sempre claro —
   e fundos brancos fixos nos próprios cartões. Como o Razor injecta um atributo
   [b-xxxxxxxx] em cada regra destes ficheiros, e dark-mode.css carrega depois do
   bundle BravosMaquis.Web.styles.css (ver _Layout.cshtml), estas regras — com a
   mesma especificidade class-a-class — ganham por ordem de carregamento. Muitas
   classes abaixo repetem-se em páginas diferentes (mesmo padrão de componente
   reaproveitado) — uma regra aqui cobre todas de uma vez, sem precisar de scoping. */

/* Home — placar "AO VIVO"/"Resultado Final", cartão "Próximo Jogo" e o
   resumo de pontuação do clube (.pontuacao-destaque substituiu a antiga
   .classificacao-premium-card — era uma <table> só para 1 linha). */
[data-theme="escuro"] .scoreboard-premium,
[data-theme="escuro"] .pontuacao-destaque {
    background: #101a33 !important;
}

[data-theme="escuro"] .scoreboard-tag,
[data-theme="escuro"] .scoreboard-team span,
[data-theme="escuro"] .scoreboard-score,
[data-theme="escuro"] .calendario-jogo-equipa span,
[data-theme="escuro"] .noticia-home-body h3 a,
[data-theme="escuro"] .pontuacao-destaque-valor {
    color: #e8ecf3;
}

[data-theme="escuro"] .pontuacao-destaque-metrica-realce {
    background: rgba(var(--color-primary-rgb), 0.18);
}

    [data-theme="escuro"] .pontuacao-destaque-metrica-realce .pontuacao-destaque-valor {
        color: var(--color-primary-light);
    }

[data-theme="escuro"] .scoreboard-score em,
[data-theme="escuro"] .calendario-jogo-competicao span,
[data-theme="escuro"] .calendario-jogo-equipa small,
[data-theme="escuro"] .calendario-jogo-info,
[data-theme="escuro"] .noticia-home-data {
    color: rgba(232, 236, 243, 0.55);
}

[data-theme="escuro"] .eventos-cronologia {
    border-top-color: rgba(232, 236, 243, 0.15);
}

[data-theme="escuro"] .evento-ao-vivo-item {
    color: rgba(232, 236, 243, 0.85);
    border-bottom-color: rgba(232, 236, 243, 0.1);
}

[data-theme="escuro"] .evento-ao-vivo-item strong {
    color: #e8ecf3;
}

[data-theme="escuro"] .calendario-jogo-info {
    border-top-color: rgba(232, 236, 243, 0.15);
}

/* Separadores tipo "Historia"/"Calendário"/"Pontuação" (.features .nav-link/.tab-pane) */
[data-theme="escuro"] .features .nav-link,
[data-theme="escuro"] .features .nav-link h4,
[data-theme="escuro"] .features .tab-pane h3 {
    color: #e8ecf3;
}

[data-theme="escuro"] .features .nav-link.active {
    background: rgba(var(--color-primary-rgb), 0.12);
}

/* Clube/Historia (redesign 2026-09-09) — o novo .about-logo-badge/.call-us
   já são translúcidos/glass por cima da imagem, iguais nos dois temas; as
   novas .conquista-card/.memoria-card/.estadio-ficha ficam cobertas no
   bloco de "Secções e cartões que tinham fundo claro fixo" no topo deste
   ficheiro. Só sobra aqui o formulário de contacto, que continua igual. */
[data-theme="escuro"] .contact .php-email-form {
    background: #101a33 !important;
}

[data-theme="escuro"] .presidente-mensagem-texto {
    color: #dfe4ee;
}

/* Cartões de membro/parceiro (Clube/Jogadores, Clube/Direccao, Parceiros) */
[data-theme="escuro"] .team .team-member .member-info h4,
[data-theme="escuro"] .chefs .chef-member .member-info h4 {
    color: #e8ecf3;
}

[data-theme="escuro"] .chefs .chef-member,
[data-theme="escuro"] .services .icon-box {
    background: #101a33 !important;
}

/* Notícias/Details — título, autor, sidebar, comentários, paginação */
[data-theme="escuro"] .blog .blog-details .title,
[data-theme="escuro"] .blog .post-author h4,
[data-theme="escuro"] .blog .sidebar .sidebar-title,
[data-theme="escuro"] .blog .sidebar .categories ul a,
[data-theme="escuro"] .blog .sidebar .recent-posts h4 a,
[data-theme="escuro"] .blog .comments .comment h5 .reply,
[data-theme="escuro"] .blog .blog-pagination li a {
    color: #e8ecf3;
}

/* Categoria/partilha no fim do artigo — link da categoria e ícones de partilha
   ficavam invisíveis (navy sobre navy). */
[data-theme="escuro"] .blog .blog-details .meta-bottom a {
    color: rgba(232, 236, 243, 0.8);
}

[data-theme="escuro"] .blog .blog-details .meta-bottom i {
    color: #9fb3d9;
}

/* ---------- Varrimento final: todo o "color: var(--color-secondary)" restante ----------
   --color-secondary continua propositadamente escuro no tema escuro (é usado como FUNDO
   em várias secções que devem continuar navy nos dois temas) — por isso cada uso deste
   token como cor de TEXTO (assumindo sempre fundo claro) precisa de override próprio, não
   dá para resolver isto só redefinindo o token. */
[data-theme="escuro"] #header .logo .logo-texto {
    color: #e8ecf3;
}

[data-theme="escuro"] .carrinho-item-detalhe strong,
[data-theme="escuro"] .reserva-form-campo label,
[data-theme="escuro"] .reserva-quantidade label,
[data-theme="escuro"] .reserva-quantidade-stepper input,
[data-theme="escuro"] .reserva-total span,
[data-theme="escuro"] .vazio-premium h3,
[data-theme="escuro"] .reacao-btn,
[data-theme="escuro"] .blog .posts-list .title a,
[data-theme="escuro"] .countdown li span,
[data-theme="escuro"] .assistente-sugestao {
    color: #e8ecf3;
}

[data-theme="escuro"] .reacao-btn.activo {
    color: var(--color-primary-dark);
}

[data-theme="escuro"] #footer .footer-newsletter h4,
[data-theme="escuro"] .produto-card-body .produto-preco,
[data-theme="escuro"] .perfil-socio-campo strong {
    color: #e8ecf3;
}

[data-theme="escuro"] .perfil-socio-campo span {
    color: rgba(232, 236, 243, 0.5);
}

/* O campo de e-mail da newsletter passou a ter fundo transparente (deixa ver
   o fundo do formulário, escurecido acima com !important) — sem isto ficava
   com o texto preto por definição do browser em cima desse fundo escuro. */
[data-theme="escuro"] #footer .footer-newsletter form input[type=email] {
    color: #e8ecf3;
}

    [data-theme="escuro"] #footer .footer-newsletter form input[type=email]::placeholder {
        color: rgba(232, 236, 243, 0.45);
    }

[data-theme="escuro"] .reserva-quantidade-stepper input {
    background: transparent;
}

/* ---------- Botão de alternância de tema ---------- */
#alternar-tema i {
    transition: transform 0.3s ease;
}

#alternar-tema:hover i {
    transform: rotate(20deg);
}

/* ---------- Clube/Historia (redesign 2026-09-09) — elementos com tons de
   navy sobre fundo claro (bordas, fundo inactivo dos separadores, texto)
   que ficavam invisíveis/sem contraste sobre o fundo escuro da página. ---------- */
[data-theme="escuro"] .historia-ficha-item {
    border-bottom-color: rgba(255, 255, 255, 0.1);
}

[data-theme="escuro"] .historia-ficha-label {
    color: #a6afc2;
}

[data-theme="escuro"] .historia-ficha-valor {
    color: #f1f4fa;
}

[data-theme="escuro"] .historia-tabs {
    border-bottom-color: rgba(255, 255, 255, 0.12);
}

[data-theme="escuro"] .historia-tab-link {
    background: rgba(255, 255, 255, 0.06);
    color: #c3cbdb;
}

    [data-theme="escuro"] .historia-tab-link:hover {
        background: rgba(var(--color-primary-rgb), 0.18);
        color: #fff;
    }

[data-theme="escuro"] .historia-painel-titulo::after {
    background: linear-gradient(90deg, rgba(var(--color-primary-rgb), 0.5), transparent);
}

[data-theme="escuro"] .historia-texto {
    color: #c3cbdb;
}

[data-theme="escuro"] .conquista-card-data {
    color: #c3cbdb;
}

[data-theme="escuro"] .memoria-datas {
    color: #c3cbdb;
}

/* Modal de detalhes do clube (Calendario/Pontuacao) — .modal-content do Bootstrap
   é branco fixo, sem variável de tema nenhuma por trás. */
[data-theme="escuro"] .clube-detalhe-modal-content {
    background: #101a33;
}

[data-theme="escuro"] .clube-detalhe-donut {
    background: #1c2947;
}

    [data-theme="escuro"] .clube-detalhe-donut::before {
        background: #101a33;
    }

[data-theme="escuro"] .clube-detalhe-donut-valor,
[data-theme="escuro"] .clube-detalhe-legenda strong,
[data-theme="escuro"] .clube-detalhe-stat .valor {
    color: #e8ecf3;
}
