/* mega menu */
.nav-item-wrapper .mega { 
  display: none !important;
}


.oms-header .gspb_image.darkmode {
  display: none;
}

header.wp-block-template-part.fixed {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999999;
  transition: 0.2s all ease;
}

#wpadminbar + header.wp-block-template-part.fixed {
  top: 32px;
}


body.scrolled header.wp-block-template-part.fixed {
  top: -100px;
  background: white;
  box-shadow: 0 0 10px #00000030;

  animation: slideIn 1s normal forwards ease-in-out;
}
.page-id-4174 header.wp-block-template-part {
  background: white;
  box-shadow: 0 0 10px #00000030;
}

@keyframes slideIn {
  from {
      top: -100px;
  }
  50% {
    top: 0;
  }
  to {
    top: 0;
  }
}

/* body #smooth-wrapper {
  padding-top: 122px;
} */

body.home #smooth-wrapper {
  padding-top: 130px;
}
/* body.home #smooth-wrapper {
  padding-top: 0 !important;
} */

html.hustle-no-scroll body #smooth-wrapper {
  padding-top: 22px;
}


@media only screen and (min-width: 1025px) {
  .nav-item-wrapper .mega-container {
      background: white;
      z-index: 9999;
      border: 1px solid #E3E7EF;
  }

  .nav-item-wrapper .mega::before {
    content: "";
    /* background: blue; */
    height: 38px;
    left: 0;
    top: 65px;
    width: 100%;
    position: absolute;
}

  .nav-item-wrapper:hover .mega { 
    display: flex !important;
  }

  .nav-item-wrapper .chevron {
    transition: 0.2s all ease;
    transform: rotate(180deg);
    transform-origin: 12px;
  }

  .nav-item-wrapper:hover .chevron {
    transform: rotate(360deg);
    /* transform-origin: 11px; */
  }

  .nav-item-wrapper {
    margin-right: 0;
  }

  .nav-item {
    padding-right: 15px;
  }

  .mega-container img, .mega-container svg {
    width: 75px !important;
    max-width: 75px !important;
  }

  .oms-nav-button {
    display: none !important;
  }

  .chevron.mobile {
    display: none !important;
  }
}
  
