

/* =========================
   FARBVARIABLEN
   ========================= */
:root{
  --topa-bordeaux:#9C0036;
  --topa-bordeaux-hover:#CC154D;

  --topa-orange-light:#FFC448;
  --topa-orange:#EE7933;
  --topa-orange-dark:#C45410;

  --topa-white:#FFFFFF;
  --topa-text-dark:#242424;
  --topa-text-soft:#5E5E5E;
  --topa-text-mid:#6B6B6B;

  --topa-bg-soft:#F7F4EF;
  --topa-bg-warm:#FBF8F4;
  --topa-card:#FFFFFF;

  --topa-whatsapp:#25D366;
  --topa-whatsapp-dark:#17974A;
}

/* =========================
   NAVBAR / HEADER
   ========================= */
.tm-header,
.tm-header .uk-navbar-container,
.header,
header,
#sp-header,
#sp-header.header-sticky,
#sp-header .container,
#sp-header .container-fluid,
.navbar,
.uk-navbar-container:not(.uk-navbar-transparent){
  background: var(--topa-bordeaux) !important;
  background-color: var(--topa-bordeaux) !important;
  background-image: none !important;
}

#sp-header.header-sticky,
#sp-header.header-sticky .container,
#sp-header.header-sticky .container-fluid{
  background: var(--topa-bordeaux) !important;
  background-color: var(--topa-bordeaux) !important;
  background-image: none !important;
}

.tm-header,
.tm-header .uk-navbar-container,
.tm-header .container,
.tm-header .uk-navbar,
.tm-header .uk-navbar-left,
.tm-header .uk-navbar-center,
.tm-header .uk-navbar-right,
#sp-header,
#sp-header .container,
#sp-header .container-fluid,
#sp-header .row,
#sp-header .sp-column,
#sp-header .sp-module,
#sp-header .moduletable,
#sp-header .mod-custom{
  overflow: visible !important;
}

.tm-header .uk-navbar-right,
#sp-header{
  position: relative !important;
}

/* =========================
   MENÜ LINKS
   ========================= */
.sp-megamenu-parent > li > a,
.sp-megamenu-parent > li > span,
.tm-header .uk-navbar-nav > li > a,
.tm-header .uk-navbar-nav > li > span,
.uk-navbar-nav > li > a,
.uk-navbar-nav > li > span{
  color: var(--topa-white) !important;
}

.sp-megamenu-parent > li:hover > a,
.sp-megamenu-parent > li.active > a,
.sp-megamenu-parent > li.current > a,
.sp-megamenu-parent > li.active > span,
.sp-megamenu-parent > li.current > span,
.tm-header .uk-navbar-nav > li:hover > a,
.tm-header .uk-navbar-nav > li.uk-active > a,
.tm-header .uk-navbar-nav > li > a:hover,
.tm-header .uk-navbar-nav > li > a:focus,
.uk-navbar-nav > li:hover > a,
.uk-navbar-nav > li.uk-active > a{
  color: var(--topa-orange-light) !important;
}

.sp-megamenu-parent .sp-dropdown li.sp-menu-item > a,
.sp-megamenu-parent .sp-dropdown li.sp-menu-item > span{
  color: #222 !important;
}

.sp-megamenu-parent .sp-dropdown li.sp-menu-item:hover > a,
.sp-megamenu-parent .sp-dropdown li.sp-menu-item.active > a{
  color: var(--topa-orange) !important;
}

.sp-megamenu-parent > li > a::after,
.sp-megamenu-parent > li > span::after,
.tm-header .uk-navbar-nav > li > a::after,
.tm-header .uk-navbar-nav > li > span::after{
  color: var(--topa-orange-light) !important;
  border-color: var(--topa-orange-light) !important;
}

.sp-megamenu-parent > li + li::before,
.uk-navbar-nav > li + li::before{
  color: var(--topa-orange-light) !important;
  background: var(--topa-orange-light) !important;
}



/* =========================
   HEADER ICON-NAV DESKTOP
   Start = Haus-Icon, Kontakt = Mail-Icon
   FINAL SAFE FIX:
   - basiert auf letztem funktionierenden Stand
   - entfernt den großen ovalen Hintergrund
   - kompakter Icon-Button
   - aktiver Zustand als gedrückter Glas-/Inset-Button
   - Offcanvas/Mobile bleibt mit Text
   ========================= */
@media (min-width: 992px){

  /* Die beiden Menüspalten selbst nur zentrieren, nicht vergrößern */
  #sp-header .sp-megamenu-parent > li:first-child,
  #sp-header .sp-megamenu-parent > li:last-child,
  .tm-header .uk-navbar-nav > li:first-child,
  .tm-header .uk-navbar-nav > li:last-child,
  .uk-navbar-container:not(.uk-navbar-transparent) .uk-navbar-nav > li:first-child,
  .uk-navbar-container:not(.uk-navbar-transparent) .uk-navbar-nav > li:last-child{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  /* Kompakter Icon-Anker – wichtig: min-height von UIkit/Helix überschreiben */
  #sp-header .sp-megamenu-parent > li:first-child > a,
  .tm-header .uk-navbar-nav > li:first-child > a,
  .uk-navbar-container:not(.uk-navbar-transparent) .uk-navbar-nav > li:first-child > a,
  #sp-header .sp-megamenu-parent > li:last-child > a,
  .tm-header .uk-navbar-nav > li:last-child > a,
  .uk-navbar-container:not(.uk-navbar-transparent) .uk-navbar-nav > li:last-child > a{
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;

    height: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;

    margin: 0 4px !important;
    padding: 0 !important;

    font-size: 0 !important;
    line-height: 1 !important;
    color: transparent !important;
    text-indent: -9999px !important;
    white-space: nowrap !important;

    border-radius: 11px !important;
    border: 1px solid transparent !important;

    background: transparent !important;
    box-shadow: none !important;

    overflow: hidden !important;

    transform: none !important;
    transition:
      background-color .22s ease,
      border-color .22s ease,
      box-shadow .22s ease,
      transform .22s ease !important;
  }

  /* Icon selbst */
  #sp-header .sp-megamenu-parent > li:first-child > a::before,
  .tm-header .uk-navbar-nav > li:first-child > a::before,
  .uk-navbar-container:not(.uk-navbar-transparent) .uk-navbar-nav > li:first-child > a::before,
  #sp-header .sp-megamenu-parent > li:last-child > a::before,
  .tm-header .uk-navbar-nav > li:last-child > a::before,
  .uk-navbar-container:not(.uk-navbar-transparent) .uk-navbar-nav > li:last-child > a::before{
    content: "" !important;
    position: relative !important;
    z-index: 2 !important;
    display: block !important;

    width: 19px !important;
    min-width: 19px !important;
    max-width: 19px !important;

    height: 19px !important;
    min-height: 19px !important;
    max-height: 19px !important;

    margin: 0 !important;
    padding: 0 !important;

    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: contain !important;

    opacity: .96 !important;
    filter: drop-shadow(0 1px 2px rgba(0,0,0,.18)) !important;

    transform: none !important;
    transition: opacity .22s ease, transform .22s ease, filter .22s ease !important;
  }

  /* Glanz-/Inset-Fläche nur über ::after, aber kompakt */
  #sp-header .sp-megamenu-parent > li:first-child > a::after,
  .tm-header .uk-navbar-nav > li:first-child > a::after,
  .uk-navbar-container:not(.uk-navbar-transparent) .uk-navbar-nav > li:first-child > a::after,
  #sp-header .sp-megamenu-parent > li:last-child > a::after,
  .tm-header .uk-navbar-nav > li:last-child > a::after,
  .uk-navbar-container:not(.uk-navbar-transparent) .uk-navbar-nav > li:last-child > a::after{
    content: "" !important;
    position: absolute !important;
    inset: 1px !important;
    z-index: 1 !important;

    border-radius: 10px !important;

    background:
      linear-gradient(
        180deg,
        rgba(255,255,255,.18) 0%,
        rgba(255,255,255,.06) 42%,
        rgba(0,0,0,.08) 100%
      ) !important;

    opacity: 0 !important;
    pointer-events: none !important;

    border: 0 !important;
    box-shadow: none !important;

    transition: opacity .22s ease !important;
  }

  /* Haus-Icon */
  #sp-header .sp-megamenu-parent > li:first-child > a::before,
  .tm-header .uk-navbar-nav > li:first-child > a::before,
  .uk-navbar-container:not(.uk-navbar-transparent) .uk-navbar-nav > li:first-child > a::before{
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ffffff' d='M3 10.85 12 3l9 7.85v9.65c0 .83-.67 1.5-1.5 1.5H15v-6.5H9V22H4.5c-.83 0-1.5-.67-1.5-1.5v-9.65z'/%3E%3C/svg%3E") !important;
  }

  /* Mail-Icon */
  #sp-header .sp-megamenu-parent > li:last-child > a::before,
  .tm-header .uk-navbar-nav > li:last-child > a::before,
  .uk-navbar-container:not(.uk-navbar-transparent) .uk-navbar-nav > li:last-child > a::before{
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ffffff' d='M3.75 5h16.5A1.75 1.75 0 0 1 22 6.75v10.5A1.75 1.75 0 0 1 20.25 19H3.75A1.75 1.75 0 0 1 2 17.25V6.75A1.75 1.75 0 0 1 3.75 5zm.58 2 7.17 5.15c.3.22.7.22 1 0L19.67 7H4.33zm15.67 1.7-6.63 4.76a2.35 2.35 0 0 1-2.74 0L4 8.7v8.05c0 .14.11.25.25.25h15.5c.14 0 .25-.11.25-.25V8.7z'/%3E%3C/svg%3E") !important;
  }

  /* Hover: dezente Kontur, kein Oval */
  #sp-header .sp-megamenu-parent > li:first-child:hover > a,
  #sp-header .sp-megamenu-parent > li:last-child:hover > a,
  .tm-header .uk-navbar-nav > li:first-child:hover > a,
  .tm-header .uk-navbar-nav > li:last-child:hover > a{
    background: rgba(255,255,255,.075) !important;
    border-color: rgba(255,255,255,.16) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.14),
      0 4px 10px rgba(0,0,0,.10) !important;
    transform: translateY(-1px) !important;
  }

  #sp-header .sp-megamenu-parent > li:first-child:hover > a::after,
  #sp-header .sp-megamenu-parent > li:last-child:hover > a::after,
  .tm-header .uk-navbar-nav > li:first-child:hover > a::after,
  .tm-header .uk-navbar-nav > li:last-child:hover > a::after{
    opacity: 1 !important;
  }

  #sp-header .sp-megamenu-parent > li:first-child:hover > a::before,
  #sp-header .sp-megamenu-parent > li:last-child:hover > a::before,
  .tm-header .uk-navbar-nav > li:first-child:hover > a::before,
  .tm-header .uk-navbar-nav > li:last-child:hover > a::before{
    opacity: 1 !important;
    transform: scale(1.04) !important;
    filter:
      drop-shadow(0 2px 4px rgba(0,0,0,.22))
      drop-shadow(0 0 7px rgba(255,196,72,.16)) !important;
  }

  /* Aktiv: gedrückt / eingelassen */
  #sp-header .sp-megamenu-parent > li:first-child.active > a,
  #sp-header .sp-megamenu-parent > li:last-child.active > a,
  #sp-header .sp-megamenu-parent > li:first-child.current > a,
  #sp-header .sp-megamenu-parent > li:last-child.current > a,
  #sp-header .sp-megamenu-parent > li:first-child.current-item > a,
  #sp-header .sp-megamenu-parent > li:last-child.current-item > a,
  .tm-header .uk-navbar-nav > li:first-child.uk-active > a,
  .tm-header .uk-navbar-nav > li:last-child.uk-active > a,
  .uk-navbar-container:not(.uk-navbar-transparent) .uk-navbar-nav > li:first-child.uk-active > a,
  .uk-navbar-container:not(.uk-navbar-transparent) .uk-navbar-nav > li:last-child.uk-active > a{
    background:
      linear-gradient(180deg, rgba(0,0,0,.12) 0%, rgba(255,255,255,.08) 100%) !important;
    border-color: rgba(255,255,255,.22) !important;
    box-shadow:
      inset 0 3px 7px rgba(0,0,0,.22),
      inset 0 -1px 0 rgba(255,255,255,.16),
      0 1px 0 rgba(255,255,255,.06) !important;
    transform: translateY(1px) !important;
  }

  #sp-header .sp-megamenu-parent > li:first-child.active > a::after,
  #sp-header .sp-megamenu-parent > li:last-child.active > a::after,
  #sp-header .sp-megamenu-parent > li:first-child.current > a::after,
  #sp-header .sp-megamenu-parent > li:last-child.current > a::after,
  #sp-header .sp-megamenu-parent > li:first-child.current-item > a::after,
  #sp-header .sp-megamenu-parent > li:last-child.current-item > a::after,
  .tm-header .uk-navbar-nav > li:first-child.uk-active > a::after,
  .tm-header .uk-navbar-nav > li:last-child.uk-active > a::after{
    opacity: 1 !important;
    background:
      linear-gradient(
        180deg,
        rgba(255,255,255,.10) 0%,
        rgba(255,255,255,.04) 38%,
        rgba(0,0,0,.10) 100%
      ) !important;
  }

  #sp-header .sp-megamenu-parent > li:first-child.active > a::before,
  #sp-header .sp-megamenu-parent > li:last-child.active > a::before,
  #sp-header .sp-megamenu-parent > li:first-child.current > a::before,
  #sp-header .sp-megamenu-parent > li:last-child.current > a::before,
  #sp-header .sp-megamenu-parent > li:first-child.current-item > a::before,
  #sp-header .sp-megamenu-parent > li:last-child.current-item > a::before,
  .tm-header .uk-navbar-nav > li:first-child.uk-active > a::before,
  .tm-header .uk-navbar-nav > li:last-child.uk-active > a::before{
    transform: translateY(1px) scale(.98) !important;
    filter: drop-shadow(0 1px 1px rgba(0,0,0,.20)) !important;
  }

  /* Text zuverlässig verstecken */
  #sp-header .sp-megamenu-parent > li:first-child > a > span,
  #sp-header .sp-megamenu-parent > li:last-child > a > span,
  .tm-header .uk-navbar-nav > li:first-child > a > span,
  .tm-header .uk-navbar-nav > li:last-child > a > span{
    display: none !important;
    font-size: 0 !important;
    color: transparent !important;
  }
}


