.elementor-528 .elementor-element.elementor-element-5d0f3b2{font-family:var( --e-global-typography-ezsmall-font-family ), Sans-serif;font-size:var( --e-global-typography-ezsmall-font-size );font-weight:var( --e-global-typography-ezsmall-font-weight );line-height:var( --e-global-typography-ezsmall-line-height );color:var( --e-global-color-ezmute );}.elementor-528 .elementor-element.elementor-element-5d0f3b2 a{color:var( --e-global-color-ezmute );}.elementor-528 .elementor-element.elementor-element-e6b6935 .elementor-heading-title{font-size:var(--ez-fs-h1);font-weight:700;line-height:1.25;color:var( --e-global-color-text );}.elementor-528 .elementor-element.elementor-element-240c001{text-align:start;}.elementor-528 .elementor-element.elementor-element-240c001 .elementor-heading-title{font-size:var(--ez-fs-h2);font-weight:700;line-height:1.3;color:var( --e-global-color-primary );}.elementor-528 .elementor-element.elementor-element-213a63a{text-align:start;}.elementor-528 .elementor-element.elementor-element-213a63a .elementor-heading-title{font-size:var(--ez-fs-h2);font-weight:700;line-height:1.3;color:var( --e-global-color-primary );}.elementor-528 .elementor-element.elementor-element-31f2073{text-align:start;}.elementor-528 .elementor-element.elementor-element-31f2073 .elementor-heading-title{font-size:var(--ez-fs-h2);font-weight:700;line-height:1.3;color:var( --e-global-color-primary );}.elementor-528 .elementor-element.elementor-element-5b45590{text-align:start;}.elementor-528 .elementor-element.elementor-element-5b45590 .elementor-heading-title{font-size:var(--ez-fs-h2);font-weight:700;line-height:1.3;color:var( --e-global-color-primary );}.elementor-528 .elementor-element.elementor-element-81a879d{text-align:start;}.elementor-528 .elementor-element.elementor-element-81a879d .elementor-heading-title{font-size:var(--ez-fs-h2);font-weight:700;line-height:1.3;color:var( --e-global-color-primary );}.elementor-528 .elementor-element.elementor-element-19431a5{text-align:start;}.elementor-528 .elementor-element.elementor-element-19431a5 .elementor-heading-title{font-size:var(--ez-fs-h2);font-weight:700;line-height:1.3;color:var( --e-global-color-primary );}.elementor-528 .elementor-element.elementor-element-0d1bfe7{padding:0px 0px 0px 0px;}@media(max-width:1024px){.elementor-528 .elementor-element.elementor-element-5d0f3b2{font-size:var( --e-global-typography-ezsmall-font-size );line-height:var( --e-global-typography-ezsmall-line-height );}}@media(max-width:767px){.elementor-528 .elementor-element.elementor-element-5d0f3b2{font-size:var( --e-global-typography-ezsmall-font-size );line-height:var( --e-global-typography-ezsmall-line-height );}}/* Start custom CSS for woocommerce-product-content, class: .elementor-element-76eb9cd */@media (max-width:767px){.elementor-528 .elementor-element.elementor-element-76eb9cd{max-width:100%;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch;contain:inline-size}}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-2a10cff */@media (max-width:767px){.elementor-528 .elementor-element.elementor-element-2a10cff{max-width:100%;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch;contain:inline-size}}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-512a9bd */.elementor-528 .elementor-element.elementor-element-512a9bd .gform_wrapper{background:var(--ez-white);padding:var(--ez-space-5);border-radius:var(--ez-radius-lg);box-sizing:border-box}
.elementor-528 .elementor-element.elementor-element-512a9bd .gform_wrapper .gfield_label,.elementor-528 .elementor-element.elementor-element-512a9bd .gform_wrapper .gform-field-label,.elementor-528 .elementor-element.elementor-element-512a9bd .gform_wrapper legend{color:var(--ez-ink)}
.elementor-528 .elementor-element.elementor-element-512a9bd .gform_wrapper .gfield_required,.elementor-528 .elementor-element.elementor-element-512a9bd .gform_wrapper .gfield_required_text{color:var(--ez-error)}
.elementor-528 .elementor-element.elementor-element-512a9bd .gform_wrapper .gform_description,.elementor-528 .elementor-element.elementor-element-512a9bd .gform_wrapper .gfield_description,.elementor-528 .elementor-element.elementor-element-512a9bd .gform_wrapper .gform_fileupload_rules{color:var(--ez-mute)}
.elementor-528 .elementor-element.elementor-element-512a9bd .gform_wrapper .gfield_description.validation_message,.elementor-528 .elementor-element.elementor-element-512a9bd .gform_wrapper .gfield_validation_message{color:var(--ez-error)}/* End custom CSS */
/* Start custom CSS */.ez-pdp-crumbs a{text-decoration:underline;text-underline-offset:2px}
/* DS-R7-05 ST8: zoom overlay must not cover focusable gallery links */
.woocommerce img.zoomImg,.ez-pdp img.zoomImg,.woocommerce-product-gallery img.zoomImg{pointer-events:none}
/* W1-P0 #4 gallery trigger: Woo 11 keeps a magnifier emoji in the DOM and draws a black magnifier with ::before/::after. ez-w1-pdp-a11y.php swaps the emoji for svg.ez-icon and sets [data-ez-icon]; without that script nothing below applies. */
body.woocommerce div.product div.images a.woocommerce-product-gallery__trigger[data-ez-icon]{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:calc(var(--ez-icon-md) + var(--ez-space-4));height:calc(var(--ez-icon-md) + var(--ez-space-4));top:var(--ez-space-3);right:var(--ez-space-3);padding:0;text-indent:0;font-size:var(--ez-fs-body);line-height:1;color:var(--ez-ink);background:var(--ez-white);border:1px solid var(--ez-border);border-radius:var(--ez-radius-pill)}
body.woocommerce div.product div.images a.woocommerce-product-gallery__trigger[data-ez-icon]::before,body.woocommerce div.product div.images a.woocommerce-product-gallery__trigger[data-ez-icon]::after{content:none;display:none}
body.woocommerce div.product div.images a.woocommerce-product-gallery__trigger[data-ez-icon]:hover{background:var(--ez-surface);border-color:var(--ez-primary)}
body.woocommerce div.product div.images a.woocommerce-product-gallery__trigger[data-ez-icon]:focus-visible{outline:3px solid var(--ez-ink);outline-offset:2px}
/* W1-P0 #9 product meta: inline view with no space_between printed "SKU EZ-045Categories". Gap and hairline divider from tokens; divider dropped on phones where the row wraps. */
.elementor-widget-woocommerce-product-meta.elementor-woo-meta--view-inline .product_meta{column-gap:var(--ez-space-5);row-gap:var(--ez-space-1)}
.elementor-widget-woocommerce-product-meta.elementor-woo-meta--view-inline .product_meta .detail-container:not(:last-child)::after{content:"";width:0;border-color:var(--ez-border);inset-inline:auto calc(var(--ez-space-5) / -2);height:1em}
@media (max-width:767px){.elementor-widget-woocommerce-product-meta.elementor-woo-meta--view-inline .product_meta .detail-container:not(:last-child)::after{content:none}}

