/* Shared header search. */
.header.search-header { position: relative; }
.header.search-header.fix-header { position: fixed; }
.header .search-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 1.5em;
    height: 1.5em;
    font-size: 0.42rem;
    line-height: 1;
    margin-left: auto;
    margin-right: 0.14rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: #fff;
    cursor: pointer;
}
.search-toggle svg {
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
}
/* Match the adjacent menu icon at each existing header breakpoint. */
@media screen and (max-width: 768px) {
    .header .search-toggle { font-size: 0.34rem; }
}
@media screen and (max-width: 441px) {
    .header .search-toggle { font-size: 0.20rem; }
}
@media screen and (max-width: 431px) {
    .header .search-toggle { font-size: 0.24rem; }
}
@media screen and (max-width: 415px) {
    .header .search-toggle { font-size: 0.18rem; }
}
.site-search[hidden] { display: none; }
.site-search {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 1120;
    padding: 0.15rem;
    background: #fff;
    box-shadow: 0 0.04rem 0.12rem rgba(0, 0, 0, .15);
    font-size: 0.14rem;
    font-weight: normal;
    line-height: 1.5;
}
.site-search-form { display: flex; gap: 0.08rem; }
.site-search-form input {
    flex: 1;
    min-width: 0;
    padding: 0.1rem;
    border: 1px solid #ddd;
    border-radius: 0.05rem;
    font: inherit;
}
.site-search-form button {
    padding: 0.08rem 0.14rem;
    border: 0;
    border-radius: 0.05rem;
    background: #ff6d59;
    color: #fff;
    font: inherit;
    cursor: pointer;
}
.search-toggle:focus-visible,
.site-search-form button:focus-visible { outline: 2px solid #333; outline-offset: 2px; }
