.shop-main{padding:110px var(--pad) 80px}
.shop-hero{border-bottom:1px solid var(--ink);padding-bottom:28px;margin-bottom:24px}
.shop-hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(56px,9vw,140px);line-height:.9;letter-spacing:-.03em;margin:10px 0 18px}
.lead-s{font-family:var(--serif);font-size:clamp(18px,1.6vw,23px);max-width:40ch;color:#333}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:34px}
.filters button{font:400 11px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;padding:11px 16px;border:1px solid var(--line);background:#fff;cursor:pointer;color:var(--ink)}
.filters button.on,.filters button:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,2.2vw,32px) clamp(12px,1.6vw,22px)}
.pcard{display:block}.pcard[hidden]{display:none}
.pimg{position:relative;display:block;background:#f6f5f2;overflow:hidden}
.pimg img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform 1.2s var(--ease)}
.pcard:hover .pimg img{transform:scale(1.04)}
.badge{position:absolute;top:10px;left:10px;background:#fff;font:500 10px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;padding:7px 9px}
.pn{display:block;margin-top:12px;font-family:var(--serif);font-size:17px;line-height:1.25}
.pp{display:block;margin-top:5px;color:var(--grey);font-size:13px}
.product{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(28px,4vw,72px);align-items:start}
.gallery{display:grid;gap:12px}.gallery img{width:100%;height:auto;background:#f6f5f2}
.pinfo{position:sticky;top:110px}
.pinfo h1{font-family:var(--serif);font-weight:400;font-size:clamp(34px,3.6vw,56px);line-height:1;letter-spacing:-.02em;margin:22px 0 14px}
.price{font-size:18px;margin-bottom:24px}
.desc{color:#333;line-height:1.7;margin-bottom:30px}.desc p{margin-bottom:10px}
.pay-note{color:var(--grey);margin-top:12px}.cats{color:var(--grey);margin-top:28px}
.btn.sold{background:#eee;color:#888;border-color:#eee}
@media(max-width:1000px){.pgrid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.pgrid{grid-template-columns:1fr 1fr}.product{grid-template-columns:1fr}.pinfo{position:static}.shop-main{padding-top:90px}}

/* shop pages: solid header so it never sits on top of product photos */
.nav{mix-blend-mode:normal;background:rgba(255,255,255,.96);color:var(--ink);border-bottom:1px solid var(--line);padding-top:18px;padding-bottom:18px}
.nav a{color:var(--ink)}
