/* =========================================================
   handwerkXcampus Relaunch mit Falcon
   ========================================================= */


/* =========================================================
   Globale Campus-Grundwerte
   ========================================================= */

body {
    overflow-x: hidden;
}

body.modal-open {
    overflow: hidden;
    padding-right: 0 !important;
}

#campusConfirmModal.modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1090;
}

#campusConfirmModal .modal-dialog {
    width: calc(100% - 2rem);
    max-width: 28rem;
    min-width: 0;
    margin: 1.25rem auto;
}

#campusConfirmModal .modal-content {
    overflow: hidden;
    border: 0;
    box-shadow: 0 0.75rem 2rem rgba(43, 52, 69, 0.18);
}

#campusConfirmModal .modal-header {
    border-bottom: 0;
    padding: 0.9rem 1.25rem;
    color: #212529;
}

#campusConfirmModal .modal-title,
#campusConfirmModal .modal-body {
    white-space: normal;
    word-break: normal;
    overflow-wrap: break-word;
}

#campusConfirmModal .modal-title {
    font-size: 1.05rem;
    font-weight: 600;
    line-height: 1.35;
    color: inherit;
}

#campusConfirmModal .modal-body {
    padding: 1.15rem 1.25rem;
}

#campusConfirmModal .modal-footer {
    border-top: 1px solid var(--falcon-border-color, #edf2f9);
    padding: 0.85rem 1.25rem;
}

#campusConfirmModal.campus-confirm-danger .modal-header {
    background: #e63757;
}

#campusConfirmModal.campus-confirm-warning .modal-header {
    background: #e6a800;
}

#campusConfirmModal.campus-confirm-success .modal-header {
    background: #00d27a;
}

#campusConfirmModal.campus-confirm-info .modal-header {
    background: #27bcfd;
}

#campusConfirmModal.campus-confirm-primary .modal-header {
    background: #2c7be5;
}

#campusConfirmModal.campus-confirm-primary.campus-theme-firma .modal-header {
    background: var(--campus-mobile-nav-button);
}

#campusConfirmModal.campus-confirm-header-dark .modal-header {
    color: #fff;
}

#campusConfirmModal.campus-confirm-header-light .modal-header {
    color: #212529;
}

#campusConfirmModal .modal-header .btn-close {
    opacity: 0.92;
}

#campusConfirmModal .modal-header .btn-close:hover,
#campusConfirmModal .modal-header .btn-close:focus {
    opacity: 1;
}

@media (max-width: 575.98px) {
    #campusConfirmModal .modal-dialog {
        width: calc(100% - 1rem);
        margin: 0.75rem auto;
    }

    #campusConfirmModal .modal-header {
        padding: 0.75rem 1rem;
    }

    #campusConfirmModal .modal-title {
        font-size: 0.98rem;
    }

    #campusConfirmModal .modal-body {
        padding: 0.95rem 1rem;
        font-size: 0.95rem;
    }

    #campusConfirmModal .modal-footer {
        padding: 0.75rem 1rem;
        gap: 0.5rem;
    }

    #campusConfirmModal .modal-footer .btn {
        font-size: 0.92rem;
        padding: 0.45rem 0.9rem;
    }
}

:root {
    --campus-logo-color: #064366;
    --campus-logo-color-hover: #042d4b;
    /* Safe Area (iOS Safari / WKWebView mit viewport-fit=cover) */
    --campus-safe-top: env(safe-area-inset-top, 0px);
    --campus-safe-right: env(safe-area-inset-right, 0px);
    --campus-safe-bottom: env(safe-area-inset-bottom, 0px);
    --campus-safe-left: env(safe-area-inset-left, 0px);
    /* Inhaltszeile der Navbar; --campus-navbar-height inkl. Safe-Top für sticky/offset */
    --campus-navbar-bar-height: 58px;
    --campus-navbar-height: calc(var(--campus-navbar-bar-height) + var(--campus-safe-top));
    --campus-navbar-content-gap: 1.5rem;
    --campus-page-max-width: 1320px;
    --campus-desktop-side-nav-width: 13.25rem;
    --campus-desktop-side-nav-width-collapsed: 2.85rem;
    --campus-desktop-side-nav-gap: 0.75rem;
    --campus-desktop-side-nav-min-width: 1320px;
}

/*
 * TEMP Android-App-Fallback: WebView liefert oft kein env(safe-area-*).
 * Entfernen, sobald die Android-App WindowInsets nativ paddet (wie Mampfplan).
 */
body.campus-android-app {
    --campus-safe-top: 28px;
    --campus-safe-right: 0px;
    --campus-safe-bottom: 48px;
    --campus-safe-left: 0px;
}

/* Safe-Area nur wo nötig: Mobile + Native-App (Desktop bleibt unberührt) */
@media (max-width: 767.98px) {
    body {
        padding-bottom: var(--campus-safe-bottom);
        padding-left: var(--campus-safe-left);
        padding-right: var(--campus-safe-right);
    }

    .modal {
        padding-top: var(--campus-safe-top);
        padding-right: var(--campus-safe-right);
        padding-bottom: var(--campus-safe-bottom);
        padding-left: var(--campus-safe-left);
    }
}

body.campus-native-app {
    padding-bottom: var(--campus-safe-bottom);
    padding-left: var(--campus-safe-left);
    padding-right: var(--campus-safe-right);
}

body.campus-native-app .modal {
    padding-top: var(--campus-safe-top);
    padding-right: var(--campus-safe-right);
    padding-bottom: var(--campus-safe-bottom);
    padding-left: var(--campus-safe-left);
}

a {
    text-decoration: none;
}


/* =========================================================
   Start-Navigation
   ========================================================= */

.campus-start-navbar {
    min-height: var(--campus-navbar-bar-height);
    z-index: 1030;
    padding-top: 0;
    padding-left: 0;
    padding-right: 0;
    background: rgba(4, 45, 75, .18);
    box-shadow: 0 .125rem .375rem rgba(0, 0, 0, .02);
    transition: background-color .35s ease, box-shadow .35s ease;
}

/* Desktop/Tablet: etwas mehr Luft oben, damit Logo/Links optisch mittig sitzen */
@media (min-width: 768px) {
    :root {
        --campus-navbar-desktop-pad-top: 0.55rem;
        --campus-navbar-height: calc(var(--campus-navbar-bar-height) + var(--campus-navbar-desktop-pad-top));
    }

    .campus-start-navbar {
        padding-top: var(--campus-navbar-desktop-pad-top);
        min-height: var(--campus-navbar-height);
        align-items: center;
    }
}

@media (max-width: 767.98px) {
    .campus-start-navbar {
        min-height: var(--campus-navbar-height);
        padding-top: var(--campus-safe-top);
    }
}

body.campus-native-app .campus-start-navbar {
    min-height: var(--campus-navbar-height);
    padding-top: var(--campus-safe-top);
}

@media (min-width: 768px) {
    body.campus-native-app .campus-start-navbar {
        padding-top: calc(var(--campus-safe-top) + var(--campus-navbar-desktop-pad-top));
        min-height: calc(var(--campus-navbar-bar-height) + var(--campus-safe-top) + var(--campus-navbar-desktop-pad-top));
    }
}

.campus-start-navbar.campus-navbar-locked,
.campus-start-navbar.campus-navbar-solid {
    position: sticky !important;
    top: 0;
    margin-bottom: var(--campus-navbar-content-gap);
}

.campus-start-navbar .container {
    min-height: var(--campus-navbar-bar-height);
}

.main .container {
    max-width: min(var(--campus-page-max-width), 100%);
    width: 100%;
}

.campus-start-navbar .navbar-brand {
    padding-top: 0;
    padding-bottom: 0;
    margin-right: 1.4rem;
}

.campus-start-navbar .navbar-brand img {
    display: block;
}

.campus-start-navbar .navbar-nav .nav-link {
    color: #ffffff;
    font-size: 1.15rem;
    line-height: 1.25;
    font-weight: 800;
    letter-spacing: .005em;
    transition: color .35s ease;
}

.campus-start-navbar .campus-nav-seminare > .nav-link {
    font-weight: 800;
}

