/* Shared search: uses the existing brand, navigation and catalog. */
.header-tools { display:flex; align-items:center; justify-content:flex-end; gap:12px; min-width:0; }
.site-header { grid-template-columns:auto minmax(0,1fr) auto; gap:24px; }
.site-header .desktop-nav { justify-content:center; gap:clamp(16px,1.9vw,32px); }
.site-header .desktop-nav a { flex:0 0 auto; white-space:nowrap; }
.site-header .header-cta { min-width:168px; }
.site-header.is-scrolled { column-gap:16px; }
.site-header.is-scrolled .desktop-nav { gap:18px; }
.site-header.is-scrolled .header-tools { gap:10px; }
.site-header.is-scrolled .header-cta { min-width:160px; white-space:nowrap; }
.site-header.is-scrolled .site-search-launch { width:44px; min-height:40px; padding:8px; }
.site-header.is-scrolled .site-search-launch span { display:none; }
.site-search-launch { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-width:44px; min-height:44px; padding:8px 12px; border:1px solid var(--line-light); color:var(--white); font-size:.875rem; font-weight:650; white-space:nowrap; }
.site-search-launch:hover { border-color:var(--acid); color:var(--acid); }
.site-search-launch svg { flex-shrink:0; }
.site-search-open { overflow:hidden; }
.site-search-dialog { width:min(820px,calc(100% - 40px)); max-width:none; max-height:calc(100dvh - 64px); margin:32px auto; padding:0; border:1px solid #b9bcb6; border-top:4px solid var(--acid); border-radius:6px; color:var(--ink); background:var(--paper); box-shadow:0 24px 80px #0006; overflow-y:auto; overscroll-behavior:contain; }
.site-search-dialog::backdrop { background:rgba(11,13,12,.78); backdrop-filter:blur(4px); }
.site-search-inner { padding:28px 32px; }
.site-search-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; margin-bottom:24px; }
.site-search-heading p { margin:0 0 6px; color:var(--muted-dark); font-size:.8125rem; }
.site-search-heading h2 { margin:0; font-size:clamp(1.5rem,3.2vw,2rem); line-height:1.2; letter-spacing:-.035em; }
.site-search-close { display:flex; align-items:center; gap:9px; min-height:44px; padding:8px 12px; border:1px solid #bdc0b7; border-radius:3px; background:transparent; font:inherit; font-size:.8125rem; cursor:pointer; }
.site-search-close span { font-size:1.6rem; line-height:1; }
.site-search-form label { display:block; font-size:.875rem; font-weight:700; margin-bottom:8px; }
.site-search-field { display:flex; gap:8px; }
.site-search-field input { min-width:0; width:100%; height:54px; padding:12px 14px; border:1px solid #93998e; border-radius:3px; background:white; color:var(--ink); font:inherit; font-size:1rem; }
.site-search-field button,.site-search-more { min-height:48px; padding:12px 20px; border:1px solid var(--ink); border-radius:3px; background:var(--ink); color:white; font:inherit; font-size:.875rem; font-weight:700; cursor:pointer; }
.site-search-hint { margin:10px 0 20px; font-size:.8125rem; line-height:1.6; color:var(--muted-dark); }
.site-search-filters { display:flex; flex-wrap:wrap; gap:8px; padding-bottom:18px; border-bottom:1px solid var(--line-dark); }
.site-search-filters button { min-height:42px; padding:9px 16px; border:1px solid #b9bcb6; border-radius:3px; background:transparent; font:inherit; font-size:.8125rem; cursor:pointer; }
.site-search-filters [aria-pressed="true"] { background:var(--acid); border-color:var(--acid-strong); color:var(--ink); font-weight:700; }
.site-search-suggestions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:20px; font-size:.8125rem; }
.site-search-suggestions button { min-height:38px; padding:6px 12px; border:1px solid #c4c8be; border-radius:3px; background:#fff; font:inherit; cursor:pointer; }
.site-search-status { margin:18px 0 12px; color:var(--muted-dark); font-size:.8125rem; line-height:1.5; }
.site-search-results { margin:0; padding:0; list-style:none; }
.site-search-results li { border-top:1px solid var(--line-dark); }
.site-search-results a { display:grid; gap:5px; padding:16px 12px; border-radius:3px; overflow-wrap:anywhere; }
.site-search-results a:hover { background:#e6e8df; }
.site-search-results strong { font-size:1rem; font-weight:750; line-height:1.5; }
.site-search-type { font-size:.6875rem; font-weight:750; letter-spacing:.06em; text-transform:uppercase; }
.site-search-meta { font-size:.8125rem; font-weight:600; line-height:1.5; }
.site-search-description { font-size:.8125rem; color:var(--muted-dark); line-height:1.6; }
.site-search-more { width:100%; margin-top:12px; }
.site-search-empty,.site-search-error { margin:20px 0; padding:20px; background:var(--paper-2); font-size:.9375rem; line-height:1.7; }
.site-search-empty p,.site-search-error p { margin:8px 0; }
.site-search-empty a { font-weight:750; text-decoration:underline; text-underline-offset:4px; }
.site-search-error button { min-height:44px; padding:8px 14px; border:1px solid var(--ink); background:transparent; font:inherit; cursor:pointer; }
.site-search-browse { display:flex; flex-wrap:wrap; align-items:center; gap:12px 18px; margin-top:20px; padding-top:18px; border-top:1px solid var(--line-dark); font-size:.8125rem; }
.site-search-browse a { text-decoration:underline; text-underline-offset:4px; padding:8px 0; }
.site-search-dialog [hidden] { display:none !important; }
.site-search-dialog :focus-visible,.site-search-launch:focus-visible { outline:3px solid var(--acid-strong); outline-offset:3px; }
@media (min-width:931px) and (max-width:1100px) { .site-search-launch span { display:none; } .site-header { gap:18px; } .site-header .desktop-nav { gap:18px; } }
@media (max-width:930px) { .site-header { grid-template-columns:minmax(0,1fr) auto auto; gap:10px; } .site-header .desktop-nav { display:none; } .header-tools { gap:0; } .site-search-launch { padding:8px 10px; } }
@media (max-width:930px) { .site-header.is-scrolled { column-gap:10px; } }
@media (max-width:540px) {
  .site-search-launch span { display:none; }
  .site-search-dialog { width:calc(100% - 16px); max-height:calc(100dvh - 16px); margin:8px auto; }
  .site-search-inner { padding:20px 16px; }
  .site-search-heading { gap:12px; margin-bottom:20px; }
  .site-search-close { padding:8px; }
  .site-search-filters { gap:6px; }
  .site-search-filters button { padding:9px 11px; }
  .site-search-field button { padding:10px 14px; }
  .site-search-field input { padding:12px 10px; }
  .site-search-results a { padding:16px 4px; }
}
