/* Static site fixes: remove the WordPress loading overlay and improve small screens. */
.page-preloader-cover,.page-preloader{display:none!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important}
html{overflow-x:hidden}body{max-width:100%;overflow-x:hidden}img,video,iframe{max-width:100%}img{height:auto}
.jet-nav__mobile-trigger{cursor:pointer;touch-action:manipulation}
@media(max-width:767px){
  .elementor-section .elementor-container,.elementor-section-boxed>.elementor-container{max-width:100%!important;width:100%!important}
  .jet-tabs{display:block!important}
  .jet-tabs__control-wrapper,.jet-tabs__content-wrapper{width:100%!important;min-width:0!important;max-width:100%!important}
  .jet-tabs__control-wrapper{display:flex;flex-wrap:wrap}
  .jet-tabs__content-wrapper{box-sizing:border-box}
  .jet-tabs__content{max-width:100%;overflow-wrap:anywhere}
  .jet-nav-wrap.jet-mobile-menu-active .jet-nav{transform:scaleY(1)!important;-webkit-transform:scaleY(1)!important}
  .jet-nav-wrap .jet-nav{max-width:100vw}
  .elementor-widget-image img,.elementor-image img{width:auto;max-width:100%;height:auto}
  .elementor-widget-container{max-width:100%}
  .elementor-column,.elementor-column-wrap{max-width:100%}
  .wpcf7-form input,.wpcf7-form textarea,.wpcf7-form select{max-width:100%;box-sizing:border-box}
  .wpcf7-form textarea{width:100%}
}

