/* NINON Mobile Slide-Menü – mit eigenem Slideout */
:root{
  /* Farben & Maße hier anpassen */
  --nmm-bg:#fbf8f5;          /* Hintergrund des Menüs */
  --nmm-text:#1d1a17;        /* Schriftfarbe */
  --nmm-muted:#8a8079;       /* Nebentexte */
  --nmm-line:#ece5dd;        /* Trennlinien */
  --nmm-accent:#ac0b87;      /* Markenfarbe: aktive Seite, Übersicht-Links, Icons */
  --nmm-chip:#f1e9e1;        /* Hintergrund der Pfeil-Kreise */
  --nmm-chip-hover:#e7dbcf;
  --nmm-cta-bg:#ac0b87;      /* Button unten */
  --nmm-cta-text:#ffffff;
  --nmm-burger:currentColor; /* Burger-Icon übernimmt die Schriftfarbe des Headers */
  --nmm-width:440px;         /* max. Breite auf Tablets */
  --nmm-speed:.38s;          /* Slide-Geschwindigkeit */
  --nmm-ease:cubic-bezier(.22,.8,.24,1);
}

/* =====================================================================
   Viele Themes färben jeden <button>, jeden Link und jede <h2> global ein
   (Markenfarbe, Rahmen, Großbuchstaben …). Deshalb sind alle sichtbaren
   Elemente des Menüs über #nmm bzw. .nmm-burger mit !important abgesichert.
   Das wirkt nur auf das Menü – der Rest der Seite bleibt unberührt.
   ===================================================================== */

/* Burger-Button (Sichtbarkeit am besten über Elementor „Auf Desktop ausblenden“ steuern) */
html body button.nmm-burger.nmm-burger,
html body button.nmm-burger.nmm-burger:hover,
html body button.nmm-burger.nmm-burger:focus,
html body button.nmm-burger.nmm-burger:active{
  -webkit-appearance:none!important;appearance:none!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  width:44px!important;height:44px!important;min-width:0!important;min-height:0!important;
  margin:0!important;padding:0!important;border:0!important;border-radius:10px!important;
  background:transparent!important;box-shadow:none!important;color:var(--nmm-burger)!important;
  line-height:1!important;letter-spacing:normal!important;text-transform:none!important;
  transition:none!important;cursor:pointer;-webkit-tap-highlight-color:transparent}
html body button.nmm-burger.nmm-burger::before,
html body button.nmm-burger.nmm-burger::after{content:none!important;display:none!important}
html body button.nmm-burger.nmm-burger svg{display:block}

html.nmm-locked,html.nmm-locked body{overflow:hidden!important}

#nmm,#nmm *,#nmm *::before,#nmm *::after{box-sizing:border-box}
.nmm{position:fixed;inset:0;z-index:99999;visibility:hidden;pointer-events:none;
  transition:visibility 0s linear var(--nmm-speed);-webkit-tap-highlight-color:transparent}
.nmm.is-open{visibility:visible;pointer-events:auto;transition:visibility 0s}

.nmm-backdrop{position:absolute;inset:0;background:rgba(20,16,12,.45);opacity:0;transition:opacity var(--nmm-speed) ease}
.nmm.is-open .nmm-backdrop{opacity:1}

#nmm .nmm-drawer{position:absolute;top:0;right:0;bottom:0;width:100%;max-width:var(--nmm-width);
  display:flex;flex-direction:column;background:var(--nmm-bg)!important;color:var(--nmm-text)!important;
  font-family:inherit;font-size:16px;line-height:1.35;text-align:left;
  transform:translateX(100%);transition:transform var(--nmm-speed) var(--nmm-ease);
  box-shadow:-12px 0 40px rgba(0,0,0,.12)}
#nmm.is-open .nmm-drawer{transform:none}

/* Kopfzeile */
.nmm-top{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;
  height:64px;padding:0 10px 0 20px;border-bottom:1px solid var(--nmm-line);background:var(--nmm-bg)}
#nmm a.nmm-logo,#nmm a.nmm-logo:hover,#nmm a.nmm-logo:focus,#nmm a.nmm-logo:visited{
  display:flex!important;align-items:center;min-width:0;max-height:44px;overflow:hidden;
  margin:0!important;padding:0!important;background:none!important;border:0!important;
  color:var(--nmm-text)!important;text-decoration:none!important;font-weight:700;letter-spacing:.12em;
  white-space:nowrap;text-overflow:ellipsis}
#nmm a.nmm-logo img{display:block;height:30px;width:auto;max-width:180px;font-size:14px}

