/* =========================================================
   HEADER — BOTÕES ALINHADOS E PADRONIZADOS
   ========================================================= */

body.scj-imported-page header .container,
body.scj-imported-page .site-header .container,
body.scj-imported-page .topbar .container{
  width:min(1100px, calc(100% - 32px)) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Linha principal dos botões do cabeçalho */
body.scj-imported-page header nav,
body.scj-imported-page header .nav,
body.scj-imported-page header .menu,
body.scj-imported-page header .header-actions,
body.scj-imported-page .site-header nav,
body.scj-imported-page .topbar nav{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:9px;
}

/* Links/botões principais */
body.scj-imported-page header nav a,
body.scj-imported-page header .nav a,
body.scj-imported-page header .menu a,
body.scj-imported-page header .header-actions a,
body.scj-imported-page .site-header nav a,
body.scj-imported-page .topbar nav a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:9px 15px;
  border:1px solid rgba(18,104,62,.22);
  border-radius:999px;
  color:#0c5d38;
  background:linear-gradient(180deg,#ffffff 0%,#f5faf7 100%);
  box-shadow:0 5px 14px rgba(0,0,0,.07);
  font-size:13px;
  font-weight:850;
  line-height:1;
  text-align:center;
  text-decoration:none;
  white-space:nowrap;
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    background .18s ease,
    color .18s ease,
    border-color .18s ease;
}

body.scj-imported-page header nav a:hover,
body.scj-imported-page header .nav a:hover,
body.scj-imported-page header .menu a:hover,
body.scj-imported-page header .header-actions a:hover,
body.scj-imported-page .site-header nav a:hover,
body.scj-imported-page .topbar nav a:hover{
  transform:translateY(-2px);
  border-color:rgba(18,104,62,.38);
  color:#08482c;
  background:#ffffff;
  box-shadow:0 8px 18px rgba(0,0,0,.11);
}

/* Mantém o botão Contato legível após a padronização dos botões. */
body.scj-imported-page header nav a.navCta,
body.scj-imported-page header nav a.navCta:hover{
  color:#fff !important;
  border-color:#173c66 !important;
  background:#173c66 !important;
  box-shadow:0 7px 18px rgba(23,60,102,.24) !important;
}

/* Estado de foco acessível */
body.scj-imported-page header nav a:focus-visible,
body.scj-imported-page header .nav a:focus-visible,
body.scj-imported-page header .menu a:focus-visible,
body.scj-imported-page header .header-actions a:focus-visible{
  outline:3px solid rgba(184,139,40,.28);
  outline-offset:2px;
}

/* Ícones dentro dos botões */
body.scj-imported-page header nav a i,
body.scj-imported-page header nav a svg,
body.scj-imported-page header .nav a i,
body.scj-imported-page header .nav a svg{
  flex:0 0 auto;
  margin-right:6px;
}

/* Botão de destaque, quando existir */
body.scj-imported-page header nav a.primary,
body.scj-imported-page header .nav a.primary,
body.scj-imported-page header .menu a.primary,
body.scj-imported-page header .header-actions a.primary{
  color:#fff;
  border-color:#0f6a40;
  background:linear-gradient(135deg,#198754,#0f6a40);
  box-shadow:0 7px 18px rgba(25,135,84,.24);
}

/* Redes sociais no cabeçalho */
body.scj-imported-page header .social,
body.scj-imported-page header .social-links,
body.scj-imported-page header .header-social,
body.scj-imported-page .topbar .social-links{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:8px;
}

body.scj-imported-page header .social a,
body.scj-imported-page header .social-links a,
body.scj-imported-page header .header-social a,
body.scj-imported-page .topbar .social-links a{
  width:40px;
  min-width:40px;
  height:40px;
  min-height:40px;
  padding:0;
  border-radius:50%;
}

/* Evita que a navegação fique espremida em uma borda */
body.scj-imported-page header nav,
body.scj-imported-page header .nav,
body.scj-imported-page header .menu{
  width:100%;
  margin-left:auto;
  margin-right:auto;
}

/* No cabeçalho nativo, preserva espaço equilibrado para marca e menu. */
body.scj-imported-page .header nav{
  width:auto;
  flex:0 1 auto;
}

body.scj-imported-page .header nav a{
  min-width:0;
  padding-left:12px;
  padding-right:12px;
  font-size:12px;
}

@media(max-width:1180px) and (min-width:901px){
  body.scj-imported-page .header{
    padding-left:18px;
    padding-right:18px;
  }

  body.scj-imported-page .header .brand{
    gap:8px;
  }

  body.scj-imported-page .header .brandLogo{
    width:42px;
    height:42px;
  }

  body.scj-imported-page .header .brand b{
    display:none;
  }

  body.scj-imported-page .header .brand small{
    max-width:155px;
    font-size:15px;
    line-height:1.05;
  }

  body.scj-imported-page .header nav{
    gap:5px;
  }

  body.scj-imported-page .header nav a{
    min-height:38px;
    padding:8px 9px;
    font-size:11px;
  }
}

/* Ajuste visual do logo/título com a navegação */
body.scj-imported-page header .brand,
body.scj-imported-page header .brand-row,
body.scj-imported-page header .header-brand{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  text-align:center;
}

/* Tablet */
@media(max-width:900px){
  body.scj-imported-page header nav,
  body.scj-imported-page header .nav,
  body.scj-imported-page header .menu,
  body.scj-imported-page header .header-actions{
    gap:8px;
  }

  body.scj-imported-page header nav a,
  body.scj-imported-page header .nav a,
  body.scj-imported-page header .menu a,
  body.scj-imported-page header .header-actions a{
    min-height:40px;
    padding:8px 13px;
    font-size:12px;
  }
}

/* Celular: botões organizados, sem encostar nas bordas */
@media(max-width:620px){
  body.scj-imported-page header .container,
  body.scj-imported-page .site-header .container,
  body.scj-imported-page .topbar .container{
    width:calc(100% - 24px) !important;
  }

  body.scj-imported-page header nav,
  body.scj-imported-page header .nav,
  body.scj-imported-page header .menu,
  body.scj-imported-page header .header-actions{
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:8px;
  }

  body.scj-imported-page header nav a,
  body.scj-imported-page header .nav a,
  body.scj-imported-page header .menu a,
  body.scj-imported-page header .header-actions a{
    width:100%;
    min-width:0;
    min-height:42px;
    padding:9px 8px;
    white-space:normal;
  }

  body.scj-imported-page header .social,
  body.scj-imported-page header .social-links,
  body.scj-imported-page header .header-social{
    display:flex;
  }
}

/* Menu responsivo do layout nativo do Santuário. */
.mobileMenuToggle{display:none}

@media(max-width:900px){
  body.scj-imported-page .header{
    position:sticky;
    top:0;
    z-index:9999;
    width:100%;
    height:76px;
    min-height:76px;
    padding:8px 16px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    overflow:visible;
  }

  body.admin-bar.scj-imported-page .header{top:46px}

  body.scj-imported-page .header .brand{
    min-width:0;
    max-width:calc(100% - 62px);
    display:flex;
    flex-direction:row;
    justify-content:flex-start;
    gap:9px;
    text-align:left;
  }

  body.scj-imported-page .header .brandLogo{
    width:50px;
    height:50px;
    flex:0 0 50px;
  }

  body.scj-imported-page .header .brand>span{min-width:0}

  body.scj-imported-page .header .brand b{
    margin:0 0 2px;
    font-size:9px;
    line-height:1.15;
    letter-spacing:.11em;
    white-space:nowrap;
  }

  body.scj-imported-page .header .brand small{
    display:block;
    max-width:230px;
    font-size:16px;
    line-height:1.05;
    white-space:normal;
  }

  body.scj-imported-page .mobileMenuToggle{
    flex:0 0 46px;
    width:46px;
    height:46px;
    padding:10px;
    border:1px solid rgba(23,60,102,.2);
    border-radius:12px;
    display:grid;
    align-content:center;
    gap:5px;
    background:#fff;
    color:#173c66;
    box-shadow:0 5px 14px rgba(0,0,0,.08);
    cursor:pointer;
  }

  body.scj-imported-page .mobileMenuToggle span{
    display:block;
    width:100%;
    height:2px;
    border-radius:2px;
    background:#173c66;
    transition:transform .2s ease,opacity .2s ease;
  }

  body.scj-imported-page .mobileMenuToggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  body.scj-imported-page .mobileMenuToggle.is-open span:nth-child(2){opacity:0}
  body.scj-imported-page .mobileMenuToggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

  body.scj-imported-page .header nav,
  body.scj-imported-page .header nav:not(.is-open){
    position:absolute;
    top:calc(100% + 8px);
    left:12px;
    right:12px;
    width:auto;
    margin:0;
    padding:12px;
    display:none;
    grid-template-columns:1fr;
    gap:8px;
    border:1px solid rgba(23,60,102,.14);
    border-radius:16px;
    background:#fff;
    box-shadow:0 18px 45px rgba(7,29,50,.22);
  }

  body.scj-imported-page .header nav.is-open{display:grid}

  body.scj-imported-page .header nav a,
  body.scj-imported-page .header nav a:not(.navCta){
    width:100%;
    min-width:0;
    min-height:46px;
    padding:12px 16px;
    display:flex;
    justify-content:flex-start;
    font-size:14px;
    white-space:normal;
  }

  body.scj-imported-page .header nav a.navCta{justify-content:center}
}

@media(max-width:380px){
  body.scj-imported-page .header .brand b{font-size:8px}
  body.scj-imported-page .header .brand small{font-size:14px}
  body.scj-imported-page .header .brandLogo{width:44px;height:44px;flex-basis:44px}
}
