/* ============================================================ TESTIMONIALS — LAYOUT B One large featured quote center-stage. Author selector row below — click to cycle testimonials. ============================================================ */ .testimonials-b { padding: 6rem 0; background-color: var(--color-surface); transition: background-color 0.4s ease; } .testimonials-b-header { text-align: center; margin-bottom: 4rem; } .testimonials-b-header .section-subtitle { margin: 0 auto; } /* ── Big quote card ────────────────────────────────────── */ .testimonials-b-stage { max-width: 820px; margin: 0 auto 3rem; background-color: var(--card-bg); border: 1px solid var(--card-border); border-radius: var(--radius-xl); padding: 3.5rem; text-align: center; position: relative; overflow: hidden; transition: border-color 0.3s ease; box-shadow: var(--color-card-shadow); } .testimonials-b-stage::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, var(--color-primary), var(--color-accent)); } .testimonials-b-quote-mark { font-family: var(--font-heading); font-size: 5rem; line-height: 0.6; color: var(--color-primary); opacity: 0.2; margin-bottom: 1.5rem; display: block; } /* Testimonial slides */ .testimonials-b-slide { display: none; } .testimonials-b-slide.is-active { display: block; animation: tb-fade-in 0.4s ease; } @keyframes tb-fade-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } } .testimonials-b-text { font-size: 1.2rem; color: var(--color-text); line-height: 1.8; font-style: italic; margin-bottom: 2rem; } .testimonials-b-stars { display: flex; gap: 3px; justify-content: center; margin-bottom: 1.5rem; } .testimonials-b-stars span { color: var(--color-accent); font-size: 1rem; } .testimonials-b-author { display: flex; align-items: center; justify-content: center; gap: 0.85rem; } .testimonials-b-avatar { width: 44px; height: 44px; 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.8rem; font-weight: 800; color: var(--color-primary); } .testimonials-b-name { font-size: 0.92rem; font-weight: 700; color: var(--color-heading); margin-bottom: 0.15rem; } .testimonials-b-role { font-size: 0.8rem; color: var(--color-text-muted); } /* ── Author selector row ───────────────────────────────── */ .testimonials-b-selectors { display: flex; align-items: center; justify-content: center; gap: 1rem; flex-wrap: wrap; } .testimonials-b-selector { display: flex; align-items: center; gap: 0.6rem; padding: 0.6rem 1.1rem; border-radius: 99px; border: 1.5px solid var(--color-border); background: none; cursor: pointer; font-family: var(--font-body); font-size: 0.82rem; font-weight: 600; color: var(--color-text-muted); transition: all 0.2s ease; } .testimonials-b-selector.is-active, .testimonials-b-selector:hover { border-color: var(--color-primary); color: var(--color-primary); background-color: var(--color-primary-soft); } .testimonials-b-sel-avatar { width: 24px; height: 24px; border-radius: 50%; background-color: var(--color-surface-2); display: flex; align-items: center; justify-content: center; font-size: 0.6rem; font-weight: 800; color: var(--color-text); flex-shrink: 0; transition: all 0.2s ease; } .testimonials-b-selector.is-active .testimonials-b-sel-avatar, .testimonials-b-selector:hover .testimonials-b-sel-avatar { background-color: var(--color-primary); color: var(--color-btn-text); }