/* ==========================================================================
   HAMBURGER OVERLAY & OPTIK-ANPASSUNGEN (Desktop + Mobile identisch)
   ========================================================================== */
/* Nachtrag 2026-08-29 (Nutzerauftrag "Module in der Kopfzeile wandern am
   Handy nach unten / aufgehendes Menü schiebt die Karte nach unten"): der
   bisherige Gate "@media (min-width: 992px)" wurde entfernt - alle Regeln in
   diesem Block gelten jetzt bei JEDER Bildschirmbreite identisch (vorher nur
   ab 992px). Grund: bei schmaleren Breiten griff bisher Cassiopeias eigenes,
   UNVERAENDERTES Kern-CSS (template.css) fuer ".container-topbar"/
   ".navbar-collapse" - dieses laesst ueberzaehlige Topbar-Module in eine
   zweite Zeile umbrechen und behandelt das aufklappende Menue als normalen,
   im Dokumentfluss stehenden Block (schiebt daher nachfolgende Inhalte wie
   die com_bilder-Karte nach unten, statt sie zu ueberlagern). Mit dem
   entfernten Gate gilt jetzt bei jeder Breite: das aufklappende Menue bleibt
   "position: absolute" und ueberlagert damit die darunter liegende Seite
   (Karte) statt sie wegzudruecken - exakt wie zuvor schon am Desktop.

   Korrektur 2026-08-29 (2/3/4, Nutzermeldungen "Menü verschwindet komplett",
   "Menü nur eingeschraenkt in Scrollbereich nutzbar", "Menü geht nicht ueber
   die Topbar hinaus - betrifft ALLE Seiten, Navigation aktuell nicht
   moeglich"): der urspruengliche Versuch, ZUSAETZLICH ueberzaehlige
   Topbar-Module per "overflow: hidden" auf .container-topbar auszublenden
   (statt sie umbrechen zu lassen), erwies sich als nicht mit dem
   aufklappenden Menue vereinbar - "overflow: hidden" auf .container-topbar
   (zugleich das Containing Block fuer das absolut positionierte Menue)
   schneidet das Menue IMMER mit ab, sobald es unterhalb der Leiste
   erscheint, unabhaengig von z-index. Weder der Achsen-Kniff
   ("overflow-x: hidden; overflow-y: visible" - wurde in der Praxis zu einem
   nutzlosen Scrollbereich) noch ein Script-Workaround (siehe
   "templates/cassiopeia_extended/index.php" - vom Nutzer aus guten Gruenden
   verworfen: ein Script direkt im Sitetemplate ist schwerer als eine reine
   CSS-Datei von der Testumgebung auf den Produktivserver zu uebertragen, und
   das Ergebnis war ohnehin fehlerhaft) loesten das zuverlaessig.
   Konsequenz: "overflow: hidden"/"flex-wrap: nowrap" sowie die zugehoerige
   ".container-topbar > * { flex-shrink: 0 }"-Regel wurden HIER wieder
   vollstaendig entfernt - das Menue funktioniert dadurch auf jeder Seite
   wieder normal.

   Korrektur 2026-08-29 (5, Nutzeridee): statt die Zusatzmodule bei
   Platzmangel per "overflow: hidden" abzuschneiden (mit dem Menue
   unvereinbar, siehe oben), wurden sie unterhalb von 992px komplett
   ausgeblendet ("display: none") - es blieb dann nur noch das
   Hamburger-Icon uebrig. Dadurch entstand gar kein Platzproblem mehr in der
   Topbar-Zeile, und "overflow: hidden" wurde dafuer gar nicht erst benoetigt.
   Breakpoint 991.98px war bewusst identisch zu Bootstraps eigenem
   "lg"-Breakpoint gewaehlt (siehe Klasse "navbar-expand-lg" bereits im
   Markup).

   Korrektur 2026-08-30 (Nutzerauftrag "Modul 2 und vermutlich auch Modul 3
   wuerden platzmaessig auch am Mobile in Zeile 1 Platz finden"): die
   vollstaendige Ausblendung wird HIER wieder zurueckgenommen. Per Live-Test
   im Browser (echte Modul-Inhalte, keine Annahme) gemessen: die Topbar
   enthaelt aktuell genau drei Kinder - das Hamburger-Menue (~44px),
   "mod-custom117" ("imBild.info", ~112px) und "mod-custom120" (aktuell nur
   Platzhaltertext "x  x", ~28px). Zusammen mit dem bestehenden
   "gap: 40px" (siehe Abschnitt 1 unten) ergibt das rund 264px Gesamtbreite -
   das passt (per Test bei 320px, 375px UND 390px Breite bestaetigt, jeweils
   OHNE Zeilenumbruch und OHNE horizontales Overflow) selbst auf das
   schmalste heute noch relevante Mobiltelefon-Format bequem in eine Zeile.
   Das Ausblenden war fuer den tatsaechlichen Inhalt nie noetig - es loeste
   ein Problem, das durch die konkrete (kurze) Modul-Bestueckung gar nicht
   bestand.
   Kein Ersatz durch "overflow"/"flex-wrap: nowrap" noetig (waere ohnehin mit
   dem Menue unvereinbar, siehe Korrektur 2/3/4 oben) - faellt ein
   zukuenftiges, zusaetzliches oder deutlich breiteres Modul aus dem Rahmen,
   greift ersatzlos Cassiopeias eigenes Standardverhalten (Umbruch in eine
   zweite Zeile, wie vor Runde A) als unschaedlicher Rueckfall - keine
   Funktion (insb. das Menue-Overlay) wird dadurch beeintraechtigt, nur die
   Optik weicht dann wieder wie vor Runde E vom Desktop ab. Bei Bedarf
   (neues/breiteres Modul, das nicht mehr passt) bitte erneut melden. */

