.elementor-kit-7{--e-global-color-primary:#E6007E;--e-global-color-secondary:#FAFAFA;--e-global-color-text:#343434;--e-global-color-accent:#312783;--e-global-typography-primary-font-family:"ROTA Family";--e-global-typography-primary-font-weight:900;--e-global-typography-secondary-font-family:"ROTA Family";--e-global-typography-secondary-font-weight:700;--e-global-typography-text-font-family:"ROTA Family";--e-global-typography-text-font-weight:500;--e-global-typography-accent-font-family:"ROTA Family";--e-global-typography-accent-font-weight:500;background-color:var( --e-global-color-text );font-family:"ROTA Family", Sans-serif;overscroll-behavior:none;}.elementor-kit-7 e-page-transition{background-color:var( --e-global-color-primary );}body.e-wc-error-notice .woocommerce-error, body.e-wc-error-notice .wc-block-components-notice-banner.is-error{background-color:#F2F2F2;border-style:solid;border-width:0px 0px 0px 4px;border-color:#E6007E;}body.e-wc-message-notice .woocommerce-message, body.e-wc-message-notice .wc-block-components-notice-banner.is-success{background-color:#F2F2F2;border-style:solid;border-width:0px 0px 0px 4px;border-color:#C7027F;}body.e-wc-message-notice .woocommerce-message .button, body.e-wc-message-notice .wc-block-components-notice-banner.is-success .button{background-color:transparent !important;background-image:linear-gradient(135deg, #312783 0%, #E6007E 100%) !important;font-family:"ROTA Family", Sans-serif;font-size:18px;font-weight:900;border-width:1.5px 1.5px 1.5px 1.5px;}body.e-wc-message-notice .woocommerce-message .button:hover, body.e-wc-message-notice .wc-block-components-notice-banner.is-success .button:hover{background-color:transparent !important;background-image:linear-gradient(135deg, #482682 0%, #E6007E 100%) !important;}body.e-wc-info-notice .woocommerce-info, body.e-wc-info-notice .wc-block-components-notice-banner.is-info{background-color:#F2F2F2;border-style:solid;border-width:0px 0px 0px 4px;border-color:#C7027F;}body.e-wc-info-notice .woocommerce-info .button, body.e-wc-info-notice .wc-block-components-notice-banner.is-info .button{background-color:transparent !important;background-image:linear-gradient(135deg, #312783 0%, #E6007E 100%) !important;font-family:"ROTA Family", Sans-serif;font-size:18px;font-weight:900;border-width:1.5px 1.5px 1.5px 1.5px;}body.e-wc-info-notice .woocommerce-info .button:hover, body.e-wc-info-notice .wc-block-components-notice-banner.is-info .button:hover, body.e-wc-info-notice .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce .woocommerce-info .woocommerce-Button:hover, body.e-wc-info-notice .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce .wc-block-components-notice-banner.is-info .woocommerce-Button:hover{background-color:transparent !important;background-image:linear-gradient(135deg, #482682 0%, #E6007E 100%) !important;}.elementor-kit-7 h1{color:var( --e-global-color-secondary );font-family:"ROTA Family", Sans-serif;font-size:6em;line-height:0.9em;letter-spacing:-0.02em;}.elementor-kit-7 button,.elementor-kit-7 input[type="button"],.elementor-kit-7 input[type="submit"],.elementor-kit-7 .elementor-button{border-radius:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-kit-7 button:hover,.elementor-kit-7 button:focus,.elementor-kit-7 input[type="button"]:hover,.elementor-kit-7 input[type="button"]:focus,.elementor-kit-7 input[type="submit"]:hover,.elementor-kit-7 input[type="submit"]:focus,.elementor-kit-7 .elementor-button:hover,.elementor-kit-7 .elementor-button:focus{border-radius:0px 0px 0px 0px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1440px;}.e-con{--container-max-width:1440px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.e-wc-error-notice .woocommerce-error, .e-wc-error-notice .wc-block-components-notice-banner.is-error{--error-message-text-color:#2B2B31;font-family:"ROTA Family", Sans-serif;font-size:16px;font-weight:500;--error-message-icon-color:#E6007E;--error-message-normal-links-color:#C7027F;--error-message-hover-links-color:#482682;--error-box-border-radius:10px 10px 10px 10px;}body.e-wc-error-notice .woocommerce-error a.wc-backward, body.e-wc-error-notice .wc-block-components-notice-banner.is-error a.wc-backward{font-family:"ROTA Family", Sans-serif;font-weight:900;}.e-wc-message-notice .woocommerce-message, .e-wc-message-notice .wc-block-components-notice-banner.is-success{--message-message-text-color:#2B2B31;font-family:"ROTA Family", Sans-serif;font-size:16px;font-weight:500;--message-message-icon-color:#C7027F;--message-box-border-radius:10px 10px 10px 10px;--message-buttons-normal-text-color:#FFFFFF;--message-buttons-hover-text-color:#FFFFFF;--message-buttons-hover-border-color:rgba(255,255,255,0.12);--message-buttons-hover-transition-duration:0.3ms;--message-border-type:solid;--message-border-color:rgba(255,255,255,0.12);--message-buttons-border-radius:10px 10px 10px 10px;--message-buttons-padding:14px 24px 12px 24px;}.e-wc-message-notice .woocommerce-message .button, .e-wc-message-notice .wc-block-components-notice-banner.is-success .button{box-shadow:0px 10px 22px 0px rgba(0,0,0,0.18);}.e-wc-info-notice .woocommerce-info, .e-wc-info-notice .wc-block-components-notice-banner.is-info{--info-message-text-color:#2B2B31;font-family:"ROTA Family", Sans-serif;font-size:16px;font-weight:500;--info-message-icon-color:#C7027F;--info-box-border-radius:10px 10px 10px 10px;--info-buttons-normal-text-color:#FFFFFF;--info-buttons-hover-text-color:#FFFFFF;--info-buttons-hover-border-color:rgba(255,255,255,0.12);--info-buttons-hover-transition-duration:0.3ms;--info-border-type:solid;--info-border-color:rgba(255,255,255,0.12);--info-buttons-border-radius:10px 10px 10px 10px;--info-buttons-padding:14px 24px 12px 24px;}.e-wc-info-notice .woocommerce-info .button, .e-wc-info-notice .wc-block-components-notice-banner.is-info .button{box-shadow:0px 10px 22px 0px rgba(0,0,0,0.18);}@media(max-width:1440px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1120px;}.e-con{--container-max-width:1120px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}}@media(max-width:1200px){.elementor-kit-7 h1{font-size:6em;line-height:0.9em;letter-spacing:-0.02em;}}@media(max-width:1024px){.elementor-kit-7 h1{font-size:6em;line-height:0.9em;letter-spacing:-0.02em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:85%;}.e-con{--container-max-width:85%;}}@media(max-width:880px){.elementor-kit-7 h1{font-size:2em;line-height:0.9em;letter-spacing:-0.02em;}.elementor-kit-7 button,.elementor-kit-7 input[type="button"],.elementor-kit-7 input[type="submit"],.elementor-kit-7 .elementor-button{padding:0px 0px 0px 0px;}}@media(max-width:480px){.elementor-kit-7 h1{font-size:2em;line-height:0.9em;letter-spacing:-0.02em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:90%;}.e-con{--container-max-width:90%;}}@media(min-width:1920px){.elementor-kit-7 h1{font-size:6em;line-height:0.9em;letter-spacing:-0.02em;}}
/* Start custom CSS */html, body { overflow-x: clip; }

/* ═══ 01 · ELEMENTOR CONTAINER BREAKPOINT FIX ═══ */

@media (min-width: 768px) and (max-width: 879px) {
  .e-con.e-flex {
    --width: 100%;
    --flex-wrap: var(--flex-wrap-mobile);
  }
  .e-con.e-flex .elementor-widget-archive-posts {
    width: 100%;
  }
}

/* ═══ 02 · DESIGN-TOKENS + GLOBALES FADE-UP ANIMATIONS-SYSTEM ═══ */

:root {
  --hl-distance: 14px;
  --hl-blur: 3px;
  --hl-blur-in: blur(3px);
  --hl-duration: 0.9s;
  --hl-duration-blur: 0.6s;
  --hl-easing: cubic-bezier(.16, 1, .3, 1);
  --hl-stagger: 0.08s;

  --hl-grad: linear-gradient(90deg, #312783 0%, #482682 20%, #c7027f 56%, #e6007e 100%);

/* ═══ 03 · DESIGN-TOKENS ═══ */

  --hl-radius: 10px;

  --hl-lh-text:  1.4;
  --hl-lh-tight: 1.2;

  --hl-btn-h:  41px;
  --hl-btn-py: 10px;
  --hl-btn-px: 24px;

  --hl-btn-header-py:  10px;
  --hl-btn-header-px:  24px;
  --hl-btn-header-gap: 8px;
}

@media (max-width: 1023px) {
  :root { --hl-blur-in: none; }
  .bilder-wrapper-soft .premium-bild-soft, .bilder-wrapper :is(.bild-1, .bild-2), .hl-karte .hl-karte-foto img { filter: none !important; }
}

.hl-animate {
  --hl-index: 0;
  --hl-stagger-delay: calc(var(--hl-index) * var(--hl-stagger));
  opacity: 0;
  transform: translate3d(0, var(--hl-distance), 0);
  filter: var(--hl-blur-in);
  transition:
    opacity   var(--hl-duration)      ease             var(--hl-stagger-delay),
    transform var(--hl-duration)      var(--hl-easing) var(--hl-stagger-delay),
    filter    var(--hl-duration-blur) ease             var(--hl-stagger-delay);
}

.hl-animate.hl-animated {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  filter: none;
}

/* ═══ 04 · GLOBALE BUTTON-STRUKTUR (Form, Größe, Verhalten · ═══ */

.elementor-button,
.elementor-widget-taxonomy-filter .e-filter-item {
  box-sizing: border-box !important;
  min-height: var(--hl-btn-h) !important;
  padding: calc(var(--hl-btn-py) + var(--hl-btn-optik, 0.74px)) var(--hl-btn-px) calc(var(--hl-btn-py) - var(--hl-btn-optik, 0.74px)) !important;
  position: relative;
  display: inline-grid;
  place-items: center;
  border-style: solid !important;
  border-width: 1.5px !important;
  border-color: transparent !important;
  border-radius: var(--hl-radius) !important;
  text-decoration: none;
  overflow: hidden;
  isolation: isolate;
  -webkit-mask-image: -webkit-radial-gradient(white, black);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transition:
    box-shadow 0.45s var(--hl-easing),
    background-position 0.9s ease,
    background-color 0.35s ease,
    border-color 0.3s ease,
    filter 0.3s ease;
}

.elementor-button .elementor-button-text,
.elementor-widget-taxonomy-filter .e-filter-item {
  margin: 0;
  line-height: 1 !important;
  text-align: center;
  color: #fff !important;
  font-weight: inherit;
  letter-spacing: -0.012em !important;
  text-wrap: balance;
  -webkit-font-smoothing: antialiased;
}

.elementor-button .elementor-button-content-wrapper {
  display: inline-grid;
  place-items: center;
  width: 100%;
}
.elementor-button .elementor-button-text {
  display: block;
  transform: translateY(0.07em);
}

.elementor-button:focus-visible,
.elementor-widget-taxonomy-filter .e-filter-item:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.10) !important;
}

/* ═══ 05 · BUTTON-VARIANTEN · klassengesteuert ═══ */

.hl-btn-primary .elementor-button,
.elementor-widget-taxonomy-filter .e-filter-item {
  border-color: rgba(255, 255, 255, 0.12) !important;
  background-image: linear-gradient(135deg, #312783 0%, #482682 30%, #c7027f 70%, #e6007e 100%) !important;
  background-size: 150% 150% !important;
  background-position: 12% 50% !important;
  box-shadow: none !important;
}
.hl-btn-primary .elementor-button:hover,
.elementor-widget-taxonomy-filter .e-filter-item:hover {
  background-position: 96% 50% !important;
  border-color: rgba(255, 255, 255, 0.17) !important;
  filter: brightness(1.04) saturate(1.02);
  box-shadow: none !important;
}
.hl-btn-primary .elementor-button:active,
.elementor-widget-taxonomy-filter .e-filter-item:active {
  box-shadow: none !important;
}

.hl-btn-glass .elementor-button {
  border-color: rgba(255, 255, 255, 0.55) !important;
  background-image: none !important;
  background-color: rgba(250, 250, 250, 0.55) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: none !important;
}
.hl-btn-glass .elementor-button:hover {
  background-image: none !important;
  background-color: rgba(250, 250, 250, 0.68) !important;
  border-color: rgba(255, 255, 255, 0.7) !important;
  box-shadow: none !important;
  filter: none !important;
}
.hl-btn-glass .elementor-button:active {
  background-color: rgba(250, 250, 250, 0.6) !important;
}

.hl-btn-glass .elementor-button .elementor-button-text {
  --hl-c1: #343434;
  --hl-c2: #343434;
  --hl-c3: #343434;
  --hl-c4: #343434;
}

.hl-btn-glass .elementor-button:hover .elementor-button-text,
.hl-btn-glass .elementor-button:focus-visible .elementor-button-text {
  --hl-c1: #312783;
  --hl-c2: #482682;
  --hl-c3: #c7027f;
  --hl-c4: #e6007e;
}

/* ═══ 06 · TAXONOMIE-PILLEN · Angleich an .elementor-button ═══ */

.elementor-widget-taxonomy-filter .e-filter-item {
  --hl-idle-fade: 0.55s;
  display: inline-grid !important;
  border-top-width: 1.5px !important;
  border-right-width: 1.5px !important;
  border-bottom-width: 1.5px !important;
  border-left-width: 1.5px !important;
  min-height: var(--hl-btn-h) !important;
  line-height: 1 !important;
  background-clip: border-box !important;
  padding-top: calc(var(--hl-btn-py) + 0.07em) !important;
  padding-bottom: calc(var(--hl-btn-py) - 0.07em) !important;
  padding-left: var(--hl-btn-px) !important;
  padding-right: var(--hl-btn-px) !important;
}

.elementor-widget-taxonomy-filter .e-filter-item::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: #f2f2f2;
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--hl-idle-fade) var(--hl-easing);
}

.elementor-widget-taxonomy-filter .e-filter-item {
  --hl-filter-base:    0.05s;
  --hl-filter-stagger: 0.06s;
  --hl-filter-delay: calc(var(--hl-filter-base) + var(--hl-index, 0) * var(--hl-filter-stagger));
  opacity: 0;
  transform: translate3d(0, var(--hl-distance), 0);
  transition:
    opacity   0.6s ease                         var(--hl-filter-delay),
    transform var(--hl-duration) var(--hl-easing) var(--hl-filter-delay),
    box-shadow 0.45s var(--hl-easing),
    background-position 0.9s ease,
    border-color var(--hl-idle-fade) var(--hl-easing),
    color        var(--hl-idle-fade) var(--hl-easing),
    filter 0.3s ease;
}

.elementor-widget-taxonomy-filter.hl-filter-in .e-filter-item {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.elementor-widget-taxonomy-filter .e-filter-item:nth-child(1) { --hl-index: 0; }
.elementor-widget-taxonomy-filter .e-filter-item:nth-child(2) { --hl-index: 1; }
.elementor-widget-taxonomy-filter .e-filter-item:nth-child(3) { --hl-index: 2; }
.elementor-widget-taxonomy-filter .e-filter-item:nth-child(4) { --hl-index: 3; }
.elementor-widget-taxonomy-filter .e-filter-item:nth-child(5) { --hl-index: 4; }
.elementor-widget-taxonomy-filter .e-filter-item:nth-child(6) { --hl-index: 5; }
.elementor-widget-taxonomy-filter .e-filter-item:nth-child(7) { --hl-index: 6; }
.elementor-widget-taxonomy-filter .e-filter-item:nth-child(8) { --hl-index: 7; }

.e-filter:has(.e-filter-item[aria-pressed="true"])
  .e-filter-item[aria-pressed="false"]::before,
.e-filter:has(.e-filter-item.hl-pill-aktiv)
  .e-filter-item.hl-pill-inaktiv::before {
  opacity: 1;
}

.e-filter:has(.e-filter-item[aria-pressed="true"])
  .e-filter-item[aria-pressed="false"],
.e-filter:has(.e-filter-item.hl-pill-aktiv)
  .e-filter-item.hl-pill-inaktiv {
  background-clip: padding-box !important;
  border-color: #dcdad6 !important;
  color: #2b2b31 !important;
  box-shadow: none !important;
  filter: none;
}

.e-filter:has(.e-filter-item[aria-pressed="true"])
  .e-filter-item[aria-pressed="false"]:hover::before,
.e-filter:has(.e-filter-item[aria-pressed="true"])
  .e-filter-item[aria-pressed="false"]:focus-visible::before,
.e-filter:has(.e-filter-item.hl-pill-aktiv)
  .e-filter-item.hl-pill-inaktiv:hover::before,
.e-filter:has(.e-filter-item.hl-pill-aktiv)
  .e-filter-item.hl-pill-inaktiv:focus-visible::before {
  opacity: 0;
}

.e-filter:has(.e-filter-item[aria-pressed="true"])
  .e-filter-item[aria-pressed="false"]:hover,
.e-filter:has(.e-filter-item[aria-pressed="true"])
  .e-filter-item[aria-pressed="false"]:focus-visible,
.e-filter:has(.e-filter-item.hl-pill-aktiv)
  .e-filter-item.hl-pill-inaktiv:hover,
.e-filter:has(.e-filter-item.hl-pill-aktiv)
  .e-filter-item.hl-pill-inaktiv:focus-visible {
  background-clip: border-box !important;
  background-position: 96% 50% !important;
  border-color: rgba(255, 255, 255, 0.17) !important;
  color: #fff !important;
  filter: brightness(1.04) saturate(1.02);
  box-shadow: none !important;
}

/* ═══ 07 · FORMULARFELDER · Radius zentral ═══ */

.elementor-field-group .elementor-field,
.elementor-field-group .elementor-field-textual,
.elementor-field-group select,
.elementor-field-group textarea {
  border-radius: var(--hl-radius);
}

/* ═══ 08 · ZEILENHÖHEN · zentral ═══ */

.elementor-widget-text-editor,
.elementor-widget-text-editor p,
.elementor-widget-text-editor li,
.elementor-widget-theme-post-content p,
.elementor-widget-theme-post-content li {
  line-height: var(--hl-lh-text);
}

.keyfacts-row,
.keyfacts-row .elementor-widget-text-editor,
.keyfacts-row .elementor-widget-text-editor p,
.keyfacts-label {
  line-height: var(--hl-lh-tight);
}

/* ═══ 09 · HL-GRADIENT-TEXT · gemeinsame Basis für alle ═══ */

.hl-btn-glass .elementor-button .elementor-button-text,
.hl-karte .hl-karte-name,
.hl-karte .hl-karte-name * {
  background-image: linear-gradient(
    90deg,
    var(--hl-c1) 0%,
    var(--hl-c2) 34%,
    var(--hl-c3) 68%,
    var(--hl-c4) 100%
  ) !important;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-position: 0 50%;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
  transition:
    --hl-c1 0.4s ease,
    --hl-c2 0.4s ease,
    --hl-c3 0.4s ease,
    --hl-c4 0.4s ease;
}

@supports not ((-webkit-background-clip: text) or (background-clip: text)) {
  .hl-btn-glass .elementor-button .elementor-button-text,
  .hl-karte .hl-karte-name,
  .hl-karte .hl-karte-name * {
    background: none !important;
    color: #343434 !important;
    -webkit-text-fill-color: currentColor !important;
  }
  .hl-btn-glass .elementor-button:hover .elementor-button-text,
  .hl-btn-glass .elementor-button:focus-visible .elementor-button-text,
  .hl-karte:hover .hl-karte-name,
  .hl-karte:hover .hl-karte-name * {
    color: #482682 !important;
  }
}

/* ═══ 10 · HL-TITLE-GRADIENT · Brand-Verlauf für Überschriften ═══ */

.hl-title-gradient .elementor-heading-title,
.content-premium.content-premium-light .content-premium-title .elementor-heading-title {
  letter-spacing: -0.02em;
  text-shadow: none !important;
}

.hl-title-gradient .elementor-heading-title {
  margin: 0;
  line-height: 1.04;
  overflow: visible;
}

.hl-title-gradient .elementor-heading-title:not(:has(mark)),
.hl-title-gradient .elementor-heading-title mark,
.content-premium.content-premium-light .content-premium-title .elementor-heading-title mark {
  margin: 0;
  padding: 0;
  background-image: var(--hl-grad) !important;
  background-size: 130% 100% !important;
  background-position: 0% 50% !important;
  background-repeat: no-repeat !important;
  -webkit-box-decoration-break: slice !important;
  box-decoration-break: slice !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
  filter: saturate(1.1) contrast(1.05) brightness(1.02);
  text-shadow: none !important;
  transition: filter 0.6s ease, opacity 0.6s ease !important;
}

.hl-title-gradient .elementor-heading-title:has(mark) { color: #2b2b31; }

@supports not ((-webkit-background-clip: text) or (background-clip: text)) {
  .hl-title-gradient .elementor-heading-title:not(:has(mark)),
  .hl-title-gradient .elementor-heading-title mark,
  .content-premium.content-premium-light .content-premium-title .elementor-heading-title mark {
    background: none !important;
    -webkit-text-fill-color: unset !important;
    color: #c7027f !important;
    filter: none;
  }
}

@media (max-width: 1024px) {
  .hl-title-gradient .elementor-heading-title { line-height: 1.06; }
}

/* ═══ 11 · HERO PREMIUM · BASIS ═══ */

.hero-premium {
  --hero-line-height:     0.3em;
  --hero-line-offset:     0.05em;
  --hero-line-bleed-left: 0.08em;
  --hero-line-cut-right:  0.18em;
  --hero-grad-1: #312783;
  --hero-grad-2: #482682;
  --hero-grad-3: #c7027f;
  --hero-grad-4: #e6007e;
  --hero-progress: 0;
  --card-radius:  var(--hl-radius);
  position: relative;
  overflow: clip;
  isolation: isolate;
}
.hero-premium .e-con-inner {
  position: relative;
  z-index: 1;
}
@media (max-width: 1024px) { .hero-premium:not(.hero-duo) > .e-con-inner { padding-bottom: 48px !important; } }
@media (min-width: 385px) and (max-width: 479px) { .hero-premium:not(.hero-duo) .hero-title .elementor-heading-title { letter-spacing: -0.035em !important; } }
.hero-premium .hero-subheadline,
.hero-premium .hero-copy,
.hero-premium .hero-cta {
  opacity: 0;
  transition: opacity 0.6s ease;
}
.hero-premium .hero-subheadline > .elementor-widget-container,
.hero-premium .hero-copy > .elementor-widget-container,
.hero-premium .hero-cta  > .elementor-widget-container {
  transform: translateY(var(--hl-distance));
  filter: var(--hl-blur-in);
  transition:
    transform var(--hl-duration) var(--hl-easing),
    filter    0.5s ease;
}
.hero-premium.is-ready .hero-subheadline,
.hero-premium.is-ready .hero-copy,
.hero-premium.is-ready .hero-cta { opacity: 1; }
.hero-premium.is-ready .hero-subheadline > .elementor-widget-container,
.hero-premium.is-ready .hero-copy > .elementor-widget-container,
.hero-premium.is-ready .hero-cta  > .elementor-widget-container {
  transform: translateY(0);
  filter: none;
}

.hero-premium .hero-title .elementor-heading-title {
  margin: 0;
  overflow: visible;
  color: #fff;
  letter-spacing: -0.02em;
  opacity: 0;
  filter: var(--hl-blur-in);
  transform: translateY(var(--hl-distance));
  transition:
    transform var(--hl-duration) var(--hl-easing),
    filter    0.5s ease,
    opacity   0.6s ease;
}
.hero-premium.is-ready .hero-title .elementor-heading-title {
  opacity: 1; filter: none; transform: none;
}
.hero-premium:not(.hero-duo) .hero-title .elementor-heading-title { line-height: 1.02; }
.hero-duo .hero-title .elementor-heading-title { line-height: 1.04; }

.hero-premium .hero-subheadline,
.hero-premium .hero-subheadline > .elementor-widget-container { transition-delay: 0.1s; }
.hero-premium .hero-copy,
.hero-premium .hero-copy > .elementor-widget-container { transition-delay: 0.2s; }
.hero-premium .hero-cta,
.hero-premium .hero-cta > .elementor-widget-container { transition-delay: 0.3s; }

/* ═══ 12 · HERO PREMIUM · VOLLBILD ═══ */

.hero-premium:not(.hero-duo)::before,
.hero-premium:not(.hero-duo)::after {
  content: "";
  position: absolute;
  z-index: 0;
  pointer-events: none;
}
.hero-premium:not(.hero-duo)::before {
  inset: 0;
  background: linear-gradient(180deg,
    rgba(12,12,16,0.18)  0%,
    rgba(12,12,16,0.26) 30%,
    rgba(12,12,16,0.42) 72%,
    rgba(12,12,16,0.56) 100%);
  opacity: calc(0.92 + (var(--hero-progress) * 0.08));
}
.hero-premium:not(.hero-duo)::after {
  inset: -12% -8%;
  background:
    radial-gradient(circle at 68% 18%, rgba(230,0,126,0.16) 0%, rgba(230,0,126,0) 34%),
    radial-gradient(circle at 28% 24%, rgba(72,38,130,0.16) 0%, rgba(72,38,130,0) 32%);
  opacity: calc(0.42 + (var(--hero-progress) * 0.12));
  transform: translateY(calc(var(--hero-progress) * -18px)) scale(calc(1.02 - (var(--hero-progress) * 0.02)));
  transition: transform 0.18s linear, opacity 0.18s linear;
}

/* ═══ 13 · HERO PREMIUM · DUO ═══ */

.hero-duo.hero-premium {
  overflow: visible;
  background: repeating-linear-gradient(
    131.5deg,
    rgba(255,255,255,0.0) 0px,
    rgba(255,255,255,0.0) 1px,
    rgba(255,255,255,0)    1.5px,
    rgba(255,255,255,0)    25px
  );
}
.hero-duo.hero-premium::before,
.hero-duo.hero-premium::after { content: none; }

@media (max-width: 1024px) {
  .hero-premium:not(.hero-duo) .hero-title .elementor-heading-title { line-height: 1.05; }
  .hero-duo .hero-title .elementor-heading-title { line-height: 1.06; }
}
@media (max-width: 479px) {
  .hero-premium:not(.hero-duo)::after { opacity: 0.28; transform: none; }
}

/* ═══ 14 · HERO-CTA · ERWEITERUNG FÜR KONTAKT-PREMIUM ═══ */

.kontakt-premium .hero-cta {
  opacity: 0;
  transition: opacity 0.6s ease;
  transition-delay: 0.3s;
}
.kontakt-premium .hero-cta > .e-con-inner,
.kontakt-premium .hero-cta > .elementor-widget-container {
  transform: translateY(var(--hl-distance));
  filter: var(--hl-blur-in);
  transition:
    transform var(--hl-duration) var(--hl-easing) 0.3s,
    filter    0.5s ease 0.3s;
}
.kontakt-premium.is-inview .hero-cta {
  opacity: 1;
}
.kontakt-premium.is-inview .hero-cta > .e-con-inner,
.kontakt-premium.is-inview .hero-cta > .elementor-widget-container {
  transform: translateY(0);
  filter: none;
}

/* ═══ 15 · CONTENT PREMIUM ═══ */

.content-premium {
  --content-radius:             var(--hl-radius);
  --content-line-height:        0.3em;
  --content-line-offset:        0.08em;
  --content-line-bleed-left:    0.08em;
  --content-line-cut-right:     0.18em;
  --content-media-intro-x:      0px;
  --content-media-intro-y:      24px;
  --content-media-intro-scale:  0.965;
  --content-delay-title:        0s;
  --content-delay-subheadline:  0.1s;
  --content-delay-copy:         0.2s;
  --content-delay-cta:          0.3s;
  --content-delay-media:        0.05s;
  --content-delay-line:         0.65s;
  position: relative;
  overflow: visible;
  isolation: isolate;
}
.content-premium.content-premium-dark,
.content-premium:not(.content-premium-light) {
  background: repeating-linear-gradient(
    131.5deg,
    rgba(255,255,255,0.0) 0px,
    rgba(255,255,255,0.0) 1px,
    rgba(255,255,255,0)    1.5px,
    rgba(255,255,255,0)    25px
  );
}
.content-premium .content-premium-text { position: relative; z-index: 2; }
.content-premium :is(.content-premium-title, .content-premium-subheadline,
  .content-premium-copy, .content-premium-cta) {
  opacity: 0;
  transition: opacity 0.6s ease;
}
.content-premium :is(.content-premium-title, .content-premium-subheadline,
  .content-premium-copy, .content-premium-cta) > .elementor-widget-container {
  transform: translateY(var(--hl-distance));
  filter: var(--hl-blur-in);
  transition: transform var(--hl-duration) var(--hl-easing), filter 0.5s ease;
}
.content-premium .content-premium-title,
.content-premium .content-premium-title > .elementor-widget-container {
  transition-delay: var(--content-delay-title);
}
.content-premium .content-premium-subheadline,
.content-premium .content-premium-subheadline > .elementor-widget-container {
  transition-delay: var(--content-delay-subheadline);
}
.content-premium .content-premium-copy,
.content-premium .content-premium-copy > .elementor-widget-container {
  transition-delay: var(--content-delay-copy);
}
.content-premium .content-premium-cta,
.content-premium .content-premium-cta > .elementor-widget-container {
  transition-delay: var(--content-delay-cta);
}
.content-premium.is-inview :is(.content-premium-title, .content-premium-subheadline,
  .content-premium-copy, .content-premium-cta) { opacity: 1; }
.content-premium.is-inview :is(.content-premium-title, .content-premium-subheadline,
  .content-premium-copy, .content-premium-cta) > .elementor-widget-container {
  transform: translateY(0); filter: none;
}
.content-premium .content-premium-title .elementor-heading-title {
  margin: 0; line-height: 1.04; overflow: visible;
  opacity: 0;
  filter: var(--hl-blur-in);
  transform: translateY(var(--hl-distance));
  transition:
    transform var(--hl-duration) var(--hl-easing) var(--content-delay-title),
    filter    0.5s ease var(--content-delay-title),
    opacity   0.6s ease var(--content-delay-title);
}
.content-premium.is-inview .content-premium-title .elementor-heading-title {
  opacity: 1; filter: none; transform: none;
}
.content-premium.content-premium-dark .content-premium-title .elementor-heading-title,
.content-premium:not(.content-premium-light) .content-premium-title .elementor-heading-title {
  color: #fff;
}
.content-premium.content-premium-dark .content-premium-subheadline,
.content-premium.content-premium-dark .content-premium-subheadline .elementor-heading-title,
.content-premium.content-premium-dark .content-premium-copy,
.content-premium.content-premium-dark .content-premium-copy p,
.content-premium.content-premium-dark .content-premium-copy li,
.content-premium:not(.content-premium-light) .content-premium-subheadline,
.content-premium:not(.content-premium-light) .content-premium-subheadline .elementor-heading-title,
.content-premium:not(.content-premium-light) .content-premium-copy,
.content-premium:not(.content-premium-light) .content-premium-copy p,
.content-premium:not(.content-premium-light) .content-premium-copy li {
  color: rgba(255,255,255,0.88);
}
.content-premium.content-premium-light .content-premium-title .elementor-heading-title {
  color: #2b2b31;
}
.content-premium.content-premium-light .content-premium-subheadline,
.content-premium.content-premium-light .content-premium-subheadline .elementor-heading-title,
.content-premium.content-premium-light .content-premium-copy,
.content-premium.content-premium-light .content-premium-copy p,
.content-premium.content-premium-light .content-premium-copy li { color: #2b2b31; }

.content-premium .content-premium-media { position: relative; z-index: 1; }
@media (max-width: 1024px) {
  .content-premium {
    --content-line-offset: 0.07em; --content-line-bleed-left: 0.07em;
    --content-line-cut-right: 0.15em;
    --content-media-intro-x: 0px;
    --content-media-intro-y: 20px;
    --content-media-intro-scale: 0.975;
  }
  .content-premium .content-premium-title .elementor-heading-title { line-height: 1.06; }
}
@media (max-width: 479px) {
  .content-premium {
    --content-line-offset: 0.05em; --content-line-bleed-left: 0.05em;
    --content-line-cut-right: 0.11em;
  }
}

.single-referenz .elementor-widget.content-premium-copy p + p{margin-top:12px}

/* ═══ 16 · HEADLINE UNDERLINE SYSTEM ═══ */

.hero-premium {
  --hl-line-height:     var(--hero-line-height,     0.3em);
  --hl-line-offset:     var(--hero-line-offset,     0.05em);
  --hl-line-bleed-left: var(--hero-line-bleed-left, 0.08em);
  --hl-line-cut-right:  var(--hero-line-cut-right,  0.18em);
  --hl-delay: 0.5s;
}
.content-premium {
  --hl-line-height:     var(--content-line-height,     0.3em);
  --hl-line-offset:     var(--content-line-offset,     0.08em);
  --hl-line-bleed-left: var(--content-line-bleed-left, 0.08em);
  --hl-line-cut-right:  var(--content-line-cut-right,  0.18em);
  --hl-delay:           var(--content-delay-line,      0.65s);
}

.hl-title .elementor-heading-title mark,
.hero-premium .hero-title .elementor-heading-title mark,
.content-premium:not(.content-premium-light) .content-premium-title .elementor-heading-title mark {
  color: inherit !important; background: none !important;
  background-image: none !important; font: inherit !important;
  display: inline !important; padding: 0 !important; margin: 0 !important;
  -webkit-box-decoration-break: slice !important;
  box-decoration-break: slice !important; transition: none !important;
}

.hl-underline-svg {
  position: absolute; inset: 0; width: 100%; height: 100%;
  overflow: visible; pointer-events: none; z-index: 0;
}
.hl-title .elementor-heading-title { position: relative; z-index: 1; }

/* ═══ 17 · UNDERLINE-LINIE RICHTUNG ═══ */

.underline-rtl .hl-underline-svg rect {
  transform-origin: right center !important;
}

@media (min-width: 1200px) {
  .underline-rtl-desktop .hl-underline-svg rect {
    transform-origin: right center !important;
  }
}

/* ═══ 18 · BILDER-WRAPPER (premium-bild-soft) ═══ */

.bilder-wrapper-soft { position: relative; perspective: 1400px; isolation: isolate; }
.bilder-wrapper-soft::after {
  content: "";
  position: absolute;
  top: 14%; right: 6%;
  width: 420px; height: 420px;
  z-index: 0; border-radius: 50%; pointer-events: none;
  background: radial-gradient(circle,
    rgba(255,255,255,0.10)  0%,
    rgba(255,255,255,0.05) 30%,
    rgba(255,255,255,0)    72%);
  filter: blur(18px); opacity: 0; transition: opacity 0.7s ease;
}
.bilder-wrapper-soft:hover::after,
.bilder-wrapper-soft.has-active::after { opacity: 1; }
.bilder-wrapper-soft .premium-bild-soft {
  --tx: 0px; --ty: 0px; --lift: 0px; --scale: 1;
  --intro-x:     var(--content-media-intro-x);
  --intro-y:     var(--content-media-intro-y);
  --intro-scale: var(--content-media-intro-scale);
  position: relative; z-index: 1; overflow: hidden;
  border-radius: var(--content-radius);
  opacity: 0;
  transform: translate3d(calc(var(--intro-x) + var(--tx)), calc(var(--intro-y) + var(--ty) + var(--lift)), 0) scale(calc(var(--intro-scale) * var(--scale)));
  transform-style: preserve-3d; backface-visibility: hidden;
  filter: saturate(0.96) brightness(0.96);
  box-shadow: 0 6px 18px rgba(0,0,0,0.12);
  transition:
    transform   var(--hl-duration)  var(--hl-easing) var(--content-delay-media),
    opacity     0.5s ease                       var(--content-delay-media),
    filter      0.45s ease,
    box-shadow  0.65s var(--hl-easing);
}
.content-premium.is-inview .premium-bild-soft {
  --intro-x: 0px; --intro-y: 0px; --intro-scale: 1; opacity: 1;
}
.bilder-wrapper-soft .premium-bild-soft .elementor-widget-container,
.bilder-wrapper-soft .premium-bild-soft img { border-radius: var(--content-radius); }
.bilder-wrapper-soft .premium-bild-soft .elementor-widget-container { overflow: hidden; }
.bilder-wrapper-soft .premium-bild-soft img { display: block; width: 100%; height: auto; }
.bilder-wrapper-soft .premium-bild-soft::before,
.bilder-wrapper-soft .premium-bild-soft::after {
  content: ""; position: absolute; inset: 0;
  border-radius: var(--content-radius); pointer-events: none;
  opacity: 1;
}
.bilder-wrapper-soft .premium-bild-soft::before {
  background: linear-gradient(180deg,
    rgba(255,255,255,0.16)  0%,
    rgba(255,255,255,0.06) 18%,
    rgba(255,255,255,0)    42%);
}
.bilder-wrapper-soft .premium-bild-soft::after {
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.10), inset 0 1px 0 rgba(255,255,255,0.08);
}
.bilder-wrapper-soft:hover .premium-bild-soft:not(.is-hovered),
.bilder-wrapper-soft.has-active .premium-bild-soft:not(.is-hovered) {
  z-index: 0; opacity: 0.85; --lift: 0px; --scale: 1;
  filter: saturate(0.95) brightness(0.94); box-shadow: 0 4px 14px rgba(0,0,0,0.08);
}
.bilder-wrapper-soft .premium-bild-soft.is-hovered {
  z-index: 10; opacity: 1; --lift: -4px; --scale: 1.018;
  filter: saturate(1) brightness(1.01);
  box-shadow: 0 14px 32px rgba(0,0,0,0.14), 0 0 0 1px rgba(255,255,255,0.04);
  transition:
    transform   0.35s var(--hl-easing),
    opacity     0.3s  ease, filter 0.3s ease,
    box-shadow  0.4s  var(--hl-easing);
}
@media (max-width: 479px) {
  .bilder-wrapper-soft::after { opacity: 0; }
}

@media (min-width:1025px){
.single-referenz .e-con:has(> .e-con > .bilder-wrapper-soft){align-items:stretch}
.single-referenz .bilder-wrapper-soft{flex:1 1 auto;min-height:360px}
.single-referenz .bilder-wrapper-soft > .premium-bild-soft{flex:1 1 auto}
.single-referenz .bilder-wrapper-soft > .premium-bild-soft img{position:absolute;inset:0;width:100%;height:100%!important;max-width:none;object-fit:cover}
}

.hl-fact-icon .elementor-icon svg,.hl-fact-icon .elementor-icon svg *{fill:url(#hl-icon-grad)!important}

/* ═══ 19 · BILDER-WRAPPER DUO (bild-1 / bild-2) ═══ */

.bilder-wrapper {
  position: relative;
  perspective: 1400px;
  isolation: isolate;
  display: grid !important;
  grid-template-columns: repeat(10, 1fr);
  align-items: start;
  min-height: 0 !important;
}
.bilder-wrapper::after {
  content: "";
  position: absolute; top: 14%; right: 6%;
  width: 420px; height: 420px; z-index: 0;
  border-radius: 50%; pointer-events: none;
  background: radial-gradient(circle,
    rgba(255,255,255,0.10)  0%,
    rgba(255,255,255,0.05) 30%,
    rgba(255,255,255,0)    72%);
  filter: blur(42px); opacity: 0; transition: opacity 0.7s ease;
}
.bilder-wrapper:hover::after,
.bilder-wrapper.has-active::after { opacity: 1; }

.bilder-wrapper :is(.bild-1, .bild-2) {
  --intro-x: 0px; --intro-y: 0px; --intro-scale: 1;

  position: relative;
  width: auto;
  z-index: 1; overflow: hidden;
  border-radius: var(--card-radius, var(--hl-radius)); opacity: 0;
  transform: translate3d(var(--intro-x), var(--intro-y), 0) scale(var(--intro-scale));
  backface-visibility: hidden;
  filter: saturate(0.96) brightness(0.96);
  box-shadow: 0 6px 18px rgba(0,0,0,0.12);
  transition:
    transform   0.65s var(--hl-easing),
    opacity     0.5s ease,
    filter      0.45s ease,
    box-shadow  0.65s var(--hl-easing);
}

.bilder-wrapper .bild-1 {
  grid-area: 1 / 4 / 2 / 11;
  --intro-x: 0; --intro-y: 30px; --intro-scale: 0.97;
}
.bilder-wrapper .bild-2 {
  grid-area: 1 / 1 / 2 / 8;
  margin-top: 42%;
  z-index: 2;
  --intro-x: 0; --intro-y: 22px; --intro-scale: 0.97;
  transition-delay: 0.15s;
}

.hero-premium.is-ready     .bilder-wrapper :is(.bild-1, .bild-2),
.content-premium.is-inview .bilder-wrapper :is(.bild-1, .bild-2) {
  --intro-x: 0px; --intro-y: 0px; --intro-scale: 1; opacity: 1;
}
.bilder-wrapper :is(.bild-1, .bild-2) .elementor-widget-container {
  border-radius: var(--card-radius, var(--hl-radius)); overflow: hidden;
}
.bilder-wrapper :is(.bild-1, .bild-2) img {
  display: block; width: 100%; height: auto;
  object-fit: cover;
  border-radius: var(--card-radius, var(--hl-radius));
}
.bilder-wrapper :is(.bild-1, .bild-2)::before,
.bilder-wrapper :is(.bild-1, .bild-2)::after {
  content: ""; position: absolute; inset: 0;
  border-radius: var(--card-radius, var(--hl-radius)); pointer-events: none;
  opacity: 0; transition: opacity 0.45s ease;
}
.bilder-wrapper :is(.bild-1, .bild-2)::before {
  background: linear-gradient(180deg,
    rgba(255,255,255,0.16)  0%,
    rgba(255,255,255,0.06) 18%,
    rgba(255,255,255,0)    42%);
}
.bilder-wrapper :is(.bild-1, .bild-2)::after {
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.10), inset 0 1px 0 rgba(255,255,255,0.08);
}
.bilder-wrapper.has-active :is(.bild-1, .bild-2):not(.is-active) {
  z-index: 0; opacity: 0.85;
  transform: translateY(0) scale(1);
  filter: saturate(0.95) brightness(0.94);
  box-shadow: 0 4px 14px rgba(0,0,0,0.08);
}
.bilder-wrapper :is(.bild-1, .bild-2).is-active {
  z-index: 10; opacity: 1;
  filter: saturate(1) brightness(1.01);
  box-shadow: 0 14px 32px rgba(0,0,0,0.14), 0 0 0 1px rgba(255,255,255,0.04);
  transition-delay: 0s;
}
.bilder-wrapper :is(.bild-1, .bild-2).is-active::before,
.bilder-wrapper :is(.bild-1, .bild-2).is-active::after { opacity: 1; }
@media (max-width: 1024px) {
  .bilder-wrapper .bild-1 { --intro-x: 0; --intro-y: 24px; }
  .bilder-wrapper .bild-2 { --intro-x: 0; --intro-y: 18px; }
}
@media (max-width: 479px) {
  .bilder-wrapper::after { opacity: 0; }
  .bilder-wrapper .bild-2 { margin-top: 36%; }
}

/* ═══ 20 · HL-KARTE · UNIVERSELLES KARTEN-SYSTEM ═══ */

.hl-karte {
  position: relative;
  overflow: hidden;
  border-radius: var(--hl-radius);
}

.hl-karte::before,
.hl-karte::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: var(--hl-radius);
  pointer-events: none;
  z-index: 2;
  overflow: hidden;
}

.hl-karte::before {
  background: linear-gradient(180deg,
    rgba(255,255,255,0.16)  0%,
    rgba(255,255,255,0.06) 18%,
    rgba(255,255,255,0)    42%);
}

.hl-karte::after {
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.10), inset 0 1px 0 rgba(255,255,255,0.08);
}

.hl-karte .hl-karte-foto {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border-radius: var(--hl-radius);
}

.hl-karte .hl-karte-foto .elementor-widget-container {
  height: 100%;
}

.hl-karte .hl-karte-foto img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;

  object-position: center center;
  filter: saturate(0.96) brightness(0.96);
  transition:
    transform 0.6s var(--hl-easing),
    filter    0.4s ease;
}

