/* Products page: page-specific selectors deliberately override the homepage catalogue CTA. */
.products-hero{position:relative;background:linear-gradient(112deg,rgba(5,48,69,.96),rgba(12,116,129,.84)),url('assets/products/autoclave.jpg') center/cover;min-height:290px;display:flex;align-items:center;color:#fff}
.page-hero-inner{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;padding:62px 0}
.page-hero h1{max-width:700px;margin:8px 0 12px;font-size:clamp(2rem,4vw,3.25rem);line-height:1.08;color:#fff}
.page-hero p{max-width:650px;color:rgba(255,255,255,.82);font-size:1rem}
.light-kicker{color:#8fe0e3!important}.breadcrumb{display:flex;gap:9px;white-space:nowrap;color:rgba(255,255,255,.78)}.breadcrumb a{color:#fff}
.product-intro{padding:58px 0 48px}.intro-split{display:grid;grid-template-columns:.8fr 1.35fr;gap:65px}.intro-copy p{margin:0 0 12px;color:var(--text-muted,#5e6971);line-height:1.7}
.product-catalogue{padding:58px 0 72px;background:#f4f7f8}.catalogue-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:26px}.catalogue-toolbar h2{font-size:clamp(1.7rem,2.7vw,2.2rem);margin:5px 0 0}.product-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.search-box{display:flex;align-items:center;gap:8px;border:1px solid #d7e1e3;background:#fff;border-radius:9px;padding:0 12px;height:42px}.search-box input{border:0;outline:0;min-width:205px;font:inherit}.filter-buttons{display:flex;gap:7px;flex-wrap:wrap}.filter-button{border:1px solid #d4dfe1;background:#fff;border-radius:8px;padding:9px 13px;font:600 .82rem 'DM Sans',sans-serif;cursor:pointer;color:#42535a}.filter-button.active,.filter-button:hover{background:#087d85;color:#fff;border-color:#087d85}
.products-page-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
/* Reset homepage .catalogue-card styles. Without this, every product becomes a two-column CTA card. Delightful. */
.product-catalogue .catalogue-card{display:flex;grid-template-columns:none;align-items:stretch;min-height:0;padding:0;background:#fff;color:inherit;border:1px solid #dfe7e9;border-radius:14px;overflow:hidden;box-shadow:0 7px 22px rgba(27,58,66,.055);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;flex-direction:column}
.product-catalogue .catalogue-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(27,58,66,.11);border-color:#cbdadd}.product-catalogue .catalogue-card[hidden]{display:none}
.product-catalogue .product-image{height:190px;width:100%;padding:17px;background:#fff;display:flex;align-items:center;justify-content:center;border-bottom:1px solid #edf1f2;overflow:hidden;flex:0 0 auto}
.product-catalogue .product-image img{display:block;width:100%;height:100%;max-width:100%;object-fit:contain;object-position:center;transition:transform .35s ease}
.product-catalogue .catalogue-card:hover .product-image img{transform:scale(1.035)}
.product-catalogue .product-body{display:flex;flex-direction:column;align-items:flex-start;flex:1;padding:18px 19px 19px}
.product-catalogue .product-body>span{font-size:.68rem;text-transform:uppercase;letter-spacing:.11em;color:#087d85;font-weight:800;margin-bottom:5px}
.product-catalogue .product-body h3{font-size:1.05rem;line-height:1.3;margin:0 0 8px;color:#122c36}
.product-catalogue .product-body p{color:#68767c;font-size:.87rem;line-height:1.56;margin:0 0 15px;min-height:82px}
.product-catalogue .product-body a{display:inline-flex;gap:8px;align-items:center;color:#087d85;font-weight:700;font-size:.86rem;margin-top:auto}.product-catalogue .product-body a b{font-size:1rem}
.empty-products{text-align:center;padding:50px 20px;color:#66757b}
.product-support{padding:66px 0}.support-layout{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.support-points{display:grid;gap:12px}.support-point{display:flex;gap:15px;padding:18px;border:1px solid #e0e8ea;border-radius:12px;background:#fff}.support-point>span{width:40px;height:40px;display:grid;place-items:center;flex:0 0 40px;border-radius:9px;background:#e4f4f4;color:#087d85;font-weight:800}.support-point h3{font-size:.98rem;margin:1px 0 4px}.support-point p{margin:0;color:#68767c;font-size:.88rem;line-height:1.5}.product-cta{background:linear-gradient(110deg,#073a4a,#087d85);color:#fff}.product-cta-inner{padding:50px 0;display:flex;justify-content:space-between;align-items:center;gap:35px}.product-cta h2{color:#fff;font-size:clamp(1.65rem,2.8vw,2.35rem);max-width:680px;margin:6px 0 9px}.product-cta p{color:rgba(255,255,255,.76)}.cta-actions{display:flex;gap:11px;flex-wrap:wrap}.footer-logo{max-width:230px;height:auto}.reveal{opacity:0;transform:translateY(16px);transition:opacity .55s ease,transform .55s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:1050px){.products-page-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.catalogue-toolbar{align-items:flex-start;flex-direction:column}.product-tools{justify-content:flex-start}}
@media(max-width:760px){.page-hero-inner,.product-cta-inner{align-items:flex-start;flex-direction:column}.page-hero-inner{padding:50px 0}.products-hero{min-height:auto}.breadcrumb{font-size:.88rem}.intro-split,.support-layout{grid-template-columns:1fr;gap:28px}.products-page-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-tools{width:100%}.search-box{width:100%}.search-box input{width:100%;min-width:0}.product-catalogue .product-body p{min-height:0}}
@media(max-width:500px){.products-page-grid{grid-template-columns:1fr}.product-catalogue .product-image{height:220px}.filter-buttons{display:grid;grid-template-columns:repeat(2,1fr);width:100%}.filter-button{width:100%}}

/* Product details modal */
body.modal-open{overflow:hidden}
.product-modal{position:fixed;inset:0;z-index:2000;display:none;place-items:center;padding:24px}
.product-modal.open{display:grid}
.product-modal-backdrop{position:absolute;inset:0;background:rgba(2,20,24,.72);backdrop-filter:blur(5px)}
.product-modal-dialog{position:relative;z-index:1;width:min(900px,100%);max-height:min(760px,92vh);overflow:auto;display:grid;grid-template-columns:minmax(280px,.85fr) 1.15fr;background:#fff;border-radius:22px;box-shadow:0 30px 90px rgba(0,0,0,.28)}
.product-modal-image{min-height:430px;background:#f3f8f8;display:grid;place-items:center;padding:35px;border-radius:22px 0 0 22px}
.product-modal-image img{width:100%;height:100%;max-height:390px;object-fit:contain}
.product-modal-content{padding:48px 46px 42px}
.product-modal-content h2{font-size:2rem;margin:.4rem 0 1rem}
.product-modal-content p{font-size:.96rem;line-height:1.75}
.modal-extra{color:#5d6e70}
.modal-points{display:grid;gap:9px;margin:20px 0 25px;padding:0;list-style:none}
.modal-points li{position:relative;padding-left:25px;color:#183438;font-weight:600;font-size:.9rem}
.modal-points li:before{content:'✓';position:absolute;left:0;color:var(--teal);font-weight:800}
.product-modal-close{position:absolute;right:17px;top:14px;width:38px;height:38px;border:0;border-radius:50%;background:#edf5f5;color:#173438;font-size:1.65rem;line-height:1;cursor:pointer;z-index:2}
.product-modal-close:hover{background:#dfeeee}
.modal-actions{display:flex;gap:12px;flex-wrap:wrap}
.modal-secondary{border:1px solid #cbdadb;background:#fff;color:#183438;cursor:pointer}
.product-detail-trigger{cursor:pointer}
@media(max-width:760px){.product-modal{padding:12px}.product-modal-dialog{grid-template-columns:1fr;max-height:94vh}.product-modal-image{min-height:210px;height:250px;border-radius:22px 22px 0 0;padding:20px}.product-modal-content{padding:30px 24px}.product-modal-content h2{font-size:1.55rem}.modal-actions{display:grid}.modal-actions .button{width:100%;justify-content:center}}

/* Product image refresh */
.catalogue-card .product-image{height:230px;padding:14px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden}
.catalogue-card .product-image img{width:100%;height:100%;object-fit:contain;object-position:center;transition:transform .3s ease}
.catalogue-card:hover .product-image img{transform:scale(1.035)}
.catalogue-card .product-body p{font-size:.98rem;line-height:1.65}
.catalogue-card .product-detail-trigger{font-size:.96rem}
@media(max-width:760px){.catalogue-card .product-image{height:210px}}
