/* Scoped catalog components; existing site design and editorial CSS are retained. */
.products-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.2rem; }
.module-card { display:flex; flex-direction:column; min-width:0; padding:1.5rem; background:#fff; border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); overflow-wrap:anywhere; }
.module-card h2, .module-card h3 { font-size:1.45rem; }
.module-card .actions { margin-top:auto; padding-top:1rem; }
.module-card .price { font-size:2.1rem; }
.module-card .compatibility { font-size:.88rem; color:var(--muted); }
.catalog-filters { display:flex; flex-wrap:wrap; gap:1rem; margin-bottom:1.5rem; }
.catalog-filters label { display:flex; flex-direction:column; gap:.35rem; max-width:100%; }
.catalog-filters select { max-width:100%; padding:.65rem; border:1px solid var(--line); border-radius:8px; color:var(--ink); background:white; }
.products-grid [hidden], .catalog-filters[hidden], [data-no-results][hidden] { display:none !important; }
.product-page h1, .product-page .hero-panel { overflow-wrap:anywhere; }
.product-gallery img { display:block; width:100%; height:auto; }
.product-gallery figure { margin:0; }
.product-gallery figcaption { padding:.8rem; }
@media(max-width:1100px) { .products-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .products-grid { grid-template-columns:minmax(0,1fr); } }