.hl-karte:hover .hl-karte-foto img {
  transform: scale(1.03);
  filter: saturate(1.05) brightness(1.02);
}

.hl-karte .hl-karte-box {
  position: relative;
  z-index: 3;
  background: rgba(250, 250, 250, 0.7);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.55);
  box-shadow: none;
  transition: background 0.25s ease, box-shadow 0.25s ease;
}

.hl-karte .hl-karte-arrow .elementor-icon {
  transition: transform 0.3s ease;
}

.hl-karte:hover .hl-karte-arrow .elementor-icon {
  transform: translateX(3px);
}

.hl-karte .hl-karte-name,
.hl-karte .hl-karte-name * {
  --hl-c1: #343434;
  --hl-c2: #343434;
  --hl-c3: #343434;
  --hl-c4: #343434;
  display: inline-block;
}

.hl-karte:hover .hl-karte-name,
.hl-karte:hover .hl-karte-name * {
  --hl-c1: #312783;
  --hl-c2: #482682;
  --hl-c3: #c7027f;
  --hl-c4: #e6007e;
}

/* ═══ 21 · KARTEN-EINGANGSANIMATION (KARUSSELL + GRID) ═══ */

.elementor-widget-loop-carousel :is(.hl-karte, .referenz-karte, .team-karte),
.elementor-widget-loop-grid     :is(.hl-karte, .referenz-karte, .team-karte) {
  --karte-intro-y:     20px;
  --karte-intro-scale: 0.97;
  --karte-delay-base:  0.1s;
  --karte-stagger:     0.08s;
  --karte-index:       0;

  opacity: 0;
  transform: translate3d(0, var(--karte-intro-y), 0) scale(var(--karte-intro-scale));
  filter: var(--hl-blur-in);
  transition:
    transform   var(--hl-duration) var(--hl-easing),
    opacity     0.6s ease,
    filter      0.5s ease;
}

.elementor-widget-loop-grid :is(.hl-karte, .referenz-karte, .team-karte) {
  transition-delay: calc(var(--karte-stagger) * var(--karte-index));
}

.content-premium.is-inview .elementor-widget-loop-carousel :is(.hl-karte, .referenz-karte, .team-karte) {
  transition-delay: 0s;
}
.content-premium.is-inview .elementor-widget-loop-carousel :is(.hl-karte, .referenz-karte, .team-karte)[data-karte-index="0"] {
  transition-delay: var(--karte-delay-base);
}
.content-premium.is-inview .elementor-widget-loop-carousel :is(.hl-karte, .referenz-karte, .team-karte)[data-karte-index="1"] {
  transition-delay: calc(var(--karte-delay-base) + var(--karte-stagger));
}
.content-premium.is-inview .elementor-widget-loop-carousel :is(.hl-karte, .referenz-karte, .team-karte)[data-karte-index="2"] {
  transition-delay: calc(var(--karte-delay-base) + (var(--karte-stagger) * 2));
}

.content-premium.is-inview .elementor-widget-loop-carousel :is(.hl-karte, .referenz-karte, .team-karte),
.elementor-widget-loop-grid :is(.hl-karte, .referenz-karte, .team-karte).is-karte-inview {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  filter: none;
}

/* ═══ 22 · HL-GALERIE · EVENTGALERIE BILD-KARUSSELL ═══ */

.hl-galerie .swiper-slide {
  position: relative;
  border-radius: var(--hl-radius);
  overflow: visible;
}

.hl-galerie .swiper-slide figure,
.hl-galerie .swiper-slide .elementor-carousel-image {
  position: relative;
  margin: 0;
  border-radius: var(--hl-radius);
  overflow: hidden;
  box-shadow: 0 6px 18px rgba(0,0,0,0.12);
  transition: box-shadow 0.4s var(--hl-easing);
}

.hl-galerie .swiper-slide img {
  display: block;
  width: 100%;
  border-radius: var(--hl-radius);
  filter: saturate(0.96) brightness(0.96);
  transition:
    transform 0.6s var(--hl-easing),
    filter    0.4s ease;
}

.hl-galerie .swiper-slide:hover figure,
.hl-galerie .swiper-slide:hover .elementor-carousel-image {
  box-shadow: 0 14px 32px rgba(0,0,0,0.14), 0 0 0 1px rgba(255,255,255,0.04);
}

.hl-galerie .swiper-slide:hover img {
  transform: scale(1.03);
  filter: saturate(1.05) brightness(1.02);
}

.hl-galerie .swiper-slide::before,
.hl-galerie .swiper-slide::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: var(--hl-radius);
  pointer-events: none;
  z-index: 2;
}

.hl-galerie .swiper-slide::before {
  background: linear-gradient(180deg,
    rgba(255,255,255,0.16)  0%,
    rgba(255,255,255,0.06) 18%,
    rgba(255,255,255,0)    42%);
}

.hl-galerie .swiper-slide::after {
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.10), inset 0 1px 0 rgba(255,255,255,0.08);
}

.content-premium .hl-galerie .swiper-slide {
  opacity: 0;
  transform: translate3d(0, var(--hl-distance), 0) scale(0.97);
  filter: var(--hl-blur-in);
  transition:
    transform var(--hl-duration) var(--hl-easing),
    opacity   0.6s ease,
    filter    0.5s ease;
}
.content-premium.is-inview .hl-galerie .swiper-slide {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  filter: none;
}

.hl-galerie .swiper {
  padding-bottom: 64px;
}

.hl-galerie .swiper-slide figure {
  aspect-ratio: 3 / 2;
  background: rgba(255,255,255,0.04);
}

.hl-galerie .swiper-slide img {
  height: 100%;
  object-fit: cover;
}

.hl-galerie .swiper-slide img.swiper-lazy {
  opacity: 0;
  transition: opacity 0.6s ease, transform 0.6s var(--hl-easing), filter 0.4s ease;
}

.hl-galerie .swiper-slide img.swiper-lazy-loaded {
  opacity: 1;
}

.hl-galerie .swiper-lazy-preloader {
  display: none;
}

.elementor-widget.hl-galerie .elementor-swiper-button.elementor-swiper-button {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  margin: 0;
  top: auto !important;
  bottom: 0 !important;
  transform: none !important;
}

.elementor-widget.hl-galerie .elementor-swiper-button.elementor-swiper-button-prev {
  left: 0 !important;
  right: auto !important;
}

.elementor-widget.hl-galerie .elementor-swiper-button.elementor-swiper-button-next {
  left: 48px !important;
  right: auto !important;
}

.hl-galerie .elementor-swiper-button svg {
  display: none;
}

.hl-galerie .elementor-swiper-button::before {
  content: "";
  position: absolute;
  inset: 0;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 26px auto;
  mask-size: 26px auto;
  transition: opacity 0.4s;
}

.hl-galerie .elementor-swiper-button::before {
  background: rgba(238,238,238,0.9);
}

.hl-galerie .elementor-swiper-button:hover::before {
  background: #ffffff;
}

.hl-galerie .elementor-swiper-button-prev::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpolyline points='15 5 8 12 15 19' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpolyline points='15 5 8 12 15 19' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.hl-galerie .elementor-swiper-button-next::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpolyline points='9 5 16 12 9 19' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpolyline points='9 5 16 12 9 19' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

@media (prefers-reduced-motion: reduce) {
  .hl-galerie .swiper-slide img.swiper-lazy {
    transition: none;
  }
}


.elementor-widget.hl-auslauf:not(.hl-galerie) {
  --hl-pfeil-h: 25px;
}

.elementor-widget.hl-auslauf.hl-passt-dazu {
  --hl-pfeil-h: 40px;
  padding-bottom: 0;
}

.elementor-widget.hl-auslauf:not(.hl-galerie) > .elementor-widget-container {
  position: relative;
  padding-bottom: calc(var(--hl-pfeil-h) + 24px) !important;
}

.elementor-widget.hl-auslauf:not(.hl-galerie) .elementor-swiper-button.elementor-swiper-button {
  top: auto !important;
  bottom: 0 !important;
  transform: none !important;
  translate: none !important;
  margin: 0 !important;
}

.elementor-widget.hl-auslauf:not(.hl-galerie) .elementor-swiper-button.elementor-swiper-button-prev {
  left: 0 !important;
  right: auto !important;
}

.elementor-widget.hl-auslauf:not(.hl-galerie) .elementor-swiper-button.elementor-swiper-button-next {
  left: 48px !important;
  right: auto !important;
}

.elementor-widget.hl-auslauf.hl-auslauf-rtl .elementor-swiper-button.elementor-swiper-button-prev {
  left: auto !important;
  right: 48px !important;
}

.elementor-widget.hl-auslauf.hl-auslauf-rtl .elementor-swiper-button.elementor-swiper-button-next {
  left: auto !important;
  right: 0 !important;
}