/* Nachtrag 2026-08-29 (Runde F, Nutzerauftrag "&view=geo: Karte scrollt in
   die Topbar rein / Topbar ist am Handy nicht fixiert" - explizit als
   generelle, sitweite Aenderung fuer das gesamte cassiopeia_extended-
   Template gewuenscht, nicht nur fuer com_bilder):

   Cassiopeias UNVERAENDERTER Kern ("media/templates/site/cassiopeia/css/
   template.css") enthaelt die Regel

       @media (width <= 991.98px) { .container-header { position: relative
       !important; } }

   Diese schaltet den GESAMTEN Site-Header (ein einziges <header>-Element,
   das Logo/Site-Titel, Hauptmenue UND die Topbar/den Hamburger buendelt -
   siehe "templates/cassiopeia/index.php") unterhalb von 991.98px IMMER auf
   normale Positionierung, unabhaengig von der Joomla-Template-Einstellung
   "Sticky Header". Deshalb war die Topbar am Handy bisher nicht fixiert,
   und die von com_bilder per JS ermittelte Kopfzeilen-Hoehe
   ("--cbg-site-topbar-offset", siehe tmpl/gallery/default_mobile.php und
   tmpl/geo/default.php) blieb dadurch am Handy immer 0 - die eigene,
   sticky positionierte Karte sass in der Folge direkt bei "top: 0" und
   scrollte optisch in die (nicht fixierte) Kopfzeile hinein.

   Fix: die Kernregel wird HIER ausdruecklich wieder aufgehoben, sodass der
   Header ab sofort bei JEDER Breite sticky bleibt - exakt wie bereits am
   Desktop. Da "user.css" nach dem Kern-Stylesheet geladen wird, gewinnt
   diese Regel unabhaengig von der Reihenfolge innerhalb von template.css.
   z-index bleibt unangetastet (Cassiopeias eigenes ".container-header {
   z-index: 10 }" gilt unveraendert weiter, siehe bereits vorhandene
   Korrektur des com_bilder-eigenen z-index auf 5/4 in den Kartentemplates).

   ACHTUNG - Reichweite: diese Aenderung wirkt SITEWEIT auf JEDE Seite, die
   dieses Template nutzt (nicht auf com_bilder begrenzbar, da Logo,
   Hauptmenue und Topbar ein einziges gemeinsames Element sind). Das war
   ausdruecklicher Nutzerwunsch ("ja auch am handy waere die Fixierung der
   topbar gewuenscht... generell fuer das casiopeia extended template"). */
