/* Dark Mode: azul escuro */
.dark-mode .footer-main {
  background-color: #0a1320 !important;   /* azul escuro */
  background-image: none !important;
  box-shadow: none !important;
  color: var(--dm-text) !important;
  width: 100%;
  padding-top: 3rem;
  padding-bottom: 3rem;
}

.dark-mode .footer-main .container {
  background: transparent !important;
  background-image: none !important;

  outline: none !important;
}

.dark-mode .footer-main h3,
.dark-mode .footer-main h4,
.dark-mode .footer-main p,
.dark-mode .footer-main li,
.dark-mode .footer-main a {
  color: var(--dm-text) !important;
}

.dark-mode .footer-main a:hover {
  color: #2eb8ff !important;
  text-decoration: none;
}

.dark-mode .footer-main a.bg-blue,
.dark-mode .footer-main a.bg-instagram,
.dark-mode .footer-main a.bg-green,
.dark-mode .footer-main a.bg-red {
  color: #fff !important;
  box-shadow: 0 6px 16px rgba(0,0,0,0.25);
}

/* ...existing code... */
/* ========== Inputs & Forms ========== */
.dark-mode input,
.dark-mode textarea,
.dark-mode select {
  background: rgba(255,255,255,0.03) !important;
  color: var(--dm-text) !important;
  border: 1px solid rgba(26,157,216,0.2) !important;
  caret-color: var(--dm-primary);
}

.dark-mode input:focus,
.dark-mode textarea:focus,
.dark-mode select:focus {
  background: rgba(26,157,216,0.05) !important;
  border-color: var(--dm-primary) !important;
  box-shadow: 0 0 8px rgba(26,157,216,0.2);
  outline: none;
}

/* ========== Botões ========== */
.dark-mode .bg-blue.text-white,
.dark-mode button,
.dark-mode .btn {
  color: #fff !important;
  border: none;
}



/* ========== Cores Sociais ========== */
.dark-mode .bg-green { background: #2aa86b !important; }
.dark-mode .bg-instagram { 
  background: linear-gradient(135deg, #833AB4 0%, #fd1d1d 50%, #fcb045 100%) !important;
}

/* ========== Bordas & Separadores ========== */
.dark-mode hr,
.dark-mode .border {
  border-color: var(--dm-border) !important;
}

/* ========== Ícones ========== */
.dark-mode .fab,
.dark-mode .fa,
.dark-mode i {
  color: var(--dm-text) !important;
}

.dark-mode .fa-moon::before { color: #ffd700; }
.dark-mode .fa-sun::before { color: #ffb300; }

/* ========== Efeitos Especiais ========== */
.dark-mode .fx-zoom:hover {
  transform: scale(1.02) !important;
}

/* ========== News Grid Dark ========== */
.dark-mode .news-grid,
.dark-mode .posts-row {
  background: transparent;
}

.dark-mode .news-card {
  background: linear-gradient(135deg, var(--dm-card) 0%, rgba(13,40,71,0.6) 100%) !important;
}

/* fim dark mode */

/* Transições suaves em tudo */
html, body, header, footer, .bg-primary, .bg-blue, #menu-mobile, .post-card, .news-card, nav, .topbar_logo, a {
  transition: background-color 220ms ease, color 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
}

/* Dark Mode Toggle SVG Button */
.dark-mode-toggle {
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0.25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform 200ms ease;
}

.dark-mode-toggle:hover {
  transform: scale(1.05);
}

.dark-mode-toggle:active {
  transform: scale(0.95);
}

/* Toggle Icon SVG */
.toggle-icon {
  transition: all 300ms ease;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,0.1));
}

/* Light Mode (padrão) */
.toggle-icon .track-active {
  opacity: 0 !important;
  transition: opacity 300ms ease;
}

.toggle-icon .icon-sun {
  opacity: 1;
  transform: translateX(0);
  transition: opacity 300ms ease, transform 300ms ease;
}

.toggle-icon .icon-moon {
  opacity: 0;
  transform: translateX(10px);
  transition: opacity 300ms ease, transform 300ms ease;
}

.toggle-icon .toggle-circle {
  transform: translateX(0);
  transition: transform 300ms ease;
}

/* Dark Mode */
.dark-mode .toggle-icon {
  filter: drop-shadow(0 2px 6px rgba(26,157,216,0.3));
}

.dark-mode .toggle-icon .track-active {
  opacity: 1 !important;
}

.dark-mode .toggle-icon .icon-sun {
  opacity: 0;
  transform: translateX(-10px);
}

.dark-mode .toggle-icon .icon-moon {
  opacity: 1;
  transform: translateX(0);
}

.dark-mode .toggle-icon .toggle-circle {
  transform: translateX(30px);
}

/* Mobile responsivo */
@media (max-width: 768px) {
  .dark-mode-toggle {
    padding: 0.15rem;
  }

  .toggle-icon {
    width: 45px;
    height: 25px;
  }
}
/* ========== Body & Background ========== */
.dark-mode body {
  background: var(--dm-bg) !important;
  color: var(--dm-text) !important;
}

/* ========== Headers & Navs ========== */
.dark-mode .bg-primary,
.dark-mode .bg-blue,
.dark-mode header,
.dark-mode nav,
.dark-mode #header {
  background: linear-gradient(135deg, var(--dm-surface) 0%, rgba(15,26,46,0.8) 100%) !important;
  color: var(--dm-text) !important;
  border-bottom: 1px solid rgba(26,157,216,0.15);
}

