/*==============================================================
  Visy — TEMA ESCURO (teste, 2026-10-14)
  Carregado DEPOIS do brand-2026.css, só com ?tema=escuro (ver head.php).
  Fundo quase preto, superfícies grafite-azuladas, azul/ciano da marca
  com brilho. Reverter = não carregar este arquivo.
==============================================================*/
:root {
  --vz-navy:    #eaf1ff;   /* agora é a cor do TEXTO principal (claro) */
  --vz-ink:     #9aabc7;   /* texto secundário */
  --vz-line:    rgba(255,255,255,.09);
  --vz-bg:      #05070c;
  --vz-surface-2: #0d1422;
  --vz-blue:    #4b84ff;
  --vz-blue-d:  #2f6bff;
  --vz-cyan:    #22d3ee;
  --vz-aqua:    #22d3ee;
  --vz-grad:      linear-gradient(120deg, #3b78ff 0%, #22d3ee 100%);
  --vz-grad-dark: linear-gradient(135deg, #070c18 0%, #0b1a33 55%, #08324a 100%);
  --vz-grad-soft: linear-gradient(180deg, #070a12 0%, #05070c 100%);
  --vz-shadow:    0 10px 30px rgba(0,0,0,.45);
  --vz-shadow-sm: 0 2px 10px rgba(0,0,0,.4);
  --vz-shadow-lg: 0 18px 50px rgba(0,0,0,.6);
  --hero3: #eaf1ff;
  --primary: #4b84ff;
  --secondary: #eaf1ff;
  --surface: #05070c;
  --contrast: #22d3ee;
  /* tokens locais do tema */
  --vd-bg: #05070c;
  --vd-bg2: #080c15;
  --vd-card: #0d1422;
  --vd-card2: #111a2c;
  --vd-line: rgba(255,255,255,.09);
  --vd-line2: rgba(255,255,255,.14);
  --vd-text: #eaf1ff;
  --vd-muted: #9aabc7;
  --vd-glow: 0 0 0 1px rgba(75,132,255,.25), 0 20px 60px rgba(34,211,238,.10);
  color-scheme: dark;
}

/*---------- Base ----------*/
html, body { background: var(--vd-bg) !important; color: var(--vd-muted); }
body { background-image: radial-gradient(900px 600px at 85% -10%, rgba(59,120,255,.16), transparent 60%),
                         radial-gradient(800px 600px at -10% 30%, rgba(34,211,238,.07), transparent 60%) !important;
       background-repeat: no-repeat !important; }
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6, strong, b { color: var(--vd-text); }
p, li, label, small, .text-muted, .text-secondary, .lead, .lead2 { color: var(--vd-muted) !important; }
a { color: #7fa6ff; }
a:hover { color: #22d3ee; }
hr { border-color: var(--vd-line); }
::selection { background: rgba(34,211,238,.35); color: #fff; }

/* seções claras -> escuras */
section, .bg-white, .bg-light, .hero-section, .depoimentos-section, .vzh-signals, .vzf, .vzf-main,
main, .container-fluid { background: transparent !important; }
/* hero: grade azul mais forte + brilho */
.vzh { background: radial-gradient(1000px 520px at 75% 20%, rgba(47,107,255,.20), transparent 65%),
                   radial-gradient(700px 420px at 10% 90%, rgba(34,211,238,.10), transparent 60%), #05070c !important;
       border-bottom: 1px solid var(--vd-line); }
.vzh-bg::before { background-image: linear-gradient(rgba(120,160,255,.08) 1px, transparent 1px),
                                     linear-gradient(90deg, rgba(120,160,255,.08) 1px, transparent 1px) !important; }
/* blocos arredondados que "sobem" sobre o anterior: um tom acima do fundo */
.bling-like-section, .faq-like-section { background: linear-gradient(180deg, #0a0f1a 0%, #05070c 100%) !important;
  border-top: 1px solid var(--vd-line); }
.usuarios-section { background: linear-gradient(90deg, #071226 0%, #0a2a44 100%) !important; }
.progress-line, .toggle-buttons { background: rgba(255,255,255,.06) !important; }

/*---------- Navbar ----------*/
#navbar, nav#navbar, .navbar, header nav, .fixed-top {
  background: rgba(5,7,12,.82) !important; -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--vd-line) !important; box-shadow: none !important;
}
#navbar .nav-link, .navbar .nav-link { color: #c7d3ea !important; }
#navbar .nav-link:hover, .navbar .nav-link:hover, #navbar .active > .nav-link { color: #fff !important; }
.navbar-brand img, #navbar img[alt*="isy"], .logo-visy { filter: brightness(0) invert(1); }
.navbar-toggler { border-color: var(--vd-line2) !important; }
.navbar-toggler-icon { filter: invert(1); }
.dropdown-menu { background: var(--vd-card) !important; border: 1px solid var(--vd-line) !important; }
.dropdown-item { color: #c7d3ea !important; }
.dropdown-item:hover { background: var(--vd-card2) !important; color: #fff !important; }

/*---------- Cartões e superfícies (antes brancas) ----------*/
.vz-card, .vz-feature, .faq-item, .card, .card-header, #accordion .card-header, .table-responsive,
.vzf-intruso, .vzf-placas, .vzf-hl, .vz-cfgcard, .vz-events, .vzh-ti, .vzh-set a, .vzf-signals span,
.hero-badges span, .vz-filter a, .plano-card, .erp-card, .usuario-card, .depoimento, .box-feature,
.modal-content, .list-group-item {
  background: var(--vd-card) !important; border-color: var(--vd-line) !important; color: var(--vd-muted);
  box-shadow: var(--vz-shadow) !important;
}
.vz-card:hover, .vz-feature:hover, .vzh-set a:hover { border-color: rgba(75,132,255,.45) !important; box-shadow: var(--vd-glow) !important; }
.vzf-bubble, .vzh-bubble { background: var(--vd-card2) !important; color: var(--vd-text) !important; border-color: var(--vd-line) !important; }
.vz-switch::after { background: #e6eefc !important; }
.vzf-tag-muted, .vzf-placas-ico, .vz-ai-cross, .vz-events li, .table thead th { background: var(--vd-card2) !important; color: var(--vd-muted) !important; }
.table, .table td, .table th { color: var(--vd-muted) !important; border-color: var(--vd-line) !important; }
.table-striped tbody tr:nth-of-type(odd) { background: rgba(255,255,255,.02) !important; }

/* imagens e prints: moldura escura em vez de branca */
.vz-combo-imgs, .vzf-shot, .vzf-intruso-img { background: #0a1220 !important; border-color: var(--vd-line) !important; }

/*---------- Botões ----------*/
.btn-vz-outline, .vzh-btn-ghost, .btn-outline-primary, .btn-outline-secondary, .btn-light {
  background: transparent !important; color: #e6eefc !important; border: 1.5px solid var(--vd-line2) !important;
}
.btn-vz-outline:hover, .vzh-btn-ghost:hover, .btn-outline-primary:hover { background: rgba(75,132,255,.12) !important; border-color: #4b84ff !important; color: #fff !important; }
.btn-primary, .vzh-btn-primary, .btn-conheca, .btn-blue, .btn-primary-gradient { box-shadow: 0 10px 30px rgba(59,120,255,.35) !important; }

/*---------- Faixas e blocos ----------*/
.cta-visy, .cta-box { background: linear-gradient(135deg, #0b1a33 0%, #08324a 100%) !important; border: 1px solid rgba(75,132,255,.25) !important; }
.cta-visy *, .cta-box * { color: inherit; }
.cta-visy h2, .cta-visy h3, .cta-box h2 { color: #fff !important; }
.vz-dark, .bg-dark { background: #080d19 !important; border-top: 1px solid var(--vd-line); border-bottom: 1px solid var(--vd-line); }
.dock-pill, .contact-dock__title { background: #0d1422 !important; }

/* faixa rolante de sinais */
.vzh-signals { border-top: 1px solid var(--vd-line); border-bottom: 1px solid var(--vd-line); }

/* chips/badges suaves */
.badge, .vz-badge, .vzh-chip, .vzf-tag, .badge-plan { background: rgba(75,132,255,.14) !important; color: #a9c4ff !important; border-color: rgba(75,132,255,.3) !important; }

/*---------- Formulários ----------*/
.form-control, .custom-select, select, textarea, input[type="text"], input[type="email"], input[type="tel"] {
  background: #0a101c !important; color: var(--vd-text) !important; border-color: var(--vd-line2) !important;
}
.form-control::placeholder { color: #6f7f9b !important; }
.form-control:focus { border-color: #4b84ff !important; box-shadow: 0 0 0 .2rem rgba(75,132,255,.25) !important; }

/*---------- Rodapé ----------*/
footer, #site-footer, .footer-section, .site-footer { background: #03050a !important; border-top: 1px solid var(--vd-line); }
.footer-section .form-footer, .footer-section .form-footer.bg-dark { background: #0a101c !important; }

/*---------- Banner de cookies ----------*/
#myse-cb, .myse-cb, [id^="myse-cb"] { background: var(--vd-card) !important; color: var(--vd-text) !important; border-color: var(--vd-line) !important; }

/* CTA final: botão com o degradê da marca (antes era branco) */
.cta-box .btn-conheca3, .btn-conheca2 { background: var(--vz-grad) !important; color: #fff !important; border: none !important;
  box-shadow: 0 10px 30px rgba(59,120,255,.35) !important; }

/* selo do hero */
.vzh-eyebrow { background: rgba(75,132,255,.10) !important; border-color: rgba(75,132,255,.30) !important; color: #cfe0ff !important; box-shadow: none !important; }

/* celulares: WhatsApp no modo escuro */
.vzh-phone, .vzh-phone::before, .vz-phone-static::before { background: #1a2233 !important; }
.vzh-phone-screen, .vzh-chat-body, .vzf-phone-chat { background-color: #0b141a !important;
  background-image: radial-gradient(rgba(255,255,255,.035) 1px, transparent 1px) !important; }
.vzh-chat-head, .vzf-phone-top { background: #1f2c34 !important; }
.vzh-bubble, .vzf-bubble { background: #1f2c34 !important; color: #e9edef !important; box-shadow: none !important; }
.vzh-bubble b { color: #25d366 !important; }
.vzh-bubble small, .vzh-bubble em { color: #8696a0 !important; }
.vzf-bubble p, .vzf-how .vzf-bubble p, .vzf-bubble p b { color: #e9edef !important; }

/* aba "Atendimento WhatsApp" do rodapé */
.contact-dock__whatsapp { background: #0f2a1d !important; border: 1px solid rgba(37,211,102,.35) !important; }
.contact-dock__whatsapp .wa-text { color: #c8f7dc !important; }

/* banner de cookies */
#vz-cb { background: #0d1422 !important; border: 1px solid var(--vd-line2) !important; box-shadow: 0 20px 50px rgba(0,0,0,.6) !important; }
#vz-cb-txt { color: #b8c6de !important; }
#vz-btn-e { background: transparent !important; color: #e6eefc !important; border: 1px solid var(--vd-line2) !important; }

/*==============================================================
  Componentes próprios de páginas (estilos inline das páginas)
==============================================================*/
/* superfícies brancas -> cartão escuro */
.vz-ag-card, .vz-ag-steps li, .vz-ag-trust span, .vz-calc-box, .vz-seg-faq details, #more_doubts .vz-contact-item,
.gp-hero-card, .gp-toc, .gp-fig, .gp-type, .gp-chips li, .gp-seg, .gp-check, .gp-faq details, .vz-note, .vz-tint,
.depo-card, .plano-card, .preco-card, .card-hero, .square-icon, .avatar, .avatar-plus {
  background: var(--vd-card) !important; border-color: var(--vd-line) !important; box-shadow: var(--vz-shadow) !important;
}
.vz-ag-card { border-color: rgba(75,132,255,.28) !important; box-shadow: 0 30px 80px rgba(0,0,0,.6), 0 0 0 1px rgba(75,132,255,.12) !important; }
#more_doubts .vz-contact-item:hover { border-color: rgba(75,132,255,.5) !important; }

/* campos dentro de cartões */
.vz-ag-card .form-control, .vz-calc-money input, .vz-ag-card .vz-ag-chips label {
  background: #0a101c !important; border-color: var(--vd-line2) !important; color: var(--vd-text) !important;
}
.vz-ag-card label, .vz-calc-field label, .vz-ag-qual legend, .vz-ag-qual > summary, .vz-ag-qual > summary span { color: #dbe5f7 !important; }
.vz-ag-chips input:checked + label { background: #2563eb !important; border-color: #4b84ff !important; color: #fff !important; }
.vz-ag-qual { background: rgba(255,255,255,.02) !important; border-color: var(--vd-line2) !important; }
.vz-ag-wa { background: transparent !important; color: #4ade80 !important; border-color: #25d366 !important; }
.vz-ag-wa:hover, .vz-ag-wa:focus { background: #25d366 !important; color: #04130a !important; }
.vz-ag-wa:hover .fa, .vz-ag-wa:focus .fa { color: #04130a !important; }
.vz-ag-privacy a { color: #b8c6de !important; }
.vz-ag::before { background: radial-gradient(900px 420px at 70% 0%, rgba(47,107,255,.16), transparent 70%) !important; }
.vz-ag-list .fa-whatsapp, .btn-vz-wa { color: #4ade80 !important; }
.vz-calc-range output { background: rgba(75,132,255,.16) !important; color: #a9c4ff !important; }

/* guias: textos fixos em azul-escuro */
.gp-article, .gp-article p, .gp-article li, .gp-article td, .gp-item, .vz-guia-body, .vz-guia-body p, .vz-guia-body li { color: #b8c6de !important; }
.gp-abc div, .gp-tip, .gp-check-foot, .gp-table thead th { background: var(--vd-card2) !important; border-color: var(--vd-line) !important; }
.gp-tip > .fa { background: var(--vd-card) !important; }
.gp-toc a:hover { background: rgba(255,255,255,.04) !important; }
.gp-toc-cta, .gp-mini-cta, .gp-ai { background: linear-gradient(135deg, #0b1a33, #08283c) !important; border-color: rgba(75,132,255,.25) !important; }
.gp-btn-ghost { background: transparent !important; color: #e6eefc !important; border-color: var(--vd-line2) !important; }
.gp-box { background: #0a101c !important; border-color: #3a4a66 !important; }
.gp-item:hover { background: rgba(255,255,255,.03) !important; }
.gp-hero-card .gp-bar { background: rgba(255,255,255,.08) !important; }
.gp-table tr.gp-hl { background: rgba(75,132,255,.08) !important; }
.gp-table-wrap { border-color: var(--vd-line) !important; }
.gp-hero-card li.off .fa { color: #3a4a66 !important; }
/* diagramas SVG do guia: cores pensadas para fundo branco (texto x forma tratados separadamente) */
.gp-fig svg text[fill="#0b1f3a"] { fill: #eaf1ff; }
.gp-fig svg text[fill="#5b6b85"], .gp-fig svg text[fill="#6f87ab"] { fill: #9aabc7; }
.gp-fig svg text[fill="#b4232f"] { fill: #ff8f9b; }
.gp-fig svg rect[fill="#0b1f3a"] { fill: #2a3d5e; }
.gp-fig svg rect[fill="#fff"] { fill: #0d1422; }
.gp-fig svg rect[fill="#f5f8fd"] { fill: #111a2c; }
.gp-fig svg rect[fill="#fdecee"] { fill: #2a1219; }
.gp-fig svg line[stroke="#f3a3ad"] { stroke: #5a2330; }
.gp-fig svg [stroke="#0b1f3a"] { stroke: #9aabc7; }
.gp-fig svg g[stroke="#fff"] { stroke: #0d1422; }

/* tabela de modelos compatíveis (layout antigo) */
.erp-section.bg-light, .erp-section { background: transparent !important; }
.table-responsive { background: var(--vd-card) !important; }

/* widget de WhatsApp flutuante */
.whatswidget-conversation-message-outer { background: var(--vd-card) !important; }
.whatswidget-conversation-message, .whatswidget-conversation-message-outer * { color: var(--vd-text) !important; }

/* separadores e itens antigos de styles.css */
.toggle-slider { background: #1a2740 !important; }
.btn-cta { background: var(--vz-grad) !important; color: #fff !important; }
.dropdown > .dropdown-menu { background: var(--vd-card) !important; }
.card-hero__media { background: #0a1220 !important; }
.card-badge { background: rgba(13,20,34,.9) !important; color: var(--vd-text) !important; }

/* impressão (checklist do guia): volta para papel branco */
@media print {
  html, body { background: #fff !important; }
  body *, p, li, label, small, h1, h2, h3, td, th { color: #000 !important; }
  .gp-check, .gp-fig, .gp-type, .gp-faq details, .vz-card { background: #fff !important; box-shadow: none !important; }
}
