/* ==================================================
   MEGA MENU
================================================== */

.main-navbar {
  position: relative;
  z-index: 1030;
  width: 100%;

  transform: translateY(0);
  opacity: 1;

  transition:
    transform 0.5s ease,
    opacity 0.5s ease,
    background-color 0.4s ease,
    box-shadow 0.4s ease;
}

/* Ab dem ersten Scrollen verschwindet die Navigation ganz normal */
/*
 * Ein- und Ausfahren braucht eine Uebergangsangabe fuer transform und
 * opacity; das Theme gibt nur height und box-shadow an. Ohne sie springt
 * die Leiste. pointer-events:none verhindert, dass die ausgefahrene
 * Leiste noch Klicks abfaengt.
 */
/*
 * 02.09.2026: Die Leiste blendet nicht mehr aus und wieder ein.
 *
 * Vorher wechselte sie bei 50 px Scrollweg von `static` auf `position:
 * fixed`. In diesem Moment fällt sie aus dem Textfluss, der Inhalt rutscht
 * um ihre Höhe nach oben und sie erscheint oben neu — das sah aus wie
 * Ausblenden und Wiederkommen.
 *
 * Jetzt klebt sie von Anfang an oben (`sticky`) und ändert beim Scrollen
 * nur ihre Größe. Kein Sprung, weil sie den Platz nie verlässt.
 */
.main-navbar {
  position: sticky;
  top: 0;
  z-index: 1030;
  transition:
    min-height .3s ease,
    box-shadow .3s ease;
}

.main-navbar .logo {
  transition: width .3s ease;
}

/* Die alte Ausblende-Klasse wird nicht mehr gesetzt; hier wird sie wirkungslos. */
.main-navbar.nav-hidden {
  transform: none;
  opacity: 1;
  pointer-events: auto;
}

@media (prefers-reduced-motion: reduce) {
  .main-navbar { transition: none; }
}

/* Ab 400px wird sie fixed und fährt wieder ein */
/*
 * Kein backdrop-filter auf der eingeblendeten Leiste.
 *
 * Safari zeichnet ein Element mit position:fixed + backdrop-filter, das
 * zugleich per transform ein- und ausgefahren wird, nicht zuverlaessig neu:
 * die verwischte Flaeche bleibt stehen, der Inhalt darin fehlt. Genau das
 * war am 31.08.2026 zu sehen — Menue weg, milchige Flaeche da.
 *
 * Die Flaeche lag ohnehin bei 96 % Weiss; deckend sieht sie praktisch
 * gleich aus und der Fehler verschwindet.
 */
/*
 * Der Endzustand beim Scrollen: dieselbe Leiste, nur kompakter.
 * Gemessen am 02.09.2026: oben 110 px hoch mit 259 px breitem Logo.
 */
.main-navbar.nav-fixed {
  min-height: 76px;
  background: #ffffff;
  box-shadow: 0 4px 20px rgba(43, 54, 55, .094);
}

.main-navbar.nav-fixed .logo { width: 190px; }

.main-navbar.nav-fixed .appointment-btn { padding-top: 10px; padding-bottom: 10px; }

@media (prefers-reduced-motion: reduce) {
  .main-navbar,
  .main-navbar .logo { transition: none; }
}

.navbar-collapse,
.navigation-right,
.navigation-menu {
  overflow: visible !important;
}


.mega-menu-item {
  position: static;
}


/* Hover-Zone unter dem Menüpunkt */
.mega-menu-item > .nav-link {
  position: relative;
}

.mega-menu-item > .nav-link::after {
  content: "";

  position: absolute;

  top: 100%;
  left: -15px;
  right: -15px;

  height: 63px;

  background: transparent;
}


/* Mega-Menü */
.mega-menu {
  position: absolute;

  top: 100%;
  left: 0;

  width: 100%;

  z-index: 9999;

  opacity: 0;
  visibility: hidden;
  pointer-events: none;

  transition:
    opacity .25s ease,
    visibility 0s linear .25s;
}


.mega-menu-item:hover .mega-menu,
.mega-menu-item:focus-within .mega-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;

  transition:
    opacity .25s ease,
    visibility 0s;
}


