/**
 * Sidebar / tile customer reviews — ONLY markup from `renderReviewsBootstrapCarousel` in js/functions.js.
 * Loaded from footer.php after common.css so Bootstrap’s 30×3px indicator defaults never win.
 *
 * Root carousel also gets class `eff-reviews-bootstrap` for extra specificity.
 */
.eff-reviews-carousel-host .eff-reviews-carousel.eff-hero-carousel.eff-reviews-bootstrap,
.eff-reviews-carousel-host .eff-reviews-carousel.eff-reviews-bootstrap {
    opacity: 1 !important;
    position: relative !important;
    transform: none !important;
    overflow: hidden;
    border-radius: 10px;
}

.eff-reviews-carousel-host .eff-reviews-carousel-inner {
    background: transparent;
    min-height: 260px;
    padding-left: 2.75rem;
    padding-right: 2.75rem;
    box-sizing: border-box;
}

.eff-reviews-carousel-host .eff-reviews-carousel .carousel-item {
    padding: 0.65rem 0 2.5rem;
    box-sizing: border-box;
}

.eff-reviews-carousel-host .eff-reviews-slide-body {
    display: flex;
    justify-content: center;
    align-items: stretch;
    width: 100%;
    max-width: min(720px, 100%);
    margin: 0 auto;
    padding: 0 clamp(0.35rem, 3vw, 1.25rem);
    box-sizing: border-box;
}

.eff-reviews-carousel-host .eff-reviews-slide-card-inner {
    width: 100%;
    max-width: 100%;
    display: flex;
    justify-content: center;
    box-sizing: border-box;
}

.eff-reviews-carousel-host .eff-reviews-slide-card-inner .review-card {
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex-shrink: 1 !important;
    width: 100%;
    box-sizing: border-box;
}

.eff-reviews-carousel-host .eff-reviews-carousel .carousel-control-prev,
.eff-reviews-carousel-host .eff-reviews-carousel .carousel-control-next {
    width: 2.25rem !important;
    max-width: 14% !important;
    min-width: 2rem !important;
    opacity: 0.92 !important;
}

.eff-reviews-carousel-host .eff-reviews-carousel .carousel-control-prev-icon,
.eff-reviews-carousel-host .eff-reviews-carousel .carousel-control-next-icon {
    width: 1.35rem !important;
    height: 1.35rem !important;
}

.eff-reviews-carousel-host .eff-reviews-carousel .carousel-indicators {
    margin-bottom: 0.35rem !important;
    gap: 0.35rem !important;
    justify-content: center !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    left: 0 !important;
    right: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Bootstrap 5.3 defaults are wide short bars — force round dots */
.eff-reviews-carousel-host .eff-reviews-carousel .carousel-indicators > button,
.eff-reviews-carousel-host .eff-reviews-carousel .carousel-indicators button,
.eff-reviews-carousel-host .eff-reviews-carousel .carousel-indicators [type="button"],
.eff-reviews-carousel-host .eff-reviews-carousel .carousel-indicators [data-bs-target] {
    box-sizing: border-box !important;
    width: 10px !important;
    height: 10px !important;
    min-width: 10px !important;
    max-width: 10px !important;
    min-height: 10px !important;
    max-height: 10px !important;
    flex: 0 0 10px !important;
    flex-grow: 0 !important;
    flex-shrink: 0 !important;
    flex-basis: 10px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    text-indent: -9999px !important;
    overflow: hidden !important;
    opacity: 0.45 !important;
    background-color: rgba(255, 255, 255, 0.55) !important;
    background-clip: padding-box !important;
}

.eff-reviews-carousel-host .eff-reviews-carousel .carousel-indicators > button.active,
.eff-reviews-carousel-host .eff-reviews-carousel .carousel-indicators .active {
    opacity: 1 !important;
    background-color: #fff !important;
}

.dark-theme .eff-reviews-carousel-host .eff-reviews-carousel .carousel-indicators > button,
.dark-theme .eff-reviews-carousel-host .eff-reviews-carousel .carousel-indicators button,
.dark-theme .eff-reviews-carousel-host .eff-reviews-carousel .carousel-indicators [data-bs-target],
body.dark-theme .eff-reviews-carousel-host .eff-reviews-carousel .carousel-indicators button {
    background-color: rgba(255, 255, 255, 0.35) !important;
}

.dark-theme .eff-reviews-carousel-host .eff-reviews-carousel .carousel-indicators > button.active,
.dark-theme .eff-reviews-carousel-host .eff-reviews-carousel .carousel-indicators .active,
body.dark-theme .eff-reviews-carousel-host .eff-reviews-carousel .carousel-indicators .active {
    background-color: #fff !important;
}

@media (max-width: 576px) {
    .eff-reviews-carousel-host .eff-reviews-slide-body {
        padding: 0 clamp(0.25rem, 2vw, 1rem);
    }

    .eff-reviews-carousel-host .eff-reviews-carousel-inner {
        min-height: 220px;
        padding-left: 2.25rem;
        padding-right: 2.25rem;
    }

    .eff-reviews-carousel-host .eff-reviews-carousel .carousel-item {
        padding-bottom: 2.35rem;
    }
}