@media (max-width: 991.98px) {
    .container-header {
        position: sticky !important;
        top: 0 !important;
    }
}

/* 1. TOPBAR BASIS-AUSRICHTUNG */
.container-topbar {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important; /* Versucht die Grundachsen mittig zu halten */
    justify-content: flex-start !important;
    position: relative !important;
    width: 100% !important;
    padding-top: 1px !important;    /* Minimaler Basisabstand nach oben */
    padding-bottom: 1px !important;

    /* Innenabstand der gesamten Leiste (oben/unten 10px, links/rechts 15px für sauberen Rand) */
    /* padding: 10px 15px !important; */

    /* HIER JUSTIEREN: Die leicht graue Hintergrundfarbe */
    background-color: #f8f9fa !important;

    /* HIER JUSTIEREN: Sehr dünner, dezenter Trennstrich nach unten */
    border-bottom: 1px solid #e5e5e5 !important;

    gap: 40px; /* Abstand zwischen Hamburger-Menü und den anderen Modulen */
}

/* SEPARATES CSS: Schiebt AUSSCHLIESSLICH die Textmodule nach unten */
/* Nachtrag 2026-08-30 (Runde I, Nutzermeldung "Text von Modul 3 liegt deutlich
   hoeher als Modul 2 und 4"): "mod-custom124" ("ihre Themen \"im Bild\"") war
   bislang gar nicht in dieser Regel gelistet - es war bis dahin nur fuer
   Superuser freigegeben und tauchte deshalb in keinem der bisherigen
   Live-Tests auf. Der Nutzer hat es inzwischen auf "Public" gestellt.
   Ohne diese Zeile bekam das Modul "margin-top: 0" statt "15px" und sass
   dadurch (top ca. 1px) deutlich hoeher als die beiden anderen Textmodule
   (top ca. 39-45px, buendig zum Hamburger-Icon bei top ca. 46px). Fix: Modul
   124 hier ergaenzt, damit es denselben Versatz wie 117/120 erhaelt. */
.container-topbar div#mod-custom117,
.container-topbar div#mod-custom120,
.container-topbar div#mod-custom124 {
    /* HIER JUSTIEREN: Erhöhen Sie diesen Wert (z.B. auf 10px, 12px, 15px...),
       um nur die Texte nach unten zu schieben, während das Icon oben bleibt */
    margin-top: 15px !important;
}

/* Nachtrag 2026-08-30 (Runde I, Nutzermeldung "Schriftfarbe wird scheinbar
   auf weiss gestellt, Text zunaechst nicht sichtbar"): Ursache ist NICHT
   user.css, sondern Cassiopeias UNVERAENDERTER Kern ("media/templates/site/
   cassiopeia/css/template.css"), der dort die Regel
       .container-topbar, .container-below-top { color: rgb(255,255,255); }
   enthaelt - das setzt fuer JEDEN Text in der Topbar ohne eigene Farbangabe
   die (auf dem hellgrauen Topbar-Hintergrund #f8f9fa unsichtbare) Schriftfarbe
   Weiss. "mod-custom117" und "mod-custom120" sind nur sichtbar, weil ihr Text
   im Modul-Editor bereits eine eigene Inline-Farbe hat (#1d7989 bzw.
   #000000) - genau das fehlt bei "mod-custom124" ("<p>ihre Themen "im
   Bild"</p>" ganz ohne Formatierung), wodurch dessen Text die geerbte weisse
   Farbe uebernimmt und dadurch unsichtbar wird (bis man ihn markiert - die
   Markierung liefert per Browser-Vorgabe einen eigenen, meist dunklen
   Hintergrund, VOR dem der weisse Text dann sichtbar wird - kein Hinweis auf
   eine zweite Fehlerquelle, sondern dieselbe Ursache). Fix HIER statt in
   template.css (Kern-Datei wird laut Projektkonvention nicht angetastet):
   explizite Farbe fuer Modul 124 gesetzt. HIER JUSTIEREN: aktuell Schwarz
   (#000000), analog zu "mod-custom120" - bei Bedarf anpassen. */