/* =========================
   GLOBALE HEADINGS / TEXTE
   ========================= */
h1,h2,h3,h4,h5,h6{
  color: var(--topa-text-dark);
}

.uk-text-primary,
.text-primary,
.primary-color,
.sppb-text-primary{
  color: var(--topa-orange) !important;
}

/* =========================
   BUTTONS GLOBAL
   ========================= */
.topa-btn-primary,
.sppb-btn-primary,
.uk-button-primary,
.btn-primary{
  background: var(--topa-bordeaux) !important;
  border-color: var(--topa-bordeaux) !important;
  color: #fff !important;
}

.topa-btn-primary:hover,
.sppb-btn-primary:hover,
.uk-button-primary:hover,
.btn-primary:hover{
  background: var(--topa-bordeaux-hover) !important;
  border-color: var(--topa-bordeaux-hover) !important;
  color: #fff !important;
}

/* =========================
   HEADER NOTIZZETTEL CTA
   ========================= */
.tm-header .uk-navbar-right{
  position: relative !important;
}

.tm-header .uk-navbar-right > #module-117.uk-navbar-item{
  position: absolute !important;
  right: -156px !important;
  top: 100% !important;
  transform: translateY(-35%) !important;
  z-index: 9999 !important;
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  display: block !important;
  flex: none !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.tm-header .uk-navbar-right > #module-117 .mod-custom,
.tm-header .uk-navbar-right > #module-117 .custom{
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.topa-note-cta{
  position: relative !important;
  width: clamp(430px, 29vw, 540px) !important;
  line-height: 0 !important;
}

.topa-note-bg{
  position: relative !important;
  z-index: 1 !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: none !important;
  filter: drop-shadow(0 18px 28px rgba(0,0,0,.24));
}

.topa-note-actions{
  position: absolute !important;
  z-index: 3 !important;
  left: 53% !important;
  bottom: clamp(142px, 27%, 190px) !important;
  transform: translateX(-50%) rotate(-8deg) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 28px !important;
  width: auto !important;
  line-height: 1 !important;
}

.topa-note-btn{
  position: relative !important;
  z-index: 4 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: clamp(58px, 3.8vw, 72px) !important;
  height: clamp(58px, 3.8vw, 72px) !important;
  padding: 0 !important;
  border-radius: 50% !important;
  text-decoration: none !important;
  border: 1px solid rgba(36,36,36,.68) !important;
  box-shadow:
    0 0 0 10px rgba(92,92,92,.52),
    0 12px 20px rgba(0,0,0,.26),
    inset 0 2px 5px rgba(255,255,255,.40),
    inset 0 -9px 14px rgba(0,0,0,.22) !important;
  transition: all .22s ease !important;
  line-height: 1 !important;
  overflow: hidden !important;
}

.topa-note-btn::after{
  content: "" !important;
  position: absolute !important;
  top: 8% !important;
  left: 15% !important;
  width: 52% !important;
  height: 30% !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.36) !important;
  pointer-events: none !important;
}

.topa-note-btn::before{
  content: "" !important;
  position: absolute !important;
  z-index: 3 !important;
  width: clamp(28px, 1.85vw, 36px) !important;
  height: clamp(28px, 1.85vw, 36px) !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: contain !important;
  pointer-events: none !important;
  filter: drop-shadow(0 1px 1px rgba(0,0,0,.18)) !important;
}

.topa-note-btn-phone::before{
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ffffff' d='M6.6 10.8c1.8 3.5 3.1 4.8 6.6 6.6l2.2-2.2c.3-.3.8-.4 1.2-.2 1.3.5 2.8.8 4.3.8.7 0 1.1.4 1.1 1.1V21c0 .7-.4 1.1-1.1 1.1C11.6 22.1 1.9 12.4 1.9 2.9 1.9 2.2 2.3 1.8 3 1.8h4.1c.7 0 1.1.4 1.1 1.1 0 1.5.3 3 .8 4.3.1.4.1.9-.2 1.2l-2.2 2.4z'/%3E%3C/svg%3E") !important;
}

.topa-note-btn-wa::before{
  width: clamp(32px, 2.05vw, 40px) !important;
  height: clamp(32px, 2.05vw, 40px) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath fill='%23ffffff' d='M19.1 17.4c-.3-.1-1.9-.9-2.2-1-.3-.1-.6-.1-.8.2-.2.3-.9 1-1.1 1.2-.2.2-.4.2-.7.1-.3-.1-1.4-.5-2.6-1.7-1-1-1.6-2.1-1.8-2.4-.2-.3 0-.5.1-.7.1-.1.3-.4.5-.5.2-.2.2-.3.3-.5.1-.2 0-.4 0-.5 0-.1-.8-2-1.1-2.7-.3-.7-.6-.6-.8-.6h-.7c-.2 0-.5.1-.7.3-.2.3-1 1-1 2.5s1.1 2.9 1.3 3.1c.2.2 2.2 3.4 5.4 4.8.8.4 1.5.6 2 .8.8.2 1.6.2 2.2.1.7-.1 1.9-.8 2.2-1.5.3-.7.3-1.4.2-1.5-.1-.1-.3-.2-.6-.3z'/%3E%3Cpath fill='%23ffffff' d='M16 3.2c-7 0-12.7 5.7-12.7 12.7 0 2.2.6 4.4 1.7 6.2L3.2 28.8l6.9-1.8c1.7.9 3.8 1.4 5.9 1.4 7 0 12.7-5.7 12.7-12.7S23 3.2 16 3.2zm0 22.9c-1.9 0-3.7-.5-5.3-1.4l-.4-.2-4.1 1.1 1.1-4-.3-.4c-1-1.6-1.5-3.5-1.5-5.4 0-5.8 4.7-10.5 10.5-10.5S26.5 10 26.5 15.8 21.8 26.1 16 26.1z'/%3E%3C/svg%3E") !important;
}

