/* Auction-first homepage. Palette is owned by bidder-theme.css. */
.browse-disclosure { border:1px solid var(--line); border-radius:10px; background:var(--card); color:var(--ink); }
.browse-disclosure > summary { box-sizing:border-box; min-height:44px; padding:.6rem .8rem; cursor:pointer; font-size:.88rem; font-weight:650; overflow-wrap:anywhere; }
.browse-disclosure > summary:focus-visible { outline:3px solid var(--gold); outline-offset:3px; }
.browse-disclosure[open] > summary { border-bottom:1px solid var(--line); }
.browse-disclosure .optional { color:var(--muted); font-size:.78rem; font-weight:400; margin-left:.3rem; }
.browse-label { display:block; margin-bottom:.4rem; font-size:.82rem; font-weight:650; color:var(--ink); }
.finder { max-width:44rem; }
.finder-search { display:flex; gap:.5rem; }
.finder input,.finder select { min-height:44px; min-width:0; border:1px solid var(--fieldline); border-radius:8px; background:var(--field); color:var(--ink); font:inherit; padding:.6rem .7rem; }
/* Safari's native select painting ignores min-height without an explicit height. */
.finder select { height:44px; box-sizing:border-box; }
.finder-search input { flex:1; width:100%; }
.finder-search button { flex:none; min-height:44px; padding:.6rem .9rem; border:0; border-radius:8px; background:var(--gold); color:var(--on-gold); font:inherit; font-weight:750; cursor:pointer; }
.finder-distance { margin-top:.4rem; max-width:30rem; border:0; background:transparent; }
.finder-distance > summary { padding:.5rem 0; color:var(--muted); font-weight:500; }
.distance-fields { display:flex; flex-wrap:wrap; gap:.7rem; padding:.5rem 0; }
.distance-fields label { display:grid; gap:.3rem; font-size:.85rem; flex:1; min-width:7rem; }
.distance-fields input { width:100%; }
.home-actions { display:flex; align-items:center; flex-wrap:wrap; gap:.45rem 1rem; margin-top:.5rem; }
.home-actions > a:not(.btn) { display:inline-flex; align-items:center; min-height:44px; font-size:.9rem; font-weight:650; color:var(--gold); }
.home-floor.body { padding:.7rem 0 2rem; }
.home-floor .wrap { max-width:1200px; }
.home-floor h2 { margin:0 0 .7rem; font-size:1.5rem; }
.home-help,.home-selling { margin-top:1rem; }
.home-help-content { padding:.25rem 1rem 1rem; font-size:.9rem; }
.home-help-content p { color:var(--muted); }
.home-help-content b { color:var(--ink); }
.home-market { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:.5rem 1rem; padding:1.3rem 0; }
.home-market h2 { font-size:1.2rem; margin:0; }
.home-market p { margin:.35rem 0 0; color:var(--muted); font-size:.9rem; }
.home-market > a,.home-help-content > a { display:inline-flex; min-height:44px; align-items:center; font-weight:650; }
.home-selling { margin-top:0; }
.home-selling-links { display:grid; gap:.3rem; padding:.6rem 1rem; }
.home-selling-links a { display:flex; align-items:center; min-height:44px; font-size:.9rem; }
.home-floor { scroll-margin-top:calc(var(--bhnav-height, 68px) + 12px); }
.home-house-filter { min-width:0; max-width:100%; }
.home-house-filter > div { display:flex; gap:.5rem; }
.home-house-filter select { width:auto; min-width:0; max-width:100%; height:44px; font:inherit; color:var(--ink); background:var(--field); }
.home-house-filter button { min-height:44px; padding:.5rem .8rem; color:var(--ink); background:var(--card); border:1px solid var(--fieldline); border-radius:6px; font:inherit; cursor:pointer; }
.home-selected { margin:.4rem 0 1rem; }
.home-auctions { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr)); gap:1.2rem; align-items:stretch; }
.home-auction-card { display:flex; flex-direction:column; min-width:0; background:var(--card); border:1px solid var(--line); border-radius:12px; overflow:hidden; }
.home-auction-info { padding:1rem 1.1rem; display:flex; flex-direction:column; flex:1; }
.home-auction-info p { margin:0 0 .6rem; }
.home-auction-state { color:var(--ink); font-size:.8rem; font-weight:750; }
/* Which sale closes NEXT is said out loud on every card (ruling 2026-09-19):
   icon + words, never colour alone. */