.container-topbar div#mod-custom124,
.container-topbar div#mod-custom124 p {
    color: #000000 !important;
}

/* Schiebt das allerletzte Modul (Ergänzungsinfo) an den rechten Rand */
.container-topbar > *:last-child {
    margin-left: auto !important;
}

/* 2. HAMBURGER-ICON */
.container-topbar .navbar-expand-lg .navbar-toggler {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.container-topbar .navbar-toggler .icon-menu,
.container-topbar .navbar-toggler span {
    filter: invert(0%) sepia(100%) saturate(0%) hue-rotate(0deg) brightness(0%) contrast(100%) !important;
}

/* 3. MENÜ-RUHEZUSTAND */
.container-topbar .navbar-expand-lg .navbar-collapse:not(.show) {
    display: none !important;
    visibility: hidden !important;
}

/* 4. GEÖFFNETES OVERLAY-KÄSTCHEN */
.container-topbar .navbar-expand-lg .navbar-collapse.show {
    display: block !important;
    visibility: visible !important;
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: auto !important;
    z-index: 99999 !important;

    background-color: #ffffff !important;
    padding: 15px 20px !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12) !important;
    border: 1px solid #e5e5e5 !important;
    border-radius: 6px !important;
    min-width: 320px !important; /* Breite erhöht, damit Pfeile mehr Platz haben */
}

/* 5. VERTIKALES MENÜ & OPTIMIERTER ZEILENABSTAND */
.container-topbar .navbar-expand-lg .navbar-collapse.show ul.metismenu {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
    width: 100% !important;
}

.container-topbar .navbar-expand-lg .navbar-collapse.show ul.metismenu li.metismenu-item {
    display: block !important;
    float: none !important;
    width: 100% !important;
    position: relative !important;
    margin-top: 0 !important;
    margin-bottom: 3px !important; /* Spalt zwischen den Zeilen */
    padding: 0 !important;
}

/* FIX: Zwingt alle Links, Buttons und SPAN-Headings (wie "Einstellungen"), linksbündig zu bleiben */
.container-topbar .navbar-expand-lg .navbar-collapse.show ul.metismenu a,
.container-topbar .navbar-expand-lg .navbar-collapse.show ul.metismenu button.mod-menu__heading,
.container-topbar .navbar-expand-lg .navbar-collapse.show ul.metismenu span.mod-menu__heading {
    color: #333333 !important;
    text-decoration: none !important;
    display: inline-block !important; /* Verhindert das Ausbrechen nach rechts */
    float: none !important;
    text-align: left !important;
    font-size: 15px !important;
    background: none !important;
    border: none !important;
    line-height: 1.3 !important;
    padding: 4px 0 !important;
    margin: 0 !important;
    min-height: 0 !important;
    width: calc(100% - 40px) !important; /* Lässt rechts Platz für den Pfeil */
}

/* Spezifischer Fix für den rein textbasierten Menüpunkt (Einstellungs-Überschrift) */
.container-topbar .navbar-expand-lg .navbar-collapse.show ul.metismenu span.mod-menu__heading {
    font-weight: bold !important; /* Hebt reine Überschriften optisch ab */
    width: 100% !important;       /* Darf die volle Breite nutzen, da kein Untermenü existiert */
}

/* Hover-Farbe für echte Links */
.container-topbar .navbar-expand-lg .navbar-collapse.show ul.metismenu a:hover {
    color: #000000 !important;
}

/* Nachtrag 2026-09-01 (Nutzerauftrag "Layoutvereinheitlichung Menü"): beim
   Anwählen/Anklicken eines Menüpunkts zeigte der Browser seinen
   Standard-Fokusrahmen (schwarz umrandet, "outline" - NICHT "border", daher
   von der Regel oben ("border: none") bisher nicht erfasst). Ersetzt durch
   fetten Text statt Rahmen. */