.topa-note-btn span,
.topa-note-btn i,
.topa-note-btn svg{
  display: none !important;
}

.topa-note-btn-phone{
  background:
    radial-gradient(circle at 35% 28%, rgba(255,255,255,.34) 0%, rgba(255,255,255,0) 36%),
    linear-gradient(180deg, #c7004d 0%, #9C0036 58%, #7b002b 100%) !important;
  border-color: rgba(92,0,32,.62) !important;
}

.topa-note-btn-wa{
  background:
    radial-gradient(circle at 35% 28%, rgba(255,255,255,.34) 0%, rgba(255,255,255,0) 36%),
    linear-gradient(180deg, #47de82 0%, #25D366 60%, #17974A 100%) !important;
  border-color: rgba(21,130,63,.48) !important;
  transform: translateY(-10px) !important;
}

/* =========================
   INTRO-BLOCK OBEN
   ========================= */
.topa-start-intro{
  position: relative !important;
  padding-top: 95px !important;
  padding-bottom: 110px !important;
  background: linear-gradient(180deg, #F4F1EC 0%, #FBF8F4 100%) !important;
  overflow: hidden !important;
}

.topa-start-intro .sppb-section-container{
  position: relative !important;
  z-index: 2 !important;
}

.topa-start-intro .sppb-row,
.topa-start-intro .row{
  align-items: flex-start !important;
}

.topa-start-intro .sppb-column:first-child{
  position: relative !important;
  z-index: 3 !important;
  display: flex !important;
  justify-content: flex-end !important;
  padding-right: 12px !important;
}

.topa-start-intro .sppb-column:last-child{
  padding-left: 12px !important;
}

.topa-start-intro-image{
  position: relative !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 12px 0 0 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  width: 100% !important;
  display: flex !important;
  justify-content: flex-end !important;
}

.topa-start-intro-image img{
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin-left: auto !important;
  margin-right: 0 !important;
}

.topa-start-intro-copy{
  position: relative !important;
  max-width: 92% !important;
  margin-left: 0 !important;
  padding: 42px 40px 38px 42px !important;
  background: rgba(255,255,255,.78) !important;
  backdrop-filter: blur(4px) !important;
  border-radius: 28px !important;
  box-shadow: 0 26px 56px rgba(0,0,0,.08), 0 2px 8px rgba(0,0,0,.03) !important;
}

.topa-start-intro-copy::before{
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 34px !important;
  bottom: 34px !important;
  width: 4px !important;
  border-radius: 999px !important;
  background: linear-gradient(180deg, var(--topa-orange) 0%, var(--topa-bordeaux) 100%) !important;
}

.topa-start-intro-eyebrow,
.topa-start-intro-eyebrow p,
.topa-start-intro-eyebrow span{
  color: var(--topa-orange-dark) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .10em !important;
  text-transform: uppercase !important;
  line-height: 1.4 !important;
}

.topa-start-intro-title .sppb-addon-title,
.topa-start-intro-title h1,
.topa-start-intro-title h2,
.topa-start-intro-title h3{
  color: var(--topa-text-dark) !important;
  font-size: clamp(36px, 3.1vw, 54px) !important;
  line-height: 1.08 !important;
  letter-spacing: -.025em !important;
  margin: 0 !important;
  text-wrap: balance !important;
}

.topa-start-intro-text,
.topa-start-intro-text p,
.topa-start-intro-text span,
.topa-start-intro-text div{
  color: var(--topa-text-soft) !important;
  font-size: 19px !important;
  line-height: 1.78 !important;
  font-weight: 400 !important;
}

.topa-start-intro-btn .sppb-btn,
.topa-start-intro-btn .btn{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 54px !important;
  padding: 0 30px !important;
  border-radius: 12px !important;
  background: var(--topa-bordeaux) !important;
  border: 2px solid var(--topa-bordeaux) !important;
  color: var(--topa-white) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: .01em !important;
  box-shadow: 0 14px 28px rgba(156,0,54,.18) !important;
}

/* =========================
   SERVICES SECTION / FINAL
   ========================= */
.topa-services-section{
  position: relative !important;
  padding: 64px 0 36px !important;
  background:
    radial-gradient(circle at 14% 18%, rgba(238,121,51,.05) 0%, rgba(238,121,51,0) 20%),
    radial-gradient(circle at 86% 74%, rgba(156,0,54,.05) 0%, rgba(156,0,54,0) 18%),
    linear-gradient(180deg,#f6f2ec 0%, #fbf8f4 100%) !important;
  overflow: hidden !important;
}

.topa-services-section::before{
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  opacity: .98 !important;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 920'%3E%3Cg fill='none'%3E%3Cpath d='M-80 118 C 220 88, 500 164, 810 126 S 1290 106, 1680 136' stroke='%23EE7933' stroke-width='1.35' stroke-opacity='0.11'/%3E%3Cpath d='M-80 178 C 230 146, 514 214, 826 182 S 1302 162, 1680 192' stroke='%239C0036' stroke-width='1.25' stroke-opacity='0.09'/%3E%3Cpath d='M-80 242 C 242 212, 524 268, 836 238 S 1308 222, 1680 248' stroke='%23EE7933' stroke-width='1.2' stroke-opacity='0.08'/%3E%3Cpath d='M-100 318 C 140 238, 390 454, 655 338 S 1105 244, 1398 358 S 1572 438, 1720 338' stroke='%23EE7933' stroke-width='1.95' stroke-opacity='0.19'/%3E%3Cpath d='M-100 356 C 145 280, 395 496, 660 378 S 1110 284, 1402 400 S 1576 476, 1720 378' stroke='%239C0036' stroke-width='1.9' stroke-opacity='0.18'/%3E%3Cpath d='M-100 398 C 150 322, 400 538, 666 422 S 1116 328, 1408 444 S 1580 520, 1720 422' stroke='%23EE7933' stroke-width='1.85' stroke-opacity='0.17'/%3E%3Cpath d='M-100 444 C 154 370, 406 586, 672 470 S 1122 376, 1412 494 S 1582 570, 1720 470' stroke='%239C0036' stroke-width='1.8' stroke-opacity='0.16'/%3E%3Cpath d='M-100 494 C 158 422, 412 638, 678 522 S 1128 430, 1418 548 S 1586 622, 1720 522' stroke='%23EE7933' stroke-width='1.75' stroke-opacity='0.15'/%3E%3Cpath d='M-100 548 C 160 478, 416 692, 684 578 S 1132 486, 1422 606 S 1588 676, 1720 578' stroke='%239C0036' stroke-width='1.7' stroke-opacity='0.145'/%3E%3Cpath d='M-100 608 C 162 540, 420 752, 690 640 S 1138 548, 1428 670 S 1592 738, 1720 640' stroke='%23EE7933' stroke-width='1.65' stroke-opacity='0.135'/%3E%3Cpath d='M-100 674 C 166 608, 426 816, 698 708 S 1144 616, 1434 740 S 1596 806, 1720 708' stroke='%239C0036' stroke-width='1.6' stroke-opacity='0.125'/%3E%3Cpath d='M-100 744 C 170 680, 432 882, 706 780 S 1150 690, 1440 816 S 1600 878, 1720 780' stroke='%23EE7933' stroke-width='1.5' stroke-opacity='0.115'/%3E%3Cpath d='M-10 286 C 210 426, 430 516, 664 624 S 1028 756, 1318 914' stroke='%239C0036' stroke-width='1.45' stroke-opacity='0.13'/%3E%3Cpath d='M160 256 C 356 394, 590 492, 820 610 S 1124 758, 1396 920' stroke='%23EE7933' stroke-width='1.4' stroke-opacity='0.12'/%3E%3Cpath d='M350 244 C 534 378, 758 474, 968 592 S 1242 736, 1502 900' stroke='%239C0036' stroke-width='1.3' stroke-opacity='0.11'/%3E%3Cpath d='M1512 274 C 1334 398, 1160 484, 948 594 S 636 742, 346 916' stroke='%239C0036' stroke-width='1.42' stroke-opacity='0.12'/%3E%3Cpath d='M1272 238 C 1116 358, 956 440, 770 552 S 484 698, 194 888' stroke='%23EE7933' stroke-width='1.35' stroke-opacity='0.11'/%3E%3Cpath d='M1088 234 C 946 346, 792 430, 620 540 S 360 682, 72 874' stroke='%239C0036' stroke-width='1.25' stroke-opacity='0.10'/%3E%3Cpath d='M-40 748 C 232 670, 494 782, 760 714 S 1228 650, 1528 746' stroke='%239C0036' stroke-width='1.25' stroke-opacity='0.11'/%3E%3Cpath d='M56 806 C 312 726, 574 832, 834 770 S 1258 708, 1544 798' stroke='%23EE7933' stroke-width='1.22' stroke-opacity='0.10'/%3E%3Cpath d='M180 860 C 420 790, 672 882, 918 828 S 1298 774, 1568 850' stroke='%239C0036' stroke-width='1.15' stroke-opacity='0.09'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center center !important;
  animation: topaServicesWavesFloatStrong 34s ease-in-out infinite alternate;
  will-change: transform;
  transform-origin: center center;
}

.topa-services-section::after{
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.16) 0%, rgba(255,255,255,.03) 18%, rgba(255,255,255,0) 70%, rgba(255,255,255,.05) 100%) !important;
}

.topa-services-section .sppb-section-container{
  position: relative !important;
  z-index: 2 !important;
}

.topa-services-section .sppb-addon-header{
  text-align: center !important;
}

.topa-services-section .sppb-addon-title,
.topa-services-section h1,
.topa-services-section h2,
.topa-services-section h3{
  color: #242424 !important;
  font-family: "Cormorant Garamond", serif !important;
  font-size: clamp(35px, 2.9vw, 52px) !important;
  line-height: 1.08 !important;
  letter-spacing: -.024em !important;
  text-align: center !important;
  text-wrap: balance !important;
  max-width: 880px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: 10px !important;
}

.topa-services-section .sppb-addon-text,
.topa-services-section .sppb-addon-text p{
  text-align: center !important;
  color: #636363 !important;
  font-size: 17px !important;
  line-height: 1.6 !important;
}

.topa-services-section .sppb-addon-text p{
  max-width: 640px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: 16px !important;
}

.topa-services-section .sppb-row,
.topa-services-section .row{
  align-items: stretch !important;
}

.topa-services-section .sppb-column{
  display: flex !important;
  margin-bottom: 4px !important;
}

.topa-services-section .sppb-column .sppb-column-addons{
  width: 100% !important;
}

.topa-services-section .sppb-row + .sppb-row{
  margin-top: -6px !important;
}

.topa-services-section .sppb-feature-box,
.topa-services-section .sppb-addon-feature{
  position: relative !important;
  width: 100% !important;
  min-height: 210px !important;
  height: 210px !important;
  padding: 21px 22px 18px 22px !important;
  border-radius: 24px !important;
  background: rgba(255,255,255,.84) !important;
  border: 1px solid rgba(156,0,54,.08) !important;
  backdrop-filter: blur(4px) !important;
  -webkit-backdrop-filter: blur(4px) !important;
  box-shadow:
    0 14px 28px rgba(0,0,0,.042),
    0 5px 12px rgba(0,0,0,.022),
    inset 0 1px 0 rgba(255,255,255,.75) !important;
  overflow: hidden !important;
  text-align: center !important;
  transition:
    transform .20s ease,
    box-shadow .20s ease,
    border-color .20s ease,
    background-color .20s ease !important;
}

.topa-services-section .sppb-feature-box::before,
.topa-services-section .sppb-addon-feature::before{
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  right: 0 !important;
  height: 4px !important;
  background: linear-gradient(90deg,#EE7933 0%, #9C0036 100%) !important;
  opacity: .88 !important;
}

.topa-services-section .sppb-feature-box::after,
.topa-services-section .sppb-addon-feature::after{
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.22) 0%, rgba(255,255,255,0) 24%) !important;
}

.topa-services-section .sppb-feature-box:hover,
.topa-services-section .sppb-addon-feature:hover{
  transform: translateY(-4px) !important;
  border-color: rgba(156,0,54,.24) !important;
  background: rgba(255,255,255,.88) !important;
  box-shadow:
    0 22px 40px rgba(0,0,0,.055),
    0 8px 18px rgba(0,0,0,.03),
    0 0 0 1px rgba(156,0,54,.08),
    inset 0 1px 0 rgba(255,255,255,.78) !important;
}

.topa-services-section .sppb-feature-box .sppb-media-heading,
.topa-services-section .sppb-addon-feature .sppb-media-heading,
.topa-services-section .sppb-feature-box .sppb-addon-title,
.topa-services-section .sppb-addon-feature .sppb-addon-title{
  margin: 0 0 11px 0 !important;
  color: #242424 !important;
  font-size: 17px !important;
  line-height: 1.18 !important;
  font-weight: 700 !important;
  text-align: center !important;
  letter-spacing: -.01em !important;
}

.topa-services-section .sppb-icon,
.topa-services-section .sppb-icon-container,
.topa-services-section .sppb-feature-box i,
.topa-services-section .sppb-addon-feature i{
  color: #9C0036 !important;
}

.topa-services-section .sppb-icon-container{
  width: 60px !important;
  height: 60px !important;
  margin: 0 auto 11px auto !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background:
    radial-gradient(circle at 30% 28%, rgba(255,255,255,.96) 0%, rgba(255,255,255,.62) 24%, rgba(255,255,255,.12) 56%, rgba(255,255,255,0) 70%),
    linear-gradient(180deg, rgba(238,121,51,.16) 0%, rgba(156,0,54,.16) 100%) !important;
  border: 1px solid rgba(156,0,54,.16) !important;
  box-shadow:
    0 8px 18px rgba(156,0,54,.08),
    inset 0 1px 0 rgba(255,255,255,.84),
    inset 0 -6px 10px rgba(156,0,54,.035) !important;
}

.topa-services-section .sppb-icon-container i,
.topa-services-section .sppb-feature-box i,
.topa-services-section .sppb-addon-feature i{
  font-size: 28px !important;
  line-height: 1 !important;
}

.topa-services-section .sppb-feature-box .sppb-media-content,
.topa-services-section .sppb-addon-feature .sppb-media-content,
.topa-services-section .sppb-feature-box p,
.topa-services-section .sppb-addon-feature p{
  color: #5F5F5F !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
  margin: 0 !important;
  text-align: center !important;
}

@keyframes topaServicesWavesFloatStrong{
  0%{
    transform: translate3d(0px, 0px, 0) scale(1);
  }
  16%{
    transform: translate3d(-20px, 10px, 0) scale(1.022);
  }
  32%{
    transform: translate3d(-38px, 20px, 0) scale(1.042);
  }
  48%{
    transform: translate3d(-12px, 28px, 0) scale(1.03);
  }
  64%{
    transform: translate3d(24px, -14px, 0) scale(1.036);
  }
  82%{
    transform: translate3d(40px, -24px, 0) scale(1.048);
  }
  100%{
    transform: translate3d(14px, 8px, 0) scale(1.02);
  }
}

/* =========================
   PROZESSBLOCK / VERSION B
   ========================= */
.topa-process-block{
  position: relative !important;
  padding: 88px 0 92px !important;
  background:
    radial-gradient(circle at 14% 16%, rgba(238,121,51,.10) 0%, rgba(238,121,51,0) 26%),
    radial-gradient(circle at 86% 78%, rgba(156,0,54,.10) 0%, rgba(156,0,54,0) 24%),
    radial-gradient(circle at 62% 28%, rgba(156,0,54,.05) 0%, rgba(156,0,54,0) 18%),
    linear-gradient(180deg,#f5f2ed 0%, #fbf8f4 100%) !important;
  overflow: hidden !important;
}

.topa-process-block::before{
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  opacity: .95 !important;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 760'%3E%3Cg fill='none'%3E%3Cpath d='M-120 110 C 90 10, 280 230, 520 120 S 940 10, 1240 145 S 1540 260, 1720 100' stroke='%23EE7933' stroke-width='2.1' stroke-opacity='0.23'/%3E%3Cpath d='M-120 175 C 120 80, 300 295, 560 185 S 980 75, 1280 205 S 1560 320, 1720 185' stroke='%239C0036' stroke-width='1.9' stroke-opacity='0.20'/%3E%3Cpath d='M-120 255 C 100 165, 320 380, 575 270 S 990 160, 1295 285 S 1560 405, 1720 255' stroke='%23EE7933' stroke-width='1.8' stroke-opacity='0.18'/%3E%3Cpath d='M-120 345 C 100 255, 320 470, 575 360 S 990 250, 1295 375 S 1560 495, 1720 345' stroke='%239C0036' stroke-width='1.8' stroke-opacity='0.17'/%3E%3Cpath d='M-120 445 C 100 355, 320 570, 575 460 S 990 350, 1295 475 S 1560 595, 1720 445' stroke='%23EE7933' stroke-width='1.7' stroke-opacity='0.16'/%3E%3Cpath d='M-120 545 C 100 455, 320 670, 575 560 S 990 450, 1295 575 S 1560 695, 1720 545' stroke='%239C0036' stroke-width='1.6' stroke-opacity='0.14'/%3E%3Cpath d='M80 -40 C 240 120, 380 170, 560 250 S 860 370, 1080 490 S 1340 640, 1510 810' stroke='%23EE7933' stroke-width='1.5' stroke-opacity='0.14'/%3E%3Cpath d='M310 -60 C 450 110, 610 180, 780 285 S 1050 430, 1230 560 S 1430 690, 1600 840' stroke='%239C0036' stroke-width='1.5' stroke-opacity='0.13'/%3E%3Cpath d='M1510 -30 C 1360 120, 1210 185, 1020 290 S 700 430, 510 560 S 280 680, 60 830' stroke='%23EE7933' stroke-width='1.5' stroke-opacity='0.12'/%3E%3Cpath d='M1260 -40 C 1110 110, 980 165, 820 260 S 560 400, 380 540 S 180 660, -20 790' stroke='%239C0036' stroke-width='1.4' stroke-opacity='0.11'/%3E%3Cpath d='M-40 700 C 220 600, 460 720, 700 640 S 1140 560, 1450 650' stroke='%23EE7933' stroke-width='1.3' stroke-opacity='0.10'/%3E%3Cpath d='M120 660 C 360 575, 590 690, 820 615 S 1200 545, 1510 625' stroke='%239C0036' stroke-width='1.3' stroke-opacity='0.09'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center center !important;
}

.topa-process-block::after{
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.18) 0%, rgba(255,255,255,0) 24%, rgba(255,255,255,0) 78%, rgba(255,255,255,.10) 100%) !important;
}

