/* Bewusst eigene Klassen: keine Kollision mit alten Menü- und Button-Regeln. */
.ml-header { position:relative; z-index:20; }
#ml-site-navigation { display:block!important; text-align:left; letter-spacing:0; }
#ml-site-navigation *, .ml-menu-button { box-sizing:border-box; }
#ml-site-navigation ul { margin:0; padding:0; list-style:none; }
#ml-site-navigation .ml-nav-list { display:flex; gap:14px; }
#ml-site-navigation li { position:relative; }
#ml-site-navigation a, #ml-site-navigation button, #ml-site-navigation .ml-nav-pending {
 display:block; margin:0; padding:10px 12px; border:0; border-radius:4px; background:transparent;
 color:#474747; font:inherit; font-size:16px; line-height:1.4; text-align:left;
 text-decoration:none; text-transform:none; letter-spacing:0; box-shadow:none; cursor:pointer;
}
#ml-site-navigation button::before, #ml-site-navigation button::after { content:none; }
#ml-site-navigation a:hover, #ml-site-navigation button:hover,
#ml-site-navigation button[aria-expanded="true"] { background:#fff5cf; color:#353535; }
#ml-site-navigation a:focus-visible, #ml-site-navigation button:focus-visible, .ml-menu-button:focus-visible { outline:3px solid #9b7400; outline-offset:2px; }
#ml-site-navigation .ml-nav-toggle { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; }
.ml-chevron { width:7px; height:7px; border-right:1.5px solid; border-bottom:1.5px solid; transform:rotate(45deg); flex-shrink:0; }
[aria-expanded="true"] > .ml-chevron { transform:rotate(225deg); }
#ml-site-navigation .ml-submenu { position:absolute; top:100%; left:0; min-width:230px; width:max-content; max-width:310px; padding:8px; background:#fff; border:1px solid #e4dfd3; border-radius:8px; box-shadow:0 8px 24px #0002; z-index:30; }
#ml-site-navigation .ml-submenu .ml-submenu { top:0; left:100%; }
#ml-site-navigation .ml-submenu.ml-open-left { left:auto; right:100%; }
#ml-site-navigation .ml-nav-list > li:last-child > .ml-submenu { left:auto; right:0; }
#ml-site-navigation [hidden] { display:none!important; }
#ml-site-navigation .ml-nav-pending { color:#737373; cursor:default; }
#ml-site-navigation small { display:block; font-size:12px; font-style:italic; }
.ml-menu-button, #ml-site-navigation .ml-mobile-home { display:none; }
/* Eine einzige Umschaltgrenze verhindert Lücken zwischen beiden Darstellungen. */
@media (min-width: 961px) {
 .ml-header #headerleft { float:left; text-align:left; }
 .ml-header #headerright { float:right; }
}
@media (max-width: 960px) {
 .ml-header #headerleft, .ml-header #headerright { float:none; text-align:center; }
 .ml-header #headerright { padding-bottom:15px; }
 .ml-menu-button { display:block!important; position:fixed; top:18px; right:18px; z-index:102; width:46px; height:46px; padding:0; margin:0; border:1px solid #ded9cc; border-radius:6px; background:#fff; color:#474747; font:28px/1 sans-serif; cursor:pointer; box-shadow:0 2px 8px #0001; }
 .ml-menu-button::before, .ml-menu-button::after { content:none!important; }
 #ml-site-navigation { display:none!important; position:fixed; inset:0; z-index:101; padding:80px 20px 30px; background:#faf9f5; overflow:auto; height:100dvh; text-align:left; }
 #ml-site-navigation.ml-is-open { display:block!important; }
 #ml-site-navigation .ml-nav-list { display:block; max-width:560px; margin:0 auto; }
 #ml-site-navigation .ml-nav-list > li { border-bottom:1px solid #ded9cc; }
 #ml-site-navigation a, #ml-site-navigation button, #ml-site-navigation .ml-nav-pending { padding:14px 12px; min-height:48px; }
 #ml-site-navigation .ml-nav-list > li > a, #ml-site-navigation .ml-nav-list > li > button { font-weight:bold; }
 #ml-site-navigation .ml-submenu, #ml-site-navigation .ml-submenu .ml-submenu { position:static; width:auto; min-width:0; max-width:none; margin:0 0 8px 12px; padding:0 0 0 8px; border:0; border-left:2px solid #ffc61a; border-radius:0; box-shadow:none; background:transparent; }
 #ml-site-navigation .ml-mobile-home { display:block; max-width:560px; margin:0 auto 10px; }
}
/* Die bestehende 25-s-Einblendung darf die Navigation nicht verzögern. */
html:has(.ml-header), .ml-header #headerleft { animation:none!important; -webkit-animation:none!important; }
/* Überschreibt die alte allgemeine Regel nav ul im mobilen Stylesheet. */
#ml-site-navigation ul { opacity:1; visibility:visible; }
#ml-site-navigation [aria-current="page"] { text-decoration:underline; text-decoration-color:#b18800; text-underline-offset:5px; }
#ml-site-navigation li { display:block; vertical-align:initial; }
@media (min-width:961px) {
 .ml-header #headerleft { max-width:calc(100% - 95px); }
 #ml-site-navigation .ml-nav-list { gap:4px; }
}

/* Version 2: Gestaltung nach Vorlage, gruppiertes Desktop-Dropdown, Buchung. */
.ml-header .header1 { display:block; font-family:Cambria, 'Hoefler Text', 'Liberation Serif', Times, 'Times New Roman', serif; font-size:22px; line-height:1.2; font-weight:bold; }
.ml-header .header2 { display:block; font-size:15px; line-height:1.5; }
.ml-header #name .show { display:none; }
.ml-header #name { margin:0 0 20px; }
.ml-header #headerright img { width:70px; height:auto; }
.ml-nav-row { display:flex; align-items:center; justify-content:space-between; gap:18px; }
.ml-booking, .ml-booking:visited {
 display:inline-flex; align-items:center; justify-content:center; box-sizing:border-box;
 min-height:40px; padding:8px 20px; border:1px solid #ffc61a; border-radius:6px;
 background:#ffc61a; color:#292516!important; font:600 15px/1.3 Cambria,Georgia,serif;
 letter-spacing:0; text-decoration:none; text-align:center; white-space:nowrap;
}
.ml-booking:hover { background:#ffdf70; border-color:#d9a600; color:#292516; }
.ml-booking:focus-visible { outline:3px solid #695000; outline-offset:3px; }
#ml-site-navigation .ml-group-title { display:none; }
#ml-site-navigation .ml-submenu { border-color:#e7e2d8; box-shadow:0 5px 16px #0002; }
@media (min-width:961px) {
 .ml-header { margin:28px auto 35px; padding:0 30px; }
 .ml-header #headerleft { float:none; max-width:none; }
 .ml-header #headerright { position:absolute; top:0; right:30px; }
 .ml-header #name { padding-right:90px; }
 /* Button folgt direkt auf den letzten Menüpunkt. */
 .ml-nav-row { justify-content:flex-start; }
 #ml-site-navigation { flex:0 0 auto; }
 #ml-site-navigation .ml-nav-list { gap:14px; }
 #ml-site-navigation .ml-nav-list > li > button,
 #ml-site-navigation .ml-nav-list > li > a { border-radius:0; border-bottom:2px solid transparent; padding:12px 10px; }
 #ml-site-navigation .ml-nav-list > li > button[aria-expanded="true"],
 #ml-site-navigation .ml-nav-list > li > button:hover,
 #ml-site-navigation .ml-nav-list > li > a:hover { background:transparent; color:#956b00; border-bottom-color:#ffc61a; }
 #ml-site-navigation .ml-submenu { padding:12px; font-family:Arial,sans-serif; }
 #ml-site-navigation .ml-submenu a, #ml-site-navigation .ml-submenu button,
 #ml-site-navigation .ml-nav-pending { font-size:13px; padding:6px 9px; }
 #ml-site-navigation #ml-sub-1 { width:300px; max-width:calc(100vw - 40px); }
 #ml-site-navigation .ml-group-title { display:block; padding:4px 9px; font:700 13px/1.4 Arial,sans-serif; color:#333; }
 #ml-site-navigation .ml-nav-group > button { display:none; }
 #ml-site-navigation .ml-nav-group > .ml-submenu,
 #ml-site-navigation .ml-nav-group > .ml-submenu[hidden] { display:block!important; position:static; min-width:0; width:auto; max-width:none; margin:0; padding:0 0 8px 12px; border:0; box-shadow:none; }
 #ml-site-navigation .ml-nav-group { border-bottom:1px solid #e8e3da; margin-bottom:8px; }
 #ml-site-navigation #ml-sub-1 > li:last-child > a { font-weight:bold; }
 .ml-landing-header { min-height:76px; }
 .ml-landing-header #headerleft { padding-right:90px; }
 .ml-landing-header #name { padding-right:0; }
 .ml-landing-header > .ml-booking { position:absolute; right:120px; top:10px; }
}
@media (min-width:961px) and (max-width:1100px) {
 #ml-site-navigation .ml-nav-list { gap:0; }
 #ml-site-navigation .ml-nav-list > li > button,
 #ml-site-navigation .ml-nav-list > li > a { padding-left:7px; padding-right:7px; font-size:15px; }
 .ml-nav-row { gap:10px; }
 .ml-booking { padding-left:16px; padding-right:16px; font-size:14px; }
}
@media (max-width:960px) {
 .ml-header { margin:20px auto 24px; padding:0 20px; }
 .ml-header #headerright { padding-bottom:8px; }
 .ml-header #headerright img { width:52px; }
 .ml-header .header1 { font-size:22px; }
 .ml-header .header2 { font-size:14px; line-height:1.35; }
 .ml-header #name { margin:0 0 14px; }
 .ml-nav-row { justify-content:center; }
 .ml-header .ml-booking { position:relative; z-index:1; max-width:100%; white-space:normal; }
 .ml-landing-header { text-align:center; }
 /* Baumgröße und Zitat bleiben erhalten; der Button steht oberhalb des Zitats. */
 .ml-header + .Aligner { margin-top:0!important; }
}

/* Kundenkorrektur 21.10.2026: ursprüngliche Typografie und ruhige Kopfzeile. */
@media (min-width:961px) {
 #ml-site-navigation .ml-nav-list > li > a,
 #ml-site-navigation .ml-nav-list > li > button {
  font-family:Cambria, 'Hoefler Text', 'Liberation Serif', Times, 'Times New Roman', serif;
  font-size:16px; font-weight:400; letter-spacing:1px;
 }
}
@media (max-width:960px) {
 .ml-header .ml-profession-line { display:block; }
 .ml-header .ml-profession-separator { display:none; }
 .ml-header .header2 { margin-top:3px; }
 .ml-booking { min-height:44px; padding:9px 20px; border-radius:6px; }
 body:not(.ml-homepage) > .ml-header { margin-bottom:38px; }
 body:not(.ml-homepage) > .ml-header .ml-nav-row { padding-top:10px; }
}

/* 29.10.2026: heller Navigationsstreifen auf der Desktop-Startseite.
   Der Abstand unter dem Button ist Teil der Fläche; Dropdowns bleiben frei. */
@media (min-width:961px) {
 .ml-homepage .ml-header .ml-nav-row {
  background:rgba(253,253,253,.80);
  padding-top:8px;
  padding-bottom:14px;
 }
}