.container-topbar .navbar-expand-lg .navbar-collapse.show ul.metismenu a:focus,
.container-topbar .navbar-expand-lg .navbar-collapse.show ul.metismenu a:active,
.container-topbar .navbar-expand-lg .navbar-collapse.show ul.metismenu button.mod-menu__heading:focus,
.container-topbar .navbar-expand-lg .navbar-collapse.show ul.metismenu button.mod-menu__heading:active {
    outline: none !important;
    box-shadow: none !important;
    font-weight: bold !important;
}

/* ==========================================================================
   6. PFEILTASTEN-FIX (Holt die Aufklapp-Dreiecke exakt zurück)
   ========================================================================== */
.container-topbar .navbar-expand-lg .navbar-collapse.show ul.metismenu .mm-toggler {
    display: inline-block !important;
    visibility: visible !important;
    position: absolute !important;
    right: 0 !important;          /* Setzt den Pfeil an den rechten Rand des Hauptpunktes */
    top: 2px !important;          /* Richtet ihn bündig an der Oberkante des Textes aus */
    width: 30px !important;
    height: 28px !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: none !important;
    text-align: center !important;
    cursor: pointer !important;
    z-index: 10 !important;       /* Garantiert Klickbarkeit über dem Text-Link */
}

/* Gestaltet das Metismenu-Standarddreieck sichtbar in Schwarz */
.container-topbar .navbar-expand-lg .navbar-collapse.show ul.metismenu .mm-toggler::after {
    color: #333333 !important;
    font-size: 12px !important;
    display: inline-block !important;
    visibility: visible !important;
}

/* Nachtrag 2026-09-01 (Nutzerauftrag "Layoutvereinheitlichung Menü"): auch
   der Auf-/Zuklapp-Pfeil (".mm-toggler" ist ein <button>, siehe
   dropdown-metismenu_url.php) bekam nach dem Anklicken den
   Browser-Standard-Fokusrahmen ("outline", teils zusätzlich per
   Browser-Vorgabe ein "box-shadow") - hier ersatzlos entfernt, ohne Ersatz
   (anders als bei den Menüpunkt-Links oben, dort fetter Text statt Rahmen). */
.container-topbar .navbar-expand-lg .navbar-collapse.show ul.metismenu .mm-toggler:focus,
.container-topbar .navbar-expand-lg .navbar-collapse.show ul.metismenu .mm-toggler:active {
    outline: none !important;
    box-shadow: none !important;
}

/* ==========================================================================
   7. UNTERMENÜ-ABSTÄNDE (2. EBENE)
   ========================================================================== */
.container-topbar .navbar-expand-lg .navbar-collapse.show ul.metismenu ul.mm-collapse {
    position: static !important;
    display: none !important;
    visibility: hidden !important;
    float: none !important;
    padding-left: 15px !important; /* Rrückt Unterpunkte ein */
    box-shadow: none !important;
    background: transparent !important;
    width: 100% !important;
    margin: 0 !important;
}

/* Macht geöffnete Unterpunkte sichtbar */
.container-topbar .navbar-expand-lg .navbar-collapse.show ul.metismenu ul.mm-collapse.mm-show {
    display: block !important;
    visibility: visible !important;
}

.container-topbar .navbar-expand-lg .navbar-collapse.show ul.metismenu ul.mm-collapse li {
    margin-top: 0 !important;
    margin-bottom: 2px !important;
    padding: 0 !important;
}

.container-topbar .navbar-expand-lg .navbar-collapse.show ul.metismenu ul.mm-collapse a {
    font-size: 14px !important;
    color: #555555 !important;
    line-height: 1.2 !important;
    padding: 3px 0 !important;
}

/* ==========================================================================
   SUPERUSER / LOGIN FIX V3: PFEIL-UMBRUCH & HEADING-ABSTAND BEHEBEN
   ========================================================================== */

/* ==========================================================================
   LOGIN-ICON MIT POPOVER (Modul "LOGIN", ehemals "Ergänzungsinformation",
   mod-custom120) - Nachtrag 2026-09-11
   ========================================================================== */
