/* PC unlock. Below 900px, app.css mobile defaults stay as-is. */

/* Wide lists use explicit photo / description / price columns, never scaled crops. */
@media (min-width: 900px) {
  body.layout-phone.page-finder .app-vehicle-card--search .app-vehicle-card-link { display: grid; grid-template-columns: 180px minmax(0,1fr) 240px; grid-template-rows: 1fr auto auto 1fr; align-items: center; gap: 2px 24px; padding: 10px 24px 10px 20px; min-height: 132px; }
  body.layout-phone.page-finder .app-vehicle-card--search .app-vehicle-card-main,
  body.layout-phone.page-finder .app-vehicle-card--search .app-vehicle-card-body { display: contents; }
  body.layout-phone.page-finder .app-vehicle-card--search .app-vehicle-card-top { position: absolute; top: 15px; right: 42px; margin: 0; justify-content: flex-end; }
  body.layout-phone.page-finder .app-vehicle-card--search .app-vehicle-card-media { grid-column: 1; grid-row: 1 / span 4; width: 180px; height: 112px; padding: 8px; overflow: visible; }
  body.layout-phone.page-finder .app-vehicle-card--search .app-vehicle-card-media img { width: 100%; height: 100%; max-height: 126px; object-fit: contain; object-position: center; transform: none; }
  body.layout-phone.page-finder .app-vehicle-title-row { grid-column: 2; grid-row: 3; margin: 0; align-self: start; }
  body.layout-phone.page-finder .app-vehicle-brand { grid-column: 2; grid-row: 2; margin: 0; line-height: 1.2; align-self: end; }
  body.layout-phone.page-finder .app-vehicle-title-row .app-vehicle-meta--pc { position: absolute; top: 14px; left: 18px; z-index: 2; display: flex; margin: 0; padding: 5px 8px; border: 1px solid rgba(224,228,234,.9); border-radius: 8px; background: rgba(255,255,255,.92); color: #626c78; font-size: 11px; font-weight: 700; line-height: 1; box-shadow: 0 2px 8px rgba(15,23,42,.06); backdrop-filter: blur(4px); }
  body.layout-phone.page-finder .app-vehicle-meta--mobile { display: none; }
  body.layout-phone.page-finder .app-none-line { grid-column: 2; grid-row: 5; }
  body.layout-phone.page-finder .app-price { grid-column: 3; grid-row: 4; text-align: right; justify-content: flex-end; align-self: end; margin: 0; }
  body.layout-phone.page-finder .app-vehicle-name { font-size: 21px; line-height: 1.2; margin: 0; }
  body.layout-phone .product-pick-card { display: grid; grid-template-columns: minmax(0,1fr) 260px; gap: 6px 32px; align-items: center; padding: 24px; min-height: 156px; }
  body.layout-phone .pc-product-photo { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 200px; height: 150px; background: #f8f9fa; border-radius: 14px; padding: 12px; }
  body.layout-phone .pc-product-photo img { width: 100%; height: 100%; object-fit: contain; transform: none; }
  body.layout-phone .product-pick-info { display: contents; }
  body.layout-phone .product-pick-top { position: absolute; top: 19px; right: 54px; max-width: 260px; justify-content: flex-end; margin: 0; }
  body.layout-phone .product-pick-wrap .product-pick-count { margin: 0; }
  body.layout-phone .product-pick-heading { display: flex; align-items: center; gap: 4px; grid-column: 1; grid-row: 1; }
  body.layout-phone .product-pick-name { grid-column: 1; grid-row: 1; margin: 0; font-size: 21px; }
  body.layout-phone .product-pick-card .vehicle-display-primary { grid-column: 1; grid-row: 2; }
  body.layout-phone .product-pick-card .vehicle-display-meta { grid-column: 1; grid-row: 3; }
  body.layout-phone .product-pick-card .vehicle-option-preview { grid-column: 1; grid-row: 4; margin-top: 6px; padding-top: 8px; }
  body.layout-phone .product-pick-price { grid-column: 2; grid-row: 4; align-self: start; justify-content: flex-end; margin: 0; text-align: right; white-space: normal; }
  body.layout-phone.page-model .flow-controls .flow-summary { min-height: 190px; padding: 18px 0; }
  body.layout-phone.page-model .flow-summary--with-photo { grid-template-columns: minmax(0,1fr) 320px; }
  body.layout-phone.page-model .flow-summary-media { max-width: 320px; }
  body.layout-phone.page-model .flow-summary-media img { height: 164px; object-fit: contain; transform: none; }
  body.layout-phone.page-model .flow-controls .flow-intro h2 { font-size: 26px; }
  body.layout-phone.page-model .flow-controls .flow-intro p { font-size: 14px; margin-top: 10px; }
  body.layout-phone .product-pick-chevron { top: 20px; right: 24px; bottom: auto; transform: none; }
  body.layout-phone.page-car .pc-car-gallery .flow-cond-hero-media { display: none; }
  body.layout-phone .pc-detail-photo { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; min-height: 210px; padding: 18px; margin: 0 0 20px; border-radius: 16px; background: #f8f9fa; }
  body.layout-phone .pc-detail-photo img { width: 100%; height: 200px; object-fit: contain; transform: none; }
  body.layout-phone .pc-detail-photo small { color: #8b939e; font-size: 11px; text-align: center; }
  body.layout-phone .pc-detail-photo.is-empty small { display: none; }
  body.layout-phone.page-home .app-trust,
  body.layout-phone.page-car.is-flow .pc-car-story.app-trust { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); column-gap: 48px; row-gap: 12px; align-items: center; padding: 36px; }
  body.layout-phone .app-trust-brand { grid-column: 1; margin: 0; }
  body.layout-phone .app-trust h2 { grid-column: 1; grid-row: 2 / span 2; margin: 0; font-size: 28px; line-height: 1.5; }
  body.layout-phone .app-trust-list { grid-column: 2; grid-row: 2; gap: 10px; }
  body.layout-phone.page-car.is-flow .pc-car-story-copy { grid-column: 2; grid-row: 3; margin: 0; color: #b8bdc5; }
  body.layout-phone.page-home .app-trust,
  body.layout-phone.page-car.is-flow .pc-car-story.app-trust { grid-template-columns: minmax(0,1fr) auto; column-gap: 24px; row-gap: 14px; padding: 24px 28px; }
  body.layout-phone.page-home .app-trust-brand,
  body.layout-phone.page-car .pc-car-story .app-trust-brand { grid-column: 1; grid-row: 1; }
  body.layout-phone.page-home .app-trust-list,
  body.layout-phone.page-car .pc-car-story .app-trust-list { grid-column: 2; grid-row: 1; flex-wrap: nowrap; justify-content: flex-end; gap: 8px; }
  body.layout-phone.page-home .app-trust h2,
  body.layout-phone.page-car .pc-car-story.app-trust h2 { grid-column: 1 / -1; grid-row: 2; font-size: 22px; line-height: 1.35; white-space: nowrap; }
  body.layout-phone.page-home .app-trust h2 br,
  body.layout-phone.page-car .pc-car-story.app-trust h2 br { display: none; }
  body.layout-phone.page-car.is-flow .pc-car-story-copy { grid-column: 1 / -1; grid-row: 3; font-size: 13px; line-height: 1.6; }
}
@media (min-width: 900px) and (max-width: 1100px) {
  body.layout-phone .product-pick-card { grid-template-columns: minmax(0,1fr) 230px; column-gap: 24px; }
  body.layout-phone .pc-product-photo { width: 150px; }
  body.layout-phone.page-finder .app-vehicle-card--search .app-vehicle-card-link { grid-template-columns: 160px minmax(0,1fr) 220px; gap: 2px 20px; }
  body.layout-phone.page-finder .app-vehicle-card--search .app-vehicle-card-media { width: 160px; }
}

@keyframes desktop-faq-rise {
  from { transform: translate(-50%, 100%); opacity: 0; }
  to { transform: translate(-50%, 0); opacity: 1; }
}

@media (min-width: 900px) {
  body.layout-phone {
    --app-max: 1120px;
    --phone-shell: 1120px;
    --app-pad: 32px;
    --desktop-tab: 404px;
    --desktop-sheet: 440px;
  }

  body.layout-phone .app-frame {
    max-width: var(--app-max);
    box-shadow: 0 18px 48px rgba(15, 23, 42, 0.08);
  }

  /* Floating tab pill stays phone-sized so the app mood remains. */
  body.layout-phone .app-tabbar {
    width: var(--desktop-tab);
    max-width: var(--desktop-tab);
  }

  body.layout-phone .app-sheet,
  body.layout-phone .app-sheet.is-info-sheet {
    max-width: var(--desktop-sheet);
  }

  body.layout-phone .app-toast {
    max-width: calc(var(--desktop-sheet) - 40px);
    width: calc(var(--desktop-sheet) - 40px);
  }

  body.layout-phone .app-header {
    padding-left: var(--app-pad);
    padding-right: var(--app-pad);
  }

  body.layout-phone .app-logo img {
    height: 36px;
    max-width: 220px;
  }

  body.layout-phone .app-hero {
    padding: 28px var(--app-pad) 8px;
  }

  body.layout-phone.page-home .app-hero h1,
  body.layout-phone.page-home h1 {
    font-size: 34px;
    max-width: 18em;
  }

  body.layout-phone .app-hero-sub {
    font-size: 15px;
    max-width: 36em;
  }

  body.layout-phone .app-home-search,
  body.layout-phone .app-finder-search {
    padding-left: var(--app-pad);
    padding-right: var(--app-pad);
  }

  body.layout-phone .app-search-bar {
    max-width: none;
  }

  body.layout-phone .app-quick {
    max-width: none;
    padding: 0;
    gap: 12px 8px;
  }

  /* Home: full-width search, then a PC-sized 4-up shortcut row */
  body.layout-phone.page-home .app-home-find {
    position: relative;
    display: block;
    padding: 12px var(--app-pad) 8px;
  }

  body.layout-phone.page-home .app-home-search {
    width: 100%;
    padding: 0;
  }

  body.layout-phone.page-home .app-quick {
    position: static;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    width: 100%;
    max-width: none;
    gap: 12px;
    padding: 16px 0 4px;
    z-index: auto;
  }

  body.layout-phone.page-home .app-quick-item {
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    width: auto;
    min-width: 0;
    min-height: 76px;
    gap: 14px;
    padding: 14px 16px;
    font-size: 15px;
    font-weight: 800;
    text-align: left;
    background: #f4f4f2;
    border-radius: 18px;
  }

  body.layout-phone.page-home .app-quick-item br {
    display: none;
  }

  body.layout-phone.page-home .app-quick-icon {
    width: 56px;
    height: 56px;
    border-radius: 16px;
    flex: 0 0 56px;
    background: #fff;
  }

  body.layout-phone.page-home .app-quick-art {
    width: 38px;
    height: 38px;
  }

  /* Home: wider cards in one horizontally scrollable row. */
  body.layout-phone.page-home .app-hscroll {
    display: flex;
    flex-wrap: nowrap;
    gap: 16px;
    margin: 0;
    padding: 4px 0 12px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x proximity;
    scrollbar-width: thin;
    scrollbar-color: #cbd0d7 transparent;
    cursor: grab;
  }

  body.layout-phone.page-home .app-hscroll > * {
    flex: 0 0 360px;
    max-width: 360px;
    min-width: 0;
  }
  body.layout-phone.page-home .app-hscroll.is-dragging { cursor: grabbing; scroll-snap-type: none; }
  body.layout-phone.page-home .app-hscroll::-webkit-scrollbar { display: block; height: 6px; }
  body.layout-phone.page-home .app-hscroll::-webkit-scrollbar-thumb { border-radius: 6px; background: #cbd0d7; }

  /* Home: footer left-aligned */
  body.layout-phone.page-home .footer-contact-card,
  body.layout-phone.page-home .footer-service-links,
  body.layout-phone.page-home .footer-info-grid,
  body.layout-phone.page-home .footer-end-row {
    justify-content: flex-start;
    text-align: left;
    align-items: flex-start;
  }

  body.layout-phone.page-home .footer-info-grid {
    justify-content: flex-start;
  }

  /* All app pages: the same logo + menus bar, no JS relocation */
  body.layout-phone.has-app-nav .app-header {
    position: sticky;
    top: 0;
    z-index: 50;
    display: flex;
    height: 68px;
    min-height: 68px;
    border-bottom: 1px solid #eef0f3;
    align-items: center;
    overflow: visible;
  }

  body.layout-phone.has-app-nav .app-header-fav {
    display: none;
  }

  body.layout-phone.has-app-nav .app-pc-nav {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-left: auto;
    flex: 0 0 auto;
  }

  body.layout-phone .app-pc-nav-pages,
  body.layout-phone .app-pc-nav-contacts {
    display: flex;
    align-items: center;
    gap: 8px;
  }

  body.layout-phone .app-pc-nav-contacts {
    padding-left: 20px;
    border-left: 1px solid #e8ebef;
  }

  body.layout-phone.has-app-nav .app-pc-nav-link,
  body.layout-phone.has-app-nav .app-pc-nav-kakao,
  body.layout-phone.has-app-nav .app-pc-nav-tel {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 42px;
    padding: 0 14px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 600;
    color: #515b69;
    text-decoration: none;
    white-space: nowrap;
    transition: background-color 160ms ease, color 160ms ease, border-color 160ms ease;
  }

  body.layout-phone.has-app-nav .app-pc-nav-link[data-fav-tab] {
    width: 42px;
    padding: 0;
  }

  body.layout-phone .app-pc-nav a:focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: 3px;
  }

  body.layout-phone .app-pc-nav a:hover {
    background-color: #f5f6f8;
  }

  body.layout-phone.has-app-nav .app-pc-nav-link.is-current {
    color: var(--primary);
  }

  body.layout-phone.has-app-nav .app-pc-nav-link .app-icon,
  body.layout-phone.has-app-nav .app-pc-nav-link .app-tab-icon {
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
  }

  body.layout-phone.has-app-nav .app-pc-nav-kakao {
    background: #fff;
    border: 1px solid #e5e8ed;
    color: #303946;
  }

  body.layout-phone .app-pc-kakao-mark {
    display: grid;
    place-items: center;
    width: 24px;
    height: 24px;
    border-radius: 8px;
    background: #fee500;
    color: #191919;
  }

  body.layout-phone.has-app-nav .app-pc-nav-kakao .app-social-icon {
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
  }

  body.layout-phone.has-app-nav .app-pc-nav-tel {
    background: #fff;
    border: 1px solid #e5e8ed;
    color: #303946;
    letter-spacing: -0.01em;
    font-variant-numeric: tabular-nums;
  }

  body.layout-phone.has-app-nav .app-tabbar,
  body.layout-phone.has-app-nav .app-consult-scrim {
    display: none;
  }

  body.layout-phone.has-app-nav .app-frame {
    padding-bottom: 24px;
  }

  body.layout-phone.has-app-nav.page-finder .app-frame {
    padding-bottom: 0;
  }

  body.layout-phone.page-finder .app-header {
    display: flex;
    flex: 0 0 auto;
  }

  body.layout-phone.page-finder .finder-app {
    padding-top: 12px;
  }

  body.layout-phone.is-flow .app-header {
    display: flex;
  }

  body.layout-phone.is-flow .flow-header {
    display: none;
  }

  body.layout-phone.is-flow .app-frame,
  body.layout-phone.page-model.is-flow .app-frame,
  body.layout-phone.page-car.is-flow .app-frame,
  body.layout-phone.page-car.is-flow.has-flow-cta .app-frame {
    height: auto;
    min-height: 100vh;
    overflow: visible;
    display: block;
    padding-bottom: 24px;
  }

  body.layout-phone.page-model.is-flow .flow-page,
  body.layout-phone.page-car.is-flow .flow-page {
    display: block;
    overflow: visible;
    min-height: 0;
    height: auto;
  }

  body.layout-phone.page-model.is-flow .flow-list-scroll {
    overflow: visible;
    flex: none;
    min-height: 0;
  }

  body.layout-phone.page-car.is-flow .flow-cond-scroll {
    overflow: visible;
    min-height: 0;
    padding: 8px 0 32px;
  }

  body.layout-phone.page-car.is-flow .flow-sticky-cta {
    display: none;
  }

  body.layout-phone.page-car.is-flow .pc-car-stage {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(340px, 420px);
    gap: 28px;
    align-items: stretch;
    padding: 12px var(--app-pad) 8px;
  }

  body.layout-phone.page-car.is-flow .pc-car-gallery {
    position: relative;
    background: #fff;
    border-radius: 24px;
    padding: 28px;
    min-height: 0;
  }

  body.layout-phone.page-car.is-flow .pc-car-fav {
    display: grid;
    position: absolute;
    top: 16px;
    right: 16px;
    width: 44px;
    height: 44px;
    place-items: center;
    border: 0;
    border-radius: 14px;
    background: #fff;
    color: var(--primary);
    cursor: pointer;
    z-index: 2;
  }

  body.layout-phone.page-car.is-flow .pc-car-fav.is-on .app-icon {
    fill: currentColor;
  }

  body.layout-phone.page-car.is-flow .flow-cond-hero,
  body.layout-phone.page-car.is-flow .flow-cond-hero--photo {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    text-align: left;
    gap: 16px;
    margin: 0 0 20px;
  }

  body.layout-phone.page-car.is-flow .flow-cond-hero-name {
    font-size: 28px;
    padding-right: 52px;
  }

  body.layout-phone.page-car.is-flow .flow-cond-hero-media {
    justify-self: center;
    width: 100%;
    max-width: none;
  }

  body.layout-phone.page-car.is-flow .flow-cond-hero-media img {
    width: 100%;
    height: auto;
    max-height: 360px;
    object-fit: contain;
    object-position: center;
  }

  body.layout-phone.page-car.is-flow .pc-car-gallery .flow-trim-card {
    display: none;
    background: #fff;
    border-radius: 18px;
    padding: 16px 18px;
  }

  body.layout-phone.page-car.is-flow .pc-car-buybox {
    position: relative;
    top: auto;
    background: #fff;
    border-radius: 24px;
    padding: 28px;
    box-shadow: 0 6px 28px rgba(15, 23, 42, 0.04);
  }

  body.layout-phone.page-car.is-flow .pc-car-cta {
    display: block;
    margin-top: 18px;
  }

  body.layout-phone.page-car.is-flow .pc-car-cta .btn {
    width: 100%;
    min-height: 52px;
    border-radius: 14px;
    font-size: 16px;
  }

  body.layout-phone.page-car.is-flow .pc-car-cta-help {
    margin: 10px 0 0;
    font-size: 13px;
    color: #6b7280;
    text-align: center;
  }

  body.layout-phone.page-car.is-flow .pc-car-detail {
    display: block;
    padding: 0;
    scroll-margin-top: 82px;
  }

  body.layout-phone.page-car.is-flow .pc-car-detail-inner {
    display: block;
    max-height: none;
    overflow: visible;
    background: #fff;
    border-radius: 24px;
    padding: 0;
    box-shadow: 0 12px 36px rgba(15, 23, 42, 0.06);
  }

  body.layout-phone.page-car.is-flow .pc-car-detail .stock-sheet-header {
    display: none;
  }

  body.layout-phone.page-car.is-flow .pc-car-detail .stock-sheet-header h3 {
    font-size: 22px;
  }

  body.layout-phone.page-car.is-flow .pc-car-detail .stock-sheet-scroll {
    flex: none;
    padding: 8px 0 0;
    max-height: none;
    overflow: visible;
  }

  body.layout-phone.page-car.is-flow .pc-car-detail .stock-equipment-list,
  body.layout-phone.page-car.is-flow .pc-car-detail .stock-options-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body.layout-phone.page-car.is-flow .pc-car-related,
  body.layout-phone.page-car.is-flow .pc-car-story {
    display: block;
    padding: 28px var(--app-pad) 8px;
  }

  body.layout-phone .pc-apply-root {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 1200;
  }

  body.layout-phone .pc-apply-root[hidden] {
    display: none !important;
  }

  body.layout-phone .pc-apply-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.45);
  }

  body.layout-phone .pc-apply-modal {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: min(520px, calc(100vw - 48px));
    height: min(700px, calc(100dvh - 32px));
    max-height: calc(100dvh - 32px);
    overflow: hidden;
    background: #fff;
    border-radius: 24px;
    padding: 56px 24px 0;
    box-shadow: 0 24px 64px rgba(15, 23, 42, 0.22);
    animation: app-modal-pop 220ms cubic-bezier(0.22, 1, 0.36, 1) both;
  }

  body.layout-phone .pc-apply-close {
    position: absolute;
    top: 14px;
    right: 16px;
    width: 40px;
    height: 40px;
    border: 0;
    border-radius: 12px;
    background: #f3f4f6;
    color: #111;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
    z-index: 2;
  }

  body.layout-phone .pc-apply-body { height: 100%; min-height: 0; display: flex; flex-direction: column; }
  body.layout-phone .pc-apply-body .flow-stepper { flex: 0 0 auto; margin: 0 0 10px; }
  body.layout-phone .pc-apply-body .flow-stepper-frac { margin-right: auto; }
  body.layout-phone .pc-apply-body .flow-local-preview { flex: 0 0 auto; margin: 0 0 10px; padding: 7px 10px; }
  body.layout-phone .pc-apply-body > .form { flex: 1; min-height: 0; margin: 0; display: flex; flex-direction: column; }
  body.layout-phone .pc-apply-body > .form[hidden],
  body.layout-phone .pc-apply-thanks[hidden],
  body.layout-phone .pc-apply-body [data-apply-indicator][hidden] { display: none !important; }
  body.layout-phone .pc-apply-body .flow-pane,
  body.layout-phone .pc-apply-thanks { flex: 1; min-height: 0; display: flex; flex-direction: column; }
  body.layout-phone .pc-apply-pane-scroll { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; padding: 0 4px 12px 2px; scrollbar-width: thin; }
  body.layout-phone .pc-apply-actions { flex: 0 0 auto; margin: 0; padding: 12px 0 18px; background: #fff; border-top: 1px solid #edf0f3; }
  body.layout-phone .pc-apply-actions > .btn { min-height: 48px; margin: 0; }
  body.layout-phone .pc-apply-body .pc-apply-actions .flow-apply-guide { margin: 0 0 8px; }
  body.layout-phone .pc-apply-body .flow-confirm-head { padding: 14px 16px 12px; }
  body.layout-phone .pc-apply-body .flow-confirm-name { font-size: 20px; margin: 6px 0 2px; }
  body.layout-phone .pc-apply-body .flow-confirm-specs { padding: 0 16px 4px; }
  body.layout-phone .pc-apply-body .flow-confirm-specs > div { padding: 12px 0; }
  body.layout-phone .pc-apply-body .flow-confirm-specs .is-price { padding: 16px 0; }
  body.layout-phone .pc-apply-body .flow-confirm-specs .is-price dd { font-size: 30px; margin-top: 5px; }
  body.layout-phone .pc-apply-body .flow-confirm-card > .flow-apply-help { padding: 6px 16px 12px; }

  body.layout-phone .pc-apply-body .flow-step-title {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.45;
    margin: 2px 0 16px;
  }
  body.layout-phone .pc-apply-body .flow-apply-guide { font-size: 13px; line-height: 1.6; margin: 18px 0; }
  body.layout-phone .pc-apply-body .flow-field input { border-radius: 12px; }
  body.is-pc-apply-open .app-sheet-root[data-sheet="app"] { z-index: 1210; }
  body.is-pc-apply-open .app-toast { z-index: 1220; }
  body.layout-phone .pc-apply-back { display: inline-flex; align-items: center; gap: 4px; padding: 6px 8px; margin: -6px 6px -6px -8px; border: 0; border-radius: 8px; background: none; color: #697386; font: inherit; font-size: 13px; cursor: pointer; }
  body.layout-phone .pc-apply-back[hidden] { display: none; }
  body.layout-phone .pc-apply-back:focus-visible { outline: 2px solid #566174; outline-offset: 2px; }

  body.layout-phone .pc-apply-thanks {
    text-align: center;
    padding: 0;
  }

  body.layout-phone .pc-apply-thanks .flow-confirm-card {
    text-align: left;
    margin: 18px 0 20px;
  }

  body.layout-phone.page-car.is-flow .pc-car-related-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-top: 16px;
  }

  body.layout-phone.page-car.is-flow .pc-car-story {
    margin: 24px var(--app-pad) 8px;
    border-radius: 24px;
  }

  body.layout-phone.page-car.is-flow .pc-car-story-copy {
    margin: 0;
    font-size: 13px;
    line-height: 1.6;
    color: #e5e7eb;
  }

  body.layout-phone.page-car.is-flow .flow-reviews,
  body.layout-phone.page-car.is-flow .flow-faq {
    padding-left: var(--app-pad);
    padding-right: var(--app-pad);
  }
  body.layout-phone .pc-apply-thanks .flow-complete-actions { display: flex; gap: 10px; }
  body.layout-phone .pc-apply-thanks .flow-complete-actions > .btn { flex: 1; width: auto; }
  body.layout-phone .pc-apply-thanks .flow-complete-mark { width: 48px; height: 48px; margin: 0 auto 10px; }
  body.layout-phone .pc-apply-thanks h2 { font-size: 22px; margin: 0 0 8px; }
  body.layout-phone.page-car.is-flow .pc-car-detail + .flow-faq {
    margin-top: 32px;
  }

  body.layout-phone .app-section {
    padding-left: var(--app-pad);
    padding-right: var(--app-pad);
  }

  body.layout-phone .app-section.app-section--list-band {
    padding-left: var(--app-pad);
    padding-right: var(--app-pad);
  }

  body.layout-phone .app-inventory {
    margin-left: var(--app-pad);
    margin-right: var(--app-pad);
    min-height: 240px;
    padding: 28px 32px;
  }

  body.layout-phone .app-inventory h2 {
    font-size: 28px;
    max-width: 16em;
  }

  body.layout-phone.page-home .app-inventory-sub { flex-direction: row; align-items: center; flex-wrap: nowrap; gap: 10px; margin-top: 18px; white-space: nowrap; }
  body.layout-phone.page-home .app-inventory-sub span + span::before { content: "·"; margin-right: 10px; color: rgba(255,255,255,.4); }
  body.layout-phone.page-home .app-inventory-link { margin-top: 4px; }

  body.layout-phone .app-inventory-visual {
    max-width: 320px;
    top: 18px;
    right: 12px;
  }

  body.layout-phone .app-hscroll {
    margin-left: calc(var(--app-pad) * -1);
    margin-right: calc(var(--app-pad) * -1);
    padding-left: var(--app-pad);
    padding-right: var(--app-pad);
  }

  body.layout-phone .app-hscroll > * {
    flex-basis: 31%;
    max-width: 31%;
  }

  body.layout-phone .app-steps {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
  }

  body.layout-phone .app-step-card {
    min-height: 180px;
  }

  body.layout-phone .app-situation-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  body.layout-phone .app-trust {
    margin-left: var(--app-pad);
    margin-right: var(--app-pad);
  }

  body.layout-phone .app-footer.site-footer,
  body.layout-phone .app-footer--brand.site-footer {
    padding-left: var(--app-pad);
    padding-right: var(--app-pad);
  }

  /* Finder */
  body.layout-phone.page-finder .finder-app {
    padding-left: var(--app-pad);
    padding-right: var(--app-pad);
  }

  body.layout-phone .finder-head h1 {
    font-size: 28px;
  }

  body.layout-phone .finder-list { grid-template-columns: minmax(0, 1fr); gap: 12px; }

  body.layout-phone .app-fav-grid,
  body.layout-phone .app-fav-skeleton {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
  }

  body.layout-phone.page-favorites .app-favorites { padding: 32px var(--app-pad); background: #f7f8fa; min-height: calc(100vh - 68px); }
  body.layout-phone.page-favorites .fav-product .app-vehicle-card-link { grid-template-columns: 140px minmax(0,1fr) 240px; grid-template-areas: 'media info pricing' 'media conditions pricing'; column-gap: 24px; row-gap: 18px; padding: 24px; min-height: 214px; }
  body.layout-phone.page-favorites .fav-product .app-vehicle-card-media { height: 112px; }
  body.layout-phone.page-favorites .fav-product .app-vehicle-brand { font-size: 21px; }
  body.layout-phone.page-favorites .fav-product .app-vehicle-name { font-size: 15px; }
  body.layout-phone .fav-contract { align-self: start; gap: 14px; }
  body.layout-phone .fav-contract dd { font-size: 14px; }
  body.layout-phone .fav-product-pricing { display: flex; flex-direction: column; align-items: flex-end; text-align: right; }
  body.layout-phone.page-favorites .fav-product .app-badge-row { justify-content: flex-end; }
  body.layout-phone.page-favorites .fav-product .app-vehicle-card-top { margin-bottom: 18px; }
  body.layout-phone.page-favorites .fav-product .app-price { justify-content: flex-end; margin-bottom: 18px; }
  body.layout-phone.page-favorites .fav-product .app-vehicle-cta { width: 156px; margin-top: auto; }
  body.layout-phone.page-favorites .fav-product .app-heart { bottom: 24px; right: 192px; left: auto; }

  body.layout-phone .finder-results,
  body.layout-phone .flow-list-scroll,
  body.layout-phone.page-car.is-flow .flow-cond-scroll {
    scrollbar-width: thin;
  }

  body.layout-phone .finder-results::-webkit-scrollbar,
  body.layout-phone .flow-list-scroll::-webkit-scrollbar,
  body.layout-phone.page-car.is-flow .flow-cond-scroll::-webkit-scrollbar {
    width: 8px;
    display: block;
  }

  body.layout-phone .finder-results::-webkit-scrollbar-thumb,
  body.layout-phone .flow-list-scroll::-webkit-scrollbar-thumb,
  body.layout-phone.page-car.is-flow .flow-cond-scroll::-webkit-scrollbar-thumb {
    background: #e5e7eb;
    border-radius: 99px;
  }

  /* Product / condition / apply flow */
  body.layout-phone.is-flow .flow-header {
    padding-left: 16px;
    padding-right: 20px;
  }

  body.layout-phone.is-flow h1.flow-header-title {
    font-size: 22px;
  }

  body.layout-phone.is-flow .flow-header--identity h1.flow-header-title {
    font-size: 18px;
  }

  body.layout-phone .flow-page {
    padding-left: var(--app-pad);
    padding-right: var(--app-pad);
  }

  body.layout-phone .flow-controls,
  body.layout-phone .flow-list-scroll,
  body.layout-phone.page-car.is-flow .flow-cond-scroll {
    padding-left: var(--app-pad);
    padding-right: var(--app-pad);
  }

  body.layout-phone .product-pick-list {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
  }

  body.layout-phone .flow-reviews-scroll {
    padding-left: var(--app-pad);
    padding-right: var(--app-pad);
    scroll-padding-left: var(--app-pad);
  }

  body.layout-phone .flow-review-card {
    flex-basis: 38%;
    max-width: 38%;
  }

  body.layout-phone .stock-equipment-list,
  body.layout-phone .stock-options-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body.layout-phone.page-apply .flow-apply,
  body.layout-phone.page-thanks .flow-complete,
  body.layout-phone.page-legal .app-section {
    max-width: 560px;
    margin-left: auto;
    margin-right: auto;
  }

  body.layout-phone.page-thanks .flow-complete {
    max-width: 640px;
  }

  body.layout-phone .flow-sticky-cta {
    padding-left: var(--app-pad);
    padding-right: var(--app-pad);
  }

  body.layout-phone .contact-float {
    right: calc(50% - (var(--app-max) / 2) + 24px);
  }

  /* Undo the old "keep mobile UI on wide screens" locks. */
  body.layout-phone .brand-chips {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  body.layout-phone .offer-list {
    grid-template-columns: minmax(0, 1fr);
  }

  /* Center pop-in modal instead of a bottom sheet */
  body.layout-phone .app-sheet-root[data-sheet="app"] .app-sheet,
  body.layout-phone .app-sheet-root[data-sheet="app"] .app-sheet.is-info-sheet {
    top: 50%;
    bottom: auto;
    left: 50%;
    right: auto;
    transform: translate(-50%, -50%);
    width: min(480px, calc(100vw - 48px));
    max-width: 480px;
    max-height: min(78vh, 560px);
    height: auto;
    background: #fff;
    color: #111;
    border-radius: 24px;
    padding: 28px 24px 22px;
    box-shadow: 0 24px 64px rgba(15, 23, 42, 0.2);
    animation: app-modal-pop 220ms cubic-bezier(0.22, 1, 0.36, 1) both;
  }

  body.layout-phone .app-sheet-root[data-sheet="app"] .app-sheet-handle {
    display: none;
  }

  body.layout-phone .app-sheet-root[data-sheet="app"].is-faq-sheet .app-sheet {
    top: auto;
    bottom: 0;
    transform: translate(-50%, 0);
    border-radius: 24px 24px 0 0;
    animation: desktop-faq-rise 260ms cubic-bezier(.22,1,.36,1) both;
  }
  body.layout-phone .app-sheet-root[data-sheet="app"].is-faq-sheet .app-sheet-handle { display: block; }
  @media (prefers-reduced-motion: reduce) {
    body.layout-phone .app-sheet-root[data-sheet="app"].is-faq-sheet .app-sheet { animation: none; }
  }

  body.layout-phone.page-home .app-faq-list.flow-faq-list {
    border-top: 1px solid #ecedef;
  }
}

@keyframes app-modal-pop {
  from {
    transform: translate(-50%, -50%) scale(0.92);
    opacity: 0;
  }
  to {
    transform: translate(-50%, -50%) scale(1);
    opacity: 1;
  }
}

@media (min-width: 1280px) {
  body.layout-phone {
    --app-max: 1200px;
    --phone-shell: 1200px;
  }

  body.layout-phone.page-home .app-hero h1,
  body.layout-phone.page-home h1 {
    font-size: 38px;
  }
}

@media (min-width: 900px) and (hover: hover) and (pointer: fine) {
  body.layout-phone .app-vehicle-card,
  body.layout-phone .product-pick-card,
  body.layout-phone .app-situation-card,
  body.layout-phone .app-step-card,
  body.layout-phone.page-home .app-quick-item {
    transition: transform 180ms ease, box-shadow 180ms ease;
  }

  body.layout-phone .app-vehicle-card:hover,
  body.layout-phone .product-pick-card:hover,
  body.layout-phone .app-situation-card:hover,
  body.layout-phone.page-home .app-quick-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
  }
}

/* Inline desktop details have their own reading layout, independent of the mobile sheet. */
@media (min-width: 900px) {
  .page-car .pc-car-detail .stock-sheet-subhead { border-bottom: 0; padding-bottom: 8px; }
  .page-car .pc-car-detail .stock-detail-tabs { gap: 28px; margin-top: 0; }
  .page-car .pc-car-detail .stock-detail-tabs button { flex: 0 0 auto; min-width: 100px; padding: 16px 12px; font-size: 15px; }
  .page-car .pc-car-detail .stock-detail-tabs button:focus-visible { outline: 2px solid #fa5b1c; outline-offset: -2px; }
  .page-car .pc-car-detail .flow-info-rows { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 32px; margin: 0; }
  .page-car .pc-car-detail .flow-info-rows > div { grid-template-columns: 90px minmax(0, 1fr); padding: 18px 0; border-bottom: 1px solid #edf0f3; line-height: 1.7; }
  .page-car .pc-car-detail .flow-info-rows dt { font-size: 14px; font-weight: 500; }
  .page-car .pc-car-detail .flow-info-rows dd { font-size: 15px; overflow-wrap: anywhere; }
  .page-car .pc-car-detail .flow-info-rows dd small { color: #737d89; font-size: 13px; font-weight: 400; }
  .page-car .pc-car-detail .stock-options-note { margin: 0 0 24px; padding: 16px 20px; border-radius: 12px; background: #f7f8fa; font-size: 14px; }
  .page-car .pc-car-detail .stock-feature-group { margin: 0 0 28px; }
  .page-car .pc-car-detail .stock-feature-group:last-child { margin-bottom: 0; }
  .page-car .pc-car-detail .stock-feature-group[id] { scroll-margin-top: 90px; }
  .page-car .pc-car-detail .stock-trim-comparison { margin-top: 30px; }
  body.layout-phone.page-car.is-flow .pc-car-detail .stock-equipment-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 28px; }
  .page-car .pc-car-detail .stock-equipment-list li { padding: 14px 8px 14px 16px; border-bottom: 1px solid #f0f1f3; }
  .page-car .pc-car-detail .stock-equipment-list li::before { top: 24px; }
  .page-car .pc-car-detail .stock-trim-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 28px; }
  .page-car .pc-car-detail .stock-trim-list li { padding: 18px 12px; }
  .page-car .pc-car-detail .stock-trim-list .is-selected { background: #fff6ef; border-radius: 12px; }
}
@media (min-width: 900px) {
  body.layout-phone.page-car.is-flow .pc-car-gallery .pc-car-detail-inner { box-shadow: none; border-radius: 18px; }
  .page-car .pc-car-gallery .stock-sheet-subhead .stock-sheet-trim { display: none; }
  .page-car .pc-car-gallery .stock-sheet-subhead:has(.stock-catalog-price) { justify-content: flex-start; padding: 4px 0 8px; }
  .page-car .pc-car-gallery .stock-catalog-price { text-align: left; }
  .page-car .pc-car-gallery .stock-detail-tabs { gap: 0; }
  .page-car .pc-car-gallery .stock-detail-tabs button { flex: 1; min-width: 0; padding-inline: 4px; font-size: 14px; }
  .page-car .pc-car-gallery .flow-info-rows { gap: 0 20px; }
  .page-car .pc-car-gallery .flow-info-rows > div { grid-template-columns: 66px minmax(0, 1fr); gap: 8px; }
  .page-car .pc-car-gallery .flow-info-rows > div:last-child { grid-column: 1 / -1; }
  .page-car .pc-car-gallery .stock-trim-list { grid-template-columns: minmax(0, 1fr); }
}
@media (min-width: 900px) and (max-width: 1100px) {
  .page-car .pc-car-gallery .flow-info-rows { grid-template-columns: minmax(0, 1fr); }
  body.layout-phone.page-car.is-flow .pc-car-gallery .stock-equipment-list { grid-template-columns: minmax(0, 1fr); }
}

@media (min-width: 900px) {
  body.layout-phone.page-car.is-flow .pc-car-buybox .flow-quote-card { margin: 0; padding: 0 0 20px; border-radius: 0; border-bottom: 1px solid #edf0f3; box-shadow: none; background: transparent; }
  .page-car .pc-car-buybox .car-contract-details { margin: 0 0 18px; }
  .page-car .pc-car-buybox .car-condition-row:last-of-type { border-bottom: 0; }
  .page-car .pc-car-gallery .stock-sheet-subhead:not(:has(.stock-catalog-price)) { display: none; }
  body.layout-phone.page-car.is-flow .pc-car-gallery .pc-car-detail-inner { border-radius: 0; }
}

/* Desktop: purchase overview first, full-width vehicle details below. */
@media (min-width: 900px) {
  body.layout-phone.page-car .pc-car-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 16px var(--app-pad) 8px; }
  .page-car .pc-car-brand { margin: 0 0 6px; color: #78828f; font-size: 13px; font-weight: 500; }
  .page-car .pc-car-heading h1 { margin: 0; color: #20252b; font-size: 24px; font-weight: 600; line-height: 1.35; letter-spacing: -.025em; }
  body.layout-phone.page-car .pc-car-heading .pc-car-fav { position: static; flex: 0 0 44px; border: 1px solid #edf0f3; }
  body.layout-phone.page-car.is-flow .pc-car-gallery { display: flex; padding: 24px; }
  body.layout-phone.page-car.is-flow .pc-car-gallery .flow-cond-hero { display: none; }
  body.layout-phone.page-car .pc-car-overview { display: flex; flex-direction: column; justify-content: center; flex: 1; min-width: 0; }
  body.layout-phone.page-car .pc-car-overview .pc-detail-photo { flex: 0 0 auto; min-height: 0; padding: 16px 12px; margin: 0; background: transparent; gap: 12px; }
  body.layout-phone.page-car .pc-car-overview .pc-detail-photo img { height: 180px; width: 100%; max-width: 340px; object-fit: contain; }
  .page-car .pc-car-key-specs { padding: 18px 4px 4px; border-top: 1px solid #edf0f3; margin-top: 12px; }
  .page-car .pc-car-spec-label { color: #858e99; font-size: 12px; font-weight: 500; }
  .page-car .pc-car-key-specs p { margin: 7px 0 10px; color: #252b33; font-size: 18px; font-weight: 600; line-height: 1.5; }
  body.layout-phone.page-car.is-flow .pc-car-buybox { display: flex; flex-direction: column; }
  body.layout-phone.page-car.is-flow .pc-car-cta { margin-top: auto; padding-top: 18px; }
  body.layout-phone.page-car.is-flow .pc-car-detail { margin: 24px var(--app-pad) 0; }
  body.layout-phone.page-car.is-flow .pc-car-detail-inner { padding: 24px 28px 28px; border-radius: 24px; box-shadow: 0 6px 28px rgba(15,23,42,.04); }
  .page-car .pc-car-detail .stock-sheet-subhead { min-height: 0; padding: 0 0 16px; }
  .page-car .pc-car-detail .stock-sheet-subhead:not(:has(.stock-catalog-price)) { display: none; }
  .page-car .pc-car-detail .stock-sheet-trim { display: none; }
  .page-car .pc-car-detail .stock-catalog-price { margin-left: auto; }
  .page-car .pc-car-detail .stock-detail-tabs { gap: 24px; }
  .page-car .pc-car-detail .stock-detail-tabs button { min-width: 140px; font-size: 16px; }
  .page-car .pc-car-detail .stock-group-jumps { position: static; margin-top: 12px; }
  body.layout-phone.page-car.is-flow .pc-car-detail .stock-sheet-scroll { overflow: visible; max-height: none; padding-top: 22px; }
  .page-car .pc-car-detail .flow-info-rows { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .page-car .pc-car-detail .flow-info-rows > div { padding: 16px 0; }
}
@media (min-width: 1200px) {
  body.layout-phone.page-car.is-flow .pc-car-detail .stock-equipment-list { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

/* Product list: comparison on the left, price and independent actions on the right. */
@media (min-width: 900px) {
  body.layout-phone .product-pick-card { min-height: 180px; padding: 20px 24px; align-content: center; }
  body.layout-phone .product-pick-top { top: 20px; right: 24px; }
  body.layout-phone .product-pick-card .vehicle-display-primary { font-size: 15px; line-height: 1.5; color: #505966; }
  body.layout-phone .product-pick-price { position: absolute; bottom: 76px; right: 24px; font-size: 22px; }
  body.layout-phone .product-pick-price.is-quote { font-size: 19px; }
  body.layout-phone .product-pick-chevron { display: none; }
  body.layout-phone .product-pick-wrap .product-pick-heading .app-heart { position: absolute; top: auto; bottom: 16px; right: 148px; margin: 0; width: 44px; height: 44px; border: 1px solid #e7eaee; border-radius: 12px; background: #fff; }
  body.layout-phone .product-pick-action { position: absolute; right: 24px; bottom: 16px; display: flex; align-items: center; justify-content: center; gap: 12px; min-height: 44px; width: 112px; border-radius: 12px; background: #f5f6f8; color: #384150; font-size: 13px; font-weight: 600; }
  body.layout-phone .product-pick-action > span { font-size: 18px; }
}

/* One compact overview card, with a shared action row instead of two tall cards. */
@media (min-width: 900px) {
  body.layout-phone.page-car.is-flow .pc-car-stage { margin: 12px var(--app-pad) 0; padding: 24px 28px 20px; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: 20px 32px; background: #fff; border-radius: 24px; box-shadow: 0 6px 28px rgba(15,23,42,.04); align-items: center; }
  body.layout-phone.page-car.is-flow .pc-car-gallery { padding: 0 28px 0 0; border-right: 1px solid #edf0f3; border-radius: 0; background: transparent; }
  body.layout-phone.page-car .pc-car-overview { justify-content: flex-start; }
  body.layout-phone.page-car .pc-car-overview .pc-detail-photo { padding: 0 0 12px; gap: 8px; }
  body.layout-phone.page-car .pc-car-overview .pc-detail-photo img { height: 160px; max-width: 300px; }
  body.layout-phone.page-car .pc-car-overview .pc-detail-photo small { max-width: 320px; font-size: 11px; line-height: 1.5; }
  .page-car .pc-car-key-specs { margin-top: 0; padding: 14px 0 0; border-top: 0; }
  .page-car .pc-car-key-specs p { font-size: 16px; margin: 6px 0 8px; }
  body.layout-phone.page-car.is-flow .pc-car-buybox { padding: 0; background: transparent; box-shadow: none; border-radius: 0; }
  body.layout-phone.page-car.is-flow .pc-car-buybox .flow-quote-card { padding-bottom: 14px; }
  .page-car .pc-car-buybox .car-contract-details { margin: 0; }
  .page-car .pc-car-buybox .car-condition-row { padding: 12px 0; }
  body.layout-phone.page-car.is-flow .pc-car-stage-footer { display: grid; grid-column: 1 / -1; grid-template-columns: minmax(0,1fr) 320px; gap: 28px; align-items: center; padding-top: 18px; border-top: 1px solid #edf0f3; }
  body.layout-phone.page-car .pc-car-stage-footer .car-stock-notice { margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; }
  .page-car .pc-car-stage-footer .car-stock-notice p { margin: 6px 0 0; font-size: 12px; line-height: 1.6; }
  body.layout-phone.page-car.is-flow .pc-car-stage-footer .pc-car-cta { margin: 0; padding: 0; }
  .page-car .pc-car-stage-footer .pc-car-cta-help { margin-top: 6px; font-size: 11px; }
}
