/* =============================================================
   DARK MODE — layout público
   Ativado via  data-bs-theme="dark"  no elemento <html>
   ============================================================= */

/* --- Logo: alterna entre versão colorida e branca conforme o tema --- */
.logo-dark { display: none !important; }
[data-bs-theme="dark"] .logo-light { display: none !important; }
[data-bs-theme="dark"] .logo-dark  { display: block !important; }

/* --- Navbar branca → adaptada ao dark --- */
[data-bs-theme="dark"] .main-nav {
    background-color: var(--bs-body-bg) !important;
    border-bottom-color: var(--bs-border-color) !important;
}

[data-bs-theme="dark"] .main-nav .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255%2C255%2C255%2C1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
}
[data-bs-theme="dark"] .main-nav .navbar-toggler {
    border-color: rgba(255,255,255,.35) !important;
}

/* --- bg-white genérico --- */
[data-bs-theme="dark"] .bg-white {
    background-color: var(--bs-body-bg) !important;
    color: var(--bs-body-color) !important;
}

/* --- Mega menu atuações --- */
[data-bs-theme="dark"] .mega-menu {
    background-color: var(--bs-body-bg);
    border-color: var(--bs-border-color);
    box-shadow: 0 14px 35px rgba(0,0,0,.45);
}

[data-bs-theme="dark"] .mega-tab {
    background: var(--bs-secondary-bg);
    border-color: var(--bs-border-color);
    color: var(--bs-body-color);
}

[data-bs-theme="dark"] .mega-tab.is-active {
    border-color: #5b8fe8;
    box-shadow: 0 0 0 3px rgba(91,143,232,.2);
}

/* --- Barra de pesquisa na nav --- */
[data-bs-theme="dark"] .nav-search .input-group-text {
    background-color: var(--bs-body-bg) !important;
    border-color: var(--bs-border-color);
    color: var(--bs-body-color);
}

[data-bs-theme="dark"] .nav-search .form-control {
    background-color: var(--bs-body-bg);
    border-color: var(--bs-border-color);
    color: var(--bs-body-color);
}

[data-bs-theme="dark"] .nav-search .form-control::placeholder {
    color: var(--bs-secondary-color);
}

/* --- Links da topbar --- */
[data-bs-theme="dark"] .topbar a {
    color: rgba(255,255,255,.85);
}

[data-bs-theme="dark"] .topbar a:hover {
    color: #fff;
}

/* ── CATCH-ALL: garante que elementos de texto fiquem legíveis no dark mode ──
   Cobre todos os arquivos com color: #0f172a / #333 / #334155 etc. hardcoded.
   Não inclui <span> nem <a> para não quebrar badges e links coloridos.
   Não inclui <div> para não afetar containers.
   Bootstrap .text-warning / .text-danger etc. (0-2-0) ganham por especificidade. */
[data-bs-theme="dark"] main p,
[data-bs-theme="dark"] main h1,
[data-bs-theme="dark"] main h2,
[data-bs-theme="dark"] main h3,
[data-bs-theme="dark"] main h4,
[data-bs-theme="dark"] main h5,
[data-bs-theme="dark"] main h6,
[data-bs-theme="dark"] main li,
[data-bs-theme="dark"] main label,
[data-bs-theme="dark"] main td,
[data-bs-theme="dark"] main th {
    color: var(--bs-body-color) !important;
}

/* --- Body e main: fundo uniforme --- */
[data-bs-theme="dark"] body {
    background-color: var(--bs-body-bg) !important;
    color: var(--bs-body-color) !important;
}

/* main.bg-light: especificidade 0-2-1 → ganha sobre .bg-light (0-2-0) */
[data-bs-theme="dark"] main,
[data-bs-theme="dark"] main.bg-light,
[data-bs-theme="dark"] main.bg-img {
    background-color: var(--bs-body-bg) !important;
}

