.site-header {
    position: sticky; z-index: 100; top: 0; background: rgba(255,255,255,.97);
    border-bottom: 1px solid rgba(229,231,235,.8); backdrop-filter: blur(12px);
}
.site-header__inner { min-height: 82px; display: flex; align-items: center; gap: 36px; }
.brand { flex: 0 0 auto; }
.brand img { width: 108px; }
.primary-nav { display: flex; flex: 1; align-items: center; justify-content: flex-end; gap: 30px; }
.primary-nav__list { display: flex; align-items: center; gap: 28px; margin: 0; padding: 0; list-style: none; }
.primary-nav a, .submenu-toggle {
    border: 0; background: transparent; color: var(--color-heading);
    font-weight: 600; text-decoration: none; cursor: pointer;
}
.primary-nav__list > li > a, .submenu-toggle {
    display: inline-flex; align-items: center; min-height: 44px; gap: 6px;
}
.primary-nav__list > li > a:hover, .primary-nav__list > li > a:focus-visible,
.submenu-toggle:hover, .submenu-toggle:focus-visible, .primary-nav__list > li > a.is-active {
    color: var(--color-accent);
}
.has-submenu { position: relative; }
.submenu {
    position: absolute; top: calc(100% + 8px); left: 0; min-width: 330px;
    margin: 0; padding: 10px; list-style: none; background: #fff;
    border: 1px solid var(--color-border); border-radius: 10px; box-shadow: var(--shadow-card);
    opacity: 0; visibility: hidden; transform: translateY(8px); transition: 160ms ease;
}
.has-submenu:hover > .submenu, .has-submenu:focus-within > .submenu, .has-submenu.is-open > .submenu {
    opacity: 1; visibility: visible; transform: translateY(0);
}
.submenu a { display: block; padding: 11px 12px; border-radius: 7px; font-size: 14px; line-height: 1.35; }
.submenu a:hover, .submenu a:focus-visible { color: var(--color-accent); background: var(--color-surface); }
.menu-toggle {
    display: none; width: 44px; height: 44px; margin-left: auto; padding: 10px;
    border: 0; background: transparent; cursor: pointer;
}
.menu-toggle__line { display: block; width: 24px; height: 2px; margin: 5px auto; background: var(--color-heading); }


/* Item de navegação com link principal e controle separado do submenu. */
.nav-parent {
    display: inline-flex;
    align-items: center;
}

.nav-parent > a {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
}

.submenu-toggle--icon {
    width: 30px;
    min-height: 44px;
    justify-content: center;
    padding: 0 4px;
}

.primary-nav .button--header {
    display: inline-flex;
    color: #ffffff;
    background: var(--color-accent);
}
