.catalog-search { padding: var(--space-5); background: var(--color-surface); border: var(--border); border-radius: var(--radius-md); margin-bottom: var(--space-7); }
.catalog-search label { font-weight: 700; display: block; margin-bottom: var(--space-2); }
.catalog-search-controls { display: flex; gap: var(--space-3); }
.catalog-search input { flex: 1; min-width: 0; min-height: 48px; padding: var(--space-3); border: 1px solid var(--color-control-border); border-radius: var(--radius-sm); background: var(--color-white); color: var(--color-text); }
.catalog-search p { color: var(--color-muted); font-size: var(--text-sm); margin-top: var(--space-3); }
.catalog-search .button { flex-shrink: 0; }
.catalog-results { margin-block: var(--space-7); }
.product-card-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
.product-card-grid .card-image { width: 100%; aspect-ratio: 8 / 5; object-fit: cover; background: var(--color-surface); border-bottom: var(--border); }
.product-card-grid .text-link { margin-top: auto; }
.product-hero { display: grid; gap: var(--space-6); align-items: start; }
.product-figure { margin: 0; min-width: 0; border: var(--border); border-radius: var(--radius-md); overflow: hidden; background: var(--color-surface); }
.product-figure img { display: block; width: 100%; aspect-ratio: 1; max-height: 28rem; object-fit: cover; }
.product-figure figcaption { padding: var(--space-3) var(--space-4); color: var(--color-muted); font-size: var(--text-xs); background: var(--color-white); border-top: var(--border); }
.product-summary > * + * { margin-top: var(--space-5); }
.product-lead { font-size: var(--text-lg); }
.product-summary h2 { font-size: var(--text-h3); }
.product-features { padding-left: 1.25rem; }
.product-features li + li { margin-top: var(--space-2); }
.product-color-link p { font-size: var(--text-sm); }
.product-section { min-width: 0; margin-top: var(--space-7); }
.product-section > h2 { margin-bottom: var(--space-5); }
.product-overview { display: grid; gap: var(--space-6); }
.technical-table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: var(--text-sm); }
.technical-table caption { text-align: left; color: var(--color-muted); margin-bottom: var(--space-4); }
.technical-table th, .technical-table td { text-align: left; vertical-align: top; padding: var(--space-3); border-bottom: var(--border); overflow-wrap: anywhere; }
.technical-table th:first-child { width: 35%; }
.technical-table thead { background: var(--color-anthracite); color: var(--color-white); }
.technical-table tbody th { font-weight: 650; background: var(--color-surface); }
.spec-note { display: block; font-size: var(--text-xs); margin-top: var(--space-2); color: var(--color-muted); }
.product-reading { max-width: 70rem; }
.prose { overflow-wrap: anywhere; }
.prose p + p, .prose p + ul, .prose p + ol { margin-top: var(--space-4); }
.prose ul, .prose ol { padding-left: 1.25rem; }
.prose li + li { margin-top: var(--space-2); }
.prose h4 { margin-block: var(--space-5) var(--space-3); font-size: var(--text-base); }
.prose pre, .prose code { white-space: pre-wrap; overflow-wrap: anywhere; }
.prose table { width: 100%; table-layout: fixed; border-collapse: collapse; }
.prose td, .prose th { padding: var(--space-2); border: var(--border); overflow-wrap: anywhere; }
.product-description-section + .product-description-section { margin-top: var(--space-6); padding-top: var(--space-6); border-top: var(--border); }
.product-description-section > h3 { margin-bottom: var(--space-4); }
.product-faq { border-top: var(--border); }
.product-faq details { border-bottom: var(--border); padding-block: var(--space-2); }
.product-faq summary { padding: var(--space-3) var(--space-2); font-weight: 650; cursor: pointer; overflow-wrap: anywhere; }
.product-faq .prose { padding: var(--space-3) var(--space-5) var(--space-5); }
.product-quote .availability-note { margin-top: var(--space-4); color: var(--color-muted); font-size: var(--text-sm); }
@media (min-width: 40rem) {
    .product-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 48rem) {
    .product-hero { grid-template-columns: 1fr 1.1fr; }
    .product-overview { grid-template-columns: 1fr 1.1fr; }
}
@media (min-width: 72rem) {
    .product-card-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