/* --- bg-white e bg-light: igualados ao body (sem tons diferentes) --- */
[data-bs-theme="dark"] .bg-white,
[data-bs-theme="dark"] .bg-light {
    background-color: var(--bs-body-bg) !important;
    color: var(--bs-body-color) !important;
}

/* --- Seções: transparentes → herdam o body, tom uniforme --- */
[data-bs-theme="dark"] section,
[data-bs-theme="dark"] .section-soft,
[data-bs-theme="dark"] .section-white {
    background-color: transparent !important;
}

/* --- Cards Bootstrap (fundo levemente elevado para dar profundidade) --- */
[data-bs-theme="dark"] .card {
    background-color: var(--bs-secondary-bg) !important;
    border-color: var(--bs-border-color) !important;
    color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] .card-body,
[data-bs-theme="dark"] .card-footer,
[data-bs-theme="dark"] .card-header {
    background-color: inherit !important;
    color: var(--bs-body-color) !important;
}

/* --- Breadcrumb --- */
[data-bs-theme="dark"] #nav-breadcrumb {
    background-color: var(--bs-secondary-bg) !important;
}

/* --- Programação Home — variáveis --ph-* nunca definidas, resolvem p/ transparent no dark --- */
[data-bs-theme="dark"] #programacao .ph-item {
    background: var(--bs-secondary-bg) !important;
    border-color: var(--bs-border-color) !important;
}

[data-bs-theme="dark"] #programacao .ph-title {
    color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] #programacao .ph-meta,
[data-bs-theme="dark"] #programacao .ph-sub {
    color: var(--bs-secondary-color) !important;
}

/* --- Cards de modalidades (Inscrições Online) — ModalidadesCards.css hardcoda #fff --- */
[data-bs-theme="dark"] .m-card {
    background: var(--bs-secondary-bg) !important;
    border-color: var(--bs-border-color) !important;
}

[data-bs-theme="dark"] .m-card__title {
    color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] .m-card__media {
    background: var(--bs-tertiary-bg) !important;
}

[data-bs-theme="dark"] .m-card__media.is-empty {
    background: var(--bs-tertiary-bg) !important;
}

[data-bs-theme="dark"] .m-card__city-select {
    background-color: var(--bs-secondary-bg) !important;
    color: var(--bs-body-color) !important;
    border-color: var(--bs-border-color) !important;
}

[data-bs-theme="dark"] .m-card__city-label {
    color: var(--bs-secondary-color) !important;
}

/* --- Cards de unidades — UnidadesCards.css hardcoda #fff --- */
[data-bs-theme="dark"] .u-card {
    background: var(--bs-secondary-bg) !important;
    border-color: var(--bs-border-color) !important;
}

[data-bs-theme="dark"] .u-card__title,
[data-bs-theme="dark"] .u-card__subtitle {
    color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] .u-card__media {
    background: var(--bs-tertiary-bg) !important;
}

/* --- buttons.css: outline e news tabs --- */
[data-bs-theme="dark"] .btn-sesc-outline {
    background: var(--bs-secondary-bg) !important;
    color: var(--bs-body-color) !important;
    border-color: var(--bs-border-color) !important;
}

[data-bs-theme="dark"] .btn-sesc-outline:hover {
    background: rgba(255,255,255,.1) !important;
    color: #fff !important;
}

/* --- btn-outline-primary no dark: borda e texto brancos --- */
[data-bs-theme="dark"] .btn-outline-primary {
    color: #fff !important;
    border-color: rgba(255,255,255,.45) !important;
    background: transparent !important;
}

[data-bs-theme="dark"] .btn-outline-primary:hover,
[data-bs-theme="dark"] .btn-outline-primary:focus {
    background: rgba(255,255,255,.12) !important;
    border-color: rgba(255,255,255,.75) !important;
    color: #fff !important;
}

