/* 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%; }

@font-face { font-family:'Alright Sans'; src: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.otf') format('opentype'); font-weight:700; font-display:swap; }
@font-face { font-family:'Alright Sans'; src: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.ttf') format('truetype'); font-weight:700; font-display:swap; }

/* ===== 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; }
.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.nav-active { color:#178C4B; }
.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; }
.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 trevision-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; }
.trevision-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); }
.trevision-fab-orb { width:72px; height:72px; display:flex; align-items:center; justify-content:center; }
.trevision-fab-orb img.trevo-img { width:100%; height:100%; object-fit:contain; animation:trevision-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)); }
.trevision-fab:hover { transform:scale(1.08); }
.trevision-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; }
.trevision-fab:hover .trevision-fab-tip { opacity:1; transform:translateY(-50%) translateX(-4px); }