/* Button-Grundzustand */
#nmm .nmm-btn,#nmm .nmm-btn:hover,#nmm .nmm-btn:focus,#nmm .nmm-btn:active{
  -webkit-appearance:none!important;appearance:none!important;
  margin:0!important;padding:0!important;border:0!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;text-shadow:none!important;
  color:var(--nmm-text)!important;font-family:inherit!important;font-style:normal!important;
  font-size:inherit!important;font-weight:inherit!important;line-height:1.3!important;
  letter-spacing:normal!important;text-transform:none!important;text-decoration:none!important;
  text-align:left!important;white-space:normal!important;
  min-width:0!important;min-height:0!important;max-width:none!important;width:auto!important;height:auto!important;
  opacity:1!important;filter:none!important;transform:none!important;transition:none!important;
  cursor:pointer;-webkit-user-select:none;user-select:none}
#nmm .nmm-btn::before,#nmm .nmm-btn::after{content:none!important;display:none!important}
#nmm .nmm-btn svg,#nmm a svg{display:block;flex:0 0 auto}

/* Schließen-X */
#nmm .nmm-btn.nmm-close,#nmm .nmm-btn.nmm-close:hover,#nmm .nmm-btn.nmm-close:focus,#nmm .nmm-btn.nmm-close:active{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  width:44px!important;height:44px!important;border-radius:50%!important;color:var(--nmm-text)!important}
#nmm .nmm-btn.nmm-close:hover{background:var(--nmm-chip)!important}

/* Panels: bleiben deckend; gedimmt wird nur der Inhalt der Ebene darunter */
.nmm-viewport{position:relative;flex:1 1 auto;overflow:hidden}
#nmm .nmm-source{display:none}
.nmm-panel{position:absolute;inset:0;overflow-y:auto;overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;background:var(--nmm-bg);
  transform:translateX(100%);visibility:hidden;
  transition:transform var(--nmm-speed) var(--nmm-ease),visibility 0s linear var(--nmm-speed)}
.nmm-panel.is-active,.nmm-panel.is-left{visibility:visible;
  transition:transform var(--nmm-speed) var(--nmm-ease),visibility 0s}
.nmm-panel.is-active{transform:none}
.nmm-panel.is-left{transform:translateX(-28%)}
.nmm-panel>*{transition:opacity var(--nmm-speed) ease}
.nmm-panel.is-left>*{opacity:.35}
.nmm.nmm-instant .nmm-panel,.nmm.nmm-instant .nmm-panel>*{transition:none!important}

/* Kopf der Unterseiten: Zurück + Titel + Übersicht */
.nmm-sub-head{padding:6px 20px 2px}
#nmm .nmm-btn.nmm-back,#nmm .nmm-btn.nmm-back:hover,#nmm .nmm-btn.nmm-back:focus,#nmm .nmm-btn.nmm-back:active{
  display:inline-flex!important;align-items:center!important;gap:4px!important;
  min-height:44px!important;margin:0 0 0 -6px!important;padding:0 8px 0 0!important;
  color:var(--nmm-muted)!important;font-size:14px!important;font-weight:600!important}
#nmm .nmm-btn.nmm-back:hover{color:var(--nmm-text)!important}

#nmm .nmm-title{display:block!important;margin:0 0 6px!important;padding:0!important;border:0!important;background:none!important;
  font-family:inherit!important;font-size:24px!important;line-height:1.2!important;font-weight:600!important;font-style:normal!important;
  letter-spacing:-.01em!important;text-transform:none!important;color:var(--nmm-text)!important;outline:none}

#nmm a.nmm-overview,#nmm a.nmm-overview:visited,#nmm a.nmm-overview:hover,#nmm a.nmm-overview:focus{
  display:inline-flex!important;align-items:center;gap:4px;min-height:40px;margin:0!important;padding:0 0 6px!important;
  background:transparent!important;border:0!important;box-shadow:none!important;
  color:var(--nmm-accent)!important;font-size:15px!important;font-weight:600!important;
  text-decoration:none!important;text-transform:none!important;letter-spacing:normal!important}
#nmm a.nmm-overview:hover{text-decoration:underline!important;text-underline-offset:3px}

/* Liste */
#nmm .nmm-list{list-style:none!important;margin:0!important;padding:4px 20px 8px!important}
#nmm .nmm-item{display:flex!important;align-items:center;gap:10px;min-height:58px;
  margin:0!important;padding:0!important;background:none!important;list-style:none!important;
  border:0!important;border-bottom:1px solid var(--nmm-line)!important}
#nmm .nmm-item::before,#nmm .nmm-item::marker{content:none!important}

#nmm a.nmm-link,#nmm a.nmm-link:visited,#nmm a.nmm-link:hover,#nmm a.nmm-link:focus,#nmm a.nmm-link:active{
  flex:1 1 auto;display:flex!important;align-items:center;gap:10px;min-height:56px;
  margin:0!important;padding:12px 0!important;background:transparent!important;border:0!important;box-shadow:none!important;
  color:var(--nmm-text)!important;font-size:17px!important;font-weight:500!important;line-height:1.3!important;
  text-decoration:none!important;text-transform:none!important;letter-spacing:normal!important}
#nmm a.nmm-link:hover{color:var(--nmm-accent)!important}
#nmm a.nmm-link:active{opacity:.6}