[data-bs-theme="dark"] .news-tabs .nav-link {
    background: var(--bs-secondary-bg) !important;
    color: var(--bs-body-color) !important;
    border-color: var(--bs-border-color) !important;
}

[data-bs-theme="dark"] .news-tabs .nav-link:hover,
[data-bs-theme="dark"] .news-tabs .nav-link.active {
    background: #1f66d1 !important;
    color: #fff !important;
    border-color: #1f66d1 !important;
}

/* --- buttons.css: cards de notícias principais --- */
[data-bs-theme="dark"] .news-card-ui {
    background: var(--bs-secondary-bg) !important;
    border-color: var(--bs-border-color) !important;
}

[data-bs-theme="dark"] .news-card-ui .card-body {
    background: var(--bs-secondary-bg) !important;
}

[data-bs-theme="dark"] .news-card-title {
    color: var(--bs-body-color) !important;
}

/* --- NoticiasHome.css: mini cards de notícias (loaded via partial) --- */
[data-bs-theme="dark"] .news-card-mini {
    background: var(--bs-secondary-bg) !important;
    border-color: var(--bs-border-color) !important;
}

[data-bs-theme="dark"] .news-title-mini {
    color: var(--bs-body-color) !important;
}

/* --- layout-geral.css: cards de vagas, trabalhe, editais, ocupações — fundos --- */
[data-bs-theme="dark"] .vaga-card,
[data-bs-theme="dark"] .trabalhe-card,
[data-bs-theme="dark"] .editais-box,
[data-bs-theme="dark"] .card-occupation {
    background: var(--bs-secondary-bg) !important;
    border-color: var(--bs-border-color) !important;
    color: var(--bs-body-color) !important;
}

/* --- Trabalhe Conosco — textos hardcoded escuros --- */
[data-bs-theme="dark"] .trabalhe-title,
[data-bs-theme="dark"] .editais-box__title,
[data-bs-theme="dark"] .vaga-titulo,
[data-bs-theme="dark"] .resultados-vagas {
    color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] .resultados-vagas {
    border-bottom-color: var(--bs-border-color) !important;
}

[data-bs-theme="dark"] .vaga-meta-item {
    color: var(--bs-secondary-color) !important;
}

[data-bs-theme="dark"] .vaga-prazo {
    background: var(--bs-tertiary-bg) !important;
    border-color: var(--bs-border-color) !important;
    color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] .trabalhe-conosco-section .form-label {
    color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] .trabalhe-conosco-section .form-control,
[data-bs-theme="dark"] .trabalhe-conosco-section .form-select,
[data-bs-theme="dark"] .trabalhe-conosco-section .input-group-text {
    background-color: var(--bs-secondary-bg) !important;
    border-color: var(--bs-border-color) !important;
    color: var(--bs-body-color) !important;
}

/* ícones das vagas */
[data-bs-theme="dark"] .vaga-meta-item i,
[data-bs-theme="dark"] .vaga-prazo i {
    color: #fff !important;
}

/* kicker "Trabalhe Conosco" */
[data-bs-theme="dark"] .trabalhe-kicker {
    background: rgba(91, 143, 232, .15) !important;
    color: #5b8fe8 !important;
}

/* badges de status das vagas */
[data-bs-theme="dark"] .vaga-status-aberta {
    background: rgba(22, 163, 74, .15) !important;
    color: #4ade80 !important;
    border-color: rgba(22, 163, 74, .3) !important;
}

[data-bs-theme="dark"] .vaga-status-andamento {
    background: rgba(217, 119, 6, .15) !important;
    color: #fbbf24 !important;
    border-color: rgba(217, 119, 6, .3) !important;
}

[data-bs-theme="dark"] .vaga-status-encerrada {
    background: rgba(100, 116, 139, .15) !important;
    color: #94a3b8 !important;
    border-color: rgba(100, 116, 139, .3) !important;
}

