/* Header search: keep these styles after the legacy compiled theme styles. */
body.solgf-has-header-search { padding-top: 196px; }
.solgf-search-bar { clear: both; background: #000; padding: 8px 0; }
.solgf-header-search { display: flex; width: 340px; max-width: 100%; margin: 0 0 0 auto; }
.solgf-header-search input[type="search"] {
    flex: 1; min-width: 0; width: 100%; height: 44px; margin: 0;
    padding: 10px 12px; border: 1px solid #c7ab55; border-radius: 0;
    background: #fff; color: #222; font: inherit; font-size: 16px;
    box-sizing: border-box; -webkit-appearance: none;
}
.solgf-header-search input::placeholder { color: #666; opacity: 1; }
.solgf-header-search button {
    flex: 0 0 auto; height: 44px; margin: 0; padding: 0 16px;
    border: 1px solid #c7ab55; border-radius: 0; background: #c7ab55;
    color: #000; font: inherit; font-weight: 700; cursor: pointer;
}
.solgf-header-search button:hover { background: #dec573; }
.solgf-header-search button .fa { margin: 0; }
.solgf-header-search input:focus-visible, .solgf-header-search button:focus-visible {
    outline: none; position: relative; z-index: 1;
}
@media (max-width: 991px) {
    body.solgf-has-header-search { padding-top: 167px; }
    .solgf-header-search { width: 100%; }
}

@media (max-width: 991px) {
    #main-navbar .navbar-header { display: flex; align-items: center; width: auto; }
    #main-navbar .navbar-brand { order: 1; flex: 0 0 auto; }
    #main-navbar .navbar-toggle { order: 2; flex: 0 0 auto; float: none; width: auto; white-space: nowrap; margin: 0 15px 0 auto; }
}

/* Keep a separate search row until the full navigation and form fit comfortably. */
@media (min-width: 992px) and (max-width: 1319px) {
    #main-header #main-navbar { height: auto; }
}
@media (min-width: 1320px) {
    body.solgf-has-header-search { padding-top: 136px; }
    body.solgf-has-header-search .container { width: calc(100% - 64px); max-width: 1440px; }
    #main-navbar > .container { display: flex; align-items: center; gap: 20px; }
    #main-navbar > .container::before, #main-navbar > .container::after { display: none; }
    #main-navbar .navbar-header { flex: 0 0 135px; }
    #main-navbar .navbar-main-collapse { flex: 1 1 auto; padding: 0; margin: 0; }
    #main-navbar .navbar-nav { float: right; display: flex; white-space: nowrap; }
    #main-navbar .navbar-nav > li > a { padding-left: 9px; padding-right: 9px; }
    .solgf-search-bar { clear: none; flex: 0 0 240px; padding: 0; }
    .solgf-header-search { width: 100%; }
}

/* A contained focus indicator, without the previous white outer frame. */
.solgf-header-search input[type="search"]:focus {
    outline: none; border-color: #c7ab55; box-shadow: inset 0 0 0 2px #c7ab55;
}
.solgf-header-search button:focus-visible {
    outline: 2px solid #000; outline-offset: -5px; background: #dec573;
}
@media (min-width: 992px) and (max-width: 1319px) {
    #main-navbar .navbar-brand img { top: 45px; }
    #main-header.headroom--unpinned #main-navbar .navbar-brand img { top: 30px; }
}
