/* IBNA — Cabeçalho (mu-plugin). GERADO de Header.astro (site novo): não editar à mão, regenerar com gerar_css.py. */
.ibna-header {
  --ibna-navy: #272D45;
  --ibna-navy-deep: #1F2438;
  --ibna-navy-soft: #31384F;
  --ibna-line: #3A4160;
  --ibna-gold: #DEC07D;
  --ibna-gold-200: #F0E2BC;
  --ibna-gold-300: #E7D3A0;
  --ibna-light: #EDEDED;
  --ibna-ink: #222222;
  --ibna-radius-card: 14px;
  --ibna-radius-btn: 8px;
  --ibna-pad-x: 52px;
  --ibna-header-h: 64px;
  font-family: Montserrat, system-ui, -apple-system, "Segoe UI", sans-serif;
  line-height: 1.4;
  -webkit-font-smoothing: antialiased;
  text-align: left;
}
@media (max-width: 900px) { .ibna-header { --ibna-pad-x: 40px; } }
@media (max-width: 600px) { .ibna-header { --ibna-pad-x: 22px; } }
.ibna-header, .ibna-header *, .ibna-header *::before, .ibna-header *::after { box-sizing: border-box; }
.ibna-header a { text-decoration: none; background: none; }
.ibna-header ul { list-style: none; margin: 0; padding: 0; }
.ibna-header li { margin: 0; }
.ibna-header img { max-width: none; border: 0; }
.ibna-header svg { max-width: none; }
.ibna-header :focus-visible { outline: 2px solid var(--ibna-gold); outline-offset: 2px; }

/* botão do site novo */
.ibna-header .ibna-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 48px; padding: 0 24px;
  border-radius: var(--ibna-radius-btn); font-size: 14.5px; font-weight: 500; line-height: 1.2;
  background: var(--ibna-navy); color: var(--ibna-light); border: 0; cursor: pointer;
}
.ibna-header .ibna-btn:hover { background: var(--ibna-navy-soft); color: var(--ibna-light); }
.ibna-header .ibna-btn--outline { background: rgba(222,192,125,.14); border: 1px solid var(--ibna-gold); color: var(--ibna-light); }
.ibna-header .ibna-btn--outline:hover { background: rgba(222,192,125,.26); color: var(--ibna-light); }
@media (max-width: 600px) { .ibna-header .ibna-btn { width: 100%; min-height: 52px; } }

/* blindagem contra o reset de botões do hello-elementor/Elementor (fundo/borda/cor no hover e no foco) */
.ibna-header button.ibna-nav__toggle,
.ibna-header button.ibna-mnav__toggle,
.ibna-header button.ibna-header__burger {
  background: none; box-shadow: none; text-transform: none; letter-spacing: normal; text-shadow: none;
}
.ibna-header button.ibna-nav__toggle:hover, .ibna-header button.ibna-nav__toggle:focus, .ibna-header button.ibna-nav__toggle:active,
.ibna-header button.ibna-mnav__toggle:hover, .ibna-header button.ibna-mnav__toggle:focus, .ibna-header button.ibna-mnav__toggle:active,
.ibna-header button.ibna-header__burger:hover, .ibna-header button.ibna-header__burger:focus, .ibna-header button.ibna-header__burger:active {
  background: none; box-shadow: none;
}
.ibna-header button.ibna-header__burger:hover, .ibna-header button.ibna-header__burger:focus { color: var(--ibna-header-fg); }
.ibna-header button.ibna-mnav__toggle:hover, .ibna-header button.ibna-mnav__toggle:focus { color: var(--ibna-light); }
.ibna-header button.ibna-nav__toggle:hover, .ibna-header button.ibna-nav__toggle:focus { color: var(--ibna-gold-200); }
.ibna-header button.ibna-nav__toggle--texto.is-ativo, .ibna-header button.ibna-mnav__toggle--texto.is-ativo { color: var(--ibna-gold-200); }

/* barra de administração do WordPress empurra o cabeçalho fixo */
body.admin-bar .ibna-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .ibna-header { top: 46px; } }

