/* ============================================================
   LOVA6 REDESIGN – Konzept 2 „Neon Premium" (hell)
   Reines Override-Stylesheet – ändert nur die Optik.
   Lädt NACH dem Theme-CSS -> gewinnt. Viele !important, weil
   das Theme Gold (rgb(189,155,54)) per Inline-Style setzt.
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&display=swap');

:root{
  /* heller als vorher (Wunsch Nutzer) */
  --lv-bg:#2a2340; --lv-bg2:#38304f; --lv-card:#3d3457;
  --lv-neon:#ff3d86; --lv-neon2:#b45bff; --lv-cy:#43dcf0;
  --lv-line:rgba(255,61,134,.30); --lv-line2:rgba(255,255,255,.12);
  --lv-txt:#f7f1fb; --lv-mut:#c3b7d4;
  --lv-grad:linear-gradient(90deg,#ff3d86,#b45bff);
}

/* ---- Grundfläche + Schrift ---- */
body{
  background:var(--lv-bg) !important; color:var(--lv-txt) !important;
  font-family:'Space Grotesk',system-ui,-apple-system,sans-serif !important;
}
.main-wrapper,.page-wrapper,section,.container,.container-fluid,.row{background-color:transparent;}
body::before{content:'';position:fixed;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(760px 480px at 82% -8%,rgba(180,91,255,.16),transparent 60%),
            radial-gradient(620px 420px at 4% 2%,rgba(255,61,134,.13),transparent 60%);}
.navbar,main,section,footer,.container,.container-fluid{position:relative;z-index:1;}
h1,h2,h3,h4,h5,h6{font-family:'Space Grotesk',system-ui,sans-serif !important;color:var(--lv-txt);}
a{color:var(--lv-neon);}

/* ---- NAVBAR (dünn + durchsichtig, durchgehend neue Farbe) ----
   Theme setzt .nav-menu-Gradient per !important im Body-<style> -> mit body-Präfix (höhere Spezifität) schlagen */
body .nav-menu,body .nav-menu.sticky-top,html body .nav-menu{
  background:rgba(42,35,64,.72) !important;background-image:none !important;
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  box-shadow:none !important;border-bottom:1px solid var(--lv-line2) !important;}
.navbar,header{background:transparent !important;background-image:none !important;box-shadow:none !important;border-bottom:0 !important;-webkit-backdrop-filter:none;backdrop-filter:none;}
.navbar{padding-top:4px !important;padding-bottom:4px !important;min-height:0 !important;}
.nav-menu .navbar,.nav-menu nav.navbar{padding-top:4px !important;padding-bottom:4px !important;}
/* Logo deutlich kleiner -> Leiste ~halb so hoch */
.navbar-brand{padding-top:0 !important;padding-bottom:0 !important;margin:0 !important;}
.navbar-brand img,#lmlogo{max-height:38px !important;height:38px !important;width:auto !important;}
.navbar-nav .nav-link{color:var(--lv-txt) !important;text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;font-weight:500;padding-top:.35rem !important;padding-bottom:.35rem !important;}
.navbar-nav .nav-link:hover{color:var(--lv-neon) !important;}
.navbar-toggler{border:1px solid var(--lv-line) !important;border-radius:8px !important;background:rgba(56,48,79,.6) !important;padding:5px 9px !important;}
.navbar-toggler-icon{filter:invert(1) hue-rotate(180deg);width:1.1em;height:1.1em;}

/* ============================================================
   GOLD ABSCHAFFEN — alle Theme-Gold-Buttons -> Neon
   (Inline-Styles: rgba(189,155,54,...) / Gold->Crimson-Gradient)
   ============================================================ */
.btn-alle-ladies,.btn-alle-ladiesPad,.btn-alle-ladies.btn-alle-ladiesPad,
.btnApp,.btn-success,a.btn-success,button.btn-success,
.dropbutton1,.dropbutton2,.dropbutton3,.dropbutton4,.dropbutton1c,
.btn-primary,.btn-danger,.btn-warning,.usePWA-info{
  background:var(--lv-grad) !important;
  background-image:var(--lv-grad) !important;
  color:#fff !important; border:0 !important;
  box-shadow:0 0 20px rgba(255,61,134,.35) !important;
  font-weight:600 !important;
}
/* Filter-Auswahl-Buttons (Rubriken/Merkmale/Arbeitszeiten) lieber dezent dunkel+Neon-Rand */
.dropbutton1,.dropbutton2,.dropbutton3,.dropbutton4{
  background:var(--lv-bg2) !important; background-image:none !important;
  color:var(--lv-txt) !important; border:1px solid var(--lv-line2) !important;
  box-shadow:none !important;
}
.dropbutton1:hover,.dropbutton2:hover,.dropbutton3:hover,.dropbutton4:hover{border-color:var(--lv-neon) !important;color:var(--lv-neon) !important;}
.btn-outline-primary,.btn-secondary,.btn-light{background:var(--lv-bg2) !important;color:var(--lv-txt) !important;border:1px solid var(--lv-line2) !important;}
.btn{border-radius:12px !important;}

/* ---- FILTER Selects ---- */
.form-select,select.nno,select#select_box,select#select_box2,select#select_box3{
  background-color:var(--lv-bg2) !important;color:var(--lv-txt) !important;
  border:1px solid var(--lv-line2) !important;border-radius:10px !important;font-weight:500 !important;padding:12px 14px !important;}
.form-select:focus,select.nno:focus{border-color:var(--lv-neon) !important;box-shadow:0 0 0 2px rgba(255,61,134,.25) !important;}
.dropdown-menu{background:var(--lv-bg2) !important;border:1px solid var(--lv-line) !important;border-radius:12px !important;color:var(--lv-txt) !important;}
.dropdown-item{color:var(--lv-txt) !important;}
.dropdown-item:hover{background:rgba(255,61,134,.12) !important;color:var(--lv-neon) !important;}
.form-check-input:checked{background-color:var(--lv-neon) !important;border-color:var(--lv-neon) !important;}

/* ---- PROFIL-KARTEN ---- */
.profile-card{border:1px solid var(--lv-line2) !important;border-radius:16px !important;overflow:hidden !important;
  background:var(--lv-card) !important;position:relative;transition:transform .2s,box-shadow .2s,border-color .2s;}
.nostyle:hover .profile-card{transform:translateY(-4px);border-color:var(--lv-neon) !important;box-shadow:0 0 30px rgba(255,61,134,.34) !important;}
.profile-image-container{border-radius:16px;overflow:hidden;position:relative;}
.online-badge{position:absolute !important;top:10px;left:10px;z-index:5;
  background:rgba(34,197,94,.92) !important;color:#04220f !important;border-radius:99px !important;
  padding:5px 12px !important;font-size:.72rem !important;font-weight:600 !important;letter-spacing:.02em;border:0 !important;box-shadow:none !important;}
