/* ==========================================================================
   ABRAFREC – header e footer (copiados da home) escopados em #navbar e
   #abrafrec-footer para não interferir no CSS do Kadence/WordPress.
   Origem: index.html da home. Se mudar o header/footer lá, espelhe aqui.
   ========================================================================== */

#navbar, #abrafrec-footer{
  --blue:#2A8BB5; --blue-dark:#1A6A8E; --navy:#0B2436;
  --paper:#F5F8FA; --white:#FFFFFF; --line:#DCE6EC;
  --line-dark:rgba(255,255,255,.14); --ink-soft:#516272;
  --maxw:1180px;
  font-family:'Inter',sans-serif;
  font-size:16px; line-height:normal;
  -webkit-font-smoothing:antialiased;
}
/* reset local (especificidade zero, não briga com as regras abaixo) */
:where(#navbar, #navbar *, #abrafrec-footer, #abrafrec-footer *){ margin:0; padding:0; box-sizing:border-box; }
#navbar img, #abrafrec-footer img{ display:block; max-width:100%; }
#navbar a, #abrafrec-footer a{ text-decoration:none; }
#navbar ul{ list-style:none; }

/* espaço para o menu fixo não cobrir o conteúdo */
.abrafrec-nav-spacer{ height:70px; }
body.admin-bar #navbar{ top:32px; }
@media (max-width:782px){ body.admin-bar #navbar{ top:46px; } }

/* ── NAV ── */
#navbar{
  position:fixed; top:0; left:0; right:0; z-index:1000;
  height:80px; display:flex; align-items:center;
  background:transparent; border-bottom:1px solid transparent;
  transition:background .25s ease, border-color .25s ease, box-shadow .25s ease, height .25s ease;
}
#navbar .nav-inner{
  width:100%; max-width:var(--maxw); margin:0 auto; padding:0 32px;
  display:flex; align-items:center; justify-content:space-between;
}
#navbar.scrolled{
  height:70px; background:rgba(255,255,255,.63); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px);
  border-bottom-color:var(--line); box-shadow:0 4px 18px rgba(11,36,54,.06);
}
#navbar .nav-logo{ display:flex; align-items:center; flex:none; }
#navbar .nav-logo img{ height:54px; width:auto; }
#navbar .nav-links{ display:flex; align-items:center; gap:2px; list-style:none; margin-left:auto; margin-right:24px; }
#navbar .nav-links > li{ position:relative; }
#navbar .nav-links > li > a{ display:flex; align-items:center; gap:6px; font-size:.83rem; font-weight:500; color:rgba(255,255,255,.92); padding:9px 12px; border-radius:6px; transition:.15s; white-space:nowrap; }
#navbar.scrolled .nav-links > li > a{ color:var(--ink-soft); }
#navbar .nav-links > li > a:hover{ color:var(--white); background:rgba(255,255,255,.1); }
#navbar.scrolled .nav-links > li > a:hover{ color:var(--blue-dark); background:var(--paper); }
#navbar .nav-dropdown > a::after{ content:""; width:6px; height:6px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg) translateY(-2px); transition:transform .15s ease; }
#navbar .nav-dropdown:hover > a::after{ transform:rotate(225deg) translateY(-1px); }
#navbar .nav-dropdown-menu{ position:absolute; top:calc(100% + 8px); left:0; min-width:224px; padding:6px; background:var(--white); border:1px solid var(--line); border-radius:8px; box-shadow:0 16px 36px rgba(11,36,54,.14); opacity:0; visibility:hidden; transform:translateY(-5px); transition:.16s ease; }
#navbar .nav-dropdown:hover .nav-dropdown-menu{ opacity:1; visibility:visible; transform:translateY(0); }
#navbar .nav-dropdown-menu a{ display:block; padding:10px 12px; border-radius:5px; font-size:.8rem; font-weight:500; color:var(--ink-soft); white-space:nowrap; transition:.15s; }
#navbar .nav-dropdown-menu a:hover{ color:var(--blue-dark); background:var(--paper); }
#navbar .nav-cta{ display:flex; align-items:center; gap:14px; flex:none; }
#navbar .nav-cta .btn-associe{ display:inline-flex; align-items:center; justify-content:center; padding:10px 18px; border-radius:5px; background:var(--blue); color:var(--white); font-size:.8rem; font-weight:600; white-space:nowrap; transition:.15s; }
#navbar .nav-cta .btn-associe:hover{ background:var(--blue-dark); transform:translateY(-1px); }
#navbar .hamburger{ display:none; flex-direction:column; gap:5px; cursor:pointer; padding:8px; margin-left:8px; }
#navbar .hamburger span{ display:block; width:23px; height:2px; background:var(--white); border-radius:2px; transition:background .25s ease; }
#navbar.scrolled .hamburger span{ background:var(--navy); }
@media (max-width:1100px){
  #navbar .nav-inner{ padding:0 24px; }
  #navbar .nav-links{ margin-right:12px; }
  #navbar .nav-links > li > a{ padding-left:8px; padding-right:8px; font-size:.78rem; }
}
@media (max-width:960px){
  #navbar{ height:68px; }
  #navbar .nav-links{ position:fixed; top:0; left:0; right:0; background:var(--white); flex-direction:column; align-items:stretch; padding:10px 12px 14px; border-bottom:1px solid var(--line); box-shadow:0 15px 25px rgba(11,36,54,.1); transform:translateY(-120%); transition:transform .25s ease; max-height:calc(100vh - 68px); overflow-y:auto; margin-right:0; }
  #navbar .nav-links.open{ transform:translateY(0); }
  #navbar .nav-links > li{ width:100%; }
  #navbar .nav-links > li > a{ width:100%; justify-content:space-between; padding:14px 12px; font-size:.9rem; color:var(--ink-soft); }
  #navbar .nav-dropdown-menu{ position:static; min-width:0; padding:0 0 5px 12px; border:0; box-shadow:none; opacity:1; visibility:visible; transform:none; display:none; }
  #navbar .nav-dropdown:hover .nav-dropdown-menu{ display:block; }
  #navbar .hamburger{ display:flex; }
  #navbar .nav-cta .btn-associe{ display:none; }
}

