/* Caption under the lightbox image */
.wp-lightbox-overlay .gpro-lightbox-caption {
    --gpro-lightbox-caption-space-top: 64px;
    --gpro-lightbox-caption-space-bottom: 16px;
    --gpro-lightbox-caption-gap: 12px;

    position: absolute;
    left: 50%;
    top: 0;
    z-index: 2000002;
    box-sizing: border-box;
    width: min(100% - 2 * var(--gpro-lightbox-caption-inset, 3.5rem), var(--gpro-lightbox-caption-max-width, 48rem));
    transform: translateX(-50%);
    padding: var(--gpro-lightbox-caption-padding, 0);
    background: var(--gpro-lightbox-caption-bg, none);
    color: var(--gpro-lightbox-caption-color, inherit);
    font-size: var(--gpro-lightbox-caption-size, 0.875rem);
    line-height: var(--gpro-lightbox-caption-leading, 1.4);
    text-align: var(--gpro-lightbox-caption-align, center);
    white-space: pre-line;
    cursor: default;
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.25s ease;
}

/* Desktop spacing */
@media (min-width: 961px) {
    .wp-lightbox-overlay .gpro-lightbox-caption {
        --gpro-lightbox-caption-space-top: 24px;
        --gpro-lightbox-caption-space-bottom: 24px;
    }
}

.wp-lightbox-overlay.active.gpro-has-caption .gpro-lightbox-caption {
    visibility: visible;
    opacity: 1;
    transition-delay: 0.2s;
}

.wp-lightbox-overlay .gpro-lightbox-caption:empty {
    display: none;
}

/* Blend with core zoom */
.wp-lightbox-overlay .lightbox-image-container {
    transition: scale 0.3s ease, translate 0.3s ease;
}
