/* Lolzap — tema compartilhado (landing, auth, vitrine e app do lojista). O super admin usa o Spark. */
:root{--lz:#128c4a;--lz-dark:#0b3d26;--lz-soft:#e7f6ee;--lime:#b4f105;--ink:#13211a;--mut:#6b7c73;--line:#e6eee9;--bg:#f4f7f5;--card:#fff;--danger:#d8334a;--warn:#f59e0b;
  --bs-primary:var(--lz);--bs-primary-rgb:18,140,74;--bs-link-color:var(--lz);--bs-link-hover-color:var(--lz-dark);--bs-body-color:var(--ink);--bs-body-bg:var(--bg);--bs-border-color:var(--line);--bs-border-radius:.8rem}
*{-webkit-tap-highlight-color:transparent}
body{font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:var(--bg);color:var(--ink)}
a{text-decoration:none}
.btn{--bs-btn-border-radius:.85rem;font-weight:600;padding:.7rem 1rem}
.btn-sm{padding:.4rem .75rem}
.btn-primary{--bs-btn-bg:var(--lz);--bs-btn-border-color:var(--lz);--bs-btn-hover-bg:#0f7a40;--bs-btn-hover-border-color:#0f7a40;--bs-btn-active-bg:#0b6a37;--bs-btn-active-border-color:#0b6a37;--bs-btn-disabled-bg:var(--lz);--bs-btn-disabled-border-color:var(--lz)}
.btn-outline-primary{--bs-btn-color:var(--lz);--bs-btn-border-color:var(--lz);--bs-btn-hover-bg:var(--lz);--bs-btn-hover-border-color:var(--lz);--bs-btn-active-bg:var(--lz)}
.btn-wa{background:#25d366;border-color:#25d366;color:#04371b}
.btn-wa:hover{background:#1fbd5b;border-color:#1fbd5b;color:#04371b}
.form-control,.form-select{padding:.7rem .85rem;border-radius:.8rem;font-size:1rem}
.form-control:focus,.form-select:focus{border-color:var(--lz);box-shadow:0 0 0 .2rem rgba(18,140,74,.15)}
.form-label{font-size:.85rem;color:var(--mut);margin-bottom:.25rem;font-weight:600}
.card{border:1px solid var(--line);border-radius:1rem;box-shadow:0 1px 2px rgba(11,61,38,.03)}
.badge-soft{background:var(--lz-soft);color:var(--lz-dark);font-weight:700}
.muted{color:var(--mut)}
.brand-mark{display:inline-flex;align-items:center;gap:.5rem;font-weight:800;color:var(--lz-dark);letter-spacing:-.02em}
.brand-mark img{width:34px;height:34px}

/* ---------- guest / auth ---------- */
.guest{min-height:100vh;display:grid;place-items:center;padding:1.5rem 1rem;background:linear-gradient(160deg,#dff5e8,var(--bg) 55%)}
.guest-card{width:100%;max-width:440px;background:#fff;border:1px solid var(--line);border-radius:1.4rem;padding:1.6rem;box-shadow:0 20px 50px rgba(11,61,38,.08)}
.guest-card.wide{max-width:560px}

/* ---------- landing ---------- */
.hero{background:linear-gradient(160deg,var(--lz-dark),#0f5a37);color:#fff;padding:4rem 0 5rem;border-radius:0 0 2rem 2rem}
.hero h1{font-weight:800;letter-spacing:-.03em;font-size:clamp(2rem,6vw,3.2rem)}
.hero .lead{color:#cfe9da}
.hero .btn-lime{background:var(--lime);border-color:var(--lime);color:#13211a}
.feature{background:#fff;border:1px solid var(--line);border-radius:1.1rem;padding:1.2rem;height:100%}
.feature i{font-size:1.6rem;color:var(--lz)}
.price-card{background:#fff;border:2px solid var(--lz);border-radius:1.4rem;padding:1.6rem;max-width:420px;margin:auto}
.price{font-size:3rem;font-weight:800;color:var(--lz-dark);letter-spacing:-.04em}

/* ---------- vitrine ---------- */
.store{--lz:var(--store-color,#128c4a);--bs-primary:var(--lz);max-width:560px;margin:0 auto;min-height:100vh;background:var(--bg);padding-bottom:5.5rem}
.store-head{background:var(--lz);color:#fff;padding:1.1rem 1rem 1.6rem;border-radius:0 0 1.6rem 1.6rem}
.store-head .name{font-weight:800;font-size:1.3rem;line-height:1.1}
.store-head .logo{width:48px;height:48px;border-radius:50%;background:#fff;object-fit:cover}
.store-search{margin:-1rem 1rem 0;position:relative}
.store-search input{border:0;box-shadow:0 8px 24px rgba(0,0,0,.08);padding-left:2.4rem}
.store-search i{position:absolute;left:.9rem;top:50%;transform:translateY(-50%);color:var(--mut)}
.chips{display:flex;gap:.5rem;overflow-x:auto;padding:1rem;scrollbar-width:none}
.chips::-webkit-scrollbar{display:none}
.chip{flex:none;padding:.5rem 1rem;border-radius:99px;background:#fff;border:1px solid var(--line);color:var(--ink);font-size:.9rem;font-weight:600}
.chip.on{background:var(--lz);border-color:var(--lz);color:#fff}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;padding:0 1rem}
.pcard{background:#fff;border:1px solid var(--line);border-radius:1.1rem;overflow:hidden;display:flex;flex-direction:column;color:var(--ink)}
.pcard img{width:100%;aspect-ratio:1;object-fit:cover;display:block;background:var(--lz-soft)}
.pcard .in{padding:.65rem .75rem .8rem}
.pcard h3{font-size:.95rem;margin:0 0 .2rem;font-weight:700;line-height:1.25}
.price-tag{font-weight:800;color:var(--lz)}
.consult{font-weight:700;color:var(--mut);font-size:.85rem}
.cart-bar{position:fixed;left:0;right:0;bottom:0;max-width:560px;margin:0 auto;padding:.8rem 1rem calc(.8rem + env(safe-area-inset-bottom));background:linear-gradient(0deg,var(--bg) 70%,transparent);z-index:20}
.cart-bar .btn{width:100%;display:flex;justify-content:space-between}
.opt-group{margin:1rem 0}
.opt-group h4{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--mut);margin-bottom:.5rem}
.opt-pills{display:flex;flex-wrap:wrap;gap:.5rem}
.opt-pills input{position:absolute;opacity:0;pointer-events:none}
.opt-pills label{padding:.6rem 1rem;border-radius:.85rem;border:1.5px solid var(--line);background:#fff;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:.45rem}
.opt-pills input:checked+label{border-color:var(--lz);background:var(--lz-soft);color:var(--lz-dark)}
.opt-pills input:disabled+label{opacity:.4;text-decoration:line-through}
.swatch{width:16px;height:16px;border-radius:50%;border:1px solid rgba(0,0,0,.2);display:inline-block}
.slot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}
.slot-grid button{padding:.55rem 0;border-radius:.7rem;border:1.5px solid var(--line);background:#fff;font-weight:700}
.slot-grid button.on{border-color:var(--lz);background:var(--lz);color:#fff}
.line-item{display:flex;gap:.8rem;padding:.8rem 0;border-bottom:1px solid var(--line);align-items:center}
.line-item img{width:64px;height:64px;border-radius:.8rem;object-fit:cover}
.note{background:#fff7e0;color:#7a5a00;border-radius:.8rem;padding:.65rem .8rem;font-size:.85rem}

/* ---------- app do lojista (PWA) ---------- */
.app-body{background:var(--bg);padding-bottom:5.2rem}
.app-top{position:sticky;top:0;z-index:30;background:var(--lz);color:#fff;padding:.7rem 1rem;display:flex;align-items:center;justify-content:space-between;padding-top:calc(.7rem + env(safe-area-inset-top))}
.app-top .t{font-weight:800;font-size:1.05rem;line-height:1.1}
.app-top .s{font-size:.78rem;opacity:.85}
.app-top a,.app-top button{color:#fff}
.avatar{width:38px;height:38px;border-radius:50%;background:#fff;color:var(--lz);font-weight:800;display:grid;place-items:center;border:0}
.app-main{padding:1rem;max-width:760px;margin:0 auto}
.app-nav{position:fixed;left:0;right:0;bottom:0;z-index:30;background:#fff;border-top:1px solid var(--line);display:flex;justify-content:space-around;padding:.35rem 0 calc(.35rem + env(safe-area-inset-bottom))}
.app-nav a{flex:1;text-align:center;color:var(--mut);font-size:.7rem;font-weight:700;padding:.3rem 0;display:flex;flex-direction:column;align-items:center;gap:.1rem}
.app-nav a i{font-size:1.35rem}
.app-nav a.on{color:var(--lz)}
.stat{background:#fff;border:1px solid var(--line);border-radius:1rem;padding:.9rem}
.stat b{font-size:1.7rem;letter-spacing:-.03em;display:block}
.row-item{display:flex;align-items:center;gap:.8rem;background:#fff;border:1px solid var(--line);border-radius:1rem;padding:.8rem;color:var(--ink)}
.row-item .grow{flex:1;min-width:0}
.pill{display:inline-block;padding:.15rem .6rem;border-radius:99px;font-size:.72rem;font-weight:800}
.pill.novo,.pill.pending{background:#fff1d6;color:#8a5a00}.pill.confirmado,.pill.confirmed{background:#dbeafe;color:#1e40af}
.pill.concluido,.pill.done{background:var(--lz-soft);color:var(--lz-dark)}.pill.cancelado,.pill.cancelled,.pill.no_show{background:#fde2e6;color:#9b1c31}
.fab{position:fixed;right:1rem;bottom:5.6rem;z-index:25;width:56px;height:56px;border-radius:50%;background:var(--lz);color:#fff;display:grid;place-items:center;font-size:1.6rem;box-shadow:0 10px 24px rgba(18,140,74,.4);border:0}
.banner{border-radius:1rem;padding:.8rem 1rem;font-size:.9rem;margin-bottom:1rem}
.banner.warn{background:#fff7e0;color:#7a5a00}.banner.danger{background:#fde2e6;color:#9b1c31}.banner.ok{background:var(--lz-soft);color:var(--lz-dark)}
.chat{display:flex;flex-direction:column;gap:.5rem}
.msg{max-width:85%;padding:.6rem .8rem;border-radius:1rem;background:#fff;border:1px solid var(--line);white-space:pre-wrap}
.msg.mine{align-self:flex-end;background:var(--lz-soft);border-color:#cdeadb}
.msg small{display:block;color:var(--mut);margin-top:.2rem;font-size:.7rem}
@media(min-width:992px){
  .app-body{padding-bottom:0;padding-left:230px}
  .app-nav{top:0;bottom:auto;right:auto;width:230px;height:100vh;flex-direction:column;justify-content:flex-start;gap:.2rem;padding:5rem .8rem 1rem;border-top:0;border-right:1px solid var(--line)}
  .app-nav a{flex:none;flex-direction:row;font-size:.95rem;gap:.7rem;padding:.7rem .9rem;border-radius:.8rem;text-align:left}
  .app-nav a.on{background:var(--lz-soft)}
  .app-top{margin-left:-230px;padding-left:calc(230px + 1rem)}
  .fab{bottom:1.5rem}
}

/* ---------- marca e landing v2 ---------- */
.wordmark{font-weight:800;letter-spacing:-.04em;font-size:1.35rem;color:var(--lz-dark)}
.wordmark b{color:var(--lz)}
.on-dark .wordmark,.on-dark .wordmark b{color:#fff}.on-dark .wordmark b{color:var(--lime)}
.lp-nav{position:sticky;top:0;z-index:50;background:rgba(244,247,245,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.lp-hero{background:radial-gradient(900px 400px at 85% 0%,#1a8f52 0,transparent 60%),linear-gradient(160deg,#0b3d26,#0e5733);color:#fff;padding:3.5rem 0 4.5rem;overflow:hidden}
.lp-hero h1{font-weight:800;letter-spacing:-.035em;font-size:clamp(2rem,5.5vw,3.3rem);line-height:1.05}
.lp-hero h1 em{font-style:normal;color:var(--lime)}
.lp-hero .lead{color:#cfe9da;max-width:34rem}
.btn-lime{background:var(--lime);border-color:var(--lime);color:#13211a;font-weight:800}
.btn-lime:hover{background:#c8ff3a;border-color:#c8ff3a;color:#13211a}
.phone{width:270px;border-radius:2.2rem;background:#101a14;padding:.6rem;box-shadow:0 30px 60px rgba(0,0,0,.35);margin:auto;transform:rotate(2deg)}
.phone-in{border-radius:1.7rem;overflow:hidden;background:var(--bg);color:var(--ink);height:480px;position:relative}
.phone-in .ph-head{background:#c2336b;color:#fff;padding:.9rem .9rem 1.2rem;font-weight:800}
.phone-in .ph-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;padding:.6rem}
.phone-in .ph-card{background:#fff;border:1px solid var(--line);border-radius:.8rem;overflow:hidden;font-size:.7rem}
.phone-in .ph-card i{display:block;height:68px;background:linear-gradient(135deg,#ffd6e3,#ffeef3);font-size:2rem;font-style:normal;text-align:center;line-height:68px}
.phone-in .ph-card div{padding:.35rem .45rem;font-weight:700}
.wa-bubble{position:absolute;left:.6rem;right:.6rem;bottom:.7rem;background:#dcf8c6;border-radius:.9rem;padding:.6rem .7rem;font-size:.66rem;line-height:1.35;box-shadow:0 8px 20px rgba(0,0,0,.18)}
.step-n{width:42px;height:42px;border-radius:50%;background:var(--lz);color:#fff;font-weight:800;display:grid;place-items:center;font-size:1.1rem}
.seg-chip{background:#fff;border:1px solid var(--line);border-radius:1rem;padding:.8rem 1rem;font-weight:700;display:flex;gap:.6rem;align-items:center}
.faq details{background:#fff;border:1px solid var(--line);border-radius:1rem;padding:.9rem 1.1rem;margin-bottom:.6rem}
.faq summary{font-weight:700;cursor:pointer}
.cta-band{background:linear-gradient(135deg,var(--lz-dark),#0f5a37);color:#fff;border-radius:1.6rem;padding:2.5rem 1.5rem}
.min-w-0{min-width:0}[x-cloak]{display:none!important}
.store-head .logo{flex:none}
.price-tag small{display:block;line-height:1.1}
:root{--bs-link-color-rgb:18,140,74;--bs-link-hover-color-rgb:11,61,38}
.app-top .avatar{color:var(--lz)}
input[type=checkbox],input[type=radio]{accent-color:var(--lz)}
.form-check-input:checked{background-color:var(--lz);border-color:var(--lz)}