/* Mega-Menü Hintergrund */
.mega-menu > .container-fluid {
  background: rgba(197, 209, 209, .97);

  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);

  box-shadow:
    0 18px 40px rgba(43, 54, 55,0.118);
}

.mega-menu > .container {
  background: rgba(197, 209, 209, .97);

  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);

  box-shadow:
    0 18px 40px rgba(43, 54, 55,0.118);
}


/* ==================================================
   METHODEN
================================================== */

.mega-methods {
  padding: 20px 25px 30px;

  background:
    rgba(146, 168, 171, .18);
}


/* ==================================================
   BEHANDLUNGEN
================================================== */

.mega-treatments {
  padding: 20px 55px 30px;
}


/* ==================================================
   ÜBERSCHRIFTEN
================================================== */

.mega-menu h4,
.mega-menu .mega-titel {
  margin: 0 0 18px;

  padding-bottom: 12px;

  border-bottom:
    1px solid rgba(101, 104, 106, .20);

  color: #65686a;

  font-size: 1.05rem;
  font-weight: 500;
}


.mega-menu h5,
.mega-menu .mega-gruppe {
  margin: 0 0 10px;

  color: #bf969d;

  font-size: 1.1rem;
  font-weight: 400;
}


/* ==================================================
   LINKS
================================================== */

.mega-list {
  margin: 0;
  padding: 0;

  list-style: none;
}


.mega-list li {
  margin-bottom: 7px;
}


.mega-list a {
  position: relative;

  display: inline-block;

  color: #65686a;

  font-size: 1.1rem;
  font-weight: 300;

  text-decoration: none;

  transition:
    color .25s ease,
    transform .25s ease;
}


.mega-list a:hover {
  color: #bf969d;

  transform: translateX(5px);
}


/* ==================================================
   METHODEN LINKS
================================================== */

.mega-methods .mega-list li {
  margin-bottom: 7px;
}


.mega-methods .mega-list a {
  display: block;  

  /* padding: 6px 10px; */

  transition:
    background .25s ease,
    color .25s ease,
    padding-left .25s ease;
}


.mega-methods .mega-list a:hover {
  padding-left: 16px;


  background-color: #c5d1d1;

  transform: none;
}


.navbar-toggler {
  width: 48px;
  height: 42px;
  padding: 0;

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

  border: 1px solid #bf969d;
  border-radius: 9px;

  background: #bf969d;
  box-shadow: none;
}

.navbar-toggler:focus {
  box-shadow: none;
}

.navbar-toggler-icon {
  width: 24px;
  height: 24px;
  filter: brightness(0) invert(1);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='%23bf969d' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}

@media (max-width: 991.98px) {

ul.navigation-menu {
  width: 100%;
}

.navbar-actions {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    width: 100%;
  }

}

/*
 * Die Beschriftungen im Megamenue sind Absaetze, keine Ueberschriften
 * (siehe header.php). Sie erben daher die Absatzabstaende – hier zurueckgesetzt.
 */
.mega-menu .mega-titel,
.mega-menu .mega-gruppe { margin-top: 0; }


/*
 * Schriftgroesse im Megamenue am 31.08.2026 von 1rem auf 1.1rem angehoben
 * (Beschriftungen und Verweise ziehen mit).
 */


/* ═══════════════ Einfaches Aufklappmenue (ohne Megamenue) ════════════════
 * Fuer Punkte mit einer schlichten Liste — Lasertherapie, Phlebologie,
 * Kosmetik, Karriere. Optik und Verhalten wie beim Megamenue, nur schmal.
 */
.navigation-menu .nav-item.hat-untermenue { position: relative; }

.hd-untermenue {
  position: absolute;
  top: 100%;
  left: 50%;
  z-index: 1040;
  transform: translateX(-50%);
  /*
   * Breit genug, dass Eintraege wie „Beseitigung von gutartigen
   * Hautveraenderungen" nicht umbrechen; nach oben durch die Fensterbreite
   * begrenzt, damit das Menue nirgends heraussteht.
   */
  min-width: 340px;
  max-width: min(460px, calc(100vw - 40px));
  width: max-content;
  margin: 0;
  /* Unten knapper: die Zeilen stehen eng, 18 px wirkten wie eine Luecke. */
  padding: 14px 0 10px;
  list-style: none;
  background: #ffffff;
  border-radius: 0 0 9px 9px;
  box-shadow: 0 18px 40px rgba(43, 54, 55, .13);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .25s ease, visibility .25s ease;
}

