/* Trade-In V2: customer journey only; existing discovery styles remain unchanged. */
.tv-app { --tv-blue:#087eae; --tv-ink:#24313a; --tv-muted:#576973; --tv-border:#dce5e9; background:#f4f7f8; color:var(--tv-ink); font-family:Inter,system-ui,sans-serif; font-size:15px; line-height:1.6; }
.tv-app *, .tv-header *, .tv-footer * { box-sizing:border-box; }
.tv-app [hidden] { display:none!important; }
.tv-header { min-height:82px; display:flex; justify-content:space-between; align-items:center; padding:18px max(24px,calc((100vw - 1240px)/2)); background:#fff; border-bottom:1px solid #e1e8ec; gap:20px; }
.tv-header img { display:block; width:170px; height:auto; }
.tv-header nav { display:flex; gap:30px; }
.tv-header a, .tv-footer a { color:#344851; text-decoration:none; font-size:13px; font-weight:600; padding:5px 0; }
.tv-layout { display:grid; grid-template-columns:.82fr 1.18fr; gap:85px; max-width:1200px; padding:55px 28px 65px; margin:auto; align-items:start; }
.tv-intro { padding-top:30px; }
.tv-app h1,.tv-app h2,.tv-app h3 { color:var(--tv-ink); font-family:inherit; letter-spacing:-.045em; font-weight:650; }
.tv-app h1 { font-size:48px; line-height:1.12; margin:0 0 24px; }
.tv-app h1 span { color:var(--tv-blue); }
.tv-app h2 { font-size:33px; line-height:1.18; margin:0 0 16px; }
.tv-app h3 { font-size:18px; }
.tv-app p { color:var(--tv-muted); margin:0 0 20px; }
.tv-app .tv-eyebrow { text-transform:uppercase; letter-spacing:.14em; color:var(--tv-blue); font-size:10px; font-weight:750; margin-bottom:16px; }
.tv-device-art { position:relative; min-height:255px; margin:15px 0; }
.tv-device-art img { width:270px; height:270px; object-fit:contain; display:block; margin-left:auto; }
.tv-device-art>span { position:absolute; left:0; top:90px; font-size:11px; letter-spacing:.16em; line-height:1.7; color:var(--tv-muted); }
.tv-trust { display:flex; gap:14px; border-top:1px solid var(--tv-border); padding-top:22px; }
.tv-trust>span { color:var(--tv-blue); }
.tv-trust p { font-size:12px; }.tv-trust strong { display:block; color:var(--tv-ink); font-size:14px; margin-bottom:5px; }
.tv-app details { border-top:1px solid var(--tv-border); font-size:12px; margin:22px 0; }
.tv-app summary { cursor:pointer; padding:14px 0; font-weight:650; min-height:44px; }
.tv-app details p { font-size:12px; margin-bottom:12px; }.tv-app details ol { padding-left:20px; }
.tv-assistant { background:white; border:1px solid var(--tv-border); border-radius:18px; box-shadow:0 12px 40px #30465307; padding:30px 34px 36px; min-width:0; scroll-margin-top:20px; }
.tv-progress { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-bottom:10px; }
.tv-progress span { font-size:11px; color:#607079; border-top:3px solid #e7eef1; padding-top:10px; }
.tv-progress [aria-current] { color:var(--tv-blue); font-weight:750; border-color:var(--tv-blue); }.tv-progress .is-complete { border-color:#78b6cf; }
.tv-save-status { color:#6b7880; font-size:10px; min-height:25px; text-align:right; margin-bottom:24px; }
.tv-app form { margin:0; }.tv-app label { display:block; font-size:13px; font-weight:650; color:var(--tv-ink); margin-bottom:18px; }
.tv-app input:not([type=radio]):not([type=checkbox]):not([type=file]),.tv-app select,.tv-app textarea { font:inherit; font-size:14px; color:var(--tv-ink); background:#fff; border:1px solid #b7c8d1; border-radius:8px; padding:13px 14px; width:100%; min-height:49px; margin-top:7px; box-shadow:none; }
.tv-app input[type=search] { margin-bottom:6px; }
.tv-app [aria-invalid=true] { border-color:#ad452c!important; }
.tv-app .tv-primary,.tv-app .tv-secondary { display:flex; justify-content:space-between; align-items:center; gap:15px; width:100%; font:inherit; font-size:14px; font-weight:700; background:var(--tv-blue); color:white; padding:15px 18px; min-height:52px; border:1px solid var(--tv-blue); border-radius:9px; margin:18px 0 0; cursor:pointer; line-height:1.5; }
.tv-primary span { font-size:20px; }.tv-app .tv-secondary { justify-content:center; color:#314d5b; background:white; border-color:#bfd0d8; font-weight:600; }
.tv-app .tv-primary:hover { background:#07648a; }.tv-app .tv-secondary:hover { background:#eff7fa; }.tv-app button:disabled { opacity:.6; cursor:wait; }
.tv-app .tv-text,.tv-app .tv-back { font:inherit; font-size:12px; background:none; color:var(--tv-blue); padding:12px 0; border:0; border-radius:0; box-shadow:none; cursor:pointer; min-height:44px; text-align:left; font-weight:650; }
.tv-app .tv-back { color:var(--tv-muted); padding-top:0; margin-top:-10px; }
.tv-app :is(a,button,input,select,textarea,summary):focus-visible { outline:3px solid #0a8bbe; outline-offset:4px; }
.tv-app h2:focus { outline:none; }
.tv-categories { display:grid; grid-template-columns:repeat(3,1fr); gap:11px; margin:26px 0 18px; }
.tv-app .tv-category { position:relative; border:1px solid var(--tv-border); border-radius:12px; padding:18px 10px; margin:0; text-align:center; cursor:pointer; background:#fbfcfd; }
.tv-category svg { height:81px; width:100%; color:#4c727f; margin:5px 0 15px; }.tv-icon-screen { fill:#e8f2f6; stroke:#8fb3c3; }
.tv-category strong { display:block; font-size:16px; }.tv-category>span { display:block; font-size:10px; font-weight:400; min-height:32px; margin:8px 0; }.tv-category small { display:block; font-size:9px; color:#657985; font-weight:500; }
.tv-category input { position:absolute; left:10px; top:10px; opacity:0; width:20px; height:20px; }.tv-category i { position:absolute; top:9px; right:9px; font-size:10px; border:1px solid #c7d7df; border-radius:50%; width:18px; height:18px; line-height:16px; color:transparent; }
.tv-category:has(:checked) { border:2px solid var(--tv-blue); padding:17px 9px; background:#f0f8fb; }.tv-category:has(:checked) i { background:var(--tv-blue); border-color:var(--tv-blue); color:white; }.tv-category:has(:focus-visible) { outline:3px solid #83c2da; outline-offset:3px; }
.tv-app .tv-small,.tv-app .tv-footnote { font-size:11px; line-height:1.6; }.tv-footnote { text-align:center; margin:15px 0 0!important; }
.tv-error { border:1px solid #ddb1a4; background:#fff7f2; color:#81361f; padding:13px; border-radius:8px; font-size:13px; margin-bottom:22px; }
.tv-app .tv-notice { background:#f0f7fa; border-left:3px solid #91c5d9; padding:14px 16px; font-size:12px; border-radius:3px 8px 8px 3px; margin:20px 0; }
.tv-suggestions { display:grid; gap:6px; }.tv-suggestions button { text-align:left; font:inherit; font-size:13px; padding:14px; border:1px solid #d3e1e8; border-radius:8px; background:#f7fbfd; color:var(--tv-ink); cursor:pointer; }.tv-suggestions p { font-size:12px; margin:8px 0; }
.tv-selected { padding:14px; border:1px solid #a5cbdc; color:#216c8b; background:#f3fafc; border-radius:8px; font-size:13px; margin:12px 0; }
.tv-photo-entry { display:flex; gap:16px; border:1px solid var(--tv-border); background:#f8fafb; border-radius:12px; padding:18px; margin-top:12px; }.tv-photo-entry>span { font-size:25px; color:var(--tv-blue); }.tv-photo-entry strong { font-size:14px; }.tv-photo-entry p { font-size:12px; margin:6px 0 0; }.tv-photo-entry .tv-text { padding-bottom:0; }
.tv-app .tv-check { display:flex; gap:12px; align-items:flex-start; font-size:12px; font-weight:400; margin-top:20px; }.tv-check input { width:18px; height:18px; flex:none; margin-top:1px; accent-color:var(--tv-blue); }
.tv-answers { display:grid; gap:10px; margin:25px 0; }.tv-app .tv-answer { display:flex; align-items:center; gap:13px; border:1px solid var(--tv-border); border-radius:10px; padding:17px; cursor:pointer; margin:0; }.tv-answer input { accent-color:var(--tv-blue); width:19px; height:19px; flex:none; }.tv-answer strong,.tv-answer small { display:block; }.tv-answer strong { font-size:14px; }.tv-answer small { font-size:12px; font-weight:400; color:var(--tv-muted); margin-top:4px; }.tv-answer:has(:checked) { border-color:var(--tv-blue); background:#f0f8fb; }
.tv-field-pair { display:grid; grid-template-columns:1fr 1fr; gap:15px; }
.tv-photo-slots { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:24px 0; }.tv-photo-slot { border:1px solid var(--tv-border); border-radius:10px; padding:14px; min-width:0; background:#fbfdfe; }.tv-photo-slot h3 { font-size:14px; margin:0 0 8px; }.tv-photo-slot p { font-size:10px; min-height:32px; margin:0 0 10px; }.tv-photo-preview { height:104px; background:#f0f5f7; border-radius:6px; display:grid; place-items:center; margin-bottom:8px; overflow:hidden; color:#527987; font-size:28px; }.tv-photo-preview img { height:100%; width:100%; object-fit:contain; }.tv-photo-slot button { font:inherit; font-size:11px; min-height:44px; padding:6px; color:var(--tv-blue); border:1px solid #c3d5dd; border-radius:6px; background:#fff; cursor:pointer; }.tv-photo-actions { display:grid; grid-template-columns:1fr 1fr; gap:6px; }.tv-photo-slot .tv-photo-remove { border:0; padding:4px 0; min-height:44px; background:none; }.tv-photo-slot small { font-size:10px; display:block; overflow-wrap:anywhere; margin:8px 0; }.tv-photo-slot progress { width:100%; height:5px; accent-color:var(--tv-blue); }
.tv-findings { background:#f4f8fa; border-radius:12px; padding:20px; margin:22px 0; }.tv-findings ul { padding:0; margin:0; list-style:none; }.tv-findings li { font-size:13px; padding:10px 0; border-bottom:1px solid var(--tv-border); }.tv-findings li:last-child { border:0; }
.tv-processing-icon { font-size:70px; color:var(--tv-blue); text-align:center; animation:tv-pulse 1.8s ease-in-out infinite; }.tv-estimate { font-size:37px; line-height:1.2; color:var(--tv-blue); display:block; margin:25px 0; letter-spacing:-.05em; }.tv-breakdown { margin:20px 0; }.tv-breakdown>div { display:flex; gap:20px; justify-content:space-between; font-size:13px; padding:12px 0; border-bottom:1px solid var(--tv-border); }.tv-breakdown dd { margin:0; text-align:right; }.tv-footer { display:flex; gap:25px; justify-content:center; flex-wrap:wrap; padding:25px; border-top:1px solid #e1e8ec; font-size:11px; background:white; color:#61717a; }.tv-footer a { font-size:11px; padding:0; }
@keyframes tv-pulse { 50% { opacity:.35; } }
@media(max-width:1050px) { .tv-layout { gap:35px; }.tv-app h1 { font-size:40px; }.tv-assistant { padding:26px; }.tv-app h2 { font-size:29px; }.tv-device-art img { width:230px; }.tv-categories { gap:7px; }.tv-category small { font-size:8px; } }
@media(max-width:800px) { .tv-layout { grid-template-columns:1fr; max-width:650px; padding:30px 22px; gap:25px; }.tv-intro { padding:0; }.tv-app h1 { font-size:37px; margin-bottom:14px; }.tv-intro>p:not(.tv-eyebrow) { font-size:14px; margin-bottom:0; }.tv-device-art,.tv-trust,.tv-intro>details { display:none; }.tv-app h1 br { display:none; }.tv-header { min-height:69px; padding:16px 22px; }.tv-header img { width:147px; }.tv-header nav { gap:15px; }.tv-header a { font-size:11px; } }
@media(max-width:450px) { .tv-layout { padding:24px 16px 32px; gap:22px; }.tv-assistant { border-radius:12px; padding:23px 18px; }.tv-app h1 { font-size:32px; }.tv-app h2 { font-size:27px; }.tv-intro .tv-eyebrow { font-size:9px; margin-bottom:10px; }.tv-intro>p:not(.tv-eyebrow) { font-size:13px; }.tv-progress span { font-size:10px; }.tv-save-status { margin-bottom:15px; }.tv-categories { grid-template-columns:1fr; gap:10px; margin:22px 0 17px; }.tv-app .tv-category { display:grid; grid-template-columns:66px 1fr; grid-template-rows:auto auto auto; text-align:left; column-gap:14px; padding:14px; min-height:99px; }.tv-category svg { grid-row:1/4; height:65px; margin:0; align-self:center; }.tv-category strong { font-size:16px; }.tv-category>span { min-height:0; font-size:11px; margin:2px 0; }.tv-category small { font-size:9px; }.tv-category:has(:checked) { padding:13px; }.tv-category i { top:14px; right:14px; }.tv-header { padding:14px 16px; }.tv-header nav a:first-child { display:none; }.tv-photo-slots { gap:9px; }.tv-photo-slot { padding:11px; }.tv-photo-actions { grid-template-columns:1fr; }.tv-estimate { font-size:32px; }.tv-field-pair { grid-template-columns:1fr; gap:0; }.tv-footer { gap:16px; justify-content:flex-start; padding:20px; }.tv-footer>span { width:100%; }.tv-answers { margin:20px 0; } }
@media(prefers-reduced-motion:reduce) { .tv-app * { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
.tv-save-status:empty { display:none; }.tv-progress { margin-bottom:28px; }
@media(max-width:800px) { .tv-app[data-current-view]:not([data-current-view=category]):not([data-current-view=resume]) .tv-intro { display:none; } }
/* Customer tracking retains exact offer actions and the original protected links. */
[data-tradein-page=tracking] { background:#f4f7f8; }
[data-tradein-page=tracking] .sb-ti-case-hero { background:#eef6fa; }
[data-tradein-page=tracking] .sb-ti-customer-stages { overflow-wrap:anywhere; }
@media(max-width:620px) { [data-tradein-page=tracking] .sb-ti-customer-stages { grid-template-columns:repeat(3,1fr); gap:8px; } }
