.citystar-header-main {
    grid-template-areas: "departments logo search actions language" !important;
    grid-template-columns: auto minmax(160px, 220px) minmax(280px, 1fr) auto auto !important;
}

.citystar-header-main > .citystar-menu-trigger {
    grid-area: departments;
}

.citystar-header-main > .citystar-header-brand {
    grid-area: logo;
}

.citystar-header-main > .citystar-header-search {
    grid-area: search;
}

.citystar-header-main > .citystar-header-actions {
    grid-area: actions;
}

.citystar-language-switcher {
    align-items: center;
    display: flex;
    grid-area: language;
    justify-content: center;
    min-width: 56px;
}

.citystar-language-switcher__link {
    align-items: center;
    background: #fff;
    border: 1px solid #d7dbe2;
    border-radius: 999px;
    color: #071b4d;
    display: inline-flex;
    font-size: 13px;
    font-weight: 700;
    justify-content: center;
    min-height: 38px;
    min-width: 56px;
    padding: 0 12px;
    text-decoration: none;
    white-space: nowrap;
}

.citystar-language-switcher__link:hover,
.citystar-language-switcher__link:focus {
    border-color: #e4002b;
    color: #e4002b;
    text-decoration: none;
}

.citystar-language-switcher__link:focus-visible {
    box-shadow: 0 0 0 3px rgba(7, 27, 77, .16);
    outline: 2px solid #071b4d;
    outline-offset: 2px;
}

@media only screen and (max-width: 1100px) and (min-width: 768px) {
    .citystar-header-main {
        gap: 12px;
        grid-template-columns: auto minmax(120px, 160px) minmax(220px, 1fr) auto auto !important;
    }

    .citystar-language-switcher__link {
        min-width: 48px;
        padding-left: 9px;
        padding-right: 9px;
    }
}

@media only screen and (max-width: 767px) {
    .page-header .citystar-header-main {
        column-gap: 6px;
        grid-template-areas: "departments logo search language" !important;
        grid-template-columns: 44px 50px minmax(0, 1fr) 38px !important;
    }

    .citystar-language-switcher {
        min-width: 0;
        width: 38px;
    }

    .citystar-language-switcher__link {
        font-size: 0;
        height: 38px;
        min-height: 38px;
        min-width: 38px;
        padding: 0;
        width: 38px;
    }

    .citystar-language-switcher__link::before {
        content: attr(lang);
        font-size: 11px;
        font-weight: 800;
        text-transform: uppercase;
    }
}

@media only screen and (max-width: 374px) {
    .page-header .citystar-header-main {
        grid-template-columns: 42px 46px minmax(0, 1fr) 36px !important;
    }

    .citystar-language-switcher,
    .citystar-language-switcher__link {
        min-width: 36px;
        width: 36px;
    }
}
