.catalog-panel { padding:clamp(1rem,3vw,2rem); border:1px solid #cbd5e1; border-radius:1.2rem; background:#f5f9fc; color:#172b3a; }
.catalog-panel h2 { margin-top:0; }
.catalog-controls { display:grid; grid-template-columns:2fr 1fr 1fr; gap:1rem; align-items:end; }
.catalog-controls label { display:grid; gap:.45rem; font-weight:700; min-width:0; }
.catalog-controls input,.catalog-controls select { width:100%; min-width:0; min-height:48px; padding:.7rem; border:1px solid #728596; border-radius:.5rem; background:white; color:#172b3a; font:inherit; }
.catalog-actions { display:flex; flex-wrap:wrap; gap:1rem; align-items:center; margin-top:1rem; }
.catalog-actions p { margin:0; }
.catalog-results { margin:1rem 0 0; padding:0; display:flex; flex-wrap:wrap; gap:.5rem; list-style:none; }
.catalog-results a { display:block; padding:.6rem .85rem; background:white; border:1px solid #aac1d4; border-radius:.5rem; text-decoration:none; }
.catalog-results small { display:block; color:#43586a; }
.catalog-empty { margin-top:1rem; padding:1rem; border-left:4px solid #b36c17; background:#fff9ee; }
.catalog-scope { display:block; margin-top:.55rem; font-size:.85rem; color:#43586a; }
.catalog-review { padding:.75rem; background:#f5f9fc; border-left:3px solid #597e9c; }
.catalog-anchor-note { padding:.75rem; background:#fff9ee; }
.page-error-codes [hidden],.page-brands-we-repair [hidden] { display:none!important; }
.error-code-card,.error-code-appliance-section,.error-code-brand-group h3,#appliance-list,#brand-grid { scroll-margin-top:7rem; }
.error-code-card:target { outline:3px solid #b46b17; outline-offset:4px; }
.brand-finder-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; align-items:start; }
.brand-finder-card { border:1px solid #cbd5e1; border-radius:1rem; background:white; overflow:hidden; }
.page-brands-we-repair .brand-finder-card>summary { cursor:pointer; padding:1rem; list-style:none; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:.5rem; }
.brand-finder-card>summary::-webkit-details-marker { display:none; }
.page-brands-we-repair .brand-finder-card>summary::after { content:'+'; position:static; transform:none; font-size:1.5rem; grid-column:2; grid-row:1/4; }
.brand-finder-card[open]>summary::after { content:'−'; }
.brand-finder-card>summary img { height:45px; width:130px; object-fit:contain; object-position:left; }
.brand-finder-card h3 { margin:0; font-size:1.2rem; }
.brand-finder-card>summary small { color:#43586a; }
.brand-finder-body { padding:0 1rem 1rem; }
.brand-route-list { padding:0; list-style:none; margin:0; }
.brand-route-list li { padding:.7rem 0; border-top:1px solid #e0e8ef; }
.brand-route-list a { display:inline-block; padding:.3rem 0; font-weight:700; }
.brand-route-list small { display:block; color:#43586a; }
.brand-case-proof { margin-top:1rem; padding:1rem; border-radius:.65rem; background:#eff6fb; font-size:.95rem; }
.brand-case-proof p { margin:.45rem 0; }
.catalog-panel :focus-visible,.brand-finder-card :focus-visible { outline:3px solid #a85906; outline-offset:4px; }
@media(max-width:900px) { .brand-finder-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:620px) { .catalog-controls,.brand-finder-grid { grid-template-columns:1fr; } .catalog-actions { align-items:stretch; flex-direction:column; } .catalog-panel { border-radius:.8rem; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto!important; } }

.brand-finder-card>summary>* { grid-column:1; min-width:0; overflow-wrap:anywhere; }
.brand-finder-card>summary img { max-width:100%; }
/* Long model IDs, labels and footer links must reflow when text is enlarged. */
.page-brands-we-repair,.page-error-codes { overflow-wrap:anywhere; }
.page-brands-we-repair .brand-finder-card .brand-finder-body p { padding:0; margin:.5rem 0; }