.ibna-header {
  --ibna-header-fg: var(--ibna-light);
    --ibna-header-fg-soft: rgba(237, 237, 237, 0.75);
    background: transparent;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 40;
    transition: background-color 0.2s ease, box-shadow 0.2s ease;
}
.ibna-header .ibna-header--sobre-claro:not(.is-scrolled) {
  --ibna-header-fg: var(--ibna-ink);
    --ibna-header-fg-soft: rgba(34, 34, 34, 0.75);
}
.ibna-header.is-scrolled {
  background: var(--ibna-navy);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12);
}
.ibna-header .ibna-header__bar {
  display: flex;
    align-items: center;
    gap: 32px;
    padding: 14px var(--ibna-pad-x);
    height: var(--ibna-header-h);
}
.ibna-header .ibna-header__brand {
  display: flex;
    align-items: center;
}
.ibna-header .ibna-header__logo {
  height: 34px;
    width: auto;
    display: block;
    transition: filter 0.2s ease;
}
.ibna-header .ibna-header--sobre-claro:not(.is-scrolled) .ibna-header__logo {
  filter: brightness(0);
}
.ibna-header .ibna-header__nav {
  align-self: stretch;
    display: flex;
    margin-left: 48px;
    margin-right: auto;
}
.ibna-header .ibna-nav,
.ibna-header .ibna-nav__sub,
.ibna-header .ibna-nav__sub ul {
  list-style: none;
    margin: 0;
    padding: 0;
}
.ibna-header .ibna-nav {
  display: flex;
    align-items: stretch;
    gap: 28px;
}
.ibna-header .ibna-nav__item {
  position: relative;
    display: flex;
    align-items: center;
    gap: 2px;
}
.ibna-header .ibna-nav__item > a {
  color: var(--ibna-header-fg);
    font-size: 14.5px;
    font-weight: 500;
    padding-bottom: 4px;
    border-bottom: 2px solid transparent;
}
.ibna-header .ibna-nav__item > a:hover {
  color: var(--ibna-gold-200);
}
.ibna-header .ibna-nav__item > a.is-ativo,
.ibna-header .ibna-nav__item > a[aria-current="page"] {
  color: var(--ibna-gold-200);
    border-bottom-color: var(--ibna-gold);
}
.ibna-header .ibna-nav__toggle {
  display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    padding: 0;
    margin-bottom: 2px;
    background: none;
    border: 0;
    border-radius: 6px;
    color: var(--ibna-header-fg);
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}
.ibna-header .ibna-nav__toggle--texto {
  width: auto;
    height: auto;
    gap: 6px;
    margin-bottom: 0;
    padding: 0 0 4px;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    font: inherit;
    font-size: 14.5px;
    font-weight: 500;
}
.ibna-header .ibna-nav__toggle--texto.is-ativo {
  color: var(--ibna-gold-200);
    border-bottom-color: var(--ibna-gold);
}
.ibna-header .ibna-nav__toggle svg {
  width: 12px;
    height: 12px;
    transition: transform 0.15s ease;
}
.ibna-header .ibna-nav__toggle:hover {
  color: var(--ibna-gold-200);
}
.ibna-header .ibna-nav__item.is-open > .ibna-nav__toggle svg {
  transform: rotate(180deg);
}
.ibna-header .ibna-nav__sub {
  display: none;
    position: absolute;
    top: 100%;
    left: -16px;
    min-width: 250px;
    max-width: 330px;
    padding: 10px 0;
    margin-top: 6px;
    background: var(--ibna-navy-deep);
    border: 1px solid var(--ibna-line);
    border-radius: var(--ibna-radius-card);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.28);
}
.ibna-header .ibna-nav__sub::before {
  content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: -16px;
    height: 16px;
}
.ibna-header .ibna-nav__item.is-open > .ibna-nav__sub {
  display: block;
}
.ibna-header .ibna-nav__sub a {
  display: block;
    padding: 9px 20px;
    color: var(--ibna-light);
    font-size: 14px;
    line-height: 1.35;
}
.ibna-header .ibna-nav__sub a:hover,
.ibna-header .ibna-nav__sub a[aria-current="page"] {
  color: var(--ibna-gold-200);
    background: rgba(255, 255, 255, 0.05);
}
.ibna-header .ibna-nav__grupo {
  padding: 6px 0 4px;
    margin-top: 4px;
    border-top: 1px solid var(--ibna-line);
}
.ibna-header .ibna-nav__rotulo {
  display: block;
    padding: 4px 20px 2px;
    color: var(--ibna-gold-300);
    font-size: 11.5px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}