/* mobile */
@media only screen and (max-width: 1024px) {
  .btn-start-projekt {
    display: none !important;
  }

  body #gspb_svgBox-id-gsbp-55949cb svg {
    height: 50px !important;
  }

  body #gspb_svgBox-id-gsbp-55949cb svg, body #gspb_svgBox-id-gsbp-55949cb {
    width: 50px !important;
  }

  .chevron {
    display: none !important;
  }

  .chevron.mobile {
    display: block !important;
  }

  .mega-container img, .mega-container svg {
    width: 75px !important;
    max-width: 75px !important;
  }
  
  .nav-item-wrapper {
      height: auto !important;
  }

  .nav-item-wrapper .active .mega { 
    display: flex !important;
    position: relative !important;
    padding-top: 0 !important;
    max-height: 99999px !important;
  }
  

  .nav-item-wrapper .mega-container {
    position: relative !important;
    background: #252525 !important;
    z-index: 9999;
  }

  .nav-item-wrapper .mega-container .gspb_row__col--3 {
    width: 100% !important;
  }

  .nav-item-wrapper .mega-container .gspb-buttonbox {
    background: #252525 !important;
    color: white !important;
    font-size: 24px !important;
  }

  .nav-item-wrapper .chevron {
    transition: 0.2s all ease;
  }
  
  .nav-item-wrapper .active .chevron {
    transform: rotate(0);
    transform-origin: 0;
  }

  body {
    /* padding-top: 155px; */
    padding-top: 75px;
  }

  html.navbar-open {
    height: 0;
  }

  body.navbar-open {
    overflow: hidden;
  }

  body.navbar-open .oms-navbar {
    left: 0;
    /* opacity: 1; */

    clip-path: circle(100%) !important;
    -webkit-clip-path: circle(100%) !important;
  }

  #gspb_col-id-gsbp-d4d89cd {
    position: absolute !important;
  }

  .oms-header {
    overflow-x: clip;
    position: fixed !important;
    left: 0;
    top: 0;
    width: 100%;
    height: 85px;
    background-color: white;
    box-shadow: 0 5px 20px 0 rgba(0, 0, 0, 0.03);

    transition: 0.2s all ease;
  }

  .oms-navbar {
    width: 100%;
    position: fixed !important;
    left: 100%;
    left: 0;
    top: 85px;
    transition: 0.7s all ease;
    height: 700px;
    background: #eaeaea;
    background: white;
    height: calc(100% - 85px);
    overflow: auto;
    /* opacity: 0; */

    clip-path: circle(0% at 110% -10%);
    -webkit-clip-path: circle(0% at 110% -10%);

    background: #1f1e1d;
    color: white;

    transition: 0.2s all ease;

    max-width: 100%;
    overflow-x: hidden;
    
  }

  .oms-navbar > div:first-child {
    padding-top: 100px;
  }

  .oms-navbar > div.nav-socials {
    display: flex !important;
    padding-left: 0;
    transition: 1s all ease;
  }

  .oms-navbar > div.nav-socials.hidden {
    display: none !important;
  }

  .oms-navbar .gspb_text {
    color: white !important;
    font-size: 40px;
    position: relative !important;
    left: -50px;
    transition: 1s all ease;
  }

  body.navbar-open .oms-navbar .gspb_text {
    left: 0;
    padding-left: 50px;
  }

  body.navbar-open .oms-navbar > div.nav-socials {
    padding-left: 50px;
  }

  body.navbar-open .oms-header {
    background: #1f1e1d;
  }

  body.navbar-open .oms-header .btn-start-projekt {
    color: white !important;
    border-color: white !important;
  }

  body.navbar-open .oms-header .gspb_image.lightmode {
    display: none;
  }

  body.navbar-open .oms-header .gspb_image.darkmode {
    display: block;
  }

  .oms-navbar > div {
    display: block !important;
    /* background: red; */
    width: 100%;
  }

  .oms-navbar .chevron {
    right: 30px !important;
  }

  .nav-item {
    transition: none !important;
  }

  .nav-item.active {
    background: #1f1e1d;
    position: absolute !important;
    top: 0 !important;
    z-index: 999;
  }

  .nav-item.active svg {
    cursor: pointer;
  }

  .nav-item.active .chevron.mobile svg path:nth-child(2) {
    opacity: 0;
  }

  body.navbar-open .nav-item.active .item-label {
    transition: none !important;
    padding-left: 0;
  }

  body.admin-bar .oms-header {
    top: 32px;
  }
  
  body.admin-bar .oms-navbar {
    top: 117px;
    height: calc(100% - 117px);
  }

  @keyframes navAppear {
    from {left: -50px}
    to {left: 0px}
  }
}

@media only screen and (max-width: 768px) {
  .btn-start-projekt {
    display: none;
  }
  .nav-item-wrapper .mega-container .gspb-buttonbox {
    font-size: 20px !important;
  }
}


/* ==========================================================================
   OMS AG Â· Mega-Menue "Leistungen" (oms-mm)
   Gehoert an das Ende von megamenu.css im Child-Theme.
   Markup: Greenshift-Bloecke im Template-Teil "nav" (Klassen oms-mm*).
   Hinweis: Greenshift schreibt ID-Regeln (#gspb_...), die Klassenselektoren
   ueberstimmen. Layoutkritische Eigenschaften brauchen daher !important.
   ========================================================================== */

.oms-mm {
  --mm-green: #50aa3c;
  --mm-lime:  #aad337;
  --mm-ink:   #232730;
  --mm-muted: #69717d;
  --mm-line:  #e5e8e3;
  --mm-wash:  #f4f8f1;
}