.campus-start-navbar .navbar-toggler {
    border: 0;
    box-shadow: none;
    padding: 0;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.campus-start-navbar .navbar-toggler:focus {
    box-shadow: none;
}

@media (min-width: 768px) {
    .campus-start-navbar .navbar-toggler {
        display: none !important;
    }

    .campus-navbar-top,
    .campus-navbar-end {
        display: contents;
    }

    .campus-start-navbar .campus-navbar-collapse {
        display: flex !important;
        flex-grow: 1;
        align-items: center;
        align-self: stretch;
        min-height: var(--campus-navbar-bar-height);
        width: auto;
        max-width: none;
        max-height: none;
        height: auto;
        padding: 0;
        overflow: visible;
        background: transparent;
        box-shadow: none;
        border: 0;
    }

    .campus-start-navbar > .container {
        align-items: center;
        justify-content: flex-start;
        flex-wrap: nowrap;
    }

    .campus-navbar-toolbar {
        display: flex;
        align-items: center;
        gap: .5rem;
        margin-left: .5rem;
        flex: 0 0 auto;
    }

    .campus-start-navbar .navbar-nav {
        align-items: center;
        align-self: center;
    }

    .campus-start-navbar .navbar-nav .nav-item {
        display: flex;
        align-items: center;
    }

    .campus-start-navbar .navbar-nav .nav-link {
        display: inline-flex;
        align-items: center;
        min-height: 58px;
        padding-top: 0;
        padding-bottom: 0;
        line-height: 1.25;
    }

    .campus-start-navbar .campus-nav-seminare > .nav-link {
        line-height: 1.25;
    }
}

.campus-start-navbar .btn,
.campus-start-navbar .btn.btn-falcon-default,
.campus-start-navbar .btn.btn-falcon-default.btn-sm,
.campus-start-navbar .dropdown > .btn.btn-falcon-default.btn-sm {
    position: relative;
    min-width: 36px;
    width: 36px;
    height: 36px;
    min-height: 36px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    line-height: 1;
    border-radius: .38rem;
    overflow: visible;
}

/* Buttons in Dropdowns (z. B. Warenkorb) nicht als Icon-Buttons zwingen */
.campus-start-navbar .dropdown-menu .btn,
.campus-start-navbar .campus-navbar-toolbar .dropdown-menu .btn,
.campus-start-navbar .dropdown-menu .btn.btn-sm,
.campus-start-navbar .campus-navbar-toolbar .dropdown-menu .btn.btn-sm {
    width: auto;
    min-width: 0;
    height: auto;
    min-height: 0;
    padding: 0.25rem 0.65rem;
    font-size: 0.8rem;
    font-weight: 600;
    line-height: 1.2;
    justify-content: center;
    white-space: nowrap;
}

.campus-start-navbar .dropdown-menu .btn > svg,
.campus-start-navbar .dropdown-menu .btn > .svg-inline--fa,
.campus-start-navbar .dropdown-menu .btn > i,
.campus-start-navbar .dropdown-menu .btn > span.fas,
.campus-start-navbar .dropdown-menu .btn > span.far,
.campus-start-navbar .dropdown-menu .btn > span.fa {
    display: inline-block;
    width: auto;
    height: auto;
    margin: 0;
    line-height: 1;
}

/* Mega-Menü CTA: kein Navbar-Icon-Button (36×36 + Kreis) */
.campus-start-navbar .campus-mega-dropdown .btn,
.campus-start-navbar .campus-mega-dropdown .btn.btn-primary {
    width: auto;
    min-width: 0;
    height: auto;
    min-height: 0;
    padding: 0.55rem 1.35rem;
    font-size: 0.925rem;
    font-weight: 600;
    line-height: 1.25;
    border-radius: 50rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    white-space: nowrap;
    overflow: visible;
}

.campus-start-navbar .campus-mega-dropdown .btn > svg,
.campus-start-navbar .campus-mega-dropdown .btn > .svg-inline--fa,
.campus-start-navbar .campus-mega-dropdown .btn > i,
.campus-start-navbar .campus-mega-dropdown .btn > span.fas,
.campus-start-navbar .campus-mega-dropdown .btn > span.far,
.campus-start-navbar .campus-mega-dropdown .btn > span.fa {
    display: inline-block;
    width: 1em;
    height: 1em;
    margin: 0;
    font-size: 0.95em;
    line-height: 1;
    flex: 0 0 auto;
}

.campus-v2-nav-warenkorb-bild img {
    display: block;
    width: 72px;
    height: 54px;
    object-fit: cover;
    border-radius: 0.25rem;
}

.campus-v2-nav-warenkorb-titel {
    color: var(--falcon-body-color, #344050);
    word-break: break-word;
}

.campus-v2-nav-warenkorb-titel:hover {
    color: var(--falcon-primary, #2c7be5);
}

.campus-v2-nav-warenkorb-item:last-child {
    border-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* Warenkorb-Aktionen ohne Bootstrap-.btn – sonst greifen Navbar-Icon-Regeln */
.campus-v2-nav-warenkorb-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
}

.campus-v2-nav-warenkorb-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-width: 0;
    height: auto;
    min-height: 0;
    padding: 0.3rem 0.7rem;
    border-radius: 0.25rem;
    border: 1px solid transparent;
    font-size: 0.8rem;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    white-space: nowrap;
    box-sizing: border-box;
}

.campus-v2-nav-warenkorb-link-primary {
    background-color: var(--falcon-primary, #2c7be5);
    border-color: var(--falcon-primary, #2c7be5);
    color: #fff;
}

.campus-v2-nav-warenkorb-link-primary:hover,
.campus-v2-nav-warenkorb-link-primary:focus {
    filter: brightness(1.05);
    color: #fff;
    text-decoration: none;
}

.campus-theme-firma .campus-v2-nav-warenkorb-link-primary {
    background-color: var(--campus-mobile-nav-button);
    border-color: var(--campus-mobile-nav-button);
    color: var(--campus-mobile-nav-text);
}

.campus-theme-firma .campus-v2-nav-warenkorb-link-primary:hover,
.campus-theme-firma .campus-v2-nav-warenkorb-link-primary:focus {
    background-color: color-mix(in srgb, var(--campus-mobile-nav-button) 84%, #ffffff);
    border-color: color-mix(in srgb, var(--campus-mobile-nav-button) 84%, #ffffff);
    color: var(--campus-mobile-nav-text);
    filter: none;
}

.campus-v2-nav-warenkorb-link-danger {
    background-color: #fff !important;
    border-color: var(--falcon-danger, #e63757);
    color: var(--falcon-danger, #e63757);
}

.campus-v2-nav-warenkorb-link-danger:hover,
.campus-v2-nav-warenkorb-link-danger:focus {
    background-color: var(--falcon-danger, #e63757) !important;
    border-color: var(--falcon-danger, #e63757);
    color: #fff;
    text-decoration: none;
}

.campus-v2-nav-warenkorb-card {
    width: 30rem;
    max-width: 90vw;
}

.campus-start-navbar .btn.campus-nav-login-btn,
.campus-start-navbar .btn.btn-falcon-default.campus-nav-login-btn,
.campus-start-navbar .btn.btn-falcon-default.btn-sm.campus-nav-login-btn {
    width: auto;
    min-width: 0;
    padding: 0 .9rem;
    font-size: .82rem;
    font-weight: 600;
    white-space: nowrap;
}

.campus-start-navbar .btn-falcon-default {
    background: rgba(255, 255, 255, .13);
    border-color: rgba(255, 255, 255, .28);
    color: #ffffff;
    transition: background-color .35s ease, border-color .35s ease, color .35s ease;
}

.campus-start-navbar:not(.navbar-ist-gescrollt) .btn-falcon-default:hover,
.campus-start-navbar:not(.navbar-ist-gescrollt) .btn-falcon-default:hover:not(.disabled):not(:disabled),
.campus-start-navbar:not(.navbar-ist-gescrollt) .btn-falcon-default:focus,
.campus-start-navbar:not(.navbar-ist-gescrollt) .btn-falcon-default:active {
    background: #ffffff;
    border-color: #ffffff;
    color: #042d4b;
}

/* Dropdown-Pfeile bei Icon-Buttons ausblenden */
.campus-start-navbar .btn.dropdown-toggle::after,
.campus-start-navbar .dropdown > .btn.dropdown-toggle::after {
    display: none;
}

/* Icons in Top-Buttons exakt zentrieren */
.campus-start-navbar .btn > svg,
.campus-start-navbar .btn > .svg-inline--fa,
.campus-start-navbar .btn > i,
.campus-start-navbar .btn > span.fas,
.campus-start-navbar .btn > span.far,
.campus-start-navbar .btn > span.fa {
    display: block;
    width: 1em;
    height: 1em;
    margin: 0;
    line-height: 1;
    flex: 0 0 auto;
}

.campus-start-navbar .btn .svg-inline--fa {
    vertical-align: middle;
}

.campus-start-navbar .avatar,
.campus-start-navbar .avatar.avatar-m {
    width: 36px;
    height: 36px;
    min-width: 36px;
    display: block;
}

.campus-start-navbar .avatar img,
.campus-start-navbar .avatar.avatar-m img {
    width: 36px;
    height: 36px;
    object-fit: cover;
    display: block;
}

.campus-start-navbar .badge {
    font-size: .62rem;
    line-height: 1;
}

.campus-start-navbar #nav-oben-notification-user-glocke,
.campus-start-navbar #warenkorb-navigation-anzahl {
    position: absolute;
    top: -6px;
    right: -6px;
    min-width: 16px;
    height: 16px;
    padding: 2px 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.campus-start-navbar .btn.campus-nav-intranet-btn,
.campus-start-navbar .btn.btn-falcon-default.campus-nav-intranet-btn,
.campus-start-navbar .btn.btn-falcon-default.btn-sm.campus-nav-intranet-btn {
    width: 36px;
    min-width: 36px;
    height: 36px;
    min-height: 36px;
    padding: 2px 1px;
    flex-direction: column;
    line-height: 1;
}

.campus-nav-intranet-label {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    line-height: 1.55;
}

.campus-nav-intranet-brand,
.campus-nav-intranet-sub {
    font-size: calc(.48rem - 1px);
    font-weight: 700;
    letter-spacing: .03em;
}

.campus-start-navbar .campus-nav-icon-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.campus-start-navbar .campus-nav-main-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1em;
    height: 1em;
    margin: 0;
    line-height: 1;
}

.campus-start-navbar .campus-nav-mini-badge {
    position: absolute;
    min-width: 14px;
    height: 14px;
    padding: 0;
    border-radius: 999px;
    font-size: .55rem;
    line-height: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.campus-start-navbar .campus-nav-mini-badge-warning {
    top: -6px;
    left: -6px;
    background: #f7c948;
    color: #1f2f46;
}

.campus-start-navbar .campus-nav-mini-badge-danger {
    top: -6px;
    right: -6px;
    background: #e63757;
    color: #ffffff;
}

.campus-start-navbar .campus-nav-mini-badge svg,
.campus-start-navbar .campus-nav-mini-badge .svg-inline--fa {
    width: .65em;
    height: .65em;
    margin: 0;
}

.campus-start-navbar.navbar-ist-gescrollt {
    background: #ffffff;
    box-shadow: 0 .125rem .55rem rgba(0, 0, 0, .10);
}

.campus-start-navbar.navbar-ist-gescrollt .nav-link {
    color: var(--campus-logo-color);
}

.campus-start-navbar.navbar-ist-gescrollt .nav-link:hover,
.campus-start-navbar.navbar-ist-gescrollt .nav-link:focus {
    color: var(--campus-logo-color-hover);
}

.campus-start-navbar.navbar-ist-gescrollt .btn-falcon-default {
    background: #ffffff;
    border-color: rgba(31, 47, 70, .12);
    color: #1f2f46;
}

.campus-start-navbar.navbar-ist-gescrollt .btn-falcon-default:hover {
    background: #f6f8fb;
    color: #2c7be5;
}

/* Firmenfarben dauerhaft in der NAV */
.campus-start-navbar.campus-navbar-themed {
    --campus-mobile-nav-primary-dark: color-mix(in srgb, var(--campus-mobile-nav-primary) 72%, #000000);
    background: color-mix(in srgb, var(--campus-mobile-nav-primary) 18%, transparent);
    box-shadow: 0 .125rem .375rem rgba(0, 0, 0, .02);
}

.campus-start-navbar.campus-navbar-themed.navbar-ist-gescrollt,
.campus-start-navbar.campus-navbar-themed.campus-navbar-locked,
.campus-start-navbar.campus-navbar-themed.campus-navbar-solid {
    background: var(--campus-mobile-nav-primary);
    box-shadow: 0 .125rem .55rem rgba(0, 0, 0, .12);
}

.campus-start-navbar.campus-navbar-themed .navbar-nav .nav-link,
.campus-start-navbar.campus-navbar-themed .nav-link,
.campus-start-navbar.campus-navbar-themed.navbar-ist-gescrollt .nav-link,
.campus-start-navbar.campus-navbar-themed.navbar-ist-gescrollt .nav-link:hover,
.campus-start-navbar.campus-navbar-themed.navbar-ist-gescrollt .nav-link:focus {
    color: var(--campus-mobile-nav-text);
}

.campus-start-navbar.campus-navbar-themed .nav-link:hover,
.campus-start-navbar.campus-navbar-themed .nav-link:focus {
    color: var(--campus-mobile-nav-text);
    opacity: .86;
}

.campus-start-navbar.campus-navbar-themed .btn-falcon-default,
.campus-start-navbar.campus-navbar-themed.navbar-ist-gescrollt .btn-falcon-default,
.campus-start-navbar.campus-navbar-themed .navbar-toggler {
    background: rgba(255, 255, 255, .13);
    border: 2px solid var(--campus-mobile-nav-button);
    color: var(--campus-mobile-nav-text);
}

.campus-start-navbar.campus-navbar-themed .btn-falcon-default:hover,
.campus-start-navbar.campus-navbar-themed .btn-falcon-default:focus,
.campus-start-navbar.campus-navbar-themed .btn-falcon-default:active,
.campus-start-navbar.campus-navbar-themed.navbar-ist-gescrollt .btn-falcon-default:hover {
    background: rgba(255, 255, 255, .22);
    border-color: var(--campus-mobile-nav-button);
    color: var(--campus-mobile-nav-text);
}

.campus-start-navbar.campus-navbar-themed .campus-navbar-search .form-control,
.campus-start-navbar.campus-navbar-themed .campus-navbar-search .form-control.input-suchbegriff,
.campus-start-navbar.campus-navbar-themed.navbar-ist-gescrollt .campus-navbar-search .form-control,
.campus-start-navbar.campus-navbar-themed.navbar-ist-gescrollt .campus-navbar-search .form-control.input-suchbegriff {
    background: rgba(255, 255, 255, .12);
    border: 2px solid var(--campus-mobile-nav-button);
    color: var(--campus-mobile-nav-text);
}

.campus-start-navbar.campus-navbar-themed .campus-navbar-search .form-control::placeholder,
.campus-start-navbar.campus-navbar-themed .campus-navbar-search .form-control.input-suchbegriff::placeholder,
.campus-start-navbar.campus-navbar-themed.navbar-ist-gescrollt .campus-navbar-search .form-control::placeholder,
.campus-start-navbar.campus-navbar-themed.navbar-ist-gescrollt .campus-navbar-search .form-control.input-suchbegriff::placeholder {
    color: color-mix(in srgb, var(--campus-mobile-nav-text) 72%, transparent);
}

.campus-start-navbar.campus-navbar-themed .campus-navbar-search .form-control:focus,
.campus-start-navbar.campus-navbar-themed .campus-navbar-search .form-control.input-suchbegriff:focus,
.campus-start-navbar.campus-navbar-themed.navbar-ist-gescrollt .campus-navbar-search .form-control:focus,
.campus-start-navbar.campus-navbar-themed.navbar-ist-gescrollt .campus-navbar-search .form-control.input-suchbegriff:focus {
    background: rgba(255, 255, 255, .18);
    border-color: var(--campus-mobile-nav-button);
    color: var(--campus-mobile-nav-text);
}

.campus-start-navbar.campus-navbar-themed.campus-navbar-mobile-themed-light-text .campus-logo-light,
.campus-start-navbar.campus-navbar-themed.campus-navbar-mobile-themed-light-text.navbar-ist-gescrollt .campus-logo-light {
    opacity: 1;
}

.campus-start-navbar.campus-navbar-themed.campus-navbar-mobile-themed-light-text .campus-logo-dark,
.campus-start-navbar.campus-navbar-themed.campus-navbar-mobile-themed-light-text.navbar-ist-gescrollt .campus-logo-dark {
    opacity: 0;
}

.campus-start-navbar.campus-navbar-themed:not(.campus-navbar-mobile-themed-light-text) .campus-logo-light,
.campus-start-navbar.campus-navbar-themed:not(.campus-navbar-mobile-themed-light-text).navbar-ist-gescrollt .campus-logo-light {
    opacity: 0;
}

.campus-start-navbar.campus-navbar-themed:not(.campus-navbar-mobile-themed-light-text) .campus-logo-dark,
.campus-start-navbar.campus-navbar-themed:not(.campus-navbar-mobile-themed-light-text).navbar-ist-gescrollt .campus-logo-dark {
    opacity: 1;
}

@media (max-width: 767.98px) {
    .campus-start-navbar,
    .campus-start-navbar.fixed-top {
        position: sticky !important;
        top: 0;
        min-height: var(--campus-navbar-height);
        background: #ffffff;
        box-shadow: 0 .125rem .375rem rgba(0, 0, 0, .08);
        /* Falcon setzt am Navbar zusätzlich padding-x — Cards haben nur Container-Padding */
        padding-top: var(--campus-safe-top);
        padding-left: 0;
        padding-right: 0;
        flex-wrap: wrap;
    }

    .campus-start-navbar .container {
        min-height: var(--campus-navbar-bar-height);
        justify-content: flex-start;
        flex-wrap: wrap;
        gap: 0;
        overflow: visible;
        padding-left: 0.45rem;
        padding-right: 0.45rem;
    }

    .campus-navbar-top {
        display: flex;
        align-items: center;
        align-self: flex-start;
        flex: 1 1 0;
        min-width: 0;
        min-height: var(--campus-navbar-bar-height);
        order: 1;
        gap: 0.3rem;
    }

    .campus-navbar-end {
        display: flex;
        align-items: center;
        align-self: flex-start;
        flex: 0 0 auto;
        min-height: var(--campus-navbar-bar-height);
        order: 2;
        gap: .4rem;
    }

    .campus-start-navbar .navbar-brand {
        margin-right: 0;
        margin-left: 0;
        flex: 0 0 auto;
    }

    /* Mit Firmenname: kleines Icon, Squircle-Ecken der PNG wegschneiden (scharfes Quadrat) */
    .campus-start-navbar .navbar-brand.campus-navbar-brand-with-firma {
        width: 34px;
        height: 34px;
        margin: 0;
        padding: 0;
        overflow: hidden;
        border-radius: 0;
        background: transparent;
        flex: 0 0 34px;
    }

    .campus-start-navbar .navbar-brand.campus-navbar-brand-with-firma .campus-navbar-logo-klein {
        display: block !important;
        width: 58px;
        height: 58px;
        max-width: none;
        margin: -12px;
        opacity: 1 !important;
        object-fit: cover;
        object-position: center;
        border-radius: 0;
    }

    /* Logo_klein*_weiss: transparenter Canvas – mix-blend nur falls dunkler Rest sichtbar */
    .campus-start-navbar.campus-navbar-mobile-themed-light-text .campus-navbar-logo-klein-light {
        mix-blend-mode: lighten;
    }

    .campus-navbar-firma-name {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        flex: 1 1 0;
        min-width: 0;
        max-width: 100%;
        margin: 0;
        padding: 0;
    }

    .campus-navbar-firma-name span {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: 100%;
        font-size: .82rem;
        font-weight: 800;
        line-height: 1.15;
        color: var(--campus-logo-color);
        white-space: normal;
        overflow-wrap: anywhere;
        word-break: break-word;
        text-align: left;
    }

    .campus-navbar-toolbar {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: .4rem;
        margin-left: auto;
        flex: 0 0 auto;
    }

    .campus-navbar-toolbar-intranet {
        display: none !important;
    }

    .campus-navbar-toolbar-bell {
        order: 2;
    }

    .campus-navbar-toolbar-firma {
        order: 3;
    }

    .campus-navbar-toolbar-account {
        order: 4;
    }

    .campus-navbar-toolbar-cart {
        order: 5;
    }

    .campus-navbar-toolbar-desktop {
        display: none !important;
    }

    .campus-v2-nav-warenkorb-card {
        width: 100%;
        max-width: none;
        border-radius: 0;
    }

    .campus-navbar-mobile-themed .campus-v2-nav-warenkorb-titel,
    .campus-navbar-mobile-themed .campus-v2-nav-warenkorb-titel:hover {
        color: var(--campus-mobile-nav-text);
    }

    .campus-navbar-mobile-themed .campus-v2-nav-warenkorb-item {
        border-bottom-color: rgba(255, 255, 255, 0.18) !important;
    }

    .campus-navbar-mobile-themed .campus-v2-nav-warenkorb-item .text-600,
    .campus-navbar-mobile-themed .campus-v2-nav-warenkorb-item .text-500,
    .campus-navbar-mobile-themed .campus-v2-nav-warenkorb-item .text-1000,
    .campus-navbar-mobile-themed .fw-semi-bold.border-bottom {
        color: color-mix(in srgb, var(--campus-mobile-nav-text) 82%, transparent) !important;
        border-bottom-color: rgba(255, 255, 255, 0.18) !important;
    }

    .campus-navbar-mobile-themed .campus-v2-nav-warenkorb-link-primary {
        background-color: var(--campus-mobile-nav-button) !important;
        border-color: var(--campus-mobile-nav-button) !important;
        color: var(--campus-mobile-nav-text) !important;
    }

    .campus-navbar-mobile-themed .campus-v2-nav-warenkorb-link-primary:hover,
    .campus-navbar-mobile-themed .campus-v2-nav-warenkorb-link-primary:focus {
        background-color: color-mix(in srgb, var(--campus-mobile-nav-button) 84%, #ffffff) !important;
        border-color: color-mix(in srgb, var(--campus-mobile-nav-button) 84%, #ffffff) !important;
        color: var(--campus-mobile-nav-text) !important;
    }

    .campus-navbar-mobile-themed .campus-v2-nav-warenkorb-link-danger {
        background-color: #fff !important;
        border-color: #e63757;
        color: #e63757;
    }

    .campus-navbar-mobile-themed .campus-v2-nav-warenkorb-link-danger:hover,
    .campus-navbar-mobile-themed .campus-v2-nav-warenkorb-link-danger:focus {
        background-color: #e63757 !important;
        border-color: #e63757;
        color: #fff;
    }

    .campus-start-navbar .navbar-toggler {
        margin: 0;
        order: 0;
        flex: 0 0 auto;
    }

    .campus-start-navbar .navbar-nav .nav-link,
    .campus-start-navbar .btn {
        color: var(--campus-logo-color);
    }

    .campus-start-navbar .nav-link:hover,
    .campus-start-navbar .nav-link:focus {
        color: var(--campus-logo-color-hover);
    }

    .campus-start-navbar .btn,
    .campus-start-navbar .btn.btn-falcon-default,
    .campus-start-navbar .btn.btn-falcon-default.btn-sm,
    .campus-start-navbar .dropdown > .btn.btn-falcon-default.btn-sm {
        width: 100%;
        min-width: 100%;
        height: 38px;
        min-height: 38px;
        justify-content: flex-start;
        padding: 0 .75rem;
    }

    .campus-start-navbar .campus-navbar-toolbar .btn,
    .campus-start-navbar .campus-navbar-toolbar .btn.btn-falcon-default,
    .campus-start-navbar .campus-navbar-toolbar .btn.btn-falcon-default.btn-sm,
    .campus-start-navbar .campus-navbar-toolbar .dropdown > .btn.btn-falcon-default.btn-sm {
        width: 36px;
        min-width: 36px;
        height: 36px;
        min-height: 36px;
        padding: 0;
        justify-content: center;
    }

    .campus-start-navbar .campus-navbar-toolbar .btn.campus-nav-intranet-btn,
    .campus-start-navbar .campus-navbar-toolbar .btn.btn-falcon-default.campus-nav-intranet-btn,
    .campus-start-navbar .campus-navbar-toolbar .btn.btn-falcon-default.btn-sm.campus-nav-intranet-btn {
        width: 36px;
        min-width: 36px;
        height: 36px;
        min-height: 36px;
        padding: 2px 1px;
    }

    .campus-start-navbar .btn.campus-nav-login-btn,
    .campus-start-navbar .btn.btn-falcon-default.campus-nav-login-btn,
    .campus-start-navbar .btn.btn-falcon-default.btn-sm.campus-nav-login-btn {
        width: 100%;
        min-width: 100%;
        justify-content: flex-start;
    }

    .campus-start-navbar .btn.dropdown-toggle::after,
    .campus-start-navbar .dropdown > .btn.dropdown-toggle::after {
        display: inline-block;
        margin-left: auto;
    }

    .campus-start-navbar .campus-navbar-toolbar .btn.dropdown-toggle::after,
    .campus-start-navbar .campus-navbar-toolbar .dropdown > .btn.dropdown-toggle::after {
        display: none;
    }

    .campus-navbar-toolbar .dropdown {
        position: static;
    }

    .campus-navbar-toolbar .dropdown-menu,
    .campus-navbar-toolbar .dropdown-menu.show {
        position: fixed !important;
        /* Unter der Navbar inkl. Safe-Top (Android-Temp / iOS env) */
        top: var(--campus-navbar-height) !important;
        left: 0 !important;
        right: 0 !important;
        bottom: auto !important;
        transform: none !important;
        float: none;
        width: 100% !important;
        max-width: none !important;
        max-height: calc(100vh - var(--campus-navbar-height) - var(--campus-safe-bottom, 0px));
        max-height: calc(100dvh - var(--campus-navbar-height) - var(--campus-safe-bottom, 0px));
        margin: 0 !important;
        padding: 0 0 1.15rem;
        overflow-y: auto;
        border: 0;
        border-radius: 0;
        border-top: 1px solid rgba(31, 47, 70, .08);
        box-shadow: 0 .45rem .75rem rgba(0, 0, 0, .08);
        background: #ffffff;
    }

    .campus-navbar-toolbar .dropdown-menu .card,
    .campus-navbar-toolbar .dropdown-menu .campus-account-dropdown-card {
        min-width: 0 !important;
        width: 100%;
        border: 0;
        border-radius: 0;
        box-shadow: none !important;
    }

    .campus-navbar-toolbar .dropdown-menu .card-header,
    .campus-navbar-collapse .card-header {
        padding: .85rem 1rem;
        margin: 0;
        border: 0;
        border-radius: 0 !important;
        background: #d8e2ef;
        border-bottom: 1px solid rgba(31, 47, 70, .12);
    }

    .campus-navbar-toolbar .dropdown-menu .campus-navbar-notification-card > .card-header,
    .campus-navbar-toolbar .dropdown-menu .campus-navbar-intranet-card > .card-header {
        background: #ffffff;
        border-bottom: 1px solid rgba(31, 47, 70, .1);
    }

    .campus-navbar-toolbar .dropdown-menu:has(.campus-navbar-notification-card),
    .campus-navbar-toolbar .dropdown-menu.show:has(.campus-navbar-notification-card) {
        padding-bottom: 0;
    }

    .campus-navbar-toolbar .dropdown-menu .campus-navbar-notification-footer {
        padding: 1.25rem 1rem 1.35rem;
    }

    .campus-navbar-toolbar .dropdown-menu .campus-account-dropdown-card > .card-header {
        padding: 0.55rem 1.15rem;
    }

    .campus-navbar-toolbar .dropdown-menu .card-body {
        padding: .75rem 1rem 0;
    }

    .campus-navbar-toolbar .dropdown-menu .card-body.p-0 {
        padding: 0;
    }

    .campus-navbar-toolbar .dropdown-menu .campus-account-dropdown-body {
        max-height: none;
        overflow: visible;
    }

    .campus-start-navbar .btn-falcon-default {
        background: #ffffff;
        border-color: rgba(31, 47, 70, .12);
        color: #1f2f46;
    }

    .campus-start-navbar .navbar-toggler {
        background: #edf2f9;
    }

    .campus-start-navbar .navbar-toggler-icon {
        width: 1.05rem;
        height: 1.05rem;
        background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(31, 47, 70, 0.85)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
    }

    .campus-navbar-collapse.collapse,
    .campus-navbar-collapse.collapsing {
        order: 3;
        flex: 1 0 100%;
        width: calc(100% + var(--falcon-gutter-x, 2rem));
        max-width: none;
        margin-left: calc(var(--falcon-gutter-x, 2rem) * -0.5);
        margin-right: calc(var(--falcon-gutter-x, 2rem) * -0.5);
        max-height: 80vh;
        overflow-y: auto;
        padding: .9rem 1rem 1.15rem;
        background: #ffffff;
        border-top: 1px solid rgba(31, 47, 70, .08);
        box-shadow: 0 .45rem .75rem rgba(0, 0, 0, .08);
        color: #1f2f46;
    }

    .campus-navbar-collapse.collapsing {
        overflow: hidden;
    }

    .campus-navbar-collapse .nav-link,
    .campus-navbar-collapse .btn,
    .campus-navbar-collapse .campus-nav-seminare > .nav-link {
        color: #1f2f46 !important;
    }

    .campus-navbar-mobile-search .form-control {
        height: 42px;
        min-height: 42px;
        background: #ffffff;
        border-color: rgba(31, 47, 70, .18);
        color: #1f2f46;
        font-size: .95rem;
        flex: 1 1 auto;
        min-width: 0;
    }

    .campus-navbar-mobile-search {
        flex-wrap: nowrap;
        align-items: stretch;
        flex: 1 1 auto;
        min-width: 0;
    }

    .campus-navbar-mobile-search-row {
        display: flex;
        flex-wrap: nowrap;
        align-items: stretch;
        gap: .5rem;
        width: 100%;
    }

    .campus-start-navbar .campus-navbar-mobile .btn,
    .campus-start-navbar .campus-navbar-mobile .btn.btn-falcon-default {
        width: 100%;
        min-width: 100%;
        height: auto;
        min-height: 42px;
        padding: .7rem 1rem;
        font-size: .95rem;
        font-weight: 600;
        justify-content: center;
        background: #ffffff;
        border-color: rgba(31, 47, 70, .12);
        color: #1f2f46 !important;
    }

    .campus-start-navbar .campus-navbar-mobile-search .btn {
        width: auto;
        min-width: 42px;
        flex: 0 0 auto;
        padding: 0 .85rem;
        background: #ffffff;
        border-color: rgba(31, 47, 70, .18);
        color: #2c7be5 !important;
    }

    .campus-start-navbar .campus-navbar-mobile-search .btn .fa-arrow-right {
        color: #2c7be5;
    }

    .campus-start-navbar .campus-navbar-mobile-search-row > .campus-navbar-search-alle,
    .campus-start-navbar .campus-navbar-mobile-search-row > a.campus-navbar-search-alle.btn {
        width: auto;
        min-width: 3.25rem;
        flex: 0 0 auto;
        height: 42px;
        min-height: 42px;
        padding: 0 .85rem;
        font-size: .95rem;
        font-weight: 600;
        justify-content: center;
        align-items: center;
        display: inline-flex;
        text-decoration: none;
        background: #ffffff;
        border-color: rgba(31, 47, 70, .18);
        color: #1f2f46;
        border-radius: .375rem;
    }

    .campus-start-navbar .campus-account-mobile-search .campus-navbar-mobile-search-row .campus-navbar-mobile-search .btn.campus-navbar-search-submit {
        width: auto;
        min-width: 42px;
        flex: 0 0 auto;
        justify-content: center;
        padding: 0 .85rem;
        height: 42px;
        min-height: 42px;
    }

    .campus-start-navbar .campus-account-mobile-search .campus-navbar-mobile-search-row > .campus-navbar-search-alle {
        width: auto;
        min-width: 3.25rem;
        flex: 0 0 auto;
        justify-content: center;
        height: 42px;
        min-height: 42px;
    }

    .campus-navbar-mobile-intranet {
        margin-top: 1.15rem;
        padding-top: 1.05rem;
        border-top: 1px solid rgba(31, 47, 70, .1);
    }

    .campus-navbar-mobile > .campus-navbar-mobile-intranet:first-child {
        margin-top: 0;
        padding-top: 0;
        border-top: 0;
    }

    .campus-navbar-mobile-intranet-title {
        margin-bottom: .65rem;
        font-size: .7rem;
        font-weight: 700;
        letter-spacing: .04em;
        text-transform: uppercase;
        color: #748194;
    }

    .campus-navbar-mobile-intranet .dropdown-item,
    .campus-navbar-mobile-intranet .campus-navbar-intranet-item {
        display: flex;
        flex-direction: row;
        align-items: flex-start;
        width: 100%;
        padding: .75rem .9rem;
        margin-bottom: .4rem;
        border: 1px solid rgba(31, 47, 70, .1);
        border-radius: .38rem;
        background: #ffffff;
        color: #1f2f46;
        white-space: normal;
    }

    .campus-navbar-mobile-intranet .dropdown-item:hover,
    .campus-navbar-mobile-intranet .dropdown-item:focus,
    .campus-navbar-mobile-intranet .campus-navbar-intranet-item:hover,
    .campus-navbar-mobile-intranet .campus-navbar-intranet-item:focus {
        background: #f6f8fb;
        color: #1f2f46;
    }

    .campus-navbar-mobile-intranet .campus-navbar-intranet-text {
        color: #748194;
    }

    .campus-navbar-mobile-intranet .dropdown-divider {
        display: none;
    }

    .campus-navbar-collapse .navbar-nav {
        width: 100%;
    }

    .campus-navbar-collapse .dropdown-menu {
        position: static !important;
        transform: none !important;
        float: none;
        width: 100%;
        max-width: 100%;
        margin: .35rem 0 0;
        box-shadow: none;
        border: 1px solid rgba(31, 47, 70, .08);
    }

    .campus-navbar-collapse .campus-mega-dropdown {
        width: 100%;
        max-width: 100%;
        left: auto;
        top: auto;
    }

    /* Mobile Firmenfarben (nur wenn primarfarbe/buttonfarbe gepflegt) */
    .campus-start-navbar.campus-navbar-mobile-themed,
    .campus-start-navbar.campus-navbar-mobile-themed.navbar-ist-gescrollt {
        --campus-mobile-nav-primary-dark: color-mix(in srgb, var(--campus-mobile-nav-primary) 72%, #000000);
        background: var(--campus-mobile-nav-primary);
        box-shadow: 0 .125rem .375rem rgba(0, 0, 0, .12);
    }

    .campus-navbar-mobile-themed .campus-navbar-firma-name span,
    .campus-navbar-mobile-themed .navbar-nav .nav-link,
    .campus-navbar-mobile-themed .nav-link,
    .campus-navbar-mobile-themed .nav-link:hover,
    .campus-navbar-mobile-themed .nav-link:focus,
    .campus-navbar-mobile-themed .btn,
    .campus-navbar-mobile-themed .dropdown-item,
    .campus-navbar-mobile-themed .dropdown-item:hover,
    .campus-navbar-mobile-themed .dropdown-item:focus,
    .campus-navbar-mobile-themed .dropdown-header,
    .campus-navbar-mobile-themed .card-header,
    .campus-navbar-mobile-themed .card-header h6,
    .campus-navbar-mobile-themed .card-header .small,
    .campus-navbar-mobile-themed .card-header .campus-account-dropdown-email,
    .campus-navbar-mobile-themed .campus-navbar-notification-empty,
    .campus-navbar-mobile-themed .campus-navbar-mobile-intranet-title,
    .campus-navbar-mobile-themed .campus-support-switch-wrap,
    .campus-navbar-mobile-themed .campus-support-switch-wrap label {
        color: var(--campus-mobile-nav-text) !important;
    }

    .campus-navbar-mobile-themed .campus-navbar-collapse.collapse,
    .campus-navbar-mobile-themed .campus-navbar-collapse.collapsing,
    .campus-navbar-mobile-themed .campus-navbar-toolbar .dropdown-menu,
    .campus-navbar-mobile-themed .campus-navbar-toolbar .dropdown-menu.show {
        background: var(--campus-mobile-nav-primary);
        border-top-color: rgba(255, 255, 255, .14);
        color: var(--campus-mobile-nav-text);
    }

    .campus-navbar-mobile-themed .campus-navbar-toolbar .dropdown-menu .card,
    .campus-navbar-mobile-themed .campus-navbar-toolbar .dropdown-menu .campus-account-dropdown-card {
        background: transparent;
    }

    .campus-navbar-mobile-themed .campus-navbar-toolbar .dropdown-menu .card-header,
    .campus-navbar-mobile-themed .campus-navbar-toolbar .dropdown-menu .card-header.bg-body-tertiary,
    .campus-navbar-mobile-themed .campus-navbar-collapse .card-header,
    .campus-navbar-mobile-themed .campus-navbar-collapse .card-header.bg-body-tertiary {
        background: var(--campus-mobile-nav-primary-dark, linear-gradient(0deg, rgba(0, 0, 0, .28), rgba(0, 0, 0, .28)), var(--campus-mobile-nav-primary)) !important;
        background-color: transparent !important;
        border-bottom-color: rgba(255, 255, 255, .16);
    }

    .campus-navbar-mobile-themed .campus-navbar-toolbar .dropdown-menu .card-body,
    .campus-navbar-mobile-themed .campus-navbar-toolbar .dropdown-menu .campus-account-dropdown-body {
        background: var(--campus-mobile-nav-primary);
    }

    .campus-navbar-mobile-themed .dropdown-item:hover,
    .campus-navbar-mobile-themed .dropdown-item:focus,
    .campus-navbar-mobile-themed .dropdown-item:active {
        background: rgba(255, 255, 255, .12) !important;
        color: var(--campus-mobile-nav-text) !important;
    }

    .campus-navbar-mobile-themed .campus-navbar-toolbar .btn-falcon-default,
    .campus-navbar-mobile-themed .campus-navbar-toolbar .btn.btn-falcon-default,
    .campus-navbar-mobile-themed .campus-navbar-toolbar .btn.btn-falcon-default.btn-sm,
    .campus-navbar-mobile-themed .navbar-toggler {
        background: rgba(255, 255, 255, .14);
        border: 2px solid var(--campus-mobile-nav-button);
        color: var(--campus-mobile-nav-text) !important;
    }

    .campus-navbar-mobile-themed .campus-navbar-mobile .btn,
    .campus-navbar-mobile-themed .campus-navbar-mobile .btn.btn-falcon-default,
    .campus-navbar-mobile-themed .campus-navbar-mobile-intranet .dropdown-item {
        background: rgba(255, 255, 255, .1);
        border-color: var(--campus-mobile-nav-button);
        color: var(--campus-mobile-nav-text) !important;
    }

    .campus-navbar-mobile-themed .campus-navbar-mobile-intranet .dropdown-item:hover,
    .campus-navbar-mobile-themed .campus-navbar-mobile-intranet .dropdown-item:focus {
        background: rgba(255, 255, 255, .18);
        color: var(--campus-mobile-nav-text) !important;
    }

    .campus-navbar-mobile-themed .campus-navbar-mobile-intranet {
        border-top-color: rgba(255, 255, 255, .18);
    }

    .campus-navbar-mobile-themed .campus-navbar-mobile > .campus-navbar-mobile-intranet:first-child {
        border-top: 0;
    }

    .campus-navbar-mobile-themed .campus-navbar-mobile-search .form-control {
        background: #ffffff;
        border-color: var(--campus-mobile-nav-button);
        color: #1f2f46;
    }

    .campus-start-navbar.campus-navbar-mobile-themed .campus-navbar-mobile-search .btn.campus-navbar-search-submit,
    .campus-start-navbar.campus-navbar-mobile-themed .campus-navbar-mobile-search .btn.campus-navbar-search-submit .fa-arrow-right,
    .campus-start-navbar.campus-navbar-mobile-themed .campus-navbar-mobile-search-row > .btn.campus-navbar-search-alle {
        background: var(--campus-mobile-nav-button) !important;
        border-color: var(--campus-mobile-nav-button) !important;
        color: var(--campus-mobile-nav-text) !important;
    }

    .campus-navbar-mobile-themed .navbar-toggler-icon {
        background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(31, 47, 70, 0.85)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
    }

    .campus-navbar-mobile-themed.campus-navbar-mobile-themed-light-text .navbar-toggler-icon {
        background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 0.92)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
    }

    .campus-navbar-mobile-themed .dropdown-divider {
        border-top-color: rgba(255, 255, 255, .18);
    }

    .campus-navbar-mobile-themed .campus-support-switch-wrap .small.text-success {
        color: #9be7a8 !important;
    }

    .campus-navbar-mobile-themed .campus-account-dropdown-body .dropdown-header {
        color: rgba(255, 255, 255, .72) !important;
    }

    .campus-navbar-mobile-themed .campus-support-switch-wrap .small.text-600 {
        color: rgba(255, 255, 255, .72) !important;
    }

    .campus-navbar-mobile-themed #campus-support-hinweis-aus {
        color: var(--campus-mobile-nav-button) !important;
    }

    .campus-navbar-mobile-themed .campus-support-switch-wrap .form-check-input {
        background-color: rgba(255, 255, 255, .18);
        border-color: var(--campus-mobile-nav-button);
        --falcon-form-switch-bg: var(--campus-mobile-nav-switch-thumb);
    }

    .campus-navbar-mobile-themed .campus-support-switch-wrap .form-check-input:focus {
        border-color: var(--campus-mobile-nav-button);
        box-shadow: 0 0 0 .2rem color-mix(in srgb, var(--campus-mobile-nav-button) 28%, transparent);
        --falcon-form-switch-bg: var(--campus-mobile-nav-switch-thumb);
    }

    .campus-navbar-mobile-themed .campus-support-switch-wrap .form-check-input:checked {
        background-color: var(--campus-mobile-nav-button);
        border-color: var(--campus-mobile-nav-button);
        --falcon-form-switch-bg: var(--campus-mobile-nav-switch-thumb-checked);
    }

    .campus-navbar-mobile-themed .campus-support-switch-wrap .form-check-input:checked:focus {
        --falcon-form-switch-bg: var(--campus-mobile-nav-switch-thumb-checked);
    }

    .campus-navbar-mobile-themed .campus-account-dropdown-body .badge:not(.campus-firma-menu-count):not(.campus-firma-menu-noti):not(.campus-account-update-badge):not(.bg-danger),
    .campus-navbar-mobile-themed .campus-navbar-toolbar .dropdown-menu .badge:not(.campus-firma-menu-count):not(.campus-firma-menu-noti):not(.campus-account-update-badge):not(.bg-danger) {
        background: var(--campus-mobile-nav-primary-dark, linear-gradient(0deg, rgba(0, 0, 0, .28), rgba(0, 0, 0, .28)), var(--campus-mobile-nav-primary)) !important;
        color: var(--campus-mobile-nav-text) !important;
    }

    .campus-navbar-mobile-themed .campus-account-dropdown-body .campus-firma-menu-count,
    .campus-navbar-mobile-themed .campus-navbar-toolbar .dropdown-menu .campus-firma-menu-count {
        background-color: var(--campus-mobile-nav-button) !important;
        background: var(--campus-mobile-nav-button) !important;
        color: var(--campus-mobile-nav-text) !important;
    }

    .campus-navbar-mobile-themed .campus-account-dropdown-body .campus-firma-menu-noti,
    .campus-navbar-mobile-themed .campus-account-dropdown-body .campus-account-update-badge,
    .campus-navbar-mobile-themed .campus-navbar-toolbar .dropdown-menu .campus-firma-menu-noti,
    .campus-navbar-mobile-themed .campus-navbar-toolbar .dropdown-menu .campus-account-update-badge,
    .campus-navbar-mobile-themed .campus-account-dropdown-body .badge.bg-danger,
    .campus-navbar-mobile-themed .campus-navbar-toolbar .dropdown-menu .badge.bg-danger,
    .campus-navbar-mobile-themed .campus-navbar-toolbar .dropdown-menu .badge.rounded-pill.bg-danger {
        background-color: #e63757 !important;
        background: #e63757 !important;
        color: #ffffff !important;
    }

    .campus-navbar-mobile-themed .campus-navbar-notification-empty {
        background: var(--campus-mobile-nav-primary);
    }

    .campus-navbar-mobile-themed .campus-navbar-notification-text,
    .campus-navbar-mobile-themed .campus-navbar-intranet-text {
        color: color-mix(in srgb, var(--campus-mobile-nav-text) 72%, transparent) !important;
    }

    .campus-navbar-mobile-themed .campus-navbar-notification-clear,
    .campus-navbar-mobile-themed .campus-navbar-notification-clear:hover,
    .campus-navbar-mobile-themed .campus-navbar-notification-clear:focus,
    .campus-navbar-mobile-themed .campus-navbar-notification-clear:active,
    .campus-navbar-mobile-themed .btn.campus-navbar-notification-clear,
    .campus-navbar-mobile-themed .btn.campus-navbar-notification-clear:hover,
    .campus-navbar-mobile-themed .btn.campus-navbar-notification-clear:focus,
    .campus-navbar-mobile-themed .btn.campus-navbar-notification-clear:active {
        background: #ffffff !important;
        border-color: #e63757 !important;
        color: #e63757 !important;
    }

    .campus-navbar-mobile-themed .campus-navbar-notification-clear:hover,
    .campus-navbar-mobile-themed .campus-navbar-notification-clear:focus,
    .campus-navbar-mobile-themed .campus-navbar-notification-clear:active,
    .campus-navbar-mobile-themed .btn.campus-navbar-notification-clear:hover,
    .campus-navbar-mobile-themed .btn.campus-navbar-notification-clear:focus,
    .campus-navbar-mobile-themed .btn.campus-navbar-notification-clear:active {
        background: #e63757 !important;
        border-color: #e63757 !important;
        color: #ffffff !important;
    }

    .campus-navbar-mobile-themed .campus-account-menu-icon {
        background: rgba(255, 255, 255, .14);
        border-color: var(--campus-mobile-nav-button);
        color: var(--campus-mobile-nav-text);
    }
}

@media (min-width: 768px) {
    .campus-navbar-mobile-themed .campus-navbar-toolbar .dropdown-menu.dropdown-menu-card:has(.campus-account-dropdown-card) {
        --campus-mobile-nav-primary-dark: color-mix(in srgb, var(--campus-mobile-nav-primary) 72%, #000000);
        background: var(--campus-mobile-nav-primary);
        border: 0;
        color: var(--campus-mobile-nav-text);
    }

    .campus-navbar-mobile-themed .campus-navbar-toolbar .dropdown-menu .campus-account-dropdown-card,
    .campus-navbar-mobile-themed .campus-navbar-toolbar .dropdown-menu .campus-account-dropdown-card .card-body,
    .campus-navbar-mobile-themed .campus-navbar-toolbar .dropdown-menu .campus-account-dropdown-body {
        background: var(--campus-mobile-nav-primary);
        color: var(--campus-mobile-nav-text);
    }

    .campus-navbar-mobile-themed .campus-navbar-toolbar .dropdown-menu .campus-account-dropdown-card > .card-header,
    .campus-navbar-mobile-themed .campus-navbar-toolbar .dropdown-menu .campus-account-dropdown-card > .card-header.bg-body-tertiary {
        background: var(--campus-mobile-nav-primary-dark, linear-gradient(0deg, rgba(0, 0, 0, .28), rgba(0, 0, 0, .28)), var(--campus-mobile-nav-primary)) !important;
        background-color: transparent !important;
        border-bottom-color: rgba(255, 255, 255, .16);
        color: var(--campus-mobile-nav-text);
    }

    .campus-navbar-mobile-themed .campus-navbar-toolbar .dropdown-menu .campus-account-dropdown-card .dropdown-item,
    .campus-navbar-mobile-themed .campus-navbar-toolbar .dropdown-menu .campus-account-dropdown-card .dropdown-item:hover,
    .campus-navbar-mobile-themed .campus-navbar-toolbar .dropdown-menu .campus-account-dropdown-card .dropdown-item:focus,
    .campus-navbar-mobile-themed .campus-navbar-toolbar .dropdown-menu .campus-account-dropdown-card .dropdown-header,
    .campus-navbar-mobile-themed .campus-navbar-toolbar .dropdown-menu .campus-account-dropdown-card .card-header,
    .campus-navbar-mobile-themed .campus-navbar-toolbar .dropdown-menu .campus-account-dropdown-card .card-header h6,
    .campus-navbar-mobile-themed .campus-navbar-toolbar .dropdown-menu .campus-account-dropdown-card .card-header .small,
    .campus-navbar-mobile-themed .campus-navbar-toolbar .dropdown-menu .campus-account-dropdown-card .card-header .campus-account-dropdown-email,
    .campus-navbar-mobile-themed .campus-navbar-toolbar .dropdown-menu .campus-account-dropdown-card .campus-support-switch-wrap,
    .campus-navbar-mobile-themed .campus-navbar-toolbar .dropdown-menu .campus-account-dropdown-card .campus-support-switch-wrap label {
        color: var(--campus-mobile-nav-text) !important;
    }

    .campus-navbar-mobile-themed .campus-navbar-toolbar .dropdown-menu .campus-account-dropdown-card .dropdown-item:hover,
    .campus-navbar-mobile-themed .campus-navbar-toolbar .dropdown-menu .campus-account-dropdown-card .dropdown-item:focus,
    .campus-navbar-mobile-themed .campus-navbar-toolbar .dropdown-menu .campus-account-dropdown-card .dropdown-item:active {
        background: rgba(255, 255, 255, .12) !important;
        color: var(--campus-mobile-nav-text) !important;
    }

    .campus-navbar-mobile-themed .campus-navbar-toolbar .dropdown-menu .campus-account-dropdown-card .dropdown-header {
        color: color-mix(in srgb, var(--campus-mobile-nav-text) 72%, transparent) !important;
    }

    .campus-navbar-mobile-themed .campus-navbar-toolbar .dropdown-menu .campus-account-dropdown-card .dropdown-divider {
        border-top-color: rgba(255, 255, 255, .18);
    }

    .campus-navbar-mobile-themed .campus-navbar-toolbar .dropdown-menu .campus-account-dropdown-card .campus-account-menu-icon {
        background: rgba(255, 255, 255, .14);
        border-color: var(--campus-mobile-nav-button);
        color: var(--campus-mobile-nav-text);
    }

    .campus-navbar-mobile-themed .campus-navbar-toolbar .dropdown-menu .campus-firma-menu-count {
        background: var(--campus-mobile-nav-button) !important;
        color: var(--campus-mobile-nav-text) !important;
    }

    .campus-navbar-mobile-themed .campus-navbar-toolbar .dropdown-menu .campus-firma-menu-noti,
    .campus-navbar-mobile-themed .campus-navbar-toolbar .dropdown-menu .campus-account-update-badge {
        background: #e63757 !important;
        color: #ffffff !important;
    }

    .campus-navbar-mobile-themed .campus-navbar-toolbar .dropdown-menu .campus-account-dropdown-card .campus-support-switch-wrap .small.text-600 {
        color: color-mix(in srgb, var(--campus-mobile-nav-text) 72%, transparent) !important;
    }

    .campus-navbar-mobile-themed .campus-navbar-toolbar .dropdown-menu .campus-account-dropdown-card .campus-support-switch-wrap .form-check-input {
        background-color: rgba(255, 255, 255, .18);
        border-color: var(--campus-mobile-nav-button);
        --falcon-form-switch-bg: var(--campus-mobile-nav-switch-thumb);
    }

    .campus-navbar-mobile-themed .campus-navbar-toolbar .dropdown-menu .campus-account-dropdown-card .campus-support-switch-wrap .form-check-input:checked {
        background-color: var(--campus-mobile-nav-button);
        border-color: var(--campus-mobile-nav-button);
        --falcon-form-switch-bg: var(--campus-mobile-nav-switch-thumb-checked);
    }

    .campus-navbar-mobile-themed .campus-navbar-toolbar .dropdown-menu .campus-navbar-notification-card .campus-navbar-notification-text,
    .campus-navbar-mobile-themed .campus-navbar-toolbar .dropdown-menu .campus-navbar-intranet-card .campus-navbar-intranet-text {
        color: color-mix(in srgb, var(--campus-mobile-nav-text) 72%, transparent) !important;
    }

    .campus-navbar-mobile-themed .campus-navbar-toolbar .dropdown-menu .campus-navbar-notification-card .campus-navbar-notification-clear,
    .campus-navbar-mobile-themed .campus-navbar-toolbar .dropdown-menu .campus-navbar-notification-card .btn.campus-navbar-notification-clear {
        background: #ffffff !important;
        border-color: #e63757 !important;
        color: #e63757 !important;
    }

    .campus-navbar-mobile-themed .campus-navbar-toolbar .dropdown-menu .campus-navbar-notification-card .campus-navbar-notification-clear:hover,
    .campus-navbar-mobile-themed .campus-navbar-toolbar .dropdown-menu .campus-navbar-notification-card .campus-navbar-notification-clear:focus,
    .campus-navbar-mobile-themed .campus-navbar-toolbar .dropdown-menu .campus-navbar-notification-card .campus-navbar-notification-clear:active,
    .campus-navbar-mobile-themed .campus-navbar-toolbar .dropdown-menu .campus-navbar-notification-card .btn.campus-navbar-notification-clear:hover,
    .campus-navbar-mobile-themed .campus-navbar-toolbar .dropdown-menu .campus-navbar-notification-card .btn.campus-navbar-notification-clear:focus,
    .campus-navbar-mobile-themed .campus-navbar-toolbar .dropdown-menu .campus-navbar-notification-card .btn.campus-navbar-notification-clear:active {
        background: #e63757 !important;
        border-color: #e63757 !important;
        color: #ffffff !important;
    }
}


/* =========================================================
   Profilbild in der Navigation
   ========================================================= */

.campus-start-navbar #campusAccountDropdown {
    padding: 0;
    overflow: hidden;
    border-radius: .35rem;
}

.campus-account-dropdown-card {
    min-width: 20.5rem;
}

.campus-account-dropdown-card > .card-header {
    padding: 0.55rem 1.15rem;
}

.campus-account-dropdown-card > .card-header h6 {
    font-size: 1.2rem;
    line-height: 1.2;
}

.campus-account-dropdown-card > .card-header .small {
    font-size: 1rem;
    margin-top: 0.2rem;
}

.campus-account-dropdown-email {
    font-size: 0.72rem;
    line-height: 1.15;
    margin-top: 0.15rem;
    color: var(--falcon-gray-600, #748194);
    word-break: break-all;
}

.campus-fehler-melden-header-btn {
    align-items: center;
    text-align: left;
}

.campus-fehler-melden-header-btn-text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    line-height: 1.15;
    gap: 0.05rem;
}

.campus-fehler-melden-header-btn-sub {
    font-size: 0.78rem;
    font-weight: 400;
    line-height: 1.15;
    opacity: 0.85;
}

.campus-account-dropdown-body {
    max-height: 70vh;
    overflow-y: auto;
}

.campus-account-dropdown-body .dropdown-item {
    display: flex;
    align-items: center;
    font-size: 1rem;
    padding-top: 0.45rem;
    padding-bottom: 0.45rem;
}

/* =========================================================
   Glocken-Dropdown (Benachrichtigungen)
   ========================================================= */

.campus-navbar-notification-card > .card-header {
    background: #ffffff;
    border-bottom: 1px solid rgba(31, 47, 70, .1);
}

.campus-navbar-notification-card > .card-header h6 {
    font-size: 1.05rem;
    font-weight: 600;
    color: #344050;
}

.campus-navbar-notification-body .dropdown-divider {
    margin: 0;
}

.campus-navbar-notification-body .dropdown-item.campus-navbar-notification-item,
.campus-navbar-notification-item {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 0;
    white-space: normal;
    padding: .7rem 1rem;
    color: #344050;
}

.campus-navbar-notification-body .dropdown-item.campus-navbar-notification-item:hover,
.campus-navbar-notification-body .dropdown-item.campus-navbar-notification-item:focus,
.campus-navbar-notification-body .dropdown-item.campus-navbar-notification-item:active,
.campus-navbar-notification-item:hover,
.campus-navbar-notification-item:focus,
.campus-navbar-notification-item:active {
    background: rgba(31, 47, 70, .04);
    color: #344050;
}

.campus-navbar-notification-icon {
    margin-top: .1rem;
}

.campus-navbar-notification-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .15rem;
    min-width: 0;
    flex: 1 1 auto;
}

.campus-navbar-notification-title {
    display: block;
    width: 100%;
    font-weight: 700;
    font-size: .95rem;
    line-height: 1.3;
    color: inherit;
}

.campus-navbar-notification-text {
    display: block;
    width: 100%;
    font-size: .85rem;
    line-height: 1.35;
    font-weight: 400;
    color: #748194;
    white-space: normal;
}

.campus-navbar-notification-footer {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1.15rem 1rem;
}

.campus-navbar-notification-clear,
.campus-start-navbar .dropdown-menu .btn.campus-navbar-notification-clear,
.campus-start-navbar .campus-navbar-toolbar .dropdown-menu .btn.campus-navbar-notification-clear {
    background: #ffffff !important;
    border: 1px solid #e63757 !important;
    color: #e63757 !important;
    font-weight: 600;
    border-radius: .3rem;
    box-shadow: none;
}

.campus-navbar-notification-clear:hover,
.campus-navbar-notification-clear:focus,
.campus-navbar-notification-clear:active,
.campus-start-navbar .dropdown-menu .btn.campus-navbar-notification-clear:hover,
.campus-start-navbar .dropdown-menu .btn.campus-navbar-notification-clear:focus,
.campus-start-navbar .dropdown-menu .btn.campus-navbar-notification-clear:active,
.campus-start-navbar .campus-navbar-toolbar .dropdown-menu .btn.campus-navbar-notification-clear:hover,
.campus-start-navbar .campus-navbar-toolbar .dropdown-menu .btn.campus-navbar-notification-clear:focus,
.campus-start-navbar .campus-navbar-toolbar .dropdown-menu .btn.campus-navbar-notification-clear:active {
    background: #e63757 !important;
    border-color: #e63757 !important;
    color: #ffffff !important;
}

.campus-navbar-notification-empty {
    font-size: .9rem;
}

/* =========================================================
   CELSEO-Intranet-Dropdown
   ========================================================= */

.campus-navbar-intranet-card > .card-header {
    background: #ffffff;
    border-bottom: 1px solid rgba(31, 47, 70, .1);
}

.campus-navbar-intranet-card > .card-header h6 {
    font-size: 1.05rem;
    font-weight: 600;
    color: #344050;
}

.campus-navbar-intranet-body .dropdown-divider,
.campus-navbar-intranet-divider {
    margin: 0;
}

.campus-account-dropdown-body .dropdown-item.campus-navbar-intranet-item,
.campus-navbar-intranet-item {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 0;
    white-space: normal;
    padding: .65rem .75rem;
    color: #344050;
}

.campus-account-dropdown-body .dropdown-item.campus-navbar-intranet-item:hover,
.campus-account-dropdown-body .dropdown-item.campus-navbar-intranet-item:focus,
.campus-account-dropdown-body .dropdown-item.campus-navbar-intranet-item:active,
.campus-navbar-intranet-item:hover,
.campus-navbar-intranet-item:focus,
.campus-navbar-intranet-item:active {
    background: rgba(31, 47, 70, .04);
    color: #344050;
}

.campus-navbar-intranet-icon {
    margin-top: .1rem;
}

.campus-navbar-intranet-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .15rem;
    min-width: 0;
    flex: 1 1 auto;
}

.campus-navbar-intranet-title {
    display: block;
    width: 100%;
    font-weight: 700;
    font-size: .95rem;
    line-height: 1.3;
    color: inherit;
}

.campus-navbar-intranet-text {
    display: block;
    width: 100%;
    font-size: .85rem;
    line-height: 1.35;
    font-weight: 400;
    color: #748194;
    white-space: normal;
}

.campus-account-dropdown-body .badge {
    font-size: 0.75rem;
}

.campus-account-menu-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.9rem;
    height: 1.9rem;
    margin-right: 0.65rem;
    flex-shrink: 0;
    border: 1px solid var(--falcon-border-color, #edf2f9);
    border-radius: 0.3rem;
    background: var(--falcon-gray-100, #f9fafd);
    font-size: 0.88rem;
    line-height: 1;
}

.campus-firma-menu-plain-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.25rem;
    font-size: 1.05rem;
    line-height: 1;
}

.campus-account-dropdown-body .dropdown-header {
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: #748194;
    padding-top: 0.5rem;
    padding-bottom: 0.35rem;
}

.campus-support-switch-wrap {
    display: flex;
    align-items: flex-start;
    font-size: .85rem;
    padding: 0.35rem 1rem;
}

.campus-support-switch-content {
    flex: 1 1 auto;
    min-width: 0;
}

.campus-support-switch-wrap .form-check-input {
    cursor: pointer;
}

.campus-nav-profile-image-wrap {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: .35rem;
    overflow: hidden;
}

.campus-nav-profile-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: .35rem;
}

/* =========================================================
   Firmenbild in der Navigation
   ========================================================= */

.campus-start-navbar #campusFirmaDropdown {
    padding: 0;
    overflow: hidden;
    border-radius: .35rem;
}

.campus-nav-firma-image-wrap {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: .35rem;
    overflow: hidden;
    background: #fff;
}

.campus-nav-firma-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: .35rem;
}

.campus-nav-firma-icon-wrap {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
}


/* =========================================================
   Logo-Wechsel in der Navigation
   ========================================================= */

.campus-logo {
    transition: opacity .35s ease;
}

.campus-logo-light {
    width: 102px;
    opacity: 1;
}

.campus-logo-dark {
    width: 102px;
    opacity: 0;
    margin-left: -102px;
}

.campus-start-navbar.navbar-ist-gescrollt .campus-logo-light {
    opacity: 0;
}

.campus-start-navbar.navbar-ist-gescrollt .campus-logo-dark {
    opacity: 1;
}

@media (max-width: 767.98px) {
    /* Standard (weiße Navbar): dunkles Logo – nie width:auto (Logo.png ist ~2050px) */
    .campus-logo-light {
        display: none !important;
    }

    .campus-logo-dark {
        display: block !important;
        width: 102px;
        max-width: 40vw;
        height: auto;
        opacity: 1;
        margin-left: 0;
    }

    /* Dunkle Firmenfarbe + helle Schrift: helles Logo sichtbar */
    .campus-start-navbar.campus-navbar-mobile-themed-light-text .campus-logo-light {
        display: block !important;
        width: 102px;
        max-width: 40vw;
        height: auto;
        opacity: 1;
        margin-left: 0;
    }

    .campus-start-navbar.campus-navbar-mobile-themed-light-text .campus-logo-dark {
        display: none !important;
        opacity: 0;
    }

    /* Mit Firma: Desktop-Wordmark nie auf Handy erzwingen (Logo_klein bleibt) */
    .campus-navbar-brand-with-firma > .campus-logo-light,
    .campus-navbar-brand-with-firma > .campus-logo-dark {
        display: none !important;
    }
}


/* =========================================================
   Suche in der Navigation
   ========================================================= */

.campus-navbar-search {
    width: clamp(8rem, 18vw, 13.5rem);
    min-width: 0;
    flex: 0 1 auto;
}

.campus-navbar-search .form-control,
.campus-navbar-search .form-control.input-suchbegriff {
    height: 36px;
    min-height: 36px;
    padding: .35rem .75rem;
    border-radius: .38rem;
    background: rgba(255, 255, 255, .12);
    border: 1px solid rgba(255, 255, 255, .32);
    color: #ffffff;
    font-size: .86rem;
    font-weight: 600;
    box-shadow: none;
}

.campus-navbar-search .form-control::placeholder,
.campus-navbar-search .form-control.input-suchbegriff::placeholder {
    color: rgba(255, 255, 255, .72);
}

.campus-navbar-search .form-control:focus,
.campus-navbar-search .form-control.input-suchbegriff:focus {
    background: rgba(255, 255, 255, .18);
    border-color: rgba(255, 255, 255, .58);
    color: #ffffff;
    box-shadow: 0 0 0 .16rem rgba(44, 123, 229, .22);
}

.campus-start-navbar.navbar-ist-gescrollt .campus-navbar-search .form-control,
.campus-start-navbar.navbar-ist-gescrollt .campus-navbar-search .form-control.input-suchbegriff {
    background: #ffffff;
    border-color: rgba(31, 47, 70, .18);
    color: #1f2f46;
}

.campus-start-navbar.navbar-ist-gescrollt .campus-navbar-search .form-control::placeholder,
.campus-start-navbar.navbar-ist-gescrollt .campus-navbar-search .form-control.input-suchbegriff::placeholder {
    color: rgba(31, 47, 70, .58);
}

.campus-start-navbar.navbar-ist-gescrollt .campus-navbar-search .form-control:focus,
.campus-start-navbar.navbar-ist-gescrollt .campus-navbar-search .form-control.input-suchbegriff:focus {
    background: #ffffff;
    border-color: #2c7be5;
    color: #1f2f46;
}

@media (max-width: 767.98px) {
    .campus-navbar-search {
        width: 100%;
    }

    .campus-navbar-search .form-control,
    .campus-navbar-search .form-control.input-suchbegriff {
        height: 38px;
        min-height: 38px;
        background: #ffffff;
        border-color: rgba(31, 47, 70, .18);
        color: #1f2f46;
    }

    .campus-navbar-search .form-control::placeholder,
    .campus-navbar-search .form-control.input-suchbegriff::placeholder {
        color: rgba(31, 47, 70, .58);
    }
}


/* =========================================================
   Falcon Mega-Menü Grundlayout
   ========================================================= */

.campus-mega-dropdown-wrapper {
    position: relative;
}

.campus-mega-dropdown {
    left: 0;
    top: 100%;
    margin-top: 0;
    width: 920px;
    max-width: calc(100vw - 2rem);
    z-index: 1050;
    background-color: transparent;
    border: 0;
    padding: 0;
}

/* Scharfer Menü-Pfeil statt Falcon-Rotationsquadrat mit Schatten */
.campus-start-navbar .campus-mega-dropdown.dropdown-caret::after {
    content: "";
    position: absolute;
    z-index: 2;
    top: -8px;
    left: 1.55rem;
    width: 0;
    height: 0;
    background: none;
    border-style: solid;
    border-width: 0 9px 9px 9px;
    border-color: transparent transparent #fff transparent;
    border-radius: 0;
    box-shadow: none;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
}

.campus-mega-dropdown-wrapper::after {
    content: "";
    position: absolute;
    left: 0;
    top: 100%;
    width: 100%;
    height: 16px;
}

.campus-mega-dropdown .card {
    border-radius: .75rem;
    overflow: hidden;
    background-color: #fff;
}

.campus-mega-dropdown .card-body > .row {
    align-items: stretch;
}

.campus-mega-dropdown .col-lg-9 {
    display: flex;
    flex-direction: column;
    min-height: 100%;
}

.campus-mega-dropdown .dropdown-item {
    white-space: normal;
    font-weight: 500;
}

.campus-mega-dropdown .dropdown-item:hover {
    color: #2c7be5;
    background: rgba(44, 123, 229, .08);
}

@media (max-width: 767.98px) {
    .campus-mega-dropdown {
        width: 100%;
        max-width: 100%;
    }

    .campus-mega-dropdown .card {
        box-shadow: none !important;
    }
}


/* =========================================================
   Mega-Menü linke Auswahl
   ========================================================= */

.campus-mega-nav-item {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    padding: .65rem .75rem;
    color: #344050;
    font-weight: 700;
    text-decoration: none;
    border-radius: .5rem;
    transition: background-color .15s ease, color .15s ease;
}

.campus-mega-nav-item:hover,
.campus-mega-nav-item.active {
    color: #2c7be5;
    background: rgba(44, 123, 229, .08);
}

.campus-mega-check {
    display: none;
    margin-left: auto;
    font-size: .75rem;
}

.campus-mega-nav-item.active .campus-mega-check {
    display: inline-block;
}

@media (max-width: 767.98px) {
    .campus-mega-nav-item {
        font-size: .95rem;
    }
}


/* =========================================================
   Mega-Menü rechte Inhalte
   ========================================================= */

.campus-mega-panel {
    display: none;
}

.campus-mega-panel.active {
    display: block;
}

.campus-mega-panel-alle.active {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    height: 100%;
    min-height: 100%;
}

.campus-mega-panel-list {
    padding: 1.5rem;
}

.campus-mega-alle-cover {
    position: relative;
    flex: 1 1 auto;
    width: 100%;
    min-height: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    overflow: hidden;
    background-color: #062a44;
}

.campus-mega-alle-cover-bg {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: auto;
    height: auto;
    min-height: 0;
    background-size: cover;
    background-position: right center;
    background-repeat: no-repeat;
    will-change: auto;
    -webkit-backface-visibility: visible;
    backface-visibility: visible;
}

.campus-mega-alle-cover-content {
    position: relative;
    z-index: 1;
    max-width: 28rem;
}

.campus-mega-alle-cover-content .text-white,
.campus-mega-alle-cover-text {
    text-shadow: 0 0.125rem 0.5rem rgba(0, 0, 0, 0.55);
}

.campus-mega-scroll {
    max-height: 360px;
    overflow-y: auto;
    padding-right: .25rem;
}

@media (max-width: 767.98px) {
    .campus-mega-scroll {
        max-height: none;
    }
}


/* =========================================================
   Hero Startseite
   ========================================================= */

.campus-hero-section {
    position: relative;
    min-height: 720px;
    background: #064366;
    padding-top: 74px;
}

.campus-hero-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: right center;
    background-repeat: no-repeat;
    opacity: 1;
}

.campus-hero-overlay {
    position: absolute;
    inset: 0;
    background: rgba(4, 45, 75, .58);
}

.campus-hero-row {
    min-height: 646px;
    padding-top: 80px;
    padding-bottom: 100px;
}

.campus-hero-title {
    font-size: clamp(2.4rem, 5vw, 4.4rem);
    line-height: 1.08;
}

.campus-hero-subtitle {
    font-size: clamp(1.1rem, 2vw, 1.45rem);
    line-height: 1.45;
}

@media (max-width: 991.98px) {
    .campus-hero-section {
        padding-top: 0;
    }
}

@media (max-width: 767.98px) {
    .campus-hero-section {
        min-height: 560px;
        padding-top: 0;
    }

    .campus-hero-overlay {
        background: rgba(4, 45, 75, .56);
    }

    .campus-hero-row {
        min-height: 494px;
        padding-top: 65px;
        padding-bottom: 65px;
    }

    .campus-hero-title {
        font-size: 2.35rem;
    }

    .campus-hero-subtitle {
        font-size: 1.05rem;
    }

    .campus-hero-section:not(.campus-auth-hero) .btn {
        width: 100%;
        max-width: 330px;
    }
}


/* =========================================================
   Startseite Seminare
   ========================================================= */

.campus-start-seminare-section {
    position: relative;
}

.campus-start-seminare-section .card {
    border: 0;
}

.campus-start-seminare-section .ratio div {
    transition: transform .25s ease;
}

.campus-start-seminare-section .card:hover .ratio div {
    transform: scale(1.035);
}

.campus-seminar-heart-bubble {
    position: absolute;
    top: .75rem;
    right: .75rem;
    z-index: 2;
    width: 2.25rem;
    height: 2.25rem;
    padding: 0;
    border: 0;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    color: #748194;
    box-shadow: 0 .125rem .5rem rgba(0, 0, 0, .12);
    line-height: 1;
    transition: color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.campus-seminar-heart-bubble:hover {
    color: #2c7be5;
    box-shadow: 0 .2rem .65rem rgba(0, 0, 0, .16);
    transform: scale(1.04);
}

.campus-seminar-heart-bubble .far.fa-heart,
.campus-seminar-heart-bubble .fas.fa-heart {
    font-size: .95rem;
}

.campus-seminar-heart-bubble-active {
    color: #2c7be5;
}

.btn-heart-favorite {
    z-index: 2;
}


/* =========================================================
   v2 Schulungsdetails
   ========================================================= */

.campus-v2-inner-content {
    padding-top: 0;
}

.campus-v2-page-shell {
    width: 100%;
}

.campus-v2-desktop-side-nav {
    display: none;
}

.campus-v2-inner-content > .container > :first-child,
.campus-v2-inner-content .campus-v2-page-main > :first-child {
    margin-top: 0;
}

.campus-v2-inner-content > .container > .row:first-child,
.campus-v2-inner-content .campus-v2-page-main > .row:first-child {
    --bs-gutter-y: 0;
    margin-top: 0;
}

.campus-v2-inner-content > .container > .row:first-child > [class*="col"],
.campus-v2-inner-content .campus-v2-page-main > .row:first-child > [class*="col"] {
    margin-top: 0;
}

@media (min-width: 1320px) {
    /* Ab Seiten-Maxbreite: Sidebar + Content teilen dieselbe Breite (nicht breiter als Navbar) */
    .campus-v2-page-shell-with-side-nav {
        display: flex;
        align-items: flex-start;
        justify-content: flex-start;
        gap: var(--campus-desktop-side-nav-gap);
        max-width: min(var(--campus-page-max-width), 100%);
        margin-inline: auto;
        padding-inline: calc(var(--bs-gutter-x, 1.5rem) * 0.5);
    }

    .campus-v2-page-shell-with-side-nav > .campus-v2-page-main.container {
        flex: 1 1 auto;
        min-width: 0;
        width: auto;
        max-width: none;
        margin-inline: 0;
        padding-inline: 0;
    }

    .campus-v2-desktop-side-nav {
        display: flex;
        flex-direction: column;
        flex: 0 0 var(--campus-desktop-side-nav-width);
        width: var(--campus-desktop-side-nav-width);
        max-width: var(--campus-desktop-side-nav-width);
        position: sticky;
        top: calc(var(--campus-navbar-height) + 0.75rem);
        max-height: calc(100dvh - var(--campus-navbar-height) - var(--campus-safe-bottom, 0px) - 1.5rem);
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior: contain;
        padding-top: 0.15rem;
    }

    .campus-v2-desktop-side-nav.is-collapsed,
    .campus-v2-desktop-side-nav.is-collapsed .campus-v2-desktop-side-nav-card,
    .campus-v2-desktop-side-nav.is-collapsed .campus-account-dropdown-body {
        overflow-x: hidden;
    }

    .campus-v2-desktop-side-nav-card {
        min-width: 0;
        width: 100%;
    }

    .campus-v2-desktop-side-nav-card.campus-account-dropdown-card {
        min-width: 0;
    }

    .campus-v2-desktop-side-nav-card > .card-header,
    .campus-v2-desktop-side-nav-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.35rem;
        padding: 0.4rem 0.45rem 0.4rem 0.7rem;
    }

    .campus-v2-desktop-side-nav-card > .card-header h6,
    .campus-v2-desktop-side-nav-title {
        font-size: 0.95rem;
        line-height: 1.2;
        min-width: 0;
    }

    .campus-v2-desktop-side-nav-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 auto;
        width: 1.7rem;
        height: 1.7rem;
        padding: 0;
        border: 1px solid var(--falcon-border-color, #edf2f9);
        border-radius: 0.3rem;
        background: var(--falcon-gray-100, #f9fafd);
        color: inherit;
        line-height: 1;
        cursor: pointer;
    }

    .campus-v2-desktop-side-nav-toggle-icon {
        position: relative;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 0.85rem;
        height: 0.85rem;
        line-height: 1;
    }

    .campus-v2-desktop-side-nav-toggle-icon .campus-v2-side-nav-chevron-left,
    .campus-v2-desktop-side-nav-toggle-icon .campus-v2-side-nav-chevron-right,
    .campus-v2-desktop-side-nav-toggle-icon .svg-inline--fa {
        position: absolute;
        left: 50%;
        top: 50%;
        width: 0.72rem;
        height: 0.72rem;
        margin: 0;
        transform: translate(-50%, -50%);
        font-size: 0.72rem;
        line-height: 1;
    }

    .campus-v2-desktop-side-nav-toggle-icon .campus-v2-side-nav-chevron-right {
        display: none !important;
    }

    .campus-v2-desktop-side-nav.is-collapsed .campus-v2-desktop-side-nav-toggle-icon .campus-v2-side-nav-chevron-left {
        display: none !important;
    }

    .campus-v2-desktop-side-nav.is-collapsed .campus-v2-desktop-side-nav-toggle-icon .campus-v2-side-nav-chevron-right {
        display: block !important;
    }

    .campus-v2-desktop-side-nav-toggle:hover,
    .campus-v2-desktop-side-nav-toggle:focus {
        background: rgba(0, 0, 0, .06);
    }

    .campus-theme-firma .campus-v2-desktop-side-nav-toggle {
        background: rgba(255, 255, 255, .14);
        border-color: var(--campus-mobile-nav-button);
        color: var(--campus-mobile-nav-text);
    }

    .campus-theme-firma .campus-v2-desktop-side-nav-toggle:hover,
    .campus-theme-firma .campus-v2-desktop-side-nav-toggle:focus {
        background: rgba(255, 255, 255, .22);
    }

    .campus-v2-desktop-side-nav.is-collapsed {
        flex-basis: var(--campus-desktop-side-nav-width-collapsed);
        width: var(--campus-desktop-side-nav-width-collapsed);
        max-width: var(--campus-desktop-side-nav-width-collapsed);
    }

    .campus-v2-desktop-side-nav.is-collapsed .campus-v2-desktop-side-nav-title {
        display: none;
    }

    .campus-v2-desktop-side-nav.is-collapsed .campus-v2-desktop-side-nav-header {
        justify-content: center;
        padding: 0.35rem;
    }

    .campus-v2-desktop-side-nav.is-collapsed .campus-account-dropdown-body {
        padding: 0.2rem 0 !important;
    }

    .campus-v2-desktop-side-nav.is-collapsed .dropdown-divider:not(.campus-v2-side-nav-logout-divider),
    .campus-v2-desktop-side-nav.is-collapsed .badge,
    .campus-v2-desktop-side-nav.is-collapsed .campus-fehler-melden-header-btn-text,
    .campus-v2-desktop-side-nav.is-collapsed .campus-support-switch-content {
        display: none !important;
    }

    .campus-v2-desktop-side-nav.is-collapsed .campus-v2-side-nav-logout-divider {
        display: block !important;
        width: 100%;
        margin: 0.45rem 0;
    }

    .campus-v2-desktop-side-nav.is-collapsed .dropdown-header {
        display: block !important;
        font-size: 0 !important;
        line-height: 0 !important;
        padding: 0.4rem 0 0.2rem !important;
        margin: 0;
        text-align: center;
        letter-spacing: 0;
        text-transform: none;
    }

    .campus-v2-desktop-side-nav.is-collapsed .dropdown-header::after {
        content: attr(data-campus-side-nav-abbrev);
        display: block;
        max-width: 100%;
        overflow: hidden;
        font-size: 0.55rem;
        font-weight: 600;
        letter-spacing: 0;
        line-height: 1.2;
        text-transform: none;
        white-space: nowrap;
    }

    .campus-v2-desktop-side-nav.is-collapsed .campus-account-dropdown-body .dropdown-item {
        position: relative;
        display: block;
        width: 100%;
        height: 1.9rem;
        padding: 0 !important;
        margin: 0;
        overflow: hidden;
        font-size: 0;
        line-height: 0;
        text-align: center;
    }

    .campus-v2-desktop-side-nav.is-collapsed .campus-account-menu-icon,
    .campus-v2-desktop-side-nav.is-collapsed .campus-firma-menu-plain-icon,
    .campus-v2-desktop-side-nav.is-collapsed .campus-firma-menu-celsi-icon {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        width: 1.35rem !important;
        height: 1.35rem !important;
        margin: 0 !important;
        font-size: 0.72rem !important;
        line-height: 1 !important;
    }

    .campus-v2-desktop-side-nav.is-collapsed .campus-support-switch-wrap {
        position: relative;
        display: block;
        height: 1.9rem;
        padding: 0;
        margin: 0;
        overflow: hidden;
    }

    .campus-v2-desktop-side-nav.is-collapsed .campus-support-switch-wrap .campus-account-menu-icon {
        margin: 0 !important;
    }

    .campus-v2-desktop-side-nav .campus-account-dropdown-body {
        padding: 0.35rem !important;
    }

    .campus-v2-desktop-side-nav .campus-account-dropdown-body .dropdown-item {
        white-space: normal;
        font-size: 0.78rem;
        line-height: 1.25;
        padding: 0.28rem 0.45rem;
    }

    .campus-v2-desktop-side-nav .campus-account-dropdown-body .dropdown-header {
        font-size: 0.62rem;
        padding: 0.35rem 0.45rem 0.2rem;
    }

    .campus-v2-desktop-side-nav .campus-account-menu-icon {
        width: 1.3rem;
        height: 1.3rem;
        margin-right: 0.4rem;
        font-size: 0.68rem;
        border-radius: 0.25rem;
    }

    .campus-v2-desktop-side-nav .campus-firma-menu-plain-icon {
        width: 0.95rem;
        font-size: 0.78rem;
        margin-right: 0.35rem;
    }

    .campus-v2-desktop-side-nav .campus-firma-menu-celsi-icon {
        width: 1.3rem;
        height: 1.3rem;
    }

    .campus-v2-desktop-side-nav .campus-account-dropdown-body .badge {
        font-size: 0.62rem;
        padding: 0.2em 0.45em;
    }

    .campus-v2-desktop-side-nav .campus-fehler-melden-header-btn-text {
        font-size: 0.78rem;
        line-height: 1.2;
    }

    .campus-v2-desktop-side-nav .campus-fehler-melden-header-btn-sub {
        font-size: 0.62rem;
    }

    .campus-v2-desktop-side-nav .campus-support-switch-wrap {
        font-size: 0.72rem;
        padding: 0.25rem 0.45rem;
    }

    .campus-v2-desktop-side-nav .campus-support-switch-wrap .form-check-input {
        width: 2rem;
        height: 1rem;
    }

    /* Firmenfarben wie Account-/Firmen-Dropdown oben */
    .campus-theme-firma .campus-v2-desktop-side-nav {
        --campus-mobile-nav-primary-dark: color-mix(in srgb, var(--campus-mobile-nav-primary) 72%, #000000);
        color: var(--campus-mobile-nav-text);
    }

    .campus-theme-firma .campus-v2-desktop-side-nav-card.campus-account-dropdown-card,
    .campus-theme-firma .campus-v2-desktop-side-nav-card .card-body,
    .campus-theme-firma .campus-v2-desktop-side-nav-card .campus-account-dropdown-body {
        background: var(--campus-mobile-nav-primary);
        color: var(--campus-mobile-nav-text);
        border-color: color-mix(in srgb, var(--campus-mobile-nav-primary) 85%, #000000);
    }

    .campus-theme-firma .campus-v2-desktop-side-nav-card > .card-header,
    .campus-theme-firma .campus-v2-desktop-side-nav-card > .card-header.bg-body-tertiary {
        background: var(--campus-mobile-nav-primary-dark) !important;
        background-color: transparent !important;
        border-bottom-color: rgba(255, 255, 255, .16);
        color: var(--campus-mobile-nav-text);
    }

    .campus-theme-firma .campus-v2-desktop-side-nav-card > .card-header h6,
    .campus-theme-firma .campus-v2-desktop-side-nav .dropdown-item,
    .campus-theme-firma .campus-v2-desktop-side-nav .dropdown-item:hover,
    .campus-theme-firma .campus-v2-desktop-side-nav .dropdown-item:focus,
    .campus-theme-firma .campus-v2-desktop-side-nav .dropdown-item:active,
    .campus-theme-firma .campus-v2-desktop-side-nav .campus-support-switch-wrap,
    .campus-theme-firma .campus-v2-desktop-side-nav .campus-support-switch-wrap label {
        color: var(--campus-mobile-nav-text) !important;
    }

    .campus-theme-firma .campus-v2-desktop-side-nav .dropdown-header {
        color: color-mix(in srgb, var(--campus-mobile-nav-text) 72%, transparent) !important;
    }

    .campus-theme-firma .campus-v2-desktop-side-nav .dropdown-item:hover,
    .campus-theme-firma .campus-v2-desktop-side-nav .dropdown-item:focus,
    .campus-theme-firma .campus-v2-desktop-side-nav .dropdown-item:active {
        background: rgba(255, 255, 255, .12) !important;
    }

    .campus-v2-desktop-side-nav .dropdown-divider {
        margin: 0.55rem 0.35rem 0.45rem;
        border-top: 1px solid rgba(0, 0, 0, .16);
        opacity: 1;
    }

    .campus-v2-desktop-side-nav .campus-v2-side-nav-logout-divider {
        width: calc(100% + 0.7rem);
        max-width: none;
        margin: 0.55rem -0.35rem 0.45rem;
        border-top: 1px solid rgba(0, 0, 0, .16);
        opacity: 1;
    }

    .campus-theme-firma .campus-v2-desktop-side-nav .dropdown-divider,
    .campus-theme-firma .campus-v2-desktop-side-nav .campus-v2-side-nav-logout-divider {
        border-top-color: rgba(255, 255, 255, .35);
    }

    .campus-theme-firma .campus-v2-desktop-side-nav .campus-account-menu-icon {
        background: rgba(255, 255, 255, .14);
        border-color: var(--campus-mobile-nav-button);
        color: var(--campus-mobile-nav-text);
    }

    .campus-theme-firma .campus-v2-desktop-side-nav .campus-firma-menu-plain-icon {
        color: var(--campus-mobile-nav-text);
    }

    .campus-theme-firma .campus-v2-desktop-side-nav .campus-firma-menu-count {
        background: var(--campus-mobile-nav-button) !important;
        color: var(--campus-mobile-nav-text) !important;
    }

    .campus-theme-firma .campus-v2-desktop-side-nav .campus-firma-menu-noti,
    .campus-theme-firma .campus-v2-desktop-side-nav .campus-account-update-badge {
        background: #e63757 !important;
        color: #ffffff !important;
    }

    .campus-theme-firma .campus-v2-desktop-side-nav .campus-support-switch-wrap .small.text-600,
    .campus-theme-firma .campus-v2-desktop-side-nav .campus-fehler-melden-header-btn-sub {
        color: color-mix(in srgb, var(--campus-mobile-nav-text) 72%, transparent) !important;
    }

    .campus-theme-firma .campus-v2-desktop-side-nav .campus-support-switch-wrap .form-check-input {
        background-color: rgba(255, 255, 255, .18);
        border-color: var(--campus-mobile-nav-button);
        --falcon-form-switch-bg: var(--campus-mobile-nav-switch-thumb);
    }

    .campus-theme-firma .campus-v2-desktop-side-nav .campus-support-switch-wrap .form-check-input:checked {
        background-color: var(--campus-mobile-nav-button);
        border-color: var(--campus-mobile-nav-button);
        --falcon-form-switch-bg: var(--campus-mobile-nav-switch-thumb-checked);
    }

    .campus-v2-firma-celsi.campus-v2-inner-content > .campus-v2-page-shell-with-side-nav,
    .campus-v2-firma-chat.campus-v2-inner-content > .campus-v2-page-shell-with-side-nav,
    .campus-v2-firma-gruppenchat.campus-v2-inner-content > .campus-v2-page-shell-with-side-nav {
        flex-direction: row;
        align-items: stretch;
        max-width: min(var(--campus-page-max-width), 100%);
    }

    .campus-v2-firma-celsi.campus-v2-inner-content > .campus-v2-page-shell-with-side-nav > .campus-v2-page-main,
    .campus-v2-firma-chat.campus-v2-inner-content > .campus-v2-page-shell-with-side-nav > .campus-v2-page-main,
    .campus-v2-firma-gruppenchat.campus-v2-inner-content > .campus-v2-page-shell-with-side-nav > .campus-v2-page-main {
        max-width: none;
    }

    .campus-v2-firma-celsi .campus-v2-desktop-side-nav,
    .campus-v2-firma-chat .campus-v2-desktop-side-nav,
    .campus-v2-firma-gruppenchat .campus-v2-desktop-side-nav {
        position: relative;
        top: auto;
        max-height: none;
        align-self: stretch;
        overflow-y: auto;
    }
}

.campus-schulung-hero-card .card-body {
    position: relative;
    overflow: hidden;
}

.campus-schulung-hero-thumb > div {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

.campus-navbar-solid {
    background: #0b1727;
    box-shadow: 0 .125rem .55rem rgba(0, 0, 0, .18);
    backdrop-filter: none;
}

@media (max-width: 767.98px) {
    .campus-start-navbar.campus-navbar-solid {
        background: #0b1727;
    }

    .campus-start-navbar.campus-navbar-solid .nav-link,
    .campus-start-navbar.campus-navbar-solid .btn {
        color: #ffffff;
    }

    .campus-start-navbar.campus-navbar-solid .btn-falcon-default {
        background: rgba(255, 255, 255, .13);
        border-color: rgba(255, 255, 255, .28);
        color: #ffffff;
    }

    .campus-start-navbar.campus-navbar-solid .campus-navbar-collapse {
        background: #ffffff;
    }
}

.campus-schulung-anbieter-logo {
    max-width: 120px;
    max-height: 80px;
    object-fit: contain;
}

.campus-schulung-sticky-sidebar {
    position: sticky;
    z-index: 1015;
    top: var(--campus-navbar-height);
}

.campus-schulung-sidebar-fav .campus-seminar-heart-bubble {
    position: static;
    top: auto;
    right: auto;
}

.campus-schulung-termin-row:last-child {
    border-bottom: 0 !important;
}

.campus-similar-swiper {
    overflow: hidden;
}

.campus-similar-swiper .swiper-slide {
    height: auto;
    max-width: 100%;
}

.campus-similar-thumb {
    overflow: hidden;
}

.campus-similar-thumb > div {
    transition: transform .25s ease;
}

.campus-similar-swiper .card:hover .campus-similar-thumb > div {
    transform: scale(1.035);
}

@media (max-width: 991.98px) {
    .campus-schulung-sticky-sidebar {
        position: static;
        top: auto;
    }

}

/* v2 Produkt Details Modals */
.campus-v2-produkt-modal .campus-v2-produkt-modal-header,
.campus-v2-produkt-modal#campusV2ProduktWarenkorbModal .modal-header {
    background: var(--falcon-primary, #2c7be5);
    color: #fff;
    border-bottom: 0;
}

.campus-theme-firma .campus-v2-produkt-modal .campus-v2-produkt-modal-header,
.campus-theme-firma .campus-v2-produkt-modal#campusV2ProduktWarenkorbModal .modal-header {
    background: var(--campus-mobile-nav-button, var(--falcon-primary, #2c7be5));
    color: var(--campus-mobile-nav-text, #fff);
}

.campus-v2-produkt-modal .campus-v2-produkt-modal-header .modal-title,
.campus-v2-produkt-modal#campusV2ProduktWarenkorbModal .modal-header .modal-title {
    color: inherit;
    font-weight: 600;
}

.campus-v2-produkt-modal#campusV2ProduktWarenkorbModal .modal-header .btn-close {
    filter: invert(1) grayscale(100%) brightness(200%);
}

.campus-v2-produkt-termine-modal-body {
    background: var(--falcon-gray-100, #f9fafd);
}

.campus-v2-produkt-termin-card {
    border: 1px solid var(--falcon-border-color, #d8e2ef);
    box-shadow: 0 0.125rem 0.5rem rgba(0, 0, 0, 0.04);
    overflow: hidden;
}

.campus-v2-produkt-termin-card-header {
    background: var(--falcon-gray-100, #f9fafd);
    border-bottom: 1px solid var(--falcon-border-color, #d8e2ef);
    padding: 0.85rem 1rem;
}

.campus-v2-produkt-termin-card-time {
    color: var(--falcon-gray-600, #748194);
}

.campus-v2-produkt-termin-card.campus-v2-produkt-termin-muted {
    opacity: 0.72;
}

.campus-v2-produkt-termin-meta {
    margin-bottom: 0.85rem !important;
}

.campus-v2-produkt-termin-meta li:last-child {
    margin-bottom: 0 !important;
}

.campus-v2-produkt-warenkorb-body {
    background: var(--falcon-gray-100, #f9fafd);
}

.campus-v2-produkt-warenkorb-title {
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.35;
    color: var(--falcon-gray-1100, #344050);
}

.campus-v2-produkt-warenkorb-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
}

.campus-v2-produkt-warenkorb-summary-item {
    background: #fff;
    border: 1px solid var(--falcon-border-color, #d8e2ef);
    border-radius: 0.5rem;
    padding: 0.75rem 0.85rem;
}

.campus-v2-produkt-warenkorb-summary-item-wide {
    grid-column: 1 / -1;
}

.campus-v2-produkt-warenkorb-summary-label {
    display: block;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--falcon-gray-600, #748194);
    margin-bottom: 0.25rem;
}

.campus-v2-produkt-warenkorb-summary-value {
    display: block;
    font-weight: 600;
    color: var(--falcon-gray-1100, #344050);
    line-height: 1.35;
}

.campus-v2-produkt-warenkorb-teilnehmer-list {
    background: #fff;
    border: 1px solid var(--falcon-border-color, #d8e2ef);
    border-radius: 0.5rem;
    max-height: 280px;
    overflow-y: auto;
}

.campus-v2-produkt-warenkorb-teilnehmer-item {
    padding: 0.7rem 0.85rem;
}

.campus-v2-produkt-warenkorb-teilnehmer-item + .campus-v2-produkt-warenkorb-teilnehmer-item {
    border-top: 1px solid var(--falcon-border-color, #edf2f9);
}

.campus-v2-produkt-warenkorb-avatar {
    width: 40px;
    height: 40px;
    object-fit: cover;
    flex-shrink: 0;
}

.campus-v2-produkt-warenkorb-check-spacer {
    display: inline-block;
    width: 1.1rem;
}

.campus-v2-produkt-warenkorb-neu {
    background: #fff;
    border: 1px solid var(--falcon-border-color, #d8e2ef);
    border-radius: 0.5rem;
    padding: 1rem;
}

.campus-v2-produkt-warenkorb-footer {
    background: #fff;
    flex-wrap: wrap;
}

@media (max-width: 575.98px) {
    .campus-v2-produkt-warenkorb-summary {
        grid-template-columns: 1fr;
    }
}


/* =========================================================
   v2 Profil Schulungstermine
   ========================================================= */

.campus-v2-termine-toolbar {
    overflow: hidden;
}

.campus-v2-termine-toolbar .bg-holder.bg-card,
.campus-seminarfilter-toolbar-mobile .bg-holder.bg-card {
    pointer-events: none;
}

.campus-v2-termine-toolbar .card-header > :not(.bg-holder),
.campus-seminarfilter-toolbar-mobile .card-header > :not(.bg-holder) {
    position: relative;
    z-index: 1;
}

.campus-v2-termine-filter {
    width: max-content;
    max-width: 100%;
    min-width: 0;
    display: inline-block;
    field-sizing: content;
}

.campus-v2-termin-item {
    border-bottom: 1px solid var(--falcon-border-color, #edf2f9);
}

.campus-v2-termin-item:last-child {
    border-bottom: 0;
}

.campus-v2-termin-item-abgelaufen {
    opacity: 0.78;
}

.campus-v2-termin-bild {
    min-height: 10rem;
    background: var(--falcon-gray-200, #edf2f9);
    border-radius: 0.25rem;
    overflow: hidden;
}

.campus-v2-termin-bild img {
    min-height: 10rem;
}

.campus-v2-termin-kalenderblatt {
    position: absolute;
    top: 0.35rem;
    left: 0.35rem;
    z-index: 2;
    box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, .28);
}

.campus-v2-termin-kalenderblatt .calendar-month {
    background-color: #e63757;
    color: #ffffff;
    opacity: 1;
}

.campus-v2-termin-kalenderblatt .calendar-day {
    background-color: #ffffff;
    color: #344050;
    border-color: #ffffff;
    opacity: 1;
}

.campus-v2-termin-countdown {
    font-variant-numeric: tabular-nums;
}

.campus-v2-termin-aktionen {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.campus-v2-termin-beitreten.disabled {
    pointer-events: none;
    opacity: 0.55;
    background-color: #d8e2ef;
    border-color: #d8e2ef;
    color: #5e6e82;
}

.campus-v2-termin-zugang-hinweis {
    width: 100%;
}

.campus-v2-termine-liste.is-grid .campus-v2-termin-gebucht {
    margin-bottom: 0.5rem;
}

.campus-v2-termine-liste.is-grid .campus-v2-termin-content > .p-3 > .row {
    height: auto;
}

.campus-v2-termine-liste.is-grid .campus-v2-termin-content > .p-3 > .row > .col-lg-4 {
    justify-content: flex-start;
}

.campus-v2-termine-liste.is-grid .campus-v2-termin-aktionen {
    flex-direction: column;
    align-items: stretch;
}

.campus-v2-termine-liste.is-grid .campus-v2-termin-aktionen .btn,
.campus-v2-termine-liste.is-grid .campus-v2-termin-aktionen .campus-v2-termin-kalender {
    width: 100%;
    min-height: 0;
    height: auto;
}

@media (min-width: 768px) {
    .campus-v2-termine-liste:not(.is-grid) .campus-v2-termin-inner > .row {
        --bs-gutter-x: 1rem;
    }

    .campus-v2-termine-liste:not(.is-grid) .campus-v2-termin-content > .p-3 {
        padding: 0 !important;
    }

    .campus-v2-termine-liste:not(.is-grid) .campus-v2-termin-bild {
        border: 1px solid var(--falcon-border-color, #edf2f9);
        border-radius: 0.375rem;
    }
}

@media (min-width: 992px) {
    .campus-v2-termine-liste:not(.is-grid) .campus-v2-termin-aktionen {
        flex-direction: column;
        align-items: stretch;
    }
}

.campus-v2-termine-liste.is-grid .campus-v2-termin-item {
    width: 100%;
    border-bottom: 0;
    padding: 0.5rem;
}

.campus-v2-termine-liste.is-grid .campus-v2-termin-inner {
    height: 100%;
    border: 1px solid var(--falcon-border-color, #edf2f9);
    border-radius: 0.375rem;
    overflow: hidden;
}

.campus-v2-termine-liste.is-grid .campus-v2-termin-inner > .row {
    --bs-gutter-x: 0;
    flex-direction: column;
}

.campus-v2-termine-liste.is-grid .campus-v2-termin-media,
.campus-v2-termine-liste.is-grid .campus-v2-termin-content {
    width: 100%;
    max-width: 100%;
    flex: 0 0 auto;
}

.campus-v2-termine-liste.is-grid .campus-v2-termin-content > .p-3 > .row {
    --bs-gutter-x: 0;
    flex-direction: column;
    margin-left: 0;
    margin-right: 0;
}

.campus-v2-termine-liste.is-grid .campus-v2-termin-content > .p-3 > .row > [class*="col-"] {
    width: 100%;
    max-width: 100%;
    flex: 0 0 auto;
    padding-left: 0;
    padding-right: 0;
}

.campus-v2-termine-liste.is-grid .campus-v2-termin-bild,
.campus-v2-termine-liste.is-grid .campus-v2-termin-bild img {
    min-height: 0;
    height: auto;
    aspect-ratio: 16 / 10;
}

.campus-v2-termine-liste.is-grid .campus-v2-termin-content .mt-3.mt-sm-0,
.campus-v2-termine-liste .campus-v2-termin-content .mt-3.mt-sm-0 {
    margin-top: 0 !important;
}

@media (max-width: 767.98px) {
    .campus-v2-termine-toolbar .bg-holder.bg-card {
        top: 0;
        left: auto;
        right: 0;
        width: 50%;
        min-height: 0;
        height: auto;
        aspect-ratio: 1;
        background-position: top right;
        background-size: 100% auto;
    }

    .campus-seminarfilter-toolbar-mobile {
        overflow: hidden;
    }

    .campus-seminarfilter-toolbar-mobile .bg-holder.bg-card {
        top: 0;
        left: auto;
        right: 0;
        width: 50%;
        min-height: 0;
        height: auto;
        aspect-ratio: 1;
        background-position: top right;
        background-size: 100% auto;
    }

    .campus-v2-termine-liste-card,
    .campus-v2-termine-liste-card > .card-body {
        background-color: transparent;
        border-color: transparent;
        box-shadow: none;
    }

    .campus-v2-termine-liste .campus-v2-termin-item,
    .campus-v2-termine-liste.is-grid .campus-v2-termin-item {
        width: 100%;
        border-bottom: 0;
        padding: 0 0 1rem !important;
    }

    .campus-v2-termine-liste .campus-v2-termin-item:last-child,
    .campus-v2-termine-liste.is-grid .campus-v2-termin-item:last-child {
        padding-bottom: 0 !important;
    }

    .campus-v2-termine-liste .campus-v2-termin-inner {
        height: 100%;
        background-color: var(--falcon-card-bg, #fff);
        border: 1px solid var(--falcon-border-color, #edf2f9);
        border-radius: 0.375rem;
        overflow: hidden;
    }

    .campus-v2-termine-liste .campus-v2-termin-inner > .row {
        --bs-gutter-x: 0;
        flex-direction: column;
    }

    .campus-v2-termine-liste .campus-v2-termin-media,
    .campus-v2-termine-liste .campus-v2-termin-content {
        width: 100%;
        max-width: 100%;
        flex: 0 0 auto;
    }

    .campus-v2-termine-liste .campus-v2-termin-content > .p-3 > .row {
        --bs-gutter-x: 0;
        flex-direction: column;
        margin-left: 0;
        margin-right: 0;
    }

    .campus-v2-termine-liste .campus-v2-termin-content > .p-3 > .row > [class*="col-"] {
        width: 100%;
        max-width: 100%;
        flex: 0 0 auto;
        padding-left: 0;
        padding-right: 0;
    }

    .campus-v2-termine-liste .campus-v2-termin-bild,
    .campus-v2-termine-liste .campus-v2-termin-bild img {
        min-height: 0;
        height: auto;
        aspect-ratio: 16 / 10;
    }

    .campus-v2-termine-liste .campus-v2-termin-content .mt-3.mt-sm-0 {
        margin-top: 0 !important;
    }

    .campus-v2-termine-liste .campus-v2-termin-gebucht {
        margin-bottom: 0.5rem;
    }

    .campus-v2-termine-liste .campus-v2-termin-content > .p-3 > .row {
        height: auto;
    }

    .campus-v2-termine-liste .campus-v2-termin-content > .p-3 > .row > .col-lg-4 {
        justify-content: flex-start;
    }

    .campus-v2-termine-liste .campus-v2-termin-aktionen .btn {
        min-height: 0;
        height: auto;
    }
}

@media (min-width: 768px) {
    .campus-v2-termine-liste.is-grid .campus-v2-termin-item {
        width: 50%;
    }
}

@media (min-width: 1200px) {
    .campus-v2-termine-liste.is-grid .campus-v2-termin-item {
        width: 33.3333%;
    }
}

@media (min-width: 576px) {
    .campus-v2-termin-bild,
    .campus-v2-termin-bild img {
        min-height: 12rem;
    }
}

@media (hover: none), (pointer: coarse), (max-width: 991.98px) {
    .campus-v2-termine-filter {
        min-height: 2.75rem;
    }
}


/* =========================================================
   Startseite Vorteile
   ========================================================= */

.campus-vorteile-section .card-span {
    border: 0;
    box-shadow: 0 .125rem .375rem rgba(0, 0, 0, .06);
}

.campus-vorteile-section .card-span-img {
    background: #ffffff;
}


/* =========================================================
   Startseite Blogbereich
   ========================================================= */

.campus-blog-section .card {
    border: 0;
}

.campus-blog-section .ratio div {
    transition: transform .25s ease;
}

.campus-blog-section .card:hover .ratio div {
    transform: scale(1.035);
}


/* =========================================================
   Footer
   ========================================================= */

.campus-footer {
    background: #0b1727;
    padding: 2.75rem 0 1.5rem;
}

.campus-footer-tagline {
    max-width: 18rem;
    color: #9da9bb;
    font-size: .9rem;
    line-height: 1.55;
}

.campus-footer-heading {
    margin-bottom: .85rem;
    color: #ffffff;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.campus-footer-link {
    display: inline-block;
    padding: .2rem 0;
    color: #9da9bb;
    font-size: .9rem;
    text-decoration: none;
    transition: color .15s ease;
}

.campus-footer-link:hover {
    color: #ffffff;
}

.campus-footer-bottom {
    display: flex;
    align-items: center;
    margin-top: 2rem;
    padding-top: 1.15rem;
    border-top: 1px solid rgba(255, 255, 255, .08);
    color: #748194;
    font-size: .8rem;
}

.campus-footer.campus-footer-themed {
    background: var(--campus-mobile-nav-primary);
}

.campus-footer.campus-footer-themed .campus-footer-heading {
    color: var(--campus-mobile-nav-text);
}

.campus-footer.campus-footer-themed .campus-footer-tagline,
.campus-footer.campus-footer-themed .campus-footer-link,
.campus-footer.campus-footer-themed .campus-footer-bottom {
    color: color-mix(in srgb, var(--campus-mobile-nav-text) 78%, transparent);
}

.campus-footer.campus-footer-themed .campus-footer-link:hover {
    color: var(--campus-mobile-nav-text);
}

.campus-footer.campus-footer-themed .campus-footer-bottom {
    border-top-color: color-mix(in srgb, var(--campus-mobile-nav-text) 18%, transparent);
}

/* Buttons/Badges: nur mit .campus-theme-firma (alle 3 Firmenfarben gesetzt). Sonst Falcon-Standard. */
.campus-theme-firma .btn-primary,
.campus-theme-firma .btn-falcon-primary {
    --falcon-btn-color: var(--campus-mobile-nav-text);
    --falcon-btn-bg: var(--campus-mobile-nav-button);
    --falcon-btn-border-color: var(--campus-mobile-nav-button);
    --falcon-btn-hover-color: var(--campus-mobile-nav-text);
    --falcon-btn-hover-bg: color-mix(in srgb, var(--campus-mobile-nav-button) 84%, #ffffff);
    --falcon-btn-hover-border-color: color-mix(in srgb, var(--campus-mobile-nav-button) 84%, #ffffff);
    --falcon-btn-active-color: var(--campus-mobile-nav-text);
    --falcon-btn-active-bg: color-mix(in srgb, var(--campus-mobile-nav-button) 76%, #ffffff);
    --falcon-btn-active-border-color: color-mix(in srgb, var(--campus-mobile-nav-button) 76%, #ffffff);
    --falcon-btn-disabled-color: var(--campus-mobile-nav-text);
    --falcon-btn-disabled-bg: var(--campus-mobile-nav-button);
    --falcon-btn-disabled-border-color: var(--campus-mobile-nav-button);
    --falcon-btn-focus-shadow-rgb: 0, 0, 0;
    background-color: var(--campus-mobile-nav-button);
    border-color: var(--campus-mobile-nav-button);
    color: var(--campus-mobile-nav-text);
}

.campus-theme-firma .btn-primary:hover,
.campus-theme-firma .btn-primary:focus,
.campus-theme-firma .btn-primary:focus-visible,
.campus-theme-firma .btn-falcon-primary:hover,
.campus-theme-firma .btn-falcon-primary:focus,
.campus-theme-firma .btn-falcon-primary:focus-visible {
    background-color: color-mix(in srgb, var(--campus-mobile-nav-button) 84%, #ffffff);
    border-color: color-mix(in srgb, var(--campus-mobile-nav-button) 84%, #ffffff);
    color: var(--campus-mobile-nav-text);
}

.campus-theme-firma .btn-primary:active,
.campus-theme-firma .btn-primary.active,
.campus-theme-firma .btn-falcon-primary:active,
.campus-theme-firma .btn-falcon-primary.active {
    background-color: color-mix(in srgb, var(--campus-mobile-nav-button) 76%, #ffffff);
    border-color: color-mix(in srgb, var(--campus-mobile-nav-button) 76%, #ffffff);
    color: var(--campus-mobile-nav-text);
}

.campus-theme-firma .btn-primary:disabled,
.campus-theme-firma .btn-primary.disabled,
.campus-theme-firma .btn-falcon-primary:disabled,
.campus-theme-firma .btn-falcon-primary.disabled {
    background-color: var(--campus-mobile-nav-button);
    border-color: var(--campus-mobile-nav-button);
    color: var(--campus-mobile-nav-text);
}

.campus-theme-firma .btn-outline-primary {
    --falcon-btn-color: var(--campus-mobile-nav-button);
    --falcon-btn-bg: transparent;
    --falcon-btn-border-color: var(--campus-mobile-nav-button);
    --falcon-btn-hover-color: var(--campus-mobile-nav-text);
    --falcon-btn-hover-bg: color-mix(in srgb, var(--campus-mobile-nav-button) 84%, #ffffff);
    --falcon-btn-hover-border-color: color-mix(in srgb, var(--campus-mobile-nav-button) 84%, #ffffff);
    --falcon-btn-active-color: var(--campus-mobile-nav-text);
    --falcon-btn-active-bg: color-mix(in srgb, var(--campus-mobile-nav-button) 76%, #ffffff);
    --falcon-btn-active-border-color: color-mix(in srgb, var(--campus-mobile-nav-button) 76%, #ffffff);
    --falcon-btn-disabled-color: var(--campus-mobile-nav-button);
    --falcon-btn-disabled-bg: transparent;
    --falcon-btn-disabled-border-color: var(--campus-mobile-nav-button);
    background-color: transparent;
    border-color: var(--campus-mobile-nav-button);
    color: var(--campus-mobile-nav-button);
}

.campus-theme-firma .btn-outline-primary:hover,
.campus-theme-firma .btn-outline-primary:focus,
.campus-theme-firma .btn-outline-primary:focus-visible {
    background-color: color-mix(in srgb, var(--campus-mobile-nav-button) 84%, #ffffff);
    border-color: color-mix(in srgb, var(--campus-mobile-nav-button) 84%, #ffffff);
    color: var(--campus-mobile-nav-text);
}

.campus-theme-firma .btn-outline-primary:active,
.campus-theme-firma .btn-outline-primary.active {
    background-color: color-mix(in srgb, var(--campus-mobile-nav-button) 76%, #ffffff);
    border-color: color-mix(in srgb, var(--campus-mobile-nav-button) 76%, #ffffff);
    color: var(--campus-mobile-nav-text);
}

.campus-theme-firma .btn-outline-primary:disabled,
.campus-theme-firma .btn-outline-primary.disabled {
    background-color: transparent;
    border-color: var(--campus-mobile-nav-button);
    color: var(--campus-mobile-nav-button);
}

.main .badge {
    border-radius: 50rem;
}

.campus-theme-firma .badge:not(.bg-danger):not(.bg-warning):not(.bg-success):not(.bg-info):not(.bg-secondary):not(.campus-seminarart-badge):not(.campus-firma-menu-count):not(.campus-firma-menu-noti):not(.campus-account-update-badge),
.campus-theme-firma .badge-subtle-primary:not(.campus-seminarart-badge) {
    background-color: var(--campus-mobile-nav-primary) !important;
    color: var(--campus-mobile-nav-text) !important;
}

.campus-theme-firma .campus-firma-menu-count {
    background-color: var(--campus-mobile-nav-button) !important;
    background: var(--campus-mobile-nav-button) !important;
    color: var(--campus-mobile-nav-text) !important;
}

.campus-theme-firma .campus-firma-menu-noti,
.campus-theme-firma .campus-account-update-badge {
    background-color: #e63757 !important;
    background: #e63757 !important;
    color: #ffffff !important;
}

/* Ungelesen-Hinweise in Listen (Chat o. Ä.): immer Rot wie Glocke */
.campus-theme-firma .campus-v2-firma-chat-kontakt-unread,
.campus-theme-firma .campus-v2-firma-gruppenchat-gruppe-unread {
    color: #e63757 !important;
}

@media (max-width: 991.98px) {
    .campus-footer {
        padding: 2rem 0 1.25rem;
    }

    .campus-footer-tagline {
        max-width: none;
    }
}


/* =========================================================
   Loading Screen
   ========================================================= */

.loading-screen {
    position: fixed;
    inset: 0;
    z-index: 2000;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, .82);
}

.loading-screen span {
    font-size: 2rem;
    color: #2c7be5;
}


/* =========================================================
   Back-to-top Button
   ========================================================= */

.btn-scroll-top {
    z-index: 1020;
}


/* =========================================================
   v2 Seminarfilter
   ========================================================= */

@media (min-width: 1200px) {
    .campus-seminarfilter-sidebar-col {
        flex: 0 0 calc(25% + 50px);
        max-width: calc(25% + 50px);
    }

    .campus-seminarfilter-content-col {
        flex: 0 0 calc(75% - 50px);
        max-width: calc(75% - 50px);
    }
}

@media (min-width: 1400px) {
    .campus-seminarfilter-sidebar-col {
        flex: 0 0 calc(16.666667% + 50px);
        max-width: calc(16.666667% + 50px);
    }

    .campus-seminarfilter-content-col {
        flex: 0 0 calc(83.333333% - 50px);
        max-width: calc(83.333333% - 50px);
    }
}

@media (max-width: 1199.98px) {
    .campus-seminarfilter-sidebar.offcanvas {
        width: 90vw;
        max-width: 90%;
    }
}

@media (max-width: 991.98px) {
    .campus-seminarfilter-details-btn {
        width: 100%;
    }
}

.campus-seminarfilter-art-title {
    font-size: 1.728rem;
    line-height: 1.3;
}

@media (max-width: 1199.98px) {
    .campus-seminarfilter-art-title {
        font-size: 1.4rem;
    }
}

.campus-seminarfilter-search-mobile .campus-seminarfilter-mobile-filter {
    min-width: 0;
    width: auto;
    height: auto;
    padding: .35rem .7rem;
    background: rgba(255, 255, 255, 0.72);
    border-color: rgba(216, 226, 239, 0.88);
}

.campus-seminarfilter-search-mobile .campus-seminarfilter-mobile-filter:hover,
.campus-seminarfilter-search-mobile .campus-seminarfilter-mobile-filter:focus,
.campus-seminarfilter-search-mobile .campus-seminarfilter-mobile-filter:active {
    background: rgba(255, 255, 255, 0.82);
    border-color: rgba(216, 226, 239, 0.96);
}

.campus-seminarfilter-search-mobile .input-group {
    align-items: stretch;
    flex-wrap: nowrap;
    border: 1px solid #d8e2ef;
    border-radius: .375rem;
    overflow: hidden;
    background: #ffffff;
}

.campus-seminarfilter-search-mobile .eingabe-suchbegriff,
.campus-seminarfilter-search-mobile .button-suchbegriff {
    height: 36px;
    min-height: 36px;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

.campus-seminarfilter-search-mobile .button-suchbegriff {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    color: #2c7be5;
    padding: 0 .85rem;
    line-height: 1;
    border-left: 1px solid #d8e2ef !important;
}

.campus-seminarfilter-sidebar .campus-filter-item.form-check {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 1.15rem;
    column-gap: .55rem;
    align-items: start;
    padding-left: 0;
    padding-right: 0;
    min-width: 0;
}

.campus-seminarfilter-sidebar .campus-filter-item .form-check-label {
    min-width: 0;
    max-width: 100%;
    width: auto;
    padding-right: 0;
    margin-bottom: 0;
    overflow-wrap: anywhere;
    word-break: break-word;
    white-space: normal;
}

.campus-seminarfilter-sidebar .campus-filter-item .form-check-input {
    float: none;
    margin: .15rem 0 0;
    position: static;
    width: 1em;
    height: 1em;
    flex: none;
}

.campus-seminarfilter-sidebar .widget-filter-list {
    max-height: none;
}

.campus-seminarfilter-sidebar .campus-filter-group-toggle {
    padding-right: 1.35rem;
}

.campus-seminarfilter-sidebar .campus-filter-group-title {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .4rem;
}

.campus-seminarfilter-sidebar .campus-filter-group-badge {
    font-size: .65rem;
    min-width: 1.15rem;
    line-height: 1.15;
}

.campus-seminarfilter-sidebar .widget-filter-item.is-unavailable {
    display: none;
}

.campus-seminarfilter-sidebar .campus-seminarart-divider {
    border-top: 1px solid #d8e2ef;
    margin: .65rem 0 .55rem;
}

.campus-theme-firma .form-check:not(.form-switch) .form-check-input:checked {
    background-color: var(--campus-mobile-nav-primary);
    border-color: var(--campus-mobile-nav-button);
}

.campus-theme-firma .form-check:not(.form-switch) .form-check-input:checked[type=radio] {
    --falcon-form-check-bg-image: var(--campus-form-check-radio-dot);
}

.campus-theme-firma .form-check:not(.form-switch) .form-check-input:checked[type=checkbox] {
    --falcon-form-check-bg-image: var(--campus-form-check-checkbox-mark);
}

.campus-theme-firma .form-check:not(.form-switch) .form-check-input:focus {
    border-color: var(--campus-mobile-nav-button);
    box-shadow: 0 0 0 .2rem color-mix(in srgb, var(--campus-mobile-nav-button) 28%, transparent);
}

.campus-seminarart-icon-0,
.campus-seminarart-badge-0 {
    --campus-seminarart-color: #111827;
}

.campus-seminarart-icon-1,
.campus-seminarart-badge-1 {
    --campus-seminarart-color: #8a3ffc;
}

.campus-seminarart-icon-2,
.campus-seminarart-badge-2 {
    --campus-seminarart-color: #27bcfd;
}

.campus-seminarart-icon-3,
.campus-seminarart-badge-3 {
    --campus-seminarart-color: #00d27a;
}

.campus-seminarart-icon-4,
.campus-seminarart-badge-4 {
    --campus-seminarart-color: #f5803e;
}

.campus-seminarart-icon {
    color: var(--campus-seminarart-color);
}

.campus-seminarart-badge {
    background-color: color-mix(in srgb, var(--campus-seminarart-color) 16%, #ffffff) !important;
    color: var(--campus-seminarart-color) !important;
}

.seminar-filter-badge {
    gap: .35rem;
    padding-top: .35rem;
    padding-bottom: .35rem;
    padding-left: .3rem;
}

.seminar-filter-badge-remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    background: transparent;
    line-height: 0;
}

.seminar-filter-badge-x {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: calc(.85rem + 2px);
    height: calc(.85rem + 2px);
    padding: 0;
    background: #fff;
    color: #000;
    font-size: calc(.85rem + 2px);
    font-weight: 300;
    line-height: 1;
}

.seminar-filter-badge-remove:hover .seminar-filter-badge-x {
    background: #e3e6ed;
}

.campus-seminarfilter-view-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
}

@media (min-width: 768px) {
    .campus-seminarfilter-view-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1400px) {
    .campus-seminarfilter-view-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.campus-seminarfilter-view-grid .seminarfilter-card {
    display: flex;
    flex-direction: column;
    margin-bottom: 0;
    height: 100%;
}

.campus-seminarfilter-view-grid .seminarfilter-card > .card-body {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
}

.campus-seminarfilter-view-grid .seminarfilter-card .row {
    flex-direction: column;
    --bs-gutter-x: 0;
}

.campus-seminarfilter-view-grid .seminarfilter-card [class*="col-"] {
    width: 100%;
    max-width: 100%;
    flex: 0 0 auto;
}

.campus-seminarfilter-view-grid .seminarfilter-card > .card-body > .row,
.campus-seminarfilter-view-grid .seminarfilter-card .col-md-8,
.campus-seminarfilter-view-grid .seminarfilter-card .col-md-8 > .row,
.campus-seminarfilter-view-grid .seminarfilter-card .col-lg-4,
.campus-seminarfilter-view-grid .seminarfilter-card .col-lg-4 > .d-flex {
    flex: 1 1 auto;
    min-height: 0;
}

.campus-seminarfilter-view-grid .campus-seminarfilter-details-wrap {
    margin-top: auto;
}

.campus-seminarfilter-view-grid .seminarfilter-card .col-md-4,
.campus-seminarfilter-view-grid .seminarfilter-card .col-md-4 a {
    height: 170px;
}

.campus-seminarfilter-view-grid .seminarfilter-card img {
    height: 170px;
    object-fit: cover;
}

.campus-seminarfilter-view-grid .seminarfilter-card .border-lg {
    border: 0 !important;
    padding: 0 !important;
}

.campus-seminarfilter-view-grid #seminarfilter-keine-treffer {
    grid-column: 1 / -1;
    margin-bottom: 0;
}

button.campus-ondemand-hinweis {
    appearance: none;
    font: inherit;
    color: inherit;
    border: 1px dashed #d8e2ef;
    background: #f9fafd;
    cursor: pointer;
}

button.campus-ondemand-hinweis:hover {
    border-color: #2c7be5;
    background: #fff;
}


/* =========================================================
   Auth (Login / Registrierung / Kennwort)
   ========================================================= */

.campus-auth-hero {
    min-height: calc(100vh - 80px);
    padding-top: 6.5rem;
    padding-bottom: 3rem;
    display: flex;
    align-items: flex-start;
}

.campus-auth-hero > .container {
    width: 100%;
}

.campus-auth-row {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
    width: 100%;
}

@media (min-width: 992px) {
    .campus-auth-row {
        padding-top: 4rem;
    }
}

.campus-auth-card {
    border: 0;
    border-radius: 1rem;
    overflow: hidden;
}

.campus-auth-hero a:not(.btn):not(.campus-auth-social-btn) {
    color: var(--campus-logo-color);
}

.campus-auth-hero a:not(.btn):not(.campus-auth-social-btn):hover,
.campus-auth-hero a:not(.btn):not(.campus-auth-social-btn):focus {
    color: var(--campus-logo-color-hover);
}

.campus-auth-hero .btn-link {
    color: var(--campus-logo-color);
}

.campus-auth-hero .btn-link:hover,
.campus-auth-hero .btn-link:focus {
    color: var(--campus-logo-color-hover);
}

.campus-auth-hero .btn-outline-primary {
    --bs-btn-color: var(--campus-logo-color);
    --bs-btn-border-color: var(--campus-logo-color);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--campus-logo-color);
    --bs-btn-hover-border-color: var(--campus-logo-color);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--campus-logo-color-hover);
    --bs-btn-active-border-color: var(--campus-logo-color-hover);
    --bs-btn-focus-shadow-rgb: 6, 67, 102;
}

.campus-auth-card .divider-content-center {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: var(--falcon-card-bg, #fff);
    padding: 0 .75rem;
    color: #748194;
    font-size: .75rem;
    white-space: nowrap;
}

.campus-auth-social {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: .5rem;
}

.campus-auth-social-btn {
    width: 2.75rem;
    height: 2.75rem;
    min-width: 2.75rem;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    flex: 0 0 auto;
}

.campus-auth-hero .input-group {
    flex-wrap: nowrap;
}

.campus-auth-hero .input-group .form-control {
    min-width: 0;
    flex: 1 1 auto;
}

.campus-auth-hero .campus-password-toggle-btn {
    width: auto;
    min-width: 2.75rem;
    max-width: none;
    flex: 0 0 auto;
    padding-left: .75rem;
    padding-right: .75rem;
}

.campus-auth-alert {
    font-size: .9rem;
}

/* Hintergrund ab 576px – darunter reines Handy-Layout */
.campus-auth-hero .campus-hero-bg,
.campus-auth-hero .campus-hero-overlay {
    display: none;
}

@media (min-width: 576px) {
    .campus-auth-hero .campus-hero-bg,
    .campus-auth-hero .campus-hero-overlay {
        display: block;
    }
}

/* Tablet & kleiner Desktop: Card mit Hintergrund */
@media (min-width: 576px) and (max-width: 991.98px) {
    .campus-auth-hero {
        min-height: auto;
        padding-top: 1.5rem;
        padding-bottom: 2rem;
    }

    .campus-auth-hero.campus-hero-section {
        min-height: auto;
        padding-top: 1.5rem;
    }

    .campus-auth-row {
        padding-top: 1.5rem;
        padding-bottom: 1.5rem;
    }

    .campus-auth-card {
        border-radius: .75rem;
        box-shadow: 0 .25rem .75rem rgba(6, 67, 102, .08) !important;
    }

    .campus-auth-heading {
        text-align: center;
    }
}

/* Nur echte Handys: kein Hintergrundbild, kein Card-Kasten */
.campus-auth-back-icon {
    display: none;
}

.campus-auth-forgot-mobile {
    display: none;
}

@media (max-width: 575.98px) {
    .campus-auth-hero {
        min-height: auto;
        padding-top: 1.25rem;
        padding-bottom: 1.5rem;
        background: #edf2f9;
        overflow-x: hidden;
    }

    .campus-auth-hero.campus-hero-section {
        min-height: auto;
        padding-top: 1.25rem;
    }

    .campus-auth-hero > .container {
        width: 100%;
        max-width: 100%;
        padding-left: 1.25rem;
        padding-right: 1.25rem;
        margin-left: auto;
        margin-right: auto;
    }

    .campus-auth-row {
        --bs-gutter-x: 0;
        margin-left: 0;
        margin-right: 0;
        padding-top: 1.25rem;
        padding-bottom: 1rem;
        justify-content: center;
    }

    .campus-auth-row > [class*="col-"] {
        padding-left: 0;
        padding-right: 0;
        width: 100%;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
    }

    .campus-auth-card {
        background: transparent;
        border: 0;
        border-radius: 0;
        box-shadow: none !important;
        width: 100%;
        max-width: 100%;
    }

    .campus-auth-card .card-body {
        padding: 0 !important;
        width: 100%;
        max-width: 100%;
    }

    .campus-auth-card .divider-content-center {
        background: #edf2f9;
    }

    .campus-auth-heading {
        text-align: center;
    }

    .campus-auth-hero .input-group,
    .campus-auth-hero .btn:not(.campus-auth-back-icon),
    .campus-auth-hero form {
        max-width: 100%;
    }

    .campus-auth-hero .g-recaptcha {
        display: flex;
        justify-content: center;
        overflow: hidden;
        max-width: 100%;
    }

    .campus-auth-back-text {
        display: none !important;
    }

    .campus-auth-back-icon {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        width: 2.5rem;
        height: 2.5rem;
        min-width: 2.5rem;
        padding: 0;
        flex-shrink: 0;
    }

    .campus-auth-panel-header > div:first-child {
        padding-right: .5rem;
    }

    .campus-auth-forgot-text {
        display: none !important;
    }

    .campus-auth-forgot-mobile {
        display: inline-block;
        font-size: .7rem;
        padding: .15rem .5rem;
        line-height: 1.3;
    }

    .campus-auth-forgot-wrap {
        justify-content: flex-end !important;
    }

    .campus-auth-hero--logged-in {
        padding-bottom: 2.5rem;
        margin-bottom: 1.5rem;
    }

    .campus-auth-panel-header {
        margin-top: .5rem;
    }
}


/* =========================================================
   v2 Profil onDemand Videos
   ========================================================= */

.campus-v2-ondemand-toolbar {
    overflow: hidden;
    position: relative;
}

.campus-v2-ondemand-toolbar .bg-holder.bg-card {
    pointer-events: none;
}

.campus-v2-ondemand-toolbar .card-header > :not(.bg-holder),
.campus-v2-ondemand-toolbar .card-body,
.campus-v2-ondemand-lesson-card .card-header > :not(.bg-holder) {
    position: relative;
    z-index: 1;
}

.campus-v2-ondemand-detail-cover-mobile img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

.campus-v2-ondemand-detail-cover-badge {
    position: absolute;
    top: 0.75rem;
    left: 0.75rem;
    z-index: 2;
}

.campus-v2-ondemand-detail-toolbar .bg-holder.bg-card {
    top: 0;
    left: auto;
    right: 0;
    width: 50%;
    min-height: 0;
    height: auto;
    aspect-ratio: 1;
    background-position: top right;
    background-size: 100% auto;
}

.campus-v2-ondemand-lesson-card {
    overflow: hidden;
}

.campus-v2-ondemand-lesson-card .bg-holder.bg-card {
    pointer-events: none;
}

.campus-v2-ondemand-item {
    border-bottom: 1px solid var(--falcon-border-color, #edf2f9);
}

.campus-v2-ondemand-item:last-child {
    border-bottom: 0;
}

.campus-v2-ondemand-bild {
    min-height: 10rem;
    background: var(--falcon-gray-200, #edf2f9);
    border-radius: 0.25rem;
    overflow: hidden;
}

.campus-v2-ondemand-bild img {
    min-height: 10rem;
}

.campus-v2-ondemand-aktionen {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.campus-v2-ondemand-player-zone {
    background: var(--falcon-gray-100, #f9fafd);
    border-bottom: 1px solid var(--falcon-border-color, #edf2f9);
}

.campus-v2-ondemand-player-content .campus-v2-ondemand-video {
    background: #000;
}

.campus-v2-ondemand-video-element {
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: #000;
}

.campus-v2-ondemand-next-video {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.45);
}

.campus-v2-ondemand-lesson-item {
    border-bottom: 1px solid var(--falcon-border-color, #edf2f9);
    transition: background-color 0.2s ease;
}

.campus-v2-ondemand-lesson-item:last-child {
    border-bottom: 0;
}

.campus-v2-ondemand-lesson-item.is-active {
    background: rgba(138, 63, 252, 0.06);
}

.campus-v2-ondemand-lesson-item-locked {
    opacity: 0.72;
}

.campus-v2-ondemand-lesson-row {
    cursor: pointer;
}

.campus-v2-ondemand-lesson-item-locked .campus-v2-ondemand-lesson-row {
    cursor: default;
}

.campus-v2-ondemand-lesson-index {
    flex: 0 0 7.25rem;
    align-items: center;
    justify-content: flex-start;
}

.campus-v2-ondemand-lesson-badge {
    font-size: 0.85rem;
    font-weight: 600;
    line-height: 1.2;
    padding: 0.4rem 0.75rem;
}

.campus-v2-ondemand-progress {
    background: var(--falcon-gray-200, #edf2f9);
}

@media (min-width: 768px) {
    .campus-v2-ondemand-liste .campus-v2-ondemand-inner > .row {
        --bs-gutter-x: 1rem;
    }

    .campus-v2-ondemand-liste .campus-v2-ondemand-content > .p-3 {
        padding-left: 0 !important;
    }

    .campus-v2-ondemand-liste .campus-v2-ondemand-bild {
        border: 1px solid var(--falcon-border-color, #edf2f9);
        border-radius: 0.375rem;
    }
}

@media (min-width: 992px) {
    .campus-v2-ondemand-aktionen {
        flex-direction: column;
        align-items: stretch;
    }

    .campus-v2-ondemand-aktionen .btn {
        width: 100%;
    }
}

@media (max-width: 767.98px) {
    .campus-v2-ondemand-toolbar .bg-holder.bg-card,
    .campus-v2-ondemand-lesson-card .bg-holder.bg-card {
        top: 0;
        left: auto;
        right: 0;
        width: 50%;
        min-height: 0;
        height: auto;
        aspect-ratio: 1;
        background-position: top right;
        background-size: 100% auto;
    }

    .campus-v2-ondemand-lesson-row {
        padding: 0.85rem 1rem;
        gap: 0;
    }
}


/* =========================================================
   v2 Bestellung / Checkout
   ========================================================= */

.campus-v2-bestellung-zahlung .card-body {
    position: relative;
}

.campus-v2-bestellung-loeschen-btn {
    position: relative;
    z-index: 1;
    padding: 0.15rem 0.5rem;
    font-size: 0.75rem;
    line-height: 1.2;
    background-color: rgba(230, 55, 87, 0.12);
    border: 1px solid rgba(230, 55, 87, 0.35);
    color: #e63757;
}

.campus-v2-bestellung-loeschen-btn:hover,
.campus-v2-bestellung-loeschen-btn:focus {
    background-color: rgba(230, 55, 87, 0.22);
    border-color: rgba(230, 55, 87, 0.5);
    color: #e63757;
}

/* =========================================================
   v2 Profil Buchungen
   ========================================================= */

.campus-v2-buchungen-toolbar {
    overflow: hidden;
    position: relative;
}

.campus-v2-buchungen-toolbar .bg-holder.bg-card {
    pointer-events: none;
}

.campus-v2-buchungen-toolbar .card-header > :not(.bg-holder),
.campus-v2-buchungen-toolbar .card-body {
    position: relative;
    z-index: 1;
}

.campus-v2-buchung-aktionen {
    font-size: 1.15rem;
    line-height: 1;
}

/* Aktionsmenü: kein Popper-Scroll/Seitenversatz auf Mobil */
.campus-v2-buchung-item,
.campus-v2-warenkorb-item,
.campus-v2-buchung-item .card-header,
.campus-v2-warenkorb-item .card-header {
    overflow: visible;
}

.campus-v2-aktion-dropdown {
    position: relative;
}

.campus-v2-aktion-dropdown .dropdown-menu {
    z-index: 1021;
}

.campus-v2-aktion-menu {
    min-width: 17.5rem;
    width: max-content;
    max-width: min(24rem, calc(100vw - 2rem));
    padding: 0.4rem;
}

.campus-v2-aktion-menu .dropdown-item {
    display: flex;
    align-items: center;
    border-radius: 0.35rem;
    padding: 0.4rem 0.55rem;
    white-space: nowrap;
}

.campus-v2-aktion-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.55rem;
    height: 1.55rem;
    margin-right: 0.6rem;
    border: 1px solid;
    border-radius: 0.35rem;
    flex-shrink: 0;
    font-size: 0.72rem;
}

.campus-v2-aktion-icon-ansehen {
    color: #00d27a;
    background: rgba(0, 210, 122, 0.12);
    border-color: rgba(0, 210, 122, 0.38);
}

.campus-v2-aktion-icon-bearbeiten {
    color: #2c7be5;
    background: rgba(44, 123, 229, 0.12);
    border-color: rgba(44, 123, 229, 0.38);
}

.campus-v2-aktion-icon-loeschen {
    color: #e63757;
    background: rgba(230, 55, 87, 0.12);
    border-color: rgba(230, 55, 87, 0.38);
}

.campus-v2-aktion-icon-stornieren {
    color: #e6a800;
    background: rgba(246, 195, 67, 0.22);
    border-color: rgba(230, 168, 0, 0.45);
}

.campus-v2-aktion-menu .dropdown-item.text-muted .campus-v2-aktion-icon {
    opacity: 0.55;
}

.campus-v2-buchungen-suche-gruppe {
    min-width: 16rem;
    max-width: 28rem;
}

.campus-v2-buchung-treffer {
    background-color: #fff3cd;
    color: inherit;
    padding: 0 0.12em;
    border-radius: 0.15rem;
}

.campus-v2-buchung-bild {
    min-height: 8rem;
    background: var(--falcon-gray-200, #edf2f9);
    border-radius: 0.25rem;
    overflow: hidden;
}

.campus-v2-buchung-bild img {
    aspect-ratio: 16 / 9;
    object-fit: cover;
    min-height: 8rem;
}

@media (max-width: 767.98px) {
    .campus-v2-buchungen-toolbar .bg-holder.bg-card {
        top: 0;
        left: auto;
        right: 0;
        width: 50%;
        min-height: 0;
        height: auto;
        aspect-ratio: 1;
        background-position: top right;
        background-size: 100% auto;
    }

    .campus-v2-buchungen-suche-gruppe {
        min-width: 0;
        max-width: none;
        width: 100%;
    }
}


/* =========================================================
   v2 Profil Zertifikate
   ========================================================= */

.campus-v2-zertifikate-toolbar {
    overflow: hidden;
    position: relative;
}

.campus-v2-zertifikate-toolbar .bg-holder.bg-card {
    pointer-events: none;
}

.campus-v2-zertifikate-toolbar .card-header > :not(.bg-holder),
.campus-v2-zertifikate-toolbar .card-body {
    position: relative;
    z-index: 1;
}

.campus-v2-zertifikat-item {
    border-bottom: 1px solid var(--falcon-border-color, #edf2f9);
}

.campus-v2-zertifikat-item:last-child {
    border-bottom: 0;
}

@media (max-width: 767.98px) {
    .campus-v2-zertifikate-toolbar .bg-holder.bg-card {
        top: 0;
        left: auto;
        right: 0;
        width: 50%;
        min-height: 0;
        height: auto;
        aspect-ratio: 1;
        background-position: top right;
        background-size: 100% auto;
    }
}


/* =========================================================
   v2 Profil Gutscheine
   ========================================================= */

.campus-v2-gutscheine-toolbar {
    overflow: hidden;
    position: relative;
}

.campus-v2-gutscheine-toolbar .bg-holder.bg-card {
    pointer-events: none;
}

.campus-v2-gutscheine-toolbar .card-header > :not(.bg-holder),
.campus-v2-gutscheine-toolbar .card-body {
    position: relative;
    z-index: 1;
}

.campus-v2-gutschein-item {
    border-bottom: 1px solid var(--falcon-border-color, #edf2f9);
}

.campus-v2-gutschein-item:last-child {
    border-bottom: 0;
}

.campus-v2-gutschein-code {
    display: inline-block;
    padding: 0.2rem 0.45rem;
    background: var(--falcon-gray-100, #f9fafd);
    border: 1px solid var(--falcon-border-color, #edf2f9);
    border-radius: 0.25rem;
    font-size: 0.85rem;
    word-break: break-all;
}

.campus-v2-gutschein-betrag {
    font-size: 0.75rem;
}

@media (max-width: 767.98px) {
    .campus-v2-gutscheine-toolbar .bg-holder.bg-card {
        top: 0;
        left: auto;
        right: 0;
        width: 50%;
        min-height: 0;
        height: auto;
        aspect-ratio: 1;
        background-position: top right;
        background-size: 100% auto;
    }
}


/* =========================================================
   v2 Profil Favoriten
   ========================================================= */

.campus-v2-favoriten-toolbar {
    overflow: hidden;
}

.campus-v2-favoriten-toolbar .bg-holder.bg-card {
    pointer-events: none;
}

.campus-v2-favoriten-toolbar .card-header > :not(.bg-holder),
.campus-v2-favoriten-toolbar .card-body {
    position: relative;
    z-index: 1;
}

.campus-v2-favorit-item {
    border-bottom: 1px solid var(--falcon-border-color, #edf2f9);
}

.campus-v2-favorit-item:last-child {
    border-bottom: 0;
}

.campus-v2-favorit-inner {
    border: 0;
    box-shadow: none;
    background: transparent;
}

.campus-v2-favorit-bild {
    min-height: 10rem;
    background: var(--falcon-gray-200, #edf2f9);
    overflow: hidden;
}

.campus-v2-favorit-bild img {
    min-height: 10rem;
    object-fit: cover;
}

.campus-v2-favoriten-liste.is-grid .campus-v2-favorit-item {
    width: 100%;
    border-bottom: 0;
    padding: 0.5rem;
}

.campus-v2-favoriten-liste.is-grid .campus-v2-favorit-inner {
    height: 100%;
    border: 1px solid var(--falcon-border-color, #edf2f9);
    border-radius: 0.375rem;
    overflow: hidden;
    background-color: var(--falcon-card-bg, #fff);
}

.campus-v2-favoriten-liste.is-grid .campus-v2-favorit-inner > .row {
    --bs-gutter-x: 0;
    flex-direction: column;
    height: 100%;
}

.campus-v2-favoriten-liste.is-grid .campus-v2-favorit-media {
    width: 100%;
    max-width: 100%;
    flex: 0 0 auto;
}

.campus-v2-favoriten-liste.is-grid .campus-v2-favorit-content {
    width: 100%;
    max-width: 100%;
    flex: 1 1 auto;
    display: flex;
}

.campus-v2-favoriten-liste.is-grid .campus-v2-favorit-bild,
.campus-v2-favoriten-liste.is-grid .campus-v2-favorit-bild img {
    min-height: 0;
    height: auto;
    aspect-ratio: 16 / 10;
    border-radius: 0 !important;
}

@media (min-width: 768px) {
    .campus-v2-favoriten-liste:not(.is-grid) .campus-v2-favorit-inner > .row {
        --bs-gutter-x: 1rem;
    }

    .campus-v2-favoriten-liste:not(.is-grid) .campus-v2-favorit-bild {
        border: 1px solid var(--falcon-border-color, #edf2f9);
        border-radius: 0.375rem;
    }

    .campus-v2-favoriten-liste.is-grid .campus-v2-favorit-item {
        width: 50%;
    }
}

@media (min-width: 1200px) {
    .campus-v2-favoriten-liste.is-grid .campus-v2-favorit-item {
        width: 33.3333%;
    }
}

@media (max-width: 767.98px) {
    .campus-v2-favoriten-toolbar .bg-holder.bg-card {
        top: 0;
        left: auto;
        right: 0;
        width: 50%;
        min-height: 0;
        height: auto;
        aspect-ratio: 1;
        background-position: top right;
        background-size: 100% auto;
    }

    .campus-v2-favoriten-liste-card,
    .campus-v2-favoriten-liste-card > .card-body {
        background-color: transparent;
        border-color: transparent;
        box-shadow: none;
    }

    .campus-v2-favoriten-liste .campus-v2-favorit-item,
    .campus-v2-favoriten-liste.is-grid .campus-v2-favorit-item {
        width: 100%;
        border-bottom: 0;
        padding: 0 0 1rem !important;
    }

    .campus-v2-favoriten-liste .campus-v2-favorit-item:last-child,
    .campus-v2-favoriten-liste.is-grid .campus-v2-favorit-item:last-child {
        padding-bottom: 0 !important;
    }

    .campus-v2-favoriten-liste .campus-v2-favorit-inner {
        height: 100%;
        background-color: var(--falcon-card-bg, #fff);
        border: 1px solid var(--falcon-border-color, #edf2f9);
        border-radius: 0.375rem;
        overflow: hidden;
    }

    .campus-v2-favoriten-liste .campus-v2-favorit-inner > .row {
        --bs-gutter-x: 0;
        flex-direction: column;
        height: 100%;
    }

    .campus-v2-favoriten-liste .campus-v2-favorit-media {
        width: 100%;
        max-width: 100%;
        flex: 0 0 auto;
    }

    .campus-v2-favoriten-liste .campus-v2-favorit-content {
        width: 100%;
        max-width: 100%;
        flex: 1 1 auto;
        display: flex;
    }

    .campus-v2-favoriten-liste .campus-v2-favorit-bild,
    .campus-v2-favoriten-liste .campus-v2-favorit-bild img {
        min-height: 0;
        height: auto;
        aspect-ratio: 16 / 10;
        border-radius: 0 !important;
    }
}


/* =========================================================
   v2 Profil Beobachtungen
   ========================================================= */

.campus-v2-beobachtungen-toolbar {
    overflow: hidden;
}

.campus-v2-beobachtungen-toolbar .bg-holder.bg-card {
    pointer-events: none;
}

.campus-v2-beobachtungen-toolbar .card-header > :not(.bg-holder),
.campus-v2-beobachtungen-toolbar .card-body {
    position: relative;
    z-index: 1;
}

.campus-v2-beobachtung-item {
    border-bottom: 1px solid var(--falcon-border-color, #edf2f9);
}

.campus-v2-beobachtung-item:last-child {
    border-bottom: 0;
}

.campus-v2-beobachtung-inner {
    border: 0;
    box-shadow: none;
    background: transparent;
}

.campus-v2-beobachtung-bild {
    min-height: 10rem;
    background: var(--falcon-gray-200, #edf2f9);
    overflow: hidden;
}

.campus-v2-beobachtung-bild img {
    min-height: 10rem;
    object-fit: cover;
}

.campus-v2-beobachtungen-liste.is-grid .campus-v2-beobachtung-item {
    width: 100%;
    border-bottom: 0;
    padding: 0.5rem;
}

.campus-v2-beobachtungen-liste.is-grid .campus-v2-beobachtung-inner {
    height: 100%;
    border: 1px solid var(--falcon-border-color, #edf2f9);
    border-radius: 0.375rem;
    overflow: hidden;
    background-color: var(--falcon-card-bg, #fff);
}

.campus-v2-beobachtungen-liste.is-grid .campus-v2-beobachtung-inner > .row {
    --bs-gutter-x: 0;
    flex-direction: column;
    height: 100%;
}

.campus-v2-beobachtungen-liste.is-grid .campus-v2-beobachtung-media {
    width: 100%;
    max-width: 100%;
    flex: 0 0 auto;
}

.campus-v2-beobachtungen-liste.is-grid .campus-v2-beobachtung-content {
    width: 100%;
    max-width: 100%;
    flex: 1 1 auto;
    display: flex;
}

.campus-v2-beobachtungen-liste.is-grid .campus-v2-beobachtung-bild,
.campus-v2-beobachtungen-liste.is-grid .campus-v2-beobachtung-bild img {
    min-height: 0;
    height: auto;
    aspect-ratio: 16 / 10;
    border-radius: 0 !important;
}

@media (min-width: 768px) {
    .campus-v2-beobachtungen-liste:not(.is-grid) .campus-v2-beobachtung-inner > .row {
        --bs-gutter-x: 1rem;
    }

    .campus-v2-beobachtungen-liste:not(.is-grid) .campus-v2-beobachtung-bild {
        border: 1px solid var(--falcon-border-color, #edf2f9);
        border-radius: 0.375rem;
    }

    .campus-v2-beobachtungen-liste.is-grid .campus-v2-beobachtung-item {
        width: 50%;
    }
}

@media (min-width: 1200px) {
    .campus-v2-beobachtungen-liste.is-grid .campus-v2-beobachtung-item {
        width: 33.3333%;
    }
}

@media (max-width: 767.98px) {
    .campus-v2-beobachtungen-toolbar .bg-holder.bg-card {
        top: 0;
        left: auto;
        right: 0;
        width: 50%;
        min-height: 0;
        height: auto;
        aspect-ratio: 1;
        background-position: top right;
        background-size: 100% auto;
    }

    .campus-v2-beobachtungen-liste-card,
    .campus-v2-beobachtungen-liste-card > .card-body {
        background-color: transparent;
        border-color: transparent;
        box-shadow: none;
    }

    .campus-v2-beobachtungen-liste .campus-v2-beobachtung-item,
    .campus-v2-beobachtungen-liste.is-grid .campus-v2-beobachtung-item {
        width: 100%;
        border-bottom: 0;
        padding: 0 0 1rem !important;
    }

    .campus-v2-beobachtungen-liste .campus-v2-beobachtung-item:last-child,
    .campus-v2-beobachtungen-liste.is-grid .campus-v2-beobachtung-item:last-child {
        padding-bottom: 0 !important;
    }

    .campus-v2-beobachtungen-liste .campus-v2-beobachtung-inner {
        height: 100%;
        background-color: var(--falcon-card-bg, #fff);
        border: 1px solid var(--falcon-border-color, #edf2f9);
        border-radius: 0.375rem;
        overflow: hidden;
    }

    .campus-v2-beobachtungen-liste .campus-v2-beobachtung-inner > .row {
        --bs-gutter-x: 0;
        flex-direction: column;
        height: 100%;
    }

    .campus-v2-beobachtungen-liste .campus-v2-beobachtung-media {
        width: 100%;
        max-width: 100%;
        flex: 0 0 auto;
    }

    .campus-v2-beobachtungen-liste .campus-v2-beobachtung-content {
        width: 100%;
        max-width: 100%;
        flex: 1 1 auto;
        display: flex;
    }

    .campus-v2-beobachtungen-liste .campus-v2-beobachtung-bild,
    .campus-v2-beobachtungen-liste .campus-v2-beobachtung-bild img {
        min-height: 0;
        height: auto;
        aspect-ratio: 16 / 10;
        border-radius: 0 !important;
    }
}


/* =========================================================
   v2 Profil Campus-Updates
   ========================================================= */

.campus-v2-updates-toolbar {
    overflow: hidden;
    position: relative;
}

.campus-v2-updates-toolbar .bg-holder.bg-card {
    pointer-events: none;
    min-height: 100%;
    background-size: contain;
    background-position: top right;
    background-repeat: no-repeat;
}

.campus-v2-updates-toolbar .card-header,
.campus-v2-updates-toolbar .card-body {
    position: relative;
    z-index: 1;
}

.campus-v2-updates-liste > .row {
    max-width: none !important;
    margin-bottom: 0 !important;
    margin-left: 0;
    margin-right: 0;
}

.campus-v2-updates-liste > .row > .col-12 {
    padding-left: 0;
    padding-right: 0;
}

.campus-v2-updates-liste .card {
    border-color: var(--falcon-border-color, #edf2f9);
    overflow: hidden;
}

.campus-v2-updates-liste .card-header {
    display: flex;
    flex-direction: column;
    align-items: flex-start !important;
    gap: 0.25rem;
    padding: 1rem 1.25rem;
    background: var(--falcon-card-cap-bg, #fff) !important;
    border-bottom: 1px solid var(--falcon-border-color, #edf2f9);
}

.campus-v2-updates-liste .card-header > div:last-child {
    order: -1;
    margin-bottom: 0;
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1.3;
}

.campus-v2-updates-liste .card-header > div:first-child {
    font-size: 0.75rem;
    font-weight: 400 !important;
    color: var(--falcon-gray-600, #748194);
}

.campus-v2-updates-liste .card-body {
    padding: 1rem 1.25rem;
    background: var(--falcon-gray-100, #f9fafd);
}

.campus-v2-updates-liste .card-body > .fw-bolder.text-success {
    font-size: 0.75rem;
    font-weight: 600 !important;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: var(--falcon-success, #00d27a) !important;
    margin-bottom: 0.75rem;
}

.campus-v2-updates-liste .card-body > .fw-bolder.text-warning {
    font-size: 0.75rem;
    font-weight: 600 !important;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: var(--falcon-warning, #e6a800) !important;
    margin-top: 1rem;
    margin-bottom: 0.75rem;
}

.campus-v2-updates-liste .card-body hr {
    margin: 0.75rem 0;
    border-color: var(--falcon-border-color, #edf2f9);
}

.campus-v2-updates-liste .card-body .row {
    margin-bottom: 0.5rem;
}

.campus-v2-updates-liste .card-body .col-md-2 {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--falcon-gray-700, #5e6e82);
}

.campus-v2-updates-liste .card-body .col-md-10 {
    font-size: 0.8125rem;
    line-height: 1.55;
    color: var(--falcon-gray-800, #344050);
}

@media (max-width: 767.98px) {
    .campus-v2-updates-toolbar .bg-holder.bg-card {
        top: 0;
        right: 0;
        bottom: 0;
        left: auto;
        width: 100%;
        min-height: 100%;
        height: 100%;
        background-position: right center;
        background-size: auto 100%;
        border-top-right-radius: inherit;
        border-bottom-right-radius: inherit;
    }

    .campus-v2-updates-liste .card-body .col-md-2 {
        margin-bottom: 0.25rem;
    }
}


/* =========================================================
   v2 Profil Einstellungen
   ========================================================= */

.campus-v2-einstellungen-header {
    position: relative;
    overflow: visible;
}

.campus-v2-einstellungen-header .card-header {
    background: transparent;
}

.campus-v2-einstellungen-header .campus-v2-einstellungen-cover,
.campus-v2-einstellungen-header .cover-image {
    height: 150px;
    min-height: 150px;
}

.campus-v2-einstellungen-cover-bg {
    height: 150px;
    min-height: 150px;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    border-top-left-radius: inherit;
    border-top-right-radius: inherit;
}

.campus-v2-einstellungen-header .avatar-profile,
.campus-v2-einstellungen-header .avatar-5xl.campus-v2-einstellungen-avatar-wrap {
    width: 160px;
    height: 160px;
    left: 1.25rem;
    bottom: 0;
    transform: translateY(calc(50% + 8px));
}

.campus-v2-einstellungen-header .cover-image-file-input.campus-v2-einstellungen-cover-btn {
    opacity: 1;
    pointer-events: auto;
    appearance: none;
    font: inherit;
    line-height: 1.2;
}

.campus-v2-einstellungen-cover-name {
    position: absolute;
    top: 0.9rem;
    left: 1rem;
    right: 1rem;
    z-index: 2;
    font-size: 1.55rem;
    font-weight: 700;
    line-height: 1.15;
    color: #fff;
    text-shadow: 0 0.125rem 0.5rem rgba(0, 0, 0, 0.55);
}

.campus-v2-einstellungen-header .campus-v2-einstellungen-avatar-wrap {
    padding: 6px;
    border: 0;
    background: #fff;
    box-shadow: 0 0 0 6px #fff, 0 0.125rem 0.25rem rgba(0, 0, 0, 0.12);
    cursor: pointer;
}

.campus-v2-einstellungen-header .campus-v2-einstellungen-avatar-wrap .overlay-icon {
    pointer-events: none;
}

.campus-v2-einstellungen-header .card-header.campus-v2-einstellungen-cover {
    margin-bottom: 1rem;
}

.campus-v2-einstellungen-header .card-body {
    padding-top: 0;
}

.campus-v2-einstellungen-header-meta {
    padding-left: calc(160px + 1.25rem);
    min-height: calc(88px - 1rem);
}

.campus-v2-einstellungen-geraet-kopf {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.campus-v2-einstellungen-geraet-info {
    min-width: 0;
    flex: 1 1 auto;
}

.campus-v2-einstellungen-geraet-menu {
    margin-left: auto;
    flex-shrink: 0;
}

.campus-v2-einstellungen-geraet-menu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    font-size: 1.25rem;
    line-height: 1;
    text-decoration: none;
}

.campus-v2-einstellungen-geraet-trenner {
    margin: 1.25rem 0;
}

@media (max-width: 767.98px) {
    .campus-v2-einstellungen-header .avatar-profile,
    .campus-v2-einstellungen-header .avatar-5xl.campus-v2-einstellungen-avatar-wrap {
        width: 128px;
        height: 128px;
        left: 1rem;
    }

    .campus-v2-einstellungen-header .campus-v2-einstellungen-avatar-wrap {
        padding: 5px;
        box-shadow: 0 0 0 5px #fff, 0 0.125rem 0.25rem rgba(0, 0, 0, 0.12);
    }

    .campus-v2-einstellungen-header .card-header.campus-v2-einstellungen-cover {
        margin-bottom: 1rem;
    }

    .campus-v2-einstellungen-cover-name {
        top: 0.85rem;
        left: 0.85rem;
        right: 0.85rem;
        font-size: 1.15rem;
    }

    .campus-v2-einstellungen-header-meta {
        padding-left: calc(128px + 1rem);
        min-height: calc(72px - 1rem);
    }

    .campus-v2-einstellungen-geraet-kopf {
        gap: 0.75rem;
    }
}

@media (min-width: 768px) {
    .campus-v2-einstellungen-cover-bg {
        inset: 0;
        height: auto;
        min-height: 100%;
        border-radius: inherit;
    }

    .campus-v2-einstellungen-header .card-body {
        position: relative;
        background: transparent;
    }
}

.campus-v2-einstellungen-section {
    scroll-margin-top: calc(var(--campus-navbar-height, 4rem) + 1rem);
}

.campus-v2-einstellungen-avatar-img {
    object-fit: cover;
}

.campus-v2-croppie-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 18rem;
}

#campus-v2-croppie {
    width: 100%;
}

#campus-v2-croppie .cr-boundary {
    margin: 0 auto;
}

#campus-v2-croppie .cr-slider-wrap {
    width: min(100%, 15.5rem);
    margin: 1rem auto 0;
}

.campus-v2-einstellungen-geburtsdatum {
    max-width: 14rem;
}

.campus-v2-einstellungen-app-links {
    max-width: 20rem;
}

.campus-v2-firma-toolbar {
    overflow: hidden;
    position: relative;
}

.campus-v2-firma-toolbar .bg-holder.bg-card {
    pointer-events: none;
}

.campus-v2-firma-toolbar .card-header > :not(.bg-holder),
.campus-v2-firma-toolbar .card-body {
    position: relative;
    z-index: 1;
}

@media (max-width: 767.98px) {
    .campus-v2-firma-toolbar .bg-holder.bg-card {
        top: 0;
        left: auto;
        right: 0;
        width: 50%;
        min-height: 0;
        height: auto;
        aspect-ratio: 1;
        background-position: top right;
        background-size: 100% auto;
    }
}

.campus-v2-firma-zugangscode {
    word-break: break-all;
}

.campus-v2-firma-logo {
    border: 1px solid var(--falcon-border-color, #edf2f9);
    background: #fff;
}

.campus-v2-firma-rechte {
    margin-left: 0;
}

.campus-v2-firma-rechte .table {
    margin-bottom: 0;
}

.campus-v2-firma-rechte .table > :not(caption) > * > * {
    padding-left: 0 !important;
}

.campus-v2-einstellungen-switches .form-check-label {
    font-size: 0.875rem;
}

@media (min-width: 992px) {
    .campus-v2-einstellungen-sidebar {
        position: sticky;
        top: calc(var(--campus-navbar-height, 4rem) + 1rem);
    }
}

/* =========================================================
   v2 Profil inventar-verkauf.de
   ========================================================= */

.campus-v2-inventar-toolbar {
    overflow: hidden;
    position: relative;
}

.campus-v2-inventar-toolbar .bg-holder.bg-card {
    pointer-events: none;
}

.campus-v2-inventar-toolbar .card-header > :not(.bg-holder),
.campus-v2-inventar-toolbar .card-body {
    position: relative;
    z-index: 1;
}

.campus-v2-inventar-logo-klein {
    height: 62px;
    width: auto;
}

.campus-v2-inventar-logo {
    height: 54px;
    width: auto;
}

.campus-v2-inventar-intro {
    max-width: 46rem;
    line-height: 1.7;
}

.campus-v2-inventar-schritt {
    min-width: 1.6rem;
    height: 1.6rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    font-size: 0.75rem;
}

.campus-v2-inventar-video {
    background: #000;
    max-height: 420px;
}

.campus-v2-inventar-ansprechpartner {
    max-height: 220px;
    width: auto;
}

@media (max-width: 767.98px) {
    .campus-v2-inventar-toolbar .bg-holder.bg-card {
        top: 0;
        left: auto;
        right: 0;
        width: 50%;
        min-height: 0;
        height: auto;
        aspect-ratio: 1;
        background-position: top right;
        background-size: 100% auto;
    }
}

/* =========================================================
   v2 Firmenintern Dashboard
   ========================================================= */

.campus-v2-firma-dashboard-hero {
    position: relative;
    min-height: 520px;
    border: 0;
    background: #064366;
    color: #fff;
}

.campus-v2-firma-dashboard-hero-bg,
.campus-v2-firma-dashboard-hero-overlay {
    position: absolute;
    inset: 0;
}

.campus-v2-firma-dashboard-hero-bg {
    background-size: cover;
    background-position: right center;
    background-repeat: no-repeat;
}

.campus-v2-firma-dashboard-hero-overlay {
    background: rgba(4, 45, 75, .58);
}

.campus-v2-firma-dashboard-hero-body {
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 520px;
    padding: 2rem 1.5rem 1.5rem;
}

.campus-v2-firma-dashboard-hero-intro {
    max-width: 36rem;
}

.campus-v2-firma-dashboard-hero-kicker,
.campus-v2-firma-dashboard-hero-sub {
    color: inherit;
    opacity: .88;
}

.campus-v2-firma-dashboard-hero-title {
    font-size: clamp(1.85rem, 3vw, 2.6rem);
    font-weight: 600;
    line-height: 1.15;
    color: inherit;
}

.campus-v2-firma-dashboard-logo-frame {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    max-width: calc(200px + 1.7rem);
    padding: .65rem .85rem;
    background: #fff;
    border: 2px solid #2c7be5;
    border-radius: .5rem;
}

.campus-v2-firma-dashboard-logo {
    display: block;
    max-height: 200px;
    max-width: 200px;
    width: auto;
    height: auto;
    object-fit: contain;
    background: #fff;
}

.campus-v2-firma-dashboard-kpi-row {
    margin-top: 2rem;
}

.campus-v2-firma-dashboard-kpi {
    display: block;
    height: 100%;
}

.campus-v2-firma-dashboard-kpi .card {
    border: 1px solid #fff;
    background: rgba(255, 255, 255, .78);
    transition: box-shadow .15s ease, transform .15s ease;
}

.campus-v2-firma-dashboard-kpi:hover .card {
    box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .12);
}

.campus-v2-firma-dashboard-kpi-title {
    color: #344050;
    font-weight: 600;
}

.campus-theme-firma .campus-v2-firma-dashboard-hero {
    background: var(--campus-mobile-nav-primary);
    color: var(--campus-mobile-nav-text);
}

.campus-theme-firma .campus-v2-firma-dashboard-hero-bg {
    filter: grayscale(1) contrast(1.08);
    mix-blend-mode: luminosity;
    opacity: .58;
}

.campus-theme-firma .campus-v2-firma-dashboard-hero-overlay {
    background: var(--campus-mobile-nav-primary);
    opacity: .18;
}

.campus-theme-firma .campus-v2-firma-dashboard-logo-frame {
    border-color: var(--campus-mobile-nav-button);
}

.campus-theme-firma .campus-v2-firma-dashboard-kpi .card {
    background: color-mix(in srgb, var(--campus-mobile-nav-primary) 78%, transparent);
    color: var(--campus-mobile-nav-text);
    border-color: var(--campus-mobile-nav-text);
}

.campus-theme-firma .campus-v2-firma-dashboard-kpi .text-600,
.campus-theme-firma .campus-v2-firma-dashboard-kpi .text-body,
.campus-theme-firma .campus-v2-firma-dashboard-kpi .fw-semi-bold,
.campus-theme-firma .campus-v2-firma-dashboard-kpi-title {
    color: var(--campus-mobile-nav-text) !important;
}

.campus-v2-firma-dashboard-kpi-badge {
    background: #2c7be5;
    color: #fff;
}

.campus-theme-firma .campus-v2-firma-dashboard-kpi-badge {
    background: var(--campus-mobile-nav-button);
    color: var(--campus-mobile-nav-text);
}

.campus-v2-firma-dashboard-scroll {
    max-height: 320px;
    overflow-y: auto;
}

.campus-v2-firma-dashboard-avatar {
    width: 36px;
    height: 36px;
    object-fit: cover;
}

@media (max-width: 767.98px) {
    .campus-v2-firma-dashboard-hero,
    .campus-v2-firma-dashboard-hero-body {
        min-height: 0;
    }

    .campus-v2-firma-dashboard-hero-body {
        padding: 1.5rem 1rem 1.25rem;
    }

    .campus-v2-firma-dashboard-hero-intro {
        text-align: center;
        max-width: none;
    }

    .campus-v2-firma-dashboard-logo-frame {
        display: inline-flex;
        width: auto;
        max-width: calc(200px + 1.7rem);
        margin-inline: auto;
        box-sizing: border-box;
    }

    .campus-v2-firma-dashboard-logo {
        width: auto;
        max-width: min(200px, 100%);
        max-height: 200px;
        height: auto;
    }

    .campus-v2-firma-dashboard-hero-intro .btn {
        width: 100%;
        max-width: 330px;
    }
}

.campus-v2-firma-news-card-header {
    border-bottom: 1px solid var(--falcon-border-color, #d8e2ef);
}

.campus-v2-firma-links-card-header {
    border-bottom: 1px solid var(--falcon-border-color, #d8e2ef);
}

.campus-v2-firma-links-preview {
    display: flex;
    gap: 1rem;
    align-items: stretch;
}

.campus-v2-firma-links-thumb {
    flex: 0 0 180px;
    width: 180px;
    min-height: 110px;
    border-radius: 0.375rem;
    overflow: hidden;
    background: var(--falcon-200, #edf2f9);
    display: flex;
    align-items: center;
    justify-content: center;
}

.campus-v2-firma-links-thumb-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.campus-v2-firma-links-thumb-placeholder {
    color: var(--falcon-500, #9da9bb);
    font-size: 1.5rem;
}

.campus-v2-firma-links-main {
    min-width: 0;
    flex: 1 1 auto;
}

.campus-v2-firma-links-eingetragen {
    font-weight: 700;
    font-size: 1.1rem;
    line-height: 1.35;
}

.campus-v2-firma-links-eingetragen-text {
    font-size: 1rem;
}

.campus-v2-firma-links-site {
    word-break: break-word;
}

@media (max-width: 767.98px) {
    .campus-v2-firma-links-preview {
        flex-direction: column;
    }

    .campus-v2-firma-links-thumb {
        width: 100%;
        flex-basis: auto;
        height: 140px;
        min-height: 140px;
    }
}

.campus-v2-firma-news-item {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr) auto;
    grid-template-areas:
        "thumb date author"
        "thumb main author";
    grid-template-rows: auto 1fr;
    align-items: start;
    column-gap: 1.1rem;
    row-gap: .25rem;
    padding: 1.15rem 1.25rem;
    border-bottom: 1px solid var(--falcon-border-color, #d8e2ef);
    text-decoration: none !important;
    color: inherit;
}

.campus-v2-firma-news-item:last-child {
    border-bottom: 0;
}

.campus-v2-firma-news-item:hover,
.campus-v2-firma-news-item:focus {
    color: inherit;
    text-decoration: none !important;
    background-color: var(--falcon-gray-100, #f9fafd);
}

.campus-v2-firma-news-item:hover :not(.badge),
.campus-v2-firma-news-item:focus :not(.badge) {
    text-decoration: none !important;
}

.campus-v2-firma-news-item .badge {
    color: #fff !important;
}

.campus-v2-firma-news-item:hover .badge,
.campus-v2-firma-news-item:focus .badge {
    color: #fff !important;
}

.campus-v2-firma-news-date {
    grid-area: date;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: .5rem;
    padding-top: .15rem;
}

.campus-v2-firma-news-date-text {
    font-size: 1.15rem;
    font-weight: 700;
    line-height: 1.3;
    color: #5e6e82;
    white-space: nowrap;
}

.campus-v2-firma-news-thumb {
    grid-area: thumb;
    width: 150px;
}

.campus-v2-firma-news-thumb-img {
    display: block;
    width: 150px;
    max-width: 150px;
    height: auto;
    object-fit: contain;
    border: 1px solid #e3e6ed;
    border-radius: .5rem;
    background: transparent;
}

.campus-v2-firma-news-thumb-placeholder {
    width: 150px;
    max-width: 150px;
    height: auto;
    object-fit: contain;
    padding: 0;
    background: transparent;
}

.campus-v2-firma-news-main {
    grid-area: main;
    min-width: 0;
}

.campus-v2-firma-news-title {
    margin: 0 0 .45rem;
    font-size: 1.15rem;
    font-weight: 700;
    line-height: 1.3;
    color: #344050;
}

.campus-v2-firma-news-status {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
}

.campus-v2-firma-news-author {
    grid-area: author;
    display: flex;
    align-items: center;
    align-self: start;
    justify-content: flex-end;
    gap: .5rem;
    max-width: 14rem;
}

.campus-v2-firma-news-author-name {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-end;
    gap: .25rem;
    min-width: 0;
    font-size: .85rem;
    font-weight: 500;
    line-height: 1.25;
    color: #5e6e82;
    text-align: right;
    white-space: nowrap;
}

.campus-v2-firma-news-author-avatar {
    width: 2.25rem;
    height: 2.25rem;
    object-fit: cover;
    background: #fff;
    flex-shrink: 0;
}

.campus-v2-firma-news-detail-image {
    max-height: 420px;
    object-fit: contain;
}

.campus-v2-firma-news-content img {
    max-width: 100%;
    height: auto;
}

.campus-v2-firma-news-anhang-btn {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    text-align: left;
}

.campus-v2-firma-news-anhang-btn .fa-download {
    flex-shrink: 0;
}

@media (max-width: 991.98px) {
    .campus-v2-firma-news-author {
        align-items: flex-start;
        align-self: start;
        max-width: 8.5rem;
    }

    .campus-v2-firma-news-author-name {
        flex-direction: column;
        align-items: flex-end;
        gap: 0;
        font-size: .7rem;
        white-space: normal;
    }
}

@media (max-width: 575.98px) {
    .campus-v2-firma-news-item {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas:
            "date author"
            "thumb thumb"
            "main main";
        gap: .7rem .75rem;
        padding: 1rem .9rem;
    }

    .campus-v2-firma-news-date {
        grid-area: date;
        flex-direction: column;
        align-items: flex-start;
        align-self: start;
        gap: .35rem;
    }

    .campus-v2-firma-news-thumb {
        grid-area: thumb;
        flex: none;
        width: 100%;
        max-height: 10.5rem;
        overflow: hidden;
        border-radius: .5rem;
        border: 1px solid #e3e6ed;
        background: #f9fafd;
    }

    .campus-v2-firma-news-thumb-img,
    .campus-v2-firma-news-thumb-placeholder {
        width: 100%;
        max-width: 100%;
        height: 10.5rem;
        max-height: 10.5rem;
        object-fit: cover;
        object-position: center;
        border: 0;
        border-radius: 0;
    }

    .campus-v2-firma-news-main {
        grid-area: main;
        width: 100%;
    }

    .campus-v2-firma-news-title {
        font-size: 1.05rem;
    }

    .campus-v2-firma-news-author {
        grid-area: author;
        max-width: 7.5rem;
        align-items: center;
    }

    .campus-v2-firma-news-author-name {
        flex-direction: column;
        align-items: flex-end;
        gap: 0;
        font-size: .7rem;
        white-space: normal;
    }
}

.campus-v2-firma-events-hero {
    position: relative;
    overflow: hidden;
    background: var(--falcon-gray-200, #e3e6ec);
}

.campus-v2-firma-events-hero-bg {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
    object-position: center;
}

.campus-v2-firma-events-hero-panel {
    position: absolute;
    top: 1rem;
    left: 1rem;
    z-index: 1;
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    max-width: calc(100% - 2rem);
    background: transparent;
}

.campus-v2-firma-events-hero-thumb {
    display: block;
    flex-shrink: 0;
    padding: 0;
    border: 6px solid #fff;
    border-radius: 1rem;
    background: #fff;
    overflow: hidden;
    cursor: pointer;
    line-height: 0;
    box-shadow: 0 .125rem .5rem rgba(16, 24, 40, .12);
}

.campus-v2-firma-events-hero-thumb img {
    display: block;
    max-width: 300px;
    max-height: 150px;
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: calc(1rem - 6px);
}

.campus-v2-firma-events-hero-copy {
    display: none;
    min-width: 0;
}

.campus-v2-firma-events-hero-copy h3 {
    color: #000;
}

@media (min-width: 576px) {
    .campus-v2-firma-events-hero {
        max-height: 280px;
    }

    .campus-v2-firma-events-hero-bg {
        max-height: 280px;
        object-fit: cover;
        opacity: .25;
    }

    .campus-v2-firma-events-hero-copy {
        display: block;
    }

    .campus-v2-firma-events-header-has-image .campus-v2-firma-events-card-heading {
        display: none;
    }
}

@media (min-width: 992px) {
    .campus-v2-firma-events-hero-thumb img {
        max-width: 350px;
        max-height: 200px;
    }
}

.campus-v2-firma-events-image-modal-dialog {
    max-width: min(96vw, 1100px);
}

.campus-v2-firma-events-image-modal-content {
    position: relative;
    background: transparent;
    border: 0;
    box-shadow: none;
    align-items: center;
}

.campus-v2-firma-events-image-modal-close {
    position: absolute;
    top: -2rem;
    right: 0;
    z-index: 2;
}

.campus-v2-firma-events-image-modal-img {
    display: block;
    max-width: 100%;
    max-height: 85vh;
    width: auto;
    height: auto;
    object-fit: contain;
    background: #fff;
    padding: 6px;
    border-radius: 1rem;
}

@media (max-width: 575.98px) {
    .campus-v2-firma-events-hero-panel {
        display: none;
    }
}

.campus-v2-firma-events-show .campus-v2-firma-events-rsvp-options label {
    cursor: pointer;
    margin-bottom: 0;
}

.campus-v2-firma-events-year-select {
    width: auto;
    min-width: 7.5rem;
    max-width: 10rem;
}

@media (max-width: 575.98px) {
    .campus-v2-firma-events-expired-controls {
        flex-direction: column;
        align-items: center;
        justify-content: center;
        width: 100%;
    }
}

/* v2 Firmenintern Umfragen (Liste ohne Bildspalte) */
.campus-v2-firma-umfragen .campus-v2-firma-umfragen-item {
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-areas: "date main";
    grid-template-rows: auto;
    align-items: start;
}

.campus-v2-firma-umfragen .campus-v2-firma-umfragen-item .campus-v2-firma-news-date {
    flex-direction: column;
    align-items: flex-start;
    min-width: 6.5rem;
    padding-top: .2rem;
}

.campus-v2-firma-umfragen-abgabe-icon {
    margin-right: .35rem;
    font-size: .75rem;
    color: #6e7891;
}

.campus-v2-firma-umfragen-meta dt {
    font-weight: 600;
}

.campus-v2-firma-umfragen-stat-letter {
    min-width: 1.25rem;
    line-height: 1.5rem;
}

.campus-v2-firma-umfragen-stat-bar .progress {
    background-color: #e3e6ed;
}

.campus-v2-firma-umfragen-beschreibung a {
    word-break: break-word;
}

.campus-v2-firma-umfragen-year-select {
    width: auto;
    min-width: 8rem;
    max-width: 100%;
}

@media (max-width: 767.98px) {
    .campus-v2-firma-umfragen .campus-v2-firma-umfragen-item {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas:
            "date"
            "main";
        gap: .5rem;
    }

    .campus-v2-firma-umfragen .campus-v2-firma-umfragen-item .campus-v2-firma-news-date {
        flex-direction: row;
        align-items: center;
        min-width: 0;
    }
}

@media (max-width: 575.98px) {
    .campus-v2-firma-umfragen-expired-controls {
        flex-direction: column;
        align-items: center;
        justify-content: center;
        width: 100%;
    }
}

/* Firmenintern Dokumente v2 */
.campus-v2-firma-dokumente-header {
    overflow: hidden;
    border-radius: var(--falcon-card-border-radius, 0.375rem);
}

.campus-v2-firma-dokumente-header .card-header:first-child {
    border-bottom: 0;
    border-radius: var(--falcon-card-inner-border-radius, 0.375rem);
}

@media (min-width: 768px) {
    body:has(.campus-v2-firma-dokumente) {
        overflow: hidden;
    }

    .campus-v2-inner-content.campus-v2-firma-dokumente {
        padding-bottom: 0 !important;
        overflow: visible;
    }

    .campus-v2-firma-dokumente-page {
        display: flex;
        flex-direction: column;
        height: var(--campus-dokumente-page-height, auto);
        max-height: var(--campus-dokumente-page-height, none);
        overflow: visible;
    }

    .campus-v2-firma-dokumente-header {
        flex: 0 0 auto;
        margin-bottom: 1rem;
    }

    .campus-v2-firma-dokumente-panels {
        flex: 1 1 0;
        min-height: 0;
        margin-bottom: 0;
        flex-wrap: nowrap;
        align-items: stretch;
    }

    .campus-v2-firma-dokumente-sidebar-col {
        flex: 0 0 calc(33.333333% + 50px);
        max-width: calc(33.333333% + 50px);
        display: flex;
        min-height: 0;
        height: auto;
        align-self: stretch;
    }

    .campus-v2-firma-dokumente-list-col {
        flex: 0 0 calc(66.666667% - 50px);
        max-width: calc(66.666667% - 50px);
        display: flex;
        min-height: 0;
        height: auto;
        align-self: stretch;
    }

    .campus-v2-firma-dokumente-panel {
        flex: 1 1 auto;
        width: 100%;
        min-height: 0;
        max-height: 100%;
        display: flex;
        flex-direction: column;
        overflow: hidden;
        box-shadow: none;
        border: 1px solid var(--falcon-border-color, #d8e2ef);
        border-radius: var(--falcon-card-border-radius, 0.375rem);
        background-clip: padding-box;
    }

    .campus-v2-firma-dokumente-panel > .card-header {
        flex: 0 0 auto;
    }

    .campus-v2-firma-dokumente-list-header {
        background: transparent;
        border-bottom: 0;
        padding-bottom: 0;
    }

    .campus-v2-firma-dokumente-panel > .card-body {
        flex: 1 1 0;
        min-height: 0;
        display: flex;
        flex-direction: column;
        overflow: hidden;
    }

    .campus-v2-firma-dokumente-rubriken-nav {
        flex: 1 1 0;
        min-height: 0;
        display: flex;
        flex-direction: column;
    }

    .campus-v2-firma-dokumente-search-wrap,
    .campus-v2-firma-dokumente-rubriken-search-wrap {
        flex: 0 0 auto;
    }

    .campus-v2-firma-dokumente-scroll,
    .campus-v2-firma-dokumente-list-scroll {
        flex: 1 1 0;
        min-height: 0;
        overflow-x: hidden;
        overflow-y: auto;
    }

    .campus-v2-firma-dokumente-rubriken-scroll,
    .campus-v2-firma-dokumente-list-scroll {
        scrollbar-width: thin;
        scrollbar-color: rgba(125, 135, 156, 0.7) transparent;
    }

    .campus-v2-firma-dokumente-rubriken-scroll::-webkit-scrollbar,
    .campus-v2-firma-dokumente-list-scroll::-webkit-scrollbar {
        width: 0.75rem;
    }

    .campus-v2-firma-dokumente-rubriken-scroll::-webkit-scrollbar-track,
    .campus-v2-firma-dokumente-list-scroll::-webkit-scrollbar-track {
        background: transparent;
    }

    .campus-v2-firma-dokumente-rubriken-scroll::-webkit-scrollbar-thumb,
    .campus-v2-firma-dokumente-list-scroll::-webkit-scrollbar-thumb {
        background-color: rgba(125, 135, 156, 0.7);
        border: 0.2rem solid transparent;
        border-radius: 999px;
        background-clip: padding-box;
    }

    .campus-v2-firma-dokumente-list-scroll {
        padding: 0.15rem 0.25rem 0.4rem 0.15rem;
    }
}

@media (min-width: 992px) {
    .campus-v2-firma-dokumente-sidebar-col {
        flex: 0 0 calc(25% + 50px);
        max-width: calc(25% + 50px);
    }

    .campus-v2-firma-dokumente-list-col {
        flex: 0 0 calc(75% - 50px);
        max-width: calc(75% - 50px);
    }
}

.campus-v2-firma-dokumente-rubriken-item {
    margin-bottom: 0.15rem !important;
}

.campus-v2-firma-dokumente-rubriken-link {
    border: 1px solid transparent;
    padding-top: 0.2rem !important;
    padding-bottom: 0.2rem !important;
}

.campus-v2-firma-dokumente-rubriken-link:hover {
    background-color: rgba(0, 0, 0, 0.04);
}

.campus-v2-firma-dokumente-rubriken-link.active {
    background-color: rgba(44, 123, 229, 0.08);
    border-color: rgba(44, 123, 229, 0.25);
    font-weight: 600;
}

.campus-v2-firma-dokumente-rubriken-list {
    overflow: visible;
}

.campus-v2-firma-dokumente-offcanvas {
    max-width: 20rem;
}

.campus-v2-firma-dokumente-item {
    border: 1px solid var(--falcon-border-color, #d8e2ef);
    box-shadow: 0 0.25rem 0.65rem rgba(43, 52, 69, 0.08);
}

.campus-v2-firma-dokumente-item-date {
    font-weight: 600;
}

.campus-v2-firma-dokumente-actions {
    min-width: 11rem;
}

.campus-v2-firma-dokumente-lesebestaetigung-wrap {
    gap: 0.15rem;
}

.campus-v2-firma-dokumente-lesebestaetigung {
    margin-top: 0;
}

.campus-v2-firma-dokumente-lesebestaetigung-wrap .form-check-label {
    margin-bottom: 0;
    font-weight: 400;
    letter-spacing: 0;
}

@media (max-width: 767.98px) {
    .campus-v2-firma-dokumente-list-card {
        margin-top: 0.75rem;
    }

    .campus-v2-firma-dokumente-list-header {
        position: sticky;
        top: calc(var(--campus-navbar-height, 4rem) + 0.625rem);
        z-index: 5;
        background: var(--falcon-card-bg, #fff);
        padding: 0.75rem 0.75rem 0 0.75rem;
    }

    .campus-v2-firma-dokumente-search-wrap {
        gap: 0.5rem;
    }

    .campus-v2-firma-dokumente-filter-btn {
        flex: 0 0 auto;
        border-radius: var(--falcon-border-radius-sm, 0.25rem) !important;
    }

    .campus-v2-firma-dokumente-search-wrap .form-control,
    .campus-v2-firma-dokumente-search-wrap .input-group-text {
        border-radius: var(--falcon-border-radius-sm, 0.25rem);
    }

    .campus-v2-firma-dokumente-item-layout {
        flex-direction: column;
        gap: 0.75rem !important;
    }

    .campus-v2-firma-dokumente-actions {
        min-width: 0;
        width: 100%;
    }

    .campus-v2-firma-dokumente-download {
        width: auto !important;
        max-width: 100%;
    }

    .campus-v2-firma-dokumente-lesebestaetigung-wrap {
        margin-top: 0.5rem !important;
    }
}

/* ========== v2 Firmenintern Dateien ========== */
.campus-v2-firma-dateien-header .card-body {
    padding-bottom: 0.75rem;
}

.campus-v2-firma-dateien-tabs {
    border-bottom: 0;
}

.campus-v2-firma-dateien-tabs .nav-link {
    color: var(--falcon-gray-600, #748194);
    font-weight: 600;
    border-bottom: 3px solid transparent;
}

.campus-v2-firma-dateien-tabs .nav-link::before {
    display: none;
}

.campus-v2-firma-dateien-tabs .nav-link.active {
    color: var(--falcon-gray-900, #344050);
    border-bottom: 3px solid var(--falcon-primary);
}

.campus-v2-firma-dateien-list-header {
    background: transparent;
    border-bottom: 1px solid var(--falcon-border-color, #d8e2ef);
    padding: 0.75rem 1rem;
}

.campus-v2-firma-dateien-item {
    border: 1px solid var(--falcon-border-color, #d8e2ef);
    box-shadow: 0 0.25rem 0.65rem rgba(43, 52, 69, 0.08);
}

.campus-v2-firma-dateien-actions {
    min-width: 11rem;
}

.campus-v2-firma-dateien-online {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 0.65rem;
    height: 0.65rem;
    border-radius: 50%;
    background-color: #00d27a;
    border: 2px solid var(--falcon-card-bg, #fff);
}

.campus-v2-firma-dateien-share-row:first-child {
    border-top: 0 !important;
}

label[for="campus-v2-firma-dateien-upload"] {
    cursor: pointer;
}

@media (max-width: 767.98px) {
    .campus-v2-firma-dateien-list-header {
        position: sticky;
        top: calc(var(--campus-navbar-height, 4rem) + 0.625rem);
        z-index: 5;
        background: var(--falcon-card-bg, #fff);
    }

    .campus-v2-firma-dateien-item-layout {
        flex-direction: column;
        gap: 0.75rem !important;
    }

    .campus-v2-firma-dateien-actions {
        min-width: 0;
        width: 100%;
    }

    .campus-v2-firma-dateien-download {
        width: auto !important;
        max-width: 100%;
    }
}

/* Firmenintern Mitglieder v2 */
.campus-v2-firma-mitglieder-grid {
    padding-top: 2rem;
    overflow: visible;
}

.campus-v2-firma-mitglieder-card {
    overflow: visible;
    border: 1px solid var(--falcon-border-color, #d8e2ef);
    box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.06);
    transition: box-shadow 0.18s ease, transform 0.18s ease;
}

.campus-v2-firma-mitglieder-card:hover {
    box-shadow: 0 0.75rem 1.35rem rgba(0, 0, 0, 0.1);
    transform: translateY(-3px);
}

.campus-v2-firma-mitglieder-card-accent {
    height: 3.25rem;
    border-radius: inherit;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    background: linear-gradient(
        135deg,
        color-mix(in srgb, var(--falcon-primary, #2c7be5) 22%, transparent) 0%,
        color-mix(in srgb, var(--falcon-primary, #2c7be5) 6%, transparent) 55%,
        transparent 100%
    );
    border-bottom: 1px solid color-mix(in srgb, var(--falcon-primary, #2c7be5) 16%, transparent);
}

.campus-theme-firma .campus-v2-firma-mitglieder-card-accent {
    background: linear-gradient(
        135deg,
        color-mix(in srgb, var(--campus-mobile-nav-primary) 22%, transparent) 0%,
        color-mix(in srgb, var(--campus-mobile-nav-primary) 6%, transparent) 55%,
        transparent 100%
    );
    border-bottom-color: color-mix(in srgb, var(--campus-mobile-nav-primary) 18%, transparent);
}

.campus-v2-firma-mitglieder-card .card-body {
    padding: 0 0.85rem 0.85rem;
    margin-top: -2.1rem;
}

.campus-v2-firma-mitglieder-avatar-wrap {
    position: relative;
    display: inline-block;
    margin-bottom: 0.75rem;
    z-index: 1;
}

.campus-v2-firma-mitglieder-avatar {
    width: 72px;
    height: 72px;
    object-fit: cover;
    border: 3px solid var(--falcon-card-bg, #fff);
    background: var(--falcon-100, #f9fafd);
    box-shadow: 0 0.35rem 0.85rem rgba(0, 0, 0, 0.12);
}

.campus-v2-firma-mitglieder-online {
    position: absolute;
    bottom: 2px;
    right: 2px;
    width: 0.8rem;
    height: 0.8rem;
    border-radius: 50%;
    background-color: #00d27a;
    border: 2px solid var(--falcon-card-bg, #fff);
    box-shadow: 0 0 0 1px rgba(0, 210, 122, 0.3);
}

.campus-v2-firma-mitglieder-name {
    font-size: 0.9rem;
}

.campus-v2-firma-mitglieder-position {
    min-height: 2.1em;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.campus-v2-firma-mitglieder-contacts {
    width: 100%;
    margin-top: 0.75rem;
    border-top: 1px solid var(--falcon-border-color, #d8e2ef);
    padding-top: 0.65rem;
}

.campus-v2-firma-mitglieder-contacts li + li {
    margin-top: 0.3rem;
}

.campus-v2-firma-mitglieder-contact-link {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    min-width: 0;
    font-size: 0.7rem;
    line-height: 1.3;
    color: var(--falcon-700, #344050);
    text-decoration: none;
}

.campus-v2-firma-mitglieder-contact-link:hover {
    color: var(--falcon-primary, #2c7be5);
}

.campus-v2-firma-mitglieder-contact-icon {
    flex: 0 0 1.5rem;
    width: 1.5rem;
    height: 1.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.35rem;
    background: var(--falcon-100, #edf2f9);
    color: var(--falcon-600, #748194);
    font-size: 0.65rem;
}

.campus-v2-firma-mitglieder-contact-link:hover .campus-v2-firma-mitglieder-contact-icon {
    background: color-mix(in srgb, var(--falcon-primary, #2c7be5) 12%, transparent);
    color: var(--falcon-primary, #2c7be5);
}

.campus-v2-firma-mitglieder-card-footer {
    width: 100%;
    margin-top: auto;
    padding-top: 0.85rem;
}

@media (max-width: 575.98px) {
    .campus-v2-firma-mitglieder-grid {
        padding-top: 1.75rem;
    }

    .campus-v2-firma-mitglieder-avatar {
        width: 64px;
        height: 64px;
    }

    .campus-v2-firma-mitglieder-card .card-body {
        margin-top: -1.9rem;
    }
}

/* Firmenintern Auf der Baustelle v2 */
.campus-v2-firma-baustelle-header {
    margin-bottom: 0.75rem;
}

.campus-v2-firma-baustelle-header .card-header:first-child {
    border-bottom: 0;
}

.campus-v2-firma-baustelle-map-header {
    background: transparent;
    border-bottom: 1px solid var(--falcon-border-color, #d8e2ef);
    padding: 0.75rem 1rem;
}

.campus-v2-firma-baustelle-map-header-main {
    min-width: 0;
}

.campus-v2-firma-baustelle-sidebar-header {
    background: transparent;
    border-bottom: 1px solid var(--falcon-border-color, #d8e2ef);
    padding: 0.75rem 1rem;
}

.campus-v2-firma-baustelle-nav-toggle {
    font-size: 0.875rem;
    font-weight: 600;
    box-shadow: none !important;
    background: transparent !important;
}

.campus-v2-firma-baustelle-nav-toggle:not(.collapsed) {
    color: var(--falcon-gray-900, #344050);
}

.campus-v2-firma-baustelle-nav-link {
    display: block;
    padding: 0.4rem 0.75rem 0.4rem 2rem;
    color: var(--falcon-gray-800, #5e6e82);
    text-decoration: none;
    font-size: 0.875rem;
}

.campus-v2-firma-baustelle-nav-link:hover {
    background: var(--falcon-gray-100, #edf2f9);
    color: var(--falcon-gray-900, #344050);
}

.campus-v2-firma-baustelle-offcanvas {
    max-width: 20rem;
}

.campus-v2-firma-baustelle-map-ratio {
    min-height: 400px;
}

@media (min-width: 768px) {
    .campus-v2-firma-baustelle-page {
        padding-bottom: 1.5rem;
    }

    .campus-v2-firma-baustelle-panels {
        align-items: stretch;
        margin-bottom: 0;
    }

    .campus-v2-firma-baustelle-sidebar-col,
    .campus-v2-firma-baustelle-map-col {
        display: flex;
    }

    .campus-v2-firma-baustelle-panel {
        display: flex;
        flex-direction: column;
        width: 100%;
        height: 600px;
        max-height: 600px;
        overflow: hidden;
    }

    .campus-v2-firma-baustelle-sidebar-header,
    .campus-v2-firma-baustelle-map-header {
        flex: 0 0 auto;
    }

    .campus-v2-firma-baustelle-sidebar-body {
        flex: 1 1 auto;
        min-height: 0;
        overflow: auto;
    }

    .campus-v2-firma-baustelle-map-body {
        display: flex;
        flex-direction: column;
        flex: 1 1 auto;
        min-height: 0;
        padding: 0;
        overflow: hidden;
    }

    .campus-v2-firma-baustelle-loading {
        flex: 1 1 auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        min-height: 400px;
    }

    .campus-v2-firma-baustelle-map-ratio {
        position: relative;
        flex: 1 1 auto;
        width: 100%;
        min-height: 400px;
        height: 100%;
    }

    .campus-v2-firma-baustelle-map-ratio::before {
        display: none;
    }

    .campus-v2-firma-baustelle-map {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
    }
}

@media (max-width: 767.98px) {
    .campus-v2-firma-baustelle-map-ratio {
        --bs-aspect-ratio: calc(4 / 3 * 100%);
        min-height: 400px;
    }
}

/* ==========================================================================
   Firmenintern CELSI v2 (Falcon Chat ohne Kontakt-Sidebar)
   ========================================================================== */

html:has(.campus-v2-firma-celsi),
body:has(.campus-v2-firma-celsi) {
    overflow: hidden;
    height: 100%;
}

.campus-v2-firma-celsi.campus-v2-inner-content {
    box-sizing: border-box;
    height: var(--campus-celsi-page-height, calc(100dvh - var(--campus-navbar-height, 4rem) - var(--campus-navbar-content-gap, 1.5rem) - var(--campus-safe-bottom, 0px)));
    max-height: var(--campus-celsi-page-height, calc(100dvh - var(--campus-navbar-height, 4rem) - var(--campus-navbar-content-gap, 1.5rem) - var(--campus-safe-bottom, 0px)));
    padding-bottom: var(--campus-chat-safe-pad, 20px) !important;
    margin-bottom: 0 !important;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    background: var(--falcon-body-bg, #edf2f9);
}

.campus-v2-firma-celsi.campus-v2-inner-content > .container,
.campus-v2-firma-celsi.campus-v2-inner-content > .campus-v2-page-shell,
.campus-v2-firma-celsi.campus-v2-inner-content .campus-v2-page-main {
    flex: 1 1 auto;
    min-height: 0;
    min-width: 0;
    width: 100%;
    max-width: min(var(--campus-page-max-width), 100%);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.campus-v2-firma-celsi-chat.card-chat {
    flex: 1 1 auto;
    height: auto !important;
    max-height: none !important;
    min-height: 0;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
}

.campus-v2-firma-celsi-chat .card-body {
    min-width: 0;
    min-height: 0;
    height: 100%;
    overflow: hidden;
}

.campus-v2-firma-celsi-chat .card-chat-content {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    min-height: 0;
    height: 100%;
    overflow: hidden;
}

.campus-v2-firma-celsi-chat .chat-content-header {
    flex: 0 0 auto;
    min-width: 0;
}

.campus-v2-firma-celsi-chat .chat-content-body.campus-v2-firma-celsi-body {
    display: flex !important;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    min-width: 0;
    height: auto !important;
    overflow: hidden;
}

.campus-v2-firma-celsi-chat .chat-content-scroll-area {
    flex: 1 1 auto;
    height: auto !important;
    min-height: 0;
    max-width: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.campus-v2-firma-celsi-editor {
    flex: 0 0 auto;
    gap: 0.5rem;
    padding: 0.65rem 0.75rem;
    background: var(--falcon-card-bg, #fff);
    min-width: 0;
    max-width: 100%;
    align-items: flex-start;
}

.campus-v2-firma-celsi-textarea {
    resize: none;
    min-height: 3.5rem;
    max-height: 6rem;
    min-width: 0;
    padding: 0.45rem 0.75rem;
    background: transparent;
}

.campus-v2-firma-celsi-textarea:focus {
    box-shadow: none;
    background: transparent;
}

.campus-v2-firma-celsi-send {
    flex: 0 0 auto;
    min-width: 5.5rem;
}

.campus-v2-firma-celsi-msg {
    max-width: 100%;
    min-width: 0;
}

.campus-v2-firma-celsi-avatar {
    width: 2.5rem;
    height: 2.5rem;
    object-fit: contain;
    background: transparent;
    border: 0;
    border-radius: 0;
    padding: 0;
}

.campus-firma-menu-celsi-icon {
    padding: 0.15rem;
    overflow: hidden;
}

.campus-firma-menu-celsi-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.campus-v2-firma-celsi-bubble-col {
    flex: 1 1 auto;
    max-width: min(75%, 42rem);
    min-width: 0;
}

.campus-v2-firma-celsi-msg-bot .campus-v2-firma-celsi-bubble-col {
    flex: 1 1 0;
    max-width: 100%;
}

.campus-v2-firma-celsi-msg {
    display: flex !important;
    width: 100%;
}

.campus-v2-firma-celsi-msg-user {
    flex-direction: row !important;
    justify-content: flex-end !important;
    text-align: right;
}

.campus-v2-firma-celsi-bubble-col-user {
    flex: 0 1 auto !important;
    flex-grow: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    align-self: flex-end !important;
    margin-left: auto !important;
    margin-right: 0 !important;
    max-width: 85% !important;
    width: auto !important;
    text-align: right;
}

.campus-v2-firma-celsi-msg .chat-message {
    display: block;
    width: fit-content;
    max-width: 100% !important;
    word-break: normal;
    overflow-wrap: anywhere;
}

.campus-v2-firma-celsi-msg .chat-message a {
    overflow-wrap: anywhere;
    word-break: break-word;
}

.campus-v2-firma-celsi-msg .spinner-grow {
    width: 0.5rem;
    height: 0.5rem;
}

@media (max-width: 767.98px) {
    .campus-v2-firma-celsi.campus-v2-inner-content > .container,
    .campus-v2-firma-celsi.campus-v2-inner-content .campus-v2-page-main {
        max-width: 100%;
        padding-left: 0;
        padding-right: 0;
    }

    .campus-v2-firma-celsi-chat.card-chat {
        border-radius: 0;
        border-left: 0;
        border-right: 0;
    }

    .campus-v2-firma-celsi-bubble-col-user {
        max-width: calc(100% - 0.5rem);
    }

    .campus-v2-firma-celsi-msg-bot .campus-v2-firma-celsi-bubble-col {
        max-width: 100%;
    }
}
/* ========== v2 Firmenintern Interne Schulungen ========== */
.campus-v2-firma-interne-schulungen-header {
    overflow: hidden;
    border-radius: var(--falcon-card-border-radius, 0.375rem);
}

.campus-v2-firma-interne-schulungen-header .card-header:first-child {
    border-bottom: 0;
    border-radius: var(--falcon-card-inner-border-radius, 0.375rem);
}

@media (min-width: 768px) {
    body:has(.campus-v2-firma-interne-schulungen),
    body:has(.campus-v2-firma-interne-schulungen-show) {
        overflow: hidden;
    }

    .campus-v2-inner-content.campus-v2-firma-interne-schulungen,
    .campus-v2-inner-content.campus-v2-firma-interne-schulungen-show {
        padding-bottom: 0 !important;
        overflow: visible;
    }

    .campus-v2-firma-interne-schulungen-page,
    .campus-v2-firma-interne-schulungen-show-page {
        display: flex;
        flex-direction: column;
        height: var(--campus-interne-schulungen-page-height, auto);
        max-height: var(--campus-interne-schulungen-page-height, none);
        overflow: visible;
    }

    .campus-v2-firma-interne-schulungen-header {
        flex: 0 0 auto;
        margin-bottom: 1rem;
    }

    .campus-v2-firma-interne-schulungen-panels {
        flex: 1 1 0;
        min-height: 0;
        margin-bottom: 0;
        flex-wrap: nowrap;
        align-items: stretch;
    }

    .campus-v2-firma-interne-schulungen-sidebar-col {
        flex: 0 0 calc(33.333333% + 50px);
        max-width: calc(33.333333% + 50px);
        display: flex;
        min-height: 0;
        height: auto;
        align-self: stretch;
    }

    .campus-v2-firma-interne-schulungen-list-col {
        flex: 0 0 calc(66.666667% - 50px);
        max-width: calc(66.666667% - 50px);
        display: flex;
        min-height: 0;
        height: auto;
        align-self: stretch;
    }

    .campus-v2-firma-interne-schulungen-panel {
        flex: 1 1 auto;
        width: 100%;
        min-height: 0;
        max-height: 100%;
        display: flex;
        flex-direction: column;
        overflow: hidden;
        box-shadow: none;
        border: 1px solid var(--falcon-border-color, #d8e2ef);
        border-radius: var(--falcon-card-border-radius, 0.375rem);
        background-clip: padding-box;
    }

    .campus-v2-firma-interne-schulungen-panel > .card-header {
        flex: 0 0 auto;
    }

    .campus-v2-firma-interne-schulungen-list-header {
        background: transparent;
        border-bottom: 0;
        padding-bottom: 0.5rem;
    }

    .campus-v2-firma-interne-schulungen-panel > .card-body {
        flex: 1 1 0;
        min-height: 0;
        display: flex;
        flex-direction: column;
        overflow: hidden;
    }

    .campus-v2-firma-interne-schulungen-filter-nav,
    .campus-v2-firma-interne-schulungen-inhalte-nav {
        flex: 1 1 0;
        min-height: 0;
        display: flex;
        flex-direction: column;
    }

    .campus-v2-firma-interne-schulungen-search-wrap,
    .campus-v2-firma-interne-schulungen-filter-search-wrap,
    .campus-v2-firma-interne-schulungen-status-filters {
        flex: 0 0 auto;
    }

    .campus-v2-firma-interne-schulungen-scroll,
    .campus-v2-firma-interne-schulungen-list-scroll {
        flex: 1 1 0;
        min-height: 0;
        overflow-x: hidden;
        overflow-y: auto;
    }

    .campus-v2-firma-interne-schulungen-filter-scroll,
    .campus-v2-firma-interne-schulungen-inhalte-scroll,
    .campus-v2-firma-interne-schulungen-list-scroll {
        scrollbar-width: thin;
        scrollbar-color: rgba(125, 135, 156, 0.7) transparent;
    }

    .campus-v2-firma-interne-schulungen-filter-scroll::-webkit-scrollbar,
    .campus-v2-firma-interne-schulungen-inhalte-scroll::-webkit-scrollbar,
    .campus-v2-firma-interne-schulungen-list-scroll::-webkit-scrollbar {
        width: 0.75rem;
    }

    .campus-v2-firma-interne-schulungen-filter-scroll::-webkit-scrollbar-track,
    .campus-v2-firma-interne-schulungen-inhalte-scroll::-webkit-scrollbar-track,
    .campus-v2-firma-interne-schulungen-list-scroll::-webkit-scrollbar-track {
        background: transparent;
    }

    .campus-v2-firma-interne-schulungen-filter-scroll::-webkit-scrollbar-thumb,
    .campus-v2-firma-interne-schulungen-inhalte-scroll::-webkit-scrollbar-thumb,
    .campus-v2-firma-interne-schulungen-list-scroll::-webkit-scrollbar-thumb {
        background-color: rgba(125, 135, 156, 0.7);
        border: 0.2rem solid transparent;
        border-radius: 999px;
        background-clip: padding-box;
    }

    .campus-v2-firma-interne-schulungen-list-scroll {
        padding: 0.15rem 0.25rem 0.4rem 0.15rem;
    }
}

@media (min-width: 992px) {
    .campus-v2-firma-interne-schulungen-sidebar-col {
        flex: 0 0 calc(25% + 50px);
        max-width: calc(25% + 50px);
    }

    .campus-v2-firma-interne-schulungen-list-col {
        flex: 0 0 calc(75% - 50px);
        max-width: calc(75% - 50px);
    }
}

.campus-v2-firma-interne-schulungen-filter-item {
    margin-bottom: 0.15rem !important;
}

.campus-v2-firma-interne-schulungen-filter-link {
    border: 1px solid transparent;
    padding-top: 0.2rem !important;
    padding-bottom: 0.2rem !important;
}

.campus-v2-firma-interne-schulungen-filter-link:hover {
    background-color: rgba(0, 0, 0, 0.04);
}

.campus-v2-firma-interne-schulungen-filter-link.active,
.campus-v2-firma-interne-schulungen-inhalte-link.active {
    background-color: rgba(44, 123, 229, 0.08);
    border-color: rgba(44, 123, 229, 0.25);
    font-weight: 600;
}

.campus-v2-firma-interne-schulungen-inhalte-link {
    border: 1px solid transparent;
    padding-top: 0.2rem !important;
    padding-bottom: 0.2rem !important;
}

.campus-v2-firma-interne-schulungen-inhalte-link:hover {
    background-color: rgba(0, 0, 0, 0.04);
}

.campus-v2-firma-interne-schulungen-offcanvas {
    max-width: 20rem;
}

.campus-v2-firma-interne-schulungen-inhalt-card {
    border: 1px solid var(--falcon-border-color, #d8e2ef);
    box-shadow: 0 0.25rem 0.65rem rgba(43, 52, 69, 0.08);
}

.campus-v2-firma-interne-schulungen-media {
    background: #0b1727;
    border-radius: var(--falcon-border-radius, 0.375rem);
    overflow: hidden;
}

.campus-v2-firma-interne-schulungen-media-img {
    max-height: 28rem;
    width: auto;
}

.campus-v2-firma-interne-schulungen-pruefung-nav {
    min-width: 2.5rem;
}

.campus-v2-firma-interne-schulungen-pruefung-nav .badge {
    min-width: 1.75rem;
    display: inline-block;
    text-align: center;
}

.campus-v2-firma-interne-schulungen-sprache-aendern {
    display: inline-flex;
    line-height: 0;
    opacity: 0.65;
}

.campus-v2-firma-interne-schulungen-sprache-aendern.is-active,
.campus-v2-firma-interne-schulungen-sprache-aendern:hover {
    opacity: 1;
}

.campus-v2-firma-interne-schulungen-sprache-aendern.is-active img {
    outline: 2px solid var(--falcon-primary, #2c7be5);
    outline-offset: 1px;
}

@media (max-width: 767.98px) {
    .campus-v2-firma-interne-schulungen-content-card .campus-v2-firma-interne-schulungen-list-header {
        position: sticky;
        top: calc(var(--campus-navbar-height, 4rem) + 0.625rem);
        z-index: 5;
        background: var(--falcon-card-bg, #fff);
        padding: 0.75rem;
    }
}

.campus-v2-firma-interne-schulungen-item {
    border: 1px solid var(--falcon-border-color, #d8e2ef);
    box-shadow: 0 0.25rem 0.65rem rgba(43, 52, 69, 0.08);
}

.campus-v2-firma-interne-schulungen-actions {
    min-width: 11rem;
}

@media (max-width: 767.98px) {
    .campus-v2-firma-interne-schulungen-list-card {
        margin-top: 0.75rem;
    }

    .campus-v2-firma-interne-schulungen-list-header {
        position: sticky;
        top: calc(var(--campus-navbar-height, 4rem) + 0.625rem);
        z-index: 5;
        background: var(--falcon-card-bg, #fff);
        padding: 0.75rem 0.75rem 0.5rem 0.75rem;
    }

    .campus-v2-firma-interne-schulungen-search-wrap {
        gap: 0.5rem;
    }

    .campus-v2-firma-interne-schulungen-filter-btn {
        flex: 0 0 auto;
        border-radius: var(--falcon-border-radius-sm, 0.25rem) !important;
    }

    .campus-v2-firma-interne-schulungen-search-wrap .form-control,
    .campus-v2-firma-interne-schulungen-search-wrap .input-group-text {
        border-radius: var(--falcon-border-radius-sm, 0.25rem);
    }

    .campus-v2-firma-interne-schulungen-item-layout {
        flex-direction: column;
        gap: 0.75rem !important;
    }

    .campus-v2-firma-interne-schulungen-actions {
        min-width: 0;
        width: 100%;
    }

    .campus-v2-firma-interne-schulungen-actions .btn {
        width: auto !important;
        max-width: 100%;
    }
}

/* Firmenintern Empfehlungen v2 */
.campus-v2-firma-empfehlungen-header .card-body {
    padding-top: 0.75rem;
    padding-bottom: 0;
}

.campus-v2-firma-empfehlungen-tabs {
    border-bottom: 0;
}

.campus-v2-firma-empfehlungen-tabs .nav-link {
    border: 0;
    color: var(--falcon-gray-700, #5e6e82);
    font-weight: 600;
}

.campus-v2-firma-empfehlungen-tabs .nav-link::before {
    display: none;
}

.campus-v2-firma-empfehlungen-tabs .nav-link.active {
    color: var(--falcon-primary, #2c7be5);
    box-shadow: inset 0 -2px 0 currentColor;
}

.campus-v2-firma-empfehlungen-item-layout {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
}

.campus-v2-firma-empfehlungen-thumb {
    flex: 0 0 8.5rem;
    width: 8.5rem;
    display: block;
    overflow: hidden;
    border-radius: 0.5rem;
    border: 1px solid var(--falcon-border-color, #d8e2ef);
    background: #f9fafd;
}

.campus-v2-firma-empfehlungen-thumb img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 10;
    object-fit: cover;
}

.campus-v2-firma-empfehlungen-main a.text-1100:hover {
    color: var(--falcon-primary, #2c7be5) !important;
}

.campus-v2-firma-empfehlungen-empfaenger {
    padding: 0.65rem 0;
}

.campus-v2-firma-empfehlungen-empfaenger + .campus-v2-firma-empfehlungen-empfaenger {
    border-top: 1px solid var(--falcon-border-color, #d8e2ef);
}

.campus-v2-firma-empfehlungen-avatar {
    object-fit: cover;
}

@media (max-width: 767.98px) {
    .campus-v2-firma-empfehlungen-item-layout {
        flex-direction: column;
        gap: 0.85rem;
    }

    .campus-v2-firma-empfehlungen-thumb {
        flex: none;
        width: 100%;
        max-height: 10.5rem;
    }

    .campus-v2-firma-empfehlungen-thumb img {
        height: 10.5rem;
        aspect-ratio: auto;
    }
}

/* ==========================================================================
   Firmenintern Direktchat v2 (Falcon Chat mit Kontakt-Sidebar, CELSI-Bubbles)
   ========================================================================== */

html:has(.campus-v2-firma-chat),
body:has(.campus-v2-firma-chat) {
    overflow: hidden;
    height: 100%;
}

.campus-v2-firma-chat.campus-v2-inner-content {
    box-sizing: border-box;
    height: var(--campus-chat-page-height, calc(100dvh - var(--campus-navbar-height, 4rem) - var(--campus-navbar-content-gap, 1.5rem) - var(--campus-safe-bottom, 0px)));
    max-height: var(--campus-chat-page-height, calc(100dvh - var(--campus-navbar-height, 4rem) - var(--campus-navbar-content-gap, 1.5rem) - var(--campus-safe-bottom, 0px)));
    padding-bottom: var(--campus-chat-safe-pad, 20px) !important;
    margin-bottom: 0 !important;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    background: var(--falcon-card-bg, #fff);
}

.campus-v2-firma-chat.campus-v2-inner-content > .container,
.campus-v2-firma-chat.campus-v2-inner-content > .campus-v2-page-shell,
.campus-v2-firma-chat.campus-v2-inner-content .campus-v2-page-main {
    flex: 1 1 auto;
    min-height: 0;
    min-width: 0;
    width: 100%;
    max-width: min(var(--campus-page-max-width), 100%);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.campus-v2-firma-chat-card.card-chat {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    height: auto !important;
    max-height: none !important;
    min-height: 0;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    border: 1px solid var(--falcon-border-color, #d8e2ef) !important;
    box-shadow: none;
}

.campus-v2-firma-chat-card .card-body {
    display: flex;
    flex: 1 1 auto;
    min-width: 0;
    min-height: 0;
    height: auto;
    max-height: 100%;
    overflow: hidden;
}

.campus-v2-firma-chat-sidebar.chat-sidebar {
    display: flex;
    flex-direction: column;
    flex: 0 0 17.5rem;
    max-width: 17.5rem;
    width: 17.5rem;
    min-width: 0;
    min-height: 0;
    height: 100% !important;
    max-height: 100%;
    overflow: hidden;
    border-right: 1px solid var(--falcon-border-color, #d8e2ef);
    position: relative;
    background: var(--falcon-card-bg, #fff);
}

.campus-v2-firma-chat-contacts.contacts-list {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    height: 100% !important;
    max-height: 100%;
    width: 100%;
    overflow: hidden !important;
    border-right: 0;
}

.campus-v2-firma-chat-sidebar-title {
    flex: 0 0 auto;
}

.campus-v2-firma-chat-search-wrap.contacts-search-wrapper {
    flex: 0 0 auto;
    position: relative;
    display: block;
    width: 100%;
    height: auto !important;
    min-height: 0;
    padding: 0;
    margin: 0;
    border: 0 !important;
    border-bottom: 1px solid var(--falcon-border-color, #d8e2ef) !important;
    border-top: 0 !important;
    border-right: 0 !important;
    background: transparent;
    justify-content: stretch;
    align-items: stretch;
}

.campus-v2-firma-chat-search-group {
    width: 100%;
    flex-wrap: nowrap;
    border: 0;
}

.campus-v2-firma-chat-search-group .form-control,
.campus-v2-firma-chat-search-group .input-group-text {
    border: 0 !important;
    border-color: transparent !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: 0 !important;
    min-height: 2.75rem;
}

.campus-v2-firma-chat-search-group .form-control {
    padding-left: 1rem;
    padding-right: 0.25rem;
}

.campus-v2-firma-chat-search-group .form-control:hover,
.campus-v2-firma-chat-search-group .form-control:focus {
    border: 0 !important;
    border-color: transparent !important;
    box-shadow: none !important;
    outline: 0 !important;
    background: transparent !important;
}

.campus-v2-firma-chat-search-group .input-group-text {
    padding-right: 1rem;
    color: var(--falcon-500, #9da9bb);
}

.campus-v2-firma-chat-kontakt-list {
    flex: 1 1 0;
    min-height: 0;
    max-height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}

.campus-v2-firma-chat-kontakt.chat-contact {
    display: block;
    width: 100%;
    height: auto !important;
    min-height: 4.188rem;
    border: 0;
    border-top: 1px solid var(--falcon-border-color, #d8e2ef) !important;
    background: transparent;
    text-align: left;
    padding: 0;
    color: inherit;
    flex-shrink: 0;
}

.campus-v2-firma-chat-kontakt.chat-contact:first-child {
    border-top: 0 !important;
}

.campus-v2-firma-chat-kontakt.active,
.campus-v2-firma-chat-kontakt:hover {
    background: var(--falcon-200, #edf2f9);
}

@media (min-width: 768px) {
    .campus-v2-firma-chat-sidebar.chat-sidebar {
        position: relative;
        left: 0 !important;
    }
}

@media (min-width: 1540px) {
    .campus-v2-firma-chat-sidebar.chat-sidebar {
        flex: 0 0 21.88rem;
        max-width: 21.88rem;
        width: 21.88rem;
    }
}

.campus-v2-firma-chat-content {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    min-height: 0;
    height: 100%;
    overflow: hidden;
}

.campus-v2-firma-chat-card .chat-content-header {
    flex: 0 0 auto;
    min-width: 0;
}

.campus-v2-firma-chat-body {
    display: flex !important;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    min-width: 0;
    height: auto !important;
    overflow: hidden;
}

.campus-v2-firma-chat-card .chat-content-scroll-area {
    flex: 1 1 auto;
    height: auto !important;
    min-height: 0;
    max-width: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.campus-v2-firma-chat-editor {
    flex: 0 0 auto;
    gap: 0.5rem;
    padding: 0.65rem 0.75rem;
    background: var(--falcon-card-bg, #fff);
    min-width: 0;
    max-width: 100%;
    align-items: flex-start;
}

.campus-v2-chat-composer-pinned {
    box-sizing: border-box;
    border-top: 1px solid var(--falcon-border-color, #d8e2ef);
    box-shadow: 0 -6px 18px rgba(15, 23, 42, 0.08);
    background: var(--falcon-card-bg, #fff) !important;
}

.campus-v2-firma-chat-textarea {
    resize: none;
    min-height: 3.5rem;
    max-height: 6rem;
    min-width: 0;
    flex: 1 1 auto;
    padding: 0.45rem 0.75rem;
    background: transparent;
}

.campus-v2-firma-chat-textarea:focus {
    box-shadow: none;
    background: transparent;
}

.campus-v2-firma-chat-file-label,
.campus-v2-firma-chat-emoji-btn {
    flex: 0 0 auto;
    color: var(--falcon-600, #748194);
    line-height: 1;
    font-size: 1.15rem;
}

.campus-v2-firma-chat-emoji-wrap {
    position: relative;
    flex: 0 0 auto;
}

.campus-v2-firma-chat-emoji-picker {
    position: absolute;
    bottom: calc(100% + 0.35rem);
    right: 0;
    z-index: 20;
}

.campus-v2-firma-chat-send {
    flex: 0 0 auto;
    min-width: 5.5rem;
}

.campus-v2-firma-chat-msg {
    display: flex !important;
    max-width: 100%;
    min-width: 0;
    width: 100%;
}

.campus-v2-firma-chat-msg-self {
    flex-direction: row !important;
    justify-content: flex-end !important;
    text-align: right;
}

.campus-v2-firma-chat-bubble-col {
    flex: 1 1 auto;
    max-width: 75%;
    min-width: 0;
}

.campus-v2-firma-chat-msg-other .campus-v2-firma-chat-bubble-col {
    flex: 1 1 0;
    max-width: 75%;
    text-align: left;
}

.campus-v2-firma-chat-bubble-col-self {
    flex: 0 1 auto !important;
    flex-grow: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    align-self: flex-end !important;
    margin-left: auto !important;
    margin-right: 0 !important;
    max-width: 85% !important;
    width: auto !important;
    text-align: right;
}

.campus-v2-firma-chat-msg .chat-message {
    display: block;
    width: fit-content;
    max-width: 100% !important;
    word-break: normal;
    overflow-wrap: anywhere;
}

.campus-v2-firma-chat-image {
    display: block;
    max-width: 7.5rem !important;
    max-height: 7.5rem !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain;
    cursor: pointer;
}

.campus-v2-firma-chat-bild-dialog {
    max-width: min(32rem, calc(100vw - 1.5rem));
    margin: 0.75rem auto;
}

.campus-v2-firma-chat-bild-content {
    max-height: calc(100dvh - 1.5rem);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.campus-v2-firma-chat-bild-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
}

.campus-v2-firma-chat-bild-preview-wrap {
    flex: 0 1 auto;
    min-height: 0;
    max-height: min(50dvh, 22rem);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.75rem;
    overflow: hidden;
}

.campus-v2-firma-chat-bild-preview {
    display: block;
    max-width: 100%;
    max-height: min(50dvh, 22rem);
    width: auto;
    height: auto;
    object-fit: contain;
}

.campus-v2-firma-chat-foto-dialog {
    max-width: min(96vw, 72rem);
}

.campus-v2-firma-chat-foto-header {
    position: relative;
    justify-content: flex-end;
    align-items: center;
    min-height: 3.75rem;
    padding-top: 0.85rem !important;
    padding-bottom: 0.85rem !important;
}

.campus-v2-firma-chat-foto-zoom-tools {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}

.campus-v2-firma-chat-foto-zoom-btn.btn {
    width: 2.5rem;
    height: 2.5rem;
    min-width: 2.5rem;
    padding: 0;
    border-radius: 50% !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.15rem;
    line-height: 1;
}

.campus-v2-firma-chat-foto-content {
    height: 80vh;
    max-height: 80vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.campus-v2-firma-chat-foto-viewport {
    position: relative;
    overflow: hidden;
    touch-action: none;
    user-select: none;
    background: var(--falcon-1100, #0b1727);
    flex: 1 1 auto;
    min-height: 0;
    height: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: grab;
}

.campus-v2-firma-chat-foto-viewport.is-zoomed {
    cursor: grab;
}

.campus-v2-firma-chat-foto-viewport.is-zoomed:active {
    cursor: grabbing;
}

.campus-v2-firma-chat-foto-img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    transform-origin: center center;
    transition: transform 0.05s linear;
    pointer-events: none;
}

.campus-v2-firma-chat-msg .chat-message a {
    overflow-wrap: anywhere;
    word-break: break-word;
}

@media (max-width: 767.98px) {
    body:has(.campus-v2-firma-chat) .campus-start-navbar.campus-navbar-locked,
    body:has(.campus-v2-firma-chat) .campus-start-navbar.campus-navbar-solid {
        margin-bottom: 0;
    }

    .campus-v2-firma-chat.campus-v2-inner-content {
        padding: 0 !important;
        padding-bottom: var(--campus-chat-safe-pad, 0px) !important;
        margin: 0 !important;
        height: var(--campus-chat-page-height, calc(100dvh - var(--campus-navbar-height, 4rem) - var(--campus-safe-bottom, 0px))) !important;
        max-height: var(--campus-chat-page-height, calc(100dvh - var(--campus-navbar-height, 4rem) - var(--campus-safe-bottom, 0px))) !important;
        background: var(--falcon-card-bg, #fff);
    }

    .campus-v2-firma-chat.campus-v2-inner-content > .container,
    .campus-v2-firma-chat.campus-v2-inner-content .campus-v2-page-main {
        max-width: 100%;
        padding: 0 !important;
        margin: 0 !important;
    }

    .campus-v2-firma-chat-card.card-chat {
        border-radius: 0 !important;
        border: 0 !important;
    }

    .campus-v2-firma-chat-card .card-body {
        position: relative;
    }

    .campus-v2-firma-chat-sidebar.chat-sidebar {
        position: absolute;
        top: 0;
        left: 0;
        z-index: 12;
        flex: none;
        width: 100%;
        max-width: 100%;
        height: 100% !important;
        border-right: 0;
        transition: left 0.3s ease;
    }

    .campus-v2-firma-chat-has-partner .campus-v2-firma-chat-sidebar.chat-sidebar {
        left: -100%;
    }

    .campus-v2-firma-chat-content {
        width: 100%;
        max-width: 100%;
    }

    .campus-v2-firma-chat-bubble-col-self,
    .campus-v2-firma-chat-msg-other .campus-v2-firma-chat-bubble-col {
        max-width: calc(100% - 3rem);
    }

    .campus-v2-firma-chat-editor {
        gap: 0.15rem;
        padding: 0.5rem 0.75rem 0.7rem 0.65rem;
        align-items: flex-start;
    }

    .campus-v2-firma-chat-editor .campus-v2-firma-chat-file-label.chat-file-upload,
    .campus-v2-firma-chat-editor .campus-v2-firma-chat-emoji-btn.emoji-icon {
        width: 1.55rem;
        height: 2.15rem;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        margin: 0 !important;
        padding: 0 !important;
        font-size: 1.05rem;
        line-height: 1;
    }

    .campus-v2-firma-chat-emoji-wrap {
        margin: 0 !important;
        padding: 0 !important;
    }

    .campus-v2-firma-chat-send {
        min-width: 2.15rem;
        width: 2.15rem;
        height: 2.15rem;
        padding: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 0.35rem;
        line-height: 1;
        margin-left: 0.05rem;
    }

    .campus-v2-firma-chat-send .fa-paper-plane {
        font-size: 0.9rem;
    }

    /* fixed: sonst clipped durch overflow:hidden der Chat-Card */
    .campus-v2-firma-chat-emoji-picker,
    em-emoji-picker.campus-v2-firma-chat-emoji-picker {
        position: fixed !important;
        left: 50% !important;
        right: auto !important;
        top: auto !important;
        bottom: max(7rem, calc(5.5rem + var(--campus-safe-bottom, 0px))) !important;
        transform: translateX(-50%) !important;
        z-index: 1080 !important;
        width: min(22rem, calc(100vw - 1rem)) !important;
        max-width: calc(100vw - 1rem) !important;
    }

    .campus-v2-firma-chat-foto-modal {
        padding: 0 !important;
    }

    .campus-v2-firma-chat-foto-modal .modal-dialog.campus-v2-firma-chat-foto-dialog,
    .campus-v2-firma-chat-foto-dialog {
        width: 100vw !important;
        max-width: 100vw !important;
        height: 100dvh !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .campus-v2-firma-chat-foto-content {
        width: 100%;
        max-width: 100vw;
        max-height: 100dvh;
        height: 100dvh;
        border: 0;
        border-radius: 0 !important;
        display: flex;
        flex-direction: column;
    }

    .campus-v2-firma-chat-foto-viewport {
        flex: 1 1 auto;
        min-height: 0;
        height: auto;
        width: 100%;
    }
}

/* ==========================================================================
   Firmenintern Gruppenchat v2 (Falcon Chat mit Gruppen-Sidebar, CELSI-Bubbles)
   ========================================================================== */

html:has(.campus-v2-firma-gruppenchat),
body:has(.campus-v2-firma-gruppenchat) {
    overflow: hidden;
    height: 100%;
}

.campus-v2-firma-gruppenchat.campus-v2-inner-content {
    box-sizing: border-box;
    height: var(--campus-chat-page-height, calc(100dvh - var(--campus-navbar-height, 4rem) - var(--campus-navbar-content-gap, 1.5rem) - var(--campus-safe-bottom, 0px)));
    max-height: var(--campus-chat-page-height, calc(100dvh - var(--campus-navbar-height, 4rem) - var(--campus-navbar-content-gap, 1.5rem) - var(--campus-safe-bottom, 0px)));
    padding-bottom: var(--campus-chat-safe-pad, 20px) !important;
    margin-bottom: 0 !important;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    background: var(--falcon-card-bg, #fff);
}

.campus-v2-firma-gruppenchat.campus-v2-inner-content > .container,
.campus-v2-firma-gruppenchat.campus-v2-inner-content > .campus-v2-page-shell,
.campus-v2-firma-gruppenchat.campus-v2-inner-content .campus-v2-page-main {
    flex: 1 1 auto;
    min-height: 0;
    min-width: 0;
    width: 100%;
    max-width: min(var(--campus-page-max-width), 100%);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.campus-v2-firma-gruppenchat-card.card-chat {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    height: auto !important;
    max-height: none !important;
    min-height: 0;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    border: 1px solid var(--falcon-border-color, #d8e2ef) !important;
    box-shadow: none;
}

.campus-v2-firma-gruppenchat-card .card-body {
    display: flex;
    flex: 1 1 auto;
    min-width: 0;
    min-height: 0;
    height: auto;
    max-height: 100%;
    overflow: hidden;
}

.campus-v2-firma-gruppenchat-sidebar.chat-sidebar {
    display: flex;
    flex-direction: column;
    flex: 0 0 17.5rem;
    max-width: 17.5rem;
    width: 17.5rem;
    min-width: 0;
    min-height: 0;
    height: 100% !important;
    max-height: 100%;
    overflow: hidden;
    border-right: 1px solid var(--falcon-border-color, #d8e2ef);
    position: relative;
    background: var(--falcon-card-bg, #fff);
}

.campus-v2-firma-gruppenchat-contacts.contacts-list {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    height: 100% !important;
    max-height: 100%;
    width: 100%;
    overflow: hidden !important;
    border-right: 0;
}

.campus-v2-firma-gruppenchat-sidebar-title {
    flex: 0 0 auto;
}

.campus-v2-firma-gruppenchat-search-wrap.contacts-search-wrapper {
    flex: 0 0 auto;
    position: relative;
    display: block;
    width: 100%;
    height: auto !important;
    min-height: 0;
    padding: 0;
    margin: 0;
    border: 0 !important;
    border-bottom: 1px solid var(--falcon-border-color, #d8e2ef) !important;
    border-top: 0 !important;
    border-right: 0 !important;
    background: transparent;
    justify-content: stretch;
    align-items: stretch;
}

.campus-v2-firma-gruppenchat-search-group {
    width: 100%;
    flex-wrap: nowrap;
    border: 0;
}

.campus-v2-firma-gruppenchat-search-group .form-control,
.campus-v2-firma-gruppenchat-search-group .input-group-text {
    border: 0 !important;
    border-color: transparent !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: 0 !important;
    min-height: 2.75rem;
}

.campus-v2-firma-gruppenchat-search-group .form-control {
    padding-left: 1rem;
    padding-right: 0.25rem;
}

.campus-v2-firma-gruppenchat-search-group .form-control:hover,
.campus-v2-firma-gruppenchat-search-group .form-control:focus {
    border: 0 !important;
    border-color: transparent !important;
    box-shadow: none !important;
    outline: 0 !important;
    background: transparent !important;
}

.campus-v2-firma-gruppenchat-search-group .input-group-text {
    padding-right: 1rem;
    color: var(--falcon-500, #9da9bb);
}

.campus-v2-firma-gruppenchat-gruppe-list {
    flex: 1 1 0;
    min-height: 0;
    max-height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}

.campus-v2-firma-gruppenchat-gruppe.chat-contact {
    display: block;
    width: 100%;
    height: auto !important;
    min-height: 4.188rem;
    border: 0;
    border-top: 1px solid var(--falcon-border-color, #d8e2ef) !important;
    background: transparent;
    text-align: left;
    padding: 0;
    color: inherit;
    flex-shrink: 0;
}

.campus-v2-firma-gruppenchat-gruppe.chat-contact:first-child {
    border-top: 0 !important;
}

.campus-v2-firma-gruppenchat-gruppe.active,
.campus-v2-firma-gruppenchat-gruppe:hover {
    background: var(--falcon-200, #edf2f9);
}

@media (min-width: 768px) {
    .campus-v2-firma-gruppenchat-sidebar.chat-sidebar {
        position: relative;
        left: 0 !important;
    }
}

@media (min-width: 1540px) {
    .campus-v2-firma-gruppenchat-sidebar.chat-sidebar {
        flex: 0 0 21.88rem;
        max-width: 21.88rem;
        width: 21.88rem;
    }
}

.campus-v2-firma-gruppenchat-content {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    min-height: 0;
    height: 100%;
    overflow: hidden;
}

.campus-v2-firma-gruppenchat-card .chat-content-header {
    flex: 0 0 auto;
    min-width: 0;
}

.campus-v2-firma-gruppenchat-body {
    display: flex !important;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    min-width: 0;
    height: auto !important;
    overflow: hidden;
}

.campus-v2-firma-gruppenchat-card .chat-content-scroll-area {
    flex: 1 1 auto;
    height: auto !important;
    min-height: 0;
    max-width: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.campus-v2-firma-gruppenchat-editor {
    flex: 0 0 auto;
    gap: 0.5rem;
    padding: 0.65rem 0.75rem;
    background: var(--falcon-card-bg, #fff);
    min-width: 0;
    max-width: 100%;
    align-items: flex-start;
}

.campus-v2-firma-gruppenchat-textarea {
    resize: none;
    min-height: 3.5rem;
    max-height: 6rem;
    min-width: 0;
    flex: 1 1 auto;
    padding: 0.45rem 0.75rem;
    background: transparent;
}

.campus-v2-firma-gruppenchat-textarea:focus {
    box-shadow: none;
    background: transparent;
}

.campus-v2-firma-gruppenchat-file-label,
.campus-v2-firma-gruppenchat-emoji-btn {
    flex: 0 0 auto;
    color: var(--falcon-600, #748194);
    line-height: 1;
    font-size: 1.15rem;
}

.campus-v2-firma-gruppenchat-emoji-wrap {
    position: relative;
    flex: 0 0 auto;
}

.campus-v2-firma-gruppenchat-emoji-picker {
    position: absolute;
    bottom: calc(100% + 0.35rem);
    right: 0;
    z-index: 20;
}

.campus-v2-firma-gruppenchat-send {
    flex: 0 0 auto;
    min-width: 5.5rem;
}

.campus-v2-firma-gruppenchat-msg {
    display: flex !important;
    max-width: 100%;
    min-width: 0;
    width: 100%;
}

.campus-v2-firma-gruppenchat-msg-self {
    flex-direction: row !important;
    justify-content: flex-end !important;
    text-align: right;
}

.campus-v2-firma-gruppenchat-bubble-col {
    flex: 1 1 auto;
    max-width: 75%;
    min-width: 0;
}

.campus-v2-firma-gruppenchat-msg-other .campus-v2-firma-gruppenchat-bubble-col {
    flex: 1 1 0;
    max-width: 75%;
    text-align: left;
}

.campus-v2-firma-gruppenchat-bubble-col-self {
    flex: 0 1 auto !important;
    flex-grow: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    align-self: flex-end !important;
    margin-left: auto !important;
    margin-right: 0 !important;
    max-width: 85% !important;
    width: auto !important;
    text-align: right;
}

.campus-v2-firma-gruppenchat-msg .chat-message {
    display: block;
    width: fit-content;
    max-width: 100% !important;
    word-break: normal;
    overflow-wrap: anywhere;
}

.campus-v2-firma-gruppenchat-image {
    display: block;
    max-width: 7.5rem !important;
    max-height: 7.5rem !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain;
    cursor: pointer;
}

.campus-v2-firma-gruppenchat-bild-dialog {
    max-width: min(32rem, calc(100vw - 1.5rem));
    margin: 0.75rem auto;
}

.campus-v2-firma-gruppenchat-bild-content {
    max-height: calc(100dvh - 1.5rem);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.campus-v2-firma-gruppenchat-bild-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
}

.campus-v2-firma-gruppenchat-bild-preview-wrap {
    flex: 0 1 auto;
    min-height: 0;
    max-height: min(50dvh, 22rem);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.75rem;
    overflow: hidden;
}

.campus-v2-firma-gruppenchat-bild-preview {
    display: block;
    max-width: 100%;
    max-height: min(50dvh, 22rem);
    width: auto;
    height: auto;
    object-fit: contain;
}

.campus-v2-firma-gruppenchat-foto-dialog {
    max-width: min(96vw, 72rem);
}

.campus-v2-firma-gruppenchat-foto-header {
    position: relative;
    justify-content: flex-end;
    align-items: center;
    min-height: 3.75rem;
    padding-top: 0.85rem !important;
    padding-bottom: 0.85rem !important;
}

.campus-v2-firma-gruppenchat-foto-zoom-tools {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}

.campus-v2-firma-gruppenchat-foto-zoom-btn.btn {
    width: 2.5rem;
    height: 2.5rem;
    min-width: 2.5rem;
    padding: 0;
    border-radius: 50% !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.15rem;
    line-height: 1;
}

.campus-v2-firma-gruppenchat-foto-content {
    height: 80vh;
    max-height: 80vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.campus-v2-firma-gruppenchat-foto-viewport {
    position: relative;
    overflow: hidden;
    touch-action: none;
    user-select: none;
    background: var(--falcon-1100, #0b1727);
    flex: 1 1 auto;
    min-height: 0;
    height: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: grab;
}

.campus-v2-firma-gruppenchat-foto-viewport.is-zoomed {
    cursor: grab;
}

.campus-v2-firma-gruppenchat-foto-viewport.is-zoomed:active {
    cursor: grabbing;
}

.campus-v2-firma-gruppenchat-foto-img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    transform-origin: center center;
    transition: transform 0.05s linear;
    pointer-events: none;
}

.campus-v2-firma-gruppenchat-msg .chat-message a {
    overflow-wrap: anywhere;
    word-break: break-word;
}

@media (max-width: 767.98px) {
    body:has(.campus-v2-firma-gruppenchat) .campus-start-navbar.campus-navbar-locked,
    body:has(.campus-v2-firma-gruppenchat) .campus-start-navbar.campus-navbar-solid {
        margin-bottom: 0;
    }

    .campus-v2-firma-gruppenchat.campus-v2-inner-content {
        padding: 0 !important;
        padding-bottom: var(--campus-chat-safe-pad, 0px) !important;
        margin: 0 !important;
        height: var(--campus-chat-page-height, calc(100dvh - var(--campus-navbar-height, 4rem) - var(--campus-safe-bottom, 0px))) !important;
        max-height: var(--campus-chat-page-height, calc(100dvh - var(--campus-navbar-height, 4rem) - var(--campus-safe-bottom, 0px))) !important;
        background: var(--falcon-card-bg, #fff);
    }

    .campus-v2-firma-gruppenchat.campus-v2-inner-content > .container,
    .campus-v2-firma-gruppenchat.campus-v2-inner-content .campus-v2-page-main {
        max-width: 100%;
        padding: 0 !important;
        margin: 0 !important;
    }

    .campus-v2-firma-gruppenchat-card.card-chat {
        border-radius: 0 !important;
        border: 0 !important;
    }

    .campus-v2-firma-gruppenchat-card .card-body {
        position: relative;
    }

    .campus-v2-firma-gruppenchat-sidebar.chat-sidebar {
        position: absolute;
        top: 0;
        left: 0;
        z-index: 12;
        flex: none;
        width: 100%;
        max-width: 100%;
        height: 100% !important;
        border-right: 0;
        transition: left 0.3s ease;
    }

    .campus-v2-firma-gruppenchat-has-gruppe .campus-v2-firma-gruppenchat-sidebar.chat-sidebar {
        left: -100%;
    }

    .campus-v2-firma-gruppenchat-content {
        width: 100%;
        max-width: 100%;
    }

    .campus-v2-firma-gruppenchat-bubble-col-self,
    .campus-v2-firma-gruppenchat-msg-other .campus-v2-firma-gruppenchat-bubble-col {
        max-width: calc(100% - 3rem);
    }

    .campus-v2-firma-gruppenchat-editor {
        gap: 0.15rem;
        padding: 0.5rem 0.75rem 0.7rem 0.65rem;
        align-items: flex-start;
    }

    .campus-v2-firma-gruppenchat-editor .campus-v2-firma-gruppenchat-file-label.chat-file-upload,
    .campus-v2-firma-gruppenchat-editor .campus-v2-firma-gruppenchat-emoji-btn.emoji-icon {
        width: 1.55rem;
        height: 2.15rem;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        margin: 0 !important;
        padding: 0 !important;
        font-size: 1.05rem;
        line-height: 1;
    }

    .campus-v2-firma-gruppenchat-emoji-wrap {
        margin: 0 !important;
        padding: 0 !important;
    }

    .campus-v2-firma-gruppenchat-send {
        min-width: 2.15rem;
        width: 2.15rem;
        height: 2.15rem;
        padding: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 0.35rem;
        line-height: 1;
        margin-left: 0.05rem;
    }

    .campus-v2-firma-gruppenchat-send .fa-paper-plane {
        font-size: 0.9rem;
    }

    /* fixed: sonst clipped durch overflow:hidden der Chat-Card */
    .campus-v2-firma-gruppenchat-emoji-picker,
    em-emoji-picker.campus-v2-firma-gruppenchat-emoji-picker {
        position: fixed !important;
        left: 50% !important;
        right: auto !important;
        top: auto !important;
        bottom: max(7rem, calc(5.5rem + var(--campus-safe-bottom, 0px))) !important;
        transform: translateX(-50%) !important;
        z-index: 1080 !important;
        width: min(22rem, calc(100vw - 1rem)) !important;
        max-width: calc(100vw - 1rem) !important;
    }

    .campus-v2-firma-gruppenchat-foto-modal {
        padding: 0 !important;
    }

    .campus-v2-firma-gruppenchat-foto-modal .modal-dialog.campus-v2-firma-gruppenchat-foto-dialog,
    .campus-v2-firma-gruppenchat-foto-dialog {
        width: 100vw !important;
        max-width: 100vw !important;
        height: 100dvh !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .campus-v2-firma-gruppenchat-foto-content {
        width: 100%;
        max-width: 100vw;
        max-height: 100dvh;
        height: 100dvh;
        border: 0;
        border-radius: 0 !important;
        display: flex;
        flex-direction: column;
    }

    .campus-v2-firma-gruppenchat-foto-viewport {
        flex: 1 1 auto;
        min-height: 0;
        height: auto;
        width: 100%;
    }
}

.campus-v2-firma-gruppenchat-header-btn.btn {
    width: 2.15rem;
    height: 2.15rem;
    min-width: 2.15rem;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.campus-v2-firma-gruppenchat-gruppe-badge {
    min-width: 1.75rem;
}

.campus-v2-firma-gruppenchat-teilnehmer-avatar {
    object-fit: cover;
}

.campus-v2-firma-gruppenchat-teilnehmer-dialog {
    max-width: min(56rem, calc(100vw - 1.5rem));
}

.campus-v2-firma-gruppenchat-teilnehmer-modal .modal-body {
    max-height: min(70vh, 40rem);
}

/* Fehler melden */
#campusV2FehlerMeldenModal .modal-dialog {
    max-height: calc(100dvh - 1rem);
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
}

#campusV2FehlerMeldenModal .modal-content {
    max-height: calc(100dvh - 1rem);
    overflow: hidden;
}

#campusV2FehlerMeldenModal .modal-body {
    overflow-y: auto;
    overscroll-behavior: contain;
}

#campusV2FehlerMeldenModal .modal-footer {
    flex-shrink: 0;
}

.campus-v2-fehler-melden-beschreibung {
    overflow-y: auto;
    resize: none;
    min-height: calc(1.5em * 3 + 0.75rem * 2 + 2px);
    max-height: 40vh;
}

.campus-v2-fehler-melden-dropzone {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    min-height: 9rem;
    padding: 1.25rem 1rem;
    border: 2px dashed var(--falcon-border-color, #d8e2ef);
    border-radius: 0.375rem;
    background-color: var(--falcon-body-bg, #fff);
    color: var(--falcon-secondary-color, #748194);
    text-align: center;
    cursor: pointer;
    transition: border-color 0.15s ease, background-color 0.15s ease, color 0.15s ease;
}

.campus-v2-fehler-melden-dropzone:hover,
.campus-v2-fehler-melden-dropzone:focus {
    border-color: var(--falcon-primary, #2c7be5);
    color: var(--falcon-primary, #2c7be5);
    outline: none;
}

.campus-v2-fehler-melden-dropzone.is-dragover {
    border-color: var(--falcon-primary, #2c7be5);
    background-color: rgba(44, 123, 229, 0.06);
    color: var(--falcon-primary, #2c7be5);
}

.campus-v2-fehler-melden-dropzone.is-disabled {
    opacity: 0.65;
    pointer-events: none;
    cursor: not-allowed;
}

.campus-v2-fehler-melden-dropzone-icon {
    font-size: 1.75rem;
    line-height: 1;
}

.campus-v2-fehler-melden-dropzone-text {
    font-weight: 600;
    font-size: 0.95rem;
}

.campus-v2-fehler-melden-dropzone-hint {
    font-size: 0.8rem;
}

.campus-theme-firma .campus-v2-fehler-melden-dropzone:hover,
.campus-theme-firma .campus-v2-fehler-melden-dropzone:focus,
.campus-theme-firma .campus-v2-fehler-melden-dropzone.is-dragover {
    border-color: var(--campus-mobile-nav-button);
    color: var(--campus-mobile-nav-text);
}

.campus-theme-firma .campus-v2-fehler-melden-dropzone.is-dragover {
    background-color: color-mix(in srgb, var(--campus-mobile-nav-primary) 12%, transparent);
}

.campus-v2-fehler-melden-bild-item {
    max-width: 100%;
}

.campus-v2-fehler-melden-bild-thumb {
    width: 48px;
    height: 48px;
    object-fit: cover;
}

.campus-v2-fehler-melden-bild-meta {
    max-width: 220px;
}

/* Lieferanten (OXOMI) v2 */
.campus-v2-lieferanten-card-header {
    border-bottom: 1px solid var(--falcon-border-color, #d8e2ef);
}

.campus-v2-lieferanten-output .oxomi-well {
    background-color: #fff;
}

.campus-v2-lieferanten-output .oxomi-link {
    color: #5e6e82;
    font-weight: 400;
}

.campus-v2-lieferanten-output .oxomi-link > i {
    margin-right: 5px;
}

.campus-v2-lieferanten-output .oxomi-nav > li > a:hover,
.campus-v2-lieferanten-output .oxomi-nav > li > a:focus {
    background-color: transparent;
    color: var(--falcon-primary, #2c7be5);
}

.campus-theme-firma .campus-v2-lieferanten-output .oxomi-nav > li > a:hover,
.campus-theme-firma .campus-v2-lieferanten-output .oxomi-nav > li > a:focus {
    color: var(--campus-mobile-nav-button);
}

/* Dozenten-Profil v2 */
.campus-v2-dozent-avatar {
    width: 120px;
    height: 120px;
    object-fit: cover;
}

.campus-v2-dozent-contacts {
    display: grid;
    gap: 0.5rem;
}

.campus-v2-dozent-contact-link {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    min-width: 0;
    font-size: 0.85rem;
    line-height: 1.3;
    color: var(--falcon-700, #344050);
    text-decoration: none;
}

.campus-v2-dozent-contact-link:hover {
    color: var(--falcon-primary, #2c7be5);
}

.campus-v2-dozent-contact-icon {
    flex: 0 0 1.75rem;
    width: 1.75rem;
    height: 1.75rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.35rem;
    background: var(--falcon-100, #edf2f9);
    color: var(--falcon-600, #748194);
    font-size: 0.7rem;
}

.campus-v2-dozent-contact-link:hover .campus-v2-dozent-contact-icon {
    background: color-mix(in srgb, var(--falcon-primary, #2c7be5) 12%, transparent);
    color: var(--falcon-primary, #2c7be5);
}

.campus-theme-firma .campus-v2-dozent-contact-link:hover {
    color: var(--campus-mobile-nav-button);
}

.campus-theme-firma .campus-v2-dozent-contact-link:hover .campus-v2-dozent-contact-icon {
    background: color-mix(in srgb, var(--campus-mobile-nav-button) 12%, transparent);
    color: var(--campus-mobile-nav-button);
}

.campus-v2-dozent-video iframe {
    border: 0;
}

.campus-v2-dozent-social-btn {
    width: 2.25rem;
    height: 2.25rem;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Blog Detail v2 */
.campus-v2-blog-hauptbild {
    max-height: 500px;
    width: auto;
    max-width: 100%;
    object-fit: contain;
}

.campus-v2-blog-thumbs .campus-v2-blog-thumb img {
    width: 72px;
    height: 72px;
    object-fit: cover;
    display: block;
    opacity: 0.85;
    transition: opacity 0.15s ease, box-shadow 0.15s ease;
}

.campus-v2-blog-thumbs .campus-v2-blog-thumb:hover img,
.campus-v2-blog-thumbs .campus-v2-blog-thumb.is-active img {
    opacity: 1;
    box-shadow: 0 0 0 2px var(--falcon-primary, #2c7be5);
}

.campus-v2-blog-firma-logo {
    width: 56px;
    height: 56px;
    object-fit: contain;
    background: #fff;
}

.campus-v2-blog-content {
    overflow-wrap: anywhere;
}

.campus-v2-blog-content img {
    max-width: 100%;
    height: auto;
}

.campus-v2-blog-content a {
    word-break: break-word;
}

/* Rechtliches v2 */
.campus-v2-rechtliches-content {
    overflow-wrap: anywhere;
}

.campus-v2-rechtliches-content img {
    max-width: 100%;
    height: auto;
}

.campus-v2-rechtliches-content h1,
.campus-v2-rechtliches-content h2,
.campus-v2-rechtliches-content h3,
.campus-v2-rechtliches-content h4 {
    margin-top: 1.25rem;
    margin-bottom: 0.75rem;
}

.campus-v2-rechtliches-content h1:first-child,
.campus-v2-rechtliches-content h2:first-child,
.campus-v2-rechtliches-content h3:first-child,
.campus-v2-rechtliches-content h4:first-child {
    margin-top: 0;
}

.campus-v2-rechtliches-content p:last-child,
.campus-v2-rechtliches-content ul:last-child,
.campus-v2-rechtliches-content ol:last-child {
    margin-bottom: 0;
}

/* FAQ v2 */
.campus-v2-faq-toolbar {
    position: sticky;
    top: var(--campus-navbar-height, 4rem);
    z-index: 2;
}

.campus-v2-faq-search-icon {
    left: 0.65rem;
    pointer-events: none;
    z-index: 1;
}

.campus-v2-faq-search {
    padding-left: 2rem;
    padding-right: 2rem;
}

.campus-v2-faq-search-clear {
    position: absolute;
    top: 50%;
    right: 0.15rem;
    transform: translateY(-50%);
    z-index: 1;
    line-height: 1;
    padding: 0.25rem 0.45rem;
    text-decoration: none;
}

.campus-v2-faq-search-clear:hover,
.campus-v2-faq-search-clear:focus {
    color: var(--falcon-gray-800, #344050) !important;
    text-decoration: none;
}

.campus-v2-faq-mark {
    padding: 0 0.1em;
    background-color: #fff3cd;
    color: inherit;
    border-radius: 0.15rem;
}

.campus-v2-faq-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.campus-v2-faq-category {
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.campus-v2-faq-accordion .accordion-item {
    border-left: 0;
    border-right: 0;
}

.campus-v2-faq-accordion .accordion-button {
    font-size: 0.95rem;
    font-weight: 600;
}

.campus-v2-faq-accordion .accordion-body {
    color: var(--falcon-gray-700, #5e6e82);
}

.campus-v2-faq-subaccordion {
    border: 1px solid var(--falcon-border-color, #d8e2ef);
    border-radius: 0.375rem;
    overflow: hidden;
}

.campus-v2-faq-subaccordion .accordion-button {
    font-size: 0.875rem;
    font-weight: 600;
    background-color: var(--falcon-gray-100, #f9fafd);
}

.campus-v2-faq-subaccordion .accordion-button:not(.collapsed) {
    background-color: var(--falcon-gray-100, #f9fafd);
    box-shadow: none;
}

.campus-v2-faq-subaccordion .accordion-body {
    font-size: 0.875rem;
}

/* Firmenintern Notdienstkalender v2 */
.campus-v2-firma-notdienst-item-layout {
    display: grid;
    gap: 0.75rem 1rem;
}

.campus-v2-firma-notdienst-item-date {
    min-width: 0;
}

.campus-v2-firma-notdienst-item-actions {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.5rem;
}

.campus-v2-firma-notdienst-farbe {
    width: 12px;
    height: 12px;
    flex: 0 0 12px;
}

.campus-v2-firma-notdienst-item-own {
    background-color: var(--falcon-success-bg-subtle, #d1f2eb);
}

.campus-v2-firma-notdienst-item-replaced {
    background-color: var(--falcon-primary-bg-subtle, #e6effc);
}

.campus-v2-firma-notdienst-item-request {
    background-color: var(--falcon-info-bg-subtle, #d7f1fc);
}

.campus-v2-firma-notdienst-hinweis {
    white-space: normal;
}

@media (min-width: 768px) {
    .campus-v2-firma-notdienst-item-layout {
        grid-template-columns: 10.5rem minmax(0, 1fr) auto;
        align-items: start;
    }

    .campus-v2-firma-notdienst-item-actions {
        align-items: flex-end;
        min-width: 8.5rem;
    }
}

