/* hide legacy navigation elements */
.nav, .btn-top, .dg-nav, .dg-btn-top, .kt-nav, .kt-btn-top, .pv-nav, .pv-btn-top,
body > header:not(.hero):not(#knHeader), .mnav, .mnav-overlay, .mnav-backdrop,
header.hero > nav.nav {display:none !important;}

#knHeader, #knHeader *{margin:0;padding:0;box-sizing:border-box;}
#knHeader{
  position:fixed;top:0;left:0;right:0;z-index:9990;
  font-family:'Jost',sans-serif;
  background:transparent;
  transition:background .3s ease, box-shadow .3s ease, backdrop-filter .3s ease;
}
#knHeader.kn-scrolled{
  background:#f7f3eb;
  box-shadow:0 6px 24px rgba(30,50,38,.08);
}
.kn-bar{
  max-width:1500px;margin:0 auto;
  display:flex;align-items:center;gap:28px;
  padding:16px 44px;
}
.kn-links{position:absolute;left:50%;transform:translateX(-50%);}
.kn-bar{position:relative;}
.kn-logo{display:flex;flex-direction:column;align-items:center;gap:3px;text-decoration:none;flex:none;margin-right:20px;}
.kn-logo img{width:44px;height:44px;object-fit:contain;display:block;}
.kn-logo-t{display:flex;flex-direction:column;align-items:center;line-height:1.05;}
.kn-logo-t b{
  font-family:'Cormorant Garamond',serif;font-weight:600;
  font-size:17px;letter-spacing:3.4px;color:#1f2d24;
}
.kn-logo-t span{font-size:6.8px;letter-spacing:1.5px;color:#4a5c4e;text-transform:uppercase;margin-top:2px;}
.kn-links{display:flex;align-items:center;gap:0;}
.kn-link{
  position:relative;display:flex;align-items:center;
  padding:10px 2px;margin:0 24px;border-radius:0;
  font-size:15.5px;font-weight:400;letter-spacing:.3px;text-transform:none;
  color:#1f2d24;text-decoration:none;
  cursor:pointer;background:transparent;border:none;font-family:'Jost',sans-serif;
  transition:color .3s ease;
  white-space:nowrap;
}
.kn-link::after{
  content:"";position:absolute;left:50%;bottom:2px;height:2.5px;width:24px;
  background:#4E7654;border-radius:2px;
  transform:translateX(-50%) scaleX(0);
  transition:transform .3s ease;
}
.kn-link:hover{color:#4E7654;}
.kn-link.kn-active::after{transform:translateX(-50%) scaleX(1);}
.kn-link.kn-active{color:#1f2d24;}
.kn-link .kn-caret{
  width:10px;height:10px;flex:none;
  transition:transform .3s ease;
}

.kn-link.kn-open-state{color:#4E7654;}
.kn-cta{
  flex:none;margin-left:auto;
  display:flex;align-items:center;gap:10px;
  padding:13px 24px;border-radius:10px;
  background:#4E7654;color:#fff;
  font-size:13px;font-weight:500;letter-spacing:1.4px;text-transform:uppercase;
  text-decoration:none;white-space:nowrap;
  box-shadow:0 8px 20px rgba(78,118,84,.30);
  transition:transform .3s ease, box-shadow .3s ease, background .3s ease;
}
.kn-cta:hover{transform:translateY(-2px);background:#41654a;box-shadow:0 12px 26px rgba(78,118,84,.38);}
.kn-cta svg{width:17px;height:17px;}
.kn-burger{
  display:none;margin-left:auto;position:relative;
  width:46px;height:46px;border-radius:15px;border:none;cursor:pointer;
  background:linear-gradient(150deg,rgba(78,118,84,.13) 0%,rgba(78,118,84,.06) 100%);
  box-shadow:inset 0 0 0 1px rgba(78,118,84,.20);
  align-items:center;justify-content:center;flex-direction:column;gap:5px;
  overflow:hidden;-webkit-tap-highlight-color:transparent;
  transition:box-shadow .35s ease, background .35s ease, transform .35s ease;
}
/* weicher Lichtschimmer, der beim Darüberfahren durchläuft */
.kn-burger::after{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.75) 50%,transparent 70%);
  transform:translateX(-120%);
  transition:transform .6s cubic-bezier(.22,.61,.36,1);
}
.kn-burger span{
  display:block;height:2px;border-radius:2px;
  background:linear-gradient(90deg,#28402f 0%,#4E7654 100%);
  transition:width .38s cubic-bezier(.22,.61,.36,1),
             transform .38s cubic-bezier(.22,.61,.36,1),
             opacity .28s ease, background .38s ease;
}
/* drei unterschiedlich lange Striche – ruhiger, handschriftlicher Rhythmus */
.kn-burger span:nth-child(1){width:22px;transform:translateX(0);}
.kn-burger span:nth-child(2){width:14px;transform:translateX(4px);}
.kn-burger span:nth-child(3){width:18px;transform:translateX(-2px);}

@media (hover:hover){
  .kn-burger:hover{
    background:linear-gradient(150deg,rgba(78,118,84,.20) 0%,rgba(78,118,84,.10) 100%);
    box-shadow:inset 0 0 0 1px rgba(78,118,84,.38),
               0 8px 18px -12px rgba(40,64,47,.55);
    transform:translateY(-1px);
  }
  .kn-burger:hover::after{transform:translateX(120%);}
  /* beim Darüberfahren richten sich die Striche gleichmäßig aus */
  .kn-burger:hover span:nth-child(1),
  .kn-burger:hover span:nth-child(2),
  .kn-burger:hover span:nth-child(3){width:22px;transform:translateX(0);}
}
.kn-burger:focus-visible{outline:2px solid #4E7654;outline-offset:3px;}
.kn-burger:active{transform:translateY(0) scale(.96);}

/* geöffnet: die drei Striche werden zum Kreuz */
.kn-burger.is-open span:nth-child(1){width:22px;transform:translate(0,7px) rotate(45deg);}
.kn-burger.is-open span:nth-child(2){opacity:0;transform:translateX(4px) scaleX(.2);}
.kn-burger.is-open span:nth-child(3){width:22px;transform:translate(0,-7px) rotate(-45deg);}

@media (prefers-reduced-motion:reduce){
  .kn-burger,.kn-burger span,.kn-burger::after{transition:none !important;}
}
/* setzt den globalen Button-Reset für genau diesen Button zurück */
html body #knHeader button.kn-burger{
  justify-content:center !important;align-items:center !important;
  flex-direction:column !important;gap:5px !important;
  width:46px !important;height:46px !important;padding:0 !important;
  border-radius:15px !important;
  background:linear-gradient(150deg,rgba(78,118,84,.13) 0%,rgba(78,118,84,.06) 100%) !important;
  box-shadow:inset 0 0 0 1px rgba(78,118,84,.20);
}
@media (hover:hover){
  html body #knHeader button.kn-burger:hover{
    background:linear-gradient(150deg,rgba(78,118,84,.20) 0%,rgba(78,118,84,.10) 100%) !important;
    box-shadow:inset 0 0 0 1px rgba(78,118,84,.38),
               0 8px 18px -12px rgba(40,64,47,.55);
  }
}
html body #knHeader button.kn-burger.is-open{
  background:linear-gradient(150deg,rgba(78,118,84,.22) 0%,rgba(78,118,84,.12) 100%) !important;
  box-shadow:inset 0 0 0 1px rgba(78,118,84,.42);
}

/* ---------- panels ---------- */
/* Stacking order (page-wide):
   page content ................ < 9990
   #knHeader ................... 9990
   mobile drawer overlay/panel . 9991 / 9992
   nav dropdown panels ......... 10000  <- above the header and all page content
   Impressum / Datenschutz ..... 10050
   doctor modal ................ 10060                                        */
.kn-panel{
  position:fixed;left:50%;top:78px;transform:translateX(-50%) translateY(14px);
  z-index:10000;
  background:#FDFCF9;border-radius:24px;
  box-shadow:0 30px 80px rgba(25,45,32,.16), 0 4px 18px rgba(25,45,32,.08);
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .3s ease, transform .3s ease, visibility .3s;
  overflow:hidden;
}
.kn-panel.kn-open{
  opacity:1;visibility:visible;pointer-events:auto;
  transform:translateX(-50%) translateY(0);
}
.kn-mega{width:min(1000px, calc(100vw - 48px));}
.kn-mega-grid{
  display:grid;grid-template-columns:1fr 1.25fr;
}
.kn-col{position:relative;padding:44px 40px 40px;}
.kn-col + .kn-col{border-left:1px solid rgba(78,118,84,.10);}
.kn-col-art{position:absolute;right:18px;top:18px;opacity:.10;pointer-events:none;}
.kn-col-moon{
  background:linear-gradient(150deg, rgba(46,66,88,.05), rgba(78,118,84,.03) 55%, transparent);
}
.kn-eyeb{
  display:flex;align-items:center;gap:10px;
  font-size:12.5px;letter-spacing:2.2px;text-transform:uppercase;
  color:#4E7654;font-weight:500;margin-bottom:10px;
}
.kn-col h3{
  font-family:'Cormorant Garamond',serif;font-weight:600;
  font-size:30px;color:#22392a;margin-bottom:8px;
}
.kn-col .kn-desc{font-size:14.5px;font-weight:300;line-height:1.6;color:#5c6b5e;margin-bottom:22px;}
.kn-list{list-style:none;}
.kn-list a{
  position:relative;
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 14px;margin:2px -14px;border-radius:14px;
  font-size:15.5px;color:#2c4434;text-decoration:none;font-weight:400;
  transition:background .3s ease, color .3s ease, padding .3s ease;
}
.kn-list a .kn-arr{
  opacity:0;transform:translateX(-6px);
  transition:opacity .3s ease, transform .3s ease;
  color:#4E7654;font-size:16px;
}
.kn-list a:hover{background:rgba(78,118,84,.08);color:#1f3e2b;padding-left:20px;}
.kn-list a:hover .kn-arr{opacity:1;transform:translateX(0);}
.kn-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.kn-card{
  position:relative;display:block;
  padding:18px 16px 16px;border-radius:18px;
  background:#fff;border:1px solid rgba(78,118,84,.12);
  text-decoration:none;
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.kn-card:hover{
  transform:translateY(-4px);
  box-shadow:0 14px 30px rgba(78,118,84,.20);
  border-color:rgba(78,118,84,.30);
}
.kn-card svg.kn-ill{width:34px;height:34px;margin-bottom:10px;}
.kn-card b{
  display:block;font-family:'Cormorant Garamond',serif;font-weight:600;
  font-size:19px;color:#22392a;margin-bottom:5px;
}
.kn-card p{font-size:12.8px;font-weight:300;line-height:1.5;color:#5c6b5e;margin-bottom:8px;}
.kn-card .kn-arr{
  position:absolute;right:14px;bottom:12px;color:#4E7654;font-size:16px;
  transition:transform .3s ease;
}
.kn-card:hover .kn-arr{transform:translateX(4px);}
.kn-leaf{position:absolute;pointer-events:none;opacity:.5;}

/* small dropdowns */
.kn-drop{width:340px;padding:18px;}
.kn-drop a{
  display:flex;align-items:center;gap:14px;
  padding:13px 14px;border-radius:16px;
  font-size:15.5px;color:#2c4434;text-decoration:none;
  transition:background .3s ease, padding .3s ease;
}
.kn-drop a:hover{background:rgba(78,118,84,.08);padding-left:20px;}
.kn-drop a svg{width:21px;height:21px;flex:none;color:#4E7654;}
.kn-drop a .kn-arr{margin-left:auto;opacity:0;transform:translateX(-6px);color:#4E7654;transition:opacity .3s ease, transform .3s ease;}
.kn-drop a:hover .kn-arr{opacity:1;transform:translateX(0);}

/* ---------- mobile ---------- */
.kn-mob-ov{
  position:fixed;inset:0;z-index:9991;background:rgba(25,40,30,.35);
  opacity:0;visibility:hidden;transition:opacity .3s ease, visibility .3s;
  backdrop-filter:blur(2px);
}
.kn-mob-ov.kn-open{opacity:1;visibility:visible;}
.kn-mob{
  position:fixed;top:0;right:0;bottom:0;z-index:9992;
  width:min(420px, 90vw);
  background:#FDFCF9;
  box-shadow:-20px 0 60px rgba(25,45,32,.20);
  transform:translateX(105%);
  transition:transform .38s cubic-bezier(.22,.9,.3,1);
  display:flex;flex-direction:column;
  border-radius:24px 0 0 24px;
  font-family:'Jost',sans-serif;
}
.kn-mob.kn-open{transform:translateX(0);}
.kn-mob-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:20px 22px 14px;
}
.kn-mob-head b{font-family:'Cormorant Garamond',serif;font-size:22px;letter-spacing:2px;color:#28402f;font-weight:600;}
.kn-mob-close{
  width:42px;height:42px;border-radius:13px;border:none;cursor:pointer;
  background:rgba(78,118,84,.10);color:#28402f;font-size:20px;
}
.kn-mob-scroll{flex:1;overflow-y:auto;padding:4px 14px 110px;}
.kn-acc > a, .kn-acc-btn{
  width:100%;display:flex;align-items:center;justify-content:space-between;
  padding:16px 14px;border:none;background:transparent;cursor:pointer;
  font-family:'Jost',sans-serif;font-size:17.5px;color:#22392a;text-decoration:none;
  border-radius:14px;font-weight:400;text-align:left;
  transition:background .3s ease;
}
.kn-acc > a:hover, .kn-acc-btn:hover{background:rgba(78,118,84,.07);}
.kn-acc-btn .kn-caret{width:11px;height:11px;transition:transform .3s ease;color:#4E7654;}
.kn-acc.kn-open .kn-acc-btn .kn-caret{transform:rotate(180deg);}
.kn-acc-body{
  max-height:0;overflow:hidden;
  transition:max-height .35s ease;
}
.kn-acc.kn-open .kn-acc-body{max-height:1400px;}
.kn-acc-body a{
  display:flex;align-items:center;gap:10px;
  padding:11px 14px 11px 28px;
  font-size:15.5px;color:#4a5c4e;text-decoration:none;border-radius:12px;
  transition:background .3s ease,color .3s ease;
}
.kn-acc-body a:hover{background:rgba(78,118,84,.07);color:#1f3e2b;}
.kn-acc-body a::before{content:"";width:5px;height:5px;border-radius:50%;background:#8fae94;flex:none;}
/* Krankheitsbilder als eingerückte Unterebene unter "Pneumologie" */
.kn-acc-body .kn-sub{display:flex;flex-direction:column;
  margin:2px 0 6px 28px;padding-left:12px;
  border-left:1px solid rgba(143,174,148,.45);}
.kn-acc-body .kn-sub a{padding:9px 12px 9px 14px;font-size:14.8px;color:#5b6b5f;}
.kn-acc-body .kn-sub a::before{width:4px;height:4px;background:#b3c7b6;}
.kn-mob-cta{
  position:absolute;left:0;right:0;bottom:0;
  padding:16px 18px 20px;
  background:linear-gradient(transparent, #FDFCF9 30%);
}
.kn-mob-cta a{
  display:flex;align-items:center;justify-content:center;gap:10px;
  height:56px;border-radius:999px;
  background:#4E7654;color:#fff;font-size:16.5px;font-weight:500;
  text-decoration:none;box-shadow:0 10px 24px rgba(78,118,84,.35);
}
.kn-sep{height:1px;background:rgba(78,118,84,.10);margin:6px 12px;}

@media (max-width:1120px){
  .kn-links, .kn-cta{display:none;}
  .kn-burger{display:flex;}
  .kn-bar{padding:12px 20px;}
}

/* ================= MEGA MENU v2 (wie Mockup) ================= */
.kn-panel.kn-mega{
  background:#F8F6EF;
  border:1px solid rgba(78,118,84,.14);
  border-radius:26px;
  width:min(1040px, calc(100vw - 48px));
}
.kn-mega-grid{grid-template-columns:1fr 1.22fr;}
.kn-col{padding:40px 42px 34px;}
.kn-col + .kn-col{border-left:1px solid rgba(78,118,84,.14);}
.kn-col-art{display:none;}
.kn-col-moon{background:none;}
.kn-eyeb{
  display:block;
  font-size:13px;letter-spacing:2.6px;text-transform:uppercase;
  color:#22392a;font-weight:500;margin-bottom:22px;
}
.kn-eyeb::after{
  content:"";display:block;width:36px;height:2px;
  background:#C4A265;margin-top:9px;border-radius:1px;
}
.kn-head{display:flex;align-items:center;gap:18px;margin-bottom:12px;}
.kn-ico{width:58px;height:58px;flex:none;}
.kn-col .kn-head h3{
  font-family:'Cormorant Garamond',serif;font-weight:600;
  font-size:36px;color:#22392a;margin:0;line-height:1.1;
}
.kn-col .kn-desc{font-size:15px;font-weight:300;line-height:1.65;color:#5c6b5e;margin-bottom:24px;}
/* Übersicht-Zeile */
.kn-list.kn-first{margin-bottom:4px;}
.kn-list.kn-first a{
  background:#EDEEE2;border-radius:10px;
  padding:15px 20px;margin:0;
  font-size:16px;color:#22392a;
}
.kn-list.kn-first a .kn-arr{opacity:1;transform:none;}
.kn-list.kn-first a:hover{background:#e3e5d4;padding-left:24px;}
/* 2-spaltige Linkliste mit Trennlinien */
.kn-list2{
  display:grid;grid-template-columns:1fr 1fr;
  column-gap:26px;
}
.kn-list2 li{min-width:0;}
.kn-list2 li:nth-child(n+3) a{border-top:1px solid rgba(78,118,84,.14);}
.kn-list2 a{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:16px 4px;margin:0;border-radius:0;
  font-size:15.5px;color:#2c4434;
}
.kn-list2 a .kn-arr{opacity:1;transform:none;color:#2c4434;font-size:17px;}
.kn-list2 a:hover{background:none;color:#4E7654;padding-left:10px;}
.kn-list2 a:hover .kn-arr{color:#4E7654;transform:translateX(3px);}
/* Karten */
.kn-cards{gap:16px;}
.kn-card{
  background:transparent;
  border:1px solid rgba(78,118,84,.22);
  border-radius:14px;
  padding:20px 18px 30px;
}
.kn-card b{font-size:22px;}
.kn-card p{font-size:13.5px;color:#4d5a4f;}
.kn-card .kn-arr{font-size:18px;color:#22392a;}
/* Fußzeile */
.kn-mega-foot{
  display:flex;align-items:center;justify-content:center;gap:18px;
  border-top:1px solid rgba(78,118,84,.14);
  padding:22px 40px;
}
.kn-foot-leaf{width:34px;height:34px;flex:none;}
.kn-foot-txt{font-size:16.5px;font-weight:300;color:#22392a;}
.kn-mega-book{
  display:inline-flex;align-items:center;gap:12px;
  background:#22392a;color:#fff;
  padding:13px 26px;border-radius:999px;
  font-size:15px;font-weight:400;text-decoration:none;
  transition:background .3s ease, transform .3s ease;
}
.kn-mega-book:hover{background:#2f4a38;transform:translateY(-1px);}
.kn-mega-book .kn-arr2{font-size:17px;}
@media (max-width:1100px){
  .kn-list2{grid-template-columns:1fr;}
  .kn-list2 li:nth-child(n+2) a{border-top:1px solid rgba(78,118,84,.14);}
}
img.kn-foot-leaf{width:auto;height:32px;}
img.kn-ico{width:58px;height:58px;object-fit:contain;}
/* Mega-Menü: alle vier Karten exakt gleich groß */
.kn-cards{grid-auto-rows:1fr;align-items:stretch;}
.kn-card{
  height:100%;box-sizing:border-box;
  display:flex;flex-direction:column;align-items:flex-start;
}
.kn-card p{flex:1;margin-bottom:14px;}

/* ============================================================
   MEGA-MENÜ „Leistungen" – kompakt
   ------------------------------------------------------------
   Ziel: Das komplette Menü inklusive Termin-Schaltfläche passt
   ohne inneres Scrollen in das sichtbare Fenster – auch auf
   einem 1366 × 768-Bildschirm, dessen nutzbare Fensterhöhe
   nach Browserleiste und Taskleiste nur rund 600 px beträgt.

   Aufbau, zwei Spalten, Farben, Schriften, Rahmen und Links
   bleiben unverändert; nur Abstände und Größen werden kleiner.
   Es wird nichts ausgeblendet, gekürzt oder abgeschnitten.
   Greift ab 1121 px, also nur dort, wo das Mega-Menü sichtbar
   ist – Tablet und Mobil bleiben unberührt.
   ============================================================ */
@media (min-width:1121px){
  .kn-panel.kn-mega{
    --kn-mega-top:78px;      /* Abstand von der Fensteroberkante */
    --kn-mega-gap:12px;      /* Luft zur Fensterunterkante      */
    max-height:calc(100vh - var(--kn-mega-top) - var(--kn-mega-gap));
    max-height:calc(100dvh - var(--kn-mega-top) - var(--kn-mega-gap));
    overflow:hidden;
  }

  /* ---- Spalten ---- */
  .kn-mega .kn-col{padding:22px 30px 20px;}
  .kn-mega .kn-eyeb{font-size:11.5px;letter-spacing:2.2px;margin-bottom:11px;}
  .kn-mega .kn-eyeb::after{margin-top:6px;width:30px;height:2px;}
  .kn-mega .kn-head{gap:12px;margin-bottom:6px;}
  .kn-mega .kn-ico,
  .kn-mega img.kn-ico{width:40px;height:40px;}
  .kn-mega .kn-col .kn-head h3{font-size:26px;line-height:1.1;}
  .kn-mega .kn-col .kn-desc{font-size:13.5px;line-height:1.5;margin-bottom:11px;}

  /* ---- Übersicht-Zeile und Linkliste ---- */
  .kn-mega .kn-list.kn-first{margin-bottom:2px;}
  .kn-mega .kn-list.kn-first a{padding:9px 15px;font-size:14.5px;border-radius:9px;}
  .kn-mega .kn-list.kn-first a:hover{padding-left:19px;}
  .kn-mega .kn-list2{column-gap:20px;}
  .kn-mega .kn-list2 a{padding:9px 4px;font-size:14.5px;}
  .kn-mega .kn-list2 a .kn-arr{font-size:15px;}

  /* ---- Karten ---- */
  .kn-mega .kn-cards{gap:10px;}
  .kn-mega .kn-card{padding:12px 13px 22px;border-radius:12px;}
  .kn-mega .kn-card svg.kn-ill{width:26px;height:26px;margin-bottom:7px;}
  .kn-mega .kn-card b{font-size:17.5px;margin-bottom:3px;}
  .kn-mega .kn-card p{font-size:12.5px;line-height:1.4;margin-bottom:8px;}
  .kn-mega .kn-card .kn-arr{right:11px;bottom:8px;font-size:15px;}

  /* ---- Fußzeile mit Termin-Schaltfläche ---- */
  .kn-mega .kn-mega-foot{padding:11px 30px;gap:13px;}
  .kn-mega .kn-foot-leaf,
  .kn-mega img.kn-foot-leaf{width:auto;height:24px;}
  .kn-mega .kn-foot-txt{font-size:14.5px;}
  .kn-mega .kn-mega-book{padding:9px 20px;font-size:14px;gap:9px;}
  .kn-mega .kn-mega-book .kn-arr2{font-size:15px;}
}

/* ============================================================
   Kompakter Desktop-Modus für flache Fenster
   (Laptops mit 1366 × 768 landen nach Browser- und Taskleiste
   typischerweise bei 600–700 px nutzbarer Höhe.)
   ============================================================ */
@media (min-width:1121px) and (max-height:850px){
  .kn-mega .kn-col{padding:16px 26px 15px;}
  .kn-mega .kn-eyeb{font-size:11px;letter-spacing:2px;margin-bottom:8px;}
  .kn-mega .kn-eyeb::after{margin-top:5px;width:26px;}
  .kn-mega .kn-head{gap:10px;margin-bottom:4px;}
  .kn-mega .kn-ico,
  .kn-mega img.kn-ico{width:34px;height:34px;}
  .kn-mega .kn-col .kn-head h3{font-size:22px;}
  .kn-mega .kn-col .kn-desc{font-size:13px;line-height:1.45;margin-bottom:8px;}

  .kn-mega .kn-list.kn-first a{padding:7px 14px;font-size:14px;}
  .kn-mega .kn-list.kn-first a:hover{padding-left:18px;}
  .kn-mega .kn-list2 a{padding:6px 4px;font-size:14px;}

  .kn-mega .kn-cards{gap:8px;}
  .kn-mega .kn-card{padding:10px 12px 17px;}
  .kn-mega .kn-card svg.kn-ill{width:22px;height:22px;margin-bottom:5px;}
  .kn-mega .kn-card b{font-size:16px;margin-bottom:2px;}
  .kn-mega .kn-card p{font-size:12px;line-height:1.38;margin-bottom:5px;}
  .kn-mega .kn-card .kn-arr{right:10px;bottom:5px;font-size:14px;}

  .kn-mega .kn-mega-foot{padding:8px 26px;gap:11px;}
  .kn-mega .kn-foot-leaf,
  .kn-mega img.kn-foot-leaf{height:20px;}
  .kn-mega .kn-foot-txt{font-size:13.5px;}
  .kn-mega .kn-mega-book{padding:8px 17px;font-size:13px;gap:8px;}
}

/* Noch flacher: letzte Stufe, danach greift der Notfall-Scroll */
@media (min-width:1121px) and (max-height:700px){
  .kn-mega .kn-col{padding:13px 24px 12px;}
  .kn-mega .kn-eyeb{margin-bottom:6px;}
  .kn-mega .kn-col .kn-head h3{font-size:20px;}
  .kn-mega .kn-ico,
  .kn-mega img.kn-ico{width:31px;height:31px;}
  .kn-mega .kn-col .kn-desc{margin-bottom:6px;}
  .kn-mega .kn-list.kn-first a{padding:6px 13px;}
  .kn-mega .kn-list2 a{padding:5px 4px;}
  .kn-mega .kn-cards{gap:7px;}
  .kn-mega .kn-card{padding:9px 11px 15px;}
  .kn-mega .kn-card p{margin-bottom:4px;}
  .kn-mega .kn-mega-foot{padding:7px 24px;}
}

/* Nur als Rückfalllösung bei außergewöhnlich flachen Fenstern:
   dort darf das Menü innen scrollen. */
@media (min-width:1121px) and (max-height:649.98px){
  .kn-panel.kn-mega{
    overflow-y:auto;overflow-x:hidden;
    overscroll-behavior:contain;
    scrollbar-width:thin;scrollbar-color:rgba(78,118,84,.28) transparent;
  }
  .kn-panel.kn-mega::-webkit-scrollbar{width:8px;}
  .kn-panel.kn-mega::-webkit-scrollbar-thumb{
    background:rgba(78,118,84,.28);border-radius:8px;
  }
}

/* CMS: Bild-Icons im Dropdown */
.kn-drop a img.kn-dico{width:21px;height:21px;flex:none;object-fit:contain}
.kn-card img.kn-ill{width:34px;height:34px;object-fit:contain}
