Files
2026-03-26 15:52:12 +05:30

160 lines
4.4 KiB
CSS

/* ============================================================
TESTIMONIALS COMPONENT
3-column card grid with quote, avatar, name, role
============================================================ */
.testimonials {
padding: 6rem 0;
background-color: var(--color-bg);
transition: background-color 0.4s ease;
}
.testimonials-header {
text-align: center;
margin-bottom: 4rem;
}
.testimonials-header .section-subtitle {
margin: 0 auto;
}
/* ── Grid ──────────────────────────────────────────────── */
.testimonials-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 1.5rem;
align-items: start;
}
/* ── Card ──────────────────────────────────────────────── */
.testimonial-card {
background-color: var(--card-bg);
border: 1px solid var(--card-border);
border-radius: var(--radius-lg);
padding: 2rem;
display: flex;
flex-direction: column;
gap: 1.25rem;
position: relative;
transition: border-color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
}
.testimonial-card:hover {
border-color: var(--card-hover-border);
transform: translateY(-3px);
box-shadow: var(--color-card-shadow);
}
/* Offset second card slightly for visual interest */
.testimonials-grid .testimonial-card:nth-child(2) {
margin-top: 1.5rem;
}
/* ── Stars ─────────────────────────────────────────────── */
.testimonial-stars {
display: flex;
gap: 3px;
}
.testimonial-stars span {
color: var(--color-accent);
font-size: 0.9rem;
}
/* ── Quote mark ────────────────────────────────────────── */
.testimonial-quote-mark {
font-family: var(--font-heading);
font-size: 4rem;
line-height: 0.5;
color: var(--color-primary);
opacity: 0.3;
user-select: none;
}
/* ── Text ──────────────────────────────────────────────── */
.testimonial-text {
font-size: 0.93rem;
color: var(--color-text);
line-height: 1.8;
flex: 1;
}
/* ── Divider ───────────────────────────────────────────── */
.testimonial-divider {
height: 1px;
background-color: var(--color-border);
transition: background-color 0.3s ease;
}
/* ── Author ────────────────────────────────────────────── */
.testimonial-author {
display: flex;
align-items: center;
gap: 0.85rem;
}
.testimonial-avatar {
width: 42px;
height: 42px;
border-radius: 50%;
background-color: var(--color-primary-soft);
border: 2px solid var(--color-primary);
display: flex;
align-items: center;
justify-content: center;
font-size: 0.78rem;
font-weight: 800;
color: var(--color-primary);
flex-shrink: 0;
transition: all 0.3s ease;
}
.testimonial-card:hover .testimonial-avatar {
background-color: var(--color-primary);
color: var(--color-btn-text);
}
.testimonial-name {
font-size: 0.9rem;
font-weight: 700;
color: var(--color-heading);
margin-bottom: 0.15rem;
}
.testimonial-role {
font-size: 0.78rem;
color: var(--color-text-muted);
}
/* ── Featured card (middle) ────────────────────────────── */
.testimonial-card.is-featured {
border-color: var(--color-primary);
background: linear-gradient(160deg, var(--color-primary-soft) 0%, var(--card-bg) 50%);
}
.testimonial-card.is-featured::before {
content: 'Featured';
position: absolute;
top: -1px;
right: 1.5rem;
background-color: var(--color-primary);
color: var(--color-btn-text);
font-size: 0.68rem;
font-weight: 700;
letter-spacing: 0.08em;
text-transform: uppercase;
padding: 0.25rem 0.7rem;
border-radius: 0 0 var(--radius-sm) var(--radius-sm);
}
/* ── Responsive ─────────────────────────────────────────── */
@media (max-width: 900px) {
.testimonials-grid {
grid-template-columns: 1fr;
}
.testimonials-grid .testimonial-card:nth-child(2) {
margin-top: 0;
}
}