/* Static clone fixes for Elementor behaviors that normally depend on WordPress runtime JS. */

.elementor-invisible {
  visibility: visible !important;
  opacity: 1 !important;
}

html,
body {
  overflow-x: hidden;
}

/* Restore the homepage Elementor slideshow header as a static, readable hero. */
.elementor .elementor-element.elementor-element-d257518 {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background-image:
    linear-gradient(90deg, rgba(0, 0, 0, 0.72) 0%, rgba(0, 0, 0, 0.48) 46%, rgba(0, 0, 0, 0.22) 100%),
    url("/wp-content/uploads/2025/12/Marble-Falls-Body-Shop.webp") !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
}

.elementor .elementor-element.elementor-element-d257518::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.28), rgba(0, 0, 0, 0.54));
  pointer-events: none;
}

.elementor .elementor-element.elementor-element-d257518 > * {
  position: relative;
  z-index: 1;
}

.elementor-10 .elementor-element.elementor-element-d257518 {
  min-height: min(760px, 100svh) !important;
}

.elementor-10 .elementor-element.elementor-element-544aba5 .elementor-heading-title,
.elementor-10 .elementor-element.elementor-element-abf60e8,
.elementor-10 .elementor-element.elementor-element-92be99a .elementor-heading-title,
.elementor-10 .elementor-element.elementor-element-dbdec85 .elementor-icon-box-title,
.elementor-10 .elementor-element.elementor-element-46d80eb .elementor-icon-box-title,
.elementor-10 .elementor-element.elementor-element-c634fbc .elementor-icon-box-title,
.elementor-10 .elementor-element.elementor-element-dbdec85 .elementor-icon-box-title a,
.elementor-10 .elementor-element.elementor-element-46d80eb .elementor-icon-box-title a,
.elementor-10 .elementor-element.elementor-element-c634fbc .elementor-icon-box-title a {
  color: #fff !important;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.45);
}

.elementor-10 .elementor-element.elementor-element-544aba5 .elementor-heading-title {
  max-width: 900px;
  line-height: 0.94;
}

.elementor-10 .elementor-element.elementor-element-abf60e8 {
  max-width: 680px !important;
  line-height: 1.45;
}

/* Turn Elementor nested carousels into static layouts instead of broken sliders. */
.elementor-widget-n-carousel > .elementor-widget-container {
  margin-right: 0 !important;
  overflow: visible !important;
}

.elementor-widget-n-carousel .e-n-carousel {
  overflow: visible !important;
}

.elementor-widget-n-carousel .swiper-wrapper {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
  gap: 18px;
  height: auto !important;
  transform: none !important;
  transition: none !important;
}

.elementor-widget-n-carousel .swiper-slide {
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  max-width: 100% !important;
  min-width: 0 !important;
  opacity: 1 !important;
  position: relative !important;
  transform: none !important;
  visibility: visible !important;
}

.elementor-widget-n-carousel .swiper-slide-duplicate,
.elementor-widget-n-carousel .elementor-swiper-button,
.elementor-widget-n-carousel .swiper-pagination {
  display: none !important;
}

.elementor-10 .elementor-element.elementor-element-12272e2 .swiper-wrapper,
.elementor-10 .elementor-element.elementor-element-958adb3 .swiper-wrapper {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
  gap: 22px;
}

.elementor-10 .elementor-element.elementor-element-12272e2,
.elementor-10 .elementor-element.elementor-element-12272e2 .e-n-carousel,
.elementor-10 .elementor-element.elementor-element-12272e2 .swiper-wrapper,
.elementor-10 .elementor-element.elementor-element-12272e2 .swiper-slide,
.elementor-10 .elementor-element.elementor-element-12272e2 .swiper-slide > .e-con,
.elementor-10 .elementor-element.elementor-element-12272e2 .e-con-inner,
.elementor-10 .elementor-element.elementor-element-12272e2 .elementor,
.elementor-10 .elementor-element.elementor-element-12272e2 .elementor-element-b05f36e {
  max-width: 100% !important;
  min-width: 0 !important;
  width: 100% !important;
}

