/* Todo-Liste: Hintergrund explizit überschreiben */
body.theme-light #todoList.list-group {
    background-color: #fff !important;
}
body.theme-dark #todoList.list-group {
    background-color: #181818 !important;
}
/* Todo-Liste: Listeneinträge für Light/Dark-Mode */
body.theme-light #todoList.list-group .list-group-item {
    background-color: #fff !important;
    color: #222 !important;
    border-color: #dee2e6 !important;
}
body.theme-dark #todoList.list-group .list-group-item {
    background-color: #181818 !important;
    color: #fff !important;
    border-color: #444 !important;
}
/* Todo-Liste: Listendarstellung für Light/Dark-Mode */
body.theme-light #todoList.list-group {
    background-color: #fff !important;
    color: #222 !important;
    border-radius: 0.5rem;
}
body.theme-dark #todoList.list-group {
    background-color: #181818 !important;
    color: #fff !important;
    border-radius: 0.5rem;
}
/* Todo-Liste: Inputfeld gezielt für Light/Dark-Mode überschreiben */
body.theme-light .container .todo-input#todoInput {
    background-color: #fff !important;
    color: #222 !important;
    border-color: #ced4da !important;
}
body.theme-dark .container .todo-input#todoInput {
    background-color: #111 !important;
    color: #fff !important;
    border-color: #444 !important;
}
/* Speziell: nav-item für kleine Bildschirme ausblenden */
.nav-item.hide-mobile {
    display: none !important;
}

.nav-item-angelverein-direct {
    display: block !important;
}

.nav-item-angelverein-dropdown {
    display: none !important;
}

.nav-item-infos-direct {
    display: block !important;
}

.nav-item-infos-dropdown {
    display: none !important;
}

.nav-item-unser-video {
    display: block !important;
}

:root {
    --scrollbar-size: 12px;
    --scrollbar-thumb-light: #ff8c00;
    --scrollbar-track-light: #fff0e0;
    --scrollbar-thumb-dark: #ff9f1c;
    --scrollbar-track-dark: #2a1b10;
}

/* Chromium / Safari — Fallback (kein Theme gesetzt) */
::-webkit-scrollbar {
    width: var(--scrollbar-size);
    height: var(--scrollbar-size);
}
::-webkit-scrollbar-track {
    background: var(--scrollbar-track-light);
}
::-webkit-scrollbar-thumb {
    background: var(--scrollbar-thumb-light);
    border-radius: 10px;
    border: 2px solid var(--scrollbar-track-light);
}
::-webkit-scrollbar-thumb:hover {
    background: #e67e00;
}

/* Chromium / Safari */
body.theme-light ::-webkit-scrollbar {
    width: var(--scrollbar-size);
    height: var(--scrollbar-size);
}

body.theme-light ::-webkit-scrollbar-track {
    background: var(--scrollbar-track-light);
}

body.theme-light ::-webkit-scrollbar-thumb {
    background: var(--scrollbar-thumb-light);
    border-radius: 10px;
    border: 2px solid var(--scrollbar-track-light);
}

body.theme-light ::-webkit-scrollbar-thumb:hover {
    background: #e67e00;
}

body.theme-dark ::-webkit-scrollbar {
    width: var(--scrollbar-size);
    height: var(--scrollbar-size);
}

body.theme-dark ::-webkit-scrollbar-track {
    background: var(--scrollbar-track-dark);
}

body.theme-dark ::-webkit-scrollbar-thumb {
    background: var(--scrollbar-thumb-dark);
    border-radius: 10px;
    border: 2px solid var(--scrollbar-track-dark);
}

body.theme-dark ::-webkit-scrollbar-thumb:hover {
    background: #ffb347;
}

@media (min-width: 576px) {
    .nav-item.hide-mobile {
        display: block !important;
    }
}

@media (max-width: 1920px) {
    .nav-item-angelverein-direct {
        display: none !important;
    }

    .nav-item-angelverein-dropdown {
        display: list-item !important;
    }

    .nav-item-infos-direct {
        display: none !important;
    }

    .nav-item-infos-dropdown {
        display: list-item !important;
    }

    .nav-item-unser-video {
        display: none !important;
    }
}
.dropdown-menu,
.dropdown-submenu .dropdown-menu {
    max-height: 400px !important;
    overflow-y: auto !important;
}
.dropdown-menu[aria-labelledby='menuIntern'] {
    max-height: 400px !important;
    overflow-y: auto !important;
}
/* Scrollbalken nur für das Intern-Dropdown-Menü */
#menuIntern + .dropdown-menu {
    max-height: 400px !important;
    overflow-y: auto !important;
}
/* Verschachtelte Dropdown-Menüs (Untermenü) */
.dropdown-submenu {
    position: relative;
}
.dropdown-submenu > .dropdown-menu {
    top: 0;
    left: auto;
    right: 100%;
    margin-top: -0.1rem;
    margin-right: 0.1rem;
    border-radius: 0.85rem;
    min-width: 240px;
    z-index: 2100;
}
.dropdown-submenu > a:after {
    content: '\25C0';
    float: left;
    margin-right: 0.7em;
    font-size: 0.9em;
    opacity: 0.7;
}
.dropdown-submenu:hover > .dropdown-menu,
.dropdown-submenu:focus-within > .dropdown-menu {
    display: block;
}
.dropdown-menu .dropdown-submenu .dropdown-menu {
    left: auto;
    right: 100%;
    top: 0;
}
/* --- WICHTIG: Dropdown-Menüs extra groß überschreiben (ganz am Ende für höchste Priorität) --- */
.dropdown-menu {
    font-size: 1.55rem !important;
    min-width: 320px !important;
    padding: 1.35rem 0.7rem !important;
    border-radius: 0.85rem !important;
    z-index: 2000 !important;
    max-height: 400px !important;
    overflow-y: auto !important;
}
.dropdown-item,
body .dropdown-item {
    font-size: 1.35rem !important;
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
}
/* Button exakt an Text anpassen */
.btn-fit {
    padding: 0.15em 0.6em !important;
    min-width: unset !important;
    width: auto !important;
    display: inline-block;
}

.table-responsive.ozn-fixedheader-host {
    overflow: visible !important;
}

table#OZN.ozn-fixedheader-fallback thead th {
    position: sticky;
    z-index: 20;
    top: var(--ozn-header-offset, 82px) !important;
}

body.theme-light table#OZN.ozn-fixedheader-fallback thead th {
    background-color: #ffffff !important;
    color: #222222 !important;
}

body.theme-dark table#OZN.ozn-fixedheader-fallback thead th {
    background-color: #23272b !important;
    color: #ffffff !important;
}
/* Transparenter dunkler Hintergrund für Einstellungen-Card */
.card.mb-4.shadow-sm {
    background-color: rgba(34, 34, 34, 0.7) !important;
    color: #fff !important;
    border: none !important;
}
/* Einheitliches Button-Design für Einstellungen */
.btn-primary,
.btn-primary.btn-sm {
    background-color: #007bff !important;
    color: #fff !important;
    border: none !important;
    border-radius: 0.4rem !important;
    font-size: 1rem !important;
    padding: 0.3rem 1rem !important;
    min-width: 90px !important;
    transition:
        background 0.2s,
        color 0.2s;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}
.btn-primary:hover,
.btn-primary:focus,
.btn-primary.btn-sm:hover,
.btn-primary.btn-sm:focus {
    background-color: #0056b3 !important;
    color: #fff !important;
}
.form-group .form-control,
.form-group input[type='password'],
.form-group input[type='email'] {
    color: #fff !important;
    border: 2px solid #fff !important;
    background-color: #222 !important;
}
.form-group .form-control::placeholder,
.form-group input[type='password']::placeholder,
.form-group input[type='email']::placeholder {
    color: #fff !important;
    opacity: 1 !important;
}
/* Weiße Ränder für Inputfelder im Profil-Einstellungen-Formular */
.form-control {
    border: 2px solid #fff !important;
    color: #fff !important;
}

/* Weißer Placeholder-Text in Inputfeldern */
.form-control::placeholder {
    color: #fff !important;
    opacity: 1 !important;
}

