/* Fixed flag dimensions, isolated from global image and menu styles. */
.site-language-switch { display: inline-flex; align-items: center; gap: 4px; flex: 0 0 auto; line-height: 1; }
.site-language-switch a { display: inline-flex; align-items: center; justify-content: center; gap: 5px; min-height: 36px; padding: 6px; border: 1px solid transparent; border-radius: 5px; color: inherit; font-size: 11px; font-weight: 600; text-decoration: none; }
header .site-language-switch a { color: #fff !important; }
.site-language-switch a[aria-current="true"] { border-color: var(--primary-color, #605bff); background: rgba(114, 102, 255, .1); }
.site-language-switch a:hover { background: rgba(114, 102, 255, .16); }
.site-language-switch a:focus-visible { outline: 2px solid var(--primary-color, #605bff); outline-offset: 3px; }
.site-language-switch img { display: block; width: 21px !important; height: 14px !important; max-width: none; object-fit: cover; border-radius: 2px; }
#mainmenu .language-menu-row { display: none !important; }
@media (min-width: 993px) {
    header .de-flex { grid-template-columns: auto minmax(0, 1fr) auto; gap: 16px; }
    header .header-col-mid { min-width: 0; }
    header #mainmenu { display: flex; justify-content: center; align-items: center; white-space: nowrap; }
    header #mainmenu > li { float: none; margin: 0 !important; flex: 0 0 auto; }
    header #mainmenu > li > a.menu-item { padding-left: 12px; padding-right: 12px; }
    header .menu_side_area { display: flex; gap: 12px; align-items: center; }
}
@media (min-width: 993px) and (max-width: 1199px) {
    header #logo img { width: 160px; height: auto; }
    header #mainmenu > li > a.menu-item { padding-left: 7px; padding-right: 7px; font-size: 13px; }
    header .menu_side_area > .btn-main { padding: 10px 12px; font-size: 12px; }
    .site-language-switch a { padding: 4px; }
}
@media (max-width: 992px) {
    .language-desktop { display: none !important; }
    header.header-mobile #mainmenu .language-menu-row { display: block !important; padding: 14px 0 !important; }
    header.header-mobile #mainmenu .site-language-switch a { display: inline-flex; width: auto; min-width: 72px; min-height: 44px; padding: 10px 12px; border: 1px solid #d7dbe4; color: #202338; font-size: 13px; }
    header.header-mobile #mainmenu .site-language-switch a[aria-current="true"] { border-color: var(--primary-color, #605bff); }
}
