/* Inherit the active Museum of One appearance and font choices. */
.moo-site-search {
    box-sizing: border-box;
    width: min(880px, calc(100vw - 32px));
    max-width: none;
    max-height: calc(100vh - 48px);
    max-height: calc(100dvh - 48px);
    margin: 24px auto;
    padding: 30px 36px;
    overflow: auto;
    overscroll-behavior: contain;
    border: 1px solid var(--surface-rule, #454640);
    border-radius: 0;
    background: var(--surface-background, #181916);
    color: var(--primary-text-color, #f4f1e9);
    font-family: var(--font-sans, sans-serif);
    font-size: 16px;
    text-align: left;
    box-shadow: 0 20px 70px #0006;
}
.moo-site-search::backdrop { background: #000b; }
.moo-site-search [hidden] { display: none !important; }
.moo-site-search :is(button, a, input):focus-visible { outline: 2px solid var(--accent-blue, #82b6f2); outline-offset: 4px; }
.moo-search-header { display: flex; align-items: start; justify-content: space-between; gap: 24px; }
.moo-search-header h2 { margin: 0; font-family: var(--font-serif, serif); font-weight: 400; font-size: clamp(25px, 4vw, 38px); line-height: 1.2; }
.moo-site-search button { min-height: 44px; cursor: pointer; border-radius: 0; background: none; color: inherit; font: inherit; }
.moo-search-close { flex: none; padding: 8px 0 8px 12px; border: 0; font-size: 14px !important; text-decoration: underline; text-underline-offset: 4px; }
.moo-search-intro { margin: 14px 0 26px; color: var(--secondary-text-color, #b5b6ae); font-size: 15px; line-height: 1.6; }
.moo-search-form label { display: block; margin-bottom: 9px; font-size: 14px; }
.moo-search-field { display: flex; gap: 12px; align-items: stretch; }
.moo-search-field input { min-width: 0; width: 100%; min-height: 52px; padding: 12px 0; border: 0; border-bottom: 1px solid var(--surface-rule, #74756e); border-radius: 0; outline-offset: 5px; color: inherit; background: none; font: inherit; font-size: 19px; }
.moo-search-field input::placeholder { color: var(--secondary-text-color, #b5b6ae); opacity: 1; }
.moo-search-submit, .moo-search-retry, .moo-search-more { padding: 9px 15px; border: 1px solid var(--surface-rule, #74756e); font-size: 14px !important; }
.moo-search-submit:hover, .moo-search-retry:hover, .moo-search-more:hover { border-color: currentColor; }
.moo-search-status { margin: 22px 0 12px; color: var(--secondary-text-color, #b5b6ae); font-size: 14px; line-height: 1.6; }
.moo-search-results { margin: 0; padding: 0; list-style: none; }
.moo-search-results > li { margin: 0; padding: 23px 0; border-bottom: 1px solid var(--surface-rule, #454640); }
.moo-search-kind { color: var(--accent-red, #ef8274); margin: 0 0 9px; font-size: 12px; line-height: 1.5; letter-spacing: .07em; text-transform: uppercase; }
.moo-search-results h3 { margin: 0; font-family: var(--font-serif, serif); font-weight: 400; font-size: clamp(22px, 3.2vw, 29px); line-height: 1.25; }
.moo-search-results a { color: inherit; text-decoration: none; }
.moo-search-results a:hover { text-decoration: underline; text-underline-offset: 5px; }
.moo-search-arrow { margin-left: .3em; white-space: nowrap; color: var(--accent-blue, #82b6f2); font-family: var(--font-sans, sans-serif); }
.moo-search-excerpt { margin: 10px 0 0; color: var(--secondary-text-color, #b5b6ae); font-size: 15px; line-height: 1.6; }
.moo-search-more { margin-top: 24px; }
.moo-search-browse { display: flex; flex-wrap: wrap; gap: 14px 28px; margin-top: 25px; padding-top: 20px; border-top: 1px solid var(--surface-rule, #454640); font-size: 14px; }
.moo-search-browse a { display: inline-flex; align-items: center; min-height: 44px; color: inherit; text-underline-offset: 4px; }
@media (max-width: 600px) {
    .moo-site-search { width: calc(100vw - 20px); max-height: calc(100vh - 20px); max-height: calc(100dvh - 20px); margin: 10px auto; padding: 22px 20px; }
    .moo-search-header { gap: 14px; }
    .moo-search-intro { margin-bottom: 22px; }
    .moo-search-field { gap: 8px; }
    .moo-search-field input { font-size: 16px; }
    .moo-search-submit { padding: 8px 11px; }
    .moo-search-results > li { padding: 20px 0; }
}
@media print { .moo-site-search { display: none !important; } }
