/* Optional catalog layout; the existing row view keeps its own styles. */
.catalog-view-page .catalog-toolbar{height:44px;gap:8px}
.catalog-view-switch{display:flex;align-items:center;gap:2px;flex:none}
.catalog-view-switch button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:8px;border:0;border-radius:3px;background:transparent;color:var(--muted)}
.catalog-view-switch svg{display:block;width:22px;height:22px}
.catalog-view-switch button:hover{color:var(--ink);background:#e0e7ee}
.catalog-view-switch button[aria-pressed=true]{color:var(--link);background:#dce9f4}
.catalog-view-switch button:focus-visible{outline:2px solid var(--link);outline-offset:1px}
.listing-photo .listing-photo-placeholder,.listing-store-name{display:none}

[data-catalog-view=cards] .catalog-view-page .listing{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px 16px;margin:16px 0 0;border:0}
[data-catalog-view=cards] .listing .listing-item{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto 1fr auto;grid-template-areas:"photo photo" "price price" "title title" "status meta";gap:0;align-items:start;min-width:0;min-height:0;padding:0;border:1px solid var(--line);border-radius:6px}
[data-catalog-view=cards] .listing .listing-item:is([data-state=hot],[data-state=vithot],[data-state=tot]){border-width:2px}
[data-catalog-view=cards] .listing .listing-item[data-state=hot]{border-color:#d94444}
[data-catalog-view=cards] .listing .listing-copy{display:contents}
[data-catalog-view=cards] .listing .listing-photo{grid-area:photo;position:relative;order:0;width:100%;aspect-ratio:1;min-width:0;padding:0;justify-self:stretch;border-radius:5px 5px 0 0;overflow:hidden;background:var(--surface)}
[data-catalog-view=cards] .listing-photo a,[data-catalog-view=cards] .listing-photo picture{display:block;width:100%;height:100%;min-height:0}
[data-catalog-view=cards] .listing .listing-photo img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:cover;object-position:center;border-radius:0}
[data-catalog-view=cards] .listing .listing-photo-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--muted);font-size:13px;text-decoration:none}
[data-catalog-view=cards] .listing-photo-placeholder svg{width:32px;height:32px}
[data-catalog-view=cards] .listing .listing-photo:has(picture) .listing-photo-placeholder{display:none}
[data-catalog-view=cards] .listing-photo-placeholder:focus-visible{outline-offset:-3px}
[data-catalog-view=cards] .listing .note-button{position:absolute;top:0;right:0;z-index:3;float:none;width:36px;height:36px;margin:0;border-radius:3px;color:#53667b;background:transparent}
/* Keep a generous hit area around the smaller, 24px visual button. */
[data-catalog-view=cards] .listing .note-button::before{content:"";position:absolute;top:4px;right:4px;width:24px;height:24px;z-index:0;border-radius:3px;background:#fff;pointer-events:none}
[data-catalog-view=cards] .listing .note-button:hover{color:var(--link);background:transparent}
[data-catalog-view=cards] .listing .note-button:hover::before{background:#edf4f9}
[data-catalog-view=cards] .listing .note-button[aria-pressed=true]{background:transparent}
[data-catalog-view=cards] .listing .note-button[aria-pressed=true]::before{background:#fff8df}
[data-catalog-view=cards] .listing .note-button .star-icon{position:absolute;top:8px;right:8px;z-index:1;width:16px;height:16px}
[data-catalog-view=cards] .listing .listing-title{display:block;grid-area:title;align-self:start;min-height:0;margin:0;padding:6px 12px 0;font:400 16px/1.4 Arial,Helvetica,sans-serif}
[data-catalog-view=cards] .listing .listing-title>a{text-decoration:none}
[data-catalog-view=cards] .listing .listing-title>a:hover{text-decoration:underline}
[data-catalog-view=cards] .listing .listing-title>a::after{content:none}
[data-catalog-view=cards] .listing .listing-details{margin-top:6px;font-size:12px;color:var(--muted)}
[data-catalog-view=cards] .listing .listing-details>div:not([data-detail=year]):not([data-detail=mileage]){display:none}
[data-catalog-view=cards] .listing .listing-details:not(:has(>[data-detail=year],>[data-detail=mileage])){display:none}
[data-catalog-view=cards] .listing .listing-status{grid-area:status;display:flex;flex-wrap:nowrap;align-items:center;align-self:end;gap:4px;margin:12px 0 4px 12px;text-align:left;color:var(--muted)}
[data-catalog-view=cards] .listing .listing-status:not(:has(>*)){display:none}
[data-catalog-view=cards] .listing .listing-status>span{position:static;gap:4px;color:inherit}
[data-catalog-view=cards] .listing .listing-status .visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
[data-catalog-view=cards] .listing .listing-status .status-icon{width:14px;height:14px}
[data-catalog-view=cards] .listing .listing-price{display:block;grid-area:price;align-self:end;min-width:0;margin:12px 12px 0;padding:0;text-align:left;white-space:normal;overflow-wrap:anywhere;font:500 17px/1.3 CatalogRoboto,Arial,sans-serif}
[data-catalog-view=cards] .listing .listing-meta{grid-area:meta;display:flex;flex-direction:column;align-self:end;justify-content:flex-end;min-width:0;margin:12px 12px 4px 8px;padding:0;text-align:right;color:var(--muted);font:400 11px/1.35 Arial,Helvetica,sans-serif;overflow-wrap:anywhere}
[data-catalog-view=cards] .listing .listing-price:empty{display:none}
[data-catalog-view=cards] .listing .listing-item:has(.listing-price:empty) .listing-title{display:block;min-height:0;padding-top:12px}
[data-catalog-view=cards] .listing-meta>small{font:inherit}
[data-catalog-view=cards] .listing-meta>span+span{display:none}
[data-catalog-view=cards] .listing .store-link{display:block;min-height:0;text-decoration:none;color:var(--muted);font:inherit}
[data-catalog-view=cards] .listing .store-link:hover{color:var(--link);text-decoration:underline}
[data-catalog-view=cards] .listing .store-link img{display:none}
/* Status icons share the bottom line with the single-line date/store label. */
[data-catalog-view=cards] .listing-store-name{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
[data-catalog-view=cards] .listing .listing-mobile-date{display:none}
[data-catalog-view=cards] .listing .empty-results{grid-column:1/-1}

@media(max-width:1200px){
 [data-catalog-view=cards] .catalog-view-page .listing{grid-template-columns:repeat(3,minmax(0,1fr))}
}
/* Filters stay above one continuous toolbar: notebook, sorting, view buttons. */
@media(max-width:1024px){
 .catalog-view-page .catalog-controls .catalog-toolbar{display:flex;grid-column:1/-1;grid-row:4;flex-wrap:nowrap;align-items:center;gap:6px;height:auto;min-height:44px;margin:4px 0 0;padding:0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:none}
 .catalog-view-page .catalog-toolbar .notebook-link{display:flex;flex:none;align-items:center;justify-content:flex-start;min-height:44px;height:auto;margin:0;padding:0 4px 0 0;border:0;font-size:14px;gap:5px}
 .catalog-view-page .catalog-toolbar .sort-control{flex:1;min-width:0;max-width:165px;width:auto;height:44px;margin:0 0 0 auto;padding:4px 0 4px 4px;font-size:13px}
 .catalog-view-page .catalog-controls .notebook-count{top:0}
 .catalog-view-switch button{width:44px;height:44px;padding:11px}
 .catalog-view-page .catalog-controls>.filter-disclosure>summary{grid-column:1/-1;border-right:0}
 .catalog-view-page .catalog-controls.catalog-controls-no-filter .catalog-toolbar{grid-row:1}
 [data-catalog-view=cards] .listing .note-button{top:0;right:0;width:44px;height:44px}
}
@media(max-width:600px),(max-width:1024px) and (max-height:600px) and (orientation:landscape){
 .catalog-view-page .catalog-controls{grid-template-columns:repeat(2,minmax(0,1fr))}
 .catalog-view-page .catalog-controls>.filter-disclosure>summary{grid-column:2;border-right:0}
 .catalog-view-page .catalog-controls.catalog-controls-no-categories>.filter-disclosure>summary{grid-column:1/-1}
 .catalog-view-page .catalog-controls .catalog-toolbar{grid-row:3}
 [data-catalog-view=cards] .catalog-view-page .listing{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 10px;margin-top:12px}
 [data-catalog-view=cards] .listing .listing-title{padding:5px 8px 0;font-size:14px;line-height:1.4}
 [data-catalog-view=cards] .listing .listing-price{margin:10px 8px 0;font-size:15px}
 [data-catalog-view=cards] .listing .listing-item:has(.listing-price:empty) .listing-title{padding-top:10px}
 [data-catalog-view=cards] .listing .listing-meta{margin:10px 8px 4px;font-size:10px}
 [data-catalog-view=cards] .listing .listing-status{margin:10px 0 4px 8px}
}
