/* ==========================================================================
   FÁBRICA.vc — Tema claro/escuro (site inteiro, inversão de superfícies)
   Carregar por último. Ativado com html[data-theme="dark"].
   ========================================================================== */

html[data-theme="light"] {
    color-scheme: light;
}

html[data-theme="dark"] {
    color-scheme: dark;

    --bg: #0e1210;
    --paper: #1a221d;
    --graphite: #e8ebe4;
    --muted: #96a093;
    --line: rgba(232, 235, 228, 0.14);
    --soft: #151c18;
    --green-accent: #5ec992;
    --emerald: #4db882;

    /* Faixas que eram verde-escuro viram claras */
    --band-bg: #e2ebd9;
    --band-fg: #0b251a;
    --band-muted: rgba(11, 37, 26, 0.65);
    --band-subtle: rgba(11, 37, 26, 0.45);
    --band-surface: rgba(11, 37, 26, 0.06);
    --band-border: rgba(11, 37, 26, 0.12);

    --heading: #e8ebe4;
    --nav-bg: rgba(18, 24, 21, 0.78);
    --nav-border: rgba(255, 255, 255, 0.12);
    --nav-fg: #e8ebe4;
    --nav-muted: rgba(232, 235, 228, 0.72);
    --nav-on-band-bg: rgba(255, 255, 255, 0.92);
    --nav-on-band-border: rgba(11, 37, 26, 0.1);
    --nav-on-band-fg: #0b251a;
}

/* —— Header (modo escuro global) —— */
html[data-theme="dark"] .site-page .nav,
html[data-theme="dark"] .home-page .nav {
    background: var(--nav-bg);
    border-color: var(--nav-border);
}

html[data-theme="dark"] .site-page .brand,
html[data-theme="dark"] .home-page .brand,
html[data-theme="dark"] .site-page nav.links a,
html[data-theme="dark"] .home-page nav.links a {
    color: var(--nav-muted);
}

html[data-theme="dark"] .site-page nav.links a:hover,
html[data-theme="dark"] .home-page nav.links a:hover {
    color: var(--nav-fg);
}

html[data-theme="dark"] .site-page .btn-ghost,
html[data-theme="dark"] .home-page .btn-ghost {
    color: var(--nav-fg);
    border-color: rgba(232, 235, 228, 0.28);
}

html[data-theme="dark"] .site-page .btn-primary,
html[data-theme="dark"] .home-page .btn-primary {
    background: #e8ebe4;
    color: #0b251a;
}

html[data-theme="dark"] .site-page .hamburger span,
html[data-theme="dark"] .home-page .hamburger span {
    background: var(--nav-fg);
}

html[data-theme="dark"] .site-page .mobile-menu,
html[data-theme="dark"] .home-page .mobile-menu {
    background: rgba(22, 28, 25, 0.95);
    border-color: rgba(255, 255, 255, 0.12);
}

html[data-theme="dark"] .site-page .mobile-menu a,
html[data-theme="dark"] .site-page .mobile-menu button,
html[data-theme="dark"] .home-page .mobile-menu a,
html[data-theme="dark"] .home-page .mobile-menu button {
    color: var(--nav-fg);
    border-bottom-color: var(--line);
}

/* Header sobre faixa invertida (clara no modo escuro) */
html[data-theme="dark"] header.site-header.nav-over-dark .nav {
    background: var(--nav-on-band-bg);
    border-color: var(--nav-on-band-border);
}

html[data-theme="dark"] header.site-header.nav-over-dark .brand,
html[data-theme="dark"] header.site-header.nav-over-dark nav.links a {
    color: rgba(11, 37, 26, 0.72);
}

html[data-theme="dark"] header.site-header.nav-over-dark nav.links a:hover {
    color: var(--nav-on-band-fg);
}

html[data-theme="dark"] header.site-header.nav-over-dark .btn-ghost {
    color: var(--nav-on-band-fg);
    border-color: rgba(11, 37, 26, 0.22);
}

html[data-theme="dark"] header.site-header.nav-over-dark .btn-primary {
    background: var(--nav-on-band-fg);
    color: #fff;
}

html[data-theme="dark"] header.site-header.nav-over-dark .hamburger span {
    background: var(--nav-on-band-fg);
}

html[data-theme="dark"] header.site-header.nav-over-dark .nav-divider {
    background: rgba(11, 37, 26, 0.16);
}

html[data-theme="dark"] header.site-header.nav-over-dark .theme-switch__track {
    background: linear-gradient(180deg, rgba(11, 37, 26, 0.08) 0%, rgba(11, 37, 26, 0.04) 100%);
    border-color: rgba(11, 37, 26, 0.14);
}

