/* AAW Testimonial Carousel: plugin CSS (same layout, sizes and 3D setup), coloured with the theme palette. */
#testimonials { overflow: hidden; }

.aaw-carousel-wrapper { width: 100%; height: 450px; position: relative; display: flex; align-items: center; justify-content: center; overflow: visible; }
.aaw-carousel { width: 100%; height: 100%; position: absolute; top: 10%; display: flex; align-items: center; justify-content: center; perspective: 50000px; perspective-origin: 50% -1000%; transform-style: preserve-3d; }
.aaw-carousel-item { width: 350px; height: 250px; position: absolute; top: 50%; transform-style: preserve-3d; transition: transform 0.8s ease, top 0.8s ease; }

.aaw-card-face { position: absolute; width: 100%; height: 100%; border-radius: 20px; backface-visibility: hidden; -webkit-backface-visibility: hidden; border: 1px solid color-mix(in oklab, var(--primary) 32%, rgba(255,255,255,.12)); }
.aaw-card-front { background: linear-gradient(135deg, color-mix(in oklab, var(--primary) 9%, transparent), rgba(255,255,255,0)); backdrop-filter: blur(5px); -webkit-backdrop-filter: blur(5px); box-shadow: 0 8px 32px 0 rgba(0,0,0,0); padding: 25px; display: flex; flex-direction: column; justify-content: space-between; text-align: left; }
.aaw-card-back { background: linear-gradient(135deg, color-mix(in oklab, var(--primary) 9%, transparent), rgba(255,255,255,0)); backdrop-filter: blur(5px); -webkit-backdrop-filter: blur(5px); transform: rotateY(180deg); }

/* Header */
.aaw-testimonial-header { display: flex; gap: 10px; align-items: center; }
.aaw-quote-icon { width: 44px; height: 32px; margin-left: auto; flex: none; color: var(--primary); }
.aaw-tc-avatar { display: grid; place-items: center; height: 50px; width: 50px; border-radius: 50%; overflow: hidden; flex-shrink: 0; background-image: var(--gradient-accent); color: var(--primary-foreground); font-family: var(--font-display); font-size: 14px; font-weight: 600; }
.aaw-tc-avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
.aaw-testimonial-title { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
#testimonials .aaw-testimonial-name { font-family: inherit; font-size: 18px; font-weight: 500; color: var(--foreground); margin: 0; padding: 0; line-height: 1.3; letter-spacing: 0; }
#testimonials .aaw-testimonial-role { font-size: 14px; font-weight: 400; color: var(--muted-foreground); margin: 0; padding: 0; line-height: 1.3; }
#testimonials .aaw-testimonial-text { font-size: 16px; font-weight: 300; color: var(--foreground); margin: 0; padding: 0; line-height: 1.6; }

/* Navigation */
.aaw-carousel-nav { display: inline-grid; place-items: center; width: 70px; height: 70px; cursor: pointer; padding: 0; position: absolute; top: 40%; background: rgba(255,255,255,0); transform: translateY(-50%); box-shadow: 0 5px 15px rgba(0,0,0,.3); border-radius: 50px; border: 1px solid color-mix(in oklab, var(--primary) 40%, rgba(255,255,255,.15)); color: var(--foreground); transition: background .3s ease, color .3s ease; z-index: 100; }
.aaw-carousel-nav:focus { outline: none; }
.aaw-carousel-nav:hover, .aaw-carousel-nav:focus-visible { background: var(--primary); color: var(--primary-foreground); }
.aaw-prev { left: 20px; }
.aaw-next { right: 20px; }

/* Pagination dots */
.aaw-carousel-dots { position: absolute; bottom: 15px; left: 50%; transform: translateX(-50%); display: flex; gap: 8px; z-index: 10; }
.aaw-carousel-dots span { width: 30px; height: 5px; background: rgba(255,255,255,.15); border-radius: 30px; cursor: pointer; transition: background .8s, width .4s; display: block; }
.aaw-carousel-dots span.active { width: 80px; height: 5px; background-image: var(--gradient-accent); border-radius: 30px; }

/* Responsive */
@media (max-width: 746px) {
  .aaw-carousel { perspective: 500000px; }
  .aaw-carousel-wrapper { height: 450px; overflow: hidden; }
  .aaw-carousel-item { height: 300px; }
  .aaw-carousel-nav { width: 50px; height: 50px; }
}
