
/* ---------------------------------------------------------------------------
   Restores Elementor's inline icon-list rules. The markup carries
   .elementor-inline-items / .elementor-inline-item (e.g. the two topbar phone
   numbers), but LiteSpeed's unused-CSS build stripped the matching rules from
   every stylesheet, so those lists stacked vertically instead of sitting on
   one line.
   --------------------------------------------------------------------------- */
.elementor-icon-list-items.elementor-inline-items{
  display:flex;flex-wrap:wrap;align-items:center;margin-left:-8px;margin-right:-8px
}
.elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{
  margin-left:8px;margin-right:8px
}
.elementor-icon-list-item.elementor-inline-item{display:inline-flex;align-items:center}
.elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item>a{
  display:inline-flex;align-items:center;gap:6px;white-space:nowrap
}

/* ---------------------------------------------------------------------------
   Restores the image-carousel layout. The widget asks for 4 slides with 20px
   spacing, but LiteSpeed stripped the rules for .elementor-image-carousel, so
   the gallery photos rendered edge-to-edge with square corners. Padding inside
   a border-box slide gives the gap without disturbing Swiper's width maths.
   --------------------------------------------------------------------------- */
.elementor-image-carousel .swiper-slide{box-sizing:border-box;padding:0 10px}
.elementor-image-carousel .swiper-slide figure{margin:0;line-height:0}
.elementor-image-carousel .swiper-slide-image,
.elementor-image-carousel .swiper-slide img{
  display:block;width:100%;height:auto;border-radius:10px
}
.elementor-image-carousel-wrapper{overflow:hidden}

/* ---------------------------------------------------------------------------
   Scroll-to-top moves to the bottom LEFT. The theme pins it bottom-right,
   where the chat launcher also sits, so the two overlapped.
   --------------------------------------------------------------------------- */
#scroll-top,
#scroll-top.scroll-top-right{right:auto!important;left:20px!important}
@media(max-width:781px){
  #scroll-top,
  #scroll-top.scroll-top-right{left:10px!important}
}

/* ---------------------------------------------------------------------------
   Removes the radial-gradient mask the original applies to the gallery
   carousel (element a31374e), which faded the first and last photos out to
   near-transparent. Photos now render at full opacity edge to edge.
   --------------------------------------------------------------------------- */
.elementor-image-carousel-wrapper,
[class*="elementor-element-a31374e"]{
  -webkit-mask-image:none!important;
  mask-image:none!important
}
.elementor-image-carousel .swiper-slide,
.elementor-image-carousel .swiper-slide img{opacity:1!important}

/* ---------------------------------------------------------------------------
   Dragging a carousel was selecting the card text instead of swiping, and the
   theme paints selections white-on-#333 — so a dragged title showed as a black
   block. Swiper normally sets user-select:none itself, but that rule was
   stripped from the build, so it is restored here.
   --------------------------------------------------------------------------- */
.services-carousel,
.services-carousel *,
.elementor-image-carousel-wrapper,
.elementor-image-carousel-wrapper *,
.elementor-main-swiper,
.elementor-main-swiper *{
  -webkit-user-select:none;
  -ms-user-select:none;
  user-select:none
}
/* Links inside the carousels stay clickable and keyboard reachable. */
.services-carousel a,
.elementor-image-carousel-wrapper a{-webkit-user-drag:none}

/* Client embeds (form / reviews) */
.apx-embed{width:100%;margin:0 auto}
.apx-embed-form{max-width:640px}
.apx-embed-form iframe{display:block;width:100%;min-height:846px;border:0;border-radius:10px;background:#fff}
.apx-embed-reviews{max-width:1140px;padding:0 15px}
.apx-embed-reviews iframe{display:block;width:100%;min-height:420px;border:0}
@media(max-width:781px){.apx-embed-form iframe{min-height:900px}}