.new-badge{position:absolute !important;top:14px;right:-26px;z-index:5;transform:rotate(45deg);
  background:linear-gradient(90deg,#22c55e,#16a34a) !important;color:#fff !important;font-size:.62rem !important;
  font-weight:700 !important;letter-spacing:.1em;padding:4px 30px !important;box-shadow:0 4px 10px rgba(0,0,0,.4);}
.profile-overlay{position:absolute !important;left:0;right:0;bottom:0;z-index:3;
  background:linear-gradient(to top,rgba(9,5,14,.94),rgba(9,5,14,.5) 60%,transparent) !important;padding:34px 10px 10px !important;}
.profile-overlay .chat-now-btn1{background:transparent !important;background-color:transparent !important;border:0 !important;box-shadow:none !important;
  color:var(--lv-txt) !important;font-family:inherit !important;font-size:.82rem !important;line-height:1.55 !important;padding:2px 4px !important;width:100% !important;text-shadow:0 1px 6px rgba(0,0,0,.8);}
.profile-overlay .chat-now-btn1 svg,.profile-overlay .neweicons{color:var(--lv-neon) !important;fill:var(--lv-neon) !important;width:13px;height:13px;}

/* ---- TOP GIRLS / Karussell-Karten ---- */
.top-girls-card,.owl-item .profile-card,.card{background:var(--lv-card) !important;border-color:var(--lv-line2) !important;}

/* ---- Helle Karten / Boxen dunkel machen (Featured, „Read Reviews" etc.) ---- */
.bg-white,.bg-light,[style*="background:#fff"],[style*="background: #fff"],[style*="background-color:#fff"],[style*="background-color: #fff"],[style*="background:white"]{
  background:var(--lv-card) !important;color:var(--lv-txt) !important;}

/* ---- MODALS / POPUPS (App-Install, Alters-Check) ---- */
.modal-content{background:linear-gradient(180deg,#241a34,#1b1428) !important;border:1px solid var(--lv-line) !important;
  border-radius:18px !important;color:var(--lv-txt) !important;box-shadow:0 0 60px rgba(255,61,134,.25) !important;}
.modal-header,.modal-footer{border-color:var(--lv-line2) !important;}
.modal-body,.modal-title,.modal p,.modal span{color:var(--lv-txt) !important;}
.close,.btn-close{filter:invert(1) hue-rotate(180deg);opacity:.8;}
/* Bild-Lightbox: „×"-Schließen-Button oben rechts ROT + gut sichtbar.
   Gilt auch für die Bildergalerie der Profile (Fenster #my-modal1, #my-modal2 …). */
.lova6-lightbox .modal-header .close,.lova6-lightbox .close,.lova6-lightbox .close span,.lova6-lightbox .close span[aria-hidden],
.modal[id^="my-modal"] .modal-header .close,.modal[id^="my-modal"] .close,.modal[id^="my-modal"] .close span,.modal[id^="my-modal"] .close span[aria-hidden],
/* das tatsaechlich genutzte Galerie-Fenster (Damen UND Locations) */
#lz-viewer-modal .modal-header .close,#lz-viewer-modal .close,#lz-viewer-modal .close span,#lz-viewer-modal .close span[aria-hidden]{
  color:#ff2323 !important;opacity:1 !important;filter:none !important;
  text-shadow:0 0 8px rgba(255,35,35,.55) !important;font-size:2rem !important;font-weight:700 !important;line-height:1 !important;}
.lova6-lightbox .close,.modal[id^="my-modal"] .close,#lz-viewer-modal .close{background:rgba(255,35,35,.12) !important;border:1px solid rgba(255,35,35,.55) !important;border-radius:10px !important;padding:2px 10px !important;}

/* Location-Hinweis „Du findest mich hier…" (nur Damen in einer Location) etwas nach links,
   damit er auf schmalen Handys nicht abgeschnitten wird (sitzt per translate(190px) zu weit rechts) */
/* Status-Block (Status-Button + „Ich bin in Zimmer X…") etwas nach rechts rücken.
   Links kollidierte er mit der Adresse, rechts war Platz frei. Nur seitlich verschieben –
   die vertikale Position steht je Anzeige im transform und bleibt dadurch erhalten. */
.col-lg-4 > b[style*="translate(190px"]{margin-left:25px !important;}
/* Das Wort „Status:" sitzt in einem EIGENEN <b> (translate(215px)) und stand dadurch
   22px links neben der Button-Mitte – jetzt exakt mittig darüber. */
.col-lg-4 > b[style*="translate(215px"]{margin-left:22px !important;}

/* „Ich bin in Zimmer X besuchbar." mittig UNTER den Status-Button (lief vorher links in die Adresse) */
.zimmer-info{transform:translateX(-40px) !important;padding-right:0 !important;
  text-align:center !important;margin-top:6px !important;line-height:1.35 !important;}
/* PWA-Install-Popup (#lm-pwa-modal / #pwaInfoModal) ins Neon-Design */
#lm-pwa-modal,#lm-pwa-modal .modal-content,#pwaInfoModal .modal-content{background:linear-gradient(180deg,#2a2340,#1b1428) !important;color:var(--lv-txt) !important;border:1px solid var(--lv-line) !important;border-radius:18px !important;}
#lm-pwa-modal h1,#lm-pwa-modal h2,#lm-pwa-modal h3,#lm-pwa-modal p,#lm-pwa-modal span,#lm-pwa-modal div,#pwaInfoModal h2,#pwaInfoModal p{color:var(--lv-txt) !important;}
#lm-pwa-modal button,#lm-pwa-modal .btn,#lm-pwa-modal a,#lm-pwa-modal a.btn,#pwaInfoModal .btn,#pwaInfoModal button{background:linear-gradient(90deg,#ff3d86,#b45bff) !important;background-image:linear-gradient(90deg,#ff3d86,#b45bff) !important;color:#fff !important;border:0 !important;box-shadow:0 0 20px rgba(255,61,134,.4) !important;}

/* ---- Text-Farben grob aufhellen ---- */
p,li,td,th,.text-dark,.text-muted,.text-secondary{color:var(--lv-txt);}
.text-primary,.text-danger,.text-warning{color:var(--lv-neon) !important;}
small,.small,.text-muted{color:var(--lv-mut) !important;}

/* ---- Pagination ---- */
.page-link{background:var(--lv-bg2) !important;color:var(--lv-txt) !important;border:1px solid var(--lv-line2) !important;}
.page-item.active .page-link{background:var(--lv-grad) !important;border-color:transparent !important;color:#fff !important;}

/* ---- Footer (schlanker & professioneller) ---- */
footer,.footer,.site-footer{background:var(--lv-bg2) !important;color:var(--lv-mut) !important;border-top:1px solid var(--lv-line2) !important;}
footer.space{padding:24px 0 !important;}
footer.space .col-md-8,footer.space p{margin-bottom:6px !important;}
footer a,.footer a{color:var(--lv-mut) !important;font-size:.86rem;}

/* ---- App-Bereich (per lova-neu.js vor dem Footer eingefügt) ---- */
.lv-appcta{padding:2px 16px 6px;}
.lv-appcta-inner{max-width:560px;margin:0 auto;background:linear-gradient(180deg,var(--lv-card),var(--lv-bg2));border:1px solid var(--lv-line);border-radius:16px;padding:22px 20px;text-align:center;box-shadow:0 0 26px rgba(255,61,134,.16);}
.lv-appcta-h{font-family:'Space Grotesk',system-ui,sans-serif;font-weight:700;font-size:1.35rem;color:var(--lv-neon);margin-bottom:6px;letter-spacing:.01em;}
.lv-appcta-t{color:var(--lv-mut);font-size:.9rem;line-height:1.55;margin:0 auto 16px;max-width:46ch;}
.lv-appcta-btn{background:linear-gradient(90deg,var(--lv-neon),var(--lv-neon2));color:#fff;border:0;border-radius:11px;padding:13px 28px;font-weight:600;font-size:.92rem;cursor:pointer;font-family:inherit;box-shadow:0 0 22px rgba(255,61,134,.4);display:inline-flex;align-items:center;gap:8px;}
.lv-appcta-btn:hover{filter:brightness(1.05);}

/* ---- Hero: Buttons neon (bereits via .btn-alle-ladies oben), Überschrift weiß ---- */
.hero h1,.hero h2,.carousel-caption h1{color:#fff !important;}

/* ---- Weiße Reste killen ---- */
.featured-profile{background:var(--lv-card) !important;color:var(--lv-txt) !important;
  border:1px solid var(--lv-line2) !important;border-radius:16px !important;box-shadow:0 0 26px rgba(255,61,134,.18) !important;}
.featured-profile *{color:var(--lv-txt);}
.dropdownmenu1-content,.dropdownmenu2-content,.dropdownmenu3-content,.dropdownmenu4-content,
[class*="dropdownmenu"][class*="-content"]{
  background:var(--lv-bg2) !important;color:var(--lv-txt) !important;
  border:1px solid var(--lv-line) !important;border-radius:12px !important;}
[class*="dropdownmenu"][class*="-content"] *{color:var(--lv-txt) !important;}
[class*="dropdownmenu"][class*="-content"] label{color:var(--lv-mut) !important;}
.contact-form,.contact-form *{color:var(--lv-txt);}
.contact-form{background:var(--lv-card) !important;border:1px solid var(--lv-line2) !important;border-radius:16px !important;}
.form-control,textarea,input[type=text],input[type=email],input[type=tel],input[type=search],input[type=number]{
  background:var(--lv-bg2) !important;color:var(--lv-txt) !important;border:1px solid var(--lv-line2) !important;border-radius:10px !important;}
.form-control::placeholder{color:var(--lv-mut) !important;}
/* Bild-Container dunkel, damit nicht geladene Bilder nicht weiß blitzen */
.profile-image-container,.index-girl-media-wrap{background:#1c1528 !important;}
.profile-card img,.profile-card video{background:#1c1528 !important;}
/* Google-Translate-Widget nicht umfärben (sonst kaputt) */
.skiptranslate,.VIpgJd-ZVi9od-l4eHX-hSRGPd,#google_translate_element *{color:initial;}

/* ---- Überschriften nicht mehr Gold ---- */
h1,h2,h3,h4,h5,h6{color:#fff !important;}
/* Fließtext / Labels / Tabellen gut lesbar (nicht Gold/Grau) */
p,li,dt,dd,td,th,label,figcaption,blockquote{color:var(--lv-txt) !important;}
/* dunkelgraue/gold Textfarben im Inhalt aufhellen */
[style*="color:#333"],[style*="color: #333"],[style*="color:rgb(51"],[style*="color:#000"],[style*="color: #000"]{color:var(--lv-txt) !important;}
/* JEDEN Gold-Text (189,155,54 / #bd9b36) hell machen – rgb ODER rgba, mit/ohne Space */
[style*="189,155,54"],[style*="189, 155, 54"],[style*="#bd9b36"],[style*="#BD9B36"]{color:var(--lv-txt) !important;}
/* Vor/Zurück/Startseite-Links neon statt gold */
a.previous,a.next,a[class*="previous"],a[class*="next"]{color:var(--lv-neon) !important;}
/* Profil/Club: Trennlinien dezent */
hr{border-color:var(--lv-line2) !important;}

/* ---- Profil/Club: Anzeigentitel hervorheben (Neon-Verlauf) ---- */
.col-lg-8 > h1,.col-lg-8 h1{
  background:linear-gradient(90deg,#ff5fa0,#b45bff) !important;
  -webkit-background-clip:text !important;background-clip:text !important;
  -webkit-text-fill-color:transparent !important;color:transparent !important;
  font-weight:800 !important;letter-spacing:.004em;}
/* ---- Profil/Club: Kategorie-Labels (Alter/Verkehr/Massagen…) + Wochentage (Zeiten) in Neon ---- */
.container [class*="col-"] > table tr td:first-child,.container [class*="col-"] > table tr td:first-child b{
  color:var(--lv-neon) !important;font-weight:700 !important;}

/* ---- Profil/Club Labels lesbar (waren #333 dunkel) ---- */
.attribute-label{color:var(--lv-mut) !important;}
.attribute-heading,.attribute-heading strong,.attribute-heading b{color:var(--lv-neon) !important;}
.attribute-value,.attribute-row .attribute-value{color:var(--lv-txt) !important;}
/* generische #333-Textklassen aufhellen */
.text-333,.muted-text,.desc-text{color:var(--lv-mut) !important;}

/* ---- Telefonnummer / tel-Links weiß (war schwarz) ---- */
a[href^="tel:"],a[href^="tel:"] *{color:#fff !important;}
[style*="color: rgba(0,0,0"],[style*="color:rgba(0,0,0"],[style*="color: rgb(0, 0, 0"],[style*="color:rgb(0,0,0"]{color:var(--lv-txt) !important;}

/* ---- Startseiten-Nav vollflächig (edge-to-edge) ---- */
.nav-menu,.nav-menu .container,.nav-menu .container-fluid,.nav-menu .row,.nav-menu [class^="col"],.nav-menu [class*=" col"]{
  max-width:100% !important;width:100% !important;flex:0 0 100% !important;
  padding-left:0 !important;padding-right:0 !important;margin-left:0 !important;margin-right:0 !important;}
.navbar.rev,.nav-menu .navbar{padding-left:10px !important;padding-right:10px !important;width:100% !important;max-width:100% !important;}

/* ---- Karten: Status-Badge klein + ganz in die Ecke ---- */
.online-badge{text-align:center !important;font-size:.52rem !important;padding:3px 7px !important;letter-spacing:.02em !important;min-width:0 !important;line-height:1.1 !important;top:5px !important;left:5px !important;}
/* ---- NEW-Badge: saubere grüne Eck-Fahne oben rechts (geclippt wie Original) ---- */
/* .profile-icons bildschirmfüllend + clippend machen, damit die Fahne in der Ecke geschnitten wird */
.profile-icons{position:absolute !important;inset:0 !important;top:0 !important;left:0 !important;right:0 !important;bottom:0 !important;width:100% !important;height:100% !important;overflow:hidden !important;border-radius:16px !important;}
.new-badge{position:absolute !important;top:15px !important;right:-34px !important;left:auto !important;bottom:auto !important;
  width:120px !important;transform:rotate(45deg) !important;transform-origin:center !important;
  background:linear-gradient(90deg,#22c55e,#16a34a) !important;color:#fff !important;
  font-size:.54rem !important;font-weight:800 !important;letter-spacing:.12em !important;
  padding:3px 0 !important;z-index:6 !important;box-shadow:0 2px 7px rgba(0,0,0,.45) !important;text-align:center !important;line-height:1.3 !important;}
.profile-image-container{overflow:hidden !important;position:relative !important;}
/* ---- Overlay-Text kleiner (nahm fast die ganze Box) ---- */
.profile-overlay{padding:24px 8px 8px !important;}
.profile-overlay .chat-now-btn1{font-size:.66rem !important;line-height:1.32 !important;}
.profile-overlay .chat-now-btn1 svg,.profile-overlay .neweicons{width:10px !important;height:10px !important;}
.new-badge{font-size:.56rem !important;padding:3px 26px !important;}

/* ---- Top Girls Karten: Gold-Namen -> neon, Karte dunkel ---- */
.tg-card{background:var(--lv-card) !important;border:1px solid var(--lv-line2) !important;border-radius:14px !important;overflow:hidden;}
.tg-info{color:var(--lv-txt) !important;background:#1c1528 !important;}
.tg-info b{color:var(--lv-neon) !important;}

/* ---- Sprach-Widget (per lova-neu.js auf allen Seiten eingefügt) ---- */
.lova-lang{position:relative;display:inline-flex;align-items:center;margin-left:auto;margin-right:8px;z-index:60}
.lova-lang-btn{background:rgba(56,48,79,.6);border:1px solid rgba(255,61,134,.3);color:#f7f1fb;border-radius:8px;padding:6px 12px;font-size:.78rem;font-family:inherit;cursor:pointer;display:flex;align-items:center;gap:6px;white-space:nowrap}
.lova-lang-menu{display:none;position:absolute;top:calc(100% + 6px);right:0;background:#38304f;border:1px solid rgba(255,61,134,.3);border-radius:10px;padding:6px;min-width:160px;box-shadow:0 12px 30px rgba(0,0,0,.55)}
.lova-lang-menu.open{display:block}
.lova-lang-menu button{display:block;width:100%;text-align:left;background:transparent;border:0;color:#f7f1fb;padding:8px 10px;border-radius:7px;font-size:.82rem;cursor:pointer;font-family:inherit}
.lova-lang-menu button:hover{background:rgba(255,61,134,.15);color:#ff3d86}
/* Google-Translate-Banner/Frame ausblenden */
.goog-te-banner-frame,.goog-te-gadget-icon,iframe.skiptranslate{display:none !important}
body{top:0 !important}
.goog-te-combo{position:absolute;left:-9999px}
/* Native Homepage-Sprachauswahl (.lang-*) auf Neon (war gold/kaputt) */
.lang-btn{background:rgba(56,48,79,.6) !important;border:1px solid rgba(255,61,134,.35) !important;color:#f7f1fb !important;border-radius:8px !important;padding:6px 12px !important;font-size:.78rem !important;display:inline-flex !important;align-items:center;gap:6px;white-space:nowrap;}
.lang-btn .lbl,.lang-btn .lbf,.lang-btn .lbc{color:#f7f1fb !important;}
.lang-menu{background:#38304f !important;border:1px solid rgba(255,61,134,.3) !important;border-radius:10px !important;padding:6px !important;box-shadow:0 12px 30px rgba(0,0,0,.55) !important;min-width:170px !important;}
.lang-menu button{background:transparent !important;border:0 !important;color:#f7f1fb !important;text-align:left !important;width:100% !important;padding:8px 10px !important;border-radius:7px !important;font-size:.82rem !important;}
.lang-menu button:hover{background:rgba(255,61,134,.15) !important;color:#ff3d86 !important;}
.lang-dropdown{position:relative;}

/* ---- Menü-Button: Pill mit „Menü"-Wort ÜBER dem Hamburger (im Fluss, gut sichtbar) ---- */
.navbar-toggler{position:relative !important;border:1px solid rgba(255,61,134,.45) !important;border-radius:12px !important;
  background:rgba(56,48,79,.7) !important;background-image:none !important;
  padding:5px 15px !important;box-shadow:0 0 14px rgba(255,61,134,.18) !important;
  display:inline-flex !important;flex-direction:column !important;align-items:center !important;justify-content:center !important;gap:3px !important;height:auto !important;
  margin-top:0 !important;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);}
/* „Menü“-Wort über dem Hamburger – gleiche Größe wie der Sprache-Button (12,5px) */
.navbar-toggler-icon p,.navbar-toggler > p,.navbar-toggler p{display:block !important;position:static !important;left:auto !important;right:auto !important;bottom:auto !important;top:auto !important;
  transform:none !important;margin:0 !important;font-size:12.5px !important;line-height:1.05 !important;font-weight:700 !important;order:-1 !important;
  letter-spacing:.02em !important;text-transform:none !important;color:#f7f1fb !important;white-space:nowrap !important;pointer-events:none;}
.navbar-toggler:focus,.navbar-toggler:active{box-shadow:0 0 0 3px rgba(255,61,134,.3) !important;outline:0 !important;}
.navbar-toggler-icon{filter:none !important;width:1.5em !important;height:1.2em !important;background-position:center !important;background-repeat:no-repeat !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 24'%3E%3Cpath stroke='%23ff5fa0' stroke-width='2.8' stroke-linecap='round' d='M4 6h22M4 12h22M4 18h22'/%3E%3C/svg%3E") !important;}
/* Sprach-Globe-Button gleicher, sauberer Stil */
.lova-lang-btn,.lang-btn{background:rgba(56,48,79,.7) !important;border:1px solid rgba(255,61,134,.45) !important;border-radius:12px !important;padding:9px 13px !important;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);}

/* ---- Status-Glow (Profil): verfügbar=grün leuchtend, besetzt=rot leuchtend ---- */
@keyframes lvGlowG{0%,100%{box-shadow:0 0 8px rgba(34,197,94,.5)}50%{box-shadow:0 0 20px rgba(34,197,94,.95)}}
@keyframes lvGlowR{0%,100%{box-shadow:0 0 8px rgba(239,68,68,.5)}50%{box-shadow:0 0 20px rgba(239,68,68,1)}}
.lv-status-green,a.lv-status-green,.btn.lv-status-green,.btn-success.lv-status-green,a.btn-success.lv-status-green{background:linear-gradient(90deg,#22c55e,#16a34a) !important;background-image:linear-gradient(90deg,#22c55e,#16a34a) !important;border:0 !important;color:#fff !important;border-radius:99px !important;padding:8px 20px !important;font-weight:700 !important;letter-spacing:.03em !important;text-shadow:0 1px 3px rgba(0,0,0,.4) !important;animation:lvGlowG 1.8s ease-in-out infinite !important;display:inline-flex !important;align-items:center !important;justify-content:center !important;text-align:center !important;line-height:1 !important;}
.lv-status-red,a.lv-status-red,.btn.lv-status-red,.btn-success.lv-status-red,a.btn-success.lv-status-red{background:linear-gradient(90deg,#ef4444,#b91c1c) !important;background-image:linear-gradient(90deg,#ef4444,#b91c1c) !important;border:0 !important;color:#fff !important;border-radius:99px !important;padding:8px 20px !important;font-weight:700 !important;letter-spacing:.03em !important;text-shadow:0 1px 3px rgba(0,0,0,.4) !important;animation:lvGlowR 1.8s ease-in-out infinite !important;display:inline-flex !important;align-items:center !important;justify-content:center !important;text-align:center !important;line-height:1 !important;}
.lv-status-green>*,.lv-status-red>*{width:auto !important;text-align:center !important;margin:0 auto !important;}
/* innere Elemente flach machen, damit KEIN zweiter Chip entsteht */
.lv-status-green *,.lv-status-red *{background:transparent !important;background-image:none !important;padding:0 !important;margin:0 !important;border:0 !important;box-shadow:none !important;border-radius:0 !important;color:#fff !important;animation:none !important;}

/* ---- Startseiten-Nav wirklich vollflächig ---- */
body{padding-left:0 !important;padding-right:0 !important;}
.nav-menu.sticky-top,.nav-menu{margin:0 !important;max-width:100vw !important;width:100% !important;}
.nav-menu > .container,.nav-menu .container{max-width:100vw !important;width:auto !important;padding-left:12px !important;padding-right:12px !important;margin:0 !important;}

/* ============================================================
   v20 – Navbar-Anordnung (Logo links, Sprache+Menü rechts)
   + Galerie: Logo-/kaputte Platzhalter-Bilder ausblenden
   ============================================================ */
/* Logo links, gut sichtbar (vorher zu klein) */
body .navbar .navbar-brand img,body #lmlogo{height:46px !important;max-height:46px !important;width:auto !important;}
/* Navbar als Flex, Logo drückt alles nach rechts */
body .navbar{display:flex !important;flex-wrap:nowrap !important;align-items:center !important;}
body .navbar .navbar-brand{order:0 !important;margin-right:auto !important;}
/* Nav-Links, Sprache und Menü sammeln sich rechts in der Ecke */
body .navbar .navbar-collapse{order:1 !important;flex:0 0 auto !important;width:auto !important;margin-left:0 !important;}
body .navbar .lova-lang{order:2 !important;margin-left:14px !important;margin-right:0 !important;}
body .navbar .navbar-toggler{order:3 !important;margin-left:12px !important;}
/* ---- Mobiles Menü: sauberes Dropdown-Panel (volle Breite unter der Leiste) ---- */
@media (max-width:991.98px){
  body .nav-menu .navbar .navbar-collapse{order:10 !important;flex-basis:100% !important;width:100% !important;}
  /* Panel absolut unter der Leiste verankern -> volle Breite, identisch auf ALLEN Seiten (wie .lvsn) */
  .nav-menu .navbar,.nav-menu nav.navbar{position:relative !important;flex-wrap:nowrap !important;align-items:center !important;min-height:0 !important;}
  /* Obere Leiste bricht NIE um: Logo schrumpfbar, Menü-Button immer kompakt rechts */
  .nav-menu .navbar-brand{flex:0 1 auto !important;min-width:0 !important;margin-right:auto !important;overflow:hidden !important;}
  .nav-menu .navbar-brand img{max-width:150px !important;width:auto !important;height:auto !important;max-height:56px !important;}
  .nav-menu .navbar .lang-wrap,.nav-menu .navbar .lang-wrap-header,.nav-menu .navbar .lova-lang{flex:0 0 auto !important;}
  .nav-menu .navbar .navbar-toggler{flex:0 0 auto !important;width:auto !important;min-width:0 !important;align-self:center !important;white-space:nowrap !important;}
  /* geschlossen: sauber ausgeblendet (wir toggeln .show selbst per JS) */
  .nav-menu .navbar-collapse:not(.show){display:none !important;}
  /* einheitliches Dropdown-Panel (wie .lvsn): dunkle Box, Neon-Rand, Karten-Links mit Punkt */
  .nav-menu .navbar-collapse.show,.nav-menu .navbar-collapse.collapsing{
    display:block !important;height:auto !important;transition:none !important;
    position:absolute !important;top:100% !important;left:6px !important;right:6px !important;width:auto !important;max-width:calc(100vw - 12px) !important;z-index:1050 !important;
    background:#1a1230 !important;border:1px solid rgba(255,61,134,.28) !important;border-top:1px solid rgba(255,61,134,.28) !important;
    margin:7px 0 0 !important;padding:9px !important;border-radius:14px !important;
    box-shadow:0 26px 54px rgba(0,0,0,.7) !important;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);}
  .nav-menu .navbar-collapse .navbar-nav{width:100% !important;display:flex !important;flex-direction:column !important;gap:3px !important;}
  /* kompakt genug, damit das ganze Menue ohne Scrollen aufs Handy passt */
  .nav-menu .navbar-collapse .nav-link{
    display:flex !important;align-items:center !important;gap:10px !important;padding:9px 13px !important;border-radius:10px !important;border-bottom:0 !important;
    background:rgba(255,255,255,.04) !important;font-size:.82rem !important;line-height:1.25 !important;letter-spacing:.03em !important;text-align:left !important;color:#efe6f6 !important;text-transform:uppercase !important;
    transition:background .15s,transform .15s,color .15s !important;}
  .nav-menu .navbar-collapse .nav-link::before{content:'' !important;width:7px !important;height:7px !important;border-radius:50% !important;
    background:linear-gradient(90deg,#ff3d86,#b45bff) !important;flex:none !important;box-shadow:0 0 8px rgba(255,61,134,.65) !important;}
  .nav-menu .navbar-collapse .nav-link:hover{background:rgba(255,61,134,.16) !important;color:#fff !important;transform:translateX(3px) !important;}
  /* „Kostenlos Anmelden" als CTA-Button (wie .lvsn-cta) */
  .nav-menu .navbar-collapse .nav-link[href*="board/auths/login"],.nav-menu .navbar-collapse .nav-link[href*="board/"]{
    background:linear-gradient(90deg,#ff3d86,#b45bff) !important;color:#fff !important;justify-content:center !important;
    box-shadow:0 0 18px rgba(255,61,134,.3) !important;margin-top:2px !important;}
  .nav-menu .navbar-collapse .nav-link[href*="board/"]::before{display:none !important;}
  /* „Kostenlos Anmelden" ans Ende (wie auf Städte/Preisliste) */
  .nav-menu .navbar-collapse .nav-item:has(.nav-link[href*="board/"]){order:10 !important;}
}
/* ---- Stadttext-Box unter „Alle Locations / Alle Ladies" (per JS dorthin verschoben) ---- */
.lv-stadttext{max-width:1120px;margin:16px auto 6px;padding:0 16px;}
.lv-stadttext p{
  background:linear-gradient(180deg,#3d3457,#2f2748) !important;
  border:1px solid rgba(255,61,134,.28) !important;border-radius:16px !important;
  box-shadow:0 12px 32px rgba(0,0,0,.35) !important;
  padding:16px 18px !important;margin:0 !important;
  color:#efe6f6 !important;font-size:.95rem !important;line-height:1.6 !important;
  /* vollständiger Text – keine Kürzung mehr */
  max-height:none !important;overflow:visible !important;position:static !important;
  text-shadow:none !important;}
.lv-stadttext p::after{display:none !important;content:none !important;}

/* ---- Verirrter „App installieren"-Button neben den Suchkriterien ausblenden.
   App-Installation gibt es im Menü und im Hero. app.php (hat kein #hero-text) bleibt unberührt. ---- */
body:has(#hero-text) .usePWA{display:none !important;}

/* ---- „DU FINDEST MICH AKTUELL BEI"-Clubkarte: Button lief rechts aus dem Bild ----
   Karte hat nur Inline-Styles, daher über diese adressiert. */
div[style*="max-width: 600px"][style*="display: flex"] .btn{
  max-width:100% !important;white-space:normal !important;text-align:center !important;}
@media (max-width:767.98px){
  div[style*="max-width: 600px"][style*="display: flex"]{
    flex-direction:column !important;align-items:center !important;text-align:center !important;
    gap:12px !important;padding:14px !important;}
  div[style*="max-width: 600px"][style*="display: flex"] > div{width:100% !important;}
  div[style*="max-width: 600px"][style*="display: flex"] .btn{
    display:block !important;width:100% !important;max-width:250px !important;margin:0 auto !important;
    font-size:.9rem !important;padding:11px 16px !important;}
}

/* ---- Footer: kompakter und im Neon-Design (war 138px hoch mit 16px-Schrift) ---- */
footer.space{
  padding:14px 0 16px !important;
  background:linear-gradient(180deg,#332b4a,#231c37) !important;
  border-top:1px solid rgba(255,61,134,.28) !important;}
footer.space .container{padding-left:14px !important;padding-right:14px !important;}
footer.space .row{margin-left:0 !important;margin-right:0 !important;}
footer.space [class*="col-"]{padding-left:0 !important;padding-right:0 !important;}
footer.space p{
  font-size:.76rem !important;line-height:1.45 !important;color:#bdb0cf !important;
  margin:0 0 6px !important;}
/* Rechtslinks als kompakte, zentrierte Reihe */
footer.space p:last-child{
  display:flex !important;flex-wrap:wrap !important;justify-content:center !important;
  gap:2px 4px !important;margin-bottom:0 !important;}
footer.space a{
  font-size:.76rem !important;color:#d9cfe6 !important;text-decoration:none !important;
  padding:4px 8px !important;border-radius:8px !important;
  transition:color .15s,background .15s !important;}
footer.space a:hover{color:#ff5fa0 !important;background:rgba(255,61,134,.12) !important;}

/* ---- Sprache-Button: auf dem Handy kompakter (war zu breit in der Leiste) ---- */
@media (max-width:991.98px){
  .lova-lang-btn,.lang-btn,.lang-wrap-header .lang-btn{
    padding:6px 9px !important;border-radius:10px !important;font-size:.72rem !important;gap:4px !important;}
  .lova-lang,.lang-wrap,.lang-wrap-header{margin-left:6px !important;margin-right:6px !important;}
}
@media (max-width:330px){
  /* nur auf sehr schmalen Handys noch etwas enger – das Wort „Sprache" bleibt sichtbar */
  .lova-lang-btn,.lang-btn{padding:5px 7px !important;font-size:.68rem !important;}
}
/* Sprache-Button in der eigenstaendigen .lvsn-Leiste (Staedte, Preisliste, Ueber uns) */
.lvsn .lova-lang{margin-left:0 !important;margin-right:8px !important;flex:0 0 auto !important;}

/* ================= „App installieren"-Anleitung (iPhone / Android) ================= */
#lv-appdlg{position:fixed !important;inset:0 !important;z-index:30000 !important;
  background:rgba(10,7,20,.92) !important;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  display:flex !important;align-items:center !important;justify-content:center !important;padding:14px !important;}
.lv-appdlg-card{position:relative;width:100%;max-width:460px;
  background:linear-gradient(180deg,#2f2748,#1a1230);border:1px solid rgba(255,61,134,.35);
  border-radius:20px;box-shadow:0 30px 70px rgba(0,0,0,.75);
  padding:22px 18px 18px;color:#f3ecf9;
  max-height:calc(100vh - 28px);max-height:calc(100dvh - 28px);overflow-y:auto;-webkit-overflow-scrolling:touch;}
.lv-appdlg-x{position:absolute;top:8px;right:10px;background:none;border:0;color:#c3b7d4;
  font-size:30px;line-height:1;cursor:pointer;padding:4px 8px;}
.lv-appdlg-x:hover{color:#ff5fa0;}
.lv-appdlg-h{font-size:1.2rem;font-weight:800;text-align:center;margin:0 20px 6px;
  background:linear-gradient(90deg,#ff3d86,#b45bff);-webkit-background-clip:text;background-clip:text;color:transparent;}
.lv-appdlg-sub{text-align:center;color:#c3b7d4;font-size:.86rem;line-height:1.45;margin:0 0 14px;}
.lv-appdlg-tabs{display:flex;gap:8px;margin-bottom:14px;}
.lv-appdlg-tab{flex:1;padding:11px 8px;border-radius:12px;border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.05);color:#d9cfe6;font-size:.84rem;font-weight:700;cursor:pointer;}
.lv-appdlg-tab.on{background:linear-gradient(90deg,#ff3d86,#b45bff);color:#fff;border-color:transparent;
  box-shadow:0 0 18px rgba(255,61,134,.35);}
.lv-appdlg-panel{display:none;}
.lv-appdlg-panel.on{display:block;}
.lv-appdlg-panel ol{margin:0;padding-left:20px;}
.lv-appdlg-panel li{margin-bottom:9px;font-size:.92rem;line-height:1.5;color:#efe6f6;}
.lv-appdlg-panel li b{color:#fff;}
.lv-appdlg-note{margin:12px 0 0;font-size:.82rem;color:#c3b7d4;line-height:1.45;
  background:rgba(255,255,255,.05);border-radius:10px;padding:10px 12px;}
.lv-appdlg-install{display:block;width:100%;padding:14px;border:0;border-radius:14px;
  background:linear-gradient(90deg,#ff3d86,#b45bff);color:#fff;font-weight:800;font-size:1rem;cursor:pointer;
  box-shadow:0 0 22px rgba(255,61,134,.4);}
.lv-appdlg-or{text-align:center;color:#c3b7d4;font-size:.8rem;margin:12px 0 8px;}
@media (max-height:620px){
  .lv-appdlg-card{padding:16px 14px 14px;}
  .lv-appdlg-h{font-size:1.05rem;}
  .lv-appdlg-panel li{font-size:.86rem;margin-bottom:7px;}
}

/* ================= Altersverifikation (18+) – #staticBackdrop =================
   Vorher: Inhalt höher als der Bildschirm (Logo oben/Footer unten abgeschnitten),
   durchscheinend und auf kleinen Handys unbedienbar. Jetzt: zentrierte Karte,
   die IMMER passt (max-height + eigenes Scrollen), deckender Hintergrund. */
#staticBackdrop{z-index:20000 !important;background:rgba(10,7,20,.94) !important;
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  padding:0 !important;transition:none !important;}
#staticBackdrop.show{display:block !important;opacity:1 !important;}
#staticBackdrop .modal-dialog{margin:0 !important;max-width:100% !important;width:100% !important;
  min-height:100vh !important;min-height:100dvh !important;
  display:flex !important;align-items:center !important;justify-content:center !important;
  padding:14px !important;transform:none !important;transition:none !important;}
#staticBackdrop .modal-content{background:transparent !important;border:0 !important;box-shadow:none !important;
  width:100% !important;height:auto !important;}
#staticBackdrop .modal-body{
  background:linear-gradient(180deg,#2f2748,#1a1230) !important;
  border:1px solid rgba(255,61,134,.35) !important;border-radius:20px !important;
  box-shadow:0 30px 70px rgba(0,0,0,.75) !important;
  width:100% !important;max-width:430px !important;margin:0 auto !important;
  height:auto !important;max-height:calc(100vh - 28px) !important;max-height:calc(100dvh - 28px) !important;
  overflow-y:auto !important;-webkit-overflow-scrolling:touch;
  padding:22px 18px !important;}
#staticBackdrop .container-fluid{height:auto !important;min-height:0 !important;padding:0 !important;display:block !important;}
#staticBackdrop .modal-body img{max-width:180px !important;width:auto !important;height:auto !important;
  display:block !important;margin:0 auto 10px !important;}
#staticBackdrop center,#staticBackdrop p,#staticBackdrop div{color:#f3ecf9 !important;}
#staticBackdrop center{font-size:.95rem !important;line-height:1.55 !important;}
/* Buttons: gestapelt, gut treffbar, mittig */
#staticBackdrop .btn{display:block !important;width:100% !important;max-width:290px !important;
  margin:12px auto 0 !important;padding:14px 18px !important;border-radius:14px !important;
  font-size:1rem !important;font-weight:700 !important;border:0 !important;white-space:normal !important;}
#staticBackdrop .btn[onclick*="myfuncreSaveCoo"]{background:linear-gradient(90deg,#ff3d86,#b45bff) !important;
  color:#fff !important;box-shadow:0 0 22px rgba(255,61,134,.4) !important;}
#staticBackdrop .btn[onclick*="myfuncre()"]{background:rgba(255,255,255,.06) !important;color:#c3b7d4 !important;
  border:1px solid rgba(255,255,255,.18) !important;box-shadow:none !important;}
/* sehr niedrige Displays (Querformat / kleine Handys) */
@media (max-height:620px){
  #staticBackdrop .modal-body{padding:16px 14px !important;}
  #staticBackdrop .modal-body img{max-width:130px !important;margin-bottom:6px !important;}
  #staticBackdrop center{font-size:.86rem !important;line-height:1.45 !important;}
  #staticBackdrop .btn{padding:11px 16px !important;margin-top:9px !important;font-size:.95rem !important;}
}

/* ---- Stadt-Hero (/escort/<stadt>/): SEO-Text lesbar in Glas-Box statt direkt auf dem Foto ----
   Der vollständige Text steht zusätzlich im versteckten <header class="hidden-seo"> -> SEO bleibt erhalten. */
#hero-text h1{text-shadow:0 2px 14px rgba(0,0,0,.7) !important;}
#hero-text p.text-white{
  background:rgba(26,18,48,.74) !important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  border:1px solid rgba(255,61,134,.30) !important;border-radius:14px !important;
  padding:12px 14px !important;font-size:.88rem !important;line-height:1.5 !important;
  box-shadow:0 10px 30px rgba(0,0,0,.35) !important;}
@media (max-width:991.98px){
  /* auf dem Handy auf ~3 Zeilen kürzen, damit das Hero-Bild sichtbar bleibt.
     Höhenbegrenzung statt line-clamp: funktioniert unabhängig vom display-Wert. */
  #hero-text p.text-white{position:relative !important;max-height:5.2em !important;overflow:hidden !important;padding-bottom:18px !important;}
  #hero-text p.text-white::after{content:'' !important;position:absolute !important;left:0;right:0;bottom:0;height:2em;
    background:linear-gradient(to bottom,rgba(26,18,48,0),rgba(26,18,48,.96)) !important;pointer-events:none;border-radius:0 0 14px 14px;}
}

/* ---- Desktop (>=992px): horizontales Menü sichtbar, überflüssigen „Menü"-Button ausblenden ---- */
@media (min-width:992px){
  .nav-menu .navbar-toggler{display:none !important;}
  .nav-menu .navbar-collapse{display:flex !important;}
  .nav-menu .navbar-nav{align-items:center !important;gap:2px !important;}
  .nav-menu .navbar-collapse .nav-link{padding:8px 12px !important;border-radius:10px !important;transition:color .15s,background .15s !important;}
  .nav-menu .navbar-collapse .nav-link:hover{color:var(--lv-neon) !important;background:rgba(255,255,255,.05) !important;}
}
/* „App installieren" im Menü soll NICHT wie ausgewählt aussehen (war Neon-Gradient wegen .usePWA-info);
   der eigentliche Hero-CTA-Button (.btn-alle-ladiesPad) behält den Gradient. Aktuelle Seite wird markiert. */
.nav-menu .navbar-collapse .nav-link.usePWA-info,.nav-menu .navbar-nav .nav-link.usePWA-info,.lv-topbar .nav-link.usePWA-info,body .navbar .nav-link.usePWA-info{
  background:rgba(255,255,255,.04) !important;background-image:none !important;box-shadow:none !important;
  color:#efe6f6 !important;font-weight:500 !important;}
.nav-menu .navbar-collapse .nav-link.usePWA-info:hover,body .navbar .nav-link.usePWA-info:hover{color:var(--lv-neon) !important;background:transparent !important;}
.nav-menu .navbar-collapse .nav-link.active,.lv-topbar .navbar-nav .nav-link.active,body .navbar .navbar-nav .nav-link.active{color:var(--lv-neon) !important;font-weight:700 !important;background:transparent !important;background-image:none !important;}

/* ---- Eigene, kompakte Top-Navbar (Städte-Seite) – garantiert oben & schlank ---- */
.lv-topbar{position:sticky !important;top:0 !important;z-index:1030 !important;background:rgba(42,35,64,.94) !important;
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--lv-line2) !important;padding:6px 0 !important;}
.lv-topbar .navbar{max-width:1120px !important;margin:0 auto !important;padding:2px 14px !important;min-height:0 !important;height:auto !important;}
.lv-topbar .navbar-brand{margin:0 !important;padding:0 !important;}
/* Galerie-Slider: Slides mit Logo-Platzhalter / kaputtem Bild komplett ausblenden */
.owl-item.lv-hide-slide{display:none !important;}
img.imgre[src*="Lovlogo"]{display:none !important;}

/* Filter-Dropdown (Stadt/Rubriken) MUSS über den Karten liegen (wurde verdeckt) */
#buttons-container{z-index:100 !important;position:relative !important;}
.dselect-items,.dropdown-menu,.dselect-wrapper .dropdown-menu,.dselect-wrapper .dselect-items{z-index:9999 !important;}
/* offenes Dropdown zusätzlich absichern */
.dropdown.show,.dselect-wrapper.show,.dselect-wrapper.open{z-index:9999 !important;position:relative !important;}

/* ---- WhatsApp- + Anrufen-Buttons GRÜN (Wunsch Kunde) ----
   sicher per Link erkannt: WhatsApp = wa.me/whatsapp, Anrufen = tel: */
a.btn[href*="wa.me"],a.btn-success[href*="wa.me"],a.btn[href*="whatsapp"],a.btn-success[href*="whatsapp"],
a.btn[href^="tel:"],a.btn-success[href^="tel:"],a.btn[href^="TEL:"],a.btn-success[href^="TEL:"]{
  background:linear-gradient(135deg,#25D366,#128C7E) !important;
  background-image:linear-gradient(135deg,#25D366,#128C7E) !important;
  color:#fff !important;border:0 !important;
  box-shadow:0 0 18px rgba(37,211,102,.42) !important;font-weight:700 !important;}
a.btn[href*="wa.me"] *,a.btn-success[href*="wa.me"] *,a.btn[href^="tel:"] *,a.btn-success[href^="tel:"] *{color:#fff !important;fill:#fff !important;}

/* ---- Startseiten-Navbar dauerhaft sichtbar (war position:absolute -> scrollte weg) ----
   Startseite = .nav-menu OHNE .sticky-top; Einzelseiten (sticky-top) bleiben unberührt. */
body .nav-menu:not(.sticky-top){position:fixed !important;top:0 !important;left:0 !important;right:0 !important;width:100% !important;z-index:1030 !important;}

/* ---- Suchkriterien-Toggle: 4 Filter (Rubriken/Merkmale/Service/Arbeitszeiten)
   hinter EINEM Button „Suchkriterien" verstecken; Klick klappt sie aus (Wunsch Kunde) ---- */
.lv-krit-row:not(.lv-krit-open) > .lv-krit{display:none !important;}
.lv-krit-toggle-wrap{margin-top:10px !important;}
.lv-krit-toggle{width:100% !important;background:var(--lv-bg2) !important;background-image:none !important;
  border:1px solid var(--lv-line) !important;color:var(--lv-txt) !important;border-radius:12px !important;
  padding:14px 16px !important;font-weight:700 !important;font-family:inherit !important;font-size:1rem !important;
  cursor:pointer !important;display:flex !important;align-items:center !important;justify-content:center !important;
  gap:9px !important;letter-spacing:.02em !important;box-shadow:0 0 16px rgba(255,61,134,.14) !important;}
.lv-krit-toggle .lv-krit-arrow{transition:transform .2s;font-size:.85em;}
.lv-krit-toggle.open{border-color:var(--lv-neon) !important;color:#fff !important;
  background:linear-gradient(90deg,rgba(255,61,134,.22),rgba(180,91,255,.22)) !important;}
.lv-krit-toggle.open .lv-krit-arrow{transform:rotate(180deg);}

/* ---- „Stadt auswählen"-Button edel: Neon-Gradient-Rand + Glas-Füllung, symmetrisch zum Stadt-Namen ---- */
#buttons-container .dselect-wrapper .form-select{
  border:2px solid transparent !important;border-radius:13px !important;
  background:linear-gradient(180deg,#413757,#342c4b) padding-box,linear-gradient(90deg,#ff3d86,#b45bff) border-box !important;
  color:#fff !important;font-weight:700 !important;
  box-shadow:0 6px 18px rgba(0,0,0,.28),0 0 18px rgba(255,61,134,.18) !important;
  min-height:52px !important;display:inline-flex !important;align-items:center !important;justify-content:center !important;
  text-align:center !important;}
#buttons-container .dselect-wrapper .form-select:hover{box-shadow:0 6px 18px rgba(0,0,0,.28),0 0 24px rgba(255,61,134,.32) !important;}
/* aktueller Stadt-Button gleiche Höhe/Radius/Glow -> symmetrisch */
#buttons-container .row.justify-content-center > .col-md-6:not(:has(.dselect-wrapper)) .btn,
#buttons-container .row.justify-content-center > .col-md-6:not(:has(.dselect-wrapper)) .btn-success{
  min-height:52px !important;border-radius:13px !important;font-weight:700 !important;
  display:inline-flex !important;align-items:center !important;justify-content:center !important;
  box-shadow:0 6px 18px rgba(0,0,0,.28),0 0 22px rgba(255,61,134,.34) !important;width:100% !important;}

/* ---- Filter mobil (Variante 2): „Stadt auswählen" (schmal) + aktuelle Stadt (breiter) nebeneinander ---- */
@media (max-width:767.98px){
  #buttons-container .row.justify-content-center > .col-md-6{margin-bottom:8px !important;}
  #buttons-container .row.justify-content-center > .col-md-6:has(.dselect-wrapper){flex:0 0 43% !important;max-width:43% !important;}
  #buttons-container .row.justify-content-center > .col-md-6:not(:has(.dselect-wrapper)){flex:0 0 57% !important;max-width:57% !important;}
  #buttons-container .col-md-6:has(.dselect-wrapper) .dselect-wrapper .form-select{
    font-size:.84rem !important;padding-left:9px !important;padding-right:22px !important;
    white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important;}
}

/* ---- Rechtstexte (Impressum / AGB / Datenschutz) echt ins neue Design (nur .light-bg-Sektionen) ---- */
.app-landing.light-bg{background:transparent !important;background-image:none !important;padding:16px 0 34px !important;}
.app-landing.light-bg .container{max-width:900px !important;}
.app-landing.light-bg .reveal{opacity:1 !important;visibility:visible !important;transform:none !important;} /* Text immer sichtbar */
.app-landing.light-bg .title-block{background:linear-gradient(180deg,var(--lv-card),var(--lv-bg2)) !important;border:1px solid var(--lv-line2) !important;
  border-radius:18px !important;padding:28px 24px !important;box-shadow:0 0 30px rgba(0,0,0,.22) !important;margin-top:20px !important;text-align:left !important;}
.app-landing.light-bg .title-block h1,.app-landing.light-bg .title-block h2,.app-landing.light-bg .title-block h3{
  color:#ff5fa0 !important;-webkit-text-fill-color:#ff5fa0 !important;font-weight:700 !important;font-size:1.28rem !important;line-height:1.25 !important;margin:26px 0 10px !important;text-align:left !important;}
.app-landing.light-bg .title-block > h2:first-child,.app-landing.light-bg .title-block > h1:first-child{margin-top:0 !important;font-size:1.7rem !important;font-weight:800 !important;
  background:linear-gradient(90deg,#ff5fa0,#b45bff) !important;-webkit-background-clip:text !important;background-clip:text !important;-webkit-text-fill-color:transparent !important;}
.app-landing.light-bg .title-block p,.app-landing.light-bg .title-block li,.app-landing.light-bg .title-block td,.app-landing.light-bg .title-block span,.app-landing.light-bg .title-block div{
  color:#e7ddf1 !important;font-size:.97rem !important;line-height:1.75 !important;text-align:left !important;}
.app-landing.light-bg .title-block p{margin-bottom:14px !important;}
.app-landing.light-bg .title-block b,.app-landing.light-bg .title-block strong{color:var(--lv-neon) !important;}
.app-landing.light-bg .title-block a{color:var(--lv-neon) !important;word-break:break-word !important;}
.app-landing.light-bg .title-block ul,.app-landing.light-bg .title-block ol{padding-left:20px !important;margin-bottom:14px !important;}

/* ---- Städte-Übersichtsseite (/staedte/) professionell gestalten ---- */
.container:has(.lz-staedte){max-width:1100px !important;margin:26px auto 40px !important;}
.container:has(.lz-staedte) > p:first-child a[href="/"]{color:var(--lv-neon) !important;font-weight:600 !important;text-decoration:none !important;}
.lz-staedte h1{font-size:2rem !important;font-weight:800 !important;line-height:1.15 !important;margin:8px 0 14px !important;
  background:linear-gradient(90deg,#ff5fa0,#b45bff) !important;-webkit-background-clip:text !important;background-clip:text !important;-webkit-text-fill-color:transparent !important;color:transparent !important;}
.lz-staedte > p{color:var(--lv-mut) !important;font-size:1rem !important;line-height:1.65 !important;margin-bottom:22px !important;}
.lz-staedte h2{font-size:1.4rem !important;color:#fff !important;margin:34px 0 10px !important;}
.lz-staedte-liste{list-style:none !important;padding:0 !important;margin:0 !important;display:grid !important;grid-template-columns:repeat(2,1fr) !important;gap:12px !important;}
.lz-staedte-liste li{background:linear-gradient(180deg,var(--lv-card),var(--lv-bg2)) !important;border:1px solid var(--lv-line2) !important;border-radius:14px !important;
  padding:14px 14px !important;display:flex !important;flex-direction:column !important;gap:8px !important;transition:.2s !important;}
.lz-staedte-liste li:hover{border-color:var(--lv-neon) !important;box-shadow:0 0 22px rgba(255,61,134,.22) !important;transform:translateY(-3px) !important;}
.lz-staedte-liste a{color:#fff !important;text-decoration:none !important;font-weight:700 !important;font-size:1rem !important;display:flex !important;align-items:center !important;gap:7px !important;line-height:1.25 !important;}
.lz-staedte-liste a::before{content:'📍';font-size:.9em;filter:saturate(1.4);}
.lz-staedte-liste a:hover{color:var(--lv-neon) !important;}
.lz-anzahl{color:var(--lv-neon) !important;font-size:.78rem !important;font-weight:700 !important;background:rgba(255,61,134,.12) !important;border:1px solid var(--lv-line) !important;border-radius:99px !important;padding:3px 11px !important;align-self:flex-start !important;}
.lz-staedte-klein{color:var(--lv-mut) !important;line-height:2.1 !important;font-size:.95rem !important;}
.lz-staedte-klein a,.lz-staedte a[href="/"]{color:var(--lv-neon) !important;}
@media(min-width:600px){.lz-staedte-liste{grid-template-columns:repeat(3,1fr) !important;}}
@media(min-width:880px){.lz-staedte-liste{grid-template-columns:repeat(4,1fr) !important;}}

/* ---- Zurück/Reset-Button: erscheint bei aktivem Filter, zeigt wieder ALLE Anzeigen ---- */
.lv-reset-wrap{width:100% !important;text-align:center !important;margin:14px auto 6px !important;padding:0 12px !important;}
.lv-reset{display:inline-flex !important;align-items:center !important;gap:8px !important;
  background:var(--lv-bg2) !important;border:1px solid var(--lv-cy) !important;color:var(--lv-cy) !important;
  border-radius:12px !important;padding:12px 24px !important;font-weight:700 !important;font-family:inherit !important;
  font-size:.95rem !important;cursor:pointer !important;box-shadow:0 0 16px rgba(67,220,240,.20) !important;letter-spacing:.02em !important;}
.lv-reset:hover{background:rgba(67,220,240,.12) !important;color:#bff2fb !important;}

/* ---- Suchkriterien-Panel als ZENTRIERTES Modal (nicht unten reingequetscht) ---- */
.dropdownmenu1-content,.dropdownmenu2-content,.dropdownmenu3-content,.dropdownmenu4-content{
  position:fixed !important;top:50% !important;left:50% !important;transform:translate(-50%,-50%) !important;
  width:min(92vw,460px) !important;max-height:82vh !important;overflow:auto !important;
  z-index:3000 !important;padding:52px 18px 22px !important;
  background:linear-gradient(180deg,var(--lv-card),var(--lv-bg2)) !important;
  border:1px solid var(--lv-line) !important;border-radius:18px !important;
  box-shadow:0 24px 70px rgba(0,0,0,.62),0 0 42px rgba(255,61,134,.20) !important;}
/* abgedunkelter Hintergrund hinter dem Modal */
.lv-modal-backdrop{position:fixed !important;inset:0 !important;background:rgba(10,7,18,.66) !important;
  -webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:2900 !important;}
/* „Suche starten"-Button im Modal größer/breiter (Original hatte max-width:50% -> wirkte gequetscht) */
.dropdownmenu1-content a.btn,.dropdownmenu2-content a.btn,.dropdownmenu3-content a.btn,.dropdownmenu4-content a.btn{
  display:block !important;max-width:100% !important;width:auto !important;
  margin:14px auto 4px !important;padding:16px 30px !important;
  font-size:1.06rem !important;font-weight:700 !important;border-radius:13px !important;
  text-align:center !important;white-space:nowrap !important;letter-spacing:.01em !important;}
.lv-krit-back{position:absolute !important;top:9px !important;right:9px !important;z-index:30 !important;
  background:rgba(255,61,134,.16) !important;border:1px solid var(--lv-line) !important;color:var(--lv-txt) !important;
  border-radius:9px !important;padding:7px 13px !important;font-size:.82rem !important;font-weight:700 !important;
  font-family:inherit !important;cursor:pointer !important;display:inline-flex !important;align-items:center !important;gap:5px !important;
  -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);}
.lv-krit-back:hover{background:rgba(255,61,134,.30) !important;color:#fff !important;}
