/*
Theme Name: Z3D Manufacturing
Description: Custom Z3D child theme for design, manufacturing and maintenance master data services.
Author: Z3D
Template: hello-elementor
Version: 1.9.0
Text Domain: z3d-manufacturing
*/

:root{--navy:#10273d;--blue:#1f70c1;--blue2:#135b9f;--ice:#eaf2f8;--pale:#f5f7f9;--text:#172431;--muted:#687786;--line:#d7e0e7}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);background:#fff;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}.z3d-header{height:82px;padding:0 clamp(22px,5vw,76px);display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:20}.z3d-brand{display:flex;align-items:center;gap:10px;font-size:1.4rem;font-weight:900;letter-spacing:-.04em}.z3d-mark{width:36px;height:36px;display:grid;place-items:center;color:#fff;background:var(--blue);border-radius:7px;box-shadow:6px 6px 0 var(--ice)}.z3d-nav{display:flex;align-items:center;gap:clamp(18px,2.3vw,36px);font-size:.8rem;font-weight:700}.z3d-nav>a:not(.z3d-quote-link){color:#47596a}.z3d-nav a:hover{color:var(--blue)}.z3d-quote-link{padding:13px 18px;background:var(--navy);color:#fff!important}.z3d-menu{display:none;background:none;border:0}.z3d-menu span{display:block;width:24px;height:2px;background:var(--navy);margin:5px}.z3d-hero{height:calc(100vh - 82px);min-height:680px;position:relative;overflow:hidden;background:#eaf1f7}.z3d-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.z3d-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#f8fbfd 0%,#f8fbfdee 33%,#f8fbfd55 58%,transparent 75%)}.z3d-hero-copy{position:relative;z-index:2;padding:clamp(90px,11vh,140px) clamp(22px,7vw,108px);max-width:780px}.z3d-kicker,.z3d-label{font-size:.72rem;font-weight:900;letter-spacing:.18em;color:var(--blue);margin:0 0 24px}.z3d-hero h1{font-size:clamp(4rem,6.8vw,7.3rem);line-height:.9;letter-spacing:-.075em;margin:0;color:var(--navy)}.z3d-hero h1 em{font-style:normal;color:var(--blue)}.z3d-hero-copy>p:nth-of-type(2){font-size:1.13rem;line-height:1.7;color:#526373;max-width:610px;margin:32px 0}.z3d-actions{display:flex;gap:28px;align-items:center;margin-top:38px}.z3d-button{height:54px;padding:0 23px;border:0;background:var(--blue);color:#fff;display:inline-flex;align-items:center;justify-content:space-between;gap:30px;font-size:.85rem;font-weight:800;cursor:pointer}.z3d-button:hover{background:var(--blue2);color:#fff}.z3d-secondary{font-size:.85rem;font-weight:800;border-bottom:1px solid #8fa4b7;padding:16px 0}.z3d-material-tabs{position:absolute;z-index:3;left:0;right:0;bottom:0;height:68px;background:#ffffffed;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-around;padding:0 6vw;color:#576a7c;font-size:.68rem;font-weight:900;letter-spacing:.11em}.z3d-section{padding:clamp(82px,9vw,140px) clamp(22px,7vw,108px)}.z3d-intro{display:grid;grid-template-columns:.35fr .85fr 1fr;gap:7vw;align-items:start}.z3d-intro h2,.z3d-work h2,.z3d-master h2,.z3d-contact h2{font-size:clamp(2.8rem,5vw,5.7rem);line-height:.95;letter-spacing:-.06em;margin:0;color:var(--navy)}.z3d-intro-copy p,.z3d-work-head>p,.z3d-master-copy p,.z3d-contact-copy{font-size:1.08rem;line-height:1.75;color:var(--muted);margin:0 0 25px}.z3d-intro-copy a{color:var(--blue);font-size:.82rem;font-weight:900;text-transform:uppercase}.z3d-capabilities{padding-top:0}.z3d-cap-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.z3d-cap-grid article{min-height:330px;padding:28px 28px 32px 0;border-right:1px solid var(--line);display:flex;flex-direction:column}.z3d-cap-grid article:not(:first-child){padding-left:28px}.z3d-cap-grid article>span{font-size:.72rem;color:var(--blue);font-weight:900}.z3d-cap-icon{width:58px;height:58px;border:1px solid #a9bfd2;margin:40px 0 22px;position:relative}.z3d-cap-icon:after{content:"";position:absolute;width:34px;height:34px;right:-8px;bottom:-8px;background:var(--ice);border:1px solid var(--blue)}.z3d-cap-grid h3{font-size:1.25rem;margin:0 0 13px;color:var(--navy)}.z3d-cap-grid p{color:var(--muted);font-size:.95rem;line-height:1.6}.z3d-cap-grid a{margin-top:auto;color:var(--blue);font-size:.75rem;font-weight:900;text-transform:uppercase}.z3d-work{background:var(--pale)}.z3d-work-head{display:grid;grid-template-columns:1fr .55fr;gap:80px;align-items:end;margin-bottom:60px}.z3d-showcase{display:grid;grid-template-columns:1.2fr .8fr;background:#fff;border:1px solid var(--line)}.z3d-showcase-image{min-height:520px;overflow:hidden}.z3d-showcase-image img{width:100%;height:100%;object-fit:cover}.z3d-material-list{padding:18px 42px}.z3d-material-list article{display:grid;grid-template-columns:45px 1fr;gap:18px;padding:38px 0;border-bottom:1px solid var(--line)}.z3d-material-list article:last-child{border:0}.z3d-material-list article>span{color:var(--blue);font-weight:900;font-size:.72rem}.z3d-material-list h3{margin:0 0 10px;color:var(--navy);font-size:1.22rem}.z3d-material-list p{margin:0;color:var(--muted);line-height:1.55;font-size:.93rem}.z3d-master{background:var(--navy);color:#fff;display:grid;grid-template-columns:.35fr 1fr .75fr;gap:6vw;align-items:end;position:relative;overflow:hidden}.z3d-master:after{content:"MM";position:absolute;right:-20px;top:-70px;font-size:20rem;font-weight:900;color:#ffffff08;letter-spacing:-.12em}.z3d-master-tag{writing-mode:vertical-rl;transform:rotate(180deg);font-size:.66rem;font-weight:900;letter-spacing:.18em;color:#7daed9}.z3d-label-light{color:#69a8df}.z3d-master h2{color:#fff;position:relative;z-index:1}.z3d-master-copy{position:relative;z-index:1}.z3d-master-copy p{color:#b8c8d6}.z3d-master-copy a{display:inline-flex;justify-content:space-between;gap:25px;border-bottom:1px solid #6797c0;padding-bottom:13px;font-size:.82rem;font-weight:900}.z3d-pathways{display:grid;grid-template-columns:1fr 1fr}.z3d-pathways>a{min-height:210px;padding:45px clamp(22px,7vw,108px);position:relative;border-right:1px solid var(--line)}.z3d-pathways>a:first-child{background:var(--ice)}.z3d-pathways>a:last-child{background:#dfeaf3}.z3d-pathways span{color:var(--blue);font-size:.68rem;font-weight:900;letter-spacing:.14em}.z3d-pathways h3{font-size:clamp(1.7rem,3vw,3rem);letter-spacing:-.04em;margin:25px 0 0;color:var(--navy)}.z3d-pathways b{position:absolute;right:7vw;top:50%;font-size:1.5rem;color:var(--blue)}.z3d-contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw}.z3d-contact-copy{max-width:520px;margin-top:28px}.z3d-email{display:block;color:var(--blue);font-weight:800;margin:35px 0 8px}.z3d-location{color:var(--muted);font-size:.85rem}.z3d-form{display:flex;flex-direction:column;gap:20px}.z3d-field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.z3d-form label{display:flex;flex-direction:column;gap:8px;font-size:.74rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em;color:#516273}.z3d-form input,.z3d-form textarea,.z3d-form select{width:100%;padding:14px 15px;border:1px solid #c8d4dd;background:var(--pale);outline:0;color:var(--text);text-transform:none}.z3d-form input:focus,.z3d-form textarea:focus,.z3d-form select:focus{border-color:var(--blue);background:#fff}.z3d-honeypot{position:absolute!important;left:-9999px!important}.z3d-protection{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);background:var(--pale);font-size:.78rem;color:var(--muted)}.z3d-protection b{color:var(--navy)}.z3d-footer{background:#0a1d2e;color:#fff;padding:50px clamp(22px,7vw,108px);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:40px}.z3d-footer p{color:#8da1b2;font-size:.85rem}.z3d-footer nav{display:flex;gap:24px;font-size:.78rem;font-weight:700}.z3d-footer small{grid-column:1/-1;border-top:1px solid #ffffff18;padding-top:24px;color:#718595}
@media(max-width:950px){.z3d-menu{display:block}.z3d-nav{display:none;position:absolute;top:82px;left:0;right:0;background:#fff;padding:28px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.z3d-nav.open{display:flex}.z3d-hero{height:auto;min-height:850px}.z3d-hero-image{object-position:62% center}.z3d-hero:after{background:linear-gradient(90deg,#f8fbfd 0%,#f8fbfde8 55%,transparent 100%)}.z3d-intro,.z3d-work-head,.z3d-master,.z3d-contact{grid-template-columns:1fr}.z3d-intro{gap:30px}.z3d-cap-grid{grid-template-columns:1fr 1fr}.z3d-showcase{grid-template-columns:1fr}.z3d-master-tag{writing-mode:initial;transform:none}.z3d-footer{grid-template-columns:1fr auto}.z3d-footer p{display:none}}
@media(max-width:580px){.z3d-hero{min-height:780px}.z3d-hero-image{object-position:68% bottom;opacity:.54}.z3d-hero:after{background:linear-gradient(180deg,#f8fbfd 0%,#f8fbfdee 55%,#f8fbfd66 100%)}.z3d-hero-copy{padding-top:70px}.z3d-hero h1{font-size:3.75rem}.z3d-actions{flex-direction:column;align-items:flex-start}.z3d-material-tabs{justify-content:flex-start;gap:26px;overflow:hidden;white-space:nowrap}.z3d-material-tabs span:nth-child(n+3){display:none}.z3d-cap-grid,.z3d-pathways,.z3d-field-row{grid-template-columns:1fr}.z3d-cap-grid article,.z3d-cap-grid article:not(:first-child){padding:28px 0;border-right:0;border-bottom:1px solid var(--line);min-height:300px}.z3d-material-list{padding:10px 24px}.z3d-footer{grid-template-columns:1fr}.z3d-footer nav{flex-wrap:wrap}}

/* Isolate the Z3D palette from Elementor's existing global colour rules. */
.z3d-header .z3d-brand{color:var(--navy)!important}
.z3d-footer .z3d-brand{color:#fff!important}
.z3d-button{background:var(--blue)!important;color:#fff!important}
.z3d-button:hover{background:var(--blue2)!important;color:#fff!important}
.z3d-master h2{color:#fff!important}
.z3d-intro-copy a,.z3d-cap-grid a{color:var(--blue)!important}
.z3d-master-copy a{color:#fff!important}

/* Shared interior-page and WooCommerce presentation. */
.z3d-site-main{min-height:60vh;padding:70px clamp(22px,7vw,108px);background:var(--pale)}
.z3d-page-title{margin:0 0 42px;color:var(--navy);font-size:clamp(2.5rem,5vw,5rem);letter-spacing:-.06em}
.z3d-shop-shell{max-width:1440px;margin:0 auto}
.z3d-shop-shell .woocommerce-products-header__title.page-title{margin:0 0 36px;color:var(--navy);font-size:clamp(2.5rem,5vw,5rem);letter-spacing:-.06em}
.z3d-shop-shell .woocommerce-result-count{color:var(--muted)}
.z3d-shop-shell .woocommerce-ordering select{padding:12px 38px 12px 14px;border:1px solid var(--line);background:#fff;color:var(--text)}
.z3d-shop-shell ul.products{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:42px 0!important}
.z3d-shop-shell ul.products:before,.z3d-shop-shell ul.products:after{display:none!important}
.z3d-shop-shell ul.products li.product{width:auto!important;margin:0!important;padding:0 0 24px!important;background:#fff;border:1px solid var(--line)}
.z3d-shop-shell ul.products li.product a img{aspect-ratio:1/1;object-fit:cover;margin:0 0 20px!important;background:#eef3f7}
.z3d-shop-shell ul.products li.product .woocommerce-loop-product__title{padding:0 20px!important;color:var(--navy);font-size:1.12rem!important;line-height:1.3}
.z3d-shop-shell ul.products li.product .price{padding:0 20px;color:var(--blue)!important;font-weight:800}
.z3d-shop-shell .button,.z3d-shop-shell button.button,.z3d-shop-shell input.button{margin-left:20px!important;padding:13px 18px!important;border-radius:0!important;background:var(--blue)!important;color:#fff!important;font-weight:800!important}
.z3d-shop-shell .button:hover,.z3d-shop-shell button.button:hover,.z3d-shop-shell input.button:hover{background:var(--blue2)!important}
.z3d-shop-shell div.product{background:#fff;padding:clamp(22px,4vw,54px);border:1px solid var(--line)}
.z3d-shop-shell div.product .product_title{color:var(--navy);font-size:clamp(2rem,4vw,4rem);letter-spacing:-.05em}
.z3d-shop-shell div.product p.price,.z3d-shop-shell div.product span.price{color:var(--blue)!important}
.z3d-shop-shell table.shop_table{background:#fff;border-color:var(--line)!important;border-radius:0!important}
.z3d-shop-shell .cart_totals,.z3d-shop-shell .woocommerce-checkout-review-order,.z3d-shop-shell .woocommerce-billing-fields,.z3d-shop-shell .woocommerce-shipping-fields{background:#fff;padding:24px;border:1px solid var(--line)}
.z3d-shop-shell input.input-text,.z3d-shop-shell textarea,.z3d-shop-shell select{padding:13px;border:1px solid #c8d4dd;background:#fff}
.z3d-alert{margin:0 0 28px;padding:16px 18px;border-left:4px solid var(--blue);background:var(--ice);color:var(--navy)}
@media(max-width:900px){.z3d-shop-shell ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:580px){.z3d-site-main{padding-top:45px}.z3d-shop-shell ul.products{grid-template-columns:1fr}.z3d-header{height:72px}.z3d-nav{top:72px}}

/* Existing Elementor WooCommerce templates: retain their data, replace their visual shell. */
body.woocommerce .elementor-location-archive,body.woocommerce .elementor-location-single{padding:70px clamp(22px,7vw,108px);background:var(--pale)}
body.woocommerce .elementor-location-archive>.e-con,body.woocommerce .elementor-location-single>.e-con{max-width:1440px;margin:0 auto}
body.woocommerce .elementor-location-archive .elementor-heading-title{color:var(--navy)!important;font-size:clamp(2.5rem,5vw,5rem)!important;letter-spacing:-.06em!important}
body.woocommerce .elementor-location-archive .woocommerce-result-count{color:var(--muted)}
body.woocommerce .elementor-location-archive .woocommerce-ordering select{padding:12px 38px 12px 14px;border:1px solid var(--line);background:#fff;color:var(--text)}
body.woocommerce .elementor-location-archive ul.products{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:28px!important;margin:42px 0!important}
body.woocommerce .elementor-location-archive ul.products li.product{width:auto!important;margin:0!important;padding:0 0 24px!important;background:#fff;border:1px solid var(--line)}
body.woocommerce .elementor-location-archive ul.products li.product a img{aspect-ratio:1/1;object-fit:cover;margin:0 0 20px!important;background:#eef3f7}
body.woocommerce .elementor-location-archive .woocommerce-loop-product__title{padding:0 20px!important;color:var(--navy)!important;font-size:1.12rem!important;line-height:1.3!important}
body.woocommerce .elementor-location-archive ul.products li.product .price{padding:0 20px;color:var(--blue)!important;font-weight:800}
body.woocommerce .elementor-location-archive .button,body.woocommerce .elementor-location-single .button{margin-left:20px!important;padding:13px 18px!important;border-radius:0!important;background:var(--blue)!important;color:#fff!important;font-weight:800!important}
body.woocommerce .elementor-location-single{background:var(--pale)}
body.woocommerce .elementor-location-single .product{background:#fff;padding:clamp(22px,4vw,54px);border:1px solid var(--line)}
body.woocommerce .elementor-location-single .product_title{color:var(--navy)!important;font-size:clamp(2rem,4vw,4rem)!important;letter-spacing:-.05em!important}
body.woocommerce .elementor-location-single .price{color:var(--blue)!important}
@media(max-width:900px){body.woocommerce .elementor-location-archive ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:580px){body.woocommerce .elementor-location-archive,body.woocommerce .elementor-location-single{padding:45px 20px}body.woocommerce .elementor-location-archive ul.products{grid-template-columns:1fr!important}}
body.woocommerce-shop .elementor-widget-theme-archive-title .elementor-heading-title{font-size:0!important}
body.woocommerce-shop .elementor-widget-theme-archive-title .elementor-heading-title:after{content:"Shop";font-size:clamp(2.5rem,5vw,5rem);color:var(--navy);letter-spacing:-.06em}
