/* Shared parts cards: consistent image, content and purchase areas. */
.hub-catalogue .hc-grid{align-items:stretch;gap:20px;grid-template-columns:repeat(auto-fill,minmax(min(100%,255px),1fr))}
.hub-catalogue .hc-grid article{display:flex;flex-direction:column;min-width:0;padding:18px;border-radius:14px;font-family:Montserrat,Arial,sans-serif;color:#173b50;overflow:hidden}
.hub-catalogue .hc-grid .hc-photo{width:100%;aspect-ratio:4/3;background:#f5f8fa;border-radius:9px;display:grid;place-items:center;overflow:hidden;margin-bottom:18px}
.hub-catalogue .hc-grid .hc-photo img{width:100%;height:100%;max-height:230px;object-fit:contain;padding:14px;background:transparent;border-radius:0}
.hub-catalogue .hc-category{display:block;font:600 11px/1.5 Montserrat,Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#607d8d;margin-bottom:8px}
.hub-catalogue .hc-grid article h3{font:800 20px/1.3 Montserrat,Arial,sans-serif;text-transform:none;letter-spacing:-.025em;margin:0 0 12px;min-height:2.6em;color:#173b50;overflow-wrap:anywhere}
.hub-catalogue .hc-grid article p{font:400 14px/1.65 Montserrat,Arial,sans-serif;color:#496576;margin:0 0 14px;white-space:pre-wrap}
.hub-catalogue .hc-content{padding:0 2px 8px}
.hub-catalogue .hc-grid article details{margin:6px 0 12px;padding:0;border:0;background:none;font:500 13px/1.6 Montserrat,Arial,sans-serif}
.hub-catalogue .hc-grid article summary{font:600 13px/1.6 Montserrat,Arial,sans-serif;padding:0;cursor:pointer;color:#275974}
.hub-catalogue .hc-purchase{margin-top:auto;border-top:1px solid #e1eaf0;padding-top:17px;display:flex;flex-direction:column;gap:12px}
.hub-catalogue .hc-availability{font:400 12px/1.5 Montserrat,Arial,sans-serif;color:#68808e}
.hub-catalogue .hc-grid .hc-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:5px 7px;margin:0 0 5px;color:#12678e;line-height:1.2}
.hub-catalogue .hc-price strong{font:800 28px/1.2 Montserrat,Arial,sans-serif;letter-spacing:-.035em;white-space:nowrap;color:#12678e}
.hub-catalogue .hc-price .hc-unit{font:500 13px/1.4 Montserrat,Arial,sans-serif;color:#536f80;white-space:nowrap}
.hub-catalogue .hc-price .hc-tax{font:400 12px/1.4 Montserrat,Arial,sans-serif;color:#6c7f8b;letter-spacing:0;text-transform:none;white-space:nowrap}
.hub-catalogue .hc-price .hc-contact-price{font-size:19px;letter-spacing:-.02em;white-space:normal}
.hub-catalogue .hc-spec-link{font:500 12px/1.5 Montserrat,Arial,sans-serif;color:#34728e;text-underline-offset:3px}
.hub-catalogue .hc-purchase button{width:100%;margin:3px 0 0;padding:13px 10px;min-height:47px;font:700 13px/1.5 Montserrat,Arial,sans-serif;text-transform:none;border-radius:7px;background:#156fa0;border-color:#156fa0;color:white}
.hub-catalogue .hc-purchase button:hover{background:#114e72;border-color:#114e72}
.hub-catalogue .hc-purchase button:focus-visible{outline:3px solid #e8ad29;outline-offset:3px}
@media(max-width:600px){.hub-catalogue .hc-grid{gap:16px}.hub-catalogue .hc-grid article{padding:17px}.hub-catalogue .hc-grid article h3{min-height:0}.hub-catalogue .hc-grid .hc-photo{aspect-ratio:3/2}.hub-catalogue .hc-price strong{font-size:29px}}

.hub-catalogue .hc-photo-caption{display:block;padding:5px 8px;color:#516c7d;font:400 11px/1.45 Montserrat,Arial,sans-serif;letter-spacing:0;text-transform:none;background:#f3f7fa}.hub-catalogue .hc-grid .hc-photo{position:relative;display:flex;flex-direction:column;justify-content:center}.hub-catalogue .hc-grid .hc-photo img{min-height:0;flex:1;object-fit:contain}

.compact-accessory-catalogue { scroll-margin-top: 105px; }
/* Compact accessory cards on the Atlas and roof racks pages. */
.hub-catalogue.compact-accessory-catalogue { padding: clamp(16px, 2.4vw, 24px); }
.hub-catalogue.compact-accessory-catalogue .hc-grid { grid-template-columns: repeat(2, minmax(0, 340px)); gap: 14px; }
.hub-catalogue.compact-accessory-catalogue .hc-grid article { padding: 12px; }
.hub-catalogue.compact-accessory-catalogue .hc-grid .hc-photo { aspect-ratio: auto; height: 150px; margin-bottom: 10px; }
.hub-catalogue.compact-accessory-catalogue .hc-grid article h3 { min-height: 0; margin-bottom: 6px; font-size: 19px; }
.hub-catalogue.compact-accessory-catalogue .hc-grid article p { margin-bottom: 8px; font-size: 13px; }
.hub-catalogue.compact-accessory-catalogue .hc-purchase { gap: 7px; padding-top: 9px; }
.hub-catalogue.compact-accessory-catalogue .hc-price strong { font-size: 25px; }
.hub-catalogue.compact-accessory-catalogue .hc-gallery { margin: 0 0 9px; }
.hub-catalogue.compact-accessory-catalogue .hc-gallery a { width: 62px; height: 44px; }
.hub-catalogue .hc-grid .hc-atlas-photo img { object-fit: cover; padding: 0; max-height: none; }
.hub-catalogue .hc-gallery { display: flex; gap: 8px; margin: -6px 0 14px; }
.hub-catalogue .hc-gallery a { display: block; width: 88px; height: 66px; overflow: hidden; border-radius: 6px; }
.hub-catalogue .hc-grid .hc-gallery img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 650px) {
  .hub-catalogue.compact-accessory-catalogue .hc-grid { grid-template-columns: 1fr; }
}
