/* Testimonial V2 Layout Styles */

/* Grid Layout */
.ri-testimonial-grid {
    display: grid;
    width: 100%;
}

.ri-testimonial-grid .ri-testimonial-item {
    display: block;
    width: 100%;
}

/* Listing Layout */
.ri-testimonial-listing {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.ri-testimonial-listing .ri-testimonial-item {
    display: block;
    width: 100%;
}

/* Slider / Swiper Core Adjustments */
.ri-testimonials-slider-outer-wrapper {
    position: relative;
    width: 100%;
    overflow: visible;
}

.ri-testimonials-slider-container {
    width: 100%;
    position: relative;
    overflow: hidden;
}

.ri-testimonials-slider-container .swiper-wrapper {
    display: flex;
    transition-property: transform;
    box-sizing: content-box;
}

.ri-testimonials-slider-container .swiper-slide {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    position: relative;
    box-sizing: border-box;
}

/* Star Ratings defaults */
.ri-testimonial-rating {
    display: block;
    margin: 10px 0;
}

.ri-testimonial-rating .fa-star {
    font-size: 16px;
    transition: color 0.3s ease;
}

.ri-testimonial-rating .fa-star.active {
    color: #ffcc00;
}

.ri-testimonial-rating .fa-star.inactive {
    color: #cccccc;
}

.ri-testimonial-rating svg.fa-star {
    width: 1em;
    height: 1em;
    fill: currentColor;
}

/* Navigation button pointer helpers */
.ri-slider-prev-btn,
.ri-slider-next-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    user-select: none;
}

.ri-slider-prev-btn i,
.ri-slider-next-btn i {
    pointer-events: none;
}

/* Navigation wrapper styles for V2 free positioning */
.ri-slider-navigation {
    position: absolute;
    display: flex;
    left: 0;
    right: 0;
    top: 50%;
    z-index: 10;
    pointer-events: none;
    gap: var(--ri-arrow-gap, 10px);
    transform: translate(var(--ri-nav-x, 0px), calc(-50% + var(--ri-nav-y, 0px)));
}

.ri-slider-navigation button.ri-slider-prev-btn,
.ri-slider-navigation button.ri-slider-next-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    pointer-events: auto;
    border: none;
    outline: none;
    transition: all 0.3s ease;
    user-select: none;
}

.ri-testimonials-slider-outer-wrapper.ri-testimonials-slider-nav-preset {
    --ri-nav-preset-horizontal-offset: clamp(10px, 2vw, 40px);
    --ri-nav-preset-vertical-offset: clamp(10px, 2vw, 40px);
    --ri-nav-preset-gap: clamp(8px, 1vw, 16px);
}

.ri-testimonials-slider-outer-wrapper.ri-testimonials-slider-nav-preset .ri-slider-navigation {
    left: auto;
    right: auto;
    top: auto;
    bottom: auto;
    width: auto;
    justify-content: center;
    gap: var(--ri-nav-preset-gap);
    transform: none;
}

.ri-testimonials-slider-outer-wrapper.ri-testimonials-slider-nav-preset .ri-slider-prev-btn,
.ri-testimonials-slider-outer-wrapper.ri-testimonials-slider-nav-preset .ri-slider-next-btn {
    margin: 0;
    transform: none;
}

.ri-testimonials-slider-outer-wrapper.ri-slider-nav-preset-top-left .ri-slider-navigation {
    left: var(--ri-nav-preset-horizontal-offset);
    top: var(--ri-nav-preset-vertical-offset);
}

.ri-testimonials-slider-outer-wrapper.ri-slider-nav-preset-top-center .ri-slider-navigation {
    left: 50%;
    top: var(--ri-nav-preset-vertical-offset);
    transform: translateX(-50%);
}

.ri-testimonials-slider-outer-wrapper.ri-slider-nav-preset-top-right .ri-slider-navigation {
    right: var(--ri-nav-preset-horizontal-offset);
    top: var(--ri-nav-preset-vertical-offset);
}

.ri-testimonials-slider-outer-wrapper.ri-slider-nav-preset-center-left .ri-slider-navigation {
    left: var(--ri-nav-preset-horizontal-offset);
    top: 50%;
    transform: translateY(-50%);
}