/* Optional: Checkboxen und Labels anpassen */
.form-check-input {
    border: 2px solid #fff !important;
    background-color: #222 !important;
}
.form-check-label {
    color: #fff !important;
}
/* Transparenter schwarzer Hintergrund für Container und Cards */
.bg-transparent-dark {
    background-color: rgba(0, 0, 0, 0.7) !important;
    color: #f8f9fa !important;
}
/* Abstand unterhalb der Navbar */
.navbar + * {
    margin-top: 50px !important;
}
/* Größere Schrift für Untermenüs (Dropdown) */
.dropdown-menu {
    font-size: 1.35rem !important;
    min-width: 270px !important;
    padding: 1.1rem 0.5rem !important;
    border-radius: 0.7rem !important;
}
.dropdown-item {
    font-size: 1.22rem !important;
    padding-top: 0.7rem !important;
    padding-bottom: 0.7rem !important;
    padding-left: 1.2rem !important;
    padding-right: 1.2rem !important;
}
/* Newsletter Anmeldung: Ausgelagerte Styles aus newsletter_anmeldung.php */
.center-box {
    max-width: 400px;
    margin: 60px auto;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 2px 16px rgba(0, 0, 0, 0.08);
    padding: 32px 28px 24px 28px;
    text-align: center;
    transition:
        background 0.3s,
        color 0.3s;
}
.center-box h1 {
    margin-bottom: 24px;
    font-size: 1.7rem;
    color: #333;
    transition: color 0.3s;
}
.message {
    margin-bottom: 18px;
    padding: 10px 16px;
    background: #e3f7e3;
    color: #2d7a2d;
    border-radius: 6px;
    font-size: 1rem;
    border: 1px solid #b6e2b6;
    display: inline-block;
    transition:
        background 0.3s,
        color 0.3s;
}
form.newsletter-form {
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.center-box input[type='text'],
.center-box input[type='email'] {
    padding: 10px;
    border-radius: 6px;
    border: 1px solid #ced4da;
    font-size: 1rem;
    width: 100%;
    box-sizing: border-box;
    background: #e9ecef;
    color: #212529;
    transition:
        background 0.3s,
        color 0.3s,
        border-color 0.3s;
}
.center-box input[type='text']:focus,
.center-box input[type='email']:focus {
    outline: none;
    border: 1.5px solid #007bff;
    background: #e9ecef;
    color: #212529;
}
body.theme-dark .center-box input[type='text'],
body.theme-dark .center-box input[type='email'] {
    background: #23272b !important;
    color: #f8f9fa !important;
    border-color: #444 !important;
}
body.theme-dark .center-box input[type='text']::placeholder,
body.theme-dark .center-box input[type='email']::placeholder {
    color: #adb5bd !important;
    opacity: 1 !important;
}
body.theme-dark .center-box input[type='text']:focus,
body.theme-dark .center-box input[type='email']:focus {
    background: #23272b !important;
    color: #fff !important;
    border-color: #007bff !important;
}
body.theme-light .center-box input[type='text'],
body.theme-light .center-box input[type='email'] {
    background: #e9ecef;
    color: #212529;
    border-color: #ced4da;
}
body.theme-light .center-box input[type='text']:focus,
body.theme-light .center-box input[type='email']:focus {
    background: #e9ecef;
    color: #212529;
    border-color: #007bff;
}
.center-box button {
    padding: 10px;
    border-radius: 6px;
    border: none;
    background: #007bff;
    color: #fff;
    font-size: 1rem;
    cursor: pointer;
    transition: background 0.2s;
}
.center-box button:hover {
    background: #0056b3;
}
.theme-toggle {
    margin-bottom: 18px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
}
@media (prefers-color-scheme: dark) {
    .center-box {
        background: transparent !important;
        color: #000;
    }
    .center-box h1 {
        color: #e0e0e0;
    }
    .message {
        background: #2d3a2d;
        color: #b6e2b6;
        border: 1px solid #3a4d3a;
    }
    .center-box input[type='text'],
    .center-box input[type='email'] {
        background: #23272b;
        color: #e0e0e0;
        border: 1px solid #444;
    }
    .center-box button {
        background: #222;
        color: #fff;
    }
    .center-box button:hover {
        background: #444;
    }
}
.center-box.dark {
    background: #23272b;
    color: #e0e0e0;
}
.center-box h1.dark {
    color: #e0e0e0;
}
body.theme-dark .center-box h1 {
    color: #e0e0e0 !important;
}
.message.dark {
    background: #2d3a2d;
    color: #b6e2b6;
    border: 1px solid #3a4d3a;
}
/* Navbar im hellen Modus dunkel und Schrift weiß */
body.theme-light .navbar {
    background-color: #000 !important;
    color: #fff !important;
}
body.theme-dark .navbar {
    background-color: #000 !important;
    color: #fff !important;
}
body.theme-dark .navbar .nav-link,
body.theme-dark .navbar .navbar-brand {
    color: #fff !important;
}
body.theme-light .navbar .nav-link,
body.theme-light .navbar .navbar-brand {
    color: #fff !important;
}
.nav-link {
    color: var(--light) !important;
    margin: 0 0.5rem;
    transition: color 0.3s;
}
.nav-link:hover {
    color: #ffc107 !important;
}

/* Newsletter Formular: Input und Textarea im Darkmode */
.theme-dark #newsletter-card input.form-control,
.theme-dark #newsletter-card textarea.form-control {
    background: #181818 !important;
    color: #cfd8dc !important;
    border: 1px solid #444 !important;
}
.theme-dark #newsletter-card input.form-control:focus,
.theme-dark #newsletter-card textarea.form-control:focus {
    background: #23272b !important;
    color: #fff !important;
    border-color: #38bdf8 !important;
}
/* Newsletter Seite: Hell-/Dunkelmodus - Body Hintergrund explizit */
body.theme-dark {
    background: linear-gradient(90deg, #1c2429, #263238) !important;
    color: #cfd8dc !important;
}
body.theme-light {
    background: #fff !important;
    color: #222 !important;
}
body.theme-dark .container,
body.theme-dark .container-fluid {
    background: transparent !important;
    color: #cfd8dc !important;
}
body.theme-dark .card[style*='background-color:transparent'],
body.theme-dark .card[style*='background:transparent'],
body.theme-dark .card.bg-transparent,
body.theme-dark .card[style*='background-color: transparent'],
body.theme-dark .card[style*='background: transparent'] {
    color: #f8f9fa !important;
}
body.theme-dark .card[style*='background-color:transparent'] .card-header,
body.theme-dark .card[style*='background:transparent'] .card-header,
body.theme-dark .card.bg-transparent .card-header,
body.theme-dark .card[style*='background-color: transparent'] .card-header,
body.theme-dark .card[style*='background: transparent'] .card-header,
body.theme-dark .card[style*='background-color:transparent'] .card-body,
body.theme-dark .card[style*='background:transparent'] .card-body,
body.theme-dark .card.bg-transparent .card-body,
body.theme-dark .card[style*='background-color: transparent'] .card-body,
body.theme-dark .card[style*='background: transparent'] .card-body,
body.theme-dark .card[style*='background-color:transparent'] .card-title,
body.theme-dark .card[style*='background:transparent'] .card-title,
body.theme-dark .card.bg-transparent .card-title,
body.theme-dark .card[style*='background-color: transparent'] .card-title,
body.theme-dark .card[style*='background: transparent'] .card-title,
body.theme-dark .card[style*='background-color:transparent'] .card-text,
body.theme-dark .card[style*='background:transparent'] .card-text,
body.theme-dark .card.bg-transparent .card-text,
body.theme-dark .card[style*='background-color: transparent'] .card-text,
body.theme-dark .card[style*='background: transparent'] .card-text,
body.theme-dark .card[style*='background-color:transparent'] .form-label,
body.theme-dark .card[style*='background:transparent'] .form-label,
body.theme-dark .card.bg-transparent .form-label,
body.theme-dark .card[style*='background-color: transparent'] .form-label,
body.theme-dark .card[style*='background: transparent'] .form-label {
    color: #f8f9fa !important;
}
body.theme-dark .card[style*='background-color:transparent'] .text-muted,
body.theme-dark .card[style*='background:transparent'] .text-muted,
body.theme-dark .card.bg-transparent .text-muted,
body.theme-dark .card[style*='background-color: transparent'] .text-muted,
body.theme-dark .card[style*='background: transparent'] .text-muted {
    color: #cfd8dc !important;
}
body.theme-dark .card[style*='background-color:transparent'] .form-control,
body.theme-dark .card[style*='background:transparent'] .form-control,
body.theme-dark .card.bg-transparent .form-control,
body.theme-dark .card[style*='background-color: transparent'] .form-control,
body.theme-dark .card[style*='background: transparent'] .form-control,
body.theme-dark .card[style*='background-color:transparent'] textarea,
body.theme-dark .card[style*='background:transparent'] textarea,
body.theme-dark .card.bg-transparent textarea,
body.theme-dark .card[style*='background-color: transparent'] textarea,
body.theme-dark .card[style*='background: transparent'] textarea {
    background-color: #23272b !important;
    color: #f8f9fa !important;
    border-color: #444 !important;
}
body.theme-dark .card[style*='background-color:transparent'] .form-control::placeholder,
body.theme-dark .card[style*='background:transparent'] .form-control::placeholder,
body.theme-dark .card.bg-transparent .form-control::placeholder,
body.theme-dark .card[style*='background-color: transparent'] .form-control::placeholder,
body.theme-dark .card[style*='background: transparent'] .form-control::placeholder,
body.theme-dark .card[style*='background-color:transparent'] textarea::placeholder,
body.theme-dark .card[style*='background:transparent'] textarea::placeholder,
body.theme-dark .card.bg-transparent textarea::placeholder,
body.theme-dark .card[style*='background-color: transparent'] textarea::placeholder,
body.theme-dark .card[style*='background: transparent'] textarea::placeholder {
    color: #adb5bd;
}
body.theme-light .container,
body.theme-light .container-fluid {
    background: #fff !important;
    color: #222 !important;
}
.theme-dark .newsletter-card-custom {
    background: rgba(28, 36, 41, 0.7) !important;
    border: 1px solid #444 !important;
    color: #cfd8dc !important;
}
.theme-light .newsletter-card-custom {
    background: #fff !important;
    border: 1px solid #bbb !important;
    color: #222 !important;
}
.theme-dark .newsletter-card-body-custom {
    background: transparent !important;
    color: #cfd8dc !important;
}
.theme-light .newsletter-card-body-custom {
    background: #fff !important;
    color: #222 !important;
}
/* Newsletter Seite: Hell-/Dunkelmodus Anpassung */
body.theme-dark .container {
    background: transparent !important;
    color: #cfd8dc !important;
}
body.theme-light .container {
    background: #fff !important;
    color: #222 !important;
}
.theme-dark .newsletter-card-custom {
    background: transparent !important;
    border: 1px solid #444 !important;
    color: #cfd8dc !important;
}
.theme-light .newsletter-card-custom {
    background: #fff !important;
    border: 1px solid #bbb !important;
    color: #222 !important;
}
.theme-dark .newsletter-card-body-custom {
    background: transparent !important;
    color: #cfd8dc !important;
}
.theme-light .newsletter-card-body-custom {
    background: #fff !important;
    color: #222 !important;
}
/* Newsletter Card Darkmode Anpassung */
.theme-dark .newsletter-card-custom {
    background: transparent !important;
    border: 1px solid #444 !important;
    color: #cfd8dc !important;
}
.theme-dark .newsletter-card-body-custom {
    background: transparent !important;
    color: #cfd8dc !important;
}
/* Benutzerverwaltung Styles aus benutzer.php */
body.theme-dark #benutzer-admin .card {
    background: #23272b;
    color: #f8f9fa;
    border-color: #444;
}
body.theme-dark #benutzer-admin .card .card-body,
body.theme-dark #benutzer-admin .contact-meta {
    background: #23272b;
    color: #f8f9fa;
}
body.theme-dark #benutzer-admin .form-control,
body.theme-dark #benutzer-admin .custom-select {
    background: #181a1b;
    color: #f8f9fa;
    border-color: #444;
}
body.theme-dark #benutzer-admin .form-control:focus,
body.theme-dark #benutzer-admin .custom-select:focus {
    background: #23272b;
    color: #fff;
    border-color: #888;
}
body.theme-dark #benutzer-admin .alert {
    background: #2c3035;
    color: #ffe082;
    border-color: #444;
}
body.theme-dark #benutzer-admin .btn-default {
    background: #23272b;
    color: #f8f9fa;
    border-color: #444;
}
body.theme-dark #benutzer-admin .btn-default:hover {
    background: #181a1b;
    color: #ffe082;
}
body.theme-dark #benutzer-admin .toolbar-wrap {
    background: #23272b;
    border-color: #444;
}
body.theme-dark #benutzer-admin .text-dark {
    color: #ffe082 !important;
}
body.theme-light #benutzer-admin .card {
    background: #fff;
    color: #222;
    border-color: #dee2e6;
}
body.theme-light #benutzer-admin .form-control,
body.theme-light #benutzer-admin .custom-select {
    background: #fff;
    color: #222;
    border-color: #dee2e6;
}
body.theme-light #benutzer-admin .alert {
    background: #fffbe6;
    color: #856404;
    border-color: #ffe082;
}
body.theme-light #benutzer-admin .btn-default {
    background: #f8f9fa;
    color: #222;
    border-color: #dee2e6;
}
body.theme-light #benutzer-admin .btn-default:hover {
    background: #e2e6ea;
    color: #0056b3;
}
body.theme-light #benutzer-admin .toolbar-wrap {
    background: #f8f9fa;
    border-color: #dee2e6;
}
body.theme-light #benutzer-admin .text-dark {
    color: #222 !important;
}
/* Kontaktformular & Summernote Transparenz */
#summernote,
.note-editor,
.note-editable {
    background: rgba(56, 189, 248, 0.01) !important;
    transition: background 0.2s;
}
#summernote::selection,
#summernote::-moz-selection,
.contact-form input::selection,
.contact-form input::-moz-selection,
.contact-form textarea::selection,
.contact-form textarea::-moz-selection {
    background: rgba(56, 189, 248, 0.13);
}
.contact-form input {
    background: rgba(56, 189, 248, 0.1) !important;
    transition: background 0.2s;
}
.contact-form textarea {
    background: rgba(56, 189, 248, 0.01) !important;
    transition: background 0.2s;
}
.contact-form input:focus,
.contact-form textarea:focus {
    background: rgba(56, 189, 248, 0.04) !important;
}
/* Cookie-Modal für Dark/Light-Mode */

/* ===================== */
/* Utility-Klassen */
/* ===================== */
.pr-10 {
    padding-right: 10px !important;
}
.min-width-120 {
    min-width: 120px !important;
}
.min-width-60 {
    min-width: 60px !important;
}
.font-size-09 {
    font-size: 0.9em !important;
}

