/* V4.4.17: four desktop directory columns; preserve original image proportions. */
.nav-products-link{display:flex;align-items:center;align-self:stretch;color:#12231b;font-weight:900;padding:20px 0}
.nav-products-link:hover{color:#087a42}
.nav-dropdown .nav-products-toggle{padding:14px 8px;min-width:30px;min-height:44px;justify-content:center;border-radius:8px}
.nav-products-toggle:hover{background:#edf7f1}
.nav-products-link:focus-visible,.nav-products-toggle:focus-visible,.mobile-products-link:focus-visible{outline:2px solid #078b43;outline-offset:3px;border-radius:5px}
.mobile-products-sub>summary .mobile-products-link{padding:2px 0;margin:0;background:none;color:inherit;font:inherit;display:inline-block}
.mobile-products-sub>summary>span{min-width:44px;text-align:center}

.grid4.product-directory-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;align-items:stretch;gap:20px}
.product-directory-grid>.card{display:flex;flex-direction:column;min-width:0;align-self:stretch}
.product-directory-grid>.card>img{box-sizing:border-box;display:block;width:100%;padding:10px;height:var(--directory-height,360px);min-height:0;max-height:none;aspect-ratio:auto;object-fit:contain;object-position:center;background:linear-gradient(145deg,#f5faf7,#edf5f0);flex:0 0 auto;transform:none!important;border-radius:0}
.product-directory-grid>.card>.body{box-sizing:border-box;height:var(--directory-height,auto);min-height:320px;padding:24px;display:flex;flex-direction:column;align-items:flex-start;gap:12px;flex:0 0 auto;overflow-wrap:anywhere}
.product-directory-grid .body>*{margin:0;max-width:100%;flex-shrink:0}
.product-directory-grid .body .tag{font-size:10px;line-height:1.5;white-space:normal}
.product-directory-grid .body .product-model{font-size:10px;line-height:1.5;letter-spacing:.04em;color:#718278;overflow-wrap:anywhere}
.product-directory-grid .body h3{font-size:21px;line-height:1.2;letter-spacing:-.025em;color:#133b29}
.product-directory-grid .body p{font-size:14px;line-height:1.65}

/* Four desktop cards retain complete images and readable, equal-height descriptions. */
@media(min-width:981px){
  .product-directory-grid>.card>.body{padding:18px;gap:9px}
  .product-directory-grid .body h3{font-size:clamp(17px,1.25vw,19px);line-height:1.3}
  .product-directory-grid .body p{font-size:13px;line-height:1.6}
}

.product.product-showcase{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:clamp(28px,4vw,55px)}
.product-showcase .product-stage{align-self:stretch!important;gap:12px!important;min-width:0}
.product-showcase .product-image-premium{flex:0 0 auto!important;background:#f3f8f5!important}
.product-showcase .stage-gallery-wrap{flex:0 0 auto;margin:0 auto!important}
.product-showcase .product-model-under-image{flex:0 0 auto;margin: auto auto 0!important;overflow-wrap:anywhere}
.product-showcase .product-intro{min-width:0;display:flex;flex-direction:column;gap:16px;align-items:stretch;align-self:stretch}
.product-showcase .product-intro>*{margin:0;flex-shrink:0}
.product-showcase .product-intro>.tag{align-self:flex-start}
.product-showcase .product-intro h1{font-size:var(--product-title-size,clamp(28px,3.3vw,46px));line-height:1.12;letter-spacing:-.035em;overflow-wrap:anywhere;text-wrap:pretty}
.product-showcase .product-intro .lead{font-size:16px;line-height:1.65}
.product-showcase .product-intro .quick-specs{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.product-showcase .product-intro .quick-specs>div{padding:12px}
.product-showcase .product-intro .actions{display:flex;flex-wrap:wrap;gap:10px}
.product-showcase .product-intro .actions .btn{max-width:100%;white-space:normal;text-align:center}
.product-showcase .product-intro .product-proof{margin-top:auto;gap:10px 14px;padding-top:4px}
.industrial-product-hero-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:clamp(28px,4vw,55px)}
.industrial-product-hero-copy{display:flex;flex-direction:column;gap:16px;min-width:0}
.industrial-product-hero-copy>*{margin:0;flex-shrink:0}
.industrial-product-hero-copy h1{font-size:var(--product-title-size,clamp(28px,3.3vw,46px));line-height:1.12;letter-spacing:-.035em;overflow-wrap:anywhere}
.industrial-product-hero-copy .industrial-product-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
.industrial-product-hero-copy .actions{margin-top:auto;gap:10px;flex-wrap:wrap}
.industrial-product-hero-media{display:flex;align-items:center;background:#f3f8f5;min-width:0}
.industrial-product-hero-media img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;flex:0 0 auto}

/* Editor-supplied widths are normalized; height always follows the original image ratio. */
.product-rich-editor-content{background:#f2f7f4}
.product-rich-editor-content .prose{max-width:1100px;padding:28px;background:#fff;border:1px solid #dfeae3;border-radius:20px;overflow-wrap:anywhere}
.product-rich-editor-content .prose img{display:block;width:100%!important;max-width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain;float:none!important;margin-left:auto!important;margin-right:auto!important;background:#f3f8f5;border-radius:0!important}
/* Preserve image corners even when a figure or image wrapper clips its contents. */
.product-rich-editor-content .prose :is(figure,p,a):has(img),.product-rich-editor-content .prose :has(>img){border-radius:0!important}
.product-rich-editor-content .prose>figure,.product-rich-editor-content .prose>p:has(>img){width:100%!important;max-width:100%!important;margin-left:0;margin-right:0}
.product-rich-editor-content .prose figure img{width:100%!important}
/* Outdoor product fallback reads the current catalog specifications. */
.outdoor-detail-overview>h2{max-width:850px;line-height:1.2}
.outdoor-detail-overview>.eyebrow{color:#087a42}
.outdoor-detail-overview>p{max-width:850px;color:#536a5d;line-height:1.75}
.outdoor-detail-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:28px 0}
.outdoor-detail-cards article{padding:22px;background:#f3f8f5;border:1px solid #dfeae3;border-radius:12px;min-width:0}
.product-rich-editor-content .outdoor-detail-cards h3{margin:0 0 10px;font-size:17px;line-height:1.4;color:#123b28}
.product-rich-editor-content .outdoor-detail-cards p{margin:0;font-size:15px;line-height:1.65;color:#536a5d}
.outdoor-project-note{padding:26px;background:#edf6f0;border-left:4px solid #087a42}
.product-rich-editor-content .outdoor-project-note h3{margin:0 0 10px;font-size:23px;line-height:1.3;color:#123b28}
.outdoor-project-note p{line-height:1.75}
.product-rich-editor-content .outdoor-project-note .btn{max-width:100%;white-space:normal;text-align:center;color:#fff;text-decoration:none}
@media(max-width:980px){
  .grid4.product-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px}
  .product.product-showcase{grid-template-columns:minmax(0,1fr);gap:32px}
  .industrial-product-hero-grid{grid-template-columns:minmax(0,1fr);gap:32px}
  .industrial-product-hero-copy h1{font-size:clamp(28px,5vw,42px)}
  .product-showcase .product-intro h1{font-size:clamp(28px,5vw,42px)}
  .product-showcase .product-intro .product-proof{margin-top:0}
  .product-rich-editor-content .prose{padding:20px;border-radius:16px}
  .outdoor-detail-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .grid4.product-directory-grid{grid-template-columns:minmax(0,1fr)!important;gap:22px}
  .product-directory-grid>.card>.body{padding:22px;gap:11px}
  .product-directory-grid .body h3{font-size:21px}
  .product-rich-editor-content .prose{padding:14px;border-radius:12px}
  .product-showcase .product-intro{gap:14px}
  .outdoor-detail-cards{grid-template-columns:minmax(0,1fr);gap:12px;margin:22px 0}
  .outdoor-detail-cards article,.outdoor-project-note{padding:18px}
}

/* Reusable detail sections preserve image geometry and original corners. */
.shared-product-section{min-width:0;overflow-wrap:anywhere}
.shared-product-section img{max-width:100%;height:auto;object-fit:contain;border-radius:0!important}
.shared-product-section video{max-width:100%;height:auto}
.shared-product-section :is(figure,p,a):has(img),.shared-product-section :has(>img){border-radius:0!important}
