/**
 * Service Cards Styles
 * - Service V2 widget equal height cards
 */

/* Service V2 Cards - Equal Height Cards */
.xb-service-two .xb-item--img {
    width: 100%;
    height: 250px;
}

.xb-service-two {
    width: 100%;
}

.xb-service-two .xb-item--content {
    margin-bottom: 20px !important;
}

.xb-service-two h2.xb-item--title a {
    font-size: 24px !important;
}

.xb-service-two .xb-item--img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Make all cards the same height */
.xb-service-two {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.xb-service-two .xb-item--holder {
    flex-grow: 1;
}

.xb-service-two .xb-item--img {
    margin-top: auto;
}

/* Ensure columns stretch to match row height with consistent gaps */
.row:has(.xb-service-two) {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    margin-left: 0;
    margin-right: 0;
}

.elementor-widget-container .row:has(.xb-service-two)>[class*="col-"] {
    display: flex;
    padding-left: 0;
    padding-right: 0;
    flex: 0 0 calc(33.333% - 20px);
    max-width: calc(33.333% - 20px);
}

/* Remove bottom margin since gap handles spacing */
.row:has(.xb-service-two) .xb-service-two.mb-30 {
    margin-bottom: 0;
}

/* Responsive adjustments */
@media (max-width: 991px) {
    .elementor-widget-container .row:has(.xb-service-two)>[class*="col-"] {
        flex: 0 0 calc(50% - 15px);
        max-width: calc(50% - 15px);
    }
}

@media (max-width: 767px) {
    .elementor-widget-container .row:has(.xb-service-two)>[class*="col-"] {
        flex: 0 0 100%;
        max-width: 100%;
    }
}
