.cb-sub-lib-locations {
    --cb-acc-spacing: 2rem;
    --cb-acc-content-padding: 0 1.5rem 1.5rem 1.5rem;
    --cb-acc-btn-padding-block: 1.5rem;
    --cb-acc-btn-padding-inline: 1.5rem;
    --cb-acc-btn-bg-active: var(--cb-acc-content-bg);
    --cb-acc-icon-bg: #fff;
}

.cb-sub-lib-locations__toggle-all {
    --text: var(--white);
    background-color: var(--bg-primary);
    color: var(--text);
    border: 0;
    padding: .75rem;
    border-radius: var(--border-radius);
    font-weight: bold;
    font-size: var(--h4);
    float: right;
    margin-block-end: var(--cb-acc-spacing);
}

.cb-sub-lib-locations__item {
    clear: both;
    border-block-end: 1px solid var(--cb-acc-content-bg);
}

.cb-sub-lib-locations__item:has(.is-expanded) {
    border-block-end-color: transparent;
}

.cb-sub-lib-locations__headline {
    font-size: var(--h3);
    font-weight: bold;
}
.cb-sub-lib-locations__headline button {
    font-weight: inherit;
    background-color: var(--cb-acc-btn-bg);
    transition: background-color 0s ease-in-out;
    transition-delay: .25s;

    > div {
        background-color: #fff;
    }
}

.cb-sub-lib-locations__headline button.is-active {
    transition-delay: 0s;
}

.cb-sub-lib-locations__grid {
    display: grid;
    grid-template-columns: repeat(4, auto);
    grid-template-rows: repeat(4, auto);
    gap: 1.5rem;
}

.cb-sub-lib-locations__grid-left {
    grid-column: 1 / span 2;
}
.cb-sub-lib-locations__grid-right {
    grid-column: 3 / span 2;
}

.cb-sub-lib-locations__grid-full {
    grid-column: 1 / -1;
    display: block;
}

.cb-sub-lib-locations__grid > div:not(.cb-sub-lib-locations__grid-full) {
    display: grid;
    gap: inherit;
    grid-template-columns: subgrid;
    grid-template-rows: subgrid;
    grid-row: 1 / -1;
}

.cb-sub-lib-locations__grid > div > div {
    display: grid;
    grid-template-columns: subgrid;
    grid-column: 1 / -1;
}

.cb-sub-lib-locations__grid div:last-child div:last-child p {
    margin-block-end: 0;
}

.cb-sub-lib-locations__label {
    margin: .15rem 0 0 0;
    font-size: 1rem;
}

.cb-sub-lib-locations__info .cb-sub-lib-locations__label {
    margin-block-end: .5rem;
}


@container (width < 750px) {
    .cb-sub-lib-locations__grid > div {
        display: block;
    }
}

@container (width < 560px) {
    .cb-sub-lib-locations__grid {
        display: block;
    }
    .cb-sub-lib-locations__grid > div:first-of-type {
        margin-block-end: 1.5rem;
    }

}
