:root {
    --bubi-blue: #183a63;
    --bubi-blue-dark: #102b4d;
    --bubi-green: #dceec4;
    --bubi-bg: #f5f8f3;
    --bubi-text: #24313d;
    --bubi-muted: #5d6b76;
    --bubi-border: #dce4df;
    --bubi-shadow: 0 10px 28px rgba(24, 58, 99, 0.08);
}

body.bubi-seminar-app-page {
    margin: 0;
    background: var(--bubi-bg);
    color: var(--bubi-text);
    overflow-x: hidden;
}

body.bubi-seminar-app-page #top-header,
body.bubi-seminar-app-page #main-header,
body.bubi-seminar-app-page #main-footer,
body.bubi-seminar-app-page .et-l--header,
body.bubi-seminar-app-page .et-l--footer {
    display: none !important;
}

body.bubi-seminar-app-page #page-container,
body.bubi-seminar-app-page #et-main-area,
body.bubi-seminar-app-page #main-content,
body.bubi-seminar-app-page .entry-content {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

.bubi-app-shell,
.bubi-app-shell * {
    box-sizing: border-box;
}

.bubi-app-shell {
    width: min(100%, 900px);
    margin: 0 auto;
    padding: max(14px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}


.bubi-preview-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0 0 12px;
    padding: 11px 14px;
    border: 1px solid #e5c66b;
    border-radius: 14px;
    background: #fff6d8;
    color: #5a4517;
    font-size: 13px;
    line-height: 1.4;
}

.bubi-preview-banner strong {
    color: #42300b;
}

.bubi-launch-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0 0 12px;
    padding: 12px 14px;
    border: 1px solid #cbd8e8;
    border-radius: 14px;
    background: #edf4fb;
    color: #314962;
    font-size: 13px;
    line-height: 1.45;
}

.bubi-launch-banner strong {
    color: var(--bubi-blue);
}

.bubi-app-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 8px 0 16px;
}

.bubi-app-brand {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.bubi-app-mark {
    display: grid;
    flex: 0 0 76px;
    width: 76px;
    height: 68px;
    place-items: center;
    overflow: hidden;
    border: 1px solid var(--bubi-border);
    border-radius: 18px;
    background: #fff;
    box-shadow: var(--bubi-shadow);
}

.bubi-app-logo {
    display: block;
    width: 66px;
    height: 58px;
    object-fit: contain;
}

.bubi-app-kicker {
    margin: 0 0 2px;
    color: var(--bubi-muted);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .035em;
    text-transform: uppercase;
}

.bubi-app-header h1 {
    margin: 0;
    color: var(--bubi-blue);
    font-size: clamp(24px, 6vw, 34px);
    line-height: 1.1;
}

.bubi-install-button,
.bubi-contact-button,
.bubi-dialog-ok {
    min-height: 50px;
    border: 0;
    border-radius: 15px;
    background: var(--bubi-blue);
    color: #fff !important;
    font-size: 15px;
    font-weight: 750;
    line-height: 1.25;
    text-decoration: none !important;
    cursor: pointer;
}

.bubi-install-button {
    flex: 0 0 auto;
    padding: 12px 16px;
}

.bubi-install-button:hover,
.bubi-install-button:focus-visible,
.bubi-contact-button:hover,
.bubi-contact-button:focus-visible,
.bubi-dialog-ok:hover,
.bubi-dialog-ok:focus-visible {
    background: var(--bubi-blue-dark);
}

.bubi-app-intro {
    margin: 0 0 16px;
    padding: 15px 17px;
    border-radius: 18px;
    background: var(--bubi-green);
}

.bubi-app-intro p {
    margin: 0;
    font-size: 15px;
    line-height: 1.5;
}

.bubi-app-content {
    min-width: 0;
}

.bubi-app-content img {
    max-width: 100% !important;
    height: auto;
}

.bubi-app-content input[type="search"],
.bubi-app-content input[type="text"],
.bubi-app-content input[type="email"],
.bubi-app-content input[type="tel"],
.bubi-app-content input[type="date"],
.bubi-app-content select,
.bubi-app-content textarea {
    width: 100%;
    max-width: 100%;
    min-height: 48px;
    border: 1px solid var(--bubi-border);
    border-radius: 13px;
    font-size: 16px;
}

.bubi-app-content button,
.bubi-app-content input[type="submit"],
.bubi-app-content a.et_pb_button,
.bubi-app-content a.button,
.bubi-app-content .btn {
    min-height: 50px;
}

.bubi-app-content [class*="grid"],
.bubi-app-content [class*="cards"],
.bubi-app-content [class*="seminar-list"] {
    max-width: 100%;
}

.bubi-app-warning {
    padding: 18px;
    border: 1px solid #e8c878;
    border-radius: 16px;
    background: #fff7dc;
    color: #5a4517;
    line-height: 1.5;
}

.bubi-app-footer {
    padding: 22px 0 8px;
    text-align: center;
}

.bubi-contact-button {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: center;
    padding: 12px 18px;
}

.bubi-app-footer p {
    margin: 12px 0 0;
    color: var(--bubi-muted);
    font-size: 12.5px;
    line-height: 1.45;
}

.bubi-install-dialog {
    width: min(calc(100% - 28px), 460px);
    padding: 0;
    border: 0;
    border-radius: 22px;
    background: transparent;
}

.bubi-install-dialog::backdrop {
    background: rgba(11, 27, 45, 0.62);
}

.bubi-dialog-card {
    position: relative;
    padding: 26px 20px 20px;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 20px 70px rgba(0, 0, 0, 0.24);
}

.bubi-dialog-card h2 {
    margin: 0 36px 14px 0;
    color: var(--bubi-blue);
    font-size: 23px;
    line-height: 1.2;
}

.bubi-dialog-card p,
.bubi-dialog-card li {
    font-size: 15px;
    line-height: 1.55;
}

.bubi-dialog-card ol {
    margin: 0 0 18px;
    padding-left: 22px;
}

.bubi-dialog-close {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 40px;
    height: 40px;
    border: 0;
    border-radius: 50%;
    background: #edf2ef;
    color: var(--bubi-blue);
    font-size: 25px;
    line-height: 1;
    cursor: pointer;
}

.bubi-dialog-ok {
    width: 100%;
    padding: 12px 18px;
}

@media (max-width: 680px) {
    .bubi-app-header {
        align-items: stretch;
        flex-direction: column;
    }

    .bubi-preview-banner,
    .bubi-launch-banner {
        align-items: flex-start;
        flex-direction: column;
        gap: 2px;
    }

    .bubi-install-button {
        width: 100%;
    }

    .bubi-app-content button,
    .bubi-app-content input[type="submit"],
    .bubi-app-content a.et_pb_button,
    .bubi-app-content a.button,
    .bubi-app-content .btn {
        width: 100%;
        max-width: 100%;
    }

    .bubi-app-content [class*="grid"],
    .bubi-app-content [class*="cards"],
    .bubi-app-content [class*="seminar-list"] {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}

@media (display-mode: standalone) {
    .bubi-install-button {
        display: none !important;
    }
}


/* Eigenständige App-Seite: Seitentitel, Sidebar und Theme-Rahmen ausblenden. */
body.bubi-seminar-app-page #sidebar,
body.bubi-seminar-app-page .widget-area,
body.bubi-seminar-app-page .et_pb_widget_area,
body.bubi-seminar-app-page .entry-title,
body.bubi-seminar-app-page .et_post_meta_wrapper,
body.bubi-seminar-app-page .post-meta,
body.bubi-seminar-app-page .navigation,
body.bubi-seminar-app-page .nav-single {
    display: none !important;
}

body.bubi-seminar-app-page #main-content .container,
body.bubi-seminar-app-page #main-content .container.et_menu_container {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
}

body.bubi-seminar-app-page #main-content .container::before {
    display: none !important;
}

