/* Category-first catalogue. Product detail viewers retain their existing styles. */
.category-hub,.catalog-browser{max-width:1600px;margin-inline:auto}
body:has(.category-hub) .category-nav{display:none}
.category-hub .page-heading{align-items:flex-end;margin-bottom:42px}
.category-hub h1,.catalog-browser h1{font-size:clamp(32px,3.2vw,48px);line-height:1.12;letter-spacing:-1.3px}
.family-section{margin:0 0 48px}.family-section>h2{font-size:23px;border-top:1px solid var(--line);padding-top:22px;margin:0 0 20px}
.family-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.family-card{display:flex;flex-direction:column;border:1px solid var(--line);text-decoration:none;background:#fff;transition:border-color .15s,transform .15s;min-width:0}
.family-card:hover{border-color:#777;transform:translateY(-2px)}.family-card:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.family-card .product-art{aspect-ratio:2.3;background:#f5f6f7;padding:18px;margin:0;border:0;width:100%;height:auto}
.family-card .product-art img{object-fit:contain;max-height:100%;width:100%;height:100%;padding:0}
.family-copy{padding:20px;display:flex;flex-direction:column;flex:1}
.family-copy h3{font-size:20px;letter-spacing:-.3px;margin:0 0 8px}
.family-copy p{font-size:14px;color:var(--muted);line-height:1.55;margin:0 0 18px}
.family-meta{display:flex;align-items:center;justify-content:space-between;font-size:13px;margin-top:auto}.family-meta svg{width:20px;height:20px}
.component-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.family-compact .product-art,.family-symbol{height:130px;aspect-ratio:auto;background:#f5f6f7}
.family-symbol{display:flex;align-items:center;justify-content:center;gap:10px;font-size:30px;position:relative;padding-bottom:22px;font-weight:600;letter-spacing:-1px}
.family-symbol span{color:#aaa;font-weight:300}.family-symbol small{position:absolute;bottom:26px;font-size:10px;letter-spacing:3px;color:var(--muted)}
.catalog-help{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 0;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}
.catalog-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:36px}
.catalog-browser .page-heading{margin-bottom:32px}.catalog-browser .breadcrumb{margin-bottom:24px}
.filter-rail{align-self:start;border-top:1px solid var(--ink)}
.filter-disclosure>summary{padding:18px 0;font-weight:600;font-size:18px;list-style:none;display:flex;align-items:center;justify-content:space-between}
.filter-disclosure>summary svg{width:16px;height:16px;transform:rotate(90deg)}
.filter-disclosure[open]>summary svg{transform:rotate(-90deg)}
.filter-reset{border:0;background:transparent;text-decoration:underline;color:var(--muted);font-size:12px;cursor:pointer;padding:5px 0 15px}
.filter-body fieldset{padding:20px 0;margin:0;border:0;border-top:1px solid var(--line);min-width:0}
.filter-body legend{float:left;width:100%;font-size:14px;font-weight:600;margin-bottom:14px}
.facet-option{display:flex;align-items:center;gap:9px;clear:both;min-height:38px;font-size:14px;cursor:pointer}
.facet-option input{width:17px;height:17px;accent-color:var(--ink);flex:none;margin:0}
.facet-option small{margin-inline-start:auto;color:#888;font-size:12px}
.power-inputs{display:flex;gap:8px;align-items:center;clear:both}
.power-inputs label{flex:1;min-width:0;font-size:11px;color:var(--muted)}
.power-inputs input{width:100%;height:42px;border:1px solid #ccc;background:#fff;padding:8px;margin-top:5px;font:inherit;font-size:14px;color:var(--ink);border-radius:2px}
.filter-help{font-size:12px;line-height:1.6;color:var(--muted);clear:both;margin:12px 0 0}
.filter-back{margin-top:24px;display:inline-flex;font-size:13px}
.range-error{font-size:12px;color:#a21c1c;line-height:1.5}
.catalog-list{min-width:0}.catalog-search{display:flex;gap:18px;align-items:center}.catalog-search .search-form{flex:1;max-width:none;min-width:0;width:auto}
.catalog-search select{height:48px;border:1px solid var(--line);background:#fff;padding:0 12px;max-width:150px;color:var(--ink)}
.catalog-list .toolbar{padding:14px 0;border-bottom:0;min-height:52px;margin:0;font-size:13px}
.catalog-list .product-grid{gap:28px 20px;grid-template-columns:repeat(3,minmax(0,1fr))}
.catalog-list .product-card{min-width:0;display:flex;flex-direction:column}.catalog-list .product-card h2{font-size:17px;overflow-wrap:anywhere}
.catalog-list .product-card .product-art{aspect-ratio:1.55;width:100%;height:auto}
.catalog-list .product-card .summary{font-size:13px;line-height:1.55}
.catalog-list .product-actions{margin-top:auto;padding-top:14px;gap:12px;flex-wrap:wrap;font-size:12px}
.card-facts{margin:0 0 10px;font-size:12px;line-height:1.55;border-top:1px solid var(--line);padding-top:9px}
.card-facts div{display:flex;gap:12px;justify-content:space-between;padding:3px 0}.card-facts dt{color:var(--muted)}.card-facts dd{margin:0;text-align:end}
.active-filters{display:flex;gap:8px;flex-wrap:wrap}.active-filters:not(:empty){margin:0 0 20px}
.active-filters button{border:1px solid #ccc;background:#f6f6f6;border-radius:3px;font-size:12px;padding:8px 10px;cursor:pointer;color:var(--ink)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.chip-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
.chip-card{border:1px solid var(--line);padding:24px}.chip-card h2{font-size:25px;margin:8px 0 12px}
.chip-card>p{font-size:14px;line-height:1.65;color:var(--muted)}
.chip-family-art{height:190px;background:#f5f6f7;display:flex;align-items:center;justify-content:center;flex-direction:column;margin:-24px -24px 24px}
.chip-family-art>span{font-size:58px;font-weight:600;letter-spacing:-3px}.chip-family-art>small{font-size:12px;letter-spacing:3px;color:var(--muted)}
.chip-family-art img{width:100%;height:100%;object-fit:contain}
.chip-options{display:flex;flex-wrap:wrap;gap:6px}.chip-options span{font-size:12px;border:1px solid var(--line);padding:6px 9px}
.chip-card .product-actions{padding-top:22px}
@media(min-width:761px){.filter-disclosure>summary svg{display:none}}
@media(max-width:1100px){.catalog-layout{grid-template-columns:200px minmax(0,1fr);gap:24px}.catalog-list .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.family-copy h3{font-size:18px}}
@media(max-width:760px){.family-grid,.component-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.family-copy{padding:14px}.family-copy h3{font-size:17px}.family-copy p{font-size:12px}.category-hub .page-heading{align-items:stretch;gap:24px}.category-hub .search-form{width:100%;max-width:none}.catalog-layout{display:block}.filter-rail{margin-bottom:20px;border-bottom:1px solid var(--line)}.filter-disclosure>summary{cursor:pointer;padding:14px 0}.filter-body{padding-bottom:22px}.filter-body fieldset{padding:15px 0}.catalog-help{display:block}.catalog-help .text-link{margin-top:14px}.catalog-search{gap:10px}.catalog-search select{max-width:115px;font-size:12px}.chip-grid{grid-template-columns:1fr}.catalog-list .product-grid{gap:24px 14px}.catalog-list .product-card h2{font-size:15px}.catalog-list .product-actions{font-size:11px}.card-facts div{display:block}.card-facts dd{text-align:start}.family-compact .product-art,.family-symbol{height:100px}.family-symbol{font-size:23px}.family-symbol small{bottom:15px}}
@media(max-width:420px){.component-grid{grid-template-columns:1fr}.family-compact{flex-direction:row}.family-compact .product-art,.family-compact .family-symbol{width:110px;min-width:110px;height:auto}.family-compact .family-symbol{font-size:17px;gap:4px}.family-compact .family-symbol small{font-size:8px}.family-compact .family-copy{padding:16px}.family-compact .family-copy p{margin-bottom:12px}}
@media(max-width:520px){.catalog-list .product-grid{grid-template-columns:1fr}.catalog-list .product-card h2{font-size:21px}.catalog-list .product-card .product-art{aspect-ratio:1.8}.card-facts div{display:flex}.card-facts dd{text-align:end}}
@media(max-width:760px){body:has(.catalog-browser) .category-nav{display:flex;overflow-x:auto;white-space:nowrap;justify-content:flex-start;min-height:52px;gap:22px;padding:0 24px}body:has(.catalog-browser) .category-nav a{flex:none;padding:17px 0}.category-hub .page-heading{padding-bottom:0;margin-bottom:28px}}

/* Technical highlights: long values must wrap inside their own grid cell. */
.detail-copy .specs{min-width:0}
.detail-copy .spec{min-width:0;max-width:100%}
.detail-copy .spec strong{display:block;max-width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.3}
.detail-copy .spec span{overflow-wrap:anywhere;line-height:1.45}
