/* Products page only; shared shell, banner and contact components are reused. */
.lh-catalog .lh-catalog-selection { padding-top:40px; }
.lh-catalog .lh-catalog-selection > .lh-stack { gap:32px; }
.lh-catalog .lh-catalog-modes { display:none; }
.lh-catalog .lh-catalog-browser[data-lh-filters='true'] .lh-catalog-modes { display:flex; }
.lh-catalog .lh-catalog-browser { display:grid; grid-template-columns:minmax(0,1fr); gap:36px; align-items:start; }
.lh-catalog .lh-catalog-category-nav { display:none; }
.lh-catalog .lh-catalog-browser[data-lh-filters='true'] .lh-catalog-category-nav:not([hidden]) { display:grid; grid-template-columns:44px minmax(0,1fr) 44px; align-items:center; gap:12px; }
.lh-catalog .lh-catalog-filters { display:flex; justify-content:safe center; gap:24px; overflow-x:auto; scroll-snap-type:x proximity; scroll-padding-inline:4px; scrollbar-width:none; padding:4px; }
.lh-catalog .lh-catalog-filters::-webkit-scrollbar { display:none; }
.lh-catalog .lh-catalog-filter { scroll-snap-align:start; }
.lh-catalog .lh-catalog-filter { cursor:pointer; }
.lh-catalog :is(.lh-catalog-filter,.lh-catalog-mode,.lh-catalog-category-nav button,.lh-catalog-pagination button,.lh-catalog-card a,.lh-catalog-table):focus-visible { outline:3px solid var(--lh-red); outline-offset:2px; }
.lh-catalog :is(.lh-catalog-mode,.lh-catalog-category-nav button,.lh-catalog-pagination button) { cursor:pointer; }
.lh-catalog .lh-catalog-results { min-width:0; }
.lh-catalog .lh-catalog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px 24px; }
.lh-catalog .lh-catalog-card { min-width:0; height:396px; display:flex; flex-direction:column; }
.lh-catalog .lh-catalog-browser .lh-catalog-card { height:auto; }
.lh-catalog .lh-catalog-card[hidden],.lh-catalog .lh-catalog-empty[hidden] { display:none; }
.lh-catalog .lh-catalog-filter[hidden] { display:none; }
.lh-catalog .lh-catalog-card > figure { height:257.5px; margin:0; flex:1 1 auto; min-height:0; }
.lh-catalog .lh-catalog-browser .lh-catalog-card > figure { height:auto; aspect-ratio:7/4; flex:0 0 auto; }
.lh-catalog .lh-catalog-card-copy { flex-shrink:0; }
.lh-catalog .lh-catalog-card-copy p { height:calc(3 * var(--lh-paragraph-font-size) * var(--lh-paragraph-line-height)); overflow:hidden; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; }
.lh-catalog .lh-catalog-browser .lh-catalog-card-copy p { height:auto; min-height:calc(3 * var(--lh-paragraph-font-size) * var(--lh-paragraph-line-height)); }
.lh-catalog .lh-catalog-specs .lh-stack { gap:48px; }
.lh-catalog .lh-catalog-specs .lh-catalog-intro { max-width:none; width:100%; }
.lh-catalog .lh-catalog-table-wrap { display:flex; flex-direction:column; gap:20px; }
.lh-catalog .lh-catalog-table table { min-width:1050px; }
.lh-catalog .lh-catalog-table th:nth-child(1) { width:12.34%; }
.lh-catalog .lh-catalog-table th:nth-child(2) { width:23.9%; }
.lh-catalog .lh-catalog-table th:nth-child(3) { width:16.6%; }
.lh-catalog .lh-catalog-table th:nth-child(4) { width:14.15%; }
.lh-catalog .lh-catalog-table th:nth-child(5) { width:9.2%; }
.lh-catalog .lh-catalog-table th:nth-child(6) { width:23.81%; }
.lh-catalog .lh-catalog-benefits { padding-block:100px; }
.lh-catalog .lh-catalog-benefits > .lh-container { gap:100px; }
.lh-catalog .lh-catalog-benefits-body { display:flex; flex-direction:column; gap:60px; }
.lh-catalog .lh-catalog-benefits-header { display:grid; grid-template-columns:432px minmax(0,1fr); gap:60px; }
.lh-catalog .lh-catalog-benefits-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:20px; }
.lh-catalog .lh-catalog-benefit { min-height:305px; }
.lh-catalog .lh-contact-panel { grid-template-columns:487px minmax(0,1fr); border-radius:8.58px; }
.lh-catalog .lh-contact-panel > figure { padding:0; position:relative; overflow:hidden; border-radius:5.28px; min-height:325px; }
.lh-catalog .lh-contact-panel > figure img { position:absolute; width:128.08%; max-width:none; height:100%; left:-7.35%; object-fit:cover; border-radius:0; }
.lh-catalog .lh-contact-panel > .lh-copy { padding:40px; }
@media(max-width:1100px) {
 .lh-catalog .lh-catalog-mode { padding:12px; gap:10px; font-size:13px; }
 .lh-catalog .lh-catalog-browser .lh-catalog-card-copy { padding:16px; }
 .lh-catalog .lh-catalog-benefits-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .lh-catalog .lh-catalog-benefits-header { grid-template-columns:1fr 1.5fr; gap:30px; }
 .lh-catalog .lh-contact-panel { grid-template-columns:36% minmax(0,1fr); }
}
@media(max-width:1024px) {
 .lh-catalog .lh-catalog-selection { padding-top:30px; }
 .lh-catalog :is(h1,h2) { font-family:'Be Vietnam Pro',sans-serif; }
 .lh-catalog .lh-catalog-selection > .lh-stack { gap:24px; }
 .lh-catalog .lh-catalog-browser { gap:28px; }
 .lh-catalog .lh-catalog-browser[data-lh-filters='true'] .lh-catalog-modes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
 .lh-catalog .lh-catalog-mode { display:grid; grid-template-rows:20px minmax(2.8em,auto); align-content:center; justify-items:center; gap:6px; min-height:84px; padding:10px 6px; font-size:13px; line-height:1.4; text-align:center; text-wrap:balance; overflow-wrap:break-word; }
 .lh-catalog .lh-catalog-mode .dashicons { width:20px; height:20px; font-size:20px; }
 .lh-catalog .lh-catalog-filter { flex-basis:108px; font-size:13px; gap:12px; }
 .lh-catalog .lh-catalog-filter-image { flex-basis:76px; width:76px; height:76px; }
 .lh-catalog .lh-catalog-filters { gap:16px; }
 .lh-catalog .lh-catalog-browser[data-lh-filters='true'] .lh-catalog-category-nav { gap:6px; }
 .lh-catalog .lh-catalog-grid { grid-template-columns:1fr; gap:24px 16px; }
 .lh-catalog .lh-catalog-benefits { padding-block:50px; }
 .lh-catalog .lh-catalog-benefits > .lh-container { gap:50px; }
 .lh-catalog .lh-catalog-benefits-header,.lh-catalog .lh-catalog-benefits-grid { grid-template-columns:1fr; gap:24px; }
 .lh-catalog .lh-catalog-benefit { min-height:0; gap:24px; }
 .lh-catalog .lh-contact-panel { display:flex; }
 .lh-catalog .lh-contact-panel > figure { min-height:0; aspect-ratio:487/325; }
 .lh-catalog .lh-contact-panel > .lh-copy { padding:30px 20px; }
 .lh-catalog .lh-catalog-browser .lh-catalog-card-copy p { min-height:0; }
}
