/**
 * Edufin - Testimonials Section Styles
 * Social Proof section with dark green background and horizontal scroll cards
 */

/* =================================
   SECTION CONTAINER
   ================================= */

.testimonials-section {
    position: relative;
    background-color: var(--color-primary-green-dark);
    padding: var(--space-20) var(--space-4);
    overflow: hidden;
}

/* Decorative background arc shapes */
.testimonials-bg-shape {
    position: absolute;
    width: 100vw;
    height: 46.625rem;
    border: 2px solid rgba(255, 255, 255, 0.4);
    border-radius: 62.5rem 62.5rem 0 0;
    background: linear-gradient(
        to bottom,
        rgba(161, 161, 161, 0.09) 0%,
        rgba(161, 161, 161, 0.2) 100%
    );
    opacity: 0.5;
    pointer-events: none;
}

.testimonials-bg-shape--left {
    bottom: -40%;
    left: -45%;
}

.testimonials-bg-shape--right {
    top: -20%;
    right: -65%;
    transform: scaleY(-1);
}

/* =================================
   CONTENT CONTAINER
   ================================= */

.testimonials-container {
    position: relative;
    max-width: var(--container-width);
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: var(--space-16);
    z-index: 1;
}

/* =================================
   HEADER SECTION
   ================================= */

.testimonials-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-4);
    text-align: center;
}

/* Badge */
.testimonials-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: var(--space-1) var(--space-4);
    background-color: var(--color-primary-green-light);
    color: var(--color-primary-green-dark);
    font-size: var(--text-sm);
    font-weight: var(--font-medium);
    line-height: 1.714;
    border-radius: var(--radius-xl);
    border: 0.5px solid var(--color-primary-green-dark);
}

/* Title */
.testimonials-title {
    max-width: 50.625rem;
    font-size: var(--text-3xl);
    font-weight: var(--font-semibold);
    line-height: 1.167;
    color: var(--color-base-white);
    text-transform: capitalize;
    margin: 0;
}

/* Desktop: smaller title to fit on one line */
@media (min-width: 64rem) {
    .testimonials-title {
        font-size: 1.875rem;
    }
}

/* Subtitle */
.testimonials-subtitle {
    font-size: var(--text-xl);
    font-weight: var(--font-regular);
    line-height: 1.8;
    color: var(--color-base-white);
    margin: 0;
}

/* =================================
   CARDS HORIZONTAL SCROLL
   ================================= */

.testimonials-cards-wrapper {
    width: calc(100% + 2rem);
    margin-left: calc(var(--space-4) * -1);
    margin-right: calc(var(--space-4) * -1);
    padding-left: var(--space-5);
    padding-right: var(--space-5);
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.testimonials-cards-wrapper::-webkit-scrollbar {
    display: none;
}

.testimonials-cards {
    display: inline-flex;
    align-items: stretch;
    gap: var(--space-5);
    padding: var(--space-2) 0;
}

/* =================================
   TESTIMONIAL CARD
   ================================= */

.testimonial-card {
    display: flex;
    flex-direction: column;
    gap: var(--space-8);
    width: 24.1875rem;
    min-height: 17.5rem;
    padding: var(--space-8);
    background: var(--color-base-white);
    border-radius: var(--space-5);
    flex-shrink: 0;
    transition: transform var(--transition-base), box-shadow var(--transition-base);
}

.testimonial-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 32px 4px rgba(0, 0, 0, 0.12);
}

/* =================================
   TESTIMONIAL CONTENT
   ================================= */

.testimonial-content {
    flex: 1;
}

.testimonial-content p {
    margin: 0;
    font-size: var(--text-lg);
    font-weight: var(--font-regular);
    line-height: 1.667;
    color: var(--color-base-gray-text);
}

/* =================================
   AUTHOR SECTION
   ================================= */

.testimonial-author {
    display: flex;
    align-items: center;
    gap: var(--space-4);
}

/* Avatar */
.testimonial-avatar {
    width: 3.75rem;
    height: 3.75rem;
    border-radius: var(--radius-full);
    object-fit: cover;
    flex-shrink: 0;
}

