.products-center-hero { padding:82px max(24px,calc((100vw - 1180px)/2)); background:#ebe8df; }
.products-center-hero>div { max-width:760px; }
.products-center-hero h1 { margin-bottom:18px; font-size:clamp(48px,6vw,76px); }
.products-center-hero>div>p:not(.eyebrow) { max-width:700px; color:var(--muted); font-size:18px; line-height:1.7; }
.products-heading { display:flex; align-items:end; justify-content:space-between; gap:32px; margin-bottom:32px; }
.products-heading h2 { margin:0; font-size:clamp(34px,4vw,52px); }
.products-heading>p,.products-heading>span { max-width:450px; color:var(--muted); line-height:1.65; }
.product-category-section { padding-bottom:38px; }
.product-category-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.product-category-card { display:grid; grid-template-columns:minmax(180px,.85fr) minmax(0,1fr); min-width:0; overflow:hidden; border:1px solid var(--line); background:#fff; }
.product-category-image { min-height:250px; overflow:hidden; background:#e8ebe7; }
.product-category-image img { display:block; width:100%; height:100%; object-fit:cover; }
.product-category-image img[src$=".png"] { object-fit:contain; padding:20px; }
.product-category-card>div { display:flex; flex-direction:column; min-width:0; padding:28px 25px; }
.product-category-card h3 { margin-bottom:11px; font-size:24px; }
.product-category-card p { color:var(--muted); line-height:1.6; }
.product-category-card>div>a { display:flex; justify-content:space-between; gap:15px; margin-top:auto; padding-top:17px; border-top:1px solid var(--line); color:var(--green); font-weight:850; }
.all-products-section { padding-top:52px; }
.product-filters { display:flex; flex-wrap:wrap; gap:9px; margin-bottom:30px; padding-bottom:24px; border-bottom:1px solid var(--line); }
.product-filters button { min-height:42px; padding:0 17px; border:1px solid var(--line); border-radius:999px; color:var(--muted); background:#fff; font:inherit; font-size:14px; font-weight:780; cursor:pointer; }
.product-filters button.active { color:#fff; border-color:var(--green); background:var(--green); }
.catalog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.product-item { display:flex; flex-direction:column; min-width:0; overflow:hidden; border:1px solid var(--line); background:#fff; }
.product-visual { display:block; width:100%; aspect-ratio:4/3; overflow:hidden; background:#e9ece8; }
.product-visual img { display:block; width:100%; height:100%; object-fit:cover; transition:transform 250ms ease; }
.product-visual img[src$=".png"] { object-fit:contain; padding:20px; }
.product-visual:hover img { transform:scale(1.025); }
.product-copy { display:flex; flex:1; flex-direction:column; min-width:0; padding:23px 22px 24px; }
.product-label { margin-bottom:8px; color:var(--coral); font-size:11px; font-weight:850; letter-spacing:.07em; text-transform:uppercase; }
.product-item h3 { margin-bottom:10px; font-size:22px; }
.product-copy>p:not(.product-label) { margin-bottom:22px; color:var(--muted); line-height:1.6; }
.product-card-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:auto; padding-top:17px; border-top:1px solid var(--line); }
.product-card-actions a,.product-card-actions button { display:flex; align-items:center; justify-content:center; min-height:42px; padding:8px 10px; border:1px solid var(--green); border-radius:5px; font:inherit; font-size:13px; font-weight:850; text-align:center; cursor:pointer; }
.product-view { color:var(--green); background:#fff; }
.product-quote { color:#fff; background:var(--green); }
.catalog-cta { display:flex; align-items:center; justify-content:space-between; gap:36px; width:min(1180px,calc(100% - 36px)); margin:18px auto 80px; padding:54px; color:#fff; background:var(--green-dark); }
.catalog-cta h2 { max-width:680px; margin-bottom:12px; font-size:clamp(32px,4vw,50px); }
.catalog-cta>div>p:last-child { color:rgba(255,255,255,.7); }
.catalog-cta-actions { display:flex; flex-wrap:wrap; gap:10px; }
.catalog-cta .secondary-btn { color:#fff; border-color:rgba(255,255,255,.45); }
.product-dialog { width:min(930px,calc(100% - 30px)); max-height:min(720px,calc(100vh - 30px)); padding:0; border:0; border-radius:8px; box-shadow:0 30px 90px rgba(0,0,0,.3); }
.product-dialog::backdrop { background:rgba(12,24,19,.68); }
.product-dialog[open] { display:grid; grid-template-columns:1.05fr .95fr; }
.dialog-close { position:absolute; z-index:2; top:14px; right:14px; width:40px; height:40px; border:0; border-radius:50%; background:#fff; font-size:27px; cursor:pointer; }
.dialog-visual { min-height:520px; background:#edf0ed; }
.dialog-visual img { width:100%; height:100%; object-fit:contain; }
.dialog-copy { align-self:center; padding:46px 40px; }
.dialog-copy h2 { margin-bottom:18px; }
.dialog-copy>p:not(.eyebrow),.dialog-copy li { color:var(--muted); line-height:1.6; }
.dialog-copy ul { margin:22px 0 28px; padding-left:20px; }
@media(max-width:1000px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-category-card{grid-template-columns:1fr}.product-category-image{min-height:280px}}
@media(max-width:760px){.products-center-hero{padding:62px 24px}.products-heading{align-items:flex-start;flex-direction:column;gap:12px}.product-category-grid,.catalog-grid{grid-template-columns:1fr}.catalog-cta{align-items:flex-start;flex-direction:column;padding:38px 26px}.product-dialog[open]{grid-template-columns:1fr;overflow:auto}.dialog-visual{min-height:300px}}
@media(max-width:420px){.products-center-hero{padding:50px 20px}.products-center-hero h1{font-size:48px}.hero-actions{align-items:stretch;flex-direction:column}.hero-actions a{width:100%}.product-filters{padding-bottom:16px}.product-category-image{min-height:240px}.product-card-actions{grid-template-columns:1fr}.catalog-cta-actions{width:100%}.catalog-cta-actions a{width:100%}.catalog-cta{width:calc(100% - 28px);padding:32px 22px}}
