/* Search follows the active showroom palette without changing the selected 3D model. */
.catalog-search { position:relative; margin:20px 0 34px; width:100%; min-width:0; }
.catalog-search [hidden] { display:none !important; }
.catalog-search-form { margin:0; }
.catalog-search-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; }
.catalog-search-box { display:flex; align-items:center; gap:14px; min-width:0; padding:0 20px; border:1px solid var(--line); border-radius:15px; background:color-mix(in srgb,var(--panel) 70%,transparent); transition:border-color .2s,background .2s; }
.catalog-search-box:focus-within { border-color:var(--blue); background:color-mix(in srgb,var(--panel) 90%,transparent); }
.catalog-search-box>svg { width:19px; height:19px; color:var(--muted); }
.catalog-search-box>input { width:100%; min-width:0; height:54px; padding:0; border:0; border-radius:0; background:transparent; color:var(--ink); outline:0; font:inherit; font-size:13px; }
.catalog-search input::placeholder { color:var(--muted); opacity:.85; }
.catalog-search input[type=search]::-webkit-search-cancel-button { cursor:pointer; }
.catalog-filter-toggle { display:flex; align-items:center; justify-content:center; gap:10px; min-height:54px; padding:0 22px; border:1px solid var(--line); border-radius:15px; color:var(--ink); font-size:12px; white-space:nowrap; background:color-mix(in srgb,var(--panel) 70%,transparent); transition:background .2s,border-color .2s; }
.catalog-filter-toggle>svg { width:18px; height:18px; }
.catalog-filter-toggle:hover,.catalog-filter-toggle[aria-expanded=true] { border-color:var(--theme-border,var(--blue)); background:color-mix(in srgb,var(--blue) 9%,var(--panel)); }
.catalog-search button:focus-visible,.catalog-search input:focus-visible,.catalog-search select:focus-visible { outline:2px solid var(--blue); outline-offset:4px; }
.catalog-search-box>input:focus-visible { outline:0; }
.catalog-filter-panel { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:end; gap:18px 20px; padding:24px; margin-top:12px; border:1px solid var(--line); border-radius:17px; background:color-mix(in srgb,var(--panel) 72%,transparent); animation:catalog-panel-in .22s var(--ease); }
.catalog-field { display:flex; flex-direction:column; gap:10px; min-width:0; color:var(--muted); font-size:10px; }
.catalog-field>input,.catalog-field>select { width:100%; min-width:0; min-height:46px; border:1px solid var(--line); border-radius:10px; padding:0 13px; background:color-mix(in srgb,var(--bg) 75%,transparent); color:var(--ink); font-family:inherit; font-size:12px; color-scheme:dark; }
.catalog-field>select { padding-right:28px; cursor:pointer; }
.catalog-field option { background:var(--panel); color:var(--ink); }
.catalog-check { display:flex; align-items:center; gap:10px; min-height:34px; width:fit-content; max-width:100%; color:var(--ink); font-size:12px; cursor:pointer; }
.catalog-check>input { appearance:none; flex-shrink:0; width:18px; height:18px; margin:0; border:1px solid var(--theme-border,var(--line)); border-radius:5px; background:transparent; cursor:pointer; transition:background .15s,border-color .15s; }
.catalog-check>input:checked { background:var(--blue); border-color:var(--blue); }
.catalog-check>input:checked:after { content:''; display:block; width:8px; height:5px; border-left:2px solid var(--bg); border-bottom:2px solid var(--bg); transform:translate(4px,4px) rotate(-45deg); }
.catalog-search-meta { display:flex; justify-content:space-between; align-items:center; gap:20px; min-height:33px; padding:10px 2px 0; font-size:10px; color:var(--muted); }
.catalog-reset { color:var(--blue); padding:4px 0; font-size:10px; flex-shrink:0; }
.catalog-reset:hover { color:var(--ink); }
.catalog-empty { padding:42px 20px; margin-top:18px; text-align:center; border:1px dashed var(--line); border-radius:18px; background:color-mix(in srgb,var(--panel) 40%,transparent); }
.catalog-empty>strong { font-size:20px; letter-spacing:-.5px; font-weight:500; }
.catalog-empty>p { margin:12px 0 20px; font-size:12px; line-height:1.6; color:var(--muted); }
.catalog-empty-reset { padding:12px 20px; border:1px solid var(--line); border-radius:999px; color:var(--blue); font-size:11px; }
.catalog-empty-reset:hover { border-color:var(--blue); }
.catalog-audio-results { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:18px; }
.catalog-audio-card { display:flex; flex-direction:column; min-width:0; padding:24px; border:1px solid var(--line); border-radius:18px; background:linear-gradient(135deg,color-mix(in srgb,var(--blue) 5%,transparent),transparent),color-mix(in srgb,var(--panel) 75%,transparent); animation:catalog-panel-in .22s var(--ease); }
.catalog-audio-brand { color:var(--blue); font-size:8px; letter-spacing:1.8px; text-transform:uppercase; }
.catalog-audio-card h3 { margin:10px 0; font-weight:500; font-size:21px; letter-spacing:-.6px; }
.catalog-audio-card p { color:var(--muted); font-size:10px; line-height:1.7; margin:0 0 24px; }
.catalog-audio-card-action { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:auto; }
.catalog-audio-card-action>strong { font-size:18px; font-weight:500; white-space:nowrap; }
.catalog-audio-inspect { color:var(--blue); font-size:10px; min-height:36px; padding:6px 0 6px 8px; white-space:nowrap; }
.catalog-audio-inspect:hover { color:var(--ink); }
.catalog-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@keyframes catalog-panel-in { from { opacity:0; transform:translateY(5px); } to { opacity:1; transform:translateY(0); } }
@media(min-width:1100px) { .catalog-search-phone .catalog-filter-panel { grid-template-columns:repeat(3,minmax(0,1fr)) auto; } .catalog-search-phone .catalog-check { margin-bottom:6px; padding-left:4px; } }
@media(max-width:700px) {
  .catalog-search { margin:16px 0 26px; }
  .catalog-search-row { gap:8px; }
  .catalog-search-box { padding:0 12px; gap:9px; border-radius:12px; }
  .catalog-search-box>input { font-size:12px; height:49px; }
  .catalog-search-box>svg { width:16px; height:16px; }
  .catalog-filter-toggle { padding:0 13px; gap:7px; min-height:49px; font-size:11px; border-radius:12px; }
  .catalog-filter-toggle>svg { width:16px; height:16px; }
  .catalog-filter-panel { grid-template-columns:repeat(2,minmax(0,1fr)); padding:18px; gap:18px 14px; }
  .catalog-check { font-size:11px; }
  .catalog-audio-results { grid-template-columns:1fr; }
  .catalog-audio-card { padding:22px; }
}
@media(max-width:440px) {
  .catalog-search-row { grid-template-columns:minmax(0,1fr); }
  .catalog-filter-toggle { justify-self:start; min-height:38px; padding:0 15px; }
  .catalog-filter-panel { grid-template-columns:minmax(0,1fr); padding:18px; }
  .catalog-field>input,.catalog-field>select,.catalog-search-box>input { font-size:16px; }
  .catalog-search-box>input::placeholder { font-size:12px; }
  .catalog-search-meta { gap:12px; }
}
@media(prefers-reduced-motion:reduce) {
  .catalog-search *, .catalog-search *:after { animation:none !important; transition:none !important; }
}