/* Menüpunkt ohne eigene Seite: ganze Zeile ist der Button */
#nmm .nmm-btn.nmm-group,#nmm .nmm-btn.nmm-group:hover,#nmm .nmm-btn.nmm-group:focus,#nmm .nmm-btn.nmm-group:active{
  flex:1 1 auto!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;
  width:100%!important;min-height:56px!important;padding:8px 0!important;
  color:var(--nmm-text)!important;font-size:17px!important;font-weight:500!important}
#nmm .nmm-btn.nmm-group:hover{color:var(--nmm-accent)!important}
#nmm .nmm-btn.nmm-group:active{opacity:.6!important}

/* Pfeil-Kreis */
#nmm .nmm-chip,#nmm .nmm-btn.nmm-chip,#nmm .nmm-btn.nmm-chip:hover,#nmm .nmm-btn.nmm-chip:focus,#nmm .nmm-btn.nmm-chip:active{
  flex:0 0 auto!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
  width:44px!important;height:44px!important;min-width:44px!important;margin:0!important;padding:0!important;
  border:0!important;border-radius:50%!important;background:var(--nmm-chip)!important;box-shadow:none!important;
  color:var(--nmm-text)!important;transition:background-color .2s ease,transform .2s ease!important}
#nmm .nmm-btn.nmm-chip:hover,#nmm .nmm-btn.nmm-group:hover .nmm-chip{background:var(--nmm-chip-hover)!important}
#nmm .nmm-btn.nmm-chip:active,#nmm .nmm-btn.nmm-group:active .nmm-chip{transform:translateX(2px)!important}

/* aktive Seite + Pfad dorthin */
#nmm a.nmm-link[aria-current=page],#nmm a.nmm-link[aria-current=page]:hover{color:var(--nmm-accent)!important;font-weight:600!important}
#nmm .nmm-link[aria-current=page] .nmm-label::after,
#nmm .nmm-item.is-trail .nmm-label::after{content:""!important;display:inline-block!important;width:6px;height:6px;
  margin-left:8px;border-radius:50%;background:var(--nmm-accent)!important;vertical-align:middle;transform:translateY(-1px)}

/* Fußbereich im Hauptmenü */
.nmm-foot{padding:20px 20px 36px}
#nmm a.nmm-cta,#nmm a.nmm-cta:visited,#nmm a.nmm-cta:hover,#nmm a.nmm-cta:focus,#nmm a.nmm-cta:active{
  display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-height:52px!important;
  margin:0!important;padding:0 20px!important;border:0!important;border-radius:999px!important;box-shadow:none!important;
  background:var(--nmm-cta-bg)!important;color:var(--nmm-cta-text)!important;
  font-size:16px!important;font-weight:600!important;line-height:1.2!important;text-align:center!important;
  text-decoration:none!important;text-transform:none!important;letter-spacing:normal!important}
#nmm a.nmm-cta:hover{opacity:.88}
#nmm .nmm-contact{list-style:none!important;margin:18px 0 0!important;padding:0!important}
#nmm .nmm-contact li{margin:0!important;padding:0!important;list-style:none!important;background:none!important}
#nmm .nmm-contact li::before,#nmm .nmm-contact li::marker{content:none!important}
#nmm .nmm-contact a,#nmm .nmm-contact a:visited,#nmm .nmm-contact a:hover,#nmm .nmm-contact a:focus{
  display:flex!important;align-items:center;gap:12px;min-height:44px;margin:0!important;padding:0!important;
  background:none!important;border:0!important;color:var(--nmm-text)!important;font-size:15px!important;
  text-decoration:none!important;text-transform:none!important;letter-spacing:normal!important}
#nmm .nmm-contact svg{color:var(--nmm-accent)}
#nmm .nmm-address{margin:6px 0 0 30px!important;padding:0!important;color:var(--nmm-muted)!important;font-size:14px!important;line-height:1.5!important}
#nmm .nmm-legal{display:flex;flex-wrap:wrap;gap:4px 18px;margin-top:18px;padding-top:14px;border-top:1px solid var(--nmm-line)}
#nmm .nmm-legal a,#nmm .nmm-legal a:visited,#nmm .nmm-legal a:hover,#nmm .nmm-legal a:focus{
  display:inline-flex!important;align-items:center;min-height:32px;margin:0!important;padding:0!important;
  background:none!important;border:0!important;color:var(--nmm-muted)!important;font-size:13px!important;
  text-decoration:none!important;text-transform:none!important;letter-spacing:normal!important}
#nmm .nmm-legal a:hover{color:var(--nmm-text)!important}

#nmm :focus-visible{outline:2px solid var(--nmm-accent)!important;outline-offset:2px}
@media (prefers-reduced-motion:reduce){.nmm{--nmm-speed:.01s}}

/* Hinweis nur für eingeloggte Admins, wenn das Menü nicht gefunden wurde */
.nmm-admin-note{padding:10px 12px;border:1px dashed #c9a27e;background:#fff8f1;color:#5a4636;font:13px/1.45 system-ui,sans-serif}
