/* Layout — the page carries its own: a published site has no utility classes. */
.zar-sale-wrap{max-width:74rem;margin:0 auto;padding:0 clamp(1rem,4vw,2rem);box-sizing:border-box}
.zar-sale-hero{background:linear-gradient(160deg,color-mix(in srgb,var(--primary,#4f46e5) 10%,var(--background,#fff)),var(--background,#fff));border-bottom:1px solid var(--border,#e5e7eb)}
.zar-sale-hero-inner{padding-top:clamp(2.5rem,6vw,4.5rem);padding-bottom:clamp(2rem,5vw,3.5rem)}
.zar-sale-kicker{letter-spacing:.16em;text-transform:uppercase;font-size:.72rem;font-weight:700;color:var(--primary,#4f46e5);margin:0 0 .6rem}
.zar-sale-title{font-size:clamp(2rem,5vw,3.4rem);line-height:1.04;font-weight:800;margin:0 0 .9rem;letter-spacing:-.02em;color:var(--text,#0f172a)}
.zar-sale-when{font-size:1.1rem;color:var(--text,#0f172a);margin:0 0 .6rem}.zar-sale-sep{opacity:.5;margin:0 .5rem}
.zar-sale-countdown{display:none;margin:0 0 1.25rem;font-weight:700;font-size:1rem;color:var(--primary,#4f46e5)}.zar-sale-countdown[data-on]{display:block}
.zar-sale-facts{display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0 1.25rem}
.zar-sale-fact{display:inline-flex;flex-direction:column;gap:.15rem;padding:.6rem .9rem;border-radius:.9rem;background:color-mix(in srgb,var(--surface,#fff) 70%,transparent);border:1px solid var(--border,#e5e7eb);font-size:.95rem;color:var(--text,#0f172a)}
.zar-sale-fact-label{font-size:.66rem;text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted,#64748b)}
.zar-sale-fact:has(> span:last-child:empty){display:none}.zar-sale-fact:has(> span:last-child > span:empty + span:empty){display:none}
.zar-sale-negotiable{display:none;font-weight:600;color:var(--primary,#4f46e5);margin:0 0 1rem}.zar-sale-negotiable[data-on="true"],.zar-sale-negotiable[data-on="1"]{display:block}
.zar-sale-bidding-strip{display:none;align-items:center;gap:.6rem;margin:0 0 1.25rem;padding:.8rem 1rem;border-radius:.9rem;background:color-mix(in srgb,var(--primary,#4f46e5) 10%,var(--surface,#fff));border:1px solid color-mix(in srgb,var(--primary,#4f46e5) 35%,transparent);font-size:.95rem;line-height:1.45}
.zar-sale-bidding-strip[data-on="true"],.zar-sale-bidding-strip[data-on="1"]{display:flex}
.zar-sale-bidding-dot{width:.6rem;height:.6rem;border-radius:50%;background:#16a34a;box-shadow:0 0 0 0 rgba(22,163,74,.6);animation:zar-pulse 1.6s infinite;flex:none}
@keyframes zar-pulse{0%{box-shadow:0 0 0 0 rgba(22,163,74,.55)}70%{box-shadow:0 0 0 .55rem rgba(22,163,74,0)}100%{box-shadow:0 0 0 0 rgba(22,163,74,0)}}
.zar-sale-bidding-strip time:empty+.zar-sale-bidding-fallback{display:inline}.zar-sale-bidding-fallback{display:none}
.zar-item-bidclose{font-weight:600;color:var(--text,#0f172a)}.zar-item-bidclose:empty{display:none}
.zar-item-bidinfo[data-zar-bid-live][data-zar-bid-flash] .zar-item-bid-price{animation:zar-flash .9s ease-out}
@keyframes zar-flash{0%{background:color-mix(in srgb,var(--primary,#4f46e5) 35%,transparent);border-radius:.3rem}100%{background:transparent}}
.zar-sale-intro{max-width:62ch;color:var(--text-muted,#475569);line-height:1.65;font-size:1.02rem}.zar-sale-intro:empty{display:none}
.zar-sale-instructions{max-width:62ch;color:var(--text-muted,#475569);font-size:.95rem;margin:.6rem 0 0}.zar-sale-instructions:empty{display:none}
.zar-sale-items{padding:1.25rem 0 4rem;background:var(--background,#fff)}
.zar-sale-visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* Toolbar: sticky, one row of search · sort · count, one row of filter groups, then the active chips. */
.zar-sale-toolbar{position:sticky;top:0;z-index:5;padding:.9rem 0 .6rem;margin:0 0 1.5rem;background:color-mix(in srgb,var(--background,#fff) 94%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--border,#e5e7eb)}
.zar-sale-toolbar-row{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem .9rem;margin-bottom:.7rem}
.zar-sale-toolbar-filters{align-items:flex-start}
.zar-sale-search-wrap{flex:1 1 16rem;min-width:0}
.zar-sale-search{width:100%;box-sizing:border-box;padding:.7rem 1rem;border:1px solid var(--border,#e5e7eb);border-radius:999px;background:var(--surface,#f8fafc);color:inherit;font:inherit;font-size:.95rem}
.zar-sale-search:focus{outline:2px solid color-mix(in srgb,var(--primary,#4f46e5) 50%,transparent);outline-offset:1px}
.zar-sale-sort{display:inline-flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-muted,#64748b)}
.zar-sale-sort select{font:inherit;font-size:.9rem;color:inherit;padding:.55rem .8rem;border:1px solid var(--border,#e5e7eb);border-radius:.7rem;background:var(--surface,#f8fafc)}
.zar-sale-count{margin:0 0 0 auto;font-size:.85rem;color:var(--text-muted,#64748b);white-space:nowrap}
.zar-sale-group{display:flex;flex-direction:column;gap:.35rem;min-width:0}
.zar-sale-group-label{font-size:.66rem;text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted,#64748b)}
.zar-sale-chips{display:flex;flex-wrap:wrap;gap:.4rem}
.zar-chip{font:inherit;font-size:.84rem;line-height:1;padding:.5rem .85rem;border-radius:999px;border:1px solid var(--border,#e5e7eb);background:var(--surface,#f8fafc);color:inherit;cursor:pointer;transition:background .15s,border-color .15s}
.zar-chip:hover{border-color:var(--primary,#4f46e5)}
.zar-chip.is-active,.zar-chip[aria-pressed=true]{background:var(--primary,#4f46e5);border-color:var(--primary,#4f46e5);color:#fff}
/* Price: two sliders on one track, with the numbers beside. */
.zar-sale-price{min-width:15rem;flex:0 1 20rem}
.zar-sale-slider{position:relative;height:1.6rem;margin:.1rem .4rem 0}
.zar-sale-slider::before{content:"";position:absolute;left:0;right:0;top:50%;height:4px;margin-top:-2px;border-radius:2px;background:var(--border,#e5e7eb)}
.zar-sale-slider input[type=range]{position:absolute;left:0;right:0;top:0;width:100%;height:1.6rem;margin:0;background:transparent;-webkit-appearance:none;appearance:none;pointer-events:none}
.zar-sale-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--primary,#4f46e5);border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.25);pointer-events:auto;cursor:pointer}
.zar-sale-slider input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--primary,#4f46e5);border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.25);pointer-events:auto;cursor:pointer}
.zar-sale-slider input[type=range]::-webkit-slider-runnable-track{background:transparent}.zar-sale-slider input[type=range]::-moz-range-track{background:transparent}
.zar-sale-price-inputs{display:flex;align-items:flex-end;gap:.5rem;font-size:.8rem;color:var(--text-muted,#64748b)}
.zar-sale-price-inputs label{display:flex;flex-direction:column;gap:.2rem}.zar-sale-price-inputs input{width:5.5rem;padding:.45rem .6rem;border:1px solid var(--border,#e5e7eb);border-radius:.6rem;font:inherit;font-size:.9rem;background:var(--surface,#f8fafc);color:inherit}
.zar-sale-price-dash{padding-bottom:.55rem}
.zar-sale-active{display:flex;flex-wrap:wrap;gap:.4rem;font-size:.8rem}.zar-sale-active:empty{display:none}
.zar-sale-active [data-zar-active-chip],.zar-sale-active button{font:inherit;font-size:.8rem;padding:.35rem .7rem;border-radius:999px;border:1px solid var(--primary,#4f46e5);background:color-mix(in srgb,var(--primary,#4f46e5) 10%,transparent);color:var(--primary,#4f46e5);cursor:pointer}
/* The grid and the cards. */
.zar-sale-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:1.25rem;position:relative}
.zar-item{display:flex;flex-direction:column;border-radius:1.1rem;overflow:hidden;background:var(--surface,#fff);border:1px solid var(--border,#e5e7eb);transition:transform .15s,box-shadow .15s,opacity .2s}
.zar-item:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(0,0,0,.09)}
.zar-item-media{position:relative;display:block;aspect-ratio:1/1;overflow:hidden;min-height:0;background:var(--surface,#f1f5f9)}
.zar-item-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.zar-item-state{position:absolute;left:.65rem;top:.65rem;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.3rem .6rem;border-radius:999px;display:none}
.zar-item[data-state=reserved] .zar-item-state{display:inline-block;background:#f59e0b;color:#1f1300}.zar-item[data-state=reserved] .zar-item-state::after{content:"Reserved"}
.zar-item[data-state=sold] .zar-item-state{display:inline-block;background:#111827;color:#fff}.zar-item[data-state=sold] .zar-item-state::after{content:"Sold"}
.zar-item[data-state=sold] .zar-item-img{filter:grayscale(1);opacity:.55}.zar-item[data-state=sold] .zar-item-price{text-decoration:line-through;color:var(--text-muted,#64748b)}
.zar-item-body{display:flex;flex-direction:column;gap:.45rem;padding:.9rem 1rem 1rem}
.zar-item-name{font-size:1rem;font-weight:600;margin:0;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.zar-item-name a{color:inherit;text-decoration:none}
.zar-item-meta{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.zar-item-price{font-weight:800;font-size:1.15rem;color:var(--primary,#4f46e5)}.zar-item-price:empty::before{content:"—";color:var(--text-muted,#64748b)}
.zar-item-condition{font-size:.75rem;text-transform:capitalize;color:var(--text-muted,#64748b)}
.zar-item-bidinfo{margin:0;font-size:.8rem;color:var(--text-muted,#64748b)}.zar-item-bid-price{font-weight:800;color:var(--text,#0f172a)}
.zar-item-bidinfo:has(.zar-item-bid-price:empty){display:none}
.zar-item-actions{display:flex;gap:.4rem;margin-top:auto;padding-top:.25rem}
.zar-item-reserve{display:inline-block;padding:.5rem .95rem;border-radius:999px;background:var(--primary,#4f46e5);color:#fff;font-size:.8rem;font-weight:700;text-decoration:none}
.zar-item-bid{display:inline-block;padding:.5rem .95rem;border-radius:999px;border:2px solid var(--primary,#4f46e5);color:var(--primary,#4f46e5);font-size:.8rem;font-weight:700;text-decoration:none}
.zar-item:has(.zar-item-bid[href]:not([href=""])) .zar-item-reserve{display:none}
.zar-item[data-state=reserved] .zar-item-reserve,.zar-item[data-state=sold] .zar-item-reserve,.zar-item-reserve[href=""],.zar-item-reserve:not([href]){display:none}
.zar-item[data-state=reserved] .zar-item-bid,.zar-item[data-state=sold] .zar-item-bid,.zar-item-bid[href=""],.zar-item-bid:not([href]){display:none}
/* While the list reloads (a filter, a search, the next page): the cards dim and a skeleton row shimmers beneath. */
.zar-sale-grid[data-zar-loading] .zar-item{opacity:.45;pointer-events:none}
.zar-sale-grid[data-zar-loading]::after{content:"";grid-column:1/-1;height:9rem;border-radius:1.1rem;background:linear-gradient(90deg,var(--surface,#f1f5f9) 25%,color-mix(in srgb,var(--surface,#f1f5f9) 60%,#fff) 50%,var(--surface,#f1f5f9) 75%);background-size:200% 100%;animation:zar-shimmer 1.1s linear infinite}
@keyframes zar-shimmer{from{background-position:200% 0}to{background-position:-200% 0}}
@media (max-width:640px){.zar-sale-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.zar-item-body{padding:.65rem .75rem .8rem;gap:.3rem}.zar-item-name{font-size:.9rem}.zar-item-price{font-size:1rem}.zar-sale-toolbar{position:static}.zar-sale-count{margin-left:0;flex-basis:100%}}
@media (prefers-reduced-motion:reduce){.zar-item{transition:none}.zar-sale-grid[data-zar-loading]::after{animation:none}}
:root{--bp-gold:#FFC531;--bp-ink:#160F3A;--bp-paper:#FAF8FF;--text-muted:#5E5878;--bp-max:1220px}
html:root:root[data-theme="dark"]{--primary:#9B7BFF;--secondary:#C2A8FF;--accent:#E5306A;--background:#0D0A1F;--surface:#17122E;--text:#EEEAFB;--text-muted:#A39DC0;--border:#2A2347;--bp-ink:#08061A;--bp-paper:#17122E}
body{background:var(--background);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;transition:background .25s,color .25s}
.bp *{box-sizing:border-box}
.bp h1,.bp h2,.bp h3,.bp-h{font-family:var(--font-heading);letter-spacing:-.02em;line-height:1.08;color:var(--text);margin:0}
.bp p{margin:0}
.bp a{color:inherit;text-decoration:none}
.bp img{display:block;max-width:100%}
.bp-wrap{max-width:var(--bp-max);margin:0 auto;padding:0 20px}
.bp-sec{padding:clamp(56px,8vw,104px) 0}
.bp-eyebrow{display:inline-flex;align-items:center;gap:8px;font:700 12px/1 var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.bp-eyebrow::before{content:"";width:22px;height:2px;background:currentColor;border-radius:2px}
.bp-lead{font-size:clamp(17px,1.6vw,20px);line-height:1.6;color:var(--text-muted);max-width:56ch}
.bp-muted{color:var(--text-muted)}
.bp-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font:600 15px/1 var(--font-body);padding:15px 24px;border-radius:999px;border:1.5px solid transparent;cursor:pointer;transition:transform .18s,box-shadow .18s,background .18s,color .18s}
.bp-btn:hover{transform:translateY(-2px)}
.bp-btn-accent{background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 55%,var(--primary)));color:#fff;box-shadow:0 10px 24px -10px var(--accent)}
.bp-btn-accent:hover{box-shadow:0 16px 30px -10px var(--accent);color:#fff}
.bp-books{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}
@media(min-width:720px){.bp-books{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1024px){.bp-books{grid-template-columns:repeat(4,minmax(0,1fr))}}
.bp-book{display:flex;flex-direction:column;gap:10px}
.bp-cover{position:relative;aspect-ratio:2/3;border-radius:6px 14px 14px 6px;overflow:hidden;background:var(--surface);box-shadow:0 1px 0 var(--border),0 18px 34px -18px rgba(60,30,160,.35);transition:transform .25s,box-shadow .25s}
.bp-cover::after{content:"";position:absolute;inset:0 auto 0 0;width:7%;background:linear-gradient(90deg,rgba(0,0,0,.18),rgba(255,255,255,.08) 60%,transparent)}
.bp-cover img{width:100%;height:100%;object-fit:cover}
.bp-book:hover .bp-cover{transform:translateY(-6px) rotate(-1deg);box-shadow:0 30px 44px -20px rgba(60,30,160,.5)}
.bp-book h3{font:600 15.5px/1.35 var(--font-body);letter-spacing:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bp-book .bp-by{font-size:13px;color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.bp-price-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto}
.bp-price{font:700 16px/1 var(--font-body);color:var(--text)}
.bp-amz{font:600 12px/1 var(--font-body);color:var(--accent)}
.bp-search{display:flex;align-items:center;gap:12px;background:var(--surface);border:1.5px solid var(--border);border-radius:999px;padding:6px 6px 6px 20px;max-width:640px;transition:border-color .2s,box-shadow .2s}
.bp-search:focus-within{border-color:var(--primary);box-shadow:0 0 0 5px color-mix(in srgb,var(--primary) 14%,transparent)}
.bp-search input{flex:1;border:0;outline:0;background:transparent;font:500 16px var(--font-body);color:var(--text);min-width:0;padding:10px 0}
.bp select{font:500 14px var(--font-body);color:var(--text);background:var(--surface);border:1.5px solid var(--border);border-radius:999px;padding:10px 14px}
html.bp-js .bp [data-aos]{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
html.bp-js .bp [data-aos].bp-in{opacity:1;transform:none}
.bp-by:empty{display:none}
.bp img:not([src]),.bp img[src=""]{visibility:hidden}
.bp-eyebrow{background:linear-gradient(90deg,var(--primary),var(--accent));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.bp-eyebrow::before{background:linear-gradient(90deg,var(--primary),var(--accent))}
.bs-top{background:radial-gradient(800px 400px at 100% 0,color-mix(in srgb,var(--accent) 16%,transparent),transparent 60%),radial-gradient(700px 400px at 0% 100%,color-mix(in srgb,var(--primary) 14%,transparent),transparent 60%)!important}
.bp-wrap.bs-body{padding-top:36px!important;padding-bottom:88px!important}
@media(max-width:640px){.bp-wrap.bs-body{padding-top:28px!important}.bs-right{width:100%;justify-content:space-between}}
.bs-panel{z-index:2147483647!important}
.bs-backdrop{z-index:2147483646!important}
/* Garage sale cards: spine photos sit centred on a soft cover, not stretched */
.gs-book .bp-cover{background:radial-gradient(120% 80% at 50% 0,color-mix(in srgb,var(--primary) 10%,var(--surface)),color-mix(in srgb,var(--accent) 6%,var(--surface)))}
.gs-book .bp-cover img{object-fit:contain!important;padding:14px 10px;background:none!important;filter:drop-shadow(0 12px 16px rgba(20,10,60,.3))}
.gs-book .bp-cover::after{display:none}
.gs-book .bp-price{font-size:17px;color:var(--primary)}
.gs-avail,.gs-state{margin-left:auto}