/* ── Image Collage ───────────────────────────────────────────── */
.bkbg-image-collage-wrap {
    box-sizing: border-box;
}
.bkbg-image-collage {
    position: relative;
    overflow: visible !important; /* allow rotated images to overflow */
}
.bkbg-ic-img {
    box-sizing: border-box;
    transition: transform 0.35s ease, box-shadow 0.35s ease;
}
.bkbg-image-collage[data-hover-lift='1'] .bkbg-ic-img:hover {
    transform: translateY(-8px) rotate(0deg) scale(1.04) !important;
    box-shadow: 0 24px 48px rgba(0, 0, 0, 0.2) !important;
    z-index: 99 !important;
}
.bkbg-image-collage[data-animate-in='1'] .bkbg-ic-img {
    opacity: 0;
    transform: translateY(20px) !important;
}

/* ── Editor: always show images (frontend.js / IntersectionObserver does not
   run inside the block editor, so images would stay invisible) ── */
.editor-styles-wrapper .bkbg-image-collage[data-animate-in='1'] .bkbg-ic-img {
    opacity: 1 !important;
    transform: none !important;
}
.bkbg-image-collage[data-animate-in='1'].bkbg-ic--visible .bkbg-ic-img {
    opacity: 1;
    transform: translateY(0) !important;
    transition: opacity 0.6s ease, transform 0.6s ease;
}
.bkbg-image-collage[data-animate-in='1'].bkbg-ic--visible .bkbg-ic-img:nth-child(1) { transition-delay: 0.0s; }
.bkbg-image-collage[data-animate-in='1'].bkbg-ic--visible .bkbg-ic-img:nth-child(2) { transition-delay: 0.12s; }
.bkbg-image-collage[data-animate-in='1'].bkbg-ic--visible .bkbg-ic-img:nth-child(3) { transition-delay: 0.24s; }
.bkbg-image-collage[data-animate-in='1'].bkbg-ic--visible .bkbg-ic-img:nth-child(4) { transition-delay: 0.36s; }
.bkbg-image-collage[data-animate-in='1'].bkbg-ic--visible .bkbg-ic-img:nth-child(5) { transition-delay: 0.48s; }
.bkbg-ic-overlay-card {
    position: absolute;
    z-index: 20;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
    pointer-events: none;
}

/* ── Typography: Headline ─────────────────────────────────────── */
.bkbg-ic-overlay-card .bkbg-ic-headline {
    font-family:      var(--bkbg-ic-ht-font-family, inherit);
    font-size:        var(--bkbg-ic-ht-font-size-d, var(--bkbg-ic-ht-sz, 16px));
    font-weight:      var(--bkbg-ic-ht-font-weight, var(--bkbg-ic-ht-w, 700));
    font-style:       var(--bkbg-ic-ht-font-style, normal);
    text-decoration:  var(--bkbg-ic-ht-text-decoration, none);
    text-transform:   var(--bkbg-ic-ht-text-transform, none);
    line-height:      var(--bkbg-ic-ht-line-height-d, var(--bkbg-ic-ht-lh, 1.3));
    letter-spacing:   var(--bkbg-ic-ht-letter-spacing-d, normal);
    word-spacing:     var(--bkbg-ic-ht-word-spacing-d, normal);
}

/* ── Typography: Subtext ──────────────────────────────────────── */
.bkbg-ic-overlay-card .bkbg-ic-subtext {
    font-family:      var(--bkbg-ic-st-font-family, inherit);
    font-size:        var(--bkbg-ic-st-font-size-d, var(--bkbg-ic-st-sz, 13px));
    font-weight:      var(--bkbg-ic-st-font-weight, var(--bkbg-ic-st-w, 400));
    font-style:       var(--bkbg-ic-st-font-style, normal);
    text-decoration:  var(--bkbg-ic-st-text-decoration, none);
    text-transform:   var(--bkbg-ic-st-text-transform, none);
    line-height:      var(--bkbg-ic-st-line-height-d, var(--bkbg-ic-st-lh, 1.5));
    letter-spacing:   var(--bkbg-ic-st-letter-spacing-d, normal);
    word-spacing:     var(--bkbg-ic-st-word-spacing-d, normal);
}