/* Standalone replacement for the original WordPress hero slider. */
.jet-slider .slider-pro{visibility:visible!important;position:relative;height:820px;overflow:hidden}
.jet-slider .sp-slides-container,.jet-slider .sp-mask,.jet-slider .sp-slides{position:relative;width:100%;height:100%;overflow:hidden}
.jet-slider .sp-slide{position:absolute!important;inset:0;width:100%;height:100%;display:block;opacity:0;visibility:hidden;transition:opacity .5s ease;overflow:hidden}
.jet-slider .sp-slide.static-slide-active{z-index:1;opacity:1;visibility:visible}
.jet-slider .sp-slide>.sp-image{position:absolute!important;inset:0;width:100%!important;height:100%!important;object-fit:cover;object-position:center}
.jet-slider .sp-slide:after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.08);z-index:1;pointer-events:none}
.jet-slider .sp-layer{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;display:flex!important;z-index:2}
.jet-slider .jet-slider__content-inner{max-width:100%;box-sizing:border-box}
.static-slider-pagination{position:absolute;z-index:5;left:0;right:0;bottom:22px;display:flex;justify-content:center;gap:10px}
.static-slider-pagination button{width:12px;height:12px;padding:0;border:1px solid #fff;border-radius:50%;background:transparent;cursor:pointer}
.static-slider-pagination button[aria-current="true"]{background:#fff}
@media(max-width:1024px){.jet-slider .slider-pro{height:600px}}
@media(max-width:767px){
 .jet-slider .slider-pro{height:400px}
 .jet-slider .jet-slider__content-inner{padding:0 18px!important}
 .jet-slider .jet-slider__title{font-size:clamp(27px,7vw,38px)!important;line-height:1.15!important;margin-bottom:20px!important}
 .jet-slider .jet-slider__desc{font-size:15px;line-height:1.5}
 .static-slider-pagination{bottom:14px}
 .static-slider-pagination button{width:11px;height:11px}
}

/* Native local playback for the Central Heating page video. */
.elementor-widget-video .elementor-video{display:block;width:100%;height:100%;max-width:100%;object-fit:cover;background:#000}
.elementor-wrapper:has(> video.elementor-video) .elementor-custom-embed-image-overlay{display:none!important}

.static-slider-arrows{position:absolute;inset:0;z-index:6;display:flex;align-items:center;justify-content:space-between;pointer-events:none}
.static-slider-arrow{pointer-events:auto;width:44px;height:80px;border:0;background:rgba(255,255,255,.9);color:#2388d9;font-size:36px;line-height:1;cursor:pointer}
.static-slider-arrow:hover{background:#fff}
.static-slider-next{margin-left:auto}

/* Keep the mobile navigation drawer on screen, even when the header columns overflow. */
@media(max-width:767px){
  .jet-nav-wrap.jet-mobile-menu--default.jet-mobile-menu-active .jet-nav,
  .jet-nav-wrap.jet-mobile-menu--default .jet-nav{
    box-sizing:border-box;
    position:fixed!important;
    inset:0 0 0 auto!important;
    width:min(320px,88vw)!important;
    max-width:100vw!important;
    height:100vh!important;
    height:100dvh!important;
    margin:0!important;
    padding:76px 22px 28px!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    background:#fff!important;
    box-shadow:-12px 0 34px rgba(18,42,72,.16);
    z-index:10000!important;
    transform:translateX(105%)!important;
    -webkit-transform:translateX(105%)!important;
    transform-origin:right center!important;
  }
  .jet-nav-wrap.jet-mobile-menu--default.jet-mobile-menu-active .jet-nav{
    transform:translateX(0)!important;
    -webkit-transform:translateX(0)!important;
  }
  .jet-nav-wrap.jet-mobile-menu--default .jet-nav.jet-nav--horizontal{
    display:flex!important;
    flex-direction:column!important;
    flex-wrap:nowrap!important;
    align-items:stretch!important;
    gap:0!important;
  }
  .jet-nav-wrap.jet-mobile-menu--default .jet-nav>.jet-nav__item{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    border-bottom:1px solid #e8eef5;
  }
  .jet-nav-wrap.jet-mobile-menu--default .jet-nav>.jet-nav__item>.menu-item-link-top{
    display:flex!important;
    width:100%!important;
    min-height:52px;
    box-sizing:border-box;
    align-items:center!important;
    justify-content:flex-start!important;
    padding:12px 4px!important;
    white-space:normal!important;
    overflow-wrap:anywhere;
  }
  .jet-nav-wrap.jet-mobile-menu--default .jet-nav__mobile-trigger{
    position:relative;
    z-index:10002;
    min-width:40px;
    flex:0 0 40px;
  }
  .jet-nav-wrap.jet-mobile-menu--default.jet-mobile-menu-active .jet-nav__mobile-trigger{
    position:fixed!important;
    top:12px!important;
    right:12px!important;
    margin:0!important;
    border-radius:50%;
    color:#163b64;
    background:#fff;
    box-shadow:0 2px 12px rgba(18,42,72,.16);
  }
}
@media(max-width:767px){
  .jet-nav-wrap.jet-mobile-menu--default:not(.jet-mobile-menu-active) .jet-nav{display:none!important}
  .jet-nav-wrap.jet-mobile-menu--default.jet-mobile-menu-active .jet-nav.jet-nav--horizontal{display:flex!important}
}

/* Keep service and article image-box photos aligned in every card row. */
.elementor-image-box-wrapper .elementor-image-box-img{
  display:block;
  width:100%;
  max-width:100%;
  aspect-ratio:16 / 9;
  overflow:hidden;
}
.elementor-image-box-wrapper .elementor-image-box-img>a{
  display:block;
  width:100%;
  height:100%;
}
.elementor-image-box-wrapper .elementor-image-box-img img{
  display:block;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center;
}


/* Always show the static enquiry form's live submission status. */
.wpcf7 form .wpcf7-response-output[aria-hidden="false"]{
  display:block!important;
  margin:16px 0 0!important;
  padding:14px 16px!important;
  border:1px solid #2388d9!important;
  border-radius:5px;
  line-height:1.5;
}
.wpcf7 form .wpcf7-response-output.static-form-success{
  color:#155c2b;
  background:#edf8f0;
  border-color:#43a45b!important;
}
.wpcf7 form .wpcf7-response-output.static-form-error{
  color:#8b1d1d;
  background:#fff1f1;
  border-color:#cf4545!important;
}


/* Separate, readable status message for static enquiry forms. */
.static-form-notice{box-sizing:border-box;width:100%;font-family:inherit;}
.static-form-notice.static-form-success{color:#155c2b;background:#edf8f0;border-color:#43a45b;}
.static-form-notice.static-form-error{color:#8b1d1d;background:#fff1f1;border-color:#cf4545;}
