/* ============================================================
   Kunden-Menue — Portal-Navigation
   ============================================================
   Eine ruhige Leiste am oberen Rand des Inhaltsbereichs, nur auf
   den geschuetzten Seiten des Kundenbereichs. Links die Marke und
   die Portal-Punkte (aktueller mit roter Unterlinie), rechts das
   Abmelden.
   ============================================================ */

.cd-kundenmenue {
  background: var(--cd-flaeche-2);
  border-block-end: 1px solid var(--cd-linie);
}

/* Die Zeile sitzt INNERHALB von .cd-mitte — die Spalte haelt die
   Hoechstbreite, diese Zeile nur die Anordnung. */
.cd-kundenmenue__inhalt {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--cd-a3) var(--cd-a5);
  padding-block: var(--cd-a3);
}

/* --cd-text-3 und NICHT --cd-text-schwach: Gemessen traegt
   #7E97A2 auf --cd-flaeche-2 (#F2F5F7) nur 2,81:1 und faellt damit
   durch WCAG 1.4.3. #5C6F79 traegt an derselben Stelle 4,79:1. */
.cd-kundenmenue__marke {
  font-family: var(--cd-schrift-mono);
  font-size: var(--cd-gr-mikro);
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--cd-text-3);
}

.cd-kundenmenue__liste {
  display: flex;
  flex-wrap: wrap;
  gap: var(--cd-a5);
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Die Symbole gehoeren zur senkrechten Desktop-Schiene. Im Band
   und in den Kasten-Fassungen bleiben die kurzen Textpunkte bewusst
   kompakt, damit die Navigation dort nicht unnoetig umbricht. */
.cd-kundenmenue__icon { display: none; }
.cd-kundenmenue__text { min-inline-size: 0; }

.cd-kundenmenue__link {
  display: inline-block;
  padding-block: 6px;
  color: var(--cd-text-2);
  font-weight: 500;
  text-decoration: none;
  border-block-end: 2px solid transparent;
  transition: color var(--cd-zeit) ease, border-color var(--cd-zeit) ease;
}
/* ZIELGROESSE — DIE URSACHE STEHT IN basis.css:
   Zeile 186 gibt jedem a[href] min-block-size: var(--cd-zielgroesse),
   Zeile 190 nimmt es mit `li a[href] { min-block-size: 0 }` sofort
   wieder weg — und die Portalpunkte stehen nun einmal in <li>.

   Deshalb hier die MARKE zurueckholen und keine harte 44: Die Marke
   schaltet in tokens.css bereits nach Bedienart (44 px am Finger,
   24 px an der Maus). Spezifitaet 0,2,1 gegen 0,1,2 — das genuegt.

   Wer diese Zeile fuer ueberfluessig haelt und streicht, holt sich
   den Fehler stumm zurueck. */
.cd-kundenmenue__liste a[href] {
  min-block-size: var(--cd-zielgroesse, 24px);
  display: inline-flex;
  align-items: center;
}

.cd-kundenmenue__link:hover { color: var(--cd-tinte); }
.cd-kundenmenue__link--aktiv {
  color: var(--cd-tinte);
  border-block-end-color: var(--cd-rot);
}

/* Abmelden als abgesetzter Knopf mit Icon — klar als Bedienelement
   erkennbar, nicht als beilaeufiger Textlink. */
.cd-kundenmenue__abmelden {
  margin-inline-start: auto;
  display: inline-flex;
  align-items: center;
  gap: .5ch;
  padding: 7px 14px;
  border-radius: var(--cd-r-knopf);
  border: 1px solid var(--cd-linie);
  background: var(--cd-weiss);
  color: var(--cd-text-2);
  font-family: var(--cd-schrift-text);
  font-size: var(--cd-gr-klein);
  font-weight: 600;
  text-decoration: none;
  transition: border-color var(--cd-zeit) ease, color var(--cd-zeit) ease, background var(--cd-zeit) ease;
}
.cd-kundenmenue__abmelden:hover {
  border-color: var(--cd-rot);
  color: var(--cd-rot);
  background: #FBEBEC;
}
.cd-kundenmenue__abmelden .cd-symbol { inline-size: 15px; block-size: 15px; }

/* Am Handy rutscht „Abmelden" unter die Punkte statt an den rechten
   Rand — sonst quetscht es sich in eine enge Zeile. */
@media (max-width: 600px) {
  .cd-kundenmenue__abmelden { margin-inline-start: 0; }
}

/* ============================================================
   Fassungen — Band oder Kasten
   ============================================================
   Gesteuert ueber die Einstellung „Kundenbereich — Lage des
   Menues" (cd.kundenmenue). Der Wert steht als data-kundenmenue
   am body (setup.typoscript, Block 89).

   EIN WERT UND NICHT ZWEI SCHALTER: „Band rechtsbuendig" hat
   keine Bedeutung — das Band IST die volle Breite. Deshalb eine
   vollstaendige Achse: Band, Kasten ueber die Spalte, Kasten
   links, mittig, rechts.

   WARUM DIE ACHSE VOLLSTAENDIG IST, obwohl der Kunde nur links
   und rechts genannt hat: Eine Luecke erzeugt in zwei Jahren die
   Frage „warum geht mittig nicht" — und darauf gaebe es keine
   Antwort ausser Zufall. Mittig kostet eine Zeile.

   DER KASTEN SCHRUMPFT AUF SEINEN INHALT (flex: 0 1 auto plus
   min-inline-size: 0). Das ist der Kern: Ohne den Schrumpf saehen
   links, mittig und rechts identisch aus, weil der Kasten die
   Spalte fuellte. min-inline-size: 0 ist Pflicht — ohne die Zeile
   ergaben sich in cd_mobilspur.css schon einmal 1.684 px Breite
   bei 390 px Fenster.

   UNTERHALB VON RUND 1100 PX fuellt der Kasten die Spalte
   ohnehin: Sieben Punkte brauchen rund 995 px. Links, mittig und
   rechts sind dort nicht zu unterscheiden — Band und Kasten sehr
   wohl. Das steht so auch in der Beschreibung der Einstellung.

   KEIN MITWANDERN beim Blaettern: Der Kunde hat es nicht
   verlangt, und der Preis waere dauerhaft — vier Kollisionsfaelle
   mit cd.kopf.scrollverhalten und eine Menuehoehe, die in drei
   fremde Stellen einlaufen muesste (basis.css:19, basis.css:39,
   layout.css:1173). Bricht die Punktezeile um, landete zudem
   jedes Sprungziel unter dem Menue (WCAG 2.4.11).
   ============================================================ */

/* ---- alle Kasten-Fassungen gemeinsam ---------------------- */
[data-kundenmenue^="kasten"] .cd-kundenmenue,
[data-kundenmenue^="schiene"] .cd-kundenmenue {
  /* Die getoente Flaeche und die Trennlinie gehoeren zum Band.
     Der Kasten traegt seine Grenze selbst. */
  background: transparent;
  border-block-end: 0;
  padding-block: var(--cd-a5);
}

/* Die Huelle bleibt die Inhaltsspalte (.cd-mitte) — der Kasten
   sitzt DARIN. So fluchten seine Kanten mit Portalkopf und
   Kacheln, statt sich an der Fensterbreite auszurichten. */
/* Der Kasten IST die vorhandene Zeile — nur mit Flaeche, Rahmen
   und Ecken. Kein neues Markup noetig.

   DIE SCHIENE TEILT DIESE REGELN: Unterhalb von 1101 px gibt es
   keine Schiene, und der Kasten ist die naechstbeste Antwort — wer
   „Schiene" gewaehlt hat, wollte eine Box und kein Band. */
[data-kundenmenue^="kasten"] .cd-kundenmenue__inhalt,
[data-kundenmenue^="schiene"] .cd-kundenmenue__inhalt {
  align-items: center;
  flex-wrap: wrap;
  gap: var(--cd-a3) var(--cd-a5);
  padding: var(--cd-a3) var(--cd-a5);
  background: var(--cd-weiss);
  border: 1px solid var(--cd-linie);
  border-radius: var(--cd-r-karte);
  box-shadow: var(--cd-schatten-karte);

  /* DER SCHRUMPF. Ohne ihn faellt die Lage-Wahl in sich zusammen. */
  inline-size: fit-content;
  max-inline-size: 100%;
  min-inline-size: 0;
}

/* Die Aufschrift „Kundenbereich" faellt im Kasten weg: Der Kasten
   grenzt sich selbst ab, die Beschriftung wiederholte nur, was die
   Form schon sagt. Der Vorlesehilfe bleibt sie erhalten — das
   aria-label steht am <nav>. */
[data-kundenmenue^="kasten"] .cd-kundenmenue__marke,
[data-kundenmenue^="schiene"] .cd-kundenmenue__marke { display: none; }

/* Abmelden loest sich im Kasten vom rechten Rand: Ein auto-Rand
   in einem geschrumpften Kasten schoebe ihn wieder auf volle
   Breite auf — genau das, was der Schrumpf verhindern soll. */
[data-kundenmenue^="kasten"] .cd-kundenmenue__abmelden,
[data-kundenmenue^="schiene"] .cd-kundenmenue__abmelden {
  margin-inline-start: 0;
}

/* ---- die drei Lagen --------------------------------------- */
/* margin-inline am Kasten und nicht justify-content an der Huelle:
   Die Huelle ist .cd-mitte und traegt bereits ihre eigene
   Zentrierung — ein zweites Ausrichtungsmittel darin waere eine
   zweite Wahrheit. */
[data-kundenmenue="kasten-links"]  .cd-kundenmenue__inhalt { margin-inline: 0 auto; }
[data-kundenmenue="kasten-mitte"]  .cd-kundenmenue__inhalt { margin-inline: auto; }
[data-kundenmenue="kasten-rechts"] .cd-kundenmenue__inhalt { margin-inline: auto 0; }

/* „kasten" ohne Zusatz: ueber die volle Spaltenbreite. Hier wird
   der Schrumpf ausdruecklich zurueckgenommen.

   Die Schiene ebenso: Unter 1101 px steht sie als Kasten ueber der
   Inhaltsbreite und nicht als schmaler Streifen am Rand. */
[data-kundenmenue="kasten"] .cd-kundenmenue__inhalt,
[data-kundenmenue^="schiene"] .cd-kundenmenue__inhalt {
  inline-size: auto;
}
[data-kundenmenue="kasten"] .cd-kundenmenue__abmelden,
[data-kundenmenue^="schiene"] .cd-kundenmenue__abmelden {
  margin-inline-start: auto;
}

@media (max-width: 600px) {
  /* Am Handy stapelt der Kasten ohnehin. Weniger Polster, damit
     er nicht den halben Bildschirm nimmt — gemessen sind es beim
     Band bei 320 px bereits 335 px Hoehe. */
  [data-kundenmenue^="kasten"] .cd-kundenmenue,
  [data-kundenmenue^="schiene"] .cd-kundenmenue { padding-block: var(--cd-a4); }
  [data-kundenmenue^="kasten"] .cd-kundenmenue__inhalt,
  [data-kundenmenue^="schiene"] .cd-kundenmenue__inhalt {
    padding: var(--cd-a3) var(--cd-a4);
    inline-size: auto;
  }
}

/* ============================================================
   Am Handy und auf dem Tablet faellt das obere Menue weg
   ============================================================
   Es ist dort eine DOPPLUNG, keine Navigation: Das Konto-Menue
   (Bauteile/Mobilkonto) traegt dieselben sieben Punkte
   vollstaendig — nicht als Verweis auf die Uebersicht, sondern
   Punkt fuer Punkt, samt der Zahlen an Tickets und Mitteilungen.
   Erreichbar ist es je nach Schalter hinter dem Personen-Symbol
   im Kopf oder in der Menueschublade.

   Gemessen am 04.09.2026 auf /kundenbereich/uebersicht bei
   390 px: Der Kasten stand 236 px hoch UEBER der Begruessung und
   schob „Ihr Kundenbereich" samt Kennzahlen aus dem ersten
   Bildschirm. Am Rechner ist er richtig — dort gibt es kein
   Konto-Symbol, das ihn ersetzen koennte.

   DIE AUSNAHME IST NOETIG, nicht vorsichtshalber gesetzt: Steht
   der Schalter auf „aus", gibt es kein Konto-Menue. Dann ist
   dieser Kasten der einzige Weg zu den Portalseiten und muss
   bleiben — sonst kaeme der Kunde nirgendwo mehr hin.
   ============================================================ */
@media (max-width: 600px) {
  body:not([data-konto-mobil="aus"]) .cd-kundenmenue { display: none; }
}

@media (min-width: 601px) and (max-width: 1100px) {
  body:not([data-konto-tablet="aus"]) .cd-kundenmenue { display: none; }
}

/* ============================================================
   Die Schiene — das Menue NEBEN dem Inhalt
   ============================================================
   VOLLSTAENDIG ab 1101 px. Darunter gilt der Kasten von oben
   unveraendert weiter: Eine senkrechte Schiene neben dem Inhalt
   braucht Platz, den ein Tablet nicht hat. Die Rueckfallebene ist
   damit der Bestand und keine zweite Beschreibung derselben Sache.

   ============================================================
   DIE BAHNEN WERDEN NICHT ANGEFASST
   ============================================================
   Der naheliegende Weg waere ein zweispaltiges Raster um Menue und
   Inhalt. Der scheitert an den randlosen Bahnen: Jede Portalbahn
   malt ihre Grundfarbe ueber die volle FENSTERBREITE. In einer
   Rasterspalte waere sie abgeschnitten.

   Deshalb liegt die Schiene DARUEBER: Sie wird absolut in
   .cd-inhalt gesetzt, und die Bahnen ruecken nur ihre SPALTE
   (.cd-bahn__inhalt) um die Schienenbreite ein. Die Sektion selbst
   bleibt unberuehrt und malt weiter randlos.

   ============================================================
   DER SCHALTER IST DIE ANWESENHEIT DES MENUES
   ============================================================
   :has(> .cd-kundenmenue) — das Menue rendert sich ohnehin nur im
   Kundenbereich und nur fuer Angemeldete. Ein zweites Merkmal am
   body waere eine zweite Wahrheit, die auseinanderlaufen kann.
   ============================================================ */

@media (min-width: 1101px) {

  /* ---- der Platz -------------------------------------------- */
  [data-kundenmenue^="schiene"] .cd-inhalt:has(> .cd-kundenmenue) {
    position: relative;
    /* 620 px halten die komplette Menuekarte samt Luft. Eine
       zusaetzliche Viewport-Hoehe erzeugte auf kurzen Seiten bis zu
       300 px leeren Inhalt und schob den Fuss unnoetig nach unten. */
    min-block-size: 620px;
    /* Der Portalgrund kommt einmal vom Inhaltsbereich. Transparente
       Seitenbahnen und deren Restflaeche sehen dadurch genauso aus
       wie Dashboard, Support und Fernwartung. */
    background: var(--cd-flaeche-2);
    --cd-schienen-platz: calc(var(--cd-portalschiene) + var(--cd-portalschiene-fuge));
  }

  /* Der normale Bahnabschluss waechst am Desktop bis auf rund
     123 px. Im dichten Arbeitsbereich des Portals reichen 64 px;
     eigenstaendige Portalkoepfe schliessen mit 48 px an den direkt
     folgenden Inhalt an. */
  [data-kundenmenue^="schiene"] .cd-inhalt:has(> .cd-kundenmenue) > .cd-bahn {
    padding-block-end: var(--cd-a8);
  }
  [data-kundenmenue^="schiene"] .cd-inhalt:has(> .cd-kundenmenue) > .cd-portalkopfbahn {
    padding-block-end: var(--cd-a7);
  }
  [data-kundenmenue^="schiene"] .cd-inhalt:has(> .cd-kundenmenue) > .cd-portalkopfbahn + .cd-bahn {
    padding-block-start: 0;
  }

  /* Die Spalte jeder Bahn rueckt ein — die Bahn selbst nicht.
     margin-inline mit 0px als Untergrenze (und nicht --cd-rinne):
     Die Spalte bleibt am 1280er Raster stehen und zentriert sich
     NICHT im Restplatz. Sonst wanderte der Inhalt unter die Karte.

     Diese Regel ueberstimmt absichtlich data-bahnbreite und
     data-bahnlage an einer Portalbahn: Attribut plus drei Klassen
     plus :has liegen weit ueber deren Spezifitaet (0,2,1). Auf
     einer Portalseite entscheidet die Schiene, wo die Spalte
     steht — sonst zoege eine schmale Bahn unter die Karte. */
  [data-kundenmenue="schiene-links"] .cd-inhalt:has(> .cd-kundenmenue) .cd-bahn > .cd-bahn__inhalt {
    margin-inline: max(0px, calc((100% - var(--cd-inhalt)) / 2)) auto;
    padding-inline: calc(var(--cd-rinne) + var(--cd-schienen-platz)) var(--cd-rinne);
  }
  [data-kundenmenue="schiene-rechts"] .cd-inhalt:has(> .cd-kundenmenue) .cd-bahn > .cd-bahn__inhalt {
    margin-inline: auto max(0px, calc((100% - var(--cd-inhalt)) / 2));
    padding-inline: var(--cd-rinne) calc(var(--cd-rinne) + var(--cd-schienen-platz));
  }

  /* ---- das Aussenkorsett ------------------------------------ */
  /* Es spannt sich ueber die ganze Inhaltshoehe und faengt KEINE
     Zeigereignisse — sonst laege eine unsichtbare Flaeche ueber dem
     gesamten Inhalt. Dasselbe macht die Kontaktschiene. */
  [data-kundenmenue^="schiene"] .cd-inhalt > .cd-kundenmenue {
    position: absolute;
    inset-block: 0;
    inset-inline: 0;
    z-index: var(--cd-e-portalschiene);
    padding-block: var(--cd-a7) 0;
    background: none;
    border-block-end: 0;
    pointer-events: none;
  }

  /* .cd-mitte traegt hier dieselbe Geometrie wie .cd-bahn__inhalt —
     beide rechnen aus --cd-inhalt und --cd-rinne. Kartenkante und
     Inhaltskante koennen deshalb gar nicht auseinanderlaufen. */
  [data-kundenmenue^="schiene"] .cd-inhalt > .cd-kundenmenue > .cd-mitte {
    position: sticky;
    /* Die Karte wandert mit dem Kopf: Faehrt die obere Leiste ein,
       faellt --cd-kopf-gesamt von selbst — ohne eine Zeile dafuer. */
    inset-block-start: calc(var(--cd-kopf-gesamt) + var(--cd-a5));
  }

  /* ---- die Karte -------------------------------------------- */
  [data-kundenmenue^="schiene"] .cd-kundenmenue__inhalt {
    inline-size: var(--cd-portalschiene);
    display: grid;
    gap: 0;
    padding: var(--cd-a5);
    background: var(--cd-weiss);
    border: 1px solid var(--cd-linie);
    border-radius: var(--cd-r-karte);
    box-shadow: 0 22px 48px -34px rgb(13 26 33 / .55);
    /* Die Karte selbst nimmt Klicks wieder an. */
    pointer-events: auto;
    /* KEIN overflow: hidden — das beschnitte den Fokusring
       (outline-offset 2px). */
  }
  [data-kundenmenue="schiene-rechts"] .cd-kundenmenue__inhalt {
    margin-inline-start: auto;
  }

  /* In der Karte steht die Aufschrift wieder — anders als im
     waagerechten Kasten hat sie hier Platz und benennt die Insel. */
  [data-kundenmenue^="schiene"] .cd-kundenmenue__marke {
    display: flex;
    align-items: center;
    gap: var(--cd-a2);
    margin: 0 var(--cd-a2) var(--cd-a3);
    padding-block-end: var(--cd-a4);
    border-block-end: 1px solid var(--cd-linie-2);
    color: var(--cd-tinte);
    font-weight: 600;
  }
  [data-kundenmenue^="schiene"] .cd-kundenmenue__marke::before {
    content: "";
    inline-size: 8px;
    block-size: 8px;
    flex: 0 0 auto;
    border-radius: 50%;
    background: var(--cd-rot);
    box-shadow: 0 0 0 4px #FBEBEC;
  }

  /* Die Punkte untereinander. Die Liste hebt nur seitlich das
     Kartenpolster auf: Hover- und Aktivfarbe laufen dadurch bis an
     beide Kartenkanten, waehrend Icon und Text ueber das Linkpolster
     weiterhin exakt mit der Aufschrift darueber ausgerichtet sind. */
  [data-kundenmenue^="schiene"] .cd-kundenmenue__liste {
    display: grid;
    gap: var(--cd-a1);
    margin-inline: calc(var(--cd-a5) * -1);
  }
  [data-kundenmenue^="schiene"] .cd-kundenmenue__punkt {
    inline-size: 100%;
    min-inline-size: 0;
  }
  [data-kundenmenue^="schiene"] .cd-kundenmenue__link {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    align-items: center;
    gap: var(--cd-a3);
    inline-size: 100%;
    min-block-size: 46px;
    padding: 6px var(--cd-a5) 6px calc(var(--cd-a5) + var(--cd-a2));
    border: 1px solid transparent;
    border-inline: 0;
    border-radius: 0;
    color: var(--cd-text-2);
    font-size: var(--cd-gr-text);
    line-height: 1.25;
    transition: color var(--cd-zeit) ease,
                background var(--cd-zeit) ease,
                border-color var(--cd-zeit) ease;
  }
  [data-kundenmenue^="schiene"] .cd-kundenmenue__icon {
    display: grid;
    place-items: center;
    inline-size: 34px;
    block-size: 34px;
    border-radius: 9px;
    background: var(--cd-flaeche-2);
    color: var(--cd-text-3);
    transition: color var(--cd-zeit) ease,
                background var(--cd-zeit) ease;
  }
  [data-kundenmenue^="schiene"] .cd-kundenmenue__icon .cd-symbol {
    inline-size: 17px;
    block-size: 17px;
  }
  [data-kundenmenue^="schiene"] .cd-kundenmenue__link:hover {
    background: #FBEBEC;
    border-color: #F0C9CC;
    color: var(--cd-tinte);
  }
  [data-kundenmenue^="schiene"] .cd-kundenmenue__link:hover .cd-kundenmenue__icon {
    background: transparent;
    color: var(--cd-rot);
  }
  /* Der aktive Punkt ist eine geschlossene Markenflaeche. Das ist
     in der senkrechten Navigation eindeutiger als eine einzelne
     Kante und verbindet Symbol und Beschriftung zu EINEM Ziel. */
  [data-kundenmenue^="schiene"] .cd-kundenmenue__link--aktiv {
    background: var(--cd-rot);
    border-color: var(--cd-rot);
    box-shadow: 0 10px 22px -16px rgb(196 17 24 / .9);
    color: var(--cd-weiss);
    font-weight: 700;
  }
  [data-kundenmenue^="schiene"] .cd-kundenmenue__link--aktiv .cd-kundenmenue__icon {
    background: rgb(255 255 255 / .16);
    color: var(--cd-weiss);
  }
  [data-kundenmenue^="schiene"] .cd-kundenmenue__link--aktiv:hover {
    background: var(--cd-rot-tief);
    border-color: var(--cd-rot-tief);
    color: var(--cd-weiss);
  }
  [data-kundenmenue^="schiene"] .cd-kundenmenue__link--aktiv:hover .cd-kundenmenue__icon {
    background: rgb(255 255 255 / .18);
    color: var(--cd-weiss);
  }

  [data-kundenmenue^="schiene"] .cd-kundenmenue__abmelden {
    inline-size: 100%;
    min-block-size: 42px;
    margin-block-start: var(--cd-a4);
    padding: var(--cd-a4) var(--cd-a2) 0;
    justify-content: flex-start;
    border: 0;
    border-block-start: 1px solid var(--cd-linie-2);
    border-radius: 0;
    background: transparent;
    color: var(--cd-text-3);
    font-size: var(--cd-gr-klein);
    font-weight: 500;
  }
  [data-kundenmenue^="schiene"] .cd-kundenmenue__abmelden:hover {
    border-color: var(--cd-linie-2);
    background: transparent;
    color: var(--cd-rot);
  }

  /* Menuekarte und erster Seitenkopf beginnen an derselben Kante.
     Ganz ohne oberes Polster klebte der Inhalt direkt am Seitenkopf;
     mit dem normalen Bahnabstand lagen dagegen bis zu 118 px leer.
     Die kompakte Desktop-Stufe von 48 px ist fuer beide bewusst
     identisch. */
  [data-kundenmenue^="schiene"] .cd-inhalt > .cd-kundenmenue + .cd-bahn:not(.cd-hero) {
    padding-block-start: var(--cd-a7);
  }
}

@media (min-width: 1101px) and (prefers-reduced-motion: reduce) {
  [data-kundenmenue^="schiene"] .cd-kundenmenue__link,
  [data-kundenmenue^="schiene"] .cd-kundenmenue__icon {
    transition: none;
  }
  [data-kundenmenue^="schiene"] .cd-kundenmenue__link:hover {
    transform: none;
  }
}

/* Ohne :has bleibt es beim Kasten. Kein Rueckfall noetig: Die
   Schienen-Regeln greifen dann schlicht nicht, und der Kasten von
   oben steht weiterhin da. */
