/* ============================================================================
   TESTIMONIALS PAGE STYLES
   BEM blocks: testimonials-hero, testimonials-stats, testimonials-section,
               testimonial-card, testimonials-cta
   ============================================================================ */

/* --- Hero Section --- */
.testimonials-hero {
    background: linear-gradient(135deg, var(--brand-cerulean) 0%, var(--brand-turquoise) 100%);
    padding: 4rem 0 3rem;
    color: var(--brand-white);
}

.testimonials-hero h1 {
    font-size: 2.25rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--brand-white) !important;
}

.testimonials-hero .lead {
    color: rgba(255, 255, 255, 0.85);
}

.testimonials-hero__subtitle {
    font-size: 0.9375rem;
    opacity: 0.9;
    color: rgba(255, 255, 255, 0.8);
}

/* --- Stats Section --- */
.testimonials-stats {
    background: linear-gradient(135deg, var(--brand-turquoise-50) 0%, var(--brand-cerulean-50) 100%);
    padding: 3rem 0;
    margin: 0;
    border-top: 1px solid var(--brand-turquoise-100);
    border-bottom: 1px solid var(--brand-turquoise-100);
}

.testimonials-stat__card {
    text-align: center;
    padding: 1.875rem;
    transition: transform var(--transition-base);
}

.testimonials-stat__card:hover {
    transform: translateY(-0.1875rem);
}

.testimonials-stat__number {
    font-size: 2.5rem;
    font-weight: 800;
    color: var(--brand-cerulean);
    display: block;
    letter-spacing: -0.03em;
    line-height: 1.1;
    margin-bottom: 0.375rem;
}

.testimonials-stat__label {
    color: var(--brand-tertiary-500);
    font-size: 0.9375rem;
    font-weight: 500;
}

/* --- Testimonials Section --- */
.testimonials-section {
    padding: 3rem 0;
    background: var(--brand-grey-100);
}

/* --- Testimonial Card --- */
.testimonial-card {
    background: var(--brand-white);
    border: 1px solid var(--border-light);
    border-radius: var(--border-radius-xl);
    padding: 1.875rem;
    margin-bottom: 1.5rem;
    box-shadow: var(--shadow-card);
    transition: box-shadow var(--transition-base),
                transform var(--transition-base),
                border-color var(--transition-base);
}

.testimonial-card:hover {
    box-shadow: var(--shadow-card-hover);
    transform: translateY(-0.25rem);
    border-color: var(--brand-turquoise-200);
}

/* --- Testimonial Header --- */
.testimonial__header {
    display: flex;
    align-items: center;
    margin-bottom: 1.25rem;
}

/* --- Testimonial Avatar --- */
.testimonial__avatar {
    width: 3.75rem;
    height: 3.75rem;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--brand-cerulean) 0%, var(--brand-turquoise) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--brand-white);
    font-size: 1.25rem;
    font-weight: 700;
    margin-right: 1.25rem;
    flex-shrink: 0;
}

/* --- Testimonial Info --- */
.testimonial__info h4 {
    margin: 0;
    font-size: 1.0625rem;
    font-weight: 700;
    color: var(--brand-black);
}

.testimonial__role {
    color: var(--brand-tertiary-500);
    font-size: 0.875rem;
    font-weight: 500;
    margin-top: 0.125rem;
}

/* --- Testimonial Rating --- */
.testimonial__rating {
    color: var(--brand-amber);
    font-size: 0.9375rem;
    margin-bottom: 0.9375rem;
    display: flex;
    gap: 0.125rem;
}

/* --- Testimonial Text --- */
.testimonial__text {
    color: var(--brand-tertiary-600);
    line-height: 1.75;
    font-size: 0.9375rem;
    font-style: italic;
    position: relative;
    padding-left: 1rem;
    border-left: 0.1875rem solid var(--brand-turquoise-200);
}

/* --- Testimonial Date --- */
.testimonial__date {
    color: var(--brand-tertiary-400);
    font-size: 0.8125rem;
    margin-top: 1rem;
}

/* --- Testimonial Category Badge --- */
.testimonial__category {
    display: inline-flex;
    align-items: center;
    background: var(--brand-turquoise-50);
    color: var(--brand-cerulean);
    padding: 0.3125rem 0.875rem;
    border-radius: var(--border-radius-full);
    font-size: 0.75rem;
    font-weight: 600;
    margin-bottom: 0.9375rem;
    letter-spacing: 0.03em;
    border: 1px solid var(--brand-turquoise-100);
}

/* --- CTA Box --- */
.testimonials-cta {
    background: linear-gradient(135deg, var(--brand-cerulean-50) 0%, var(--brand-turquoise-50) 100%);
    padding: 2.5rem;
    border-radius: var(--border-radius-xl);
    border: 1px solid var(--brand-turquoise-100);
}

.testimonials-cta__title {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--brand-cerulean);
}

.testimonials-cta__desc {
    font-size: 1rem;
    color: var(--brand-tertiary-600);
    line-height: 1.6;
}

.testimonials-cta__actions {
    margin-top: 0.5rem;
}

.testimonials-cta__btn {
    font-weight: 600;
    border-radius: var(--border-radius-full);
    padding: 0.625rem 1.5rem;
    transition: all var(--transition-base);
    background: var(--brand-cerulean) !important;
    border-color: var(--brand-cerulean) !important;
    color: var(--brand-white) !important;
}

.testimonials-cta__btn:hover {
    background: var(--brand-cerulean-600) !important;
    border-color: var(--brand-cerulean-600) !important;
    box-shadow: 0 0.375rem 1rem rgba(8, 103, 136, 0.3);
    transform: translateY(-0.0625rem);
}
