/* Dense catalogue: desktop scans three solutions at once. */
.page-products .catalog-card-wide{grid-column:auto}
.card-details-toggle{display:none}
@media(min-width:1061px){
  .page-products .catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
  .page-products .catalog-image,.page-products .catalog-card-wide .catalog-image{height:154px;min-height:154px}
  .page-products .catalog-body{padding:19px}
  .page-products .catalog-body h2{font-size:23px;line-height:1.05}
  .page-products .catalog-body>p{min-height:56px;font-size:12px}
  .page-products .catalog-body ul{margin:10px 0}
  .page-products .catalog-body li{padding:5px 8px}
  .page-products .catalog-body li:nth-child(n+3){display:none}
  .page-products .card-footer{padding-top:10px;gap:7px}
  .page-products .card-footer span{font-size:9px}
}
@media(min-width:621px) and (max-width:1060px){
  .page-products .catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .page-products .catalog-card-wide{grid-column:auto}
}
@media(max-width:620px){
  .page-products .catalog-grid{grid-template-columns:1fr;gap:12px}
  .page-products .catalog-image,.page-products .catalog-card-wide .catalog-image{height:150px;min-height:150px}
  .page-products .catalog-body{padding:18px}
  .page-products .catalog-body h2{font-size:23px;margin:0}
  .page-products .catalog-body>p:not(.product-type),
  .page-products .catalog-body ul,
  .page-products .catalog-body .card-footer{display:none}
  .page-products .catalog-card.is-expanded .catalog-body>p:not(.product-type){display:block;margin:12px 0 0;min-height:0}
  .page-products .catalog-card.is-expanded .catalog-body ul{display:flex;margin:13px 0 0}
  .page-products .catalog-card.is-expanded .catalog-body .card-footer{display:flex;margin-top:14px}
  .card-details-toggle{display:inline-flex;align-items:center;gap:7px;margin-top:13px;padding:0;border:0;background:transparent;color:var(--red);font:800 11px/1 DM Sans,sans-serif;letter-spacing:.02em;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
  .card-details-toggle:after{content:"↓";font-size:14px;transition:transform 160ms ease}
  .catalog-card.is-expanded .card-details-toggle:after{transform:rotate(180deg)}
}

/* Keep the desktop catalogue introduction concise; smaller screens retain natural wrapping. */
@media(min-width:1061px){
  .page-products .page-hero{padding-top:38px;padding-bottom:34px}
  .page-products .page-hero h1{font-size:clamp(42px,3.45vw,58px);max-width:none;white-space:nowrap;letter-spacing:-.055em}
  .page-products .page-hero p:last-child{margin:12px 0 0;max-width:820px}
}
