/* Client catalogue content, using the site's existing palette and layouts. */
.client-catalog .product-card { display: flex; flex-direction: column; }
.client-catalog .product-card .product-img { flex-shrink: 0; }
.client-catalog .product-card .product-info { display: flex; flex-direction: column; flex: 1; min-width: 0; }
.client-catalog .product-description { margin: 8px 0 22px; font-size: 20px; line-height: 1.6; color: var(--muted); overflow-wrap: anywhere; }
.client-catalog .product-info .arrow { margin-top: auto; }
.client-catalog .catalog-3d-ring .product-description { color: #e0e7d9; }
.client-catalog .catalog-3d-ring .product-img { height: 210px; }
.client-catalog img[src*="/catalog/illustrations/"] { object-fit: contain; background: #faf6ed; }
.catalog-illustration-note { font-size: 16px; line-height: 1.6; color: var(--muted); padding-block: 24px; }
.illustration-badge { position: absolute; bottom: 10px; inset-inline-end: 10px; padding: 4px 8px; border-radius: 6px; background: #f8fbf4ed; color: #314a37; font-size: 12px; line-height: 1.4; }
@media(max-width:600px) {
 .client-catalog .catalog-tabs-section .product-grid.tab-grid { grid-template-columns: 1fr; }
 .client-catalog .catalog-tabs-section .product-grid.tab-grid .product-img,
 .client-catalog .catalog-tabs-section .product-grid.tab-grid .product-card:first-child .product-img { height: 220px; }
 .client-catalog .catalog-3d-ring .product-img { height: 150px; }
 .client-catalog .catalog-3d-ring .product-description { font-size: 18px; line-height: 1.45; margin-bottom: 14px; }
}
.client-catalog .product-hero img.catalog-product-photo,
.product-img img[src*="/catalog/products/"],
.hero-item img[src*="/catalog/products/"],
.chip img[src*="/catalog/products/"] { object-fit: contain; background: #f7f3df; }
.catalog-tools { display: flex; align-items: end; justify-content: space-between; gap: 24px; flex-wrap: wrap; margin-bottom: 28px; }
.catalog-tools label { display: grid; gap: 8px; font-size: 14px; font-weight: 600; }
.catalog-tools input { width: min(360px, 100%); padding: 12px 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-2); color: var(--ink); }
.catalog-fact { padding: 22px 0; border-top: 1px solid var(--line); }
.catalog-fact h3 { margin: 0 0 10px; }
.catalog-fact p { margin: 0; line-height: 1.8; }
.catalog-table-wrap { max-width: 100%; overflow-x: auto; margin: 22px 0; border: 1px solid var(--line); border-radius: 18px; background: var(--surface-2); }
.catalog-data-table { border-collapse: collapse; width: 100%; text-align: start; font-size: 16px; color: var(--ink); }
.catalog-data-table caption { padding: 18px; text-align: start; font-size: 23px; font-weight: 600; }
.catalog-data-table th,.catalog-data-table td { padding: 16px 20px; border-top: 1px solid var(--line); text-align: start; vertical-align: top; line-height: 1.5; }
.catalog-data-table thead { background: var(--green); color: #fffdf5; }
.catalog-data-table tbody th { font-weight: 500; }
.catalog-data-table a { text-decoration: underline; text-underline-offset: 4px; }
.catalog-varieties { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(240px,100%),1fr)); gap: 22px; }
.catalog-varieties figure { margin: 0; overflow: hidden; border-radius: 18px; background: var(--surface-2); border: 1px solid var(--line); }
.catalog-varieties img { width: 100%; height: 240px; object-fit: contain; background: #f7f3df; padding: 12px; display: block; }
.catalog-varieties figcaption { padding: 16px 20px; font-weight: 500; }
.catalog-source { margin: 26px 0; padding: 18px; border: 1px solid var(--line); border-radius: 16px; }
.catalog-source summary { cursor: pointer; font-size: 18px; font-weight: 500; }
.catalog-source img { display: block; width: 100%; height: auto; max-width: 840px; margin: 20px auto 0; }
.catalog-contacts { margin-bottom: 30px; }
.catalog-contacts a { overflow-wrap: anywhere; text-decoration: underline; text-underline-offset: 4px; }
.client-catalog .product-grid [hidden] { display: none !important; }
.client-catalog .catalog-hero .product-img img { object-fit: contain; }
@media(max-width:600px) {
 .catalog-data-table th,.catalog-data-table td { padding: 12px; font-size: 14px; min-width: 110px; }
 .catalog-tools { align-items: stretch; }
 .catalog-tools label,.catalog-tools input { width: 100%; }
 .catalog-varieties { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
 .catalog-varieties img { height: 170px; }
 .catalog-varieties figcaption { padding: 12px; }
}
.client-catalog .catalog-tabs-section .tabs { border-radius: 24px; }
.client-catalog .catalog-tabs-section .tab { white-space: normal; text-align: start; max-width: 100%; }
