
body.ibps-portal-host #header-outer,
body.ibps-portal-host #header-space,
body.ibps-portal-host .site-header,
body.ibps-portal-host header.site-header,
body.ibps-portal-host #sidebar,
body.ibps-portal-host .sidebar,
body.ibps-portal-host .widget-area,
body.ibps-portal-host .main-sidebar {
    display: none !important;
}

body.ibps-portal-host .container-wrap,
body.ibps-portal-host .main-content,
body.ibps-portal-host .content-inner,
body.ibps-portal-host .post-area {
    width: 100% !important;
    max-width: none !important;
    padding-top: 0 !important;
    margin: 0 !important;
}

.ibps-shell-header {
    background: #fff;
    border-bottom: 1px solid #dce3ea;
    position: relative;
    z-index: 50;
}

.ibps-shell-inner {
    max-width: 1120px;
    margin: 0 auto;
    padding: 1rem 1.5rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
}

.ibps-brand {
    text-decoration: none;
    color: #18344a;
    display: flex;
    flex-direction: column;
}

.ibps-brand span {
    font-size: .82rem;
}

.ibps-brand strong {
    font-size: 1.35rem;
}

.ibps-shell-nav a {
    text-decoration: none;
    font-weight: 700;
    color: #213648;
}

.ibps-shell-footer {
    border-top: 1px solid #dce3ea;
    background: #fff;
}

.ibps-shell-footer .ibps-shell-inner > div {
    display: flex;
    gap: 1rem;
}

.ibps-wrap,
.ibps-event-page {
    max-width: 1120px;
    margin: 0 auto;
    padding: 3rem 1.5rem;
}

.ibps-page-intro {
    margin-bottom: 2.5rem;
}

.ibps-page-intro h1,
.ibps-event-page h1 {
    font-size: clamp(2.4rem, 6vw, 4.8rem);
    line-height: 1.05;
    margin: .3rem 0 1rem;
}

.ibps-kicker {
    text-transform: uppercase;
    letter-spacing: .13em;
    font-size: .78rem;
    font-weight: 700;
    color: #53728a;
}

.ibps-calendar {
    margin: 2rem 0 4rem;
}

.ibps-cal-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1rem;
}

.ibps-cal-head h2 {
    margin: 0;
}

.ibps-cal-head a {
    width: 2.5rem;
    height: 2.5rem;
    border: 1px solid #b8c5d0;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-size: 1.5rem;
}

.ibps-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 1px;
    background: #dce3ea;
    border: 1px solid #dce3ea;
}

.ibps-weekdays {
    background: transparent;
    border: 0;
    text-align: center;
    font-weight: 700;
    margin-bottom: 1px;
}

.ibps-weekdays > div {
    padding: .55rem;
}

.ibps-day {
    min-height: 112px;
    background: #fff;
    padding: .55rem;
}

.ibps-day.empty {
    background: #f5f7f9;
}

.ibps-day.has-event {
    background: #f8fbfd;
}

.ibps-day-number {
    display: block;
    font-weight: 700;
}

.ibps-day > a {
    display: block;
    background: #eaf2f7;
    border-radius: .35rem;
    padding: .38rem;
    margin-top: .4rem;
    font-size: .8rem;
    line-height: 1.25;
    text-decoration: none;
}

.ibps-event-list h2 {
    margin-bottom: 1rem;
}

.ibps-card {
    display: flex;
    gap: 1.2rem;
    padding: 1.4rem 0;
    border-bottom: 1px solid #dce3ea;
}

.ibps-date {
    width: 82px;
    flex: 0 0 82px;
    text-align: center;
    border: 1px solid #dce3ea;
    border-radius: .7rem;
    padding: .7rem;
}

.ibps-date b,
.ibps-date span {
    display: block;
}

.ibps-card-main {
    flex: 1;
}

.ibps-card-main h3 {
    margin: 0 0 .35rem;
}

.ibps-event-meta {
    font-weight: 600;
    color: #435d70;
}

.ibps-card-actions {
    display: flex;
    gap: .8rem;
    flex-wrap: wrap;
    align-items: center;
}

.ibps-text-link {
    font-weight: 700;
    text-decoration: none;
}

