/* Testimonials page styles – lightweight, leveraging base.css */

.testimonial-hero {
  background: radial-gradient(1200px 600px at 10% 10%, color-mix(in oklab, var(--color-primary) 20%, transparent), transparent),
              linear-gradient(180deg, color-mix(in oklab, var(--color-accent) 10%, transparent), transparent 50%);
}
.hero-inner { display: grid; gap: var(--space-8); align-items: center; grid-template-columns: 1.1fr 0.9fr; }
@media (max-width: 900px) { .hero-inner { grid-template-columns: 1fr; } .hero-media { order: -1; } }
.hero-copy p { color: var(--color-muted); }
.hero-cta { display: flex; gap: var(--space-4); margin-top: var(--space-4); flex-wrap: wrap; }
.hero-media { aspect-ratio: 16 / 10; overflow: hidden; border-radius: var(--radius-xl); box-shadow: var(--shadow-lg); }

/* Table of contents */
.toc { padding-block: var(--space-6); }
.toc-list { display: flex; flex-wrap: wrap; gap: var(--space-3); }
.toc-list a { display: inline-block; padding: 8px 12px; border: 1px solid var(--gray-300); border-radius: var(--radius-full); background: var(--color-surface); color: var(--color-text); box-shadow: var(--shadow-sm); }
.toc-list a:hover { text-decoration: none; background: var(--gray-100); }

/* Wall of love image */
.wall-of-love { border-radius: var(--radius-xl); overflow: hidden; box-shadow: var(--shadow-lg); }
.wall-of-love img { width: 100%; height: auto; display: block; }

/* Review cards */
.reviews-grid { margin-top: var(--space-6); }
.review-card { position: relative; border-left: 6px solid color-mix(in oklab, var(--color-primary) 80%, var(--color-accent) 20%); }
.review-card blockquote { color: var(--color-text); }
.review-card .review-title { font-size: var(--fs-lg); }
.review-card .reviewer { color: var(--color-muted); font-size: var(--fs-sm); }
.review-card .tag { display: inline-block; padding: 2px 8px; border-radius: var(--radius-full); background: color-mix(in oklab, var(--color-success) 20%, transparent); color: var(--color-text); font-weight: 600; }
.rating { color: var(--color-warning); letter-spacing: 1px; }

/* Metrics */
.metric { text-align: center; }
.metric-value { font-size: var(--fs-3xl); font-weight: 800; }
.metric-label { color: var(--color-muted); }

/* Section media images */
.section-media { margin-block: var(--space-4) var(--space-2); border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-md); }
.section-media img { width: 100%; height: auto; }

/* Share opinion and closing CTA */
.share-opinion { margin-top: var(--space-6); display: flex; align-items: center; gap: var(--space-4); flex-wrap: wrap; }
.closing-cta .card { text-align: center; border-left: none; }

/* Section highlight when linked */
:target { scroll-margin-top: 96px; }
.section.highlight { animation: section-pulse 1.2s var(--ease-spring) both; }
@keyframes section-pulse { 0% { box-shadow: none; } 40% { box-shadow: var(--shadow-glow-primary); } 100% { box-shadow: none; } }