.topa-process-block .sppb-section-container{
  position: relative !important;
  z-index: 2 !important;
}

.topa-process-eyebrow,
.topa-process-eyebrow p,
.topa-process-eyebrow span{
  margin: 0 0 10px 0 !important;
  color: #C45410 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .10em !important;
  text-transform: uppercase !important;
  line-height: 1.4 !important;
  text-align: center !important;
}

.topa-process-title{
  margin: 0 0 18px 0 !important;
  text-align: center !important;
}

.topa-process-title .sppb-addon-content,
.topa-process-title .sppb-addon-header{
  text-align: center !important;
}

.topa-process-title .sppb-addon-title,
.topa-process-title h1,
.topa-process-title h2,
.topa-process-title h3{
  display: block !important;
  margin: 0 auto 18px auto !important;
  color: #242424 !important;
  font-family: "Cormorant Garamond", serif !important;
  font-size: clamp(40px, 3.4vw, 62px) !important;
  line-height: 1.08 !important;
  letter-spacing: -.03em !important;
  font-weight: 500 !important;
  text-align: center !important;
  text-wrap: balance !important;
  max-width: 980px !important;
}

.topa-process-intro,
.topa-process-intro p{
  max-width: 920px !important;
  margin: 0 auto 38px auto !important;
  color: #5E5E5E !important;
  font-size: 18px !important;
  line-height: 1.72 !important;
  text-align: center !important;
}

