*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:#FAF7F0;color:#222;font-family:-apple-system,system-ui,"Segoe UI",Roboto,sans-serif;overflow-x:hidden;padding-bottom:84px}
a{color:#a8861c}
button,input{font:inherit}
:focus-visible{outline:3px solid #C9A227;outline-offset:2px}
.top{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);border-bottom:2px solid #C9A227;box-shadow:0 2px 10px rgba(80,60,10,.06)}
.bar{display:flex;align-items:center;justify-content:center;gap:10px;padding:9px 14px;max-width:760px;margin:0 auto}
.bar img{display:block;width:40px;height:40px;border-radius:10px;box-shadow:0 0 0 2px #C9A227,0 2px 6px rgba(0,0,0,.15);background:#fff}
.ttl h1{margin:0;font:800 19px/1.15 "Playfair Display",Georgia,serif}
.ttl span{display:block;font-size:11.5px;color:#8a7a52;letter-spacing:.3px}
main{max-width:760px;margin:0 auto;padding:0 12px}
.view{display:flex;gap:8px;margin-top:12px}
.view button{flex:1;border:2px solid #C9A227;background:#fff;color:#7a5f0e;font-weight:800;font-size:15px;border-radius:14px;padding:11px 6px;cursor:pointer}
.view button.on{background:linear-gradient(135deg,#1c1709,#3a2d0b);color:#f1d27a;border-color:#C9A227}
.pill{display:inline-block;min-width:22px;padding:1px 6px;border-radius:999px;background:#d9381e;color:#fff;font-size:12px;margin-left:2px}
.search{position:relative;margin-top:10px}
.search span{position:absolute;left:13px;top:50%;transform:translateY(-50%);font-size:16px}
.search input{width:100%;border:1.5px solid #e2cf8f;background:#fff;border-radius:14px;padding:12px 40px 12px 40px;font-size:16px;color:#222;-webkit-appearance:none;appearance:none}
.search input::-webkit-search-cancel-button{display:none}
.search input:focus{border-color:#C9A227;outline:none;box-shadow:0 0 0 3px rgba(201,162,39,.25)}
.qx{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:#f3ead0;color:#7a5f0e;border-radius:50%;width:30px;height:30px;cursor:pointer}
.areas{display:flex;gap:6px;margin-top:10px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}.areas::-webkit-scrollbar{display:none}
.areas button{flex:0 0 auto;border:1.5px solid #C9A227;background:#fff;color:#7a5f0e;font-weight:700;font-size:13px;border-radius:999px;padding:8px 7px;cursor:pointer;white-space:nowrap;padding-left:12px;padding-right:12px}
.areas button.on{background:#C9A227;color:#fff}
.chips{display:flex;gap:6px;overflow-x:auto;margin:10px -12px 0;padding:2px 12px 6px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.chips::-webkit-scrollbar{display:none}
.chips button{flex:none;border:1px solid #e2cf8f;background:#fff8e1;color:#6b520b;font-weight:700;font-size:13.5px;border-radius:999px;padding:7px 12px;cursor:pointer}
.chips button.on{background:#3a2d0b;color:#f1d27a;border-color:#3a2d0b}
.count{margin:8px 2px 0;font-size:13px;color:#7a7264}
.list{display:grid;gap:12px;margin-top:8px}
@media(min-width:700px){.list{grid-template-columns:1fr 1fr}}
.card{background:#fff;border-radius:18px;border:1px solid #eee3c6;box-shadow:0 2px 12px rgba(60,45,10,.07);padding:14px;position:relative;overflow:hidden}
.ch{display:flex;gap:11px;align-items:flex-start}
.ic{flex:none;width:46px;height:46px;border-radius:14px;background:#fff8e1;border:1.5px solid #e2cf8f;display:grid;place-items:center;font-size:24px}
.nm{min-width:0;flex:1}
.nm h3{margin:0;font:700 18px/1.2 "Playfair Display",Georgia,serif;overflow-wrap:anywhere}
.meta{margin-top:3px;font-size:12.5px;color:#8a7a52;font-weight:600}
.tg{display:inline-block;font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase;border-radius:6px;padding:2px 6px;vertical-align:2px;margin-left:4px}
.tg.v{color:#1d6b35;background:#eef8f1;border:1px solid #cfe9d7;font-size:9px;letter-spacing:.3px;text-transform:none;font-weight:700}
.deal{margin-top:11px;background:linear-gradient(135deg,#fff1e6,#fff8e1);border:1.5px solid #f0a35e;border-radius:12px;padding:9px 11px}
.deal b{color:#c2410c;font-size:13px;letter-spacing:.3px}
.deal div{font-size:14.5px;font-weight:700;margin-top:2px;color:#3a2a10}
.deal small{display:block;font-size:12px;color:#9a5a1c;margin-top:3px}
.rows{margin:10px 0 0;padding:0;list-style:none;font-size:14px;color:#444}
.rows li{display:flex;gap:8px;padding:3px 0;line-height:1.35}
.rows li span:first-child{flex:none;width:20px;text-align:center}
.rows a{color:#7a5f0e;font-weight:600}
.acts{display:flex;gap:8px;margin-top:12px}
.btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;text-decoration:none;font-weight:800;font-size:15px;border-radius:12px;padding:11px 6px;border:0;cursor:pointer;min-height:46px}
.btn.call{background:#1f6f43;color:#fff}
.btn.wa{background:#25D366;color:#073b1d}
.btn.gold{background:linear-gradient(135deg,#d8b23a,#b48c17);color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.2)}
.btn.big{font-size:17px;padding:14px;max-width:380px;margin:0 auto}
.empty{text-align:center;color:#7a7264;background:#fff;border:1px dashed #e2cf8f;border-radius:16px;padding:22px 14px}
.empty b{display:block;font-size:28px}
.add{margin:18px 0 0;text-align:center;background:linear-gradient(135deg,#1c1709,#3a2d0b);color:#fff;border-radius:18px;padding:18px 14px;border:1.5px solid #C9A227}
.add h2{margin:0;font:700 22px/1.2 "Playfair Display",Georgia,serif;color:#f1d27a}
.add p{margin:6px 0 14px;color:#e9dfc4;font-size:14px}
.fab{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(14px + env(safe-area-inset-bottom));z-index:60;text-decoration:none;background:linear-gradient(135deg,#d8b23a,#b48c17);color:#fff;font-weight:800;font-size:15px;padding:12px 20px;border-radius:999px;box-shadow:0 6px 18px rgba(60,45,10,.35);border:2px solid #fff;white-space:nowrap;transition:opacity .2s}
.fab.hide{opacity:0;pointer-events:none}
footer{text-align:center;margin:22px 12px 0;padding:14px 0 10px;border-top:1px solid #eee3c6;font-size:13px}
footer a{display:inline-flex;align-items:center;gap:7px;color:#7a5f0e;font-weight:700;text-decoration:none}
footer img{border-radius:6px}
footer .fine{color:#9a917f;font-size:11.5px;margin-top:6px}

/* sponsor slots */
.spon{display:block;text-decoration:none;color:inherit;border:2px solid #d4af37;border-radius:16px;padding:14px 16px;margin:0 0 12px;background:linear-gradient(135deg,#fffaf0,#fbefc9);box-shadow:0 2px 10px rgba(212,175,55,.25);position:relative;text-align:center}
.spon .sl{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#8a6d12;background:#fff3c4;border:1px solid #d4af37;border-radius:999px;padding:2px 9px;margin-bottom:6px}
.spon b{display:block;font-size:1.02rem;line-height:1.3;color:#3a2c05;overflow-wrap:anywhere}
.spon small{display:block;margin-top:4px;color:#7a5f10;font-size:.85rem}
.spon img{display:block;max-width:100%;max-height:70px;margin:4px auto 6px;object-fit:contain}
.spon.banner{border-style:dashed;padding:10px 14px;background:#fffdf6}
.spon.empty-slot b{font-weight:700}

.dealpost{display:flex;flex-direction:column;gap:6px;text-align:center;text-decoration:none;color:#3b2f0b;background:linear-gradient(180deg,#fffaf0,#fff3c9);border:2px dashed #C9A227;border-radius:16px;padding:22px 16px;margin:6px 0}
.dealpost b{font-size:19px}
.dealpost span{font-size:14.5px;color:#5b4a12}
.dealpost small{font-size:13px;font-weight:700;color:#8a6d0b}
