/**
*-------------------------------------------------------------------------------------
* Maxi Testimonials CSS
*-------------------------------------------------------------------------------------
*/

.maxi_testimonials_section_wrap {
    background: linear-gradient(0deg, #f7f6f4 0, #fff 100%);
    padding-top:90px;
    padding-bottom:90px;
}
.maxi_testimonials_section {
    width: var(--theme-container-width, 1200px);
    max-width: var(--theme-normal-container-max-width, 1200px);
    margin:0 auto;
    background: linear-gradient(0deg, #f7f6f4 0, #fff 100%);
}
@media (max-width: 480px) {
    .maxi_testimonials_section_wrap {
        padding-top:45px;
        padding-bottom:15px;
    }
}


/* No testimonials message
------------------------------*/
.maxi_testimonials_slider--no-testimonials {
    width:100%;
    font-size:18px;
    text-align:center;
    padding:50px 0;
    color: #666;
}


/* Testimonial outer wrapper
------------------------------*/
.maxi_testimonials_slider_wrapper {
    width: 100%;
    margin: 0 auto;
    position:relative;
}
/* Testimonial outer wrapper margin bottom on single product
------------------------------*/
body.single-product .maxi_testimonials_slider_wrapper {
    margin-bottom:130px;
}

/* Testimonial inner wrapper - the actual slider
------------------------------*/
 .maxi_testimonial_slider {
    position:relative;
    width: 100%;
    margin: 30px 0;
}

/* Testimonial item
------------------------------*/
 .maxi_testimonial_item {
    background: #FFFFFF;
    border-radius: 20px;
    border: 1px solid #ccc;
    overflow: hidden;
}

/* Testimonial content
------------------------------*/
 .testimonial_content {
    display:flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    height:100%;
}

/* Testimonial body wrapper
------------------------------*/
.maxi_testimonials_slider_wrapper .testimonial_body {
    padding:30px 60px;
}
@media (max-width: 690px) {
    .maxi_testimonials_slider_wrapper .testimonial_body {
        max-height: 220px;
    }
}


/* Testimonial thumbnail image
------------------------------*/
.maxi_testimonials_slider_wrapper .testimonial_thumb {
    display: block;
    position:relative;
    width: 100%;
    height: 100%;
    aspect-ratio: 4 / 2.7;
    overflow:hidden;
}
.maxi_testimonials_slider_wrapper .testimonial_thumb img {
    width: 100%;
    height: 100%;
    top:0;
    left:0;
    object-fit: cover;
}


/* ---------------------------------------------------- /
/ GRID – TESTIMONIALS (STATIC GRID VERSION – 4/row) /
/ ---------------------------------------------------- */

/* Outer wrapper for GRID
------------------------------*/
.maxi_testimonials_grid_wrapper {
width: 100%;
margin: 0 auto;
position:relative;
}

/* Grid container replacing swiper-wrapper
------------------------------*/
.maxi_testimonials_grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 30px;
margin: 30px 0;
}
    
    @media (min-width: 835px) {
        body .maxi_testimonials_grid[data-results="1"],
        body .maxi_testimonials_grid[data-results="2"],
        body .maxi_testimonials_grid[data-results="3"] {
            grid-template-columns: repeat(auto-fit, minmax(0, 25%))!important;
            justify-content: center!important;
        }
    }
    
    @media (max-width: 834px) {
        body .maxi_testimonials_grid[data-results="1"],
        body .maxi_testimonials_grid[data-results="2"],
        body .maxi_testimonials_grid[data-results="3"] {
            grid-template-columns: repeat(3, minmax(0, 1fr))!important;
            justify-content: center!important;
        }
    }
    
    
    @media (max-width: 480px) {
        body .maxi_testimonials_grid,
        body .maxi_testimonials_grid[data-results="1"],
        body .maxi_testimonials_grid[data-results="2"],
        body .maxi_testimonials_grid[data-results="3"] {
            display: flex!important;
            flex-direction: column!important;
            /*grid-template-columns: repeat(1, minmax(0, 100%))!important;*/
            justify-content: center!important;
        }
        body .maxi_testimonials_grid .testimonial_body {
            max-height:auto!important;
            height:auto!important;
            aspect-ratio: unset!important;
        }
    }

/* Testimonial item (same as slider)
------------------------------*/
 .maxi_testimonial_item {
    background: #FFFFFF;
    border-radius: 8px;
    border: 1px solid #ccc;
    overflow: hidden;
    max-height:auto;
    }

/* Testimonial inner content
------------------------------*/
 .testimonial_content {
/*
display:flex;
flex-direction: column;
*/
display: grid;
grid-template-rows: minmax(0, 1fr) minmax( 0, 1fr);
justify-content: flex-start;
align-items: center;
height:100%;
}
@media (max-width: 835px) {
    .testimonial_content {
        align-items:flex-start;
    }
}
@media (max-width:480px) {
    .testimonial_content {
        /*grid-template-rows: minmax(0, 1fr) 0.75fr;*/
        display: flex!important;
        flex-direction: column!important;
    }
}


/* Testimonial body
------------------------------*/
.maxi_testimonials_grid_wrapper .testimonial_body {
padding:30px 60px;
}

/* Thumbnail Image (same styles)
------------------------------*/
.maxi_testimonials_grid_wrapper .testimonial_thumb {
display: block;
position:relative;
width: 100%;
height: 100%;
aspect-ratio: 4 / 2.7;
overflow:hidden;
}
.maxi_testimonials_grid_wrapper .testimonial_thumb img {
width: 100%;
height: 100%;
top:0;
left:0;
object-fit: cover;
}

/* Responsive
------------------------------*/

@media(max-width:1200px) {
.maxi_testimonials_grid {
grid-template-columns: repeat(3, 1fr);
}
}
@media(max-width:835px) {
.maxi_testimonials_grid {
grid-template-columns: repeat(3, 1fr);
}
}
@media(max-width:480px) {
.maxi_testimonials_grid {
grid-template-columns: repeat(1, 1fr);
}
}




/* Star rating and rating value
------------------------------*/
 .testimonial_rating {
    margin-bottom: 30px;
    font-size: 20px;
    display:flex;
    align-items:center; 
    flex-direction: row;
    gap:10px;
}
 .testimonial_rating .star-rating {
    color: #ffcc00;
}
 .testimonial_rating .rating_value {
    font-size:20px;
}
 .testimonial_text {
    font-size: 32px;
    font-weight:400;
    line-height: 1.5;
    margin-bottom: 30px;
}

/* Author name and date
------------------------------*/
 .testimonial_author {
    font-weight: 400;
    font-size:18px;
}
 .testimonial_author span {
    font-weight: 700;
}

/* Arrow navigation
------------------------------*/
.maxi_testimonials_slider_wrapper .testimonial_arrow {
    color: #333;
    position:absolute;
    top:50%;
    z-index:2;
    width:fit-content;
    padding:30px;
    cursor:pointer;
    display:flex;
    align-items: center;
    background:rgba(255,255,255,0);
    user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;

    cursor: pointer;
}
.maxi_testimonials_slider_wrapper .testimonial_arrow:hover {
    color:var(--theme-palette-color-1);
}
.maxi_testimonials_slider_wrapper .testimonial_arrow_prev {
    left:-60px;
    transform:translateY(-50%) rotate(180deg);
}
.maxi_testimonials_slider_wrapper .testimonial_arrow_next {
    right:-60px;
    transform:translateY(-50%);
}

@media (max-width: 480px) {
    .maxi_testimonials_slider_wrapper .testimonial_arrow {
        top:40%;
    }
    .maxi_testimonials_slider_wrapper .testimonial_arrow_prev {
        left:-15px;
        transform:translateY(-50%) rotate(180deg);
        padding:0px;
    }
    .maxi_testimonials_slider_wrapper .testimonial_arrow_next {
        right:-15px;
        transform:translateY(-50%);
        padding:0px;
    }
}

/* Bullet navigation
------------------------------*/
.maxi_testimonials_slider_wrapper .swiper-pagination {
    bottom: -55px;
}
.maxi_testimonials_slider_wrapper .swiper-pagination-bullet {
    background:rgba(255,255,255,0.8);
    border:solid 1px rgba(0,0,0,0.8);
    width:20px;
    height:20px;
    opacity:1;
}
.maxi_testimonials_slider_wrapper .swiper-pagination-bullet-active {
    background: var(--theme-palette-color-2);
    border-color: var(--theme-palette-color-2);
}


/**
*-------------------------------------------------------------------------------------
* Maxi Testimonials CSS - SINGLE SLIDE MODE data-mode="per_product" data-slides="1"
*-------------------------------------------------------------------------------------
*/

[data-slides="1"]  .testimonial_content {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    justify-content: flex-start;
    align-items: center;
}

@media (max-width: 480px) {
    [data-slides="1"]  .testimonial_content {
        display: grid;
        grid-template-columns: 1fr;
        flex-direction: column;
    }
}

/**
*-------------------------------------------------------------------------------------
* Maxi Testimonials CSS - MULTI SLIDES MODE data-mode="per_product" data-slides="2" or more
*-------------------------------------------------------------------------------------
*/

/* Testimonial outer wrapper margin bottom on single product
------------------------------*/
body.single-product .maxi_testimonials_slider_wrapper:not([data-slides="1"]) {
    margin-bottom:60px;
}

:not([data-slides="1"]) .swiper-wrapper {
    align-items: stretch;
}
:not([data-slides="1"]) .maxi_testimonial_item {
    display: flex;
    flex-direction: column;
    height: 100%;
}
/*
:not([data-slides="1"]) .testimonial_content {
    display:grid;
    grid-template-rows: 1fr 0.5fr;
    background: #fff;
    height:100%;
}
    */
:not([data-slides="1"]) .testimonial_body {
    padding:25px 30px;
    width: 100%;
    height: 100%;
    display:flex;
    flex-direction: column;
    justify-content: space-between;
    gap:15px;
}
@media (max-width: 480px) {
    :not([data-slides="1"]) .testimonial_body {
        padding:15px 15px;
    }
}
:not([data-slides="1"]) .testimonial_thumb {
    position:relative;
    /*aspect-ratio: 4 / 3;*/
    aspect-ratio: 4/3;
    width:100%;
    height:100%;
    border-bottom: solid 1px #ccc;
}
:not([data-slides="1"]) .testimonial_thumb img {
    width:100%;
    height: 100%;
    object-fit: cover;
}

:not([data-slides="1"]) .testimonial_text {
    font-size:16px;
    margin-bottom:0px;
}
:not([data-slides="1"]) .testimonial_rating {
    margin-bottom:10px;
}
:not([data-slides="1"]) .testimonial_rating .rating_value {
    font-size:16px;
    font-weight: 700;
}
:not([data-slides="1"]) .testimonial_author {
    font-size:15px;
}