/* Clone overrides — fixes for JS-applied behaviors that differ on clone */

/* css3-animate-it: .animated stays opacity:0 + transform-shifted without JS adding .go */
.animated {
  opacity: 1 !important;
  animation: none !important;
  transform: none !important;
}

/* Captured Elementor/Swiper loop carousels do not reliably initialize after static export.
   Show service pickers as real cards instead of dead carousel panels on parent and child service pages. */
.service-template-service-parent .services-box_child .elementor-widget-loop-carousel .swiper-wrapper,
.single-service .services-box_related .elementor-widget-loop-carousel .swiper-wrapper {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  transform: none !important;
  width: 100% !important;
  height: auto !important;
}

.service-template-service-parent .services-box_child .elementor-widget-loop-carousel .swiper-slide,
.single-service .services-box_related .elementor-widget-loop-carousel .swiper-slide {
  width: auto !important;
  margin: 0 !important;
  transform: none !important;
  height: auto !important;
}

.service-template-service-parent .services-box_child .elementor-widget-loop-carousel .elementor-swiper-button,
.service-template-service-parent .services-box_child .elementor-widget-loop-carousel .swiper-pagination,
.single-service .services-box_related .elementor-widget-loop-carousel .elementor-swiper-button,
.single-service .services-box_related .elementor-widget-loop-carousel .swiper-pagination {
  display: none !important;
}

.service-template-service-parent .services-box_child .elementor-widget-loop-carousel .elementor-element-348b155,
.single-service .services-box_related .elementor-widget-loop-carousel .elementor-element-348b155 {
  min-height: 330px;
  border-radius: 22px;
  overflow: hidden;
}

.service-template-service-parent .services-box_related .elementor-widget-loop-carousel:has(.e-loop-nothing-found-message:empty),
.single-service .services-box_child .elementor-widget-loop-carousel:has(.e-loop-nothing-found-message:empty) {
  display: none !important;
}

@media (max-width: 1024px) {
  .service-template-service-parent .services-box_child .elementor-widget-loop-carousel .swiper-wrapper,
  .single-service .services-box_related .elementor-widget-loop-carousel .swiper-wrapper {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .service-template-service-parent .services-box_child .elementor-widget-loop-carousel .swiper-wrapper,
  .single-service .services-box_related .elementor-widget-loop-carousel .swiper-wrapper {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .service-template-service-parent .services-box_child .elementor-widget-loop-carousel .elementor-element-348b155,
  .single-service .services-box_related .elementor-widget-loop-carousel .elementor-element-348b155 {
    min-height: 280px;
  }
}

/* The main /service/ page uses a captured Elementor loop carousel outside the parent/child
   service-template body classes. Static export leaves most cards off-canvas. Show all services
   as a normal responsive card grid so the hub is usable without carousel JS. */
.page-id-278 .elementor-element-d69c661 .swiper-wrapper {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  transform: none !important;
  width: 100% !important;
  height: auto !important;
}

.page-id-278 .elementor-element-d69c661 .swiper-slide,
.page-id-278 .elementor-element-d69c661 .elementor-1465 {
  width: auto !important;
  margin: 0 !important;
  transform: none !important;
  height: auto !important;
}

.page-id-278 .elementor-element-d69c661 .elementor-swiper-button,
.page-id-278 .elementor-element-d69c661 .swiper-pagination {
  display: none !important;
}

.page-id-278 .elementor-element-d69c661 .elementor-element-348b155 {
  min-height: 330px;
  border-radius: 22px;
  overflow: hidden;
}

@media (max-width: 1024px) {
  .page-id-278 .elementor-element-d69c661 .swiper-wrapper {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .page-id-278 .elementor-element-d69c661 .swiper-wrapper {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .page-id-278 .elementor-element-d69c661 .elementor-element-348b155 {
    min-height: 280px;
  }
}

/* Added contact/NAP links should blend with the surrounding copy. Only the newly
   inserted phone, email, and contact-page text links get underline treatment so
   SEO-intentional internal links keep their original styling. */
html body a.clone-added-link {
  color: inherit !important;
}

html body a.clone-added-contact-link {
  text-decoration: underline !important;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.16em;
}

/* Static fallback for desktop HFE header dropdowns after SmartMenus/Elementor runtime cleanup.
   Mobile uses the captured fullscreen menu script, so these rules are desktop-scoped. */
@media (min-width: 1025px) {
  .hfe-nav-menu__layout-horizontal .hfe-nav-menu > li.menu-item-has-children {
    position: relative;
  }

  .hfe-nav-menu__layout-horizontal .hfe-nav-menu > li.menu-item-has-children > .sub-menu {
    display: block !important;
    position: absolute !important;
    top: 100% !important;
    left: 50% !important;
    z-index: 9999 !important;
    width: max-content !important;
    min-width: 220px !important;
    max-width: calc(100vw - 32px) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translate(-50%, 8px) !important;
    transition: opacity 160ms ease, transform 160ms ease, visibility 160ms ease;
  }

  .hfe-nav-menu__layout-horizontal .hfe-nav-menu > li.menu-item-has-children:hover > .sub-menu,
  .hfe-nav-menu__layout-horizontal .hfe-nav-menu > li.menu-item-has-children:focus-within > .sub-menu,
  .hfe-nav-menu__layout-horizontal .hfe-nav-menu > li.menu-item-has-children.clone-submenu-open > .sub-menu {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translate(-50%, 0) !important;
  }

  .hfe-nav-menu__layout-horizontal .hfe-nav-menu > li.menu-item-has-children > .sub-menu a {
    display: block;
    white-space: nowrap;
  }
}
