:root{--green:#0e7c4a;--deep:#0b2a1c;--sun:#ffc928;--ink:#14211a;--muted:#55645b;--line:#e4ece7}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{height:100%;margin:0;font-family:'Figtree',system-ui,sans-serif;color:var(--ink);background:#e9efe9;overflow:hidden}
#map{position:absolute;inset:0}
.top{position:absolute;z-index:5;left:10px;right:10px;top:calc(10px + env(safe-area-inset-top));display:flex;gap:8px;pointer-events:none}
.chip{pointer-events:auto;display:flex;align-items:center;gap:7px;height:42px;padding:0 14px;border-radius:999px;background:#fff;box-shadow:0 4px 14px rgba(8,40,26,.25);font-weight:700;font-size:14px;cursor:pointer;user-select:none;border:0;color:var(--ink);font-family:inherit}
.chip i{width:10px;height:10px;border-radius:50%}
.chip.off{opacity:.55;background:#f1f4f2}
.chip.loc{margin-left:auto;width:42px;padding:0;justify-content:center;font-size:20px}
.sheet{position:absolute;z-index:6;left:0;right:0;bottom:0;background:#fff;border-radius:22px 22px 0 0;box-shadow:0 -10px 30px rgba(8,40,26,.28);padding:14px 16px calc(14px + env(safe-area-inset-bottom));transform:translateY(105%);transition:transform .25s ease;max-width:560px;margin:0 auto}
.sheet.open{transform:none}
.sh-head{display:flex;align-items:flex-start;gap:10px}
.sh-title{font-size:21px;font-weight:800;letter-spacing:-.02em;line-height:1.1}
.sh-sub{font-size:13px;color:var(--muted);margin-top:2px}
.st{margin-left:auto;font-size:11px;font-weight:800;color:#fff;border-radius:999px;padding:5px 10px;text-transform:uppercase;white-space:nowrap}
.st.disponivel{background:#16a34a}
.st.reservado{background:#e59a0b}
.x{flex:none;width:36px;height:36px;border-radius:50%;border:0;background:#eef3ef;font-size:18px;line-height:1;cursor:pointer;color:var(--ink)}
.vals{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.vals div{background:#f3f8f5;border-radius:14px;padding:10px 12px}
.vals span{display:block;font-size:11.5px;color:var(--muted);font-weight:600}
.vals b{display:block;font-size:17px;font-weight:800;margin-top:1px;letter-spacing:-.01em}
.sim{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.promo{margin-top:8px;padding:8px 10px;border-radius:12px;background:#fff6d6;border:1px solid #f3dd8a;font-size:12.5px;color:#4a3a00;line-height:1.25}
.grp>span{display:block;font-size:11.5px;color:var(--muted);font-weight:600;margin-bottom:3px}
.stp{display:flex;align-items:center;height:42px;border:1.5px solid var(--line);border-radius:12px;overflow:hidden}
.stp button{flex:none;width:44px;height:100%;border:0;background:#f3f8f5;font-size:22px;font-weight:700;color:var(--green);font-family:inherit}
.stp b{flex:1;text-align:center;font-size:16px;font-weight:800}
.chs{display:flex;gap:6px}
.chs button{flex:1;height:42px;border:1.5px solid var(--line);border-radius:12px;background:#fff;font:inherit;font-size:14px;font-weight:800;color:var(--ink)}
.chs button.on{background:var(--green);border-color:var(--green);color:#fff}
.sim select{display:block;width:100%;height:44px;margin-top:3px;border:1.5px solid var(--line);border-radius:12px;background:#fff;font:inherit;font-size:16px;font-weight:700;color:var(--ink);padding:0 10px}
.wa{display:flex;align-items:center;justify-content:center;height:50px;margin-top:12px;border-radius:14px;background:var(--sun);color:#2b2000;font-weight:800;font-size:16px;text-decoration:none}
.nt{margin:8px 2px 0;font-size:11.5px;color:var(--muted);text-align:center}
.toast{position:absolute;z-index:9;left:50%;top:70px;transform:translateX(-50%);background:rgba(11,42,28,.94);color:#fff;padding:10px 14px;border-radius:12px;font-weight:700;font-size:13px;opacity:0;pointer-events:none;transition:.2s}
.toast.show{opacity:1}
