.elementor-270 .elementor-element.elementor-element-a1d3545{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-270 .elementor-element.elementor-element-8630de0{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:center;}.elementor-270 .elementor-element.elementor-element-8630de0:not(.elementor-motion-effects-element-type-background), .elementor-270 .elementor-element.elementor-element-8630de0 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-item:not(:last-child):after{border-color:var( --e-global-color-text );}.elementor-widget-icon-list .elementor-icon-list-icon i{color:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-icon-list .elementor-icon-list-text{color:var( --e-global-color-secondary );}.elementor-270 .elementor-element.elementor-element-7d43e88 .elementor-icon-list-icon i{color:var( --e-global-color-af9d8ad );transition:color 0.3s;}.elementor-270 .elementor-element.elementor-element-7d43e88 .elementor-icon-list-icon svg{fill:var( --e-global-color-af9d8ad );transition:fill 0.3s;}.elementor-270 .elementor-element.elementor-element-7d43e88{--e-icon-list-icon-size:17px;--icon-vertical-offset:0px;}.elementor-270 .elementor-element.elementor-element-7d43e88 .elementor-icon-list-text{transition:color 0.3s;}.elementor-270 .elementor-element.elementor-element-f84370d{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-end;--align-items:center;--gap:40px 40px;--row-gap:40px;--column-gap:40px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-270 .elementor-element.elementor-element-445c3c5 .elementor-icon-list-icon i{color:var( --e-global-color-af9d8ad );transition:color 0.3s;}.elementor-270 .elementor-element.elementor-element-445c3c5 .elementor-icon-list-icon svg{fill:var( --e-global-color-af9d8ad );transition:fill 0.3s;}.elementor-270 .elementor-element.elementor-element-445c3c5{--e-icon-list-icon-size:17px;--icon-vertical-offset:0px;}.elementor-270 .elementor-element.elementor-element-445c3c5 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-270 .elementor-element.elementor-element-445c3c5 .elementor-icon-list-item > a{font-family:"Poppins", Sans-serif;font-size:17px;font-weight:300;line-height:28px;}.elementor-270 .elementor-element.elementor-element-445c3c5 .elementor-icon-list-text{color:var( --e-global-color-af9d8ad );transition:color 0.3s;}.elementor-270 .elementor-element.elementor-element-7bd7ee5{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;border-style:solid;--border-style:solid;border-width:0px 0px 1px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:1px;--border-left-width:0px;border-color:var( --e-global-color-primary );--border-color:var( --e-global-color-primary );--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;--z-index:99;}.elementor-270 .elementor-element.elementor-element-7bd7ee5:not(.elementor-motion-effects-element-type-background), .elementor-270 .elementor-element.elementor-element-7bd7ee5 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-secondary );}.elementor-widget-theme-site-logo .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-270 .elementor-element.elementor-element-bbc9775.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-270 .elementor-element.elementor-element-bbc9775 img{width:100%;}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-text );fill:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-accent );fill:var( --e-global-color-accent );}.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:var( --e-global-color-accent );}.elementor-widget-nav-menu .e--pointer-framed .elementor-item:before,
					.elementor-widget-nav-menu .e--pointer-framed .elementor-item:after{border-color:var( --e-global-color-accent );}.elementor-widget-nav-menu{--e-nav-menu-divider-color:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-270 .elementor-element.elementor-element-113a641.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-270 .elementor-element.elementor-element-113a641 .elementor-menu-toggle{margin-left:auto;background-color:var( --e-global-color-secondary );border-width:0px;border-radius:0px;}.elementor-270 .elementor-element.elementor-element-113a641 .elementor-nav-menu .elementor-item{font-family:var( --e-global-typography-86a1294-font-family ), Sans-serif;font-size:var( --e-global-typography-86a1294-font-size );font-weight:var( --e-global-typography-86a1294-font-weight );line-height:var( --e-global-typography-86a1294-line-height );}.elementor-270 .elementor-element.elementor-element-113a641 .elementor-nav-menu--main .elementor-item:hover,
					.elementor-270 .elementor-element.elementor-element-113a641 .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-270 .elementor-element.elementor-element-113a641 .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-270 .elementor-element.elementor-element-113a641 .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-25f7fb2 );fill:var( --e-global-color-25f7fb2 );}.elementor-270 .elementor-element.elementor-element-113a641 .elementor-nav-menu--main .elementor-item.elementor-item-active{color:var( --e-global-color-text );}.elementor-270 .elementor-element.elementor-element-113a641 .e--pointer-framed .elementor-item:before{border-width:0px;}.elementor-270 .elementor-element.elementor-element-113a641 .e--pointer-framed.e--animation-draw .elementor-item:before{border-width:0 0 0px 0px;}.elementor-270 .elementor-element.elementor-element-113a641 .e--pointer-framed.e--animation-draw .elementor-item:after{border-width:0px 0px 0 0;}.elementor-270 .elementor-element.elementor-element-113a641 .e--pointer-framed.e--animation-corners .elementor-item:before{border-width:0px 0 0 0px;}.elementor-270 .elementor-element.elementor-element-113a641 .e--pointer-framed.e--animation-corners .elementor-item:after{border-width:0 0px 0px 0;}.elementor-270 .elementor-element.elementor-element-113a641 .e--pointer-underline .elementor-item:after,
					 .elementor-270 .elementor-element.elementor-element-113a641 .e--pointer-overline .elementor-item:before,
					 .elementor-270 .elementor-element.elementor-element-113a641 .e--pointer-double-line .elementor-item:before,
					 .elementor-270 .elementor-element.elementor-element-113a641 .e--pointer-double-line .elementor-item:after{height:0px;}.elementor-270 .elementor-element.elementor-element-113a641 .elementor-nav-menu--dropdown a, .elementor-270 .elementor-element.elementor-element-113a641 .elementor-menu-toggle{color:var( --e-global-color-text );fill:var( --e-global-color-text );}.elementor-270 .elementor-element.elementor-element-113a641 .elementor-nav-menu--dropdown a:hover,
					.elementor-270 .elementor-element.elementor-element-113a641 .elementor-nav-menu--dropdown a:focus,
					.elementor-270 .elementor-element.elementor-element-113a641 .elementor-nav-menu--dropdown a.elementor-item-active,
					.elementor-270 .elementor-element.elementor-element-113a641 .elementor-nav-menu--dropdown a.highlighted{background-color:var( --e-global-color-secondary );}.elementor-270 .elementor-element.elementor-element-113a641 .elementor-nav-menu--dropdown .elementor-item, .elementor-270 .elementor-element.elementor-element-113a641 .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:"Roboto", Sans-serif;font-size:20px;font-weight:500;}.elementor-270 .elementor-element.elementor-element-113a641{--nav-menu-icon-size:0px;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:1024px){.elementor-270 .elementor-element.elementor-element-113a641 .elementor-nav-menu .elementor-item{font-size:var( --e-global-typography-86a1294-font-size );line-height:var( --e-global-typography-86a1294-line-height );}.elementor-270 .elementor-element.elementor-element-113a641{--nav-menu-icon-size:35px;}}@media(max-width:767px){.elementor-270 .elementor-element.elementor-element-8630de0{--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-end;--align-items:flex-end;}.elementor-270 .elementor-element.elementor-element-7d43e88{--e-icon-list-icon-size:13px;}.elementor-270 .elementor-element.elementor-element-f84370d{--width:auto;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:20px 20px;--row-gap:20px;--column-gap:20px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-270 .elementor-element.elementor-element-f84370d.e-con{--align-self:flex-end;}.elementor-270 .elementor-element.elementor-element-445c3c5{--e-icon-list-icon-size:13px;}.elementor-270 .elementor-element.elementor-element-445c3c5 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-270 .elementor-element.elementor-element-445c3c5 .elementor-icon-list-item > a{font-size:12px;}.elementor-270 .elementor-element.elementor-element-7bd7ee5{--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:center;--padding-top:5px;--padding-bottom:5px;--padding-left:20px;--padding-right:20px;}.elementor-270 .elementor-element.elementor-element-bbc9775{width:var( --container-widget-width, 150px );max-width:150px;--container-widget-width:150px;--container-widget-flex-grow:0;}.elementor-270 .elementor-element.elementor-element-bbc9775.elementor-element{--align-self:center;}.elementor-270 .elementor-element.elementor-element-bbc9775 img{width:100%;}.elementor-270 .elementor-element.elementor-element-113a641{width:auto;max-width:auto;--nav-menu-icon-size:30px;}.elementor-270 .elementor-element.elementor-element-113a641 .elementor-nav-menu .elementor-item{font-size:var( --e-global-typography-86a1294-font-size );line-height:var( --e-global-typography-86a1294-line-height );}.elementor-270 .elementor-element.elementor-element-113a641 .elementor-nav-menu--dropdown .elementor-item, .elementor-270 .elementor-element.elementor-element-113a641 .elementor-nav-menu--dropdown  .elementor-sub-item{font-size:18px;}.elementor-270 .elementor-element.elementor-element-113a641 .elementor-nav-menu--dropdown a{padding-top:8px;padding-bottom:8px;}.elementor-270 .elementor-element.elementor-element-113a641 .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-nav-menu--dropdown, .elementor-270 .elementor-element.elementor-element-113a641 .elementor-nav-menu__container.elementor-nav-menu--dropdown{margin-top:0px !important;}}@media(min-width:768px){.elementor-270 .elementor-element.elementor-element-f84370d{--width:auto;}}/* Start custom CSS for nav-menu, class: .elementor-element-113a641 *//* ==========================================================
   REDUZIERTES ELEMENTOR-MENÜ
   CSS-Klasse am Nav-Menü-Widget: smart-menu

   Gestaltung:
   - Weiß und warmes, neutrales Grau
   - keine farbigen Hintergrundflächen
   - Akzentfarbe nur bei Indikatoren
   - kleine, filigrane Pfeile
   - klare mobile Hierarchie
   ========================================================== */


/* ==========================================================
   1. DESIGN-VARIABLEN
   ========================================================== */

.smart-menu {
  /* Neutrale Schriftfarben */
  --menu-text: #262626;
  --menu-muted: #686662;

  /* Farbe ausschließlich für Indikatoren */
  --menu-indicator: #7b2937;
  --menu-indicator-dark: #61202b;

  /* Warme, neutrale Grautöne ohne Blaustich */
  --menu-white: #ffffff;
  --menu-gray: #FAFBFC;
  --menu-gray-hover: #efeeeb;
  --menu-gray-active: #e9e7e3;

  /* Warme neutrale Linien */
  --menu-border: #dedbd6;
  --menu-border-dark: #cbc7c1;

  --menu-radius: 8px;

  --menu-shadow:
    0 14px 34px rgba(25, 24, 22, 0.09),
    0 3px 9px rgba(25, 24, 22, 0.05);
}


/* ==========================================================
   2. ALLGEMEINE BASIS
   ========================================================== */

.smart-menu,
.smart-menu *,
.smart-menu *::before,
.smart-menu *::after {
  box-sizing: border-box;
}

.smart-menu .elementor-nav-menu,
.smart-menu .elementor-nav-menu ul {
  list-style: none;
}

.smart-menu .elementor-nav-menu a {
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}


/* Alle Menülinks linksbündig ausrichten */
.smart-menu a.elementor-item,
.smart-menu a.elementor-sub-item {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;

  gap: 8px;

  color: var(--menu-text);
  line-height: 1.4;
  letter-spacing: 0;
  text-align: left !important;

  transition:
    background-color 150ms ease,
    border-color 150ms ease,
    box-shadow 150ms ease,
    transform 150ms ease;
}


/* Lange Menübezeichnungen umbrechen */
.smart-menu .sub-menu,
.smart-menu .sub-menu a {
  white-space: normal !important;
}

.smart-menu a.elementor-sub-item {
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: auto;
}


/* ==========================================================
   3. HAUPTNAVIGATION – EBENE 1
   ========================================================== */

.smart-menu .elementor-nav-menu > li {
  position: relative;
}

.smart-menu
  .elementor-nav-menu
  > li
  > a.elementor-item {
  position: relative;

  min-height: 48px;
  padding: 12px clamp(12px, 1.3vw, 20px);

  color: var(--menu-text);

  font-size: clamp(15px, 1vw, 17px);
  font-weight: 700;

  background: transparent;
  border-radius: 7px;
}


/* ==========================================================
   4. PFEILICONS
   ========================================================== */

.smart-menu a.has-submenu {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
}


/* Kleiner, dezenter Pfeilkreis */
.smart-menu a.has-submenu > .sub-arrow {
  position: static !important;
  inset: auto !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  flex: 0 0 22px !important;

  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  min-height: 22px !important;

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

  color: var(--menu-indicator);
  background: transparent;

  border: 1px solid var(--menu-border) !important;
  border-radius: 50% !important;

  font-size: 0 !important;
  line-height: 1 !important;

  transform: none !important;
  translate: none !important;

  transition:
    border-color 150ms ease,
    background-color 150ms ease;
}


/* Kleines SVG exakt zentrieren */
.smart-menu a.has-submenu > .sub-arrow svg {
  position: static !important;

  display: block !important;
  flex: 0 0 auto !important;

  width: 7px !important;
  height: 7px !important;

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

  fill: currentColor !important;

  transform: rotate(0deg);
  transform-origin: center;
  transition: transform 150ms ease;
}


/* Elementor-Pseudo-Elemente entfernen */
.smart-menu a.has-submenu > .sub-arrow::before,
.smart-menu a.has-submenu > .sub-arrow::after {
  display: none !important;
  content: none !important;
}


/* Geöffnet: nur Rahmen stärker hervorheben */
.smart-menu
  a.has-submenu[aria-expanded="true"]
  > .sub-arrow {
  color: var(--menu-indicator-dark);
  background: transparent;

  border-color: var(--menu-indicator) !important;
}


/* ==========================================================
   5. DROPDOWN-GRUNDDESIGN
   ========================================================== */

/* Alle Dropdown-Ebenen erhalten dasselbe warme Grau */
.smart-menu .sub-menu {
  padding: 7px !important;

  background: var(--menu-gray);

  border: 1px solid var(--menu-border);
  border-radius: var(--menu-radius);

  box-shadow: var(--menu-shadow);
}

.smart-menu .sub-menu > li {
  position: relative;

  width: 100%;
  margin: 0;

  text-align: left !important;
}

.smart-menu .sub-menu > li + li {
  margin-top: 1px;
}


/* ==========================================================
   6. DROPDOWN – EBENE 2
   ========================================================== */

.smart-menu
  .sub-menu
  > li
  > a.elementor-sub-item {
  width: 100%;
  min-height: 42px;

  padding: 9px 9px 9px 12px !important;

  color: var(--menu-text);

  font-size: 14px;
  font-weight: 500;

  background: transparent;

  border: 1px solid transparent;
  border-radius: 6px;
}


/* Menüpunkte mit weiterer Unterebene */
.smart-menu
  .sub-menu
  > li.menu-item-has-children
  > a.elementor-sub-item {
  font-weight: 650;
  background: transparent;
}


/* Sehr kleiner Ebenenindikator */
.smart-menu
  .sub-menu
  > li.menu-item-has-children
  > a.elementor-sub-item::before {
  content: "";

  display: block;
  flex: 0 0 2px;

  width: 2px;
  height: 12px;

  margin: 0 1px 0 0;

  background: var(--menu-indicator);
  border-radius: 999px;
}


/* ==========================================================
   7. UNTERSTE EBENE – EBENE 3
   ========================================================== */

/* Dasselbe Grau wie alle anderen Dropdowns */
.smart-menu .sub-menu .sub-menu {
  background: var(--menu-gray);

  border: 1px solid var(--menu-border);
  border-radius: var(--menu-radius);

  box-shadow: var(--menu-shadow);
}

.smart-menu
  .sub-menu
  .sub-menu
  > li {
  width: 100%;
  margin: 0 !important;

  text-align: left !important;
}

.smart-menu
  .sub-menu
  .sub-menu
  > li
  > a.elementor-sub-item {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;

  width: 100% !important;
  min-height: 40px;

  margin: 0 !important;
  padding: 8px 9px 8px 12px !important;

  color: var(--menu-muted);

  font-size: 13px;
  font-weight: 500;

  text-align: left !important;

  background: transparent;

  border: 1px solid transparent;
  border-radius: 6px;
}


/* Sehr kleiner Punkt für die unterste Ebene */
.smart-menu
  .sub-menu
  .sub-menu
  > li
  > a.elementor-sub-item::before {
  content: "";

  display: block;
  flex: 0 0 3px;

  width: 3px;
  height: 3px;
  min-width: 3px;

  margin: 0 3px 0 0;

  background: var(--menu-indicator);
  border-radius: 50%;
}


/* ==========================================================
   8. AKTIVE MENÜPUNKTE
   ========================================================== */

/* Keine farbige Schrift und keine farbige Fläche */
.smart-menu .current-menu-item > a,
.smart-menu a.elementor-item-active {
  color: var(--menu-text) !important;
  font-weight: 700;

  background: var(--menu-gray-active);
}


/* Übergeordnete aktive Menüpunkte nur kräftiger */
.smart-menu .current-menu-ancestor > a {
  color: var(--menu-text) !important;
  font-weight: 700;

  background: transparent;
}


/* Aktive Hauptebene nur mit feiner Indikatorlinie */
.smart-menu
  .elementor-nav-menu
  > .current-menu-item
  > a.elementor-item::after,
.smart-menu
  .elementor-nav-menu
  > .current-menu-ancestor
  > a.elementor-item::after {
  content: "";

  position: absolute;
  right: 17px;
  bottom: 5px;
  left: 17px;

  height: 2px;

  background: var(--menu-indicator);
  border-radius: 999px;
}


/* ==========================================================
   9. HOVER – NUR BEI GERÄTEN MIT MAUS
   ========================================================== */

@media (hover: hover) and (pointer: fine) {

  /* Nur minimale graue Fläche */
  .smart-menu
    .elementor-nav-menu
    > li
    > a.elementor-item:hover {
    color: var(--menu-text);
    background: var(--menu-gray);
  }


  .smart-menu
    .sub-menu
    a.elementor-sub-item:hover {
    color: var(--menu-text);

    background: var(--menu-gray-hover);
    border-color: transparent;

    transform: none;
  }


  /* Pfeil behält transparente Fläche */
  .smart-menu
    a.has-submenu:hover
    > .sub-arrow {
    color: var(--menu-indicator-dark);
    background: transparent;

    border-color: var(--menu-indicator) !important;
  }
}


/* ==========================================================
   10. TASTATURBEDIENUNG
   ========================================================== */

.smart-menu a.elementor-item:focus-visible,
.smart-menu a.elementor-sub-item:focus-visible {
  z-index: 2;

  outline: 2px solid var(--menu-indicator);
  outline-offset: -2px;
}


/* ==========================================================
   11. DESKTOP AB 1025 PX
   ========================================================== */

@media (min-width: 1025px) {

  /* Erste Dropdown-Ebene */
  .smart-menu
    .elementor-nav-menu
    > li
    > .sub-menu {
    width: clamp(280px, 24vw, 350px) !important;
    min-width: 280px !important;
    max-width: 350px !important;
  }


  /* Verschachteltes Dropdown */
  .smart-menu
    .sub-menu
    .sub-menu {
    width: clamp(240px, 21vw, 310px) !important;
    min-width: 240px !important;
    max-width: 310px !important;
  }


  /* Hauptnavigation: Pfeil nach unten */
  .smart-menu
    .elementor-nav-menu
    > li
    > a.has-submenu
    > .sub-arrow
    svg {
    transform: rotate(0deg);
  }


  /* Hauptnavigation geöffnet: Pfeil nach oben */
  .smart-menu
    .elementor-nav-menu
    > li
    > a.has-submenu[aria-expanded="true"]
    > .sub-arrow
    svg {
    transform: rotate(180deg);
  }


  /* Verschachtelte Menüs: Pfeil nach rechts */
  .smart-menu
    .sub-menu
    > li
    > a.has-submenu
    > .sub-arrow
    svg {
    transform: rotate(-90deg);
  }


  .smart-menu
    .sub-menu
    > li
    > a.has-submenu[aria-expanded="true"]
    > .sub-arrow
    svg {
    transform: rotate(-90deg);
  }
}


/* ==========================================================
   12. TABLET UND MOBILE BIS 1024 PX
   ========================================================== */

@media (max-width: 1024px) {

  /* Mobiles Gesamtmenü */
  .smart-menu .elementor-nav-menu {
    display: block;

    width: 100%;
    padding: 6px;

    background: var(--menu-white);
  }


  /* --------------------------------------------------------
     EBENE 1
     -------------------------------------------------------- */

  .smart-menu .elementor-nav-menu > li {
    width: 100%;

    border-bottom: 1px solid var(--menu-border);
  }

  .smart-menu .elementor-nav-menu > li:last-child {
    border-bottom: 0;
  }

  .smart-menu
    .elementor-nav-menu
    > li
    > a.elementor-item {
    width: 100%;
    min-height: 52px;

    padding: 12px 9px 12px 14px;

    color: var(--menu-text);

    font-size: 16.5px;
    font-weight: 700;

    background: transparent;
    border-radius: 6px;
  }


  /* Desktop-Unterstreichung auf Mobile entfernen */
  .smart-menu
    .elementor-nav-menu
    > .current-menu-item
    > a.elementor-item::after,
  .smart-menu
    .elementor-nav-menu
    > .current-menu-ancestor
    > a.elementor-item::after {
    display: none !important;
    content: none !important;
  }


  /* --------------------------------------------------------
     MOBILE DROPDOWNS
     -------------------------------------------------------- */

  .smart-menu .sub-menu {
    position: static !important;

    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;

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

    background: var(--menu-gray);

    border: 0 !important;
    border-radius: 0;

    box-shadow: none !important;
  }


  /* Alle alten Indikatoren zurücksetzen */
  .smart-menu
    .sub-menu
    a.elementor-sub-item {
    border: 0 !important;
    box-shadow: none !important;
  }

  .smart-menu
    .sub-menu
    a.elementor-sub-item::before {
    display: none !important;
    content: none !important;
  }


  /* --------------------------------------------------------
     EBENE 2
     -------------------------------------------------------- */

  .smart-menu
    .elementor-nav-menu
    > li
    > .sub-menu
    > li
    > a.elementor-sub-item {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;

    width: 100%;
    min-height: 46px;

    padding: 10px 8px 10px 13px !important;

    color: var(--menu-text);

    font-size: 13.5px !important;
    font-weight: 550;

    text-align: left !important;

    background: transparent;
    border-radius: 0 6px 6px 0;
  }


  /* Nur Elemente mit weiterer Ebene erhalten eine Linie */
  .smart-menu
    .elementor-nav-menu
    > li
    > .sub-menu
    > li.menu-item-has-children
    > a.elementor-sub-item {
    font-weight: 650;

    background: transparent;

    box-shadow:
      inset 2px 0 0 var(--menu-indicator) !important;
  }


  /* Pfeil rechts halten */
  .smart-menu
    .elementor-nav-menu
    > li
    > .sub-menu
    > li.menu-item-has-children
    > a.elementor-sub-item
    > .sub-arrow {
    margin-left: auto !important;
  }


  /* --------------------------------------------------------
     EBENE 3
     -------------------------------------------------------- */

  .smart-menu .sub-menu .sub-menu {
    position: static !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;

    margin: 1px 0 4px !important;
    padding: 2px 2px 2px 11px !important;

    background: var(--menu-gray);

    border: 0 !important;
    border-radius: 0;

    box-shadow: none !important;
  }


  .smart-menu
    .sub-menu
    .sub-menu
    > li {
    width: 100%;

    margin: 0 !important;
    text-align: left !important;
  }


  .smart-menu
    .sub-menu
    .sub-menu
    > li
    > a.elementor-sub-item {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;

    width: 100% !important;
    min-height: 41px;

    margin: 0 !important;
    padding: 8px 9px 8px 11px !important;

    color: var(--menu-muted);

    font-size: 12.75px !important;
    font-weight: 500;

    text-align: left !important;

    background: transparent;

    border: 0 !important;
    border-radius: 5px;

    box-shadow: none !important;
  }


  /* Genau ein sehr kleiner Punkt */
  .smart-menu
    .sub-menu
    .sub-menu
    > li
    > a.elementor-sub-item::before {
    content: "" !important;
    display: block !important;

    flex: 0 0 3px;

    width: 3px;
    height: 3px;
    min-width: 3px;

    margin: 0 3px 0 0;

    background: var(--menu-indicator);
    border-radius: 50%;
  }


  /* Aktiver Menüpunkt ausschließlich grau */
  .smart-menu
    .sub-menu
    .sub-menu
    > li.current-menu-item
    > a.elementor-sub-item,
  .smart-menu
    .sub-menu
    .sub-menu
    > li
    > a.elementor-item-active {
    color: var(--menu-text) !important;
    font-weight: 700;

    background: var(--menu-gray-active);
  }


  /* --------------------------------------------------------
     MOBILE PFEILE
     -------------------------------------------------------- */

  /*
   * Der sichtbare Kreis bleibt klein.
   * Die Linkzeile selbst bleibt groß genug für Touch.
   */
  .smart-menu a.has-submenu > .sub-arrow {
    flex: 0 0 26px !important;

    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
    min-height: 26px !important;

    background: transparent;
  }

  .smart-menu a.has-submenu > .sub-arrow svg {
    width: 8px !important;
    height: 8px !important;

    transform: rotate(0deg);
  }


  /* Geöffnete Menüs: Pfeil nach oben */
  .smart-menu
    a.has-submenu[aria-expanded="true"]
    > .sub-arrow
    svg {
    transform: rotate(180deg);
  }


  /* Keine Bewegung auf Touchgeräten */
  .smart-menu
    .sub-menu
    a.elementor-sub-item:hover {
    transform: none;
  }
}


/* ==========================================================
   13. KLEINE SMARTPHONES
   ========================================================== */

@media (max-width: 480px) {

  .smart-menu
    .elementor-nav-menu
    > li
    > a.elementor-item {
    min-height: 50px;

    padding-left: 12px;

    font-size: 16px;
  }


  /* Ebene 2 */
  .smart-menu
    .elementor-nav-menu
    > li
    > .sub-menu
    > li
    > a.elementor-sub-item {
    font-size: 13px !important;
  }


  /* Ebene 3 */
  .smart-menu
    .sub-menu
    .sub-menu
    > li
    > a.elementor-sub-item {
    font-size: 12.5px !important;
  }


  /* Pfeilkreis etwas kleiner */
  .smart-menu a.has-submenu > .sub-arrow {
    flex-basis: 24px !important;

    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    min-height: 24px !important;
  }

  .smart-menu a.has-submenu > .sub-arrow svg {
    width: 7px !important;
    height: 7px !important;
  }
}


/* ==========================================================
   14. REDUZIERTE ANIMATIONEN
   ========================================================== */

@media (prefers-reduced-motion: reduce) {

  .smart-menu *,
  .smart-menu *::before,
  .smart-menu *::after {
    scroll-behavior: auto !important;

    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}/* End custom CSS */