/* ============================================================
   REVIEWS
   ============================================================ */
.reviews-toolbar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 32px; gap: 16px; flex-wrap: wrap; }

/* Horizontal scroll row — drag/swipe/scroll through review cards.
   Each card has a fixed width so the row scrolls instead of wrapping. */
.review-scroll {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  overflow-x: auto;
  padding-bottom: 10px;
  scrollbar-width: thin;
  scrollbar-color: var(--border-strong) transparent;
}
.review-scroll::-webkit-scrollbar { height: 6px; }
.review-scroll::-webkit-scrollbar-thumb { background: var(--border-strong); border-radius: 999px; }
.review-scroll::-webkit-scrollbar-track { background: transparent; }

.review-card {
  padding: 26px 24px;
  flex: 0 0 320px;
  display: flex;
  flex-direction: column;
}
.review-stars { display: flex; gap: 3px; margin-bottom: 14px; }
.review-stars svg { width: 15px; height: 15px; fill: var(--green-bright); }
.review-stars svg.empty { fill: var(--border-strong); }
.review-text {
  font-size: 14px; color: var(--text-muted); margin-bottom: 10px;
  display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 89px;
}
.review-text.is-expanded { display: block; -webkit-line-clamp: unset; overflow: visible; }
.review-toggle {
  font-family: var(--font-mono); font-size: 11.5px; color: var(--green-bright);
  margin-bottom: 14px; display: inline-block;
  background: transparent; border: none; padding: 0; text-align: left;
}
.review-toggle:hover { text-decoration: underline; }
.review-author { display: flex; align-items: center; gap: 10px; margin-top: auto; }
.review-avatar {
  width: 36px; height: 36px; border-radius: 50%;
  background: var(--surface-2);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-mono); font-size: 12px; color: var(--green-bright);
  border: 1px solid var(--border-strong);
  flex-shrink: 0;
}
.review-author-name { font-size: 13.5px; font-weight: 600; }
.review-author-role { font-size: 12px; color: var(--text-faint); }

@media (max-width: 620px) { .review-card { flex-basis: 280px; } }

/* ============================================================
   BLOG
   ============================================================ */
.blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.blog-card { overflow: hidden; }
.blog-card-media { height: 140px; background: linear-gradient(150deg, var(--surface-2), var(--bg-alt)); border-bottom: 1px solid var(--border); }
.blog-card-body { padding: 20px 22px 24px; }
.blog-date { font-family: var(--font-mono); font-size: 11px; color: var(--text-faint); margin-bottom: 10px; display: block; }
.blog-card h3 { font-size: 16px; margin-bottom: 8px; }
.blog-card p { font-size: 13.5px; color: var(--text-muted); margin-bottom: 14px; }
.blog-readmore { font-family: var(--font-mono); font-size: 12px; color: var(--green-bright); }

@media (max-width: 980px) { .blog-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 620px) { .blog-grid { grid-template-columns: 1fr; } }

/* ============================================================
   CONTACT
   ============================================================ */
.contact-single { max-width: 460px; margin: 0 auto; }
.contact-info-card { padding: 30px 28px; }
.contact-row { display: flex; gap: 14px; padding: 16px 0; border-bottom: 1px solid var(--border); }
.contact-row:last-child { border-bottom: none; }
.contact-row-icon {
  width: 36px; height: 36px; flex-shrink: 0;
  border-radius: 8px;
  background: var(--green-wash);
  display: flex; align-items: center; justify-content: center;
}
.contact-row-icon svg { width: 17px; height: 17px; stroke: var(--green-bright); fill: none; stroke-width: 1.7; }
.contact-row h4 { font-size: 13px; font-family: var(--font-mono); color: var(--text-faint); margin-bottom: 4px; text-transform: uppercase; letter-spacing: .03em; }
.contact-row p, .contact-row a { font-size: 14.5px; }
.contact-row a:hover { color: var(--green-bright); }
