/* --------------------------- ANCHOR Custom Style -------------------------- */
.elementor-element:has(.elementor-page-title) {
  display: none !important;
}
p a {
  font-size: inherit !important;
}

/* breadcrumb*/
.breadcrumb {
  font-size: 20px !important;
  p a {
    color: #f3f3f3 !important;
  }
  span.separator {
    margin: 0 8px !important;
    color: var(--e-global-color-secondary);
  }
  span.last {
    color: var(--e-global-color-secondary);
  }
}

.solutions .e-con.e-con > .e-con-inner > .elementor-widget,
.solutions .elementor.elementor .e-con > .elementor-widget {
  max-width: 100%;
  max-height: 100% !important;
}
.interne-maschinen .e-con.e-con > .e-con-inner > .elementor-widget,
.interne-maschinen .elementor.elementor .e-con > .elementor-widget {
  max-width: 100%;
  max-height: fit-content !important;
}

/* --------------------------- ANCHOR WPML SWITCH --------------------------- */
.wpml-ls-native {
  display: none;
}

/* Standard (nicht aktiv) */
.wpml-ls-item a::after {
  content: attr(href);
}

/* DE / EN Text */
.wpml-ls-item-de a::after {
  content: "DE";
}

.wpml-ls-item-en a::after {
  content: "EN";
}

/* Styling allgemein */
.wpml-ls-item a::after {
  font-weight: 600;
  position: relative;
  left: 5px;
  top: 1px;
  font-size: 15px;
}

/* AKTIVE SPRACHE  */
.wpml-ls-current-language a::after {
  color: #1f2124;
  opacity: 1;
}

/*  INAKTIVE SPRACHE */
.wpml-ls-item:not(.wpml-ls-current-language) a::after {
  opacity: 0.6;
  color: #1f2124;
}

/* HOVER */
.wpml-ls-item:not(.wpml-ls-current-language) a:hover::after {
  opacity: 1;
}

/* ------------------------------ ANCHOR Slider ----------------------------- */
.hero-slider .e-con.e-con > .e-con-inner > .elementor-widget,
.hero-slider .elementor.elementor .e-con > .elementor-widget {
  max-width: 100% !important;
  max-height: 100% !important;
}

.hero-slider {
  min-height: 90dvh;
  height: auto;
  position: relative;
  overflow: hidden;
}

/* Swiper soll sich nur anpassen, nicht positionieren */
.hero-slider .swiper,
.hero-slider .swiper-wrapper,
.hero-slider .swiper-slide {
  height: 100%;
  max-height: 100% !important;
  position: relative;
}

.hero-slider .swiper-pagination {
  position: absolute !important;
  bottom: 50px !important;
  top: auto !important;
  left: 50% !important;
  transform: translate(-50%, 0%) !important;
}

.hero-slider .swiper-pagination .swiper-pagination-bullet,
.hero-slider-detail .swiper-pagination-bullet {
  background: #ffffffcc !important;
  width: 8px;
  height: 8px;
  margin: 0 15px !important;
  display: inline-block;
  vertical-align: middle;
}

.swiper-pagination-bullet-active {
  background: #fff !important;
  width: 8px;
  height: 8px;
  margin: 0 15px !important;
  display: inline-block;
  vertical-align: middle;
  position: relative;
}

.swiper-pagination-bullet-active::before {
  content: "";
  width: 30px;
  height: 30px;
  border: 2px solid rgba(255, 255, 255, 0.2);
  background: transparent;
  display: inline-block;
  border-radius: 50%;
  position: relative;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  -webkit-transition: 0.3s;
  transition: 0.3s;
  opacity: 1;
}
/* Home - Solutions */
.solutions .e-grid p {
  hyphens: auto;
  letter-spacing: 0.15px;
}
/* ---------------------- ANCHOR Hero Slider Produkte-Detailseiten --------------------- */
.hero-slider-detail {
  height: 70dvh !important;
  min-height: 70dvh !important;
}
.hero-slider-detail > .e-con,
.hero-slider-detail .swiper,
.hero-slider-detail .swiper-wrapper,
.hero-slider-detail .swiper-slide {
  height: 100% !important;
}