/* ── FOOTER ── */
#abrafrec-footer{ background:var(--navy); color:rgba(255,255,255,.7); padding-top:76px; }
#abrafrec-footer .container{ max-width:var(--maxw); margin:0 auto; padding:0 32px; }
#abrafrec-footer .foot-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; padding-bottom:48px; border-bottom:1px solid var(--line-dark); }
#abrafrec-footer .foot-logo img{ width:178px; height:auto; display:block; filter:brightness(0) invert(1); }
#abrafrec-footer .foot-grid p{ margin-top:16px; font-size:.87rem; line-height:1.65; max-width:310px; color:rgba(255,255,255,.5); }
#abrafrec-footer .foot-col h4{ font-family:'Inter',sans-serif; font-size:.82rem; font-weight:600; line-height:normal; color:rgba(255,255,255,.85); margin-bottom:18px; }
#abrafrec-footer .foot-col ul{ list-style:none; display:flex; flex-direction:column; gap:11px; }
#abrafrec-footer .foot-col a{ font-size:.88rem; color:rgba(255,255,255,.58); }
#abrafrec-footer .foot-col a:hover{ color:var(--white); }
#abrafrec-footer .foot-bottom{ display:flex; justify-content:space-between; padding:22px 0; font-size:.8rem; color:rgba(255,255,255,.38); flex-wrap:wrap; gap:10px; }
#abrafrec-footer .foot-credit{ font-size:11px; color:#92929259; letter-spacing:.03em; }
#abrafrec-footer .foot-credit a{ color:#92929259; transition:color .2s; }
#abrafrec-footer .foot-credit a:hover{ color:rgba(255,255,255,.55); }
@media (max-width:760px){ #abrafrec-footer .foot-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:500px){ #abrafrec-footer .foot-grid{ grid-template-columns:1fr; } }

/* ── Ajustes para block theme ── */
/* sem faixa branca entre o conteúdo e o footer, nem margem extra no header */
.wp-site-blocks > footer.wp-block-template-part,
.wp-site-blocks > header.wp-block-template-part{ margin-block-start:0; margin-block-end:0; }
header.wp-block-template-part{ padding:0; }
