@use "../abstracts/variables" as vars;

/* ===========================
   Testimonial 2
   =========================== */
.testimonial2 {
    position: relative;
    background-color: vars.$color-white;

    &__subtitle {
        font-family: vars.$font-family-base;
        font-weight: 600;
        font-size: vars.rem(14);
        line-height: 100%;
        letter-spacing: 0.1em;
        text-transform: uppercase;
        color: #0073E6;
        display: block;
        margin-bottom: vars.rem(16);
    }

    &__title {
        font-family: vars.$font-family-base;
        font-weight: 800;
        font-size: clamp(vars.rem(28), 4vw + 1rem, vars.rem(48));
        line-height: 1.15;
        letter-spacing: -0.02em;
        color: vars.$color-heading;
    }

    &__nav {
        display: flex;
        gap: vars.rem(0);
        justify-content: flex-end;
        align-items: center;

        @media (max-width: 991px) {
            justify-content: flex-start;
        }

        .swiper-nav-prev,
        .swiper-nav-next {
            width: vars.rem(100);
            height: vars.rem(70);
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            transition: all 0.3s ease;
            font-size: vars.rem(20);
            border: 1px solid #f0f0f0;
            background-color: #F4F7FA;
            color: vars.$color-heading;


            @media (max-width: 1199px) {
                width: vars.rem(70);
                height: vars.rem(50);
            }

            &:hover {
                background-color: #0073E6;
                color: vars.$color-white;
                border-color: #0073E6;
            }

            &.swiper-button-disabled {
                opacity: 0.5;
                cursor: default;

                &:hover {
                    background-color: #F4F7FA;
                    color: vars.$color-heading;
                    border-color: #f0f0f0;
                }
            }
        }

        .swiper-nav-prev {
            order: 2;
            border-top-right-radius: 50px;
            border-bottom-right-radius: 50px;
        }

        .swiper-nav-next {
            order: 1;
            background-color: #0073E6;
            color: vars.$color-white;
            border-top-left-radius: 50px;
            border-bottom-left-radius: 50px;
        }
    }

    &__card {
        background-color: vars.$color-white;
        border: 1px solid #0073E6;
        border-radius: vars.rem(20);
        padding: 0 0 30px 0;
        margin-top: vars.rem(50);
        height: 100%;
        display: flex;
        flex-direction: column;
        transition: transform 0.3s ease;
        overflow: hidden;

        @media (max-width: 991px) {
            padding: vars.rem(20);
            margin-top: 30px;
        }

        &:hover {
            transform: translateY(-5px);
        }
    }

    &__header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: vars.rem(35);
        gap: vars.rem(20);
        background-color: #EFF3FA;
        padding: 10px 0 20px 20px;
        border-radius: 15px;

        @media (max-width: 1024px) {
            padding: 10px 15px 15px 10px;
            gap: vars.rem(10);
        }

        @media (max-width: 767px) {
            flex-direction: column;
            align-items: flex-start;
        }
    }

    &__quote-wrap {
        display: flex;
        align-items: center;
        gap: vars.rem(25);

        @media (max-width: 1024px) {
            gap: vars.rem(15);
        }
    }

    &__quote-icon {
        width: vars.rem(75);
        height: vars.rem(75);
        background-color: #fff;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;

        @media (max-width: 1024px) {
            width: vars.rem(50);
            height: vars.rem(50);
        }

        img {
            max-width: vars.rem(45);

            @media (max-width: 1024px) {
                max-width: vars.rem(30);
            }
        }
    }

    &__rating-info {
        display: flex;
        flex-direction: column;
        gap: vars.rem(8);
    }

    &__stars {
        display: flex;
        gap: vars.rem(4);
        color: #0073E6;
        font-size: vars.rem(14);
    }

    &__rating-text {
        font-family: vars.$font-family-base;
        font-weight: 700;
        font-size: vars.rem(14);
        color: vars.$color-heading;
        letter-spacing: 0.05em;

        @media (max-width: 1024px) {
            font-size: vars.rem(12);
        }
    }

    &__user-box {
        display: flex;
        align-items: center;
        background-color: #191825;
        padding: vars.rem(12) vars.rem(12) vars.rem(12) vars.rem(35);
        border-radius: vars.rem(50) vars.rem(50) vars.rem(50) vars.rem(50); //pill shape
        position: relative;
        min-width: vars.rem(240);
        overflow: hidden;

        @media (max-width: 767px) {
            margin-left: 0;
            padding: vars.rem(12) vars.rem(12) vars.rem(12) vars.rem(20);
        }

    }

    &__user-text {
        display: flex;
        justify-content: flex-end;
        flex-direction: column;
        text-align: end;
        margin-right: vars.rem(15);
    }

    &__user-label {
        font-family: vars.$font-family-base;
        font-weight: 600;
        font-size: vars.rem(14);
        letter-spacing: 0.1em;
        text-transform: uppercase;
        color: #9DA6AE;
        margin-bottom: vars.rem(5);

        @media (max-width: 1024px) {
            font-size: vars.rem(10);
        }
    }

    &__user-name {
        font-family: vars.$font-family-base;
        font-weight: 700;
        font-size: vars.rem(24);
        color: vars.$color-white;
        white-space: nowrap;

        @media (max-width: 1024px) {
            font-size: vars.rem(16);
        }
    }

    &__user-thumb {
        width: vars.rem(65);
        height: vars.rem(65);
        border-radius: 50%;
        border: 2px solid rgba(255, 255, 255, 0.2);
        overflow: hidden;
        flex-shrink: 0;

        img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
    }

    &__desc {
        font-family: vars.$font-family-base;
        font-weight: 500;
        font-size: vars.rem(16);
        line-height: vars.rem(28);
        color: vars.$color-text2;
        text-align: center;
        margin-bottom: 0;
        padding: 0 vars.rem(20);

        @media (max-width: 575px) {
            padding: 0;
            text-align: left;
        }
    }
}