/* Panel â€” gilt fuer ALLE drei Mega-Menues -------------------------------- */
.nav-item-wrapper .oms-mm-panel { padding: 0 !important; }
@media only screen and (min-width: 1025px) {
  .nav-item-wrapper .mega-container {
    border: 0 !important;
    border-radius: 0 0 24px 24px !important;
    /* Versatz >= Unschaerfe/2 + Streuung: der Schatten faellt nur nach unten
       und legt sich damit nie ueber die Hauptnavigation. */
    box-shadow: 0 26px 60px -18px rgba(25, 34, 29, .28) !important;
  }
  .nav-item-wrapper .oms-mm-panel { overflow: hidden !important; }
}

/* Greenshift-Raster in ein Grid ueberfuehren ------------------------------ */
.oms-mm {
  display: grid !important; grid-template-columns: minmax(0, 1fr) 340px !important;
  align-items: stretch !important; width: 100% !important;
}
.oms-mm > .gspb_row__content { display: contents !important; }
.oms-mm > .oms-mm__main,
.oms-mm > .oms-mm__aside { width: auto !important; max-width: none !important; flex: none !important; min-width: 0; }

/* Kopfbereich ------------------------------------------------------------ */
.oms-mm .oms-mm__main { padding: 40px 38px 38px !important; }
.oms-mm .oms-mm__eyebrow {
  margin: 0 0 7px; color: var(--mm-green); text-transform: uppercase;
  letter-spacing: .12em; font-size: 13px; font-weight: 700; line-height: 1.2;
}
.oms-mm .oms-mm__title {
  margin: 0 0 26px !important; font-size: clamp(25px, 2.2vw, 35px); line-height: 1.08;
  letter-spacing: -.025em; font-weight: 700; color: var(--mm-ink);
}

/* Kachelraster ----------------------------------------------------------- */
.oms-mm .oms-mm__grid {
  display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important; width: 100% !important;
}
.oms-mm .oms-mm__grid > .gspb_row__content { display: contents !important; }
.oms-mm .oms-mm__cell {
  width: auto !important; max-width: none !important; flex: none !important;
  min-width: 0; padding: 0 !important; display: flex !important;
}

.oms-mm .oms-mm__card {
  position: relative !important; width: 100% !important; min-height: 132px;
  display: grid !important; grid-template-columns: 42px minmax(0, 1fr); grid-template-rows: auto auto;
  align-content: start; column-gap: 14px; row-gap: 0; padding: 20px 38px 20px 20px !important;
  border: 1px solid var(--mm-line); border-radius: 17px; background: #fff;
  transition: background .22s, border-color .22s, transform .22s, box-shadow .22s;
}
.oms-mm .oms-mm__card > .gspb-containerlink { position: absolute; inset: 0; z-index: 3; }
.oms-mm .oms-mm__card:hover { background: var(--mm-wash); border-color: rgba(80,170,60,.35); transform: translateY(-2px); box-shadow: 0 12px 28px rgba(52,76,51,.08); }
.oms-mm .oms-mm__card.is-active { background: var(--mm-wash); border-color: rgba(80,170,60,.48); box-shadow: inset 0 0 0 1px rgba(80,170,60,.08); }

/* Halter als Pseudo-Element: Greenshift erzwingt die SVG-Groesse per ID + !important,
   deshalb liegt der runde Kasten nicht auf dem SVG-Block selbst. */
.oms-mm .oms-mm__card::before {
  content: ""; grid-column: 1; grid-row: 1 / 3; align-self: start;
  width: 42px; height: 42px; border-radius: 13px; background: #eaf5e6;
}
.oms-mm .oms-mm__ico {
  grid-column: 1; grid-row: 1 / 3; align-self: start; justify-self: center;
  position: static !important; z-index: 1; margin: 9px 0 0 !important;
  color: var(--mm-green); background: none !important; border: 0 !important;
}
.oms-mm .oms-mm__ico svg { display: block; }

