/* Product catalog: shared site palette and components. */
.catalog-page{overflow-wrap:anywhere}
.catalog-photo{display:block;width:100%;height:100%;overflow:hidden;background:#fff}
.catalog-model-nav{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-8)}
.catalog-model-nav a{padding:var(--space-3) var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--fs-sm);font-weight:var(--fw-semibold)}
.catalog-model-nav a:hover{border-color:var(--color-primary);color:var(--color-primary)}
.catalog-model{scroll-margin-top:110px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-10);margin-top:var(--space-8)}
.catalog-model-intro{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:var(--space-10);align-items:center}
.catalog-product-figure{display:flex;align-items:center;justify-content:center;height:330px;padding:var(--space-5);background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}
.catalog-model-copy h3{font-size:clamp(1.5rem,2.8vw,2rem);font-weight:var(--fw-black);line-height:1.45;margin-bottom:var(--space-5);letter-spacing:-.02em}
.catalog-model-copy>p:not(.model-category){font-size:var(--fs-md);line-height:var(--lh-relaxed);word-break:keep-all}
.catalog-source{display:inline-block;margin-top:var(--space-6);font-size:var(--fs-sm);color:var(--color-primary);text-decoration:underline;text-underline-offset:4px}
.catalog-model-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-10);margin-top:var(--space-10);padding-top:var(--space-8);border-top:1px solid var(--color-border)}
.catalog-model h4{font-size:var(--fs-lg);font-weight:var(--fw-bold);margin-bottom:var(--space-6)}
.catalog-specs{border-top:1px solid var(--color-border)}
.catalog-specs>div{display:grid;grid-template-columns:minmax(90px,.7fr) minmax(0,1.3fr);gap:var(--space-4);padding:var(--space-4) 0;border-bottom:1px solid var(--color-border);font-size:var(--fs-sm);line-height:var(--lh-relaxed)}
.catalog-specs dt{color:var(--color-primary);font-weight:var(--fw-semibold)}
.catalog-specs dd{color:var(--color-text);word-break:keep-all}
.catalog-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-6);border-top:1px solid var(--color-border);padding-top:var(--space-8);margin-top:var(--space-8)}
.catalog-gallery figure{min-width:0}.catalog-gallery .catalog-photo{height:210px;border-radius:var(--radius-md)}
.catalog-gallery figcaption{text-align:center;font-size:var(--fs-sm);color:var(--color-text-muted);margin-top:var(--space-3)}
.catalog-table-wrap{max-width:100%;overflow-x:auto;margin-top:var(--space-8);border:1px solid var(--color-border);border-radius:var(--radius-md)}
.catalog-table-wrap table{width:100%;border-collapse:collapse;text-align:left;font-size:var(--fs-sm);line-height:var(--lh-relaxed)}
.catalog-table-wrap caption{text-align:left;padding:var(--space-4);font-weight:var(--fw-bold);background:var(--color-bg-2);color:var(--color-text)}
.catalog-table-wrap th,.catalog-table-wrap td{padding:var(--space-4);border-bottom:1px solid var(--color-border);vertical-align:top;min-width:95px}
.catalog-table-wrap thead{background:var(--color-bg-2);color:var(--color-primary)}
.catalog-table-wrap tbody th{font-weight:var(--fw-semibold)}
.catalog-note{margin-top:var(--space-8);font-size:var(--fs-sm);color:var(--color-text-muted);line-height:var(--lh-relaxed)}
.catalog-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-6)}
.catalog-category-card{display:flex;flex-direction:column;overflow:hidden;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);transition:border-color .2s,box-shadow .2s}
.catalog-category-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-lg)}
.catalog-card-photo{height:240px;padding:var(--space-6);background:#fff;border-bottom:1px solid var(--color-border)}
.catalog-card-body{display:flex;flex-direction:column;flex:1;padding:var(--space-6)}
.catalog-card-body h3{font-size:var(--fs-xl);font-weight:var(--fw-bold);margin-bottom:var(--space-4);line-height:1.5}
.catalog-card-body>p{font-size:var(--fs-sm);color:var(--color-text-muted);line-height:var(--lh-relaxed);margin-bottom:var(--space-5);word-break:keep-all}
.catalog-tags{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-6)}
.catalog-tags li{background:var(--color-bg-2);color:var(--color-primary);font-size:var(--fs-xs);padding:6px 9px;border-radius:var(--radius-sm)}
.catalog-card-link{color:var(--color-primary);font-weight:var(--fw-semibold);font-size:var(--fs-sm);margin-top:auto}
.catalog-comparison{margin-top:var(--space-10)}
.catalog-comparison a{text-decoration:underline;text-underline-offset:3px}
.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}
.catalog-home-photo{background:#fff!important;padding:var(--space-4)}
.catalog-home-photo .catalog-photo{width:100%;height:100%}
.catalog-page a:focus-visible,.catalog-table-wrap:focus-visible{outline:3px solid var(--color-primary);outline-offset:4px}
@media(max-width:1000px){.catalog-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-model{padding:var(--space-8)}.catalog-model-intro,.catalog-model-details{gap:var(--space-6)}}
@media(max-width:760px){.catalog-model-intro,.catalog-model-details{grid-template-columns:1fr}.catalog-product-figure{height:280px}.catalog-model-copy>p:not(.model-category){font-size:var(--fs-base)}.catalog-model{padding:var(--space-6)}.catalog-model-details{margin-top:var(--space-6);padding-top:var(--space-6)}.catalog-page .product-quote-cta{grid-template-columns:1fr}.catalog-page .product-quote-cta .btn{white-space:normal;text-align:center}}
@media(max-width:540px){.catalog-category-grid{grid-template-columns:1fr}.catalog-card-photo{height:235px}.catalog-specs>div{grid-template-columns:1fr;gap:var(--space-1)}.catalog-model{padding:var(--space-5)}.catalog-product-figure{height:250px;padding:var(--space-3)}.catalog-model-nav a{font-size:var(--fs-xs)}.catalog-gallery{grid-template-columns:1fr}.catalog-table-wrap th,.catalog-table-wrap td{padding:var(--space-3)}}
@media(prefers-reduced-motion:reduce){.catalog-category-card{transition:none}}

