/* Vehicle cards & collection rail — mobile clipping fixes */

@media (max-width: 768px) {
  /* ── Homepage collection rail ─────────────────────────────── */
  body.rj-home-page .rj-collection {
    overflow-x: visible;
    max-width: 100%;
  }

  .rj-collection__clip {
    width: 100%;
    max-width: 100%;
    margin-inline: 0;
    padding-inline: max(20px, env(safe-area-inset-left, 0px)) max(20px, env(safe-area-inset-right, 0px));
    box-sizing: border-box;
    overflow: visible;
    container-type: normal;
  }

  .rj-collection__viewport {
    container-type: inline-size;
    container-name: collection-viewport;
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow-x: auto;
    overflow-y: visible;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }

  .rj-collection__viewport::-webkit-scrollbar {
    display: none;
  }

  .rj-collection__rail {
    display: flex;
    gap: 14px;
    width: max-content;
    min-width: 0;
    max-width: none;
  }

  .rj-unit {
    --rj-card-gap: 14px;
    --rj-visible-cards: 1;
    flex: 0 0 auto;
    width: 100cqw;
    max-width: 100cqw;
    min-width: 0;
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }

  .rj-unit__body {
    min-width: 0;
    padding: 16px 18px 18px;
  }

  .rj-unit__body h3 {
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  .rj-unit__specs {
    gap: 6px;
  }

  .rj-unit__specs li {
    max-width: 100%;
  }

  .rj-unit__foot {
    min-width: 0;
    flex-wrap: wrap;
    gap: 8px;
  }

  .rj-unit__price {
    min-width: 0;
    flex: 1 1 auto;
    font-size: 1.05rem;
  }

  .rj-unit__foot .rj-link {
    flex-shrink: 0;
    white-space: nowrap;
  }

  /* ── Stock / saved / compare grids ────────────────────────── */
  body.rj-stock-page .stock-layout,
  .stk-layout {
    min-width: 0;
    width: 100%;
  }

  body.rj-stock-page .stock-main,
  .stk-main {
    min-width: 0;
    max-width: 100%;
    overflow-x: clip;
  }

  .stk-results-grid,
  body.bf-saved-page .sav-grid,
  body.rj-saved-page .sav-grid,
  body.rj-compare-page .cmp-grid {
    min-width: 0;
    width: 100%;
    max-width: 100%;
  }

  .stk-unit,
  .sav-unit,
  .cmp-unit {
    min-width: 0;
    max-width: 100%;
    width: 100%;
  }

  .stk-unit__body,
  .sav-unit__body,
  .cmp-unit__body {
    min-width: 0;
  }

  .stk-unit__title,
  .sav-unit__title,
  .cmp-unit__title,
  .stk-unit__title a,
  .sav-unit__title a,
  .cmp-unit__title a {
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  .stk-unit__foot,
  .sav-unit__foot,
  .cmp-unit__foot {
    min-width: 0;
    flex-wrap: wrap;
    gap: 8px;
  }

  .stk-unit__price,
  .sav-unit__price,
  .cmp-unit__price {
    min-width: 0;
    flex: 1 1 auto;
  }

  .stk-unit__link,
  .sav-unit__link,
  .cmp-unit__link {
    flex-shrink: 0;
    white-space: nowrap;
  }

  /* Stock toolbar / chips should scroll inside the row, not widen the page */
  body.rj-stock-page .stock-toolbar,
  .stk-toolbar {
    min-width: 0;
    max-width: 100%;
  }
}

@supports not (width: 1cqw) {
  @media (max-width: 768px) {
    .rj-unit {
      width: calc(100vw - max(40px, env(safe-area-inset-left, 0px) + env(safe-area-inset-right, 0px)));
      max-width: calc(100vw - max(40px, env(safe-area-inset-left, 0px) + env(safe-area-inset-right, 0px)));
      flex: 0 0 calc(100vw - max(40px, env(safe-area-inset-left, 0px) + env(safe-area-inset-right, 0px)));
    }
  }
}

@media (max-width: 480px) {
  .rj-unit__body {
    padding: 14px 16px 16px;
  }

  .rj-unit__specs li {
    font-size: 0.72rem;
    padding: 5px 8px;
  }

  .rj-unit__price {
    font-size: 1rem;
  }
}
