.site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    min-height: var(--header-height);
    background: rgb(255 255 255 / 96%);
    border-bottom: 1px solid var(--color-border);
    backdrop-filter: blur(0.75rem);
}

.site-header__content {
    min-height: var(--header-height);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
}

.site-header__brand {
    flex: 0 0 auto;
}

.site-header__logo {
    width: 10rem;
    height: auto;
}

.site-header__navigation {
    display: flex;
    align-items: center;
    gap: var(--space-4);
}

.primary-navigation {
    display: flex;
    align-items: center;
    gap: var(--space-3);
}

.primary-navigation__link {
    position: relative;
    padding-block: 0.75rem;
    color: var(--color-navy);
    font-size: 0.9375rem;
    font-weight: 650;
}

.primary-navigation__link::after {
    position: absolute;
    right: 0;
    bottom: 0.35rem;
    left: 0;
    height: 0.125rem;
    background: var(--color-cyan);
    content: "";
    opacity: 0;
    transform: scaleX(0);
    transition:
        opacity 180ms ease,
        transform 180ms ease;
}

.primary-navigation__link:hover::after,
.primary-navigation__link:focus-visible::after,
.primary-navigation__link--active::after {
    opacity: 1;
    transform: scaleX(1);
}

.primary-navigation__link--active {
    color: var(--color-cyan);
}

.site-header__actions {
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

.language-selector select {
    min-height: 2.75rem;
    padding: 0 2.25rem 0 0.875rem;
    background: var(--color-white);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-small);
    color: var(--color-navy);
    cursor: pointer;
}

.button--header {
    min-height: 2.75rem;
    background: var(--color-orange);
    color: var(--color-white);
}

.button--header:hover,
.button--header:focus-visible {
    filter: brightness(0.92);
}

.menu-toggle {
    display: none;
    width: 2.75rem;
    height: 2.75rem;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 0.3rem;
    padding: 0;
    background: transparent;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-small);
    cursor: pointer;
}

.menu-toggle__line {
    width: 1.25rem;
    height: 0.125rem;
    background: var(--color-navy);
    transition:
        transform 180ms ease,
        opacity 180ms ease;
}

.site-header.is-menu-open .menu-toggle__line:nth-child(1) {
    transform: translateY(0.425rem) rotate(45deg);
}

.site-header.is-menu-open .menu-toggle__line:nth-child(2) {
    opacity: 0;
}

.site-header.is-menu-open .menu-toggle__line:nth-child(3) {
    transform: translateY(-0.425rem) rotate(-45deg);
}

@media (max-width: 1050px) {
    .menu-toggle {
        display: inline-flex;
    }

    .site-header__content {
        flex-wrap: wrap;
    }

    .site-header__navigation {
        width: 100%;
        flex-direction: column;
        align-items: stretch;
        gap: var(--space-3);
        padding-bottom: var(--space-3);
    }

    .primary-navigation {
        flex-direction: column;
        align-items: stretch;
        gap: 0;
    }

    .primary-navigation__link {
        padding: 0.875rem 0;
        border-bottom: 1px solid var(--color-border);
    }

    .primary-navigation__link::after {
        display: none;
    }

    .site-header__actions {
        justify-content: space-between;
    }

    .js .site-header__navigation {
        display: none;
    }

    .js .site-header.is-menu-open .site-header__navigation {
        display: flex;
    }
}

@media (max-width: 520px) {
    .site-header__logo {
        width: 8.5rem;
    }

    .site-header__actions {
        align-items: stretch;
        flex-direction: column;
    }

    .language-selector select,
    .button--header {
        width: 100%;
    }
}

/* =========================================================
   SELETOR DE IDIOMA
   ========================================================= */

.language-selector {
    position: relative;

    display: flex;

    align-items: center;
}


.language-selector__flag {
    position: absolute;

    z-index: 2;

    left: 0.85rem;

    width: 1.25rem;
    height: 0.875rem;

    display: block;

    overflow: hidden;

    border-radius: 0.15rem;

    box-shadow:
        0 0 0 1px
        rgb(0 38 62 / 10%);

    pointer-events: none;
}


.language-selector__flag svg {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;
}


.language-selector select {
    padding-left: 2.65rem;
}
/* =========================================================
   AJUSTES RESPONSIVOS FINAIS
   ========================================================= */

@media (max-width: 1050px) {
    .site-header__actions {
        width: 100%;
    }
}

@media (max-width: 520px) {
    .language-selector {
        width: 100%;
    }
}