/* Nutzerauftrag: statt des bisherigen Platzhaltertexts "x  x" am Ende der
   Topbar-Zeile soll dort ein Icon Login/Logout ermöglichen. Umsetzung: der
   Nutzer hat das Custom-HTML-Modul "Ergänzungsinformation" (mod-custom120)
   auf "LOGIN" umbenannt und dort HTML/JS hinterlegt (Icon-Button + Popover,
   das per "{loadposition cb-login-inline}" ein verstecktes mod_login-Modul
   einbindet - siehe Projektdokumentation
   claude/topbar-login-logout-icon-analyse-2026-09-11.md). Diese Regeln
   gestalten Joomlas Standard-Login-/Logout-Formular zu einem kompakten
   Popover um, das erst bei Klick auf das Personen-Icon erscheint. */
.cb-login-widget {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
}

.cb-login-icon-btn {
    background: none !important;
    border: none !important;
    cursor: pointer !important;
    padding: 4px !important;
    display: inline-flex !important;
    /* Nachtrag 2026-09-11: "color: inherit" erbte die Topbar-Kernregel
       ".container-topbar, .container-below-top { color: rgb(255,255,255) }"
       (media/templates/site/cassiopeia/css/template.css) - das Icon war
       dadurch weiß auf dem hellgrauen Topbar-Hintergrund und praktisch
       unsichtbar (exakt derselbe, bereits von mod-custom120/124 bekannte
       Bug, siehe claude/topbar-modul124-ausrichtung-schriftfarbe-usercss-
       umsetzung-2026-08-30.md). Fix: explizite Farbe wie bei den anderen
       Topbar-Textmodulen. */
    color: #000000 !important;
}

.cb-login-icon-btn svg {
    width: 22px !important;
    height: 22px !important;
    fill: currentColor !important;
}

.cb-login-popover {
    position: absolute !important;
    top: 100% !important;
    right: 0 !important;
    margin-top: 8px !important;
    background: #ffffff !important;
    color: #000000 !important;
    border: 1px solid rgba(0, 0, 0, .15) !important;
    border-radius: 6px !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, .15) !important;
    padding: 14px 16px !important;
    min-width: 220px !important;
    z-index: 2000 !important;
}

.cb-login-popover[hidden] {
    display: none !important;
}