/* ===================== */
/* Komponenten & Bereiche */
/* ===================== */
/* Sponsor-Bilder groß und responsiv */
.sponsor-img-large {
    max-width: 700px;
    max-height: 700px;
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
    margin: auto;
}
/* Transparenter Hintergrund für Video-Container und Video */
.video-bg-transparent {
    background: transparent !important;
}
/* Transparente Textfelder */
input[type='text'],
input[type='email'],
input[type='password'],
input[type='date'],
input[type='time'],
textarea {
    background-color: transparent !important;
    color: inherit;
    border: 1px solid #bbb;
}
/* Markierte Sponsoren-Slide mit grauem Hintergrund */
.slide.marked {
    background: rgba(180, 180, 180, 0.18);
    border-radius: 12px;
}
/* Modal- und Container-Styles aus mitglieder.php */
body.theme-dark .container-fluid,
body.theme-dark .container-fluid * {
    color: #fff !important;
}
body.theme-dark .modal-content {
    background: #23272b;
    color: #fff;
    border-color: #444;
}
body.theme-dark .modal-header,
body.theme-dark .modal-body {
    background: #23272b;
    color: #fff;
}
body.theme-dark .modal-title,
body.theme-dark .modal-header .close,
body.theme-dark .modal-header .close span,
body.theme-dark .modal-header .close i {
    color: #fff !important;
    opacity: 0.85;
    text-shadow: none !important;
    transition: color 0.2s;
}
/* Zentrale Section-Paddings für alle Bereiche */
#galerie,
#jugend,
#kontakt,
#vorstand,
#kolonie,
#angelverein,
#infos,
#unser-video,
#goenner {
    padding-top: 100px;
    padding-bottom: 100px;
}
body.theme-dark .modal-header .close:hover,
body.theme-dark .modal-header .close span:hover,
body.theme-dark .modal-header .close i:hover {
    color: #ffe082 !important;
    opacity: 1;
}
body.theme-light .modal-content {
    background: #fff;
    color: #222;
}
body.theme-light .modal-header,
body.theme-light .modal-body {
    background: #fff;
    color: #222;
}
body.theme-light .modal-title,
body.theme-light .modal-header .close,
body.theme-light .modal-header .close span,
body.theme-light .modal-header .close i {
    color: #222 !important;
    opacity: 0.85;
    text-shadow: none !important;
    transition: color 0.2s;
}
body.theme-light .modal-header .close:hover,
body.theme-light .modal-header .close span:hover,
body.theme-light .modal-header .close i:hover {
    color: #0056b3 !important;
    opacity: 1;
}
body.theme-dark .btn-close {
    filter: invert(1) grayscale(1) brightness(1.8) !important;
    opacity: 0.85;
    transition:
        filter 0.2s,
        opacity 0.2s;
}
body.theme-dark .btn-close:hover {
    filter: invert(1) sepia(1) hue-rotate(45deg) saturate(4) brightness(2);
    opacity: 1;
}
body.theme-light .btn-close {
    filter: none !important;
    opacity: 0.85;
    transition:
        filter 0.2s,
        opacity 0.2s;
}
body.theme-light .btn-close:hover {
    filter: none !important;
    opacity: 1;
}
/* Responsive Anpassung für Profil-Daten-Grid (vertical) */
.profil-data-vertical {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    max-width: 600px;
    margin: 0 auto;
}
.profil-data-vertical .profil-label {
    font-size: 1.08em;
    padding: 0.7em 1em;
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.07);
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
}
@media (max-width: 600px) {
    .profil-data-vertical {
        max-width: 98vw;
        gap: 0.5rem;
    }
    .profil-data-vertical .profil-label {
        font-size: 1em;
        padding: 0.6em 0.7em;
    }
}
/* Message-Container für Einstellungen-Profil */
#message {
    margin-top: 1rem;
}
#change_Pass {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
#change_Pass .form-group,
#change_Pass .input-group,
#change_Pass .form-control,
#change_Pass button {
    width: 100%;
    box-sizing: border-box;
}
/* Profil-Grid (ersetzt Tabelle in profil.php) */
.profil-data-grid {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
.profil-row {
    display: grid;
    grid-template-columns: 1fr 2fr 1fr 2fr;
    gap: 0.5rem;
}
.profil-label,
.profil-value {
    border: 1px solid #bbb;
    border-radius: 4px;
    padding: 0.5rem 0.75rem;
    background: rgba(255, 255, 255, 0.04);
    min-height: 38px;
    display: flex;
    align-items: center;
}
.profil-label {
    font-weight: bold;
    background: rgba(0, 0, 0, 0.06);
}
.profil-value {
    background: rgba(255, 255, 255, 0.08);
    word-break: break-word;
}
@media (max-width: 767.98px) {
    .profil-row {
        grid-template-columns: 1fr 1fr;
    }
    .profil-label,
    .profil-value {
        font-size: 0.97em;
        padding: 0.5rem 0.5rem;
    }
}

/* --- Aus debitorenblatt.php: Tabellen-Styles für Dark/Light-Mode --- */
body.theme-dark .panel-content .table,
body.theme-dark .panel-content .table th,
body.theme-dark .panel-content .table td {
    color: #fff;
    background-color: #23272b;
    border-color: #444;
}
body.theme-dark .panel-content .table thead {
    background-color: #343a40;
}
body.theme-light .panel-content .table,
body.theme-light .panel-content .table th,
body.theme-light .panel-content .table td {
    color: #222;
    background-color: #fff;
    border-color: #dee2e6;
}
body.theme-light .panel-content .table thead {
    background-color: #f8f9fa;
}
section,
main,
.container,
.ratio,
.static-banner {
    background: transparent !important;
}
/* --- Beginn: Inhalte aus style.css (zusammengeführt, bereinigt) --- */
:root {
    --dark: #1a1a1a;
    --light: #ffffff;
    --accent: #ffc107;
}

body {
    color: var(--light);
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 14px;
    position: relative;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    z-index: 0;
    background: transparent !important;
}

/* Optimierter Dark/Light Mode: Nur noch .theme-dark und .theme-light */
body.theme-dark {
    background-color: var(--dark) !important;
    color: var(--light) !important;
}
body.theme-dark .navbar,
body.theme-dark footer,
body.theme-dark .modal-content,
body.theme-dark .static-banner,
body.theme-dark .swiper-slide,
body.theme-dark main,
body.theme-dark .hero {
    background-color: transparent !important;
    color: var(--light) !important;
}
body.theme-dark .nav-link,
body.theme-dark .navbar-brand,
body.theme-dark .btn-primary {
    color: var(--light) !important;
}
body.theme-dark .btn-primary {
    background-color: var(--accent) !important;
    border-color: var(--accent) !important;
    color: #000 !important;
}

body.theme-light {
    background-color: var(--light) !important;
    color: #222 !important;
}
body.theme-light .navbar {
    background-color: #000 !important;
    color: #fff !important;
}
body.theme-light footer,
body.theme-light .modal-content,
body.theme-light .static-banner,
body.theme-light .swiper-slide,
body.theme-light main,
body.theme-light .hero {
    background-color: #fff !important;
    color: #222 !important;
}
body.theme-light .navbar .nav-link,
body.theme-light .navbar .navbar-brand,
body.theme-light .navbar .navbar-text {
    color: #fff !important;
}
body.theme-light .navbar .nav-link:hover,
body.theme-light .navbar .navbar-brand:hover,
body.theme-light .navbar .navbar-text:hover {
    color: #ffd166 !important;
}
body.theme-light .btn-primary {
    color: #222 !important;
}
body.theme-light .btn-primary {
    background-color: var(--accent) !important;
    border-color: var(--accent) !important;
    color: #000 !important;
}




/* .navbar globale Regel entfernt, damit Modus-spezifische Regeln greifen */

.navbar-brand {
    font-weight: bold;
    font-size: 1.5rem;
}

.nav-link {
    color: var(--light) !important;
    margin: 0 0.5rem;
    transition: color 0.3s;
}

.nav-link:hover {
    color: #ffc107 !important;
}

main {
    flex: 1;
    position: relative;
    z-index: 1;
    padding: 4rem 0;
}

.hero {
    text-align: center;
    padding: 6rem 2rem;
}

.hero h1 {
    font-size: 3.5rem;
    font-weight: bold;
    margin-bottom: 1rem;
}

.hero p {
    font-size: 1.25rem;
    color: #ccc;
    margin-bottom: 2rem;
}

footer {
    background-color: rgba(26, 26, 26, 0.95);
    border-top: 1px solid #333;
    padding: 2rem 0;
    margin-top: auto;
    bottom: 0;
    z-index: 999;
}

footer p {
    margin: 0;
    color: #999;
}

.modal-content {
    background-color: #2a2a2a;
    color: var(--light);
    border: 1px solid #444;
}

.btn-primary {
    background-color: #ffc107;
    border-color: #ffc107;
    color: #000;
}

.btn-primary:hover {
    background-color: #ffb300;
    border-color: #ffb300;
}

video {
    max-width: 100%;
    height: auto;
}

/* Preloader Styles */
.spinner-wrapper {
    position: fixed;
    z-index: 999999;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: #000;
}

.spinner {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 1.75rem;
    height: 1.25rem;
    margin: -0.625rem 0 0 -1.875rem;
    text-align: center;
}

.spinner > div {
    display: inline-block;
    width: 1rem;
    height: 1rem;
    border-radius: 100%;
    background-color: #5f4dee;
    -webkit-animation: sk-bouncedelay 1.4s infinite ease-in-out both;
    animation: sk-bouncedelay 1.4s infinite ease-in-out both;
}

.spinner .bounce1 {
    -webkit-animation-delay: -0.32s;
    animation-delay: -0.32s;
}

.spinner .bounce2 {
    -webkit-animation-delay: -0.16s;
    animation-delay: -0.16s;
}

@-webkit-keyframes sk-bouncedelay {
    0%,
    80%,
    100% {
        -webkit-transform: scale(0);
    }
    40% {
        -webkit-transform: scale(1);
    }
}

@keyframes sk-bouncedelay {
    0%,
    80%,
    100% {
        -webkit-transform: scale(0);
        -ms-transform: scale(0);
        transform: scale(0);
    }
    40% {
        -webkit-transform: scale(1);
        -ms-transform: scale(1);
        transform: scale(1);
    }
}

input[type='text'],
input[type='time'],
input[type='date'],
input[type='email'] {
    background-color: #fff !important;
    color: #222 !important;
    padding: 10px;
    border: 1px solid #bbb !important;
    font-size: 16px;
    border-radius: 4px;
}

textarea {
    background-color: #fff !important;
    color: #222 !important;
    padding: 10px;
    border: 1px solid #bbb !important;
    font-family: inherit;
    font-size: 14px;
    border-radius: 4px;
}

button {
    background-color: rgb(121, 120, 120);
    color: white;
    padding: 10px 20px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 16px;
}

button:hover {
    background-color: #333;
}
/* --- Ende: Inhalte aus style.css (bereinigt) --- */
/* Tabellen-Text im Dark Mode immer weiß, auch für Markierung */
body.theme-dark .table,
body.theme-dark .table thead,
body.theme-dark .table th,
body.theme-dark .table td {
    color: #fff !important;
}
body.theme-dark .table th::selection,
body.theme-dark .table td::selection,
body.theme-dark .table th::-moz-selection,
body.theme-dark .table td::-moz-selection {
    background: #444 !important;
    color: #fff !important;
}
/* Markierter Text in Tabellenzellen im Dark Mode immer weiß */
body.theme-dark table td::selection,
body.theme-dark table th::selection,
body.theme-dark .table td::selection,
body.theme-dark .table th::selection {
    background: #444 !important;
    color: #fff !important;
}
body.theme-dark table td::-moz-selection,
body.theme-dark table th::-moz-selection,
body.theme-dark .table td::-moz-selection,
body.theme-dark .table th::-moz-selection {
    background: #444 !important;
    color: #fff !important;
}
/* Dropdown-Text in .form-select im Dark Mode immer weiß */
.nav-tabs .nav-link.active {
    background: #181a1b !important;
    color: #ffe082 !important;
    border-color: #444 !important;
}
body.theme-light .nav-tabs .nav-link.active {
    background: #f8f9fa !important;
    color: #222 !important;
    border-color: #bbb !important;
}
.form-select {
    min-width: 180px !important;
    padding: 0.5rem 1.2rem !important;
    font-size: 1rem !important;
    border-radius: 0.3rem !important;
    box-sizing: border-box !important;
    background-color: #fff;
    color: #222;
    border: 1px solid #bbb;
    transition:
        background 0.2s,
        color 0.2s,
        border-color 0.2s;
}
body.theme-dark .form-select {
    background-color: #181818 !important;
    color: #fff !important;
    border: 1px solid #333 !important;
}
/* Einheitliche Dropdown-Größe für alle Dropdowns */
.dropdown-menu {
    min-width: 180px !important;
    padding: 0.5rem 0 !important;
}
.dropdown-item {
    padding: 0.5rem 1.2rem !important;
    font-size: 1rem !important;
    min-width: 180px !important;
    box-sizing: border-box !important;
}
/* Responsive Steg-Bereich mit dynamischem Abstand zur Navbar */
:root {
    /* Navbar Styles – immer schwarz mit weißer Schrift */
    .navbar {
        background-color: #000 !important;
        color: #fff !important;
        border-bottom: 1px solid #222;
    }
    .navbar .navbar-brand,
    .navbar .navbar-nav .nav-link,
    .navbar .navbar-text {
        color: #fff !important;
    }
    .navbar .navbar-brand:hover,
    .navbar .navbar-nav .nav-link:hover,
    .navbar .navbar-text:hover {
        color: #f8f9fa !important;
    }
    .navbar .navbar-toggler {
        border-color: #fff;
    }
    .navbar .navbar-toggler-icon {
        background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255,255,255,1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
    }
    color: rgba(var(--bs-white-rgb), 0.75) !important;
}
body.theme-dark .geburtstage-theme,
body.theme-dark .geburtstage-theme h2,
body.theme-dark .geburtstage-theme th,
body.theme-dark .geburtstage-theme td,
body.theme-dark .geburtstage-theme span,
body.theme-dark .geburtstage-theme .accordion-button,
body.theme-dark .geburtstage-theme .accordion-body {
    color: var(--bs-white) !important;
}
body.theme-dark .geburtstage-theme .text-muted {
    color: rgba(var(--bs-white-rgb), 0.78) !important;
}
body.theme-light .geburtstage-theme {
    background: rgba(var(--bs-light-rgb), 0.85);
    border-color: var(--bs-gray-300);
    color: var(--bs-dark);
}
body.theme-light .geburtstage-theme .panel,
body.theme-light .geburtstage-theme .panel-hdr,
body.theme-light .geburtstage-theme .panel-content {
    color: var(--bs-dark);
}
body.theme-light .geburtstage-theme .table {
    --bs-table-color: var(--bs-dark);
    --bs-table-striped-color: var(--bs-dark);
    --bs-table-hover-color: var(--bs-dark);
    --bs-table-border-color: var(--bs-gray-300);
    --bs-table-hover-bg: rgba(var(--bs-dark-rgb), 0.04);
}
body.theme-light .geburtstage-theme .thead-dark th {
    background: rgba(var(--bs-dark-rgb), 0.08);
    color: var(--bs-dark);
}
body.theme-light .geburtstage-theme .text-muted {
    color: rgba(var(--bs-dark-rgb), 0.65) !important;
}
@media (max-width: 767.98px) {
    .geburtstage-theme {
        padding: 0.75rem;
    }
    .geburtstage-theme .table {
        font-size: 0.9rem;
    }
    .geburtstage-theme .table th,
    .geburtstage-theme .table td {
        padding: 0.4rem 0.5rem;
        white-space: nowrap;
    }
    .geburtstage-theme .accordion-button {
        padding: 0.55rem 0.75rem;
        font-size: 0.95rem;
    }
}
.geburtstage-theme .accordion-item {
    background: transparent;
    border: 1px solid var(--bs-gray-700);
}
.geburtstage-theme .accordion-button {
    background: rgba(var(--bs-dark-rgb), 0.55);
    color: var(--bs-white);
}
.geburtstage-theme .accordion-button:not(.collapsed) {
    background: rgba(var(--bs-dark-rgb), 0.7);
    color: var(--bs-white);
    box-shadow: none;
}
.geburtstage-theme .accordion-button:focus {
    box-shadow: 0 0 0 0.2rem rgba(var(--bs-primary-rgb), 0.2);
}
.geburtstage-theme .accordion-body {
    background: rgba(var(--bs-dark-rgb), 0.35);
}
body.theme-light .geburtstage-theme .accordion-item {
    border-color: var(--bs-gray-300);
}
body.theme-light .geburtstage-theme .accordion-button,
body.theme-light .geburtstage-theme .accordion-button:not(.collapsed) {
    background: rgba(var(--bs-dark-rgb), 0.08);
    color: var(--bs-dark);
}
body.theme-light .geburtstage-theme .accordion-body {
    background: rgba(var(--bs-light-rgb), 0.8);
    color: var(--bs-dark);
}
/* --- Aus pages/footer.php: Cookie-Modal für Dark/Light-Mode --- */
.theme-modal-content {
    background: #181818;
    color: #fff;
}
.theme-modal-header,
.theme-modal-footer {
    background: #181818;
    color: #fff;
    border-color: #333 !important;
}
.fm-login-page {
    background-color: #f7f9fb;
    font-size: 14px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 304 304' width='304' height='304'%3E%3Cpath fill='%23e2e9f1' fill-opacity='0.4' d='M44.1 224a5 5 0 1 1 0 2H0v-2h44.1zm160 48a5 5 0 1 1 0 2H82v-2h122.1zm57.8-46a5 5 0 1 1 0-2H304v2h-42.1zm0 16a5 5 0 1 1 0-2H304v2h-42.1zm6.2-114a5 5 0 1 1 0 2h-86.2a5 5 0 1 1 0-2h86.2zm-256-48a5 5 0 1 1 0 2H0v-2h12.1zm185.8 34a5 5 0 1 1 0-2h86.2a5 5 0 1 1 0 2h-86.2zM258 12.1a5 5 0 1 1-2 0V0h2v12.1zm-64 208a5 5 0 1 1-2 0v-54.2a5 5 0 1 1 2 0v54.2zm48-198.2V80h62v2h-64V21.9a5 5 0 1 1 2 0zm16 16V64h46v2h-48V37.9a5 5 0 1 1 2 0zm-128 96V208h16v12.1a5 5 0 1 1-2 0V210h-16v-76.1a5 5 0 1 1 2 0zm-5.9-21.9a5 5 0 1 1 0 2H114v48H85.9a5 5 0 1 1 0-2H112v-48h12.1zm-6.2 130a5 5 0 1 1 0-2H176v-74.1a5 5 0 1 1 2 0V242h-60.1zm-16-64a5 5 0 1 1 0-2H114v48h10.1a5 5 0 1 1 0 2H112v-48h-10.1zM66 284.1a5 5 0 1 1-2 0V274H50v30h-2v-32h18v12.1zM236.1 176a5 5 0 1 1 0 2H226v94h48v32h-2v-30h-48v-98h12.1zm25.8-30a5 5 0 1 1 0-2H274v44.1a5 5 0 1 1-2 0V146h-10.1zm-64 96a5 5 0 1 1 0-2H208v-80h16v-14h-42.1a5 5 0 1 1 0-2H226v18h-16v80h-12.1zm86.2-210a5 5 0 1 1 0 2H272V0h2v32h10.1zM98 101.9V146H53.9a5 5 0 1 1 0-2H96v-42.1a5 5 0 1 1 2 0zM53.9 34a5 5 0 1 1 0-2H80V0h2v34H53.9zm60.1 3.9V66H82v64H69.9a5 5 0 1 1 0-2H80V64h32V37.9a5 5 0 1 1 2 0zM101.9 82a5 5 0 1 1 0-2H128V37.9a5 5 0 1 1 2 0V82h-28.1zm16-64a5 5 0 1 1 0-2H146v44.1a5 5 0 1 1-2 0V18h-26.1zm102.2 270a5 5 0 1 1 0 2H98v14h-2v-16h124.1zM242 149.9V160h16v34h-16v62h48v48h-2v-46h-48v-66h16v-30h-16v-12.1a5 5 0 1 1 2 0zM53.9 18a5 5 0 1 1 0-2H64V2H48V0h18v18H53.9zm112 32a5 5 0 1 1 0-2H192V0h50v2h-48v48h-28.1zm-48-48a5 5 0 0 1-9.8-2h2.07a3 3 0 1 0 5.66 0H178v34h-18V21.9a5 5 0 1 1 2 0V32h14V2h-58.1zm0 96a5 5 0 1 1 0-2H137l32-32h39V21.9a5 5 0 1 1 2 0V66h-40.17l-32 32H117.9zm28.1 90.1a5 5 0 1 1-2 0v-76.51L175.59 80H224V21.9a5 5 0 1 1 2 0V82h-49.59L146 112.41v75.69zm16 32a5 5 0 1 1-2 0v-99.51L184.59 96H300.1a5 5 0 0 1 3.9-3.9v2.07a3 3 0 0 0 0 5.66v2.07a5 5 0 0 1-3.9-3.9H185.41L162 121.41v98.69zm-144-64a5 5 0 1 1-2 0v-3.51l48-48V48h32V0h2v50H66v55.41l-48 48v2.69zM50 53.9v43.51l-48 48V208h26.1a5 5 0 1 1 0 2H0v-65.41l48-48V53.9a5 5 0 1 1 2 0zm-16 16V89.41l-34 34v-2.82l32-32V69.9a5 5 0 1 1 2 0zM12.1 32a5 5 0 1 1 0 2H9.41L0 43.41V40.6L8.59 32h3.51zm265.8 18a5 5 0 1 1 0-2h18.69l7.41-7.41v2.82L297.41 50H277.9zm-16 160a5 5 0 1 1 0-2H288v-71.41l16-16v2.82l-14 14V210h-28.1zm-208 32a5 5 0 1 1 0-2H64v-22.59L40.59 194H21.9a5 5 0 1 1 0-2H41.41L82 208.59V258H53.9zm150.2 14a5 5 0 1 1 0 2H96v-56.6L56.6 162H37.9a5 5 0 1 1 0-2h19.5L98 200.6V256h106.1zm-150.2 2a5 5 0 1 1 0-2H80v-46.59L48.59 178H21.9a5 5 0 1 1 0-2H49.41L82 208.59V258H53.9zM34 39.8v1.61L9.41 66H0v-2h8.59L32 40.59V0h2v39.8zM2 300.1a5 5 0 0 1 3.9 3.9H3.83A3 3 0 0 0 0 302.17V256h18v48h-2v-46H2v42.1zM34 241v63h-2v-62H0v-2h34v1zM17 18H0v-2h16V0h2v18h-1zm273-2h14v2h-16V0h2v16zm-32 273v15h-2v-14h-14v14h-2v-16h18v1zM0 92.1A5.02 5.02 0 0 1 6 97a5 5 0 0 1-6 4.9v-2.07a3 3 0 1 0 0-5.66V92.1zM80 272h2v32h-2v-32zm37.9 32h-2.07a3 3 0 0 0-5.66 0h-2.07a5 5 0 0 1 9.8 0zM5.9 0A5.02 5.02 0 0 1 0 5.9V3.83A3 3 0 0 0 3.83 0H5.9zm294.2 0h2.07A3 3 0 0 0 304 3.83V5.9a5 5 0 0 1-3.9-5.9zm3.9 300.1v2.07a3 3 0 0 0-1.83 1.83h-2.07a5 5 0 0 1 3.9-3.9zM97 100a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-48 32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm32 48a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm32-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm32 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16-64a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 96a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-144a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-96 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm96 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16-64a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-32 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM49 36a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-32 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm32 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM33 68a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-48a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 240a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16-64a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16-32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm80-176a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm32 48a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm112 176a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM17 180a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM17 84a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm32 64a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6z'%3E%3C/path%3E%3C/svg%3E");
}
.fm-login-page .brand {
    width: 121px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
    overflow: hidden;
}
.fm-login-page .brand img {
    width: 100%;
}
.fm-login-page .card-wrapper {
    width: 360px;
}
.fm-login-page .card {
    border-color: transparent;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.05);
}
.fm-login-page .card-title {
    margin-bottom: 1.5rem;
    font-size: 24px;
    font-weight: 400;
}
.fm-login-page .form-control {
    border-width: 2.3px;
}
.fm-login-page .form-group label {
    width: 100%;
}
.fm-login-page .btn.btn-block {
    padding: 12px 10px;
}
.fm-login-page .footer {
    margin: 20px 0;
    color: #888;
    text-align: center;
}
@media screen and (max-width: 425px) {
    .fm-login-page .card-wrapper {
        width: 90%;
        margin: 0 auto;
        margin-top: 10%;
    }
}
@media screen and (max-width: 320px) {
    .fm-login-page .card.fat {
        padding: 0;
    }
    .fm-login-page .card.fat .card-body {
        padding: 15px;
    }
}
.message {
    padding: 4px 7px;
    border: 1px solid #ddd;
    background-color: #fff;
}
.message.ok {
    border-color: green;
    color: green;
}
.message.error {
    border-color: red;
    color: red;
}
.message.alert {
    border-color: orange;
    color: orange;
}
body.fm-login-page.theme-dark {
    background-color: #2f2a2a;
}
.theme-dark svg g,
.theme-dark svg path {
    fill: #ffffff;
}
.theme-dark .form-control {
    color: #fff;
    background-color: #403e3e;
}
.h-100vh {
    min-height: 100vh;
}
html {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    height: 100%;
    scroll-behavior: smooth;
}
*,
*::before,
*::after {
    box-sizing: border-box;
}
body {
    font-size: 15px;
    color: #222;
    background: #f7f7f7;
}
body.navbar-fixed {
    margin-top: 55px;
}
.filename,
td,
th {
    white-space: nowrap;
}
.navbar-brand {
    font-weight: bold;
}
.nav-item.avatar a {
    cursor: pointer;
    text-transform: capitalize;
}
.nav-item.avatar a > i {
    font-size: 15px;
}
.nav-item.avatar .dropdown-menu a {
    font-size: 13px;
}
#search-addon {
    font-size: 12px;
    border-right-width: 0;
}
.brl-0 {
    background: transparent;
    border-left: 0;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}