.home-closing-badge { display:inline-flex; align-items:center; gap:.4rem; padding:.3rem .7rem; border-radius:999px; font-size:.76rem; font-weight:800; letter-spacing:.03em; text-transform:uppercase; border:1px solid var(--line); }
.home-closing-badge.is-next { background:#D4AF37; color:#14231c; border-color:#D4AF37; }
.home-closing-badge.is-closing_now { background:#14231c; color:#ffe9ad; border-color:#D4AF37; }
.home-closing-badge.is-later { color:var(--muted, #5b6b64); }
.home-closing-icon { font-size:.9rem; line-height:1; }
.pw-house .pw-open-sales-title { font-family:var(--serif,Georgia,serif); font-size:1.6rem; font-weight:500; margin:0 0 .8rem; }
.home-auction-seller,.home-auction-facts,.home-auction-fees { color:var(--muted); font-size:.86rem; }
.home-auction-seller a,.home-auction-fees a { color:var(--ink); text-decoration:underline; text-underline-offset:.16em; }
.home-auction-date { color:var(--ink); line-height:1.45; }
.home-auction-date > span { display:inline; font-size:.8rem; color:var(--muted); }
.home-auction-date time { font-weight:650; }
.home-auction-enter { margin-top:auto; display:flex; justify-content:center; align-items:center; min-height:44px; padding:.6rem .9rem; border-radius:7px; background:var(--gold); color:var(--on-gold); font-weight:750; text-decoration:none; }
.home-auction-enter:visited,.home-auction-enter:hover { color:var(--on-gold); }
.home-auction-enter:hover { text-decoration:underline; }
/* One representative, owner-selected photo: the chooser is not a gallery. */
.home-auction-heading { display:grid; grid-template-columns:88px minmax(0,1fr); gap:.8rem; align-items:start; padding:1rem 1rem 0; }
.home-auction-photo { min-width:0; margin:0; }
.home-auction-photo img { display:block; width:88px; height:88px; object-fit:contain; background:var(--media); border:1px solid var(--line); border-radius:8px; }
.home-auction-photo figcaption { margin-top:.2rem; color:var(--muted); font-size:.7rem; line-height:1.2; }
.home-photo-empty { display:grid; align-items:center; min-height:88px; padding:.35rem; border:1px solid var(--line); border-radius:8px; color:var(--muted); background:var(--media); font-size:.75rem; text-align:center; }
.home-auction-heading h3 { margin:.35rem 0; font-size:1.08rem; line-height:1.3; overflow-wrap:anywhere; }
.home-auction-heading h3 a { color:var(--ink); text-decoration:none; }
.home-auction-heading h3 a:hover { text-decoration:underline; }
.home-auction-heading p { margin:0; }
.home-auction-heading .home-closing-badge { border:0; border-radius:0; padding:0; background:transparent; color:var(--ink); font-size:.7rem; letter-spacing:0; text-transform:none; }
.home-auction-info { padding:.7rem 1rem 1rem; }
.home-auction-info p { margin:0 0 .4rem; }
.home-auction-date { font-size:.9rem; }
.home-auction-enter { margin-top:.25rem; }
.home-page-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.7rem; }
.home-page-heading h1 { margin:0; font-family:var(--serif); font-weight:500; font-size:clamp(1.35rem,3vw,1.8rem); line-height:1.2; }
.home-page-heading .theme-toggle { flex:none; }
@media(max-width:640px) {
  html.calm .home-page-heading button.theme-toggle { width:44px; min-width:44px; height:44px; padding:0; justify-content:center; }
  .home-page-heading .theme-toggle [data-theme-label] { display:none; }
}
.home-live-link { display:flex; align-items:center; flex-wrap:wrap; gap:.35rem 1rem; margin:.7rem 0; }
.home-live-link a { display:inline-flex; align-items:center; min-height:44px; color:var(--ink); font-weight:700; text-decoration:underline; }
.home-live-link span { color:var(--muted); font-size:.85rem; }
.home-market-shelf { border-top:1px solid var(--line); margin-top:1rem; padding-top:1rem; }
.home-market-shelf h2 { margin:0; }
.home-market-shelf > p { margin:.3rem 0 .65rem; font-size:.9rem; }
.home-market-shelf > a { display:inline-flex; align-items:center; min-height:44px; color:var(--ink); font-weight:700; }
@media (max-width:420px) {
  .home-auction-heading { grid-template-columns:76px minmax(0,1fr); gap:.65rem; padding:.8rem .8rem 0; }
  .home-auction-photo img { width:76px; height:76px; }
  .home-auction-info { padding:.65rem .8rem .8rem; }
}
.home-showcase-review { padding:.6rem; border:2px solid var(--ink); border-radius:6px; color:var(--ink); font-size:.8rem; }
.home-showcase-review a { display:inline-flex; align-items:center; min-height:44px; color:var(--ink); text-decoration:underline; }
.home-auction-card a:focus-visible { outline:3px solid var(--gold); outline-offset:3px; }
.home-auction-enter:focus-visible { outline:3px solid var(--ink); outline-offset:3px; }
.home-photo-empty:focus-visible { outline-offset:-3px; }
.home-empty { padding:1.25rem; border:1px solid var(--line); border-radius:10px; background:var(--card); grid-column:1/-1; }
.home-empty h3 { margin:0 0 .5rem; }
.home-empty p { color:var(--muted); }
.home-empty a,.home-pagination a { display:inline-flex; align-items:center; min-height:44px; color:var(--ink); }
.home-pagination { display:flex; justify-content:space-between; align-items:center; gap:.6rem; flex-wrap:wrap; margin-top:1rem; }
.home-houses { margin-top:1rem; }
.home-houses nav { display:flex; flex-wrap:wrap; gap:.3rem 1rem; padding:.4rem 1rem; }
.home-houses nav a { display:inline-flex; min-height:44px; align-items:center; color:var(--ink); }
/* Shared, explicit shopping choices and scoped discovery. */
.shopping-choices { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin:.6rem 0 .8rem;max-width:44rem; }
.shopping-choices a { display:flex;flex-direction:column;justify-content:center;min-height:56px;padding:.5rem .7rem;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);text-decoration:none;line-height:1.35;overflow-wrap:anywhere; }
.shopping-choices a:visited { color:var(--ink); }
.shopping-choices a[aria-current] { border:2px solid var(--ink);padding:calc(.5rem - 1px) calc(.7rem - 1px); }
.shopping-choices a[aria-current] strong { text-decoration:underline;text-underline-offset:.18em; }
.shopping-choices strong { font-size:.94rem; }.shopping-choices span { font-size:.8rem;color:var(--muted); }
.shopping-choices a:focus-visible,.live-entrance a:focus-visible { outline:3px solid var(--ink);outline-offset:3px; }
.live-entrance { display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1.5rem;margin:0 0 1rem;padding:.5rem 0 .8rem;border-bottom:1px solid var(--line);color:var(--ink); }
.live-entrance-copy { flex:1 1 240px;min-width:0; }
.live-entrance-heading { display:flex;align-items:center;justify-content:space-between;gap:.5rem; }
.live-entrance-heading strong { font-size:1rem; }
.live-entrance-heading a { display:inline-flex;align-items:center;min-height:44px;font-size:.85rem; }
.live-entrance-title { margin:0;font-size:.8rem;line-height:1.35;color:var(--muted); }
.live-entrance a,.live-entrance a:visited { color:var(--ink); }
.live-entrance-modes { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.4rem;flex:1 1 480px; }
.live-entrance-modes a { display:flex;align-items:center;justify-content:center;min-height:44px;padding:.35rem .5rem;border:1px solid var(--line);border-radius:7px;background:var(--card);font-size:.85rem;font-weight:700;text-decoration:none;text-align:center;line-height:1.3; }
.live-entrance a:hover { text-decoration:underline; }
.home-auction-card[data-closing="next"],.home-auction-card[data-closing="closing_now"] { border:2px solid var(--ink); }
.home-auction-card[data-closing="next"] .home-auction-state,.home-auction-card[data-closing="closing_now"] .home-auction-state { font-size:.82rem;font-weight:850;text-decoration:underline;text-underline-offset:.18em; }
@media(max-width:600px) { .live-entrance-modes { grid-template-columns:repeat(2,minmax(0,1fr)); }.live-entrance { gap:.45rem; } }

/* Reflow when text is enlarged instead of trapping long labels in narrow columns. */
.shopping-choices { grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr)); }
.home-auction-actions .home-auction-enter { min-width:0;max-width:100%;flex-basis:10rem;white-space:normal;text-align:center;overflow-wrap:anywhere; }
.home-auction-actions .share-btn { white-space:normal;overflow-wrap:anywhere; }
@media(max-width:600px) { .live-entrance-modes { grid-template-columns:repeat(auto-fit,minmax(min(100%,7.5rem),1fr)); }.live-entrance-heading { flex-wrap:wrap; } }


