.wpl-image-box-wrapper {
    display: grid;
    gap: 20px; /* Default gap, overridden by Elementor column_gap control */
}

.wpl-image-box {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: inherit; /* Inherits alignment from content_align control */
    width: 100%;
    box-sizing: border-box;
}

.wpl-image-box-image {
    display: flex;
    justify-content: inherit; /* Inherits alignment from content_align or image_align */
    width: 100%;
}

.wpl-image-box img {
    max-width: 100%;
    height: auto;
    display: block;
}

.wpl-image-box-content {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: inherit; /* Inherits alignment from content_align */
    width: 100%;
    flex-grow: 1;
}

.wpl-image-box-title,
.wpl-image-box-description,
.wpl-image-box-button {
    width: 100%;
    box-sizing: border-box;
}

.wpl-image-box-button {
    display: inline-block;
    text-decoration: none;
    transition: all 0.3s ease;
}