/* skeleton das vagas */
[data-bs-theme="dark"] .vaga-skeleton {
    background: linear-gradient(90deg, var(--bs-secondary-bg) 25%, var(--bs-tertiary-bg) 37%, var(--bs-secondary-bg) 63%) !important;
}

/* --- Unidades — select "Todas as cidades", subtítulo e ícones --- */
[data-bs-theme="dark"] #secao-unidades .u-select {
    background-color: var(--bs-secondary-bg) !important;
    border-color: var(--bs-border-color) !important;
    color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] #secao-unidades .u-subtitle {
    color: var(--bs-secondary-color) !important;
}

[data-bs-theme="dark"] .u-card__row i {
    color: #fff !important;
}

[data-bs-theme="dark"] .u-card__title,
[data-bs-theme="dark"] .u-card__row span {
    color: var(--bs-body-color) !important;
}

/* --- Atividades e Valores (AreasAtuacao) — textos hardcoded escuros --- */
[data-bs-theme="dark"] .areas-title,
[data-bs-theme="dark"] .text-dark {
    color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] .areas-desc {
    color: var(--bs-secondary-color) !important;
}

[data-bs-theme="dark"] .card-occupation .card-title {
    color: var(--bs-body-color) !important;
}

/* --- AreaCoordenacao/Details.css: cards de área --- */
[data-bs-theme="dark"] .area-sobre-section {
    background: transparent !important;
}

[data-bs-theme="dark"] .area-sobre-card {
    background: var(--bs-secondary-bg) !important;
}

/* --- font-gray hardcoda black — reverter no dark --- */
[data-bs-theme="dark"] .font-gray {
    color: var(--bs-body-color) !important;
}

/* --- Dropdowns da nav pública --- */
[data-bs-theme="dark"] .dropdown-menu {
    background-color: var(--bs-secondary-bg);
    border-color: var(--bs-border-color);
}

[data-bs-theme="dark"] .dropdown-item {
    color: var(--bs-body-color);
}

[data-bs-theme="dark"] .dropdown-item:hover,
[data-bs-theme="dark"] .dropdown-item:focus {
    background-color: var(--bs-tertiary-bg);
    color: var(--bs-body-color);
}

[data-bs-theme="dark"] .dropdown-divider {
    border-color: var(--bs-border-color);
}

/* --- Inputs e formulários --- */
[data-bs-theme="dark"] .form-control,
[data-bs-theme="dark"] .form-select {
    background-color: var(--bs-secondary-bg);
    border-color: var(--bs-border-color);
    color: var(--bs-body-color);
}

/* --- Texto secundário --- */
[data-bs-theme="dark"] .text-muted,
[data-bs-theme="dark"] .text-secondary {
    color: var(--bs-secondary-color) !important;
}

/* --- _ModalidadesCarousel: card-vendas são photo-cards, não aplicar fundo dark ---
   A imagem preenche o card inteiro; só o texto overlay precisa ser branco. */
[data-bs-theme="dark"] .card-vendas {
    background-color: transparent !important;
}

[data-bs-theme="dark"] .card-vendas b,
[data-bs-theme="dark"] .card-vendas .text-white {
    color: #fff !important;
    text-shadow: 0 0 6px rgba(0,0,0,.9) !important;
}

/* =============================================================
   ACESSO RÁPIDO — ícones hardcoded em azul escuro
   ============================================================= */

[data-bs-theme="dark"] .quick-action .icon {
    background: rgba(255, 255, 255, .08) !important;
    color: #fff !important;
}

/* =============================================================
   PROGRAMAÇÃO — Index.css usa variáveis --prog-* hardcoded
   ============================================================= */

[data-bs-theme="dark"] #prog-page {
    --prog-bg:       var(--bs-body-bg);
    --prog-card-bg:  var(--bs-secondary-bg);
    --prog-text:     var(--bs-body-color);
    --prog-muted:    var(--bs-secondary-color);
    --prog-border:   var(--bs-border-color);
}

