/* Hebamio Simple — Listen- und Detailansicht */
.frame-type-atomicplan_hebamiosimple .hbm-simple-app {
    --hbm-simple-border: 1px solid #e5e7eb;
    --hbm-simple-radius: 12px;
    --hbm-simple-shadow-hover: 0 8px 24px rgba(0, 0, 0, .08);
}
.frame-type-atomicplan_hebamiosimple .btn-link {
    background-color: var(--bs-primary);
}
/* Generisches Pfeil-Icon für alle Buttons (Zurück, Weiter, Anmelden) */
.frame-type-atomicplan_hebamiosimple .hbm-simple-arrow {
    width: 1em;
    height: 1em;
    flex: 0 0 auto;
}

/* "Zurück"-Buttons (Listen-Header und Detailansicht) */
.frame-type-atomicplan_hebamiosimple .hbm-simple-page-back,
.frame-type-atomicplan_hebamiosimple .hbm-simple-back {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    margin-bottom: 1rem;
    text-decoration: none;
}

.frame-type-atomicplan_hebamiosimple .hbm-simple-page-back:hover .hbm-simple-arrow,
.frame-type-atomicplan_hebamiosimple .hbm-simple-back:hover .hbm-simple-arrow {
    transform: translateX(-2px);
    transition: transform .15s ease;
}

/* Listen-Wrapper (Header + Karten) */
.frame-type-atomicplan_hebamiosimple .hbm-simple-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 16px;
}

/* Karte komplett klickbar */
.frame-type-atomicplan_hebamiosimple .hbm-simple-card {
    position: relative;
    border: var(--hbm-simple-border);
    border-radius: var(--hbm-simple-radius);
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: .5rem;
    background: #fff;
    transition: box-shadow .15s ease, transform .15s ease, border-color .15s ease;
}

.frame-type-atomicplan_hebamiosimple .hbm-simple-card:hover,
.frame-type-atomicplan_hebamiosimple .hbm-simple-card:focus-within {
    box-shadow: var(--hbm-simple-shadow-hover);
    border-color: #d1d5db;
}

.frame-type-atomicplan_hebamiosimple .hbm-simple-card-title {
    margin: 0;
    font-size: 1.4rem;
    line-height: 1.3;
}

.frame-type-atomicplan_hebamiosimple .hbm-simple-status {
    display: inline-block;
    align-self: flex-start;
    font-size: .95rem;
    padding: .15rem .6rem;
    border-radius: 999px;
    background: #f3f4f6;
}

.frame-type-atomicplan_hebamiosimple .hbm-simple-status.plaetze-vorhanden {
    background: #c5f3c9;
}
.frame-type-atomicplan_hebamiosimple .hbm-simple-status.ausgebucht {
    background: #b56161;
    color: #fff;
}
.frame-type-atomicplan_hebamiosimple .hbm-simple-status.noch-wenige-plaetze,
.frame-type-atomicplan_hebamiosimple .hbm-simple-status.warteliste {
    background: #fff3cd;
    color: #5c4400;
}

/* Card-Actions: rechtsbündig */
.frame-type-atomicplan_hebamiosimple .hbm-simple-card-actions {
    margin-top: auto;
    padding-top: .5rem;
    display: flex;
    justify-content: flex-end;
}

/* "Weiter"-Button — visuell rechts, klickbar deckt aber die ganze Karte ab */
.frame-type-atomicplan_hebamiosimple .hbm-simple-more {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
}

.frame-type-atomicplan_hebamiosimple .hbm-simple-card-link::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: var(--hbm-simple-radius);
    z-index: 1;
}

.frame-type-atomicplan_hebamiosimple .hbm-simple-card-link:focus-visible::after {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

.frame-type-atomicplan_hebamiosimple .hbm-simple-card:hover .hbm-simple-more .hbm-simple-arrow {
    transform: translateX(2px);
    transition: transform .15s ease;
}

.frame-type-atomicplan_hebamiosimple .hbm-simple-loading,
.frame-type-atomicplan_hebamiosimple .hbm-simple-empty {
    padding: 24px;
    border: 1px dashed #ddd;
    border-radius: var(--hbm-simple-radius);
    text-align: center;
    color: #555;
}

/* Detailansicht */
.frame-type-atomicplan_hebamiosimple .hbm-simple-detail {
    border: var(--hbm-simple-border);
    border-radius: var(--hbm-simple-radius);
    padding: 24px;
    background: #fff;
}

/* Detail-Header: Titel + Anmeldebutton auf gleicher Höhe (Desktop), gestapelt (Mobile) */
.frame-type-atomicplan_hebamiosimple .hbm-simple-detail-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.5rem;
    flex-wrap: wrap;
}

.frame-type-atomicplan_hebamiosimple .hbm-simple-detail-titlewrap {
    flex: 1 1 60%;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: .35rem;
}

.frame-type-atomicplan_hebamiosimple .hbm-simple-detail-title {
    margin: 0;
    font-size: 1.75rem;
    line-height: 1.25;
}

.frame-type-atomicplan_hebamiosimple .hbm-simple-detail-meta {
    font-size: 1rem;
    opacity: .8;
}

.frame-type-atomicplan_hebamiosimple .hbm-simple-detail-cta {
    flex: 0 0 auto;
    align-self: center;
}

.frame-type-atomicplan_hebamiosimple .hbm-simple-register {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .65rem 1.1rem;
    font-weight: 600;
    border-radius: 999px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .08);
    transition: transform .15s ease, box-shadow .15s ease;
}

.frame-type-atomicplan_hebamiosimple .hbm-simple-register:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 14px rgba(0, 0, 0, .12);
}

.frame-type-atomicplan_hebamiosimple .hbm-simple-register:hover .hbm-simple-arrow {
    transform: translateX(3px);
    transition: transform .15s ease;
}

.frame-type-atomicplan_hebamiosimple .hbm-simple-register.is-disabled {
    opacity: .6;
    cursor: not-allowed;
    box-shadow: none;
}

.frame-type-atomicplan_hebamiosimple .hbm-simple-register.is-disabled:hover {
    transform: none;
    box-shadow: none;
}

/* Mobile: CTA unter den Titel und volle Breite */
@media (max-width: 575.98px) {
    .frame-type-atomicplan_hebamiosimple .hbm-simple-detail-header {
        gap: 1rem;
    }
    .frame-type-atomicplan_hebamiosimple .hbm-simple-detail-titlewrap,
    .frame-type-atomicplan_hebamiosimple .hbm-simple-detail-cta {
        flex: 1 1 100%;
    }
    .frame-type-atomicplan_hebamiosimple .hbm-simple-register {
        width: 100%;
        justify-content: center;
    }
}

.frame-type-atomicplan_hebamiosimple .hbm-simple-detail-desc {
    margin-top: 1.5rem;
    line-height: 1.5;
}

.frame-type-atomicplan_hebamiosimple .hbm-simple-detail-schedule {
    margin-top: 1.25rem;
}

.frame-type-atomicplan_hebamiosimple .hbm-simple-detail-schedule h4 {
    margin: 0 0 .25rem;
    font-size: 1.1rem;
}

.frame-type-atomicplan_hebamiosimple .hbm-simple-detail-schedule ul {
    margin: 0;
    padding-left: 1.25rem;
}