:root{--catalog-navy:#071f49;--catalog-wine:#a8103f;--catalog-teal:#008f83;--catalog-line:#dce5ef;--catalog-muted:#68788e}
.catalog-page{background:#f5f8fb;color:#152a47}.catalog-hero{position:relative;overflow:hidden;padding:68px 0;background:linear-gradient(135deg,#071f49 0%,#123865 72%,#0a5d68 145%);color:#fff}.catalog-hero:before,.catalog-hero:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.18);border-radius:50%}.catalog-hero:before{width:460px;height:460px;right:-110px;top:-230px}.catalog-hero:after{width:280px;height:280px;right:19%;bottom:-215px}.catalog-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:52px;align-items:center}.catalog-hero .eyebrow{color:#9fe0d9}.catalog-hero h1{font-size:clamp(2.7rem,5.2vw,4.65rem);line-height:1.02;letter-spacing:-2px;margin:15px 0}.catalog-hero .lead{max-width:760px;color:#d8e5f2;font-size:1.08rem;line-height:1.7}.catalog-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.catalog-hero .btn-primary{background:#fff;color:#0a345d}.catalog-hero .btn-secondary{border-color:rgba(255,255,255,.4);color:#fff;background:rgba(255,255,255,.08)}.catalog-stat-card{display:flex;flex-direction:column;min-height:225px;justify-content:center;border:1px solid rgba(255,255,255,.24);border-radius:25px;background:rgba(255,255,255,.1);backdrop-filter:blur(9px);padding:28px;box-shadow:0 24px 55px rgba(0,0,0,.18)}.catalog-stat-card strong{font-size:3.25rem;line-height:1;color:#fff}.catalog-stat-card span{font-weight:850;margin:9px 0}.catalog-stat-card small{color:#cbd8e6;line-height:1.55}.catalog-explainer{padding:25px 0;border-bottom:1px solid var(--catalog-line);background:#fff}.catalog-explainer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.catalog-explainer article{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:flex-start;padding:14px;border:1px solid #e1e8f0;border-radius:16px}.catalog-explainer article>span{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#f7eaf0;color:var(--catalog-wine);font-weight:900;font-size:.73rem}.catalog-explainer b{font-size:.91rem}.catalog-explainer p{margin:4px 0 0;color:var(--catalog-muted);font-size:.75rem;line-height:1.5}.catalog-section{padding:62px 0 82px;scroll-margin-top:80px}.catalog-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:21px}.catalog-heading h2{font-size:2.25rem;letter-spacing:-.8px;margin:10px 0 0}.catalog-heading>p{margin:0;color:var(--catalog-muted);font-weight:800}.catalog-layout{display:grid;grid-template-columns:286px minmax(0,1fr);gap:18px;align-items:start}.catalog-filters{position:sticky;top:88px;display:grid;gap:13px;padding:18px;border:1px solid var(--catalog-line);border-radius:20px;background:#fff;box-shadow:0 10px 30px rgba(7,31,73,.05)}.catalog-filters label{display:grid;gap:6px}.catalog-filters label>span,.vaillant-quick-links>b{font-size:.67rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#5e7188}.catalog-filters input,.catalog-filters select{width:100%;min-height:44px;border:1px solid #cedbe8;border-radius:11px;padding:0 11px;background:#fff;color:#173451;font-weight:700}.catalog-reset{min-height:42px;border:1px solid #cad9e7;border-radius:10px;background:#f5f8fb;color:#31536f;font-weight:850;cursor:pointer}.catalog-source-note{margin:2px 0 0;padding-top:13px;border-top:1px solid #e8edf3;color:#718096;font-size:.69rem;line-height:1.55}.catalog-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.catalog-product{position:relative;display:flex;flex-direction:column;min-height:225px;border:1px solid var(--catalog-line);border-radius:19px;background:#fff;padding:17px;box-shadow:0 8px 22px rgba(7,31,73,.035)}.catalog-product:hover{border-color:#b9ccde;box-shadow:0 14px 31px rgba(7,31,73,.075)}.catalog-product-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.catalog-brand{font-size:.65rem;text-transform:uppercase;letter-spacing:.07em;font-weight:900;color:#087d74}.catalog-product h3{font-size:1rem;line-height:1.4;margin:5px 0 9px}.catalog-group{color:#708097;font-size:.72rem;line-height:1.45;margin:0 0 13px}.catalog-tags{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:13px}.catalog-tags span{border-radius:999px;background:#eef3f8;color:#456078;padding:5px 8px;font-size:.62rem;font-weight:750}.catalog-code-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto}.catalog-code{display:flex;flex-direction:column;border:1px solid #cfe1dc;background:#edf8f5;border-radius:9px;padding:7px 9px;color:#076d65}.catalog-code.manufacturer{background:#f3f6fa;border-color:#dbe3ec;color:#284c6b}.catalog-code small{font-size:.53rem;text-transform:uppercase;letter-spacing:.05em;color:inherit;opacity:.78}.catalog-code b{font-size:.76rem}.catalog-card-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.catalog-card-actions a,.catalog-card-actions button{border:1px solid #bed5d0;border-radius:9px;background:#fff;color:#08756c;padding:7px 9px;font-size:.67rem;font-weight:850}.catalog-more{display:block;width:100%;min-height:48px;margin-top:14px;border:1px solid #bdcddd;border-radius:13px;background:#fff;color:#254d6e;font-weight:900;cursor:pointer}.catalog-empty{grid-column:1/-1;padding:48px 25px;border:1px dashed #bdcbd9;border-radius:18px;text-align:center;background:#fff}.catalog-modal{position:fixed;inset:0;z-index:1200;display:none;place-items:center;padding:20px;background:rgba(5,22,48,.7)}.catalog-modal.open{display:grid}.catalog-modal-card{position:relative;width:min(760px,100%);max-height:90vh;overflow:auto;border-radius:24px;background:#fff;padding:30px;box-shadow:0 35px 90px rgba(0,0,0,.3)}.catalog-modal-card h2{font-size:2rem;margin:10px 0}.catalog-modal-card>p{color:#66778c;line-height:1.6}.catalog-modal-close{position:absolute;right:16px;top:14px;width:38px;height:38px;border:0;border-radius:50%;background:#edf2f7;color:#294a67;font-size:1.5rem;cursor:pointer}.catalog-guide-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:20px}.catalog-guide-grid button{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:70px;padding:14px;border:1px solid #d7e2ed;border-radius:14px;background:#f9fbfd;color:#1d3c5a;text-align:left;font-weight:850;cursor:pointer}.catalog-guide-grid button:hover{border-color:#b36b86;background:#fff5f8}.catalog-guide-grid small{display:block;color:#7a899a;font-weight:600;margin-top:3px;line-height:1.35}.vaillant-program-hero{background:linear-gradient(135deg,#005b55 0%,#008f83 57%,#057472 100%)}.vaillant-program-logo{display:block;width:min(250px,60%);height:auto;margin-bottom:25px;border-radius:10px;background:#fff;padding:8px 13px}.vaillant-stat{background:rgba(0,48,45,.22)}.vaillant-filters{border-top:4px solid var(--catalog-teal)}.vaillant-quick-links{display:grid;gap:6px;padding-top:12px;border-top:1px solid #e5ebf1}.vaillant-quick-links button{border:0;border-radius:9px;background:#edf8f6;color:#08756c;padding:9px 10px;text-align:left;font-size:.72rem;font-weight:800;cursor:pointer}.vaillant-catalog-page .catalog-brand{color:#008f83}.vaillant-catalog-page .catalog-product.accessory{border-left:4px solid #91c8c1}.catalog-status{font-size:.61rem;font-weight:850;border-radius:999px;background:#e9f5f3;color:#08756c;padding:5px 7px;white-space:nowrap}.catalog-status.accessory{background:#eef2f7;color:#5a6c81}.catalog-warranty-note{margin-top:10px;color:#7b8999;font-size:.64rem;line-height:1.4}
@media(max-width:1000px){.catalog-hero-grid{grid-template-columns:1fr 260px;gap:30px}.catalog-results{grid-template-columns:1fr}.catalog-explainer-grid{grid-template-columns:1fr 1fr}.catalog-explainer article:last-child{grid-column:1/-1}}
@media(max-width:760px){.catalog-hero{padding:48px 0}.catalog-hero-grid{grid-template-columns:1fr}.catalog-stat-card{min-height:0}.catalog-explainer-grid{grid-template-columns:1fr}.catalog-explainer article:last-child{grid-column:auto}.catalog-heading{align-items:flex-start;flex-direction:column}.catalog-layout{grid-template-columns:1fr}.catalog-filters{position:static}.catalog-guide-grid{grid-template-columns:1fr}}
@media(max-width:480px){.catalog-hero h1{font-size:2.45rem;letter-spacing:-1px}.catalog-heading h2{font-size:1.8rem}.catalog-modal-card{padding:25px 17px}.catalog-product{padding:15px}}
