/* ==========================================================================
   Testimonials — "What Our Happy Clients Say" (reference design).
   Star cards with a large quote mark, quote text and client name + location
   (no avatar). Scoped to .dd-testi; injected in place of the source
   .homeTestimonials section on every page that has it. Content is the site's
   own real testimonials.
   ========================================================================== */
@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap");

.dd-testi {
  position: relative; background: #0a0a0a; overflow: hidden;
  padding-block: clamp(3.5rem, 7vw, 6.5rem) !important;
  font-family: "Manrope", system-ui, sans-serif;
}
.dd-testi * { box-sizing: border-box; }
.dd-testi__inner { max-width: 1200px; margin: 0 auto; padding-inline: clamp(1rem, 4vw, 2.5rem); }

/* header row (title + slider arrows) */
.dd-testi__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.dd-testi__nav { display: flex; gap: 10px; flex: 0 0 auto; }
.dd-testi__arrow {
  width: 44px; height: 44px; border-radius: 999px; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center;
  background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.14);
  color: #fff; font-size: 22px; line-height: 1; padding: 0 0 3px;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease;
}
.dd-testi__arrow:hover { background: rgba(255,255,255,0.1); border-color: rgba(255,255,255,0.3); transform: translateY(-1px); }
.dd-testi__arrow:active { transform: translateY(0); }

/* header */
.dd-testi__eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  font-weight: 600; font-size: 11px; letter-spacing: 3px; text-transform: uppercase; color: #8a8a8a;
}
.dd-testi__eyebrow::before { content: ""; width: 26px; height: 1px; background: rgba(255,255,255,0.35); }
.dd-testi__title {
  margin: 18px 0 0 !important; max-width: 20ch;
  font-weight: 800; color: #fff !important;
  font-size: clamp(1.9rem, 4vw, 3rem) !important; line-height: 1.08 !important; letter-spacing: -0.02em !important;
}

/* card row — horizontal scroll with edge peek (carousel look, no JS) */
.dd-testi__row {
  display: flex; gap: 20px; margin-top: clamp(2rem, 4vw, 3rem);
  overflow-x: auto; scroll-snap-type: x mandatory;
  padding-bottom: 8px; -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.dd-testi__row::-webkit-scrollbar { display: none; }

.dd-testi__card {
  scroll-snap-align: start; flex: 0 0 auto; width: 300px;
  position: relative; display: flex; flex-direction: column;
  background: #111214; border: 1px solid rgba(255,255,255,0.08); border-radius: 16px;
  padding: 26px 24px 24px; min-height: 260px;
  transition: border-color .25s ease, background-color .25s ease, transform .25s cubic-bezier(.22,1,.36,1);
}
.dd-testi__card:hover { border-color: rgba(255,255,255,0.18); background: #15161a; transform: translateY(-3px); }

/* decorative quote mark (top-right) */
.dd-testi__mark {
  position: absolute; top: 14px; right: 20px;
  font-family: Georgia, "Times New Roman", serif; font-weight: 700;
  font-size: 64px; line-height: 1; color: rgba(255,255,255,0.10); pointer-events: none; user-select: none;
}

.dd-testi__stars { display: inline-flex; gap: 3px; color: #f5b731; font-size: 14px; letter-spacing: 1px; }
.dd-testi__quote {
  margin: 16px 0 0; color: rgba(255,255,255,0.82); font-weight: 400;
  font-size: 14.5px; line-height: 1.6;
  display: -webkit-box; -webkit-line-clamp: 6; -webkit-box-orient: vertical; overflow: hidden;
}
.dd-testi__who { margin-top: auto; padding-top: 20px; }
.dd-testi__name { display: block; font-weight: 700; font-size: 14px; color: #fff; line-height: 1.4; }
.dd-testi__loc { display: block; margin-top: 3px; font-weight: 500; font-size: 11px; letter-spacing: 1.5px; text-transform: uppercase; color: #7d7d7d; }

@media (max-width: 560px) { .dd-testi__card { width: 82vw; } }
