/* Mobile discovery uses its own feed and search workspace; desktop stays intact. */
.mobile-search-label,.mobile-search-heading{display:none}
@media(max-width:700px){
 #app .topbar,#app:has(.shopping-summary) .topbar{height:78px;display:grid;grid-template-columns:30px minmax(0,1fr);padding:8px 10px;gap:10px;align-items:center}
 #app .topbar .mobile-brand{grid-column:1;grid-row:1}
 #app .topbar>.location,#app .topbar>.avatar,#app .topbar>.header-filter{display:none}
 #app .composer{grid-column:2;grid-row:1;height:60px;width:100%}
 #app .composer .searchbox{position:relative;padding:23px 6px 3px 10px;min-height:60px;grid-template-columns:17px minmax(0,1fr) auto;gap:5px;border-radius:12px}
 .mobile-search-label{display:flex;position:absolute;left:10px;right:8px;top:6px;font-size:0.6875rem;font-weight:750;gap:8px;cursor:text;color:#63313e}
 .mobile-search-label span{font-size:0.5625rem;font-weight:400;margin-left:auto}
 #app .composer:not(.is-open) textarea{height:28px;min-height:28px;padding:2px 0;font-size:0.8125rem;line-height:24px;white-space:nowrap;overflow:hidden}
 #app .composer:not(.is-open) .clear-context{display:none}
 #app .composer:not(.is-open) .searchbox .primary{height:28px;width:28px}
 #app .composer .searchbox>svg{margin-top:5px}
 #app .main,#app:has(.shopping-summary) .main{margin-top:78px;padding-top:8px}
 #app[data-page=discover] .main,#app[data-page=saved] .main,#app[data-page=recent] .main{padding-left:0;padding-right:0}
 #app[data-page=discover] .try-searches{display:none}
 #app[data-page=discover] #content>.chips{margin:0;padding:0 10px 8px;gap:7px;scrollbar-width:none}
 #app[data-page=discover] .chip{font-size:0.75rem;min-height:34px;padding:7px 12px;background:var(--surface);border-radius:8px}
 #app[data-page=discover] .chip.active{background:var(--ink);color:white}
 #app[data-page=discover] .shopping-summary{margin:0 10px 4px;border:0;padding:0;background:transparent;border-radius:0}
 #app[data-page=discover] #content>.shopping-scope{margin:0 10px 4px}
 #app[data-page=discover] #content>.shopping-scope>span{display:none}
 #app[data-page=discover] .toolbar,#app:has(.shopping-summary)[data-page=discover] .toolbar{margin:2px 10px 7px;display:flex;flex-wrap:nowrap;min-height:32px;gap:8px}
 #app[data-page=discover] .toolbar h2{font-size:0.8125rem;letter-spacing:0;flex:1}
 #app[data-page=discover] .toolbar h2 .small{display:inline;font-size:0.625rem}
 #app[data-page=discover] .toolbar>.row{width:auto}
 #app[data-page=discover] .toolbar select{font-size:0.625rem;padding:5px;max-width:115px}
 #app[data-page=discover] .view-switch{display:none}
 #app[data-page=discover] .grid,#app[data-page=saved] .grid,#app[data-page=recent] .grid{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}
 #app[data-page=discover] .card,#app[data-page=saved] .card,#app[data-page=recent] .card{display:block;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible}
 #app[data-page=discover] .card .photo,#app[data-page=saved] .card .photo,#app[data-page=recent] .card .photo{aspect-ratio:16/9;border-radius:0;width:100%}
 #app .grid .card .photo img{width:100%;height:100%;object-fit:cover}
 #app .grid .cardinfo{display:flex;flex-direction:column;padding:0 12px 8px!important}
 #app .grid .cardinfo .shopper-price{order:-1;background:transparent;border:0;margin:0;padding:9px 0 3px;min-height:0}
 #app .grid .cardinfo .shopper-price small,#app .grid .cardinfo .view-details{display:none}
 #app .grid .cardinfo .price{font-size:1.4375rem;line-height:1.2}
 #app .grid .cardinfo .card-title{padding:0}
 #app .grid .card-title h3{font-size:1rem;line-height:1.35}
 #app .grid .cardinfo .trim{font-size:0.6875rem;margin:3px 0}
 #app .grid .cardinfo .specs{padding:0;border:0;font-size:0.6875rem;margin:3px 0}
 #app .grid .cardinfo .match{font-size:0.625rem;margin:4px 0;align-self:flex-start}
 #app .grid .dealer-row{padding-top:6px;margin-top:3px;border:0;font-size:0.6875rem}
 #app .grid .dealer-mark{width:25px;height:25px;font-size:0.5625rem}
 #app .grid .compare-mini{font-size:0.6875rem;min-height:36px}
 #app .grid .save{width:40px;height:40px}
 #app .grid .image-label{font-size:0.5625rem}
 #app[data-page=saved] .intro,#app[data-page=recent] .intro{padding:8px 12px}
 #app .search-recovery{margin:8px 10px}
 /* A dedicated mobile search surface, using the existing draft/apply behavior. */
 body:has(.composer.is-open){overflow:hidden}
 #app .composer.is-open .composer-shell{position:fixed;inset:6px 6px auto;width:auto;max-height:calc(100dvh - 12px);overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:0 0 0 100vmax #25303999;z-index:120}
 .composer.is-open .mobile-search-heading{display:flex;justify-content:space-between;align-items:center;padding:6px 12px;min-height:48px}
 .mobile-search-heading strong{font-size:1.0625rem}.mobile-search-heading button{min-height:40px;font-size:0.75rem;color:var(--red);font-weight:650}
 #app .composer.is-open .searchbox{margin:0 8px;border-radius:10px;padding-top:9px;grid-template-columns:17px minmax(0,1fr) auto}
 .composer.is-open .mobile-search-label{display:none}
 #app .composer.is-open textarea{height:90px;font-size:1rem;line-height:23px}
 #app .composer.is-open .searchbox .primary{height:38px;width:38px;font-size:0;padding:0}
 #app .composer.is-open .search-panel{border:0;padding:0 12px 12px}
 .composer.is-open .context-caption{font-size:0.6875rem}
 .composer.is-open .composer-refinements{padding-top:12px}
 .composer.is-open .composer-fields select{font-size:1rem;min-height:42px}
 .composer.is-open .composer-footer{bottom:-12px;padding:10px 0}
 .composer.is-open .enter-preference{display:none}
 .composer.is-open .composer-footer>.primary{min-height:46px;font-size:0.875rem}
 .composer.is-open .composer-recents{padding:10px 0}
 #app .detail-sections{top:78px}
}
@media(max-width:359px){.mobile-search-label span{display:none}}
@media(max-width:700px){
 #app .topbar:has(.composer.is-open){z-index:120}
 .composer.is-open .mobile-search-heading{position:sticky;top:0;z-index:3;background:var(--surface)}
 #app[data-page=discover] #content>.shopping-scope>.summary-geography{display:flex;width:100%;align-items:center;justify-content:space-between;gap:8px}
 #app[data-page=discover] #content>.shopping-scope .summary-radius-select{display:block;width:106px;min-height:34px;border:1px solid var(--border);border-radius:7px;background:var(--surface);font-size:0.6875rem;padding:4px}
}
@media(max-width:700px){
 #app .topbar,#app:has(.myyard-vdp) .topbar{grid-template-rows:60px;height:78px;padding:8px 10px;gap:10px}
 #app:has(.myyard-vdp) .main{margin-top:78px;padding-top:8px}
 #app:has(.myyard-vdp) .composer.is-open .composer-shell{max-height:calc(100dvh - 12px)}
}
.mobile-comparison{display:none}
@media(max-width:700px){
 #app[data-page=compare] .main{padding:8px 10px 94px}
 #app[data-page=compare] .intro{display:flex;align-items:center;gap:10px;margin:6px 0 12px}
 #app[data-page=compare] .intro .eyebrow{display:none}
 #app[data-page=compare] .intro h1{font-size:1.3125rem;letter-spacing:-.5px;line-height:1.2}
 #app[data-page=compare] .intro p{font-size:0.6875rem;margin-top:5px;line-height:1.4}
 #app[data-page=compare] .intro>.secondary{flex-shrink:0;font-size:0.6875rem;padding:8px;min-height:42px;gap:4px}
 #app[data-page=compare] .compare-table{display:none}
 .mobile-comparison{display:block;min-width:0}
 .compare-mobile-hint{font-size:0.6875rem;color:var(--muted);line-height:1.5;margin-bottom:10px}
 .compare-mobile-pair,.compare-mobile-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .compare-mobile-vehicle{min-width:0;background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden}
 .compare-mobile-vehicle>label{display:block;font-size:0.625rem;font-weight:650;padding:8px 8px 3px}
 .compare-mobile-vehicle>select{display:block;width:calc(100% - 12px);min-width:0;margin:0 6px 8px;padding:7px 2px;min-height:38px;border:1px solid var(--border);background:var(--raised);border-radius:6px;font-size:0.6875rem;color:var(--ink)}
 .compare-mobile-vehicle img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
 .compare-mobile-price{display:block;font-size:1.3125rem;line-height:1.15;padding:10px 8px 5px;overflow-wrap:anywhere}
 .compare-mobile-vehicle h2{font-size:0.8125rem;line-height:1.4;letter-spacing:0;padding:0 8px;overflow-wrap:anywhere}
 .compare-mobile-vehicle a>p{padding:4px 8px;font-size:0.625rem;line-height:1.5;color:var(--muted)}
 .compare-mobile-vehicle>.textbtn{font-size:0.6875rem;min-height:40px;padding:6px 8px}
 .compare-mobile-details{margin-top:12px;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--surface)}
 .compare-mobile-row{border-bottom:1px solid var(--border)}
 .compare-mobile-row:last-child{border:0}
 .compare-mobile-row h3{font-size:0.6875rem;padding:7px 10px;background:var(--inset);letter-spacing:0}
 .compare-mobile-values{gap:0}
 .compare-mobile-values p{font-size:0.75rem;line-height:1.55;padding:10px;min-width:0;overflow-wrap:anywhere}
 .compare-mobile-values p+p{border-left:1px solid var(--border)}
 .compare-mobile-note{font-size:0.625rem;line-height:1.6;color:var(--muted);margin:12px 0}
}
@media(max-width:700px){
 .compare-mobile-details{overflow:visible}
 .compare-mobile-identities{position:sticky;top:78px;z-index:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));background:var(--raised);border-radius:10px 10px 0 0;border-bottom:1px solid var(--border);box-shadow:0 2px 4px #25303915}
 .compare-mobile-identities>div{min-width:0;padding:8px 10px}
 .compare-mobile-identities>div+div{border-left:1px solid var(--border)}
 .compare-mobile-identities strong{display:block;font-size:0.6875rem;line-height:1.4;overflow-wrap:anywhere}
 .compare-mobile-identities span{display:block;font-size:0.75rem;margin-top:3px;font-weight:700}
}
.myyard-vdp .vdp-compare-action{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;text-decoration:none}
.myyard-vdp .vdp-compare-feedback{margin:0 0 12px;padding:10px 12px;background:var(--accent);border:1px solid var(--border);border-radius:8px;font-size:0.75rem;line-height:1.6}
.myyard-vdp .vdp-compare-feedback a{text-decoration:underline;font-weight:650}
@media(max-width:700px){
 .myyard-vdp .vdp-save-actions{grid-column:1/-1;flex-direction:row;align-items:center;flex-wrap:wrap;gap:7px}
 .myyard-vdp .vdp-save-actions .secondary{min-height:36px;font-size:0.6875rem;padding:7px 9px}
 .myyard-vdp .vdp-save-actions .availability{margin-left:auto}
 .myyard-vdp .vdp-title>div:first-child{grid-column:1/-1}
}
.myyard-vdp .vdp-replace-picker{padding:14px;background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-bottom:16px}
.myyard-vdp .vdp-replace-heading{display:flex;align-items:flex-start;gap:12px;justify-content:space-between;margin-bottom:12px}
.myyard-vdp .vdp-replace-heading h2{font-size:1.0625rem;line-height:1.3;letter-spacing:-.3px}
.myyard-vdp .vdp-replace-heading p{font-size:0.75rem;line-height:1.6;margin-top:6px}
.myyard-vdp .vdp-replace-heading>.secondary{min-height:40px;padding:8px 12px;flex-shrink:0}
.myyard-vdp .vdp-replace-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}
.myyard-vdp .vdp-replace-option{display:flex;flex-direction:column;align-items:stretch;padding:0;min-width:0;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--raised);text-align:left}
.myyard-vdp .vdp-replace-option:hover{border-color:var(--red);background:var(--accent)}
.myyard-vdp .vdp-replace-option>img{width:100%;aspect-ratio:16/9;object-fit:cover}
.myyard-vdp .vdp-replace-option>span{padding:8px 10px;min-width:0}
.myyard-vdp .vdp-replace-option strong{display:block;font-size:0.8125rem;line-height:1.4}
.myyard-vdp .vdp-replace-option small{display:block;font-size:0.625rem;line-height:1.5;color:var(--muted);margin-top:3px}
.myyard-vdp .vdp-replace-option b{display:block;font-size:1rem;margin-top:5px}
.myyard-vdp .vdp-replace-option .vdp-replace-label{display:flex;gap:5px;align-items:center;margin-top:auto;color:var(--red);font-weight:650;font-size:0.75rem}
@media(max-width:700px){
 .myyard-vdp .vdp-replace-picker{padding:10px}
 .myyard-vdp .vdp-replace-heading{display:block}
 .myyard-vdp .vdp-replace-heading>.secondary{margin-top:8px;font-size:0.6875rem}
 .myyard-vdp .vdp-replace-options{grid-template-columns:minmax(0,1fr);gap:8px}
 .myyard-vdp .vdp-replace-option{display:grid;grid-template-columns:88px minmax(0,1fr);align-items:center}
 .myyard-vdp .vdp-replace-option>img{grid-row:1/3;width:88px;height:100%;min-height:100px;object-fit:cover}
 .myyard-vdp .vdp-replace-option>span{padding:6px 8px}
 .myyard-vdp .vdp-replace-option strong{font-size:0.75rem}
 .myyard-vdp .vdp-replace-option .vdp-replace-label{grid-column:2;padding-top:0}
}
.myyard-vdp .vdp-undo-feedback{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.myyard-vdp .vdp-undo-feedback>p{flex:1;min-width:180px;margin:0}
.myyard-vdp .vdp-undo-feedback>.secondary{min-height:42px;white-space:nowrap;font-size:0.75rem;padding:9px 12px}
.myyard-vdp .vdp-undo-feedback>.textbtn{font-size:0.75rem;min-height:40px;display:inline-flex;align-items:center}
.search-understanding{border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:10px 12px;margin:8px 0;font-size:0.6875rem;line-height:1.5}
.search-understanding summary{cursor:pointer;min-height:30px;list-style-position:inside}
.search-understanding summary>strong{font-size:0.75rem}.search-understanding summary>span{display:block;color:var(--muted);font-size:0.625rem;margin-left:14px}
.search-understanding details>p{margin-top:7px}.search-understanding.has-unverified{border-left:3px solid var(--red)}
.search-understanding .unverified-words{margin-top:5px;overflow-wrap:anywhere;color:var(--ink)}
.search-understanding .unverified-explanation{font-size:0.625rem;color:var(--muted);margin-top:3px}
.search-understanding>.textbtn{font-size:0.6875rem;min-height:32px;padding:3px 0}
.unverified-badge{display:block;align-self:flex-start;font-size:0.625rem;line-height:1.5;color:#742438;background:#e7cbd2;border-radius:5px;padding:3px 6px;margin-top:4px;overflow-wrap:anywhere}
.myyard-vdp .recommendation-list .search-understanding{margin-bottom:10px}
@media(max-width:700px){
 #app[data-page=discover] #content>.search-understanding{margin:5px 10px;padding:6px 9px}
 .search-understanding summary>strong{font-size:0.6875rem}
 .search-understanding summary>span{display:inline;margin-left:8px;font-size:0.5625rem}
 .search-understanding .unverified-words{font-size:0.6875rem}
 .search-understanding .unverified-explanation{font-size:0.625rem}
}
.listing-unavailable-label{font-size:0.625rem;color:var(--muted)}
.state-review,.inventory-state,.inventory-loading,.listing-status-page{padding:18px 0}
.state-review>p,.inventory-state>p,.inventory-loading>p,.listing-status-heading>p{font-size:0.8125rem;line-height:1.6;color:var(--muted);margin:10px 0 18px}
.state-review-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.state-review-links>a{justify-content:flex-start;min-height:55px;font-size:0.8125rem}
.inventory-state{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:24px}
.inventory-state .secondary{margin:0 8px}.inventory-state>small,.inventory-loading>small{display:block;font-size:0.625rem;color:var(--muted);margin-top:18px}
.loading-skeletons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:18px}
.loading-skeleton{border:1px solid var(--border);border-radius:10px;background:var(--surface);overflow:hidden;padding-bottom:16px}
.loading-skeleton>div{aspect-ratio:16/9;background:var(--inset)}.loading-skeleton>span{display:block;width:70%;height:15px;background:var(--inset);margin:14px 14px 0;border-radius:4px}.loading-skeleton>span:last-child{width:45%}
.listing-status-heading .badge{position:static;display:inline-block;font-size:0.75rem;color:var(--ink);background:var(--accent);padding:6px 9px;margin:12px 0}
.listing-status-heading h1{font-size:1.6875rem}.inactive-vehicle{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden;margin:16px 0}
.inactive-vehicle>img{width:100%;height:100%;min-height:220px;object-fit:cover}.inactive-vehicle>div{padding:18px 18px 18px 0}
.inactive-vehicle small{font-size:0.625rem;color:var(--muted)}.inactive-vehicle strong{display:block;font-size:1.8125rem;margin:8px 0}.inactive-vehicle p{font-size:0.75rem;line-height:1.6;margin:10px 0;color:var(--muted)}.inactive-vehicle a{font-size:0.75rem;color:var(--red);text-decoration:underline}
.listing-alternatives>h2{font-size:1.3125rem}.listing-alternatives>p{font-size:0.75rem;color:var(--muted);line-height:1.6;margin:8px 0 15px}.listing-alternative-reasons{font-size:0.6875rem;line-height:1.6;color:var(--red);padding:8px}
.myyard-vdp.photos-unavailable .hero-photo img{transform:none!important;object-fit:contain!important}
.myyard-vdp.photos-unavailable .hero-photo .photo-nav,.myyard-vdp.photos-unavailable .thumbnails{display:none}
.myyard-vdp.photos-unavailable .expand-photo:disabled{cursor:default}
img[data-fallback=true]{object-fit:contain!important;transform:none!important;background:var(--inset)}
@media(max-width:700px){
 #app[data-page=review] .main{padding:10px 12px 95px}
 .state-review h1,.inventory-state h1,.inventory-loading h1,.listing-status-heading h1{font-size:1.4375rem;line-height:1.3}
 .state-review-links,.loading-skeletons{grid-template-columns:minmax(0,1fr)}
 .inventory-state{padding:16px;margin:0 10px}.inventory-state .primary,.inventory-state .secondary{margin:5px 0;width:100%}
 .inventory-loading{padding:12px}
 .state-review>p,.inventory-state>p,.inventory-loading>p,.listing-status-heading>p{font-size:0.75rem}
 .inactive-vehicle{grid-template-columns:minmax(0,1fr);gap:0}.inactive-vehicle>img{min-height:0;aspect-ratio:16/9}.inactive-vehicle>div{padding:14px}
 .listing-status-page>.primary{width:100%;justify-content:center}
 .listing-status-heading>p{margin-bottom:10px}
 .listing-alternatives .grid{grid-template-columns:minmax(0,1fr)}
 .listing-status-page{padding-top:0}
}
.myyard-vdp .request-photos{margin-top:10px;min-height:42px;font-size:0.75rem;display:inline-flex;align-items:center;gap:7px}