/* ── Responsive typography ────────────────────────────────────── */
@media (max-width: 1024px) {
    .bkbg-ic-overlay-card .bkbg-ic-headline {
        font-size:      var(--bkbg-ic-ht-font-size-t, var(--bkbg-ic-ht-font-size-d, var(--bkbg-ic-ht-sz, 16px)));
        line-height:    var(--bkbg-ic-ht-line-height-t, var(--bkbg-ic-ht-line-height-d, var(--bkbg-ic-ht-lh, 1.3)));
        letter-spacing: var(--bkbg-ic-ht-letter-spacing-t, var(--bkbg-ic-ht-letter-spacing-d, normal));
        word-spacing:   var(--bkbg-ic-ht-word-spacing-t, var(--bkbg-ic-ht-word-spacing-d, normal));
    }
    .bkbg-ic-overlay-card .bkbg-ic-subtext {
        font-size:      var(--bkbg-ic-st-font-size-t, var(--bkbg-ic-st-font-size-d, var(--bkbg-ic-st-sz, 13px)));
        line-height:    var(--bkbg-ic-st-line-height-t, var(--bkbg-ic-st-line-height-d, var(--bkbg-ic-st-lh, 1.5)));
        letter-spacing: var(--bkbg-ic-st-letter-spacing-t, var(--bkbg-ic-st-letter-spacing-d, normal));
        word-spacing:   var(--bkbg-ic-st-word-spacing-t, var(--bkbg-ic-st-word-spacing-d, normal));
    }
}
@media (max-width: 767px) {
    .bkbg-ic-overlay-card .bkbg-ic-headline {
        font-size:      var(--bkbg-ic-ht-font-size-m, var(--bkbg-ic-ht-font-size-t, var(--bkbg-ic-ht-font-size-d, var(--bkbg-ic-ht-sz, 16px))));
        line-height:    var(--bkbg-ic-ht-line-height-m, var(--bkbg-ic-ht-line-height-t, var(--bkbg-ic-ht-line-height-d, var(--bkbg-ic-ht-lh, 1.3))));
        letter-spacing: var(--bkbg-ic-ht-letter-spacing-m, var(--bkbg-ic-ht-letter-spacing-t, var(--bkbg-ic-ht-letter-spacing-d, normal)));
        word-spacing:   var(--bkbg-ic-ht-word-spacing-m, var(--bkbg-ic-ht-word-spacing-t, var(--bkbg-ic-ht-word-spacing-d, normal)));
    }
    .bkbg-ic-overlay-card .bkbg-ic-subtext {
        font-size:      var(--bkbg-ic-st-font-size-m, var(--bkbg-ic-st-font-size-t, var(--bkbg-ic-st-font-size-d, var(--bkbg-ic-st-sz, 13px))));
        line-height:    var(--bkbg-ic-st-line-height-m, var(--bkbg-ic-st-line-height-t, var(--bkbg-ic-st-line-height-d, var(--bkbg-ic-st-lh, 1.5))));
        letter-spacing: var(--bkbg-ic-st-letter-spacing-m, var(--bkbg-ic-st-letter-spacing-t, var(--bkbg-ic-st-letter-spacing-d, normal)));
        word-spacing:   var(--bkbg-ic-st-word-spacing-m, var(--bkbg-ic-st-word-spacing-t, var(--bkbg-ic-st-word-spacing-d, normal)));
    }
}
@media (max-width: 640px) {
    .bkbg-image-collage {
        height: 280px !important;
    }
    .bkbg-ic-img {
        transform: none !important;
        position: static !important;
        display: block;
        margin-bottom: 12px;
    }
    .bkbg-image-collage {
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
        position: static !important;
        height: auto !important;
        overflow: hidden !important;
    }
    .bkbg-ic-img {
        width: 46% !important;
        height: 140px !important;
    }
}