.nav-item.hat-untermenue:hover .hd-untermenue,
.nav-item.hat-untermenue:focus-within .hd-untermenue {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.hd-untermenue li { margin: 0; }

.hd-untermenue a {
  display: block;
  padding: 9px 28px;
  /* Lange deutsche Komposita brechen nur im Notfall. */
  overflow-wrap: break-word;
  color: #65686a;
  /* Gleiche Schrift wie im Megamenue: dort 17,6 px in Gewicht 300.
     Das Aufklappmenue stand auf 15,2 px / 400 (02.09.2026 gemessen). */
  font-size: 1.1rem;
  font-weight: 300;
  line-height: 1.5;
  text-decoration: none;
  transition: color .25s ease, background-color .25s ease;
}

.hd-untermenue a:hover,
.hd-untermenue a:focus-visible {
  color: #8a5c66;
  background: rgba(146, 168, 171, .12);
}

/*
 * Dritte Ebene im Aufklappmenue (02.09.2026, fuer „Über uns → Karriere →
 * Stellenanzeige“). Eingerueckt statt kleiner: eine zweite Schriftgroesse
 * im selben Kasten wirkt wie ein Fehler, die Einrueckung sagt dasselbe.
 */
.hd-untermenue__unter { list-style: none; margin: 0; padding: 0; }
/* Spezifitaet (0,2,1): weiter unten steht im Schmal-Block
   `.hd-untermenue a { padding: 8px 16px; }` mit (0,1,1) und haette den
   Einzug sonst ab 991 px wieder eingezogen. */
.hd-untermenue .hd-untermenue__unter a {
  padding-top: 6px;
  padding-bottom: 6px;
  padding-left: 44px;
  color: var(--hd-text, #65686a);
}
.hd-untermenue__zweig > a { padding-bottom: 4px; }

/* Auf schmalen Bildschirmen laeuft es im Fluss mit, ohne Ueberlagerung. */
@media (max-width: 991.98px) {
  .hd-untermenue {
    position: static;
    transform: none;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    min-width: 0;
    max-width: none;
    width: auto;
    padding: 4px 0 10px;
    box-shadow: none;
    background: transparent;
  }
  .hd-untermenue a { padding: 8px 16px; }
}


/* ═══════════ Mobiles Menue: Unterpunkte einzeln aufklappen ══════════════ */
.hd-menue-schalter { display: none; }

@media (max-width: 991.98px) {

  .navigation-menu .nav-item { position: relative; }

  /* Der Schalter sitzt rechts neben dem Verweis. */
  .hd-menue-schalter {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 0;
    right: 0;
    width: 52px;
    height: 52px;
    padding: 0;
    border: 0;
    background: none;
    cursor: pointer;
  }

  .hd-menue-pfeil {
    width: 9px;
    height: 9px;
    border-right: 1.5px solid #65686a;
    border-bottom: 1.5px solid #65686a;
    transform: rotate(45deg) translate(-2px, -2px);
    transition: transform .25s ease;
  }

  .hd-menue-schalter[aria-expanded="true"] .hd-menue-pfeil {
    transform: rotate(-135deg) translate(-2px, -2px);
  }

  /* Zugeklappt, bis der Schalter es oeffnet. */
  .hd-untermenue,
  .nav-item .mega-menu {
    display: none;
  }

  .nav-item.hd-offen > .hd-untermenue,
  .nav-item.hd-offen > .mega-menu {
    display: block;
    position: static;
    transform: none;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    width: auto;
    min-width: 0;
    max-width: none;
    padding: 2px 0 12px;
    background: transparent;
    box-shadow: none;
  }

  /* Das Megamenue laeuft mobil als schlichte Liste, nicht als Raster. */
  .nav-item.hd-offen .mega-menu .container { padding: 0; }
  .nav-item.hd-offen .mega-menu .row { display: block; margin: 0; }
  .nav-item.hd-offen .mega-menu [class*="col-"] { width: auto; padding: 0; background: none; }
  .nav-item.hd-offen .mega-menu .mega-titel { margin: 14px 0 6px; padding-bottom: 6px; }
  .nav-item.hd-offen .mega-menu .mega-gruppe { margin: 12px 0 4px; }
}


/*
 * Deckende Flaeche fuer das ausgeklappte Menue.
 *
 * Ohne sie schien der Seiteninhalt durch die Menuepunkte hindurch — bei
 * hellen Abschnitten sah es aus wie ein grauer Kasten, ueber Bildern waere
 * es unlesbar (02.09.2026 bei 375 px gemessen).
 */
@media (max-width: 991.98px) {

  .main-navbar .navbar-collapse {
    background: #ffffff;
    box-shadow: 0 18px 32px rgba(43, 54, 55, .10);
    max-height: calc(100vh - 150px);
    overflow-y: auto;
    overscroll-behavior: contain;
    padding-bottom: 12px;
  }

  /* Eingerueckte Unterpunkte, damit die Ebene erkennbar bleibt. */
  .hd-untermenue a,
  .nav-item.hd-offen .mega-menu .mega-list a { padding-left: 16px; }
}


/* Der Container des Megamenues traegt am Desktop die getoente Flaeche des
   Aufklappfensters. Mobil laeuft das Menue im Fluss — dort wuerde sie als
   grauer Kasten mitten in der weissen Liste stehen. */
@media (max-width: 991.98px) {
  .nav-item.hd-offen .mega-menu .container { background: transparent; }
}


/* ═════════ Eine Farbwelt für Mega- und Aufklappmenü (02.09.2026) ═════════
 *
 * Vorher: Megamenü auf Salbei rgba(197,209,209,.97), Aufklappmenü auf Weiß.
 * Zwei Farbwelten für dieselbe Sache — je nachdem, welchen Hauptpunkt man
 * traf. Jetzt tragen beide dieselbe Fläche.
 *
 * Gemessen auf dieser Fläche (02.09.2026):
 *   Schrift #65686a  → 3,53:1   (zu wenig, war der Bestand)
 *   Schrift var(--hd-text, #65686a)  → 5,43:1   ✓
 *   Rosé    #bf969d  → 1,66:1   (Gruppenüberschriften, praktisch unlesbar)
 *   Rosé    var(--hd-rose-tief, #8a5c66)  → 4,77:1   ✓ und immer noch erkennbar rosé
 */
.hd-untermenue {
  background: rgba(197, 209, 209, .97);
}

.mega-list a,
.hd-untermenue a,
.hd-untermenue .hd-untermenue__unter a,
.mega-menu .mega-titel {
  color: var(--hd-text, #65686a);
}

/*
 * 02.09.2026: Auf Wunsch heller. var(--hd-rose-tief, #8a5c66) war sicher, wirkte aber dunkel.
 *
 * Gemessen auf der Menüfläche: #bf969d (das übliche Rosé) erreicht nur
 * 1,66:1 — unlesbar. #8a5c66 kommt auf 3,51:1. Das genügt, sobald der Text
 * als GROSSE Schrift zählt: ab 18,66 px in Fettung reicht 3:1. Deshalb hier
 * 1,2 rem (19,2 px) und Gewicht 600 — heller und trotzdem regelkonform.
 */
/*
 * 02.09.2026, auf Ansage von Christian: wieder das übliche Rosé.
 * Der Kontrast auf der Menüfläche liegt damit bei 1,66:1 — gemessen und
 * bewusst so entschieden. Fett und 1,2 rem bleiben, wie gewünscht.
 */
.mega-menu .mega-gruppe {
  color: var(--hd-rose, #bf969d);
  font-size: 1.2rem;
  font-weight: 600;
}

/* Gleiche Rückmeldung in beiden Menütypen: Farbe plus kleiner Versatz.
   Die Flächenaufhellung des Aufklappmenüs fiel auf der getönten Fläche
   ohnehin nicht mehr auf. */
.hd-untermenue a:hover,
.hd-untermenue a:focus-visible {
  color: var(--hd-rose-tief, #8a5c66);
  background: transparent;
  transform: translateX(5px);
}

.hd-untermenue a {
  transition: color .25s ease, transform .25s ease;
}

/* Mobil bleibt die Liste auf der weißen Fläche des Klappmenüs. */
@media (max-width: 991.98px) {
  .nav-item.hd-offen > .hd-untermenue { background: transparent; }
  .hd-untermenue a:hover,
  .hd-untermenue a:focus-visible { transform: none; }
}

/* Abstand zum Hauptmenüpunkt wie im Megamenü (02.09.2026).
 * Dort beginnt der Text 20 px unter der Kastenoberkante (`.mega-methods`),
 * im Aufklappmenü waren es 14 px — es klebte sichtbar am Menüpunkt.
 * Kein echter Zwischenraum: eine Lücke zwischen Menüpunkt und Kasten
 * würde das Menü beim Hinüberfahren mit der Maus zufallen lassen. */
.hd-untermenue {
  padding-top: 20px;
  padding-bottom: 14px;
  /* Gemessen bei 1440 px: das Megamenü beginnt 18 px unter dem Menüpunkt,
     das Aufklappmenü lag bei 0 und klebte daran. */
  margin-top: 18px;
}

/*
 * Unsichtbare Brücke über die 18 px. Ohne sie verlässt der Zeiger auf dem
 * Weg nach unten das Element und das Menü fällt zu. Das Megamenü hat das
 * Problem nicht, weil sein Menüpunkt selbst so hoch ist.
 */
.hd-untermenue::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -18px;
  height: 18px;
}

@media (max-width: 991.98px) {
  /* Mobil läuft die Liste im Fluss mit — dort wäre der Vorlauf eine Lücke. */
  .nav-item.hd-offen > .hd-untermenue { padding-top: 2px; padding-bottom: 12px; }
}

/* ════════ Mobiles Menü: Rangfolge und Klickflächen (02.09.2026) ═════════
 *
 * Gemessen bei 375 px: Hauptpunkt 14,4 px, Spaltentitel 16,8 px,
 * Gruppenüberschrift 17,6 px, Unterpunkte 17,6 px. Jede Ebene war größer
 * als die darüber — die Desktop-Größen liefen unverändert mit, während der
 * Hauptpunkt mobil geschrumpft war.
 *
 * Jetzt trägt das GEWICHT die Rangfolge, nicht die Größe. Alles bleibt bei
 * mindestens 16 px, wie es der Hausstandard für mobilen Fließtext verlangt.
 */
@media (max-width: 991.98px) {

  .navigation-menu .nav-link {
    font-size: 1.05rem;
    font-weight: 400;
  }

  .nav-item.hd-offen .mega-menu .mega-titel {
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: .04em;
    color: var(--hd-text, #65686a);
  }

  .nav-item.hd-offen .mega-menu .mega-gruppe {
    font-size: 1rem;
    font-weight: 500;
  }

  .nav-item.hd-offen .mega-menu .mega-list a,
  .hd-untermenue a {
    font-size: 1rem;
    font-weight: 300;
  }

  /*
   * Klickflächen: die Verweise standen als inline-block mit 7 px Abstand da,
   * das ergab rund 24 px hohe Ziele. Der Hausstandard verlangt 44 px.
   */
  .nav-item.hd-offen .mega-menu .mega-list a,
  .hd-untermenue a,
  .hd-untermenue .hd-untermenue__unter a {
    display: block;
    padding-top: 10px;
    padding-bottom: 10px;
    min-height: 44px;
  }

  .nav-item.hd-offen .mega-menu .mega-list li { margin-bottom: 0; }

  /* Der Versatz beim Antippen gehört zum Desktop, nicht hierher. */
  .hd-untermenue a:hover,
  .hd-untermenue a:focus-visible { transform: none; }
}

/* ═══════════════ Vollbildmenü für Telefon und Tablet ════════════════════
 *
 * 02.09.2026, Vorbild Kaschuba. Ersetzt das Aufklappen im Fluss.
 *
 * Der Bootstrap-Kasten `.navbar-collapse` bleibt für den Desktop zuständig
 * und wird schmal ausgeblendet — sonst lägen zwei Menüs übereinander.
 */
@media (max-width: 991.98px) {

  .main-navbar .navbar-collapse { display: none !important; }

  .hd-burger {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    padding: 0;
    border: 0;
    background: none;
    color: var(--hd-tinte, #2b3637);
    cursor: pointer;
  }
}

@media (min-width: 992px) {
  .hd-burger { display: none; }
}

/* Drei Striche, die beim Öffnen zum Kreuz werden. */
.hd-burger__striche,
.hd-burger__striche::before,
.hd-burger__striche::after {
  display: block;
  width: 26px;
  height: 2px;
  background: currentColor;
  transition: transform .25s ease, opacity .2s ease;
}

.hd-burger__striche { position: relative; }

.hd-burger__striche::before,
.hd-burger__striche::after {
  content: "";
  position: absolute;
  left: 0;
}

.hd-burger__striche::before { top: -8px; }
.hd-burger__striche::after  { top: 8px; }

.hd-burger[aria-expanded="true"] .hd-burger__striche { background: transparent; }
.hd-burger[aria-expanded="true"] .hd-burger__striche::before { transform: translateY(8px) rotate(45deg); }
.hd-burger[aria-expanded="true"] .hd-burger__striche::after  { transform: translateY(-8px) rotate(-45deg); }

/* ─────────────────────────── Die Fläche selbst ───────────────────────── */

.hd-mobil {
  position: fixed;
  inset: 0;
  z-index: 10001;
  display: none;
  flex-direction: column;
  padding: 20px clamp(20px, 6vw, 40px) 40px;
  background: var(--hd-flaeche-hell, #edf1f0);
  overflow-y: auto;
  overscroll-behavior: contain;
  opacity: 0;
  transition: opacity .3s ease;
}

/* Zwei Stufen: erst da, dann sichtbar — sonst gibt es keinen Übergang. */
.hd-mobil[data-offen]    { display: flex; }
.hd-mobil[data-sichtbar] { opacity: 1; }

@media (prefers-reduced-motion: reduce) {
  .hd-mobil { transition: none; }
}

.hd-mobil__kopf {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 26px;
}

.hd-mobil__logo img { width: 210px; height: auto; }

.hd-mobil__zu {
  width: 48px;
  height: 48px;
  border: 0;
  background: none;
  cursor: pointer;
  font-size: 34px;
  line-height: 1;
  color: var(--hd-rose-tief, #8a5c66);
}

.hd-mobil__liste,
.hd-mobil__unterliste { list-style: none; margin: 0; padding: 0; }

.hd-mobil__link,
.hd-mobil__zeile--schalter .hd-mobil__link,
.hd-mobil__zeile {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 56px;
  padding: 12px 0;
  border-bottom: 1px solid rgba(101, 104, 106, .18);
  color: var(--hd-tinte, #2b3637);
  font-size: clamp(1.5rem, 6vw, 1.9rem);
  font-weight: 300;
  line-height: 1.25;
  text-decoration: none;
}

/*
 * 02.09.2026: Die erste Fassung nutzte <details>/<summary>. Das klappt hart —
 * natives <details> kennt keine Höhenanimation. Jetzt läuft das Panel über
 * `grid-template-rows: 0fr → 1fr`; das ist die einzige reine CSS-Lösung, die
 * ohne feste Pixelhöhe weich läuft (Bauweise aus dem Baustein).
 */
.hd-mobil__panel {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows .34s ease;
}

.hd-mobil__panel > .hd-mobil__unterliste {
  overflow: hidden;
  min-height: 0;
}

.hd-mobil__punkt.ist-offen > .hd-mobil__panel { grid-template-rows: 1fr; }

@media (prefers-reduced-motion: reduce) {
  .hd-mobil__panel { transition: none; }
}

/* Die Zeile trägt Verweis und Schalter nebeneinander. */
.hd-mobil__zeile {
  width: 100%;
  /* `border: 0` allein nahm auch die Trennlinie mit — sie gehört zur Zeile,
     seit der Verweis selbst keine mehr trägt (02.09.2026). */
  border: 0;
  border-bottom: 1px solid rgba(101, 104, 106, .18);
  background: none;
  text-align: left;
  font-family: inherit;
}

.hd-mobil__zeile--schalter { cursor: pointer; }

.hd-mobil__zeile > .hd-mobil__link,
.hd-mobil__zeile > .hd-mobil__unterlink { border-bottom: 0; flex: 1 1 auto; min-height: 0; padding: 0; }

.hd-mobil__plus {
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  border: 0;
  background: none;
  cursor: pointer;
}

/*
 * Gruppenüberschriften. Seit dem 02.09.2026 keine Schalter mehr: ein Tippen
 * auf den Hauptpunkt klappt alles auf, die Gruppen gliedern nur noch.
 */
.hd-mobil__gruppe {
  margin: 14px 0 2px;
  color: var(--hd-rose, #bf969d);
  font-size: .95rem;
  font-weight: 500;
  letter-spacing: .03em;
}

/*
 * 02.09.2026: Die tiefere Liste war um 14 px eingerückt und ihre
 * Überschriften kleiner. Beides raus — „Gesicht & Mimikfalten“ steht damit
 * auf derselben Kante und in derselben Größe wie „Methoden“, und die
 * Verweise darunter fluchten mit allen anderen.
 */
.hd-mobil__unterliste--tief { padding-left: 0; }

/* Die Liste im Panel bekommt unten Luft, sonst klebt sie am nächsten Punkt. */
.hd-mobil__punkt.ist-offen > .hd-mobil__panel > .hd-mobil__unterliste { padding-bottom: 14px; }

/*
 * Eingerückt wird nur die erste Ebene. Die Regel muss NACH der Ausnahme
 * stehen — beide haben dieselbe Spezifität, es entscheidet die Reihenfolge.
 * Am 02.09.2026 stand die Ausnahme davor und verlor: „Gesicht & Mimikfalten“
 * saß bei 51 px statt bei 37 px wie „Methoden“.
 */
.hd-mobil__unterliste { padding-left: 14px; }
.hd-mobil__unterliste--tief { padding-left: 0; }

.hd-mobil__unterlink {
  display: flex;
  align-items: center;
  min-height: 46px;
  padding: 8px 0;
  color: var(--hd-text, #65686a);
  font-size: 1.05rem;
  font-weight: 300;
  text-decoration: none;
}



.hd-mobil__link.ist-aktiv,
.hd-mobil__unterlink.ist-aktiv { color: var(--hd-rose-tief, #8a5c66); font-weight: 500; }

/* Plus, das beim Öffnen zum Minus wird. */
.hd-mobil__zeichen { position: relative; width: 18px; height: 18px; flex: 0 0 auto; }

.hd-mobil__zeichen::before,
.hd-mobil__zeichen::after {
  content: "";
  position: absolute;
  background: var(--hd-rose-tief, #8a5c66);
  transition: transform .3s ease;
}

.hd-mobil__zeichen::before { inset: 8px 0 auto 0; height: 2px; }
.hd-mobil__zeichen::after  { inset: 0 8px 0 auto; width: 2px; }

.hd-mobil__punkt.ist-offen > .hd-mobil__zeile .hd-mobil__zeichen::after,
.hd-mobil__punkt.ist-offen > .hd-mobil__zeile .hd-mobil__plus .hd-mobil__zeichen::after { transform: rotate(90deg); }

.hd-mobil__fuss {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
  margin-top: 34px;
}

.hd-mobil__tel {
  color: var(--hd-rose-tief, #8a5c66);
  font-size: 1.15rem;
  text-decoration: none;
}

/* ═══════ Aufklappmenüs am rechten Rand (02.09.2026) ═════════════════════
 *
 * Die Kästen stehen mittig unter ihrem Menüpunkt. Bei den letzten Punkten
 * ragte das über das Fenster hinaus und machte die ganze Seite waagerecht
 * scrollbar: gemessen bei 1440 px Fensterbreite eine Dokumentbreite von
 * 1547 px, also 107 px Überhang — verursacht von Phlebologie und Kosmetik.
 *
 * Auch ein zugeklapptes Menü zählt mit: `visibility: hidden` nimmt dem
 * Element die Sichtbarkeit, nicht seinen Platz. Deshalb war der Überhang
 * da, ohne dass etwas zu sehen war.
 *
 * Die letzten beiden richten sich jetzt an ihrer rechten Kante aus.
 */
@media (min-width: 992px) {
  .navigation-menu > .nav-item:nth-last-child(-n+2) > .hd-untermenue {
    left: auto;
    right: 0;
    transform: none;
  }
}