/* Fixed navigation search: hover and focus never cover another menu item. */
#page--head .tx-kesearch-pi1 #ke_search_sword,
#page--head .tx-kesearch-pi1 #ke_search_sword:hover,
#page--head .tx-kesearch-pi1 #ke_search_sword:focus,
#page--head .tx-kesearch-pi1 #ke_search_sword:active,
#page--head .tx-kesearch-pi1 #ke_search_sword:focus-within,
#page--head .tx-kesearch-pi1 #ke_search_sword:valid {
  width: 100%; padding: 0 32px 0 8px; box-sizing: border-box; transition: none; text-transform: none;
}
#page--head .tx-kesearch-pi1 .kesearch_searchbox { margin: 0; min-width: 0; }
#page--head .tx-kesearch-pi1 .submitbutt { top: 0; right: 5px; }
#page--head .tx-kesearch-pi1 .submitbutt input { width: 28px; height: 30px; cursor: pointer; }
#page--head .tx-kesearch-pi1 input:focus-visible { outline: 2px solid #223066; outline-offset: 3px; }
@media (min-width: 992px) {
  #mainmenu--container .menu--container[data-level="1"] { display: flex; align-items: center; gap: 0; }
  #mainmenu--container .menu--container[data-level="1"] > li:last-child { margin-left: auto; flex: 0 0 112px; padding: 0; }
  #page--head .tx-kesearch-pi1 { position: relative; width: 112px; }
}
.search-content { min-height: 60vh; padding: 32px 15px 100px; }
.search-content h1 { margin-bottom: 12px; color: #223066; }
.search-intro { max-width: 680px; margin-bottom: 24px; font-weight: 400; }
#search-form { max-width: 800px; margin-bottom: 28px; }
#search-form label { display: block; font-weight: 600; margin-bottom: 8px; }
.search-controls { display: flex; gap: 12px; }
#search-query { flex: 1; min-width: 0; padding: 12px 16px; border: 1px solid #8b93a7; border-radius: 4px; font: inherit; background: #fff; color: #223066; }
#search-form button { padding: 12px 24px; background: #223066; color: #fff; border: 1px solid #223066; border-radius: 4px; font: inherit; cursor: pointer; }
#search-form button:hover { background: #054471; }
.search-content :focus-visible { outline: 3px solid #336ba5; outline-offset: 4px; }
#search-summary { margin: 0 0 20px; color: #4d5665; font-weight: 400; }
#search-results { max-width: 900px; list-style: none; padding: 0; }
.search-result { padding: 22px 0; border-top: 1px solid #dce0e7; }
.search-result h2 { margin: 4px 0 8px; font-size: 24px; line-height: 1.3; }
.search-result h2 a { color: #223066; text-decoration: none; }
.search-result h2 a:hover { text-decoration: underline; }
.search-result-category { color: #566477; font-size: 14px; font-weight: 600; margin: 0; }
.search-result-excerpt { color: #333e4d; margin-bottom: 8px; font-weight: 400; }
.search-result-path { color: #677384; font-size: 13px; overflow-wrap: anywhere; margin: 0; }
.search-content mark { color: inherit; background: #fff0b3; padding: 0 2px; }
#search-pagination { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; align-items: center; }
.search-page { display: inline-block; min-width: 42px; text-align: center; padding: 8px 12px; border: 1px solid #cbd2de; border-radius: 4px; color: #223066; }
.search-page:hover { background: #edf0f6; }
.search-page[aria-current="page"] { background: #223066; color: #fff; border-color: #223066; }
.search-page-gap { padding: 8px 2px; }
@media (max-width: 575px) { .search-controls { flex-direction: column; } .search-result h2 { font-size: 21px; } }

/* Customer login below the existing language switch. */
#side-menu #login .customer-login-link { display: flex; align-items: center; justify-content: center; gap: 8px; color: #fff; text-decoration: none; }
#side-menu #login .customer-login-link svg { width: 30px; height: 30px; flex: 0 0 30px; }
#side-menu #login .customer-login-link:hover { background: #054471; }
#side-menu #login .customer-login-link:focus-visible { outline: 3px solid #f2ad35; outline-offset: -3px; }
.customer-login-label { display: none; }
@media (max-width: 991.98px) { .customer-login-label { display: inline; font-size: 14px; } }
