/* ===========================================================================
   tema-claro-escuro.css — modo claro/escuro das páginas públicas
   renderizadas no servidor (SEO): /servicos, /servicos/<slug> e as
   institucionais (/contato, /politica-de-privacidade, /termos-de-uso,
   /trocas-e-devolucoes).

   COMO FUNCIONA
   1. O <html> (e o <body>) recebem a classe `dark` quando o visitante escolhe
      o modo escuro. A escolha vive em localStorage["tema"] e é aplicada por um
      script inline no <head> — ANTES da primeira pintura, para a página não
      nascer branca e "piscar" para o preto (o mesmo cuidado da bio Ultra).
      Por isso os seletores são `html.dark` E `body.dark`: o script do <head>
      roda quando o <body> ainda não existe e só consegue marcar o <html>.
   2. Toda cor passa a sair das variáveis abaixo. O claro usa os MESMOS valores
      que estas páginas já publicavam (--cinza-100, --cinza-200, --sombra…),
      então quem nunca clicar no botão continua vendo exatamente o site de
      antes. O escuro troca os valores sem tocar em nenhum conteúdo.
   3. O botão 🌙/☀️ (#btnTema) e o resto da interação ficam em
      /js/tema-claro-escuro.js.

   O QUE NÃO MUDA DE PROPÓSITO
   • O header (.topbar) e o rodapé (footer/.footer-app) são PRETOS nos dois
     modos (--header): a marca GRAN branco + TECH laranja precisa do fundo
     preto para funcionar também no claro.
   • O verde do WhatsApp (.btn-zap/.btn-zap-grande) e o laranja das faixas de
     destaque continuam sendo cores de MARCA: o tema não as repinta por cima.
     Só o verde de texto sobre eles é ajustado para continuar legível.
   =========================================================================== */

/* ---------------------------------------------------------------------------
   1. Variáveis do tema
   --------------------------------------------------------------------------- */
:root {
  /* Superfícies e texto */
  --bg: #f5f7fc;            /* fundo da página (o --cinza-100 de sempre) */
  --bg2: #ffffff;           /* faixas claras dentro da página */
  --text: #111111;          /* texto corrido */
  --muted: #6b7280;         /* legendas e textos de apoio (--cinza-500) */
  --card: #ffffff;          /* cartões, blocos e caixas */
  --cardBorder: #e6e9f2;    /* borda dos cartões (--cinza-200) */
  --superficie: #f3f4f6;    /* caixas internas (o antigo --azul-claro) */
  --titulo: #0f0f0f;        /* títulos dentro dos cartões */
  --header: #000000;        /* topbar e rodapé: preto nos DOIS modos */

  /* Marca */
  --accent: #FF6A00;        /* laranja GranTech */
  --accent-texto: #c2410c;  /* o mesmo laranja, escuro o bastante para TEXTO
                               sobre branco (o #FF6A00 puro dá 3,0:1 e reprova
                               em AA nos títulos pequenos) */
  --glow: 0 8px 28px rgba(20, 40, 150, 0.09);  /* = a --sombra que estas
                               páginas já usavam no modo claro */

  /* Hero (usado pela institucional no escuro) */
  --heroFrom: #000000;
  --heroTo: #fff7ed;
}

html.dark,
body.dark {
  --bg: #000000;            /* fundo preto puro, como na Home */
  --bg2: #0a0a0a;
  --text: #ffffff;
  --muted: #a1a1aa;
  --card: #111111;
  --cardBorder: rgba(255, 106, 0, 0.35);  /* a borda vira o próprio brilho */
  --superficie: #161616;
  --titulo: #ffffff;
  --header: #000000;        /* o header continua preto: é a marca */
  --accent: #FF6A00;
  --accent-texto: #ff8a3d;  /* no preto o laranja claro é que lê bem */
  --glow: 0 0 18px rgba(255, 106, 0, 0.25), 0 0 32px rgba(255, 106, 0, 0.12);
  --heroFrom: #000000;
  --heroTo: #2a1500;
}

/* ---------------------------------------------------------------------------
   2. Base — fundo e texto com transição suave entre os modos
   --------------------------------------------------------------------------- */
body {
  background: var(--bg);
  color: var(--text);
  transition: background .3s, color .3s;
}

/* Header e rodapé: preto nos dois modos (a marca GranTech depende disso).
   O rodapé perde o gradiente da cor primária da loja: no claro ele era
   preto-azulado e no escuro ficaria com a cor da marca no meio da página. */
body .topbar,
body .footer-app,
body footer {
  background: var(--header) !important;
  transition: background .3s, color .3s;
}

/* ---------------------------------------------------------------------------
   3. Botão do tema (#btnTema) — ao lado da busca, no header
   --------------------------------------------------------------------------- */
#btnTema,
.btn-tema {
  border: 1px solid rgba(255, 255, 255, .25);
  background: transparent;
  color: #fff;
  border-radius: 999px;
  padding: 6px 10px;
  /* 14px (e não 11px) porque o glifo do emoji já nasce pequeno dentro da
     própria caixa: a 11px o 🌙/☀️ ficava quase invisível no meio da pílula.
     O resto do estilo (borda, fundo, raio, padding) segue como pedido. */
  font-size: 14px;
  line-height: 1;
  cursor: pointer;
  flex-shrink: 0;
  /* O texto do botão é só o emoji: pedir a fonte de emoji primeiro garante o
     glifo COLORIDO do sistema (Android, iPhone, Windows) em vez do símbolo
     monocromático que a fonte de texto costuma ter para ☀. */
  font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", "Twemoji Mozilla", "EmojiOne Color", sans-serif;
}
#btnTema { min-width: 34px; text-align: center; }
/* No modo escuro o "TECH" ganha o brilho laranja da marca (o header já é o
   mesmo preto nos dois modos, então a diferença de leitura fica só aqui). */
