/* Fair Match: an automotive browsing experience, retaining gestures and engines. */
.auto-shopping-page .page-hero { padding: 38px 0 32px; background: #10151c; }
.auto-shopping-page .page-hero h1 { max-width: 760px; font-size: clamp(2rem, 4.7vw, 3.45rem); line-height: 1.08; }
.auto-shopping-page .page-hero .lede { max-width: 660px; font-size: 1.12rem; }
.auto-hero-notes { display: flex; flex-wrap: wrap; gap: 10px 24px; margin-top: 22px; color: #e5e9ed; font-size: .86rem; }
.auto-hero-notes span::before { content: "✓"; margin-right: 7px; color: #f5a59f; }
.auto-start-swipe { display: inline-flex; align-items: center; gap: 10px; min-height: 48px; margin-top: 20px; padding: 11px 17px; border-radius: 6px; background: #b91409; color: #fff; font-weight: 800; text-decoration: none; }
.auto-start-swipe:hover { background: #971006; color: #fff; }
.auto-shopping-page #main { padding-top: 34px; }
.auto-shopping-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(280px, 1fr); gap: 36px; align-items: start; max-width: 1080px; margin: auto; }
.auto-vehicle-browser { min-width: 0; }
#fair-match-app { max-width: 640px; padding: 0; }
#fair-match-app .fm-head { text-align: left; margin-bottom: 18px; }
#fair-match-app .fm-title { font-size: clamp(1.6rem, 3vw, 2.1rem); line-height: 1.15; }
#fair-match-app .fm-sub { font-size: 1rem; line-height: 1.5; }
#fair-match-app .fm-deck { height: 640px; }
#fair-match-app .fm-card { display: flex; flex-direction: column; border: 1px solid #dce1e7; border-radius: 10px; background: #fff; box-shadow: 0 5px 20px #10151c0b; }
#fair-match-app .fm-card--2, #fair-match-app .fm-card--3 { visibility: hidden; }
#fair-match-app .fm-card--top { touch-action: pan-y; }
#fair-match-app .fm-img-bg, #fair-match-app .fm-scrim-top, #fair-match-app .fm-scrim-bot { display: none; }
#fair-match-app .fm-img { position: relative; inset: auto; width: 100%; height: 300px; flex-shrink: 0; object-fit: contain; object-position: center; background: #eef1f4; }
#fair-match-app .fm-img[src*="logo-"] { object-fit: contain; padding: 35px; }
#fair-match-app .fm-info { position: relative; inset: auto; flex: 1; padding: 20px 22px; gap: 7px; color: #17202b; }
#fair-match-app .fm-name { color: #121a24; text-shadow: none; font-size: clamp(1.4rem, 4.8vw, 1.9rem); line-height: 1.14; }
#fair-match-app .fm-subtitle, #fair-match-app .fm-spec { color: #4a5664; }
#fair-match-app .fm-dot { color: #87939f; }
#fair-match-app .fm-fit-eyebrow, #fair-match-app .fm-carfax { color: #354554; font-size: .82rem; }
#fair-match-app .fm-reason { background: #f0f3f6; color: #344351; border-color: #dce3e9; font-size: .8rem; }
#fair-match-app .fm-price { color: #111a24; font-size: 1.45rem; margin-top: auto; padding-right: 72px; }
#fair-match-app .fm-price-note { color: #526171; font-size: .74rem; line-height: 1.45; font-weight: 400; }
#fair-match-app .fm-score { display: none; }
#fair-match-app .fm-score--learning { color: #344351; }
#fair-match-app .fm-warranty { position: static; align-self: flex-start; max-width: calc(100% - 32px); margin: 12px 16px 0; border-radius: 4px; background: #f2f5f7; color: #344351; font-size: .7rem; box-shadow: none; }
#fair-match-app .fm-up { border: 1px solid #c7d0da; border-radius: 6px; width: 50px; height: 44px; background: #f6f8fa; color: #1b2b3a; box-shadow: none; }
#fair-match-app .fm-up:hover { background: #e8edf2; color: #1b2b3a; }
#fair-match-app .fm-controls { gap: 10px; margin-top: 14px; display: grid; grid-template-columns: auto 1fr 1.2fr; }
#fair-match-app .fm-btn { display: flex; align-items: center; justify-content: center; gap: 8px; width: auto; min-width: 0; height: 50px; border-radius: 6px; padding: 10px 13px; border: 1px solid #c9d2dc; color: #263746; background: #fff; box-shadow: none; font-size: .9rem; }
#fair-match-app .fm-btn svg { width: 20px; height: 20px; flex-shrink: 0; }
#fair-match-app .fm-control-label { position: static; inset: auto; transform: none; width: auto; margin: 0; color: inherit; font-size: .88rem; line-height: 1.1; }
#fair-match-app .fm-btn--yes { background: #b91409; color: #fff; border-color: #b91409; }
#fair-match-app .fm-btn--yes:hover { background: #971006; color: #fff; }
#fair-match-app .fm-btn--no:hover, #fair-match-app .fm-btn--undo:hover { background: #edf1f5; color: #1a2a38; }
#fair-match-app .fm-btn:disabled { opacity: .45; }
#fair-match-app .fm-foot { align-items: center; padding-top: 8px; }
#fair-match-app .fm-link { min-height: 44px; }
#fair-match-app .fm-hint, #fair-match-app .fm-footnote { text-align: left; line-height: 1.45; color: #526171; font-size: .78rem; }
#fair-match-app .fm-burst { display: none; }
#fair-match-app .fm-stamp { font-size: 1.2rem; border-radius: 5px; transform: none; }
#fair-match-app .fm-stamp--yes { color: #174c38; background: #fff; border-color: #174c38; }
#fair-match-app .fm-stamp--no { color: #344351; background: #fff; border-color: #344351; }
#fair-match-app .fm-match { border-radius: 6px; }
#fair-match-app .fm-match-link { min-height: 90px; }
#fair-match-app .fm-shortlist-actions { display: flex; flex-wrap: wrap; gap: 4px 16px; margin-top: 8px; }
.auto-value { background: #f4f6f8; border-top: 3px solid #b91409; padding: 28px; border-radius: 0 0 8px 8px; }
.auto-value .eyebrow { color: #a4130a; font-size: .69rem; letter-spacing: .1em; }
.auto-value h2 { font-family: var(--display); font-size: clamp(1.65rem, 2.5vw, 2rem); line-height: 1.12; margin: 12px 0 16px; color: #151e29; }
.auto-value p { font-size: .94rem; line-height: 1.55; color: #4a5968; }
.auto-value-list { padding: 0; list-style: none; margin: 26px 0; }
.auto-value-list li { display: flex; align-items: flex-start; gap: 12px; border-top: 1px solid #dce2e8; padding: 17px 0 0; margin-top: 17px; }
.auto-value-list li > span { font-size: .72rem; font-weight: 700; color: #a4130a; padding-top: 4px; }
.auto-value-list h3 { margin: 0 0 6px; font-size: 1rem; color: #1e2b38; }
.auto-value-list p { margin: 0; font-size: .88rem; }
.auto-service-link { display: flex; gap: 10px; justify-content: space-between; align-items: center; min-height: 48px; color: #a4130a; font-weight: 700; border-top: 1px solid #dce2e8; padding-top: 16px; text-decoration: none; }
.auto-value .auto-value-note, .auto-value-note { font-size: .76rem; line-height: 1.5; color: #5d6976; }
.auto-compare { max-width: 1080px; margin: 60px auto 0; padding-top: 34px; border-top: 1px solid #dce2e8; }
.auto-compare h2 { font-family: var(--display); font-size: clamp(1.7rem, 3.5vw, 2.4rem); line-height: 1.15; margin: 10px 0; }
.auto-compare > p { max-width: 740px; line-height: 1.6; color: #4b5968; }
.auto-compare-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin: 24px 0; }
.auto-compare-grid article { border: 1px solid #dce2e8; padding: 23px; border-radius: 6px; }
.auto-compare-grid h3 { margin: 0 0 14px; font-size: 1.2rem; }
.auto-compare-grid p { font-size: .93rem; line-height: 1.6; color: #4b5968; }
.auto-compare-grid a { display: inline-flex; align-items: center; min-height: 44px; color: #a4130a; font-size: .84rem; font-weight: 700; }
.auto-compare-grid .auto-compare-ours { border-color: #b91409; background: #fff8f7; }
.auto-compare-ours .eyebrow { font-size: .62rem; color: #a4130a; }
.auto-compare details { background: #f5f7f9; padding: 18px 22px; border-radius: 6px; }
.auto-compare summary { cursor: pointer; min-height: 28px; font-weight: 700; }
.auto-shopping-page .cj-shell { max-width: 1080px; padding: 0; margin-top: 28px; }
.auto-shopping-page .fm-faq { max-width: 800px !important; }
.gar-fab { border-radius: 6px; }
.auto-shopping-page a:focus-visible, #fair-match-app button:focus-visible { outline: 3px solid #245d94; outline-offset: 3px; }
@media (max-width: 760px) {
  .auto-shopping-page .page-hero { padding: 20px 0 18px; }
  .auto-shopping-page .page-hero h1 { font-size: clamp(1.85rem, 9vw, 2.45rem); }
  .auto-shopping-page .page-hero .lede { font-size: 1rem; }
  .auto-hero-notes { gap: 6px 13px; font-size: .73rem; margin-top: 12px; }
  .auto-start-swipe { width: 100%; justify-content: center; margin-top: 14px; }
  .auto-shopping-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .auto-shopping-page #main { padding-top: 25px; }
  #fair-match-app .fm-deck { height: 668px; }
  #fair-match-app .fm-img { height: 210px; }
  #fair-match-app .fm-info { padding: 14px 16px; gap: 5px; }
  #fair-match-app .fm-warranty { margin-top: 10px; }
  #fair-match-app .fm-name { font-size: 1.5rem; }
  #fair-match-app .fm-controls { gap: 7px; grid-template-columns: auto 1fr 1.15fr; }
  #fair-match-app .fm-btn { padding: 10px 8px; gap: 5px; }
  #fair-match-app .fm-control-label { font-size: .76rem; }
  #fair-match-app .fm-btn--undo .fm-control-label { display: none; }
  #fair-match-app .fm-btn--undo { min-width: 44px; }
  #fair-match-app .fm-foot { gap: 5px; }
  #fair-match-app .fm-link { font-size: .85rem; }
  .auto-value { padding: 24px; }
  .auto-compare { margin-top: 34px; }
  .auto-compare-grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .auto-compare-grid article { padding: 20px; }
  .auto-shopping-page .fm-faq { margin-top: 35px !important; }
}
@media (prefers-reduced-motion: reduce) {
  #fair-match-app *, .auto-shopping-page * { scroll-behavior: auto !important; transition-duration: 0s !important; animation-duration: 0s !important; }
}
/* Swipeable showroom: keep gestures, remove dating-app celebration cues. */
#fair-match-app .fm-score i{font-size:.58rem;letter-spacing:.04em}
#fair-match-app .fm-mo-hearts{display:none!important}
#fair-match-app .fm-mo-card{border-radius:10px;text-align:left;animation:none}
#fair-match-app .fm-mo-title{color:#17212b;font-size:1.6rem}
#fair-match-app .fm-mo-photo{border-radius:6px}
#fair-match-app .fm-mo-continue{text-align:left}

/* Exact-VIN service-history value appears in full details, below the gallery. */
.fm-history{margin:24px 0;padding:20px;border:1px solid #d8dee8;border-left:5px solid #e8261a;border-radius:12px;background:#f8fafc;color:#172033}
.fm-history-kicker{margin:0 0 4px;font-size:11px;font-weight:850;letter-spacing:.13em;color:#a51d15}
.fm-history .fm-sh-sec{margin:0 0 12px}
.fm-history-list{display:grid;gap:9px;margin:0;padding:0;list-style:none}
.fm-history-list li{display:flex;gap:9px;align-items:flex-start;line-height:1.35}
.fm-history-list li>span{display:grid;place-items:center;flex:0 0 22px;height:22px;border-radius:50%;background:#173d2d;color:#fff;font-size:13px}
.fm-history-source{margin:13px 0 0;font-size:12px;line-height:1.45;color:#566274}

/* October 8 owner direction: iPhone-first automotive matchmaker experience. */
#fair-match-app{max-width:460px;margin-inline:auto}
#fair-match-app .fm-head{text-align:center;margin-bottom:12px}
#fair-match-app .fm-title{font-size:clamp(1.75rem,7vw,2.35rem)}
#fair-match-app .fm-sub{max-width:36ch;margin-inline:auto;color:#53606d}
#fair-match-app .fm-deck{height:clamp(560px,70svh,650px);perspective:1100px;overflow:visible}
#fair-match-app .fm-card{overflow:hidden;border:0;border-radius:28px;background:#fff;box-shadow:0 20px 55px rgba(12,14,19,.22)}
#fair-match-app .fm-card--2,#fair-match-app .fm-card--3{visibility:visible;background:#edf0f3;pointer-events:none}
#fair-match-app .fm-card--2{transform:translateY(10px) scale(.965);opacity:.82}
#fair-match-app .fm-card--3{transform:translateY(20px) scale(.93);opacity:.5}
#fair-match-app .fm-card--top{touch-action:pan-y;cursor:grab;will-change:transform,opacity}
#fair-match-app .fm-card--top:active{cursor:grabbing}
#fair-match-app .fm-img{height:56%;min-height:300px;object-fit:contain}
#fair-match-app .fm-info{padding:17px 20px 18px;gap:5px}
#fair-match-app .fm-name{font-size:clamp(1.55rem,6vw,2rem)}
#fair-match-app .fm-reasons{display:flex;gap:6px;overflow:hidden;max-height:32px}
#fair-match-app .fm-reason{white-space:nowrap}
#fair-match-app .fm-price{font-size:1.55rem}
#fair-match-app .fm-score{display:flex;right:15px;top:15px;border-radius:16px;background:rgba(12,14,19,.86);color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.22)}
#fair-match-app .fm-warranty{position:absolute;top:15px;left:15px;z-index:4;margin:0;max-width:55%;border:1px solid rgba(255,255,255,.42);border-radius:999px;background:rgba(12,14,19,.76);color:#fff;backdrop-filter:blur(8px)}
#fair-match-app .fm-up{position:absolute;right:16px;bottom:16px;z-index:5;width:48px;height:48px;border:0;border-radius:50%;background:#111b25;color:#fff;box-shadow:0 7px 18px rgba(0,0,0,.22)}
#fair-match-app .fm-controls{display:flex;align-items:flex-start;justify-content:center;gap:26px;margin-top:18px;margin-bottom:42px}
#fair-match-app .fm-btn{position:relative;display:grid;place-items:center;flex:0 0 auto;width:64px;height:64px;padding:0;border:0;border-radius:50%;background:#fff;box-shadow:0 8px 24px rgba(12,14,19,.16);color:#43505d}
#fair-match-app .fm-btn svg{width:27px;height:27px}
#fair-match-app .fm-btn--no{color:#394653}
#fair-match-app .fm-btn--yes{width:74px;height:74px;margin-top:-5px;background:#e8261a;color:#fff;box-shadow:0 11px 30px rgba(232,38,26,.34)}
#fair-match-app .fm-btn--undo{color:#946000}
#fair-match-app .fm-control-label{position:absolute;top:calc(100% + 7px);left:50%;transform:translateX(-50%);display:block!important;color:#26313c;font-size:.76rem;white-space:nowrap}
#fair-match-app .fm-burst{display:flex!important;border-radius:999px;box-shadow:0 10px 30px rgba(0,0,0,.22)}
#fair-match-app .fm-stamp{top:70px;padding:7px 12px;border-width:3px;border-radius:9px;background:rgba(255,255,255,.9);font-size:1.15rem;letter-spacing:.07em}
#fair-match-app .fm-stamp--yes{color:#13754c;border-color:#13754c;transform:rotate(-8deg)}
#fair-match-app .fm-stamp--no{color:#3d4a56;border-color:#3d4a56;transform:rotate(8deg)}
#fair-match-app .fm-mo-hearts{display:block!important}
#fair-match-app .fm-mo-card{border-radius:26px;text-align:center;animation:fm-mo-pop .38s cubic-bezier(.2,1.4,.4,1)}
#fair-match-app .fm-mo-title{color:#e8261a;font-size:clamp(2rem,8vw,2.7rem)}
#fair-match-app .fm-mo-photo{border-radius:16px}
#fair-match-app .fm-mo-continue{text-align:center}
@media(max-width:760px){
 .auto-shopping-page .page-hero{padding:15px 0 13px}.auto-shopping-page .page-hero .lede,.auto-hero-notes{display:none}.auto-start-swipe{min-height:42px;margin-top:8px;padding:8px 14px}
 .auto-shopping-page #main{padding:14px 0 28px}.auto-shopping-grid{display:block}.auto-value{margin-top:35px}
 #fair-match-app .fm-deck{height:min(64svh,590px);min-height:535px}
 #fair-match-app .fm-img{height:55%;min-height:260px}
 #fair-match-app .fm-info{padding:14px 17px 16px}
 #fair-match-app .fm-controls{gap:24px;margin-top:15px}
 #fair-match-app .fm-foot{margin-top:0}.fm-browse-options{margin-top:16px}
}
@media(max-width:390px){#fair-match-app .fm-deck{height:548px;min-height:548px}#fair-match-app .fm-img{height:285px;min-height:285px}#fair-match-app .fm-subtitle{display:none}#fair-match-app .fm-price{font-size:1.4rem}}
@media(prefers-reduced-motion:reduce){#fair-match-app .fm-card--2,#fair-match-app .fm-card--3{transform:none}.fm-mo-heart{display:none!important}}

@media(max-width:760px) and (max-height:700px){
 .auto-shopping-page .page-hero{display:none}
 .auto-shopping-page #main{padding-top:10px}
 #fair-match-app .fm-head{margin-bottom:7px}
 #fair-match-app .fm-sub{display:none}
 #fair-match-app .fm-deck{height:470px;min-height:470px}
 #fair-match-app .fm-img{height:235px;min-height:235px}
 #fair-match-app .fm-info{padding:11px 15px 13px;gap:3px}
 #fair-match-app .fm-reasons{max-height:26px}
 #fair-match-app .fm-controls{margin-top:11px;margin-bottom:34px}
}
@media(orientation:landscape) and (max-height:500px){
 #fair-match-app .fm-title{font-size:1.55rem}
 #fair-match-app .fm-deck{height:420px;min-height:420px}
 #fair-match-app .fm-img{height:205px;min-height:205px}
 #fair-match-app .fm-controls{margin-top:8px}
}

/* Keep vehicle photography clear; supporting details stay below it. */
#fair-match-app .fm-score{display:none}
#fair-match-app .fm-warranty{position:static;max-width:100%;width:fit-content;background:#f3f5f7;color:#26313c;border:1px solid #dce1e5;backdrop-filter:none}
#fair-match-app .fm-progress{font-size:17px;font-weight:750}
.fm-sh-nav:disabled{opacity:.3;cursor:default}
.fm-sh-count{max-width:calc(100% - 24px);font-size:15px}
@media(prefers-reduced-motion:reduce){#fair-match-app .fm-mo-card,.fm-mo-card,.fm-burst svg,.fm-burst-label{animation:none!important}.fm-card{transition:none!important}.fm-burst{display:none!important}}

#fair-match-app{scroll-margin-top:92px}
#fair-match-app .fm-price-note{padding-right:58px}
@media(max-width:760px){.auto-shopping-page .support-chat-launch{width:52px!important;min-width:52px!important;height:52px;padding:0!important;justify-content:center}.auto-shopping-page .support-chat-launch span:last-child{display:none!important}.auto-shopping-page .gar-fab{width:58px;min-width:58px;padding:8px;gap:3px}.auto-shopping-page .gar-fab svg{width:16px}.auto-shopping-page .gar-count{min-width:20px;font-size:12px}}

/* Keep floating contact tools clear of the matcher progress and saved action. */
@media(max-width:760px){#fair-match-app{scroll-margin-top:134px}#fair-match-app .fm-foot{flex-direction:column;align-items:center;gap:8px;padding:0 66px;text-align:center}#fair-match-app .fm-progress{margin:0;font-size:17px}#fair-match-app #fm-see{min-height:44px}}

@media(max-width:760px){#fair-match-app .fm-foot{padding-bottom:calc(84px + env(safe-area-inset-bottom))}}
