/* Topo e rodapé das páginas públicas (partials/header.php e footer.php).
   Vieram de site.css; a identidade é a da apresentação: topo marinho que
   fica sólido ao rolar, com a linha de progresso verde-azul. Carregue
   depois de base.css (e de site.css, enquanto a página ainda o usa). */

/* ---- topo ---- */
.topbar{background:var(--navy-900);position:sticky;top:0;z-index:30;
  transition:background .35s,box-shadow .35s;}
.topbar.solid{background:rgba(7,27,51,.9);box-shadow:0 1px 0 var(--line-dark);}
@supports (backdrop-filter:blur(1px)){
  .topbar.solid{backdrop-filter:blur(12px);}
}
.topbar-inner{position:relative;display:flex;align-items:center;justify-content:space-between;
  max-width:var(--wrap);margin:0 auto;padding:14px 24px;}
.topbar .brand-name{color:#fff;}
.topbar .progress{position:absolute;left:0;bottom:0;height:2px;width:100%;
  background:linear-gradient(90deg,var(--green),var(--blue));transform-origin:left;transform:scaleX(0);
  pointer-events:none;}
.mainnav{display:flex;align-items:center;gap:22px;}
.mainnav a{color:var(--muted-on-dark);font-size:14px;font-weight:500;transition:color .15s var(--ease-out);}
.mainnav a:hover{color:#fff;}
.mainnav .nav-cta{background:var(--green-dark);color:#fff;padding:9px 18px;border-radius:var(--r-pill);font-weight:700;}
.mainnav .nav-cta:hover{background:var(--green-darker);color:#fff;}

/* ---- menu móvel ---- */
.nav-toggle{
  display:none;
  position:relative;
  width:44px;height:44px;
  padding:0;margin:0;
  align-items:center;justify-content:center;
  background:transparent;border:1px solid transparent;border-radius:var(--r-sm);
  color:#fff;cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.nav-toggle:hover{background:rgba(255,255,255,.08);}
.nav-toggle:focus-visible{outline:2px solid var(--blue-lt);outline-offset:2px;}

.nav-toggle-icon{
  position:absolute;top:50%;left:50%;
  transform:translate(-50%,-50%);
  opacity:1;
  transition:opacity .18s var(--ease-out),transform .18s var(--ease-out);
}
.nav-toggle-icon--close{opacity:0;transform:translate(-50%,-50%) rotate(-45deg) scale(.7);}
.nav-toggle[aria-expanded="true"] .nav-toggle-icon--open{opacity:0;transform:translate(-50%,-50%) rotate(45deg) scale(.7);}
.nav-toggle[aria-expanded="true"] .nav-toggle-icon--close{opacity:1;transform:translate(-50%,-50%) rotate(0) scale(1);}

@media(max-width:860px){
  .nav-toggle{display:inline-flex;}

  .mainnav{
    position:absolute;
    top:100%;left:0;right:0;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    background:var(--navy-900);
    border-top:1px solid var(--line-dark);
    box-shadow:var(--shadow-lg);
    padding:6px 24px 22px;
    transform-origin:top center;
    transform:translateY(-6px) scaleY(.98);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .18s var(--ease-out),transform .2s var(--ease-out),visibility 0s linear .2s;
  }
  .mainnav.is-open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0) scaleY(1);
    transition:opacity .22s var(--ease-out),transform .24s var(--ease-out),visibility 0s linear 0s;
  }
  .mainnav a{
    display:flex;
    align-items:center;
    min-height:44px;
    padding:11px 4px;
    font-size:15px;
    border-bottom:1px solid var(--line-dark);
  }
  .mainnav a.nav-cta{
    justify-content:center;
    margin-top:12px;
    border-bottom:none;
  }
}

body.nav-open{overflow:hidden;}
@media(max-width:860px){
  body.nav-open{position:relative;}
  body.nav-open::before{
    content:"";
    position:fixed;
    inset:0;
    z-index:29;
    background:rgba(7,27,51,.6);
  }
}

/* ---- rodapé ---- */
.site-footer{background:var(--navy-900);color:var(--muted-on-dark);margin-top:40px;padding:56px 0 24px;}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:32px;}
.footer-grid h3{color:#fff;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin:0 0 14px;}
.footer-grid a{display:block;color:var(--muted-on-dark);font-size:14px;padding:4px 0;transition:color .15s var(--ease-out);}
.footer-grid a:hover{color:#fff;}
.footer-grid a:focus-visible{outline:2px solid var(--blue-lt);outline-offset:2px;border-radius:3px;}
.footer-tag{color:var(--muted-on-dark);font-size:14px;line-height:1.5;margin-top:12px;max-width:260px;}
.footer-pending{display:flex;align-items:flex-start;gap:8px;margin:16px 0 0;padding-top:14px;border-top:1px solid var(--line-dark);color:var(--muted-on-dark);font-size:12px;font-style:italic;line-height:1.5;}
.footer-pending-ic{flex:none;width:15px;height:15px;margin-top:1px;opacity:.85;}
.footer-legal{border-top:1px solid var(--line-dark);margin-top:36px;padding-top:18px;font-size:12.5px;color:var(--muted-on-dark);}

@media(max-width:760px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:480px){.footer-grid{grid-template-columns:1fr;gap:26px;}}

/* ---- menos movimento ----
   A regra global que desligava estas transições morava em site.css, que a
   home (a LP) não carrega mais. Fica aqui, para toda página com o topo. */
@media (prefers-reduced-motion:reduce){
  .topbar,.mainnav,.mainnav.is-open,.mainnav a,.nav-toggle-icon,.footer-grid a{transition:none;}
}
