
:root{--ink:#111;--mute:#6b6b6b;--line:#e6e6e6;--bg:#fff;--sold:#b3261e}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);
font:16px/1.45 -apple-system,BlinkMacSystemFont,"Helvetica Neue",Helvetica,Arial,sans-serif}
a{color:inherit;text-decoration:none}
header{padding:28px 20px 10px;max-width:1100px;margin:0 auto}
header h1{margin:0;font-size:22px;letter-spacing:.08em;text-transform:lowercase}
header p{margin:6px 0 0;color:var(--mute);max-width:60ch}
main{max-width:1100px;margin:0 auto;padding:10px 20px 40px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px}
.card{display:block;border:1px solid var(--line);border-radius:6px;overflow:hidden;position:relative;background:#fff}
.card img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;background:#f4f4f4}
.card .t{padding:10px 12px 12px}
.card .n{font-weight:600}.card .m{color:var(--mute);font-size:14px}
.card .p{margin-top:6px;font-size:15px}
.sold .p,.sold .n{color:var(--mute)}.sold img{filter:grayscale(1);opacity:.55}
.offers .badge,.browse .badge{background:#555}
.search{margin:6px 0 18px}.search input{width:100%;max-width:520px;padding:11px 14px;font:inherit;font-size:16px;border:1px solid #cfcfcf;border-radius:8px;background:#fff}
.search span{margin-left:10px;color:var(--mute);font-size:13px}
h2.cat{font-size:15px;letter-spacing:.06em;text-transform:uppercase;color:var(--mute);margin:28px 0 10px}
.badge{position:absolute;top:10px;left:10px;background:var(--sold);color:#fff;font-size:12px;
letter-spacing:.12em;padding:4px 8px;border-radius:3px;text-transform:uppercase}
.item{display:grid;grid-template-columns:1fr;gap:22px}
@media(min-width:820px){.item{grid-template-columns:3fr 2fr}}
.photos img{display:block;width:100%;border-radius:6px;margin-bottom:12px;background:#f4f4f4}
.facts h2{margin:0 0 4px;font-size:24px}.facts .m{color:var(--mute)}
.facts dl{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:18px 0;font-size:15px}
.facts dt{color:var(--mute)}.facts dd{margin:0}
.price{font-size:20px;margin:10px 0 18px}
.btn{display:inline-block;background:var(--ink);color:#fff;padding:12px 18px;border-radius:6px;font-weight:600}
.btn.off{background:#ccc;pointer-events:none}
.note{color:var(--mute);font-size:14px;margin-top:14px}
footer{max-width:1100px;margin:0 auto;padding:20px;color:var(--mute);font-size:13px;border-top:1px solid var(--line)}
.back{display:inline-block;margin-bottom:18px;color:var(--mute);font-size:14px}