/* —— Faixas de contraste (band-dark / section--dark) —— */
html[data-theme="dark"] .home-page .band-dark,
html[data-theme="dark"] .site-page main .section--dark {
    background: var(--band-bg);
    color: var(--band-fg);
}

html[data-theme="dark"] .home-page .band-dark .sec-head h2,
html[data-theme="dark"] .home-page .band-dark h3,
html[data-theme="dark"] .site-page main .section--dark .section-head h2,
html[data-theme="dark"] .site-page main .section--dark h3 {
    color: var(--band-fg);
}

html[data-theme="dark"] .home-page .band-dark .label,
html[data-theme="dark"] .site-page main .section--dark .eyebrow {
    color: var(--green-accent);
}

html[data-theme="dark"] .home-page .infra-item .ico {
    background: var(--band-surface);
    border-color: var(--band-border);
    color: var(--green-accent);
}

html[data-theme="dark"] .home-page .infra-item p,
html[data-theme="dark"] .site-page main .section--dark p {
    color: var(--band-muted);
}

html[data-theme="dark"] .site-page main .module-card {
    background: var(--band-surface);
    border-color: var(--band-border);
}

html[data-theme="dark"] .site-page main .module-card:hover {
    background: rgba(11, 37, 26, 0.09);
    border-color: rgba(11, 37, 26, 0.18);
}

html[data-theme="dark"] .site-page main .screen-card,
html[data-theme="dark"] .site-page main .screen-top,
html[data-theme="dark"] .site-page main .screen-list li {
    background: var(--band-surface);
    border-color: var(--band-border);
    color: var(--band-fg);
}

html[data-theme="dark"] .site-page main .screen-list li em {
    color: var(--green-accent);
}

/* —— Home: tipografia e blocos claros —— */
html[data-theme="dark"] .home-page .hero h1,
html[data-theme="dark"] .home-page section.block h2,
html[data-theme="dark"] .home-page .flow-node h3,
html[data-theme="dark"] .home-page .mod h3,
html[data-theme="dark"] .home-page .step-it h3,
html[data-theme="dark"] .home-page summary,
html[data-theme="dark"] .home-page .sec-head h2 {
    color: var(--heading);
}

html[data-theme="dark"] .home-page .hero h1 .accent {
    color: var(--emerald);
}

html[data-theme="dark"] .home-page .trust {
    border-top-color: var(--line);
}

html[data-theme="dark"] .home-page .trust .n {
    color: var(--heading);
}

html[data-theme="dark"] .home-page .trust .l {
    color: var(--muted);
}

html[data-theme="dark"] .home-page .label {
    color: var(--green-accent);
}

html[data-theme="dark"] .home-page .logos {
    background: var(--paper);
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
}

html[data-theme="dark"] .home-page .logos img {
    opacity: 0.75;
    filter: grayscale(1) brightness(1.35);
}

html[data-theme="dark"] .home-page .logos img:hover {
    opacity: 1;
    filter: grayscale(0) brightness(1.1);
}

/* Cards e fluxos com inversão */
html[data-theme="dark"] .home-page .flow-split,
html[data-theme="dark"] .home-page .cmp-nat,
html[data-theme="dark"] .home-page .pay-in {
    background: var(--band-bg);
    color: var(--band-fg);
    border-color: var(--green-accent);
}

html[data-theme="dark"] .home-page .flow-split h3,
html[data-theme="dark"] .home-page .cmp-nat h3 {
    color: var(--band-fg);
}

html[data-theme="dark"] .home-page .flow-split p,
html[data-theme="dark"] .home-page .pay-in .lbl,
html[data-theme="dark"] .home-page .cmp-nat li {
    color: var(--band-muted);
}

html[data-theme="dark"] .home-page .cmp-nat li {
    border-bottom-color: var(--band-border);
}

html[data-theme="dark"] .home-page .card .split-row {
    background: var(--paper);
}

html[data-theme="dark"] .home-page .card {
    box-shadow: 0 20px 60px -20px rgba(0, 0, 0, 0.45);
}

/* Hero escuro legado — no modo site escuro, hero segue o fundo da página */
html[data-theme="dark"] .home-page .hero.dark,
html[data-theme="dark"] .site-page main .hero.dark {
    background: transparent;
    color: inherit;
    border-radius: 0;
    margin-top: 0;
}

html[data-theme="dark"] .home-page .hero.dark h1,
html[data-theme="dark"] .site-page main .hero.dark h1 {
    color: var(--heading);
}

html[data-theme="dark"] .home-page .hero.dark .lead,
html[data-theme="dark"] .site-page main .hero.dark .lead {
    color: var(--muted);
}