.topa-process-grid{
  margin-top: 14px !important;
}

.topa-process-grid .sppb-row,
.topa-process-grid .row{
  align-items: stretch !important;
}

.topa-process-col{
  display: flex !important;
}

.topa-process-col .sppb-column-addons{
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}

.topa-process-step,
.topa-process-step p,
.topa-process-step span{
  margin: 0 !important;
  color: #9C0036 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  line-height: 1.2 !important;
  text-align: center !important;
}

.topa-process-card{
  width: 100% !important;
  min-height: 348px !important;
  padding: 28px 24px 24px 24px !important;
  border-radius: 24px !important;
  background: rgba(255,255,255,.80) !important;
  border: 1px solid rgba(156,0,54,.10) !important;
  backdrop-filter: blur(4px) !important;
  -webkit-backdrop-filter: blur(4px) !important;
  box-shadow:
    0 22px 44px rgba(0,0,0,.055),
    0 8px 18px rgba(0,0,0,.035),
    inset 0 1px 0 rgba(255,255,255,.72) !important;
  position: relative !important;
  overflow: hidden !important;
  text-align: center !important;
  transition: transform .22s ease, box-shadow .22s ease !important;
}

.topa-process-card::before{
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  right: 0 !important;
  height: 4px !important;
  background: linear-gradient(90deg,#EE7933 0%, #9C0036 100%) !important;
}

.topa-process-card::after{
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.32) 0%, rgba(255,255,255,0) 24%) !important;
}

.topa-process-card .sppb-addon-title,
.topa-process-card h3,
.topa-process-card h4{
  margin: 0 0 18px 0 !important;
  color: #242424 !important;
  font-size: 22px !important;
  line-height: 1.22 !important;
  font-weight: 700 !important;
  text-align: center !important;
}

.topa-process-card .sppb-media,
.topa-process-card .sppb-icon-container{
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  margin-bottom: 18px !important;
}

.topa-process-card .sppb-icon,
.topa-process-card .sppb-icon-container i,
.topa-process-card i{
  color: #9C0036 !important;
  font-size: 34px !important;
  line-height: 1 !important;
}

.topa-process-card .sppb-icon-container{
  width: 78px !important;
  height: 78px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  border-radius: 50% !important;
  background:
    radial-gradient(circle at 30% 28%, rgba(255,255,255,.92) 0%, rgba(255,255,255,.48) 30%, rgba(255,255,255,0) 62%),
    linear-gradient(180deg, rgba(238,121,51,.12) 0%, rgba(156,0,54,.12) 100%) !important;
  border: 1px solid rgba(156,0,54,.12) !important;
  box-shadow:
    0 10px 20px rgba(156,0,54,.08),
    inset 0 1px 0 rgba(255,255,255,.75) !important;
}

.topa-process-card .sppb-addon-text,
.topa-process-card p,
.topa-process-card div{
  color: #5E5E5E !important;
  font-size: 16px !important;
  line-height: 1.72 !important;
  margin: 0 !important;
  text-align: center !important;
}

.topa-process-card:hover{
  transform: translateY(-6px) !important;
  box-shadow:
    0 28px 54px rgba(0,0,0,.075),
    0 10px 24px rgba(0,0,0,.04),
    inset 0 1px 0 rgba(255,255,255,.74) !important;
}

/* Rücksicht auf reduzierte Bewegung */
@media (prefers-reduced-motion: reduce){
  .topa-services-section::before{
    animation: none !important;
    transform: none !important;
  }
}

/* =========================
   RESPONSIVE
   ========================= */
@media (max-width: 1399.98px){
  .tm-header .uk-navbar-right > #module-117.uk-navbar-item{
    right: -126px !important;
    transform: translateY(-30%) !important;
  }

  .topa-note-cta{
    width: clamp(390px, 28vw, 480px) !important;
  }

  .topa-note-actions{
    left: 53% !important;
    bottom: clamp(132px, 25%, 170px) !important;
    gap: 24px !important;
  }

  .topa-start-intro .sppb-column:first-child{
    padding-right: 10px !important;
  }

  .topa-start-intro .sppb-column:last-child{
    padding-left: 10px !important;
  }

  .topa-start-intro-copy{
    max-width: 95% !important;
    padding: 40px 38px 38px 40px !important;
  }

  .topa-start-intro-image{
    margin-top: 8px !important;
  }

  .topa-services-section .sppb-addon-title,
  .topa-services-section h1,
  .topa-services-section h2,
  .topa-services-section h3{
    font-size: clamp(33px, 2.8vw, 46px) !important;
  }

  .topa-services-section .sppb-feature-box,
  .topa-services-section .sppb-addon-feature{
    min-height: 210px !important;
    height: 210px !important;
  }

  .topa-process-card{
    min-height: 360px !important;
    padding: 24px 20px 22px 20px !important;
  }

  .topa-process-card .sppb-icon,
  .topa-process-card .sppb-icon-container i,
  .topa-process-card i{
    font-size: 31px !important;
  }

  .topa-process-card .sppb-icon-container{
    width: 70px !important;
    height: 70px !important;
  }
}

@media (max-width: 1199.98px){
  .tm-header .uk-navbar-right > #module-117.uk-navbar-item{
    right: -50px !important;
    transform: translateY(-16%) !important;
  }

  .topa-note-cta{
    width: 350px !important;
  }

  .topa-note-actions{
    left: 53% !important;
    bottom: 116px !important;
    gap: 16px !important;
  }

  .topa-start-intro{
    padding-top: 78px !important;
    padding-bottom: 88px !important;
  }

  .topa-start-intro .sppb-column:first-child{
    padding-right: 8px !important;
  }

  .topa-start-intro .sppb-column:last-child{
    padding-left: 8px !important;
  }

  .topa-start-intro-image{
    margin-top: 6px !important;
  }

  .topa-start-intro-copy{
    max-width: 100% !important;
    padding: 34px 30px 32px 34px !important;
  }

  .topa-services-section{
    padding: 56px 0 32px !important;
  }

  .topa-services-section .sppb-addon-title,
  .topa-services-section h1,
  .topa-services-section h2,
  .topa-services-section h3{
    font-size: clamp(29px, 2.7vw, 40px) !important;
  }

  .topa-services-section .sppb-addon-text,
  .topa-services-section .sppb-addon-text p{
    font-size: 16px !important;
  }

  .topa-services-section .sppb-addon-text p{
    max-width: 600px !important;
  }

  .topa-services-section .sppb-feature-box,
  .topa-services-section .sppb-addon-feature{
    min-height: 220px !important;
    height: 220px !important;
    padding: 20px 18px 18px 18px !important;
  }

  .topa-services-section .sppb-feature-box .sppb-media-heading,
  .topa-services-section .sppb-addon-feature .sppb-media-heading,
  .topa-services-section .sppb-feature-box .sppb-addon-title,
  .topa-services-section .sppb-addon-feature .sppb-addon-title{
    font-size: 17px !important;
  }

  .topa-services-section .sppb-icon-container{
    width: 56px !important;
    height: 56px !important;
  }

  .topa-services-section .sppb-icon-container i,
  .topa-services-section .sppb-feature-box i,
  .topa-services-section .sppb-addon-feature i{
    font-size: 25px !important;
  }

  .topa-process-card{
    min-height: 372px !important;
    padding: 24px 20px 22px 20px !important;
  }

  .topa-process-card .sppb-addon-title,
  .topa-process-card h3,
  .topa-process-card h4{
    font-size: 20px !important;
  }

  .topa-process-card .sppb-addon-text,
  .topa-process-card p,
  .topa-process-card div{
    font-size: 15px !important;
  }

  .topa-process-card .sppb-icon,
  .topa-process-card .sppb-icon-container i,
  .topa-process-card i{
    font-size: 29px !important;
  }

  .topa-process-card .sppb-icon-container{
    width: 66px !important;
    height: 66px !important;
  }
}

@media (max-width: 991.98px){
  .tm-header .uk-navbar-right > #module-117.uk-navbar-item{
    position: static !important;
    top: auto !important;
    right: auto !important;
    transform: none !important;
    display: block !important;
    margin-left: 10px !important;
  }

  .topa-note-cta{
    width: 220px !important;
  }

  .topa-note-actions{
    left: 53% !important;
    bottom: 50px !important;
    gap: 10px !important;
  }

  .topa-start-intro{
    padding-top: 60px !important;
    padding-bottom: 68px !important;
  }

  .topa-start-intro .sppb-column:first-child,
  .topa-start-intro .sppb-column:last-child{
    display: block !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .topa-start-intro-image{
    display: block !important;
    margin-top: 0 !important;
  }

  .topa-start-intro-copy{
    margin-top: 30px !important;
    max-width: 100% !important;
    padding: 28px 22px 26px 26px !important;
    border-radius: 22px !important;
  }

  .topa-services-section{
    padding: 48px 0 28px !important;
  }

  .topa-services-section .sppb-addon-title,
  .topa-services-section h1,
  .topa-services-section h2,
  .topa-services-section h3{
    font-size: 29px !important;
    line-height: 1.12 !important;
    margin-bottom: 10px !important;
  }

  .topa-services-section .sppb-addon-text,
  .topa-services-section .sppb-addon-text p{
    font-size: 15px !important;
    line-height: 1.56 !important;
  }

  .topa-services-section .sppb-addon-text p{
    max-width: 540px !important;
    margin-bottom: 14px !important;
  }

  .topa-services-section .sppb-column{
    margin-bottom: 10px !important;
  }

  .topa-services-section .sppb-row + .sppb-row{
    margin-top: 0 !important;
  }

  .topa-services-section .sppb-feature-box,
  .topa-services-section .sppb-addon-feature{
    min-height: auto !important;
    height: auto !important;
    padding: 18px 16px 16px 16px !important;
    border-radius: 20px !important;
  }

  .topa-services-section .sppb-icon-container{
    width: 52px !important;
    height: 52px !important;
  }

  .topa-services-section .sppb-icon-container i,
  .topa-services-section .sppb-feature-box i,
  .topa-services-section .sppb-addon-feature i{
    font-size: 22px !important;
  }

  .topa-process-title .sppb-addon-title,
  .topa-process-title h1,
  .topa-process-title h2,
  .topa-process-title h3{
    font-size: 32px !important;
    line-height: 1.12 !important;
    margin-bottom: 16px !important;
  }

  .topa-process-intro,
  .topa-process-intro p{
    font-size: 16px !important;
    line-height: 1.66 !important;
    margin-bottom: 24px !important;
  }

  .topa-process-col{
    margin-bottom: 16px !important;
  }

  .topa-process-card{
    min-height: auto !important;
    padding: 20px 18px 18px 18px !important;
  }

  .topa-process-card .sppb-addon-title,
  .topa-process-card h3,
  .topa-process-card h4{
    font-size: 20px !important;
  }

  .topa-process-card .sppb-addon-text,
  .topa-process-card p,
  .topa-process-card div{
    font-size: 15px !important;
  }

  .topa-process-card .sppb-icon,
  .topa-process-card .sppb-icon-container i,
  .topa-process-card i{
    font-size: 26px !important;
  }

  .topa-process-card .sppb-icon-container{
    width: 60px !important;
    height: 60px !important;
  }
}

