/* =========================================================
   Testimonials — modern carousel, mobile-first, accessible
   Scoped to #testimonials
   ========================================================= */
:root{
  --zenith-navy:#072e59;
  --zenith-orange:#f7941d;
  --zenith-text:#0f172a;
  --surface:#ffffff;
  --line:#e7ecf2;
  --shadow:0 12px 28px rgba(2,12,32,.08);
  --shadow-lg:0 18px 46px rgba(2,12,32,.14);
  --radius:16px;
}

#testimonials.testimonial-section{
  position:relative;
  padding: clamp(1.6rem, 3vw, 2.6rem) 1rem;
  background:
    radial-gradient(900px 520px at 8% -10%, rgba(11,58,111,.05) 0, transparent 55%),
    radial-gradient(700px 420px at 98% 0%, rgba(247,148,29,.06) 0, transparent 50%),
    linear-gradient(180deg,#f8fafc 0%, #f1f5fb 60%, #eef3f9 100%);
  color:var(--zenith-text);
}

#testimonials .t-shell{ max-width:1100px; margin-inline:auto; }
#testimonials .t-header{ text-align:center; }
#testimonials .section-title{ margin-bottom:.25rem; color:var(--zenith-navy); }
#testimonials .section-title::after{
  content:""; display:block; width:56px; height:3px; margin:.55rem auto 0;
  background:var(--zenith-navy); border-radius:3px; opacity:.9;
}
#testimonials .section-subtitle{ max-width:62ch; margin:.4rem auto 1.1rem; color:#4b5563; }

#testimonials .testimonialSwiper{
  /* Prevent horizontal overflow that causes page zoom-out */
  overflow-x: hidden;   /* or: overflow-x: clip; (modern Safari/Chrome) */
  overflow-y: visible;
  padding: .5rem .25rem 1.5rem;
}

/* Slide transitions for the “dim” effect */
#testimonials .swiper-slide{
  height:auto;
  transition: transform .45s ease, opacity .45s ease;
}
#testimonials .swiper-slide.is-dim{ transform: scale(.97); opacity:.9; }

/* Card */
#testimonials .t-card{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding: clamp(.9rem, 1.6vw, 1.15rem);
  box-shadow:var(--shadow);
  height:100%;
  display:flex; flex-direction:column;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
@media (hover:hover){
  #testimonials .t-card:hover{ transform:translateY(-3px); border-color:#dfe6ee; box-shadow:var(--shadow-lg); }
}

/* Decorative open-quote */
#testimonials .t-quote{
  width:44px; height:44px; border-radius:50%;
  display:grid; place-items:center;
  font-size:1.6rem; line-height:1; font-weight:700;
  color:#fff; background:linear-gradient(135deg, var(--zenith-navy), #0b3a6f);
  margin-bottom:.55rem;
}

/* Stars */
#testimonials .t-stars{
  color:#f59e0b; letter-spacing:.12em; font-size:1rem;
  margin-bottom:.4rem;
}

/* Review body */
#testimonials .t-text{ margin:0 0 .9rem; color:var(--zenith-text); line-height:1.6; }

/* Footer */
#testimonials .t-footer{
  margin-top:auto; padding-top:.7rem;
  border-top:1px solid var(--line);
  display:flex; flex-direction:column; gap:.15rem;
}
#testimonials .t-author{ color:var(--zenith-navy); }
#testimonials .t-meta{ color:#667085; font-size:.95rem; }

/* Pagination + arrows */
#testimonials .swiper-pagination-bullets .swiper-pagination-bullet{
  width:8px; height:8px; background:#cfd8e3; opacity:1; margin:0 4px !important;
}
#testimonials .swiper-pagination-bullet-active{ background:var(--zenith-navy); }

#testimonials .swiper-button-prev,
#testimonials .swiper-button-next{
  width:40px; height:40px; border-radius:50%;
  background:var(--zenith-navy); color:#fff;
  box-shadow:0 6px 18px rgba(7,46,89,.25);
}
#testimonials .swiper-button-prev:after,
#testimonials .swiper-button-next:after{ font-size:16px; }
@media (max-width:700px){
  #testimonials .swiper-button-prev,
  #testimonials .swiper-button-next{ width:36px; height:36px; }
}

/* CTA */
#testimonials .t-cta{ display:flex; justify-content:center; margin-top:clamp(1rem, 2vw, 1.25rem); }
#testimonials .t-btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:.62rem 1rem; border-radius:999px; text-decoration:none; font-weight:600;
  border:1px solid var(--line); background:#fff; color:var(--zenith-text);
  transition:transform .15s ease, border-color .15s ease, background .15s ease, box-shadow .15s ease, color .15s ease;
}
#testimonials .t-btn:hover{ transform:translateY(-1px); background:#f1f5f9; border-color:#d7e0ea; }
#testimonials .t-btn--primary{
  color:#fff; border-color:transparent;
  background:linear-gradient(180deg, var(--zenith-orange) 0%, #ffb457 100%);
  box-shadow:0 8px 20px rgba(247,148,29,.22), inset 0 1px 0 rgba(255,255,255,.25);
}
#testimonials .t-btn--primary:hover,
#testimonials .t-btn--primary:focus-visible{
  transform:translateY(-2px);
  background:linear-gradient(180deg, #f38a0a 0%, #ffa83b 100%);
  box-shadow:0 14px 28px rgba(247,148,29,.28), inset 0 1px 0 rgba(255,255,255,.3);
  color:#fff; outline:0;
}

/* Motion-respect */
@media (prefers-reduced-motion: reduce){
  #testimonials .swiper-slide,
  #testimonials .t-card,
  #testimonials .t-btn{ transition:none !important; }
}

/* Utility */
#testimonials .sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}