/* ========== Topbar Logo ========== */
.dark-mode .topbar_logo {
  background: linear-gradient(135deg, var(--dm-surface) 0%, var(--dm-card) 100%) !important;
  position: relative;
  overflow: hidden;
}

.dark-mode .topbar_logo::before {
  background-color: rgba(10,20,40,0.7) !important;
  mix-blend-mode: multiply;
  filter: brightness(0.6) contrast(1.1) saturate(0.8);
}


.dark-mode .post-card,
.dark-mode .news-card,
.dark-mode .container,
.dark-mode .radius,
.dark-mode .card {
 
  color: var(--dm-text) !important;
}

.dark-mode .post-card:hover,


.dark-mode #menu-mobile {
  background: linear-gradient(180deg, var(--dm-surface) 0%, var(--dm-card) 100%) !important;
  color: var(--dm-text) !important;
  box-shadow: -4px 0 20px var(--dm-shadow);
}

#menu-mobile li a,
.dark-mode #menu-mobile li a {
  color: var(--dm-text) !important;
  border-bottom: 1px solid rgba(255,255,255,0.03);
}

#menu-mobile li a:hover,
.dark-mode #menu-mobile li a:hover {
  color: var(--dm-primary) !important;
  padding-left: 0.75rem;
}


.dark-mode a,
.dark-mode .text-blue,
.dark-mode .link {
  color: var(--dm-primary) !important;
}

.dark-mode a:hover,
.dark-mode .text-blue:hover {
  color: #2eb8ff !important;
}

.dark-mode .text-white,
.dark-mode .text-dark {
  color: var(--dm-text) !important;
}

.dark-mode body,
.dark-mode .container,
.dark-mode .container p,
.dark-mode article,
.dark-mode .line-height,
.dark-mode .post-card p,
.dark-mode .news-card p,
.dark-mode .text-gray-dark,
.dark-mode .text-muted {
  color: var(--dm-text) !important;
  opacity: 1 !important;
}


.dark-mode .meta,
.dark-mode .post-meta,
.dark-mode .container .flex .text-gray-dark {
  color: var(--dm-text-sub) !important;
}


.dark-mode .container a,
.dark-mode article a,
.dark-mode .post-card a {
 
  text-decoration: none;
}

