/* ══════════════════════════════════════════
   testimonials.css — Reviews section
   Padding via .section-pad, grid via .grid-3,
   ::before geometry via .card-hover-line (components.css)
   ══════════════════════════════════════════ */

.testimonials { background:var(--ink); }
.testimonials-header { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:64px; padding-bottom:40px; border-bottom:1px solid rgba(255,255,255,0.08); }
.testimonials-header .section-label { color:var(--gold); }
.testimonials-header .section-label::before { background:var(--gold); }
.testimonials-header .section-h2 { color:var(--warm-white); margin-bottom:0; }

.google-badge { display:flex; align-items:center; gap:14px; background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.1); padding:14px 22px; }
.google-g { font-size:1.2rem; font-weight:900; color:var(--warm-white); font-family:'Jost',sans-serif; }
.google-info { display:flex; flex-direction:column; gap:3px; }
.google-info .google-name { font-size:0.72rem; color:var(--warm-white); letter-spacing:0.05em; }
.google-stars { color:var(--gold); font-size:0.75rem; letter-spacing:0.08em; }
.google-info .google-score { font-size:0.62rem; color:var(--stone); letter-spacing:0.05em; }

/* Review cards — ::before color only (geometry from .card-hover-line) */
.review-card { background:rgba(255,255,255,0.03); border:1px solid rgba(255,255,255,0.06); padding:36px 32px; transition:background 0.3s; }
.review-card::before { background:var(--gold); }
.review-card:hover { background:rgba(255,255,255,0.06); }
.review-stars { color:var(--gold); font-size:0.75rem; letter-spacing:0.08em; display:block; margin-bottom:20px; }
.review-header { display:flex; justify-content:space-between; align-items:baseline; margin-bottom:16px; }
.review-name { font-size:0.95rem; font-weight:500; color:var(--warm-white); }
.review-date { font-size:0.68rem; color:rgba(255,255,255,0.3); letter-spacing:0.05em; }
.review-text { font-size:0.94rem; color:rgba(255,255,255,0.55); line-height:1.80; margin-bottom:28px; font-style:italic; overflow:hidden; transition:max-height 0.4s ease; }

.review-show-more { display:block; background:none; border:none; color:var(--gold); font-size:0.68rem; letter-spacing:0.12em; text-transform:uppercase; font-family:'Jost',sans-serif; cursor:pointer; padding:0; margin-bottom:20px; opacity:0.7; transition:opacity 0.2s; }
.review-show-more:hover { opacity:1; }

.review-translate-btn { display:block; background:none; border:none; color:rgba(255,255,255,0.35); font-size:0.68rem; letter-spacing:0.06em; font-family:'Jost',sans-serif; cursor:pointer; padding:0; margin-bottom:20px; text-decoration:underline; text-underline-offset:3px; transition:color 0.2s; }
.review-translate-btn:hover { color:rgba(255,255,255,0.65); }
.review-translate-btn:disabled { opacity:0.4; cursor:default; }
.review-footer { display:flex; justify-content:space-between; align-items:center; padding-top:20px; border-top:1px solid rgba(255,255,255,0.06); }
.review-via { font-size:0.62rem; letter-spacing:0.15em; text-transform:uppercase; color:rgba(255,255,255,0.2); }
.review-verified { font-size:0.62rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold); opacity:0.6; }

/* ── CAROUSEL ── */
.reviews-carousel { position:relative; }

.reviews-viewport { overflow:hidden; }

.reviews-track {
  display:flex;
  gap:2px;
  transition:transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  will-change:transform;
}

.reviews-track .review-card {
  flex:0 0 calc((100% - 4px) / 3);
  min-width:0;
}

.reviews-carousel-nav {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:24px;
  margin-top:40px;
}

.carousel-btn {
  background:none;
  border:1px solid rgba(255,255,255,0.15);
  color:var(--warm-white);
  width:44px; height:44px;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer;
  font-size:1rem;
  font-family:'Jost',sans-serif;
  transition:border-color 0.3s, background 0.3s, opacity 0.3s;
}
.carousel-btn:hover { border-color:var(--gold); background:rgba(255,255,255,0.04); }
.carousel-btn:disabled { opacity:0.2; cursor:default; pointer-events:none; }

.carousel-dots { display:flex; gap:10px; align-items:center; }

.carousel-dot {
  width:6px; height:6px;
  background:rgba(255,255,255,0.2);
  border:none;
  border-radius:50%;
  cursor:pointer;
  padding:0;
  transition:background 0.3s, transform 0.3s;
}
.carousel-dot.active { background:var(--gold); transform:scale(1.4); }
.carousel-dots-ellipsis { color:rgba(255,255,255,0.3); font-size:0.7rem; line-height:1; user-select:none; padding:0 2px; }

/* ── RESPONSIVE ── */
@media (max-width: 960px) {
  .testimonials { padding:80px 24px; }
  .testimonials-header { align-items:flex-start; gap:28px; padding-bottom: 20px; margin-bottom: 44px;}
  .reviews-track .review-card { flex:0 0 calc(85% - 2px); }
  .reviews-carousel-nav { margin-top: 15px; }
}
