/* ==========================================================================
   YORUMLAR — Google: solda puan özeti, sağda eşit yükseklikli yorum kartları
   ========================================================================== */

.g-reviews {
  display: grid;
  grid-template-columns: 340px minmax(0, 1fr);
  gap: 16px;
  align-items: stretch;
}

.g-logo { width: 20px; height: 20px; flex: none; }

.stars { display: inline-flex; gap: 2px; color: #fbbc04; }
.stars .i { width: 17px; height: 17px; }
.stars--lg .i { width: 24px; height: 24px; }
/* Boş yıldız (puana göre JS işaretler) */
.stars .i.is-empty { color: var(--line-2); }

/* ---------- Puan özeti ---------- */
.g-summary {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 28px;
  border: 1px solid var(--line);
  border-radius: var(--radius-xl);
  background: var(--surface);
  box-shadow: var(--shadow);
}

.g-summary__brand { display: flex; align-items: center; gap: 10px; font-size: 15px; font-weight: 700; }
.g-summary__brand .g-logo { width: 28px; height: 28px; }

.g-summary__score { display: flex; align-items: center; gap: 14px; }
.g-summary__score b {
  font-size: 3.5rem;
  font-weight: 800;
  letter-spacing: -.04em;
  line-height: 1;
}
.g-summary__count { font-size: 14.5px; color: var(--muted); }
.g-summary__actions { display: grid; gap: 8px; margin-top: auto; padding-top: 6px; }

/* ---------- Yorum kartları ---------- */
/* Eşit yükseklikli ızgara: aynı satırdaki kartlar aynı boyda, alt kenarlar hizalı */
.g-reviews__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
/* Tek sayıda yorum kalırsa sonuncusu tam genişliğe yayılır */
.g-review:last-child:nth-child(odd) { grid-column: 1 / -1; }

.g-review {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: var(--surface);
  transition: border-color .25s, box-shadow .25s;
}
.g-review:hover { border-color: var(--line-2); box-shadow: var(--shadow); }
.g-review.is-in { animation: review-in .6s var(--ease-out) backwards; animation-delay: calc(var(--i, 0) * 80ms); }
@keyframes review-in { from { opacity: 0; transform: translate3d(0, 14px, 0); } }

.g-review__head { display: flex; align-items: center; gap: 12px; }
.g-review__avatar {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  flex: none;
  border-radius: 50%;
  background: var(--navy-100);
  color: var(--navy-800);
  font-size: 14px;
  font-weight: 700;
  overflow: hidden;
}
.g-review__avatar img { width: 100%; height: 100%; object-fit: cover; }
.g-review__avatar.avatar--2 { background: var(--red-100); color: var(--red-600); }
.g-review__avatar.avatar--3 { background: var(--green-100); color: var(--green-600); }

.g-review__who { display: grid; flex: 1; min-width: 0; line-height: 1.3; }
.g-review__who strong { font-size: 15px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.g-review__who a { color: inherit; }
.g-review__who small { font-size: 13px; color: var(--muted); }

.g-review__text {
  font-size: 15.5px;
  line-height: 1.65;
  color: var(--ink-2);
}
/* Uzun yorumlar kısaltılır; "Devamını oku" ile açılır */
.g-review__text.is-clamped {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.g-review__more {
  align-self: flex-start;
  margin-top: auto;
  font-size: 14px;
  font-weight: 700;
  color: var(--navy-700);
}
.g-review__more:hover { text-decoration: underline; text-underline-offset: 3px; }

/* ---------- Duyarlı ---------- */
@media (max-width: 960px) {
  .g-reviews { grid-template-columns: 1fr; }
  .g-summary__actions { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 560px) {
  .g-summary { padding: 22px; }
  .g-summary__actions { grid-template-columns: 1fr; }
  .g-reviews__list { grid-template-columns: 1fr; }
  .g-review { padding: 18px; }
}

/* Özet kartında yorumcuların üst üste binen avatarları */
.g-summary__people {
  display: grid;
  gap: 12px;
  padding: 18px;
  border-radius: 14px;
  background: var(--bg-alt);
}
.g-summary__avatars { display: flex; }
.g-summary__avatars .g-review__avatar { width: 40px; height: 40px; font-size: 13px; box-shadow: 0 0 0 3px var(--bg-alt); }
.g-summary__avatars .g-review__avatar + .g-review__avatar { margin-left: -10px; }
.g-summary__people p { font-size: 14px; line-height: 1.55; color: var(--ink-2); }