/* ========== SUBTEXTOS (em branco/claro) ========== */
.dark-mode .text-muted,
.dark-mode .text-gray,
.dark-mode .text-gray-dark,
.dark-mode .post-card p,
.dark-mode .news-card p,
.dark-mode .post-card .text-dark,
.dark-mode .news-card .text-dark,
.dark-mode span.text-dark {
  color: var(--dm-text-sub) !important;
}

.dark-mode .post-card h2,
.dark-mode .news-card h2 {
  color: var(--dm-primary) !important;
}

/* ========== FOOTER (uniforme e bonito) ========== */
.dark-mode footer,
.dark-mode .footer {
  background: #0a1320 !important;
  color: var(--dm-text) !important;
  border-top: 2px solid rgba(26,157,216,0.25);
}

.dark-mode footer a,
.dark-mode .footer a {
  color: var(--dm-primary) !important;
  transition: color 180ms ease;
}

.dark-mode footer a:hover,
.dark-mode .footer a:hover {
  color: #2eb8ff !important;
}

.dark-mode footer h3,
.dark-mode footer h4,
.dark-mode .footer h3,
.dark-mode .footer h4 {
  color: var(--dm-text) !important;
  border-bottom: 1px solid rgba(26,157,216,0.2);
  padding-bottom: 0.5rem;
  margin-bottom: 1rem;
}


