/* ===== Reviews Section ===== */
.reviews__section {
    padding: 80px 0;
}
.container {
    max-width: 1200px;
}
/* ===== Section Head ===== */
.reviews-sec-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    margin-bottom: var(--section-wraper-py);
    flex-wrap: wrap;
}

.reviews-heading {
    font-size: 35px;
    font-weight: 600;
    color: #1F2937;
    margin: 0;
    line-height: 1.3;
    flex: 1;
    min-width: 240px;
}

/* ===== Rating Bar ===== */
.rating-bar {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
    flex-wrap: wrap;
}

/* ── Star animation ── */
@keyframes starPop {
    0%        { transform: scale(1)    rotate(0deg);  }
    10%       { transform: scale(1.4)  rotate(12deg); }
    20%       { transform: scale(0.85) rotate(-5deg); }
    28%       { transform: scale(1.1)  rotate(3deg);  }
    36%, 100% { transform: scale(1)    rotate(0deg);  }
}

.rating-bar .rating-stars {
    display: inline-flex;
    align-items: center;
    gap: 3px;
}

.rating-bar .rating-stars .star {
    display: inline-block;
    width: 18px;
    height: 17px;
    animation: starPop 3s ease-in-out infinite;
}

.rating-bar .rating-stars .star::before {
    content: '';
    display: block;
    width: 18px;
    height: 17px;
    background: url("data:image/svg+xml,%3Csvg width='19' height='18' viewBox='0 0 19 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.64188 0.350464C9.53967 0.135864 9.32884 0 9.09798 0C8.86711 0 8.65627 0.135864 8.55407 0.350464L6.07114 5.56556L0.519365 6.40123C0.29093 6.43563 0.101103 6.6015 0.0297231 6.8291C-0.0416567 7.05671 0.0178595 7.30657 0.183181 7.47362L4.20058 11.5328L3.25193 17.265C3.21293 17.5009 3.30648 17.7393 3.4932 17.8799C3.68001 18.0206 3.92761 18.0391 4.13202 17.9278L9.09798 15.2214L14.064 17.9278C14.2683 18.0391 14.5159 18.0206 14.7028 17.8799C14.8896 17.7393 14.9831 17.5009 14.944 17.265L13.9954 11.5328L18.0128 7.47362C18.1781 7.30657 18.2376 7.05671 18.1662 6.8291C18.0948 6.6015 17.905 6.43563 17.6766 6.40123L12.1249 5.56556L9.64188 0.350464Z' fill='%23F59E0B'/%3E%3C/svg%3E") no-repeat center / contain;
}

.rating-bar .rating-stars .star:nth-child(1) { animation-delay: 0.0s; }
.rating-bar .rating-stars .star:nth-child(2) { animation-delay: 0.2s; }
.rating-bar .rating-stars .star:nth-child(3) { animation-delay: 0.4s; }
.rating-bar .rating-stars .star:nth-child(4) { animation-delay: 0.6s; }
.rating-bar .rating-stars .star:nth-child(5) { animation-delay: 0.8s; }

.rating-bar .rating-text {
    font-size: 15px;
    font-weight: 600;
    color: #1F2937;
}

.rating-bar .logo-pills {
    display: flex;
    align-items: center;
    gap: 10px;
}

.rating-bar .and-text {
    font-size: 14px;
    color: #6B7280;
}

.rating-bar .logo-pill {
    display: flex;
    align-items: center;
    gap: 6px;
    background: #fff;
    border: 1px solid #E5E7EB;
    border-radius: 100px;
    padding: 6px 14px 6px 12px;
}
.rating-bar .logo-pill span{
    font-family: Outfit;
font-weight: 400;
font-style: Regular;
font-size: 16px;
leading-trim: NONE;
line-height: 100%;
letter-spacing: 0%;
color: #676B7E;
}
.rating-bar .logo-pill img {
    vertical-align: middle;
    flex-shrink: 0;
}

.rating-bar .logo-pill a {
    font-size: 14px;
    font-weight: 500;
    color: #1F2937;
    text-decoration: none;
}

.rating-bar .logo-pill a:hover {
    text-decoration: underline;
}

/* ===== Reviews Swiper ===== */
.reviews-swiper-wrap {
    overflow: hidden;
}

.reviewsSwiper .swiper-slide {
    height: auto;
    padding: 12px 17px 17px;
}

/* ===== Review Card ===== */
.rv-card {
    max-width: 301px;
    width: 100%;
    background: #fff;
    border: 1px solid #DAE5F5;
    border-radius: 20px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    height: 100%;
    box-shadow: 0px 0px 19.5px 0px #DDE6FF;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.rv-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(58, 102, 212, 0.10);
}

/* Card header: avatar + reviewer info */
.rv-card-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 35px;
}

.rv-avatar {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: var(--color-primary, #3A66D4);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 600;
    flex-shrink: 0;
}

.rv-reviewer {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.rv-name {
    font-size: 15px;
    font-weight: 500;
    color: #1F2937;
    margin: 0;
}

.rv-subtitle {
    font-size: 13px;
    color: #676B7E;
    margin: 0;
}

/* Title */
.rv-title {
    font-size: 16px;
    font-weight: 500;
    color: #1F2937;
    margin-bottom: 15px;
    line-height: 1.4;
}

/* Review text */
.rv-text {
    font-size: 13px;
    font-weight: 400;
    color: #676B7E;
    line-height: 1.7;
    margin-bottom: 42px;
    flex: 1;
}

/* Footer: stars + time */
.rv-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-top: auto;
    padding-top: 15px;
    border-top: 1px solid #DEEFFF;
}

.rv-stars {
    display: flex;
    align-items: center;
    gap: 3px;
}

.rv-score {
    font-size: 14px;
    font-weight: 400;
    color: #676B7E;
    margin-left: 5px;
}

.rv-time {
    font-size: 12px;
    font-weight: 400;
    color: #676B7E;
    white-space: nowrap;
}

/* ===== Responsive ===== */
@media (max-width: 991px) {
    .reviews-sec-head {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
    }

    .rating-bar {
        flex-wrap: wrap;
        justify-content: center;
    }
}

@media (max-width: 767px) {
    .reviews__section {
        padding: 60px 0;
    }

    .reviews-heading {
        font-size: 26px;
    }

    .reviews-sec-head {
        margin-bottom: 32px;
    }
}

@media (max-width: 575px) {
    .reviews-heading {
        font-size: 24px;
        text-align: center;
    }

    .rating-bar .logo-pills {
        flex-wrap: wrap;
    }
    .rv-card-header{
        align-items: start;
        margin-bottom: 15px;
    }
    .rv-title{
            margin-bottom: 10px;
    }
    .rv-text {
    font-size: 14px;
       margin-bottom: 22px;
    flex: 1;
}
    .reviewsSwiper .swiper-slide {
    height: auto;
    padding: 12px 0px 17px 9px;
}
.rv-avatar{
        width: 35px;
    height: 35px;
    font-size: 14px;
}
}