/* backgrounds hardcoded que as variáveis não cobrem */
[data-bs-theme="dark"] .prog-filter-card,
[data-bs-theme="dark"] .prog-filter-col,
[data-bs-theme="dark"] .prog-skeleton__body {
    background: var(--bs-secondary-bg) !important;
}

[data-bs-theme="dark"] .prog-filter-card__header,
[data-bs-theme="dark"] .prog-filter-search {
    background: var(--bs-tertiary-bg) !important;
}

[data-bs-theme="dark"] .prog-filter-select {
    background-color: transparent !important;
    color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] .prog-section__count,
[data-bs-theme="dark"] .prog-card__vagas {
    background: var(--bs-tertiary-bg) !important;
    color: var(--bs-secondary-color) !important;
}

[data-bs-theme="dark"] .prog-pagination .page-link {
    background: var(--bs-secondary-bg) !important;
    color: var(--bs-body-color) !important;
    border-color: var(--bs-border-color) !important;
}

[data-bs-theme="dark"] .prog-pagination .page-link:hover {
    background: var(--bs-tertiary-bg) !important;
}

[data-bs-theme="dark"] .prog-date-shortcut {
    background: rgba(91,143,232,.15) !important;
    color: #5b8fe8 !important;
}

[data-bs-theme="dark"] .prog-date-shortcut:hover {
    background: #5b8fe8 !important;
    color: #fff !important;
}

[data-bs-theme="dark"] .prog-active-badge {
    background: rgba(91,143,232,.15) !important;
    color: #5b8fe8 !important;
}

/* =============================================================
   /ATIVIDADES — ListaAtividades.css + CardAtividade.css
   ============================================================= */

[data-bs-theme="dark"] .bg-filtro {
    background: var(--bs-secondary-bg) !important;
}

[data-bs-theme="dark"] .filtro-tag {
    background: var(--bs-secondary-bg) !important;
    border-color: var(--bs-border-color) !important;
}

[data-bs-theme="dark"] .filtro-tag > span {
    background: var(--bs-tertiary-bg) !important;
    color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] .atividade-card {
    background: var(--bs-secondary-bg) !important;
    border-color: var(--bs-border-color) !important;
}

[data-bs-theme="dark"] .atividade-card .ratio {
    background: var(--bs-tertiary-bg) !important;
}

[data-bs-theme="dark"] .atividade-card .text-body-secondary {
    color: #fff !important;
}

[data-bs-theme="dark"] .gsc-cursor-page {
    background: var(--bs-secondary-bg) !important;
    border-color: var(--bs-border-color) !important;
    color: var(--bs-body-color) !important;
}

/* =============================================================
   /AREA-COORDENACAO — Details.css
   ============================================================= */

/* Sobrescreve variáveis CSS da página — mais limpo que regra por regra */
[data-bs-theme="dark"] {
    --area-text: var(--bs-body-color);
    --area-bg-soft: var(--bs-secondary-bg);
}

[data-bs-theme="dark"] .area-descricao {
    color: var(--bs-secondary-color) !important;
}

[data-bs-theme="dark"] .section-text {
    color: var(--bs-secondary-color) !important;
}

[data-bs-theme="dark"] .font-size-12 {
    color: var(--bs-secondary-color) !important;
}

[data-bs-theme="dark"] .section-link,
[data-bs-theme="dark"] .section-link-mobile {
    background: var(--bs-secondary-bg) !important;
    border-color: var(--bs-border-color) !important;
    color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] .area-card,
[data-bs-theme="dark"] .card-edital-modern {
    background: var(--bs-secondary-bg) !important;
    border-color: var(--bs-border-color) !important;
}

/* =============================================================
   /ESTRUTURA-ORGANIZACIONAL — estilos inline no cshtml
   ============================================================= */

[data-bs-theme="dark"] .president-card,
[data-bs-theme="dark"] .diretora-card {
    background: var(--bs-secondary-bg) !important;
}