/* botão pequeno de dark mode */
.dm-btn {
  width: 36px;
  height: 36px;
  padding: 6px;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  line-height: 1;
  color: var(--dm-text, #0b1220); /* usa variável do tema quando disponível */
  background: transparent;
  border: none;
}

/* visual quando ativo (opcional) */
.dm-btn.is-dark {
  background: rgba(255,255,255,0.06); /* ajustável */
  color: var(--dm-text, #e6f3ff);
}

/* ícone herda a cor do texto (currentColor) */
.dm-btn svg { display: block; color: currentColor; }


.dm-btn:hover {
  transform: translateY(-1px) scale(1.03);
}



.dark-mode .page-header {
    background: var(--dm-surface);
    color: var(--dm-text);
}

.dark-mode .page-header .page-pretitle {
    color: var(--dm-text-sub);
}

.dark-mode .page-header .page-title {
    color: var(--dm-text);
}


.dark-mode .page-header .btn-orange {
    background: var(--dm-accent, var(--orange));
    border-color: var(--dm-border);
}

/* Botão primário no dark */
.dark-mode .page-header .btn-primary {
    background: var(--dm-primary);
    color: var(--dm-text);
    border-color: var(--dm-border);
}

.dark-mode {
  /* garante contraste base */
  --dm-text-strong: #ffffff;
  --dm-text-weak: #cbd5e1;
}

/* Forçar títulos / labels / números dos cards para branco */
.dark-mode .row.justify-content-center .col-sm-6 a,
.dark-mode .row.justify-content-center .col-lg-3 a,
.dark-mode .row.justify-content-center .col-sm-6 a .card-title,
.dark-mode .row.justify-content-center .col-sm-6 a .metric-value,
.dark-mode .row.justify-content-center .col-sm-6 a .metric,
.dark-mode .row.justify-content-center .col-sm-6 a .small,
.dark-mode .row.justify-content-center .col-sm-6 a .metric-sub,
.dark-mode .row.justify-content-center .col-sm-6 a .h1 {
  color: var(--dm-text-strong) !important;
}

/* Se os textos estiverem definidos dentro de elementos do card: */
.dark-mode .card .card-title,
.dark-mode .card h3,
.dark-mode .card .card-header .card-title {
  color: var(--dm-text-strong) !important;
}

.dark-mode .table-responsive table td,
.dark-mode .table-responsive table th,
.dark-mode .table-responsive,
.dark-mode .table-responsive a,
.dark-mode .table-responsive .text-body,
.dark-mode .table-responsive .text-secondary {
  color: var(--dm-text-weak) !important;
}


.dark-mode [style*="color: #000"],
.dark-mode [style*="color:#000"],
.dark-mode [style*="color: rgb(0, 0, 0)"] {
  color: var(--dm-text-strong) !important;
}
.dark-mode .row.justify-content-center .col-sm-6 a,
.dark-mode .card {
  background: linear-gradient(180deg, color-mix(in srgb, var(--dm-card) 94%, rgba(0,0,0,0.04)), var(--dm-card)) !important;
  border-color: var(--dm-border) !important;
}

.dark-mode .row.justify-content-center .col-sm-6 a .metric-sub,
.dark-mode .card .card-header .small,
.dark-mode .card .card-header .text-secondary {
  color: color-mix(in srgb, var(--dm-text) 70%, transparent) !important;
}

/* Se precisar forçar ícones / svg fill */
.dark-mode .row.justify-content-center svg,
.dark-mode .card svg,
.dark-mode .avatar svg {
  fill: var(--dm-text-strong) !important;
  color: var(--dm-text-strong) !important;
}

/* =====================
   Dark-mode: tabela de notícias
   Cole no final do dark-portal.css
   ===================== */

/* Base: tabela */
.dark-mode table.table,
.dark-mode table.table-selectable,
.dark-mode .card-table,
.dark-mode .datatable {
  background: transparent;
  color: var(--dm-text);
  border-collapse: collapse;
}

/* Thead */
.dark-mode table.table thead th {
  background: color-mix(in srgb, var(--dm-card) 88%, rgba(0,0,0,0.06));
  color: var(--dm-text);
  border-bottom: 1px solid color-mix(in srgb, var(--dm-border) 90%, rgba(255,255,255,0.02));
  font-weight: 600;
  padding: .65rem .75rem;
}

/* Linhas e células */
.dark-mode table.table tbody tr {
  background: linear-gradient(180deg, rgba(255,255,255,0.005), transparent);
}
.dark-mode table.table tbody tr td {
  color: var(--dm-text);
  border-bottom: 1px solid color-mix(in srgb, var(--dm-border) 70%, rgba(255,255,255,0.02));
  padding: .6rem .75rem;
  vertical-align: middle;
}

/* Hover das linhas para melhor legibilidade */
.dark-mode table.table tbody tr:hover {
  background: linear-gradient(90deg, rgba(255,255,255,0.01), rgba(255,255,255,0.02));
}

/* Forçar textos que aparecem pretos (se houver conflitos) */
.dark-mode table.table tbody tr td,
.dark-mode table.table thead th,
.dark-mode .card-table, 
.dark-mode .datatable,
.dark-mode .card-table a,
.dark-mode .card-table a * {
  color: var(--dm-text) !important;
}

/* Links dentro da tabela: destaque com a cor primaria do tema */
.dark-mode table.table a,
.dark-mode .card-table a {
  color: var(--dm-primary) !important;
  text-decoration: underline;
}
.dark-mode table.table a:hover,
.dark-mode .card-table a:hover {
  color: color-mix(in srgb, var(--dm-primary) 88%, white) !important;
}

/* Avatar/thumbnail (imagem dentro da célula) */
.dark-mode table.table img.avatar,
.dark-mode table.table img.avatar-md {
  border-radius: 6px;
  border: 1px solid color-mix(in srgb, var(--dm-border) 90%, rgba(255,255,255,0.02));
  box-shadow: 0 4px 14px color-mix(in srgb, var(--dm-shadow) 40%, rgba(0,0,0,0.6));
  background: color-mix(in srgb, var(--dm-card) 95%, transparent);
}

/* Badges: garantir contraste e legibilidade */
.dark-mode .badge.bg-success,
.dark-mode .bg-success {
  background: linear-gradient(180deg, color-mix(in srgb, #1b5e20 85%, transparent), #1b7a37) !important;
  color: #e9f8ee !important;
  border: 1px solid color-mix(in srgb, var(--dm-border) 60%, rgba(255,255,255,0.02)) !important;
}
.dark-mode .badge.bg-warning,
.dark-mode .bg-warning {
  background: linear-gradient(180deg, #7a5b05, #b07f10) !important;
  color: #111827 !important;
  border: 1px solid color-mix(in srgb, var(--dm-border) 60%, rgba(255,255,255,0.02)) !important;
}
.dark-mode .badge.bg-info,
.dark-mode .bg-info {
  background: linear-gradient(180deg, #135d7a, #1a9dd8) !important;
  color: #eaf6ff !important;
  border: 1px solid color-mix(in srgb, var(--dm-border) 60%, rgba(255,255,255,0.02)) !important;
}
.dark-mode .badge.bg-danger,
.dark-mode .bg-danger {
  background: linear-gradient(180deg, #8b1f2d, #c6333f) !important;
  color: #fff6f7 !important;
  border: 1px solid color-mix(in srgb, var(--dm-border) 60%, rgba(255,255,255,0.02)) !important;
}

/* Dropdown do botão Ações */
.dark-mode .dropdown-menu {
  background: var(--dm-card) !important;
  color: var(--dm-text) !important;
  border: 1px solid var(--dm-border) !important;
  box-shadow: 0 10px 30px color-mix(in srgb, var(--dm-shadow) 45%, rgba(0,0,0,0.6)) !important;
}
.dark-mode .dropdown-menu .dropdown-item {
  color: var(--dm-text) !important;
}
.dark-mode .dropdown-menu .dropdown-item:hover,
.dark-mode .dropdown-menu .dropdown-item:focus {
  background: color-mix(in srgb, var(--dm-primary) 8%, transparent) !important;
  color: var(--dm-text) !important;
}

/* Botões que aparecem em linha (ex.: .btn.dropdown-toggle) */
.dark-mode .btn.dropdown-toggle,
.dark-mode .btn {
  background: transparent;
  color: var(--dm-text) !important;
  border-color: transparent;
}
.dark-mode .btn.dropdown-toggle:hover {
  background: color-mix(in srgb, var(--dm-primary) 6%, transparent);
}

/* Forçar cor de texto em elementos com inline color preto literal */
.dark-mode [style*="color: #000"],
.dark-mode [style*="color:#000"] {
  color: var(--dm-text) !important;
}

/* Pequenas transições para suavizar a mudança */
.dark-mode table.table thead th,
.dark-mode table.table tbody td,
.dark-mode .dropdown-menu,
.dark-mode .badge {
  transition: background .16s ease, color .12s ease, border-color .12s ease, box-shadow .18s ease;
}

/* Mobile: reduzir padding das células para melhor leitura */
@media (max-width: 767.98px) {
  .dark-mode table.table tbody td,
  .dark-mode table.table thead th {
    padding: .45rem .5rem;
    font-size: .94rem;
  }
}


/* ================================
   HEADER DARK MODE DEFINITIVO
   ================================ */
html.dark-mode header,
html.dark-mode .navbar,
html.dark-mode header.navbar,
html.dark-mode .navbar.navbar-expand-md {
    background: #061225 !important; /* azul escuro consistente com seu layout */
    background: linear-gradient(180deg, #061225 0%, #081a33 100%) !important;
    color: #d9eeff !important;

    border-bottom: 1px solid rgba(26, 157, 216, 0.25) !important;
}

/* Links, ícones, títulos dentro do header */
html.dark-mode header .nav-link,
html.dark-mode header .nav-link-title,
html.dark-mode header .navbar-brand,
html.dark-mode header .navbar-nav .nav-link,
html.dark-mode header * {
    color: #9ed8ff !important;
    opacity: 1 !important;
}

/* Ícones (SVG) */
html.dark-mode header svg {
    color: #9ed8ff !important;
    fill: #9ed8ff !important;
}

/* Botão dark mode / notificações */
html.dark-mode header .btn,
html.dark-mode header button {
    background: rgba(255,255,255,0.04) !important;
    border: 1px solid rgba(255,255,255,0.08) !important;
    color: #e6f6ff !important;
}

/* Avatar */
html.dark-mode header .avatar {
    border: 1px solid rgba(255,255,255,0.12) !important;
}

/* ------------------------ */
/*  CARD / HEADER / CONTAINER */
/* ------------------------ */

html.dark-mode .card {
    background-color: #0b172b !important;
    border-color: rgba(255,255,255,0.06) !important;
    color: #d5e9ff !important;
}

html.dark-mode .card-body {
    background-color: #0b172b !important;
    color: #d5e9ff !important;
}

html.dark-mode .page-header {
    background: none !important;
    color: #d5e9ff !important;
}

html.dark-mode .page-title,
html.dark-mode .page-subtitle {
    color: #cfe8ff !important;
}

html.dark-mode .text-muted {
    color: rgba(200, 210, 255, 0.6) !important;
}

html.dark-mode .btn-secondary {
    background-color: #12263e !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
    color: #d5e9ff !important;
}

html.dark-mode code {
    background: rgba(255,255,255,0.07);
    color: #b9d7ff;
    padding: 2px 4px;
    border-radius: 4px;
}

/* ============================
   Fix definitivo para conteúdo de notícias (dark mode)
   Cole no final do dark-portal.css
   ============================ */

/* Container principal da notícia: ajusta leitura */
html.dark-mode .news-content,
html.dark-mode .news-content * {
  background: transparent !important;   /* remove fundos indesejados */
  box-shadow: none !important;
  border: none !important;
  color: var(--dm-text) !important;     /* texto claro */
}

/* Força parágrafos como blocos limpos e legíveis */
html.dark-mode .news-content,
html.dark-mode .news-content p,
html.dark-mode .news-content article,
html.dark-mode .news-content div {
  text-align: left !important;
  text-justify: inter-word !important;
  line-height: 1.8 !important;
  margin: 0 0 1rem 0 !important;
  padding: 0 !important;
  white-space: normal !important;
  word-break: break-word !important;
}

/* Remove fundos vindos de spans/mark/ins/strong que o editor pode ter inserido */
html.dark-mode .news-content span,
html.dark-mode .news-content mark,
html.dark-mode .news-content ins,
html.dark-mode .news-content strong,
html.dark-mode .news-content b,
html.dark-mode .news-content em {
  background: transparent !important;
  color: inherit !important;
  padding: 0 !important;
  display: inline !important;
}

/* Se houver tags <p style="background:..."> inline, zera o style */
html.dark-mode .news-content p[style],
html.dark-mode .news-content [style] {
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
}

/* Headings dentro do conteúdo */
html.dark-mode .news-content h1,
html.dark-mode .news-content h2,
html.dark-mode .news-content h3,
html.dark-mode .news-content h4 {
  color: #ffffff !important;
  text-align: left !important;
  margin-top: 1.6rem !important;
  margin-bottom: .8rem !important;
  background: transparent !important;
}

/* Links dentro do conteúdo */
html.dark-mode .news-content a {
  color: var(--dm-primary) !important;
  text-decoration: underline !important;
  background: transparent !important;
}

/* Imagens no conteúdo */
html.dark-mode .news-content img {
  max-width: 100% !important;
  display: block !important;
  margin: 1rem auto !important;
  background: transparent !important;
}

/* Evita "caixas" por causa de display inline-block aplicado por outros estilos */
html.dark-mode .news-content p * {
  display: inline !important;
}

/* Segurança extra: se houver pseudo-elementos com fundo, anula */
html.dark-mode .news-content *::before,
html.dark-mode .news-content *::after {
  background: transparent !important;
  box-shadow: none !important;
}
.dark-mode .news-source {
  border-top: 1px solid rgb(250, 250, 250);
}
/* Fonte da notícia - título "FONTE" no dark mode */
.dark-mode .news-source .text-muted {
  color: #ffffff !important;
  opacity: 0.85;
}


/* Responsivo: ajustar margem/padding em mobile */
@media (max-width: 767.98px) {
  html.dark-mode .news-content,
  html.dark-mode .news-content p {
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
    font-size: 1rem !important;
  }


}