.cb-login-popover form fieldset {
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.cb-login-popover .mb-2 {
    margin-bottom: 10px !important;
}

.cb-login-popover input.form-control {
    width: 100% !important;
}

.cb-login-popover button.btn {
    width: 100% !important;
}

.cb-login-popover .moduletable h3,
.cb-login-popover .modulettitle {
    display: none !important;
}

/* Modul-Wrapper selbst braucht keinen Text-Versatz mehr (Abschnitt 1 oben
   schiebt Textmodule per "margin-top: 15px" auf Baseline-Höhe der Topbar-
   Schrift) - hier statt dessen vertikal mittig zum Hamburger-Icon
   ausgerichtet, da der Inhalt jetzt ein Icon-Button statt Fließtext ist.
   Gleiche Spezifität wie die Regel in Abschnitt 1, gewinnt aber durch die
   spätere Position in der Datei (Cascade-Reihenfolge). */
.container-topbar div#mod-custom120 {
    margin-top: 0 !important;
    display: flex !important;
    align-items: center !important;

    /* NEU (2026-09-15, Nutzermeldung "Login-Icon ragt am Handy über den
       Bildschirmrand hinaus, Hamburger-Icon links und Login-Icon rechts
       haben ungleichen Randabstand"): Abschnitt 1 oben
       (".container-topbar > *:last-child { margin-left: auto }") schiebt
       dieses Modul bündig an den rechten Rand der Topbar - dort hat es aber
       nur die 4px Innenabstand des eigenen Buttons
       (".cb-login-icon-btn { padding: 4px }") Abstand zum Bildschirmrand,
       während das Hamburger-Icon links durch Bootstraps Standard-Padding
       (".navbar-toggler { padding: .25rem .75rem }" = 12px) einen sichtbar
       größeren Abstand hat. Ein erster Versuch mit zusätzlichem
       "margin-right" scheiterte: bei schmalen Handybreiten ist die Zeile
       durch die drei vorherigen Module + feste "gap: 40px" (Abschnitt 1)
       bereits randvoll, wodurch "margin-left: auto" auf 0 zusammenfällt und
       ein zusätzlicher margin-right die Zeile nur weiter verbreitert statt
       das Icon nach innen zu ziehen.

       Stattdessen wird das Modul HIER komplett aus dem Flex-Fluss
       herausgenommen und absolut relativ zur Topbar (".container-topbar {
       position: relative }", Abschnitt 1) am rechten Rand verankert - exakt
       symmetrisch zum Hamburger-Icon (12px Abstand auf beiden Seiten,
       unabhängig davon, wie breit die übrigen Module 117/124 gerade sind
       oder ob die Zeile insgesamt überläuft). Behebt zugleich das rund 6px
       Überhängen über den rechten Bildschirmrand bei sehr schmalen
       Handybreiten (375px). Siehe claude/beitrag-inline-figure-zoomify-
       kein-shrink-figure-wrapper-pruefbericht-2026-09-15.md. Gilt bei JEDER
       Breite (Regel oben ist nicht auf Mobile beschränkt) - ACHTUNG bei
       Übertragung auf Produktion: dort heißt das Icon-Modul
       "mod-custom119", nicht "mod-custom120" - Selektor dort entsprechend
       anpassen (siehe
       claude/topbar-login-logout-icon-umsetzung-2026-09-11.md). */
    position: absolute !important;
    right: 12px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
}

/* ==========================================================================
   SUCH-ICON NEBEN DEM LOGIN-ICON - Nachtrag 2026-10-05
   ========================================================================== */
/* Nutzerauftrag: links neben dem Login-Icon ein passendes Such-Icon, das die
   View "imbild_suche" aufruft. Das Icon wird von user.js als Geschwister
   direkt vor ".cb-login-widget" eingefuegt (unabhaengig von der Modul-ID,
   daher auf localhost UND Produktion gleich). Optik identisch zum
   Login-Icon (Groesse, Farbe, Innenabstand). */
.cb-search-icon-btn {
    background: none !important;
    border: none !important;
    cursor: pointer !important;
    padding: 4px !important;
    margin-right: 6px !important;
    display: inline-flex !important;
    align-items: center !important;
    color: #000000 !important;
    text-decoration: none !important;
}

.cb-search-icon-btn:hover,
.cb-search-icon-btn:focus {
    color: #000000 !important;
    opacity: .75;
}

.cb-search-icon-btn svg {
    width: 22px !important;
    height: 22px !important;
    fill: currentColor !important;
}

/* Handy: Login-Icon (und damit auch das Such-Icon links davon) etwas weiter
   vom rechten Bildschirmrand weg nach links ruecken (12px -> 22px). */
@media (max-width: 767.98px) {
    .container-topbar div#mod-custom120,
    .container-topbar div#mod-custom119 {
        right: 22px !important;
    }
}

/* ==========================================================================
   SLOGAN AM HANDY (Nachtrag 2026-10-05, ueberarbeitet): ausgeblendet
   ========================================================================== */
/* Nutzerauftrag: der Slogan ("ihre Themen im Bild") wird auf Mobilgeraeten
   (< 768px) komplett deaktiviert - das Kuerzen/"..."-Verhalten flackerte und
   wirkte unschoen. Bewusst OHNE JavaScript und ohne Modul-ID (IDs sind auf
   localhost/Produktion verschieden, JS-Markierung nach dem Laden wuerde
   kurz aufflackern): der Slogan ist das mittlere benutzerdefinierte Modul
   der Topbar (nach der Marke, vor dem letzten Modul = Such-/Login-Icons). */
@media (max-width: 767.98px) {
    .container-topbar > div.mod-custom ~ div.mod-custom:not(:last-child) {
        display: none !important;
    }
}