html[data-theme="dark"] .home-page .hero.dark .proof-card,
html[data-theme="dark"] .home-page .hero.dark .status-card,
html[data-theme="dark"] .site-page main .hero.dark .proof-card,
html[data-theme="dark"] .site-page main .hero.dark .status-card {
    background: var(--paper);
    border-color: var(--line);
}

html[data-theme="dark"] .home-page .hero.dark .proof-list li,
html[data-theme="dark"] .home-page .hero.dark .status-list li,
html[data-theme="dark"] .site-page main .hero.dark .proof-list li,
html[data-theme="dark"] .site-page main .hero.dark .status-list li {
    background: var(--soft);
    border-color: var(--line);
    color: var(--muted);
}

/* Páginas comerciais */
html[data-theme="dark"] .site-page main h1 {
    color: var(--heading);
}

html[data-theme="dark"] .site-page main .proof-card,
html[data-theme="dark"] .site-page main .status-card,
html[data-theme="dark"] .site-page main .card,
html[data-theme="dark"] .site-page main .screen-card {
    box-shadow: 0 18px 50px rgba(0, 0, 0, 0.35);
}

html[data-theme="dark"] .site-page main .section--soft {
    background: var(--soft);
    border-top-color: var(--line);
}

/* Footer */
html[data-theme="dark"] .site-page footer.site-footer,
html[data-theme="dark"] .home-page footer.site-footer {
    border-top-color: var(--line);
}

html[data-theme="dark"] .site-page .foot-grid h4,
html[data-theme="dark"] .home-page .foot-grid h4 {
    color: var(--muted);
}

html[data-theme="dark"] .site-page .foot-grid a,
html[data-theme="dark"] .site-page .foot-grid button.foot-link,
html[data-theme="dark"] .home-page .foot-grid a,
html[data-theme="dark"] .home-page .foot-grid button.foot-link {
    color: var(--graphite);
}

html[data-theme="dark"] .site-page .foot-bottom,
html[data-theme="dark"] .home-page .foot-bottom {
    color: var(--muted);
    border-top-color: var(--line);
}

/* Modal */
html[data-theme="dark"] .modal-dialog {
    background: var(--paper);
    color: var(--graphite);
}

html[data-theme="dark"] .modal-dialog__header {
    border-bottom-color: var(--line);
}

html[data-theme="dark"] .modal-dialog__title {
    color: var(--heading);
}

html[data-theme="dark"] .modal-dialog__close {
    color: var(--muted);
}

html[data-theme="dark"] .modal-dialog__footer {
    border-top-color: var(--line);
    background: var(--soft);
}

/* Terminal audit-log — mesma estrutura; cores invertem no modo escuro do site */
html[data-theme="dark"] .home-page .audit {
    background: #e8ede4;
    border-color: rgba(11, 37, 26, 0.14);
}

html[data-theme="dark"] .home-page .audit-bar {
    background: rgba(11, 37, 26, 0.05);
    border-bottom-color: rgba(11, 37, 26, 0.1);
}

html[data-theme="dark"] .home-page .audit-bar .dot {
    opacity: 1;
    flex-shrink: 0;
}

html[data-theme="dark"] .home-page .audit-bar .title {
    color: rgba(11, 37, 26, 0.75);
}

html[data-theme="dark"] .home-page .audit-bar .imm {
    color: #1e5e43;
    border-color: rgba(30, 94, 67, 0.35);
}

html[data-theme="dark"] .home-page .audit-row {
    border-bottom-color: rgba(11, 37, 26, 0.08);
}

html[data-theme="dark"] .home-page .audit-head {
    color: rgba(11, 37, 26, 0.45);
}

html[data-theme="dark"] .home-page .audit-row .t {
    color: rgba(11, 37, 26, 0.45);
}

html[data-theme="dark"] .home-page .audit-row .ev {
    color: #0b251a;
}

html[data-theme="dark"] .home-page .audit-row .ev .tag {
    color: #1e5e43;
}

html[data-theme="dark"] .home-page .audit-row .ac {
    color: rgba(11, 37, 26, 0.6);
}

html[data-theme="dark"] .home-page .audit-row .hash {
    color: rgba(11, 37, 26, 0.4);
}

html[data-theme="dark"] .home-page .audit-row .st {
    color: #1e5e43;
}

/* Transição suave ao trocar tema */
html[data-theme] .site-page,
html[data-theme] .home-page,
html[data-theme] .site-page .nav,
html[data-theme] .home-page .nav,
html[data-theme] .home-page .band-dark,
html[data-theme] .site-page main .section--dark,
html[data-theme] .home-page .card,
html[data-theme] .home-page .audit,
html[data-theme] .site-page main .proof-card {
    transition:
        background-color 0.35s ease,
        color 0.35s ease,
        border-color 0.35s ease,
        box-shadow 0.35s ease;
}
