/* chrome.css — menu + rodapé + botões flutuantes canônicos (FONTE ÚNICA do site).
   Auto-contido: fontes + estilos com cores literais. Editar aqui = muda em todas as páginas.
   Classes escopadas (.pj-nav / .pj-footer) pra não colidir com o CSS antigo das páginas. */

/* Corrige o defeito de tela encolher no mobile: corta qualquer overflow horizontal
   do site (sem quebrar o menu sticky — 'clip' não cria contexto de rolagem). */
html, body { overflow-x: clip; max-width: 100%; }
/* Reserva SEMPRE a barra de rolagem: sem isso, páginas curtas (sem barra) vs longas
   (com barra) deslocam o conteúdo centralizado ~15px → o menu "pula" ao trocar de página. */
html { overflow-y: scroll; scrollbar-gutter: stable; }
/* Pinta o fundo já no <html>: sem isso o navegador mostra um flash BRANCO ao trocar de
   página (ex.: Plante → Trevida) antes do body/hero pintarem. */
html { background: #fafaf6; }

@font-face { font-family:'Alright Sans'; src:url('/assets/fonts/AlrightSans-Regular-v3.woff2') format('woff2'), url('/assets/fonts/AlrightSans-Regular-v3.otf') format('opentype'); font-weight:400; font-display:swap; }
@font-face { font-family:'Alright Sans'; src:url('/assets/fonts/AlrightSans-Bold-v3.woff2') format('woff2'), url('/assets/fonts/AlrightSans-Bold-v3.otf') format('opentype'); font-weight:700; font-display:swap; }
@font-face { font-family:'Alright Sans'; src:url('/assets/fonts/AlrightSans-Black-v3.woff2') format('woff2'), url('/assets/fonts/AlrightSans-Black-v3.otf') format('opentype'); font-weight:900; font-display:swap; }
@font-face { font-family:'Decima'; src:url('/assets/fonts/decima-bold-webfont.woff2') format('woff2'), url('/assets/fonts/decima-bold-webfont.ttf') format('truetype'); font-weight:700; font-display:swap; }

/* ===== BLINDAGEM DOS COMPONENTES COMPARTILHADOS =====
   O CSS de artigo de várias páginas tem seletores genéricos (ul/ol/li/p/h*) que
   vazavam pro menu e rodapé e desalinhavam. Reset escopado: o nav e o rodapé
   ficam imunes ao CSS do corpo de qualquer página. NÃO afeta o conteúdo das páginas. */
.pj-nav ul, .pj-nav ol, .pj-nav li,
.pj-footer ul, .pj-footer ol, .pj-footer li { margin:0; padding:0; list-style:none; }
.pj-nav p, .pj-footer p { margin:0; }
.pj-nav li, .pj-footer li { line-height:1; }

/* ===== NAV ===== */
.pj-nav { position:sticky; top:0; background:rgba(255,255,255,.96); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); border-bottom:1px solid rgba(0,140,58,.1); z-index:100; padding:12px 0; }
.pj-nav .nav-inner { max-width:1240px; margin:0 auto; padding:0 24px; display:flex; justify-content:space-between; align-items:center; position:relative; }
.pj-nav .nav-logo { position:relative; display:inline-flex; align-items:flex-start; text-decoration:none; line-height:0; }
.pj-nav .nav-logo img { height:56px; width:auto; display:block; padding-bottom:4px; }
.pj-nav .nav-logo::after { content:"®"; font-family:'Alright Sans',sans-serif; font-weight:700; font-size:14px; line-height:1; color:#178C4B; margin-left:4px; margin-top:6px; }
.pj-nav .nav-links { display:flex; align-items:center; gap:36px; list-style:none; margin:0; padding:0; }
/* Blindagem: o CSS de artigo de algumas páginas tem 'ul li { margin/line-height }' genérico
   que vazava pros <li> do menu e deslocava os itens ~4px. Reset explícito e escopado. */
.pj-nav .nav-links li { margin:0; padding:0; line-height:1; list-style:none; display:inline-flex; align-items:center; }
.pj-nav .nav-links a { display:inline-flex; align-items:center; color:#4a5a4a; text-decoration:none; font-family:'Decima','Alright Sans',sans-serif; font-weight:700; font-size:13px; letter-spacing:2px; text-transform:uppercase; line-height:1; transition:color .2s; }
.pj-nav .nav-links a:hover, .pj-nav .nav-links a[aria-current="page"] { color:#178C4B; }
.pj-nav .nav-links a[aria-current="page"] { position:relative; }
.pj-nav .nav-links a[aria-current="page"]::after { content:""; position:absolute; left:0; right:0; bottom:-6px; height:2px; background:#C2D54E; border-radius:2px; }
.pj-nav .menu-toggle { display:none; flex-direction:column; justify-content:center; gap:5px; width:44px; height:44px; background:transparent; border:0; cursor:pointer; padding:10px; border-radius:10px; transition:background .2s; }
.pj-nav .menu-toggle:hover { background:rgba(23,140,75,.08); }
.pj-nav .menu-toggle span { display:block; width:22px; height:2.5px; background:#178C4B; border-radius:2px; transition:transform .3s, opacity .2s; }
.pj-nav .menu-toggle.is-open span:nth-child(1){ transform:translateY(7.5px) rotate(45deg); }
.pj-nav .menu-toggle.is-open span:nth-child(2){ opacity:0; }
.pj-nav .menu-toggle.is-open span:nth-child(3){ transform:translateY(-7.5px) rotate(-45deg); }

@media (max-width:860px){
  .pj-nav .menu-toggle { display:flex; }
  .pj-nav .nav-links { display:none; position:absolute; left:0; right:0; top:100%; flex-direction:column; align-items:stretch; gap:0; background:#fff; border-bottom:1px solid rgba(0,140,58,.12); padding:8px 0; box-shadow:0 12px 24px rgba(0,0,0,.08); }
  .pj-nav .nav-links.is-open { display:flex; }
  .pj-nav .nav-links li { width:100%; }
  .pj-nav .nav-links a { padding:14px 24px; }
  .pj-nav .nav-links a:hover { background:#ECF0DA; }
}

/* ===== FOOTER ===== */
.pj-footer { background:#0C6432; color:#EFE6D2; padding:70px 24px 30px; text-align:center; }
.pj-footer .footer-logo { max-width:300px; width:100%; height:auto; margin:0 auto 22px; display:block; }
.pj-footer .footer-info { font-size:14px; color:#EFE6D2; opacity:.85; margin-bottom:20px; line-height:1.9; }
.pj-footer .footer-links { display:flex; flex-wrap:wrap; gap:6px 8px; justify-content:center; align-items:center; font-size:13px; }
.pj-footer .footer-links a { color:#EFE6D2; text-decoration:none; opacity:.9; transition:color .2s,opacity .2s; }
.pj-footer .footer-links a:hover { color:#C2D54E; opacity:1; }
.pj-footer .footer-links-dot { opacity:.4; }
/* Cidades atendidas — link interno pras páginas locais (sem ele o Google as trata como
   órfãs). Deliberadamente menor/mais apagado que .footer-links: serve ao SEO local e a
   quem procura a cidade, sem competir com a navegação de verdade.
   NÃO escopar em .pj-footer: as 6 páginas de cidade usam <footer> pelado, sem essa
   classe — escopado, o link saía azul sublinhado lá (pego na prova visual). */
.footer-cidades { display:flex; flex-wrap:wrap; gap:5px 7px; justify-content:center; align-items:center; font-size:12px; margin-top:14px; opacity:.72; }
.footer-cidades a { color:#EFE6D2; text-decoration:none; transition:color .2s; }
.footer-cidades a:hover { color:#C2D54E; }
.footer-cidades-rot { opacity:.6; letter-spacing:.3px; }
/* Redes sociais — silhueta na COR DAS LETRAS (#EFE6D2), não na cor da marca de cada rede:
   logo colorido de terceiro no rodapé rouba a atenção do próprio conteúdo e destoa do
   verde. `fill:currentColor` faz o ícone herdar a cor do link, então hover/foco mudam
   junto com o resto do rodapé, de graça.
   NÃO escopar em .pj-footer — mesma pegadinha do .footer-cidades: as páginas de cidade
   usam <footer> pelado e escopado o ícone sairia azul-link lá.

   Layout: ícones à DIREITA, alinhados pela BASE da última linha do copyright.
   Por que absolute e não flex/space-between: o copyright é centralizado no rodapé
   inteiro e tem que continuar assim — space-between o jogaria pra esquerda. Com
   absolute o texto não sabe que os ícones existem e fica onde sempre esteve. */
.footer-base { position:relative; max-width:1120px; margin:0 auto; }
.footer-social { position:absolute; right:0; bottom:0; display:flex; gap:18px; align-items:center; }
.footer-social a { color:#EFE6D2; opacity:.85; display:inline-flex; text-decoration:none; transition:color .2s, opacity .2s, transform .2s; }
.footer-social a:hover, .footer-social a:focus-visible { color:#C2D54E; opacity:1; transform:translateY(-2px); }
.footer-social svg { width:18px; height:18px; fill:currentColor; display:block; }
/* Estreito: absolute encavalaria no texto. Volta pro fluxo, centralizado. */
@media (max-width:820px) {
  .footer-social { position:static; justify-content:center; margin-top:20px; }
}

.pj-footer .footer-divider { width:60px; height:2px; background:#C2D54E; margin:26px auto; border-radius:2px; }
.pj-footer .footer-copyright { font-family:'Decima',sans-serif; font-size:11px; color:#EFE6D2; opacity:.6; letter-spacing:1.5px; line-height:1.8; text-transform:uppercase; }

/* ===== BOTÕES FLUTUANTES ===== */
@keyframes whats-heartbeat{0%,100%{transform:scale(1);filter:drop-shadow(0 0 5px rgba(37,211,102,.4))}14%{transform:scale(1.06);filter:drop-shadow(0 0 18px rgba(37,211,102,.8))}28%{transform:scale(1.01)}42%{transform:scale(1.04)}60%{transform:scale(1)}}
@keyframes trevida-spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
.whats-fab { position:fixed; bottom:24px; left:24px; z-index:9997; width:72px; height:72px; background:transparent; display:flex; align-items:center; justify-content:center; text-decoration:none; animation:whats-heartbeat 2.4s ease-in-out infinite; }
.whats-fab:hover { animation:none; filter:drop-shadow(0 0 20px rgba(37,211,102,.95)); transform:scale(1.08); }
.whats-fab svg { width:56px; height:56px; flex-shrink:0; fill:#25D366; }
.trevida-fab { position:fixed; bottom:24px; right:24px; z-index:9998; cursor:pointer; text-decoration:none; display:block; transition:all .3s cubic-bezier(.34,1.56,.64,1); }
.trevida-fab-orb { width:72px; height:72px; display:flex; align-items:center; justify-content:center; }
.trevida-fab-orb img.trevo-img { width:100%; height:100%; object-fit:contain; animation:trevida-spin 22s linear infinite; filter:drop-shadow(0 6px 18px rgba(0,0,0,.35)) drop-shadow(0 0 18px rgba(166,115,242,.4)); }
.trevida-fab:hover { transform:scale(1.08); }
.trevida-fab-tip { position:absolute; right:78px; top:50%; transform:translateY(-50%); background:rgba(13,42,31,.96); color:#fff; font-size:13px; font-weight:600; padding:10px 14px; border-radius:12px; white-space:nowrap; opacity:0; pointer-events:none; transition:all .25s; }
.trevida-fab:hover .trevida-fab-tip { opacity:1; transform:translateY(-50%) translateX(-4px); }

/* Seletor de idioma injetado pelo plante-nav.js (antes só existia na home) */
/* Especificidade reforçada (.pj-nav .nav-links li.nav-lang a = 0,4,1) pra VENCER
   .pj-nav .nav-links a (font-size:13px). Sem isso o seletor de idioma ficava 13px
   nas estáticas e 12px na home → larguras diferentes → o menu deslocava ~15px. */
.pj-nav .nav-links li.nav-lang { display:flex; gap:2px; align-items:center; margin-left:6px; }
.pj-nav .nav-links li.nav-lang a { font-family:'Decima','Alright Sans',sans-serif; font-weight:700; font-size:12px; letter-spacing:1px; color:#7d8a76; padding:4px 7px; border-radius:8px; text-decoration:none; }
.pj-nav .nav-links li.nav-lang a::after { content:none; }
.pj-nav .nav-links li.nav-lang a:hover { color:#178C4B; background:rgba(23,140,75,.08); }
.pj-nav .nav-links li.nav-lang a.on { color:#178C4B; background:rgba(23,140,75,.12); }