/* Auctions first: a compact toolbar, then the actual available sales. */
.home-auction-tools { margin:0 0 .6rem; }
.home-auction-tools .home-page-heading { margin-bottom:.5rem; }
.home-auction-filters { display:flex; flex-wrap:wrap; align-items:start; gap:.4rem 1rem; }
.home-auction-search { flex:1 1 22rem; min-width:0; max-width:none; }
.home-auction-company { flex:0 1 24rem; min-width:0; }
/* WebKit's enlarged native option label can overflow its correctly sized
   select box. Constrain only the native control's paint; its options and the
   full selected company below the filter remain available. */
.home-auction-company select { flex:1; width:100%; border:1px solid var(--fieldline); border-radius:8px; padding:.5rem; overflow:hidden; text-overflow:ellipsis; }
.home-auction-company button { flex:none; }
.home-controls-label { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.home-auction-tools .finder-distance { margin:0; }
.home-auction-tools :focus-visible { outline:3px solid var(--ink); outline-offset:3px; }
.home-location-link { margin:.35rem 0; }
.home-location-link a,.home-location-link a:visited,.home-auction-location,.home-auction-location:visited { display:inline-flex; align-items:center; min-height:44px; color:var(--ink); font-size:.84rem; text-decoration:underline; text-underline-offset:.18em; }
.home-auction-location { align-self:start; margin-top:.15rem; }
.auction-more-hint { display:none; }
.home-auction-card { scroll-margin-top:calc(var(--bhnav-height, 68px) + 12px); }
.home-auction-card:focus-visible,.auction-more-hint:focus-visible { outline:3px solid var(--ink); outline-offset:3px; }
@media(max-width:700px) {
  .home-auctions { row-gap:.5rem; }
  .auction-more-hint,.auction-more-hint:visited { display:grid; grid-template-columns:64px minmax(0,1fr) 30px; align-items:center; gap:8px; box-sizing:border-box; min-height:68px; margin:0 .25rem; padding:7px 8px; color:var(--ink); text-decoration:none; }
  .auction-more-art { position:relative; display:block; width:64px; height:50px; }
  .auction-more-art::before,.auction-more-art::after { content:""; position:absolute; top:4px; left:8px; width:42px; height:42px; border:1px solid var(--line); border-radius:7px; background:var(--card); transform:rotate(4deg); }
  .auction-more-art::before { left:15px; top:6px; transform:rotate(12deg); }
  .auction-more-photo { position:absolute; top:3px; left:1px; width:44px; height:44px; border:2px solid var(--card); border-radius:7px; overflow:hidden; background:var(--media); outline:1px solid var(--line); box-shadow:0 2px 4px rgb(23 43 66 / .12); }
  .auction-more-photo img { display:block; width:100%; height:100%; object-fit:contain; }
  .auction-more-photo:nth-child(1) { z-index:3; transform:rotate(-8deg); }
  .auction-more-photo:nth-child(2) { z-index:2; transform:translate(9px,-1px) rotate(4deg); }
  .auction-more-photo:nth-child(3) { z-index:1; transform:translate(16px,2px) rotate(13deg); }
  .auction-more-fallback { position:relative; z-index:3; display:block; width:64px; height:50px; stroke:currentColor; stroke-width:1.5; }
  .auction-more-fallback rect { fill:var(--card); }
  .auction-more-copy { display:grid; min-width:0; gap:2px; line-height:1.25; }
  .auction-more-label { font-size:.65rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
  .auction-more-copy strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.88rem; font-weight:750; }
  .auction-more-action { font-size:.75rem; color:var(--muted); }
  .auction-more-arrow { display:grid; place-items:center; width:30px; height:30px; border-radius:50%; background:var(--ink); color:var(--card); }
  .auction-more-arrow svg { width:18px; height:18px; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
  .auction-more-hint:hover .auction-more-copy strong,.auction-more-hint:focus-visible .auction-more-copy strong { text-decoration:underline; text-underline-offset:.15em; }
}
@media(max-width:700px) and (prefers-reduced-motion:no-preference) {
  .auction-more-hint.is-seen .auction-more-photo { animation:auction-preview-reveal .7s cubic-bezier(.2,.8,.2,1) both; }
  .auction-more-hint.is-seen .auction-more-photo:nth-child(2) { animation-delay:.1s; }
  .auction-more-hint.is-seen .auction-more-photo:nth-child(3) { animation-delay:.2s; }
  .auction-more-hint.is-seen .auction-more-arrow svg { animation:auction-preview-down 1.7s ease-in-out 2; }
}
@keyframes auction-preview-reveal {
  from { transform:translate(8px,3px) rotate(0); opacity:.3; }
}
@keyframes auction-preview-down {
  0%,45%,100% { transform:translateY(0); }
  25% { transform:translateY(3px); }
}
@media(max-width:640px) {
  .home-auction-filters { gap:.4rem; }
  .home-auction-search,.home-auction-company { flex-basis:100%; }
  .home-auction-tools .finder-search { flex-wrap:wrap; }
  .home-auction-tools .finder-search input { flex:1 1 min(100%,10rem); width:auto; font-size:max(16px,1rem); }
  .home-auction-tools .finder-search button { flex:1 0 auto; }
  .home-auction-company > div { flex-wrap:wrap; }
  .home-auction-company select { flex:1 1 min(100%,10rem); }
}

/* The auction count is an entrance: real photographs, then direct card links. */
.auction-chooser { --chooser-line:#a9b9b2; --chooser-wash:#eef5f1; --chooser-muted:#455d53; margin:.3rem 0 .75rem; border:1px solid var(--chooser-line); border-radius:16px; background:linear-gradient(120deg,var(--card),var(--chooser-wash)); color:var(--ink); box-shadow:0 3px 12px rgb(23 51 39 / .03); overflow:hidden; }
.ac-summary { list-style:none; display:flex; align-items:center; gap:10px; min-height:72px; padding:9px 11px; box-sizing:border-box; cursor:pointer; text-decoration:none; }
.ac-single:visited { color:var(--ink); }
.auction-chooser { container-type:inline-size; container-name:auction-chooser; }
.ac-summary::-webkit-details-marker { display:none; }
.ac-summary:focus-visible,.ac-choice:focus-visible,.ac-view-all:focus-visible { outline:3px solid var(--ink); outline-offset:-4px; border-radius:12px; }
.ac-count { position:relative; flex:0 0 44px; width:44px; height:44px; display:grid; place-items:center; }
.ac-count svg { position:absolute; inset:0; width:44px; height:44px; fill:none; stroke:var(--gold); stroke-width:2.7; stroke-dasharray:37 7; transform:rotate(-88deg); }
.ac-count b { font:750 1.5rem/1 var(--sans,system-ui); font-variant-numeric:tabular-nums; }
.ac-intro { display:grid; gap:3px; min-width:0; flex:1; overflow-wrap:anywhere; }
.ac-intro strong { font-size:.9375rem; line-height:1.2; font-weight:800; letter-spacing:-.02em; }
.ac-intro>span { font-size:.75rem; line-height:1.35; color:var(--chooser-muted); }
.ac-photos { position:relative; display:block; width:73px; height:48px; flex:none; }
.ac-mini { position:absolute; top:4px; left:calc(var(--i)*16px); width:37px; height:40px; border:2px solid var(--card); border-radius:7px; background:var(--media); box-shadow:0 2px 5px rgb(24 59 64 / .15); z-index:calc(3 - var(--i)); transform:rotate(calc(-9deg + var(--i)*9deg)); overflow:hidden; }
.ac-mini img { display:block; width:100%; height:100%; object-fit:contain; }
.ac-chevron { display:grid; place-items:center; flex:0 0 18px; }
.ac-chevron svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.auction-chooser[open] .ac-chevron svg { transform:rotate(180deg); }
.ac-options { border-top:1px solid var(--chooser-line); padding:0 11px 7px; background:var(--card); }
.ac-options>p { font-size:.75rem; color:var(--chooser-muted); margin:10px 0 5px; letter-spacing:.02em; }
.ac-choice,.ac-choice:visited { display:grid; grid-template-columns:50px minmax(0,1fr) 20px; gap:11px; align-items:center; min-height:78px; padding:10px 0; color:var(--ink); text-decoration:none; border-radius:8px; }
.ac-choice+.ac-choice { border-top:1px solid var(--line); border-radius:0; }
.ac-image { position:relative; width:50px; height:50px; display:block; background:var(--media); border:1px solid var(--line); border-radius:9px; }
.ac-image img { display:block; width:100%; height:100%; object-fit:contain; border-radius:8px; }
.ac-ordinal { position:absolute; left:-4px; bottom:-4px; display:grid; place-items:center; width:20px; height:20px; border-radius:6px; background:var(--ink); color:var(--card); font-size:.625rem; font-weight:800; border:2px solid var(--card); }
.ac-choice-copy { display:grid; gap:3px; min-width:0; line-height:1.3; overflow-wrap:anywhere; }
.ac-choice-copy strong { font-size:.875rem; font-weight:750; }
.ac-choice-copy>span,.ac-choice-copy small { font-size:.75rem; color:var(--chooser-muted); }
.ac-go { font-size:22px; line-height:1; }
.ac-choice:hover .ac-choice-copy strong { text-decoration:underline; text-underline-offset:3px; }
.ac-missing { display:grid; place-items:center; height:100%; }
.ac-missing svg { width:24px; height:24px; fill:none; stroke:var(--ink); stroke-width:1.5; }
.ac-view-all,.ac-view-all:visited { display:flex; align-items:center; min-height:44px; color:var(--ink); font-size:.875rem; text-decoration:underline; text-underline-offset:.18em; }
html.calm:not(.light) .auction-chooser { --chooser-line:#849c90; --chooser-wash:#182a23; --chooser-muted:#c2d0c8; }
@media(max-width:350px) {
  .ac-summary { gap:7px; padding:9px; }
  .ac-count,.ac-count svg { width:38px; height:38px; }.ac-count { flex-basis:38px; }
  .ac-photos { width:49px; }.ac-mini { width:29px; left:calc(var(--i)*10px); }
  .ac-intro strong { font-size:.875rem; }
}
@media(prefers-reduced-motion:no-preference) {
  .ac-mini,.ac-chevron svg { transition:transform .22s ease; }
  .ac-summary:hover .ac-mini,.auction-chooser[open] .ac-mini { transform:translateY(calc(-2px + var(--i)*2px)) rotate(calc(-13deg + var(--i)*13deg)); }
  .auction-chooser[open] .ac-options { animation:auction-choices-reveal .18s ease-out; }
}
@keyframes auction-choices-reveal { from { opacity:.4; transform:translateY(-4px); } to { opacity:1; transform:none; } }

/* Preserve readable labels when the available width or enlarged text is tight. */
@container auction-chooser (max-width:20rem) {
  .ac-photos { display:none; }
}
