/*!
 * GiveWP Donor Carousel - Force Natural Heights
 * Critical CSS overrides to eliminate equal height cards
 * 
 * @package GiveWP_Donor_Carousel
 * @since 1.0.0
 */

/* CRITICAL: Force natural card heights - Maximum Specificity */
html body .container-fluid .carousel .carousel-item .row [class*="col"] .card,
html body .container-fluid .carousel .carousel-item .row [class*="col"] .compact-card,
html body .container-fluid .carousel .carousel-item .row [class*="col"] .narrow-card {
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
}

/* Force removal of Bootstrap flexbox equal heights */
html body .carousel-item .row {
    align-items: flex-start !important;
}

html body .carousel-item .row > [class*="col"] {
    align-self: flex-start !important;
    display: block !important;
}

/* Ensure card body also has natural height */
html body .carousel .carousel-item .compact-card .card-body,
html body .carousel .carousel-item .narrow-card .card-body {
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
}

/* Override any Bootstrap h-100 classes that might be applied */
html body .carousel .carousel-item .card.h-100,
html body .carousel .carousel-item .compact-card.h-100,
html body .carousel .carousel-item .narrow-card.h-100 {
    height: auto !important;
}

/* Force flexbox to not stretch cards */
html body .carousel-item .row.g-2 {
    align-items: flex-start !important;
}

html body .carousel-item .row.g-2 > [class*="col"] {
    align-self: flex-start !important;
}

/* Additional fallbacks for theme overrides */
.givewp-donor-carousel .carousel-item .card,
.givewp-donor-carousel .carousel-item .compact-card,
.givewp-donor-carousel .carousel-item .narrow-card {
    height: auto !important;
    min-height: auto !important;
}

/* Ensure wrapper divs don't force height */
.carousel-item .row [class*="col"] .w-100 {
    height: auto !important;
}

/* Critical override for any equal-height utility classes */
.carousel .carousel-item [class*="h-"],
.carousel .carousel-item .h-auto,
.carousel .carousel-item .h-100 {
    height: auto !important;
    min-height: auto !important;
}

/* Force compact layout for better visual consistency */
.compact-card {
    overflow: hidden;
    border-radius: 0.5rem;
}

.compact-card .card-body {
    padding: 0.75rem 0.5rem !important;
}