.ri-testimonials-slider-outer-wrapper.ri-slider-nav-preset-center-right .ri-slider-navigation {
    right: var(--ri-nav-preset-horizontal-offset);
    top: 50%;
    transform: translateY(-50%);
}

.ri-testimonials-slider-outer-wrapper.ri-slider-nav-preset-bottom-left .ri-slider-navigation {
    left: var(--ri-nav-preset-horizontal-offset);
    bottom: var(--ri-nav-preset-vertical-offset);
}

.ri-testimonials-slider-outer-wrapper.ri-slider-nav-preset-bottom-center .ri-slider-navigation {
    left: 50%;
    bottom: var(--ri-nav-preset-vertical-offset);
    transform: translateX(-50%);
}

.ri-testimonials-slider-outer-wrapper.ri-slider-nav-preset-bottom-right .ri-slider-navigation {
    right: var(--ri-nav-preset-horizontal-offset);
    bottom: var(--ri-nav-preset-vertical-offset);
}

.ri-testimonials-slider-outer-wrapper.ri-slider-nav-preset-inside .ri-slider-navigation,
.ri-testimonials-slider-outer-wrapper.ri-slider-nav-preset-outside .ri-slider-navigation,
.ri-testimonials-slider-outer-wrapper.ri-slider-nav-preset-center-edge .ri-slider-navigation {
    left: 0;
    right: 0;
    top: 50%;
    justify-content: space-between;
    gap: 0;
    transform: translateY(-50%);
}

.ri-testimonials-slider-outer-wrapper.ri-slider-nav-preset-inside .ri-slider-prev-btn {
    margin-left: var(--ri-nav-preset-horizontal-offset);
}

.ri-testimonials-slider-outer-wrapper.ri-slider-nav-preset-inside .ri-slider-next-btn {
    margin-right: var(--ri-nav-preset-horizontal-offset);
}

.ri-testimonials-slider-outer-wrapper.ri-slider-nav-preset-outside .ri-slider-prev-btn {
    transform: translateX(calc(-100% - var(--ri-nav-preset-horizontal-offset)));
}

.ri-testimonials-slider-outer-wrapper.ri-slider-nav-preset-outside .ri-slider-next-btn {
    transform: translateX(calc(100% + var(--ri-nav-preset-horizontal-offset)));
}

.ri-testimonials-slider-outer-wrapper.ri-slider-nav-preset-center-edge .ri-slider-prev-btn {
    transform: translateX(-50%);
}

.ri-testimonials-slider-outer-wrapper.ri-slider-nav-preset-center-edge .ri-slider-next-btn {
    transform: translateX(50%);
}

.ri-slider-navigation button.ri-slider-prev-btn i,
.ri-slider-navigation button.ri-slider-next-btn i {
    pointer-events: none;
}

.ri-slider-arrow-background-disabled .ri-slider-navigation button.ri-slider-prev-btn,
.ri-slider-arrow-background-disabled .ri-slider-navigation button.ri-slider-next-btn,
.ri-slider-arrow-background-disabled .ri-slider-navigation button.ri-slider-prev-btn:hover,
.ri-slider-arrow-background-disabled .ri-slider-navigation button.ri-slider-next-btn:hover {
    background-color: transparent;
}

/* Bullet Pagination */
.ri-slider-pagination {
    margin-top: 15px;
}

.ri-slider-pagination .swiper-pagination-bullet {
    display: inline-block;
    cursor: pointer;
    border-radius: 50%;
    transition: all 0.3s ease;
}

/* Fraction Pagination */
.ri-slider-pagination.swiper-pagination-fraction {
    position: relative;
    margin-top: 15px;
    width: auto;
}

/* Progress Bar Pagination */
.ri-slider-pagination.swiper-pagination-progressbar {
    position: relative;
    margin-top: 15px;
    width: 100%;
    height: 4px;
}

/* Settings based hide controls */
.ri-hide-navigation .ri-slider-navigation {
    display: none !important;
}

.ri-hide-pagination .ri-slider-pagination {
    display: none !important;
}
