/* ETEK Custom Testimonials Styles for Child Theme */

/* Base Slick Slider Styles from bundle.css */
.slick-slider {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
    position: relative;
    display: block;
}

.slick-list {
    position: relative;
    display: block;
    overflow: hidden;
    margin: 0;
    padding: 0;
}

.slick-list:focus {
    outline: none;
}

.slick-list.dragging {
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-list,
.slick-slider .slick-track {
    -webkit-transform: translateZ(0);
    -ms-transform: translateZ(0);
    transform: translateZ(0);
}

.slick-track {
    position: relative;
    top: 0;
    left: 0;
    display: block;
    margin-left: auto;
    margin-right: auto;
    padding-top: 30px;
    padding-bottom: 30px;
}

.slick-track:after,
.slick-track:before {
    display: table;
    content: "";
}

.slick-track:after {
    clear: both;
}

.slick-loading .slick-track {
    visibility: hidden;
}

.slick-slide {
    display: none;
    float: left;
    height: 100%;
    min-height: 1px;
}

[dir="rtl"] .slick-slide {
    float: right;
}

.slick-slide img {
    display: block;
}

.slick-slide.slick-loading img {
    display: none;
}

.slick-slide.dragging img {
    pointer-events: none;
}

.slick-initialized .slick-slide {
    display: block;
}

.slick-loading .slick-slide {
    visibility: hidden;
}

.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
    display: none;
}

/* Custom Testimonials Styles */
.shell {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 15px;
}

.section-my-reviews__content-cta-wrapper {
    text-align: center;
    margin-bottom: 40px;
}

.section-my-reviews__content-wrapper h2 {
    font-size: 2.5rem;
    font-weight: 700;
    color: #333;
    margin-bottom: 20px;
}

.section-my-reviews__reviews-wrapper {
    position: relative;
}

.section-my-reviews__reviews-wrapper.no-bottom-spacing {
    margin-bottom: 0;
}

/* Slider Layout Wrapper */
.section-my-reviews__slider-layout-wrapper {
    position: relative;
}

/* NEW: Grid Layout Wrapper for Show All Mode */
.section-my-reviews__grid-layout-wrapper {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 90px 30px; /* 90px vertical, 30px horizontal */
    padding: 30px 0;
}

/* Grid Layout Responsive Breakpoints */
@media (max-width: 1024px) {
    .section-my-reviews__grid-layout-wrapper {
        grid-template-columns: repeat(2, 1fr);
        gap: 90px 30px; /* Keep consistent spacing */
    }
}

@media (max-width: 768px) {
    .section-my-reviews__grid-layout-wrapper {
        grid-template-columns: 1fr;
        gap: 60px 30px; /* Reduce vertical gap on mobile */
        padding: 20px 0;
    }
}

/* Review Item Styles (shared between slider and grid) */
.section-my-reviews__review-item {
    box-sizing: border-box;
}

/* Slider specific review item styles */
.section-my-reviews__slider-layout-wrapper .section-my-reviews__review-item {
    padding: 0 15px;
}

/* Grid specific review item styles */
.section-my-reviews__grid-layout-wrapper .section-my-reviews__review-item {
    padding: 0;
    width: 100%;
}

.section-my-reviews__review-item-card {
    background: #fff;
    border-radius: 12px;
    padding: 30px 25px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
    text-align: center;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.section-my-reviews__review-item-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
}

.section-my-reviews__review-item-avatar {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    /*background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);*/
    background-color:var(--color-two);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 15px;
}

.author-first-letter {
    color: #fff;
    font-size: 64px;
    font-weight: 400;
}

.section-my-reviews__review-item-author {
    font-size: 18px;
    font-weight: 600;
    color: #333;
    margin: 0 0 15px 0;
}

.section-my-reviews__rating-wrapper {
    margin-bottom: 20px;
}

.rating {
    display: flex;
    justify-content: center;
    gap: 2px;
}

.star {
    width: 18px;
    height: 18px;
    display: inline-block;
    background-size: cover;
    background-repeat: no-repeat;
}

.star.full {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ffc107'%3E%3Cpath d='M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z'/%3E%3C/svg%3E");
}

.star.empty {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23e0e0e0'%3E%3Cpath d='M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z'/%3E%3C/svg%3E");
}

.section-my-reviews__description-wrapper {
    font-size: 16px;
    line-height: 1.6;
    color: #666;
    margin-bottom: 20px;
    flex-grow: 1;
}

.section-my-reviews__more-less-link {
    color:var(--color-two);
    cursor: pointer;
    font-weight: 600;
    /*text-decoration: underline;*/
    margin-left: 5px;
    transition: color 0.3s ease;
}

.section-my-reviews__more-less-link:hover {
    /*color: #764ba2;*/
}

.section-my-reviews__source-text {
    font-size: 14px;
    color: #999;
    font-style: italic;
    margin: 0;
}

/* Slick Slider Navigation - Only for Slider Mode */
.slick-dots {
    bottom: -50px;
    display: flex !important;
    justify-content: center;
    list-style: none;
    margin: 0;
    padding: 0;
    position: absolute;
    width: 100%;
}

.slick-dots li {
    cursor: pointer;
    display: inline-block;
    height: 20px;
    list-style: none;
    margin: 0 5px;
    padding: 0 9px;
    position: relative;
    width: 20px;
}

