/* Small semantic additions for the framework-free port. The main stylesheet is
   the exact static CSS emitted by the c30dece design. */
[hidden] { display: none !important; }

svg { display: block; }

.financing-page-background {
  background-color: #121212;
  background-image:
    radial-gradient(circle at 74% 18%, rgba(255, 255, 255, .07), transparent 32%),
    linear-gradient(115deg, rgba(255, 255, 255, .025) 0 1px, transparent 1px 24px),
    linear-gradient(160deg, #191919 0%, #0d0d0d 58%, #171717 100%);
}

[data-main-nav].is-scrolled { box-shadow: 0 10px 18px rgba(0, 0, 0, .3); }

[data-favorite-button][aria-pressed="true"] svg { fill: currentColor; }

.carousel-track {
  will-change: transform;
  transition: transform 900ms cubic-bezier(.4, 0, .2, 1);
}

.carousel-track.is-dragging { transition: none; }

[data-carousel-slide] > a {
  transition:
    opacity 900ms cubic-bezier(.4, 0, .2, 1),
    scale 900ms cubic-bezier(.4, 0, .2, 1);
}

.detail-thumbnails {
  display: flex;
  gap: .5rem;
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  padding: .75rem 0 .25rem;
}

.detail-thumbnail {
  background: white;
  border: 2px solid transparent;
  flex: 0 0 auto;
  height: 64px;
  overflow: hidden;
  padding: 0;
  width: 96px;
}

.detail-thumbnail[aria-current="true"] { border-color: #c42b2b; }
.detail-thumbnail img { height: 100%; object-fit: cover; width: 100%; }

.vehicle-description-text {
  overflow-wrap: anywhere;
  white-space: pre-line;
}

.vehicle-description-text.is-collapsed {
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  display: -webkit-box;
  overflow: hidden;
}

.inventory-mobile-drawer { visibility: hidden; }
.inventory-mobile-drawer.is-open { visibility: visible; }

.inventory-desktop-filters {
  max-height: calc(100svh - 10rem);
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.inventory-progress {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: .8rem;
  justify-content: center;
}

.inventory-load-more {
  background: white;
  border: 2px solid #c42b2b;
  border-radius: .375rem;
  color: #c42b2b;
  font-size: .875rem;
  font-weight: 800;
  padding: .7rem 1.25rem;
}

.inventory-load-more:hover {
  background: #c42b2b;
  color: white;
}

.inventory-load-more:focus-visible {
  outline: 3px solid rgba(196, 43, 43, .3);
  outline-offset: 2px;
}

[data-model-filter-group].is-disabled {
  color: #8b908c;
  opacity: .65;
}

[data-model-filter-group].is-disabled > summary {
  cursor: not-allowed;
}

.carfax-dialog {
  background: transparent;
  border: 0;
  max-height: calc(100dvh - 2rem);
  max-width: 42rem;
  overflow: auto;
  overscroll-behavior: contain;
  padding: 0;
  width: calc(100% - 2rem);
}

.carfax-dialog::backdrop {
  backdrop-filter: blur(2px);
  background: rgba(10, 10, 10, .62);
}

.carfax-dialog-panel {
  background: white;
  border-radius: .75rem;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .32);
  overflow: hidden;
}

@media (max-width: 639px) {
  .carfax-dialog {
    max-height: calc(100dvh - 1rem);
    width: calc(100% - 1rem);
  }
}

.filter-range-track {
  background: #d9dcda;
  height: 4px;
  left: 0;
  position: absolute;
  right: 0;
  top: 12px;
}

@media (prefers-reduced-motion: reduce) {
  .carousel-track { transition-duration: 0ms; }
  [data-carousel-slide] > a { transition-duration: 0ms; }
}

@supports (content-visibility: auto) {
  .perf-skip-offscreen {
    contain-intrinsic-size: auto 48rem;
    content-visibility: auto;
  }

  [data-vehicle-card] {
    contain-intrinsic-size: auto 46rem;
    content-visibility: auto;
  }
}

@media print {
  header, footer, [data-mobile-menu], [data-storage-notice], .fixed.bottom-0 { display: none !important; }
}
