.dealer-detail-overview {
  --ddo-focus: rgba(197, 219, 247, 0.9);
  --ddo-success: var(--success-300, #008556);
  --ddo-danger: #b74234;
  box-sizing: border-box;
  width: 100%;
  padding-top: var(--_spacing---stacked-component-sm);
  padding-bottom: var(--_spacing---stacked-component-lg);
  background: var(--white, #ffffff);
  color: var(--primary-600, #1b365f);
}

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

.dealer-detail-overview__container {
  display: flex;
  align-items: flex-start;
  gap: var(--_spacing---grid-gap-lg, 64px);
  margin: 0 auto;
  width: 100%;
  max-width: var(--_spacing---container-lg);
  padding-right: var(--_spacing---container-padding);
  padding-left: var(--_spacing---container-padding);
  grid-column-gap: var(--_spacing---stacked-component-sm);
  grid-row-gap: var(--_spacing---stacked-component-sm);
  flex-flow: row;
  justify-content: space-between;
  align-items: flex-start;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

.dealer-detail-overview__info {
  display: flex;
  flex: 0 0 480px;
  flex-direction: column;
  gap: var(--_spacing---spacing-md, 24px);
  min-width: 0;
}

.dealer-detail-overview__headline-group {
  display: flex;
  flex-direction: column;
  gap: var(--_spacing---spacing-xs, 12px);
}

.dealer-detail-overview__back-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  width: fit-content;
  color: var(--primary-600, #1b365f);
  text-decoration: none;
  transition:
    opacity 180ms ease,
    transform 180ms ease;
}

.dealer-detail-overview__back-link:hover {
  color: var(--_theme---link-hover, #4470ae);
  transform: translateX(-1px);
}

.dealer-detail-overview__back-link:focus-visible,
.dealer-detail-overview__review-link:focus-visible,
.dealer-detail-overview__contact-link:focus-visible,
.dealer-detail-overview__button:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px var(--ddo-focus);
}

.dealer-detail-overview__back-text {
  margin: 0;
  font-family: var(--_typography---font-body, "Public Sans Custom", "Helvetica Neue", Arial, sans-serif);
  font-size: 0.875rem;
  font-weight: var(--_typography---font-weight-semi-bold, 650);
  line-height: var(--_typography---line-height-tight, 1);
}

.dealer-detail-overview__title {
  margin: 0;
  color: var(--primary-600, #1b365f);
  font-family: var(--_typography---font-heading, "Gelasio Custom", Georgia, serif);
  font-size: var(--_typography---text-h4, 2rem);
  font-weight: var(--_typography---font-weight-semibold-heading, 550);
  line-height: var(--_typography---line-height-heading, 1.2);
}

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

.dealer-detail-overview__review-rating,
.dealer-detail-overview__review-link {
  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-detail-overview__stars {
  display: inline-flex;
  align-items: center;
}

.dealer-detail-overview__review-link {
  border: 0;
  padding: 0;
  background: transparent;
  cursor: pointer;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-decoration-color: transparent;
  text-underline-offset: 0.14em;
  transition:
    opacity 180ms ease,
    text-decoration-color 180ms ease;
}

.dealer-detail-overview__review-link:hover {
  color: var(--_theme---link-hover, #4470ae);
  text-decoration-color: var(--_theme---link-hover, #4470ae);
}

.dealer-detail-overview__badges {
  display: inline-flex;
  flex-wrap: wrap;
  gap: var(--_spacing---btn-gap-sm, 6px);
  list-style: none;
  padding: 0;
  margin: 0;
}

.dealer-detail-overview__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 6px 8px;
  border-radius: var(--_spacing---radius-full, 100px);
  background: var(--primary-100, #e3edfb);
  color: var(--primary-600, #1b365f);
  font-family: var(--_typography---font-body, "Public Sans Custom", "Helvetica Neue", Arial, sans-serif);
  font-size: var(--_typography---text-card-badge, 12px);
  font-weight: var(--_typography---font-weight-bold, 700);
  line-height: var(--_typography---line-height-tight, 1);
}

.dealer-detail-overview__platinum {
  display: flex;
  align-items: start;
  gap: var(--_spacing---spacing-xs, 12px);
  width: 100%;
  padding: var(--_spacing---spacing-xs, 12px);
  border: 1px solid var(--neutral-300, #d7d2cd);
  border-radius: var(--_spacing---radius-md, 4px);
  background: var(--white, #ffffff);
}

.dealer-detail-overview__platinum-icon {
  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(--neutral-100, #f7f5f3);
}

.dealer-detail-overview__platinum-copy {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-width: 0;
}

.dealer-detail-overview__platinum-title {
  margin: 0;
  color: var(--primary-600, #1b365f);
  font-family: var(--_typography---font-heading, "Gelasio Custom", Georgia, serif);
  font-size: var(--_typography---text-h6);
  font-weight: var(--_typography---font-weight-semibold);
  line-height: var(--_typography---line-height-heading);
}

.dealer-detail-overview__platinum-description {
  margin: 0;
  color: var(--primary-600, #1b365f);
  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);
}

.dealer-detail-overview__contact-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--_spacing---spacing-xs, 12px) var(--_spacing---spacing-md, 24px);
  
}

.dealer-detail-overview__contact-link {
  display: inline-flex;
  align-items: center;
  gap: var(--_spacing---spacing-xxs, 8px);
  color: var(--primary-600, #1b365f);
  text-decoration: none;
  transition:
    opacity 180ms ease,
    transform 180ms ease;
}

.dealer-detail-overview__contact-link:hover {
  color: var(--_theme---link-hover, #4470ae);
}

.dealer-detail-overview__contact-link--address {
  align-items: center;
}

.dealer-detail-overview__contact-text {
  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);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.14em;
  text-decoration-skip-ink: auto;
}

.dealer-detail-overview__visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.dealer-detail-overview__divider {
  width: 100%;
  height: 1px;
  background: var(--neutral-300, #d7d2cd);
}

.dealer-detail-overview__hours {
  display: flex;
  flex-direction: column;
  gap: var(--_spacing---spacing-xs, 12px);
}

.dealer-detail-overview__hours-today {
  display: flex;
  align-items: center;
  gap: var(--_spacing---btn-gap-sm, 6px);
  width: 100%;
}

.dealer-detail-overview__hours-indicator {
  flex: 0 0 10px;
  width: 10px;
  height: 10px;
  border-radius: 999px;
}

.dealer-detail-overview__hours-indicator--open {
  background: var(--ddo-success);
}

.dealer-detail-overview__hours-indicator--closed {
  background: var(--ddo-danger);
}

.dealer-detail-overview__hours-label,
.dealer-detail-overview__hours-value,
.dealer-detail-overview__hours-day,
.dealer-detail-overview__hours-time {
  margin: 0;
  color: var(--primary-600, #1b365f);
  font-family: var(--_typography---font-body, "Public Sans Custom", "Helvetica Neue", Arial, sans-serif);
}

.dealer-detail-overview__hours-label,
.dealer-detail-overview__hours-value {
  font-size: var(--_typography---text-paragraph-md, 1.125rem);
  line-height: var(--_typography---line-height-normal, 1.5);
}

.dealer-detail-overview__hours-label {
  flex: 0 0 104px;
  font-weight: var(--_typography---font-weight-bold, 700);
}

.dealer-detail-overview__hours-value {
  flex: 1;
  min-width: 0;
  font-weight: var(--_typography---font-weight-medium, 500);
}

.dealer-detail-overview__hours-details {
  display: flex;
  flex-direction: column;
  gap: var(--_spacing---spacing-xxs, 8px);
  padding-left: 16px;
}

.dealer-detail-overview__hours-group {
  display: flex;
  align-items: flex-start;
  gap: var(--_spacing---btn-gap-sm, 6px);
}

.dealer-detail-overview__hours-day,
.dealer-detail-overview__hours-time {
  font-size: var(--_typography---text-paragraph-sm, 1rem);
  line-height: var(--_typography---line-height-normal, 1.5);
}

.dealer-detail-overview__hours-day {
  flex: 0 0 104px;
  font-weight: var(--_typography---font-weight-bold, 700);
}

.dealer-detail-overview__hours-time {
  font-weight: var(--_typography---font-weight-medium, 500);
}

.dealer-detail-overview__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--_spacing---spacing-sm, 16px);
}

.dealer-detail-overview__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--_spacing---btn-gap-sm, 6px);
  min-width: 100px;
  min-height: 36px;
  padding: var(--_spacing---btn-padding-v-sm, 8px) var(--_spacing---btn-padding-h-sm, 16px);
  border: 0;
  border-radius: var(--_spacing---radius-full, 100px);
  background: var(--primary-600, #1b365f);
  color: var(--white, #ffffff);
  font-family: var(--_typography---font-body, "Public Sans Custom", "Helvetica Neue", Arial, sans-serif);
  font-size: var(--_typography---text-btn-sm, 1rem);
  font-weight: var(--_typography---font-weight-bold, 700);
  line-height: var(--_typography---line-height-tight, 1);
  text-decoration: none;
  cursor: pointer;
  transition:
    background-color 180ms ease,
    box-shadow 180ms ease,
    transform 180ms ease;
}

.dealer-detail-overview__button:hover {
  background: #4470AE;
}

.dealer-detail-overview__map {
  flex: 1 1 0;
  min-width: 360px;
  position: relative;
  overflow: hidden;
  border: 1px solid var(--neutral-300, #d7d2cd);
  border-radius: var(--_spacing---radius-lg, 12px);
  background: var(--neutral-100, #f7f5f3);
  aspect-ratio: 944 / 629;
}

.dealer-detail-overview__map-inner {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: inherit;
}

.dealer-detail-overview__map-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

@media (max-width: 1080px) {
  .dealer-detail-overview__container {
    flex-direction: column;
    gap: 32px;
  }

  .dealer-detail-overview__info,
  .dealer-detail-overview__map {
    width: 100%;
  }

  .dealer-detail-overview__info {
    flex-basis: auto;
  }

  .dealer-detail-overview__map {
    min-width: 0;
    aspect-ratio: 4 / 3;
    min-height: 320px;
  }
}

@media (max-width: 767px) {
  .dealer-detail-overview__title {
    font-size: 24px;
  }

  .dealer-detail-overview__hours-today,
  .dealer-detail-overview__hours-group {
    flex-wrap: wrap;
  }

  .dealer-detail-overview__hours-details {
    padding-left: 16px;
  }

  .dealer-detail-overview__actions {
    gap: var(--_spacing---spacing-xs, 12px);
  }

}

.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;
}

