/* Testimonials Section Styles */
.section-testimonials {
    padding: 3rem 1rem;
    /* py-12 px-4 */
    background-color: #F4EDE5;
    font-family: inherit;
}

.section-testimonials .container {
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 1rem;
    padding-right: 1rem;
}

/* Header */
.testimonials-header {
    text-align: center;
    margin-bottom: 2rem;
    /* mb-8 */
}

.testimonials-title {
    font-size: 1.875rem;
    /* text-3xl */
    color: #233D7C;
    margin-bottom: 0.75rem;
    /* mb-3 */
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    font-weight: 600;
}

.testimonials-subtitle {
    font-size: 1rem;
    /* text-base */
    color: #5A6D8F;
    max-width: 42rem;
    /* max-w-2xl */
    margin-left: auto;
    margin-right: auto;
    padding-left: 1rem;
    padding-right: 1rem;
}

/* Stack Layout (Mobile) */
.testimonials-stack {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    max-width: 32rem;
    /* max-w-lg */
    margin-left: auto;
    margin-right: auto;
}

/* Card Styles */
/* Card Styles */
.testimonial-card {
    background-color: #fff;
    border-radius: 1rem;
    /* More rounded */
    padding: 1.5rem;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03);
    /* Softer shadow */
    height: auto;
    /* Let content dictate height */
    border: 1px solid rgba(0, 0, 0, 0.03);
    /* Subtle border for structure */
    display: flex;
    flex-direction: column;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.testimonial-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.08), 0 4px 6px -2px rgba(0, 0, 0, 0.04);
}

.testimonial-header-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1rem;
}

.testimonial-quote-icon {
    width: 2rem;
    height: 2rem;
    color: #D5EAD6;
    flex-shrink: 0;
}

.testimonial-rating {
    display: flex;
    gap: 0.25rem;
}

.testimonial-star-icon {
    width: 1rem;
    height: 1rem;
    color: #A77D5C;
    fill: #A77D5C;
}

.testimonial-text {
    font-size: 0.95rem;
    /* Slightly larger text for readability */
    color: #4a5568;
    margin-bottom: 1.25rem;
    line-height: 1.6;
    font-style: italic;
    flex-grow: 1;
}

.testimonial-author {
    font-size: 0.9rem;
    color: #233D7C;
    font-weight: 700;
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 0.025em;
}

/* Carousel Layout (Desktop) - Hidden by default */
.testimonials-carousel-wrapper {
    display: none;
    max-width: 80rem;
    margin-left: auto;
    margin-right: auto;
    padding-bottom: 3rem;
}

/* Slick Customization */
.testimonials-slider .slick-slide {
    padding: 1rem;
    /* Add spacing between slides */
    height: auto;
}

.testimonials-slider .slick-track {
    display: flex;
    align-items: flex-start;
    /* Don't stretch to max height */
}

/* Slick Arrows */
.testimonials-slider .slick-prev,
.testimonials-slider .slick-next {
    width: 2rem;
    /* 32px - Reduced from 3rem */
    height: 2rem;
    background-color: #233D7C !important;
    border-radius: 50%;
    z-index: 10;
    transition: background-color 0.3s ease;
    display: flex !important;
    align-items: center;
    justify-content: center;
}

.testimonials-slider .slick-prev:before,
.testimonials-slider .slick-next:before {
    font-size: 1rem;
    /* Reduced from 1.5rem */
    opacity: 1;
    color: #fff !important;
    line-height: normal;
    /* Asegura centrado */
}


@media (min-width: 640px) {
    .section-testimonials {
        padding-top: 4rem;
        /* sm:py-16 */
        padding-bottom: 4rem;
    }

    .section-testimonials .container {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }

    .testimonials-header {
        margin-bottom: 3rem;
        /* sm:mb-12 */
    }

    .testimonials-title {
        font-size: 2.25rem;
        /* sm:text-4xl */
        margin-bottom: 1rem;
    }

    .testimonials-subtitle {
        font-size: 1.125rem;
        /* sm:text-lg */
    }

    /* Hide Stack, Show Carousel */
    .testimonials-stack {
        display: none;
    }

    .testimonials-carousel-wrapper {
        display: block;
    }

    /* Update Card Styles for Desktop */
    .testimonial-card {
        border-radius: 1rem;
        /* rounded-2xl */
        padding: 1.75rem;
        /* md:p-8 --> p-7 approx */
        transition: box-shadow 0.3s ease;
    }

    .testimonial-card:hover {
        box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
        /* hover:shadow-xl */
    }

    .testimonial-quote-icon {
        width: 2.5rem;
        /* w-10 */
        height: 2.5rem;
        /* h-10 */
    }

    .testimonial-star-icon {
        width: 1.25rem;
        /* w-5 */
        height: 1.25rem;
        /* h-5 */
    }

    .testimonial-text {
        font-size: 1rem;
        /* text-base */
        margin-bottom: 1.5rem;
        /* mb-6 */
    }

    .testimonial-author {
        font-size: 1rem;
        /* text-base */
    }
}

/* Responsive: MD (768px+) */
@media (min-width: 768px) {
    .section-testimonials {
        padding-top: 5rem;
        /* md:py-20 */
        padding-bottom: 5rem;
    }

    .testimonials-title {
        font-size: 3rem;
        /* md:text-5xl */
    }

    .testimonials-header {
        margin-bottom: 4rem;
        /* md:mb-16 */
    }

    .testimonial-card {
        padding: 2rem;
        /* md:p-8 */
    }
}