/* W1-P1 #10 mobile quote entry (<=767px). In _elementor_data the [ez_pdp_cta] row (a70db29) now follows the product title (e6b6935). Phones: gallery = main image + first thumbnail row, capped at 60vh (60svh where supported); thumbnails 7 per row; Woo's 2em gallery margin and the row's top margin dropped; Get a Quote first and alone on its line, natural width at the left, so it never sits under the fixed WhatsApp float (pack A, 52x52 at right/bottom 20, unchanged). The three buttons keep their DOM order (shortcode not changed). */
@media (max-width:767px){
body.woocommerce div.product div.images{--ez-pdp-gallery-cap:60vh;margin-bottom:0}
@supports (height:1svh){body.woocommerce div.product div.images{--ez-pdp-gallery-cap:60svh}}
body.woocommerce div.product div.images .woocommerce-product-gallery__image img{max-height:calc(var(--ez-pdp-gallery-cap) - var(--ez-space-8) - var(--ez-space-2));object-fit:contain}
body.woocommerce div.product div.images .flex-control-thumbs{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--ez-space-2);margin-top:var(--ez-space-2)}
body.woocommerce div.product div.images .flex-control-thumbs li{width:auto;float:none;margin:0}
.ez-pdp-cta-sc.ez-pdp-actions{margin-top:0}
.ez-pdp-cta-sc.ez-pdp-actions .ez-get-quote{order:-2}
.ez-pdp-cta-sc.ez-pdp-actions::before{content:"";order:-1;flex-basis:100%;height:0}
}

/* W3-P2 #23 · SLOP-V26: disable Elementor bounce on PDP product gallery (0fe9c8a) */
.elementor-element-0fe9c8a .woocommerce-product-gallery,
.elementor-element-0fe9c8a .woocommerce-product-gallery__wrapper,
.elementor-element-0fe9c8a .woocommerce-product-gallery__image{
  animation:none !important;
  transition:none !important;
}
.elementor-element-0fe9c8a.elementor-invisible,
.elementor-element-0fe9c8a .elementor-invisible{
  visibility:visible !important;
  animation:none !important;
}

/* W3-P2 #19 C10 / A13 · Basic Specs content full-width (client 2026-10-15; was ≤720px) */
@media (min-width:768px){
body.single-product .elementor-528 .elementor-element-76eb9cd,
body.single-product .elementor-528 .elementor-widget-woocommerce-product-content{
  max-width:none;
  width:100%;
}
}
/* CLIENT-LAUNCH · Related: hide Woo duplicate H2 (Elementor heading owns the title) */
body.single-product .elementor-528 .elementor-element-7f48d1d .related.products > h2{
  display:none !important;
}
/* CLIENT-LAUNCH · PDP inquiry band — styles moved to assets/ez-header-client.css (.ez-rq dark two-col mockup) *//* End custom CSS */