.brr-0 {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}
.bread-crumb {
    color: #cccccc;
    font-style: normal;
}
#main-table {
    transition:
        transform 0.25s cubic-bezier(0.4, 0.5, 0, 1),
        width 0s 0.25s;
}
#main-table .filename a {
    color: #222222;
}
.table td,
.table th {
    vertical-align: middle !important;
}
.table .custom-checkbox-td .custom-control.custom-checkbox,
.table .custom-checkbox-header .custom-control.custom-checkbox {
    min-width: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.table-sm td,
.table-sm th {
    padding: 0.4rem;
}
.table-bordered td,
.table-bordered th {
    border: 1px solid #f1f1f1;
}
.hidden {
    display: none;
}
pre.with-hljs {
    padding: 0;
    overflow: hidden;
}
pre.with-hljs code {
    margin: 0;
    border: 0;
    overflow: scroll;
}
code.maxheight,
pre.maxheight {
    max-height: 512px;
}
.fa.fa-caret-right {
    font-size: 1.2em;
    margin: 0 4px;
    vertical-align: middle;
    color: #ececec;
}
.fa.fa-home {
    font-size: 1.3em;
    vertical-align: bottom;
}
.path {
    margin-bottom: 10px;
}
form.dropzone {
    min-height: 200px;
    border: 2px dashed #007bff;
    line-height: 6rem;
}
.right {
    text-align: right;
}
.center,
.close,
.login-form,
.preview-img-container {
    text-align: center;
}
.preview-img {
    max-width: 100%;
    max-height: 80vh;
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAKklEQVR42mL5//8/Azbw+PFjrOJMDCSCUQ3EABZc4S0rKzsaSvTTABBgAMyfCMsY4B9iAAAAAElFTkSuQmCC);
    cursor: zoom-in;
}
input#preview-img-zoomCheck[type='checkbox'] {
    display: none;
}
input#preview-img-zoomCheck[type='checkbox']:checked ~ label > img {
    max-width: none;
    max-height: none;
    cursor: zoom-out;
}
.inline-actions > a > i {
    font-size: 1em;
    margin-left: 5px;
    background: #3785c1;
    color: #fff;
    padding: 3px 4px;
    border-radius: 3px;
}
.preview-video {
    position: relative;
    max-width: 100%;
    height: 0;
    padding-bottom: 62.5%;
    margin-bottom: 10px;
}
.preview-video video {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background: #000;
}
.compact-table {
    border: 0;
    width: auto;
}
.compact-table td,
.compact-table th {
    width: 100px;
    border: 0;
    text-align: center;
}
.compact-table tr:hover td {
    background-color: #fff;
}
.filename {
    max-width: 420px;
    overflow: hidden;
    text-overflow: ellipsis;
}
.break-word {
    word-wrap: break-word;
    margin-left: 30px;
}
.break-word.float-left a {
    color: #7d7d7d;
}
.break-word + .float-right {
    padding-right: 30px;
    position: relative;
}
.break-word + .float-right > a {
    color: #7d7d7d;
    font-size: 1.2em;
    margin-right: 4px;
}
#editor {
    position: absolute;
    right: 15px;
    top: 100px;
    bottom: 15px;
    left: 15px;
}
@media (max-width: 481px) {
    #editor {
        top: 150px;
    }
}
#normal-editor {
    border-radius: 3px;
    border-width: 2px;
    padding: 10px;
    outline: none;
}
.btn-2 {
    padding: 4px 10px;
    font-size: small;
}
li.file:before,
li.folder:before {
    font: normal normal normal 14px/1 FontAwesome;
    content: '\f016';
    margin-right: 5px;
}
li.folder:before {
    content: '\f114';
}
i.fa.fa-folder-o {
    color: #0157b3;
}
i.fa.fa-picture-o {
    color: #26b99a;
}
i.fa.fa-file-archive-o {
    color: #da7d7d;
}
.btn-2 i.fa.fa-file-archive-o {
    color: inherit;
}
i.fa.fa-css3 {
    color: #f36fa0;
}
i.fa.fa-file-code-o {
    color: #007bff;
}
i.fa.fa-code {
    color: #cc4b4c;
}
i.fa.fa-file-text-o {
    color: #0096e6;
}
i.fa.fa-html5 {
    color: #d75e72;
}
i.fa.fa-file-excel-o {
    color: #09c55d;
}
i.fa.fa-file-powerpoint-o {
    color: #f6712e;
}
i.go-back {
    font-size: 1.2em;
    color: #007bff;
}
.main-nav {
    padding: 0.2rem 1rem;
    box-shadow:
        0 4px 5px 0 rgba(0, 0, 0, 0.14),
        0 1px 10px 0 rgba(0, 0, 0, 0.12),
        0 2px 4px -1px rgba(0, 0, 0, 0.2);
}
.dataTables_filter {
    display: none;
}
table.dataTable thead .sorting {
    cursor: pointer;
    background-repeat: no-repeat;
    background-position: center right;
    background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAQAAADYWf5HAAAAKklEQVQoz7XQMQ5AQBCF4dWQSJxC5wwax1Cq1e7BAdxD5SL+Tq/QCM1oNiJidwox0355mXnG/DrEtIQ6azioNZQxI0ykPhTQIwhCR+BmBYtlK7kLJYwWCcJA9M4qdrZrd8pPjZWPtOqdRQy320YSV17OatFC4euts6z39GYMKRPCTKY9UnPQ6P+GtMRfGtPnBCiqhAeJPmkqAAAAAElFTkSuQmCC');
}
table.dataTable thead .sorting_asc {
    cursor: pointer;
    background-repeat: no-repeat;
    background-position: center right;
    background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAZ0lEQVQ4y2NgGLKgquEuFxBPAGI2ahhWCsS/gDibUoO0gPgxEP8H4ttArEyuQYxAPBdqEAxPBImTY5gjEL9DM+wTENuQahAvEO9DMwiGdwAxOymGJQLxTyD+jgWDxCMZRsEoGAVoAADeemwtPcZI2wAAAABJRU5ErkJggg==');
}
table.dataTable thead .sorting_desc {
    cursor: pointer;
    background-repeat: no-repeat;
    background-position: center right;
    background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAZUlEQVQ4y2NgGAWjYBSggaqGu5FA/BOIv2PBIPFEUgxjB+IdQPwfC94HxLykus4GiD+hGfQOiB3J8SojEE9EM2wuSJzcsFMG4ttQgx4DsRalkZENxL+AuJQaMcsGxBOAmGvopk8AVz1sLZgg0bsAAAAASUVORK5CYII=');
}
table.dataTable thead tr:first-child th.custom-checkbox-header:first-child {
    background-image: none;
}
.footer-action li {
    margin-bottom: 10px;
}
.app-v-title {
    font-size: 24px;
    font-weight: 300;
    letter-spacing: -0.5px;
    text-transform: uppercase;
}
hr.custom-hr {
    border-top: 1px dashed #8c8b8b;
    border-bottom: 1px dashed #fff;
}
#snackbar {
    visibility: hidden;
    min-width: 250px;
    margin-left: -125px;
    background-color: #333;
    color: #fff;
    text-align: center;
    border-radius: 2px;
    padding: 16px;
    position: fixed;
    z-index: 1;
    left: 50%;
    bottom: 30px;
    font-size: 17px;
}
#snackbar.show {
    visibility: visible;
    -webkit-animation:
        fadein 0.5s,
        fadeout 0.5s 2.5s;
    animation:
        fadein 0.5s,
        fadeout 0.5s 2.5s;
}
@-webkit-keyframes fadein {
    from {
        bottom: 0;
        opacity: 0;
    }
    to {
        bottom: 30px;
        opacity: 1;
    }
}
@keyframes fadein {
    from {
        bottom: 0;
        opacity: 0;
    }
    to {
        bottom: 30px;
        opacity: 1;
    }
}
@-webkit-keyframes fadeout {
    from {
        bottom: 30px;
        opacity: 1;
    }
    to {
        bottom: 0;
        opacity: 0;
    }
}
@keyframes fadeout {
    from {
        bottom: 30px;
        opacity: 1;
    }
    to {
        bottom: 0;
        opacity: 0;
    }
}
#main-table span.badge {
    border-bottom: 2px solid #f8f9fa;
}
#main-table span.badge:nth-child(1) {
    border-color: #df4227;
}
#main-table span.badge:nth-child(2) {
    border-color: #f8b600;
}
#main-table span.badge:nth-child(3) {
    border-color: #00bd60;
}
#main-table span.badge:nth-child(4) {
    border-color: #4581ff;
}
#main-table span.badge:nth-child(5) {
    border-color: #ac68fc;
}
#main-table span.badge:nth-child(6) {
    border-color: #45c3d2;
}
@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: landscape) and (-webkit-min-device-pixel-ratio: 2) {
    .navbar-collapse .col-xs-6 {
        padding: 0;
    }
}
.btn.active.focus,
.btn.active:focus,
.btn.focus,
.btn.focus:active,
.btn:active:focus,
.btn:focus {
    outline: 0 !important;
    outline-offset: 0 !important;
    background-image: none !important;
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
}
.lds-facebook {
    display: none;
    position: relative;
    width: 64px;
    height: 64px;
}
.lds-facebook div,
.lds-facebook.show-me {
    display: inline-block;
}
.lds-facebook div {
    position: absolute;
    left: 6px;
    width: 13px;
    background: #007bff;
    animation: lds-facebook 1.2s cubic-bezier(0, 0.5, 0.5, 1) infinite;
}
.lds-facebook div:nth-child(1) {
    left: 6px;
    animation-delay: -0.24s;
}
.lds-facebook div:nth-child(2) {
    left: 26px;
    animation-delay: -0.12s;
}
.lds-facebook div:nth-child(3) {
    left: 45px;
    animation-delay: 0s;
}
@keyframes lds-facebook {
    0% {
        top: 6px;
        height: 51px;
    }
    100%,
    50% {
        top: 19px;
        height: 26px;
    }
}
ul#search-wrapper {
    padding-left: 0;
    border: 1px solid #ecececcc;
}
ul#search-wrapper li {
    list-style: none;
    padding: 5px;
    border-bottom: 1px solid #ecececcc;
}
ul#search-wrapper li:nth-child(odd) {
    background: #f9f9f9cc;
}
.c-preview-img {
    max-width: 300px;
}
.border-radius-0 {
    border-radius: 0;
}
.float-right {
    float: right;
}
.table-hover > tbody > tr:hover > td:first-child {
    border-left: 1px solid #1b77fd;
}
#main-table tr.even {
    background-color: #f8f9fa;
}
.filename > a > i {
    margin-right: 3px;
}
.fs-7 {
    font-size: 14px;
}
:root {
    --bs-bg-opacity: 1;
    --bg-color: #f3daa6;
    --bs-dark-rgb: 28, 36, 41 !important;
    --bs-bg-opacity: 1;
}
body.theme-dark {
    background-image: linear-gradient(90deg, #1c2429, #263238);
    color: #cfd8dc;
}
.list-group .list-group-item {
    background: #343a40;
}
.theme-dark .navbar-nav i,
.navbar-nav .dropdown-toggle,
.break-word {
    color: #cfd8dc;
}
#main-table .filename a,
i.fa.fa-folder-o,
i.go-back {
    color: var(--bg-color);
}
ul#search-wrapper li:nth-child(odd) {
    background: #212a2f;
}
.theme-dark .btn-outline-primary {
    color: #b8e59c;
    border-color: #b8e59c;
}
.theme-dark .btn-outline-primary:hover,
.theme-dark .btn-outline-primary:active {
    background-color: #2d4121;
}
.theme-dark input.form-control {
    background-color: #101518;
    color: #cfd8dc;
}
.theme-dark .dropzone {
    background: transparent;
}
.theme-dark .inline-actions > a > i {
    background: #79755e;
}
.theme-dark .text-white {
    color: #cfd8dc !important;
}
.theme-dark .table-bordered td,
.table-bordered th {
    border-color: #343434;
}
.theme-dark .table-bordered td .custom-control-input,
.theme-dark .table-bordered th .custom-control-input {
    opacity: 0.678;
}
.message {
    background-color: #212529;
}
form.dropzone {
    border-color: #79755e;
}
.theme-modal-body {
    background: #181818;
    color: #fff;
}
body.theme-light .theme-modal-content,
body.theme-light .theme-modal-header,
body.theme-light .theme-modal-footer,
body.theme-light .theme-modal-body {
    background: #fff;
    color: #222;
    border-color: #bbb !important;
}