/* =========================
   OFFCANVAS CTA UNTEN
   Unterstützt den per Helix/JS eingefügten Block:
   .topa-offcanvas-cta
   ========================= */
.offcanvas-menu .topa-offcanvas-cta,
.offcanvas-menu .offcanvas-inner .topa-offcanvas-cta,
body .topa-offcanvas-cta{
  width: 100% !important;
  margin: 28px 0 0 0 !important;
  padding: 18px 0 4px 0 !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important;
  border-top: 1px solid rgba(255,255,255,.16) !important;
}

.offcanvas-menu .topa-offcanvas-cta a,
body .topa-offcanvas-cta a{
  min-height: 48px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 10px 12px !important;
  border-radius: 12px !important;
  font-family: "Inter", Arial, Helvetica, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  color: #fff !important;
  box-shadow: 0 12px 22px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.18) !important;
}

.offcanvas-menu .topa-offcanvas-phone,
body .topa-offcanvas-phone{
  background: linear-gradient(180deg, #c7004d 0%, var(--topa-bordeaux) 64%, #78002a 100%) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
}

.offcanvas-menu .topa-offcanvas-whatsapp,
body .topa-offcanvas-whatsapp{
  background: linear-gradient(180deg, #48df82 0%, var(--topa-whatsapp) 62%, var(--topa-whatsapp-dark) 100%) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
}

.offcanvas-menu .topa-offcanvas-cta i,
body .topa-offcanvas-cta i{
  font-size: 16px !important;
  line-height: 1 !important;
  color: #fff !important;
}

@media (max-width: 420px){
  .offcanvas-menu .topa-offcanvas-cta,
  body .topa-offcanvas-cta{
    grid-template-columns: 1fr !important;
  }
}



/* =========================
   FOOTER / KOMPAKT PREMIUM FINAL
   Schmaler, ruhiger, edler Abschluss.
   Textkürzungen selbst bitte in user1-user4-Modulen pflegen.
   ========================= */

#sp-bottom,
#sp-footer,
.sp-footer,
footer#sp-footer,
.topa-footer-grid{
  position: relative !important;
  background:
    radial-gradient(circle at 16% 0%, rgba(156,0,54,.12) 0%, rgba(156,0,54,0) 30%),
    linear-gradient(180deg, #252525 0%, #202020 58%, #1c1c1c 100%) !important;
  color: rgba(255,255,255,.58) !important;
}

#sp-footer,
.sp-footer,
footer#sp-footer{
  border-top: 1px solid rgba(156,0,54,.34) !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  overflow: hidden !important;
}

#sp-footer::before,
.sp-footer::before,
footer#sp-footer::before{
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: 0 !important;
  height: 2px !important;
  background: linear-gradient(90deg, rgba(156,0,54,0) 0%, rgba(156,0,54,.78) 28%, rgba(238,121,51,.72) 52%, rgba(255,196,72,.44) 70%, rgba(156,0,54,0) 100%) !important;
  pointer-events: none !important;
}

.topa-footer-grid,
#sp-bottom .topa-footer-grid{
  padding-top: 28px !important;
  padding-bottom: 18px !important;
}

#sp-bottom .sp-module,
#sp-footer .sp-module,
.sp-footer .sp-module,
.topa-footer-grid .sp-module{
  margin-bottom: 12px !important;
}

#sp-bottom .sp-module-title,
#sp-footer .sp-module-title,
.sp-footer .sp-module-title,
.topa-footer-grid .sp-module-title{
  margin: 0 0 10px 0 !important;
  color: rgba(255,255,255,.72) !important;
  font-family: "Inter", Arial, Helvetica, sans-serif !important;
  font-size: 13px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
  letter-spacing: .045em !important;
  text-transform: uppercase !important;
}

#sp-bottom,
#sp-bottom p,
#sp-bottom li,
#sp-bottom span,
#sp-bottom div,
#sp-footer,
#sp-footer p,
#sp-footer li,
#sp-footer span,
#sp-footer div,
.sp-footer,
.sp-footer p,
.sp-footer li,
.sp-footer span,
.sp-footer div,
.topa-footer-grid,
.topa-footer-grid p,
.topa-footer-grid li,
.topa-footer-grid span,
.topa-footer-grid div{
  color: rgba(255,255,255,.56) !important;
}

#sp-bottom a,
#sp-footer a,
.sp-footer a,
footer#sp-footer a,
.topa-footer-grid a{
  color: rgba(255,255,255,.70) !important;
  text-decoration: none !important;
  transition: color .22s ease, transform .22s ease !important;
}

#sp-bottom a:hover,
#sp-bottom a:focus,
#sp-footer a:hover,
#sp-footer a:focus,
.sp-footer a:hover,
.sp-footer a:focus,
footer#sp-footer a:hover,
footer#sp-footer a:focus,
.topa-footer-grid a:hover,
.topa-footer-grid a:focus{
  color: var(--topa-orange-light) !important;
}

#sp-footer .topa-footer-logo,
.sp-footer .topa-footer-logo,
.topa-footer-grid .topa-footer-logo{
  margin: 0 0 10px 0 !important;
}

#sp-footer .topa-footer-logo img,
.sp-footer .topa-footer-logo img,
.topa-footer-grid .topa-footer-logo img{
  display: block !important;
  width: 100% !important;
  max-width: 128px !important;
  height: auto !important;
  opacity: .94 !important;
}

#sp-footer .topa-footer-contact,
.sp-footer .topa-footer-contact,
.topa-footer-grid .topa-footer-contact,
#sp-footer .topa-footer-module,
.sp-footer .topa-footer-module,
.topa-footer-grid .topa-footer-module{
  font-size: 13.5px !important;
  line-height: 1.48 !important;
}

#sp-footer .topa-footer-contact p,
.sp-footer .topa-footer-contact p,
.topa-footer-grid .topa-footer-contact p{
  margin: 0 0 6px 0 !important;
}

#sp-footer .topa-footer-contact p:last-child,
.sp-footer .topa-footer-contact p:last-child,
.topa-footer-grid .topa-footer-contact p:last-child{
  margin-bottom: 0 !important;
}

#sp-footer .topa-footer-contact .topa-footer-line,
.sp-footer .topa-footer-contact .topa-footer-line,
.topa-footer-grid .topa-footer-contact .topa-footer-line{
  padding-left: 0 !important;
}

#sp-footer .topa-footer-contact .topa-footer-line::before,
.sp-footer .topa-footer-contact .topa-footer-line::before,
.topa-footer-grid .topa-footer-contact .topa-footer-line::before{
  content: none !important;
  display: none !important;
}

#sp-footer .topa-footer-contact .topa-footer-label,
.sp-footer .topa-footer-contact .topa-footer-label,
.topa-footer-grid .topa-footer-contact .topa-footer-label{
  display: inline-block !important;
  min-width: 46px !important;
  margin-right: 8px !important;
  color: rgba(255,255,255,.56) !important;
  font-weight: 500 !important;
}

#sp-footer .topa-footer-links,
.sp-footer .topa-footer-links,
.topa-footer-grid .topa-footer-links{
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

#sp-footer .topa-footer-links li,
.sp-footer .topa-footer-links li,
.topa-footer-grid .topa-footer-links li{
  list-style: none !important;
  margin: 0 0 5px 0 !important;
  padding: 0 !important;
}

#sp-footer .topa-footer-links li:last-child,
.sp-footer .topa-footer-links li:last-child,
.topa-footer-grid .topa-footer-links li:last-child{
  margin-bottom: 0 !important;
}

#sp-footer .topa-footer-links a,
.sp-footer .topa-footer-links a,
.topa-footer-grid .topa-footer-links a{
  display: inline-block !important;
  line-height: 1.35 !important;
}

#sp-footer .topa-footer-links a:hover,
#sp-footer .topa-footer-links a:focus,
.sp-footer .topa-footer-links a:hover,
.sp-footer .topa-footer-links a:focus,
.topa-footer-grid .topa-footer-links a:hover,
.topa-footer-grid .topa-footer-links a:focus{
  transform: translateX(2px) !important;
}

#sp-footer .topa-footer-bottom-bar,
.sp-footer .topa-footer-bottom-bar,
footer#sp-footer .topa-footer-bottom-bar{
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  flex-wrap: wrap !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 11px 0 13px 0 !important;
  border-top: 1px solid rgba(255,255,255,.075) !important;
  background: rgba(0,0,0,.12) !important;
  font-family: "Inter", Arial, Helvetica, sans-serif !important;
  font-size: 12.5px !important;
  line-height: 1.45 !important;
  text-align: center !important;
}