.ibps-button {
    display: inline-block;
    padding: .8rem 1.05rem;
    border-radius: .5rem;
    background: #174d73;
    color: #fff !important;
    text-decoration: none;
    font-weight: 700;
    border: 0;
    cursor: pointer;
}

.ibps-button.small {
    padding: .55rem .8rem;
    font-size: .9rem;
}

.ibps-note {
    font-weight: 600;
    color: #6b6b6b;
}

.ibps-event-detail,
.ibps-registration-page {
    max-width: 850px;
}

.ibps-event-copy {
    font-size: 1.08rem;
    line-height: 1.7;
    margin: 2rem 0;
}

.ibps-back-link {
    display: inline-block;
    margin-bottom: 2rem;
    text-decoration: none;
    font-weight: 700;
}

.ibps-form {
    max-width: 760px;
    margin-top: 2rem;
}

.ibps-form label {
    display: block;
    font-weight: 600;
    margin-bottom: 1rem;
}

.ibps-form input,
.ibps-form textarea,
.ibps-form select {
    width: 100%;
    padding: .78rem;
    border: 1px solid #b8c5d0;
    border-radius: .45rem;
    margin-top: .35rem;
    background: #fff;
}

.ibps-form textarea {
    min-height: 120px;
}

.ibps-two {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

.ibps-check {
    display: flex !important;
    gap: .6rem;
    align-items: flex-start;
}

.ibps-check input {
    width: auto !important;
    margin-top: .2rem;
}

.ibps-success,
.ibps-error {
    padding: 1rem;
    border-radius: .5rem;
    margin: 1rem 0;
}

.ibps-success {
    background: #e9f7ee;
}

.ibps-error {
    background: #fff0f0;
}

@media (max-width: 760px) {
    .ibps-shell-inner {
        align-items: flex-start;
    }

    .ibps-day {
        min-height: 76px;
        padding: .3rem;
    }

    .ibps-day > a {
        font-size: .68rem;
    }

    .ibps-two {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    .ibps-shell-inner {
        display: block;
    }

    .ibps-shell-nav {
        margin-top: .8rem;
    }

    .ibps-card {
        align-items: flex-start;
    }
}


/* Theme-Footer auf der Portal-Subdomain vollständig ausblenden.
   Nur der kompakte Portal-Footer bleibt sichtbar. */
body.ibps-portal-host #footer-outer,
body.ibps-portal-host #footer-widgets,
body.ibps-portal-host footer.site-footer,
body.ibps-portal-host .site-footer,
body.ibps-portal-host .footer,
body.ibps-portal-host .footer-outer,
body.ibps-portal-host [data-midnight="light"].container-wrap + footer {
    display: none !important;
}

body.ibps-portal-host .ibps-shell-footer {
    display: block !important;
    position: static !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 0 !important;
}

body.ibps-portal-host .ibps-shell-footer .ibps-shell-inner {
    padding-top: .85rem;
    padding-bottom: .85rem;
}

.ibps-shell-nav {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    flex-wrap: wrap;
}

.ibps-home-hero {
    max-width: 850px;
    margin-bottom: 2.5rem;
}

.ibps-home-hero h1 {
    font-size: clamp(2.8rem, 7vw, 5.5rem);
    line-height: 1;
    margin: .3rem 0 1rem;
}

.ibps-home-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.4rem;
}

.ibps-service-card {
    border: 1px solid #dce3ea;
    border-radius: 1rem;
    padding: 2rem;
    background: #fff;
}

.ibps-service-card h2 {
    margin-top: 0;
    font-size: 2rem;
}

.ibps-button.secondary {
    background: #eef4f8;
    color: #174d73 !important;
}

.ibps-project-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.2rem;
}

.ibps-project-card,
.ibps-empty-state {
    border: 1px solid #dce3ea;
    border-radius: .9rem;
    padding: 1.4rem;
    background: #fff;
}

.ibps-project-head {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
}

.ibps-project-head h2 {
    margin: 0;
}

.ibps-status {
    background: #eef4f8;
    border-radius: 999px;
    padding: .35rem .65rem;
    font-size: .78rem;
    font-weight: 700;
    white-space: nowrap;
}

.ibps-progress {
    height: .72rem;
    background: #e7edf2;
    border-radius: 999px;
    overflow: hidden;
    margin-top: 1rem;
}