.ibna-header .ibna-nav__grupo a {
  padding-left: 28px;
}
.ibna-header .ibna-header__actions {
  display: flex;
    align-items: center;
    gap: 6px;
    margin-left: auto;
    
    margin-right: -6px;
}
.ibna-header .ibna-header__actions a:not(.ibna-btn) {
  display: flex;
    padding: 6px;
    color: var(--ibna-header-fg-soft);
}
.ibna-header .ibna-header__actions a:not(.ibna-btn) svg {
  width: 17px;
    height: 17px;
    display: block;
}
.ibna-header .ibna-header__actions a:not(.ibna-btn):hover {
  color: var(--ibna-gold-200);
}
.ibna-header .ibna-header__burger,
.ibna-header .ibna-header__mobile {
  display: none;
}
@media (max-width: 900px) {
.ibna-header .ibna-header__bar {
  justify-content: space-between;
}
.ibna-header .ibna-header__nav,
.ibna-header .ibna-header__actions {
  display: none;
}
.ibna-header .ibna-header__burger {
  display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 5px;
      
      width: 44px;
      height: 44px;
      margin-right: -11px;
      padding: 0;
      background: none;
      border: 0;
      border-radius: var(--ibna-radius-btn);
      color: var(--ibna-header-fg);
      cursor: pointer;
}
.ibna-header .ibna-header__burger span {
  display: block;
      width: 22px;
      height: 2px;
      background: currentColor;
      border-radius: 2px;
      transition: transform 0.2s ease, opacity 0.2s ease;
}
.ibna-header.is-menu-open .ibna-header__burger span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}
.ibna-header.is-menu-open .ibna-header__burger span:nth-child(2) {
  opacity: 0;
}
.ibna-header.is-menu-open .ibna-header__burger span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}
.ibna-header .ibna-header__mobile {
  display: none;
      position: absolute;
      top: 100%;
      left: 0;
      right: 0;
      
      max-height: 100vh;
      max-height: 100dvh;
      overflow-y: auto;
      flex-direction: column;
      gap: 2px;
      padding: 8px var(--ibna-pad-x) 40px;
      background: var(--ibna-navy-deep);
}
.ibna-header .ibna-header__mobile a:not(.ibna-btn) {
  color: var(--ibna-light);
      padding: 12px 4px;
      min-height: 52px;
      display: flex;
      align-items: center;
      border-bottom: 1px solid var(--ibna-line);
      font-size: 15px;
}
.ibna-header .ibna-header__mobile .ibna-btn {
  margin-top: 12px;
}
.ibna-header .ibna-mnav__linha {
  display: flex;
      align-items: stretch;
      border-bottom: 1px solid var(--ibna-line);
}
.ibna-header .ibna-mnav__linha a {
  flex: 1;
      border-bottom: 0 !important;
}
.ibna-header .ibna-mnav__toggle {
  display: flex;
      align-items: center;
      justify-content: center;
      width: 52px;
      min-height: 52px;
      padding: 0;
      background: none;
      border: 0;
      color: var(--ibna-light);
      cursor: pointer;
      -webkit-tap-highlight-color: transparent;
}
.ibna-header .ibna-mnav__toggle--texto {
  flex: 1;
      width: auto;
      justify-content: space-between;
      padding: 12px 4px;
      font: inherit;
      font-size: 15px;
      text-align: left;
}
.ibna-header .ibna-mnav__toggle--texto.is-ativo {
  color: var(--ibna-gold-200);
}
.ibna-header .ibna-mnav__toggle svg {
  width: 14px;
      height: 14px;
      transition: transform 0.15s ease;
}
.ibna-header .ibna-mnav__toggle[aria-expanded="true"] svg {
  transform: rotate(180deg);
}
.ibna-header .ibna-mnav__sub {
  background: rgba(255, 255, 255, 0.04);
      border-bottom: 1px solid var(--ibna-line);
}
.ibna-header .ibna-mnav__sub[hidden] {
  display: none;
}
.ibna-header .ibna-mnav__sub a:not(.ibna-btn) {
  padding-left: 20px;
      border-bottom: 0;
      min-height: 48px;
      font-size: 14.5px;
}
.ibna-header .ibna-mnav__rotulo {
  display: block;
      padding: 12px 20px 2px;
      color: var(--ibna-gold-300);
      font-size: 11.5px;
      font-weight: 600;
      letter-spacing: 0.06em;
      text-transform: uppercase;
}
.ibna-header .ibna-mnav__grupo a:not(.ibna-btn) {
  padding-left: 32px;
}
.ibna-header .ibna-header__mobile a.is-ativo,
.ibna-header .ibna-header__mobile a[aria-current="page"] {
  color: var(--ibna-gold-200);
}
.ibna-header.is-menu-open .ibna-header__mobile {
  display: flex;
}
}
