/* Catalog styles stay scoped so lot, account, and checkout pages keep their layout. */
.catalog-page .navwrap {max-width:100rem; min-height:64px; padding:8px 32px}
.catalog-page main {max-width:100rem; padding:12px 32px 32px}
.catalog-heading {display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:4px 16px; margin-bottom:10px}
.catalog-heading h1 {margin:0; font-size:1.45rem; line-height:1.3}
.catalog-heading p {margin:0; color:var(--mut); font-size:.8rem}
.catalog-controls {flex-direction:column; align-items:stretch; gap:6px; padding:0; margin-bottom:12px}
.catalog-search {display:grid; grid-template-columns:minmax(180px,1fr) 112px 112px 210px; align-items:center; gap:8px; width:100%}
.catalog-filter-fields {display:contents}
.catalog-search label {display:flex; align-items:center; gap:4px; min-width:0; height:44px; margin:0; padding-left:10px; border:1px solid #a5b6a9; border-radius:8px; background:#fff; font-size:.75rem; font-weight:600}
.catalog-search label>span {flex:none; white-space:nowrap; color:var(--mut)}
.catalog-query-label {position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap}
.catalog-search label.catalog-query {padding:0}
.catalog-search input,.catalog-search #sort {flex:1 1 0; min-width:0; width:100%; min-height:42px; height:42px; padding:8px; border:0; border-radius:8px; font-size:.9rem; background:transparent; color:#173523}
.catalog-search #catalog-query {padding:10px 12px}
.catalog-search label:focus-within {outline:2px solid #b67a15; outline-offset:2px}
.catalog-search input:focus-visible,.catalog-search #sort:focus-visible {outline:none}
.catalog-filter-row {display:flex; align-items:center; justify-content:space-between; gap:8px 16px; min-width:0; width:100%}
.catalog-controls .chips {flex:1; flex-wrap:nowrap; gap:6px; padding:3px 2px; overflow-x:auto; scrollbar-width:thin}
.catalog-controls .chip {min-height:38px; padding:6px 12px; white-space:nowrap; font-size:.8rem}
.catalog-actions {display:flex; flex:none; align-items:center; gap:16px}
.catalog-saved {display:flex; align-items:center; gap:6px; min-height:44px; margin:0; font-size:.8rem; white-space:nowrap; cursor:pointer}
.catalog-saved input {width:18px; height:18px; min-height:18px; margin:0; padding:0; accent-color:var(--acc)}
.catalog-actions #catalog-clear {min-height:44px; padding:6px 0; border:0; background:transparent; font-size:.8rem; white-space:nowrap; text-decoration:underline; text-underline-offset:3px}
.catalog-controls #catalog-results {margin:0; font-size:.75rem; line-height:1.5; display:flex; justify-content:space-between; flex-wrap:wrap; gap:2px 12px}
.catalog-save-message {position:fixed; z-index:25; bottom:20px; left:50%; transform:translateX(-50%); width:max-content; max-width:calc(100% - 32px); margin:0; padding:12px 18px; border:1px solid var(--line); border-radius:10px; background:#fff; color:var(--acc); box-shadow:0 4px 20px #123d2626; font-size:.9rem}
.catalog-save-message:empty {display:none}
.catalog-page .grid {grid-template-columns:repeat(5,minmax(0,1fr)); gap:16px}
.catalog-page .lotcard-shell {position:relative; min-width:0}
.catalog-page .lotcard {height:100%; border-radius:10px}
.catalog-page .lotcard img,.catalog-page .lotcard .no-photo {aspect-ratio:1}
.catalog-page .lotcard .body {padding:10px 12px 12px}
.catalog-page .lotcard .t {display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; height:2.8em; margin:8px 0; font-size:.9rem; line-height:1.4}
.catalog-page .lotcard .price {font-size:1.25rem; line-height:1.4}
.catalog-page .lotcard .mut {min-height:1.55em; margin-top:4px}
.catalog-page .lotcard-save {position:absolute; top:8px; right:8px; display:grid; place-items:center; width:44px; height:44px; padding:10px; border:1px solid #d0dad1; border-radius:50%; color:var(--acc); background:#fff; box-shadow:0 1px 4px #123d2614}
.catalog-page .lotcard-save svg {width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.8}
.catalog-page .lotcard-save[aria-pressed="true"] {background:var(--acc); border-color:var(--acc); color:#fff}
.catalog-page .lotcard-save[aria-pressed="true"] svg {fill:currentColor}
.catalog-page .lotcard-save:hover {box-shadow:0 2px 8px #123d2633}
@media(min-width:1600px) {
  .catalog-page .grid {grid-template-columns:repeat(6,minmax(0,1fr))}
}
@media(max-width:1199px) {
  .catalog-page .grid {grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:999px) {
  .catalog-page .grid {grid-template-columns:repeat(3,minmax(0,1fr))}
  .catalog-sync {display:none}
}
@media(max-width:760px) {
  .catalog-page .navwrap {padding:8px 12px}
  .catalog-page .navwrap nav a[aria-current="page"] {display:none}
  .catalog-page main {padding:10px 12px 24px}
  .catalog-heading {gap:2px 12px; margin-bottom:8px}
  .catalog-heading h1 {font-size:1.25rem}
  .catalog-heading p {font-size:.75rem}
  .catalog-controls {gap:4px; margin-bottom:10px}
  .catalog-search {grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.7fr); gap:6px}
  .catalog-query {grid-column:1/-1}
  .catalog-search label {padding-left:6px; font-size:.7rem}
  .catalog-search input,.catalog-search #sort {padding:6px 4px; font-size:1rem}
  .catalog-sort>span {position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%)}
  .catalog-filter-row {flex-wrap:wrap; gap:0}
  .catalog-controls .chips {flex-basis:100%}
  .catalog-controls .chip {min-height:44px; padding:8px 12px}
  .catalog-actions {width:100%; justify-content:space-between; gap:12px}
  .catalog-price-note {display:none}
  .catalog-page .grid {grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px}
  .catalog-page .lotcard .body {padding:8px}
  .catalog-page .lotcard .t {font-size:.85rem}
  .catalog-page .lotcard .price {font-size:1.1rem}
  .catalog-page .lotcard-save {top:6px; right:6px}
}
.lotcard-badges {display:flex; flex-wrap:wrap; align-items:center; gap:4px; white-space:nowrap}
.lotcard .lotcard-badges .badge {flex:none; margin:0; letter-spacing:0}
@media(max-width:760px) {
  .lotcard-badges .badge {padding:3px 5px; font-size:.625rem; line-height:1.4}
}
@media(max-width:360px) {
  .catalog-page .lotcard .body {padding:8px}
  .lotcard-badges .badge {padding:3px; font-size:.6rem}
}
#bid-confirm {box-sizing:border-box; width:calc(100% - 32px); max-width:520px; max-height:85dvh; overflow:auto; border:1px solid #a5b6a9; border-radius:16px; padding:24px; color:#173523; background:#fff}
#bid-confirm::backdrop {background:rgb(0 0 0 / .55)}
#bid-confirm h2 {margin-top:0}
#bid-confirm-total {font-size:1.15rem; font-weight:700; padding:14px; background:#edf4ed; border-radius:8px}
#bid-confirm form {display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px}
#bid-confirm button {min-height:44px; padding:10px 16px}
#clock-change {background:#fff3cb; color:#583d00}
#list-pickup details {margin:16px 0; padding:12px; border:1px solid #b9c9bc; border-radius:8px}
#list-pickup summary {cursor:pointer; min-height:36px; font-weight:700}
#list-pickup .secondary {margin-top:12px}
