.topbar { position: relative; z-index: 40; }
.topbar .wrap { position: relative; }
.topbar-message { white-space: nowrap; }
.header-utilities { display: flex; align-items: center; justify-content: flex-end; gap: 17px; min-width: 0; }
.header-utilities details { position: relative; }
.header-utilities summary { display: flex; align-items: center; gap: 8px; min-height: 38px; color: #fff; font-weight: 700; cursor: pointer; list-style: none; white-space: nowrap; }
.header-utilities summary::-webkit-details-marker { display: none; }
.header-utilities .screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.icon-search { position: relative; display: block; width: 21px; height: 21px; border: 2px solid #fff; border-radius: 50%; }
.icon-search::after { position: absolute; right: -6px; bottom: -4px; width: 8px; height: 2px; content: ''; background: #fff; transform: rotate(48deg); transform-origin: left center; }
.top-search summary { width: 26px; }
.top-search-form { position: absolute; top: calc(100% + 7px); right: 0; display: flex; width: min(330px, 85vw); padding: 8px; border: 1px solid #dce5ed; background: #fff; box-shadow: 0 12px 25px rgba(4, 18, 33, .18); }
.top-search-form input { min-width: 0; flex: 1; padding: 10px; border: 0; color: var(--ink); font: inherit; }
.top-search-form button { padding: 9px 12px; border: 0; background: var(--blue); color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.header-language summary::after { content: '⌄'; color: #b9c8d7; font-size: 17px; }
.header-language[open] summary::after { transform: rotate(180deg); }
.language-flag { display: inline-grid; width: 18px; height: 14px; place-items: center; border: 1px solid #e5e9ed; background: linear-gradient(#f7f7f7 0 20%, #d7202d 20% 40%, #f7f7f7 40% 60%, #d7202d 60% 80%, #f7f7f7 80%); color: #1c5f9e; font-size: 9px; }
.header-language-list { position: absolute; top: calc(100% + 7px); right: 0; width: 205px; padding: 5px 0; margin: 0; list-style: none; border: 1px solid #dce5ed; background: #fff; box-shadow: 0 12px 25px rgba(4, 18, 33, .18); }
.header-language-list a { display: block; padding: 10px 14px; color: #33495f; font-size: 14px; font-weight: 600; }
.header-language-list a:hover, .header-language-list a:focus, .header-language-list a[aria-current="page"] { color: var(--blue); background: #f0f7fc; }
.header-contact { display: inline-flex; align-items: center; gap: 7px; color: #e4edf4; font-size: 13px; font-weight: 700; white-space: nowrap; }
.header-contact:hover { color: #fff; }
.icon-mail, .icon-phone { color: var(--cyan); font-size: 17px; line-height: 1; }
.site-header .language { display: none; }
@media (max-width: 1050px) and (min-width: 761px) { .header-utilities { gap: 11px; }.header-contact { font-size: 11px; }.topbar-message { font-size: 11px; } }
@media (max-width: 760px) { .topbar { display: block; }.topbar .wrap { min-height: 43px; justify-content: center; }.topbar-message, .header-contact span:last-child { display: none; }.header-utilities { gap: 18px; }.header-utilities summary { min-height: 43px; }.header-contact { gap: 0; }.icon-mail, .icon-phone { font-size: 19px; }.top-search-form { position: fixed; top: 48px; right: 12px; }.header-language-list { position: fixed; top: 48px; right: 54px; } }