#sp-footer .topa-footer-bottom-bar span,
.sp-footer .topa-footer-bottom-bar span,
#sp-footer .topa-footer-bottom-bar a,
.sp-footer .topa-footer-bottom-bar a{
  color: rgba(255,255,255,.54) !important;
}

#sp-footer .topa-footer-bottom-bar a:hover,
#sp-footer .topa-footer-bottom-bar a:focus,
.sp-footer .topa-footer-bottom-bar a:hover,
.sp-footer .topa-footer-bottom-bar a:focus{
  color: var(--topa-orange-light) !important;
}

#sp-footer .topa-footer-separator,
.sp-footer .topa-footer-separator{
  color: rgba(255,255,255,.22) !important;
}

@media (max-width: 991.98px){
  .topa-footer-grid,
  #sp-bottom .topa-footer-grid{
    padding-top: 24px !important;
    padding-bottom: 14px !important;
  }

  #sp-footer .topa-footer-logo img,
  .sp-footer .topa-footer-logo img,
  .topa-footer-grid .topa-footer-logo img{
    max-width: 116px !important;
  }

  #sp-footer .topa-footer-bottom-bar,
  .sp-footer .topa-footer-bottom-bar{
    gap: 7px !important;
    padding: 10px 12px 12px 12px !important;
    font-size: 12px !important;
  }
}


/* =========================================================
   ToPa FINAL PATCH – Header Icons + Dropdown Premium + Footer Labels
   Stand: letzte funktionierende Basis, nur gezielte globale Korrekturen
========================================================= */

/* ---------- Header Icon-Navigation final absichern ---------- */
@media (min-width: 992px){

  #sp-header .sp-megamenu-parent > li:first-child,
  #sp-header .sp-megamenu-parent > li:last-child,
  .tm-header .uk-navbar-nav > li:first-child,
  .tm-header .uk-navbar-nav > li:last-child,
  .uk-navbar-container:not(.uk-navbar-transparent) .uk-navbar-nav > li:first-child,
  .uk-navbar-container:not(.uk-navbar-transparent) .uk-navbar-nav > li:last-child{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  #sp-header .sp-megamenu-parent > li:first-child > a,
  #sp-header .sp-megamenu-parent > li:last-child > a,
  .tm-header .uk-navbar-nav > li:first-child > a,
  .tm-header .uk-navbar-nav > li:last-child > a,
  .uk-navbar-container:not(.uk-navbar-transparent) .uk-navbar-nav > li:first-child > a,
  .uk-navbar-container:not(.uk-navbar-transparent) .uk-navbar-nav > li:last-child > a{
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;

    height: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;

    margin: 0 4px !important;
    padding: 0 !important;

    font-size: 0 !important;
    line-height: 1 !important;
    color: transparent !important;
    text-indent: -9999px !important;
    white-space: nowrap !important;

    border-radius: 11px !important;
    border: 1px solid transparent !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: hidden !important;

    transform: none !important;
    transition:
      background-color .22s ease,
      border-color .22s ease,
      box-shadow .22s ease,
      transform .22s ease !important;
  }

  #sp-header .sp-megamenu-parent > li:first-child > a::before,
  #sp-header .sp-megamenu-parent > li:last-child > a::before,
  .tm-header .uk-navbar-nav > li:first-child > a::before,
  .tm-header .uk-navbar-nav > li:last-child > a::before,
  .uk-navbar-container:not(.uk-navbar-transparent) .uk-navbar-nav > li:first-child > a::before,
  .uk-navbar-container:not(.uk-navbar-transparent) .uk-navbar-nav > li:last-child > a::before{
    content: "" !important;
    position: relative !important;
    z-index: 2 !important;
    display: block !important;

    width: 19px !important;
    min-width: 19px !important;
    max-width: 19px !important;

    height: 19px !important;
    min-height: 19px !important;
    max-height: 19px !important;

    margin: 0 !important;
    padding: 0 !important;

    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: contain !important;

    opacity: .96 !important;
    filter: drop-shadow(0 1px 2px rgba(0,0,0,.18)) !important;

    transform: none !important;
    transition: opacity .22s ease, transform .22s ease, filter .22s ease !important;
  }

  #sp-header .sp-megamenu-parent > li:first-child > a::after,
  #sp-header .sp-megamenu-parent > li:last-child > a::after,
  .tm-header .uk-navbar-nav > li:first-child > a::after,
  .tm-header .uk-navbar-nav > li:last-child > a::after,
  .uk-navbar-container:not(.uk-navbar-transparent) .uk-navbar-nav > li:first-child > a::after,
  .uk-navbar-container:not(.uk-navbar-transparent) .uk-navbar-nav > li:last-child > a::after{
    content: "" !important;
    position: absolute !important;
    inset: 1px !important;
    z-index: 1 !important;
    border-radius: 10px !important;
    background:
      linear-gradient(
        180deg,
        rgba(255,255,255,.18) 0%,
        rgba(255,255,255,.06) 42%,
        rgba(0,0,0,.08) 100%
      ) !important;
    opacity: 0 !important;
    pointer-events: none !important;
    border: 0 !important;
    box-shadow: none !important;
    transition: opacity .22s ease !important;
  }

  #sp-header .sp-megamenu-parent > li:first-child > a::before,
  .tm-header .uk-navbar-nav > li:first-child > a::before,
  .uk-navbar-container:not(.uk-navbar-transparent) .uk-navbar-nav > li:first-child > a::before{
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ffffff' d='M3 10.85 12 3l9 7.85v9.65c0 .83-.67 1.5-1.5 1.5H15v-6.5H9V22H4.5c-.83 0-1.5-.67-1.5-1.5v-9.65z'/%3E%3C/svg%3E") !important;
  }

  #sp-header .sp-megamenu-parent > li:last-child > a::before,
  .tm-header .uk-navbar-nav > li:last-child > a::before,
  .uk-navbar-container:not(.uk-navbar-transparent) .uk-navbar-nav > li:last-child > a::before{
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ffffff' d='M3.75 5h16.5A1.75 1.75 0 0 1 22 6.75v10.5A1.75 1.75 0 0 1 20.25 19H3.75A1.75 1.75 0 0 1 2 17.25V6.75A1.75 1.75 0 0 1 3.75 5zm.58 2 7.17 5.15c.3.22.7.22 1 0L19.67 7H4.33zm15.67 1.7-6.63 4.76a2.35 2.35 0 0 1-2.74 0L4 8.7v8.05c0 .14.11.25.25.25h15.5c.14 0 .25-.11.25-.25V8.7z'/%3E%3C/svg%3E") !important;
  }

  #sp-header .sp-megamenu-parent > li:first-child:hover > a,
  #sp-header .sp-megamenu-parent > li:last-child:hover > a,
  .tm-header .uk-navbar-nav > li:first-child:hover > a,
  .tm-header .uk-navbar-nav > li:last-child:hover > a{
    background: rgba(255,255,255,.075) !important;
    border-color: rgba(255,255,255,.16) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.14),
      0 4px 10px rgba(0,0,0,.10) !important;
    transform: translateY(-1px) !important;
  }

  #sp-header .sp-megamenu-parent > li:first-child:hover > a::after,
  #sp-header .sp-megamenu-parent > li:last-child:hover > a::after,
  .tm-header .uk-navbar-nav > li:first-child:hover > a::after,
  .tm-header .uk-navbar-nav > li:last-child:hover > a::after{
    opacity: 1 !important;
  }

  #sp-header .sp-megamenu-parent > li:first-child:hover > a::before,
  #sp-header .sp-megamenu-parent > li:last-child:hover > a::before,
  .tm-header .uk-navbar-nav > li:first-child:hover > a::before,
  .tm-header .uk-navbar-nav > li:last-child:hover > a::before{
    opacity: 1 !important;
    transform: scale(1.04) !important;
    filter:
      drop-shadow(0 2px 4px rgba(0,0,0,.22))
      drop-shadow(0 0 7px rgba(255,196,72,.16)) !important;
  }

  #sp-header .sp-megamenu-parent > li:first-child.active > a,
  #sp-header .sp-megamenu-parent > li:last-child.active > a,
  #sp-header .sp-megamenu-parent > li:first-child.current > a,
  #sp-header .sp-megamenu-parent > li:last-child.current > a,
  #sp-header .sp-megamenu-parent > li:first-child.current-item > a,
  #sp-header .sp-megamenu-parent > li:last-child.current-item > a,
  .tm-header .uk-navbar-nav > li:first-child.uk-active > a,
  .tm-header .uk-navbar-nav > li:last-child.uk-active > a,
  .uk-navbar-container:not(.uk-navbar-transparent) .uk-navbar-nav > li:first-child.uk-active > a,
  .uk-navbar-container:not(.uk-navbar-transparent) .uk-navbar-nav > li:last-child.uk-active > a{
    background:
      linear-gradient(180deg, rgba(0,0,0,.12) 0%, rgba(255,255,255,.08) 100%) !important;
    border-color: rgba(255,255,255,.22) !important;
    box-shadow:
      inset 0 3px 7px rgba(0,0,0,.22),
      inset 0 -1px 0 rgba(255,255,255,.16),
      0 1px 0 rgba(255,255,255,.06) !important;
    transform: translateY(1px) !important;
  }

  #sp-header .sp-megamenu-parent > li:first-child.active > a::after,
  #sp-header .sp-megamenu-parent > li:last-child.active > a::after,
  #sp-header .sp-megamenu-parent > li:first-child.current > a::after,
  #sp-header .sp-megamenu-parent > li:last-child.current > a::after,
  #sp-header .sp-megamenu-parent > li:first-child.current-item > a::after,
  #sp-header .sp-megamenu-parent > li:last-child.current-item > a::after,
  .tm-header .uk-navbar-nav > li:first-child.uk-active > a::after,
  .tm-header .uk-navbar-nav > li:last-child.uk-active > a::after{
    opacity: 1 !important;
    background:
      linear-gradient(
        180deg,
        rgba(255,255,255,.10) 0%,
        rgba(255,255,255,.04) 38%,
        rgba(0,0,0,.10) 100%
      ) !important;
  }

  #sp-header .sp-megamenu-parent > li:first-child.active > a::before,
  #sp-header .sp-megamenu-parent > li:last-child.active > a::before,
  #sp-header .sp-megamenu-parent > li:first-child.current > a::before,
  #sp-header .sp-megamenu-parent > li:last-child.current > a::before,
  #sp-header .sp-megamenu-parent > li:first-child.current-item > a::before,
  #sp-header .sp-megamenu-parent > li:last-child.current-item > a::before,
  .tm-header .uk-navbar-nav > li:first-child.uk-active > a::before,
  .tm-header .uk-navbar-nav > li:last-child.uk-active > a::before{
    transform: translateY(1px) scale(.98) !important;
    filter: drop-shadow(0 1px 1px rgba(0,0,0,.20)) !important;
  }

  #sp-header .sp-megamenu-parent > li:first-child > a > span,
  #sp-header .sp-megamenu-parent > li:last-child > a > span,
  .tm-header .uk-navbar-nav > li:first-child > a > span,
  .tm-header .uk-navbar-nav > li:last-child > a > span{
    display: none !important;
    font-size: 0 !important;
    color: transparent !important;
  }
}

