/**
 * Testimonials grid (homepage section + /testimonials/ page). RTL.
 *
 * @since 2.1.0
 */

.ez-tst-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
    max-width: 1200px;
    margin-inline: auto;
}

.ez-tst-card {
    position: relative;
    display: flex;
    flex-direction: column;
    background: var(--wp--preset--color--surface, #fff);
    border: 1px solid var(--wp--preset--color--border, #e2e8f0);
    border-radius: 16px;
    padding: 2rem 1.75rem 1.5rem;
    box-shadow: var(--wp--preset--shadow--card, 0 1px 3px rgba(0, 0, 0, .1));
    transition: transform .25s ease, box-shadow .25s ease;
}

.ez-tst-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--wp--preset--shadow--card-hover, 0 10px 25px rgba(0, 0, 0, .1));
}

.ez-tst-card__quote-mark {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 3rem;
    line-height: 1;
    color: var(--wp--preset--color--secondary, #4a90d9);
    opacity: .35;
    margin-bottom: .5rem;
}

.ez-tst-card__quote {
    flex: 1;
    margin: 0 0 1.5rem;
    font-size: 1.0625rem;
    line-height: 1.9;
    color: var(--wp--preset--color--text, #1e293b);
}

.ez-tst-card__author {
    display: flex;
    align-items: center;
    gap: .85rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--wp--preset--color--border, #e2e8f0);
}

.ez-tst-card__avatar {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-weight: 700;
    font-size: 1.1rem;
    color: #fff;
    background: var(--wp--preset--gradient--primary-gradient, linear-gradient(135deg, #1e3a5f, #2d4a73));
}

.ez-tst-card__meta {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
}

.ez-tst-card__name {
    font-weight: 700;
    color: var(--wp--preset--color--primary, #1e3a5f);
}

.ez-tst-card__title {
    font-size: .8125rem;
    color: var(--wp--preset--color--text-muted, #64748b);
}

.ez-tst-card__badge {
    flex: 0 0 auto;
    font-size: .75rem;
    font-weight: 600;
    color: var(--wp--preset--color--secondary, #4a90d9);
    background: var(--wp--preset--color--surface-alt, #f8fafc);
    border-radius: 999px;
    padding: .25rem .65rem;
}

@media (max-width: 980px) {
    .ez-tst-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 640px) {
    .ez-tst-grid {
        grid-template-columns: 1fr;
        max-width: 480px;
    }
}