html.dark .topbar .marca-texto .tech,
body.dark .topbar .marca-texto .tech,
html.dark footer .marca-texto .tech,
body.dark footer .marca-texto .tech,
html.dark footer strong .tech,
body.dark footer strong .tech { text-shadow: 0 0 12px rgba(255, 106, 0, .6); }

#btnTema:hover,
.btn-tema:hover { background: rgba(255, 255, 255, .18); }
#btnTema:focus-visible,
.btn-tema:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

/* ---------------------------------------------------------------------------
   4. Cartões e superfícies
   O seletor começa por `body` de propósito: o CSS destas páginas é escrito
   inline no <style> do próprio HTML (funções estilo()), que vem DEPOIS deste
   arquivo no <head>. A especificidade maior garante que o tema vença — sem
   precisar de !important em cada regra.
   --------------------------------------------------------------------------- */
body .bloco:not(.cta-final),
body .item-catalogo,
body .faq details,
body .subsecao,
body .relacionadas a,
body .busca-overlay-inner,
body .busca-input-wrap,
body .aside-institucional,
body .conteudo-institucional > article,
body .dados-empresa div,
body .cards-ajuda article,
body .atualizacao-politica span {
  background: var(--card);
  border-color: var(--cardBorder);
  color: var(--text);
  transition: background .3s, color .3s, border-color .3s, box-shadow .3s;
}

body .bloco:not(.cta-final),
body .aside-institucional,
body .conteudo-institucional > article { box-shadow: var(--glow); }

body .item-catalogo { border: 1px solid var(--cardBorder); }
body .item-figura,
body .mapa-endereco iframe { background: var(--superficie); }

body .item-catalogo:hover { border-color: var(--accent); }
body .subsecao,
body .relacionadas a,
body .btn-externo { background: var(--superficie); }

/* Texto e destaques dentro dos cartões.
   Os H2 (títulos de seção) saem no LARANJA da marca nos dois modos — no claro
   num tom mais fechado, que lê bem sobre branco; no escuro no laranja cheio.
   O H2 do bloco final (.cta-final) continua branco: lá o fundo JÁ é laranja. */
body .bloco h2,
body .conteudo-institucional h2,
body .aside-institucional h2 { color: var(--accent-texto); }

body .bloco h3,
body .conteudo-institucional h3,
body .dados-empresa dd { color: var(--titulo); }

body .faq summary,
body .relacionadas a,
body .aside-institucional a.ativo,
body .conteudo-institucional a { color: var(--accent-texto); }

body .item-ver { color: var(--accent-texto); }
body .item-sub,
body .trilha,
body .nota-rodape,
body .busca-resultados-info,
body .busca-resultados .vazio,
body .ficha div strong,
body .dados-empresa dt,
body .conteudo-institucional p,
body .conteudo-institucional li,
body .aside-institucional a { color: var(--muted); }

body .conteudo-institucional p,
body .conteudo-institucional li { color: var(--text); }

/* O bloco final é um gradiente de marca: continua igual nos dois modos, mas os
   rótulos (ENDEREÇO/HORÁRIO/WHATSAPP) ganham branco translúcido — o cinza
   fixo ficava ilegível sobre o laranja. */
body .cta-final .ficha div strong { color: rgba(255, 255, 255, .82); }
body .cta-final h2 { color: #fff; }

/* Marcador [PREENCHER: ...] — amarelo no claro, âmbar no escuro */
body .preencher { background: #fef3c7; color: #92400e; }
body.dark .preencher,
html.dark .preencher { background: #3a2d05; color: #fcd34d; }

/* ---------------------------------------------------------------------------
   5. Hero da institucional no escuro
   No claro ele é o gradiente preto da loja (não muda nada). No escuro, preto
   sobre preto sumiria: entra o gradiente --heroFrom → --heroTo do tema.
   --------------------------------------------------------------------------- */
html.dark .institucional-hero,
body.dark .institucional-hero {
  background: radial-gradient(120% 120% at 20% 0%, var(--heroTo) 0%, var(--heroFrom) 55%);
  border-bottom: 1px solid var(--cardBorder);
}

/* ---------------------------------------------------------------------------
   6. Overlay de busca (a lupa do header)
   --------------------------------------------------------------------------- */
body .busca-overlay-inner { background: var(--card); }
body .busca-input-wrap input { color: var(--text); }
body .busca-input-wrap input::placeholder { color: var(--muted); }
body .busca-clear { background: var(--superficie); color: var(--text); }
body .busca-resultados .item-catalogo { background: var(--card); }

/* ---------------------------------------------------------------------------
   7. Botões
   • .btn-claro (fundo branco) é o CTA de destaque DENTRO do hero colorido:
     segue branco nos dois modos — vira o contraste do laranja/preto do hero.
   • .btn-externo e .btn-outline são secundários: acompanham a superfície.
   --------------------------------------------------------------------------- */
body .btn-externo,
body .btn-outline {
  background: var(--superficie);
  color: var(--titulo);
  border-color: var(--cardBorder);
}
body .btn-externo:hover,
body .btn-outline:hover { border-color: var(--accent); }

body .btn-primary,
body .btn-outline { transition: background .3s, color .3s, border-color .3s, box-shadow .3s; }

/* ---------------------------------------------------------------------------
   8. Detalhes do escuro: barra de rolagem e seleção de texto
   --------------------------------------------------------------------------- */
html.dark ::-webkit-scrollbar-thumb,
body.dark ::-webkit-scrollbar-thumb { background: #3f3f46; }
html.dark ::selection,
body.dark ::selection { background: rgba(255, 106, 0, .35); color: #fff; }
