/* Landing "testimonials" block — modern card slider (Swiper).
   Self-contained: stars + social icons are inline SVGs so it doesn't depend on
   other stylesheets. Loaded after the legacy testimonials CSS so it wins. */

.testimonials {
    --t-accent: #66599a;
    --t-accent-dark: #50447e;
    --t-lime: #cdea68;
    --t-ink: #2a2a2a;
    --t-muted: #6b6b6b;
    --t-card: #fff;
    padding: 56px 0;
}

.testimonials .testimonial-header {
    text-align: center;
    max-width: 760px;
    margin: 0 auto 36px;
}

.testimonials .testimonial-header-title {
    margin-bottom: 12px;
}

.testimonials .testimonial-header-description {
    color: var(--t-muted);
}

/* ---- slider wrap + gutters for nav ---- */
.testimonials-slider-wrap {
    position: relative;
    padding: 0 56px;
}

.testimonials-slider {
    --swiper-theme-color: #66599a;
    position: relative;
    overflow: hidden;
    padding-bottom: 52px;
}

.testimonials-slider .swiper-wrapper {
    align-items: stretch;
}

.testimonials-slider .swiper-slide {
    height: auto;
    display: flex;
    box-sizing: border-box;
}

/* ---- card ---- */
.testimonials-card {
    display: flex;
    flex-direction: column;
    width: 100%;
    background: var(--t-card);
    border-radius: 18px;
    box-shadow: 0 14px 36px rgba(40, 30, 80, .1);
    padding: 28px 28px 24px;
    box-sizing: border-box;
}

/* stars */
.testimonials-card .stars {
    display: flex;
    gap: 4px;
    margin-bottom: 16px;
}

.testimonials-card .span-star {
    width: 18px;
    height: 18px;
    display: inline-block;
    background: no-repeat center/contain
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ffb400'%3E%3Cpath d='M12 2l2.9 6.26L22 9.27l-5 4.87L18.18 22 12 18.56 5.82 22 7 14.14l-5-4.87 7.1-1.01z'/%3E%3C/svg%3E");
}

/* quote */
.testimonials-card .testimonials-item-content {
    flex: 1 1 auto;
    color: #3a3a44;
    font-size: 15px;
    line-height: 1.7;
    margin-bottom: 22px;
}

.testimonials-card .testimonials-item-content p:last-child {
    margin-bottom: 0;
}

/* footer: avatar + meta */
.testimonials-card .testimonials-item-footer {
    display: flex;
    align-items: center;
    gap: 14px;
    padding-top: 18px;
    border-top: 1px solid #efeef6;
}

.testimonials-card .testimonials-item-image {
    flex-shrink: 0;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    overflow: hidden;
    background: var(--t-lime);
}

.testimonials-card .testimonials-item-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.testimonials-card .testimonials-item-name {
    font-family: "Roboto Slab", serif;
    font-weight: 700;
    font-size: 16px;
    color: var(--t-accent-dark);
    line-height: 1.2;
}

.testimonials-card .testimonials-item-heading {
    font-size: 13px;
    color: var(--t-muted);
    margin-top: 2px;
    line-height: 1.35;
}

/* social links */
.testimonials-card .testimonials-links {
    display: flex;
    gap: 8px;
    margin-top: 8px;
}

.testimonials-card .testimonials-links a {
    width: 26px;
    height: 26px;
    border-radius: 6px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 16px 16px;
    background-color: #f1f0f8;
    transition: transform .15s ease, background-color .15s ease;
}

.testimonials-card .testimonials-links a:hover {
    transform: translateY(-2px);
}

.testimonials-card .testimonial-linked {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%230a66c2'%3E%3Cpath d='M19 3a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14zM8.34 9.67H5.67V18h2.67V9.67zM7 5.5a1.55 1.55 0 100 3.1 1.55 1.55 0 000-3.1zM18.34 18v-4.57c0-2.45-1.31-3.59-3.06-3.59a2.64 2.64 0 00-2.39 1.31h-.04V9.67h-2.56V18h2.67v-4.12c0-1.09.21-2.14 1.56-2.14 1.33 0 1.35 1.24 1.35 2.21V18h2.47z'/%3E%3C/svg%3E");
}

.testimonials-card .testimonial-law-society {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2350447e'%3E%3Cpath d='M12 2 4 5v6c0 5 3.4 9.3 8 11 4.6-1.7 8-6 8-11V5l-8-3zm0 2.2 6 2.25V11c0 4-2.6 7.6-6 9.05C8.6 18.6 6 15 6 11V6.45L12 4.2z'/%3E%3C/svg%3E");
}

.testimonials-card .testimonial-youtube {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23cc0000'%3E%3Cpath d='M23 12s0-3.2-.4-4.7a2.5 2.5 0 00-1.77-1.77C19.32 5.13 12 5.13 12 5.13s-7.32 0-8.83.4A2.5 2.5 0 001.4 7.3C1 8.8 1 12 1 12s0 3.2.4 4.7a2.5 2.5 0 001.77 1.77c1.51.4 8.83.4 8.83.4s7.32 0 8.83-.4a2.5 2.5 0 001.77-1.77C23 15.2 23 12 23 12zM9.75 15.02V8.98L15 12l-5.25 3.02z'/%3E%3C/svg%3E");
}

/* ---- nav + pagination ---- */
.testimonials-slider-wrap .swiper-button-prev,
.testimonials-slider-wrap .swiper-button-next {
    position: absolute;
    top: 44%;
    width: 46px;
    height: 46px;
    margin-top: 0;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 8px 22px rgba(40, 30, 80, .16);
    --swiper-navigation-size: 18px;
    color: #66599a;
    transition: background .15s ease, color .15s ease, transform .15s ease;
    z-index: 5;
}

.testimonials-slider-wrap .swiper-button-prev { left: 4px; }
.testimonials-slider-wrap .swiper-button-next { right: 4px; }

.testimonials-slider-wrap .swiper-button-prev::after,
.testimonials-slider-wrap .swiper-button-next::after {
    font-size: 17px;
    font-weight: 800;
}

.testimonials-slider-wrap .swiper-button-prev:hover,
.testimonials-slider-wrap .swiper-button-next:hover {
    background: #66599a;
    color: #fff;
    transform: scale(1.06);
}

.testimonials-slider-wrap .swiper-button-disabled {
    opacity: .35;
    pointer-events: none;
}

.testimonials-slider .swiper-pagination {
    bottom: 8px;
}

.testimonials-slider .swiper-pagination-bullet {
    background: #c9c3e0;
    opacity: 1;
}

.testimonials-slider .swiper-pagination-bullet-active {
    background: #66599a;
}

.testimonials .testimonial-action {
    text-align: center;
    margin-top: 30px;
}

@media (max-width: 991px) {
    .testimonials-slider-wrap {
        padding: 0 46px;
    }
}

@media (max-width: 600px) {
    .testimonials {
        padding: 40px 0;
    }

    .testimonials-slider-wrap {
        padding: 0;
    }

    .testimonials-slider-wrap .swiper-button-prev,
    .testimonials-slider-wrap .swiper-button-next {
        display: none;
    }
}
