/* Standalone replacements for Elementor behavior that is unavailable on cPanel. */
.elementor-74 .elementor-element.elementor-element-de8fd76 .elementor-repeater-item-39d40ae .swiper-slide-bg {
  background-color: #0a5f69 !important;
  background-image: url("images/facility-management-hero.png") !important;
  background-position: center !important;
  background-size: cover !important;
}

.static-carousel-ready { overflow: hidden; }
.static-carousel-ready .swiper-wrapper {
  display: flex !important;
  flex-wrap: nowrap !important;
  transition: transform .65s ease !important;
  will-change: transform;
}
.static-carousel-ready .swiper-slide {
  display: block !important;
  flex: 0 0 var(--static-slide-width) !important;
  width: var(--static-slide-width) !important;
  max-width: var(--static-slide-width) !important;
}
.static-carousel-ready .swiper-pagination-bullet {
  display: inline-block;
  width: 8px;
  height: 8px;
  margin: 0 4px;
  border-radius: 50%;
  background: #c8c8c8;
  cursor: pointer;
  opacity: 1;
}
.static-carousel-ready .swiper-pagination-bullet.is-active { background: #111; }
.elementor-element-05c53b5 .swiper-pagination {
  position: static !important;
  inset: auto !important;
  transform: none !important;
  width: 100% !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  margin: 14px auto 0 !important;
  text-align: center;
}

/* Fully isolated team carousel; Elementor/Swiper cannot resize these slides. */
.static-team-carousel { position: relative; width: 100%; }
.static-team-viewport { width: 100%; overflow: hidden; }
.static-team-track { display: flex; flex-wrap: nowrap; transition: transform .65s ease; will-change: transform; }
.static-team-slide { flex: 0 0 33.333333%; width: 33.333333%; min-width: 0; padding: 0 5px; box-sizing: border-box; }
.static-team-slide > .e-con { height: 100%; }
.static-team-prev, .static-team-next { position: absolute; z-index: 3; top: 46%; transform: translateY(-50%); appearance: none; -webkit-appearance: none; border: 0 !important; border-radius: 0 !important; background: transparent !important; background-color: transparent !important; background-image: none !important; color: #fff; font-size: 38px; line-height: 1; cursor: pointer; padding: 12px; box-shadow: none !important; }
.static-team-prev:hover, .static-team-prev:focus, .static-team-prev:active,
.static-team-next:hover, .static-team-next:focus, .static-team-next:active {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border-color: transparent !important;
  color: #fff !important;
  box-shadow: none !important;
  outline: none;
}
.static-team-prev { left: 0; }
.static-team-next { right: 0; }
.static-team-dots { width: 100%; display: flex; justify-content: center; align-items: center; gap: 5px; margin: 14px auto 0; }
.static-team-dot { width: 8px; height: 8px; border: 0; border-radius: 50%; background: #ccc; padding: 0; cursor: pointer; }
.static-team-dot.is-active { background: #111; }
@media (max-width: 1024px) { .static-team-slide { flex-basis: 50%; width: 50%; } }
@media (max-width: 767px) { .static-team-slide { flex-basis: 100%; width: 100%; } }

@media (prefers-reduced-motion: reduce) {
  .static-carousel-ready .swiper-wrapper { transition: none !important; }
}

/* Elementor galleries normally receive their dimensions and images from JS. */
.static-gallery-ready.elementor-gallery__container {
  display: grid !important;
  grid-template-columns: repeat(var(--static-gallery-columns, 4), minmax(0, 1fr));
  gap: 10px;
  height: auto !important;
}
.static-gallery-ready .e-gallery-item {
  display: block !important;
  position: relative !important;
  inset: auto !important;
  width: auto !important;
  padding-top: var(--static-gallery-ratio, 75%);
  overflow: hidden;
  background: #fff;
}
.static-gallery-ready .e-gallery-image {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: var(--static-gallery-fit, cover) !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.elementor-element-61b5b9c .static-gallery-ready {
  --static-gallery-columns: 5;
  --static-gallery-ratio: 66.6667%;
  --static-gallery-fit: contain;
}
.elementor-element-177a121 .static-gallery-ready {
  --static-gallery-columns: 4;
  --static-gallery-ratio: 75%;
}
@media (max-width: 1024px) {
  .static-gallery-ready.elementor-gallery__container { --static-gallery-columns: 2; }
}
@media (max-width: 767px) {
  .static-gallery-ready.elementor-gallery__container { --static-gallery-columns: 1; }
}

.static-service-card {
  cursor: pointer;
  transition: transform .2s ease, box-shadow .2s ease;
}
.static-service-card:hover,
.static-service-card:focus-within {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgb(10 95 105 / 14%);
}

/* Keep the shared header identical and prevent hover styles from shifting it. */
.elementor-500 .elementor-element.elementor-element-1e8e439,
.elementor-500 .elementor-element.elementor-element-b109ad6,
.elementor-500 .elementor-element.elementor-element-12a86dc {
  transform: none !important;
}
.elementor-500 .elementor-element.elementor-element-29d78f2 .elementor-icon-list-item,
.elementor-500 .elementor-element.elementor-element-29d78f2 .elementor-icon-list-item > a {
  transform: none !important;
  background: transparent !important;
  box-shadow: none !important;
}
.elementor-500 .elementor-element.elementor-element-29d78f2 .elementor-icon-list-item:hover .elementor-icon-list-text,
.elementor-500 .elementor-element.elementor-element-29d78f2 .elementor-icon-list-item:focus-within .elementor-icon-list-text {
  color: #000 !important;
}
.elementor-500 .elementor-element.elementor-element-29d78f2 .elementor-icon-list-item:hover .elementor-icon-list-icon i,
.elementor-500 .elementor-element.elementor-element-29d78f2 .elementor-icon-list-item:focus-within .elementor-icon-list-icon i,
.elementor-500 .elementor-element.elementor-element-29d78f2 .elementor-icon-list-item:hover .elementor-icon-list-icon svg,
.elementor-500 .elementor-element.elementor-element-29d78f2 .elementor-icon-list-item:focus-within .elementor-icon-list-icon svg {
  color: #e59a1e !important;
  fill: #e59a1e !important;
}
.elementor-500 .elementor-element.elementor-element-fb44f62 .elementor-nav-menu--main .elementor-item,
.elementor-500 .elementor-element.elementor-element-fb44f62 .elementor-nav-menu--main .elementor-item:hover,
.elementor-500 .elementor-element.elementor-element-fb44f62 .elementor-nav-menu--main .elementor-item:focus {
  transform: none !important;
  box-shadow: none !important;
}

/* Mobile menu: static-fixes.js toggles the plugin's own .active state. */
body.static-nav-open {
  overflow: hidden;
}
@media (max-width: 1024px) {
  .ekit-wid-con button.elementskit-menu-hamburger {
    display: block;
  }
  /* The open panel carries its own X close button, so hide the hamburger
     behind it instead of letting the two overlap at narrow widths. */
  body.static-nav-open .ekit-wid-con button.elementskit-menu-hamburger {
    visibility: hidden;
  }
  .ekit-wid-con button.elementskit-menu-close {
    z-index: 10001;
  }
  .ekit-wid-con .elementskit-menu-overlay.elementskit-menu-offcanvas-elements.active {
    left: 0;
    z-index: 9999;
  }
  /* The plugin eases the backdrop in over .6s with no delay but out over .6s
     after a .4s delay on a different curve, so opening and closing looked like
     two different animations. Force one shared timing on both states, matched
     to the panel's curve so the panel and backdrop move together. */
  .ekit-wid-con .elementskit-menu-overlay,
  .ekit-wid-con .elementskit-menu-overlay.active {
    -webkit-transition: left .6s cubic-bezier(.6, .1, .68, .53) !important;
    transition: left .6s cubic-bezier(.6, .1, .68, .53) !important;
  }
  .ekit-wid-con .elementskit-menu-container.elementskit-menu-offcanvas-elements.active {
    left: 0;
    z-index: 10000;
  }
}
