/* ============================================================
   menu.css
   Multi-Level-Dropdown-Erweiterung für Bootstrap 5 Navbars.
   Wird zusammen mit class_BootstrapNavbarRenderer.php und menu.js verwendet.
   ============================================================ */

/* Die Navbar läuft mit "fixed-top" (siehe class_BootstrapNavbarRenderer.php)
   und fällt damit aus dem normalen Dokumentfluss -- ohne diesen Abstand
   würde der Seiteninhalt am Anfang unter der Navbar verschwinden. Der Wert
   orientiert sich an Bootstraps eigenem navbar-fixed-Beispiel; bei spürbar
   höherer/niedrigerer eigener Navbar-Höhe ggf. anpassen.
   padding-bottom analog für die fixed-bottom-Fußleiste (siehe footer.tpl/
   .page-footer-bar unten) -- fällt aus demselben Grund aus dem Dokumentfluss. */
body {
    padding-top: 4.5rem;
    padding-bottom: 1.75rem;
}

/* Kompakte Fußleiste (siehe Chat) -- deutlich schmaler/unauffälliger als die
   Navbar oben, daher eigene, kleine Schrift statt Bootstraps Standardgröße.
   bg-body-secondary/border-top (Bootstrap-Klassen direkt im Markup, siehe
   footer.tpl) sind schon theme-aware (hell/dunkel), hier nur die Schriftgröße
   und der Innenabstand. */
.page-footer-bar {
    font-size: 0.7rem;
}

/* Kräftigeres Grün für den Zustand "Im Dienst" auf fuhrpark.php (Tab
   "Übersicht"/Tabellenzeilen + Legende, UND Tab "Tableau"/Karten + Legende,
   siehe fuhrparkRowStateSuffix() in includes/functions_fuhrpark.php).
   Bewusst NUR innerhalb von .fuhrpark-status-colors (siehe
   fuhrpark_uebersicht.tpl/fuhrpark.php) überschrieben, NICHT global -- sonst
   wäre jedes .table-success/.list-group-item-success/.bg-success-subtle in
   der gesamten Anwendung betroffen.

   ACHTUNG Bootstrap-Eigenart (siehe Chat -- per bootstrap.min.css geprüft):
   .list-group-item-success (Tableau-Karten) UND die "*-subtle"-Utilities
   (Legende-Badges) nutzen tatsächlich --bs-success-bg-subtle/-border-subtle/
   -text-emphasis, DAS Überschreiben unten reicht dafür also aus. ABER
   .table-success (Tabellenzeilen im Tab "Übersicht") setzt seine Farben als
   FESTE Hex-Werte (--bs-table-bg/--bs-table-border-color/--bs-table-color),
   komplett unabhängig von --bs-success-bg-subtle & Co. -- deshalb zusätzlich
   direkt überschrieben. Bootstrap definiert dafür (anders als für die
   *-subtle-Variablen) auch KEINE eigene Dark-Theme-Variante, daher hier
   ebenfalls eine eigene. */
.fuhrpark-status-colors {
    --bs-success-bg-subtle: #9be6b4;
    --bs-success-border-subtle: #4caf6e;
    --bs-success-text-emphasis: #0a3622;
}

[data-bs-theme="dark"] .fuhrpark-status-colors {
    --bs-success-bg-subtle: #0d3320;
    --bs-success-border-subtle: #198754;
    --bs-success-text-emphasis: #8fe6ac;
}

.fuhrpark-status-colors .table-success {
    --bs-table-bg: #9be6b4;
    --bs-table-border-color: #4caf6e;
    --bs-table-color: #0a3622;
    --bs-table-striped-bg: color-mix(in srgb, #9be6b4 92%, #000);
    --bs-table-hover-bg: color-mix(in srgb, #9be6b4 94%, #000);
    --bs-table-active-bg: color-mix(in srgb, #9be6b4 88%, #000);
}

[data-bs-theme="dark"] .fuhrpark-status-colors .table-success {
    --bs-table-bg: #0d3320;
    --bs-table-border-color: #198754;
    --bs-table-color: #8fe6ac;
    --bs-table-striped-bg: color-mix(in srgb, #0d3320 92%, #fff);
    --bs-table-hover-bg: color-mix(in srgb, #0d3320 94%, #fff);
    --bs-table-active-bg: color-mix(in srgb, #0d3320 88%, #fff);
}

/* Submenu standardmäßig ausblenden */
.dropdown-submenu {
    position: relative;
}

.dropdown-submenu > .dropdown-menu {
    top: 0;
    left: 100%;
    margin-top: -1px;
    display: none;
}

/* Öffnen, sobald die Klasse "show" gesetzt ist (per menu.js) */
.dropdown-submenu.show > .dropdown-menu {
    display: block;
}

/* Pfeil-Icon nach rechts drehen, damit klar ist: das ist ein Untermenü */
.dropdown-submenu > .dropdown-toggle::after {
    transform: rotate(-90deg);
    margin-left: auto;
}

.dropdown-submenu > .dropdown-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* Falls das Submenu rechts aus dem Bildschirm ragen würde, nach links aufklappen */
.dropdown-submenu.dropend-left > .dropdown-menu {
    left: auto;
    right: 100%;
}

/* ------------------------------------------------------------
   Profil-Modal (ersetzt das frühere Dropdown im Account-Menü,
   siehe class_BootstrapNavbarRenderer.php::renderAccountMenu):
   fest oben rechts positioniert, statt Bootstraps Standard
   (vertikal/horizontal zentriert), damit es optisch weiterhin
   wie ein Menü unterhalb des Profil-Icons wirkt.
   ------------------------------------------------------------ */
.account-modal .modal-dialog {
    position: fixed;
    top: 4.5rem;   /* unterhalb der fixed-top-Navbar, siehe body padding-top oben */
    right: 1rem;   /* Fallback, bevor menu.js beim Öffnen den echten Wert setzt */
    margin: 0;
    /* Bootstraps .modal-dialog hat standardmäßig "width: auto" und schrumpft
       sich damit auf den Inhalt -- "max-width" alleine begrenzt nur die
       Obergrenze, vergrößert das Modal aber nicht, wenn der Inhalt schmaler
       ist. Deshalb hier zusätzlich eine feste "width" setzen. */
    width: 400px;
    max-width: calc(100vw - 2rem);
    /* Ohne explizites z-index verliert der Dialog durch "position: fixed" seinen
       Platz in Bootstraps Stapelreihenfolge (.modal: 1055, .modal-backdrop: 1050)
       und landet unter dem Backdrop -- dadurch wirkt auch das Modal selbst
       abgedunkelt und ist nicht mehr bedienbar. */
    z-index: 1060;
}

/* Ohne "overflow: hidden" ragt der letzte Kindblock (z.B. .list-group-flush im
   Body) mit seinen eckigen Kanten über die Rundung von .modal-content hinaus
   -- oben sichtbar rund (dort sitzt modal-header, das per Bootstrap-Regel
   selbst abgerundete Ecken bekommt), unten eckig. */
.account-modal .modal-content {
    overflow: hidden;
}

/* ------------------------------------------------------------
   Mobile: Bootstrap klappt die Navbar unterhalb des Breakpoints
   (hier: lg, passend zu navbar-expand-lg) in ein vertikales
   Collapse-Menü um. Seitliches Flyout ergibt dort keinen Sinn mehr.
   Passe den Breakpoint an, falls du navbar-expand-md/sm nutzt.
   ------------------------------------------------------------ */
@media (max-width: 991.98px) {
    .dropdown-submenu > .dropdown-menu {
        position: static;
        left: auto;
        margin-left: 1rem;
    }
}
