/* Shared by retail, category, search and auction listing pages; colors always follow the website palette. */
:root { --listing-desktop-columns:4; --listing-tablet-columns:3; --listing-phone-columns:1; --listing-image-scale:86%; --listing-gap:20px; --listing-padding:16px; --listing-max-width:1800px; --listing-page:var(--theme-page,#becbd3); --listing-card:var(--theme-panel,#e3e9ed); --listing-border:var(--theme-border,#aebec9); --listing-title:var(--theme-link,#174ea6); --listing-price:var(--theme-text,#172033); --listing-button:var(--theme-button,#174ea6); --listing-button-text:var(--theme-button-text,#fff); }
body.listing-storefront { background:var(--listing-page); }
body.listing-storefront .account-main.listing-main { width:calc(100% - clamp(1rem,4vw,4rem)); max-width:var(--listing-max-width); margin:1.25rem auto 2rem; }
.listing-main > .account-panel { background:transparent!important; border:0; padding:0; box-shadow:none; }
.listing-main .product-grid { display:grid; grid-template-columns:repeat(var(--listing-desktop-columns),minmax(0,1fr)); gap:var(--listing-gap); align-items:stretch; }
.listing-main .product-card { min-width:0; padding:var(--listing-padding); background:var(--listing-card)!important; border:1px solid var(--listing-border)!important; border-radius:.65rem; overflow-wrap:anywhere; }
.listing-main .listing-image { display:flex; align-items:center; justify-content:center; width:100%; aspect-ratio:4/3; background:#fff; overflow:hidden; }
.listing-main .listing-image img,.listing-main .listing-image svg { display:block; width:var(--listing-image-scale); height:var(--listing-image-scale); aspect-ratio:auto; object-fit:contain; margin:auto; }
.listing-main .product-card h2 { font-size:1rem; line-height:1.4; }
.listing-main .product-card :is(h2,h2 a,a:has(h2)) { color:var(--listing-title); }
.listing-main .product-card strong { color:var(--listing-price); }
body.listing-storefront .account-main.listing-main :is(button,.button) { background:var(--listing-button)!important; color:var(--listing-button-text)!important; border-color:var(--listing-button); }
.listing-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:.75rem; }
.listing-toolbar select { width:auto; min-width:5rem; }
.listing-main .catalog-filters { margin-bottom:1rem; }
@media(max-width:1100px) { .listing-main .product-grid { grid-template-columns:repeat(var(--listing-tablet-columns),minmax(0,1fr)); } }
@media(max-width:600px) { .listing-main .product-grid { grid-template-columns:repeat(var(--listing-phone-columns),minmax(0,1fr)); } .listing-main .retail-heading { flex-wrap:wrap; } }

.listing-image-placeholder { padding:1rem; color:#455569; text-align:center; font-size:.9rem; }
.listing-main .auction-card .status { width:fit-content; }

body.listing-storefront .account-main.listing-main :is(button.secondary,.button.secondary) {background:var(--theme-secondary-button)!important;color:var(--theme-secondary-button-text)!important;}

/* Compact typography preserves the owner's chosen column counts and spacing. */
.listing-main .compact-retail-grid { --compact-columns:var(--listing-desktop-columns); grid-template-columns:repeat(var(--compact-columns),minmax(0,1fr)); }
.listing-main .compact-retail-grid .product-card {border-radius:.45rem;}
.listing-main .compact-retail-grid .product-card h2 {margin:.5rem 0;}
.listing-main .compact-retail-grid .product-card p {margin:.4rem 0;}
@media(max-width:1100px) {.listing-main .compact-retail-grid {--compact-columns:var(--listing-tablet-columns);}}
@media(max-width:600px) {.listing-main .compact-retail-grid {--compact-columns:var(--listing-phone-columns);}}

/* Compact retail search stays above the owner's existing product grid. */
.listing-main :is(.retail-page,.search-page) { gap:.75rem; }
.listing-main .retail-toolbar,.listing-main .catalog-results-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:.5rem 1rem; }
.listing-main :is(.retail-toolbar,.catalog-results-heading) h1 { margin:0; font-size:1.35rem; line-height:1.3; overflow-wrap:anywhere; }
.listing-main .catalog-results-heading p { margin:0; font-size:.875rem; color:var(--theme-muted); }
.listing-main .retail-search,.listing-main .catalog-search-row { display:flex; align-items:center; gap:.5rem; min-width:0; }
.listing-main .retail-search { flex:0 1 38rem; margin:0; }
.listing-main .retail-search input[type=search],.listing-main .catalog-search-row input[type=search] { flex:1 1 12rem; width:0; min-width:0; min-height:44px; box-sizing:border-box; padding:.45rem .65rem; border:1px solid var(--theme-border); border-radius:.35rem; background:var(--theme-panel); color:var(--theme-text); font:inherit; font-size:1rem; }
.listing-main :is(.retail-search,.catalog-search-row) .button { flex:none; min-height:44px; padding:.45rem .8rem; font-size:.9rem; }
.listing-main :is(.retail-search,.catalog-search-row) > a { display:flex; align-items:center; min-height:44px; flex:none; font-size:.875rem; white-space:nowrap; }
.listing-main .catalog-filters.catalog-filters-compact { display:grid; grid-template-columns:minmax(0,1fr); gap:.35rem; margin:0; padding:.6rem .75rem; border-radius:.45rem; }
.listing-main .catalog-search-row { max-width:42rem; }
.listing-main .catalog-filter-options { min-width:0; }
.listing-main .catalog-filter-options > summary { width:fit-content; padding:.35rem 0; cursor:pointer; font-size:.875rem; font-weight:600; color:var(--theme-link); }
.listing-main .catalog-filter-options > summary:focus-visible { outline:2px solid var(--theme-accent); outline-offset:3px; }
.listing-main .catalog-filter-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr)); align-items:end; gap:.6rem; padding:.6rem 0 .15rem; border-top:1px solid var(--theme-border); }
.listing-main .catalog-filter-grid label:not(.check) { min-width:0; gap:.2rem; font-size:.8rem; color:var(--theme-muted); }
.listing-main .catalog-filter-grid :is(input:not([type=checkbox]):not([type=hidden]),select) { min-height:44px; box-sizing:border-box; padding:.4rem .5rem; font-size:1rem; }
.listing-main .catalog-filter-grid .check { display:flex; align-items:center; gap:.4rem; min-height:44px; font-size:.85rem; }
.listing-main .catalog-filter-grid .button { min-height:44px; padding:.45rem .75rem; font-size:.9rem; }
@media(max-width:700px) {
 .listing-main .retail-toolbar { align-items:stretch; }
 .listing-main .retail-toolbar h1 { flex-basis:100%; }
 .listing-main .retail-search { flex:1 1 100%; }
 .listing-main :is(.retail-search,.catalog-search-row) input[type=search],.listing-main :is(.retail-search,.catalog-search-row) .button,.listing-main :is(.retail-search,.catalog-search-row) > a,.listing-main .catalog-filter-grid :is(input:not([type=checkbox]):not([type=hidden]),select,.check,.button) { min-height:44px; }
 .listing-main .catalog-filter-options > summary { display:list-item; min-height:44px; box-sizing:border-box; padding:.7rem 0; }
}