.elementor-10 .elementor-element.elementor-element-12272e2 .swiper-slide > .e-con,
.elementor-10 .elementor-element.elementor-element-12272e2 .swiper-slide > .elementor-element {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.elementor-10 .elementor-element.elementor-element-12272e2 .swiper-slide > .e-con > .e-con-inner {
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-top: 0 !important;
}

.elementor-10 .elementor-element.elementor-element-3688c17 .swiper-wrapper {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
  gap: 18px;
}

/* Restore the testimonials as a single fading review instead of a stacked grid. */
.elementor-10 .elementor-element.elementor-element-3688c17.hcc-review-fade-ready {
  margin-inline: auto;
  max-width: 520px;
  width: 100%;
}

.elementor-10 .elementor-element.elementor-element-3688c17.hcc-review-fade-ready .e-n-carousel {
  overflow: visible !important;
}

.elementor-10 .elementor-element.elementor-element-3688c17.hcc-review-fade-ready .swiper-wrapper {
  display: block !important;
  gap: 0 !important;
  min-height: var(--hcc-review-height, 360px);
  overflow: visible !important;
  position: relative;
  transform: none !important;
  transition: none !important;
}

.elementor-10 .elementor-element.elementor-element-3688c17.hcc-review-fade-ready .swiper-slide {
  align-items: center;
  display: flex !important;
  height: 100% !important;
  inset: 0 !important;
  margin: 0 !important;
  max-width: none !important;
  opacity: 0 !important;
  pointer-events: none;
  position: absolute !important;
  transform: none !important;
  transition: opacity 700ms ease, visibility 700ms ease !important;
  visibility: hidden !important;
  width: 100% !important;
}

.elementor-10 .elementor-element.elementor-element-3688c17.hcc-review-fade-ready .swiper-slide.hcc-review-active {
  opacity: 1 !important;
  pointer-events: auto;
  visibility: visible !important;
}

.elementor-10 .elementor-element.elementor-element-3688c17.hcc-review-fade-ready .swiper-slide > .e-con,
.elementor-10 .elementor-element.elementor-element-3688c17.hcc-review-fade-ready .swiper-slide > .e-con > .e-con-inner {
  max-width: 100% !important;
  width: 100% !important;
}

.elementor-10 .elementor-element.elementor-element-12272e2 .elementor-flip-box {
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
}

.elementor-10 .elementor-element.elementor-element-12272e2 .elementor-flip-box__layer {
  position: relative !important;
  inset: auto !important;
  transform: none !important;
}

.elementor-10 .elementor-element.elementor-element-12272e2 .elementor-flip-box__back {
  display: none !important;
}

.elementor-10 .elementor-element.elementor-element-12272e2 .elementor-flip-box__layer__overlay {
  min-height: 0 !important;
  padding: 0 !important;
  transform: none !important;
}

.elementor-10 .elementor-element.elementor-element-12272e2 .elementor-flip-box__layer__title {
  display: block !important;
  margin: 0 !important;
}

.elementor-10 .elementor-element.elementor-element-12272e2 .elementor-heading-title,
.elementor-10 .elementor-element.elementor-element-12272e2 p {
  overflow-wrap: anywhere;
}

/* Keep the certification logo carousel close to the live WordPress treatment. */
.elementor-10 .elementor-element.elementor-element-77877f2 > .elementor-widget-container {
  overflow: visible !important;
}

.elementor-10 .elementor-element.elementor-element-77877f2 .e-n-carousel {
  overflow: hidden !important;
}

.elementor-10 .elementor-element.elementor-element-77877f2 .swiper-wrapper {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 10px !important;
  height: auto !important;
  overflow: visible !important;
  transform: translate3d(0, 0, 0);
  transition: transform 900ms ease !important;
  will-change: transform;
}

.elementor-10 .elementor-element.elementor-element-77877f2 .swiper-slide {
  flex: 0 0 calc((100% - 40px) / 5) !important;
  width: calc((100% - 40px) / 5) !important;
  max-width: none !important;
}

.elementor-10 .elementor-element.elementor-element-77877f2 .swiper-slide-duplicate {
  display: block !important;
}

.elementor-10 .elementor-element.elementor-element-77877f2 .swiper-slide > .e-con,
.elementor-10 .elementor-element.elementor-element-77877f2 .swiper-slide > .e-con > .e-con-inner {
  max-width: 100% !important;
  width: 100% !important;
}

.elementor-10 .elementor-element.elementor-element-77877f2 img {
  display: block;
  height: auto;
  margin-inline: auto;
  max-width: 100%;
}

.elementor-10 .elementor-element.elementor-element-77877f2 :is(.elementor-swiper-button-prev, .elementor-swiper-button-next) {
  display: flex !important;
}

.elementor-10 .elementor-element.elementor-element-77877f2.hcc-logo-carousel-ready .swiper-wrapper.is-jumping {
  transition: none !important;
}

/* Restore the live-style service carousel below the certification section. */
.elementor-10 .elementor-element.elementor-element-801b20e > .elementor-widget-container {
  margin: 0 -400px 0 0 !important;
  overflow: visible !important;
}

.elementor-10 .elementor-element.elementor-element-801b20e .e-n-carousel {
  overflow: hidden !important;
}

.elementor-10 .elementor-element.elementor-element-801b20e .swiper-wrapper {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 10px !important;
  height: auto !important;
  overflow: visible !important;
  transform: translate3d(0, 0, 0);
  transition: transform 500ms ease !important;
  will-change: transform;
}

.elementor-10 .elementor-element.elementor-element-801b20e .swiper-slide {
  flex: 0 0 calc((100% - 10px) / 2) !important;
  width: calc((100% - 10px) / 2) !important;
  max-width: none !important;
}

.elementor-10 .elementor-element.elementor-element-801b20e .swiper-slide-duplicate {
  display: block !important;
}

.elementor-10 .elementor-element.elementor-element-801b20e .swiper-slide > .e-con,
.elementor-10 .elementor-element.elementor-element-801b20e .swiper-slide > .e-con > .e-con-inner,
.elementor-10 .elementor-element.elementor-element-801b20e .elementor-element-a76b167 {
  max-width: 100% !important;
  width: 100% !important;
}

.elementor-10 .elementor-element.elementor-element-801b20e .elementor-element-a76b167 {
  height: 100%;
  min-height: 640px;
}

.elementor-10 .elementor-element.elementor-element-801b20e :is(.elementor-swiper-button-prev, .elementor-swiper-button-next) {
  display: flex !important;
}

.elementor-10 .elementor-element.elementor-element-801b20e.hcc-service-carousel-ready .swiper-wrapper.is-jumping {
  transition: none !important;
}

@media (max-width: 1024px) {
  .elementor-10 .elementor-element.elementor-element-77877f2 .swiper-slide {
    flex-basis: calc((100% - 10px) / 2) !important;
    width: calc((100% - 10px) / 2) !important;
  }

  .elementor-10 .elementor-element.elementor-element-801b20e > .elementor-widget-container {
    margin-right: 0 !important;
  }

  .elementor-10 .elementor-element.elementor-element-801b20e .swiper-slide {
    flex-basis: min(620px, calc(100vw - 48px)) !important;
    width: min(620px, calc(100vw - 48px)) !important;
  }
}

/* Make unanimated marquee/logo rows settle neatly without live JS timing. */
.hcc-logo-marquee {
  overflow: hidden;
}

.hcc-logo-track {
  min-width: max-content;
}

a[href^="#elementor-action"] {
  cursor: default;
}

/* Recreate Elementor slideshow backgrounds when its WordPress runtime is absent. */
.elementor .hcc-background-slideshow-ready {
  isolation: isolate;
  overflow: hidden;
  position: relative;
}

.elementor .hcc-background-slideshow-ready > .hcc-background-slideshow,
.elementor .hcc-background-slideshow-ready > .e-con-inner > .hcc-background-slideshow {
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  position: absolute;
  z-index: 0;
}

.elementor .hcc-background-slideshow__slide {
  inset: 0;
  opacity: 0;
  position: absolute;
  transition: opacity var(--hcc-background-slideshow-transition, 500ms) ease;
}

.elementor .hcc-background-slideshow__slide--active {
  opacity: 1;
}

.elementor .hcc-background-slideshow__slide__image {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  inset: 0;
  position: absolute;
}

.elementor .hcc-background-slideshow-ready > :not(.hcc-background-slideshow),
.elementor .hcc-background-slideshow-ready > .e-con-inner > :not(.hcc-background-slideshow) {
  position: relative;
  z-index: 1;
}

/* Recreate Elementor's hosted video backgrounds for the static clone. */
.elementor .hcc-background-video-ready {
  isolation: isolate;
  overflow: hidden;
  position: relative;
}

.elementor .hcc-background-video-ready > .elementor-background-video-container,
.elementor .hcc-background-video-ready > .e-con-inner > .elementor-background-video-container {
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  position: absolute;
  z-index: 0;
}

.elementor .hcc-background-video-ready .elementor-background-video-hosted {
  display: block;
  height: 100%;
  left: 50%;
  max-width: none;
  min-height: 100%;
  min-width: 100%;
  object-fit: cover;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
}

.elementor .hcc-background-video-ready > :not(.elementor-background-video-container),
.elementor .hcc-background-video-ready > .e-con-inner > :not(.elementor-background-video-container) {
  position: relative;
  z-index: 1;
}

@media (max-width: 767px) {
  .elementor-10 .elementor-element.elementor-element-d257518 {
    min-height: 720px !important;
    padding-top: 96px !important;
    padding-bottom: 80px !important;
    background-position: center top !important;
  }

  .elementor-10 .elementor-element.elementor-element-544aba5 .elementor-heading-title {
    font-size: clamp(38px, 13vw, 52px) !important;
  }

  .elementor-10 .elementor-element.elementor-element-abf60e8 {
    width: 100% !important;
    max-width: 100% !important;
    font-size: 17px !important;
  }

  .elementor-10 .elementor-element.elementor-element-87fb807 .elementor-button {
    width: 100%;
    font-size: 23px !important;
  }

  .elementor-10 .elementor-element.elementor-element-ba955e6 {
    gap: 12px;
  }

  .elementor-10 .elementor-element.elementor-element-dbdec85 .elementor-icon-box-wrapper,
  .elementor-10 .elementor-element.elementor-element-46d80eb .elementor-icon-box-wrapper,
  .elementor-10 .elementor-element.elementor-element-c634fbc .elementor-icon-box-wrapper {
    justify-content: flex-start;
  }

  .elementor-widget-n-carousel .swiper-wrapper,
  .elementor-10 .elementor-element.elementor-element-12272e2 .swiper-wrapper,
  .elementor-10 .elementor-element.elementor-element-3688c17 .swiper-wrapper,
  .elementor-10 .elementor-element.elementor-element-958adb3 .swiper-wrapper {
    grid-template-columns: 1fr;
  }

  .elementor-10 .elementor-element.elementor-element-801b20e .swiper-wrapper,
  .elementor-10 .elementor-element.elementor-element-77877f2 .swiper-wrapper {
    display: flex !important;
  }

  .elementor-10 .elementor-element.elementor-element-801b20e .swiper-slide,
  .elementor-10 .elementor-element.elementor-element-77877f2 .swiper-slide {
    flex-basis: 100% !important;
    width: 100% !important;
  }

  .elementor-10 .elementor-element.elementor-element-801b20e .elementor-element-a76b167 {
    min-height: 520px;
  }

  .elementor-10 .elementor-element.elementor-element-38febc8,
  .elementor-10 .elementor-element.elementor-element-89c9291,
  .elementor-10 .elementor-element.elementor-element-16ea5e2 {
    padding-top: 48px !important;
    padding-bottom: 72px !important;
  }

  .elementor-10 .elementor-element.elementor-element-4f8990d,
  .elementor-10 .elementor-element.elementor-element-a093d80 {
    gap: 24px;
  }

  .elementor-10 .elementor-element.elementor-element-a9eba9a {
    gap: 20px;
  }

  .elementor-10 .elementor-element.elementor-element-0cda327 {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .elementor-10 .elementor-element.elementor-element-236a331 .elementor-heading-title {
    font-size: clamp(34px, 12vw, 46px) !important;
    line-height: 1.05 !important;
    overflow-wrap: anywhere;
  }

  .elementor-10 .elementor-element.elementor-element-4ba9cb8,
  .elementor-10 .elementor-element.elementor-element-6f3219f,
  .elementor-10 .elementor-element.elementor-element-41cebae,
  .elementor-10 .elementor-element.elementor-element-f60f476 {
    gap: 24px;
  }

  .elementor-10 .elementor-element.elementor-element-12272e2 .elementor-element-aaaa724 .elementor-heading-title {
    font-size: clamp(24px, 8vw, 34px) !important;
    line-height: 1.1 !important;
  }

  .elementor-10 .elementor-element.elementor-element-12272e2 .elementor-element-ad95daf {
    width: 100% !important;
    max-width: 100% !important;
  }

  .elementor-10 .elementor-element.elementor-element-12272e2 .elementor-element-28874d5 {
    padding: 32px !important;
  }
}
