/* Local marketplace review: dealer card density + approved native search/feed hierarchy. */
.mobile-brand>span{display:none}
#app .grid:not(.list-view){grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}
@media(min-width:1280px){#app .grid:not(.list-view){grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:1800px){#app .grid:not(.list-view){grid-template-columns:repeat(5,minmax(0,1fr))}}
#app .grid .card{background:var(--surface);border:1px solid var(--border);border-radius:9px;overflow:hidden;box-shadow:none;min-width:0}
#app .grid .card .photo{aspect-ratio:2.12;min-height:0;border-radius:0;overflow:hidden}
#app .grid .card .photo img{width:100%;height:100%;object-fit:cover}
#app .grid .cardinfo{padding:0!important;display:block}
#app .grid .card-title{display:flex;gap:3px;align-items:flex-start;padding:7px 9px 0;min-height:44px}
#app .grid .card-title h3{flex:1;min-width:0;font-size:.875rem;line-height:1.35;margin:0;padding-top:4px;overflow-wrap:anywhere}
#app .grid .card-title .save{position:static;flex-shrink:0;width:36px;height:36px;min-width:36px;min-height:36px;border:0;border-radius:7px;color:var(--ink);background:transparent}
#app .grid .card-title .save.saved{background:var(--accent-soft);color:var(--red)}
#app .grid .cardinfo .trim{padding:0 9px;margin:3px 0 9px;min-height:32px;font-size:.75rem;line-height:1.35;color:var(--muted)}
#app .grid .cardinfo .shopper-price{margin:0;padding:8px 9px;background:var(--raised);border-top:1px solid var(--border);border-bottom:1px solid var(--border);min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:6px}
#app .grid .shopper-price small{display:block;font-size:.625rem;letter-spacing:.07em;color:var(--muted)}
#app .grid .cardinfo .price{font-size:1.375rem;line-height:1.2;margin:3px 0 0;color:var(--ink)}
#app .grid .view-details{display:flex;font-size:.6875rem;align-items:center;min-height:40px;color:var(--red);white-space:nowrap}
#app .grid .view-details svg{width:13px;height:13px}
.card-shopping-facts{padding:3px 9px;display:flex;justify-content:space-between;align-items:center;gap:6px;min-height:45px;font-size:.6875rem;color:var(--muted)}
.card-shopping-facts strong{display:block;color:var(--ink);font-size:.75rem;font-weight:600}
#app .grid .compare-mini{min-height:40px;font-size:.6875rem;gap:4px;color:var(--muted)}
#app .grid .compare-mini[aria-pressed=true]{color:var(--red)}
#app .grid .card-sources{margin:0;padding:0 9px;background:var(--inset);border-top:1px solid var(--border);border-radius:0;font-size:.625rem;color:var(--muted)}
#app .grid .card-sources summary{padding:8px 0;line-height:1.35;min-height:32px}
#app .grid .card-sources p{font-size:.75rem;line-height:1.5;padding-bottom:8px}
#app .grid .image-label{font-size:.5625rem;padding:4px 6px;bottom:7px;right:7px;background:#253039e6;color:#fff}
#app .grid .badge{font-size:.5625rem;text-transform:uppercase;left:8px;top:8px}
@media(min-width:701px) and (max-width:1000px){#app .grid:not(.list-view){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
 #app .topbar,#app:has(.shopping-summary) .topbar,#app:has(.myyard-vdp) .topbar{height:120px;grid-template-columns:minmax(0,1fr) 48px;grid-template-rows:38px 48px;gap:8px;padding:10px 14px 8px;background:var(--surface);border-bottom:1px solid var(--border);color:var(--ink)}
 #app .topbar .mobile-brand{grid-column:1;grid-row:1;display:flex;align-items:center;gap:8px;width:auto;color:var(--ink)}
 #app .mobile-brand img{width:30px;height:30px}
 #app .mobile-brand>span{display:block;font-size:1.125rem;line-height:1.1;font-weight:800;letter-spacing:-.4px}
 #app .mobile-brand b{color:var(--red)}
 #app .mobile-brand small{display:block;font-size:.625rem;line-height:1.5;letter-spacing:.01em;font-weight:500;color:var(--muted)}
 #app .topbar>.theme-control{display:flex;grid-column:2;grid-row:1;width:48px;font-size:0;gap:0}
 #app .topbar>.theme-control select{width:48px;min-height:32px;font-size:.625rem;padding:2px}
 #app .topbar .rail-toggle{display:none}
 #app .topbar .composer{grid-column:1;grid-row:2;height:48px}
 #app .composer:not(.is-open) .searchbox{height:48px;min-height:48px;border-radius:14px;border:1px solid var(--border);background:var(--raised);padding:9px 12px;display:grid;grid-template-columns:19px minmax(0,1fr);gap:8px;color:var(--ink)}
 #app .composer:not(.is-open) .searchbox>svg{margin:3px 0 0}
 #app .composer:not(.is-open) .mobile-search-label,#app .composer:not(.is-open) .context-actions{display:none}
 #app .composer:not(.is-open) textarea{font-size:.875rem;line-height:28px;padding:0;min-height:28px;height:28px;color:var(--ink)}
 #app .topbar>.header-filter{display:flex;grid-column:2;grid-row:2;width:48px;height:48px;padding:12px;border-radius:14px;color:var(--ink);background:var(--raised)}
 #app .header-filter span{display:none}
 #app .main,#app:has(.shopping-summary) .main,#app:has(.myyard-vdp) .main{margin-top:120px}
 #app[data-page=discover] .main,#app[data-page=saved] .main,#app[data-page=recent] .main{padding-left:12px;padding-right:12px;padding-bottom:95px}
 #app[data-page=discover] #content>.chips{padding:0 0 8px;gap:7px}
 #app[data-page=discover] .chip{min-height:44px;border-radius:24px;padding:8px 14px;font-size:.8125rem;flex-shrink:0}
 #app[data-page=discover] .shopping-summary,#app[data-page=discover] #content>.shopping-scope{margin:0 0 5px}
 #app[data-page=discover] .toolbar,#app:has(.shopping-summary)[data-page=discover] .toolbar{margin:8px 0;min-height:40px}
 #app[data-page=discover] .toolbar h2{font-size:.875rem}
 #app[data-page=discover] .toolbar select{min-height:40px;font-size:.75rem;max-width:135px}
 #app .grid:not(.list-view),#app .grid.list-view{grid-template-columns:minmax(0,1fr);gap:14px}
 #app .grid .card{display:block;border-radius:14px}
 #app .grid .card .photo{width:100%;aspect-ratio:1.85}
 #app .grid .card-title{padding:8px 12px 0;min-height:48px}
 #app .grid .card-title h3{font-size:1rem;line-height:1.35}
 #app .grid .card-title .save{width:44px;height:44px;min-width:44px;min-height:44px}
 #app .grid .cardinfo .trim{padding:0 12px;margin:2px 0 10px;min-height:0;font-size:.8125rem}
 #app .grid .cardinfo .shopper-price{padding:9px 12px;min-height:65px}
 #app .grid .cardinfo .price{font-size:1.5rem}
 #app .grid .view-details{font-size:.8125rem;min-height:44px}
 .card-shopping-facts{padding:3px 12px;font-size:.75rem;min-height:48px}
 .card-shopping-facts strong{font-size:.8125rem}
 #app .grid .compare-mini{font-size:.8125rem;min-height:44px}
 #app .grid .card-sources{padding:0 12px;font-size:.6875rem}
 #app .grid .card-sources summary{min-height:44px;padding:13px 0}
 #app .composer.is-open .composer-shell{inset:0;width:100%;height:100dvh;max-height:100dvh;border:0;border-radius:0;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);background:var(--surface)}
 #app .composer.is-open .mobile-search-heading{padding:12px 16px}
 #app .composer.is-open .searchbox{margin:0 12px;padding:12px;border-radius:14px;background:var(--raised);border-color:var(--border)}
 #app .composer.is-open .search-panel{padding:0 16px 16px}
 #app .composer.is-open .composer-discovery{display:flex;flex-direction:column}
 #app .composer.is-open .composer-refinements{order:-1}
 #app .composer.is-open .composer-fields{gap:10px}
 #app .composer.is-open .composer-fields select{min-height:48px;border-radius:10px}
 #app .composer.is-open .composer-footer{position:sticky;bottom:0;background:var(--surface);padding:12px 0;z-index:4}
 #app .composer.is-open .composer-footer>.primary{width:100%;min-height:48px;justify-content:center;border-radius:12px}
 #app .mobilebar{background:var(--surface);color:var(--muted);padding-bottom:env(safe-area-inset-bottom)}
 #app .mobilebar a{min-height:56px;font-size:.6875rem;color:var(--muted)}
 #app .mobilebar a.active{color:var(--red);background:var(--accent-soft);border-radius:12px}
 #app .detail-sections{top:120px}
}
.mobile-search-modes{display:none}
@media(max-width:700px){
 #app .topbar .mobile-brand{justify-content:flex-start;padding:0}
 #app .topbar>.theme-control{position:static;justify-self:end;width:84px}
 #app .topbar>.theme-control select{width:84px;max-width:84px}
 #app .grid .cardinfo .shopper-price small{display:block}
 #app .grid .cardinfo .view-details{display:flex}
 #app .composer.is-open .mobile-search-modes{display:flex;gap:8px;padding:12px 0}
 #app .mobile-search-modes button{flex:1;min-height:44px;border:1px solid var(--border);border-radius:12px;background:var(--raised);color:var(--ink);font-size:.8125rem}
 #app .mobile-search-modes button[aria-pressed=true]{background:var(--accent-soft);color:var(--ink);border-color:var(--red);font-weight:700}
 #app .composer[data-mode=search] .composer-refinements{display:none}
 #app .composer[data-mode=filters] .composer-recents{display:none}
 #app .composer.is-open .composer-footer{margin-top:12px}
 #app .composer-demo{display:none}
 #app[data-page=discover] .search-coverage-notice{margin:3px 0;padding:0 8px}
 #app[data-page=discover] .search-coverage-notice summary{min-height:32px;padding:7px 0}
}
/* Keep one card hierarchy for filtered and unfiltered feeds. */
#app:has(.shopping-summary) #content>.grid:not(.list-view) .cardinfo{display:block;padding:0}
#app:has(.shopping-summary) #content>.grid:not(.list-view) .shopper-price{margin:0;padding:8px 9px;border-top:1px solid var(--border)}
@media(max-width:700px){
 #app:has(.shopping-summary) #content>.grid:not(.list-view) .shopper-price{padding:9px 12px}
 #app .grid .cardinfo .trim{margin-top:0;margin-bottom:6px}
 #app .grid .card-title{min-height:44px}
 #app[data-page=discover] .toolbar h2 .small{display:block;line-height:1.4}
 #app .composer.is-open[data-mode=filters] textarea{height:36px;min-height:36px}
 #app .composer.is-open[data-mode=filters] .context-caption{display:none}
}
@media(min-width:701px){
 #app .shopping-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:10px 12px;margin:12px 0}
 #app .shopping-summary .search-summary-heading{grid-column:2;grid-row:1;gap:12px;margin:0;padding:0;justify-content:flex-end}
 #app .shopping-summary .search-summary-heading>strong{display:none}
 #app .shopping-summary .applied-filter-chips{grid-column:1;grid-row:1;margin:0;padding:0}
 #app .shopping-summary .shopping-scope{grid-column:1/-1;grid-row:2;margin:0;padding:0;border:0;min-height:32px}
 #app .shopping-summary .shopping-location-link{min-height:32px}
 #app .search-coverage-notice{margin:8px 0;padding:0 10px}
 #app .search-coverage-notice summary{padding:8px 0;min-height:32px}
 #app .toolbar{margin:12px 0}
}
@media(min-width:701px){
 #app.has-applied-search .try-searches{display:none}
 #app .shopping-summary .shopping-scope{padding:0!important;margin:0!important}
 #app .shopping-summary .applied-filter-chips{min-height:0}
}