.hero-slider-detail {
  min-height: 70dvh;
  height: auto;
  position: relative;
  overflow: hidden;
}

.hero-slider-detail .swiper,
.hero-slider-detail .swiper-wrapper,
.hero-slider-detail .swiper-slide {
  height: 100%;
  position: relative;
}

.hero-slider-detail .swiper-slide {
  background-position: center;
  background-repeat: no-repeat !important;
  background-size: cover !important;
}

.elementor-carousel-image:not([style*="background-image"]) {
  display: none !important;
}
.hero-slider-detail .swiper-button-prev,
.hero-slider-detail .swiper-button-next {
  color: #ffffffcc !important;
}
.hero-slider-detail .swiper-button-prev {
  left: 25px !important;
}
.hero-slider-detail .swiper-button-next {
  right: 25px !important;
}

.hero-slider-detail .swiper-pagination-bullets {
  bottom: 25px !important;
}

.hero-slider-detail {
  position: relative;
}

.hero-slider-detail .hero-slider-overlay {
  position: absolute;
  inset: 0;
  background: rgb(37 40 64 / 50%);
  z-index: 2;
}
.hero-slider-detail .hero-slider-content {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 3;
  text-align: center;
  padding: 0 20px;
}

.hero-slider-detail .hero-slider-title {
  color: #fff;
  font-size: clamp(2rem, 5vw, 4rem);
  font-weight: 600;
  line-height: 1.2;
  margin: 0;
}
.hero-slider-detail .swiper-slide {
  position: relative;
  z-index: 1;
}

.hero-slider-detail .swiper-button-prev,
.hero-slider-detail .swiper-button-next,
.hero-slider-detail .swiper-pagination {
  z-index: 4;
}

