/* Search is a quiet sheet in the same gallery palette. The native dialog provides focus containment and a top layer. */
.header-search { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-width: 44px; min-height: 44px; color: var(--c-text); text-decoration: none; font: 400 var(--fs-ui)/1 var(--font-ui); }
.header-search svg { flex-shrink: 0; }
body.has-photo-header .site-header .header-search { color: var(--c-on-photo); }
html:not(.menu-open) body.has-photo-header .site-header:is(:hover, :focus-within) .header-search { color: var(--c-text); }
html.menu-open .site-header .header-search { color: var(--c-on-band); }
.header-search:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.rug-search-dialog { width: min(1020px, calc(100% - 48px)); max-width: none; max-height: calc(100dvh - 64px); margin: auto; padding: 0; border: 1px solid var(--c-rule); background: var(--c-page); color: var(--c-text); box-shadow: var(--shadow-sheet); overflow: auto; overscroll-behavior: contain; }
.rug-search-dialog:not([open]) { display: none; }
.rug-search-dialog::backdrop { background: color-mix(in srgb, var(--c-ink) 65%, transparent); backdrop-filter: blur(4px); }
html:has(.rug-search-dialog[open]) { overflow: hidden; }
.rug-search-sheet { padding: 28px 48px 24px; }
.rug-search-heading { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.rug-search-kicker { margin: 0; color: var(--c-muted); font: 400 0.9375rem/1.4 var(--font-ui); }
.rug-search-close { display: inline-flex; align-items: center; justify-content: center; width: 44px; min-height: 44px; padding: 0; border: 0; background: transparent; color: var(--c-text); cursor: pointer; flex-shrink: 0; }
.rug-search-dialog h2 { margin: 10px 0 28px; font: 400 clamp(2.75rem, 5vw, 4rem)/1.1 var(--font-display); letter-spacing: -.025em; }
.rug-search-form { margin: 0; width: 100%; }
.rug-search-form label { display: block; margin: 0 0 10px; color: var(--c-muted); font: 400 .9375rem/1.5 var(--font-ui); }
.rug-search-field { display: flex; align-items: center; min-height: 60px; gap: 14px; border-bottom: 1px solid var(--c-field); }
.rug-search-field:focus-within { border-color: var(--c-focus); box-shadow: 0 1px 0 var(--c-focus); }
.rug-search-field > svg { flex: 0 0 24px; color: var(--c-muted); }
.rug-search-field input[type="search"] { flex: 1 1 auto; min-width: 0; width: 100%; padding: 12px 0; border: 0; border-radius: 0; background: transparent; color: var(--c-text); font: 400 1.1875rem/1.5 var(--font-ui); appearance: none; outline: none; }
.rug-search-field input::placeholder { color: var(--c-muted); opacity: 1; }
.rug-search-field input::-webkit-search-cancel-button { display: none; }
.rug-search-submit { flex-shrink: 0; white-space: nowrap; padding: 12px 16px; min-height: 44px; border: 1px solid var(--c-brand); background: var(--c-brand); color: var(--c-on-brand); font: 400 .9375rem/1.4 var(--font-ui); cursor: pointer; }
.rug-search-clear { flex-shrink: 0; white-space: nowrap; min-width: 44px; min-height: 44px; padding: 8px; border: 0; background: transparent; color: var(--c-muted); text-decoration: underline; text-underline-offset: 4px; font: 400 .875rem/1.4 var(--font-ui); cursor: pointer; }
.rug-search-clear[hidden] { display: none; }
.rug-search-dialog :is(button, a):focus-visible { outline: 2px solid var(--c-focus); outline-offset: 4px; }
.rug-search-hint { margin: 14px 0 28px; color: var(--c-muted); font: 400 .9375rem/1.6 var(--font-text); }
.rug-search-layout { display: grid; grid-template-columns: minmax(0, 1fr) 230px; gap: 40px; }
.rug-search-main { min-width: 0; }
.rug-search-status { min-height: 24px; margin: 0 0 14px; color: var(--c-muted); font: 400 .9375rem/1.5 var(--font-ui); }
.rug-search-starts { display: flex; flex-wrap: wrap; align-content: start; gap: 10px; }
.rug-search-starts[hidden] { display: none; }
.rug-search-starts a { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 16px; border: 1px solid var(--c-field); color: var(--c-text); text-decoration: none; font: 400 .9375rem/1.4 var(--font-ui); }
.rug-search-starts a:hover { background: var(--c-wall); }
.rug-search-aside { padding-left: 28px; border-left: 1px solid var(--c-rule); }
.rug-search-aside h3 { margin: 0 0 12px; font: 400 1.5rem/1.3 var(--font-display); }
.rug-search-aside > a { display: flex; align-items: center; min-height: 44px; width: fit-content; color: var(--c-text); font: 400 .9375rem/1.5 var(--font-ui); text-decoration: none; }
.rug-search-aside a:hover { text-decoration: underline; text-underline-offset: 5px; }
.rug-search-aside p { margin: 24px 0 0; color: var(--c-muted); font: 400 .875rem/1.7 var(--font-text); }
.rug-search-aside button { border: 0; padding: 0; min-height: 44px; background: transparent; color: var(--c-link); font: inherit; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
.rug-search-results { display: grid; gap: 0; margin: 0; padding: 0; max-height: min(46dvh, 480px); overflow-y: auto; overscroll-behavior: contain; list-style: none; }
.rug-search-results[hidden] { display: none; }
.rug-search-results li { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--c-rule); }
.rug-search-result { display: grid; grid-template-columns: 66px minmax(0, 1fr); gap: 18px; align-items: center; min-height: 92px; padding: 12px 8px; color: var(--c-text); text-decoration: none; }
.rug-search-result:hover, .rug-search-result[aria-selected="true"] { background: var(--c-wall); }
.rug-search-result[aria-selected="true"] { outline: 2px solid var(--c-focus); outline-offset: -2px; }
.rug-search-thumb { display: flex; align-items: center; justify-content: center; width: 66px; height: 72px; padding: 4px; background: var(--c-wall); }
.rug-search-thumb img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.rug-search-photo-missing { color: var(--c-muted); font: 400 .6875rem/1.3 var(--font-ui); text-align: center; }
.rug-search-result-name { display: block; font: 400 1.3125rem/1.25 var(--font-display); overflow-wrap: anywhere; }
.rug-search-result-meta { display: block; margin-top: 6px; color: var(--c-muted); font: 400 .8125rem/1.5 var(--font-ui); }
.rug-search-all { display: flex; justify-content: space-between; align-items: center; gap: 16px; min-height: 48px; margin-top: 12px; padding: 8px 0; border-top: 1px solid var(--c-rule); color: var(--c-link); font: 500 .9375rem/1.5 var(--font-ui); text-underline-offset: 4px; }
.rug-search-all[hidden] { display: none; }
.rug-search-empty { padding: 12px 0 24px; }
.rug-search-empty[hidden] { display: none; }
.rug-search-empty-title { margin: 0 0 12px; font: 400 2rem/1.3 var(--font-display); }
.rug-search-empty p:not(.rug-search-empty-title) { color: var(--c-muted); font: 400 1rem/1.65 var(--font-text); }
.rug-search-foot { margin: 28px 0 0; padding-top: 18px; border-top: 1px solid var(--c-rule); color: var(--c-muted); font: 400 .8125rem/1.6 var(--font-text); }
.rug-search-form.is-inline { max-width: 760px; margin: 28px 0 16px; }
.rug-search-summary { margin: 12px 0; font: 400 1rem/1.5 var(--font-ui); }
.rug-search-summary span { margin-left: 12px; color: var(--c-muted); }
@media (max-width: 1099px) {
  .header-search span { display: none; }
  .site-header .hd-right { gap: 4px; }
  /* The viewing-list link remains in the menu; keep the brand and the search target clear on smaller headers. */
  .site-header .hd-right > .viewing-count,
  .site-header .hd-right > .viewing-count:not([hidden]) { display: none; }
}
@media (max-width: 699px) {
  .rug-search-dialog { width: 100%; max-height: 100dvh; height: 100dvh; margin: 0; border: 0; }
  .rug-search-sheet { padding: max(16px, env(safe-area-inset-top)) 20px max(24px, env(safe-area-inset-bottom)); }
  .rug-search-dialog h2 { margin: 18px 0 24px; }
  .rug-search-field { gap: 8px; }
  .rug-search-field > svg { display: none; }
  .rug-search-field input[type="search"] { font-size: 1rem; }
  .rug-search-submit { padding-inline: 12px; }
  .rug-search-clear { padding-inline: 2px; }
  .rug-search-hint { margin-bottom: 24px; }
  .rug-search-layout { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .rug-search-aside { padding: 24px 0 0; border-left: 0; border-top: 1px solid var(--c-rule); }
  .rug-search-aside > a { display: inline-flex; margin-right: 24px; }
  .rug-search-aside p { margin-top: 12px; }
  .rug-search-dialog:has(.rug-search-starts[hidden]) .rug-search-aside { display: none; }
  .rug-search-result { grid-template-columns: 58px minmax(0, 1fr); gap: 14px; }
  .rug-search-thumb { width: 58px; height: 66px; }
  .rug-search-result-name { font-size: 1.25rem; }
}
@media (max-width: 439px) { .site-header .header-visit { display: none; } }
@media (prefers-reduced-motion: no-preference) {
  html:not([data-motion="reduced"]) .rug-search-dialog[open] .rug-search-sheet { animation: rug-search-arrive .2s ease-out; }
  @keyframes rug-search-arrive { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
}
@media print { .header-search, .rug-search-dialog { display: none !important; } }