/* ==========================================================================
   SUCH-/LOGIN-ICONS NEBENEINANDER (Nachtrag 2026-10-05): ID-unabhaengig
   ========================================================================== */
/* Das letzte Topbar-Modul (Such- + Login-Icon) ist auf localhost
   "mod-custom120", in der Produktion "mod-custom119" - die absolute
   Verankerung oben gilt aber nur fuer die ID 120. In der Produktion war es
   deshalb ein normales Flex-Element, das bei Platzmangel (aeltere/schmale
   Handys) umbrach: Such- und Login-Icon standen untereinander. Hier ID-
   unabhaengig: nie umbrechen, gleiche Verankerung rechts wie oben. */
.container-topbar > div.mod-custom:last-child {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    white-space: nowrap !important;
    margin-top: 0 !important;
    position: absolute !important;
    right: 12px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
}

.container-topbar > div.mod-custom:last-child > * {
    flex: 0 0 auto !important;
}

@media (max-width: 767.98px) {
    .container-topbar > div.mod-custom:last-child {
        right: 22px !important;
    }
}

/* ==========================================================================
   NEU 2026-10-16 (Nutzerauftrag "Menue"): Aufklapp-Zeilen (Eintraege mit Unterpunkten und Eintraege vom Typ "Ueberschrift").
   Ursache des frueheren Verschwindens: die Regel "6. PFEILTASTEN-FIX" machte JEDEN ".mm-toggler" zu einem 30-px-Pfeilfeld am rechten
   Rand - bei einer Ueberschrift (Button MIT Text) war damit der Text weg. Jetzt: volle Zeile mit Text links und Pfeil rechts.
   ========================================================================== */
.container-topbar .navbar-expand-lg .navbar-collapse.show ul.metismenu .mm-toggler.mm-toggler-nolink {
    position: relative !important;
    right: auto !important;
    top: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    height: auto !important;
    min-height: 32px !important;
    padding: 4px 6px 4px 0 !important;
    text-align: left !important;
    font-size: 15px !important;
    color: #333333 !important;
    cursor: pointer !important;
}

.container-topbar .navbar-expand-lg .navbar-collapse.show ul.metismenu .mm-toggler.mm-toggler-nolink::after {
    margin-inline-start: 12px !important;
    flex: 0 0 auto;
}

.container-topbar .navbar-expand-lg .navbar-collapse.show ul.metismenu .mm-toggler.mm-toggler-nolink:hover {
    color: #000000 !important;
}

/* geoeffnete Aufklapp-Zeile fett */
.container-topbar .navbar-expand-lg .navbar-collapse.show ul.metismenu .mm-toggler.mm-toggler-nolink[aria-expanded="true"] {
    font-weight: bold !important;
}

/* "Uebersicht" als erster Unterpunkt etwas abgesetzt */
.container-topbar .navbar-expand-lg .navbar-collapse.show ul.metismenu ul.mm-collapse li.uebersicht a {
    font-style: italic;
}

/* Handy: groessere Tippflaechen */
@media (max-width: 767.98px) {
    .container-topbar .navbar-expand-lg .navbar-collapse.show ul.metismenu li.metismenu-item {
        margin-bottom: 0 !important;
    }

    .container-topbar .navbar-expand-lg .navbar-collapse.show ul.metismenu a,
    .container-topbar .navbar-expand-lg .navbar-collapse.show ul.metismenu .mm-toggler.mm-toggler-nolink {
        min-height: 44px !important;
        display: flex !important;
        align-items: center !important;
    }
}

/* NEU 2026-10-16 (Nutzerauftrag "Menue scrollbar"): das geoeffnete Menue-Panel darf nicht ueber den Bildschirmrand hinausragen -
   die Kopfzeile ist sticky, daher gilt die Hoehe des Fensters; was nicht hineinpasst, scrollt im Panel. */
.container-topbar .navbar-expand-lg .navbar-collapse.show {
    max-height: calc(100vh - 80px) !important;
    max-height: calc(100dvh - 80px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}