/* --------------------- ANCHOR Detailseite-Loop-Slider --------------------- */
.loop-slider {
  position: relative;
  .swiper-slide {
    &::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: rgb(37 40 64 / 20%);
      z-index: 1;
    }
    img {
      padding: 20px 0 !important;
      height: 375px !important;
      width: 100%;
      object-fit: contain !important;
    }
  }
}
/* ---------------------------- ANCHOR Allgemein ---------------------------- */
.h2-title {
  h2 {
    position: relative;
    b {
      font-weight: 800 !important;
      position: relative;
    }
    span {
      font-weight: 800 !important;
      position: relative;
      &::before {
        content: "";
        position: absolute;
        left: 0;
        bottom: 8px;
        background-image: linear-gradient(to right, #449fb0 0, #394578 100%);
        width: 100%;
        height: 8px;
        z-index: 0;
        opacity: 0.5;
      }
    }
  }
}
.h2-title-2 {
  h2 {
    position: relative;
    b {
      font-weight: 800 !important;
      position: relative;
    }
    span {
      font-weight: 800 !important;
      position: relative;
      &::before {
        content: "";
        position: absolute;
        left: 0;
        bottom: 8px;
        background-image: linear-gradient(to right, #ddd 0, #252840 100%);
        width: 100%;
        height: 8px;
        z-index: 0;
        opacity: 0.5;
      }
    }
  }
}

/* ----------------------------- ANCHOR Buttons ----------------------------- */
.btn-1 {
  /* Grundbutton-Styling */
  .elementor-button {
    position: relative;
    overflow: hidden; /* falls Icons nach außen rutschen */

    i {
      display: none;
    }
  }

  .elementor-button .elementor-button-text {
    display: inline-block;
    transition: transform 0.3s ease;
    position: relative;
    padding: 0 1.2em; /* Platz für Icons links & rechts */
  }

  /* Pfeil rechts (Standardzustand sichtbar) */
  .elementor-button .elementor-button-text::after {
    font-family: "icomoon" !important;
    content: "\e829";
    display: inline-block;
    margin-left: 0.5em;
    opacity: 1;
    transform: translateX(0);
    transition:
      opacity 0.3s ease,
      transform 0.3s ease;
  }

  /* Pfeil links (unsichtbar) */
  .elementor-button .elementor-button-text::before {
    font-family: "icomoon" !important;
    content: "\e829";
    display: inline-block;
    margin-right: 0.5em;
    opacity: 0;
    transform: translateX(-10px);
    transition:
      opacity 0.3s ease,
      transform 0.3s ease;
    position: absolute;
    left: 0;
  }

  /* Hover-Effekte */
  .elementor-button:hover .elementor-button-text {
    transform: translateX(8px);
  }

  .elementor-button:hover .elementor-button-text::after {
    opacity: 0;
    transform: translateX(10px);
  }

  .elementor-button:hover .elementor-button-text::before {
    opacity: 1;
    transform: translateX(0);
  }
}
/* ---------------------------- ANCHOR Projektablauf --------------------------- */
.process-wrapper {
  position: relative;
  .e-con {
    position: relative;
    &:not(:last-child) {
      .circle-container {
        &::before {
          content: "";
          position: absolute;
          top: 85px;
          left: 50%;
          width: 1px;
          /*  height: 50%; */
          height: calc(100% - 100px);
          background: #e4e4e4;
          transform: translate(-50%, 0%);
          z-index: 0;
        }
      }
    }

    .circle-container {
      .step {
        width: 70px;
        height: 70px;
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: 100%;
        position: relative;
        z-index: 1;
      }
    }
  }
}

.max-height {
  height: 100%;
}

/* ----------------------- ANCHOR Produkte & Lösungen ----------------------- */
/*Interne Maschinen*/
.interne-maschinen {
  .leistungen-box {
    .slider-wrapper {
      line-height: 0 !important;
      border-radius: 12px 12px 0 0 !important;
      img {
        min-height: 290px !important;
        width: 100% !important;
        max-height: 100% !important;
        object-fit: contain !important;
        background-color: #fff !important;
      }
    }
  }
}

.leistungen-box {
  .slider-wrapper {
    line-height: 0 !important;
    .elementor-main-swiper {
      border-radius: 12px 12px 0 0 !important;

      .swiper-slide {
        border-radius: 12px 12px 0 0 !important;
        a {
          line-height: 0 !important;
          /*  img {
        height: 330px !important;
        width: 100% !important;
        object-fit: cover !important;
        background-color: #fff;
      } */
        }

        &:hover {
          .elementor-swiper-button-prev,
          .elementor-swiper-button-next {
            opacity: 1;
          }
        }
        .elementor-swiper-button {
          color: #252840 !important;
        }
        .elementor-swiper-button-prev,
        .elementor-swiper-button-next {
          background: #fff !important;
          width: 30px;
          height: 40px;
          display: flex;
          justify-content: center;
          align-items: center;
          transition: all 0.3s ease;
          opacity: 0.5;
          svg {
            fill: #252840 !important;
            color: #252840 !important;
            opacity: 0.75 !important;
          }
        }
        .elementor-swiper-button-prev {
          left: 0 !important;
          border-radius: 0px 3px 3px 0px !important;
        }
        .elementor-swiper-button-next {
          right: 0 !important;
          border-radius: 3px 0px 0px 3px !important;
        }
      }
    }
  }
  ul {
    li.elementor-icon-list-item {
      transition: all 0.3s ease;
      &:hover {
        padding-left: 15px !important;
      }
    }
  }
}
/* ------------------------- ANCHOR Produkt-Details ------------------------- */
.produkt-details {
  img {
    width: 100% !important;
  }
  .sidebar {
    ul {
      padding-left: 0 !important;
      li {
        list-style-type: none !important;
        padding-left: 0 !important;
        padding-bottom: 10px !important;
        a {
          font-size: 18px !important;
        }
      }
    }
  }

  .sidebar:not(:has(.elementor-widget-text-editor ul li)) .sidebar-h2 {
    display: none !important;
  }
  .sidebar:not(:has(.elementor-widget-text-editor ul li)) .sidebar-h3 {
    margin-top: 0 !important;
  }

  .product-details-title h1 {
    position: relative;
    &::before {
      content: "";
      position: absolute;
      left: 0;
      bottom: 8px;
      background-image: linear-gradient(to right, #449fb0 0, #394578 100%);
      width: 100%;
      height: 8px;
      z-index: 0;
      opacity: 0.5;
    }
  }

  .elementor-widget-text-editor h3 {
    font-size: 1.25em !important;
    line-height: 1.25em !important;
  }
}

/* hide datasheet */
.hide-datasheet .data-sheet-container {
  display: none !important;
}

/* hide content section */
.hide-contact-section .product-details-contact {
  display: none !important;
}

/* ----------------------------- ANCHOR Produkt-Tabelle ----------------------------- */
table.product-table {
  tbody {
    tr {
      td {
        padding: 15px;
        border: 0px !important;
        &:first-child {
          border-right: 1px solid #e4e4e4 !important;
          border-radius: 5px 0 0 5px !important;
        }
        &:last-child {
          border-radius: 0 5px 5px 0 !important;
        }
      }
    }
  }
}

/* ----------------------------- ANCHOR Kontakt ----------------------------- */
.kontaktformular .elementor-field-type-html p {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
  color: #252840;
  font-size: 21px;
}

.kontaktformular .elementor-field-type-html:not(:first-of-type) p {
  padding-top: 30px !important;
}

.kontaktformular span.elementor-field-option {
  margin-top: 0px !important;
  margin-bottom: 20px !important;
  line-height: 24px !important;
}

.kontaktformular .elementor-form-fields-wrapper .elementor-field-group {
  margin-top: 0px !important;
  margin-bottom: 10px !important;
}

.kontaktformular input.elementor-acceptance-field {
  width: 14px;
  height: 14px;
  position: relative;
  top: 2px;
  margin-right: 5px;
}
.kontaktformular .elementor-field-option label a {
  color: #252840 !important;
}
/* ------------------------- ANCHOR Banner Scroller ------------------------- */
.scroll-downs {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;

  width: 34px;
  height: 55px;
}
.mousey {
  width: 3px;
  padding: 10px 11px;
  height: 26px;
  border: 2px solid #fff;
  border-radius: 25px;
  opacity: 0.5;
  box-sizing: content-box;
}
.scroller {
  width: 3px;
  height: 10px;
  border-radius: 25%;
  background-color: #fff;
  animation-name: scroll;
  animation-duration: 2.2s;
  animation-timing-function: cubic-bezier(0.15, 0.41, 0.69, 0.94);
  animation-iteration-count: infinite;
}
@keyframes scroll {
  0% {
    opacity: 0;
  }
  10% {
    transform: translateY(0);
    opacity: 1;
  }
  100% {
    transform: translateY(15px);
    opacity: 0;
  }
}

/* ---------------------------- ANCHOR Fragebogen --------------------------- */
#fragebogen {
  .elementor-field-group {
    flex-wrap: nowrap !important;
    margin-top: 5px !important;
    margin-bottom: 2px !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    .elementor-field-label {
      width: 340px !important;
      margin-right: 10px !important;
    }
  }

  /*Anwendung*/
  .elementor-field-type-checkbox {
    span.elementor-field-option {
      margin-bottom: 0px !important;
      input[type="checkbox"] {
        width: 14px;
        height: 14px;
        position: relative;
        top: 3px;
        margin-right: 3px;
      }
    }
  }
}