/* --- Aus pages/geburtstage.php: Geburtstage-Theme --- */
.geburtstage-theme {
    background: rgba(var(--bs-dark-rgb), 0.35);
    border: 1px solid var(--bs-gray-700);
    border-radius: 0.5rem;
    padding: 1rem;
    color: var(--bs-white);
}
.geburtstage-theme .panel,
.geburtstage-theme .panel-hdr,
.geburtstage-theme .panel-content {
    background: transparent;
    color: var(--bs-white);
}
.geburtstage-theme .table {
    --bs-table-bg: transparent;
    --bs-table-color: var(--bs-white);
    --bs-table-border-color: var(--bs-gray-700);
    --bs-table-striped-color: var(--bs-white);
}

/* --- Aus pages/kontakt.php: Kontaktformular Styles --- */
#summernote,
.note-editor,
.note-editable {
    background: rgba(56, 189, 248, 0.01) !important;
    transition: background 0.2s;
}
#summernote::selection,
#summernote::-moz-selection,
.contact-form input::selection,
.contact-form input::-moz-selection,
.contact-form textarea::selection,
.contact-form textarea::-moz-selection {
    background: rgba(56, 189, 248, 0.13);
}
.contact-form input {
    background: rgba(56, 189, 248, 0.1) !important;
    transition: background 0.2s;
}
.contact-form textarea {
    background: rgba(56, 189, 248, 0.01) !important;
    transition: background 0.2s;
}
.contact-form input:focus,
.contact-form textarea:focus {
    background: rgba(56, 189, 248, 0.04) !important;
}