.elementor-widget.content-premium-copy a:not(.elementor-button){font-weight:800;color:#fff;text-decoration:underline;text-decoration-color:currentColor;text-decoration-thickness:1px;text-underline-offset:4px}
.elementor-widget.content-premium-copy a:not(.elementor-button):hover{background-image:var(--hl-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-decoration-color:#e6007e}
.content-premium-light .elementor-widget.content-premium-copy a:not(.elementor-button){color:#312783}

/* ═══ 23 · TEXT BALANCING ═══ */

h1, h2, h3, h4, h5, h6,
.elementor-heading-title,
.elementor-widget-text-editor p {
  text-wrap: pretty;
}

h1.elementor-heading-title,
h2.elementor-heading-title,
.hero-premium .hero-title .elementor-heading-title,
.content-premium .content-premium-title .elementor-heading-title {
  text-wrap: balance;
}

.kontakt-premium .kontakt-premium-title .elementor-heading-title.elementor-heading-title {
  text-wrap: balance;
}

.kontakt-premium .kontakt-premium-title .elementor-heading-title strong {
  display: inline;
}

.kontakt-premium .kontakt-premium-subtitle .elementor-heading-title:has(strong) {
  font-weight: 500 !important;
}
.kontakt-premium .kontakt-premium-subtitle .elementor-heading-title strong {
  font-weight: 900;
}

.kontakt-premium .kontakt-premium-subtitle .elementor-heading-title strong { display: block; }

.kontakt-premium .content-premium-subheadline .elementor-heading-title:has(strong) { font-weight: 500 !important; text-wrap: pretty; }
.kontakt-premium .content-premium-subheadline .elementor-heading-title strong { font-weight: 900; }
.kontakt-premium :is(.kontakt-premium-title, .kontakt-premium-subtitle) .elementor-heading-title,
.kontakt-premium :is(.kontakt-premium-title, .kontakt-premium-subtitle) .elementor-heading-title strong { text-wrap: pretty; hyphens: none; }

.kontakt-premium .elementor-field-type-acceptance .elementor-field-subgroup { display: block; }
.kontakt-premium .elementor-field-type-acceptance .elementor-field-option { display: flex !important; align-items: center; gap: 12px; margin: 0 !important; }
body .kontakt-premium .elementor-field-group.elementor-field-type-acceptance input.elementor-field.elementor-acceptance-field[type="checkbox"] {
  -webkit-appearance: none !important; appearance: none !important;
  flex: 0 0 22px; width: 22px !important; height: 22px !important; min-height: 0 !important;
  margin: 0 !important; padding: 0 !important;
  border: 1.5px solid rgba(255,255,255,.7) !important; border-radius: 6px !important;
  background: rgba(255,255,255,.12) !important;
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
  position: relative; top: -1.5px;
  cursor: pointer; box-shadow: none !important;
  transition: background-color .3s, border-color .3s, box-shadow .3s, transform .2s;
}
body .kontakt-premium .elementor-field-group.elementor-field-type-acceptance input.elementor-field.elementor-acceptance-field[type="checkbox"]:hover { border-color: #fff !important; background: rgba(255,255,255,.22) !important; }
body .kontakt-premium .elementor-field-group.elementor-field-type-acceptance input.elementor-field.elementor-acceptance-field[type="checkbox"]:active { transform: scale(.92); }
body .kontakt-premium .elementor-field-group.elementor-field-type-acceptance input.elementor-field.elementor-acceptance-field[type="checkbox"]:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
body .kontakt-premium .elementor-field-group.elementor-field-type-acceptance input.elementor-field.elementor-acceptance-field[type="checkbox"]:checked { background: #fff !important; border-color: #fff !important; box-shadow: 0 4px 14px rgba(20,16,60,.25) !important; }
body .kontakt-premium .elementor-field-group.elementor-field-type-acceptance input.elementor-field.elementor-acceptance-field[type="checkbox"]::after {
  content: ""; position: absolute; left: 7px; top: 3px; width: 6px; height: 11px;
  border: solid #c7027f; border-width: 0 2.5px 2.5px 0;
  transform: rotate(45deg) scale(0); transition: transform .3s cubic-bezier(.34,1.56,.64,1);
}
body .kontakt-premium .elementor-field-group.elementor-field-type-acceptance input.elementor-field.elementor-acceptance-field[type="checkbox"]:checked::after { transform: rotate(45deg) scale(1); }
.kontakt-premium .elementor-field-type-acceptance label { text-wrap: pretty; hyphens: none; color: rgba(255,255,255,.88) !important; font-size: 15px !important; font-weight: 500 !important; line-height: 1.45 !important; cursor: pointer; padding: 0 !important; }
.kontakt-premium .elementor-field-type-acceptance label a { color: #fff !important; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(255,255,255,.5); transition: text-decoration-color .3s; }
.kontakt-premium .elementor-field-type-acceptance label a:hover { text-decoration-color: #fff; }

h1, h2, h3, h4, h5, h6, p {
  overflow-wrap: break-word;
}

/* ═══ 24 · HEADER-PILLE (.hl-glass) ═══ */

.hl-glass {
  background: rgba(250, 250, 250, 0.55);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.55);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
  border-radius: var(--hl-radius);
  min-height: 57px;
  transition:
    background 0.25s ease,
    box-shadow 0.25s ease;
  animation: hl-pill-intro 0.45s ease-out both;
}

@keyframes hl-pill-intro {
  from { opacity: 0; transform: scale(0.992); }
  to   { opacity: 1; transform: scale(1); }
}

.hl-glass > .hl-header-logo { flex: 0 0 175px !important; width: 175px !important; min-width: 175px !important; max-width: 175px !important; }
.hl-glass > .hl-header-logo img { width: 175px !important; max-width: 175px !important; height: auto !important; }
@media (max-width: 1200px) {
  .hl-glass:has(> .hl-mobilmenu) { flex-wrap: wrap; }
  .hl-glass:has(> .hl-mobilmenu) > .hl-burger { margin-left: auto !important; flex: 0 0 28px !important; width: 28px !important; max-width: 28px !important; align-self: stretch; display: flex; align-items: center; justify-content: flex-end; padding-right: 0; box-sizing: content-box; }
  .hl-glass:has(> .hl-mobilmenu) > .hl-burger > .elementor-widget-container { display: flex; align-items: center; justify-content: flex-end; width: 100%; height: 100%; }
}
.hl-mobilmenu-inner > .hl-mm-kontakt { display: none !important; }
@media (max-width: 419px) {
  .hl-mobilmenu .hl-mm-link .elementor-heading-title > a { font-size: 16px !important; padding: 12px; }
}
@media (max-width: 399px) {
  .hl-glass:has(> .hl-mobilmenu) > .elementor-widget-button { display: none !important; }
  .hl-glass:has(> .hl-mobilmenu) > .hl-burger { padding-right: 16px; }
  .hl-mobilmenu-inner > .hl-mm-kontakt { display: block !important; }
  .hl-mobilmenu .hl-mobilmenu-inner > .hl-mm-shop { margin-bottom: 0 !important; }
  .hl-glass:has(> .hl-mobilmenu) > .hl-burger { min-height: 55px; }
}
.hl-glass > .e-con.hl-mobilmenu.hl-mobilmenu { order: 100001; flex: 0 0 100% !important; width: 100% !important; max-width: 100% !important; --display: grid; grid-template-rows: 0fr; min-height: 0 !important; padding: 0 15px 0 0 !important; margin: 0 !important; transition: grid-template-rows 0.5s cubic-bezier(.32, .72, 0, 1); }
body.hl-menu-open .hl-glass > .e-con.hl-mobilmenu.hl-mobilmenu { grid-template-rows: 1fr; transition-duration: 0.55s; }
.hl-mobilmenu > .e-con.hl-mobilmenu-inner { min-height: 0 !important; overflow: hidden; padding: 0 !important; --display: grid !important; display: grid !important; grid-template-columns: 1fr 1fr; gap: 8px !important; counter-reset: hlmm; }
.hl-mobilmenu-inner > * { opacity: 0; transform: translate3d(0, 10px, 0) scale(0.97); transform-origin: 50% 0; will-change: transform, opacity; transition: opacity 0.18s ease, transform 0.3s cubic-bezier(.32, .72, 0, 1); }
body.hl-menu-open .hl-mobilmenu-inner > * { opacity: 1; transform: none; transition: opacity 0.35s ease, transform 0.6s cubic-bezier(.32, .72, 0, 1); }
body.hl-menu-open .hl-mobilmenu-inner > :nth-child(1) { transition-delay: 0.08s; }
body.hl-menu-open .hl-mobilmenu-inner > :nth-child(2) { transition-delay: 0.12s; }
body.hl-menu-open .hl-mobilmenu-inner > :nth-child(3) { transition-delay: 0.16s; }
body.hl-menu-open .hl-mobilmenu-inner > :nth-child(4) { transition-delay: 0.2s; }
body.hl-menu-open .hl-mobilmenu-inner > :nth-child(5) { transition-delay: 0.24s; }
body.hl-menu-open .hl-mobilmenu-inner > :nth-child(6) { transition-delay: 0.28s; }
.hl-mobilmenu-inner > .hl-mm-link { position: relative; overflow: hidden; width: auto !important; margin: 0 !important; border-radius: var(--hl-radius); background: rgba(52, 52, 52, 0.06); counter-increment: hlmm; }
.hl-mobilmenu-inner > .hl-mm-link:nth-child(-n+2) { margin-top: 14px !important; }
.hl-mobilmenu-inner > .hl-mm-shop, .hl-mobilmenu-inner > .hl-mm-kontakt { grid-column: 1 / -1; margin-bottom: 15px !important; }
.hl-mobilmenu .hl-mm-link .elementor-heading-title > a { position: relative; z-index: 1; display: flex; align-items: flex-end; min-height: 76px; padding: 14px; font-size: 17px !important; font-weight: 800; letter-spacing: -0.01em; line-height: 1.2 !important; color: #343434 !important; }
.hl-mobilmenu-inner > .hl-mm-link::after { content: ""; position: absolute; left: auto; right: -0.08em; top: -0.32em; font-size: 58px; white-space: nowrap; font-weight: 800; line-height: 1; letter-spacing: -0.04em; color: transparent; -webkit-text-stroke: 0.5px rgba(72, 38, 130, 0.3); pointer-events: none; }
.hl-mobilmenu-inner > .hl-mm-link:nth-child(1)::after { content: "Eventmanagement"; }
.hl-mobilmenu-inner > .hl-mm-link:nth-child(2)::after { content: "Eventverleih"; }
.hl-mobilmenu-inner > .hl-mm-link:nth-child(3)::after { content: "eventINSIGHTS"; }
.hl-mobilmenu-inner > .hl-mm-link:nth-child(4)::after { content: "teamINSIGHTS"; }
.hl-mobilmenu-inner > .hl-mm-link.is-current { background: linear-gradient(135deg, #312783 0%, #482682 30%, #c7027f 70%, #e6007e 100%); }
.hl-mobilmenu .hl-mm-link.is-current .elementor-heading-title > a { color: #ffffff !important; }
.hl-mobilmenu-inner > .hl-mm-link.is-current::after { -webkit-text-stroke-color: rgba(255, 255, 255, 0.4); }
.hl-mobilmenu-inner > .hl-mm-shop:not(.is-current) { background: #343434; }
.hl-mobilmenu .hl-mm-shop .elementor-heading-title > a, .hl-mobilmenu .hl-mm-kontakt .elementor-heading-title > a { color: #ffffff !important; }
.hl-mobilmenu-inner > .hl-mm-kontakt { background: linear-gradient(135deg, #312783 0%, #482682 30%, #c7027f 70%, #e6007e 100%); }
.hl-mobilmenu .hl-mm-kontakt .elementor-heading-title > a { min-height: 52px; align-items: center; justify-content: center; }
.hl-mobilmenu-inner > .hl-mm-kontakt::after { display: none; }
.hl-mobilmenu-inner > .hl-mm-shop::after { content: ""; top: -10px; right: -8px; width: 64px; height: 64px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%23ffffff' stroke-opacity='0.4' stroke-width='3.5' stroke-linejoin='round' stroke-linecap='round'%3E%3Cpath d='M14 24h36v27a3 3 0 0 1-3 3H17a3 3 0 0 1-3-3z'/%3E%3Cpath d='M24 24v-5a8 8 0 0 1 16 0v5'/%3E%3C/svg%3E") center / contain no-repeat; -webkit-text-stroke: 0; }
.hl-mobilmenu-inner > .hl-mm-link.hl-mm-shop::after { content: "Shop"; top: -0.34em; right: -0.08em; left: auto; width: auto; height: auto; background: none; -webkit-text-stroke: 0.5px rgba(255, 255, 255, 0.35); }
.hl-mobilmenu-inner > .hl-mm-shop { order: 2; }
.hl-mobilmenu-inner > .hl-mm-link.hl-mm-kontakt { order: 1; }
.hl-mobilmenu-inner > .hl-mm-link.hl-mm-kontakt:not(.is-current) { background: rgba(52, 52, 52, 0.06); }
.hl-mobilmenu .hl-mm-link.hl-mm-kontakt .elementor-heading-title > a { min-height: 76px; align-items: flex-end; justify-content: flex-start; }
.hl-mobilmenu .hl-mm-link.hl-mm-kontakt:not(.is-current) .elementor-heading-title > a { color: #343434 !important; }
.hl-mobilmenu-inner > .hl-mm-link.hl-mm-kontakt::after { display: block; content: "Kontakt"; }
@media (max-width: 399px) {
  .hl-mobilmenu .hl-mobilmenu-inner > .hl-mm-link.hl-mm-kontakt { margin-bottom: 0 !important; }
  .hl-mobilmenu .hl-mobilmenu-inner > .hl-mm-link.hl-mm-shop { margin-bottom: 15px !important; }
}
@media (min-width: 393px) and (max-width: 399px) {
  body .hl-glass:has(> .hl-mobilmenu) > .elementor-widget-button { display: block !important; }
  body .hl-mobilmenu .hl-mobilmenu-inner > .hl-mm-kontakt { display: none !important; }
  body .hl-glass:has(> .hl-mobilmenu) > .hl-burger { padding-right: 0; min-height: 0; }
}
.hl-mobilmenu-inner > .hl-mm-link { -webkit-tap-highlight-color: transparent; }
body.hl-menu-open .hl-mobilmenu-inner > .hl-mm-link { transition: opacity 0.35s ease, transform 0.6s cubic-bezier(0.32, 0.72, 0, 1), scale 0.45s cubic-bezier(0.32, 0.72, 0, 1); }
body.hl-menu-open .hl-mobilmenu-inner > .hl-mm-link:nth-child(1) { transition-delay: 0.08s, 0.08s, 0s; }
body.hl-menu-open .hl-mobilmenu-inner > .hl-mm-link:nth-child(2) { transition-delay: 0.12s, 0.12s, 0s; }
body.hl-menu-open .hl-mobilmenu-inner > .hl-mm-link:nth-child(3) { transition-delay: 0.16s, 0.16s, 0s; }
body.hl-menu-open .hl-mobilmenu-inner > .hl-mm-link:nth-child(4) { transition-delay: 0.2s, 0.2s, 0s; }
body.hl-menu-open .hl-mobilmenu-inner > .hl-mm-link:nth-child(5) { transition-delay: 0.24s, 0.24s, 0s; }
body.hl-menu-open .hl-mobilmenu-inner > .hl-mm-link:nth-child(6) { transition-delay: 0.28s, 0.28s, 0s; }
.hl-mobilmenu-inner > .hl-mm-link::before { content: ""; position: absolute; inset: 0; border-radius: inherit; background: linear-gradient(135deg, #312783 0%, #482682 30%, #c7027f 70%, #e6007e 100%); opacity: 0; transition: opacity 0.35s ease; pointer-events: none; }
.hl-mobilmenu-inner > .hl-mm-link.is-current { background: rgba(52, 52, 52, 0.06); }
.hl-mobilmenu-inner > .hl-mm-link.is-current::before { opacity: 1; }
.hl-mobilmenu .hl-mm-link .elementor-heading-title > a { -webkit-tap-highlight-color: transparent; }
@media (prefers-reduced-motion: reduce) {
  .hl-mobilmenu-inner > .hl-mm-link::before { transition: none; }
}
body::after { content: ""; position: fixed; inset: 0; z-index: 998; background: rgba(30, 30, 30, 0.55); -webkit-backdrop-filter: blur(20px) saturate(0.85); backdrop-filter: blur(20px) saturate(0.85); -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 50%, transparent 90%); mask-image: linear-gradient(to bottom, #000 0%, #000 50%, transparent 90%); opacity: 0; visibility: hidden; pointer-events: none; will-change: opacity; transition: opacity 0.35s ease, visibility 0s linear 0.35s; }
body.hl-menu-open::after { opacity: 1; visibility: visible; pointer-events: auto; transition: opacity 0.45s ease, visibility 0s; }
body.hl-menu-open { overflow: hidden; }
body.hl-menu-open .hl-burger img { content: url("/wp-content/uploads/2026/01/hl-x-sign.svg"); filter: brightness(0.2) !important; }
.hl-burger { cursor: pointer; -webkit-tap-highlight-color: transparent; }

[data-elementor-type="header"] > .e-con { z-index: 1000 !important; }
@media (max-width: 1199px) { [data-elementor-type="header"] > .e-con { margin-top: 48px !important; } }
@media (max-width: 479px) { [data-elementor-type="header"] > .e-con { margin-top: 24px !important; } }

/* ═══ 25 · HEADER-PILLE TRANSPARENT (.hl-glass-2) ═══ */

.hl-glass-2 {
  background: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border: 1px solid transparent;
  box-shadow: none;
  border-radius: var(--hl-radius);
  min-height: 57px;
  transition:
    background 0.25s ease,
    box-shadow 0.25s ease;
  animation: none;
}

/* ═══ 26 · HEADER-BUTTON · gilt für .hl-glass UND .hl-glass-2 ═══ */

.hl-glass > .elementor-widget-button,
.hl-glass-2 > .elementor-widget-button {
  --btn-text-y: 0.07em;
  align-self: stretch !important;
  margin-top:    var(--hl-btn-header-gap) !important;
  margin-bottom: var(--hl-btn-header-gap) !important;
  margin-right:  var(--hl-btn-header-gap) !important;
}

.hl-glass > .elementor-widget-button > .elementor-widget-container,
.hl-glass-2 > .elementor-widget-button > .elementor-widget-container {
  height: 100% !important;
  display: flex !important;
  align-items: stretch !important;
}

.hl-glass > .elementor-widget-button .elementor-button,
.hl-glass-2 > .elementor-widget-button .elementor-button {
  min-height: unset !important;
  height: 100% !important;
  padding: calc(var(--hl-btn-header-py) + var(--hl-btn-optik, 0.74px)) var(--hl-btn-header-px) calc(var(--hl-btn-header-py) - var(--hl-btn-optik, 0.74px)) !important;
  border-radius: var(--hl-radius) !important;
}

.hl-glass > .elementor-widget-button .elementor-button .elementor-button-text,
.hl-glass-2 > .elementor-widget-button .elementor-button .elementor-button-text {
  transform: translateY(var(--btn-text-y));
  line-height: 1 !important;
}

/* ═══ 27 · KONTAKT PREMIUM ═══ */

.kontakt-premium {
  background: linear-gradient(45deg, #312783, #482682, #c7027f, #e6007e);
  position: relative;
  overflow: hidden;
  isolation: isolate;
  --kontakt-delay-title:    0.08s;
  --kontakt-delay-form:     0.16s;
  --kontakt-delay-subtitle: 0.22s;
}

.kontakt-premium > .e-con-inner,
.kontakt-premium .e-con-inner {
  position: relative;
  z-index: 1;
}

.kontakt-premium .kontakt-premium-title,
.kontakt-premium .kontakt-premium-subtitle,
.kontakt-premium .kontakt-premium-form-wrap {
  opacity: 0;
  transition: opacity 0.6s ease;
}

.kontakt-premium .kontakt-premium-title > .elementor-widget-container,
.kontakt-premium .kontakt-premium-subtitle > .elementor-widget-container {
  transform: translateY(var(--hl-distance));
  filter: var(--hl-blur-in);
  transition:
    transform var(--hl-duration) var(--hl-easing),
    filter    0.5s ease;
}

.kontakt-premium .kontakt-premium-title,
.kontakt-premium .kontakt-premium-title > .elementor-widget-container {
  transition-delay: var(--kontakt-delay-title);
}
.kontakt-premium .kontakt-premium-subtitle,
.kontakt-premium .kontakt-premium-subtitle > .elementor-widget-container {
  transition-delay: var(--kontakt-delay-subtitle);
}
.kontakt-premium .kontakt-premium-form-wrap {
  transition-delay: var(--kontakt-delay-form);
}

.kontakt-premium .kontakt-premium-form-wrap > .e-con-inner,
.kontakt-premium .kontakt-premium-form-wrap > .elementor-widget-container,
.kontakt-premium .kontakt-premium-form {
  transform: translate3d(0, var(--hl-distance), 0) scale(0.985);
  filter: var(--hl-blur-in);
  transition:
    transform var(--hl-duration) var(--hl-easing),
    filter    0.5s ease;
}

.kontakt-premium .kontakt-premium-form .elementor-field-group {
  opacity: 0;
  transform: translateY(12px);
  filter: var(--hl-blur-in);
  transition:
    opacity   0.55s ease,
    transform 0.7s var(--hl-easing),
    filter    0.55s ease;

  transition-delay: calc(0.26s + (var(--hl-field-index, 0) * 0.08s));
}

.kontakt-premium .kontakt-premium-form .elementor-field-group:nth-child(1)  { --hl-field-index: 0; }
.kontakt-premium .kontakt-premium-form .elementor-field-group:nth-child(2)  { --hl-field-index: 1; }
.kontakt-premium .kontakt-premium-form .elementor-field-group:nth-child(3)  { --hl-field-index: 2; }
.kontakt-premium .kontakt-premium-form .elementor-field-group:nth-child(4)  { --hl-field-index: 3; }
.kontakt-premium .kontakt-premium-form .elementor-field-group:nth-child(5)  { --hl-field-index: 4; }
.kontakt-premium .kontakt-premium-form .elementor-field-group:nth-child(6)  { --hl-field-index: 5; }
.kontakt-premium .kontakt-premium-form .elementor-field-group:nth-child(7)  { --hl-field-index: 6; }
.kontakt-premium .kontakt-premium-form .elementor-field-group:nth-child(8)  { --hl-field-index: 7; }
.kontakt-premium .kontakt-premium-form .elementor-field-group:nth-child(9)  { --hl-field-index: 8; }
.kontakt-premium .kontakt-premium-form .elementor-field-group:nth-child(10) { --hl-field-index: 9; }
.kontakt-premium .kontakt-premium-form .elementor-field-group:nth-child(11) { --hl-field-index: 10; }
.kontakt-premium .kontakt-premium-form .elementor-field-group:nth-child(12) { --hl-field-index: 11; }
.kontakt-premium .kontakt-premium-form .elementor-field-group:nth-child(13) { --hl-field-index: 12; }
.kontakt-premium .kontakt-premium-form .elementor-field-group:nth-child(14) { --hl-field-index: 13; }
.kontakt-premium .kontakt-premium-form .elementor-field-group:nth-child(15) { --hl-field-index: 14; }
.kontakt-premium .kontakt-premium-form .elementor-field-group:nth-child(16) { --hl-field-index: 15; }
.kontakt-premium .kontakt-premium-form .elementor-field-group:nth-child(17) { --hl-field-index: 16; }

.kontakt-premium.is-inview .kontakt-premium-title,
.kontakt-premium.is-inview .kontakt-premium-subtitle,
.kontakt-premium.is-inview .kontakt-premium-form-wrap {
  opacity: 1;
}

.kontakt-premium.is-inview .kontakt-premium-title > .elementor-widget-container,
.kontakt-premium.is-inview .kontakt-premium-subtitle > .elementor-widget-container,
.kontakt-premium.is-inview .kontakt-premium-form-wrap > .e-con-inner,
.kontakt-premium.is-inview .kontakt-premium-form-wrap > .elementor-widget-container,
.kontakt-premium.is-inview .kontakt-premium-form {
  transform: translate3d(0, 0, 0) scale(1);
  filter: none;
}

.kontakt-premium.is-inview .kontakt-premium-form .elementor-field-group {
  opacity: 1;
  transform: translateY(0);
  filter: none;
}

/* ═══ 28 · KONTAKT-OUTLINE · Hintergrund-Schriftzug (::after ═══ */

.kontakt-premium {
  --kontakt-outline-text: "KONTAKT";
  --kontakt-outline-x: 0;
  --kontakt-outline-cut-y: 0.42em;
  --kontakt-outline-size: clamp(160px, 26vw, 380px);
}

.kontakt-premium::after {
  content: var(--kontakt-outline-text);
  position: absolute;
  z-index: 0;
  right: 0;
  bottom: calc(var(--kontakt-outline-cut-y) * -1);
  transform: translateX(calc(24% - var(--kontakt-outline-x) * 70%));
  font-family: "ROTA Family", "ROTA", Rota, sans-serif;
  font-size: var(--kontakt-outline-size);
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: -0.02em;
  white-space: nowrap;
  color: transparent;
  -webkit-text-stroke: 1.5px rgba(255, 255, 255, 0.15);
  pointer-events: none;
  opacity: 0;
  transition: opacity 1.1s ease;
}

.kontakt-premium.is-inview::after {
  opacity: 1;
}


.elementor-17456 .kontakt-premium { --kontakt-outline-text: "404"; --kontakt-outline-size: clamp(240px, 32vw, 500px); --kontakt-outline-cut-y: 0.42em; }
.elementor-17456 .kontakt-premium::after { -webkit-text-stroke-color: rgba(255, 255, 255, 0.2); transform-origin: 100% 100%; transform: translate(26%, 10%) scale(1.06); transition: opacity 1.1s ease, transform 1.6s var(--hl-easing); }
.elementor-17456 .kontakt-premium.is-inview::after { transform: translate(14%, 0) scale(1); }
.elementor-17456 .kontakt-premium { background-color: #fafafa; }
.elementor-17456 .kontakt-premium .hl-title .elementor-heading-title, .elementor-17456 .kontakt-premium .kontakt-premium-subtitle .elementor-heading-title { color: #343434 !important; -webkit-text-fill-color: #343434 !important; text-shadow: none !important; }
.elementor-17456 .kontakt-premium .hl-title .elementor-heading-title mark { background-image: var(--hl-grad) !important; background-size: 130% 100% !important; background-position: 0% 50% !important; background-repeat: no-repeat !important; -webkit-background-clip: text !important; background-clip: text !important; color: transparent !important; -webkit-text-fill-color: transparent !important; text-shadow: none !important; filter: saturate(1.1) contrast(1.05) brightness(1.02); }
.elementor-17456 .kontakt-premium .hl-title .hl-underline-svg { display: none !important; }
.elementor-17456 .kontakt-premium::after { -webkit-text-stroke-color: rgba(72, 38, 130, 0.22); }

.kontakt-premium.hl-no-outline::after {
  content: none;
}

@media (max-width: 880px) {
  .kontakt-premium {
    --kontakt-outline-cut-y: 0.38em;
    --kontakt-outline-size: clamp(130px, 28vw, 280px);
  }
  .kontakt-premium::after {
    -webkit-text-stroke: 1px rgba(255, 255, 255, 0.22);
  }
}
@media (max-width: 479px) {
  .kontakt-premium {
    --kontakt-outline-cut-y: 0.34em;
    --kontakt-outline-size: clamp(96px, 32vw, 200px);
  }
}
@media (max-width: 879px) {
  .elementor-17456 .kontakt-premium { --kontakt-outline-size: clamp(160px, 46vw, 320px); --kontakt-outline-cut-y: 0.4em; }
}

.kontakt-premium.hl-no-outline::after {
  content: none;
}

/* ═══ 29 · AKKORDEON · STANDALONE-VARIANTEN ═══ */

/* ═══ 30 · GEMEINSAME GEOMETRIE ═══ */

.hl-akkordeon-grau .e-n-accordion,
.hl-akkordeon-glass .e-n-accordion {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.hl-akkordeon-grau .e-n-accordion-item,
.hl-akkordeon-glass .e-n-accordion-item {
  position: relative;
  isolation: isolate;
  border-radius: var(--hl-radius);
  overflow: hidden;
  box-shadow: none;
  animation: none !important;
}

.hl-akkordeon-grau .e-n-accordion-item > summary,
.hl-akkordeon-glass .e-n-accordion-item > summary {
  padding: 32px;
  background: transparent !important;
  box-shadow: none;
  border: none;
  outline: none;
  cursor: pointer;
  animation: none !important;
  -webkit-tap-highlight-color: transparent;
}

.hl-akkordeon-grau .e-n-accordion-item > .e-con,
.hl-akkordeon-glass .e-n-accordion-item > .e-con {
  padding: 0 32px 32px;
  background: transparent !important;
  box-shadow: none;
  border: none;
  animation: none !important;
}

@media (max-width: 1023px) {
  .hl-akkordeon-grau .e-n-accordion-item > summary,
  .hl-akkordeon-glass .e-n-accordion-item > summary { padding: 24px; }
  .hl-akkordeon-grau .e-n-accordion-item > .e-con,
  .hl-akkordeon-glass .e-n-accordion-item > .e-con { padding: 0 24px 24px; }
}

.hl-akkordeon-grau .e-n-accordion-item.hl-animate,
.hl-akkordeon-glass .e-n-accordion-item.hl-animate {
  opacity: 0;
  transform: translate3d(0, var(--hl-distance), 0);
  filter: var(--hl-blur-in);
  transition:
    opacity   var(--hl-duration)      ease             var(--hl-stagger-delay),
    transform var(--hl-duration)      var(--hl-easing) var(--hl-stagger-delay),
    filter    var(--hl-duration-blur) ease             var(--hl-stagger-delay);
}
.hl-akkordeon-grau .e-n-accordion-item.hl-animate.hl-animated,
.hl-akkordeon-glass .e-n-accordion-item.hl-animate.hl-animated {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  filter: none;
}

.hl-akkordeon-grau .e-n-accordion-item {
  border: 1px solid rgba(49, 39, 131, 0.12);
  background: #f2f2f2;
  transition: border-color 0.4s ease;
}

.hl-akkordeon-grau .e-n-accordion-item::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(135deg, #312783 0%, #482682 25%, #c7027f 60%, #e6007e 100%);
  background-size: 200% 200%;
  background-position: 0% 50%;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.5s ease, background-position 1.6s var(--hl-easing);
}

.hl-akkordeon-grau .e-n-accordion-item[open]::before,
.hl-akkordeon-grau .e-n-accordion-item:hover::before {
  opacity: 1;
  background-position: 100% 50%;
}

.hl-akkordeon-grau .e-n-accordion-item[open],
.hl-akkordeon-grau .e-n-accordion-item:hover {
  border-color: rgba(255, 255, 255, 0.14);
}

.hl-akkordeon-grau .e-n-accordion-item-title-text,
.hl-akkordeon-grau .e-n-accordion-item .elementor-widget-text-editor,
.hl-akkordeon-grau .e-n-accordion-item .elementor-widget-text-editor p,
.hl-akkordeon-grau .e-n-accordion-item .elementor-widget-text-editor li {
  color: #2b2b31;
  transition: color 0.4s ease;
}

.hl-akkordeon-grau .e-n-accordion-item[open] .e-n-accordion-item-title-text,
.hl-akkordeon-grau .e-n-accordion-item:hover .e-n-accordion-item-title-text,
.hl-akkordeon-grau .e-n-accordion-item[open] .elementor-widget-text-editor,
.hl-akkordeon-grau .e-n-accordion-item[open] .elementor-widget-text-editor p,
.hl-akkordeon-grau .e-n-accordion-item[open] .elementor-widget-text-editor li,
.hl-akkordeon-grau .e-n-accordion-item:hover .elementor-widget-text-editor,
.hl-akkordeon-grau .e-n-accordion-item:hover .elementor-widget-text-editor p,
.hl-akkordeon-grau .e-n-accordion-item:hover .elementor-widget-text-editor li {
  color: #fafafa !important;
}

.hl-akkordeon-grau .e-n-accordion-item[open] summary svg,
.hl-akkordeon-grau .e-n-accordion-item:hover summary svg {
  fill: #fafafa;
  stroke: #fafafa;
}

.hl-akkordeon-grau .e-n-accordion-item[open] .elementor-button {
  border-color: rgba(255, 255, 255, 0.4) !important;
}

.hl-akkordeon-glass .e-n-accordion-item {
  background: rgba(250, 250, 250, 0.55);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.55);
  box-shadow: none;
  transition:
    background 0.4s ease,
    border-color 0.4s ease,
    box-shadow 0.45s var(--hl-easing);
}

.hl-akkordeon-glass .e-n-accordion-item[open],
.hl-akkordeon-glass .e-n-accordion-item:hover {
  background: rgba(250, 250, 250, 0.68);
  border-color: rgba(255, 255, 255, 0.7);
  box-shadow: none;
}

.hl-akkordeon-glass .e-n-accordion-item-title-text {
  --hl-c1: #343434;
  --hl-c2: #343434;
  --hl-c3: #343434;
  --hl-c4: #343434;
  display: inline-block;
  background-image: linear-gradient(
    90deg,
    var(--hl-c1) 0%,
    var(--hl-c2) 34%,
    var(--hl-c3) 68%,
    var(--hl-c4) 100%
  ) !important;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-position: 0 50%;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
  transition:
    --hl-c1 0.4s ease,
    --hl-c2 0.4s ease,
    --hl-c3 0.4s ease,
    --hl-c4 0.4s ease;
}

.hl-akkordeon-glass .e-n-accordion-item[open] .e-n-accordion-item-title-text,
.hl-akkordeon-glass .e-n-accordion-item:hover .e-n-accordion-item-title-text {
  --hl-c1: #312783;
  --hl-c2: #482682;
  --hl-c3: #c7027f;
  --hl-c4: #e6007e;
}

.hl-akkordeon-glass .e-n-accordion-item .elementor-widget-text-editor,
.hl-akkordeon-glass .e-n-accordion-item .elementor-widget-text-editor p,
.hl-akkordeon-glass .e-n-accordion-item .elementor-widget-text-editor li {
  color: #2b2b31 !important;
}

.hl-akkordeon-glass .e-n-accordion-item summary svg {
  fill: #343434;
  stroke: #343434;
}

@supports not ((-webkit-background-clip: text) or (background-clip: text)) {
  .hl-akkordeon-glass .e-n-accordion-item-title-text {
    background: none !important;
    color: #343434 !important;
    -webkit-text-fill-color: currentColor !important;
  }
  .hl-akkordeon-glass .e-n-accordion-item[open] .e-n-accordion-item-title-text,
  .hl-akkordeon-glass .e-n-accordion-item:hover .e-n-accordion-item-title-text {
    color: #482682 !important;
  }
}

/* ═══ 31 · LEISTUNGEN · Slide-Stack + Akkordeon ═══ */

.hl-leistungen-media {
  position: relative;
  height: 620px;
  border-radius: var(--hl-radius);
  overflow: hidden;
}

.hl-leistungen-akkordeon .e-n-accordion-item { --hl-bar-l: 48px; --hl-bar-b: 48px; }
.hl-leist-pausebtn { display: none; position: absolute; left: var(--hl-bar-l); bottom: calc(var(--hl-bar-b) - 7px); z-index: 4; width: 20px; height: 20px; align-items: center; justify-content: center; padding: 0 !important; margin: 0 !important; border: 0 !important; border-radius: 4px !important; background: none !important; box-shadow: none !important; cursor: pointer; opacity: .85; transition: opacity .2s ease; }
.hl-leistungen-akkordeon .e-n-accordion-item[open] > .e-con > .hl-leist-pausebtn { display: flex; }
.hl-leist-pausebtn:hover { opacity: 1; }
.hl-leist-pausebtn-icon { display: block; box-sizing: border-box; width: 10px; height: 12px; border-left: 3px solid #fff; border-right: 3px solid #fff; }
.hl-leist-pausebtn[aria-pressed="true"] .hl-leist-pausebtn-icon { width: 0; height: 0; margin-left: 2px; border-style: solid; border-width: 6px 0 6px 10px; border-color: transparent transparent transparent #fff; }
.hl-leistungen .hl-leistungen-akkordeon.hl-mit-pause .e-n-accordion-item > .e-con::after { left: calc(var(--hl-bar-l) + 32px) !important; }
@media (min-width: 1200px) and (max-height: 960px) { .hl-leistungen-akkordeon .e-n-accordion-item { --hl-bar-l: 32px; --hl-bar-b: 32px; } }
@media (max-width: 1199px) { .hl-leistungen-akkordeon .e-n-accordion-item { --hl-bar-l: 24px; --hl-bar-b: 24px; } }

.hl-leistungen-media .hl-leistung-slide {
  position: absolute;
  inset: 0;
  margin: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.6s var(--hl-easing);
}
.hl-leistungen-media .hl-leistung-slide.is-active {
  opacity: 1;
  pointer-events: auto;
}

.hl-leistungen-media .hl-leistung-slide .elementor-widget-image,
.hl-leistungen-media .hl-leistung-slide .elementor-widget-image .elementor-widget-container,
.hl-leistungen-media .hl-leistung-slide .elementor-widget-image figure {
  position: absolute;
  inset: 0;
  margin: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.hl-leistungen-media .hl-leistung-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: var(--hl-radius);
  display: block;
}

.hl-leistungen-media .hl-leistung-slide::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: var(--hl-radius);
  background: linear-gradient(
    to top,
    rgba(0,0,0,0.65) 0%,
    rgba(0,0,0,0.30) 32%,
    rgba(0,0,0,0)    60%
  );
  pointer-events: none;
  z-index: 2;
}

.hl-leistungen-media .hl-leistung-slide .elementor-widget-heading {
  position: absolute !important;
  left: 0;
  bottom: 0;
  width: 100%;
  margin: 0;
  padding: 48px;
  box-sizing: border-box;
  z-index: 5 !important;
}
.hl-leistungen-media .hl-leistung-slide .elementor-heading-title {
  color: #fff !important;
  margin: 0;
  line-height: 1.08;
  text-shadow: 0 2px 20px rgba(0,0,0,0.45);
}

.hl-leistungen-akkordeon {
  display: flex;
  flex-direction: column;
}

.hl-leistungen-akkordeon .elementor-widget-n-accordion,
.hl-leistungen-akkordeon .elementor-widget-n-accordion > .elementor-widget-container,
.hl-leistungen-akkordeon .e-n-accordion {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

.hl-leistungen-akkordeon .e-n-accordion {
  gap: 12px;
}

.hl-leistungen-akkordeon .e-n-accordion-item {
  flex: 0 0 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  border-radius: var(--hl-radius);
  overflow: hidden;
  border: 1px solid rgba(49,39,131,0.12);
  background: #f2f2f2;
  box-shadow: none;
  position: relative;
  isolation: isolate;
  transition: border-color 0.4s ease;
}

.hl-leistungen-akkordeon .e-n-accordion-item[open] {
  flex: 1 1 auto;
}

.hl-leistungen-akkordeon .e-n-accordion-item::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(135deg, #312783 0%, #482682 25%, #c7027f 60%, #e6007e 100%);
  background-size: 200% 200%;
  background-position: 0% 50%;
  opacity: 0;
  transition: opacity 0.5s ease, background-position 1.6s var(--hl-easing);
}

.hl-leistungen-akkordeon .e-n-accordion-item[open]::before,
.hl-leistungen-akkordeon .e-n-accordion-item:hover::before {
  opacity: 1;
  background-position: 100% 50%;
}
.hl-leistungen-akkordeon .e-n-accordion-item[open],
.hl-leistungen-akkordeon .e-n-accordion-item:hover {
  border-color: rgba(255,255,255,0.14);
}

.hl-leistungen-akkordeon .e-n-accordion-item > summary {
  flex: 0 0 auto;
  padding: 48px;
  background: transparent !important;
  border: none;
  outline: none;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.hl-leistungen-akkordeon .e-n-accordion-item > summary .e-n-accordion-item-title-text {
  transform: translateY(3px);
}
.e-n-accordion-item-title-text { padding-block: 0.15em !important; margin-block: -0.15em !important; }

.hl-leistungen-akkordeon .e-n-accordion-item > .e-con {
  flex: 1 1 auto !important;
  min-height: 0;
  overflow: auto;
  background: transparent !important;
  padding: 0 48px 48px;
}

.hl-leistungen-akkordeon .e-n-accordion-item[open] > .e-con {
  display: flex !important;
  flex-direction: column !important;
}

.hl-leistungen-akkordeon .e-n-accordion-item-title-text,
.hl-leistungen-akkordeon .e-n-accordion-item .elementor-widget-text-editor,
.hl-leistungen-akkordeon .e-n-accordion-item .elementor-widget-text-editor p {
  color: #2b2b31;
  transition: color 0.4s ease;
}
.hl-leistungen-akkordeon .e-n-accordion-item[open] .e-n-accordion-item-title-text,
.hl-leistungen-akkordeon .e-n-accordion-item:hover .e-n-accordion-item-title-text,
.hl-leistungen-akkordeon .e-n-accordion-item[open] .elementor-widget-text-editor,
.hl-leistungen-akkordeon .e-n-accordion-item[open] .elementor-widget-text-editor p,
.hl-leistungen-akkordeon .e-n-accordion-item:hover .elementor-widget-text-editor,
.hl-leistungen-akkordeon .e-n-accordion-item:hover .elementor-widget-text-editor p {
  color: #fafafa !important;
}

.hl-leistungen-akkordeon .e-n-accordion-item[open] summary svg,
.hl-leistungen-akkordeon .e-n-accordion-item:hover summary svg {
  fill: #fafafa;
  stroke: #fafafa;
}

/* ═══ 32 · EINFADEN beim Einscrollen (eigenes System, kein ═══ */

.hl-leistungen-media,
.hl-leistungen-akkordeon .e-n-accordion-item,
.hl-leist-fade {
  opacity: 0;
  transform: translateY(var(--hl-distance));
  transition:
    opacity   0.8s ease                       calc(var(--hl-index, 0) * 0.1s),
    transform var(--hl-duration) var(--hl-easing)  calc(var(--hl-index, 0) * 0.1s);
}
.hl-leistungen-media.hl-leist-in,
.hl-leistungen-akkordeon .e-n-accordion-item.hl-leist-in,
.hl-leist-fade.hl-leist-in {
  opacity: 1;
  transform: translateY(0);
}

.hl-idx-1 { --hl-index: 1; }
.hl-idx-2 { --hl-index: 2; }
.hl-idx-3 { --hl-index: 3; }
.hl-idx-4 { --hl-index: 4; }

@media (min-width: 1200px) {
  .hl-leistungen-akkordeon .elementor-widget-n-accordion,
  .hl-leistungen-akkordeon .elementor-widget-n-accordion > .elementor-widget-container,
  .hl-leistungen-akkordeon .e-n-accordion {
    max-height: 100%;
  }
}

@media (max-width: 1023px) {
  .hl-leistungen-media { height: 460px; }
  .hl-leistungen-akkordeon { height: auto; }
  .hl-leistungen-akkordeon .e-n-accordion { flex: 0 0 auto; gap: 12px; }
  .hl-leistungen-akkordeon .e-n-accordion-item { flex: 0 0 auto; }
  .hl-leistungen-akkordeon .e-n-accordion-item[open] > .e-con { display: block !important; }
  .hl-leistungen-akkordeon .e-n-accordion-item > .e-con { overflow: visible; padding: 0 24px 24px; }
  .hl-leistungen-akkordeon .e-n-accordion-item > summary { padding: 24px; }
  .hl-leistungen-media .hl-leistung-slide .elementor-widget-heading { padding: 24px; }
}

@media (max-width: 879px) {
  .hl-leistungen-media { height: 380px; }
}

@media (max-width: 479px) {
  .hl-leistungen-media { height: 300px; }
  .hl-leistungen-akkordeon .e-n-accordion-item > summary { padding: 24px; }
  .hl-leistungen-akkordeon .e-n-accordion-item > .e-con { padding: 0 24px 24px; }
  .hl-leistungen-media .hl-leistung-slide .elementor-widget-heading { padding: 24px; }
}

@media (prefers-reduced-motion: reduce) {
  .hl-leistungen-media .hl-leistung-slide { transition: none !important; }
  .hl-leistungen-media,
  .hl-leistungen-akkordeon .e-n-accordion-item,
  .hl-leist-fade {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

/* ═══ 33 · HL-GRADIENT-CARD ═══ */

.hl-gradient-card {
  --intro-y:        24px;
  --intro-scale:    0.965;
  --hl-cards-base:  0.25s;
  --hl-card-delay:  0s;

  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-radius: var(--hl-radius);

  background: linear-gradient(
    135deg,
    #312783 0%,
    #482682 25%,
    #c7027f 60%,
    #e6007e 100%
  );
  background-size: 200% 200%;
  background-position: 0% 50%;

  opacity: 0;
  transform: translate3d(0, var(--intro-y), 0) scale(var(--intro-scale));
  filter: var(--hl-blur-in);
  transition:
    transform           var(--hl-duration) var(--hl-easing) calc(var(--hl-cards-base) + var(--hl-card-delay)),
    opacity             0.6s ease                      calc(var(--hl-cards-base) + var(--hl-card-delay)),
    filter              0.5s ease                      calc(var(--hl-cards-base) + var(--hl-card-delay)),
    background-position 1.6s var(--hl-easing);
}

.content-premium.is-inview .hl-gradient-card,
.hl-gradient-card.is-inview {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  filter: none;
}

.hl-gradient-card:nth-child(1) { --hl-card-delay: 0.00s; }
.hl-gradient-card:nth-child(2) { --hl-card-delay: 0.12s; }
.hl-gradient-card:nth-child(3) { --hl-card-delay: 0.24s; }
.hl-gradient-card:nth-child(4) { --hl-card-delay: 0.36s; }
.hl-gradient-card:nth-child(5) { --hl-card-delay: 0.48s; }
.hl-gradient-card:nth-child(6) { --hl-card-delay: 0.60s; }

.hl-gradient-card:hover {
  background-position: 100% 50%;
}

.hl-gradient-card :is(
  .elementor-heading-title,
  .elementor-widget-text-editor,
  .elementor-widget-text-editor p,
  .elementor-widget-text-editor strong
) {
  color: #ffffff !important;
}

.hl-gradient-card .content-premium-title.hl-title .elementor-heading-title,
.hl-gradient-card .content-premium-title.hl-title .elementor-heading-title * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: none !important;
}

.hl-gradient-card .hl-step-nummer .elementor-heading-title {
  display: inline-block;
  color: #ffffff;
  transition: transform 0.6s var(--hl-easing);
}
.hl-gradient-card:hover .hl-step-nummer .elementor-heading-title {
  transform: scale(1.08);
}

/* ═══ 34 · KEYFACTS-ROW · Trennlinie faded mit Icon/Text ═══ */

.keyfacts-row {
  border-bottom: 1px solid transparent;
  padding: 14px 0;
}
.keyfacts-row.hl-animate {
  opacity: 0;
  transform: translate3d(0, var(--hl-distance), 0);
  filter: var(--hl-blur-in);
  transition:
    opacity      var(--hl-duration)      ease             var(--hl-stagger-delay),
    transform    var(--hl-duration)      var(--hl-easing) var(--hl-stagger-delay),
    filter       var(--hl-duration-blur) ease             var(--hl-stagger-delay),
    border-color var(--hl-duration)      var(--hl-easing) var(--hl-stagger-delay);
}
.keyfacts-row.hl-animate.hl-animated {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  filter: none;
  border-bottom-color: #ddd;
}

.keyfacts-label {
  display: flex;
  align-items: center;
}
.hl-fact-icon {
  display: flex;
  align-items: center;
  justify-content: center;
}
.hl-fact-icon svg {
  width: 35px;
  height: 35px;
  display: block;
  transform: translateY(1px);
}
.hl-fact-icon i,
.hl-fact-icon span {
  display: flex;
  align-items: center;
  justify-content: center;
}

.keyfacts-row.hl-animate:nth-of-type(1)  { --hl-index: 0; }
.keyfacts-row.hl-animate:nth-of-type(2)  { --hl-index: 1; }
.keyfacts-row.hl-animate:nth-of-type(3)  { --hl-index: 2; }
.keyfacts-row.hl-animate:nth-of-type(4)  { --hl-index: 3; }
.keyfacts-row.hl-animate:nth-of-type(5)  { --hl-index: 4; }
.keyfacts-row.hl-animate:nth-of-type(6)  { --hl-index: 5; }
.keyfacts-row.hl-animate:nth-of-type(7)  { --hl-index: 6; }
.keyfacts-row.hl-animate:nth-of-type(8)  { --hl-index: 7; }
.keyfacts-row.hl-animate:nth-of-type(9)  { --hl-index: 8; }
.keyfacts-row.hl-animate:nth-of-type(10) { --hl-index: 9; }

/* ═══ 35 · @property · ANIMIERBARE GRADIENT-FARBEN ═══ */

@property --hl-c1 {
  syntax: "<color>";
  inherits: false;
  initial-value: #343434;
}
@property --hl-c2 {
  syntax: "<color>";
  inherits: false;
  initial-value: #343434;
}
@property --hl-c3 {
  syntax: "<color>";
  inherits: false;
  initial-value: #343434;
}
@property --hl-c4 {
  syntax: "<color>";
  inherits: false;
  initial-value: #343434;
}

/* ═══ 36 · TYPO-NORMALISIERUNG · Zeilenhöhe & Laufweite pro ═══ */

.hero-premium .hero-title .elementor-heading-title,
.hero-premium .hero-title .elementor-heading-title mark,
.hero-premium .hero-title .elementor-heading-title strong,
.kontakt-premium .hl-title .elementor-heading-title,
.kontakt-premium .hl-title .elementor-heading-title mark,
.kontakt-premium .hl-title .elementor-heading-title strong {
  line-height: 1.02 !important;
  letter-spacing: -0.02em !important;
}

.content-premium .content-premium-title .elementor-heading-title,
.content-premium .content-premium-title .elementor-heading-title mark,
.content-premium .content-premium-title .elementor-heading-title strong,
.kontakt-premium .kontakt-premium-title .elementor-heading-title,
.kontakt-premium .kontakt-premium-title .elementor-heading-title mark,
.kontakt-premium .kontakt-premium-title .elementor-heading-title strong {
  line-height: 1.02 !important;
  letter-spacing: -0.02em !important;
}

.hero-premium .hero-subheadline .elementor-heading-title,
.content-premium .content-premium-subheadline .elementor-heading-title,
.kontakt-premium .kontakt-premium-subtitle .elementor-heading-title {
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
}

.hl-karte .hl-karte-name,
.hl-karte .hl-karte-name *,
.hl-akkordeon-grau .e-n-accordion-item-title-text,
.hl-akkordeon-glass .e-n-accordion-item-title-text {
  line-height: 1.2 !important;
}

.elementor-widget-text-editor,
.elementor-widget-text-editor p,
.elementor-widget-text-editor li,
.elementor-widget-text-editor strong,
.elementor-widget-theme-post-content p,
.elementor-widget-theme-post-content li {
  letter-spacing: 0 !important;
}

.elementor-field-group .elementor-field-label {
  font-weight: 500 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
}

.hl-header-logo a {
  -webkit-tap-highlight-color: transparent !important;
}
.hl-header-logo a:focus,
.hl-header-logo a:focus-visible,
.hl-header-logo a:active {
  outline: none !important;
  box-shadow: none !important;
}

/* ═══ 37 · SHOP · Produktkarte · Kategorie-Kacheln · ═══ */

.hl-karte.hl-karte-produkt { aspect-ratio: 3 / 4; min-height: 0; background: #f2f2f2; }
.hl-karte.hl-karte-produkt .hl-karte-foto { padding: 24px 24px 38%; mix-blend-mode: multiply; }
.hl-karte.hl-karte-produkt .hl-karte-foto img { object-fit: contain; filter: none; }
.hl-karte.hl-karte-produkt .hl-karte-box { padding: 24px; }
.hl-karte.hl-karte-produkt .hl-karte-name .elementor-heading-title {
  font-size: 18px;
  line-height: 1.15;
  hyphens: auto;
  overflow-wrap: break-word;
  word-break: normal;
}
.hl-karte.hl-karte-produkt .hl-karte-preis :is(.elementor-heading-title, .elementor-widget-container > p, .price) {
  margin: 0;
  font-size: 14px;
  color: inherit;
}
.hl-karte.hl-karte-produkt .hl-karte-preis :is(.elementor-heading-title, .elementor-widget-container > p, .price)::before { content: "ab "; }
.hl-karte.hl-karte-produkt .hl-karte-preis :is(.elementor-heading-title, .elementor-widget-container > p, .price)::after { content: " / Einsatz inkl. MwSt."; }
.hl-karte .hl-preis-suffix { display: none; }
.hl-karte.hl-karte-produkt .wc-gzd-additional-info { display: none; }

.hl-kategorie-kacheln ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin: 0 !important;
  padding: 0;
}
.hl-kategorie-kacheln ul.products::before,
.hl-kategorie-kacheln ul.products::after { display: none !important; }

.hl-kategorie-kacheln li.product-category {
  --karte-index: 0;
  position: relative;
  width: auto !important;
  margin: 0 !important;
  float: none !important;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  border-radius: var(--hl-radius);
  background: #f2f2f2;

  opacity: 0;
  transform: translate3d(0, var(--hl-distance), 0) scale(.97);
  filter: var(--hl-blur-in);
  transition: transform var(--hl-duration) var(--hl-easing), opacity .6s ease, filter .5s ease;
  transition-delay: calc(.08s * var(--karte-index));
}
.hl-kategorie-kacheln li.product-category.is-karte-inview {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  filter: none;
}

.hl-kategorie-kacheln li.product-category > a { position: absolute; inset: 0; display: block; }
.hl-kategorie-kacheln li.product-category img {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  object-fit: cover;
  transition: transform .6s var(--hl-easing);
}
.hl-kategorie-kacheln li.product-category:hover img { transform: scale(1.03); }

.hl-kategorie-kacheln .woocommerce-loop-category__title {
  position: absolute;
  left: 24px;
  right: 24px;
  bottom: 24px;
  margin: 0 !important;
  padding: 24px !important;
  background: rgba(250, 250, 250, .7);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  border-radius: var(--hl-radius);
  font-size: 24px !important;
  font-weight: 900;
  line-height: 1.1;
  color: #343434 !important;
}

.hl-kategorie-kacheln .hl-kat-name {
  --hl-c1: #343434; --hl-c2: #343434; --hl-c3: #343434; --hl-c4: #343434;
  background-image: linear-gradient(90deg, var(--hl-c1) 0%, var(--hl-c2) 34%, var(--hl-c3) 68%, var(--hl-c4) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  transition: --hl-c1 .4s, --hl-c2 .4s, --hl-c3 .4s, --hl-c4 .4s;
}
.hl-kategorie-kacheln li.product-category:hover .hl-kat-name {
  --hl-c1: #312783; --hl-c2: #482682; --hl-c3: #c7027f; --hl-c4: #e6007e;
}
.hl-kategorie-kacheln .woocommerce-loop-category__title::after {
  content: "Entdecken";
  display: block;
  width: max-content;
  margin-top: 24px;
  padding-right: 34px;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='12' fill='%23343434'/%3E%3Cpath d='M7 12h9m-4-4 4 4-4 4' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right center / 24px no-repeat;
  transition: padding .3s ease;
}
.hl-kategorie-kacheln li.product-category:hover .woocommerce-loop-category__title::after { padding-right: 37px; }

body.elementor-editor-active .hl-kategorie-kacheln li.product-category { opacity: 1; transform: none; filter: none; }
@media (prefers-reduced-motion: reduce) {
  .hl-kategorie-kacheln li.product-category { opacity: 1; transform: none; filter: none; transition: none; }
}

.elementor-widget-shortcode:has(.hl-kat-filter) { align-self: stretch; width: 100%; }
.hl-kat-filter .e-filter {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start !important;
  gap: 12px !important;
}
.hl-kat-filter .e-filter-item {
  font-family: "ROTA Family", sans-serif;
  font-size: 18px;
  font-weight: 900;
  text-decoration: none;
}

.hl-seo-text h2 {
  margin: 0 0 24px;
  font-size: 32px;
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: #2b2b31;
}
.hl-seo-text h3 {
  margin: 24px 0 12px;
  font-size: 22px;
  font-weight: 900;
  line-height: 1.2;
  color: #2b2b31;
}
.hl-seo-text p { margin: 0 0 12px; }
.hl-seo-text a {
  color: #c7027f;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  transition: color .3s ease;
}
.hl-seo-text a:hover { color: #e6007e; }

.hl-seo-wrap .hl-seo-text {
  max-width: 960px !important; width: 100% !important; margin: 48px auto 0 !important;
  padding: 48px !important;
  background: #f2f2f2; border: 1.5px solid #dcdad6; border-radius: var(--hl-radius, 10px);
}
.hl-seo-wrap .hl-seo-text h2 { font-size: 48px; font-weight: 900; line-height: 1.02; letter-spacing: -0.02em; color: #2b2b31; margin: 0 0 32px; text-wrap: pretty; }
.hl-seo-wrap .hl-seo-text h2 mark {
  padding: 0; color: transparent; -webkit-text-fill-color: transparent;
  background: var(--hl-grad, linear-gradient(90deg, #312783 0%, #482682 20%, #c7027f 56%, #e6007e 100%));
  -webkit-background-clip: text; background-clip: text;
  -webkit-box-decoration-break: clone; box-decoration-break: clone;
}
.hl-seo-wrap .hl-seo-text :is(h3, p) { text-wrap: pretty; }
@media (max-width: 879px) { .hl-seo-wrap .hl-seo-text { padding: 32px !important; } .hl-seo-wrap .hl-seo-text h2 { font-size: 40px; } }
@media (max-width: 479px) { .hl-seo-wrap .hl-seo-text { padding: 24px !important; margin-top: 24px !important; } .hl-seo-wrap .hl-seo-text h2 { font-size: 32px; margin-bottom: 24px; } }

.kontakt-premium .elementor-field-group.elementor-field-type-acceptance { padding-top: 8px !important; padding-bottom: 12px !important; }
@media (max-width: 479px) {
  .hl-seo-text h2 { font-size: 24px; }
  .hl-seo-text h3 { font-size: 20px; }
}

.elementor-widget-woocommerce-breadcrumb { align-self: stretch; width: 100%; }
.hl-shopbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin: 0 0 24px;
}
.hl-shopbar .woocommerce-breadcrumb { margin: 0 !important; }
.hl-shopbar-tools {
  display: flex;
  align-items: center;
  gap: 12px;
}

.hl-shop-suche { position: relative; display: flex; align-items: center; margin: 0; }
.hl-shop-suche input[type="search"] {
  box-sizing: border-box;
  width: 200px;
  height: var(--hl-btn-h);
  margin: 0;
  padding: 2px 44px 0 16px;
  background: #f2f2f2;
  border: 1.5px solid #dcdad6;
  border-radius: var(--hl-radius);
  font-family: "ROTA Family", sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: #2b2b31;
  -webkit-appearance: none;
  appearance: none;
  transition: width .4s var(--hl-easing), border-color .3s ease;
}
.hl-shop-suche input[type="search"]::placeholder { color: #66666d; }
.hl-shop-suche input[type="search"]:focus { width: 260px; outline: none; border-color: #c7027f; }
.hl-shop-suche input[type="search"]::-webkit-search-cancel-button { display: none; }
.hl-shop-suche button {
  position: absolute;
  right: 4px;
  top: 50%;
  transform: translateY(-50%);
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  margin: 0;
  padding: 0;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #2b2b31;
  cursor: pointer;
  transition: color .3s ease;
}
.hl-shop-suche button:hover { color: #c7027f; }

.hl-shop-warenkorb {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  box-sizing: border-box;
  height: var(--hl-btn-h);
  padding: 2.5px 20px 0;
  border: 1.5px solid #dcdad6;
  border-radius: var(--hl-radius);
  background: #f2f2f2;
  background-size: 150% 150%;
  background-position: 12% 50%;
  overflow: hidden;
  isolation: isolate;
  -webkit-mask-image: -webkit-radial-gradient(white, black);
  backface-visibility: hidden;
  font-family: "ROTA Family", sans-serif;
  font-size: 18px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -0.012em;
  color: #2b2b31;
  text-decoration: none;
  white-space: nowrap;
  -webkit-font-smoothing: antialiased;
  transition: box-shadow .45s var(--hl-easing), background-position .9s ease, border-color .3s ease, color .3s ease, filter .3s ease;
}
.hl-shop-warenkorb::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: calc(var(--hl-radius) - 1.5px);
  background: #f2f2f2;
  pointer-events: none;
  transition: opacity var(--hl-idle-fade, .4s) var(--hl-easing);
}
.hl-shop-warenkorb:is(:hover, :focus-visible) {
  outline: none;
  color: #fff;
  border-color: rgba(255, 255, 255, .17);
  background-image: linear-gradient(135deg, #312783 0%, #482682 30%, #c7027f 70%, #e6007e 100%);
  background-position: 96% 50%;
  filter: brightness(1.04) saturate(1.02);
  box-shadow: none;
}
.hl-shop-warenkorb:is(:hover, :focus-visible)::before { opacity: 0; }
.hl-shop-warenkorb-anzahl {
  display: inline-grid;
  place-items: center;
  min-width: 22px;
  height: 22px;
  margin: -2.5px -6px 0 0;
  padding: 2px 6px 0;
  border-radius: 6px;
  background-image: linear-gradient(135deg, #312783 0%, #482682 30%, #c7027f 70%, #e6007e 100%);
  color: #fff;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1;
  transition: background .3s ease, color .3s ease;
}
.hl-shop-warenkorb:is(:hover, :focus-visible) .hl-shop-warenkorb-anzahl { background: #fff; color: #c7027f; }
.hl-shopbar .screen-reader-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
}

.woocommerce-breadcrumb {
  margin: 0 0 24px !important;
  font-family: "ROTA Family", sans-serif;
  font-size: 14px;
  line-height: 1.4;
  color: #66666d;
}
.woocommerce-breadcrumb a {
  color: #2b2b31 !important;
  text-decoration: none;
  transition: color .3s ease;
}
.woocommerce-breadcrumb a:hover { color: #c7027f !important; }
.woocommerce-breadcrumb .hl-bc-sep {
  margin: 0 8px;
  color: #b5b3ae;
}

.woocommerce-breadcrumb .hl-bc-item:last-child {
  font-weight: 900;
  background-image: var(--hl-grad);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

.content-premium :is(.woocommerce-breadcrumb, .hl-shopbar-tools) {
  opacity: 0;
  transform: translateY(var(--hl-distance));
  filter: var(--hl-blur-in);
  transition:
    opacity   .6s ease,
    transform var(--hl-duration) var(--hl-easing),
    filter    .5s ease;
}
.content-premium.is-inview :is(.woocommerce-breadcrumb, .hl-shopbar-tools) {
  opacity: 1;
  transform: translateY(0);
  filter: none;
}
body.elementor-editor-active .content-premium :is(.woocommerce-breadcrumb, .hl-shopbar-tools) {
  opacity: 1;
  transform: none;
  filter: none;
}
@media (prefers-reduced-motion: reduce) {
  .content-premium :is(.woocommerce-breadcrumb, .hl-shopbar-tools) { opacity: 1; transform: none; filter: none; transition: none; }
}

.elementor-pagination {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: 48px;
}
.elementor-pagination .page-numbers:not(.dots) {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: inline-grid;
  place-items: center;
  box-sizing: border-box;
  min-width: var(--hl-btn-h);
  height: var(--hl-btn-h);
  margin: 0 !important;
  padding: 0.14em 14px 0;
  border: 1.5px solid #dcdad6;
  border-radius: var(--hl-radius);
  background-image: linear-gradient(135deg, #312783 0%, #482682 30%, #c7027f 70%, #e6007e 100%);
  background-size: 150% 150%;
  background-position: 12% 50%;
  background-clip: padding-box;
  font-family: "ROTA Family", sans-serif;
  font-size: 18px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -0.012em;
  color: #2b2b31 !important;
  text-decoration: none;
  transition:
    color .55s var(--hl-easing),
    border-color .55s var(--hl-easing),
    box-shadow .45s var(--hl-easing),
    background-position .9s ease,
    filter .3s ease;
}

.elementor-pagination .page-numbers:not(.dots)::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: #f2f2f2;
  transition: opacity .55s var(--hl-easing);
}

.elementor-pagination .page-numbers.current,
.elementor-pagination a.page-numbers:hover,
.elementor-pagination a.page-numbers:focus-visible {
  color: #fff !important;
  border-color: rgba(255, 255, 255, .12);
  background-clip: border-box;
  box-shadow: none;
}
.elementor-pagination .page-numbers.current::before,
.elementor-pagination a.page-numbers:hover::before,
.elementor-pagination a.page-numbers:focus-visible::before { opacity: 0; }
.elementor-pagination a.page-numbers:hover {
  background-position: 96% 50%;
  filter: brightness(1.04) saturate(1.02);
}
.elementor-pagination a.page-numbers:focus-visible { outline: none; }

.elementor-pagination .page-numbers.dots {
  display: inline-grid;
  place-items: center;
  height: var(--hl-btn-h);
  color: #2b2b31;
  font-weight: 900;
}
.elementor-pagination .page-numbers:not(.dots) { width: var(--hl-btn-h); padding-inline: 0; }
.elementor-pagination span.page-numbers:is(.prev, .next) { opacity: 0.35; cursor: default; }
a, button, [role="button"], .e-filter-item { -webkit-tap-highlight-color: transparent; }

[data-elementor-type="product"] { background: #fafafa; }

.hl-produkt-bild {
  position: relative;
  aspect-ratio: 1 / 1;
  padding: 48px;
  background: #f2f2f2;
  border-radius: var(--hl-radius);
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.hl-produkt-bild .hl-produkt-bild-img { width: 100%; height: 100%; mix-blend-mode: multiply; }
.hl-produkt-bild .hl-produkt-bild-img .elementor-widget-container,
.hl-produkt-bild .hl-produkt-bild-img picture { display: block; width: 100%; height: 100%; }
.hl-produkt-bild .hl-produkt-bild-img img { width: 100% !important; height: 100% !important; object-fit: contain; filter: none; }

.hl-produkt-titel .elementor-heading-title { line-height: 1.04 !important; }

.hl-produkt-preis .price { margin: 0; font-size: 24px !important; font-weight: 900; line-height: 1.2; color: #2b2b31 !important; }
.hl-produkt-preis .price::before { content: "ab "; font-weight: 400; }
.hl-produkt-preis .price::after { content: none; }
.hl-produkt-preis .hl-preis-suffix { display: block; margin-top: 6px; font-size: 16px; font-weight: 400; line-height: 1.4; color: #66666d; }
.hl-produkt-preis .hl-preis-suffix .woocommerce-Price-amount { font-weight: 400; }
.hl-produkt-preis .hl-preis-suffix::before { content: "pro Einsatz · "; }
.hl-preis-lieferung { margin: 12px 0 0; font-size: 14px; font-weight: 400; line-height: 1.4; color: #66666d; }
.hl-preis-lieferung a { color: inherit !important; -webkit-text-fill-color: currentColor; background: none !important; text-decoration: underline; text-underline-offset: 3px; }
.hl-preis-lieferung a:hover { color: #482682 !important; }
.hl-karte .hl-preis-lieferung { display: none; }
.order-total small.includes_tax { display: block !important; margin-top: 6px; font-size: 14px; font-weight: 400; line-height: 1.4; color: #66666d; white-space: nowrap; }
body .order-total small.includes_tax :is(.woocommerce-Price-amount, bdi, .woocommerce-Price-currencySymbol) { font-weight: 400 !important; color: #66666d !important; -webkit-text-fill-color: #66666d !important; background: none !important; }
tr.order-tax { display: none !important; }
body .elementor-widget-woocommerce-cart .cart_totals tr.order-total td small.includes_tax { color: #66666d !important; }
#shipping_method { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; margin: 0 !important; padding: 0 !important; list-style: none; text-align: left; }
#shipping_method li { position: relative; display: block !important; margin: 0 !important; padding: 0 !important; }
#shipping_method li input[type="radio"] { position: absolute; top: 50%; left: 14px; width: 18px; height: 18px; margin: -9px 0 0 !important; accent-color: #482682; cursor: pointer; }
#shipping_method li label { display: flex !important; flex-direction: column; justify-content: center; gap: 0; height: 100%; margin: 0 !important; padding: 8px 14px 8px 42px !important; border: 1.5px solid #dcdce0; border-radius: 10px; background: #fafafa; cursor: pointer; white-space: normal !important; text-align: left !important; line-height: 1.3; transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease; }
#shipping_method li label:hover { border-color: #482682; }
#shipping_method li:has(input:checked) label { border-color: #482682; background: #fff; box-shadow: 0 0 0 1px #482682; }
#shipping_method li input:focus-visible + label { outline: 2px solid #c7027f; outline-offset: 2px; }
#shipping_method .hl-versand-titel { font-size: 15px; font-weight: 700; line-height: 1.25; color: #2b2b31; }
#shipping_method .hl-versand-sub { font-size: 13px; font-weight: 400; line-height: 1.25; color: #66666d; }
.cart_totals tr.woocommerce-shipping-totals { grid-template-columns: 1fr !important; row-gap: 12px; }
.cart_totals tr.woocommerce-shipping-totals td { width: 100%; min-width: 0 !important; padding-left: 0 !important; padding-right: 0 !important; text-align: left !important; }
.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals th { padding-bottom: 12px !important; border-bottom: 0 !important; }
.woocommerce-checkout-review-order-table tr.hl-versand-zeile td { width: 100%; min-width: 0 !important; padding-top: 0 !important; text-align: left !important; }
body .elementor-widget-woocommerce-cart .cart_totals tr.order-total td small.includes_tax :is(.woocommerce-Price-amount, bdi, .woocommerce-Price-currencySymbol) { font-weight: 400 !important; }
body .woocommerce-order table.order_details tfoot td > .woocommerce-Price-amount { font-size: inherit !important; }
body .hl-mwst-hinweis { display: block; margin-top: 6px; font-size: 14px !important; font-weight: 400 !important; line-height: 1.4; color: #66666d !important; -webkit-text-fill-color: #66666d !important; background: none !important; white-space: nowrap; }
body .hl-mwst-hinweis :is(.woocommerce-Price-amount, bdi, .woocommerce-Price-currencySymbol) { font-size: inherit !important; font-weight: 400 !important; color: #66666d !important; -webkit-text-fill-color: #66666d !important; background: none !important; }
.hl-mwst-hinweis + br, td > br:has(+ .hl-mwst-hinweis) { display: none; }
.hl-produkt-preis .wc-gzd-additional-info { display: none; }

.hl-produkt-text, .hl-produkt-text p { color: #2b2b31; font-size: 16px; line-height: 1.5; }

.hl-produkt-cta form.cart { display: flex; flex-wrap: wrap; align-items: stretch; gap: 12px; margin: 0 !important; }

.woocommerce div.product .hl-produkt-cta form.cart::before,
.woocommerce div.product .hl-produkt-cta form.cart::after { display: none; }
.hl-produkt-cta .quantity { margin: 0 !important; }

.woocommerce div.product .hl-produkt-cta .quantity .qty {
  box-sizing: border-box;
  width: 72px;
  height: var(--hl-btn-h);
  padding: 3px 4px 0 14px;
  border: 1.5px solid #dcdad6;
  border-radius: var(--hl-radius);
  background: #f2f2f2;
  font-family: "ROTA Family", sans-serif;
  font-size: 18px;
  font-weight: 900;
  line-height: 1;
  text-align: center;
  color: #2b2b31;
}
.hl-produkt-cta .single_add_to_cart_button {
  display: inline-grid !important;
  place-items: center;
  box-sizing: border-box;
  min-height: var(--hl-btn-h) !important;
  margin: 0 !important;
  padding: calc(var(--hl-btn-py) + .07em) 28px calc(var(--hl-btn-py) - .07em) !important;
  border: 1.5px solid rgba(255, 255, 255, .12) !important;
  border-radius: var(--hl-radius) !important;
  background-color: transparent !important;
  background-image: linear-gradient(135deg, #312783 0%, #482682 30%, #c7027f 70%, #e6007e 100%) !important;
  background-size: 150% 150% !important;
  background-position: 12% 50% !important;
  box-shadow: none !important;
  font-family: "ROTA Family", sans-serif !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: -.012em;
  color: #fff !important;
  transition: box-shadow .45s var(--hl-easing), background-position .9s ease, filter .3s ease;
}
.hl-produkt-cta .single_add_to_cart_button:hover {
  background-position: 96% 50% !important;
  filter: brightness(1.04) saturate(1.02);
  box-shadow: none !important;
}

.hl-produkt-kontakt p { margin: 0; font-size: 16px; line-height: 1.5; color: #2b2b31; }
.hl-produkt-kontakt a { color: #c7027f; font-weight: 900; text-decoration: none; white-space: nowrap; }
.hl-produkt-kontakt a:hover { color: #e6007e; }

:is(.hl-produkt-details, .hl-produkt-related) .content-premium-title .elementor-heading-title {
  font-size: 32px !important;
  color: #2b2b31 !important;
}
body:not(.elementor-editor-active) .hl-produkt-details:not(:has(.hl-produkt-beschreibung)) { display: none; }
body:not(.elementor-editor-active) .hl-produkt-related:not(:has(.e-loop-item)) { display: none; }

@media (max-width: 1023px) {
  .hl-produkt-bild { aspect-ratio: 4 / 3; }
}
@media (max-width: 479px) {
  .hl-produkt-bild { padding: 24px; }
}

body .elementor-widget-woocommerce-checkout-page,
body .elementor-widget-woocommerce-cart,
body .elementor-widget-woocommerce-purchase-summary,
body :is(.elementor-widget-woocommerce-checkout-page, .elementor-widget-woocommerce-cart, .elementor-widget-woocommerce-purchase-summary) .woocommerce {
  font-family: "ROTA Family", sans-serif;
  color: #2b2b31;
}

body :is(.elementor-widget-woocommerce-checkout-page, .elementor-widget-woocommerce-cart) input[type="checkbox"] { accent-color: #c7027f; }
body :is(.elementor-widget-woocommerce-checkout-page, .elementor-widget-woocommerce-cart) input[type="checkbox"]:focus { outline: none; }
body :is(.elementor-widget-woocommerce-checkout-page, .elementor-widget-woocommerce-cart) input[type="checkbox"]:focus-visible { outline: 2px solid #c7027f; outline-offset: 2px; }

body .elementor-widget-woocommerce-cart .e-shop-table::before {
  content: "Deine Auswahl";
  display: block;
  margin: 0 0 24px;
  font-size: 24px;
  font-weight: 900;
  line-height: 1.2;
  color: #2b2b31;
}

body .elementor-widget-woocommerce-cart table.cart .product-thumbnail img { mix-blend-mode: multiply; }

body .elementor-widget-woocommerce-cart .e-shop-table table.cart,
body .elementor-widget-woocommerce-cart table.cart :is(thead, tbody) { display: block; width: 100%; margin: 0 !important; padding: 0 !important; border: 0 !important; }
body .elementor-widget-woocommerce-cart table.cart tr {
  display: grid;
  grid-template-columns: 60px minmax(0, 1fr) 64px minmax(88px, auto) 24px;
  grid-template-areas: "thumb name qty sub remove";
  column-gap: 16px;
  align-items: center;
}
body .elementor-widget-woocommerce-cart table.cart :is(th, td) { display: block !important; min-height: 0; padding: 0 !important; border: 0 !important; background: none !important; text-align: left !important; line-height: 1.3; }
body .elementor-widget-woocommerce-cart table.cart td::before { content: none !important; display: none !important; }
body .elementor-widget-woocommerce-cart table.cart thead { display: block !important; }
body .elementor-widget-woocommerce-cart table.cart thead tr { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: none; padding: 0 0 12px !important; }
body .elementor-widget-woocommerce-cart table.cart thead th { font-size: 16px !important; font-weight: 700 !important; color: #2b2b31 !important; }
body .elementor-widget-woocommerce-cart table.cart thead :is(.product-remove, .product-thumbnail, .product-price, .product-quantity) { display: none !important; }
body .elementor-widget-woocommerce-cart table.cart thead .product-subtotal { text-align: right !important; }
body .elementor-widget-woocommerce-cart table.cart tr.cart_item { padding: 16px 0; border-top: 1px solid #dcdad6 !important; }
body .elementor-widget-woocommerce-cart table.cart tr:has(> td.actions) { display: none !important; }
body .elementor-widget-woocommerce-cart table.cart td.product-thumbnail { grid-area: thumb; }
body .elementor-widget-woocommerce-cart table.cart td.product-thumbnail :is(a, picture) { display: block; }
body .elementor-widget-woocommerce-cart table.cart td.product-thumbnail img { display: block; width: 60px !important; height: 60px !important; max-width: none; object-fit: contain; mix-blend-mode: multiply; }
body .elementor-widget-woocommerce-cart table.cart td.product-name { grid-area: name; font-size: 16px !important; font-weight: 500 !important; }
body .elementor-widget-woocommerce-cart table.cart td.product-name a { color: #2b2b31 !important; text-decoration: none; }
body .elementor-widget-woocommerce-cart table.cart tr.cart_item td.product-price { display: none !important; }
body .elementor-widget-woocommerce-cart table.cart td.product-quantity { grid-area: qty; }
body .elementor-widget-woocommerce-cart table.cart td.product-subtotal { grid-area: sub; text-align: right !important; font-size: 16px !important; font-weight: 700 !important; white-space: nowrap; }
body .elementor-widget-woocommerce-cart table.cart td.product-remove { grid-area: remove; justify-self: end; text-align: right !important; }
body .elementor-widget-woocommerce-cart table.cart td.product-remove a.remove { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; font-size: 22px !important; line-height: 1; color: #2b2b31 !important; background: none !important; border-radius: 0; transition: color .2s; }
body .elementor-widget-woocommerce-cart table.cart td.product-remove a.remove:hover { color: #c7027f !important; }
@media (max-width: 879px) {
  body .elementor-widget-woocommerce-cart table.cart tr.cart_item {
    grid-template-columns: 60px minmax(0, 1fr) auto;
    grid-template-areas: "thumb name sub" "thumb qty remove";
    row-gap: 8px;
  }
  body .elementor-widget-woocommerce-cart table.cart td.product-thumbnail { align-self: center; }
  body .elementor-widget-woocommerce-cart table.cart td.product-name, body .elementor-widget-woocommerce-cart table.cart td.product-subtotal { align-self: end; }
}

body .elementor-widget-woocommerce-cart .woocommerce .cart .input-text.qty {
  width: 64px;
  height: 48px;
  max-height: none;
  padding: 3px 4px 0 12px;
  line-height: 1;
  text-align: center;
  background: #fafafa;
  border: 1.5px solid #dcdad6;
  border-radius: var(--hl-radius);
  font-size: 18px;
  font-weight: 700;
  color: #2b2b31;
}

body .elementor-widget-woocommerce-cart .rental-period h2 { margin: 0 0 12px !important; padding: 0 !important; }
body .elementor-widget-woocommerce-cart .rental-period table { margin: 0 0 24px !important; }
.rental-period input[type="date"] {
  height: 48px;
  padding: 0 16px;
  background: #fafafa;
  border: 1.5px solid #dcdad6;
  border-radius: var(--hl-radius);
  font-family: inherit;
  font-size: 18px;
  color: #2b2b31;
}

.order-rental-period p { margin: 0; font-size: 18px; font-weight: 500; line-height: 1.4; }
.order-rental-period .hl-mz-titel {
  display: block;
  margin: 0 0 12px;
  font-size: 24px;
  font-weight: 900;
  line-height: 1.2;
}
.order-rental-period strong { font-weight: 900; }
.elementor-widget-woocommerce-checkout-page .select2-selection--single .select2-selection__rendered { line-height: 1.4 !important; }

.elementor-widget-woocommerce-checkout-page .woocommerce-checkout .shop_table { background: transparent; }
body .elementor-widget-woocommerce-checkout-page .woocommerce table.woocommerce-checkout-review-order-table { padding: 0; }
body .elementor-widget-woocommerce-checkout-page .woocommerce-checkout-review-order-table :is(th, td) {
  padding: 12px 0 !important;
  vertical-align: middle !important;
  border: 0 !important;
  line-height: 1.3;
}
body .elementor-widget-woocommerce-checkout-page .woocommerce-checkout-review-order-table thead th {
  padding-top: 0 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
}
body .elementor-widget-woocommerce-checkout-page .woocommerce-checkout-review-order-table thead .product-total { text-align: right; }
body .elementor-widget-woocommerce-checkout-page .woocommerce-checkout-review-order-table .cart_item td {
  padding: 16px 0 !important;
  border-top: 1px solid #dcdad6 !important;
}
body .elementor-widget-woocommerce-checkout-page .woocommerce-checkout-review-order-table .cart_item .product-name { font-weight: 500; }
body .elementor-widget-woocommerce-checkout-page .woocommerce-checkout-review-order-table .cart_item .product-total { text-align: right; font-weight: 700; }
body .elementor-widget-woocommerce-checkout-page .woocommerce-checkout-review-order-table img { mix-blend-mode: multiply; }
body .elementor-widget-woocommerce-checkout-page .woocommerce-checkout-review-order-table tfoot :is(th, td) {
  font-size: 18px !important;
  font-weight: 500 !important;
}
body .elementor-widget-woocommerce-checkout-page .woocommerce-checkout-review-order-table tfoot td { text-align: right; }
body .elementor-widget-woocommerce-checkout-page .woocommerce-checkout-review-order-table tfoot tr:first-child :is(th, td) {
  padding-top: 24px !important;
  border-top: 1px solid #dcdad6 !important;
}
body .elementor-widget-woocommerce-checkout-page .woocommerce-checkout-review-order-table tfoot .shipping td { color: #66666d !important; }
body .elementor-widget-woocommerce-checkout-page .woocommerce-checkout-review-order-table .order-total :is(th, td) {
  padding-top: 24px !important;
  border-top: 1.5px solid #2b2b31 !important;
  font-size: 24px !important;
  font-weight: 900 !important;
}
body .elementor-widget-woocommerce-checkout-page .woocommerce-checkout-review-order-table .order-total td .amount {
  background-image: var(--hl-grad);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

body .elementor-widget-woocommerce-checkout-page .woocommerce-shipping-fields {
  margin: 0 0 24px;
  padding: 24px;
  background: #f2f2f2;
  border: 1.5px solid #dcdad6;
  border-radius: var(--hl-radius);
}

body .elementor-widget-woocommerce-checkout-page #ship-to-different-address {
  float: none !important;
  width: 100%;
  margin: 0 !important;
  padding: 0;
}
body .elementor-widget-woocommerce-checkout-page #ship-to-different-address label {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0;
  cursor: pointer;
}
body .elementor-widget-woocommerce-checkout-page #ship-to-different-address span { font-size: 24px; font-weight: 900; line-height: 1.2; }
body .elementor-widget-woocommerce-checkout-page p.checkbox-legal { padding: 0; }
body .elementor-widget-woocommerce-checkout-page p.checkbox-legal label.woocommerce-form__label-for-checkbox { position: relative; display: block; padding-left: 32px; font-size: 16px; line-height: 1.4; }
body .elementor-widget-woocommerce-checkout-page p.checkbox-legal input.input-checkbox { position: absolute; left: 0; top: 50%; width: 20px; height: 20px; margin: 0 !important; transform: translateY(-50%); }
body .elementor-widget-woocommerce-checkout-page #ship-to-different-address input { flex: none; width: 20px; height: 20px; margin: 0; }

body .elementor-widget-woocommerce-checkout-page .woocommerce-shipping-fields .shipping_address {
  margin: 24px 0 0;
  padding: 0;
  background: none;
  border: 0;
  border-radius: 0;
}

body .elementor-widget-woocommerce-checkout-page #shipping_country_field { display: none; }

.woocommerce-additional-fields > h3:empty { display: none; }

.woocommerce .blockUI.blockOverlay {
  background: #f2f2f2 !important;
  opacity: .6 !important;
  border-radius: var(--hl-radius);
}

.woocommerce-checkout #order_payment_heading,
.woocommerce-checkout #payment { display: none !important; }
.wc-gzd-legal-guarantee { display: none !important; }

.woocommerce :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) {
  margin: 0 0 24px;
  padding: 24px;
  background: #f2f2f2 !important;
  border: 1.5px solid #dcdad6 !important;
  border-radius: var(--hl-radius) !important;
  font-family: "ROTA Family", sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.4;
  color: #2b2b31 !important;
}
.woocommerce .woocommerce-error { list-style: none; }
.woocommerce .woocommerce-error > li { color: #2b2b31 !important; font-weight: 500 !important; }
.woocommerce .woocommerce-error > li + li { margin-top: 12px; }
.woocommerce :is(.woocommerce-message, .woocommerce-info),
.woocommerce .woocommerce-error > li {
  display: flex;
  align-items: center;
  gap: 12px 24px;
}
.woocommerce .hl-notice-text { flex: 1 1 auto; min-width: 0; }
.woocommerce :is(.woocommerce-message, .woocommerce-info, .woocommerce-error):focus { outline: none; }
.woocommerce :is(.woocommerce-message, .woocommerce-info, .woocommerce-error)::before,
.woocommerce :is(.woocommerce-message, .woocommerce-info, .woocommerce-error)::after { display: none; }
.woocommerce :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) strong { font-weight: 900; }
.woocommerce :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) a:not(.button) {
  font-family: inherit;
  font-weight: 900;
  color: #c7027f;
  text-decoration: none;
  transition: color .3s ease;
}
.woocommerce :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) a:not(.button):hover { color: #e6007e; }

.woocommerce :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) .button,
.woocommerce .return-to-shop .button {
  float: none;
  display: inline-grid;
  place-items: center;
  min-height: var(--hl-btn-h);
  padding: calc(var(--hl-btn-py) + .07em) 24px calc(var(--hl-btn-py) - .07em) !important;
  border: 1.5px solid rgba(255, 255, 255, .12) !important;
  border-radius: var(--hl-radius) !important;
  background-color: transparent !important;
  background-image: linear-gradient(135deg, #312783 0%, #482682 30%, #c7027f 70%, #e6007e 100%) !important;
  background-size: 150% 150% !important;
  background-position: 12% 50% !important;
  box-shadow: none !important;
  font-family: "ROTA Family", sans-serif !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: -.012em;
  color: #fff !important;
  text-decoration: none;
  transition: box-shadow .45s var(--hl-easing), background-position .9s ease, filter .3s ease;
}
.woocommerce :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) .button:hover,
.woocommerce .return-to-shop .button:hover {
  background-position: 96% 50% !important;
  filter: brightness(1.04) saturate(1.02);
  box-shadow: none !important;
}

.woocommerce :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) .button {
  order: 2;
  flex-shrink: 0;
  margin: 0 0 0 auto !important;
}
.woocommerce .return-to-shop { margin: 0; }

.elementor-widget-shortcode:has(.hl-shopbar) { align-self: stretch; width: 100%; }

.hl-produkt-text .hl-mehr-details { margin: 12px 0 0; }
.hl-produkt-text .hl-mehr-details a {
  font-weight: 900;
  color: #c7027f;
  text-decoration: none;
  transition: color .3s ease;
}
.hl-produkt-text .hl-mehr-details a::after { content: " ↓"; }
.hl-produkt-text .hl-mehr-details a:hover { color: #e6007e; }
#details { scroll-margin-top: 120px; }

@media (min-width: 1024px) {
  #details .hl-produkt-beschreibung p { column-count: 2; column-gap: 48px; }
}
@media (prefers-reduced-motion: no-preference) {
  html:has(#details) { scroll-behavior: smooth; }
}

.woocommerce .hl-fehlt-titel { display: block; margin: 0 0 8px; font-weight: 900; }
.woocommerce .hl-fehlt-liste { display: block; line-height: 1.6; }

.content-premium .content-premium-subheadline .elementor-heading-title:has(strong) { font-weight: 500 !important; }
.content-premium .content-premium-subheadline .elementor-heading-title strong { font-weight: 900; }
.content-premium .content-premium-subheadline .elementor-heading-title a[href^="tel:"] { font-weight: 900; white-space: nowrap; background-image: var(--hl-grad); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }

body .elementor-widget-woocommerce-checkout-page .woocommerce-checkout-review-order-table .product-total {
  width: 1%;
  white-space: nowrap;
  padding-left: 24px !important;
}
body .elementor-widget-woocommerce-checkout-page .woocommerce-checkout-review-order-table .wc-gzd-cart-item-name-wrapper { align-items: center; gap: 16px; }
body .elementor-widget-woocommerce-checkout-page .woocommerce-checkout-review-order-table .wc-gzd-cart-item-thumbnail { flex: none; margin: 0 !important; }
body .elementor-widget-woocommerce-checkout-page .woocommerce-checkout-review-order-table .product-quantity { margin-left: auto; white-space: nowrap; font-weight: 500; }

@media (max-width: 1023px) {
  .hl-kategorie-kacheln ul.products { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 479px) {
  .hl-karte.hl-karte-produkt .hl-karte-foto { padding: 16px 16px 50%; }
  .hl-kategorie-kacheln ul.products { grid-template-columns: 1fr; }
  .hl-kategorie-kacheln .woocommerce-loop-category__title { font-size: 20px !important; }

  .hl-shopbar-tools { width: 100%; margin-left: 0; justify-content: space-between; }
  .hl-shop-suche { flex: 1; }
  .hl-shop-suche input[type="search"],
  .hl-shop-suche input[type="search"]:focus { width: 100%; }

  .woocommerce :is(.woocommerce-message, .woocommerce-info),
  .woocommerce .woocommerce-error > li { flex-wrap: wrap; }
  .woocommerce :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) .button { margin: 0 !important; }
}

@media (max-width: 1440px) {
  body .elementor-widget-woocommerce-cart .e-cart__container { grid-template-columns: 1fr; }
}

:is(.elementor-button, .e-filter-item, .hl-shop-warenkorb, .woocommerce .button, .single_add_to_cart_button, #hl-ohne-schatten):not(:focus-visible) { box-shadow: none !important; }

.content-premium .hl-produkt-bild {
  opacity: 0;
  transform: translateY(var(--hl-distance));
  filter: var(--hl-blur-in);
  transition: opacity .6s ease, transform var(--hl-duration) var(--hl-easing), filter .5s ease;
}
.content-premium.is-inview .hl-produkt-bild { opacity: 1; transform: none; filter: none; }
body.elementor-editor-active .content-premium .hl-produkt-bild { opacity: 1 !important; transform: none !important; filter: none !important; transition: none !important; }
@media (prefers-reduced-motion: reduce) {
  .content-premium .hl-produkt-bild { opacity: 1 !important; transform: none !important; filter: none !important; transition: none !important; }
}

:is(.hl-produkt-preis .price, .hl-karte-preis :is(.elementor-heading-title, .elementor-widget-container > p, .price)):has(.hl-preis-anfrage)::before,
:is(.hl-produkt-preis .price, .hl-karte-preis :is(.elementor-heading-title, .elementor-widget-container > p, .price)):has(.hl-preis-anfrage)::after { content: none !important; }

.hl-notice-neu { animation: hl-notice-in .6s var(--hl-easing) both; }
@keyframes hl-notice-in { from { opacity: 0; transform: translateY(12px); filter: var(--hl-blur-in); } to { opacity: 1; transform: none; filter: none; } }
@media (prefers-reduced-motion: reduce) { .hl-notice-neu { animation: none; } }
.single_add_to_cart_button.loading { opacity: .7; pointer-events: none; }

.kontakt-premium-title .elementor-heading-title:has(strong) { font-weight: 500 !important; }
.kontakt-premium-title .elementor-heading-title strong { font-weight: 900; }

.woocommerce-order-overview__payment-method { display: none !important; }

.hl-kategorie-kacheln .hl-kat-box .hl-kat-h { margin: 0; font: inherit; line-height: inherit; letter-spacing: inherit; color: inherit; }
.hl-kategorie-kacheln .hl-kat-text {
  margin: 8px 0 0;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.4;
  color: #2b2b31;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.hl-kategorie-kacheln .hl-kat-box::after { margin-top: 16px; }

.hl-kategorie-kacheln li.product-category { aspect-ratio: 3 / 4; height: auto; }
.hl-karte.hl-karte-produkt { aspect-ratio: 3 / 4; min-height: 0 !important; height: auto !important; }
.elementor-12152 .hl-karte { aspect-ratio: 3 / 4; min-height: 0 !important; height: auto !important; }
.elementor-13765 .hl-karte { aspect-ratio: 2 / 3; min-height: 0 !important; height: auto !important; }

:root { --hl-karte-bild: 240px; }
@media (max-width: 879px) { :root { --hl-karte-bild: 200px; } }
@media (max-width: 479px) { :root { --hl-karte-bild: 180px; } }

.hl-kategorie-kacheln ul.products { grid-auto-rows: 1fr; }
.hl-kategorie-kacheln li.product-category { aspect-ratio: auto !important; display: grid !important; }
.hl-kategorie-kacheln li.product-category::before { content: ""; grid-area: 1 / 1; padding-top: 133.333%; }
.hl-kategorie-kacheln li.product-category > a {
  grid-area: 1 / 1; position: relative; inset: auto;
  display: flex; flex-direction: column; justify-content: flex-end;
  box-sizing: border-box;
  padding: var(--hl-karte-bild) 24px 24px;
}
.hl-kategorie-kacheln li.product-category > a > .woocommerce-loop-category__title { position: relative !important; left: auto; right: auto; bottom: auto; }

.hl-karte.hl-karte-produkt,
.elementor-12152 .hl-karte,
.elementor-13765 .hl-karte { min-height: auto !important; overflow: visible; padding-top: var(--hl-karte-bild) !important; }

.hl-kategorie-kacheln .hl-kat-h,
.hl-karte .hl-karte-name .elementor-heading-title { -webkit-hyphens: auto; hyphens: auto; overflow-wrap: break-word; }

.hl-shop-suche input[type="search"], .hl-shop-warenkorb { height: 41px; }

body .elementor-widget-woocommerce-cart .rental-period h2 { margin: 0 0 16px !important; }
body .rental-period table, body .rental-period table tbody { display: block; width: 100%; margin: 0; padding: 0; border: 0; }
body .rental-period table tbody { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; }
body .rental-period table tr { display: flex !important; flex-direction: column; gap: 8px; min-width: 0; margin: 0; padding: 0; border: 0; background: none; }
body .rental-period table :is(th, td) { display: block !important; min-width: 0; width: 100%; padding: 0 !important; border: 0 !important; background: none !important; text-align: left !important; }
body .rental-period table th { font-size: 14px; font-weight: 500; line-height: 1.2; color: #2b2b31; }
body .rental-period table td::before { content: none !important; display: none !important; }
body .rental-period input[type="date"] { display: block; box-sizing: border-box; width: 100% !important; min-width: 0 !important; max-width: 100%; -webkit-appearance: none; appearance: none; text-align: left; }
body .rental-period input[type="date"]::-webkit-date-and-time-value { text-align: left; margin: 0; }
body .elementor-widget-woocommerce-cart .rental-period table { margin: 0 0 48px !important; }

body .elementor-widget-woocommerce-cart .cart_totals > table.shop_table, body .elementor-widget-woocommerce-cart .cart_totals > table.shop_table tbody { display: block; width: 100%; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; }
body .elementor-widget-woocommerce-cart .cart_totals > table.shop_table tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 16px; align-items: baseline; padding: 12px 0; border: 0 !important; background: none !important; }
body .elementor-widget-woocommerce-cart .cart_totals > table.shop_table tr:first-child { padding-top: 0; }
body .elementor-widget-woocommerce-cart .cart_totals > table.shop_table :is(th, td) { display: block !important; padding: 0 !important; border: 0 !important; background: none !important; font-size: 18px !important; font-weight: 500 !important; line-height: 1.3; color: #2b2b31; }
body .elementor-widget-woocommerce-cart .cart_totals > table.shop_table th { text-align: left !important; }
body .elementor-widget-woocommerce-cart .cart_totals > table.shop_table td { text-align: right !important; }
body .elementor-widget-woocommerce-cart .cart_totals > table.shop_table td::before { content: none !important; display: none !important; }
body .elementor-widget-woocommerce-cart .cart_totals .shipping td, body .elementor-widget-woocommerce-cart .cart_totals .shipping td label { color: #66666d !important; font-size: 18px !important; font-weight: 500 !important; margin: 0; }
body .elementor-widget-woocommerce-cart .cart_totals .shipping ul#shipping_method { margin: 0 !important; padding: 0; list-style: none; }
body .elementor-widget-woocommerce-cart .cart_totals .shipping ul#shipping_method li { margin: 0; padding: 0; text-align: right; }
body .elementor-widget-woocommerce-cart .cart_totals .woocommerce-shipping-destination { display: none; }
body .elementor-widget-woocommerce-cart .cart_totals > table.shop_table tr.order-total { margin-top: 12px; padding-top: 24px; border-top: 1.5px solid #2b2b31 !important; }
body .elementor-widget-woocommerce-cart .cart_totals > table.shop_table tr.order-total :is(th, td) { font-size: 24px !important; font-weight: 900 !important; }
body .elementor-widget-woocommerce-cart .cart_totals tr.order-total td :is(strong, .amount, bdi) { font-size: inherit !important; font-weight: 900 !important; }
body .elementor-widget-woocommerce-cart .cart_totals tr.order-total td .amount { background-image: var(--hl-grad); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
body .elementor-widget-woocommerce-cart .cart_totals .wc-proceed-to-checkout { margin-top: 24px; padding: 0; }

body .elementor-widget-woocommerce-checkout-page .woocommerce-checkout-review-order-table .wc-gzd-cart-item-name-wrapper { display: flex; align-items: center; gap: 16px; }
body .elementor-widget-woocommerce-checkout-page .woocommerce-checkout-review-order-table .wc-gzd-cart-item-thumbnail { flex: 0 0 60px; width: 60px; margin: 0 !important; }
body .elementor-widget-woocommerce-checkout-page .woocommerce-checkout-review-order-table .wc-gzd-cart-item-thumbnail img { display: block; width: 60px !important; height: 60px !important; object-fit: contain; }
body .elementor-widget-woocommerce-checkout-page .woocommerce-checkout-review-order-table .product-quantity { white-space: nowrap; }
body .elementor-widget-woocommerce-checkout-page .woocommerce-checkout-review-order-table td.product-name { width: 100%; }
body .elementor-widget-woocommerce-checkout-page .woocommerce-checkout-review-order-table td.product-total { padding-left: 16px !important; white-space: nowrap; }

@media (max-width: 879px) {
  body .elementor-widget-woocommerce-checkout-page .woocommerce-checkout-review-order-table .wc-gzd-cart-item-name-wrapper { display: grid; grid-template-columns: 60px minmax(0, 1fr); column-gap: 16px; row-gap: 4px; align-items: center; }
  body .elementor-widget-woocommerce-checkout-page .woocommerce-checkout-review-order-table .wc-gzd-cart-item-thumbnail { grid-column: 1; grid-row: 1 / span 2; }
  body .elementor-widget-woocommerce-checkout-page .woocommerce-checkout-review-order-table .wc-gzd-cart-item-name-wrapper .product-quantity { grid-column: 2; grid-row: 2; align-self: start; justify-self: start; margin: 0 !important; text-align: left; }
}

.hl-produkt-related .elementor-widget-loop-grid .hl-karte.is-karte-inview:not(.hl-rel-in) {
  opacity: 0;
  transform: translate3d(0, var(--karte-intro-y), 0) scale(var(--karte-intro-scale));
  filter: var(--hl-blur-in);
}
.hl-produkt-related .elementor-widget-loop-grid .hl-karte { transition-delay: calc(.1s + var(--karte-index, 0) * .15s); }
body.elementor-editor-active .hl-produkt-related .hl-karte { opacity: 1 !important; transform: none !important; filter: none !important; }
@media (prefers-reduced-motion: reduce) {
  .hl-produkt-related .hl-karte { opacity: 1 !important; transform: none !important; filter: none !important; transition: none !important; }
}

.content-premium ~ .e-con :is(.elementor-widget-woocommerce-cart, .elementor-widget-woocommerce-checkout-page) { opacity: 0; transition: opacity .6s; transition-delay: var(--content-delay-copy, .2s); }
.content-premium ~ .e-con :is(.elementor-widget-woocommerce-cart, .elementor-widget-woocommerce-checkout-page) > .elementor-widget-container { transform: translateY(var(--hl-distance)); filter: var(--hl-blur-in); transition: transform var(--hl-duration) var(--hl-easing), filter .5s; transition-delay: var(--content-delay-copy, .2s); }
.content-premium.is-inview ~ .e-con :is(.elementor-widget-woocommerce-cart, .elementor-widget-woocommerce-checkout-page) { opacity: 1; }
.content-premium.is-inview ~ .e-con :is(.elementor-widget-woocommerce-cart, .elementor-widget-woocommerce-checkout-page) > .elementor-widget-container { transform: none; filter: none; }
body.elementor-editor-active .content-premium ~ .e-con :is(.elementor-widget-woocommerce-cart, .elementor-widget-woocommerce-checkout-page),
body.elementor-editor-active .content-premium ~ .e-con :is(.elementor-widget-woocommerce-cart, .elementor-widget-woocommerce-checkout-page) > .elementor-widget-container { opacity: 1 !important; transform: none !important; filter: none !important; transition: none !important; }
@media (prefers-reduced-motion: reduce) {
  .content-premium ~ .e-con :is(.elementor-widget-woocommerce-cart, .elementor-widget-woocommerce-checkout-page),
  .content-premium ~ .e-con :is(.elementor-widget-woocommerce-cart, .elementor-widget-woocommerce-checkout-page) > .elementor-widget-container { opacity: 1 !important; transform: none !important; filter: none !important; transition: none !important; }
}

.single_add_to_cart_button.hl-laedt { opacity: .7; cursor: progress; pointer-events: none; }

body .quantity input.qty { -moz-appearance: textfield; appearance: textfield; padding: 3px 0 0 !important; text-align: center !important; }
body .quantity input.qty::-webkit-inner-spin-button,
body .quantity input.qty::-webkit-outer-spin-button { -webkit-appearance: none; appearance: none; margin: 0; }
body .rental-period input[type="date"] { position: relative; padding: 0 16px !important; text-align: left !important; cursor: pointer; }
body .rental-period input[type="date"]::-webkit-date-and-time-value { text-align: left; margin: 0; }
body .rental-period input[type="date"]::-webkit-datetime-edit { display: flex; align-items: center; justify-content: flex-start; height: 100%; padding: 0; }
body .rental-period input[type="date"]::-webkit-calendar-picker-indicator { position: absolute; inset: 0; width: auto; height: auto; margin: 0; padding: 0; opacity: 0; cursor: pointer; }

body :is(.single_add_to_cart_button, .woocommerce button.button, #place_order) { -webkit-appearance: none; appearance: none; }
body :is(.single_add_to_cart_button, .woocommerce a.button, .woocommerce button.button, .woocommerce .checkout-button, #place_order, .cmplz-cookiebanner .cmplz-btn.cmplz-accept, .cmplz-cookiebanner .cmplz-btn.cmplz-deny) {
  box-sizing: border-box !important;
  min-height: var(--hl-btn-h) !important;
  height: auto !important;
  padding: calc(var(--hl-btn-py) + .07em) var(--hl-btn-px) calc(var(--hl-btn-py) - .07em) !important;
  border-width: 1.5px !important;
  border-style: solid !important;
  border-radius: var(--hl-radius) !important;
  font-family: "ROTA Family", sans-serif !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  line-height: 18px !important;
  letter-spacing: normal !important;
}

body .elementor-button:has(.elementor-button-text) { font-size: 18px !important; line-height: 18px !important; border-width: 1.5px !important; }

body .elementor-widget-form .elementor-form .elementor-field-type-submit .elementor-button.elementor-button.elementor-button { border-width: 1.5px !important; }

.elementor-button .elementor-button-text { white-space: nowrap; }
.e-con:has(> .elementor-widget-button + .elementor-widget-button) { flex-wrap: wrap !important; }

body .quantity input.qty { box-sizing: border-box !important; height: var(--hl-btn-h) !important; min-height: 0 !important; }

body .rental-period input[type="date"] { height: 48px !important; line-height: 45px; }
body .rental-period input[type="date"]::-webkit-date-and-time-value { box-sizing: border-box; min-height: 45px; line-height: 42px; padding-top: 3px; text-align: left; margin: 0; }

body:not(.elementor-editor-active) [data-elementor-type="product"]:not(:has(.hl-produkt-related .e-loop-item)) .hl-produkt-details,
body:not(.elementor-editor-active) [data-elementor-type="product"]:not(:has(.hl-produkt-related .e-loop-item)):not(:has(.hl-produkt-details .hl-produkt-beschreibung)) .hl-produkt-hero:has(+ .hl-produkt-details) { --padding-bottom: 96px !important; }
@media (max-width: 479px) {
  body:not(.elementor-editor-active) [data-elementor-type="product"]:not(:has(.hl-produkt-related .e-loop-item)) .hl-produkt-details,
  body:not(.elementor-editor-active) [data-elementor-type="product"]:not(:has(.hl-produkt-related .e-loop-item)):not(:has(.hl-produkt-details .hl-produkt-beschreibung)) .hl-produkt-hero:has(+ .hl-produkt-details) { --padding-bottom: 48px !important; }
}

@media (min-width: 1024px) {
  body .elementor-10 { min-height: 100vh; }
}

body :is(.single_add_to_cart_button, .woocommerce a.button, .woocommerce button.button, .woocommerce .checkout-button, #place_order, .cmplz-cookiebanner .cmplz-btn.cmplz-accept, .cmplz-cookiebanner .cmplz-btn.cmplz-deny) {
  position: relative;
  display: inline-grid !important;
  place-items: center;
  overflow: hidden;
  isolation: isolate;
  text-decoration: none !important;
  color: #fff !important;
  text-shadow: none !important;
  border-color: rgba(255, 255, 255, .12) !important;
  background-color: transparent !important;
  background-image: linear-gradient(135deg, #312783 0%, #482682 30%, #c7027f 70%, #e6007e 100%) !important;
  background-size: 150% 150% !important;
  background-position: 12% 50% !important;
  transition: box-shadow .45s var(--hl-easing), background-position .9s ease, background-color .35s ease, border-color .3s ease, filter .3s ease !important;
}
body :is(.single_add_to_cart_button, .woocommerce a.button, .woocommerce button.button, .woocommerce .checkout-button, #place_order, .cmplz-cookiebanner .cmplz-btn.cmplz-accept, .cmplz-cookiebanner .cmplz-btn.cmplz-deny):hover { filter: brightness(1.04) saturate(1.02); background-position: 96% 50% !important; border-color: rgba(255, 255, 255, .17) !important; color: #fff !important; }

body .woocommerce-order :is(.woocommerce-order-details, .woocommerce-customer-details) { margin: 0 0 24px !important; padding: 32px; background: #f2f2f2; border: 0; border-radius: var(--hl-radius); }
body .woocommerce-order :is(.woocommerce-order-details__title, .woocommerce-column__title) { margin: 0 0 24px !important; padding: 0; font-size: 24px !important; font-weight: 900 !important; line-height: 1.2; color: #2b2b31; }
body .woocommerce-order table.order_details, body .woocommerce-order table.order_details :is(thead, tbody, tfoot) { display: block; width: 100%; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; }
body .woocommerce-order table.order_details tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 16px; align-items: baseline; margin: 0; padding: 12px 0; border: 0 !important; background: none !important; }
body .woocommerce-order table.order_details :is(th, td) { display: block; padding: 0 !important; border: 0 !important; background: none !important; text-align: left !important; font-size: 16px !important; font-weight: 500 !important; line-height: 1.3; color: #2b2b31; }
body .woocommerce-order table.order_details :is(th, td):last-child:not(:first-child) { text-align: right !important; }
body .woocommerce-order table.order_details thead tr { padding: 0 0 12px; }
body .woocommerce-order table.order_details thead th { font-weight: 700 !important; }
body .woocommerce-order table.order_details tbody tr { padding: 16px 0; border-top: 1px solid rgba(0, 0, 0, .12) !important; }
body .woocommerce-order table.order_details td.product-name a { color: inherit !important; text-decoration: none; }
body .woocommerce-order table.order_details .product-quantity { margin-left: 4px; font-weight: 500; color: #66666d; white-space: nowrap; }
body .woocommerce-order table.order_details tbody td.product-total { font-weight: 700 !important; white-space: nowrap; }
body .woocommerce-order table.order_details tfoot tr { grid-template-columns: auto minmax(0, 1fr); }
body .woocommerce-order table.order_details tfoot { display: flex; flex-direction: column; padding-top: 12px !important; border-top: 1px solid rgba(0, 0, 0, .12) !important; }
body .woocommerce-order table.order_details tfoot :is(th, td) { font-size: 18px !important; }
body .woocommerce-order table.order_details tfoot tr:last-child { order: -1; }
body .woocommerce-order table.order_details tfoot tr:nth-child(2) td { color: #66666d; }
body .woocommerce-order table.order_details tfoot tr:nth-last-child(2) { margin-top: 12px; padding-top: 24px; border-top: 1.5px solid #2b2b31 !important; }
body .woocommerce-order table.order_details tfoot tr:nth-last-child(2) :is(th, td) { font-size: 24px !important; font-weight: 900 !important; }
body .woocommerce-order table.order_details tfoot tr:nth-last-child(2) td .amount { background-image: var(--hl-grad); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
body .woocommerce-order .woocommerce-customer-details address { margin: 0; padding: 0 !important; border: 0 !important; font-style: normal; font-size: 16px; font-weight: 500; line-height: 1.6; color: #2b2b31; }
body .woocommerce-order .woocommerce-customer-details address p { margin: 8px 0 0 !important; padding: 0 !important; }
body .woocommerce-order .woocommerce-customer-details address p::before { content: none !important; display: none !important; }
body .woocommerce-order .woocommerce-customer-details .woocommerce-customer-details--email { margin-top: 0 !important; }
body .elementor-widget-woocommerce-purchase-summary .woocommerce ul.woocommerce-order-overview { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 24px !important; padding: 0; list-style: none; }
body .elementor-widget-woocommerce-purchase-summary .woocommerce ul.woocommerce-order-overview::before, body .elementor-widget-woocommerce-purchase-summary .woocommerce ul.woocommerce-order-overview::after { content: none; display: none; }
body .elementor-widget-woocommerce-purchase-summary .woocommerce ul.woocommerce-order-overview li { width: auto; display: flex; flex-direction: column-reverse; justify-content: flex-end; gap: 4px; margin: 0 !important; padding: 12px 16px 10px !important; background: #f2f2f2; border: 0 !important; border-radius: var(--hl-radius); font-size: 13px !important; font-weight: 500 !important; line-height: 1.2 !important; color: #6b6b72 !important; text-transform: none; }
body .elementor-widget-woocommerce-purchase-summary .woocommerce ul.woocommerce-order-overview li strong { display: block; margin: 0 !important; font-size: 18px !important; font-weight: 900 !important; line-height: 1.1 !important; background-image: var(--hl-grad); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
body .woocommerce form.woocommerce-verify-email { margin: 0 0 24px; padding: 32px; background: #f2f2f2; border: 0; border-radius: var(--hl-radius); }
body .woocommerce form.woocommerce-verify-email p { margin: 0 0 16px; padding: 0; font-size: 16px; font-weight: 500; line-height: 1.5; color: #2b2b31; }
body .woocommerce form.woocommerce-verify-email p:last-of-type { margin-bottom: 0; }
body .woocommerce form.woocommerce-verify-email label { display: block; margin: 0 0 8px; font-size: 16px; font-weight: 700; line-height: 1.3; color: #2b2b31; }
body .woocommerce form.woocommerce-verify-email input.input-text { box-sizing: border-box; width: 100%; padding: 16px; background: #fafafa; border: 1px solid #dcdad6; border-radius: var(--hl-radius); box-shadow: none; font-size: 18px; font-weight: 500; line-height: 1.4; color: #2b2b31; }
body .woocommerce form.woocommerce-verify-email input.input-text:focus { outline: none; border-color: #c7027f; }
@media (max-width: 479px) {
  body .woocommerce-order :is(.woocommerce-order-details, .woocommerce-customer-details), body .woocommerce form.woocommerce-verify-email { padding: 24px; }
}
@keyframes hl-order-in { from { opacity: 0; transform: translate3d(0, var(--hl-distance), 0); filter: var(--hl-blur-in); } to { opacity: 1; transform: none; filter: none; } }
body .elementor-widget-woocommerce-purchase-summary :is(.woocommerce-order-overview li, .woocommerce-order-details, .woocommerce-customer-details, form.woocommerce-verify-email) { animation: hl-order-in var(--hl-duration) var(--hl-easing) .2s both; }
body .elementor-widget-woocommerce-purchase-summary .woocommerce-order-overview li:nth-child(2) { animation-delay: .28s; }
body .elementor-widget-woocommerce-purchase-summary .woocommerce-order-overview li:nth-child(3) { animation-delay: .36s; }
body .elementor-widget-woocommerce-purchase-summary .woocommerce-order > .woocommerce-order-details { animation-delay: .44s; }
body .elementor-widget-woocommerce-purchase-summary .woocommerce-order > .woocommerce-customer-details { animation-delay: .52s; }
@media (min-width: 1200px) {
  body .elementor-widget-woocommerce-purchase-summary .woocommerce-order:has(> .woocommerce-customer-details) { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 24px; align-items: start; }
  body .elementor-widget-woocommerce-purchase-summary .woocommerce-order:has(> .woocommerce-customer-details) > .woocommerce-order-details { grid-column: span 2; }
  body .elementor-widget-woocommerce-purchase-summary .woocommerce-order:has(> .woocommerce-customer-details) > :not(.woocommerce-order-details, .woocommerce-customer-details) { grid-column: 1 / -1; }
  body .elementor-widget-woocommerce-purchase-summary .woocommerce-order > .woocommerce-customer-details { position: sticky; top: 120px; }
}

/* ═══ 38 · KARTEN · eine Quelle für alle drei Kartenarten ═══ */

:root {
  --hl-glass-bg: rgba(250, 250, 250, .7);
  --hl-glass-border: rgba(255, 255, 255, .55);
  --hl-glass-shadow: none;
  --hl-cta-bg: #ffffff;
  --hl-cta-border: #dedede;
  --hl-cta-border-hover: #c8c8c8;
  --hl-cta-shadow: none;
  --hl-cta-shadow-hover: none;
}

.hl-karte .hl-karte-box,
.hl-kategorie-kacheln .hl-kat-box {
  background: var(--hl-glass-bg) !important;
  border: 1px solid var(--hl-glass-border) !important;
  box-shadow: var(--hl-glass-shadow) !important;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}

.hl-karte .e-con:has(> .hl-karte-arrow) {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-self: flex-start !important;
  align-items: center !important;
  width: auto !important;
  max-width: max-content;
  box-sizing: border-box;
  min-height: var(--hl-btn-h);
  gap: 0 !important;
  padding: calc(var(--hl-btn-py) + .07em) var(--hl-btn-px) calc(var(--hl-btn-py) - .07em) !important;
  border: 1px solid var(--hl-cta-border) !important;
  border-radius: var(--hl-radius) !important;
  background: var(--hl-cta-bg) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  box-shadow: var(--hl-cta-shadow) !important;
  transition: border-color .3s ease, box-shadow .45s var(--hl-easing);
}
.hl-karte:hover .e-con:has(> .hl-karte-arrow) { border-color: var(--hl-cta-border-hover) !important; box-shadow: var(--hl-cta-shadow-hover) !important; }
.hl-karte .e-con:has(> .hl-karte-arrow) > .hl-karte-arrow { display: none !important; }
.hl-karte .e-con:has(> .hl-karte-arrow) > .elementor-widget-heading { margin: 0 !important; }

.hl-karte .e-con:has(> .hl-karte-arrow) { margin-top: 16px !important; }

.hl-karte-box .e-con:has(> .e-con > .hl-karte-name):not(:has(.hl-karte-arrow)) { justify-content: flex-start !important; row-gap: 12px !important; gap: 12px !important; }
.hl-karte .hl-karte-box:has(> .e-con > .hl-karte-arrow) .hl-karte-name > .elementor-widget-container { display: block !important; margin-bottom: 0 !important; }
.hl-karte .e-con:has(> .hl-karte-arrow) .elementor-heading-title,
.hl-kategorie-kacheln .woocommerce-loop-category__title::after {
  --hl-c1: #343434; --hl-c2: #343434; --hl-c3: #343434; --hl-c4: #343434;
  font-family: "ROTA Family", sans-serif !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  line-height: 18px !important;
  letter-spacing: normal !important;
  white-space: nowrap;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
}
.hl-karte:hover .e-con:has(> .hl-karte-arrow) .elementor-heading-title,
.hl-kategorie-kacheln li.product-category:hover .woocommerce-loop-category__title::after { --hl-c1: #312783; --hl-c2: #482682; --hl-c3: #c7027f; --hl-c4: #e6007e; }
.hl-karte .e-con:has(> .hl-karte-arrow) .elementor-heading-title {
  margin: 0;
  background-image: linear-gradient(90deg, var(--hl-c1) 0%, var(--hl-c2) 34%, var(--hl-c3) 68%, var(--hl-c4) 100%) !important;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  transition: --hl-c1 .4s, --hl-c2 .4s, --hl-c3 .4s, --hl-c4 .4s;
}

.hl-kategorie-kacheln .woocommerce-loop-category__title::after {
  content: "Entdecken" !important;
  display: block !important;
  width: max-content !important;
  box-sizing: border-box;
  min-height: var(--hl-btn-h);
  margin-top: 16px !important;
  padding: calc(var(--hl-btn-py) + .07em) var(--hl-btn-px) calc(var(--hl-btn-py) - .07em) !important;
  border: 1px solid var(--hl-cta-border);
  border-radius: var(--hl-radius);
  background-image: linear-gradient(90deg, var(--hl-c1) 0%, var(--hl-c2) 34%, var(--hl-c3) 68%, var(--hl-c4) 100%), linear-gradient(var(--hl-cta-bg), var(--hl-cta-bg)) !important;
  background-size: 100% 100% !important;
  background-repeat: no-repeat !important;
  background-position: 0 0 !important;
  -webkit-background-clip: text, padding-box !important;
  background-clip: text, padding-box !important;
  box-shadow: var(--hl-cta-shadow);
  transition: --hl-c1 .4s, --hl-c2 .4s, --hl-c3 .4s, --hl-c4 .4s, border-color .3s ease, box-shadow .45s var(--hl-easing) !important;
}
.hl-kategorie-kacheln li.product-category:hover .woocommerce-loop-category__title::after { padding-right: var(--hl-btn-px) !important; border-color: var(--hl-cta-border-hover); box-shadow: var(--hl-cta-shadow-hover); }
.hl-karte .e-con.e-con:has(> .hl-karte-arrow), .hl-kategorie-kacheln .woocommerce-loop-category__title { --hl-cta-border: rgba(0, 0, 0, 0.105); --hl-cta-border-hover: rgba(0, 0, 0, 0.19); }
.hl-karte .e-con.e-con:has(> .hl-karte-arrow) { background-clip: padding-box !important; }

.hl-karte.hl-karte-produkt,
.elementor-12152 .hl-karte,
.elementor-13765 .hl-karte,
.hl-kategorie-kacheln li.product-category { aspect-ratio: 2 / 3 !important; height: auto !important; }
@media (min-width: 480px) and (max-width: 679px) {
  .elementor-widget-loop-grid :is(.hl-karte.hl-karte-produkt, .elementor-12152 .hl-karte),
  .hl-kategorie-kacheln li.product-category { aspect-ratio: 1 / 2 !important; }
}
.elementor-12152 .hl-karte,
.elementor-13765 .hl-karte { padding-top: 24px !important; }
.hl-kategorie-kacheln li.product-category::before { content: none; }
.hl-karte .hl-karte-box { row-gap: 12px !important; }
.bilder-wrapper-soft .premium-bild-soft img,
.bilder-wrapper :is(.bild-1, .bild-2) img,
.hl-galerie .swiper-slide img { transform: scale(1.01); }
.hl-karte-box .e-con:has(> .hl-karte-name) { row-gap: 4px !important; gap: 4px !important; }
@media (max-width: 479px) { .hl-karte-box .e-con:has(> .hl-karte-name) { row-gap: 2px !important; gap: 2px !important; } }
@media (max-width: 1440px) {
  .hl-karte .hl-karte-name .elementor-heading-title,
  .hl-kategorie-kacheln li.product-category:not(.hl-kachel-mehr) .woocommerce-loop-category__title,
  [data-elementor-type="footer"] .elementor-heading-title { font-size: 20px !important; }
}
.elementor-20712 .e-con.hl-seo-wrap { margin-top: 48px !important; }
.elementor-20750 .e-con.hl-seo-wrap { margin-top: 96px !important; }
@media (max-width: 879px) { .elementor-20712 .e-con.hl-seo-wrap { margin-top: 56px !important; } }
@media (max-width: 479px) { .elementor-20712 .e-con.hl-seo-wrap { margin-top: 64px !important; } }
.hl-kategorie-kacheln li.product-category > a,
.hl-kategorie-kacheln .hl-kachel-mehr-inner { padding-top: 24px !important; }
.hl-karte.hl-karte-produkt { padding-top: 0 !important; }
.hl-karte.hl-karte-produkt .hl-karte-foto { position: relative !important; inset: auto !important; flex: 1 1 0; min-height: 0; align-self: stretch !important; width: auto !important; height: auto !important; margin: 0 !important; padding: 0 !important; }
.hl-karte.hl-karte-produkt .hl-karte-foto .elementor-widget-container { position: static; }
.hl-karte.hl-karte-produkt .hl-karte-foto { overflow: visible !important; }
.hl-karte.hl-karte-produkt .hl-karte-foto img { position: absolute; inset: 24px; width: calc(100% - 48px) !important; height: calc(100% - 48px) !important; }
.hl-karte.hl-karte-produkt:hover .hl-karte-foto img { transform: scale(1.06) !important; }
@media (min-width: 480px) and (max-width: 879px) {
  .elementor-widget-loop-grid:has(.elementor-12152) .elementor-loop-container { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

/* ═══ 39 · Cookie-Banner (Complianz) ═══ */

body .cmplz-cookiebanner {
  font-family: "ROTA Family", sans-serif !important;

  background: rgba(255,255,255,.55) !important;
  -webkit-backdrop-filter: blur(22px) saturate(160%); backdrop-filter: blur(22px) saturate(160%);
  border: 1px solid rgba(255,255,255,.5) !important;
  border-radius: var(--hl-radius) !important;
  box-shadow: 0 12px 40px rgba(20,16,60,.18) !important;
  padding: 24px !important;
  width: 440px !important; max-width: calc(100vw - 32px) !important;
  row-gap: 16px !important;
  color: #2b2b31;
}
body .cmplz-cookiebanner .cmplz-header { justify-content: flex-start !important; }
body .cmplz-cookiebanner .cmplz-title { font-family: inherit !important; font-size: 20px !important; font-weight: 900 !important; line-height: 1.2 !important; text-align: left !important; color: #2b2b31 !important; justify-self: start !important; grid-column: 1 / -1; }
body .cmplz-cookiebanner .cmplz-message, body .cmplz-cookiebanner .cmplz-message p { font-family: inherit !important; font-size: 16px !important; font-weight: 500 !important; line-height: 1.45 !important; color: #2b2b31 !important; text-align: left !important; }
body .cmplz-cookiebanner .cmplz-header { display: flex !important; height: auto !important; }
body .cmplz-cookiebanner .cmplz-title { display: block !important; }
body .cmplz-cookiebanner .cmplz-buttons { display: flex !important; flex-direction: row !important; flex-wrap: wrap !important; gap: 8px !important; height: auto !important; }
body .cmplz-cookiebanner .cmplz-btn { margin: 0 !important; width: auto !important; max-width: none !important; white-space: nowrap; }
body .cmplz-cookiebanner .cmplz-btn:is(.cmplz-accept, .cmplz-deny) { flex: 1 1 calc(50% - 4px) !important; }
body .cmplz-cookiebanner .cmplz-btn:is(.cmplz-view-preferences, .cmplz-save-preferences) { flex: 1 1 100% !important; }
body .cmplz-cookiebanner .cmplz-body { width: 100% !important; overflow: visible !important; }
body .cmplz-cookiebanner .cmplz-divider { display: none !important; }
body .cmplz-cookiebanner.cmplz-show { display: flex !important; flex-direction: column !important; align-items: stretch !important; gap: 16px !important; overflow-x: hidden !important; }
body .cmplz-cookiebanner > * { width: 100% !important; max-width: 100% !important; min-width: 0 !important; box-sizing: border-box; }

body .cmplz-cookiebanner.cmplz-bottom-left, body .cmplz-cookiebanner.cmplz-bottom-right { left: auto !important; right: 16px !important; bottom: 16px !important; }
@media (min-width: 880px) { body .cmplz-cookiebanner.cmplz-bottom-left, body .cmplz-cookiebanner.cmplz-bottom-right { left: auto !important; right: 24px !important; bottom: 24px !important; } }

@media (min-width: 880px) and (max-width: 1024px) { body .cmplz-cookiebanner.cmplz-bottom-left, body .cmplz-cookiebanner.cmplz-bottom-right { right: 7.5vw !important; } }
@media (min-width: 1025px) and (max-width: 1200px) { body .cmplz-cookiebanner.cmplz-bottom-left, body .cmplz-cookiebanner.cmplz-bottom-right { right: 5vw !important; } }
@media (min-width: 1201px) and (max-width: 1440px) { body .cmplz-cookiebanner.cmplz-bottom-left, body .cmplz-cookiebanner.cmplz-bottom-right { right: calc((100vw - 1008px) / 2) !important; } }
@media (min-width: 1441px) and (max-width: 1919px) { body .cmplz-cookiebanner.cmplz-bottom-left, body .cmplz-cookiebanner.cmplz-bottom-right { right: calc((100vw - 1296px) / 2) !important; }
}
@media (min-width: 1920px) { body .cmplz-cookiebanner.cmplz-bottom-left, body .cmplz-cookiebanner.cmplz-bottom-right { right: calc((100vw - 1440px) / 2) !important; }
}

@media (min-width: 480px) and (max-width: 879px) { body .cmplz-cookiebanner.cmplz-bottom-left, body .cmplz-cookiebanner.cmplz-bottom-right { left: 0 !important; right: 0 !important; margin-left: auto !important; margin-right: auto !important; } }
body .cmplz-cookiebanner .cmplz-documents, body .cmplz-cookiebanner .cmplz-links { flex-wrap: wrap !important; row-gap: 4px !important; }
body .cmplz-cookiebanner .cmplz-documents a, body .cmplz-cookiebanner .cmplz-links a { white-space: nowrap; }
body .cmplz-cookiebanner .cmplz-btn.cmplz-accept, body .cmplz-cookiebanner .cmplz-btn.cmplz-deny { color: #fff !important; border-color: rgba(255,255,255,.12) !important; }
body .cmplz-cookiebanner .cmplz-btn:is(.cmplz-view-preferences, .cmplz-save-preferences) {
  box-sizing: border-box !important; min-height: var(--hl-btn-h) !important; height: auto !important;
  padding: calc(var(--hl-btn-py) + .07em) var(--hl-btn-px) calc(var(--hl-btn-py) - .07em) !important;
  background: #f2f2f2 !important; color: #2b2b31 !important;
  border: 1.5px solid #dcdad6 !important; border-radius: var(--hl-radius) !important;
  font-family: "ROTA Family", sans-serif !important; font-size: 18px !important; font-weight: 900 !important; line-height: 18px !important;
  transition: border-color .2s, background-color .2s;
}
body .cmplz-cookiebanner .cmplz-btn:is(.cmplz-view-preferences, .cmplz-save-preferences):hover { background: #e9e9e9 !important; border-color: #c9c6c1 !important; }
body .cmplz-cookiebanner .cmplz-links, body .cmplz-cookiebanner .cmplz-documents { justify-content: flex-start !important; gap: 16px !important; }
body .cmplz-cookiebanner .cmplz-links a, body .cmplz-cookiebanner .cmplz-link { font-family: inherit !important; font-size: 14px !important; font-weight: 500 !important; color: #2b2b31 !important; text-decoration: underline !important; text-underline-offset: 3px; margin: 0 !important; }
body .cmplz-cookiebanner .cmplz-categories .cmplz-category { background: #f2f2f2 !important; border: 1px solid #dcdad6; border-radius: var(--hl-radius) !important; }
body .cmplz-cookiebanner .cmplz-category-title { font-family: inherit !important; font-size: 16px !important; font-weight: 900 !important; color: #2b2b31 !important; }
body .cmplz-cookiebanner .cmplz-description, body .cmplz-cookiebanner .cmplz-always-active { font-family: inherit !important; font-size: 14px !important; color: #2b2b31 !important; }
body .cmplz-cookiebanner .cmplz-always-active { color: #c7027f !important; font-weight: 700 !important; }
body .cmplz-cookiebanner { --cmplz_slider_active_color: #e6007e; --cmplz_category_header_always_active_color: #c7027f; }
body #cmplz-manage-consent .cmplz-manage-consent.cmplz-show { display: block !important; bottom: 0 !important; top: auto !important; transform: none !important; }
body #cmplz-manage-consent .cmplz-manage-consent {
  font-family: "ROTA Family", sans-serif !important; font-size: 14px !important; font-weight: 700 !important;
  background: rgba(255,255,255,.55) !important; -webkit-backdrop-filter: blur(22px) saturate(160%); backdrop-filter: blur(22px) saturate(160%);
  color: #2b2b31 !important; border: 1px solid rgba(255,255,255,.5) !important; border-bottom: 0 !important;
  border-radius: var(--hl-radius) var(--hl-radius) 0 0 !important; box-shadow: 0 -4px 16px rgba(20,16,60,.12) !important;
  height: auto !important; padding: 8px 16px 6px !important; left: auto !important; right: 24px !important;
}
@media (max-width: 479px) {
  body .cmplz-cookiebanner, body .cmplz-cookiebanner.cmplz-bottom-left, body .cmplz-cookiebanner.cmplz-bottom-right { left: 5vw !important; right: 5vw !important; bottom: 16px !important; width: auto !important; max-width: none !important; margin: 0 !important; }
}

/* ═══ 40 · Launch-Audit 10/2026: Responsive-Fixes ═══ */

@media (max-width: 1024px) {
  input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="hidden"]),
  select, textarea { font-size: 16px !important; }
}

.elementor-element-760d71d0 a, .elementor-element-55c9d50 a { display: inline-flex; padding: 15px; margin: -15px; }
.hl-header-logo a { display: inline-block; padding-block: 11px; margin-block: -11px; }

.hl-karte-produkt:not(:has(.hl-karte-foto img)) {
  background-image: url("/wp-content/uploads/2025/05/hl_bildmarke_gradient.svg");
  background-repeat: no-repeat; background-position: center 28%; background-size: 64px auto;
}
.hl-produkt-bild:not(:has(img)) {
  background: #f2f2f2 url("/wp-content/uploads/2025/05/hl_bildmarke_gradient.svg") no-repeat center / 96px auto;
}

@media (max-width: 880px) {
  .hl-produkt-hero:has(.hl-produkt-info) > .e-con-inner { row-gap: 24px !important; }
  .hl-produkt-hero .hl-produkt-info { display: contents; }
  .hl-produkt-hero .hl-produkt-info > * { order: 1; align-self: stretch; width: 100%; text-align: start; }
  .hl-produkt-hero .hl-produkt-info > .elementor-widget-woocommerce-notices { order: -2; }
  .hl-produkt-hero .hl-produkt-info > .hl-produkt-titel { order: -1; }

  .hl-produkt-hero .hl-produkt-bild { order: 0; margin-top: 0; margin-bottom: 8px; }
}
@media (max-width: 479px) { .hl-produkt-hero .hl-produkt-bild { margin-top: 1px; } }

@media (max-width: 880px) {
  .elementor-20824 .elementor-element-9b7cd28 > .e-con-inner,
  .elementor-20712 .elementor-element-d8857dc > .e-con-inner,
  .elementor-20750 .elementor-element-2387c39 > .e-con-inner { padding-top: 133px !important; }
  .elementor-20824 .elementor-element-945a929 > .e-con-inner { padding-top: 0 !important; }
  .elementor-20824 .hl-produkt-info > .elementor-widget-woocommerce-notices { display: none !important; }

  .elementor-20712 .hl-shopbar, .elementor-20750 .hl-shopbar { margin-bottom: 8px !important; }
  .elementor-20824 .hl-shopbar { margin-bottom: 32px !important; }
}

@media (max-width: 880px) {
  .hero-premium.hero-duo { min-height: 0 !important; }
  .hero-premium.hero-duo > .e-con-inner { justify-content: flex-start !important; min-height: 0 !important; }
}

@media (min-width: 1024px) and (max-width: 1199px) {

  .hl-leistungen { flex-direction: row !important; gap: 24px !important; height: 640px; align-items: stretch !important; }
  .hl-leistungen > .hl-leistungen-media,
  .hl-leistungen > .hl-leistungen-akkordeon { width: auto !important; max-width: none !important; flex: 1 1 0 !important; }
  .hl-leistungen-media { height: auto !important; min-height: 0 !important; }
  .hl-leistungen-akkordeon { height: auto !important; }
  .hl-leistungen-akkordeon .elementor-widget-n-accordion,
  .hl-leistungen-akkordeon .elementor-widget-n-accordion > .elementor-widget-container,
  .hl-leistungen-akkordeon .e-n-accordion { max-height: none !important; }
  .hl-leistungen-akkordeon .e-n-accordion { flex: 0 0 auto; gap: 12px; }
  .hl-leistungen-akkordeon .e-n-accordion-item { flex: 0 0 auto; }
  .hl-leistungen-akkordeon .e-n-accordion-item[open] > .e-con { display: block !important; }
  .hl-leistungen-akkordeon .e-n-accordion-item > summary { padding: 24px; }
  .hl-leistungen-media .hl-leistung-slide .elementor-widget-heading { padding: 24px; }

  .hl-leistungen-akkordeon { min-height: 0 !important; }
  .hl-leistungen-akkordeon .elementor-widget-button { text-align: left !important; }
  .hl-leistungen-akkordeon .elementor-widget-button > .elementor-widget-container { margin-top: 0 !important; }
}

@media (min-width: 880px) and (max-width: 1023px) { .hl-leistungen-media { min-height: 0 !important; } }

@media (max-width: 1199px) {
  .hl-leistungen-akkordeon .e-n-accordion-item > .e-con { padding: 0 24px 54px !important; }
  .hl-leistungen .hl-leistungen-akkordeon .e-n-accordion-item > .e-con::after { left: 24px !important; right: 24px !important; bottom: 24px !important; }
}

@media (min-width: 881px) and (max-width: 1024px) {
  .e-con:has(> .hl-leistungen) { padding-top: 0 !important; padding-bottom: 0 !important; }
}

@media (max-width: 1199px) {
  .hl-leistungen-akkordeon .e-n-accordion-item .elementor-widget-text-editor p:last-child { margin-bottom: 0 !important; }
  .hl-leistungen-akkordeon .e-n-accordion-item .elementor-widget-button > .elementor-widget-container { margin-top: 4px !important; }
}

.hl-leistungen-akkordeon .e-n-accordion-item > .e-con { overflow: hidden !important; scrollbar-width: none; }
.hl-leistungen-akkordeon .e-n-accordion-item > .e-con::-webkit-scrollbar { display: none; }

@media (min-width: 1025px) and (max-width: 1200px) { .e-parent.kontakt-premium:not(.hero-kontakt-container) { padding-left: 0 !important; padding-right: 0 !important; } .e-parent.kontakt-premium:not(.hero-kontakt-container) > .e-con-inner { max-width: 90% !important; } }
@media (min-width: 1201px) and (max-width: 1440px) { .e-parent.kontakt-premium:not(.hero-kontakt-container) > .e-con-inner { max-width: 1008px !important; } }
@media (min-width: 1025px) and (max-width: 1440px) { .e-parent.kontakt-premium:not(.hero-kontakt-container) > .e-con-inner > .e-con { width: 100% !important; max-width: 100% !important; } }

@media (max-width: 1024px) {
  .elementor-location-footer .elementor-element-dd6063f { flex-direction: row !important; flex-wrap: wrap !important; justify-content: flex-start !important; column-gap: 16px !important; row-gap: 0 !important; }
  .elementor-location-footer .elementor-element-dd6063f > .elementor-widget:first-child { flex-basis: 100% !important; margin-bottom: 4px; }
  .elementor-location-footer .elementor-element-dd6063f > .elementor-widget { width: auto !important; flex: 0 0 auto !important; }
}

body .elementor-form .elementor-field-textual::placeholder,
body .elementor-form textarea::placeholder,
body .woocommerce form .input-text::placeholder,
body .woocommerce-checkout input::placeholder,
body .woocommerce-checkout textarea::placeholder { color: rgb(138, 138, 144) !important; opacity: 1 !important; font-weight: 400 !important; line-height: inherit !important; }
html body .elementor-form.elementor-form .elementor-field-group.elementor-field-group select.elementor-field-textual.elementor-field-textual:has(> option[value=""]:checked) { color: rgb(138, 138, 144) !important; font-weight: 400 !important; }
html body .kontakt-premium-form.kontakt-premium-form .elementor-form .elementor-field-group.elementor-field-group select.elementor-field-textual.elementor-field-textual:has(> option[value=""]:checked) { color: rgb(102, 102, 109) !important; }
body .elementor-form select.elementor-field-textual option { color: #312783; font-weight: 500; }

html body .elementor-form.elementor-form .elementor-field-group.elementor-field-type-submit .elementor-button.elementor-button { padding-top: calc(var(--hl-btn-py, 10px) + 1.2px) !important; padding-bottom: calc(var(--hl-btn-py, 10px) - 1.2px) !important; }
body .e-filter-item.e-filter-item { padding-top: 11.86px !important; padding-bottom: 8.14px !important; }

:where(a, button, summary, [role="button"], [tabindex]:not([tabindex="-1"])):focus-visible { outline: 2px solid #c7027f !important; outline-offset: 2px !important; box-shadow: 0 0 0 4px #ffffff !important; }
a:has(> img):focus-visible, a:has(> picture):focus-visible { outline: none !important; box-shadow: none !important; }
a:has(> img):focus-visible > img, a:has(> picture):focus-visible img { outline: 2px solid #c7027f; outline-offset: 2px; box-shadow: 0 0 0 4px #ffffff; }
.elementor-location-header .elementor-nav-menu a:focus-visible, .elementor-location-footer a:focus-visible { border-radius: 4px; }

.skip-link.screen-reader-text:focus { position: fixed !important; top: 16px !important; left: 16px !important; z-index: 100000 !important; width: auto !important; height: auto !important; clip: auto !important; clip-path: none !important; margin: 0 !important; padding: var(--hl-btn-py, 10px) var(--hl-btn-px, 24px) !important; background: var(--hl-grad) !important; color: #ffffff !important; font-family: "ROTA Family", sans-serif !important; font-size: 16px !important; font-weight: 700 !important; line-height: 1.3 !important; border-radius: var(--hl-radius, 10px) !important; text-decoration: none !important; box-shadow: 0 8px 24px rgba(49, 39, 131, 0.25) !important; }

@media (max-width: 1024px) { body #cmplz-manage-consent .cmplz-manage-consent, body #cmplz-manage-consent .cmplz-manage-consent.cmplz-show { display: none !important; } }
@media (min-width: 1025px) and (max-width: 1200px) { body #cmplz-manage-consent .cmplz-manage-consent { right: 5vw !important; } }
@media (min-width: 1201px) and (max-width: 1440px) { body #cmplz-manage-consent .cmplz-manage-consent { right: calc((100vw - 1008px) / 2) !important; } }
@media (min-width: 1441px) and (max-width: 1919px) { body #cmplz-manage-consent .cmplz-manage-consent { right: calc((100vw - 1296px) / 2) !important; }
}
@media (min-width: 1920px) { body #cmplz-manage-consent .cmplz-manage-consent { right: calc((100vw - 1440px) / 2) !important; }
}

/* ═══ 41 · Cookie-Richtlinie (Complianz-Dokument): ═══ */

body #cmplz-document { font-family: inherit; max-width: none; }
body #cmplz-document :is(h2, h3) { font-family: "ROTA Family", sans-serif !important; font-weight: 900 !important; color: #343434 !important; line-height: 1.25 !important; margin: 32px 0 8px !important; }
body #cmplz-document h2 { font-size: 20px !important; }
body #cmplz-document h3 { font-size: 18px !important; }
body #cmplz-document details, body #cmplz-document .cmplz-dropdown { background: #f2f2f2; border: 1px solid #dcdad6; border-radius: var(--hl-radius); margin: 0 0 8px; }
body #cmplz-document summary { font-weight: 700; color: #343434; }
body #cmplz-document .cmplz-always-active { color: #c7027f !important; font-weight: 700; }
body #cmplz-document input[type="checkbox"] { accent-color: #e6007e; }
body #cmplz-document ul { padding-left: 20px !important; margin-left: 0 !important; }

/* ═══ 42 · Footer: rechtliche Links · idle grau, Hover ═══ */

.hl-footer-recht a {
  --hl-c1: #343434; --hl-c2: #343434; --hl-c3: #343434; --hl-c4: #343434;
  background-image: linear-gradient(90deg, var(--hl-c1) 0%, var(--hl-c2) 34%, var(--hl-c3) 68%, var(--hl-c4) 100%) !important;
  -webkit-background-clip: text !important; background-clip: text !important;
  -webkit-text-fill-color: transparent !important; color: transparent !important;
  text-decoration: none !important;
  transition: --hl-c1 .4s, --hl-c2 .4s, --hl-c3 .4s, --hl-c4 .4s;
}
.hl-footer-recht a:is(:hover, :focus-visible) { --hl-c1: #312783; --hl-c2: #482682; --hl-c3: #c7027f; --hl-c4: #e6007e; }

.hl-footer-recht > .elementor-element:first-child :is(p, .elementor-widget-container) { font-weight: 900 !important; }

.hl-kategorie-kacheln .hl-kat-text { margin-top: 12px; }
.hl-kategorie-kacheln .hl-kat-box::after { margin-top: 12px; }

/* ═══ 43 · LEISTUNGS-AKKORDEON · Bildschirmhöhe, ═══ */

@media (min-width: 1200px) {
  .e-parent:has(.hl-leistungen) > .e-con-inner {
    box-sizing: border-box;
    min-height: 100svh;
    padding-top: 128px !important;
    padding-bottom: 72px !important;
    justify-content: center;
  }
  .e-parent:has(.hl-leistungen) > .e-con-inner > .e-con:has(> .hl-leistungen) {
    flex: 1 1 auto;
    min-height: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    gap: 48px !important;
    justify-content: center;
  }
  .e-con > .hl-leistungen {
    flex: 1 1 auto;
    min-height: 520px !important;
    max-height: 760px;
    align-items: stretch;
  }
  .hl-leistungen > .hl-leistungen-media,
  .hl-leistungen > .hl-leistungen-akkordeon {
    height: auto !important;
    min-height: 0 !important;
  }
}

@media (min-width: 1200px) and (max-height: 960px) {
  .e-parent:has(.hl-leistungen) > .e-con-inner { padding-top: 112px !important; padding-bottom: 64px !important; }
  .e-parent:has(.hl-leistungen) > .e-con-inner > .e-con:has(> .hl-leistungen) { gap: 32px !important; }
  .hl-leistungen-akkordeon .e-n-accordion-item > summary { padding: 32px; }
  .hl-leistungen-akkordeon .e-n-accordion-item > .e-con { padding: 0 32px 32px; }
  .hl-leistungen-media .hl-leistung-slide .elementor-widget-heading { padding: 32px; }
  .hl-leistungen .hl-leistungen-akkordeon .e-n-accordion-item > .e-con::after { left: 32px; right: 32px; bottom: 32px; }
  .hl-leistungen .hl-leistungen-akkordeon .e-n-accordion-item > .e-con { padding-bottom: 62px; }
}

.hl-leistungen-akkordeon .e-n-accordion-item > .e-con::after {
  content: "";
  position: absolute;
  left: 48px;
  right: 48px;
  bottom: 48px;
  height: 6px;
  border-radius: var(--hl-radius, 10px);
  z-index: 3;
  pointer-events: none;
  background: linear-gradient(#fff, #fff) left center / 0% 100% no-repeat, rgba(255, 255, 255, .3);
  opacity: 0;
  transition: opacity .3s ease;
}
.hl-leist-running .e-n-accordion-item[open] > .e-con::after {
  opacity: 1;
  animation: hl-leist-progress var(--hl-leist-rotate, 6000ms) linear forwards;
}

.hl-leistungen-akkordeon .e-n-accordion-item > .e-con { padding-bottom: 78px; }

.hl-leistungen .hl-leistungen-akkordeon .e-n-accordion-item[open] { min-height: 0; }

.hl-leistungen-akkordeon .e-n-accordion-item > .e-con { transition: opacity .45s ease .12s; }
.hl-leistungen-akkordeon .e-n-accordion-item.hl-leist-opening > .e-con { opacity: 0; transition: none; }

.hl-leist-running.hl-leist-paused .e-n-accordion-item[open] > .e-con::after { animation-play-state: paused; }

.hl-leistungen-akkordeon .e-n-accordion-item > .e-con {
  position: relative;
  padding-bottom: calc(var(--hl-bar-b) * 2 + 6px) !important;
}

@keyframes hl-leist-progress {
  from { background-size: 0% 100%, auto; }
  to   { background-size: 100% 100%, auto; }
}

.hl-leistungen-media { counter-reset: hl-leist-slide; }
.hl-leistungen-media .hl-leistung-slide { counter-increment: hl-leist-slide; }

/* ═══ 44 · STANDALONE-AKKORDEONS (teamINSIGHTS: ═══ */

.hl-akkordeon-grau .e-n-accordion-item,
.hl-akkordeon-glass .e-n-accordion-item {
  display: flex;
  flex-direction: column;
  flex: 0 0 auto;
}
.hl-akkordeon-grau .e-n-accordion-item[open],
.hl-akkordeon-glass .e-n-accordion-item[open] {
  flex: 1 1 auto;
  min-height: 0;
}

.hl-akkordeon-grau .e-n-accordion-item > .e-con,
.hl-akkordeon-glass .e-n-accordion-item > .e-con { transition: opacity .45s ease .12s; }
.hl-akkordeon-grau .e-n-accordion-item.hl-acc-opening > .e-con,
.hl-akkordeon-glass .e-n-accordion-item.hl-acc-opening > .e-con { opacity: 0; transition: none; }

.e-con:has(> .hl-akkordeon-glass),
.e-con:has(> .hl-akkordeon-grau) { gap: 48px !important; }

@media (min-width: 1024px) {
  .e-con:has(> .e-con > .hl-akkordeon-glass, > .e-con > .hl-akkordeon-grau) .premium-bild-soft,
  .e-con:has(> .e-con > .hl-akkordeon-glass, > .e-con > .hl-akkordeon-grau) .premium-bild-soft > .elementor-widget-container,
  .e-con:has(> .e-con > .hl-akkordeon-glass, > .e-con > .hl-akkordeon-grau) .premium-bild-soft picture,
  .e-con:has(> .e-con > .hl-akkordeon-glass, > .e-con > .hl-akkordeon-grau) .premium-bild-soft img {
    display: block;
    height: 100% !important;
  }

  .e-con:has(> .e-con > .hl-akkordeon-glass, > .e-con > .hl-akkordeon-grau) > .e-con:not(:has(.hl-akkordeon-glass, .hl-akkordeon-grau)) {
    align-self: stretch !important;
  }
}

/* ═══ 45 · BUTTONS IM OFFENEN FELD · alle Akkordeons ═══ */

body :is(.hl-leistungen-akkordeon, .hl-akkordeon-glass, .hl-akkordeon-grau) .e-n-accordion-item[open] {
  display: flex;
  flex-direction: column;
}
body :is(.hl-leistungen-akkordeon, .hl-akkordeon-glass, .hl-akkordeon-grau) .e-n-accordion-item[open] > .e-con {
  flex: 1 1 auto !important;
  display: flex;
  flex-direction: column;
  justify-content: flex-start !important;
}

body :is(.hl-leistungen-akkordeon, .hl-akkordeon-glass, .hl-akkordeon-grau) .e-n-accordion-item[open]::details-content {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  min-height: 0;
}
body :is(.hl-leistungen-akkordeon, .hl-akkordeon-glass, .hl-akkordeon-grau) .e-n-accordion-item > .e-con > .elementor-widget-button {
  margin-top: auto !important;
  padding-top: 24px;
}

.hl-seq-hold { opacity: 0 !important; transform: translateY(var(--hl-distance, 20px)) !important; filter: var(--hl-blur-in) !important; }
.hl-seq-in { transition: opacity var(--hl-duration) var(--hl-easing), transform var(--hl-duration) var(--hl-easing), filter 0.8s ease !important; }
html.hl-seq-js :is(.elementor-widget-loop-grid, .elementor-widget-loop-carousel) .e-loop-item:not(.swiper-slide-duplicate):not(.hl-seq-shown),
html.hl-seq-js .hl-kategorie-kacheln li.product-category:not(.hl-seq-shown) { opacity: 0; transform: translateY(var(--hl-distance, 20px)); filter: var(--hl-blur-in); animation: hl-seq-fallback 0.01s linear 4s forwards; }
@keyframes hl-seq-fallback { to { opacity: 1; transform: none; filter: none; } }

.elementor-widget-loop-carousel .swiper.elementor-loop-container { padding-block: 32px; margin-block: -32px; }

.hl-auslauf-aktiv .swiper-slide { width: var(--hl-auslauf-w) !important; }

.elementor-widget-heading.hero-subheadline .elementor-heading-title:has(strong) { font-weight: 500 !important; }
.elementor-widget-heading.hero-subheadline .elementor-heading-title strong { font-weight: 900 !important; }

.hl-gradient-card:has(> .hl-step-nummer) { padding-top: 48px !important; padding-bottom: 190px !important; justify-content: flex-start !important; }
.hl-gradient-card:has(> .hl-step-nummer):nth-child(2) { background-position: 50% 50%; }
.hl-gradient-card:has(> .hl-step-nummer):nth-child(3) { background-position: 85% 50%; }

.hl-gradient-card:has(> .hl-step-nummer) { transition: transform var(--hl-duration) var(--hl-easing) calc(var(--hl-cards-base) + var(--hl-card-delay)), opacity 0.6s ease calc(var(--hl-cards-base) + var(--hl-card-delay)), filter 0.5s ease calc(var(--hl-cards-base) + var(--hl-card-delay)), background-position 1.4s cubic-bezier(.45,0,.55,1); }
.hl-gradient-card:has(> .hl-step-nummer):nth-child(1):hover { background-position: 15% 50%; }
.hl-gradient-card:has(> .hl-step-nummer):nth-child(2):hover { background-position: 60% 50%; }
.hl-gradient-card:has(> .hl-step-nummer):nth-child(3):hover { background-position: 100% 50%; }
.hl-gradient-card > .hl-step-nummer { position: absolute !important; right: -16px; bottom: -112px; z-index: -1; margin: 0 !important; pointer-events: none; transition: transform 1.2s var(--hl-easing); }
.hl-gradient-card > .hl-step-nummer .elementor-heading-title { font-size: 280px !important; line-height: 1 !important; letter-spacing: -0.04em; color: transparent !important; -webkit-text-fill-color: transparent !important; -webkit-text-stroke: 3px rgba(255, 255, 255, 0.35); transform-origin: 100% 100%; transition: transform 1.2s var(--hl-easing), -webkit-text-stroke-color 1.2s var(--hl-easing); }
.hl-gradient-card:has(> .hl-step-nummer) > .elementor-widget-heading:not(.hl-step-nummer) .elementor-heading-title { font-size: 28px !important; font-weight: 900 !important; line-height: 1.15 !important; letter-spacing: 0.02em; }
@media (min-width: 880px) { .hl-gradient-card:has(> .hl-step-nummer) > .elementor-widget-heading:not(.hl-step-nummer) .elementor-heading-title { min-height: 2.3em; } }
@media (hover: hover) and (pointer: fine) {
  .hl-gradient-card:has(> .hl-step-nummer):hover > .hl-step-nummer { transform: translate(-4px, -4px); }
  .hl-gradient-card:has(> .hl-step-nummer):hover > .hl-step-nummer .elementor-heading-title { transform: scale(1.03); -webkit-text-stroke-color: rgba(255, 255, 255, 0.5); }
}
@media (max-width: 879px) { .hl-gradient-card > .hl-step-nummer .elementor-heading-title { font-size: 200px !important; } .hl-gradient-card > .hl-step-nummer { bottom: -80px; } .hl-gradient-card:has(> .hl-step-nummer) { padding-bottom: 150px !important; } }

.hl-gradient-card:has(> .hl-step-nummer) > .elementor-widget-text-editor, .hl-gradient-card:has(> .hl-step-nummer) > .elementor-widget-text-editor p { font-size: 20px !important; line-height: 1.45 !important; font-weight: 500 !important; }
.hl-gradient-card:has(> .hl-step-nummer) > .elementor-widget-text-editor strong { font-weight: 900 !important; }
@media (max-width: 879px) { .hl-gradient-card:has(> .hl-step-nummer) > .elementor-widget-heading:not(.hl-step-nummer) .elementor-heading-title { font-size: 24px !important; } .hl-gradient-card:has(> .hl-step-nummer) > .elementor-widget-text-editor, .hl-gradient-card:has(> .hl-step-nummer) > .elementor-widget-text-editor p { font-size: 18px !important; } }

.e-con:has(> .hl-direkt-wrap) { gap: 48px !important; align-items: center !important; }
.e-con:has(> .hl-direkt-wrap) > .e-con { flex: 1 1 0 !important; width: auto !important; min-width: 0; }
.hl-direkt-wrap { flex: 1 1 0; min-width: 0; }
@media (min-width: 880px) {
  .e-con:has(> .hl-direkt-wrap) { padding-inline: 0 !important; }
  .e-con:has(> .hl-direkt-wrap) > .e-con { align-items: flex-end !important; }
  .e-con:has(> .hl-direkt-wrap) > .e-con .elementor-heading-title { text-align: right !important; }
}
.hl-direkt { display: flex; flex-direction: column; gap: 16px; }
.hl-direkt-kachel { display: flex; flex-direction: column; justify-content: flex-end; gap: 4px; min-height: 0; padding: 24px 28px; box-sizing: border-box; border-radius: 10px; background: rgba(255, 255, 255, 0.1); border: 1px solid rgba(255, 255, 255, 0.3); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); color: #fff !important; text-decoration: none !important; transition: background-color 1s ease, border-color 1s ease; }
.hl-direkt-label { font-family: "ROTA Family", sans-serif; font-size: 18px; font-weight: 500; line-height: 1.2; color: rgba(255, 255, 255, 0.85); }
.hl-direkt-wert { font-family: "ROTA Family", sans-serif; font-size: 32px; font-weight: 900; line-height: 1.1; letter-spacing: -0.01em; color: #fff; overflow-wrap: anywhere; }
@media (hover: hover) and (pointer: fine) { .hl-direkt-kachel:hover { background: rgba(255, 255, 255, 0.14); border-color: rgba(255, 255, 255, 0.42); } }
.hl-direkt-kachel:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
@media (max-width: 879px) {
  .e-con:has(> .hl-direkt-wrap) { flex-direction: column-reverse !important; align-items: stretch !important; gap: 32px !important; }
  .e-con:has(> .hl-direkt-wrap) > .e-con, .hl-direkt-wrap { flex: none !important; width: 100% !important; }
  .hl-direkt-kachel { padding: 20px 24px; }
  .hl-direkt-wert { font-size: 24px; }
}

html.hl-seq-js .hl-direkt-kachel { opacity: 0; transform: translateY(var(--hl-distance)); filter: var(--hl-blur-in); transition: opacity .8s ease, transform var(--hl-duration) var(--hl-easing), filter .8s ease, background-color 1s ease, border-color 1s ease; }
html.hl-seq-js .kontakt-premium.is-inview .hl-direkt-kachel { opacity: 1; transform: none; filter: none; }
html.hl-seq-js .kontakt-premium.is-inview .hl-direkt-kachel:nth-child(1) { transition-delay: .35s, .35s, .35s, 0s, 0s; }
html.hl-seq-js .kontakt-premium.is-inview .hl-direkt-kachel:nth-child(2) { transition-delay: .47s, .47s, .47s, 0s, 0s; }
body.elementor-editor-active .hl-direkt-kachel { opacity: 1 !important; transform: none !important; filter: none !important; }
@media (prefers-reduced-motion: reduce) { .hl-direkt-kachel { opacity: 1 !important; transform: none !important; filter: none !important; transition: none !important; } }

.hl-pd-pitch { margin: 0 0 24px; font-size: 18px; font-weight: 500; line-height: 1.5; color: #343434; }
.hl-pd-pitch strong { font-weight: 900; }
.elementor-widget-woocommerce-product-short-description .hl-pd-pitch { font-size: 18px !important; line-height: 1.5 !important; }
.hl-pd-intro + .hl-mehr-details { margin-top: 16px; }
.hl-pd-fakten { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 8px; padding: 0; list-style: none; }
.hl-pd-fakten li { display: flex; flex-direction: column; gap: 4px; min-width: 112px; margin: 0; padding: 12px 16px 10px; box-sizing: border-box; border-radius: 10px; background: #f2f2f2; }
.hl-pd-fakten li::before, .hl-pd-fakten li::marker { content: none; }
.hl-pd-fakten strong { font-size: 18px; font-weight: 900; line-height: 1.1; background: linear-gradient(135deg, #312783 0%, #482682 30%, #c7027f 75%, #e6007e 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; }
.hl-pd-fakten span { font-size: 13px; font-weight: 500; line-height: 1.2; color: #6b6b72; }
.elementor-widget-woocommerce-product-content:has(.hl-pd-details) .elementor-widget-container { column-count: 1 !important; columns: auto !important; }
.hl-pd-details { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr); gap: 24px; align-items: start; }
.hl-pd-box { padding: 32px; border-radius: 10px; background: #f2f2f2; }
.hl-pd-box h3 { margin: 0 0 20px; font-size: 24px; font-weight: 900; line-height: 1.15; color: #343434; }
.hl-pd-ausstattung ul { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.hl-pd-ausstattung li { position: relative; margin: 0; padding-left: 34px; font-size: 16px; font-weight: 500; line-height: 1.4; color: #343434; }
.hl-pd-ausstattung li::before { content: ""; position: absolute; left: 0; top: 0; width: 22px; height: 22px; border-radius: 50%; background: linear-gradient(135deg, #312783 0%, #482682 30%, #c7027f 75%, #e6007e 100%); }
.hl-pd-ausstattung li::after { content: ""; position: absolute; left: 8px; top: 5px; width: 5px; height: 10px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.hl-pd-technik h4 { margin: 24px 0 4px; font-size: 13px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: #66666d; }
.hl-pd-technik h3 + h4 { margin-top: 0; }
.hl-pd-technik dl { margin: 0; }
.hl-pd-technik dl > div { display: flex; justify-content: space-between; gap: 16px; padding: 10px 0; border-bottom: 1px solid rgba(0, 0, 0, 0.08); }
.hl-pd-technik dl > div:last-child { border-bottom: 0; }
.hl-pd-technik dt { font-size: 16px; font-weight: 500; color: #55555c; }
.hl-pd-technik dd { margin: 0; font-size: 16px; font-weight: 900; text-align: right; color: #343434; }
@media (max-width: 879px) { .hl-pd-details { grid-template-columns: 1fr; } .hl-pd-box { padding: 24px; } .hl-pd-fakten li { min-width: calc(50% - 4px); } }

.hl-pd-details:not(:has(.hl-pd-ausstattung)) .hl-pd-technik { grid-column: 1 / -1; }
@media (min-width: 880px) {
	.hl-pd-details:not(:has(.hl-pd-ausstattung)) .hl-pd-technik { column-count: 2; column-gap: 48px; }
	.hl-pd-details:not(:has(.hl-pd-ausstattung)) .hl-pd-technik h3 { column-span: all; }
	.hl-pd-details:not(:has(.hl-pd-ausstattung)) .hl-pd-technik dl { break-inside: avoid; }
	.hl-pd-details:not(:has(.hl-pd-ausstattung)) .hl-pd-technik h4 { break-after: avoid; }
}

form.cart:has(.hl-bestand) { flex-wrap: wrap; align-items: center; }
.hl-bestand { align-self: center; margin-left: 12px; font-size: 15px; line-height: 1; color: #9a9aa3; }
.hl-bestand strong { font-weight: 500; color: inherit; }

.hl-pd-technik h4 { width: fit-content; margin: 28px 0 10px; padding: 4px 0 0; line-height: 1.4; border: 0; font-size: 16px; font-weight: 900; letter-spacing: .06em; background: linear-gradient(135deg, #312783 0%, #482682 35%, #c7027f 75%, #e6007e 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; }
.hl-pd-technik > h4:first-child, .hl-pd-technik h3 + h4 { margin-top: 0; }
.hl-pd-technik dl { border-top: 1px solid rgba(0, 0, 0, .12); }
.hl-pd-technik dt { color: #66666d; }
.hl-pd-technik dd { font-weight: 700; }

.hl-passt-dazu{padding-bottom:64px}
.elementor-widget.hl-passt-dazu .elementor-swiper-button.elementor-swiper-button{top:auto!important;bottom:0!important;transform:none!important;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:10px}
.elementor-widget.hl-passt-dazu .elementor-swiper-button.elementor-swiper-button-prev{left:0!important;right:auto!important}
.elementor-widget.hl-passt-dazu .elementor-swiper-button.elementor-swiper-button-next{left:48px!important;right:auto!important}
:is(.hl-passt-dazu,.hl-pfeil-dunkel) .elementor-swiper-button svg{display:none} .hl-pfeil-dunkel .elementor-swiper-button{width:25px;height:25px}
:is(.hl-passt-dazu,.hl-pfeil-dunkel) .elementor-swiper-button::before,:is(.hl-passt-dazu,.hl-pfeil-dunkel) .elementor-swiper-button::after{content:"";position:absolute;inset:0;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:26px;mask-size:26px;transition:opacity .4s ease}
:is(.hl-passt-dazu,.hl-pfeil-dunkel) .elementor-swiper-button::before{background:#66666d}
:is(.hl-passt-dazu,.hl-pfeil-dunkel) .elementor-swiper-button::after{background:linear-gradient(135deg,#312783 0%,#482682 35%,#c7027f 75%,#e6007e 100%);opacity:0}
:is(.hl-passt-dazu,.hl-pfeil-dunkel) .elementor-swiper-button:hover::before{opacity:0}
:is(.hl-passt-dazu,.hl-pfeil-dunkel) .elementor-swiper-button:hover::after{opacity:1}
:is(.hl-passt-dazu,.hl-pfeil-dunkel) .elementor-swiper-button-prev::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpolyline points='15 5 8 12 15 19' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpolyline points='15 5 8 12 15 19' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
:is(.hl-passt-dazu,.hl-pfeil-dunkel) .elementor-swiper-button-prev::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpolyline points='15 5 8 12 15 19' fill='none' stroke='%23000' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpolyline points='15 5 8 12 15 19' fill='none' stroke='%23000' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
:is(.hl-passt-dazu,.hl-pfeil-dunkel) .elementor-swiper-button-next::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpolyline points='9 5 16 12 9 19' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpolyline points='9 5 16 12 9 19' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
:is(.hl-passt-dazu,.hl-pfeil-dunkel) .elementor-swiper-button-next::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpolyline points='9 5 16 12 9 19' fill='none' stroke='%23000' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpolyline points='9 5 16 12 9 19' fill='none' stroke='%23000' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}

.hl-shopbar .woocommerce-breadcrumb { display: flex; flex-wrap: wrap; align-items: baseline; row-gap: 2px; min-width: 0; max-width: 100%; }

.hl-produkt-kontakt { padding: 20px 24px; background: #f2f2f2; border-radius: 10px; }
.hl-produkt-kontakt p { color: #55555c; }
.hl-produkt-kontakt strong { color: #2b2b31; }
.hl-produkt-kontakt a { font-weight: 900; background: linear-gradient(135deg, #312783 0%, #482682 35%, #c7027f 75%, #e6007e 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }

.hl-footer-recht .elementor-widget-text-editor, .hl-footer-recht .elementor-widget-text-editor a { font-size: 14px; font-weight: 500; }
.hl-footer-recht .elementor-widget-text-editor a { opacity: .6; transition: opacity .4s ease, background-position .6s ease; }
.hl-footer-recht .elementor-widget-text-editor a:hover { opacity: 1; }
.hl-footer-recht strong { font-weight: 700; }

.hl-pd-ausstattung ul { display: flex; flex-wrap: wrap; gap: 8px; border-top: 0; }
.hl-pd-ausstattung li { padding: 12px 16px 10px; border: 0; border-radius: 10px; background: #fff; font-size: 16px; font-weight: 700; color: #343434; line-height: 1.3; }
.hl-pd-ausstattung li::before, .hl-pd-ausstattung li::after { content: none; }

.hl-kategorie-kacheln li.hl-kachel-mehr { background-size: 160% 160%; background-position: 0% 0%; transition-property: transform, opacity, filter, background-position; transition-duration: .8s, .6s, .5s, 1.4s; transition-timing-function: var(--hl-easing), ease, ease, cubic-bezier(.45,0,.55,1); }
.hl-kachel-lupe { transition: translate 1.2s var(--hl-easing), stroke 1.2s var(--hl-easing); }
.hl-kategorie-kacheln .hl-kachel-mehr .hl-kat-h { transform-origin: 0 100%; transition: scale 1.2s var(--hl-easing); }
@media (hover: hover) and (pointer: fine) {
  .hl-kategorie-kacheln li.hl-kachel-mehr:hover { background-position: 45% 45%; }
  .hl-kategorie-kacheln li.hl-kachel-mehr:hover .hl-kachel-lupe { translate: -4px -4px; stroke: rgba(255, 255, 255, .5); }
  .hl-kategorie-kacheln li.hl-kachel-mehr:hover .hl-kat-h { scale: 1.03; }
}

.hero-title .hl-h1-sub { font-size: 24px !important; line-height: 1.2 !important; margin-top: 32px !important; }
@media (max-width: 879px) { .hero-title .hl-h1-sub { font-size: 20px !important; } }
@media (max-width: 1200px) {
  :is(.elementor-element-2387c39, .elementor-element-d8857dc) > .e-con-inner { padding-bottom: 96px !important; }
}
@media (hover: none) {
  body .hl-shopbar .hl-shop-warenkorb { transition-property: box-shadow, background-position, border-color, outline-color, filter !important; }
  body .elementor-widget-taxonomy-filter .e-filter-item { transition-property: opacity, transform, box-shadow, background-position, border-color, outline-color, filter !important; }
  body .elementor-pagination .page-numbers:not(.dots) { transition-property: border-color, box-shadow, background-position, filter !important; }
}

body .kontakt-premium .elementor-element.kontakt-premium-form.elementor-widget-form .elementor-form .elementor-field-group .elementor-field-textual.elementor-field-textual { color: #2b2b31 !important; }
body .kontakt-premium .elementor-element.kontakt-premium-form.elementor-widget-form .elementor-form .elementor-field-textual.elementor-field-textual::placeholder { color: #66666d !important; opacity: 1 !important; }

body .kontakt-premium .elementor-element.kontakt-premium-form.elementor-widget-form .elementor-form .elementor-field-group.elementor-field-type-acceptance.elementor-field-type-acceptance { padding-top: 14px !important; padding-bottom: 14px !important; }
body .kontakt-premium .elementor-element.kontakt-premium-form.elementor-widget-form .elementor-form .elementor-field-group .elementor-field-textual.elementor-field-textual { padding-top: 11.5px !important; padding-bottom: 8.5px !important; }

body .kontakt-premium .elementor-element.elementor-element-481e197.kontakt-premium-form.elementor-widget-form .elementor-form .elementor-field-group.elementor-field-type-acceptance.elementor-field-type-acceptance { padding-top: 15.8px !important; padding-bottom: 14.2px !important; }
@media (max-width: 879px) { body .kontakt-premium .elementor-element.elementor-element-481e197.kontakt-premium-form.elementor-widget-form .elementor-form .elementor-field-group.elementor-field-type-acceptance.elementor-field-type-acceptance { padding-top: 14.4px !important; padding-bottom: 14.4px !important; } }

.hl-produkt-titel .elementor-heading-title.elementor-heading-title { width: fit-content; max-width: 100%; }

.e-loop-item, .e-loop-item a, .hl-karte, .hl-karte a { -webkit-tap-highlight-color: transparent; }
.hl-karte-box { -webkit-backdrop-filter: blur(12px); }
@media (hover: none) { .hl-karte { } }

.e-loop-item.hl-seq-shown .hl-karte, .hl-kategorie-kacheln li.hl-seq-shown .hl-karte { filter: none !important; }

.elementor-widget-loop-carousel .swiper[dir="rtl"] .swiper-slide { direction: ltr; }

@media (min-width: 880px) { .swiper.hl-rtl-ab-880 { direction: rtl; } .swiper.hl-rtl-ab-880 .swiper-slide { direction: ltr; } }

.hl-karte { isolation: isolate; }

.hl-karte .hl-karte-box:has(> .e-con:last-child :is(.hl-karte-arrow, .elementor-widget-button)) { justify-content: space-between !important; }
.hl-kategorie-kacheln .woocommerce-loop-category__title { display: flex !important; flex-direction: column; }
.hl-kategorie-kacheln .woocommerce-loop-category__title::after { margin-top: auto !important; }
.hl-kategorie-kacheln .woocommerce-loop-category__title > :last-child { margin-bottom: 12px; }

@media (min-width: 880px) and (max-width: 1200px) { .hl-kategorie-kacheln ul.products { grid-template-columns: repeat(2, 1fr) !important; } }
.hl-karte::before, .hl-karte::after { transform: translateZ(0); }

.hl-kategorie-kacheln li.hl-kachel-mehr { background: linear-gradient(140deg, #312783 0%, #482682 35%, #c7027f 78%, #e6007e 100%); }
.hl-kachel-lupe {
  position: absolute;
  left: 1%;
  top: -14%;
  width: 140%;
  height: auto;
  aspect-ratio: 1;
  fill: none;
  stroke: rgba(255, 255, 255, 0.35);
  stroke-width: 3px;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
  z-index: 0;
}
.hl-kachel-lupe * { vector-effect: non-scaling-stroke; }
.hl-kachel-mehr-inner {
  position: relative;
  z-index: 1;
  grid-area: 1 / 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  box-sizing: border-box;
  padding: var(--hl-karte-bild) 24px 24px;
}
.hl-kachel-mehr-box { display: flex; flex-direction: column; padding: 0; color: #fff; }
.hl-kategorie-kacheln .hl-kachel-mehr .hl-kat-h { margin: 0; font-family: "ROTA Family", sans-serif; font-size: 64px; font-weight: 900; line-height: 0.95; letter-spacing: -0.02em; color: #fff; }
.hl-kategorie-kacheln .hl-kachel-mehr .hl-kat-name { color: #fff; background-image: none; -webkit-text-fill-color: #fff; }
.hl-kategorie-kacheln .hl-kachel-mehr .hl-kat-text { margin: 16px 0 24px; color: rgba(255, 255, 255, 0.9); }
.hl-kachel-mehr .hl-kat-text a { color: #fff; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.hl-kachel-mehr .hl-kat-text a:hover { text-decoration-thickness: 2px; }
.hl-kategorie-kacheln .hl-kachel-mehr .hl-kachel-suche { margin: 0 !important; }
.hl-kachel-suche input[type="search"],
.hl-kachel-suche input[type="search"]:focus { width: 100%; background: #fff; border-color: #fff; }
.hl-kachel-suche input[type="search"]:focus { box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.35); }
@media (max-width: 1199px) { .hl-kategorie-kacheln .hl-kachel-mehr .hl-kat-h { font-size: 56px; } }
@media (max-width: 479px) { .hl-kategorie-kacheln .hl-kachel-mehr .hl-kat-h { font-size: 48px; } }

@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .hl-kachel-lupe { animation: hl-lupe-scroll linear both; animation-timeline: view(); }
  }
}
@keyframes hl-lupe-scroll { from { transform: translateY(6%) rotate(-8deg); } to { transform: translateY(-6%) rotate(8deg); } }

.elementor-widget-loop-grid.elementor-element-5deb528 { align-self: stretch; width: 100%; }

@media (hover: none) {
	.hl-karte:hover .hl-karte-name, .hl-karte:hover .hl-karte-name * { --hl-c1: #343434; --hl-c2: #343434; --hl-c3: #343434; --hl-c4: #343434; }
	.hl-karte:hover .hl-karte-foto img { transform: none; filter: saturate(0.96) brightness(0.96); }
	.hl-karte:hover .hl-karte-arrow .elementor-icon { transform: none; }
	.hl-karte .hl-karte-foto img { transition: none; }
}
@media (hover: none) { @supports not ((-webkit-background-clip: text) or (background-clip: text)) { .hl-karte:hover .hl-karte-name, .hl-karte:hover .hl-karte-name * { color: #343434 !important; } } }

@media (max-width: 479px) { .hl-karte-box .elementor-widget-heading:has(+ .hl-karte-name) .elementor-heading-title { font-size: 14px !important; } }

.elementor-location-header::after {
	content: ""; position: fixed; top: 0; left: 0; right: 0; height: 96px; z-index: 998; pointer-events: none;
	-webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
	-webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 45%, transparent 100%);
	mask-image: linear-gradient(to bottom, #000 0%, #000 45%, transparent 100%);
}
body.admin-bar .elementor-location-header::after { top: 32px; }

@media (min-width: 601px) and (max-width: 782px) { body.admin-bar .elementor-location-header::after { top: 46px; } }
@media (max-width: 600px) { body.admin-bar .elementor-location-header::after { top: 0; } }
@media (hover: none) and (pointer: coarse) { .elementor-location-header::after { display: none; } }

@supports (height: 100lvh) { .elementor-67 .elementor-element.elementor-element-fec941d { min-height: 100lvh !important; } }

.elementor-widget-loop-carousel .elementor-swiper-button { top: 50% !important; }
html.hl-seq-js .elementor-widget-loop-carousel .elementor-swiper-button:not(.hl-seq-shown) { opacity: 0; translate: 0 var(--hl-distance, 20px); filter: var(--hl-blur-in); animation: hl-seq-arrow-fallback 0.01s linear 4s forwards; }
.elementor-widget-loop-carousel .elementor-swiper-button.hl-seq-arrow-in { transition: opacity var(--hl-duration) var(--hl-easing), translate var(--hl-duration) var(--hl-easing), filter 0.8s ease; }
@keyframes hl-seq-arrow-fallback { to { opacity: 1; translate: 0 0; filter: none; } }
.elementor-widget-loop-carousel .elementor-swiper-button.hl-seq-arrow-wait { opacity: 0 !important; translate: 0 var(--hl-distance, 20px) !important; filter: var(--hl-blur-in) !important; }

/* ═══ 46 · ELEMENT-CSS (aus Widgets übernommen) ═══ */

body .elementor-element.kontakt-premium-form:where(.elementor-widget-form):not(.elementor-element-481e197) {
  --btn-h:  var(--hl-btn-h);
  --btn-py: var(--hl-btn-py);
  --btn-px: var(--hl-btn-px);
  --btn-text-y: 0.04em;
  --field-px: calc(var(--btn-px) + 2px);
  --field-text-y: 1px;
}

body .elementor-element.kontakt-premium-form:where(.elementor-widget-form):not(.elementor-element-481e197) .elementor-form .elementor-field-type-submit .elementor-button {
  box-sizing: border-box !important;
  min-height: var(--btn-h) !important;
  height: var(--btn-h) !important;
  padding: var(--btn-py) var(--btn-px) !important;
  position: relative;
  display: inline-grid !important;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.55) !important;
  text-decoration: none;
  overflow: hidden;
  isolation: isolate;
  background: rgba(250, 250, 250, 0.55) !important;
  background-image: none !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: none !important;
  filter: none !important;
  transition:
    background 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease,
    transform 0.45s var(--hl-easing) !important;
}

body .elementor-element.kontakt-premium-form:where(.elementor-widget-form):not(.elementor-element-481e197) .elementor-form .elementor-field-type-submit .elementor-button:hover {
  background: rgba(250, 250, 250, 0.68) !important;
  background-image: none !important;
  border-color: rgba(255, 255, 255, 0.7) !important;
  box-shadow: none !important;
}

body .elementor-element.kontakt-premium-form:where(.elementor-widget-form):not(.elementor-element-481e197) .elementor-form .elementor-field-type-submit .elementor-button:active {
  background: rgba(250, 250, 250, 0.6) !important;
  background-image: none !important;
  box-shadow: none !important;
}

body .elementor-element.kontakt-premium-form:where(.elementor-widget-form):not(.elementor-element-481e197) .elementor-form .elementor-field-type-submit .elementor-button:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.14) !important;
}

body .elementor-element.kontakt-premium-form:where(.elementor-widget-form):not(.elementor-element-481e197) .elementor-form .elementor-field-type-submit .elementor-button .elementor-button-content-wrapper {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  place-items: center;
  width: 100%;
}

body .elementor-element.kontakt-premium-form:where(.elementor-widget-form):not(.elementor-element-481e197) .elementor-form .elementor-field-type-submit .elementor-button .elementor-button-icon,
body .elementor-element.kontakt-premium-form:where(.elementor-widget-form):not(.elementor-element-481e197) .elementor-form .elementor-field-type-submit .elementor-button .elementor-button-text {
  grid-area: 1 / 1;
}

body .elementor-element.kontakt-premium-form:where(.elementor-widget-form):not(.elementor-element-481e197) .elementor-form .elementor-field-type-submit .elementor-button .elementor-button-icon {
  justify-self: end;
}

body .elementor-element.kontakt-premium-form:where(.elementor-widget-form):not(.elementor-element-481e197) .elementor-form .elementor-field-type-submit .elementor-button .elementor-button-text {
  display: block;
  margin: 0;
  line-height: 1;
  text-align: center;
  letter-spacing: -0.012em;
  -webkit-font-smoothing: antialiased;
  transform: translateY(var(--btn-text-y)) !important;
  --hl-submit-c1: #343434;
  --hl-submit-c2: #343434;
  --hl-submit-c3: #343434;
  --hl-submit-c4: #343434;
  background-image: linear-gradient(
    90deg,
    var(--hl-submit-c1) 0%,
    var(--hl-submit-c2) 34%,
    var(--hl-submit-c3) 68%,
    var(--hl-submit-c4) 100%
  ) !important;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-position: 0 50%;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
  transition:
    --hl-submit-c1 0.4s ease,
    --hl-submit-c2 0.4s ease,
    --hl-submit-c3 0.4s ease,
    --hl-submit-c4 0.4s ease;
}

body .elementor-element.kontakt-premium-form:where(.elementor-widget-form):not(.elementor-element-481e197) .elementor-form .elementor-field-type-submit .elementor-button:hover .elementor-button-text,
body .elementor-element.kontakt-premium-form:where(.elementor-widget-form):not(.elementor-element-481e197) .elementor-form .elementor-field-type-submit .elementor-button:focus-visible .elementor-button-text {
  --hl-submit-c1: #312783;
  --hl-submit-c2: #482682;
  --hl-submit-c3: #c7027f;
  --hl-submit-c4: #e6007e;
}

@supports not ((-webkit-background-clip: text) or (background-clip: text)) {
  body .elementor-element.kontakt-premium-form:where(.elementor-widget-form):not(.elementor-element-481e197) .elementor-form .elementor-field-type-submit .elementor-button .elementor-button-text {
    background: none !important;
    color: #343434 !important;
    -webkit-text-fill-color: currentColor !important;
  }
  body .elementor-element.kontakt-premium-form:where(.elementor-widget-form):not(.elementor-element-481e197) .elementor-form .elementor-field-type-submit .elementor-button:hover .elementor-button-text,
  body .elementor-element.kontakt-premium-form:where(.elementor-widget-form):not(.elementor-element-481e197) .elementor-form .elementor-field-type-submit .elementor-button:focus-visible .elementor-button-text {
    color: #482682 !important;
  }
}

body .elementor-element.kontakt-premium-form:where(.elementor-widget-form):not(.elementor-element-481e197) .elementor-field-group .elementor-field,
body .elementor-element.kontakt-premium-form:where(.elementor-widget-form):not(.elementor-element-481e197) .elementor-field-group textarea.elementor-field {
  background: rgba(255, 255, 255, 0.92) !important;
  border: 1px solid rgba(255, 255, 255, 0.75) !important;
  border-radius: 10px;
  box-shadow: none;
  color: #312783;
  padding-top: calc(var(--btn-py) + var(--field-text-y));
  padding-bottom: calc(var(--btn-py) - var(--field-text-y));
  padding-left: var(--field-px);
  padding-right: var(--field-px);
  transition:
    background 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease;
}

body .elementor-element.kontakt-premium-form:where(.elementor-widget-form):not(.elementor-element-481e197) .elementor-field-group .elementor-field:focus,
body .elementor-element.kontakt-premium-form:where(.elementor-widget-form):not(.elementor-element-481e197) .elementor-field-group textarea.elementor-field:focus {
  background: rgba(255, 255, 255, 1) !important;
  border-color: rgba(255, 255, 255, 0.9) !important;
  box-shadow: none;
  outline: none;
}

body .elementor-element.kontakt-premium-form:where(.elementor-widget-form):not(.elementor-element-481e197) .elementor-field-group .elementor-field::placeholder,
body .elementor-element.kontakt-premium-form:where(.elementor-widget-form):not(.elementor-element-481e197) .elementor-field-group textarea.elementor-field::placeholder {
  color: rgba(72, 38, 130, 0.45);
}

body .elementor-element.kontakt-premium-form:where(.elementor-widget-form):not(.elementor-element-481e197) .elementor-field-group .elementor-field-label {
  color: rgba(255, 255, 255, 0.9);
  font-size: 14px;
  margin-bottom: 4px;
}

body .elementor-element.kontakt-premium-form:where(.elementor-widget-form):not(.elementor-element-481e197) .elementor-field-type-date input[type="date"] {
  text-align: left !important;
}

body .elementor-element.kontakt-premium-form:where(.elementor-widget-form):not(.elementor-element-481e197) .elementor-field-group .elementor-field:-webkit-autofill,
body .elementor-element.kontakt-premium-form:where(.elementor-widget-form):not(.elementor-element-481e197) .elementor-field-group .elementor-field:-webkit-autofill:hover,
body .elementor-element.kontakt-premium-form:where(.elementor-widget-form):not(.elementor-element-481e197) .elementor-field-group .elementor-field:-webkit-autofill:focus {
  -webkit-box-shadow: none !important;
  -webkit-text-fill-color: #2b2b31 !important;
  font-weight: 900;
  transition: background-color 600000s 0s, color 600000s 0s;
}

.kontakt-script {
  display: none !important;
}

body :is(.elementor-126 .elementor-element.elementor-element-10113e8, .elementor-126 .elementor-element.elementor-element-cd65e87, .elementor-126 .elementor-element.elementor-element-5b5464d, .elementor-126 .elementor-element.elementor-element-9c64bd1, .elementor-126 .elementor-element.elementor-element-1a7cb27, .elementor-126 .elementor-element.elementor-element-3837532, .elementor-126 .elementor-element.elementor-element-b65b169, .elementor-126 .elementor-element.elementor-element-1eaaaf6) p {
  margin-bottom: 0.7em;
}
body :is(.elementor-126 .elementor-element.elementor-element-10113e8, .elementor-126 .elementor-element.elementor-element-cd65e87, .elementor-126 .elementor-element.elementor-element-5b5464d, .elementor-126 .elementor-element.elementor-element-9c64bd1, .elementor-126 .elementor-element.elementor-element-1a7cb27, .elementor-126 .elementor-element.elementor-element-3837532, .elementor-126 .elementor-element.elementor-element-b65b169, .elementor-126 .elementor-element.elementor-element-1eaaaf6) p:last-child {
  margin-bottom: 0;
}
body :is(.elementor-126 .elementor-element.elementor-element-10113e8, .elementor-126 .elementor-element.elementor-element-cd65e87, .elementor-126 .elementor-element.elementor-element-5b5464d, .elementor-126 .elementor-element.elementor-element-9c64bd1, .elementor-126 .elementor-element.elementor-element-1a7cb27, .elementor-126 .elementor-element.elementor-element-3837532, .elementor-126 .elementor-element.elementor-element-b65b169, .elementor-126 .elementor-element.elementor-element-1eaaaf6) ul {
  margin-left: 0;
  padding-left: 0;
  list-style-position: inside;
}
body :is(.elementor-126 .elementor-element.elementor-element-10113e8, .elementor-126 .elementor-element.elementor-element-cd65e87, .elementor-126 .elementor-element.elementor-element-5b5464d, .elementor-126 .elementor-element.elementor-element-9c64bd1, .elementor-126 .elementor-element.elementor-element-1a7cb27, .elementor-126 .elementor-element.elementor-element-3837532, .elementor-126 .elementor-element.elementor-element-b65b169, .elementor-126 .elementor-element.elementor-element-1eaaaf6) li {
  margin-bottom: 0.5em;
}

body :is(.elementor-126 .elementor-element.elementor-element-fee25b8, .elementor-126 .elementor-element.elementor-element-a05c79f) .elementor-button {
  min-height: 40px;
  padding: 0.6rem 1.3rem;
  position: relative;
  display: inline-grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 10px;
  text-decoration: none;
  overflow: hidden;
  isolation: isolate;

  background-image: linear-gradient(
    135deg,
    #312783 0%,
    #482682 30%,
    #c7027f 70%,
    #e6007e 100%
  );
  background-size: 150% 150%;
  background-position: 12% 50%;

  box-shadow: none;

  transition:
    transform 0.45s var(--hl-easing),
    box-shadow 0.45s var(--hl-easing),
    background-position 0.9s ease,
    border-color 0.3s ease,
    filter 0.3s ease;
}

body :is(.elementor-126 .elementor-element.elementor-element-fee25b8, .elementor-126 .elementor-element.elementor-element-a05c79f) .elementor-button .elementor-button-content-wrapper {
  display: inline-grid;
  place-items: center;
  width: 100%;
}

body :is(.elementor-126 .elementor-element.elementor-element-fee25b8, .elementor-126 .elementor-element.elementor-element-a05c79f) .elementor-button .elementor-button-text {
  display: block;
  margin: 0;
  line-height: 1;
  text-align: center;
  color: #fff;
  font-weight: inherit;
  letter-spacing: -0.012em;
  text-wrap: balance;
  -webkit-font-smoothing: antialiased;
  transform: translateY(0.07em);
}

body :is(.elementor-126 .elementor-element.elementor-element-fee25b8, .elementor-126 .elementor-element.elementor-element-a05c79f) .elementor-button:hover {
  transform: translateY(-2px);
  background-position: 100% 50%;
  border-color: rgba(255, 255, 255, 0.17);
  filter: brightness(1.04) saturate(1.02);
  box-shadow: none;
}

body :is(.elementor-126 .elementor-element.elementor-element-fee25b8, .elementor-126 .elementor-element.elementor-element-a05c79f) .elementor-button:active {
  transform: translateY(0);
  box-shadow: none;
}

body :is(.elementor-126 .elementor-element.elementor-element-fee25b8, .elementor-126 .elementor-element.elementor-element-a05c79f) .elementor-button:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.10);
}

@media (max-width: 767px) {
  body :is(.elementor-126 .elementor-element.elementor-element-fee25b8, .elementor-126 .elementor-element.elementor-element-a05c79f) .elementor-button {
    min-height: 40px;
    padding: 0.7rem 1.16rem;
  }

  body :is(.elementor-126 .elementor-element.elementor-element-fee25b8, .elementor-126 .elementor-element.elementor-element-a05c79f) .elementor-button .elementor-button-text {
    transform: translateY(0.02em);
  }
}

body :is(.elementor-2689 .elementor-element.elementor-element-0e5d91e, .elementor-5692 .elementor-element.elementor-element-50ecb68b) {
  align-self: center !important;
  line-height: 0;
  font-size: 0;
}

body :is(.elementor-2689 .elementor-element.elementor-element-0e5d91e, .elementor-5692 .elementor-element.elementor-element-50ecb68b) img {
  display: block;
  width: 100%;
  height: auto;
}

body :is(.elementor-2689 .elementor-element.elementor-element-0e5d91e, .elementor-5692 .elementor-element.elementor-element-50ecb68b) .elementor-widget-container {
  line-height: 0;
  font-size: 0;
}

@property --menu-c1 {
  syntax: "<color>";
  inherits: false;
  initial-value: #343434;
}

@property --menu-c2 {
  syntax: "<color>";
  inherits: false;
  initial-value: #343434;
}

@property --menu-c3 {
  syntax: "<color>";
  inherits: false;
  initial-value: #343434;
}

@property --menu-c4 {
  syntax: "<color>";
  inherits: false;
  initial-value: #343434;
}

body :is(.elementor-2689 .elementor-element.elementor-element-0ab9446, .elementor-5692 .elementor-element.elementor-element-72875767) {
  --menu-text-y: 0.05em;
}

body :is(.elementor-2689 .elementor-element.elementor-element-0ab9446, .elementor-5692 .elementor-element.elementor-element-72875767) .elementor-item,
body :is(.elementor-2689 .elementor-element.elementor-element-0ab9446, .elementor-5692 .elementor-element.elementor-element-72875767) .e-n-menu-title-text {
  --menu-c1: #343434;
  --menu-c2: #343434;
  --menu-c3: #343434;
  --menu-c4: #343434;

  display: inline-block;
  transform: translateY(var(--menu-text-y));

  background-image: linear-gradient(
    90deg,
    var(--menu-c1) 0%,
    var(--menu-c2) 34%,
    var(--menu-c3) 68%,
    var(--menu-c4) 100%
  );
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-position: 0 50%;

  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent !important;

  transition:
    --menu-c1 0.3s ease,
    --menu-c2 0.3s ease,
    --menu-c3 0.3s ease,
    --menu-c4 0.3s ease;
}

body :is(.elementor-2689 .elementor-element.elementor-element-0ab9446, .elementor-5692 .elementor-element.elementor-element-72875767) .elementor-item:hover,
body :is(.elementor-2689 .elementor-element.elementor-element-0ab9446, .elementor-5692 .elementor-element.elementor-element-72875767) .elementor-item:focus-visible,
body :is(.elementor-2689 .elementor-element.elementor-element-0ab9446, .elementor-5692 .elementor-element.elementor-element-72875767) .current-menu-item > .elementor-item,
body :is(.elementor-2689 .elementor-element.elementor-element-0ab9446, .elementor-5692 .elementor-element.elementor-element-72875767) .current-menu-ancestor > .elementor-item,
body :is(.elementor-2689 .elementor-element.elementor-element-0ab9446, .elementor-5692 .elementor-element.elementor-element-72875767) .e-n-menu-title-container:hover .e-n-menu-title-text,
body :is(.elementor-2689 .elementor-element.elementor-element-0ab9446, .elementor-5692 .elementor-element.elementor-element-72875767) .e-n-menu-title-container:focus-within .e-n-menu-title-text,
body :is(.elementor-2689 .elementor-element.elementor-element-0ab9446, .elementor-5692 .elementor-element.elementor-element-72875767) .e-n-menu-item[aria-expanded="true"] .e-n-menu-title-text {
  --menu-c1: #312783;
  --menu-c2: #482682;
  --menu-c3: #c7027f;
  --menu-c4: #e6007e;
}

body :is(.elementor-2689 .elementor-element.elementor-element-55c9d50, .elementor-5692 .elementor-element.elementor-element-760d71d0),
body :is(.elementor-2689 .elementor-element.elementor-element-55c9d50, .elementor-5692 .elementor-element.elementor-element-760d71d0) .elementor-image,
body :is(.elementor-2689 .elementor-element.elementor-element-55c9d50, .elementor-5692 .elementor-element.elementor-element-760d71d0) a {
  line-height: 0;
}

body :is(.elementor-2689 .elementor-element.elementor-element-55c9d50, .elementor-5692 .elementor-element.elementor-element-760d71d0) img {
  display: block;
  height: auto;
}

.hl-glass-card {
  background: rgba(250, 250, 250, 0.7);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.55);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
  transition: background 0.25s ease, box-shadow 0.25s ease;
}

body .elementor-15080 .elementor-element.elementor-element-481e197 {
  --btn-h:  var(--hl-btn-h);
  --btn-py: var(--hl-btn-py);
  --btn-px: var(--hl-btn-px);
  --btn-text-y: 0.04em;
  --field-px: calc(var(--btn-px) + 2px);
  --field-text-y: 1px;
}

body .elementor-15080 .elementor-element.elementor-element-481e197 .elementor-form .elementor-field-type-submit .elementor-button {
  box-sizing: border-box !important;
  min-height: var(--btn-h) !important;
  height: var(--btn-h) !important;
  padding: var(--btn-py) var(--btn-px) !important;
  position: relative;
  display: inline-grid !important;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.55) !important;
  text-decoration: none;
  overflow: hidden;
  isolation: isolate;
  background: rgba(250, 250, 250, 0.55) !important;
  background-image: none !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: none !important;
  filter: none !important;
  transition:
    background 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease,
    transform 0.45s var(--hl-easing) !important;
}

body .elementor-15080 .elementor-element.elementor-element-481e197 .elementor-form .elementor-field-type-submit .elementor-button:hover {
  background: rgba(250, 250, 250, 0.68) !important;
  background-image: none !important;
  border-color: rgba(255, 255, 255, 0.7) !important;
  box-shadow: none !important;
}

body .elementor-15080 .elementor-element.elementor-element-481e197 .elementor-form .elementor-field-type-submit .elementor-button:active {
  background: rgba(250, 250, 250, 0.6) !important;
  background-image: none !important;
  box-shadow: none !important;
}

body .elementor-15080 .elementor-element.elementor-element-481e197 .elementor-form .elementor-field-type-submit .elementor-button:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.14) !important;
}

body .elementor-15080 .elementor-element.elementor-element-481e197 .elementor-form .elementor-field-type-submit .elementor-button .elementor-button-content-wrapper {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  place-items: center;
  width: 100%;
}

body .elementor-15080 .elementor-element.elementor-element-481e197 .elementor-form .elementor-field-type-submit .elementor-button .elementor-button-icon,
body .elementor-15080 .elementor-element.elementor-element-481e197 .elementor-form .elementor-field-type-submit .elementor-button .elementor-button-text {
  grid-area: 1 / 1;
}

body .elementor-15080 .elementor-element.elementor-element-481e197 .elementor-form .elementor-field-type-submit .elementor-button .elementor-button-icon {
  justify-self: end;
}

body .elementor-15080 .elementor-element.elementor-element-481e197 .elementor-form .elementor-field-type-submit .elementor-button .elementor-button-text {
  display: block;
  margin: 0;
  line-height: 1;
  text-align: center;
  letter-spacing: -0.012em;
  -webkit-font-smoothing: antialiased;
  transform: translateY(var(--btn-text-y)) !important;
  --hl-submit-c1: #343434;
  --hl-submit-c2: #343434;
  --hl-submit-c3: #343434;
  --hl-submit-c4: #343434;
  background-image: linear-gradient(
    90deg,
    var(--hl-submit-c1) 0%,
    var(--hl-submit-c2) 34%,
    var(--hl-submit-c3) 68%,
    var(--hl-submit-c4) 100%
  ) !important;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-position: 0 50%;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
  transition:
    --hl-submit-c1 0.4s ease,
    --hl-submit-c2 0.4s ease,
    --hl-submit-c3 0.4s ease,
    --hl-submit-c4 0.4s ease;
}

body .elementor-15080 .elementor-element.elementor-element-481e197 .elementor-form .elementor-field-type-submit .elementor-button:hover .elementor-button-text,
body .elementor-15080 .elementor-element.elementor-element-481e197 .elementor-form .elementor-field-type-submit .elementor-button:focus-visible .elementor-button-text {
  --hl-submit-c1: #312783;
  --hl-submit-c2: #482682;
  --hl-submit-c3: #c7027f;
  --hl-submit-c4: #e6007e;
}

@supports not ((-webkit-background-clip: text) or (background-clip: text)) {
  body .elementor-15080 .elementor-element.elementor-element-481e197 .elementor-form .elementor-field-type-submit .elementor-button .elementor-button-text {
    background: none !important;
    color: #343434 !important;
    -webkit-text-fill-color: currentColor !important;
  }
  body .elementor-15080 .elementor-element.elementor-element-481e197 .elementor-form .elementor-field-type-submit .elementor-button:hover .elementor-button-text,
  body .elementor-15080 .elementor-element.elementor-element-481e197 .elementor-form .elementor-field-type-submit .elementor-button:focus-visible .elementor-button-text {
    color: #482682 !important;
  }
}

body .elementor-15080 .elementor-element.elementor-element-481e197 .elementor-field-group .elementor-field-textual {
  background: rgba(255, 255, 255, 0.92) !important;
  border: 1px solid rgba(255, 255, 255, 0.75) !important;
  border-radius: 10px;
  box-shadow: none;
  color: #312783;
  line-height: 1.2 !important;
  padding-top: calc(var(--btn-py) + var(--field-text-y)) !important;
  padding-bottom: calc(var(--btn-py) - var(--field-text-y)) !important;
  padding-left: var(--field-px) !important;
  padding-right: var(--field-px) !important;
  transition:
    background 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease;
}

body .elementor-15080 .elementor-element.elementor-element-481e197 .elementor-field-group select.elementor-field-textual {
  padding-right: calc(var(--field-px) + 18px) !important;
  text-indent: 0 !important;
  line-height: normal !important;
}

body .elementor-15080 .elementor-element.elementor-element-481e197 .elementor-field-group .elementor-field-textual:focus {
  background: rgba(255, 255, 255, 1) !important;
  border-color: rgba(255, 255, 255, 0.9) !important;
  box-shadow: none;
  outline: none;
}

body .elementor-15080 .elementor-element.elementor-element-481e197 .elementor-field-group .elementor-field-textual::placeholder {
  color: rgba(72, 38, 130, 0.45);
}

body .elementor-15080 .elementor-element.elementor-element-481e197 .elementor-field-group select.elementor-field-textual:has(option[value=""]:checked) {
  color: rgba(72, 38, 130, 0.27) !important;
}

body .elementor-15080 .elementor-element.elementor-element-481e197 .elementor-field-group .elementor-field-label {
  color: rgba(255, 255, 255, 0.9);
  font-size: 14px;
  margin-bottom: 4px;
}

body .elementor-15080 .elementor-element.elementor-element-481e197 .elementor-field-type-date input[type="date"] {
  text-align: left !important;
}

body .elementor-15080 .elementor-element.elementor-element-481e197 .elementor-field-group .elementor-field-textual:-webkit-autofill,
body .elementor-15080 .elementor-element.elementor-element-481e197 .elementor-field-group .elementor-field-textual:-webkit-autofill:hover,
body .elementor-15080 .elementor-element.elementor-element-481e197 .elementor-field-group .elementor-field-textual:-webkit-autofill:focus {
  -webkit-box-shadow: none !important;
  -webkit-text-fill-color: #2b2b31 !important;
  font-weight: 900;
  transition: background-color 600000s 0s, color 600000s 0s;
}

body .elementor-17400 .elementor-element.elementor-element-dd6063f > .elementor-element { white-space: nowrap; }
body .elementor-17400 .elementor-element.elementor-element-dd6063f { row-gap: 8px; }

@media (max-width: 479px) {
  .bilder-wrapper { --hl-duo-bleed: 24px; width: calc(100vw + 2 * var(--hl-duo-bleed)) !important; max-width: none !important; margin-inline: calc(50% - 50vw - var(--hl-duo-bleed)) !important; }
  .bilder-wrapper > .bild-1 { grid-area: 1 / 5 / 2 / 11 !important; margin: 0 !important; }
  .bilder-wrapper > .bild-2 { grid-area: 1 / 1 / 2 / 7 !important; margin: 33% 0 0 !important; }
  .bilder-wrapper :is(.bild-1, .bild-2) img { aspect-ratio: 1 / 1; height: auto !important; }
}

@media (min-width: 480px) and (max-width: 879px) {
  .hero-duo .bilder-wrapper { --hl-duo-bleed: 24px; width: calc(100vw + 2 * var(--hl-duo-bleed)) !important; max-width: none !important; margin-inline: calc(50% - 50vw - var(--hl-duo-bleed)) !important; }
  .hero-duo .bilder-wrapper > .bild-2 { margin-top: 26% !important; }
  .hero-duo .bilder-wrapper :is(.bild-1, .bild-2) img { height: 336px !important; }
  .hero-duo .content-premium-media { margin-top: 72px !important; }
  body .hero-premium.hero-duo { min-height: 100vh !important; justify-content: center !important; }
  body .hero-premium.hero-duo > .e-con-inner { justify-content: center !important; flex-grow: 0 !important; }
  .hero-duo > .e-con-inner > .e-con { --margin-bottom: 48px !important; }
}

@media (min-width: 880px) and (max-width: 1199px) {
  .hero-duo > .e-con-inner > .e-con { --margin-top: 192px !important; --margin-bottom: 96px !important; }
  .hero-duo .bilder-wrapper :is(.bild-1, .bild-2) img { height: 288px !important; }
}

/* ═══ 47 · FOKUS · Tastatur-Rahmen für helle und dunkle Flächen ═══ */
body.elementor-editor-active .elementor-17456 .kontakt-premium::after { opacity: 1 !important; transform: translate(14%, 0) !important; transition: none !important; }
:root { --hl-fokus-aussen: #482682; --hl-fokus-innen: #ffffff; }
body :is(a, button, input, select, textarea, summary, [tabindex]:not([tabindex="-1"])):focus-visible {
  outline: 2px solid var(--hl-fokus-aussen) !important;
  outline-offset: 2px !important;
  box-shadow: 0 0 0 2px var(--hl-fokus-innen) !important;
}
#content:focus, #content:focus-visible { outline: none !important; box-shadow: none !important; }
body .elementor-button:focus-visible { -webkit-mask-image: none !important; mask-image: none !important; }
@media (max-width: 879px) {
  .e-checkout__container { grid-template-columns: minmax(0, 1fr) !important; }
  .e-checkout__column { min-width: 0; max-width: 100%; }
}
@media (max-width: 359px) {
  .e-n-accordion-item-title-text { font-size: 26px !important; }
  .woocommerce-checkout-review-order-table { width: 100% !important; }
  .woocommerce-checkout-review-order-table .product-name { overflow-wrap: anywhere; }
  .woocommerce-checkout-review-order-table .product-name * { white-space: normal !important; }
  #place_order { white-space: normal !important; max-width: 100%; height: auto; }
  .e-checkout__order_review-2 { padding-left: 16px !important; padding-right: 16px !important; }
  .order-total small.includes_tax { white-space: normal !important; }
  body .elementor-widget-woocommerce-checkout-page .woocommerce-checkout-review-order-table .wc-gzd-cart-item-name-wrapper { grid-template-columns: 40px minmax(0, 1fr) !important; }
  body .elementor-widget-woocommerce-checkout-page .woocommerce-checkout-review-order-table :is(.wc-gzd-cart-item-thumbnail, .wc-gzd-cart-item-thumbnail img) { width: 40px !important; min-width: 40px !important; height: auto; }
  .woocommerce-checkout-review-order-table :is(th, td) { -webkit-hyphens: auto; hyphens: auto; }
}

/* ═══ 47b · KARUSSELL-PFEILE · einheitlich ═══ */
.elementor-widget .elementor-swiper-button{min-width:25px;min-height:25px}
.elementor-widget .elementor-swiper-button svg,.elementor-widget .elementor-swiper-button i{display:none!important}
.elementor-widget .elementor-swiper-button::before,.elementor-widget .elementor-swiper-button::after{content:""!important;position:absolute;inset:0;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;transition:opacity .3s ease}
.elementor-widget.hl-galerie .elementor-swiper-button::before,.elementor-widget.hl-galerie .elementor-swiper-button::after{-webkit-mask-size:26px auto;mask-size:26px auto}
.elementor-widget .elementor-swiper-button::before{background:#fff!important;opacity:1!important}
.elementor-widget .elementor-swiper-button::after{background:var(--hl-grad)!important;opacity:0!important}
.elementor-widget .elementor-swiper-button:hover::before{opacity:0!important}
.elementor-widget .elementor-swiper-button:hover::after{opacity:1!important}
.elementor-widget.hl-pfeil-dunkel .elementor-swiper-button::before,.elementor-widget.hl-pfeil-dunkel .elementor-swiper-button::after{background:#66666d!important}
.elementor-widget .elementor-swiper-button-prev::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpolyline points='15 5 8 12 15 19' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpolyline points='15 5 8 12 15 19' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important}
.elementor-widget .elementor-swiper-button-prev::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpolyline points='15 5 8 12 15 19' fill='none' stroke='%23000' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpolyline points='15 5 8 12 15 19' fill='none' stroke='%23000' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important}
.elementor-widget .elementor-swiper-button-next::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpolyline points='9 5 16 12 9 19' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpolyline points='9 5 16 12 9 19' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important}
.elementor-widget .elementor-swiper-button-next::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpolyline points='9 5 16 12 9 19' fill='none' stroke='%23000' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpolyline points='9 5 16 12 9 19' fill='none' stroke='%23000' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important}

/* ═══ 48 · EDITOR-OVERRIDE · alle Animationen im ═══ */
.elementor-editor-active .hl-glass > .e-con.hl-mobilmenu.hl-mobilmenu { grid-template-rows: 1fr; }
.elementor-editor-active .hl-mobilmenu-inner > * { opacity: 1; transform: none; filter: none; }
@media (prefers-reduced-motion: reduce) {
  .elementor-17456 .kontakt-premium::after { transform: translate(14%, 0) !important; transition: opacity 0.3s ease !important; }
}
body.elementor-editor-active body .elementor-widget-woocommerce-purchase-summary :is(.woocommerce-order-overview li, .woocommerce-order-details, .woocommerce-customer-details, form.woocommerce-verify-email) { animation: none !important; }

body.elementor-editor-active :is(

  .hero-premium .hero-subheadline,
  .hero-premium .hero-copy,
  .hero-premium .hero-cta,
  .hero-premium .hero-subheadline > .elementor-widget-container,
  .hero-premium .hero-copy > .elementor-widget-container,
  .hero-premium .hero-cta > .elementor-widget-container,
  .hero-premium .hero-title .elementor-heading-title,

  .content-premium .content-premium-title,
  .content-premium .content-premium-subheadline,
  .content-premium .content-premium-copy,
  .content-premium .content-premium-cta,
  .content-premium .content-premium-title > .elementor-widget-container,
  .content-premium .content-premium-subheadline > .elementor-widget-container,
  .content-premium .content-premium-copy > .elementor-widget-container,
  .content-premium .content-premium-cta > .elementor-widget-container,
  .content-premium .content-premium-title .elementor-heading-title,

  .kontakt-premium .kontakt-premium-title,
  .kontakt-premium .kontakt-premium-subtitle,
  .kontakt-premium .kontakt-premium-form-wrap,
  .kontakt-premium .kontakt-premium-title > .elementor-widget-container,
  .kontakt-premium .kontakt-premium-subtitle > .elementor-widget-container,
  .kontakt-premium .kontakt-premium-form-wrap > .e-con-inner,
  .kontakt-premium .kontakt-premium-form-wrap > .elementor-widget-container,
  .kontakt-premium .kontakt-premium-form,
  .kontakt-premium .kontakt-premium-form .elementor-field-group,
  .kontakt-premium .hero-cta,
  .kontakt-premium .hero-cta > .e-con-inner,
  .kontakt-premium .hero-cta > .elementor-widget-container,

  .bilder-wrapper-soft .premium-bild-soft,
  .bilder-wrapper .bild-1,
  .bilder-wrapper .bild-2,

  .elementor-widget-loop-carousel .hl-karte,
  .elementor-widget-loop-carousel .referenz-karte,
  .elementor-widget-loop-carousel .team-karte,
  .elementor-widget-loop-grid .hl-karte,
  .elementor-widget-loop-grid .referenz-karte,
  .elementor-widget-loop-grid .team-karte,

  .content-premium .hl-galerie .swiper-slide,

  .elementor-widget-taxonomy-filter .e-filter-item,

  .hl-animate,
  .hl-gradient-card
) {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
  transition: none !important;
}

body.elementor-editor-active .kontakt-premium::after {
  opacity: 1 !important;
}

body.elementor-editor-active .keyfacts-row.hl-animate {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
  border-bottom-color: #ddd !important;
}

/* ═══ 49 · REDUCED MOTION · global, ein Block für alles ═══ */
@media (prefers-reduced-motion: reduce) { .hl-glass > .hl-mobilmenu, .hl-mobilmenu-inner > *, body::after { transition: none !important; filter: none !important; transform: none !important; } }
@media (prefers-reduced-motion: reduce) { body .elementor-widget-woocommerce-purchase-summary :is(.woocommerce-order-overview li, .woocommerce-order-details, .woocommerce-customer-details, form.woocommerce-verify-email) { animation: none !important; } }

@media (prefers-reduced-motion: reduce) {
  .hl-animate,
  .hero-premium .hero-subheadline,
  .hero-premium .hero-copy,
  .hero-premium .hero-cta,
  .hero-premium .hero-subheadline > .elementor-widget-container,
  .hero-premium .hero-copy > .elementor-widget-container,
  .hero-premium .hero-cta > .elementor-widget-container,
  .hero-premium .hero-title .elementor-heading-title,
  .content-premium .content-premium-title,
  .content-premium .content-premium-subheadline,
  .content-premium .content-premium-copy,
  .content-premium .content-premium-cta,
  .content-premium .content-premium-title > .elementor-widget-container,
  .content-premium .content-premium-subheadline > .elementor-widget-container,
  .content-premium .content-premium-copy > .elementor-widget-container,
  .content-premium .content-premium-cta > .elementor-widget-container,
  .content-premium .content-premium-title .elementor-heading-title,
  .kontakt-premium .kontakt-premium-title,
  .kontakt-premium .kontakt-premium-subtitle,
  .kontakt-premium .kontakt-premium-form-wrap,
  .kontakt-premium .kontakt-premium-title > .elementor-widget-container,
  .kontakt-premium .kontakt-premium-subtitle > .elementor-widget-container,
  .kontakt-premium .kontakt-premium-form-wrap > .e-con-inner,
  .kontakt-premium .kontakt-premium-form-wrap > .elementor-widget-container,
  .kontakt-premium .kontakt-premium-form,
  .kontakt-premium .kontakt-premium-form .elementor-field-group,
  .elementor-widget-loop-carousel .hl-karte,
  .elementor-widget-loop-carousel .referenz-karte,
  .elementor-widget-loop-carousel .team-karte,
  .elementor-widget-loop-grid .hl-karte,
  .elementor-widget-loop-grid .referenz-karte,
  .elementor-widget-loop-grid .team-karte,
  .content-premium .hl-galerie .swiper-slide,
  .elementor-widget-taxonomy-filter .e-filter-item,
  .hl-gradient-card {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;
  }

  .kontakt-premium::after {
    opacity: 1 !important;
    transform: translateX(8%) !important;
    transition: none !important;
  }

  .bilder-wrapper-soft .premium-bild-soft,
  .bilder-wrapper .bild-1,
  .bilder-wrapper .bild-2 {
    --intro-x: 0px; --intro-y: 0px; --intro-scale: 1;
    opacity: 1;
    transform: none !important;
    transition: none !important;
  }

  .keyfacts-row.hl-animate {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    border-bottom-color: #ddd;
    transition: none !important;
  }

  .hero-premium *,
  .content-premium *,
  .kontakt-premium *,
  .kontakt-premium *::before,
  .kontakt-premium *::after,
  .hl-karte,
  .hl-karte *,
  .hl-galerie .swiper-slide img,
  .hl-underline-svg rect,
  .hl-glass {
    transition: none !important;
    animation: none !important;
  }

  .hl-underline-svg rect { transform: scaleX(1) !important; }
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'ROTA Family';
	font-style: normal;
	font-weight: 900;
	font-display: auto;
	src: url('https://higherlevel.events/wp-content/uploads/2025/02/Rota-Black.eot');
	src: url('https://higherlevel.events/wp-content/uploads/2025/02/Rota-Black.eot?#iefix') format('embedded-opentype'),
		url('https://higherlevel.events/wp-content/uploads/2025/02/Rota-Black.woff2') format('woff2'),
		url('https://higherlevel.events/wp-content/uploads/2025/02/Rota-Black.woff') format('woff'),
		url('https://higherlevel.events/wp-content/uploads/2025/02/Rota-Black.ttf') format('truetype'),
		url('https://higherlevel.events/wp-content/uploads/2025/02/Rota-Black.svg#ROTAFamily') format('svg');
}
@font-face {
	font-family: 'ROTA Family';
	font-style: normal;
	font-weight: 700;
	font-display: auto;
	src: url('https://higherlevel.events/wp-content/uploads/2025/02/Rota-Bold.eot');
	src: url('https://higherlevel.events/wp-content/uploads/2025/02/Rota-Bold.eot?#iefix') format('embedded-opentype'),
		url('https://higherlevel.events/wp-content/uploads/2025/02/Rota-Bold.woff2') format('woff2'),
		url('https://higherlevel.events/wp-content/uploads/2025/02/Rota-Bold.woff') format('woff'),
		url('https://higherlevel.events/wp-content/uploads/2025/02/Rota-Bold.ttf') format('truetype'),
		url('https://higherlevel.events/wp-content/uploads/2025/02/Rota-Bold.svg#ROTAFamily') format('svg');
}
@font-face {
	font-family: 'ROTA Family';
	font-style: normal;
	font-weight: 600;
	font-display: auto;
	src: url('https://higherlevel.events/wp-content/uploads/2025/02/Rota-SemiBold.eot');
	src: url('https://higherlevel.events/wp-content/uploads/2025/02/Rota-SemiBold.eot?#iefix') format('embedded-opentype'),
		url('https://higherlevel.events/wp-content/uploads/2025/02/Rota-SemiBold.woff2') format('woff2'),
		url('https://higherlevel.events/wp-content/uploads/2025/02/Rota-SemiBold.woff') format('woff'),
		url('https://higherlevel.events/wp-content/uploads/2025/02/Rota-SemiBold.ttf') format('truetype'),
		url('https://higherlevel.events/wp-content/uploads/2025/02/Rota-SemiBold.svg#ROTAFamily') format('svg');
}
@font-face {
	font-family: 'ROTA Family';
	font-style: normal;
	font-weight: 500;
	font-display: auto;
	src: url('https://higherlevel.events/wp-content/uploads/2025/02/Rota-Medium.eot');
	src: url('https://higherlevel.events/wp-content/uploads/2025/02/Rota-Medium.eot?#iefix') format('embedded-opentype'),
		url('https://higherlevel.events/wp-content/uploads/2025/02/Rota-Medium.woff2') format('woff2'),
		url('https://higherlevel.events/wp-content/uploads/2025/02/Rota-Medium.woff') format('woff'),
		url('https://higherlevel.events/wp-content/uploads/2025/02/Rota-Medium.ttf') format('truetype'),
		url('https://higherlevel.events/wp-content/uploads/2025/02/Rota-Medium.svg#ROTAFamily') format('svg');
}
/* End Custom Fonts CSS */