.slick-dots li button {
    background-color: var(--slider-dots-color, #ccc);
    border: none;
    border-radius: 50%;
    color: transparent;
    cursor: pointer;
    display: block;
    font-size: 0;
    height: 8px;
    line-height: 0;
    opacity: 0.3;
    outline: none;
    padding: 0;
    transition: opacity 0.2s ease, width 0.2s ease, border-radius 0.2s ease;
    width: 8px;
}

.slick-dots li button:focus,
.slick-dots li button:hover {
    outline: none;
}

.slick-dots li button:before {
    all: unset;
}

.slick-dots li.slick-active button {
    border-radius: 6px;
    opacity: 1;
    width: 18px;
    background-color: var(--color-two);
}

.slick-dotted.slick-slider {
    margin-bottom: 30px;
}

.slick-next,
.slick-prev {
    border: none;
    cursor: pointer;
    display: block;
    font-size: 0;
    height: 40px;
    line-height: 0;
    padding: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 36px 80px rgba(0,0,0,0.07), 0 13.87px 25.48px rgba(0,0,0,0.043), 0 2.93px 6.52px rgba(0,0,0,0.028);
    color: transparent;
    outline: none;
    align-items: center;
    justify-content: center;
    display: flex;
}

.slick-next:focus,
.slick-next:hover,
.slick-prev:focus,
.slick-prev:hover {
    background: #fff;
    color: transparent;
    outline: none;
}

.slick-next:focus:before,
.slick-next:hover:before,
.slick-prev:focus:before,
.slick-prev:hover:before {
    opacity: 1;
}

.slick-next.slick-disabled:before,
.slick-prev.slick-disabled:before {
    opacity: 0.25;
}

.slick-next:before,
.slick-prev:before {
    background-color:var(--color-two);
    background-size: cover;
    content: "";
    display: block;
    height: 20px;
    width: 20px;
    -webkit-mask: url("data:image/svg+xml,%3Csvg width='16' height='10' viewBox='0 0 16 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.7175 0.282363C9.425 0.574863 9.425 1.04736 9.7175 1.33986L12.6275 4.24986H1.25C0.8375 4.24986 0.5 4.58736 0.5 4.99986C0.5 5.41236 0.8375 5.74986 1.25 5.74986H12.635L9.725 8.65986C9.4325 8.95236 9.4325 9.42486 9.725 9.71736C10.0175 10.0099 10.49 10.0099 10.7825 9.71736L14.975 5.52486C15.2675 5.23236 15.2675 4.75986 14.975 4.46736L10.775 0.282363C10.49 -0.0101367 10.01 -0.0101367 9.7175 0.282363Z' fill='%23162D52'/%3E%3C/svg%3E") no-repeat center;
    mask: url("data:image/svg+xml,%3Csvg width='16' height='10' viewBox='0 0 16 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.7175 0.282363C9.425 0.574863 9.425 1.04736 9.7175 1.33986L12.6275 4.24986H1.25C0.8375 4.24986 0.5 4.58736 0.5 4.99986C0.5 5.41236 0.8375 5.74986 1.25 5.74986H12.635L9.725 8.65986C9.4325 8.95236 9.4325 9.42486 9.725 9.71736C10.0175 10.0099 10.49 10.0099 10.7825 9.71736L14.975 5.52486C15.2675 5.23236 15.2675 4.75986 14.975 4.46736L10.775 0.282363C10.49 -0.0101367 10.01 -0.0101367 9.7175 0.282363Z' fill='%23162D52'/%3E%3C/svg%3E") no-repeat center;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.slick-prev {
    left: -50px;
    transform: translateY(-50%) rotate(-180deg);
}

[dir=rtl] .slick-prev {
    left: auto;
    right: -50px;
}

.slick-next {
    right: -50px;
}

[dir=rtl] .slick-next {
    left: -50px;
    right: auto;
}

.slick-arrow.slick-hidden {
    display: none;
}

/* Responsive Design */
@media (max-width: 768px) {
    .section-my-reviews__content-wrapper h2 {
        font-size: 2rem;
    }
    
    .section-my-reviews__review-item-card {
        padding: 20px 15px;
    }
    
    .section-my-reviews__review-item-avatar {
        width: 80px;
        height: 80px;
    }
    
    .author-first-letter {
        font-size: 32px;
    }
    
    .section-my-reviews__review-item-author {
        font-size: 16px;
    }
    
    .section-my-reviews__description-wrapper {
        font-size: 14px;
    }
    
    /* Slider specific mobile styles */
    .slick-prev {
        left: -40px;
    }
    
    .slick-next {
        right: -40px;
    }
    
    .slick-prev,
    .slick-next {
        width: 40px;
        height: 40px;
    }
    
    .slick-prev:before,
    .slick-next:before {
        font-size: 16px;
    }
}

@media (max-width: 480px) {
    .shell {
        padding: 0 10px;
    }
    
    .section-my-reviews__content-wrapper h2 {
        font-size: 1.8rem;
    }
    
    .section-my-reviews__review-item-avatar {
        width: 60px;
        height: 60px;
    }
    
    .author-first-letter {
        font-size: 24px;
    }
    
    /* Hide slider arrows on mobile */
    .slick-prev,
    .slick-next {
        display: none !important;
    }
    
    .slick-dots {
        bottom: -30px;
    }
    
    /* Grid layout adjustments on mobile */
    .section-my-reviews__grid-layout-wrapper {
        gap: 45px 30px; /* Reduced vertical gap for mobile */
        padding: 15px 0;
    }
    .section-my-reviews  .slick-dots li{
        padding:0 5px;
        margin:0;
    }
}