:root{--bg:#fffaf3;--fg:#2b1d12;--mut:#6f5e50;--acc:#b4531f;--acc2:#8f3f14;--card:#fff;--line:#ecdcc8;--ok:#1d7a3c}
@media(prefers-color-scheme:dark){:root{--bg:#1c1510;--fg:#f4e9dc;--mut:#b9a893;--card:#271e16;--line:#3d2f22;--acc:#e07b3f;--acc2:#f0975f}}
*{box-sizing:border-box}body{margin:0;font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--fg);display:flex;flex-direction:column;min-height:100vh}
main{flex:1 0 auto;display:flex;flex-direction:column}
a{color:var(--acc2)}h1{font-size:1.5rem;line-height:1.2;margin:.2rem 0 .4rem}h2{font-size:1.2rem}
.top{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem;border-bottom:1px solid var(--line);background:var(--card)}
.logo{display:flex;gap:.5rem;align-items:center;font-weight:700;text-decoration:none;color:var(--fg)}
.btn{display:inline-block;background:var(--acc);color:#fff;border:0;border-radius:8px;padding:.55rem .9rem;font:inherit;font-weight:600;text-decoration:none;cursor:pointer}
.btn:hover{background:var(--acc2)}.btn.small{padding:.35rem .7rem;font-size:.9rem}.btn.alt{background:transparent;color:var(--acc2);border:1px solid var(--acc)}
.foot{display:flex;flex-wrap:wrap;gap:.3rem 1rem;justify-content:space-between;padding:.6rem 1rem;font-size:.82rem;color:var(--mut);border-top:1px solid var(--line)}
.hero{padding:.8rem 1rem 0}.hero p{margin:0 0 .5rem;color:var(--mut)}
.finder{display:flex;flex-direction:column;flex:none}
.bar{display:flex;flex-wrap:wrap;gap:.5rem;padding:.5rem 1rem;align-items:center}
.bar input[type=search]{flex:1 1 200px;min-width:0}
input,select,textarea{font:inherit;padding:.55rem .6rem;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--fg);width:100%}
.bar input,.bar select{width:auto}.chk{display:flex;gap:.3rem;align-items:center;font-size:.9rem;white-space:nowrap}.chk input{width:auto}
.split{display:flex;flex-direction:column;height:85vh;min-height:520px;overflow:hidden}
#map{flex:0 0 45%;min-height:220px;background:#e8dccb;position:relative;z-index:0}
.list{flex:1;min-height:0;overflow:auto;list-style:none;margin:0;padding:0}
.list li{padding:.7rem 1rem;border-bottom:1px solid var(--line);cursor:pointer}.list li:hover,.list li.on{background:var(--card)}
.list b{display:block}.list small{color:var(--mut)}.o{color:var(--ok);font-weight:600}.empty{padding:1rem;color:var(--mut)}
@media(min-width:1000px){.split{flex-direction:row-reverse;height:max(480px,calc(100vh - 220px))}#map{flex:1}.list{flex:0 0 380px;border-right:1px solid var(--line)}}
.pop a{margin-right:.6rem}
.page{max-width:720px;margin:0 auto;padding:1rem;width:100%}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:1rem;margin:1rem 0}
.pitch{background:linear-gradient(135deg,#fff1de,#ffe0c0);color:#2b1d12}
@media(prefers-color-scheme:dark){.pitch{background:#3a2616;color:#f4e9dc}}
.links{display:flex;flex-wrap:wrap;gap:.4rem .8rem;padding:0;list-style:none}
form label{display:block;font-weight:600;margin:.8rem 0 .2rem}form small{color:var(--mut);font-weight:400}
.hp{position:absolute;left:-9999px}.msg{padding:.6rem;border-radius:8px;margin:.6rem 0}.msg.err{background:#fde8e8;color:#8a1c1c}.msg.ok{background:#e6f5ea;color:#14532d}
.photo{width:100%;max-height:320px;object-fit:cover;border-radius:12px}
dl{display:grid;grid-template-columns:auto 1fr;gap:.3rem 1rem}dt{font-weight:600}dd{margin:0}
.pin{background:var(--acc);color:#fff;border:2px solid #fff;border-radius:50%;text-align:center;line-height:24px;font-size:15px;box-shadow:0 1px 4px #0006}.pin.boost{background:#d99a00;width:34px!important;height:34px!important;line-height:30px;font-size:18px}.list li.paid{border-left:4px solid var(--acc)}.plans{display:grid;gap:.6rem;margin-top:.8rem}.plan small{display:block;font-weight:400}.btn.plan{text-align:center}
.crumbs{padding:.5rem 1rem 0;font-size:.85rem;color:var(--mut)}.seo-list{padding-left:1.1rem}.seo-list li{margin:.3rem 0}.statics{padding-top:0}
.pop{min-width:200px;max-width:260px}.pph{width:100%;height:110px;object-fit:cover;border-radius:6px;margin-bottom:.3rem}.pa,.pm{font-size:.85rem;color:#6f5e50}.pop .o{font-size:.85rem}.chips{display:flex;flex-wrap:wrap;gap:.25rem;margin:.3rem 0}.chip{background:#f7e3c4;color:#5a3a1a;border-radius:999px;padding:.05rem .5rem;font-size:.78rem}
.wk{margin:.3rem 0;font-size:.82rem}.wk summary{cursor:pointer;color:#8f3f14}.wr{display:flex;justify-content:space-between;gap:.5rem}.pbar{display:flex;flex-wrap:wrap;gap:.35rem;margin:.5rem 0}.pbar .pbtn{background:#b4531f;color:#fff!important;border:0;border-radius:6px;padding:.3rem .6rem;font:inherit;font-size:.85rem;text-decoration:none;cursor:pointer;margin:0}.nb a{display:block;font-size:.85rem;margin:.1rem 0}.plink{background:none;border:0;color:#8f3f14;text-decoration:underline;font:inherit;font-size:.78rem;padding:0;cursor:pointer;margin-top:.3rem}
dialog#tip{border:0;border-radius:14px;padding:1.2rem;max-width:min(92vw,420px);background:var(--card);color:var(--fg);box-shadow:0 10px 40px #0007}dialog#tip::backdrop{background:#0006}#tip .x{float:right;background:none;border:0;font-size:1.6rem;line-height:1;color:var(--mut);cursor:pointer}#tip h2{margin-top:0}.tiplink{background:none;border:0;color:var(--acc2);text-decoration:underline;font:inherit;cursor:pointer;padding:0}.special{margin:.3rem 0;font-weight:600;color:#8f3f14}.sold{color:#8a1c1c}
.welcome{position:relative;margin:.2rem 1rem .4rem;padding:.8rem 2.2rem .6rem 1rem;border:1px solid var(--line);border-radius:12px;background:var(--card)}.welcome .x{position:absolute;right:.5rem;top:.3rem;background:none;border:0;font-size:1.5rem;line-height:1;color:var(--mut);cursor:pointer}.steps{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;list-style:none;padding:0;margin:.5rem 0}.steps span{display:inline-grid;place-items:center;width:1.4rem;height:1.4rem;border-radius:50%;background:var(--acc);color:#fff;font-size:.8rem;font-weight:700;margin-right:.3rem}.welcome p{margin:.4rem 0}.welcome details{font-size:.9rem;color:var(--mut)}.welcome summary{cursor:pointer}.note{margin:0 1rem .4rem;padding:.5rem .8rem;border-radius:8px;background:#fff1de;color:#2b1d12;font-size:.92rem}@media(prefers-color-scheme:dark){.note{background:#3a2616;color:#f4e9dc}}
@media(max-width:700px){.welcome .steps{display:none}.welcome{padding-bottom:.4rem}}