.oms-mm .oms-mm__card-title {
  grid-column: 2; grid-row: 1; align-self: start;
  margin: 1px 0 7px !important; font-size: 16.5px; line-height: 1.18; font-weight: 650; color: var(--mm-ink);
}
.oms-mm .oms-mm__card-text {
  grid-column: 2; grid-row: 2; align-self: start;
  margin: 0 !important; color: var(--mm-muted); font-size: 13.5px; line-height: 1.4;
}

/* Pfeil oben rechts (dekorativ) */
.oms-mm .oms-mm__card::after {
  content: "\2197"; position: absolute; top: 18px; right: 17px; z-index: 2;
  font-size: 18px; line-height: 1; color: #9aa19a; transition: transform .2s, color .2s;
}
.oms-mm .oms-mm__card:hover::after { transform: translate(3px, -3px); color: var(--mm-green); }

/* Vorschauspalte --------------------------------------------------------- */
.oms-mm .oms-mm__aside {
  position: relative !important; overflow: hidden !important; isolation: isolate;
  background: #dfe6df; color: #fff; padding: 0 !important;
}
.oms-mm .oms-mm__shot {
  position: absolute !important; inset: 0 !important; z-index: 0;
  width: auto !important; height: auto !important; margin: 0 !important;
  opacity: 0; transition: opacity .45s cubic-bezier(.2,.75,.2,1);
}
.oms-mm .oms-mm__shot.is-shown { opacity: 1; }
.oms-mm .oms-mm__shot img {
  width: 100% !important; max-width: none !important; height: 100% !important;
  object-fit: cover; display: block;
}
.oms-mm .oms-mm__aside::before {
  content: "\2197"; position: absolute; z-index: 2; bottom: 26px; right: 26px;
  width: 48px; height: 48px; display: grid; place-items: center; border-radius: 14px;
  color: #fff; background: rgba(35,39,48,.28); border: 1px solid rgba(255,255,255,.34);
  -webkit-backdrop-filter: blur(15px); backdrop-filter: blur(15px);
  box-shadow: 0 8px 28px rgba(20,25,22,.18); font-size: 25px; line-height: 1;
}
/* Zwischenbreite: zwei Spalten ------------------------------------------- */
@media only screen and (max-width: 1320px) and (min-width: 1025px) {
  .oms-mm { grid-template-columns: minmax(0, 1fr) 300px !important; }
  .oms-mm .oms-mm__grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .oms-mm .oms-mm__main { padding: 32px 28px 30px !important; }
  .oms-mm .oms-mm__card { min-height: 120px; }
}