body.bubi-seminar-app-page #left-area,
body.bubi-seminar-app-page article.page,
body.bubi-seminar-app-page .et_pb_post {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Kompakte Suche und Filter direkt in der App */
.bubi-app-filter {
    margin: 0 0 18px;
    padding: 18px;
    border: 1px solid rgba(24, 58, 99, 0.08);
    border-radius: 20px;
    background: #fff;
    box-shadow: var(--bubi-shadow);
}

.bubi-app-filter__heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 15px;
}

.bubi-app-filter__kicker {
    margin: 0 0 3px;
    color: #6f8910;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .055em;
    text-transform: uppercase;
}

.bubi-app-filter h2 {
    margin: 0;
    color: var(--bubi-blue);
    font-size: 22px;
    line-height: 1.15;
}

.bubi-app-filter__reset {
    color: var(--bubi-blue) !important;
    font-size: 12.5px;
    font-weight: 750;
    text-decoration: underline !important;
    text-underline-offset: 3px;
}

.bubi-app-filter__form {
    display: grid;
    grid-template-columns: minmax(210px, 1.35fr) repeat(3, minmax(145px, .9fr)) auto;
    gap: 11px;
    align-items: end;
}

.bubi-app-filter__field {
    min-width: 0;
}

.bubi-app-filter__field label {
    display: block;
    margin: 0 0 6px;
    color: var(--bubi-blue);
    font-size: 12px;
    font-weight: 800;
}

.bubi-app-filter__field input,
.bubi-app-filter__field select {
    width: 100%;
    min-width: 0;
    height: 52px;
    margin: 0;
    padding: 0 13px;
    border: 1px solid var(--bubi-border);
    border-radius: 13px;
    outline: none;
    background: #fff;
    color: var(--bubi-text);
    font: inherit;
    font-size: 14px;
}

.bubi-app-filter__field input:focus,
.bubi-app-filter__field select:focus {
    border-color: #9fbe1b;
    box-shadow: 0 0 0 4px rgba(168, 205, 0, .15);
}

.bubi-app-filter__submit {
    min-height: 52px;
    padding: 0 17px;
    border: 0;
    border-radius: 13px;
    background: #a8cd00;
    color: #173600;
    font: inherit;
    font-size: 14px;
    font-weight: 800;
    white-space: nowrap;
    cursor: pointer;
}

.bubi-app-filter__submit:hover,
.bubi-app-filter__submit:focus-visible {
    background: #b9dc16;
}

.bubi-app-filter__quick {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
    margin-top: 14px;
}

.bubi-app-filter__quick > span {
    color: var(--bubi-blue);
    font-size: 12px;
    font-weight: 800;
}

.bubi-app-filter__quick a {
    display: inline-flex;
    min-height: 32px;
    align-items: center;
    padding: 6px 11px;
    border: 1px solid var(--bubi-border);
    border-radius: 999px;
    background: #f8fbf3;
    color: var(--bubi-blue) !important;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none !important;
}

.bubi-app-filter__quick a:hover,
.bubi-app-filter__quick a:focus-visible {
    border-color: #a8cd00;
    background: #eff7d9;
}

@media (max-width: 860px) {
    .bubi-app-filter__form {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .bubi-app-filter__field--search,
    .bubi-app-filter__submit {
        grid-column: 1 / -1;
    }

    .bubi-app-filter__submit {
        width: 100%;
    }
}

@media (max-width: 560px) {
    .bubi-app-filter {
        padding: 16px 14px;
        border-radius: 18px;
    }

    .bubi-app-filter__heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 7px;
    }

    .bubi-app-filter__form {
        grid-template-columns: minmax(0, 1fr);
    }

    .bubi-app-filter__field--search,
    .bubi-app-filter__submit {
        grid-column: auto;
    }

    .bubi-app-filter__field input,
    .bubi-app-filter__field select,
    .bubi-app-filter__submit {
        height: 54px;
        min-height: 54px;
        font-size: 16px;
    }

    .bubi-app-filter__quick > span {
        width: 100%;
    }
}

/* Favoriten und Kalender – App-Version 1.7.1 */
.bubi-app-tools {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin: 0 0 18px;
    padding: 16px 18px;
    border: 1px solid rgba(24, 58, 99, .09);
    border-radius: 18px;
    background: #f8fbf3;
}

.bubi-app-tools[hidden] { display: none !important; }

.bubi-app-tools__text {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
    color: var(--bubi-text);
}

.bubi-app-tools__text strong {
    color: var(--bubi-blue);
    font-size: 16px;
}

.bubi-app-tools__text span {
    font-size: 13px;
    line-height: 1.4;
}

.bubi-favorites-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 44px;
    padding: 10px 15px;
    border: 1px solid rgba(24, 58, 99, .18);
    border-radius: 12px;
    background: #fff;
    color: var(--bubi-blue);
    font: inherit;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
}

.bubi-favorites-toggle[aria-pressed="true"] {
    border-color: #a8cd00;
    background: #eff7d9;
}

.bubi-favorites-toggle:disabled {
    cursor: default;
    opacity: .55;
}

.bubi-seminar-card__app-tools {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    width: 100%;
    margin-top: 2px;
}

.bubi-card-tool {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 42px;
    padding: 9px 10px;
    border: 1px solid rgba(6, 55, 111, .18);
    border-radius: 10px;
    background: #fff;
    color: #06376f;
    font-family: inherit;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
    cursor: pointer;
}

.bubi-card-tool:hover,
.bubi-card-tool:focus-visible {
    border-color: #a8cd00;
    background: #f8fbf3;
}

.bubi-card-tool--favorite.is-active {
    border-color: #a8cd00;
    background: #eff7d9;
}

.bubi-card-tool--favorite.is-active span {
    color: #7b9900;
}

.bubi-seminar-card.is-bubi-favorite {
    border-color: rgba(168, 205, 0, .72) !important;
}

.bubi-seminar-card.is-bubi-favorite-hidden {
    display: none !important;
}

.bubi-favorites-empty {
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin-bottom: 18px;
    padding: 22px 18px;
    border-radius: 18px;
    background: #f8fbf3;
    color: var(--bubi-text);
    text-align: center;
}

.bubi-favorites-empty[hidden] { display: none !important; }
.bubi-favorites-empty strong { color: var(--bubi-blue); font-size: 18px; }
.bubi-favorites-empty span { font-size: 14px; }

@media (max-width: 680px) {
    .bubi-app-tools {
        align-items: stretch;
        flex-direction: column;
        padding: 15px;
    }

    .bubi-favorites-toggle {
        width: 100%;
    }

    .bubi-seminar-card__app-tools {
        grid-template-columns: minmax(0, 1fr);
    }

    .bubi-card-tool {
        width: 100%;
        min-height: 46px;
        font-size: 13px;
    }
}

/* Favoriten-PDF – App-Version 1.7.1 */
.bubi-app-tools__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 9px;
}

.bubi-favorites-pdf {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 44px;
    padding: 10px 15px;
    border: 1px solid #06376f;
    border-radius: 12px;
    background: #06376f;
    color: #fff;
    font: inherit;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
}

.bubi-favorites-pdf:hover,
.bubi-favorites-pdf:focus-visible {
    border-color: #0a4b91;
    background: #0a4b91;
}

.bubi-favorites-pdf:disabled {
    cursor: default;
    opacity: .45;
}

@media (max-width: 680px) {
    .bubi-app-tools__actions {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        width: 100%;
    }

    .bubi-favorites-pdf,
    .bubi-favorites-toggle {
        width: 100%;
    }
}


/* Seminar teilen – App-Version 1.8.0 */
.bubi-card-tool--share span {
    font-size: 15px;
    line-height: 1;
}


