/*
Theme Name: EcoShield Heritage
Theme URI: https://ecoshieldsecondaryglazing.co.uk/
Author: EcoShield Secondary Glazing
Description: Lightweight heritage-style responsive theme for EcoShield. Use on staging first; Elementor-dependent pages and forms require migration testing.
Version: 1.5.4
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: ecoshield-heritage
*/
:root{--green:#143e35;--green2:#20584b;--stone:#f5f2e9;--ink:#26342f;--gold:#b6a071;--line:#d9dfd8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font:17px/1.7 system-ui,-apple-system,'Segoe UI',sans-serif}a{color:var(--green2)}a:hover{text-decoration-thickness:2px}img{max-width:100%;height:auto}h1,h2,h3,h4{font-family:Georgia,'Times New Roman',serif;line-height:1.22;color:var(--green)}h1{font-size:clamp(2.1rem,4vw,3.6rem)}h2{font-size:clamp(1.6rem,2.7vw,2.3rem)}.wrap{width:min(1160px,calc(100% - 36px));margin-inline:auto}.site-header{background:var(--stone);border-bottom:1px solid var(--line)}.head-main{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 0}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--green);font-family:Georgia,serif;font-size:1.45rem;font-weight:700;line-height:1.15}.brand img{max-height:70px;width:auto}.brand-mark{border:2px solid var(--green);padding:8px 12px;border-radius:4px;font-size:1.6rem}.brand small{display:block;font:12px system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#587167}.head-tools{display:flex;align-items:center;gap:10px}.search-form{display:flex;border:1px solid #a7b5ac;border-radius:5px;overflow:hidden;background:#fff}.search-form input{min-width:180px;width:240px;border:0;padding:11px 12px;font:inherit}.search-form button,.menu-toggle,.btn{background:var(--green);color:white;border:0;padding:11px 18px;border-radius:4px;font:600 15px system-ui;cursor:pointer}.menu-toggle{display:flex;align-items:center;gap:10px}.main-nav{background:var(--green);color:#fff}.main-nav[hidden]{display:none}.main-nav ul{list-style:none;margin:0;padding:10px 0;display:flex;flex-wrap:wrap;gap:4px 24px}.main-nav li{position:relative}.main-nav a{color:#fff;text-decoration:none;display:block;padding:8px 2px}.main-nav .sub-menu{display:block;padding:6px 14px;background:var(--green2);min-width:220px}.hero{background:linear-gradient(125deg,#143e35,#2c6657);color:white;padding:70px 0}.hero h1,.hero p{color:white;max-width:780px}.hero p{font-size:1.18rem}.hero .btn{display:inline-block;background:var(--gold);color:#182c25;text-decoration:none;margin-top:10px}.section{padding:54px 0}.section.alt{background:var(--stone)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{border:1px solid var(--line);border-radius:7px;padding:25px;background:#fff}.card h3{margin-top:0}.card a{font-weight:700}.page-header{background:var(--stone);padding:34px 0;border-bottom:1px solid var(--line)}.page-header h1{margin:0}.content{padding:38px 0 65px;overflow-wrap:anywhere}.content :is(table){display:block;max-width:100%;overflow:auto}.content :is(input,textarea,select){max-width:100%}.content img{border-radius:5px}.footer{background:#12362e;color:#eef5ee;padding:46px 0 20px}.footer h3{color:#fff}.footer a{color:#fff}.footer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.footer ul{list-style:none;padding:0}.footer li{margin:8px 0}.footer-bottom{border-top:1px solid #4a6b5e;margin-top:30px;padding-top:16px;font-size:13px}.cookie-banner{position:fixed;bottom:15px;left:15px;right:15px;z-index:9999;background:var(--green);color:#fff;border:1px solid var(--gold);border-radius:8px;box-shadow:0 5px 30px #0003;padding:18px;max-width:740px}.cookie-banner[hidden]{display:none}.cookie-banner p{margin:0 0 10px}.cookie-banner button{border:1px solid #fff;border-radius:4px;background:transparent;color:white;padding:9px 15px;margin-right:8px;cursor:pointer}.cookie-banner button:first-of-type{background:var(--gold);color:#172f28;border-color:var(--gold)}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:10px;top:10px;z-index:99999;background:#fff;padding:10px}.screen-reader-text{position:absolute;clip:rect(1px,1px,1px,1px)}.screen-reader-text:focus{clip:auto;position:static}.ecoshield-tabs{border:1px solid var(--line);padding:20px}.ecoshield-tab-buttons{display:flex;flex-wrap:wrap;gap:6px}.ecoshield-tab-buttons button{padding:9px 14px;border:1px solid var(--line);background:var(--stone);cursor:pointer}.ecoshield-tab-buttons button[aria-selected=true]{background:var(--green);color:#fff}.ecoshield-tab-panel[hidden]{display:none}@media(max-width:760px){.head-main{display:block}.brand{justify-content:center;margin-bottom:15px}.head-tools{display:flex;width:100%}.search-form{flex:1}.search-form input{width:100%;min-width:0}.menu-toggle{flex-shrink:0}.main-nav ul{display:block}.main-nav .sub-menu{position:static}.cards,.footer-grid{grid-template-columns:1fr}.hero{padding:48px 0}.section{padding:35px 0}}

/* Reconstructed technical product tabs */
.ecoshield-tabs{margin:32px 0;border:1px solid var(--line);border-radius:9px;background:#fff;padding:20px}
.ecoshield-tab-buttons{display:flex;flex-wrap:wrap;gap:7px;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:20px}
.ecoshield-tab-buttons button{font:600 15px system-ui,sans-serif;border-radius:5px;padding:11px 16px}
.ecoshield-tab-buttons button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.ecoshield-tab-panel{max-width:100%;overflow:hidden}
.ecoshield-tab-scroll{overflow-x:auto;max-width:100%}
.ecoshield-tab-panel table{display:table;width:max-content;min-width:100%;border-collapse:collapse;font:14px/1.5 system-ui,sans-serif}
.ecoshield-tab-panel th,.ecoshield-tab-panel td{border:1px solid var(--line);padding:9px 11px;text-align:left;vertical-align:top;white-space:normal}
.ecoshield-tab-panel th{background:var(--stone);font-weight:700}
.ecoshield-tab-panel tr:nth-child(even) td{background:#f8faf7}
@media(max-width:760px){.ecoshield-tabs{padding:12px}.ecoshield-tab-buttons button{flex:1 1 auto}.ecoshield-tab-panel table{min-width:750px}}

/* v1.0.2 staging: constrain imported Elementor gallery controls and images */
body.page .content svg,body.page .content .elementor-swiper-button svg,body.page .content .swiper-button-next svg,body.page .content .swiper-button-prev svg{width:22px!important;height:22px!important;max-width:22px!important;max-height:22px!important;display:inline-block;vertical-align:middle}
body.page .content .elementor-swiper-button,body.page .content .swiper-button-next,body.page .content .swiper-button-prev{width:38px!important;height:38px!important;display:flex;align-items:center;justify-content:center}
body.page .content .elementor-image-carousel-wrapper,body.page .content .swiper,body.page .content .swiper-container{max-width:100%;overflow:hidden}
body.page .content .swiper-slide img,body.page .content .elementor-image-carousel img{max-height:290px;width:auto;max-width:100%;object-fit:contain;margin-inline:auto}
body.page .content .elementor-widget-image img{max-height:320px;width:auto;object-fit:contain}
body.page .content .elementor-widget-image,body.page .content .elementor-widget-image-carousel{margin-block:12px}
.ecoshield-tabs .ecoshield-tab-panel img{max-width:100%;max-height:440px;object-fit:contain}

/* v1.0.3: reconstructed compact product carousel */
.eco-product-carousel{position:relative;margin:24px 0 30px;padding:0 42px 26px;max-width:100%}
.eco-product-carousel .eco-carousel-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:center}
.eco-product-carousel .eco-carousel-cell{height:165px;display:flex;align-items:center;justify-content:center;min-width:0}
.eco-product-carousel .eco-carousel-cell img{display:block;width:auto;max-width:100%;height:auto;max-height:160px;object-fit:contain}
.eco-product-carousel .eco-carousel-control{position:absolute;top:60px;display:grid;place-items:center;border:0;background:#f5f2e9;color:#143e35;border-radius:50%;height:34px;width:34px;cursor:pointer;font-size:25px;line-height:1}
.eco-product-carousel .eco-carousel-control.prev{left:0}.eco-product-carousel .eco-carousel-control.next{right:0}
.eco-product-carousel .eco-carousel-dots{display:flex;justify-content:center;gap:7px;position:absolute;bottom:0;left:0;right:0}
.eco-product-carousel .eco-carousel-dots button{height:8px;width:8px;border-radius:50%;padding:0;border:0;background:#cbd2ce;cursor:pointer}
.eco-product-carousel .eco-carousel-dots button[aria-current=true]{background:#143e35}
@media(max-width:650px){.eco-product-carousel{padding-inline:34px}.eco-product-carousel .eco-carousel-track{grid-template-columns:1fr}.eco-product-carousel .eco-carousel-cell{height:170px}.eco-product-carousel .eco-carousel-control{top:65px}}

/* v1.0.4: restore two-column product introduction and remove leftover import spacing */
body.page .content .eco-product-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(24px,5vw,65px);margin:0 0 28px}
body.page .content .eco-product-intro-image{display:flex;align-items:center;justify-content:center;min-width:0}
body.page .content .eco-product-intro-image img{display:block;width:auto;max-width:100%;max-height:300px;height:auto;object-fit:contain;margin:0 auto}
body.page .content .eco-product-intro-image :is(div,figure,p){margin:0;max-width:100%}
body.page .content .eco-product-intro-text h1,body.page .content .eco-product-intro-text h2,body.page .content .eco-product-intro-text h3{margin:0 0 16px}
body.page .content .eco-product-intro-text p{margin:0 0 14px}
body.page .content .eco-product-carousel{margin-top:10px;margin-bottom:22px}
body.page .content .eco-product-carousel .eco-carousel-cell{height:145px}
body.page .content .eco-product-carousel .eco-carousel-cell img{max-height:140px}
body.page .content .eco-product-carousel .eco-carousel-control{top:55px}
body.page .content .eco-product-carousel+.ecoshield-tabs{margin-top:16px}
@media(max-width:760px){body.page .content .eco-product-intro{grid-template-columns:1fr;gap:18px}body.page .content .eco-product-intro-image img{max-height:240px}}

/* v1.0.5: curated navigation, not a full imported-page sitemap. */
.main-nav .eco-stage-menu{display:flex;align-items:stretch;flex-wrap:wrap;gap:6px 22px;padding:10px 0}
.main-nav .eco-stage-menu>li>a,.main-nav .eco-nav-group summary{display:block;padding:10px 3px;color:#fff;text-decoration:none;font:600 15px/1.5 system-ui,sans-serif;cursor:pointer}
.main-nav .eco-nav-group summary{list-style:none}
.main-nav .eco-nav-group summary::-webkit-details-marker{display:none}
.main-nav .eco-nav-group summary::after{content:' ▾';font-size:12px}
.main-nav .eco-nav-group details[open]>summary::after{content:' ▴'}
.main-nav .eco-nav-group{position:relative}
.main-nav .eco-nav-submenu{position:absolute;z-index:100;left:0;top:100%;display:block;width:max-content;min-width:230px;max-width:min(350px,90vw);max-height:65vh;overflow:auto;padding:8px 12px;background:#20584b;box-shadow:0 8px 22px #0003;border-radius:0 0 5px 5px}
.main-nav .eco-nav-submenu li a{padding:8px 10px;white-space:normal}
.main-nav .eco-nav-submenu li a:hover,.main-nav .eco-stage-menu>li>a:hover,.main-nav summary:hover{background:#ffffff18}
/* The Elementor gallery navigation has no script on staging. Only the new carousel is interactive. */
body.eco-horizontal-product .content .elementor-swiper-button,body.eco-horizontal-product .content .swiper-button-prev,body.eco-horizontal-product .content .swiper-button-next,body.eco-horizontal-product .content .elementor-image-carousel-wrapper .elementor-icon{display:none!important}
@media(max-width:760px){
 .main-nav .eco-stage-menu{display:block;padding:10px 0}
 .main-nav .eco-nav-group{position:static}
 .main-nav .eco-nav-submenu{position:static;width:100%;max-width:100%;max-height:none;box-shadow:none;padding:4px 8px 10px 18px}
 .main-nav .eco-stage-menu>li>a,.main-nav .eco-nav-group summary{padding:11px 6px}
}

/* v1.0.6: keep menu submenus visually separate and above page content. */
.main-nav{position:relative;z-index:200}.main-nav .eco-nav-group details:not([open])>.eco-nav-submenu{display:none}

/* v1.0.7: explicit nav visibility, including browser/theme details defaults */
#primary-navigation[hidden]{display:none!important}
#primary-navigation:not([hidden]){display:block!important;visibility:visible!important;opacity:1!important;max-height:none!important;overflow:visible!important}
#primary-navigation .wrap,#primary-navigation .eco-stage-menu{visibility:visible!important;opacity:1!important}
#primary-navigation .eco-nav-group details:not([open])>.eco-nav-submenu{display:none!important}
#primary-navigation .eco-nav-group details[open]>.eco-nav-submenu{display:block!important}
/* The legacy Elementor slider buttons must not display alongside the rebuilt carousel. */
body.eco-horizontal-product .content :is(.elementor-swiper-button,.swiper-button-prev,.swiper-button-next,.swiper-button-disabled,.slick-arrow,.swiper-navigation-button,.elementor-icon-wrapper){display:none!important}

/* v1.0.8: explicit desktop navigation drawer independent of imported Elementor CSS. */
#primary-navigation[hidden],#primary-navigation:not(.eco-menu-open){display:none!important}
#primary-navigation.eco-menu-open:not([hidden]){display:block!important;position:relative!important;z-index:999!important;visibility:visible!important;opacity:1!important;height:auto!important;max-height:none!important;overflow:visible!important;background:#143e35!important}
#primary-navigation.eco-menu-open>.wrap{display:block!important;padding:12px 0!important}
#primary-navigation.eco-menu-open ul.eco-stage-menu{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:8px 24px!important;margin:0!important;padding:8px 0!important;list-style:none!important}
#primary-navigation.eco-menu-open ul.eco-stage-menu>li{display:list-item!important;visibility:visible!important;opacity:1!important}
#primary-navigation.eco-menu-open ul.eco-stage-menu>li>a,#primary-navigation.eco-menu-open summary{display:block!important;color:#fff!important;cursor:pointer!important}
#primary-navigation.eco-menu-open details[open]>.eco-nav-submenu{display:block!important;visibility:visible!important;opacity:1!important;z-index:1001!important}
@media(max-width:760px){#primary-navigation.eco-menu-open ul.eco-stage-menu{display:block!important}#primary-navigation.eco-menu-open .eco-nav-submenu{position:static!important;width:100%!important}}

/* v1.0.9: robust menu visibility with explicit open state. */
#primary-navigation.eco-menu-open{display:block!important;visibility:visible!important;opacity:1!important;}
#primary-navigation.eco-menu-open .eco-stage-menu{display:flex!important;}
@media(max-width:760px){#primary-navigation.eco-menu-open .eco-stage-menu{display:block!important;}}

/* v1.1.0 - independent book-style navigation, no inherited dropdown styles. */
.eco-book-backdrop{position:fixed;inset:0;background:rgba(8,28,24,.67);z-index:99990}
.eco-book-backdrop[hidden]{display:none!important}
.eco-book-panel{position:fixed;right:0;top:0;bottom:0;width:min(1060px,88vw);background:#f5f2e9;z-index:99991;overflow-y:auto;transform:translateX(103%);visibility:hidden;transition:transform .28s ease,visibility .28s ease;box-shadow:-12px 0 35px #0002;color:#143e35}
.eco-book-panel.is-open{transform:translateX(0);visibility:visible}
.eco-book-inner{padding:clamp(22px,4vw,55px);min-height:100%}
.eco-book-top{display:flex;align-items:center;justify-content:space-between;gap:20px}
.eco-book-eyebrow,.eco-book-columns h3{font:700 11px/1.5 system-ui,sans-serif;letter-spacing:.13em;text-transform:uppercase;color:#9c8051}
.eco-book-close{background:transparent;color:#143e35;border:1px solid #c6c5b8;padding:9px 12px;cursor:pointer;display:flex;align-items:center;gap:12px;font:700 11px system-ui,sans-serif;letter-spacing:.08em}
.eco-book-close span{font-size:25px;font-weight:300;line-height:.8}
.eco-book-panel h2{font-size:clamp(1.9rem,3vw,3.1rem);font-weight:400;margin:8px 0 22px}
.eco-book-search{padding:20px 0 28px;border-top:1px solid #d8d3c7}
.eco-book-search .search-form{width:100%;border-radius:0}
.eco-book-search .search-form input{flex:1;width:100%}
.eco-book-search .search-form button{background:#b6a071;color:#153a30;border-radius:0}
.eco-book-columns{display:grid;grid-template-columns:1.05fr 1.1fr 1.1fr .9fr;gap:24px}
.eco-book-columns h3{font-size:11px;margin:0 0 14px}
.eco-book-columns ul{list-style:none;padding:0;margin:0}
.eco-book-columns li{margin:0;border-bottom:1px solid #dedbd1}
.eco-book-columns a{display:block;color:#143e35;text-decoration:none;padding:10px 2px;font:600 13px/1.5 system-ui,sans-serif}
.eco-book-primary a{font:400 20px/1.35 Georgia,serif;text-transform:uppercase;letter-spacing:.035em}
.eco-book-columns a:hover,.eco-book-columns a:focus-visible{color:#7a6338;text-decoration:underline}
body.eco-book-active{overflow:hidden}
@media(max-width:900px){.eco-book-panel{width:min(690px,94vw)}.eco-book-columns{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.eco-book-panel{width:100vw}.eco-book-inner{padding:20px}.eco-book-columns{grid-template-columns:1fr;gap:18px}.eco-book-primary a{font-size:17px}.eco-book-panel h2{font-size:29px}}
@media(prefers-reduced-motion:reduce){.eco-book-panel{transition:none}}

/* EcoShield Stirling Castle logo: desktop and mobile header sizing */
.site-header{background:#fff}
.brand:has(.ecoshield-header-logo){flex:0 1 470px;min-width:0}
.brand .ecoshield-header-logo{display:block;width:100%;max-width:470px;max-height:none;height:auto;object-fit:contain}
@media(max-width:760px){.brand:has(.ecoshield-header-logo){width:100%;max-width:470px;margin:0 auto 14px}.brand .ecoshield-header-logo{width:100%;max-width:470px;max-height:none}.head-main{padding-top:10px}}


/* v1.1.2: EcoShield live-site footer layout and WhatsApp link */
.eco-footer{background:#1b1b1b;color:#f8f8f8;padding:62px 0 24px}
.eco-footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:clamp(22px,4vw,68px)}
.eco-footer h3{color:#fff;text-transform:uppercase;font:700 19px/1.4 system-ui,sans-serif;margin:0 0 16px}
.eco-footer h3:after{content:"";display:block;width:48px;height:2px;background:#56b85e;margin-top:12px}
.eco-footer ul{list-style:none;padding:0;margin:0}.eco-footer li{margin:0 0 8px;line-height:1.5;font-size:14px}
.eco-footer li a,.eco-footer p a{color:#fff;text-decoration:none}.eco-footer li a:hover,.eco-footer li a:focus-visible{text-decoration:underline;color:#a3e5a5}
.eco-footer-grid p{font-size:14px;line-height:1.75;margin:0;color:#f7f7f7}
.eco-footer-bottom{border-top:1px solid #414141;margin-top:48px;padding-top:20px;font-size:13px;line-height:1.6;color:#eee}
.eco-footer-bottom p{margin:4px 0}
.eco-whatsapp{position:fixed;bottom:22px;right:22px;z-index:9995;display:inline-flex;align-items:center;gap:10px;border-radius:999px;background:#18c864;color:#fff!important;text-decoration:none;padding:11px 18px;box-shadow:0 5px 22px #0003;font:700 14px/1.3 system-ui,sans-serif}
.eco-whatsapp:hover,.eco-whatsapp:focus-visible{background:#0f9c4a;color:#fff!important;transform:translateY(-1px)}
.eco-whatsapp svg{width:23px;height:23px;flex:none}
@media(max-width:800px){.eco-footer-grid{grid-template-columns:1fr 1fr}.eco-footer-grid section:last-child{grid-column:1/-1}}
@media(max-width:550px){.eco-footer{padding-top:40px}.eco-footer-grid{grid-template-columns:1fr;gap:28px}.eco-footer-grid section:last-child{grid-column:auto}.eco-whatsapp{bottom:14px;right:14px;padding:12px}.eco-whatsapp span{display:none}.eco-whatsapp svg{width:27px;height:27px}}

/* v1.1.3: illustrated brand in mobile book menu; refined editorial desktop navigation */
.eco-book-brand{display:block;max-width:420px;width:100%;margin:12px 0 15px;text-decoration:none}
.eco-book-brand img{display:block;width:100%;height:auto;max-height:142px;object-fit:contain;object-position:left center}
.eco-book-panel .eco-book-heading{font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.4rem,2.3vw,2rem);font-weight:400;letter-spacing:.015em;margin:0 0 22px}
@media(min-width:901px){
.eco-book-columns a{font-family:Georgia,'Times New Roman',serif;font-size:16px;font-weight:400;line-height:1.45;letter-spacing:.01em;padding:11px 3px;transition:color .18s ease,padding-left .18s ease}
.eco-book-primary a{font-family:Georgia,'Times New Roman',serif;font-size:22px;line-height:1.4;letter-spacing:.045em}
.eco-book-columns a:hover,.eco-book-columns a:focus-visible{padding-left:8px}
.eco-book-columns h3{font-size:12px;letter-spacing:.17em;color:#8b7042}
}
@media(max-width:540px){
.eco-book-brand{max-width:100%;margin:12px 0}
.eco-book-brand img{max-height:110px}
.eco-book-panel .eco-book-heading{font-size:24px;margin-bottom:15px}
}

/* v1.1.4: clearly show the Stirling Castle brand on mobile, both header and open navigation. */
@media(max-width:760px){
  .site-header .head-main{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:8px!important}
  .site-header a.brand{display:block!important;width:100%!important;max-width:520px!important;margin:0 auto 8px!important;visibility:visible!important;opacity:1!important}
  .site-header .brand img.ecoshield-header-logo{display:block!important;width:100%!important;max-width:520px!important;height:auto!important;max-height:none!important;object-fit:contain!important}
  .site-header .head-tools{display:flex!important;width:100%!important}
  .eco-book-panel .eco-book-brand{display:block!important;width:100%!important;max-width:100%!important;visibility:visible!important;opacity:1!important;margin:15px 0 18px!important}
  .eco-book-panel .eco-book-brand img{display:block!important;width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;object-position:left center!important}
}
/* Keep the complete copyright and registration wording on one line on desktop. */
@media(min-width:1100px){.eco-footer-bottom p{white-space:nowrap;font-size:12px;letter-spacing:-.1px}}
@media(max-width:1099px){.eco-footer-bottom p{white-space:normal}}

/* v1.1.5: muted forest-green footer with brass accents. */
.eco-footer{background:#263F39;color:#F4F0E6}
.eco-footer h3{color:#F4F0E6}
.eco-footer h3:after{background:#C2AC79}
.eco-footer li a,.eco-footer p a{color:#F4F0E6}
.eco-footer li a:hover,.eco-footer li a:focus-visible{color:#E6C993}
.eco-footer-grid p{color:#F4F0E6}
.eco-footer-bottom{border-top-color:rgba(244,240,230,.26);color:#F4F0E6}
/* Give the mobile menu its own prominent logo, before navigation text. */
@media(max-width:760px){
 .eco-book-inner{display:flex;flex-direction:column}
 .eco-book-top{order:0}
 .eco-book-brand{order:1;display:block!important;align-self:center!important;width:100%!important;max-width:440px!important;margin:18px auto 12px!important;flex:none!important}
 .eco-book-brand img{display:block!important;width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;visibility:visible!important;opacity:1!important}
 .eco-book-heading{order:2}
 .eco-book-search{order:3}
 .eco-book-columns{order:4}
 .site-header .brand .ecoshield-header-logo{width:100%!important;max-height:none!important;height:auto!important;visibility:visible!important;opacity:1!important}
}

/* v1.1.6: force the actual EcoShield Stirling Castle logo in mobile header and book menu. */
.eco-brand-picture,.eco-book-logo-picture{display:block;width:100%}
.eco-brand-picture img,.eco-book-logo-picture img{display:block;width:100%;height:auto;object-fit:contain}
@media(max-width:760px){
 .site-header .brand .eco-brand-picture{width:100%;max-width:100%}
 .site-header .brand .eco-brand-picture img{width:100%!important;max-width:100%!important;height:auto!important;max-height:none!important}
 .eco-book-panel .eco-book-logo-picture{width:100%;max-width:100%}
 .eco-book-panel .eco-book-logo-picture img{width:100%!important;max-width:100%!important;height:auto!important;max-height:none!important}
}


/* v1.1.7: eliminate the 470px flex-basis inherited from desktop on mobile.
   In a column flex container, flex-basis becomes HEIGHT, causing the giant gap. */
@media screen and (max-width:760px) {
  .site-header .head-main {
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:10px!important;
    padding-top:12px!important;
    padding-bottom:14px!important;
  }
  .site-header .head-main > a.brand {
    flex:0 0 auto!important;
    flex-basis:auto!important;
    min-height:0!important;
    height:auto!important;
    width:100%!important;
    max-width:520px!important;
    margin:0 auto!important;
    padding:0!important;
    line-height:normal!important;
  }
  .site-header .brand .eco-brand-picture {
    display:block!important;
    width:100%!important;
    height:auto!important;
    margin:0!important;
  }
  .site-header .brand .eco-brand-picture img {
    display:block!important;
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    margin:0!important;
  }
  .site-header .head-tools {
    flex:0 0 auto!important;
    margin:0!important;
    min-height:0!important;
  }
}


/* v1.1.8: fix root cause: flex-basis:470px on the logo anchor becomes
   a 470px HEIGHT when the mobile header switches to flex-direction:column. */
@media (max-width:760px) {
  .site-header .head-main {
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:10px!important;
    padding:12px 0 14px!important;
  }
  .site-header .head-main > a.brand,
  .site-header .head-main > a.brand:has(.ecoshield-header-logo) {
    display:block!important;
    flex:none!important;
    flex-basis:auto!important;
    flex-grow:0!important;
    flex-shrink:0!important;
    width:100%!important;
    max-width:520px!important;
    height:auto!important;
    min-height:0!important;
    margin:0 auto!important;
    padding:0!important;
  }
  .site-header .head-main > a.brand > img.ecoshield-header-logo {
    display:block!important;
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    margin:0!important;
  }
  .site-header .head-main > .head-tools {
    flex:none!important;
    width:100%!important;
    min-height:0!important;
    margin:0!important;
  }
}

/* EcoShield v1.1.9: restored original homepage photography and editorial design */
.eco-home-v119{color:#253c33;background:#f6f3eb}.eco-home-v119 .wrap{max-width:1180px;margin-inline:auto;padding-inline:24px}.eco-home-v119 h1,.eco-home-v119 h2,.eco-home-v119 h3{font-family:Georgia,'Times New Roman',serif;line-height:1.15;color:#193e34}.eco-home-v119 h1{font-size:clamp(2.6rem,5vw,4.9rem);margin:16px 0 22px}.eco-home-v119 h2{font-size:clamp(2rem,3.2vw,3.2rem);margin:12px 0 24px}.eco-home-v119 h3{font-size:1.5rem;margin:10px 0}.eco-home-v119 p{line-height:1.8;font-size:1.03rem}.eco-home-v119 .eco-eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;font-weight:700;color:#a18b5d}.eco-home-hero{background:#eae8dc;padding:65px 0}.eco-home-hero-grid,.eco-home-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,75px);align-items:center}.eco-home-hero-copy>p{font-size:1.2rem;max-width:560px}.eco-home-hero-image{position:relative}.eco-home-photo{width:100%;display:block;object-fit:cover;border-radius:5px}.eco-home-hero-image .eco-home-photo{aspect-ratio:1.15}.eco-photo-caption{position:absolute;bottom:16px;left:16px;background:#f6f3eb;padding:10px 15px;font-size:.8rem;color:#193e34}.eco-home-actions{display:flex;flex-wrap:wrap;gap:22px;align-items:center;margin-top:30px}.eco-home-v119 .btn{display:inline-block;background:#b8a06f;color:#1e392f!important;text-decoration:none;padding:15px 25px;border-radius:4px;font-weight:700}.eco-home-textlink{color:#1c4c3d;font-weight:700;text-decoration:underline;text-underline-offset:5px}.eco-home-section{padding:78px 0}.eco-home-intro .eco-home-photo,.eco-home-heritage .eco-home-photo{aspect-ratio:1.25}.eco-home-benefits{background:#234b40;color:#f7f4ea}.eco-home-benefits h2,.eco-home-benefits h3{color:#f7f4ea}.eco-home-benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:34px}.eco-home-benefit-grid article{border-top:1px solid #a89569;padding-top:20px}.eco-benefit-number{color:#d4c29d;font-size:.9rem}.eco-home-benefit-grid p{font-size:.96rem}.eco-home-project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:35px}.eco-home-project{background:#fff;border:1px solid #e6e2d7}.eco-home-project .eco-home-photo{aspect-ratio:1.2;border-radius:0}.eco-home-project>div{padding:22px}.eco-home-project>div>span{color:#9a8459;font-size:.8rem}.eco-home-products{background:#eae8dc}.eco-home-system-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:30px}.eco-home-system{display:block;background:#fff;padding:25px;border:1px solid #dedbd1;text-decoration:none;color:#253c33;transition:transform .2s,border-color .2s}.eco-home-system:hover{transform:translateY(-3px);border-color:#b8a06f}.eco-home-system span{font-size:.88rem;color:#2b5c4c;font-weight:700}.eco-home-heritage{background:#fff}.eco-home-final{background:#183c33;color:#fff;text-align:center;padding:80px 0}.eco-home-final h2{color:#fff}.eco-home-final p{max-width:680px;margin:0 auto 30px}.eco-home-v119 .eco-home-final .eco-eyebrow{color:#d4c29d}
@media(max-width:850px){.eco-home-benefit-grid{grid-template-columns:repeat(2,1fr)}.eco-home-project-grid,.eco-home-system-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.eco-home-hero-grid,.eco-home-split{grid-template-columns:1fr}.eco-home-hero{padding:36px 0}.eco-home-section{padding:52px 0}.eco-home-project-grid,.eco-home-system-grid{grid-template-columns:1fr}.eco-home-benefit-grid{gap:18px}.eco-home-v119 .wrap{padding-inline:20px}.eco-home-hero-image .eco-home-photo{aspect-ratio:1.35}.eco-home-hero-copy>p{font-size:1.05rem}}

/* v1.2.0: footer service-area navigation */
.eco-footer-areas{list-style:none;margin:0;padding:0;columns:2;column-gap:22px}.eco-footer-areas li{break-inside:avoid;margin:0 0 7px}.eco-footer-areas a{color:inherit;text-decoration:none}.eco-footer-areas a:hover,.eco-footer-areas a:focus{text-decoration:underline;text-underline-offset:3px}@media(max-width:560px){.eco-footer-areas{columns:2;column-gap:12px}}

/* v1.2.1: compact comma-separated service-area links, naturally wrapping */
.eco-footer .eco-footer-areas-compact,.eco-footer-areas-compact{display:block!important;columns:auto!important;column-count:auto!important;max-width:none!important;margin:8px 0 0!important;padding:0!important;line-height:1.65!important;font-size:0.91rem!important;letter-spacing:0!important}
.eco-footer-areas-compact a{color:inherit;text-decoration:none;display:inline!important;white-space:normal!important;margin:0!important;padding:0!important}
.eco-footer-areas-compact a:hover,.eco-footer-areas-compact a:focus{text-decoration:underline;text-underline-offset:3px}

/* v1.2.3: product and service-area page editorial layouts */
.eco-detail-hero{background:linear-gradient(120deg,#193e35 0%,#2c594b 100%);color:#f8f5eb;padding:clamp(32px,5vw,68px) 0;overflow:hidden}
.eco-detail-hero-inner{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:clamp(22px,4vw,55px);align-items:center}
.eco-detail-hero h1{color:#fff;margin:12px 0 18px;font-size:clamp(2rem,4vw,3.7rem)}
.eco-detail-lede{max-width:640px;color:#e6ece5;font-size:1.1rem;line-height:1.65}
.eco-detail-eyebrow{font:700 .76rem/1.5 system-ui,sans-serif;letter-spacing:.16em;color:#bba778;margin:0 0 10px}
.eco-crumbs{display:flex;gap:10px;flex-wrap:wrap;font-size:.85rem;color:#e0e7df;margin-bottom:26px}
.eco-crumbs a{color:inherit;text-underline-offset:3px}
.eco-detail-cta{display:inline-flex;align-items:center;gap:15px;background:#c2ad7e;color:#173a31!important;padding:12px 20px;border-radius:5px;text-decoration:none;font-weight:700;margin-top:14px}
.eco-detail-cta:hover{background:#e1cea0}
.eco-detail-featured img{width:100%;height:auto;max-height:390px;object-fit:cover;border-radius:10px;box-shadow:0 20px 50px #0a251f55}
.eco-detail-content{padding-top:46px}.eco-detail-content>p{max-width:850px}.eco-detail-content>h2{border-left:4px solid #b9a170;padding-left:18px;margin-top:44px}
.eco-detail-content :is(.wp-block-image,figure){max-width:100%}
.eco-detail-next{clear:both;border-top:1px solid #d6dfd8;margin-top:60px;padding:40px 0 0}
.eco-detail-next-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:22px}
.eco-detail-next-heading h2{margin:0}.eco-detail-next-heading>p{max-width:330px;color:#54655c}
.eco-detail-link-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.eco-detail-link-grid a{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#f5f2e9;border:1px solid #dce2da;border-radius:7px;padding:16px;text-decoration:none;font-weight:650;color:#1a483b}
.eco-detail-link-grid a:hover{background:#e8eee8;border-color:#a8c2b4}
.eco-detail-link-grid span{font-size:1.3rem}
.eco-detail-contact{background:#edf1eb;border-left:4px solid #bba778;padding:25px 30px;border-radius:6px;margin-top:30px;display:flex;align-items:center;justify-content:space-between;gap:25px}
.eco-detail-contact h3{margin:0 0 6px}.eco-detail-contact p{margin:0}.eco-detail-contact .eco-detail-cta{flex-shrink:0;margin:0}
@media(max-width:800px){.eco-detail-hero-inner{grid-template-columns:1fr}.eco-detail-featured img{max-height:300px}.eco-detail-link-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.eco-detail-next-heading,.eco-detail-contact{display:block}.eco-detail-contact .eco-detail-cta{margin-top:18px}}
@media(max-width:500px){.eco-detail-link-grid{grid-template-columns:1fr}.eco-detail-hero{padding:28px 0}.eco-detail-content{padding-top:24px}}


/* v1.2.4: editorial heritage design, restricted to product and area detail pages. */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Source+Sans+3:wght@400;500;600;700&display=swap');
.eco-detail-hero,.eco-detail-content{font-family:'Source Sans 3', 'Segoe UI', Arial, sans-serif}
.eco-detail-hero{background:linear-gradient(115deg,#193c33 0%,#285347 100%);padding:clamp(46px,6vw,88px) 0}
.eco-detail-hero-inner{gap:clamp(32px,5vw,76px)}
.eco-detail-hero h1{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;letter-spacing:-.025em;line-height:1.02;font-size:clamp(3.15rem,5.5vw,5.25rem);max-width:850px}
.eco-detail-hero .eco-detail-lede{font-family:'Source Sans 3','Segoe UI',sans-serif;font-size:clamp(1.12rem,1.6vw,1.35rem);line-height:1.65;max-width:630px}
.eco-detail-hero .eco-detail-featured img{border-radius:3px;box-shadow:16px 16px 0 #c2ac7940;max-height:450px}
.eco-detail-content{background:#fffdf9;max-width:1160px;padding:clamp(36px,5vw,75px) clamp(18px,3vw,40px) 80px;color:#34423b}
.eco-detail-content .eco-editorial-article-body{max-width:100%;font-size:18px;line-height:1.85;letter-spacing:.002em}
.eco-detail-content .eco-editorial-article-body>p,.eco-detail-content .eco-editorial-article-body>ul,.eco-detail-content .eco-editorial-article-body>ol{max-width:800px;margin:0 0 1.35em}
.eco-detail-content .eco-editorial-article-body>p:first-child{font-size:clamp(1.15rem,1.6vw,1.33rem);line-height:1.8;color:#243e33}
.eco-detail-content .eco-editorial-article-body :is(h2,h3,h4),.eco-detail-next :is(h2,h3),.eco-editorial-benefits h2{font-family:'Cormorant Garamond',Georgia,serif;color:#20483c;letter-spacing:-.02em;font-weight:600}
.eco-detail-content .eco-editorial-article-body h2{font-size:clamp(2.15rem,3.2vw,3.2rem);line-height:1.12;border:0;padding:0;margin:2.1em 0 .55em;max-width:850px}
.eco-detail-content .eco-editorial-article-body h3{font-size:clamp(1.65rem,2.4vw,2.25rem);margin:1.6em 0 .55em}
.eco-detail-content .eco-editorial-article-body hr{border:0;width:100%;max-width:800px;margin:2.2em 0;border-top:1px solid #e6e3d9}
.eco-detail-content .eco-editorial-article-body a{text-decoration-thickness:1px;text-underline-offset:4px}
.eco-detail-content .eco-editorial-article-body :is(figure,.wp-block-image){margin-block:2rem;max-width:900px}
.eco-detail-content .eco-editorial-article-body img{border-radius:4px}
.eco-editorial-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 clamp(35px,5vw,60px)}
.eco-editorial-benefits>div{background:#f4f1e8;border-top:3px solid #b8a475;padding:24px 25px;min-width:0}
.eco-editorial-benefits span{font:600 13px/1.4 'Source Sans 3',sans-serif;letter-spacing:.14em;color:#9a8658}
.eco-editorial-benefits h2{font-size:clamp(1.7rem,2.5vw,2.3rem);line-height:1.1;margin:10px 0}
.eco-editorial-benefits p{font-size:1rem;line-height:1.55;margin:0}
.eco-detail-next{border-top:1px solid #d4c6a5;padding-top:45px}
.eco-detail-next-heading h2{font-size:clamp(2.2rem,3.4vw,3.3rem)}
.eco-detail-link-grid a{font-family:'Source Sans 3',sans-serif;font-size:1.02rem;border-radius:3px;background:#f4f1e8;border-color:#e6dfcf;min-height:86px}
.eco-detail-contact{background:#e8ede5;border-left:4px solid #b8a475;border-radius:3px;margin-top:35px}
.eco-detail-contact h3{font-size:2rem}
.eco-detail-cta{border-radius:3px}
@media(max-width:800px){.eco-editorial-benefits{grid-template-columns:1fr;gap:10px}.eco-editorial-benefits>div{padding:18px 20px}.eco-detail-hero h1{font-size:clamp(2.8rem,10vw,4.5rem)}}
@media(max-width:600px){.eco-detail-content{padding:30px 18px 55px}.eco-detail-content .eco-editorial-article-body{font-size:17px;line-height:1.8}.eco-detail-hero .eco-detail-featured img{box-shadow:8px 8px 0 #c2ac7940}.eco-detail-content .eco-editorial-article-body h2{margin-top:1.5em}}

\n/* v1.2.5: responsive imported product gallery */
.eco-gallery-rebuilt{max-width:760px;margin:24px auto 32px;padding:20px;background:#f6f2e9;border:1px solid #ded7c9;border-radius:14px}
.eco-gallery-rebuilt .eco-gallery-main{display:block;width:100%;height:360px;object-fit:contain;background:#fff;border-radius:9px}
.eco-gallery-controls{display:flex;align-items:center;justify-content:center;gap:25px;margin-top:12px;color:#21483d}
.eco-gallery-controls button{display:grid;place-items:center;width:45px;height:45px;border:1px solid #c8bdab;border-radius:50%;background:white;color:#21483d;font-size:31px;line-height:1;cursor:pointer}
.eco-gallery-controls button:hover{background:#21483d;color:white}
.eco-gallery-controls span{font:600 14px/1.4 system-ui,sans-serif;min-width:55px;text-align:center}
@media(max-width:650px){.eco-gallery-rebuilt{margin:16px 0 24px;padding:10px}.eco-gallery-rebuilt .eco-gallery-main{height:250px}}

/* v1.2.6: professional service-area typography */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:wght@500;600;700&display=swap');
.eco-detail-content-area,.eco-detail-area{font-family:'DM Sans',Arial,sans-serif}
.eco-detail-content-area .eco-editorial-article-body{font-family:'DM Sans',Arial,sans-serif;font-size:clamp(17px,1.5vw,19px);line-height:1.82;letter-spacing:0;color:#33443b}
.eco-detail-content-area .eco-editorial-article-body>p{max-width:75ch;margin-bottom:1.5rem}
.eco-detail-content-area .eco-editorial-article-body .eco-auto-area-heading{font-family:'Fraunces',Georgia,serif;font-size:clamp(1.85rem,3vw,2.65rem);line-height:1.18;font-weight:600;color:#1d4739;max-width:780px;margin:2.1rem 0 .9rem;padding:0;border:0}
.eco-detail-area h1,.eco-detail-content-area .eco-detail-next h2,.eco-detail-content-area .eco-editorial-benefits h2{font-family:'Fraunces',Georgia,serif}
.eco-detail-content-area .eco-editorial-article-body hr{display:none}
@media(max-width:600px){.eco-detail-content-area .eco-editorial-article-body{font-size:17px;line-height:1.75}.eco-detail-content-area .eco-editorial-article-body .eco-auto-area-heading{margin:1.7rem 0 .75rem}}

/* v1.2.7: text-first local landing pages; safeguard against media markup */
.eco-detail-content-area .eco-editorial-article-body img,
.eco-detail-content-area .eco-editorial-article-body picture,
.eco-detail-content-area .eco-editorial-article-body figure,
.eco-detail-content-area .eco-editorial-article-body iframe,
.eco-detail-content-area .eco-editorial-article-body embed,
.eco-detail-content-area .eco-editorial-article-body object,
.eco-detail-content-area .eco-editorial-article-body .wp-block-embed,
.eco-detail-content-area .eco-editorial-article-body .elementor-widget-google_maps{display:none!important}

/* v1.2.8: keep About page text clean and readable */
body.page-id-0 .eco-editorial-article-body p{line-height:1.75}

/* v1.2.9 contact page */
.eco-contact-hero{background:#263f39;color:#f4f0e6;padding:64px 0 60px}.eco-contact-kicker{font:700 12px/1.4 'DM Sans',Arial,sans-serif;letter-spacing:.16em;color:#c2ac79}.eco-contact-hero h1{font-family:'Fraunces',Georgia,serif;color:#f4f0e6;font-size:clamp(2.4rem,5vw,4.2rem);line-height:1.12;max-width:800px;margin:12px 0 16px}.eco-contact-hero p:last-child{max-width:700px;font-size:18px;line-height:1.7}.eco-contact-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding-top:48px;padding-bottom:36px}.eco-contact-card{background:#fff;border:1px solid #ded8ca;border-radius:12px;padding:clamp(24px,4vw,42px);box-shadow:0 10px 28px rgba(20,46,37,.06)}.eco-contact-card-alt{background:#f5f1e8}.eco-contact-card h2{font-family:'Fraunces',Georgia,serif;color:#263f39;font-size:clamp(1.75rem,3vw,2.3rem);margin:0 0 16px}.eco-contact-card h3{font-family:'DM Sans',Arial,sans-serif;font-size:15px;color:#263f39;margin:22px 0 5px}.eco-contact-card p,.eco-contact-card address{font-family:'DM Sans',Arial,sans-serif;font-size:17px;line-height:1.7;font-style:normal;color:#3c4a43}.eco-contact-method{padding:4px 0 14px;border-bottom:1px solid #e4dfd4}.eco-contact-card a{color:#245e4a;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.eco-contact-button{display:inline-block;background:#263f39;color:#fff!important;text-decoration:none!important;border-radius:5px;padding:13px 19px;margin-top:12px}.eco-contact-footnote{padding-bottom:44px;color:#657067;font-size:13px}@media(max-width:700px){.eco-contact-hero{padding:40px 0}.eco-contact-layout{grid-template-columns:1fr;padding-top:24px;gap:16px}}

/* v1.3.1: quotation form */
.eco-quote-layout{display:grid;grid-template-columns:minmax(240px,.75fr) minmax(0,1.35fr);gap:clamp(24px,5vw,72px);padding-top:45px;padding-bottom:70px;align-items:start}
.eco-quote-intro h2{font-family:Georgia,serif;color:#21483d;font-size:clamp(29px,3vw,42px);line-height:1.2}.eco-quote-intro p{font-size:17px;line-height:1.75;color:#44534a}.eco-quote-contact{margin-top:30px;padding:22px;background:#f4f0e7;border-left:4px solid #c2ac79;display:grid;gap:8px}.eco-quote-contact a{color:#21483d;overflow-wrap:anywhere}.eco-quote-panel{background:#f8f5ee;padding:clamp(20px,3vw,38px);border:1px solid #e2dacb;border-radius:12px}.eco-quote-form{display:grid;gap:20px}.eco-quote-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.eco-quote-form label{display:grid;gap:7px;font-weight:600;color:#234539;font-size:15px}.eco-quote-form label span{color:#a34336}.eco-quote-form input:not([type=hidden]),.eco-quote-form select,.eco-quote-form textarea{box-sizing:border-box;width:100%;padding:13px 14px;border:1px solid #c5cfc6;border-radius:5px;background:#fff;color:#28372f;font:400 16px/1.45 system-ui,sans-serif}.eco-quote-form input:focus,.eco-quote-form textarea:focus,.eco-quote-form select:focus{outline:2px solid #bda46f;outline-offset:2px}.eco-quote-form input[type=file]{font-size:14px}.eco-quote-privacy,.eco-quote-required{font-size:13px;color:#5e675f;line-height:1.6;margin:0}.eco-quote-submit{background:#21483d;color:white;border:0;border-radius:5px;padding:16px 23px;font-size:16px;font-weight:700;cursor:pointer;text-align:center}.eco-quote-submit:hover{background:#2f5b4d}.eco-quote-notice{padding:15px 18px;margin-bottom:24px;border-radius:6px;font-weight:600}.eco-quote-success{background:#e5f2e9;color:#1a5931}.eco-quote-error{background:#fff0ec;color:#953a28}.eco-quote-honey{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}@media(max-width:800px){.eco-quote-layout{grid-template-columns:1fr}.eco-quote-fields{grid-template-columns:1fr}}

/* v1.3.3: editorial product index, scoped exclusively to /our-products/ */
.eco-products-page{--eco-ink:#253f36;--eco-brass:#b49a64;--eco-paper:#f7f3ea;font-family:'DM Sans',Arial,sans-serif}
.eco-products-page .eco-detail-hero{background:linear-gradient(115deg,#203d34 0%,#315449 100%);padding-block:clamp(44px,6vw,82px)}
.eco-products-page .eco-detail-hero h1{font-family:'Fraunces',Georgia,serif;font-size:clamp(2.7rem,5.7vw,5rem);letter-spacing:-.025em;line-height:1.08}
.eco-products-page .eco-detail-hero .eco-detail-lede{font-size:clamp(17px,1.8vw,21px);line-height:1.7;max-width:660px}
.eco-products-page .eco-detail-content{padding-top:clamp(34px,5vw,70px)}
.eco-products-page .eco-editorial-article-body{font-family:'DM Sans',Arial,sans-serif;color:#35493f;font-size:17px;line-height:1.75}
.eco-products-page .eco-editorial-article-body h2,.eco-products-page .eco-editorial-article-body h3{font-family:'Fraunces',Georgia,serif;color:#234638;line-height:1.2;letter-spacing:-.018em}
.eco-products-page .eco-editorial-article-body h2{font-size:clamp(2rem,3.5vw,3.2rem);margin:42px 0 22px}
.eco-products-page .eco-editorial-article-body h3{font-size:clamp(1.5rem,2.2vw,2.05rem);margin:0 0 14px}
.eco-products-page .eco-editorial-article-body p{margin:0 0 18px;max-width:78ch}
.eco-products-page .eco-products-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:26px 0 48px}
.eco-products-page .eco-products-card{background:var(--eco-paper);border:1px solid #e3dccc;border-top:4px solid var(--eco-brass);border-radius:10px;padding:clamp(23px,3vw,36px);box-shadow:0 10px 25px rgba(29,54,43,.045);min-width:0}
.eco-products-page .eco-products-card h3{margin:0 0 14px}
.eco-products-page .eco-products-card p{font-size:16px;line-height:1.75}
.eco-products-page .eco-products-card a{display:inline-flex;align-items:center;background:#284d3e;color:#fff!important;padding:11px 18px;border-radius:5px;text-decoration:none;font-weight:700;font-size:14px;margin-top:7px;transition:background .2s}
.eco-products-page .eco-products-card a:hover{background:#396a55}
.eco-products-page .eco-products-card a:focus-visible{outline:3px solid var(--eco-brass);outline-offset:3px}
.eco-products-page .eco-editorial-article-body>h3:not(.eco-products-card h3){margin-top:35px}
.eco-products-page .eco-detail-next h2{font-family:'Fraunces',Georgia,serif}
@media(max-width:720px){.eco-products-page .eco-products-card-grid{grid-template-columns:1fr;gap:15px}.eco-products-page .eco-detail-hero{padding-block:38px}.eco-products-page .eco-products-card{padding:24px}}

/* v1.3.4 Privacy page */
.eco-privacy-hero{background:#263f39;color:#f4f0e6;padding:68px 0 62px}
.eco-privacy-hero .wrap,.eco-privacy-body{max-width:940px}
.eco-privacy-eyebrow{color:#c2ac79;font-size:.76rem;font-weight:700;letter-spacing:.19em}
.eco-privacy-hero h1,.eco-privacy-body h2{font-family:'Fraunces',Georgia,serif}
.eco-privacy-hero h1{font-size:clamp(2.5rem,5vw,4rem);line-height:1.1;margin:12px 0 18px;color:#f4f0e6}
.eco-privacy-hero p:last-child{font-size:1.13rem;line-height:1.65;max-width:650px}
.eco-privacy-body{padding-top:44px;padding-bottom:85px;font-family:'DM Sans',Arial,sans-serif;line-height:1.85;color:#293a34}
.eco-privacy-body h2{font-size:clamp(1.4rem,2.4vw,1.85rem);color:#263f39;line-height:1.25;margin:38px 0 12px}
.eco-privacy-body p{margin:0 0 17px}
.eco-privacy-body a{color:#24584b;text-decoration:underline;text-underline-offset:3px}
.eco-privacy-contact{margin-top:48px;padding:26px 32px;border-left:4px solid #c2ac79;background:#f5f1e8;border-radius:0 12px 12px 0}
.eco-privacy-contact h2{margin-top:0}
@media(max-width:640px){.eco-privacy-hero{padding:45px 0}.eco-privacy-body{padding-top:26px}.eco-privacy-contact{padding:22px}}


/* v1.3.5 – bespoke photo-free product index */
.eco-index-hero{background:#183b31;color:#f7f2e8;padding:66px 0 70px;overflow:hidden}.eco-index-hero-inner{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(200px,.8fr);align-items:center;gap:65px}.eco-index-kicker{font:600 12px/1.5 'DM Sans',sans-serif;letter-spacing:.17em;color:#c5a25c;text-transform:uppercase;margin:0 0 13px}.eco-index-hero h1,.eco-index-copy h2,.eco-index-cta h2{font-family:'Fraunces',Georgia,serif;font-weight:450;letter-spacing:-.025em}.eco-index-hero h1{font-size:clamp(36px,4.5vw,62px);line-height:1.12;color:#f7f2e8;margin:0 0 25px;max-width:820px}.eco-index-hero p:not(.eco-index-kicker){font:400 18px/1.7 'DM Sans',sans-serif;max-width:720px;margin:20px 0 0;color:#e6e9e2}.eco-index-rule{width:85px;height:2px;background:#b79a55}.eco-index-window{height:275px;width:190px;justify-self:center;position:relative;border:5px double rgba(190,164,103,.55);border-radius:95px 95px 2px 2px;opacity:.65;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;padding:9px;gap:7px;transform:rotate(-3deg)}.eco-index-window span{border:2px solid rgba(190,164,103,.55)}.eco-index-products{padding-top:36px;padding-bottom:28px;display:grid;gap:14px}.eco-index-card{display:grid;grid-template-columns:100px minmax(0,1fr) 230px;gap:25px;align-items:center;background:#faf7f0;border:1px solid #e8e0d0;border-radius:15px;padding:25px 28px;box-shadow:0 2px 10px rgba(29,48,37,.035)}.eco-index-icon{width:82px;height:82px;border:1px solid #e6d9c0;border-radius:50%;display:grid;place-items:center}.eco-index-icon span{display:block;width:33px;height:45px;border:3px double #a58b4f;position:relative}.eco-index-icon span:before{content:'';position:absolute;left:50%;top:0;bottom:0;border-left:1px solid #a58b4f}.eco-index-icon span:after{content:'';position:absolute;left:0;right:0;top:50%;border-top:1px solid #a58b4f}.eco-index-icon-hinged span{border-radius:18px 18px 0 0}.eco-index-icon-liftout span{border-bottom-style:dashed}.eco-index-icon-bespoke span{border-radius:18px 18px 0 0;transform:scale(.92)}.eco-index-copy h2{color:#173b32;font-size:clamp(23px,2.3vw,30px);line-height:1.2;margin:0 0 9px}.eco-index-copy p{font:400 15.5px/1.7 'DM Sans',sans-serif;color:#39453f;margin:0}.eco-index-action{border-left:1px solid #e2d8c6;min-height:70px;display:flex;align-items:center;justify-content:center;padding-left:25px}.eco-index-action a,.eco-index-cta>a{background:#a68c4a;color:#fff!important;border-radius:5px;text-decoration:none!important;padding:15px 18px;font:600 14px/1.4 'DM Sans',sans-serif;display:inline-flex;align-items:center;gap:15px;justify-content:center;transition:background .2s}.eco-index-action a:hover,.eco-index-cta>a:hover{background:#806d3b}.eco-index-cta{margin-top:0;margin-bottom:55px;background:#183b31;border-radius:13px;padding:34px 44px;display:flex;justify-content:space-between;align-items:center;gap:25px;color:#f7f2e8}.eco-index-cta h2{color:#fff;font-size:clamp(27px,3vw,40px);margin:0 0 9px}.eco-index-cta p:not(.eco-index-kicker){font:400 15px/1.6 'DM Sans',sans-serif;margin:0;color:#e7e8e0;max-width:550px}@media(max-width:850px){.eco-index-card{grid-template-columns:75px 1fr;gap:16px}.eco-index-icon{width:68px;height:68px}.eco-index-action{grid-column:2;border:0;min-height:0;padding:0;justify-content:flex-start}.eco-index-hero-inner{grid-template-columns:1fr}.eco-index-window{display:none}}@media(max-width:550px){.eco-index-hero{padding:40px 0}.eco-index-card{grid-template-columns:1fr;padding:24px;gap:12px}.eco-index-action{grid-column:1}.eco-index-icon{width:65px;height:65px}.eco-index-cta{padding:28px;display:block}.eco-index-cta>a{margin-top:22px}}

/* v1.3.7: Lift Out page – clean specification navigation, no gallery. */
.eco-lift-spec-nav{margin:2.5rem 0 2.8rem;padding:1.5rem 1.7rem;background:#f5f1e8;border:1px solid #dfd7c7;border-left:4px solid #b29a67;border-radius:12px}
.eco-lift-spec-nav p{margin:0 0 1rem;font-weight:700;color:#18352f;font-size:1.08rem}
.eco-lift-spec-nav>div{display:flex;flex-wrap:wrap;gap:.65rem}
.eco-lift-spec-nav a{display:inline-flex;align-items:center;padding:.65rem .95rem;border:1px solid #c9bea8;border-radius:6px;color:#18352f;text-decoration:none;font-weight:600;background:#fffaf0;transition:background .2s,color .2s}
.eco-lift-spec-nav a:hover,.eco-lift-spec-nav a:focus-visible{background:#18352f;color:#fff}
.eco-detail-content-product .eco-lift-section-title{margin-top:2.8rem;padding-top:.7rem;border-top:1px solid #d8cfbc;scroll-margin-top:100px}
@media(max-width:600px){.eco-lift-spec-nav{padding:1.1rem}.eco-lift-spec-nav a{font-size:.9rem}}

/* v1.3.8: editorial technical download directory */
.eco-tech-hero{background:#183b32;color:#f7f2e8;padding:66px 0 72px}.eco-tech-hero-inner{display:flex;justify-content:space-between;align-items:center;gap:40px}.eco-tech-eyebrow,.eco-tech-small{font-size:12px;letter-spacing:.19em;text-transform:uppercase;color:#bda36a;font-weight:700}.eco-tech-hero h1{font-family:Georgia,serif;font-size:clamp(42px,5vw,72px);line-height:1.1;color:#fff9ee;margin:13px 0 19px}.eco-tech-hero p:not(.eco-tech-eyebrow){max-width:720px;font-size:18px;line-height:1.8;color:#f3f0e7}.eco-tech-hero-mark{border:1px solid #bda36a;border-radius:50%;width:125px;height:125px;flex:none;display:flex;align-items:center;justify-content:center;gap:6px;font-family:Georgia,serif;font-size:29px;color:#d2b77b}.eco-tech-hero-mark span{font-size:19px}.eco-tech-page{padding-top:54px;padding-bottom:72px}.eco-tech-intro{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:end;margin-bottom:30px}.eco-tech-intro h2,.eco-tech-help h2{font-family:Georgia,serif;color:#183b32;font-size:clamp(27px,3vw,38px);line-height:1.2;margin:8px 0}.eco-tech-intro>p{line-height:1.75;color:#4c5853;margin:0}.eco-tech-table-content{background:#fffdf8;border:1px solid #e4dccb;border-radius:15px;padding:28px;box-shadow:0 10px 35px rgba(25,50,40,.05);overflow-x:auto}.eco-tech-table-content img,.eco-tech-table-content figure,.eco-tech-table-content .wp-block-image{display:none!important}.eco-tech-table-content h2,.eco-tech-table-content h3,.eco-tech-table-content h4{font-family:Georgia,serif;color:#183b32;margin:32px 0 14px}.eco-tech-table-content table{width:100%;border-collapse:collapse;min-width:590px;margin:12px 0 25px;font-size:15px;line-height:1.5}.eco-tech-table-content thead th,.eco-tech-table-content tr:first-child th{background:#183b32;color:#fff9ed;font-size:13px;text-transform:uppercase;letter-spacing:.04em;text-align:left;padding:15px 17px;border:1px solid #315448}.eco-tech-table-content td{padding:14px 17px;border-bottom:1px solid #e9e2d6;color:#34413a;vertical-align:middle}.eco-tech-table-content tbody tr:nth-child(even){background:#f7f4ed}.eco-tech-table-content tbody tr:hover{background:#f1ebde}.eco-tech-table-content td a{color:#245548;font-weight:650;text-decoration:underline;text-decoration-color:#bda36a;text-underline-offset:3px}.eco-tech-table-content td:last-child a{display:inline-block;background:#efe7d5;padding:6px 13px;border-radius:6px;text-decoration:none}.eco-tech-table-content p{line-height:1.75}.eco-tech-help{background:#183b32;border-radius:15px;color:#fff9ed;margin-top:35px;padding:34px 40px;display:flex;align-items:center;justify-content:space-between;gap:24px}.eco-tech-help h2{color:#fff9ed;font-size:29px}.eco-tech-help p{margin:8px 0 0;color:#e7e7dc}.eco-tech-help>a{display:inline-flex;gap:16px;white-space:nowrap;align-items:center;background:#b79d67;color:#142e27;padding:15px 23px;border-radius:5px;text-decoration:none;font-weight:700}@media(max-width:700px){.eco-tech-hero{padding:43px 0}.eco-tech-hero-mark{display:none}.eco-tech-intro{grid-template-columns:1fr;gap:12px}.eco-tech-table-content{padding:14px}.eco-tech-help{padding:25px;display:block}.eco-tech-help>a{margin-top:22px;white-space:normal}}


/* v1.3.9: compact, structured Lift Out specifications */
.eco-lift-compact{max-width:1050px;margin:0 auto;font-family:'DM Sans',Arial,sans-serif}
.eco-lift-intro h2,.eco-lift-spec-section h2{font-family:'Fraunces',Georgia,serif;color:#183b32}
.eco-lift-intro h2{font-size:clamp(34px,4vw,49px);margin:0 0 12px}
.eco-lift-intro p{margin:0 0 12px;line-height:1.65;max-width:85ch}
.eco-lift-compact .eco-lift-spec-nav{margin:22px 0 26px;padding:17px 22px}
.eco-lift-compact .eco-lift-spec-nav p{margin:0 0 10px}
.eco-lift-compact .eco-lift-spec-nav a{padding:9px 13px}
.eco-lift-spec-section{margin:0 0 30px;scroll-margin-top:110px}
.eco-lift-spec-section h2{font-size:clamp(27px,3vw,35px);margin:0 0 13px;padding:0 0 9px;border-bottom:1px solid #ded5c4}
.eco-lift-spec-section>p{margin:0 0 13px;line-height:1.65}
.eco-lift-table-scroll{width:100%;overflow-x:auto;border:1px solid #e0d8c8;border-radius:10px;background:#fffdf9}
.eco-lift-table-scroll table{width:100%;border-collapse:collapse;margin:0!important;min-width:550px;font:400 14px/1.5 'DM Sans',Arial,sans-serif}
.eco-lift-table-scroll thead th{background:#214438;color:#fff8ec;text-align:left;font-weight:700;padding:12px 14px;border:1px solid #315548}
.eco-lift-table-scroll tbody th,.eco-lift-table-scroll td{padding:12px 14px;text-align:left;border-bottom:1px solid #e7dfd1;vertical-align:top}
.eco-lift-table-scroll tbody tr:nth-child(even){background:#f6f2e9}
.eco-lift-features-table{min-width:0!important}
.eco-lift-features-table th{width:32%;color:#183b32;font-weight:700}
.eco-lift-features-table p{margin:0!important}
@media(max-width:600px){.eco-lift-compact .eco-lift-spec-nav{padding:14px}.eco-lift-table-scroll table{font-size:13px}.eco-lift-features-table th{width:40%}}

/* v1.4.0 – funding page editorial redesign */
.eco-grants-page{background:#faf7f0;color:#273d36;font-family:'DM Sans',Arial,sans-serif}
.eco-grants-page h1,.eco-grants-page h2{font-family:'Fraunces',Georgia,serif;letter-spacing:-.025em}
.eco-grants-hero{background:#193b32;color:#fffaf0;padding:66px 0 72px}
.eco-grants-hero .wrap{max-width:1110px}
.eco-grants-eyebrow{font-size:12px;font-weight:800;letter-spacing:.16em;color:#bca46b;margin:0 0 15px;text-transform:uppercase}
.eco-grants-hero h1{font-size:clamp(36px,5.4vw,62px);max-width:850px;line-height:1.11;margin:0 0 24px;color:#fffaf0}
.eco-grants-hero p:not(.eco-grants-eyebrow){font-size:18px;line-height:1.7;max-width:740px;margin:0 0 26px;color:#f4f0e6}
.eco-grants-button{display:inline-flex;align-items:center;gap:16px;background:#ad9258;color:#102e26!important;border-radius:5px;padding:14px 20px;font-weight:750;text-decoration:none!important}
.eco-grants-button:hover{background:#d2b779}
.eco-grants-main{max-width:1110px;padding-top:44px;padding-bottom:60px}
.eco-grants-intro{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center;margin-bottom:27px}
.eco-grants-intro h2{font-size:clamp(28px,3vw,39px);line-height:1.2;margin:0;color:#193b32}
.eco-grants-intro>p{line-height:1.75;margin:0}
.eco-grants-table-wrap{overflow-x:auto;border:1px solid #dfd6c5;border-radius:12px;background:#fffdf8;margin-bottom:34px}
.eco-grants-table{width:100%;min-width:650px;border-collapse:collapse;margin:0}
.eco-grants-table thead{background:#23483b;color:#fff8ec}
.eco-grants-table th,.eco-grants-table td{text-align:left;padding:17px 20px;border-bottom:1px solid #e8e0d1;vertical-align:top;line-height:1.55}
.eco-grants-table thead th{color:#fff8ec;font-weight:750}
.eco-grants-table tbody th{font-weight:750;color:#183b32;width:22%}
.eco-grants-table tbody tr:nth-child(even){background:#f7f3ea}
.eco-grants-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.eco-grants-card{padding:28px 30px;background:#fffdf8;border:1px solid #e4daca;border-radius:12px;box-shadow:0 5px 18px rgba(32,46,37,.04)}
.eco-grants-number{display:block;color:#9d8249;font-size:12px;font-weight:800;letter-spacing:.12em;margin-bottom:12px}
.eco-grants-card h2{font-size:29px;color:#183b32;line-height:1.22;margin:0 0 14px}
.eco-grants-card p{line-height:1.7;margin:0 0 13px}
.eco-grants-card a{color:#204a3b;font-weight:800;text-underline-offset:4px}
.eco-grants-steps{padding:35px 0 30px;margin-top:34px}
.eco-grants-steps h2{font-size:35px;margin:0 0 18px;color:#193b32}
.eco-grants-steps ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;list-style:none;counter-reset:step;padding:0;margin:0}
.eco-grants-steps li{background:#f0eade;border-left:3px solid #b39a65;border-radius:5px;padding:20px;line-height:1.7;counter-increment:step}
.eco-grants-steps li:before{content:'0' counter(step);display:block;color:#987c43;font-weight:800;margin-bottom:9px}
.eco-grants-cta{background:#193b32;color:#fffaf0;border-radius:12px;padding:32px 38px;display:flex;align-items:center;justify-content:space-between;gap:25px}
.eco-grants-cta h2{font-size:36px;color:#fffaf0;margin:0 0 8px}
.eco-grants-cta p:last-child{margin:0;line-height:1.6}
.eco-grants-cta .eco-grants-button{white-space:nowrap}
.eco-grants-disclaimer{font-size:13px;line-height:1.7;color:#57635c;margin:24px 0 0}
@media(max-width:720px){.eco-grants-hero{padding:42px 0}.eco-grants-intro,.eco-grants-grid,.eco-grants-steps ol{grid-template-columns:1fr}.eco-grants-cta{display:block;padding:26px}.eco-grants-cta .eco-grants-button{margin-top:20px}.eco-grants-card{padding:23px}.eco-grants-main{padding-top:30px}}

/* Lift Out: balanced text-only hero with no featured image */
body.page-id-0 .eco-detail-hero-inner{max-width:1100px}
body.page .eco-detail-hero:has(+ .eco-detail-content) .eco-detail-hero-inner > div:only-child{max-width:820px}

/* v1.4.2 Vertical sliding: photo-free specification layout */
.eco-vertical-compact{max-width:1050px;margin:0 auto;font-family:'DM Sans',Arial,sans-serif}
.eco-vertical-intro h2{font-family:'Fraunces',Georgia,serif;color:#183b32;font-size:clamp(32px,4vw,46px);margin:0 0 15px}
.eco-vertical-intro p{max-width:84ch;line-height:1.7;margin:0 0 12px}
.eco-vertical-compact .eco-vertical-nav{margin:22px 0 26px;padding:17px 22px}
.eco-vertical-compact .eco-vertical-nav p{margin:0 0 10px}
.eco-vertical-compact .eco-vertical-nav a{padding:9px 13px}
.eco-vertical-compact .eco-lift-spec-section{margin-bottom:30px;scroll-margin-top:110px}
.eco-vertical-compact .eco-lift-spec-section h2{font-family:'Fraunces',Georgia,serif;color:#183b32}
.eco-vertical-compact .eco-lift-table-scroll{overflow-x:auto}
.eco-vertical-compact .eco-lift-table-scroll table{min-width:650px}
.eco-vertical-compact .eco-lift-features-table{min-width:0!important}
.eco-vertical-compact .eco-lift-table-scroll th,.eco-vertical-compact .eco-lift-table-scroll td{padding:12px 13px;line-height:1.5}
@media(max-width:650px){.eco-vertical-compact .eco-vertical-nav{padding:14px}.eco-vertical-compact .eco-lift-table-scroll table{font-size:12px}}


/* v1.4.3: remove excessive top gap on Lift Out product page only */
.eco-detail-content.eco-liftout-page{
  padding-top:22px;
}
.eco-liftout-page .eco-editorial-article-body .eco-lift-intro h2{
  margin:0 0 12px;
  line-height:1.15;
}
.eco-liftout-page .eco-editorial-article-body .eco-lift-intro{
  margin:0;
  padding:0;
}
.eco-liftout-page .eco-editorial-article-body .eco-lift-compact{
  margin-top:0;
}
@media(max-width:700px){
  .eco-detail-content.eco-liftout-page{padding-top:16px}
}

/* v1.4.4: use the available width after removing product hero photographs */
@media (min-width: 901px) {
 .eco-detail-hero-textonly .eco-detail-hero-inner {display:block;max-width:1200px;}
 .eco-detail-hero-textonly .eco-detail-hero-inner > div:first-child {max-width:none;width:100%;}
 .eco-detail-hero-textonly h1 {max-width:none;white-space:nowrap;font-size:clamp(2.25rem,3.1vw,3rem);letter-spacing:-.035em;line-height:1.15;}
 .eco-detail-hero-textonly .eco-detail-lede {max-width:740px;}
}
@media (min-width: 901px) and (max-width: 1150px) {
 .eco-detail-hero-textonly h1 {font-size:clamp(2rem,3vw,2.5rem);}
}
@media (max-width: 900px) {
 .eco-detail-hero-textonly .eco-detail-hero-inner {display:block;}
 .eco-detail-hero-textonly h1 {max-width:100%;white-space:normal;font-size:clamp(2.5rem,7vw,4rem);}
}


/* v1.4.5: remove stacked padding and first-heading margins on text-only product pages */
.eco-detail-content.eco-vertical-page,
.eco-detail-content.eco-liftout-page {
  padding-top: 18px !important;
}
.eco-detail-content.eco-vertical-page .eco-editorial-article-body,
.eco-detail-content.eco-liftout-page .eco-editorial-article-body {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.eco-detail-content.eco-vertical-page .eco-editorial-article-body .eco-vertical-compact > :first-child,
.eco-detail-content.eco-vertical-page .eco-editorial-article-body h2:first-child,
.eco-detail-content.eco-liftout-page .eco-editorial-article-body .eco-lift-compact > :first-child {
  margin-top: 0 !important;
}
.eco-detail-content.eco-vertical-page .eco-editorial-article-body h2 {
  scroll-margin-top: 110px;
}
@media(max-width:700px){
 .eco-detail-content.eco-vertical-page,
 .eco-detail-content.eco-liftout-page {padding-top:14px !important}
}


/* v1.4.6 Hinged product page — text-only, compact and consistent with other systems */
.eco-detail-content.eco-hinged-page{padding-top:18px!important}
.eco-hinged-compact{max-width:1050px;margin:0 auto;font-family:'DM Sans',Arial,sans-serif}
.eco-hinged-intro{margin:0;padding:0}
.eco-detail-content.eco-hinged-page .eco-editorial-article-body{margin-top:0!important;padding-top:0!important}
.eco-detail-content.eco-hinged-page .eco-editorial-article-body .eco-hinged-intro h2{font-family:'Fraunces',Georgia,serif;font-size:clamp(30px,3.3vw,43px);line-height:1.18;margin:0 0 16px!important;color:#20483c}
.eco-hinged-intro p{margin:0 0 13px;line-height:1.7;max-width:85ch}
.eco-hinged-compact .eco-hinged-nav{margin:22px 0 26px;padding:17px 22px}
.eco-hinged-compact .eco-hinged-nav p{margin:0 0 10px}
.eco-hinged-compact .eco-hinged-nav a{padding:9px 13px}
.eco-detail-content.eco-hinged-page .eco-hinged-compact .eco-lift-spec-section{margin:0 0 30px;scroll-margin-top:110px}
.eco-detail-content.eco-hinged-page .eco-hinged-compact .eco-lift-spec-section h2{font-family:'Fraunces',Georgia,serif;font-size:clamp(27px,3vw,35px);margin:0 0 13px!important;padding:0 0 9px;border-bottom:1px solid #ded5c4}
.eco-hinged-compact .eco-lift-table-scroll{overflow-x:auto}
.eco-hinged-compact .eco-lift-table-scroll table{min-width:550px}
.eco-hinged-compact .eco-lift-table-scroll .eco-lift-features-table{min-width:0}
@media(max-width:700px){.eco-detail-content.eco-hinged-page{padding-top:14px!important}.eco-hinged-compact .eco-hinged-nav{padding:14px}}


/* v1.4.7 Horizontal Sliding: image-free, full-width heading */
@media(min-width:901px){
 body.page .eco-detail-hero-textonly .eco-detail-hero-inner{display:block;max-width:1200px}
 body.page .eco-detail-hero-textonly .eco-detail-hero-inner>div:first-child{max-width:none;width:100%}
 body.page .eco-detail-hero-textonly h1{max-width:none;white-space:nowrap;font-size:clamp(2rem,3.1vw,3rem);letter-spacing:-.035em}
}
@media(min-width:901px) and (max-width:1150px){
 body.page .eco-detail-hero-textonly h1{font-size:clamp(1.75rem,2.7vw,2.5rem)}
}
@media(max-width:900px){
 body.page .eco-detail-hero-textonly .eco-detail-hero-inner{display:block}
 body.page .eco-detail-hero-textonly h1{white-space:normal}
}

/* v1.4.8: Noise reduction editorial page */
.eco-noise-hero{background:#1d4036;color:#fff;padding:46px 0 54px}
.eco-noise-hero-inner{max-width:1120px}
.eco-noise-hero .eco-crumbs{margin:0 0 23px}
.eco-noise-hero .eco-crumbs a,.eco-noise-hero .eco-crumbs span{color:#f5f0e6}
.eco-noise-hero .eco-detail-eyebrow{color:#c9b27b;letter-spacing:.14em;font-size:12px;font-weight:700}
.eco-noise-hero h1{font-family:'Fraunces',Georgia,serif;font-size:clamp(34px,4vw,55px);max-width:950px;line-height:1.14;margin:10px 0 18px;color:#fff}
.eco-noise-hero p:not(.eco-detail-eyebrow){font-size:17px;line-height:1.7;max-width:740px;margin:0 0 24px;color:#f5f0e6}
.eco-noise-main{max-width:1120px;padding-top:26px;padding-bottom:50px}
.eco-noise-intro-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 30px}
.eco-noise-intro-strip>div{background:#f4f0e7;border:1px solid #e5dccb;border-top:3px solid #b5a070;border-radius:8px;padding:19px 20px}
.eco-noise-intro-strip strong{display:block;color:#1c4035;font:600 20px/1.25 'Fraunces',Georgia,serif;margin-bottom:7px}
.eco-noise-intro-strip span{display:block;color:#37423c;font-size:14px;line-height:1.55}
.eco-noise-content{max-width:990px;margin:0 auto;font-family:'DM Sans',Arial,sans-serif;color:#303a35}
.eco-noise-content h2,.eco-noise-content h3,.eco-noise-content h4{font-family:'Fraunces',Georgia,serif;color:#1b4034;line-height:1.24}
.eco-noise-content h3{font-size:clamp(24px,2.6vw,31px);margin:30px 0 12px;border-bottom:1px solid #ded7c9;padding-bottom:10px}
.eco-noise-content h4{font-size:clamp(20px,2vw,24px);margin:22px 0 9px}
.eco-noise-content p{font-size:16px;line-height:1.75;margin:0 0 15px}
.eco-noise-content ul{margin:12px 0 22px;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.eco-noise-content li{background:#f6f2ea;border:1px solid #e8e0d3;border-left:3px solid #b5a070;border-radius:7px;padding:16px 18px}
.eco-noise-content li p{margin:0}
.eco-noise-content a{color:#174c3c;text-underline-offset:3px}
.eco-noise-content img,.eco-noise-content picture,.eco-noise-content figure,.eco-noise-content iframe,.eco-noise-content .elementor-image-carousel-wrapper{display:none!important}
.eco-noise-cta{margin:38px 0 0;background:#1d4036;color:#fff;border-radius:12px;padding:30px 36px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.eco-noise-cta h2{font:600 clamp(27px,3vw,38px)/1.2 'Fraunces',Georgia,serif;color:#fff;margin:5px 0 9px}
.eco-noise-cta p{margin:0;line-height:1.6;color:#f1eade}
.eco-noise-cta .eco-detail-eyebrow{color:#c9b27b}
.eco-noise-cta a{display:inline-block;background:#bca575;color:#12372e;padding:13px 20px;border-radius:4px;font-weight:700;white-space:nowrap;text-decoration:none}
@media(max-width:700px){.eco-noise-hero{padding:30px 0 36px}.eco-noise-intro-strip,.eco-noise-content ul{grid-template-columns:1fr}.eco-noise-cta{display:block;padding:24px}.eco-noise-cta a{margin-top:18px}}

/* v1.4.9: Home Energy Scotland funding guide */
.eco-hes-hero{background:#1d4036;color:#fff;padding:44px 0 51px}
.eco-hes-hero-inner,.eco-hes-main{max-width:1120px}
.eco-hes-hero .eco-crumbs{margin-bottom:22px}
.eco-hes-hero .eco-crumbs a,.eco-hes-hero .eco-crumbs span{color:#f4eee2}
.eco-hes-eyebrow{color:#bca575;font-size:12px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.eco-hes-hero h1{font:600 clamp(34px,4.1vw,56px)/1.12 'Fraunces',Georgia,serif;color:#fff;max-width:950px;margin:10px 0 16px}
.eco-hes-hero p:not(.eco-hes-eyebrow){max-width:790px;font-size:17px;line-height:1.7;color:#f5f0e6;margin:0 0 22px}
.eco-hes-btn{display:inline-block;background:#bca575;color:#15372e;padding:13px 20px;border-radius:4px;font-weight:700;text-decoration:none}
.eco-hes-main{padding-top:32px;padding-bottom:55px;font-family:'DM Sans',Arial,sans-serif;color:#2c3933}
.eco-hes-main h2,.eco-hes-main h3{font-family:'Fraunces',Georgia,serif;color:#1b4034}
.eco-hes-main h2{font-size:clamp(27px,3vw,37px);line-height:1.2;margin:7px 0 15px}
.eco-hes-main p{line-height:1.75}
.eco-hes-intro{max-width:900px;margin:0 0 34px}
.eco-hes-intro p:last-child{font-size:16px}
.eco-hes-section{margin-bottom:38px}
.eco-hes-table-wrap{overflow-x:auto;border:1px solid #e4daca;border-radius:10px;background:#fffdf9}
.eco-hes-table-wrap table{border-collapse:collapse;width:100%;min-width:670px;margin:0}
.eco-hes-table-wrap thead th{background:#214438;color:#fff;text-align:left;padding:15px 17px;font-weight:700}
.eco-hes-table-wrap tbody th,.eco-hes-table-wrap tbody td{padding:17px;text-align:left;vertical-align:top;border-bottom:1px solid #e7dfd2;line-height:1.55}
.eco-hes-table-wrap tbody th{width:24%;color:#214438}
.eco-hes-table-wrap tbody tr:nth-child(even){background:#f6f2ea}
.eco-hes-table-wrap a{color:#185642;font-weight:700}
.eco-hes-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.eco-hes-steps>div{background:#f5f0e7;border:1px solid #e5dac8;border-top:3px solid #bca575;border-radius:8px;padding:22px}
.eco-hes-steps span{color:#9d875b;font-weight:700;font-size:13px;letter-spacing:.12em}
.eco-hes-steps h3{font-size:23px;line-height:1.25;margin:9px 0}
.eco-hes-steps p{margin:0;font-size:15px}
.eco-hes-note{background:#f6f2e9;border-left:4px solid #bca575;padding:20px 24px;margin-bottom:32px}
.eco-hes-note h2{font-size:24px;margin:0 0 8px}
.eco-hes-note p{margin:0}
.eco-hes-cta{background:#1d4036;color:#fff;padding:30px 34px;border-radius:11px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.eco-hes-cta h2{color:#fff;margin:4px 0 9px}
.eco-hes-cta p{color:#f5f0e6;margin:0}
.eco-hes-cta a{background:#bca575;color:#15372e;padding:13px 20px;border-radius:4px;font-weight:700;white-space:nowrap;text-decoration:none}
@media(max-width:700px){.eco-hes-hero{padding:30px 0 38px}.eco-hes-steps{grid-template-columns:1fr}.eco-hes-cta{display:block;padding:24px}.eco-hes-cta a{display:inline-block;margin-top:18px}}

/* v1.5.0: Business Energy Scotland editorial refinements */
.eco-bes-hero h1{max-width:1080px}
.eco-bes-main .eco-hes-table-wrap tbody th{width:25%}
.eco-bes-main .eco-hes-intro{max-width:940px}

/* v1.5.1 bespoke glazing editorial layout */
.eco-bespoke-hero{background:#1d4036;color:#fff;padding:43px 0 54px}
.eco-bespoke-hero-inner,.eco-bespoke-main{max-width:1120px}
.eco-bespoke-hero .eco-crumbs{margin-bottom:25px;display:flex;flex-wrap:wrap;gap:10px;font-size:13px}
.eco-bespoke-hero .eco-crumbs a,.eco-bespoke-hero .eco-crumbs span{color:#f2ecde}
.eco-bespoke-hero .eco-detail-eyebrow,.eco-bespoke-kicker{font-size:11px;font-weight:700;letter-spacing:.15em;color:#bca16a;margin:0 0 12px}
.eco-bespoke-hero h1{font:600 clamp(34px,4vw,52px)/1.15 'Fraunces',Georgia,serif;color:#fff;margin:0 0 16px;max-width:1020px}
.eco-bespoke-lede{font-size:17px;line-height:1.65;max-width:760px;margin:0 0 23px;color:#f4f0e7}
.eco-bespoke-btn,.eco-bespoke-cta a{display:inline-block;background:#bca575;color:#12372e;text-decoration:none;font-weight:700;border-radius:4px;padding:13px 19px}
.eco-bespoke-main{padding-top:34px;padding-bottom:55px;font-family:'DM Sans',Arial,sans-serif;color:#344039}
.eco-bespoke-main h2,.eco-bespoke-main h3{font-family:'Fraunces',Georgia,serif;color:#1b4034}
.eco-bespoke-main h2{font-size:clamp(27px,3.1vw,39px);line-height:1.23;margin:0 0 14px}
.eco-bespoke-main h3{font-size:23px;line-height:1.25;margin:0 0 10px}
.eco-bespoke-main p{line-height:1.75}
.eco-bespoke-intro{max-width:850px;margin:0 0 42px}
.eco-bespoke-intro p:not(.eco-bespoke-kicker){margin:0 0 13px}
.eco-bespoke-section{margin:0 0 42px}
.eco-bespoke-section-title{border-bottom:1px solid #e0d7c6;padding-bottom:13px;margin-bottom:18px}
.eco-bespoke-section-title h2{margin:0}
.eco-bespoke-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.eco-bespoke-grid article{background:#f6f2ea;border:1px solid #e6ddcf;border-radius:9px;padding:24px 25px}
.eco-bespoke-number{display:block;color:#a48a55;font-size:12px;font-weight:700;letter-spacing:.14em;margin-bottom:12px}
.eco-bespoke-grid article p{margin:0;font-size:15px}
.eco-bespoke-table-wrap{overflow-x:auto;border-radius:9px;border:1px solid #ded6c7}
.eco-bespoke-table{width:100%;border-collapse:collapse;min-width:560px;margin:0!important}
.eco-bespoke-table th,.eco-bespoke-table td{text-align:left;padding:15px 18px;border-bottom:1px solid #e8dfd2;vertical-align:top}
.eco-bespoke-table thead th{background:#204539;color:#fff8e9}
.eco-bespoke-table tbody th{width:27%;color:#1c4035;font-weight:700}
.eco-bespoke-table tbody tr:nth-child(even){background:#f7f3eb}
.eco-bespoke-use{display:grid;grid-template-columns:1.7fr 1fr;gap:35px;align-items:center;margin:0 0 42px}
.eco-bespoke-use p{margin:0 0 12px}
.eco-bespoke-use-note{border-left:4px solid #bca575;background:#f6f2ea;padding:24px;border-radius:4px}
.eco-bespoke-use-note strong{display:block;color:#1b4034;font:600 23px/1.3 'Fraunces',Georgia,serif;margin-bottom:9px}
.eco-bespoke-use-note p{margin:0}
.eco-bespoke-cta{background:#1d4036;border-radius:10px;padding:30px 34px;display:flex;align-items:center;justify-content:space-between;gap:24px;color:#fff}
.eco-bespoke-cta h2{color:#fff;margin:0 0 10px}
.eco-bespoke-cta p:not(.eco-bespoke-kicker){margin:0;color:#f1e9db}
.eco-bespoke-cta a{white-space:nowrap}
.eco-bespoke-related{margin:40px 0 0}
.eco-bespoke-related h2{font-size:26px}
.eco-bespoke-related>div{display:flex;flex-wrap:wrap;gap:10px}
.eco-bespoke-related a{padding:12px 15px;border:1px solid #dfd4bf;border-radius:5px;color:#204539;text-decoration:none;background:#f8f5ee;font-weight:600}
@media(max-width:720px){.eco-bespoke-hero{padding:28px 0 35px}.eco-bespoke-grid,.eco-bespoke-use{grid-template-columns:1fr}.eco-bespoke-cta{display:block;padding:24px}.eco-bespoke-cta a{margin-top:19px}.eco-bespoke-main{padding-top:24px}}


/* v1.5.2: all service area headings use full hero width, not the former photo column */
.eco-detail-hero.eco-area-hero-wide .eco-detail-hero-inner{display:block;width:100%;max-width:1200px}
.eco-detail-hero.eco-area-hero-wide .eco-detail-hero-inner>div:first-child{width:100%;max-width:none!important;min-width:0}
.eco-detail-hero.eco-area-hero-wide h1{max-width:none!important;width:100%;font-family:'Fraunces',Georgia,serif;letter-spacing:-.035em;line-height:1.16;font-size:clamp(25px,2.7vw,41px);overflow-wrap:normal}
.eco-detail-hero.eco-area-hero-wide .eco-detail-lede{max-width:780px}
@media(min-width:1050px){.eco-detail-hero.eco-area-hero-wide h1{white-space:nowrap}}
@media(max-width:1049px){.eco-detail-hero.eco-area-hero-wide h1{white-space:normal;font-size:clamp(29px,4.6vw,42px);overflow-wrap:break-word}}

/* v1.5.4 — consistent editorial rhythm on all service-area pages */
.eco-detail-content-area .eco-editorial-article-body{margin-top:0!important;padding-top:0!important}
.eco-detail-content-area .eco-editorial-article-body> :first-child{margin-top:0!important}
.eco-detail-content-area .eco-editorial-article-body p{margin:0 0 1.1em!important;line-height:1.75}
.eco-detail-content-area .eco-editorial-article-body h2,
.eco-detail-content-area .eco-editorial-article-body h3{margin:1.1em 0 .45em!important;line-height:1.22}
.eco-detail-content-area .eco-editorial-article-body h2:first-child,
.eco-detail-content-area .eco-editorial-article-body h3:first-child{margin-top:0!important}
.eco-detail-content-area .eco-editorial-article-body .eco-auto-area-heading{margin:1.05em 0 .4em!important}
.eco-detail-content-area .eco-editorial-article-body .wp-block-spacer,
.eco-detail-content-area .eco-editorial-article-body .elementor-spacer,
.eco-detail-content-area .eco-editorial-article-body .elementor-widget-spacer,
.eco-detail-content-area .eco-editorial-article-body .elementor-divider{display:none!important;height:0!important;min-height:0!important;margin:0!important;padding:0!important}
.eco-detail-content-area .eco-editorial-article-body p:empty,
.eco-detail-content-area .eco-editorial-article-body div:empty{display:none!important}
