/* Unified color roles. Shell styling lives only in shared/shell.css. */
.pump-category { --ink: var(--apex-text-primary); --warm: var(--apex-surface-subtle); background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: var(--apex-surface-default); color: var(--ink); }
.pump-category .catalog { padding-top: 128px; }
.pump-category .catalog-heading { margin-bottom: 30px; align-items: end; }
.pump-category .catalog-heading h1 { font-size: clamp(58px, 5.3vw, 88px); letter-spacing: -0.055em; line-height: 1.06; }
.pump-category .catalog-intro { color: var(--body); font-size: 16px; line-height: 1.8; }
.series-jumps { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 36px; }
.series-jumps a { display: inline-flex; align-items: center; gap: 28px; padding: 11px 18px; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: var(--apex-surface-subtle); border-width: 1px; border-style: solid; border-top-color: var(--apex-border-subtle); border-right-color: var(--apex-border-subtle); border-bottom-color: var(--apex-border-subtle); border-left-color: var(--apex-border-subtle); border-image: none; border-radius: 8px; color: var(--navy); font-size: 14px; transition: background 0.2s, color 0.2s; }
.series-jumps a:hover { background: var(--navy); color: var(--apex-text-inverse); }
.pump-directory { display: grid; gap: 30px; scroll-margin-top: 108px; }
.series-row { display: grid; grid-template-columns: clamp(170px, 18vw, 290px) minmax(0px, 1fr); gap: 30px; padding: clamp(25px, 2.8vw, 46px); background: var(--warm); border-radius: 18px; scroll-margin-top: 108px; }
.series-label { padding-top: 8px; }
.series-label h2 { font-size: clamp(30px, 2.8vw, 46px); letter-spacing: -0.045em; line-height: 1.15; margin-top: 20px; }
.series-total { font-size: 13px; color: var(--body); margin-top: 16px; }
.model-grid { display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 18px; }
.pump-category .pump-item { text-align: left; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: var(--apex-surface-default); border-radius: 12px; overflow: hidden; padding: 0px 20px 14px; }
.pump-category .product-image { height: clamp(155px, 22vh, 230px); padding: 24px 0px 12px; }
.pump-category .product-image img { max-width: 94%; height: 100%; object-fit: contain; }
.pump-category .pump-item h3 { font-size: clamp(17px, 1.35vw, 22px); margin-top: 10px; }
.pump-category .connector { display: block; border: 0px; padding: 0px; margin: 7px 0px 12px; font-size: 13px; }
.pump-category .product-link { display: flex; justify-content: space-between; border-top-width: 1px; border-top-style: solid; border-top-color: var(--apex-border-subtle); font-size: 13px; padding: 12px 0px 0px; }
.pump-category .compare-section { padding-top: 64px; }
.pump-category .enquiry { background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: var(--apex-surface-subtle); margin-top: 52px; }
.pump-category .enquiry h2 { letter-spacing: -0.045em; }
@media (max-width: 1050px) {
.series-row { grid-template-columns: 1fr; gap: 24px; }
.series-label { display: flex; align-items: baseline; gap: 20px; flex-wrap: wrap; }
.series-label h2 { margin: 0px; }
.series-label .eyebrow { order: 2; }
.series-total { margin: 0px 0px 0px auto; order: 3; }
.pump-category .product-image { height: 190px; }
}
@media (max-width: 700px) {
.pump-category .catalog { padding-top: 108px; }
.pump-category .catalog-heading { align-items: start; flex-direction: column; gap: 20px; }
.pump-category .catalog-heading h1 { font-size: 52px; }
.pump-category .catalog-intro { font-size: 14px; }
.series-row { padding: 22px; gap: 20px; }
.model-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 12px; }
.pump-category .product-image { height: 150px; }
.pump-category .pump-item { padding: 0px 12px 12px; }
.series-label { gap: 10px; }
.series-label h2 { font-size: 28px; }
.series-label .eyebrow { font-size: 10px; }
.series-jumps a { gap: 14px; padding: 10px 12px; }
.pump-category .compare-section { padding-top: 40px; }
}
@media (max-width: 420px) {
.model-grid { grid-template-columns: 1fr; }
.pump-category .product-image { height: 185px; }
.series-total { width: 100%; margin: 0px; }
.series-jumps { gap: 6px; }
.series-jumps a { font-size: 12px; }
}