/* --- Aus pages/profil.php: Profil-Tab Abstand und Dark-Mode --- */
.profil-topspace {
    margin-top: 100px !important;
}
body.dark-mode .themed-tab-content {
    color: #fff !important;
}

/* --- Aus pages/angelverein.php: Angelverein-Styles --- */
#angelverein {
    padding-top: 5rem;
    padding-bottom: 5rem;
}
#angelverein .angelverein-card {
    border: 1px solid rgba(var(--bs-light-rgb), 0.18);
    border-radius: 0.75rem;
    background: transparent;
    overflow: hidden;
}
#angelverein .angelverein-img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 0.5rem;
}
#angelverein .angelverein-text {
    line-height: 1.65;
}
/* Profil Bearbeiten-Tab: Text im Darkmode weiß */
body.theme-dark #profile-tab-pane label,
body.theme-dark #profile-tab-pane input,
body.theme-dark #profile-tab-pane select,
body.theme-dark #profile-tab-pane textarea {
    color: #fff !important;
}
/* Debitorenblatt-Tab: Text im Darkmode weiß */
body.theme-dark #contact-tab-pane,
body.theme-dark #contact-tab-pane th,
body.theme-dark #contact-tab-pane td {
    color: #fff !important;
}

body.theme-dark select.form-select,
body.theme-dark select.form-select option,
body.theme-dark select.form-control,
body.theme-dark select.form-control option {
    color: #fff !important;
    background-color: #181818;
    border: 1px solid #333;
}
body.theme-dark select.form-select:focus,
body.theme-dark select.form-control:focus {
    background: #181818;
    color: #fff;
    border-color: #333;
}
.note-editor.theme-dark .note-toolbar {
    background: #222;
    border-color: #333;
}
.note-editor.theme-dark .note-btn {
    background: #222;
    color: #fff;
    border-color: #444;
}
.note-editor.theme-dark .note-btn:hover {
    background: #333;
    color: #fff;
}
.note-editor.theme-light {
    background: #fff;
    color: #222;
    border-color: #bbb;
}
.note-editor.theme-light .note-editable {
    background: #fff;
    color: #222;
    border-color: #bbb;
}
.note-editor.theme-light .note-toolbar {
    background: #f8f9fa;
    border-color: #bbb;
}
.note-editor.theme-light .note-btn {
    background: #f8f9fa;
    color: #222;
    border-color: #bbb;
}
.note-editor.theme-light .note-btn:hover {
    background: #e0e0e0;
    color: #007bff;
}
/* Kontaktformular: Input und Textarea im Dark/Light Mode */
body.theme-dark input.form-control,
body.theme-dark textarea.form-control {
    background-color: #181818;
    color: #fff;
    border: 1px solid #333;
}
body.theme-dark input.form-control:focus,
body.theme-dark textarea.form-control:focus {
    background-color: #222;
    color: #fff;
    border-color: #38bdf8;
}
body.theme-light input.form-control,
body.theme-light textarea.form-control {
    background-color: #fff;
    color: #222;
    border: 1px solid #bbb;
}
body.theme-light input.form-control:focus,
body.theme-light textarea.form-control:focus {
    background-color: #f8f9fa;
    color: #222;
    border-color: #007bff;
}
/* Galerie Styles aus galerie.php */
.gallery-folder-card {
    background: transparent !important;
    border-radius: 0;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.12);
    padding: 1.9rem 1.6rem;
    margin-bottom: 1.8rem;
    border: 1px solid rgba(var(--bs-light-rgb), 0.18);
}
.gallery-group-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.8rem;
}
.gallery-folder-toggle {
    background: transparent !important;
    border: none !important;
    color: inherit;
    width: 100%;
    text-align: left;
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    padding: 0;
}
.gallery-folder-toggle:hover,
.gallery-folder-toggle:focus,
.gallery-folder-toggle:active {
    background: transparent !important;
    border: none !important;
    color: inherit !important;
    box-shadow: none !important;
}
.gallery-toggle-left {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    background: transparent !important;
}
.gallery-folder-thumb {
    width: 96px;
    height: 96px;
    border-radius: 0;
    background: transparent !important;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    margin-right: 0.5rem;
}
.gallery-folder-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.gallery-toggle-icon {
    font-size: 1.2rem;
    margin-right: 0.5rem;
    color: var(--bs-primary);
    background: transparent !important;
}
.gallery-group-title {
    font-size: 1.28rem;
    font-weight: 600;
    margin: 0;
    color: var(--bs-light);
}
.gallery-count-badge {
    background: rgba(var(--bs-info-rgb), 0.18);
    color: var(--bs-info);
    border-radius: 999px;
    padding: 0.35rem 0.7rem;
    font-size: 1.02rem;
    font-weight: 500;
    margin-left: 0.8rem;
    border: 1px solid rgba(var(--bs-info-rgb), 0.32);
}
.gallery-folder-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}
.gallery-item {
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    transition: box-shadow 0.18s;
}
.gallery-item:hover {
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.16);
}
.gallery-item img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
}
@media (max-width: 767.98px) {
    .gallery-folder-card {
        padding: 1.2rem 1rem;
    }
    .gallery-group-title {
        font-size: 1.08rem;
    }
    .gallery-folder-thumb {
        width: 64px;
        height: 64px;
    }
    .gallery-folder-grid {
        gap: 0.5rem;
    }
}
/* Styles für admin-settings (aus admin.php) */
#admin-settings {
    padding: 2.5rem 0;
}
#admin-settings .settings-card {
    background: rgba(var(--bs-dark-rgb), 0.26);
    border: 1px solid rgba(var(--bs-light-rgb), 0.22);
    border-radius: 0.65rem;
}
#admin-settings .settings-actions {
    display: flex;
    gap: 0.6rem;
    flex-wrap: wrap;
}
body.theme-light #admin-settings .settings-card,
html.theme-light #admin-settings .settings-card {
    background: rgba(var(--bs-light-rgb), 0.94);
    border-color: rgba(var(--bs-dark-rgb), 0.18);
}
@media (max-width: 575.98px) {
    #admin-settings {
        padding: 1.5rem 0;
    }

    #admin-settings .settings-actions .btn {
        flex: 1 1 auto;
    }
}
/* Styles aus goenner.php für den Sponsoren-Slider */
.image-slider-shell {
    display: flex;
    justify-content: center;
    padding: 1rem;
    background: transparent;
    border-radius: 1rem;
}
.image-slider {
    --slide-count: 5;
    --slide-step: 20%;
    width: min(720px, 100%);
    background: rgba(var(--bs-dark-rgb), 0.28);
    border: 1px solid rgba(var(--bs-light-rgb), 0.22);
    border-radius: 16px;
    box-shadow: 0 14px 32px rgba(0, 0, 0, 0.22);
    overflow: hidden;
    font-family: Arial, sans-serif;
}
.slider-header {
    background: rgba(var(--bs-light-rgb), 0.08);
    color: var(--bs-white);
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding: 0.85rem 1.25rem;
}
.slider-viewport {
    aspect-ratio: 16 / 9;
    overflow: hidden;
    position: relative;
}
.slider-track {
    display: flex;
    width: calc(var(--slide-count) * 100%);
    height: 100%;
    animation: slideImages 20s infinite;
    will-change: transform;
}
.slide {
    flex: 0 0 var(--slide-step);
    position: relative;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.slide img {
    max-height: 300px;
    max-width: 180px;
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-top: auto;
    margin-bottom: auto;
}
.slide-caption {
    position: absolute;
    left: 0.75rem;
    right: 0.75rem;
    bottom: 0.75rem;
    padding: 0.55rem 0.75rem;
    border-radius: 10px;
    color: #fff;
    font-size: clamp(0.82rem, 2vw, 1rem);
    background: rgba(0, 0, 0, 0.45);
}
body.theme-light .image-slider {
    background: transparent;
    border-color: rgba(var(--bs-dark-rgb), 0.16);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.08);
}
body.theme-light .slider-header {
    background: rgba(var(--bs-dark-rgb), 0.06);
    color: var(--bs-black);
}
body.theme-light .slide-caption {
    background: rgba(var(--bs-light-rgb), 0.9);
    color: var(--bs-black);
}
@media (max-width: 767.98px) {
    .image-slider-shell {
        padding: 0.5rem;
    }
    .image-slider {
        border-radius: 12px;
    }
    .slider-header {
        padding: 0.7rem 0.9rem;
        font-size: 0.82rem;
    }
    .slide-caption {
        left: 0.5rem;
        right: 0.5rem;
        bottom: 0.5rem;
        padding: 0.45rem 0.55rem;
    }
}
@keyframes slideImages {
    0%,
    16% {
        transform: translateX(0%);
    }
    20%,
    36% {
        transform: translateX(-20%);
    }
    40%,
    56% {
        transform: translateX(-40%);
    }
    60%,
    76% {
        transform: translateX(-60%);
    }
    80%,
    96% {
        transform: translateX(-80%);
    }
    100% {
        transform: translateX(0%);
    }
}
@media (prefers-reduced-motion: reduce) {
    .slider-track {
        animation: none;
    }
}
/* Styles aus jugend.php für den Jugendbereich */
#jugend ::selection,
#jugend ::-moz-selection {
    color: #fff !important;
    background: #0d6efd !important;
}