/* ---------- Header Dropdown "Weitere Leistungen" Premium ---------- */
@media (min-width: 992px) {

  #sp-header .sp-megamenu-parent .sp-dropdown,
  .tm-header .uk-navbar-dropdown,
  .uk-navbar-dropdown{
    min-width: 318px !important;
    width: 318px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 0 18px 18px !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  #sp-header .sp-megamenu-parent .sp-dropdown .sp-dropdown-inner,
  .tm-header .uk-navbar-dropdown,
  .uk-navbar-dropdown{
    position: relative !important;
    background:
      linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(248,247,245,.96) 100%) !important;
    border: 1px solid rgba(156,0,54,.10) !important;
    border-top: 0 !important;
    border-radius: 0 0 18px 18px !important;
    box-shadow:
      0 22px 42px rgba(0,0,0,.18),
      0 7px 16px rgba(0,0,0,.08),
      inset 0 1px 0 rgba(255,255,255,.86) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    padding: 15px 0 16px 0 !important;
    overflow: hidden !important;
  }

  #sp-header .sp-megamenu-parent .sp-dropdown .sp-dropdown-inner::before,
  .tm-header .uk-navbar-dropdown::before,
  .uk-navbar-dropdown::before{
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
    height: 3px !important;
    background: linear-gradient(90deg, var(--topa-bordeaux) 0%, var(--topa-orange) 58%, var(--topa-orange-light) 100%) !important;
    pointer-events: none !important;
  }

  #sp-header .sp-megamenu-parent .sp-dropdown li.sp-menu-item > a,
  #sp-header .sp-megamenu-parent .sp-dropdown li.sp-menu-item > span,
  .tm-header .uk-navbar-dropdown-nav > li > a,
  .tm-header .uk-navbar-dropdown-nav > li > span,
  .uk-navbar-dropdown-nav > li > a,
  .uk-navbar-dropdown-nav > li > span{
    display: block !important;
    padding: 8px 26px !important;
    color: #3B3B3B !important;
    font-family: "Inter", Arial, Helvetica, sans-serif !important;
    font-size: 15px !important;
    line-height: 1.38 !important;
    font-weight: 520 !important;
    letter-spacing: 0 !important;
    white-space: normal !important;
    background: transparent !important;
    text-decoration: none !important;
    border-left: 3px solid transparent !important;
    transition:
      color .20s ease,
      background-color .20s ease,
      border-color .20s ease,
      padding-left .20s ease !important;
  }

  #sp-header .sp-megamenu-parent .sp-dropdown li.sp-menu-item > a:hover,
  #sp-header .sp-megamenu-parent .sp-dropdown li.sp-menu-item > span:hover,
  #sp-header .sp-megamenu-parent .sp-dropdown li.sp-menu-item.active > a,
  #sp-header .sp-megamenu-parent .sp-dropdown li.sp-menu-item.current-item > a,
  .tm-header .uk-navbar-dropdown-nav > li > a:hover,
  .tm-header .uk-navbar-dropdown-nav > li > span:hover,
  .tm-header .uk-navbar-dropdown-nav > li.uk-active > a,
  .uk-navbar-dropdown-nav > li > a:hover,
  .uk-navbar-dropdown-nav > li > span:hover,
  .uk-navbar-dropdown-nav > li.uk-active > a{
    color: var(--topa-bordeaux) !important;
    background: linear-gradient(90deg, rgba(156,0,54,.075) 0%, rgba(156,0,54,.018) 100%) !important;
    border-left-color: var(--topa-bordeaux) !important;
    padding-left: 29px !important;
  }

  #sp-header .sp-megamenu-parent .sp-dropdown li.sp-menu-item + li,
  .tm-header .uk-navbar-dropdown-nav > li + li,
  .uk-navbar-dropdown-nav > li + li{
    margin-top: 1px !important;
  }
}

/* ---------- Footer Kontaktlabels final neutral halten ---------- */
#sp-bottom .topa-footer-contact .topa-footer-label,
#sp-footer .topa-footer-contact .topa-footer-label,
.sp-footer .topa-footer-contact .topa-footer-label,
.topa-footer-grid .topa-footer-contact .topa-footer-label{
  color: rgba(255,255,255,.56) !important;
  font-weight: 500 !important;
}

/* ---------- Footer Hover darf orange bleiben, statische Labels nicht ---------- */
#sp-bottom .topa-footer-contact .topa-footer-label:hover,
#sp-footer .topa-footer-contact .topa-footer-label:hover,
.sp-footer .topa-footer-contact .topa-footer-label:hover,
.topa-footer-grid .topa-footer-contact .topa-footer-label:hover{
  color: rgba(255,255,255,.56) !important;
}

/* =========================================================
   ToPa Header Dropdown – Layout-Stabilisierung
   Verhindert, dass die Hauptnavigation beim Hover auseinanderläuft
========================================================= */

@media (min-width: 992px) {

  /* Navbar selbst stabil halten */
  .tm-header .uk-navbar-nav,
  #sp-header .sp-megamenu-parent {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
  }

  .tm-header .uk-navbar-nav > li,
  #sp-header .sp-megamenu-parent > li {
    position: relative !important;
    flex: 0 0 auto !important;
  }

  /* Dropdown komplett aus dem normalen Layoutfluss nehmen */
  .tm-header .uk-navbar-dropdown,
  .uk-navbar-dropdown,
  #sp-header .sp-megamenu-parent .sp-dropdown {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: auto !important;

    flex: none !important;
    float: none !important;

    min-width: 315px !important;
    width: 315px !important;
    max-width: 315px !important;

    box-sizing: border-box !important;
    margin-top: 0 !important;
    padding: 18px 0 16px 0 !important;

    background: rgba(255,255,255,.97) !important;
    border: 1px solid rgba(156,0,54,.10) !important;
    border-top: 3px solid var(--topa-orange-light) !important;

    box-shadow:
      0 20px 40px rgba(0,0,0,.18),
      0 6px 16px rgba(0,0,0,.08),
      inset 0 1px 0 rgba(255,255,255,.90) !important;

    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;

    z-index: 10020 !important;
  }

  #sp-header .sp-megamenu-parent .sp-dropdown .sp-dropdown-inner {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
  }

  /* Dropdown-Liste */
  .tm-header .uk-navbar-dropdown-nav,
  .uk-navbar-dropdown-nav,
  #sp-header .sp-megamenu-parent .sp-dropdown ul {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  /* Dropdown-Links edler und lesbar */
  .tm-header .uk-navbar-dropdown-nav > li > a,
  .uk-navbar-dropdown-nav > li > a,
  #sp-header .sp-megamenu-parent .sp-dropdown li.sp-menu-item > a,
  #sp-header .sp-megamenu-parent .sp-dropdown li.sp-menu-item > span {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;

    padding: 9px 28px !important;

    color: #343434 !important;
    background: transparent !important;

    font-family: "Inter", Arial, Helvetica, sans-serif !important;
    font-size: 15px !important;
    line-height: 1.35 !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;

    white-space: normal !important;
    text-decoration: none !important;

    transition:
      color .18s ease,
      background-color .18s ease,
      transform .18s ease !important;
  }

  .tm-header .uk-navbar-dropdown-nav > li > a:hover,
  .tm-header .uk-navbar-dropdown-nav > li.uk-active > a,
  .uk-navbar-dropdown-nav > li > a:hover,
  .uk-navbar-dropdown-nav > li.uk-active > a,
  #sp-header .sp-megamenu-parent .sp-dropdown li.sp-menu-item > a:hover,
  #sp-header .sp-megamenu-parent .sp-dropdown li.sp-menu-item > span:hover,
  #sp-header .sp-megamenu-parent .sp-dropdown li.sp-menu-item.active > a,
  #sp-header .sp-megamenu-parent .sp-dropdown li.sp-menu-item.current-item > a {
    color: var(--topa-bordeaux) !important;
    background: linear-gradient(
      90deg,
      rgba(156,0,54,.075) 0%,
      rgba(156,0,54,.035) 58%,
      rgba(255,255,255,0) 100%
    ) !important;
    transform: translateX(2px) !important;
  }

  /* feine Trennung zwischen Einträgen */
  .tm-header .uk-navbar-dropdown-nav > li + li,
  .uk-navbar-dropdown-nav > li + li,
  #sp-header .sp-megamenu-parent .sp-dropdown li.sp-menu-item + li {
    margin-top: 1px !important;
  }

  /* Top-Level-Menü darf beim Hover nicht seine Abstände ändern */
  .tm-header .uk-navbar-nav > li > a,
  #sp-header .sp-megamenu-parent > li > a,
  #sp-header .sp-megamenu-parent > li > span {
    white-space: nowrap !important;
  }
}