[data-bs-theme="dark"] .president-card .card,
[data-bs-theme="dark"] .diretora-card .card {
    background: var(--bs-tertiary-bg) !important;
}

[data-bs-theme="dark"] .director-card {
    background: var(--bs-secondary-bg) !important;
    border-color: var(--bs-border-color) !important;
}

[data-bs-theme="dark"] .director-role,
[data-bs-theme="dark"] .director-name {
    color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] .council-table thead th {
    background: var(--bs-secondary-bg) !important;
    color: var(--bs-body-color) !important;
    border-color: var(--bs-border-color) !important;
}

[data-bs-theme="dark"] .council-table tbody tr td {
    border-color: var(--bs-border-color) !important;
    color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] .council-table tbody tr:hover td {
    background: var(--bs-tertiary-bg) !important;
}

/* =============================================================
   /CARDAPIO — cardapio.css usa cores hardcoded em todo o componente
   ============================================================= */

/* Surface: fundo branco fixo → elevado escuro */
[data-bs-theme="dark"] .cardapio-surface {
    background: var(--bs-secondary-bg) !important;
    box-shadow: 0 20px 55px rgba(0,0,0,.45) !important;
}

/* Bloco de avisos: azul-claro → adaptado ao dark */
[data-bs-theme="dark"] .cardapio-alerta {
    background: rgba(20,86,106,.18) !important;
    color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] .cardapio-alerta hr {
    border-color: rgba(255,255,255,.12) !important;
}

[data-bs-theme="dark"] .cardapio-alerta__titulo,
[data-bs-theme="dark"] .cardapio-alerta__texto,
[data-bs-theme="dark"] .cardapio-alerta__cidade {
    color: var(--bs-body-color) !important;
}

/* Tabs das cidades */
[data-bs-theme="dark"] .tab-cardapio .nav-link {
    background: var(--bs-tertiary-bg) !important;
    color: #7eb3f7 !important;
    border-color: var(--bs-border-color) !important;
}

[data-bs-theme="dark"] .tab-cardapio .nav-link:hover {
    background: var(--bs-secondary-bg) !important;
}

[data-bs-theme="dark"] .tab-cardapio .nav-link.active {
    background: var(--bs-secondary-bg) !important;
    color: #fff !important;
    box-shadow: 0 8px 18px rgba(0,0,0,.25) !important;
}

/* Título da unidade (h4) e itens da lista */
[data-bs-theme="dark"] .cardapio-unidade-titulo {
    color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] .cardapio-body li {
    color: var(--bs-body-color) !important;
}

/* Caixa informativa restaurante/lanchonete */
[data-bs-theme="dark"] .cardapio-info-box {
    background: rgba(20,86,106,.18) !important;
    border-color: rgba(255,255,255,.1) !important;
}

[data-bs-theme="dark"] .cardapio-info-box b {
    color: #7eb3f7 !important;
}

[data-bs-theme="dark"] .cardapio-info-box a {
    color: #7eb3f7 !important;
}

/* Mensagem de cardápio vazio */
[data-bs-theme="dark"] .cardapio-vazio {
    background: var(--bs-tertiary-bg) !important;
    color: var(--bs-secondary-color) !important;
}

/* =============================================================
   /CREDENCIAL — Apresentacao.css + credencial.css usam vars hardcoded claras
   ============================================================= */

/* Hero: fundo cinza-claro → dark; overlay branco → escuro */
[data-bs-theme="dark"] .cred-hero {
    background: var(--bs-body-bg) !important;
}

[data-bs-theme="dark"] .cred-hero__bg {
    background: linear-gradient(
            90deg,
            rgba(10,15,30,.92) 0%,
            rgba(10,15,30,.72) 45%,
            rgba(10,15,30,.25) 100%
        ),
        url("/img/static/capacartaofundo.jpg") center / cover no-repeat !important;
}