.ibps-progress span {
    display: block;
    height: 100%;
    background: #174d73;
}

#loginform {
    max-width: 560px;
}

#loginform p {
    margin-bottom: 1rem;
}

#loginform input[type="text"],
#loginform input[type="password"] {
    width: 100%;
    padding: .8rem;
    border: 1px solid #b8c5d0;
    border-radius: .45rem;
}

#loginform .button {
    background: #174d73;
    color: #fff;
    border: 0;
    border-radius: .45rem;
    padding: .75rem 1rem;
    cursor: pointer;
}

@media (max-width: 760px) {
    .ibps-home-grid,
    .ibps-project-grid {
        grid-template-columns: 1fr;
    }
}
.ibps-action-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:22px}.ibps-workspace-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:28px 0}.ibps-project-card h3{margin-top:0}.ibps-editor-card{max-width:860px;margin:32px auto;padding:28px;background:#fff;border:1px solid #dfe7ef;border-radius:16px;box-shadow:0 8px 28px rgba(30,50,70,.07)}.ibps-editor-card form{display:grid;gap:16px}.ibps-editor-card label{display:grid;gap:7px;font-weight:600}.ibps-editor-card input:not([type=checkbox]),.ibps-editor-card textarea,.ibps-editor-card select{width:100%;padding:11px 12px;border:1px solid #b8c6d3;border-radius:9px;background:#fff;font:inherit}.ibps-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.ibps-success{max-width:1100px;margin:18px auto;padding:14px 18px;border:1px solid #9ecbb0;border-radius:10px;background:#eef9f2}.ibps-status{white-space:nowrap}@media(max-width:800px){.ibps-workspace-grid,.ibps-form-grid{grid-template-columns:1fr}}

/* Arbeitsbereich 3.0 */
.ibps-workspace{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:240px minmax(0,1fr);gap:28px;padding:38px 24px 70px}
.ibps-side{background:#f4f8fb;border:1px solid #dbe7ef;border-radius:16px;padding:18px;height:max-content;position:sticky;top:20px}
.ibps-side h2{font-size:1.15rem;margin:4px 10px 14px}.ibps-side a{display:block;padding:10px 12px;border-radius:9px;text-decoration:none;color:#17364b;margin:2px 0}.ibps-side a:hover,.ibps-side a.active{background:#dcecf5;font-weight:700}
.ibps-work-main{min-width:0}.ibps-work-main>h1{margin-top:0}.ibps-panel{background:#fff;border:1px solid #dce6ed;border-radius:16px;padding:24px;margin:26px 0;box-shadow:0 8px 24px rgba(24,55,75,.05)}
.ibps-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:22px 0}.ibps-stat-grid>a,.ibps-stat-grid>div{background:#fff;border:1px solid #dce6ed;border-radius:14px;padding:18px;text-decoration:none;color:#17364b}.ibps-stat-grid strong{display:block;font-size:1.8rem}.ibps-stat-grid span{display:block;margin-top:4px}
.ibps-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.ibps-list article{background:#fff;border:1px solid #dce6ed;border-radius:13px;padding:18px;margin:12px 0}.ibps-list article h3{margin:6px 0}
.ibps-table-wrap{overflow:auto;background:#fff;border:1px solid #dce6ed;border-radius:14px}.ibps-table{width:100%;border-collapse:collapse}.ibps-table th,.ibps-table td{text-align:left;padding:12px 14px;border-bottom:1px solid #e6edf2;white-space:nowrap}.ibps-table th{background:#f4f8fb}
.ibps-choice{border:1px solid #dce6ed;border-radius:12px;padding:15px;margin:18px 0}.ibps-choice legend{font-weight:700;padding:0 6px}.ibps-choice .ibps-check{margin:8px 0}
@media(max-width:900px){.ibps-workspace{grid-template-columns:1fr}.ibps-side{position:static;display:flex;gap:4px;overflow:auto}.ibps-side h2{display:none}.ibps-side a{white-space:nowrap}.ibps-stat-grid,.ibps-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.ibps-stat-grid,.ibps-card-grid{grid-template-columns:1fr}.ibps-workspace{padding:22px 12px 50px}}
