/* Wybrane opinie: lokalna sekcja, bez zewnętrznych zasobów i skryptów. */
.google-reviews {
  --reviews-bg: #f6f3ec;
  --reviews-card: #fff;
  --reviews-title: #302d28;
  --reviews-copy: #605b52;
  --reviews-gold: #906426;
  --reviews-line: #e5ddce;
  --reviews-avatar: #f0ebe1;
  background: var(--reviews-bg);
  color: var(--reviews-copy);
}

:root[data-blog-theme="dark"] .google-reviews {
  --reviews-bg: #07141f;
  --reviews-card: #112635;
  --reviews-title: #f1f6f9;
  --reviews-copy: #c0cfda;
  --reviews-gold: #e0bc82;
  --reviews-line: #294253;
  --reviews-avatar: #1a3243;
}

.google-reviews__heading {
  display: grid;
  gap: var(--space-6, 1.5rem);
  margin-bottom: var(--space-10, 2.5rem);
}

.google-reviews__eyebrow {
  margin: 0 0 var(--space-4, 1rem);
  color: var(--reviews-gold);
  font: 600 0.8125rem/1.6 "JetBrains Mono", monospace;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.google-reviews__heading h2 {
  max-width: 22ch;
  margin: 0;
  color: var(--reviews-title);
  font-family: "Manrope", sans-serif;
  font-size: var(--text-h2, clamp(2rem, 3.5vw, 3.25rem));
  font-weight: 750;
  line-height: 1.13;
  text-wrap: balance;
}

.google-reviews__intro {
  max-width: 38ch;
  margin: 0;
  color: var(--reviews-copy);
  font-size: clamp(1rem, 0.95rem + 0.2vw, 1.125rem);
  line-height: 1.7;
}

.google-reviews__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--grid-gap, 1.5rem);
}

.google-reviews__card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  margin: 0;
  padding: clamp(1.5rem, 1.15rem + 1vw, 2rem);
  border: 1px solid var(--reviews-line);
  border-top: 3px solid #c6a05a;
  border-radius: var(--radius-card, 1.25rem);
  background: var(--reviews-card);
}

.google-reviews__rating {
  margin-bottom: var(--space-6, 1.5rem);
  color: var(--reviews-gold);
  font-size: 1.375rem;
  line-height: 1;
  letter-spacing: 0.12em;
}

.google-reviews__quote,
.google-reviews__quote p {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--reviews-title);
  font-family: "Inter", sans-serif;
  font-size: clamp(1rem, 0.95rem + 0.2vw, 1.125rem);
  font-style: normal;
  font-weight: 450;
  line-height: 1.75;
  overflow-wrap: anywhere;
}

.google-reviews__author {
  display: flex;
  align-items: center;
  gap: var(--space-3, 0.75rem);
  margin-top: auto;
  padding-top: var(--space-8, 2rem);
  color: var(--reviews-title);
}

.google-reviews__initials {
  display: grid;
  width: 3rem;
  height: 3rem;
  flex: 0 0 3rem;
  place-items: center;
  border: 1px solid var(--reviews-line);
  border-radius: 50%;
  background: var(--reviews-avatar);
  color: var(--reviews-title);
  font: 600 0.875rem/1 "JetBrains Mono", monospace;
}

.google-reviews__name,
.google-reviews__source {
  display: block;
}

.google-reviews__name {
  font-weight: 700;
  line-height: 1.5;
}

.google-reviews__source {
  color: var(--reviews-copy);
  font-size: 0.875rem;
  line-height: 1.6;
}

.google-reviews__action {
  margin-top: var(--space-8, 2rem);
}

.google-reviews__link {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  gap: var(--space-3, 0.75rem);
  padding-block: 0.5rem;
  color: var(--reviews-gold);
  font-weight: 650;
  line-height: 1.5;
  text-decoration: underline;
  text-underline-offset: 0.3em;
}

.google-reviews__link:focus-visible {
  outline: 3px solid var(--reviews-gold);
  outline-offset: 5px;
  border-radius: 4px;
}

@media (min-width: 60rem) {
  .google-reviews__heading {
    grid-template-columns: 1.4fr 1fr;
    align-items: end;
    gap: var(--column-gap, 4rem);
  }

  .google-reviews__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