/* Styles aus steg.php für Stegplatzbelegung */
.steg-theme {
    border: 1px solid var(--bs-gray-700);
    border-radius: 0.5rem;
    padding: 0.75rem;
    background: rgba(var(--bs-dark-rgb), 0.25);
}
.steg-theme .steg-table {
    --bs-table-bg: transparent;
    --bs-table-border-color: var(--bs-gray-700);
    --bs-table-color: var(--bs-light);
    min-width: 980px;
}
.steg-theme .steg-table td {
    vertical-align: middle;
}
.steg-theme .steg-title {
    font-size: 1.5rem;
    margin: 0;
}
.steg-theme .form-control {
    background: rgba(var(--bs-dark-rgb), 0.4);
    color: var(--bs-light);
    border-color: var(--bs-gray-600);
    border-radius: 0.4rem;
    height: 2.2rem;
    padding: 0.3rem 0.55rem;
    font-size: 0.95rem;
    line-height: 1.2;
    transition:
        border-color 0.15s ease,
        box-shadow 0.15s ease,
        background-color 0.15s ease;
}
.steg-theme .form-control:focus {
    background: rgba(var(--bs-dark-rgb), 0.5);
    color: var(--bs-white);
    border-color: var(--bs-primary);
    box-shadow: 0 0 0 0.2rem rgba(var(--bs-primary-rgb), 0.2);
}
.steg-theme .form-control::placeholder {
    color: rgba(var(--bs-white-rgb), 0.72);
}
body.theme-dark .steg-theme,
body.theme-dark .steg-theme .steg-title,
body.theme-dark .steg-theme .steg-table,
body.theme-dark .steg-theme .steg-table td,
body.theme-dark .steg-theme .steg-table th,
body.theme-dark .steg-theme b {
    color: var(--bs-white) !important;
}
body.theme-dark .steg-theme .form-control {
    color: var(--bs-white);
}
body.theme-dark .steg-theme .form-control::placeholder {
    color: rgba(var(--bs-white-rgb), 0.8);
}
body.theme-light .steg-theme {
    background: rgba(var(--bs-light-rgb), 0.9);
    border-color: var(--bs-gray-300);
}
body.theme-light .steg-theme .steg-table {
    --bs-table-color: var(--bs-dark);
    --bs-table-border-color: var(--bs-gray-300);
}
body.theme-light .steg-theme .form-control {
    background: rgba(var(--bs-light-rgb), 0.95);
    color: var(--bs-dark);
    border-color: var(--bs-gray-400);
}
body.theme-light .steg-theme .form-control:focus {
    background: var(--bs-white);
    color: var(--bs-dark);
    border-color: var(--bs-primary);
    box-shadow: 0 0 0 0.2rem rgba(var(--bs-primary-rgb), 0.18);
}
body.theme-light .steg-theme .form-control::placeholder {
    color: rgba(var(--bs-dark-rgb), 0.55);
}
body.theme-light .steg-theme,
body.theme-light .steg-theme .steg-title,
body.theme-light .steg-theme td {
    color: var(--bs-dark);
}
@media (max-width: 991.98px) {
    .steg-theme {
        padding: 0.5rem;
    }
    .steg-theme .steg-title {
        font-size: 1.1rem;
    }
    .steg-theme .steg-table {
        font-size: 0.85rem;
    }
    .steg-theme .form-control {
        min-width: 120px;
        height: 2rem;
        font-size: 0.85rem;
        padding: 0.25rem 0.45rem;
    }
}
/* Gästebuch Styles aus gaestebuch.php */
#gaestebuch {
    padding-top: 5rem;
    padding-bottom: 5rem;
}
#gaestebuch .guestbook-card {
    background: rgba(var(--bs-dark-rgb), 0.25);
    border: 1px solid rgba(var(--bs-light-rgb), 0.2);
    border-radius: 0.6rem;
}
#gaestebuch .guestbook-entry {
    background: rgba(var(--bs-dark-rgb), 0.22);
    border: 2px solid rgba(var(--bs-light-rgb), 0.75);
    border-radius: 0.6rem;
}
#gaestebuch .guestbook-entry-head {
    border: 2px solid rgba(var(--bs-light-rgb), 0.7);
    border-radius: 0.4rem;
    padding: 0.35rem 0.55rem;
    width: 100%;
}
#gaestebuch .guestbook-entry small {
    color: rgba(var(--bs-white-rgb), 0.7);
}
body.theme-light #gaestebuch .guestbook-card,
body.theme-light #gaestebuch .guestbook-entry {
    background: rgba(var(--bs-light-rgb), 0.9);
    border-color: rgba(var(--bs-dark-rgb), 0.38);
}
body.theme-light #gaestebuch .guestbook-entry-head {
    border-color: rgba(var(--bs-dark-rgb), 0.35);
}
body.theme-light #gaestebuch .guestbook-entry small {
    color: rgba(var(--bs-dark-rgb), 0.65);
}
body.theme-dark #gaestebuch .form-control {
    background: rgba(var(--bs-dark-rgb), 0.85);
    color: var(--bs-light);
    border-color: rgba(var(--bs-light-rgb), 0.35);
}
body.theme-dark #gaestebuch .form-control:focus {
    background: rgba(var(--bs-dark-rgb), 1);
    color: var(--bs-white);
    border-color: var(--bs-primary);
    box-shadow: 0 0 0 0.2rem rgba(var(--bs-primary-rgb), 0.18);
}
body.theme-dark #gaestebuch .form-control::placeholder {
    color: rgba(var(--bs-white-rgb), 0.7);
}
body.theme-dark #gaestebuch input[type='text'],
body.theme-dark #gaestebuch input[type='email'],
body.theme-dark #gaestebuch textarea {
    background: rgba(var(--bs-dark-rgb), 0.85);
    color: var(--bs-light);
    border-color: rgba(var(--bs-light-rgb), 0.35);
}
body.theme-dark #gaestebuch input[type='text']:focus,
body.theme-dark #gaestebuch input[type='email']:focus,
body.theme-dark #gaestebuch textarea:focus {
    background: rgba(var(--bs-dark-rgb), 1);
    color: var(--bs-white);
    border-color: var(--bs-primary);
    box-shadow: 0 0 0 0.2rem rgba(var(--bs-primary-rgb), 0.18);
}
body.theme-dark #gaestebuch input[type='text']::placeholder,
body.theme-dark #gaestebuch input[type='email']::placeholder,
body.theme-dark #gaestebuch textarea::placeholder {
    color: rgba(var(--bs-white-rgb), 0.7);
}
body.theme-light #gaestebuch .btn-primary {
    background-color: #0d6efd !important;
    border-color: #0d6efd !important;
    color: #fff !important;
}
body.theme-light #gaestebuch .btn-primary:hover,
body.theme-light #gaestebuch .btn-primary:focus,
body.theme-light #gaestebuch .btn-primary:active {
    background-color: #0b5ed7 !important;
    border-color: #0a58ca !important;
    color: #fff !important;
}
body.theme-dark #gaestebuch .btn-primary {
    background-color: #2f3942 !important;
    border-color: #3a4650 !important;
    color: #f8f9fa !important;
}
body.theme-dark #gaestebuch .btn-primary:hover,
body.theme-dark #gaestebuch .btn-primary:focus,
body.theme-dark #gaestebuch .btn-primary:active {
    background-color: #253039 !important;
    border-color: #2e3943 !important;
    color: #ffffff !important;
}
@media (max-width: 767.98px) {
    #gaestebuch {
        padding-top: 3rem;
        padding-bottom: 3rem;
    }
}
/* Navbar Styles aus navbar.php */
/* Globale Schriftgröße für die gesamte Seite */
html {
    font-size: 11px;
}
@media (max-width: 575.98px) {
    html {
        font-size: 14px;
    }
}
body.theme-dark {
    background-color: var(--bs-dark);
    color: var(--bs-light);
}
body.theme-light {
    background-color: var(--bs-light);
    color: #222;
}
/* Navbar Hintergrund: Dark/Light Mode */
body.theme-dark .navbar {
    background-color: #000 !important;
}
/* entfernt: nie hell, immer schwarz */

/* entfernt: Navbar bleibt immer schwarz mit weißer Schrift */
/* Navbar immer schwarz, Text weiß (auch im hellen Modus) */
/* Navbar immer schwarz, Text weiß (auch im hellen Modus) */
.navbar {
    background: #000 !important;
    border-bottom: 1px solid #444 !important;
}
.navbar .container-fluid {
    background: #000 !important;
    color: #fff !important;
}
.navbar #navbarNav.navbar-mobile-panel {
    background: #000 !important;
    color: #fff !important;
}
.navbar .navbar-brand,
.navbar .nav-link,
.navbar .dropdown-item {
    color: #fff !important;
}
.navbar .nav-link.active,
.navbar .dropdown-item.active {
    color: #ffe082 !important;
    background: #181a1b !important;
}
.navbar .dropdown-menu {
    background: #23272b !important;
    border-color: #444 !important;
}
.navbar .dropdown-item:hover,
.navbar .dropdown-item:focus {
    background: #181a1b !important;
    color: #ffe082 !important;
}
.navbar .btn-outline-light {
    border-color: #ffe082 !important;
    color: #ffe082 !important;
}
.navbar .btn-outline-light:hover {
    background: #ffe082 !important;
    color: #23272b !important;
}
.maintenance-badge {
    font-weight: 600;
    line-height: 1;
    border-radius: 999px;
    padding: 0.38rem 0.6rem;
    border: 1px solid rgba(var(--bs-warning-rgb), 0.7);
    background: rgba(var(--bs-warning-rgb), 0.2);
    color: #fff;
    white-space: nowrap;
}
body.theme-light .maintenance-badge {
    color: var(--bs-dark);
    border-color: rgba(var(--bs-dark-rgb), 0.32);
    background: rgba(var(--bs-warning-rgb), 0.35);
}
@media (max-width: 991.98px) {
    #navbarNav.navbar-mobile-panel {
        position: fixed;
        top: 0;
        left: -295px;
        width: 280px;
        height: 100vh;
        overflow-y: auto;
        background: rgba(0, 0, 0, 0.96);
        padding: 1rem;
        z-index: 1050;
        transition: left 0.25s ease;
        box-shadow: 0 0 30px rgba(0, 0, 0, 0.5);
    }
    #navbarNav.navbar-mobile-panel.show {
        left: 0;
    }
    #navbarNav.navbar-mobile-panel .navbar-nav {
        margin-top: 2.5rem;
    }
    body.theme-light #navbarNav.navbar-mobile-panel {
        background: rgba(0, 0, 0, 0.96);
    }
    body.theme-light #navbarNav.navbar-mobile-panel .nav-link,
    body.theme-light #navbarNav.navbar-mobile-panel .dropdown-item,
    body.theme-light #navbarNav.navbar-mobile-panel .dropdown-toggle {
        color: #fff !important;
    }
}
@media (min-width: 992px) {
    #navbarNav.navbar-mobile-panel {
        position: static;
        left: 0;
        width: auto;
        height: auto;
        padding: 0;
        background: #000 !important;
        overflow: visible;
        box-shadow: none;
        transition: none;
    }
}

/* Vergrößertes Sponsor-Bild */
.sponsor-img-large {
    max-width: 320px;
    width: 100%;
    height: auto;
    display: block;
    margin-left: auto;
    margin-right: auto;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.18);
    border-radius: 12px;
    transition: transform 0.2s;
}
/* Hamburger-Menü in mobiler Ansicht nach links verschieben */
@media (max-width: 600px) {
    .sponsor-img-large {
        max-width: 90vw;
    }
}

/* --- Kopierte Regeln aus assets/styles.css (Stand: 25.02.2026) --- */
/* Wasserzeichen global sichtbar machen */
.wasserzeichen {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    opacity: 0.12;
    z-index: 100;
    pointer-events: none;
    width: 60vw;
    max-width: 700px;
    min-width: 300px;
    display: block !important;
    filter: none !important;
    mix-blend-mode: lighten;
}

body.theme-light .wasserzeichen {
    opacity: 0.1 !important;
    color: #888 !important;
    filter: none !important;
    display: block !important;
    text-shadow:
        0 0 10px rgba(255, 255, 255, 0.45),
        0 0 3px rgba(255, 255, 255, 0.35);
    mix-blend-mode: multiply;
}

/* --- Ende Kopie aus assets/styles.css --- */

/*
 * Ausgelagerte CSS aus index.php
 * Stand: 25.02.2026
 */

html {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    height: 100%;
    scroll-behavior: smooth;
}
*,
*::before,
*::after {
    box-sizing: border-box;
}
body {
    font-size: 15px;
    color: #222;
}
body:not(.theme-dark):not(.theme-light) {
    background: #f7f7f7;
}
body.navbar-fixed {
    margin-top: 55px;
}
a,
a:hover,
a:visited,
a:focus {
    text-decoration: none !important;
}
.filename,
td,
th {
    white-space: nowrap;
}
.navbar-brand {
    font-weight: bold;
}
.nav-item.avatar a {
    cursor: pointer;
    text-transform: capitalize;
}
.nav-item.avatar a > i {
    font-size: 15px;
}
.nav-item.avatar .dropdown-menu a {
    font-size: 13px;
}
#search-addon {
    font-size: 12px;
    border-right-width: 0;
}
.brl-0 {
    background: transparent;
    border-left: 0;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}