.testimonial-avatar--placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--color-primary-green-light);
    color: var(--color-primary-green-dark);
    font-size: var(--text-xl);
    font-weight: var(--font-semibold);
}

/* Author Info */
.testimonial-author-info {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    flex: 1;
    min-width: 0;
}

.testimonial-author-name {
    font-size: var(--text-base);
    font-weight: var(--font-semibold);
    line-height: 1.25;
    color: var(--color-base-black);
}

.testimonial-author-role {
    font-size: var(--text-sm);
    font-weight: var(--font-regular);
    line-height: 1.714;
    color: var(--color-base-gray-text);
}

/* =================================
   SCROLL INDICATOR
   ================================= */

.testimonials-slider-indicator {
    display: none;
    align-items: center;
    justify-content: center;
    gap: var(--space-2);
}

.testimonials-indicator-dot {
    width: var(--space-2);
    height: var(--space-2);
    padding: 0;
    border: none;
    background-color: var(--color-primary-green-light);
    border-radius: var(--radius-full);
    cursor: pointer;
    transition: all var(--transition-base);
    opacity: 0.6;
}

.testimonials-indicator-dot:hover {
    opacity: 1;
}

.testimonials-indicator-dot.is-active {
    width: var(--space-6);
    background-color: var(--color-primary-green-light);
    border-radius: 6.25rem;
    opacity: 1;
}

/* =================================
   RESPONSIVE STYLES
   ================================= */

/* Large screens - center cards if fewer than 3 */
@media (min-width: 1280px) {
    .testimonials-cards-wrapper {
        width: 100%;
        margin: 0;
        padding: 0;
        overflow-x: visible;
    }

    .testimonials-cards {
        display: flex;
        justify-content: center;
        padding: var(--space-2) 0;
    }

    .testimonials-slider-indicator {
        display: none;
    }
}

/* Tablet and below - enable horizontal scroll */
@media (max-width: 1279px) {
    .testimonials-slider-indicator {
        display: flex;
    }

    .testimonials-container {
        gap: var(--space-10);
    }
}

/* Tablet */
@media (max-width: 64rem) {
    .testimonials-section {
        padding: var(--space-16) var(--space-4);
    }

    .testimonials-title {
        font-size: 1.875rem;
        max-width: 37.5rem;
    }

    .testimonials-subtitle {
        font-size: var(--text-lg);
    }

    .testimonial-card {
        width: 21.25rem;
        padding: var(--space-6);
    }

    /* Adjust arc shapes for tablet */
    .testimonials-bg-shape {
        width: 62.5rem;
        height: 31.25rem;
    }

    .testimonials-bg-shape--left {
        bottom: -12.5rem;
        left: -25rem;
    }

    .testimonials-bg-shape--right {
        top: -6.25rem;
        right: -25rem;
    }
}

/* Mobile */
@media (max-width: 48rem) {
    .testimonials-section {
        padding: var(--space-12) var(--space-4);
    }

    .testimonials-header {
        gap: var(--space-3);
    }

    .testimonials-title {
        font-size: var(--space-6);
        line-height: 1.25;
    }

    .testimonials-subtitle {
        font-size: var(--text-base);
        line-height: 1.5;
    }

    .testimonial-card {
        width: 18.75rem;
        min-height: 16.25rem;
        padding: var(--space-5);
        gap: var(--space-6);
    }

    .testimonial-content p {
        font-size: var(--text-base);
        line-height: 1.625;
    }

    .testimonial-avatar {
        width: var(--space-12);
        height: var(--space-12);
    }

    .testimonial-author-name {
        font-size: var(--text-sm);
    }

    .testimonial-author-role {
        font-size: var(--text-xs);
    }

    /* Hide arc shapes on mobile for cleaner look */
    .testimonials-bg-shape {
        display: none;
    }
}

/* Small mobile */
@media (max-width: 30rem) {
    .testimonials-section {
        padding: var(--space-10) var(--space-3);
    }

    .testimonial-card {
        width: 17.5rem;
    }

    .testimonials-badge {
        font-size: var(--text-xs);
    }
}
