/* IBA Standard V8 - small behavior/layout additions
   Load after the existing Standard/component CSS files. */

/* Consecutive [cta:] lines become one responsive button group. */
.iba-standard-cta-group {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
}

.iba-standard-cta-group .iba-standard-button {
    width: auto;
    max-width: 100%;
}

/* Equal-height cards for Grid-2 and Grid-3. Existing CSS still controls columns. */
.iba-standard-grid2,
.iba-standard-grid3,
.iba-grid2-grid {
    align-items: stretch;
}

.iba-standard-grid2-card,
.iba-standard-grid3-card,
.iba-grid2-card {
    height: 100%;
    box-sizing: border-box;
}

/* Expandable TOC. */
.iba-standard-toc-toggle {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    border: 0;
    background: transparent;
    padding: 0;
    font: inherit;
    font-weight: 700;
    text-align: left;
    cursor: pointer;
}

.iba-standard-toc-panel {
    display: none;
}

.iba-standard-toc-panel.open {
    display: block;
}

.iba-standard-toc-arrow {
    display: inline-block;
    transition: transform 0.2s ease;
}

.iba-standard-toc-toggle[aria-expanded="true"] .iba-standard-toc-arrow {
    transform: rotate(180deg);
}

/* Optional background-image opacity support for Note, Split, CTA Banner, Notice Center. */
.iba-standard-custom-bg {
    position: relative;
    isolation: isolate;
    overflow: hidden;
}

.iba-standard-custom-bg::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background-image: var(--iba-bg-image, none);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    opacity: var(--iba-bg-opacity, 1);
}

.iba-standard-custom-bg > * {
    position: relative;
    z-index: 1;
}

/* Split image controls. */
.iba-split-standard .iba-standard-image img,
.iba-split-standard .iba-standard-image-linked img {
    object-fit: var(--iba-split-image-fit, cover);
    object-position: var(--iba-split-image-position, center);
}

/* Notice Center: a standalone [icon:name] can remain visually prominent. */
.iba-notice-center .iba-standard-icon {
    display: flex;
    justify-content: center;
    margin-bottom: 1rem;
}

.iba-notice-center .iba-standard-icon svg {
    width: 3rem;
    height: 3rem;
}

@media (max-width: 640px) {
    .iba-standard-cta-group {
        align-items: stretch;
    }

    .iba-standard-cta-group .iba-standard-button {
        max-width: 100%;
    }
}