.brr-0 {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}
.bread-crumb {
    color: #cccccc;
    font-style: normal;
}
#main-table {
    transition:
        transform 0.25s cubic-bezier(0.4, 0.5, 0, 1),
        width 0s 0.25s;
}
#main-table .filename a {
    color: #222222;
}
.table td,
.table th {
    vertical-align: middle !important;
}
.table .custom-checkbox-td .custom-control.custom-checkbox,
.table .custom-checkbox-header .custom-control.custom-checkbox {
    min-width: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.table-sm td,
.table-sm th {
    padding: 0.4rem;
}
.table-bordered td,
.table-bordered th {
    border: 1px solid #f1f1f1;
}
.hidden {
    display: none;
}
pre.with-hljs {
    padding: 0;
    overflow: hidden;
}
pre.with-hljs code {
    margin: 0;
    border: 0;
    overflow: scroll;
}
code.maxheight,
pre.maxheight {
    max-height: 512px;
}
.fa.fa-caret-right {
    font-size: 1.2em;
    margin: 0 4px;
    vertical-align: middle;
    color: #ececec;
}
.fa.fa-home {
    font-size: 1.3em;
    vertical-align: bottom;
}
.path {
    margin-bottom: 10px;
}
form.dropzone {
    min-height: 200px;
    border: 2px dashed #007bff;
    line-height: 6rem;
}
.right {
    text-align: right;
}
.center,
.close,
.login-form,
.preview-img-container {
    text-align: center;
}
.message {
    padding: 4px 7px;
    border: 1px solid #ddd;
    background-color: #fff;
}
.message.ok {
    border-color: green;
    color: green;
}
.message.error {
    border-color: red;
    color: red;
}
.message.alert {
    border-color: orange;
    color: orange;
}
.preview-img {
    max-width: 100%;
    max-height: 80vh;
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAKklEQVR42mL5//8/Azbw+PFjrOJMDCSCUQ3EABZc4S0rKzsaSvTTABBgAMyfCMsY4B9iAAAAAElFTkSuQmCC);
    cursor: zoom-in;
}
input#preview-img-zoomCheck[type='checkbox'] {
    display: none;
}
input#preview-img-zoomCheck[type='checkbox']:checked ~ label > img {
    max-width: none;
    max-height: none;
    cursor: zoom-out;
}
.inline-actions > a > i {
    font-size: 1em;
    margin-left: 5px;
    background: #3785c1;
    color: #fff;
    padding: 3px 4px;
    border-radius: 3px;
}
.preview-video {
    position: relative;
    max-width: 100%;
    height: 0;
    padding-bottom: 62.5%;
    margin-bottom: 10px;
}
.preview-video video {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background: #000;
}
.compact-table {
    border: 0;
    width: auto;
}
.compact-table td,
.compact-table th {
    width: 100px;
    border: 0;
    text-align: center;
}
.compact-table tr:hover td {
    background-color: #fff;
}
.filename {
    max-width: 420px;
    overflow: hidden;
    text-overflow: ellipsis;
}
.break-word {
    word-wrap: break-word;
    margin-left: 30px;
}
.break-word.float-left a {
    color: #7d7d7d;
}
.break-word + .float-right {
    padding-right: 30px;
    position: relative;
}
.break-word + .float-right > a {
    color: #7d7d7d;
    font-size: 1.2em;
    margin-right: 4px;
}
#editor {
    position: absolute;
    right: 15px;
    top: 100px;
    bottom: 15px;
    left: 15px;
}
@media (max-width: 481px) {
    #editor {
        top: 150px;
    }
}
#normal-editor {
    border-radius: 3px;
    border-width: 2px;
    padding: 10px;
    outline: none;
}
.btn-2 {
    padding: 4px 10px;
    font-size: small;
}
li.file:before,
li.folder:before {
    font: normal normal normal 14px/1 FontAwesome;
    content: '\f016';
    margin-right: 5px;
}
li.folder:before {
    content: '\f114';
}
i.fa.fa-folder-o {
    color: #0157b3;
}
i.fa.fa-picture-o {
    color: #26b99a;
}
i.fa.fa-file-archive-o {
    color: #da7d7d;
}
.btn-2 i.fa.fa-file-archive-o {
    color: inherit;
}
i.fa.fa-css3 {
    color: #f36fa0;
}
i.fa.fa-file-code-o {
    color: #007bff;
}
i.fa.fa-code {
    color: #cc4b4c;
}
i.fa.fa-file-text-o {
    color: #0096e6;
}
i.fa.fa-html5 {
    color: #d75e72;
}
i.fa.fa-file-excel-o {
    color: #09c55d;
}
i.fa.fa-file-powerpoint-o {
    color: #f6712e;
}
i.go-back {
    font-size: 1.2em;
    color: #007bff;
}
.main-nav {
    padding: 0.2rem 1rem;
    box-shadow:
        0 4px 5px 0 rgba(0, 0, 0, 0.14),
        0 1px 10px 0 rgba(0, 0, 0, 0.12),
        0 2px 4px -1px rgba(0, 0, 0, 0.2);
}
/* Größere Sponsorenbilder */
.sponsor-img-large {
    max-width: 320px;
    max-height: 160px;
    width: auto;
    height: auto;
    display: block;
    margin: 0 auto;
}
.sponsor-img-xxl {
    max-width: 480px !important;
    max-height: 240px !important;
    width: auto;
    height: auto;
    display: block;
    margin: 0 auto;
}
/* Transparenter Hintergrund für Bannertext */
.banner-text {
    background: rgba(0, 0, 0, 0.4);
    color: #fff;
    padding: 1em 2em;
    border-radius: 8px;
    display: inline-block;
}
.welcome-text {
    background: rgba(28, 36, 41, 0.7);
    color: #cfd8dc;
    padding: 1em 2em;
    border-radius: 8px;
    display: inline-block;
}

/* Globale Button-Optik: gelb mit weißer Schrift */
button,
input[type='submit'],
input[type='button'],
.btn:not(.btn-close),
a.btn {
    background-color: #ffc107 !important;
    border-color: #ffc107 !important;
    color: #fff !important;
}

button:hover,
button:focus,
button:active,
input[type='submit']:hover,
input[type='submit']:focus,
input[type='submit']:active,
input[type='button']:hover,
input[type='button']:focus,
input[type='button']:active,
.btn:not(.btn-close):hover,
.btn:not(.btn-close):focus,
.btn:not(.btn-close):active,
a.btn:hover,
a.btn:focus,
a.btn:active {
    background-color: #e0a800 !important;
    border-color: #e0a800 !important;
    color: #fff !important;
}

/* Ausnahme: Danger-Buttons bleiben rot */
.btn-danger,
button.btn-danger,
input.btn-danger,
a.btn-danger {
    background-color: #dc3545 !important;
    border-color: #dc3545 !important;
    color: #fff !important;
}

.btn-danger:hover,
.btn-danger:focus,
.btn-danger:active,
button.btn-danger:hover,
button.btn-danger:focus,
button.btn-danger:active,
input.btn-danger:hover,
input.btn-danger:focus,
input.btn-danger:active,
a.btn-danger:hover,
a.btn-danger:focus,
a.btn-danger:active {
    background-color: #bb2d3b !important;
    border-color: #b02a37 !important;
    color: #fff !important;
}

/* Ausnahme: Success-Buttons bleiben grün */
.btn-success,
button.btn-success,
input.btn-success,
a.btn-success {
    background-color: #198754 !important;
    border-color: #198754 !important;
    color: #fff !important;
}

.btn-success:hover,
.btn-success:focus,
.btn-success:active,
button.btn-success:hover,
button.btn-success:focus,
button.btn-success:active,
input.btn-success:hover,
input.btn-success:focus,
input.btn-success:active,
a.btn-success:hover,
a.btn-success:focus,
a.btn-success:active {
    background-color: #157347 !important;
    border-color: #146c43 !important;
    color: #fff !important;
}

/* Ausnahme: Secondary-Buttons bleiben grau */
.btn-secondary,
button.btn-secondary,
input.btn-secondary,
a.btn-secondary {
    background-color: #6c757d !important;
    border-color: #6c757d !important;
    color: #fff !important;
}

.btn-secondary:hover,
.btn-secondary:focus,
.btn-secondary:active,
button.btn-secondary:hover,
button.btn-secondary:focus,
button.btn-secondary:active,
input.btn-secondary:hover,
input.btn-secondary:focus,
input.btn-secondary:active,
a.btn-secondary:hover,
a.btn-secondary:focus,
a.btn-secondary:active {
    background-color: #5c636a !important;
    border-color: #565e64 !important;
    color: #fff !important;
}

/* Light Mode: alle Buttons blau */
body.theme-light button:not(.btn-close):not(.btn-link):not(.gallery-folder-toggle),
body.theme-light .btn:not(.btn-close):not(.btn-link):not(.gallery-folder-toggle),
body.theme-light input[type='submit']:not(.btn-close),
body.theme-light input[type='button']:not(.btn-close) {
    background-color: #0d6efd !important;
    border-color: #0d6efd !important;
    color: #fff !important;
}
body.theme-light button:not(.btn-close):not(.btn-link):not(.gallery-folder-toggle):hover,
body.theme-light .btn:not(.btn-close):not(.btn-link):not(.gallery-folder-toggle):hover,
body.theme-light input[type='submit']:not(.btn-close):hover,
body.theme-light input[type='button']:not(.btn-close):hover {
    background-color: #0b5ed7 !important;
    border-color: #0a58ca !important;
    color: #fff !important;
}

/* Dark Mode: alle Buttons in einheitlichem dunklen Schema */
body.theme-dark button:not(.btn-close):not(.gallery-folder-toggle),
body.theme-dark input[type='submit'],
body.theme-dark input[type='button'],
body.theme-dark .btn:not(.btn-close),
body.theme-dark a.btn {
    background-color: #2f3942 !important;
    border-color: #3a4650 !important;
    color: #f8f9fa !important;
}

body.theme-dark button:not(.btn-close):not(.gallery-folder-toggle):hover,
body.theme-dark button:not(.btn-close):not(.gallery-folder-toggle):focus,
body.theme-dark button:not(.btn-close):not(.gallery-folder-toggle):active,
body.theme-dark input[type='submit']:hover,
body.theme-dark input[type='submit']:focus,
body.theme-dark input[type='submit']:active,
body.theme-dark input[type='button']:hover,
body.theme-dark input[type='button']:focus,
body.theme-dark input[type='button']:active,
body.theme-dark .btn:not(.btn-close):hover,
body.theme-dark .btn:not(.btn-close):focus,
body.theme-dark .btn:not(.btn-close):active,
body.theme-dark a.btn:hover,
body.theme-dark a.btn:focus,
body.theme-dark a.btn:active {
    background-color: #253039 !important;
    border-color: #2e3943 !important;
    color: #ffffff !important;
}

/* Toastr global: kein transparenter Hintergrund */
#toast-container > div {
    opacity: 1 !important;
    -ms-filter: none !important;
    filter: none !important;
}

#toast-container > .toast-success {
    background-color: #198754 !important;
}

#toast-container > .toast-error {
    background-color: #dc3545 !important;
}

#toast-container > .toast-info {
    background-color: #0d6efd !important;
}

#toast-container > .toast-warning {
    background-color: #fd7e14 !important;
}

/* Todo-Inputfeld: garantiertes Farbschema, ganz am Ende! */
@media (prefers-color-scheme: light) {
    .container .todo-input {
        background-color: #fff !important;
        color: #222 !important;
        border-color: #ced4da !important;
    }
    .container .todo-input::placeholder {
        color: #888 !important;
    }
}
@media (prefers-color-scheme: dark) {
    .container .todo-input {
        background-color: #111 !important;
        color: #fff !important;
        border-color: #444 !important;
    }
    .container .todo-input::placeholder {
        color: #bbb !important;
    }
}

/* Todo-Button und Inputfeld: garantiertes Farbschema, überschreibt alles */
@media (prefers-color-scheme: light) {
    .container .btn-primary#addBtn {
        background-color: #0d6efd !important;
        border-color: #0d6efd !important;
        color: #fff !important;
        opacity: 1 !important;
    }
}
@media (prefers-color-scheme: dark) {
    .container .btn-primary#addBtn {
        background-color: #0d6efd !important;
        border-color: #0d6efd !important;
        color: #fff !important;
        opacity: 1 !important;
    }
}