/* Service cards ficam em seção roxa com fundo branco intencional —
   garantir texto legível dentro deles sem afetar o restante da página */
[data-bs-theme="dark"] .service-card {
    background: rgba(255,255,255,.96) !important;
}

[data-bs-theme="dark"] .service-card__t {
    color: #1f2937 !important;
}

[data-bs-theme="dark"] .service-card__d {
    color: #6b7280 !important;
}

/* Badge "Credencial Sesc" */
[data-bs-theme="dark"] .cred-badge {
    background: rgba(91,143,232,.18) !important;
    color: #7eb3f7 !important;
}

/* Título e subtítulo do hero */
[data-bs-theme="dark"] .cred-title {
    color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] .cred-subtitle {
    color: var(--bs-secondary-color) !important;
}

/* Link "Ver dúvidas frequentes" */
[data-bs-theme="dark"] .btn-link-clean {
    color: #7eb3f7 !important;
}

/* Mini-infos (Digital / Gratuito / Família) */
[data-bs-theme="dark"] .mini-info {
    background: var(--bs-secondary-bg) !important;
    border-color: var(--bs-border-color) !important;
}

[data-bs-theme="dark"] .mini-info i {
    color: #7eb3f7 !important;
}

[data-bs-theme="dark"] .mini-info__t {
    color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] .mini-info__d {
    color: var(--bs-secondary-color) !important;
}

/* Subtítulo das seções */
[data-bs-theme="dark"] .sec-head .sec-subtitle {
    color: var(--bs-secondary-color) !important;
}

/* Step cards (seção "Como funciona") */
[data-bs-theme="dark"] .step-card {
    background: var(--bs-secondary-bg) !important;
    border-color: var(--bs-border-color) !important;
    box-shadow: 0 10px 26px rgba(0,0,0,.3) !important;
}

[data-bs-theme="dark"] .step-card__n {
    background: rgba(91,143,232,.18) !important;
    color: #7eb3f7 !important;
}

[data-bs-theme="dark"] .step-card__t {
    color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] .step-card__d {
    color: var(--bs-secondary-color) !important;
}

/* =============================================================
   /LICITACAO — estilos inline em Index.cshtml e DetalhesLicitacao.cshtml
   ============================================================= */

/* ── Stat cards (Index) ── */
[data-bs-theme="dark"] .stat-value {
    color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] .stat-label {
    color: var(--bs-secondary-color) !important;
}

[data-bs-theme="dark"] .stat-icon.aberta {
    background: rgba(25,135,84,.20) !important;
    color: #4ade80 !important;
}

[data-bs-theme="dark"] .stat-icon.andamento {
    background: rgba(255,193,7,.15) !important;
    color: #fbbf24 !important;
}

[data-bs-theme="dark"] .stat-icon.finalizada {
    background: rgba(108,117,125,.20) !important;
    color: #94a3b8 !important;
}

/* ── Botões de documento (resolução/links) ── */
[data-bs-theme="dark"] .btn-doc {
    background: var(--bs-secondary-bg) !important;
    border-color: var(--bs-border-color) !important;
    color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] .btn-doc:hover {
    border-color: #7eb3f7 !important;
    color: #7eb3f7 !important;
}

[data-bs-theme="dark"] .btn-doc .doc-icon {
    background: rgba(255,193,7,.15) !important;
    color: #fbbf24 !important;
}

/* ── Tabs de licitação ── */
[data-bs-theme="dark"] .lic-tabs .nav-link {
    color: var(--bs-secondary-color) !important;
}

[data-bs-theme="dark"] .lic-tabs .nav-link:hover:not(.active) {
    background: var(--bs-tertiary-bg) !important;
    color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] .lic-tabs .nav-link.active {
    color: #7eb3f7 !important;
    border-bottom-color: #7eb3f7 !important;
}

