/* Public business page (site/book/index.html) and the editor preview (site/app/bizpage.js). Everything is scoped
   under .bp so the editor can load this file without touching the app. Colours come from CSS variables that
   bizpage-render.js computes from the business's logo colours (theme()). */
.bp{--bp-bg:#f7f7f5;--bp-card:#fff;--bp-brand:#4b3df0;--bp-brand-ink:#fff;--bp-brand-text:#3b2fd0;--bp-accent:#b54708;--bp-soft:#efeefe;
  --bp-line:#e6e4ee;--bp-ink:#17161c;--bp-muted:#5d5b69;--bp-bad:#b42318;--bp-good:#1d7a4f;
  background:var(--bp-bg);color:var(--bp-ink);font-family:"Heebo","Assistant",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;line-height:1.55;
  display:grid;gap:14px;max-width:560px;margin:0 auto;padding:14px max(14px,env(safe-area-inset-right,0px)) 36px max(14px,env(safe-area-inset-left,0px))}
.bp *{box-sizing:border-box}
.bp>*{min-width:0}
.bp h1{margin:0;font-size:22px;line-height:1.25;font-weight:800;overflow-wrap:anywhere}
.bp h2{margin:0 0 10px;font-size:18px;font-weight:800}
.bp a{color:var(--bp-brand-text)}
.bp button,.bp input,.bp select,.bp textarea{font:inherit;color:inherit}
.bp-muted{color:var(--bp-muted);font-size:14px;margin:0}
.bp-hero,.bp-sec{background:var(--bp-card);border:1px solid var(--bp-line);border-radius:20px;padding:18px}
.bp-hero{display:grid;gap:12px;border-top:6px solid var(--bp-brand)}
.bp-id{display:flex;align-items:center;gap:12px;min-width:0}
.bp-logo{width:64px;height:64px;object-fit:contain;border-radius:14px;background:#fff;border:1px solid var(--bp-line);flex:none;padding:4px}
.bp-mono{width:64px;height:64px;border-radius:16px;background:var(--bp-brand);color:var(--bp-brand-ink);display:grid;place-items:center;font-size:30px;font-weight:900;flex:none}
.bp-area{margin:2px 0 0;color:var(--bp-muted);font-size:14px}
.bp-tag{margin:0;font-size:16px}
.bp-cta{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.bp-cta .bp-big{grid-column:1/-1}
.bp-btn{display:flex;align-items:center;justify-content:center;gap:6px;min-height:48px;border-radius:14px;border:0;padding:12px 14px;background:var(--bp-brand);color:var(--bp-brand-ink);
  font-weight:800;font-size:15.5px;text-decoration:none;cursor:pointer;text-align:center}
.bp a.bp-btn{color:var(--bp-brand-ink)}
.bp-btn.bp-big{font-size:17px;min-height:54px}
.bp-btn.bp-ghost,.bp a.bp-btn.bp-ghost{background:var(--bp-card);color:var(--bp-brand-text);border:1.5px solid var(--bp-brand-text)}
.bp-btn.bp-wa,.bp a.bp-btn.bp-wa{background:#0b7a4b;color:#fff}
.bp-btn:disabled{opacity:.6;cursor:default}
.bp-btn:focus-visible,.bp-chip:focus-visible,.bp-tab:focus-visible,.bp-ph:focus-visible{outline:3px solid var(--bp-accent);outline-offset:2px}
.bp-contact-btns{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.bp-contact-btns .bp-btn:only-child{grid-column:1/-1}
.bp-contact-btns .bp-btn:not(.bp-big){min-height:44px;font-size:14.5px;background:var(--bp-soft);color:var(--bp-brand-text)}
.bp-contact-btns a.bp-btn.bp-wa:not(.bp-big){background:var(--bp-soft);color:var(--bp-brand-text)}
.bp-note{margin:0;background:var(--bp-soft);border-radius:12px;padding:8px 12px;font-size:13.5px}
.bp-list{list-style:none;margin:0;padding:0;display:grid}
.bp-list li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--bp-line)}
.bp-list li:first-child{border-top:0}
.bp-list b{white-space:nowrap;color:var(--bp-brand-text)}
.bp-hours b{color:var(--bp-ink);font-weight:600;font-variant-numeric:tabular-nums}
.bp-about{margin:0;font-size:15.5px}
.bp-chips{display:flex;flex-wrap:wrap;gap:7px}
.bp-chip{border:1.5px solid var(--bp-line);background:var(--bp-card);border-radius:999px;padding:8px 14px;min-height:40px;font-weight:700;font-size:14.5px;cursor:pointer}
.bp-chip[aria-pressed="true"]{background:var(--bp-brand);border-color:var(--bp-brand);color:var(--bp-brand-ink)}
.bp-filter{margin-bottom:10px}
.bp-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.bp-grid figure{margin:0;display:grid;gap:4px;min-width:0}
.bp-grid figure[hidden]{display:none}
.bp-ph{padding:0;border:0;background:var(--bp-soft);border-radius:14px;overflow:hidden;cursor:zoom-in;display:block;width:100%}
.bp-ph img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.bp-grid figcaption{font-size:12.5px;color:var(--bp-muted);overflow-wrap:anywhere}
.bp-cat{display:inline-block;background:var(--bp-soft);color:var(--bp-brand-text);font-weight:700;border-radius:99px;padding:0 8px;margin-inline-end:5px;font-size:11.5px}
.bp-revs{display:grid;gap:10px}
.bp-rev{margin:0;border:1px solid var(--bp-line);border-radius:14px;padding:12px 14px;display:grid;gap:4px}
.bp-rev p{margin:0;font-size:15px}
.bp-rev footer{font-size:12.5px;color:var(--bp-muted)}
.bp-stars{color:#b26b00;letter-spacing:1px;font-size:15px}
.bp-tabs{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:6px;background:var(--bp-soft);border-radius:14px;padding:4px;margin-bottom:12px}
.bp-tab{border:0;background:transparent;border-radius:11px;min-height:42px;font-weight:800;font-size:14.5px;cursor:pointer;color:var(--bp-ink)}
.bp-tab[aria-selected="true"]{background:var(--bp-card);color:var(--bp-brand-text);box-shadow:0 1px 4px rgba(0,0,0,.12)}
.bp-form{display:grid;gap:12px}
.bp-intro{margin:0;color:var(--bp-muted);font-size:14.5px}
.bp-field{display:grid;gap:6px;position:relative}
.bp-lab{font-weight:700;font-size:14px}
.bp-req{color:var(--bp-bad)}
.bp-hint{color:var(--bp-muted);font-size:12.5px}
.bp input[type=text],.bp input[type=tel],.bp input[type=number],.bp input[type=date],.bp select,.bp textarea{width:100%;min-height:48px;border:1.5px solid var(--bp-line);
  border-radius:12px;background:var(--bp-card);padding:11px 12px;font-size:16px}
.bp textarea{resize:vertical}
.bp input:focus,.bp select:focus,.bp textarea:focus{outline:none;border-color:var(--bp-brand-text)}
.bp-file{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.bp-filebtn{cursor:pointer;min-height:44px;font-size:15px}
.bp-field:focus-within .bp-filebtn{outline:3px solid var(--bp-accent);outline-offset:2px}
.bp-num{white-space:nowrap}
.bp-contact-btns .bp-btn{white-space:nowrap;font-size:15px}
.bp-hp{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;opacity:0;pointer-events:none}
.bp-consent{margin:0;font-size:12.5px;color:var(--bp-muted)}
.bp-check{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;cursor:pointer}
.bp-check input{width:22px;height:22px;flex:none;margin-top:1px;accent-color:var(--bp-brand)}
.bp-err{margin:0;color:var(--bp-bad);font-weight:700;font-size:14px}
.bp-ok{background:var(--bp-soft);border:1.5px solid var(--bp-brand-text);border-radius:14px;padding:16px;text-align:center;display:grid;gap:6px}
.bp-ok b{font-size:17px;color:var(--bp-brand-text)}
.bp-closed{background:var(--bp-soft);border-radius:14px;padding:16px;display:grid;gap:12px;text-align:center}
.bp-closed p{margin:0;line-height:1.5}
.bp-ts{min-height:65px;display:flex;justify-content:center}
.bp-days{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px}
.bp-day{flex:none;min-width:56px;border:1.5px solid var(--bp-line);border-radius:12px;padding:6px 4px;text-align:center;background:var(--bp-card);cursor:pointer}
.bp-day b{display:block;font-size:15px}.bp-day small{color:var(--bp-muted);font-size:11px}
.bp-day[aria-pressed="true"],.bp-opt[aria-pressed="true"]{border-color:var(--bp-brand-text);background:var(--bp-soft)}
.bp-slots{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.bp-slot{border:1.5px solid var(--bp-line);border-radius:10px;min-height:42px;background:var(--bp-card);font-weight:700;cursor:pointer;font-variant-numeric:tabular-nums}
.bp-slot[aria-pressed="true"]{background:var(--bp-brand);color:var(--bp-brand-ink);border-color:var(--bp-brand)}
.bp-opts{display:grid;gap:8px}
.bp-opt{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1.5px solid var(--bp-line);border-radius:13px;padding:12px 14px;background:var(--bp-card);cursor:pointer;text-align:start;width:100%;min-height:48px}
.bp-opt small{color:var(--bp-muted);display:block;font-size:12.5px}
.bp-foot{text-align:center;color:var(--bp-muted);font-size:12.5px;padding-top:4px}
.bp-foot a{font-weight:700}
.bp-sheet-bg{position:fixed;inset:0;background:rgba(8,8,14,.6);display:flex;align-items:flex-end;justify-content:center;z-index:20}
.bp-sheet{background:var(--bp-card);width:100%;max-width:560px;max-height:92vh;overflow:auto;border-radius:20px 20px 0 0;padding:16px 16px calc(16px + env(safe-area-inset-bottom,0px));display:grid;gap:12px}
.bp-sheet img{width:100%;height:auto;border-radius:12px;display:block}
@media (min-width:640px){.bp-sheet-bg{align-items:center}.bp-sheet{border-radius:20px}.bp-grid{grid-template-columns:1fr 1fr 1fr}}
.bp [hidden]{display:none!important}
body.bp-body{margin:0;background:var(--bp-bg,#f7f7f5)}
