.rating-stars {
  --rating-stars-color: var(--primary-600, #1b365f);
  --rating-stars-gap: 1px;
  display: inline-flex;
  align-items: center;
  gap: var(--rating-stars-gap);
  color: var(--rating-stars-color);
}

.rating-stars__star {
  display: block;
  flex: 0 0 auto;
}

.rating-stars__filled-path {
  fill: currentColor;
}

.rating-stars__empty-path {
  stroke: currentColor;
}

/* ============================================================
   DealerReviews component
   Matches Figma node 3385-7887 — dealer reviews list with
   header summary (name, address, rating) and individual
   review cards.
   ============================================================ */

.dealer-reviews {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: var(--_spacing---spacing-lg, 32px);
  width: 100%;
  color: var(--primary-600, #1b365f);
}

.dealer-reviews *,
.dealer-reviews *::before,
.dealer-reviews *::after {
  box-sizing: inherit;
}

/* ── Header ── */

.dealer-reviews__header {
  display: flex;
  flex-direction: column;
  gap: var(--_spacing---spacing-sm, 16px);
}

.dealer-reviews__dealer-name {
  margin: 0;
  font-family: var(--_typography---font-heading, "Gelasio Custom", Georgia, serif);
  font-size: var(--_typography---text-h4, 2rem);
  font-weight: 400;
  line-height: var(--_typography---line-height-heading, 1.2);
  color: var(--primary-600, #1b365f);
  font-feature-settings: "lnum" 1, "pnum" 1;
}

.dealer-reviews__address {
  margin: 0;
  font-family: var(--_typography---font-body, "Public Sans Custom", "Helvetica Neue", Arial, sans-serif);
  font-size: var(--_typography---text-paragraph-sm, 1rem);
  font-weight: var(--_typography---font-weight-medium, 500);
  line-height: var(--_typography---line-height-normal, 1.5);
  color: var(--primary-600, #1b365f);
}

.dealer-reviews__rating-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
}

.dealer-reviews__rating-value {
  font-family: var(--_typography---font-body, "Public Sans Custom", "Helvetica Neue", Arial, sans-serif);
  font-size: var(--_typography---text-paragraph-xs, 0.875rem);
  font-weight: var(--_typography---font-weight-medium, 500);
  line-height: var(--_typography---line-height-normal, 1.5);
  color: var(--primary-600, #1b365f);
}

.dealer-reviews__rating-stars {
  display: inline-flex;
  align-items: center;
  gap: 2px;
}

.dealer-reviews__reviews-link,
.dealer-reviews__reviews-count {
  font-family: var(--_typography---font-body, "Public Sans Custom", "Helvetica Neue", Arial, sans-serif);
  font-size: var(--_typography---text-paragraph-xs, 0.875rem);
  font-weight: var(--_typography---font-weight-medium, 500);
  line-height: var(--_typography---line-height-normal, 1.5);
  color: var(--primary-600, #1b365f);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.25em;
  text-decoration-skip-ink: none;
  white-space: nowrap;
}



.dealer-reviews__reviews-link {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.14em;
  text-decoration-skip-ink: none;
  transition: opacity 180ms ease, text-decoration-thickness 180ms ease;
}

.dealer-reviews__reviews-link:hover, .dealer-reviews__reviews-count:hover {
  color: var(--_theme---link-hover);
}

.dealer-reviews__reviews-link:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(197, 219, 247, 0.9);
  border-radius: 2px;
}

/* ── Divider ── */

.dealer-reviews__divider {
  width: 100%;
  height: 1px;
  background: var(--neutral-300, #d7d2cd);
  flex-shrink: 0;
}

/* ── Review list ── */

.dealer-reviews__list {
  display: flex;
  flex-direction: column;
  gap: var(--_spacing---spacing-lg, 32px);
}

/* ── Individual review item ── */

.dealer-reviews__item {
  display: flex;
  align-items: flex-start;
  gap: var(--_spacing---spacing-sm, 16px);
}

/* Avatar circle */
.dealer-reviews__avatar {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  border-radius: var(--_spacing---radius-full, 100px);
  background: var(--primary-400, #4470ae);
  color: var(--white, #ffffff);
  font-family: var(--_typography---font-body, "Public Sans Custom", "Helvetica Neue", Arial, sans-serif);
  font-size: var(--_typography---text-paragraph-lg, 1.25rem);
  font-weight: var(--_typography---font-weight-bold, 700);
  line-height: var(--_typography---line-height-normal, 1.5);
  overflow: hidden;
  user-select: none;
}

/* Copy column */
.dealer-reviews__copy {
  display: flex;
  flex: 1 0 0;
  flex-direction: column;
  gap: var(--_spacing---spacing-xs, 12px);
  min-width: 0;
}

.dealer-reviews__author {
  margin: 0;
  font-family: var(--_typography---font-heading, "Gelasio Custom", Georgia, serif);
  font-size: var(--_typography---text-h6, 1.125rem);
  font-weight: var(--_typography---font-weight-semibold, 600);
  line-height: var(--_typography---line-height-heading, 1.2);
  color: var(--primary-600, #1b365f);
  font-feature-settings: "lnum" 1, "pnum" 1;
}

.dealer-reviews__meta {
  display: flex;
  align-items: center;
  gap: 4px;
}

.dealer-reviews__stars {
  display: inline-flex;
  align-items: center;
  gap: 2px;
}

.dealer-reviews__time {
  font-family: var(--_typography---font-body, "Public Sans Custom", "Helvetica Neue", Arial, sans-serif);
  font-size: var(--_typography---text-paragraph-xs, 0.875rem);
  font-weight: var(--_typography---font-weight-medium, 500);
  line-height: var(--_typography---line-height-normal, 1.5);
  color: var(--primary-600, #1b365f);
  white-space: nowrap;
}

.dealer-reviews__text {
  margin: 0;
  font-family: var(--_typography---font-body, "Public Sans Custom", "Helvetica Neue", Arial, sans-serif);
  font-size: var(--_typography---text-paragraph-sm);
  line-height: var(--_typography---line-height-normal);
  color: var(--primary-600, #1b365f);
  font-weight: var(--_typography---font-weight-medium);
}

/* ── Empty / placeholder state ── */

.dealer-reviews--empty,
.dealer-reviews--error {
  padding: var(--_spacing---spacing-md, 24px);
  border: 1px dashed var(--neutral-300, #d7d2cd);
  border-radius: var(--_spacing---radius-md, 4px);
}

.dealer-reviews__placeholder,
.dealer-reviews__no-reviews,
.dealer-reviews__error-message {
  margin: 0;
  font-family: var(--_typography---font-body, "Public Sans Custom", "Helvetica Neue", Arial, sans-serif);
  font-size: var(--_typography---text-paragraph-sm, 1rem);
  font-weight: var(--_typography---font-weight-medium, 500);
  line-height: var(--_typography---line-height-normal, 1.5);
  color: var(--primary-600, #1b365f);
}

.dealer-reviews__error-message {
  color: #b74234;
}

/* ── Loading skeleton ── */

@keyframes dealer-reviews-shimmer {
  0% { background-position: -400px 0; }
  100% { background-position: 400px 0; }
}

.dealer-reviews__skeleton {
  border-radius: 4px;
  background: linear-gradient(
    90deg,
    var(--neutral-100, #f7f5f3) 25%,
    var(--neutral-200, #ede9e4) 50%,
    var(--neutral-100, #f7f5f3) 75%
  );
  background-size: 800px 100%;
  animation: dealer-reviews-shimmer 1.4s infinite linear;
}

.dealer-reviews__skeleton--heading {
  height: 38px;
  width: 70%;
}

.dealer-reviews__skeleton--text {
  height: 18px;
  width: 100%;
}

.dealer-reviews__skeleton--short {
  width: 40%;
}

.dealer-reviews__skeleton--name {
  height: 22px;
  width: 50%;
}

.dealer-reviews__skeleton--meta {
  height: 16px;
  width: 30%;
}

.dealer-reviews__skeleton--body {
  height: 72px;
  width: 100%;
}

.dealer-reviews__avatar--skeleton {
  background: linear-gradient(
    90deg,
    var(--neutral-200, #ede9e4) 25%,
    var(--neutral-300, #d7d2cd) 50%,
    var(--neutral-200, #ede9e4) 75%
  );
  background-size: 800px 100%;
  animation: dealer-reviews-shimmer 1.4s infinite linear;
}

