/* Project X — Theme Engine. 6 themes via .theme-{slug} on .biz-page */
.biz-cover{height:220px;background:#dbe4ff center/cover no-repeat;}
.biz-head{margin-top:-60px;}
.biz-logo{width:110px;height:110px;border-radius:16px;object-fit:cover;border:4px solid #fff;background:#fff;box-shadow:0 4px 14px rgba(0,0,0,.12);}
.biz-name{margin-top:.5rem;font-weight:700;}
.biz-desc{color:#555;max-width:640px;margin:0 auto;}
.btn-action{border:1px solid currentColor;padding:.4rem .9rem;border-radius:30px;font-size:.9rem;}
.cat-title{margin:1.8rem 0 .8rem;border-bottom:2px solid;padding-bottom:.3rem;display:inline-block;}
.item-card{background:#fff;border-radius:12px;padding:.8rem;box-shadow:0 1px 6px rgba(0,0,0,.06);gap:.8rem;}
.item-img{width:64px;height:64px;border-radius:10px;object-fit:cover;}
.item-title{font-weight:600;}
.item-price{font-weight:700;white-space:nowrap;}

/* Theme 1 Classic Light */
.theme-classic-light{background:#fff;color:#222;}
.theme-classic-light .btn-action{color:#2563eb;}
.theme-classic-light .cat-title{border-color:#2563eb;color:#1e3a8a;}

/* Theme 2 Dark Premium */
.theme-dark-premium{background:#0d0d0d;color:#f2e6c9;}
.theme-dark-premium .biz-desc{color:#cbb67e;}
.theme-dark-premium .item-card{background:#1a1a1a;color:#f2e6c9;box-shadow:0 1px 6px rgba(212,175,55,.15);}
.theme-dark-premium .btn-action,.theme-dark-premium .cat-title,.theme-dark-premium .item-price{color:#d4af37;}

/* Theme 3 Modern Blue */
.theme-modern-blue{background:#f5f8ff;color:#1f2937;}
.theme-modern-blue .biz-cover{background:#2563eb;}
.theme-modern-blue .item-card{border-left:4px solid #2563eb;}
.theme-modern-blue .btn-action,.theme-modern-blue .cat-title{color:#2563eb;}

/* Theme 4 Warm Business */
.theme-warm-business{background:#fff7ed;color:#3b2f25;}
.theme-warm-business .item-card{background:#fffaf3;}
.theme-warm-business .btn-action,.theme-warm-business .cat-title,.theme-warm-business .item-price{color:#c2410c;}

/* Theme 5 Minimal Professional */
.theme-minimal-professional{background:#fff;color:#111;font-family:Georgia,serif;}
.theme-minimal-professional .item-card{box-shadow:none;border:1px solid #e5e7eb;}
.theme-minimal-professional .btn-action,.theme-minimal-professional .cat-title{color:#374151;}

/* Theme 6 Gallery Showcase */
.theme-gallery-showcase{background:#fafafa;color:#222;}
.theme-gallery-showcase .item-img{width:100%;height:160px;}
.theme-gallery-showcase .item-card{flex-direction:column;}
.theme-gallery-showcase .btn-action,.theme-gallery-showcase .cat-title,.theme-gallery-showcase .item-price{color:#9333ea;}

/* ============================================================
   Bizleaf public page v1.3.0 — hero + sticky sidebar + items
   ============================================================ */
.bzp{ --accent:#2E75B6; --accent-d:#1B3A66; background:#fff; color:#1f2937; overflow-x:hidden; max-width:100vw; }
.bzp *{ box-sizing:border-box; }

/* theme accent overrides */
.bzp.theme-classic-light{ --accent:#2563eb; --accent-d:#1e3a8a; }
.bzp.theme-dark-premium{ --accent:#d4af37; --accent-d:#a8841f; background:#0d0d0d; color:#f2e6c9; }
.bzp.theme-modern-blue{ --accent:#2563eb; --accent-d:#1d4ed8; }
.bzp.theme-warm-business{ --accent:#c2410c; --accent-d:#9a3412; }
.bzp.theme-minimal-professional{ --accent:#374151; --accent-d:#111827; }
.bzp.theme-gallery-showcase{ --accent:#9333ea; --accent-d:#6b21a8; }

/* HERO */
.bzp-hero{ background:linear-gradient(135deg,var(--accent-d),var(--accent)); background-size:cover;
  background-position:center; color:#fff; padding:2.4rem 1rem 2rem; text-align:center; }
.bzp-hero-inner{ max-width:760px; margin:0 auto; }
.bzp-logo{ width:96px;height:96px;border-radius:18px;object-fit:cover;border:4px solid rgba(255,255,255,.9);
  background:#fff; box-shadow:0 6px 18px rgba(0,0,0,.25); }
.bzp-name{ font-size:2rem; font-weight:800; margin:.7rem 0 .1rem; }
.bzp-type{ font-size:.85rem; text-transform:uppercase; letter-spacing:.08em; opacity:.85; }
.bzp-desc{ margin:.6rem auto 0; max-width:560px; opacity:.95; }
.bzp-actions{ display:flex; flex-wrap:wrap; gap:.5rem; justify-content:center; margin-top:1.1rem; }
.bzp-act{ display:inline-flex; align-items:center; gap:.4rem; background:rgba(255,255,255,.16);
  color:#fff; text-decoration:none; padding:.5rem .95rem; border-radius:30px; font-weight:600;
  font-size:.92rem; border:1px solid rgba(255,255,255,.25); backdrop-filter:blur(2px); }
.bzp-act:hover{ background:rgba(255,255,255,.28); color:#fff; }
.bzp-act.wa{ background:#25D366; border-color:#25D366; }
.bzp-act.wa:hover{ background:#1da955; }
.bzp-social{ margin-top:.8rem; display:flex; gap:1rem; justify-content:center; }
.bzp-social a{ color:#fff; opacity:.85; font-size:.85rem; text-decoration:none; }
.bzp-social a:hover{ opacity:1; text-decoration:underline; }

/* ABOUT */
.bzp-about{ background:#f7fafd; padding:1.6rem 1rem; }
.bzp.theme-dark-premium .bzp-about{ background:#161616; }
.bzp-about-inner{ max-width:820px; margin:0 auto; }
.bzp-about h2{ font-size:1.2rem; color:var(--accent-d); margin:0 0 .5rem; }
.bzp.theme-dark-premium .bzp-about h2{ color:var(--accent); }
.bzp-about p{ margin:.3rem 0; line-height:1.55; }
.bzp-hours,.bzp-addr{ font-size:.9rem; color:#6b7280; }

/* MENU head */
.bzp-menu-head{ max-width:1040px; margin:1.4rem auto .3rem; padding:0 1rem;
  display:flex; align-items:center; gap:1rem; justify-content:space-between; flex-wrap:wrap; }
.bzp-menu-head h2{ font-size:1.4rem; color:var(--accent-d); margin:0; }
.bzp.theme-dark-premium .bzp-menu-head h2{ color:var(--accent); }
.bzp-search{ flex:1; min-width:200px; max-width:420px; padding:.6rem 1rem; border-radius:30px;
  border:1px solid #dbe3ec; font-size:.95rem; outline:none; }
.bzp-search:focus{ border-color:var(--accent); box-shadow:0 0 0 3px rgba(46,117,182,.15); }

/* LAYOUT: rail + sections */
.bzp-layout{ max-width:1040px; margin:0 auto 2rem; padding:0 1rem; display:flex; gap:1.2rem; align-items:flex-start; }
.bzp-rail{ position:sticky; top:12px; flex:0 0 132px; display:flex; flex-direction:column; gap:.3rem; max-height:92vh; overflow-y:auto; }
.bzp-rail-item{ display:flex; flex-direction:column; align-items:center; gap:.25rem; text-decoration:none;
  color:inherit; padding:.55rem .3rem; border-radius:12px; border:1px solid transparent; }
.bzp-rail-item:hover{ background:#f1f5fa; color:inherit; }
.bzp-rail-item.active{ background:#eaf2fb; border-color:var(--accent); }
.bzp.theme-dark-premium .bzp-rail-item:hover,.bzp.theme-dark-premium .bzp-rail-item.active{ background:#1d1d1d; }
.bzp-rail-dot{ width:50px;height:50px;border-radius:14px;display:flex;align-items:center;justify-content:center;
  flex:0 0 auto; box-shadow:0 2px 8px rgba(0,0,0,.1); }
.bzp-rail-dot-letter{ color:#fff;font-weight:600;font-size:1.05rem; }
.bzp-rail-dot-icon{ background:#f1f5f9; color:#475569; }
.bzp-rail-dot-icon svg{ width:26px;height:26px; }
.bzp.theme-dark-premium .bzp-rail-dot-icon{ background:#1d1d1d; color:#cbb67e; }
.bzp-rail-dot-emoji{ background:#f1f5f9; font-size:1.4rem; }
.bzp.theme-dark-premium .bzp-rail-dot-emoji{ background:#1d1d1d; }
.bzp-rail-name{ font-size:.72rem; text-align:center; font-weight:600; line-height:1.1; color:#475569; }
.bzp.theme-dark-premium .bzp-rail-name{ color:#cbb67e; }

.bzp-sections{ flex:1; min-width:0; }
.bzp-cat{ scroll-margin-top:90px; margin-bottom:1.6rem; }
.bzp-cat-head{ display:flex; align-items:baseline; justify-content:space-between;
  border-bottom:2px solid var(--accent); padding-bottom:.35rem; margin-bottom:.7rem; }
.bzp-cat-head h3{ font-size:1.25rem; color:var(--accent-d); margin:0; }
.bzp.theme-dark-premium .bzp-cat-head h3{ color:var(--accent); }
.bzp-cat-count{ font-size:.78rem; color:#94a3b8; font-weight:600; text-transform:uppercase; }

.bzp-item{ display:flex; gap:.9rem; justify-content:space-between; align-items:flex-start;
  padding:.85rem 0; border-bottom:1px solid #eef2f6; }
.bzp.theme-dark-premium .bzp-item{ border-color:#262626; }
.bzp-item-main{ display:flex; gap:.55rem; align-items:flex-start; flex:1; min-width:0; }
.bzp-item-text{ min-width:0; overflow-wrap:anywhere; }
.bzp-veg{ width:16px;height:16px;border:2px solid #157a3d;border-radius:3px;flex:0 0 auto;margin-top:3px;position:relative; }
.bzp-veg::after{ content:""; position:absolute; inset:2px; border-radius:50%; background:#157a3d; }
.bzp-veg.nonveg{ border-color:#9b2226; }
.bzp-veg.nonveg::after{ background:#9b2226; }
.bzp-item-title{ font-weight:700; font-size:1.04rem; }
.bzp-item-price{ font-weight:700; color:var(--accent-d); margin-top:.1rem; }
.bzp.theme-dark-premium .bzp-item-price{ color:var(--accent); }
.bzp-item-desc{ font-size:.88rem; color:#64748b; margin-top:.2rem; }
.bzp-item-attrs{ display:flex; flex-wrap:wrap; gap:.35rem .7rem; margin-top:.4rem; }
.bzp-attr{ font-size:.8rem; color:#475569; background:#f1f5fa; padding:.15rem .5rem; border-radius:6px; }
.bzp.theme-dark-premium .bzp-attr{ background:#1d1d1d; color:#cbb67e; }
.bzp-item-img{ width:92px;height:92px;border-radius:12px;object-fit:cover;flex:0 0 auto; }
.bzp-noresults{ padding:2rem; text-align:center; color:#94a3b8; }
.bzp{ padding-bottom:calc(75px + env(safe-area-inset-bottom)); }
.bzp-foot{ text-align:center; padding:1.4rem; padding-bottom:calc(1.4rem + env(safe-area-inset-bottom));
  color:#94a3b8; font-size:.82rem; position:fixed; left:0; right:0; bottom:0; z-index:40;
  background:#fff; border-top:1px solid #eef2f6; box-shadow:0 -4px 16px rgba(16,40,70,.06); }
.bzp.theme-dark-premium .bzp-foot{ background:#0d0d0d; border-top-color:#262626; }

/* mobile: rail becomes a horizontal scroller */
@media (max-width:680px){
  .bzp-layout{ flex-direction:column; }
  .bzp-rail{ position:sticky; top:0; flex-direction:row; width:100%; flex:none; overflow-x:auto;
    background:#fff; padding:.5rem 0; z-index:20; border-bottom:1px solid #eef2f6; max-height:none; }
  .bzp.theme-dark-premium .bzp-rail{ background:#0d0d0d; }
  .bzp-rail-item{ flex:0 0 78px; width:78px; }
  .bzp-rail-dot{ width:44px;height:44px; }
  .bzp-rail-dot-letter{ font-size:.95rem; }
  .bzp-rail-dot-icon svg{ width:22px;height:22px; }
  .bzp-rail-dot-emoji{ font-size:1.2rem; }
  .bzp-item-img{ width:74px;height:74px; }
}

/* Unavailable items (v1.4.0) */
.bzp-item.bzp-unavail{ opacity:.55; }
.bzp-item.bzp-unavail .bzp-item-img{ filter:grayscale(1); }
.bzp-unavail-tag{ display:inline-block; font-size:.68rem; font-weight:700; text-transform:uppercase;
  letter-spacing:.03em; color:#9b2226; background:#fbe9e9; border:1px solid #f2c4c4;
  padding:.05rem .4rem; border-radius:5px; margin-left:.4rem; vertical-align:middle; }

/* ---- Cart (v1.5.0) ---- */
.bzp-add-wrap{ flex:0 0 auto; align-self:center; min-width:84px; min-height:1px; }
.bzp-item-img-empty{ background:transparent; }
.bzp-add-btn{ background:var(--accent); color:#fff; border:none; border-radius:20px;
  padding:.4rem .9rem; font-weight:700; font-size:.85rem; cursor:pointer; white-space:nowrap; }
.bzp-add-btn:hover{ filter:brightness(1.08); }
.bzp-qty{ display:flex; align-items:center; gap:.5rem; border:1px solid var(--accent);
  border-radius:20px; padding:.15rem .35rem; }
.bzp-qty button{ width:26px;height:26px;border:none;background:var(--accent);color:#fff;
  border-radius:50%;font-weight:700;font-size:1rem;line-height:1;cursor:pointer; }
.bzp-qty button:disabled{ background:#cbd5e1; cursor:not-allowed; }
.bzp-qty-n{ min-width:18px; text-align:center; font-weight:700; }
.bzp-cart-fab{ position:fixed; right:18px; bottom:calc(75px + env(safe-area-inset-bottom) + 14px); z-index:50; background:#1e293b;
  color:#fff; border:none; border-radius:30px; padding:.8rem 1.3rem; font-size:1rem; font-weight:700;
  box-shadow:0 6px 20px rgba(0,0,0,.28); cursor:pointer; }
.bzp-cart-fab span{ background:#fff; color:#1e293b; border-radius:50%; padding:.05rem .5rem; margin-left:.3rem; font-size:.9rem; }
.bzp.theme-dark-premium .bzp-cart-fab{ background:#f2e6c9; color:#0d0d0d; }
.bzp.theme-dark-premium .bzp-cart-fab span{ background:#0d0d0d; color:#f2e6c9; }
.bzp-cart-modal{ position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:60;
  display:flex; align-items:flex-end; justify-content:center; }
.bzp-cart-box{ background:#fff; width:100%; max-width:480px; border-radius:16px 16px 0 0;
  padding:1.1rem; max-height:82vh; overflow-y:auto; }
@media(min-width:560px){ .bzp-cart-modal{ align-items:center; } .bzp-cart-box{ border-radius:16px; } }
.bzp-cart-head{ display:flex; justify-content:space-between; align-items:center; font-size:1.15rem; margin-bottom:.6rem; color:#1f2937; }
.bzp-cart-close{ border:none; background:#f1f5fa; width:32px;height:32px;border-radius:50%; font-size:1rem; cursor:pointer; }
.bzp-cart-row{ display:flex; justify-content:space-between; padding:.45rem 0; border-bottom:1px solid #eef2f6; color:#1f2937; }
.bzp-cart-total{ display:flex; justify-content:space-between; padding:.6rem 0 0; font-weight:800; color:#1f2937; }
.bzp-cart-taxnote{ text-align:right; font-size:.78rem; font-weight:400; color:#94a3b8; margin-top:-.1rem; }
.bzp-menu-taxnote{ font-size:.8rem; color:#94a3b8; margin:-.5rem 0 1rem; }
.bzp-cart-empty{ color:#94a3b8; text-align:center; padding:1.2rem 0; }
.bzp-cart-note{ margin-top:.8rem; }
.bzp-cart-note label{ font-size:.85rem; font-weight:600; color:#475569; display:block; margin-bottom:.25rem; }
.bzp-cart-note textarea{ width:100%; border:1px solid #dbe3ec; border-radius:8px; padding:.5rem; font-size:.9rem; }
.bzp-cart-hint{ margin-top:.7rem; font-size:.82rem; color:#64748b; text-align:center; }
/* footer logo */
.bzp-foot-link{ color:inherit; text-decoration:none; display:inline-flex; align-items:center; gap:.4rem; }
.bzp-foot-link:hover{ color:inherit; text-decoration:underline; }

/* ---- Review page (v1.5.0) ---- */
.bzp-review-wrap{ max-width:560px; margin:1.4rem auto 2rem; padding:0 1rem; }
.bzp-review-card{ background:#fff; border:1px solid #eef2f6; border-radius:16px; padding:1.6rem; text-align:center;
  box-shadow:0 2px 10px rgba(16,40,70,.05); }
.bzp.theme-dark-premium .bzp-review-card{ background:#161616; border-color:#262626; }
.bzp-review-card h2{ font-size:1.4rem; color:var(--accent-d); margin:0 0 .3rem; }
.bzp.theme-dark-premium .bzp-review-card h2{ color:var(--accent); }
.bzp-review-sub{ color:#64748b; font-size:.92rem; margin:0 0 1rem; }
.bzp-review-err{ background:#fbe9e9; color:#9b2226; border-radius:8px; padding:.5rem; font-size:.88rem; margin-bottom:.8rem; }
.bzp-stars{ font-size:2.6rem; line-height:1; margin:.4rem 0 1rem; display:flex; gap:.35rem; justify-content:center; }
.bzp-star{ color:#d5dce4; cursor:pointer; transition:transform .08s, color .1s; user-select:none; }
.bzp-star:hover{ transform:scale(1.12); }
.bzp-star.on{ color:#f6b01e; }
.bzp-review-text,.bzp-review-contact{ width:100%; border:1px solid #dbe3ec; border-radius:10px; padding:.7rem .9rem;
  font-size:.95rem; margin-bottom:.7rem; font-family:inherit; }
.bzp-review-text:focus,.bzp-review-contact:focus{ outline:none; border-color:var(--accent); box-shadow:0 0 0 3px rgba(46,117,182,.13); }
.bzp-review-btn{ width:100%; background:var(--accent); color:#fff; border:none; border-radius:26px; padding:.8rem;
  font-weight:700; font-size:1rem; cursor:pointer; }
.bzp-review-btn:hover{ filter:brightness(1.08); }
.bzp-thanks{ padding:2.2rem 1.6rem; }
.bzp-thanks-icon{ width:64px;height:64px;border-radius:50%;background:#e5f3ea;color:#3DA35D;font-size:2rem;
  display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;font-weight:800; }
.bzp-thanks .bzp-act{ display:inline-flex; margin-top:1rem; background:var(--accent); }
/* social follow icons */
.bzp-social-follow{ text-align:center; margin-top:1.6rem; }
.bzp-social-title{ font-size:.8rem; text-transform:uppercase; letter-spacing:.08em; color:#94a3b8; font-weight:700; margin-bottom:.7rem; }
.bzp-social-icons{ display:flex; gap:.7rem; justify-content:center; flex-wrap:wrap; }
.bzp-sicon{ display:inline-flex; flex-direction:column; align-items:center; gap:.3rem; text-decoration:none;
  color:#475569; width:76px; }
.bzp-sicon svg{ width:30px; height:30px; fill:#fff; }
.bzp-sicon > svg{ padding:11px; border-radius:14px; box-sizing:content-box; width:30px; height:30px; }
.bzp-sicon-ig > svg{ background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888); }
.bzp-sicon-fb > svg{ background:#1877f2; }
.bzp-sicon-wa > svg{ background:#25D366; }
.bzp-sicon-web > svg{ background:var(--accent); }
.bzp-sicon-lbl{ font-size:.72rem; font-weight:600; }
.bzp.theme-dark-premium .bzp-sicon{ color:#cbb67e; }

/* ---- Review name/visit-date fields (v1.7.4) ---- */
.bzp-visit-date-wrap{ text-align:left; margin-bottom:.9rem; }
.bzp-visit-date-label{ font-size:.82rem; color:#64748b; display:block; margin-bottom:.25rem; }

/* ---- Price note (v1.7.4) ---- */
.bzp-price-note{ display:inline-block; font-size:.72rem; font-weight:600; color:#94765a;
  background:#fdf3e7; border-radius:6px; padding:.05rem .4rem; margin-left:.35rem; vertical-align:middle; }

/* ---- Service type badge on public menu (v1.8.1) ---- */
.bzp-stype-badge{ display:inline-block; margin-top:.5rem; background:rgba(255,255,255,.22);
  border:1px solid rgba(255,255,255,.45); color:#fff; font-size:.78rem; font-weight:700;
  letter-spacing:.04em; text-transform:uppercase; padding:.2rem .7rem; border-radius:20px; }

/* ---- Share Order + configurable field (v1.8.3) ---- */
.bzp-cart-field{ margin-top:.9rem; }
.bzp-cart-field label{ font-size:.85rem; font-weight:600; color:#475569; display:block; margin-bottom:.25rem; }
.bzp-cart-field input{ width:100%; border:1px solid #dbe3ec; border-radius:8px; padding:.55rem .7rem; font-size:.95rem; }
.bzp-cart-field input:focus{ outline:none; border-color:var(--accent); box-shadow:0 0 0 3px rgba(46,117,182,.13); }
.bzp-req{ color:#c23b32; }
.bzp-field-err{ color:#c23b32; font-size:.82rem; margin-top:.25rem; }
.bzp-share-btn{ width:100%; background:#25D366; color:#fff; border:none; border-radius:26px;
  padding:.8rem; font-weight:700; font-size:1rem; cursor:pointer; margin-bottom:.6rem; }
.bzp-share-btn:hover{ filter:brightness(1.06); }
.bzp-share-btn:disabled{ opacity:.7; cursor:default; }

/* ---- Large-order share notice (v1.8.5) ---- */
.bzp-share-notice{ display:none; background:#fff8e6; border:1px solid #f0dca3; border-radius:10px;
  padding:.7rem .9rem; font-size:.85rem; color:#6b4e00; line-height:1.5; margin-bottom:.6rem; }

/* ---- Large-order share fallback notice (v1.8.5) ---- */
.bzp-share-notice{ display:none; background:#fff8e6; border:1px solid #f0dca3; border-radius:10px;
  padding:.75rem .9rem; font-size:.86rem; color:#7a5c14; margin-bottom:.6rem; line-height:1.5; }
.bzp-share-notice-link{ display:inline-block; margin-top:.5rem; color:#1B3A66; font-weight:700; text-decoration:underline; }

/* ---- Multi-Menu grid + content pages (v1.10.0) ---- */
.bzp-hero-sm{ padding:1.6rem 0; }
.bzp-back{ color:#fff; opacity:.85; text-decoration:none; font-size:.85rem; display:block; margin-bottom:.5rem; }
.bzp-grid-wrap{ max-width:640px; margin:0 auto; padding:1.5rem 1rem 3rem; }
.bzp-grid-hint{ text-align:center; color:#64748b; margin-bottom:1rem; }
.bzp-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:.9rem; }
.bzp-grid-tile{ display:flex; flex-direction:column; align-items:center; gap:.5rem;
  background:#fff; border:1px solid #e6edf4; border-radius:16px; padding:1.6rem 1rem;
  text-decoration:none; color:#1f2937; transition:transform .12s, box-shadow .12s; }
.bzp-grid-tile:hover{ transform:translateY(-2px); box-shadow:0 8px 20px rgba(16,40,70,.1); }
.bzp-grid-icon{ font-size:2rem; }
.bzp-grid-label{ font-weight:700; }
.bzp-content-wrap{ max-width:640px; margin:0 auto; padding:1.5rem 1rem 3rem; }
.bzp-content-img{ width:100%; border-radius:12px; margin-bottom:1.2rem; }
.bzp-content-body p{ margin-bottom:.9rem; line-height:1.6; }
.bzp-content-body ul,.bzp-content-body ol{ margin-bottom:.9rem; padding-left:1.4rem; line-height:1.7; }
.bzp-content-body a{ color:var(--accent); font-weight:600; }

/* ---- Room/Table QR auto-fill lock (v1.11.0) ---- */
.bzp-field-locked{ background:#f1f5f9; color:#475569; cursor:not-allowed; }
.bzp-field-locked-note{ font-size:.78rem; color:#16a34a; margin-top:.25rem; }

/* ---- Persistent menu tabs (v1.14.1) ---- */
.bzp-tabs{ background:#fff; border-bottom:1px solid #e6edf4; position:sticky; top:0; z-index:20; }
.bzp-tabs-inner{ display:flex; gap:.5rem; overflow-x:auto; padding:.7rem 1rem; max-width:960px; margin:0 auto;
  -webkit-overflow-scrolling:touch; scrollbar-width:none; }
.bzp-tabs-inner::-webkit-scrollbar{ display:none; }
.bzp-tab{ flex:0 0 auto; padding:.45rem .95rem; border:1.5px solid #e2e8f0; border-radius:999px;
  text-decoration:none; color:#334155; font-size:.9rem; font-weight:600; white-space:nowrap; background:#fff; }
.bzp-tab.active{ border-color:var(--accent,#2563eb); color:var(--accent,#2563eb); background:rgba(37,99,235,.06); }

/* ---- Veg / Non-Veg filter pills ---- */
.bzp-diet-filter{ display:flex; gap:.5rem; padding:0 1rem .8rem; max-width:960px; margin:0 auto; flex-wrap:wrap; }
.bzp-diet-pill{ display:inline-flex; align-items:center; gap:.35rem; padding:.35rem .9rem; border:1.5px solid #e2e8f0;
  border-radius:999px; background:#fff; font-size:.86rem; font-weight:600; color:#334155; cursor:pointer; }
.bzp-diet-pill.active{ border-color:var(--accent,#2563eb); color:var(--accent,#2563eb); background:rgba(37,99,235,.06); }

/* ---- Room/table indicator on the grid ---- */
.bzp-grid-loc{ text-align:center; font-weight:700; color:#334155; margin-bottom:.3rem; }

/* ---- "Menu coming soon" empty state ---- */
.bzp-soon-wrap{ max-width:520px; margin:0 auto; padding:3rem 1.5rem; text-align:center; }
.bzp-soon-icon{ font-size:3rem; margin-bottom:.8rem; }
.bzp-soon-title{ font-size:1.4rem; font-weight:800; margin-bottom:.5rem; }
.bzp-soon-text{ color:#64748b; margin-bottom:1.4rem; }
.bzp-soon-btn{ display:inline-block; padding:.7rem 1.4rem; border-radius:999px; background:var(--accent,#2563eb);
  color:#fff !important; text-decoration:none; font-weight:700; }
.bzp-soon-addr{ color:#94a3b8; font-size:.88rem; margin-top:1.2rem; }

/* ---- Add to Home Screen banner ---- */
.bzp-a2hs{ position:fixed; left:0; right:0; bottom:0; z-index:60; background:#fff; border-top:1px solid #e2e8f0;
  box-shadow:0 -6px 20px rgba(16,40,70,.10); padding:.85rem 1rem; display:flex; gap:.75rem; align-items:flex-start; }
.bzp-a2hs-body{ flex:1; font-size:.86rem; line-height:1.45; color:#334155; }
.bzp-a2hs-title{ font-weight:800; display:block; margin-bottom:.15rem; }
.bzp-a2hs-btn{ flex:0 0 auto; padding:.45rem 1rem; border:none; border-radius:8px; background:var(--accent,#2563eb);
  color:#fff; font-weight:700; font-size:.85rem; cursor:pointer; }
.bzp-a2hs-x{ flex:0 0 auto; background:none; border:none; font-size:1.2rem; color:#94a3b8; cursor:pointer; line-height:1; }