/* Automatische Aktualisierung – App-Version 1.8.1 */
.bubi-update-notice {
    position: fixed;
    right: 16px;
    bottom: calc(16px + env(safe-area-inset-bottom, 0px));
    left: 16px;
    z-index: 100000;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    width: min(560px, calc(100% - 32px));
    margin: 0 auto;
    padding: 14px 15px;
    border: 1px solid rgba(168, 205, 0, .55);
    border-radius: 16px;
    background: #06376f;
    color: #fff;
    box-shadow: 0 18px 44px rgba(6, 55, 111, .28);
}
.bubi-update-notice div { min-width: 0; }
.bubi-update-notice strong,
.bubi-update-notice span { display: block; }
.bubi-update-notice strong { font-size: 14px; font-weight: 800; }
.bubi-update-notice span { margin-top: 3px; color: rgba(255,255,255,.84); font-size: 12.5px; line-height: 1.4; }
.bubi-update-notice button {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    padding: 0;
    border: 0;
    border-radius: 11px;
    background: #a8cd00;
    color: #173600;
    font: inherit;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
}


/* =========================================================
   TEST-APP: Aktuelle Hinweise / News
   ========================================================= */
.bubi-app-news{
    margin:0 0 22px;
    padding:20px;
    border:1px solid rgba(6,55,111,.10);
    border-radius:22px;
    background:#fff;
    box-shadow:0 10px 30px rgba(6,55,111,.07);
}
.bubi-app-news__head{margin:0 0 14px}
.bubi-app-news__kicker{margin:0 0 4px;color:#78a000;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.bubi-app-news__head h2{margin:0;color:#06376f;font-size:22px;line-height:1.2}
.bubi-app-news__list{display:grid;gap:12px}
.bubi-app-news__item{padding:16px;border:1px solid #dbe4ec;border-radius:16px;background:#f7fafc}
.bubi-app-news__item--important{border-color:#f0c977;background:#fff8e8}
.bubi-app-news__item--new{border-color:#d8e9a6;background:#f8fbf3}
.bubi-app-news__badge{display:inline-flex;margin:0 0 8px;padding:5px 9px;border-radius:999px;background:#eef5fb;color:#06376f;font-size:11px;font-weight:800;line-height:1}
.bubi-app-news__item--important .bubi-app-news__badge{background:#ffe6a8;color:#6a4a00}
.bubi-app-news__item--new .bubi-app-news__badge{background:rgba(168,205,0,.18);color:#4f6b00}
.bubi-app-news__item h3{margin:0;color:#06376f;font-size:17px;line-height:1.3}
.bubi-app-news__item p{margin:8px 0 0;color:#314962;font-size:14px;line-height:1.55}
.bubi-app-news__item a{display:inline-flex;margin-top:10px;color:#06376f;font-size:13px;font-weight:800;text-decoration:none}
.bubi-app-news__item a:hover,.bubi-app-news__item a:focus-visible{color:#78a000}
@media(max-width:680px){.bubi-app-news{padding:16px;border-radius:18px}.bubi-app-news__head h2{font-size:20px}.bubi-app-news__item{padding:14px}}

.bubi-test-environment-banner{
    display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;
    margin:0 0 16px;padding:10px 14px;border-radius:14px;
    background:#fff3cd;border:1px solid #e7c45d;color:#5c4700;
    font-size:12.5px;line-height:1.4;text-align:center
}
.bubi-test-environment-banner strong{font-weight:900;letter-spacing:.08em}
.bubi-test-environment-banner span{font-weight:650}

/* =========================================================
   TEST-APP: Push-Benachrichtigungen
   ========================================================= */
.bubi-app-push{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:18px;
    align-items:center;
    margin:0 0 22px;
    padding:20px;
    border:1px solid #dbe4ec;
    border-radius:22px;
    background:#eef5fb;
}
.bubi-app-push__kicker{margin:0 0 4px;color:#78a000;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.bubi-app-push h2{margin:0;color:#06376f;font-size:21px;line-height:1.2}
.bubi-app-push p{margin:8px 0 0;color:#314962;font-size:14px;line-height:1.55}
.bubi-app-push__note{font-size:12.5px!important;color:#536579!important}
.bubi-app-push__actions{display:grid;gap:8px;min-width:230px}
.bubi-app-push__button{min-height:46px;padding:10px 15px;border:1px solid #06376f;border-radius:12px;background:#06376f;color:#fff;font:inherit;font-size:13px;font-weight:800;cursor:pointer}
.bubi-app-push__button--secondary{background:#fff;color:#06376f}
.bubi-app-push__status{display:block;color:#536579;font-size:12px;line-height:1.4;text-align:center}
.bubi-app-push__status[data-state="active"]{color:#4f6b00;font-weight:800}
.bubi-app-push__status[data-state="error"],.bubi-app-push__status[data-state="denied"]{color:#8a2f22}
@media(max-width:680px){.bubi-app-push{grid-template-columns:1fr;padding:16px;border-radius:18px}.bubi-app-push h2{font-size:19px}.bubi-app-push__actions{min-width:0}.bubi-app-push__button{width:100%}}


/* =========================================================
   TEST-APP 0.3.0: Anfahrt & Direktkontakt
   ========================================================= */
.bubi-card-tool--route{
    border-color:#d8e9a6;
    background:#f8fbf3;
    color:#06376f;
}
.bubi-card-tool--route:hover,
.bubi-card-tool--route:focus-visible{
    border-color:#a8cd00;
    background:#eef7d2;
}
.bubi-card-tool--route span{font-size:16px;line-height:1}

.bubi-app-contact{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(280px,.7fr);
    gap:20px;
    align-items:center;
    margin:24px 0 20px;
    padding:22px;
    border:1px solid #dbe4ec;
    border-radius:22px;
    background:#fff;
    box-shadow:0 10px 30px rgba(6,55,111,.06);
}
.bubi-app-contact__kicker{margin:0 0 5px;color:#78a000;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.bubi-app-contact h2{margin:0;color:#06376f;font-size:21px;line-height:1.2}
.bubi-app-contact p{margin:8px 0 0;color:#314962;font-size:14px;line-height:1.55}
.bubi-app-contact__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.bubi-app-contact__button{
    display:inline-flex;align-items:center;justify-content:center;gap:7px;
    min-height:46px;padding:10px 13px;border:1px solid #06376f;border-radius:12px;
    background:#06376f;color:#fff!important;font-size:13px;font-weight:800;line-height:1.25;
    text-align:center;text-decoration:none!important;
}
.bubi-app-contact__button--secondary{background:#fff;color:#06376f!important}
.bubi-app-contact__button:last-child{grid-column:1/-1}
.bubi-app-contact__button:hover,.bubi-app-contact__button:focus-visible{border-color:#a8cd00;background:#f8fbf3;color:#06376f!important}
@media(max-width:760px){
    .bubi-app-contact{grid-template-columns:1fr;padding:17px;border-radius:18px}
    .bubi-app-contact h2{font-size:19px}
}
@media(max-width:440px){
    .bubi-app-contact__actions{grid-template-columns:1fr}
    .bubi-app-contact__button:last-child{grid-column:auto}
}

/* ================================================================
   TEST 0.4.0 – Startseite, App-Navigation, persönlicher Bereich,
   Buchungen und Community
   ================================================================ */
.bubi-app-nav{
  position:sticky;top:0;z-index:80;display:flex;gap:8px;overflow-x:auto;
  width:min(100%,1408px);margin:0 auto 22px;padding:10px 12px;
  border:1px solid rgba(6,55,111,.1);border-radius:18px;background:rgba(255,255,255,.96);
  box-shadow:0 12px 32px rgba(6,55,111,.09);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)
}
.bubi-app-nav button{flex:0 0 auto;min-height:42px;padding:9px 14px;border:1px solid #dbe4ec;border-radius:11px;background:#fff;color:#06376f;font:inherit;font-size:13px;font-weight:800;cursor:pointer}
.bubi-app-nav button.is-active{border-color:#06376f;background:#06376f;color:#fff}
.bubi-app-home,.bubi-app-account,.bubi-app-community{width:min(100%,1408px);margin:0 auto 28px;padding:clamp(18px,3vw,34px);border:1px solid #dbe4ec;border-radius:26px;background:#fff;box-shadow:0 18px 48px rgba(6,55,111,.08)}
.bubi-app-home__hero{max-width:760px;margin-bottom:24px}.bubi-app-home__kicker,.bubi-section-head>p{margin:0 0 7px;color:#78a000;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.bubi-app-home h2,.bubi-app-account h2,.bubi-app-community h2{margin:0;color:#06376f;font-size:clamp(24px,4vw,38px);line-height:1.1}.bubi-app-home__hero>p:last-child,.bubi-section-head>span{display:block;margin-top:10px;color:#536579;line-height:1.55}
.bubi-app-home__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.bubi-home-card{display:grid;grid-template-columns:48px minmax(0,1fr);grid-template-rows:auto auto;column-gap:13px;align-items:center;min-height:112px;padding:18px;border:1px solid #dbe4ec;border-radius:18px;background:#fff;color:#06376f;text-align:left;font:inherit;cursor:pointer;box-shadow:0 7px 22px rgba(6,55,111,.05)}
.bubi-home-card:hover,.bubi-home-card:focus-visible{border-color:#a8cd00;background:#f8fbf3}.bubi-home-card>span{grid-row:1/3;display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#eef5fb;color:#06376f;font-size:23px;font-weight:800}.bubi-home-card strong{font-size:16px;line-height:1.25}.bubi-home-card small{margin-top:4px;color:#536579;font-size:12.5px;line-height:1.35}
.bubi-section-head{margin-bottom:22px}.bubi-account-welcome{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:16px 18px;border-radius:16px;background:#f8fbf3}.bubi-account-welcome strong{color:#06376f;font-size:17px}.bubi-account-welcome span{flex:1 1 220px;color:#536579;font-size:13px}.bubi-account-welcome button,.bubi-account-form button,.bubi-community-form button,.bubi-community-login-note button,.bubi-community-filter button,.bubi-comment-form button{min-height:42px;padding:9px 14px;border:0;border-radius:10px;background:#06376f;color:#fff;font:inherit;font-size:13px;font-weight:800;cursor:pointer}
.bubi-account-auth{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.bubi-account-form{display:grid;gap:13px;padding:20px;border:1px solid #dbe4ec;border-radius:18px;background:#f8fafc}.bubi-account-form h3,.bubi-bookings-panel h3{margin:0;color:#06376f;font-size:19px}.bubi-account-form label,.bubi-community-form label,.bubi-community-filter label{display:grid;gap:7px;color:#06376f;font-size:12.5px;font-weight:800}.bubi-account-form input,.bubi-community-form input,.bubi-community-form textarea,.bubi-community-form select,.bubi-community-filter select,.bubi-comment-form textarea{width:100%;min-height:46px;padding:10px 12px;border:1px solid #dbe4ec;border-radius:10px;background:#fff;color:#26384d;font:inherit;font-size:14px}.bubi-account-form .bubi-check{grid-template-columns:22px 1fr;align-items:start}.bubi-account-form .bubi-check input{width:18px;min-height:18px}.bubi-form-status{min-height:20px;margin:0;color:#536579;font-size:12.5px;line-height:1.4}
.bubi-bookings-panel{margin-top:20px}.bubi-bookings-panel>div:first-child p{max-width:780px;color:#536579;line-height:1.55}.bubi-bookings-list{display:grid;gap:10px;margin-top:16px}.bubi-booking-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 16px;border:1px solid #dbe4ec;border-radius:14px;background:#fff}.bubi-booking-card strong{display:block;color:#06376f}.bubi-booking-card span,.bubi-booking-card small{display:block;margin-top:4px;color:#536579;font-size:12.5px}.bubi-booking-card__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.bubi-booking-card__actions a,.bubi-booking-card__actions button{min-height:38px;padding:8px 11px;border:1px solid #dbe4ec;border-radius:9px;background:#fff;color:#06376f;font:inherit;font-size:12px;font-weight:800;text-decoration:none;cursor:pointer}.bubi-bookings-empty{padding:20px;border-radius:14px;background:#eef5fb}.bubi-bookings-empty strong,.bubi-bookings-empty span{display:block}.bubi-bookings-empty strong{color:#06376f}.bubi-bookings-empty span{margin-top:5px;color:#536579;font-size:13px}
.bubi-community-form{display:grid;gap:13px;margin-bottom:20px;padding:20px;border:1px solid #dbe4ec;border-radius:18px;background:#f8fafc}.bubi-community-form__row{display:grid;grid-template-columns:minmax(180px,.42fr) minmax(0,1fr);gap:13px}.bubi-community-form textarea{min-height:110px;resize:vertical}.bubi-community-login-note{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px;padding:16px;border-radius:15px;background:#eef5fb}.bubi-community-login-note strong{color:#06376f}.bubi-community-login-note span{flex:1 1 280px;color:#536579;font-size:13px}.bubi-community-filter{display:flex;align-items:end;gap:10px;margin-bottom:16px}.bubi-community-filter label{flex:1 1 auto}.bubi-community-feed{display:grid;gap:14px}.bubi-community-post{padding:18px;border:1px solid #dbe4ec;border-radius:17px;background:#fff;box-shadow:0 7px 22px rgba(6,55,111,.04)}.bubi-community-post__meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:#718196;font-size:11.5px}.bubi-community-badge{display:inline-flex;padding:5px 8px;border-radius:999px;background:#f8fbf3;color:#06376f;font-weight:800}.bubi-community-post h3{margin:11px 0 0;color:#06376f;font-size:18px}.bubi-community-post>p{white-space:pre-wrap;margin:8px 0 0;color:#314962;line-height:1.55}.bubi-community-post>a{display:inline-block;margin-top:9px;color:#06376f;font-weight:800;text-decoration:none}.bubi-community-post__actions{display:flex;gap:8px;margin-top:13px}.bubi-community-post__actions button,.bubi-community-comment button{min-height:34px;padding:7px 10px;border:1px solid #dbe4ec;border-radius:8px;background:#fff;color:#06376f;font:inherit;font-size:11.5px;font-weight:800;cursor:pointer}.bubi-community-comments{display:grid;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid #dbe4ec}.bubi-community-comment{padding:12px 13px;border-radius:12px;background:#f8fafc}.bubi-community-comment>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px}.bubi-community-comment strong{color:#06376f;font-size:12.5px}.bubi-community-comment span{color:#718196;font-size:11px}.bubi-community-comment p{white-space:pre-wrap;margin:7px 0;color:#314962;font-size:13px;line-height:1.5}.bubi-comment-form{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}.bubi-comment-form textarea{min-height:66px}.bubi-comment-form span{grid-column:1/-1;color:#536579;font-size:12px}.bubi-community-empty{padding:22px;border-radius:15px;background:#eef5fb}.bubi-community-empty strong,.bubi-community-empty span{display:block}.bubi-community-empty strong{color:#06376f}.bubi-community-empty span{margin-top:5px;color:#536579;font-size:13px}
.bubi-card-tool--booking.is-active{border-color:#a8cd00!important;background:#f8fbf3!important;color:#06376f!important}
@media(max-width:900px){.bubi-app-home__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bubi-account-auth{grid-template-columns:1fr}}
@media(max-width:680px){.bubi-app-nav{margin-bottom:14px;border-radius:14px}.bubi-app-nav button{min-height:40px;padding:8px 11px;font-size:12px}.bubi-app-home,.bubi-app-account,.bubi-app-community{padding:17px 14px;border-radius:20px}.bubi-app-home__grid{grid-template-columns:1fr;gap:9px}.bubi-home-card{min-height:94px;padding:14px}.bubi-community-form__row{grid-template-columns:1fr}.bubi-community-filter{align-items:stretch;flex-direction:column}.bubi-community-filter button{width:100%}.bubi-booking-card{align-items:flex-start;flex-direction:column}.bubi-booking-card__actions{width:100%;justify-content:stretch}.bubi-booking-card__actions a,.bubi-booking-card__actions button{flex:1 1 120px;text-align:center}.bubi-comment-form{grid-template-columns:1fr}.bubi-comment-form button{width:100%}}

/* TEST 0.4.1 – Ansichtswechsel zuverlässig ausblenden.
 * Das native hidden-Attribut wurde zuvor von den Abschnitts-Styles
 * überschrieben. Dadurch wechselte zwar die aktive Navigation, die
 * Startseite blieb aber sichtbar. */
#bubi-seminar-app [data-bubi-view-section][hidden] {
    display: none !important;
}

/* TEST 0.4.2 – Kontowiederherstellung */
.bubi-account-reset {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 46px;
    margin-top: 10px;
    padding: 10px 14px;
    border: 1px solid #dbe4ec;
    border-radius: 12px;
    background: #fff;
    color: #06376f;
    font: inherit;
    font-weight: 800;
    cursor: pointer;
}
.bubi-account-reset:hover,
.bubi-account-reset:focus-visible {
    border-color: #a8cd00;
    background: #f8fbf3;
}

/* Community Feed 0.5.0 */
.bubi-app-community{padding:0!important;background:#f6f8fb!important;overflow:hidden}
.bubi-community-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:24px 22px 16px;background:#fff;border-bottom:1px solid #e4eaf0}
.bubi-community-top .bubi-section-head{margin:0}
.bubi-community-compose-toggle{flex:0 0 auto;min-height:44px;padding:10px 15px;border:0;border-radius:12px;background:#06376f;color:#fff;font:inherit;font-size:13px;font-weight:800;cursor:pointer}
.bubi-community-form{margin:16px 18px 0!important;background:#fff!important;box-shadow:0 10px 28px rgba(6,55,111,.07)}
.bubi-community-form__actions{display:flex;gap:9px;flex-wrap:wrap}.bubi-community-form__cancel{background:#fff!important;color:#06376f!important;border:1px solid #dbe4ec!important}
.bubi-community-login-note{margin:16px 18px 0!important}
.bubi-community-tabs{display:flex;gap:8px;overflow-x:auto;padding:15px 18px 12px;background:#fff;border-bottom:1px solid #e4eaf0;scrollbar-width:none}.bubi-community-tabs::-webkit-scrollbar{display:none}
.bubi-community-tabs button{flex:0 0 auto;min-height:38px;padding:8px 12px;border:1px solid #dbe4ec;border-radius:999px;background:#fff;color:#06376f;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.bubi-community-tabs button.is-active{border-color:#06376f;background:#06376f;color:#fff}
.bubi-community-feed{display:grid;gap:14px;padding:16px 18px 22px}
.bubi-community-post{padding:0!important;overflow:hidden;border:1px solid #dfe6ed!important;border-radius:18px!important;background:#fff!important;box-shadow:0 8px 26px rgba(6,55,111,.055)!important}
.bubi-community-post__head{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:11px;align-items:center;padding:16px 16px 8px}.bubi-community-avatar{width:48px;height:48px;border-radius:14px;overflow:hidden;background:#eef5fb;color:#06376f;display:grid;place-items:center;font-size:18px;font-weight:900}.bubi-community-avatar img{width:100%;height:100%;object-fit:cover}.bubi-community-author{min-width:0}.bubi-community-author strong{display:block;color:#26384d;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bubi-community-author span{display:block;margin-top:3px;color:#94a0b1;font-size:11.5px}.bubi-community-more{width:36px;height:36px;border:0;background:transparent;color:#06376f;font-size:22px;line-height:1;cursor:pointer}
.bubi-community-post__body{padding:6px 16px 14px}.bubi-community-badge{display:inline-flex;margin-bottom:8px;padding:5px 9px;border-radius:999px;background:#f3f8dd;color:#547500;font-size:10.5px;font-weight:900;text-transform:uppercase;letter-spacing:.03em}.bubi-community-post h3{margin:0!important;color:#26384d!important;font-size:20px!important;line-height:1.25}.bubi-community-post__body>p{white-space:pre-wrap;margin:12px 0 0;color:#38495c;font-size:14.5px;line-height:1.65}.bubi-community-post__link{display:inline-flex;margin-top:12px;color:#06376f;font-size:13px;font-weight:800;text-decoration:none}
.bubi-community-post__actions{display:grid!important;grid-template-columns:1fr 1fr;margin:0!important;border-top:1px solid #edf1f4}.bubi-community-post__actions button{min-height:48px!important;border:0!important;border-radius:0!important;background:#fff!important;color:#314962!important;font-size:12.5px!important}.bubi-community-post__actions button+button{border-left:1px solid #edf1f4!important}.bubi-community-post__actions button.is-liked{color:#06376f!important;background:#f8fbf3!important}.bubi-community-post__actions .bubi-like-icon{font-size:18px;margin-right:5px;vertical-align:-2px}.bubi-community-post__actions .bubi-comment-icon{font-size:17px;margin-right:5px;vertical-align:-1px}
.bubi-community-comments{margin:0!important;padding:14px 16px 16px!important;border-top:1px solid #edf1f4!important;background:#fbfcfd}.bubi-community-comment{background:#fff!important;border:1px solid #e6ebf0}.bubi-community-comment p{margin-bottom:4px!important}.bubi-community-comment button{margin-top:5px}
.bubi-community-empty{margin:0}
@media(max-width:680px){.bubi-community-top{padding:18px 14px 12px}.bubi-community-top{display:block}.bubi-community-compose-toggle{width:100%;margin-top:14px}.bubi-community-form,.bubi-community-login-note{margin-right:12px!important;margin-left:12px!important}.bubi-community-tabs{padding-left:12px;padding-right:12px}.bubi-community-feed{padding:12px;gap:12px}.bubi-community-post__head{grid-template-columns:44px minmax(0,1fr) 32px;padding:14px 14px 7px}.bubi-community-avatar{width:44px;height:44px;border-radius:12px}.bubi-community-post__body{padding:6px 14px 13px}.bubi-community-post h3{font-size:18px!important}.bubi-community-post__body>p{font-size:14px}}

/* Community 0.6.0: Beitragsbilder */
.bubi-community-image-field{display:grid;gap:7px}.bubi-community-image-field>span{color:#718196;font-size:11.5px;font-weight:500}.bubi-community-image-field input[type=file]{width:100%;padding:10px;border:1px dashed #b9c8d7;border-radius:12px;background:#fff;color:#314962;font-size:13px}.bubi-community-image-preview{position:relative;overflow:hidden;border:1px solid #dbe4ec;border-radius:15px;background:#fff}.bubi-community-image-preview img{display:block;width:100%;max-height:360px;object-fit:contain;background:#eef5fb}.bubi-community-image-preview button{position:absolute;right:10px;bottom:10px;min-height:38px;padding:8px 12px;border:0;border-radius:10px;background:rgba(6,55,111,.92);color:#fff;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.bubi-community-post__image{display:block;width:calc(100% + 32px);margin:14px -16px -14px;padding:0;border:0;background:#eef5fb;cursor:zoom-in}.bubi-community-post__image img{display:block;width:100%;max-height:520px;object-fit:cover}.bubi-community-image-lightbox{position:fixed;inset:0;z-index:100500;display:grid;place-items:center;padding:24px;background:rgba(10,25,42,.88)}.bubi-community-image-lightbox img{display:block;max-width:min(100%,1000px);max-height:88vh;border-radius:14px;object-fit:contain;background:#fff}.bubi-community-image-lightbox button{position:fixed;top:max(16px,env(safe-area-inset-top));right:16px;width:46px;height:46px;border:0;border-radius:50%;background:#fff;color:#06376f;font-size:30px;line-height:1;cursor:pointer;box-shadow:0 8px 25px rgba(0,0,0,.2)}
@media(max-width:680px){.bubi-community-post__image{width:calc(100% + 28px);margin-left:-14px;margin-right:-14px}.bubi-community-post__image img{max-height:420px}.bubi-community-image-lightbox{padding:12px}}

/* ================================================================
   TEST 0.8.0 – freundlichere BUBI-Farbwelt
   Design-Update ohne Funktionsaenderungen.
   ================================================================ */
:root{
  --bubi-blue:#06376f;
  --bubi-blue-dark:#042a56;
  --bubi-lime:#a8cd00;
  --bubi-green-soft:#eef7d8;
  --bubi-blue-soft:#eaf4ff;
  --bubi-orange:#f4a340;
  --bubi-orange-soft:#fff1dc;
  --bubi-yellow-soft:#fff8d9;
  --bubi-purple-soft:#f1edff;
  --bubi-mint-soft:#e9f8ef;
  --bubi-bg:#f7faf8;
  --bubi-border:#dbe5e9;
  --bubi-shadow:0 12px 30px rgba(6,55,111,.08);
}

body.bubi-seminar-app-page{
  background:
    radial-gradient(circle at 8% 4%, rgba(168,205,0,.10), transparent 27rem),
    radial-gradient(circle at 92% 14%, rgba(75,151,220,.11), transparent 28rem),
    linear-gradient(180deg,#fbfdfb 0%,#f4f9fb 54%,#fbfcf8 100%);
}

.bubi-app-shell{position:relative}
.bubi-app-header{
  margin-bottom:12px;padding:15px 16px;border:1px solid rgba(6,55,111,.08);
  border-radius:24px;background:rgba(255,255,255,.88);box-shadow:var(--bubi-shadow)
}
.bubi-app-mark{border:0;background:linear-gradient(145deg,#fff,#f3f9e8)}
.bubi-app-intro{
  border:1px solid rgba(168,205,0,.22);
  background:linear-gradient(135deg,var(--bubi-green-soft),#f8fbef 58%,var(--bubi-blue-soft));
  color:#29435d
}

.bubi-app-nav{
  border-color:rgba(6,55,111,.08);
  background:rgba(255,255,255,.94)
}
.bubi-app-nav button{
  border:0;background:#f4f7fa;box-shadow:inset 0 0 0 1px rgba(6,55,111,.08);
  transition:transform .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease
}
.bubi-app-nav button:nth-child(1){background:var(--bubi-green-soft)}
.bubi-app-nav button:nth-child(2){background:var(--bubi-blue-soft)}
.bubi-app-nav button:nth-child(3){background:var(--bubi-yellow-soft)}
.bubi-app-nav button:nth-child(4){background:var(--bubi-orange-soft)}
.bubi-app-nav button:nth-child(5){background:var(--bubi-purple-soft)}
.bubi-app-nav button:nth-child(6){background:var(--bubi-mint-soft)}
.bubi-app-nav button:nth-child(7){background:#edf3fb}
.bubi-app-nav button.is-active{background:var(--bubi-blue);color:#fff;box-shadow:0 7px 18px rgba(6,55,111,.18)}
.bubi-app-nav button:hover,.bubi-app-nav button:focus-visible{transform:translateY(-1px)}

.bubi-app-home,.bubi-app-account,.bubi-app-community{
  border-color:rgba(6,55,111,.08);
  background:rgba(255,255,255,.90);
  box-shadow:0 18px 48px rgba(6,55,111,.07)
}

.bubi-app-home__hero{
  position:relative;padding:18px 20px;border-radius:22px;
  background:linear-gradient(110deg,var(--bubi-blue-soft),#fff 45%,var(--bubi-green-soft));
  overflow:hidden
}
.bubi-app-home__hero:after{
  content:"";position:absolute;right:-34px;top:-42px;width:150px;height:150px;border-radius:50%;
  background:rgba(244,163,64,.12);pointer-events:none
}

.bubi-app-home__grid{gap:15px}
.bubi-home-card{
  position:relative;overflow:hidden;border:1px solid rgba(6,55,111,.08);
  box-shadow:0 9px 24px rgba(6,55,111,.06);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease
}
.bubi-home-card:after{
  content:"";position:absolute;right:-28px;bottom:-36px;width:94px;height:94px;border-radius:50%;opacity:.46;pointer-events:none
}
.bubi-home-card:nth-child(1){background:linear-gradient(135deg,#f7fced,var(--bubi-green-soft))}
.bubi-home-card:nth-child(1)>span{background:#dff0aa;color:#587500}.bubi-home-card:nth-child(1):after{background:#b9dc16}
.bubi-home-card:nth-child(2){background:linear-gradient(135deg,#f8fbff,var(--bubi-blue-soft))}
.bubi-home-card:nth-child(2)>span{background:#dbeeff;color:#155b95}.bubi-home-card:nth-child(2):after{background:#76b8e8}
.bubi-home-card:nth-child(3){background:linear-gradient(135deg,#fffdf4,var(--bubi-yellow-soft))}
.bubi-home-card:nth-child(3)>span{background:#fff0ad;color:#9a7100}.bubi-home-card:nth-child(3):after{background:#ffd45e}
.bubi-home-card:nth-child(4){background:linear-gradient(135deg,#fffaf2,var(--bubi-orange-soft))}
.bubi-home-card:nth-child(4)>span{background:#ffe0b3;color:#a85d00}.bubi-home-card:nth-child(4):after{background:var(--bubi-orange)}
.bubi-home-card:nth-child(5){background:linear-gradient(135deg,#fbfaff,var(--bubi-purple-soft))}
.bubi-home-card:nth-child(5)>span{background:#e5dcff;color:#644ba0}.bubi-home-card:nth-child(5):after{background:#a894df}
.bubi-home-card:nth-child(6){background:linear-gradient(135deg,#f8fdf9,var(--bubi-mint-soft))}
.bubi-home-card:nth-child(6)>span{background:#d8f2e1;color:#19704b}.bubi-home-card:nth-child(6):after{background:#68bd8f}
.bubi-home-card:hover,.bubi-home-card:focus-visible{
  transform:translateY(-2px);border-color:rgba(6,55,111,.16);background-color:inherit;
  box-shadow:0 14px 30px rgba(6,55,111,.10)
}
.bubi-home-card strong{position:relative;z-index:1;color:var(--bubi-blue)}
.bubi-home-card small{position:relative;z-index:1;color:#536579}
.bubi-home-card>span{position:relative;z-index:1;box-shadow:inset 0 0 0 1px rgba(6,55,111,.04)}

.bubi-section-head{
  padding:16px 18px;border-radius:20px;background:linear-gradient(110deg,var(--bubi-blue-soft),#fff 55%,var(--bubi-green-soft));
}
.bubi-account-welcome{background:linear-gradient(120deg,var(--bubi-green-soft),#fff)}
.bubi-account-form:nth-child(1){background:linear-gradient(145deg,#fbfdff,var(--bubi-blue-soft))}
.bubi-account-form:nth-child(2){background:linear-gradient(145deg,#fffdf9,var(--bubi-orange-soft))}
.bubi-bookings-empty{background:linear-gradient(120deg,var(--bubi-blue-soft),var(--bubi-green-soft))}

.bubi-app-news{border-color:rgba(6,55,111,.08);background:linear-gradient(145deg,#fff,var(--bubi-yellow-soft))}
.bubi-app-news__item{background:#fff}
.bubi-app-news__item--important{background:var(--bubi-orange-soft);border-color:#f4c47e}
.bubi-app-news__item--new{background:var(--bubi-green-soft);border-color:#cfe49b}

.bubi-app-push{background:linear-gradient(135deg,var(--bubi-blue-soft),#fff,var(--bubi-purple-soft))}
.bubi-app-contact{background:linear-gradient(135deg,#fff,var(--bubi-mint-soft));border-color:rgba(6,55,111,.08)}

.bubi-community-form{background:linear-gradient(135deg,#fff,var(--bubi-orange-soft))}
.bubi-community-login-note{background:linear-gradient(120deg,var(--bubi-blue-soft),#fff)}
.bubi-community-post:nth-child(4n+1){background:linear-gradient(145deg,#fff,var(--bubi-green-soft))}
.bubi-community-post:nth-child(4n+2){background:linear-gradient(145deg,#fff,var(--bubi-blue-soft))}
.bubi-community-post:nth-child(4n+3){background:linear-gradient(145deg,#fff,var(--bubi-orange-soft))}
.bubi-community-post:nth-child(4n+4){background:linear-gradient(145deg,#fff,var(--bubi-purple-soft))}
.bubi-community-badge{background:#fff;border:1px solid rgba(6,55,111,.08)}

.bubi-app-filter{background:linear-gradient(145deg,#fff,var(--bubi-blue-soft));border-color:rgba(6,55,111,.08)}
.bubi-app-tools{background:linear-gradient(120deg,var(--bubi-yellow-soft),#fff)}
.bubi-favorites-empty{background:linear-gradient(120deg,var(--bubi-yellow-soft),var(--bubi-blue-soft))}

.bubi-install-button,.bubi-contact-button,.bubi-dialog-ok,
.bubi-account-welcome button,.bubi-account-form button,.bubi-community-form button,
.bubi-community-login-note button,.bubi-community-filter button,.bubi-comment-form button{
  box-shadow:0 7px 17px rgba(6,55,111,.15)
}

@media(max-width:680px){
  .bubi-app-header{padding:13px 14px;border-radius:20px}
  .bubi-app-home__hero{padding:16px;border-radius:18px}
  .bubi-home-card{min-height:100px;border-radius:19px}
  .bubi-home-card>span{width:52px;height:52px;border-radius:16px}
}


/* ================================================================
   TEST 0.8.1 – Website-nahe Farbgestaltung ohne Halbkreise,
   freundlichere Icon-Sprache und ruhigerer Startbildschirm.
   ================================================================ */
:root{
  --bubi-site-blue:#eaf3fb;
  --bubi-site-blue-deep:#06376f;
  --bubi-card-border:rgba(6,55,111,.10);
  --bubi-card-shadow:0 12px 32px rgba(6,55,111,.07);
}
body.bubi-seminar-app-page{
  background:
    linear-gradient(180deg,#f7fbff 0%,#f4f9fd 28%,#f8fbf8 100%) !important;
}
.bubi-app-header{
  background:rgba(255,255,255,.94)!important;
  border-color:var(--bubi-card-border)!important;
  box-shadow:var(--bubi-card-shadow)!important;
}
.bubi-app-mark{
  background:linear-gradient(180deg,#f8fbf3 0%,#eef6e0 100%)!important;
}
.bubi-app-intro{
  border:1px solid rgba(168,205,0,.20)!important;
  background:linear-gradient(135deg,#eef6ff 0%,#f6fbff 58%,#f7fbf2 100%)!important;
}
.bubi-app-nav{
  gap:12px!important;
  padding:18px 0 14px!important;
  margin-bottom:20px!important;
  background:transparent!important;
  border:none!important;
  box-shadow:none!important;
}
.bubi-app-nav button{
  border:1px solid rgba(6,55,111,.10)!important;
  border-radius:16px!important;
  box-shadow:none!important;
}
.bubi-app-home,
.bubi-app-account,
.bubi-app-community{
  border-color:var(--bubi-card-border)!important;
  background:rgba(255,255,255,.94)!important;
  box-shadow:var(--bubi-card-shadow)!important;
}
.bubi-app-home__hero{
  padding:20px 22px!important;
  border:1px solid rgba(6,55,111,.08);
  border-radius:24px!important;
  background:linear-gradient(135deg,#eff7ff 0%,#ffffff 56%,#f4faea 100%)!important;
}
.bubi-app-home__hero:after,
.bubi-home-card:after{
  display:none!important;
  content:none!important;
}
.bubi-app-home__kicker{
  color:#7ea400!important;
}
.bubi-app-home h2{
  color:#06376f!important;
}
.bubi-app-home__grid{
  gap:16px!important;
}
.bubi-home-card{
  min-height:118px!important;
  border:1px solid var(--bubi-card-border)!important;
  border-radius:22px!important;
  background:#fff!important;
  box-shadow:0 8px 24px rgba(6,55,111,.05)!important;
}
.bubi-home-card:hover,
.bubi-home-card:focus-visible{
  transform:translateY(-2px);
  border-color:rgba(6,55,111,.18)!important;
  box-shadow:0 14px 28px rgba(6,55,111,.10)!important;
}
.bubi-home-card:nth-child(1){background:linear-gradient(135deg,#f9fdea 0%,#eef7d8 100%)!important}
.bubi-home-card:nth-child(2){background:linear-gradient(135deg,#f8fbff 0%,#ebf4ff 100%)!important}
.bubi-home-card:nth-child(3){background:linear-gradient(135deg,#fffdf4 0%,#fff4d7 100%)!important}
.bubi-home-card:nth-child(4){background:linear-gradient(135deg,#fffaf3 0%,#ffe9c9 100%)!important}
.bubi-home-card:nth-child(5){background:linear-gradient(135deg,#fbf9ff 0%,#efe8ff 100%)!important}
.bubi-home-card:nth-child(6){background:linear-gradient(135deg,#f6fcf8 0%,#e2f4ea 100%)!important}
.bubi-home-card__icon{
  position:relative;
  display:grid!important;
  grid-row:1 / 3;
  place-items:center;
  width:56px!important;
  height:56px!important;
  border-radius:18px!important;
  box-shadow:inset 0 0 0 1px rgba(6,55,111,.05);
}
.bubi-home-card__icon::before{
  content:"";
  display:block;
  width:31px;
  height:31px;
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
}
.bubi-home-card__icon--search{background:#dcedaa!important}
.bubi-home-card__icon--favorites{background:#dbeeff!important}
.bubi-home-card__icon--account{background:#fff0ad!important}
.bubi-home-card__icon--community{background:#ffe0b3!important}
.bubi-home-card__icon--news{background:#e7dcff!important}
.bubi-home-card__icon--contact{background:#d8f2e1!important}
.bubi-home-card__icon--search::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23627d00' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='6'/%3E%3Cpath d='m20 20-4.2-4.2'/%3E%3C/svg%3E")}
.bubi-home-card__icon--favorites::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23155695' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 20-1.4-1.3C5.4 14 2 10.9 2 7.2 2 4.5 4.1 2.5 6.8 2.5c1.7 0 3.4.8 4.2 2.1.8-1.3 2.5-2.1 4.2-2.1C17.9 2.5 20 4.5 20 7.2c0 3.7-3.4 6.8-8.6 11.5L12 20Z'/%3E%3C/svg%3E")}
.bubi-home-card__icon--account::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239a7100' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='3.5'/%3E%3Cpath d='M5 20c.8-3.4 3.5-5 7-5s6.2 1.6 7 5'/%3E%3C/svg%3E")}
.bubi-home-card__icon--community::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a85d00' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='3'/%3E%3Ccircle cx='6' cy='10' r='2.3'/%3E%3Ccircle cx='18' cy='10' r='2.3'/%3E%3Cpath d='M4 19c.4-2.3 2.2-3.6 4.8-3.6'/%3E%3Cpath d='M15.2 15.4c2.6 0 4.4 1.3 4.8 3.6'/%3E%3Cpath d='M8.4 19c.5-2.5 2.4-4 3.6-4s3.1 1.5 3.6 4'/%3E%3C/svg%3E")}
.bubi-home-card__icon--news::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23644ba0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='4.5' width='16' height='15' rx='2'/%3E%3Cpath d='M8 8h8'/%3E%3Cpath d='M8 12h8'/%3E%3Cpath d='M8 16h5'/%3E%3Cpath d='M17.5 8v4'/%3E%3C/svg%3E")}
.bubi-home-card__icon--contact::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2319704b' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.6 4.5c.6-.6 1.6-.6 2.2 0l1.5 1.5c.5.5.6 1.3.2 1.9l-1.1 1.7c1 2.1 2.7 3.8 4.8 4.8l1.7-1.1c.7-.4 1.4-.3 1.9.2l1.5 1.5c.6.6.6 1.6 0 2.2l-1 1c-.8.8-2 1.1-3.1.8C9.5 19 5 14.5 3.8 8.8c-.2-1.1.1-2.3.8-3.1l1-1.2Z'/%3E%3C/svg%3E")}
.bubi-home-card strong{color:#06376f!important}
.bubi-home-card small{color:#536579!important}

.bubi-app-filter,
.bubi-app-news,
.bubi-app-push,
.bubi-app-contact,
.bubi-app-tools{
  border-color:var(--bubi-card-border)!important;
  box-shadow:var(--bubi-card-shadow)!important;
}

@media(max-width:680px){
  .bubi-app-nav{gap:10px!important;margin-bottom:18px!important}
  .bubi-app-nav button{min-height:46px!important;padding:10px 14px!important;border-radius:15px!important;font-size:13px!important}
  .bubi-app-home__hero{padding:18px 16px!important;border-radius:20px!important}
  .bubi-home-card{min-height:100px!important;padding:14px 16px!important;border-radius:20px!important}
  .bubi-home-card__icon{width:52px!important;height:52px!important;border-radius:16px!important}
  .bubi-home-card__icon::before{width:28px;height:28px}
}


/* TEST 0.8.3 – sichtbarer Versionsstand */
.bubi-app-version{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:10px auto 0!important;
  padding:6px 10px;
  border:1px solid rgba(6,55,111,.10);
  border-radius:999px;
  background:#eef5fb;
  color:#06376f!important;
  font-size:11px!important;
  font-weight:800;
  letter-spacing:.025em;
}

/* ================================================================
   TEST 0.9.0 – Einzelperson / Kita-Konto, Mitarbeitende & Zuordnung
   ================================================================ */
.bubi-account-type{margin:0;padding:0;border:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.bubi-account-type legend{grid-column:1/-1;margin:0 0 2px;color:#06376f;font-size:13px;font-weight:800}
.bubi-account-type label{position:relative;display:block!important;cursor:pointer}
.bubi-account-type input{position:absolute;opacity:0;pointer-events:none}
.bubi-account-type label>span{display:block;min-height:82px;padding:14px;border:1px solid #dbe4ec;border-radius:14px;background:#fff;color:#06376f}
.bubi-account-type label>span strong,.bubi-account-type label>span small{display:block}
.bubi-account-type label>span small{margin-top:5px;color:#607184;font-size:11.5px;line-height:1.35;font-weight:600}
.bubi-account-type input:checked+span{border-color:#a8cd00;background:#f5fadf;box-shadow:0 0 0 3px rgba(168,205,0,.12)}
.bubi-institution-registration{display:grid;gap:12px;padding:14px;border:1px solid rgba(168,205,0,.25);border-radius:14px;background:#f8fce9}
.bubi-institution-registration[hidden]{display:none!important}
.bubi-invite-note,.bubi-staff-member-note{display:grid;gap:5px;margin:0 0 18px;padding:15px 17px;border:1px solid rgba(6,55,111,.10);border-radius:16px;background:#eef6ff}
.bubi-invite-note strong,.bubi-staff-member-note strong{color:#06376f}
.bubi-invite-note span,.bubi-staff-member-note span{color:#536579;font-size:13px;line-height:1.5}
.bubi-institution-panel{margin-top:20px;padding:18px;border:1px solid rgba(6,55,111,.09);border-radius:20px;background:linear-gradient(145deg,#f8fbff,#f7fced);box-shadow:0 10px 26px rgba(6,55,111,.05)}
.bubi-institution-panel__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:16px;border-bottom:1px solid rgba(6,55,111,.08)}
.bubi-institution-panel__head h3{margin:2px 0 0;color:#06376f;font-size:20px}
.bubi-institution-panel__head p:not(.bubi-app-home__kicker){margin:5px 0 0;color:#607184;font-size:13px}
.bubi-institution-badge{display:inline-flex;align-items:center;min-height:34px;padding:7px 10px;border-radius:999px;background:#e9f3c9;color:#5a7800;font-size:11.5px;font-weight:800;white-space:nowrap}
.bubi-staff-manager{margin-top:18px}
.bubi-staff-manager h3{margin:0;color:#06376f;font-size:19px}.bubi-staff-manager>div:first-child p{margin:7px 0 0;color:#536579;font-size:13.5px;line-height:1.55}
.bubi-staff-form{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:10px;align-items:end;margin-top:16px;padding:14px;border:1px solid rgba(6,55,111,.08);border-radius:15px;background:#fff}
.bubi-staff-form label{display:grid;gap:6px;color:#06376f;font-size:12px;font-weight:800}.bubi-staff-form label span{font-weight:600;color:#718196}
.bubi-staff-form input{width:100%;min-height:44px;padding:9px 11px;border:1px solid #dbe4ec;border-radius:10px;background:#fff;color:#26384d;font:inherit;font-size:14px}
.bubi-staff-form button{min-height:44px;padding:9px 13px;border:0;border-radius:10px;background:#06376f;color:#fff;font:inherit;font-size:12.5px;font-weight:800;cursor:pointer}
.bubi-staff-form .bubi-form-status{grid-column:1/-1}
.bubi-staff-list{display:grid;gap:9px;margin-top:14px}
.bubi-staff-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 14px;border:1px solid #dbe4ec;border-radius:13px;background:#fff}
.bubi-staff-card strong,.bubi-staff-card span,.bubi-staff-card small{display:block}.bubi-staff-card strong{color:#06376f}.bubi-staff-card span{margin-top:3px;color:#536579;font-size:12.5px}.bubi-staff-card small{margin-top:4px;color:#718196;font-size:11.5px}
.bubi-staff-card__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.bubi-staff-card__actions button{min-height:36px;padding:7px 9px;border:1px solid #dbe4ec;border-radius:9px;background:#fff;color:#06376f;font:inherit;font-size:11.5px;font-weight:800;cursor:pointer}
.bubi-booking-assignment{display:grid!important;gap:5px!important;margin-top:10px!important;color:#06376f!important;font-size:11.5px!important;font-weight:800!important}
.bubi-booking-assignment select{width:min(100%,360px);min-height:40px;padding:7px 10px;border:1px solid #dbe4ec;border-radius:9px;background:#f8fbff;color:#26384d;font:inherit;font-size:12.5px}
.bubi-booking-assigned{margin-top:9px!important;padding:7px 9px;border-radius:9px;background:#f5fadf;color:#536d00!important;font-weight:700}
@media(max-width:860px){.bubi-staff-form{grid-template-columns:1fr 1fr}.bubi-staff-form button{grid-column:1/-1}}
@media(max-width:620px){.bubi-account-type{grid-template-columns:1fr}.bubi-institution-panel{padding:15px}.bubi-institution-panel__head{flex-direction:column}.bubi-staff-form{grid-template-columns:1fr}.bubi-staff-form button{grid-column:auto}.bubi-staff-card{align-items:flex-start;flex-direction:column}.bubi-staff-card__actions{width:100%;justify-content:stretch}.bubi-staff-card__actions button{flex:1}.bubi-booking-assignment select{width:100%}}
.bubi-institution-registration.is-institution{border-color:rgba(168,205,0,.55);background:#f4fadf}
.bubi-institution-registration label span{color:#718196;font-weight:600}


/* TEST 0.9.1 – geschützte Registrierung */
.bubi-registration-locked{
  border:1px solid rgba(6,55,111,.12)!important;
  background:linear-gradient(135deg,#f4f8fc 0%,#eef5fb 100%)!important;
}
.bubi-registration-locked h3{margin-bottom:10px!important;color:#06376f!important}
.bubi-registration-locked p{margin:0;color:#40556b;font-size:14px;line-height:1.55}
.bubi-registration-locked__hint{margin-top:9px!important;color:#687a8c!important;font-size:12.5px!important}