/* ── Tabelas DataTables ── */
[data-bs-theme="dark"] #dt-abertas thead th,
[data-bs-theme="dark"] #dt-andamento thead th,
[data-bs-theme="dark"] #dt-finalizadas thead th {
    background: var(--bs-tertiary-bg) !important;
}

[data-bs-theme="dark"] #dt-abertas tbody tr:hover td,
[data-bs-theme="dark"] #dt-andamento tbody tr:hover td,
[data-bs-theme="dark"] #dt-finalizadas tbody tr:hover td {
    background: rgba(91,143,232,.08) !important;
}

[data-bs-theme="dark"] .edital-num {
    color: #7eb3f7 !important;
}

[data-bs-theme="dark"] .data-cell {
    color: var(--bs-secondary-color) !important;
}

[data-bs-theme="dark"] .dataTables_paginate .paginate_button:hover:not(.current):not(.disabled) {
    background: rgba(91,143,232,.15) !important;
    color: #7eb3f7 !important;
    border-color: transparent !important;
}

/* ── Detalhes da licitação ── */
[data-bs-theme="dark"] .meta-label {
    color: var(--bs-secondary-color) !important;
}

[data-bs-theme="dark"] .meta-value {
    color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] .file-item {
    background: var(--bs-secondary-bg) !important;
    border-color: var(--bs-border-color) !important;
    color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] .file-item:hover {
    border-color: #7eb3f7 !important;
    color: #7eb3f7 !important;
}

[data-bs-theme="dark"] .file-icon.pdf   { background: rgba(220,38,38,.18) !important;  color: #f87171 !important; }
[data-bs-theme="dark"] .file-icon.word  { background: rgba(29,78,216,.18) !important;  color: #93c5fd !important; }
[data-bs-theme="dark"] .file-icon.excel { background: rgba(22,163,74,.18) !important;  color: #4ade80 !important; }
[data-bs-theme="dark"] .file-icon.zip   { background: rgba(202,138,4,.18) !important;  color: #fbbf24 !important; }
[data-bs-theme="dark"] .file-icon.cloud { background: rgba(2,132,199,.18) !important;  color: #38bdf8 !important; }
[data-bs-theme="dark"] .file-icon.other { background: var(--bs-tertiary-bg) !important; color: var(--bs-secondary-color) !important; }

[data-bs-theme="dark"] .file-date {
    color: var(--bs-secondary-color) !important;
}

/* =============================================================
   SELETOR DE TEMA — botão e popup
   ============================================================= */

.theme-toggle-btn {
    display: flex;
    align-items: center;
    gap: 5px;
    color: white;
    font-size: .82rem;
    font-weight: 500;
    line-height: 1;
    padding: 3px 8px;
    border: 1px solid rgba(255,255,255,.45);
    border-radius: 20px;
    background: rgba(255,255,255,.15);
    cursor: pointer;
    transition: background .15s, border-color .15s;
    white-space: nowrap;
}

.theme-toggle-btn:hover {
    background: rgba(255,255,255,.28);
    border-color: rgba(255,255,255,.7);
    color: white;
}

.theme-picker-popup {
    position: absolute;
    right: 0;
    top: calc(100% + 8px);
    background: #1e1e2e;
    border-radius: 14px;
    padding: 8px;
    z-index: 9999;
    min-width: 138px;
    box-shadow: 0 6px 28px rgba(0,0,0,.5);
    display: none;
}

.theme-picker-popup.open {
    display: block;
}

.theme-option {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    background: none;
    border: none;
    color: #aaa;
    padding: 8px 12px;
    border-radius: 10px;
    font-size: .875rem;
    cursor: pointer;
    text-align: left;
    transition: background .15s, color .15s;
}

.theme-option i {
    font-size: 1rem;
    flex-shrink: 0;
}

.theme-option:hover {
    background: rgba(255,255,255,.08);
    color: #fff;
}

.theme-option.active {
    color: #fff;
    background: rgba(255,255,255,.12);
}