/* Mobil (<=1024px): helle Akkordeon-Navigation ---------------------------- */
@media only screen and (max-width: 1024px) {

  /* --- Navigationsflaeche hell --- */
  .oms-navbar { background: #fff !important; color: #232730 !important; }
  /* Die drei Menuepunkte sind im Builder unterschiedlich aufgebaut (einer ohne
     .nav-label-container, bei einem liegt das Label eine Ebene tiefer). Deshalb
     alle Textbloecke der Navigation einfaerben und den Mega-Inhalt weiter unten
     wieder auf seine eigenen Werte setzen. */
  .oms-navbar .gspb_text {
    color: #232730 !important; font-size: 24px !important;
    padding-left: 0 !important; left: auto !important;
  }
  /* Einheitlicher Einzug und Trennlinie fuer alle fuenf Zeilen */
  .oms-navbar > div:has(> .nav-item-wrapper) > .gspb_container {
    padding-left: 20px !important; padding-right: 18px !important;
    border-bottom: 1px solid #eef0ec;
  }
  body.navbar-open .oms-header { background: #fff !important; }
  body.navbar-open .oms-header .btn-start-projekt { color: #232730 !important; border-color: #232730 !important; }
  body.navbar-open .oms-header .gspb_image.lightmode { display: block !important; }
  body.navbar-open .oms-header .gspb_image.darkmode  { display: none !important; }
  .oms-navbar .nav-socials svg path { fill: #232730 !important; }
  .oms-navbar > div.nav-socials.hidden { display: flex !important; }

  /* --- Zeilen --- */
  .oms-navbar .nav-item,
  .oms-navbar .nav-item.active { position: static !important; background: transparent !important; }
  /* Zeile bleibt beim Aufklappen oben stehen â€” dadurch immer erreichbar zum Schliessen */
  .oms-navbar .nav-item.active .nav-label-container {
    position: sticky; top: 0; z-index: 5; background: #fff;
  }

  /* --- Plus wird animiert zum Minus --- */
  .oms-navbar .chevron.mobile svg path { fill: #232730 !important; transform-origin: 50% 50%;
    transition: transform .3s cubic-bezier(.22,.61,.36,1), opacity .22s ease; }
  .oms-navbar .nav-item.active .chevron.mobile svg path:nth-child(2) { opacity: 0; transform: rotate(90deg); }

  /* --- Mega als Akkordeon statt Vollbild --- */
  .nav-item-wrapper .nav-item .mega { display: none !important; }
  .nav-item-wrapper .nav-item.active .mega {
    display: block !important; position: static !important;
    max-height: none !important; padding: 0 0 12px 15px !important;
    animation: omsMegaAcc .28s cubic-bezier(.22,.61,.36,1) both;
  }
  .nav-item-wrapper .mega-container {
    position: static !important; transform: none !important;
    width: auto !important; max-width: none !important;
    background: transparent !important; box-shadow: none !important;
    border: 0 !important; border-radius: 0 !important; overflow: visible !important;
  }

  /* --- Leistungs-Kacheln hell, wie auf dem Desktop --- */
  .oms-mm { display: block !important; }
  .oms-mm .oms-mm__main { padding: 4px 0 14px !important; }
  .oms-navbar .mega .oms-mm__eyebrow { font-size: 11.5px !important; letter-spacing: .14em; color: var(--mm-green) !important; }
  .oms-navbar .mega .oms-mm__title { margin: 6px 0 14px !important; font-size: 20px !important; color: var(--mm-ink) !important; }
  .oms-navbar .mega .oms-mm__card-text { font-size: 13.5px !important; color: var(--mm-muted) !important; }

  .oms-mm .oms-mm__grid { grid-template-columns: minmax(0, 1fr) !important; gap: 8px !important; }
  .oms-mm .oms-mm__card {
    min-height: 0; grid-template-columns: 42px minmax(0, 1fr); grid-template-rows: auto;
    align-items: center; column-gap: 14px; padding: 14px 40px 14px 14px !important; border-radius: 15px;
    background: #fff; border: 1px solid var(--mm-line);
  }
  /* ohne Vorschauspalte gibt es keinen aktiven Zustand â€” alle Kacheln gleich */
  .oms-mm .oms-mm__card.is-active { background: #fff; border-color: var(--mm-line); box-shadow: none; }
  .oms-mm .oms-mm__card:hover,
  .oms-mm .oms-mm__card:active {
    background: var(--mm-wash); border-color: rgba(80,170,60,.35); transform: none; box-shadow: none;
  }
  .oms-mm .oms-mm__card::before {
    grid-row: 1; align-self: center; width: 42px; height: 42px; border-radius: 12px; background: #eaf5e6;
  }
  .oms-mm .oms-mm__ico { grid-row: 1; align-self: center; margin: 0 !important; color: var(--mm-green); }
  .oms-navbar .mega .oms-mm__card-title { grid-row: 1; margin: 0 !important; font-size: 16px !important; line-height: 1.25; color: var(--mm-ink) !important; }
  .oms-mm .oms-mm__card-text { display: none; }
  .oms-mm .oms-mm__card::after { top: 50%; right: 16px; transform: translateY(-50%); font-size: 17px; color: #9aa19a; }
  .oms-mm .oms-mm__card:hover::after { transform: translateY(-50%); color: var(--mm-green); }

  .oms-mm .oms-mm__aside { display: none !important; }
}
@keyframes omsMegaAcc { from { opacity: 0; translate: 0 -6px; } to { opacity: 1; translate: 0 0; } }
@media (prefers-reduced-motion: reduce) {
  .nav-item-wrapper .nav-item.active .mega { animation: none !important; }
}

/* Abdunkeln + Weichzeichnen des Seiteninhalts bei offenem Mega-Menue ------- */
.oms-mega-backdrop {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 9990;
  /* Oberkante = Unterkante der Kopfzeile, per JS gesetzt. Die Menueleiste
     selbst wird dadurch nie ueberdeckt und bleibt unveraendert hell. */
  top: var(--oms-mega-top, 100px);
  background: rgba(24, 29, 27, .18);
  -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px);
  opacity: 0; visibility: hidden; pointer-events: none;
  transition: opacity .24s ease, visibility .24s ease;
}
@media only screen and (max-width: 1024px) { .oms-mega-backdrop { display: none; } }
@media only screen and (min-width: 1025px) {
  body.oms-mega-open .oms-mega-backdrop { opacity: 1; visibility: visible; }
}
@media (prefers-reduced-motion: reduce) { .oms-mega-backdrop { transition: none; } }

/* Menuepunkte mit Pfeil brauchen 10px weniger Aussenabstand, sonst stehen sie
   weiter auseinander als die ohne Pfeil (Pfeilbreite + Innenabstand). */
@media only screen and (min-width: 1025px) {
  .oms-navbar .nav-item-wrapper { margin-right: 5px !important; }
}

/* Aktiver / gehoverter Menuepunkt ---------------------------------------- */
.oms-navbar .nav-item .item-label { transition: color .18s ease; }
.oms-navbar .nav-item .chevron svg path { transition: stroke .18s ease; }
@media only screen and (min-width: 1025px) {
  .nav-item-wrapper:hover .nav-item .item-label,
  .nav-item-wrapper.is-current .nav-item .item-label,
  .oms-navbar a:hover .item-label { color: #50aa3c !important; }
  .nav-item-wrapper:hover .nav-item .chevron svg path,
  .nav-item-wrapper.is-current .nav-item .chevron svg path { stroke: #50aa3c !important; }
}

/* Aufbau-Animation ------------------------------------------------------- */
@media only screen and (min-width: 1025px) {
  .nav-item-wrapper:hover .mega-container {
    animation: omsMegaIn .24s cubic-bezier(.22, .61, .36, 1) both;
  }
  .nav-item-wrapper:hover .oms-mm__card,
  .nav-item-wrapper:hover .oms-mm__aside,
  .nav-item-wrapper:hover .oms-mm__eyebrow,
  .nav-item-wrapper:hover .oms-mm__title {
    animation: omsMegaRise .22s cubic-bezier(.22, .61, .36, 1) both;
  }
  .nav-item-wrapper:hover .oms-mm__eyebrow { animation-delay: .04s; }
  .nav-item-wrapper:hover .oms-mm__title   { animation-delay: .06s; }
  .nav-item-wrapper:hover .oms-mm__aside   { animation-delay: .06s; }
  .nav-item-wrapper:hover .oms-mm__card--1 { animation-delay: .08s; }
  .nav-item-wrapper:hover .oms-mm__card--2 { animation-delay: .10s; }
  .nav-item-wrapper:hover .oms-mm__card--3 { animation-delay: .12s; }
  .nav-item-wrapper:hover .oms-mm__card--4 { animation-delay: .10s; }
  .nav-item-wrapper:hover .oms-mm__card--5 { animation-delay: .12s; }
  .nav-item-wrapper:hover .oms-mm__card--6 { animation-delay: .14s; }

  /* War beim Betreten schon ein Menue offen, baut sich dieses hier nicht neu
     auf: die Flaeche bleibt stehen, nur der Inhalt wechselt. Die Markierung
     sitzt bewusst am Menuepunkt und nicht am <body> â€” eine Klasse, die sich
     waehrend des Hoverns aendert, wuerde die laufende Animation neu starten. */
  .nav-item-wrapper.is-instant:hover .mega-container { animation: none; }
  .nav-item-wrapper.is-instant:hover .oms-mm__card,
  .nav-item-wrapper.is-instant:hover .oms-mm__aside,
  .nav-item-wrapper.is-instant:hover .oms-mm__eyebrow,
  .nav-item-wrapper.is-instant:hover .oms-mm__title {
    animation: omsMegaFade .14s ease both; animation-delay: 0s;
  }
}
@keyframes omsMegaIn   { from { opacity: 0; translate: 0 -10px; } to { opacity: 1; translate: 0 0; } }
@keyframes omsMegaRise { from { opacity: 0; translate: 0 8px; }   to { opacity: 1; translate: 0 0; } }
@keyframes omsMegaFade { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  .nav-item-wrapper:hover .mega-container,
  .nav-item-wrapper:hover .oms-mm__card,
  .nav-item-wrapper:hover .oms-mm__aside,
  .nav-item-wrapper:hover .oms-mm__eyebrow,
  .nav-item-wrapper:hover .oms-mm__title { animation: none !important; }
}

/* Klick- und Fokusrahmen in der Kopfzeile und im Mega-Menue --------------- */
.oms-header a, .oms-header button, .oms-header [tabindex],
.oms-header .gspb-containerlink, .oms-navbar a, .oms-navbar [tabindex] {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.oms-header :is(a, button, [tabindex], .gspb-containerlink):is(:focus, :focus-visible, :active),
.oms-navbar :is(a, button, [tabindex], .gspb-containerlink):is(:focus, :focus-visible, :active) {
  outline: 0 !important; outline-offset: 0 !important; box-shadow: none !important;
  background-color: transparent !important;
}
/* Ersatz fuer die Tastaturbedienung: gruen statt Rahmen */
.oms-header .nav-item-wrapper:focus-within .item-label { color: #50aa3c !important; }
.oms-mm .oms-mm__card:focus-within { background: var(--mm-wash); border-color: rgba(80,170,60,.48); }

/* â”€â”€ Mobile Navigation: Standort und Kopfzeilen â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
   Auf schmalen Schirmen klappt das Leistungsmenue als Akkordeon auf. Dort
   fehlten zwei Dinge: der aktive Menuepunkt war nicht zu erkennen, und die
   Kopfzeilen des Mega-Menues kosteten nur Platz.
   â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
@media only screen and (max-width: 1024px) {

  /* Oberpunkt der aktuellen Seite gruen â€” nur die Farbe, sonst nichts.
     Kein stroke: das Plus-Zeichen ist auf Mobil eine Flaeche, eine zusaetzliche
     Kontur wuerde es dicker erscheinen lassen. */
  .nav-item-wrapper.is-current .nav-item .item-label { color: #50aa3c !important; }
  .nav-item-wrapper.is-current .nav-item .chevron.mobile svg path { fill: #50aa3c !important; }

  /* Kachel der aktuellen Leistungsseite markieren. is-here setzt das Skript
     einmalig anhand des Pfades â€” im Gegensatz zu is-active, das beim Hovern
     wandert und auf Mobil bewusst neutralisiert ist. */
  .oms-mm .oms-mm__card.is-here {
    background: var(--mm-wash) !important;
    border-color: rgba(80, 170, 60, .5) !important;
    box-shadow: inset 0 0 0 1px rgba(80, 170, 60, .12) !important;
  }
  .oms-navbar .mega .oms-mm__card.is-here .oms-mm__card-title { color: #3d8b28 !important; }
  .oms-mm .oms-mm__card.is-here .oms-mm__ico { color: #3d8b28 !important; }
  .oms-mm .oms-mm__card.is-here::before { background: #dcefd4 !important; }
  /* Der Pfeil rechts weicht dem Standort-Punkt */
  .oms-mm .oms-mm__card.is-here::after { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #50aa3c; right: 18px; }

  /* Kopfzeilen des Mega-Menues entfallen auf Mobil */
  .oms-navbar .mega .oms-mm__eyebrow,
  .oms-navbar .mega .oms-mm__title { display: none !important; }
}