/* Small additions on top of the exact Elementor CSS:
   popup overlay (replaces Elementor Pro's popup runtime) + form status message. */

/* popup templates are hidden until opened */
[data-elementor-type="popup"]{display:none;}

.lg-popup-overlay{
  position:fixed;inset:0;z-index:99999;display:none;
  align-items:center;justify-content:center;padding:20px;
  background:rgba(4,21,36,.6);
}
.lg-popup-overlay.is-open{display:flex;}
.lg-popup-dialog{
  position:relative;background:#fff;border-radius:20px;
  width:100%;max-width:430px;max-height:90vh;overflow:auto;
  box-shadow:0 30px 70px rgba(0,0,0,.4);animation:lg-pop .3s ease;
}
@keyframes lg-pop{from{opacity:0;transform:translateY(18px) scale(.97);}to{opacity:1;transform:none;}}
.lg-popup-close{
  position:absolute;top:8px;right:12px;z-index:5;
  background:none;border:none;font-size:32px;line-height:1;color:#054274;cursor:pointer;
}
.lg-popup-holder [data-elementor-type="popup"]{display:block;}
/* the original popup container is set to min-height:100vh; collapse it so the
   card hugs its content instead of stretching to full viewport height */
.lg-popup-holder [data-elementor-type="popup"] .e-con,
.lg-popup-holder [data-elementor-type="popup"] .e-con-inner,
.lg-popup-holder [data-elementor-type="popup"] .e-con.e-parent{min-height:0 !important;}
.lg-popup-holder [data-elementor-type="popup"] .e-con{padding-top:14px;padding-bottom:20px;}

/* animated-headline underline marker colour (site accent green) */
.elementor-headline--style-highlight svg path{stroke:#61CE70;}

/* equal-height "reasons" cards — stretch the white card to fill its column.
   The character images differ in height, so reserve a fixed image area and let
   the content card fill the remaining (identical) space. */
.elementor-widget-image-box{height:100%;}
.elementor-widget-image-box > .elementor-widget-container{height:100%;}
.elementor-widget-image-box .elementor-image-box-wrapper{height:100%;display:flex;flex-direction:column;}
.elementor-widget-image-box .elementor-image-box-img{height:52px;flex:0 0 auto;display:flex;align-items:flex-end;justify-content:center;margin-bottom:6px !important;position:relative;z-index:2;overflow:visible;}
.elementor-widget-image-box .elementor-image-box-img img{position:relative;z-index:2;}
.elementor-widget-image-box .elementor-image-box-content{flex:1 1 auto;position:relative;z-index:1;}

/* contact form status message */
.lg-form-msg{margin-top:14px;padding:12px 16px;border-radius:12px;font-size:14px;line-height:1.5;grid-column:1/-1;}
.lg-form-msg[data-ok="1"]{color:#0a6b3b;background:#e5f7ee;border:1px solid #b7e6cc;}
.lg-form-msg[data-ok="0"]{color:#a12020;background:#fdeaea;border:1px solid #f3c3c3;}
