:root{
  /* Paleta “comida” (research: Figma/Canva/Spice Route) — tons quentes estimulam apetite;
     creme de fundo (vanilla), marrom-cacau no texto e verde-fresco como complemento do laranja. */
  --bg:#fff8f0;--surface:#ffffff;--surface-2:#fff1e2;--surface-3:#f7f0e8;
  --ink:#2a1c12;--muted:#6f6257;--border:#ead9c6;
  --brand:#d03f00;--brand-2:#ff9f1a;--brand-soft:#ffe9d6;
  --amber:#e8960a;--amber-ink:#4a2a00;
  --green:#0f7a50;--green-soft:#e9f8f1;--yellow:#ffc928;--red:#d93a32;
  /* Semantic state tokens */
  --danger:#d93a32;--danger-soft:#fde8e7;
  --success:#0f7a50;--success-soft:#e9f8f1;
  --warning:#e8960a;--warning-soft:#fef3e0;
  --shadow:0 18px 50px rgba(69,38,20,.10);--shadow-sm:0 8px 24px rgba(69,38,20,.08);
  --r-lg:28px;--r-md:20px;--r-sm:14px;--max:1320px;
  --sidebar:260px;--topbar:76px;--nav-h:78px;
  /* Spacing scale (4px base) */
  --sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;
  /* Z-index layers */
  --z-base:0;--z-sticky:40;--z-nav:50;--z-sidebar:60;--z-fab:75;--z-modal:100;--z-toast:200;
  /* Focus ring */
  --focus-ring:3px solid var(--brand);
}
*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{margin:0;background:var(--bg);color:var(--ink);overflow-x:hidden;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}
button,a,.btn,.icon-btn,.cat-btn,.tabs button,.qty button,.add-btn,.fav,.num-pad button,.quick button,.chat-fab,.switch,.pos-card,.order-row,.chat-order,.bottom-nav a,.settings-nav button{touch-action:manipulation}
::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#dccfc4;border-radius:999px;border:3px solid transparent;background-clip:padding-box}
html{scrollbar-color:#dccfc4 transparent}
.container{width:min(calc(100% - 32px),var(--max));margin:auto}.muted{color:var(--muted)}.eyebrow{font-size:.78rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--brand)}.h1{font-size:clamp(2.5rem,6vw,5.5rem);line-height:.96;letter-spacing:-.055em;margin:.15em 0}.h2{font-size:clamp(1.8rem,3vw,3.1rem);line-height:1;letter-spacing:-.035em;margin:0}.h3{font-size:1.15rem;margin:0}.kicker{font-size:1.1rem;color:var(--muted);line-height:1.65}.pill{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);background:#fff;padding:9px 13px;border-radius:999px;font-size:.82rem;font-weight:800}.pill.good{background:var(--green-soft);border-color:#ccebdc;color:#16714d}.pill.brand{background:var(--brand-soft);border-color:#ffd8c0;color:#9c3c00}.row{display:flex;align-items:center;gap:12px}.between{display:flex;align-items:center;justify-content:space-between;gap:16px}.stack{display:grid;gap:16px}
.btn{border:0;border-radius:14px;padding:13px 18px;font-weight:900;display:inline-flex;align-items:center;justify-content:center;gap:9px;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease;min-height:46px;position:relative;overflow:hidden;isolation:isolate}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0) scale(.98)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn:focus-visible{outline:3px solid var(--brand);outline-offset:2px}.btn.primary{background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff;box-shadow:0 9px 20px rgba(255,90,10,.24)}.btn.primary:hover{background:linear-gradient(135deg,#b53800,var(--brand));box-shadow:0 12px 28px rgba(255,90,10,.32)}.btn.primary:active{box-shadow:0 2px 8px rgba(255,90,10,.15)}.btn.primary::after{content:'';position:absolute;inset:-50% -20%;z-index:-1;background:linear-gradient(105deg,transparent 36%,rgba(255,255,255,.24) 48%,transparent 60%);transform:translateX(-80%);transition:transform .45s ease}.btn.primary:hover::after{transform:translateX(80%)}.btn.secondary{background:#fff;color:var(--ink);border:1px solid var(--border)}.btn.secondary:hover{background:var(--surface-2);border-color:var(--brand);box-shadow:0 6px 16px rgba(255,90,10,.1)}.btn.ghost{background:transparent;color:var(--ink)}.btn.ghost:hover{background:var(--surface-2)}.btn.dark{background:#211a16;color:#fff}.btn.full{width:100%}.btn.sm{padding:9px 12px;min-height:40px;font-size:.8rem}.icon-btn{width:44px;height:44px;border-radius:14px;border:1px solid var(--border);background:#fff;display:grid;place-items:center;font-size:1.05rem;transition:.2s}.icon-btn:hover{border-color:var(--brand);box-shadow:0 6px 16px rgba(255,90,10,.12);transform:translateY(-1px)}.icon-btn:active{transform:scale(.94)}.icon-btn:disabled{opacity:.5;cursor:not-allowed}.icon-btn:focus-visible{outline:3px solid var(--brand);outline-offset:2px}.icon-btn.sm{width:38px;height:38px;border-radius:12px}.nav-burger{display:none}.hamburger-lines{width:19px;height:14px;display:flex;flex-direction:column;justify-content:space-between}.hamburger-lines i{display:block;width:100%;height:2px;border-radius:999px;background:currentColor;transition:transform .22s ease,opacity .18s ease}.drawer-open .hamburger-lines i:nth-child(1){transform:translateY(6px) rotate(45deg)}.drawer-open .hamburger-lines i:nth-child(2){opacity:0;transform:translateX(-6px)}.drawer-open .hamburger-lines i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
[data-theme="dark"] .btn.secondary:disabled{opacity:.5}
[data-theme="dark"] .btn.primary:disabled{opacity:.55}
/* Alvos de toque: controles usados no dedo (carrinho/quantidade) ganham área maior no mobile */
.mobile-cart{position:fixed;left:16px;right:16px;bottom:calc(78px + env(safe-area-inset-bottom));z-index:56;display:none;align-items:center;justify-content:center;gap:10px;border-radius:16px;box-shadow:0 10px 28px rgba(20,10,5,.28);min-height:52px;font-size:.95rem}
@media(max-width:860px){.qty button{width:44px;height:44px}.fav{width:44px;height:44px}.add-btn{width:44px;height:44px;border-radius:14px}.icon-btn.sm,.side-collapse,.side-user .icon-btn,.dash-burger{width:44px;height:44px}.store-search button{width:44px;height:44px}.icon-btn{width:48px;height:48px}
/* Alvos de toque maiores no celular (auditoria UX-mobile): seletor de loja. */
.store-switch{padding:9px 12px 9px 14px}.store-switch select{min-height:32px;max-width:150px}}
/* Feedback de press (toque): todos os controles clicáveis respondem fisicamente */
.cat-btn:active,.tabs button:active,.qty button:active,.add-btn:active,.fav:active,.num-pad button:active,.quick button:active,.chat-fab:active,.bottom-nav a:active,.pos-card:active,.order-row:active,.settings-nav button:active,.chat-order:active{transform:scale(.96)}
/* Spinner e skeleton (estados de carregamento) */
.spinner{display:inline-block;width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--brand);border-radius:50%;animation:spin .7s linear infinite;vertical-align:-3px;margin-right:8px}
@keyframes spin{to{transform:rotate(360deg)}}
.skeleton{display:inline-block;background:linear-gradient(90deg,var(--surface-3) 25%,var(--surface-2) 50%,var(--surface-3) 75%);background-size:200% 100%;animation:shimmer 1.4s ease-in-out infinite;border-radius:10px;min-height:14px}
@keyframes shimmer{to{background-position:-200% 0}}
/* Indicador offline */
#net-banner{display:none;position:fixed;left:0;right:0;bottom:0;z-index:500;background:#9b4c00;color:#fff;padding:10px 16px;padding-bottom:calc(10px + env(safe-area-inset-bottom));font-weight:800;font-size:.85rem;text-align:center}
body.offline #net-banner{display:block}
body.offline .bottom-nav{bottom:36px}body.offline .mobile-cart{bottom:calc(36px + 56px)}
.nav{height:78px;min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:24px;position:sticky;top:0;z-index:50;background:rgba(255,250,245,.86);backdrop-filter:blur(18px);border-bottom:1px solid rgba(234,223,214,.75)}.nav .links{display:flex;gap:26px;font-size:.92rem;font-weight:800;color:#4e443e}.logo{height:42px;width:auto}.hero{padding:58px 0 34px}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:42px;align-items:center}.hero-copy{padding:28px 0}.hero-copy .accent{color:var(--brand)}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.trustline{display:flex;align-items:center;gap:14px;margin-top:30px;color:var(--muted);font-size:.88rem}.avatars{display:flex}.avatars span{width:34px;height:34px;border-radius:50%;border:3px solid var(--bg);margin-left:-8px;background:linear-gradient(135deg,#ffc7a5,#ff7c32);display:block}.avatars span:first-child{margin-left:0}.hero-visual{position:relative;min-height:560px;border-radius:38px;background:linear-gradient(135deg,#ffe8cf,#fff7ed);overflow:hidden;box-shadow:var(--shadow)}.hero-visual .food{position:absolute;inset:0;background:url('/assets/demo/burger-smash.jpg') center/cover;background-image:image-set(url('/assets/demo/webp/burger-smash-1200.webp') 1x,url('/assets/demo/burger-smash.jpg') 1x)}.hero-badge{position:absolute;right:20px;bottom:20px;z-index:2;display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.94);border-radius:18px;padding:12px 16px;box-shadow:0 14px 40px rgba(0,0,0,.28);backdrop-filter:blur(8px)}.hero-badge span{font-size:1.4rem}.hero-badge b{font-size:.92rem;display:block}.hero-badge .muted{font-size:.76rem}.hero-mockup{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:24px;padding:30px;z-index:1}.mockup-phone{width:180px;background:#fff;border-radius:24px;box-shadow:0 20px 60px rgba(0,0,0,.2);overflow:hidden;flex-shrink:0;border:3px solid #1a1a1a}.mockup-phone-notch{width:60px;height:6px;background:#1a1a1a;border-radius:0 0 6px 6px;margin:0 auto}.mockup-phone-screen{padding:8px}.mockup-store-header{display:flex;align-items:center;gap:6px;padding:6px 4px;font-size:.6rem;font-weight:800}.mockup-logo-dot{width:18px;height:18px;border-radius:50%;background:var(--brand);flex-shrink:0}.mockup-hero-img{height:60px;background:linear-gradient(135deg,#ffb088,#ff7c32);border-radius:8px;margin-bottom:6px}.mockup-cats{display:flex;gap:4px;margin-bottom:6px}.mockup-cat{font-size:.48rem;padding:3px 6px;border-radius:10px;background:var(--surface-2);color:var(--muted);font-weight:700}.mockup-cat.active{background:var(--brand);color:#fff}.mockup-product{display:flex;gap:6px;padding:5px 0;border-bottom:1px solid var(--border)}.mockup-product-img{width:32px;height:32px;border-radius:6px;background:var(--surface-2);flex-shrink:0}.mockup-product-text{flex:1;min-width:0}.mockup-line{height:5px;border-radius:3px;background:var(--surface-2);margin-bottom:3px}.mockup-line.w80{width:80%}.mockup-line.w70{width:70%}.mockup-line.w60{width:60%}.mockup-line.w50{width:50%}.mockup-line.w40{width:40%}.mockup-line.big{height:8px;width:35%;background:var(--brand);opacity:.6}.mockup-price{font-size:.52rem;font-weight:900;color:var(--brand);margin-top:2px}.mockup-dashboard{width:280px;background:#fff;border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.15);padding:14px;flex-shrink:0}.mockup-dash-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.mockup-pills{display:flex;gap:4px}.mockup-pill{font-size:.48rem;padding:2px 6px;border-radius:8px;background:var(--surface-2);color:var(--muted);font-weight:700}.mockup-pill.green{background:#e9f8f1;color:var(--green)}.mockup-dash-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:10px}.mockup-stat{background:var(--surface-2);border-radius:8px;padding:8px}.mockup-dash-chart{display:flex;align-items:end;gap:4px;height:50px;background:var(--surface-2);border-radius:8px;padding:8px}.mockup-bar{flex:1;background:var(--brand);border-radius:3px 3px 0 0;opacity:.7}.hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(35,18,7,.20))}.floating{position:absolute;z-index:2;background:#fff;border:1px solid rgba(255,255,255,.7);box-shadow:var(--shadow-sm);border-radius:20px;padding:14px 16px;backdrop-filter:blur(12px)}.floating.one{left:22px;bottom:24px}.floating.two{right:22px;top:22px}.floating strong{display:block;font-size:1.25rem}.feature-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:22px}.mini-feature{background:#fff;border:1px solid var(--border);padding:18px;border-radius:18px;display:flex;gap:12px;align-items:center}.mini-feature .ico{width:42px;height:42px;background:var(--brand-soft);border-radius:13px;display:grid;place-items:center}.section{padding:74px 0;scroll-margin-top:90px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:28px}/* .cards/.card base definidas em "Cards (dashboard)" */.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-sm)}.feature-card .icon{width:52px;height:52px;border-radius:16px;background:var(--brand-soft);display:grid;place-items:center;font-size:1.4rem;margin-bottom:18px}.feature-card p{color:var(--muted);line-height:1.65}.lead-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:34px;align-items:start}.lead-copy .kicker{margin-top:10px}.compare-panel{overflow:hidden}.compare-table th:not(:first-child),.compare-table td:not(:first-child){text-align:center}.check-mark{color:var(--green);font-weight:900}.showcase{display:grid;grid-template-columns:.9fr 1.1fr;gap:24px;align-items:stretch}.phone-stage{background:#17120f;border-radius:32px;padding:28px;min-height:560px;position:relative;overflow:hidden}.phone-stage:before{content:"";position:absolute;width:440px;height:440px;background:radial-gradient(circle,var(--brand),transparent 65%);filter:blur(40px);opacity:.33;right:-100px;top:-110px}.phone{width:min(330px,80%);height:590px;background:#fff;border:8px solid #0d0b0a;border-radius:42px;margin:auto;position:relative;overflow:hidden;box-shadow:0 34px 80px rgba(0,0,0,.35);transform:rotate(2deg)}.phone-top{height:120px;background:url('/assets/demo/showcase.jpg') center/cover}.phone-body{padding:14px}.phone-chip{height:34px;background:#f7f3ef;border-radius:11px;margin:8px 0}.phone-card{display:grid;grid-template-columns:66px 1fr;gap:10px;margin-top:11px}.phone-img{background:#ffe3cf;border-radius:14px}.phone-lines span{height:8px;background:#ede7e1;border-radius:8px;display:block;margin:7px 0}.phone-lines span:last-child{width:60%;background:#ffb486}.showcase-copy{background:linear-gradient(135deg,#fff,#fff5eb);border:1px solid var(--border);border-radius:32px;padding:38px}.checklist{display:grid;gap:15px;margin:28px 0}.check{display:grid;grid-template-columns:32px 1fr;gap:12px;align-items:start}.check .mark{width:28px;height:28px;border-radius:10px;background:var(--green-soft);color:var(--green);display:grid;place-items:center;font-weight:900}.pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
/* Header responsivo: o nav vira hambúrguer a partir de 1150px — antes os 7 links + 4 botões
   estouravam a largura e quebravam para uma segunda linha. O menu vira um side-drawer deslizante. */
#nav-backdrop{position:fixed;inset:0;top:0;background:rgba(26,15,9,.45);backdrop-filter:blur(2px);z-index:80;opacity:0;pointer-events:none;transition:opacity .25s}
body.drawer-open #nav-backdrop{opacity:1;pointer-events:auto}
/* Side-drawer: menu lateral profissional que desliza da esquerda em qualquer largura. */
.side-drawer{position:fixed;top:0;bottom:0;left:0;width:min(320px,86vw);background:var(--surface);z-index:90;transform:translateX(-104%);transition:transform .28s cubic-bezier(.22,.61,.36,1);display:flex;flex-direction:column;box-shadow:0 0 60px rgba(0,0,0,.4);padding:14px 14px calc(14px + env(safe-area-inset-bottom))}
body.drawer-open .side-drawer{transform:none}
.side-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:6px 4px 14px;border-bottom:1px solid var(--border)}
.side-drawer-head .logo{height:32px;width:auto}
.side-drawer-nav{display:flex;flex-direction:column;gap:2px;padding:12px 0;overflow:auto;flex:1}
.drawer-link{padding:13px 12px;border-radius:13px;min-height:46px;display:flex;align-items:center;font-weight:800;font-size:1rem;color:var(--ink);text-decoration:none;transition:background .15s}
.drawer-link:hover{background:var(--surface-2)}
.drawer-link:active{background:var(--surface-3)}
.drawer-link.active{background:var(--brand-soft);color:var(--brand)}
.side-drawer-foot{display:flex;flex-direction:column;gap:8px;flex-shrink:0}
.side-drawer-foot--top{padding:0 0 12px;border-bottom:1px solid var(--border)}
.side-drawer-foot--top .btn{min-height:44px!important;font-size:.92rem!important}
/* Marketplace hero (landing estilo app de delivery): busca + categorias + lojas/produtos */
.marketplace-hero{padding:16px 0 8px}
.mk-hero-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.mk-hero-greet{display:flex;flex-direction:column;line-height:1.12}
.mk-hero-greet b{font-size:1.45rem}
.mk-hero-greet .muted{font-size:.86rem}
.mk-hero-actions{display:flex;gap:8px;flex:0 0 auto}
.mk-search{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:8px 10px 8px 14px;box-shadow:var(--shadow-sm)}
.mk-search-ico{color:var(--muted);display:grid;place-items:center;flex:0 0 auto}
.mk-search .input{border:0;background:transparent;padding:8px 4px;font-size:1rem;flex:1;min-width:0}
.mk-search .input:focus{outline:none;box-shadow:none}
.mk-location{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;padding:10px 12px;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:var(--shadow-sm)}
.mk-location-copy{min-width:0;display:flex;align-items:center;gap:9px;color:var(--muted);font-size:.84rem}
.mk-location-copy>div{min-width:0;flex:1}
.mk-location-copy b{display:block;color:var(--ink);font-size:.88rem}
.mk-location-copy span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mk-location .btn{flex:0 0 auto;white-space:nowrap}
.mk-cats{display:flex;gap:8px;overflow-x:auto;padding:14px 0 8px;scrollbar-width:none}
.mk-cats::-webkit-scrollbar{display:none}
.mk-cat{flex:0 0 auto;padding:8px 14px;border:1px solid var(--border);border-radius:999px;background:var(--surface);font-weight:800;font-size:.84rem;color:var(--muted);white-space:nowrap;transition:.15s}
.mk-cat.active{background:var(--brand);border-color:var(--brand);color:#fff}
.search-section{margin-top:22px}
.search-h{font-size:1.02rem;margin:0 0 12px;color:var(--ink)}
.search-section .store-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.product-hit .store-card-body .store-card-name{font-size:.98rem}
/* Vitrine densa: loja + produtos em destaque (estilo app de delivery) */
.store-showcase-grid{display:grid;grid-template-columns:1fr;gap:14px;margin-top:6px;padding-bottom:28px}
.store-showcase{background:var(--surface);border:1px solid var(--border);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-sm);transition:.18s;position:relative}
.store-showcase:hover{transform:translateY(-3px);box-shadow:var(--shadow-sm);border-color:var(--brand)}
.ss-head{display:flex;align-items:center;gap:10px;padding:14px 14px 10px;text-decoration:none;color:inherit}
.ss-logo{width:42px;height:42px;border-radius:12px;overflow:hidden;flex:0 0 auto;background:var(--surface-3);display:grid;place-items:center;font-weight:900;color:var(--brand);font-size:1.1rem}
.ss-logo img{width:100%;height:100%;object-fit:cover}
.ss-name{flex:1;min-width:0;font-weight:900;font-size:1.05rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ss-fav{position:absolute;top:10px;right:12px;z-index:3;width:34px;height:34px;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--muted);font-size:1.1rem;line-height:1;display:grid;place-items:center;cursor:pointer;box-shadow:var(--shadow-sm);transition:.15s}
.ss-fav:hover{transform:scale(1.08);border-color:var(--brand)}
.ss-fav.on{color:#fff;background:var(--brand);border-color:var(--brand)}
.ss-fav:active{transform:scale(.92)}
.ss-fav.fav-remove{position:absolute}
.ss-prods{display:flex;gap:10px;overflow-x:auto;padding:4px 14px 14px;scrollbar-width:none;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;flex-wrap:nowrap}
.ss-prods::-webkit-scrollbar{display:none}
.ss-prod{flex:0 0 auto;width:120px;text-decoration:none;color:inherit;background:transparent;border:0;padding:0;cursor:pointer;text-align:left;scroll-snap-align:start}
.ss-prod:active{transform:scale(.97)}
.ss-prod-img{width:120px;height:auto;aspect-ratio:1;border-radius:12px;overflow:hidden;background:var(--surface-3);display:grid;place-items:center;font-weight:900;font-size:1.4rem;color:var(--muted)}
.ss-prod-img img{width:100%;height:100%;object-fit:cover}
.ss-prod-body{padding:6px 2px 0}
.ss-prod-body b{display:block;font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ss-prod-price{font-size:.82rem;font-weight:800;color:var(--brand)}
.ss-prod-price small{font-size:.66rem;font-weight:800;color:var(--muted);white-space:nowrap}
.ss-prods-label{padding:6px 14px 0;font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
@media(min-width:760px){.ss-prods-label{padding:6px 4px 0}}
.ss-badge{position:absolute;top:6px;left:6px;z-index:2;background:var(--brand);color:#fff;font-size:.62rem;font-weight:800;padding:2px 6px;border-radius:20px;box-shadow:0 2px 6px rgba(0,0,0,.25);white-space:nowrap}
.ss-prod-img{position:relative}
.ss-empty{padding:14px;font-size:.82rem}
/* No desktop, mostra os lanches em grade (vários de uma vez) em vez de scroll */
@media(min-width:760px){
  /* O endpoint entrega no máximo 8 destaques. Oito trilhos elásticos ocupam
     toda a largura sem deixar colunas vazias no fim do card da loja. */
  .ss-prods{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));overflow:visible}
  .ss-prod{width:auto}
  .ss-prod-img{width:100%;height:auto;aspect-ratio:1}
}
@media(min-width:760px) and (max-width:999px){.ss-prods{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:620px){
  .mk-location{align-items:flex-start;flex-direction:column}
  .mk-location-copy{width:100%;max-width:100%}
  .mk-location .btn{width:100%}
}
.location-consent{max-width:520px}.location-consent-icon{width:64px;height:64px;border-radius:20px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;margin:0 auto 16px}.location-consent-icon svg{width:30px;height:30px}.location-consent p{text-align:center;line-height:1.65;margin:0}.location-privacy{display:grid;gap:5px;margin-top:16px;padding:14px;border-radius:14px;background:var(--surface-2);border:1px solid var(--border)}.location-privacy span{font-size:.84rem;color:var(--muted);line-height:1.5}
.owner-pitch{padding:40px 0 20px;background:var(--brand-soft);margin-top:8px}
.owner-pitch-head{padding:20px 0}.owner-pitch-head .h2{font-size:clamp(1.6rem,4vw,2.4rem)}
@media(max-width:1150px){
  .nav-burger{display:grid}
  .nav .links{display:none}
  .nav .row{gap:8px}
}
.mobile-hide-link{display:inline}
@media(max-width:1150px){.mobile-hide-link{display:none}}
.nav .container.between{flex-wrap:nowrap}
/* Plano único: card ao lado do painel "O que está incluído" — preenche o espaço (usado no render e no fallback). */
.pricing:has(.included-list){grid-template-columns:1.05fr 1.4fr;gap:18px;align-items:stretch}
.pricing .included-list{display:grid;grid-template-columns:repeat(2,1fr);gap:9px 16px;margin-top:12px}.price-card{position:relative}.price-card.popular{border:2px solid var(--brand);transform:translateY(-8px)}.price{font-size:2.6rem;font-weight:950;letter-spacing:-.05em}.price small{font-size:.9rem;color:var(--muted);font-weight:700}.tag-top{position:absolute;right:16px;top:16px;background:var(--amber);color:var(--amber-ink);border-radius:999px;padding:8px 11px;font-size:.74rem;font-weight:900}.footer{padding:46px 0;border-top:1px solid var(--border);margin-top:60px}.footer-grid{display:grid;grid-template-columns:1.6fr repeat(2,1fr);gap:26px}.footer h4{margin:0 0 14px}.footer a{display:block;color:var(--muted);margin:9px 0;font-size:.9rem}
/* Store */
.store-page{min-height:100vh;background:#fffaf5}.store-top{position:sticky;top:0;padding-top:env(safe-area-inset-top);z-index:40;background:rgba(255,250,245,.93);backdrop-filter:blur(18px);border-bottom:1px solid var(--border)}.store-top .inner{height:76px;display:flex;align-items:center;gap:18px}.store-search{flex:1;max-width:620px;position:relative}.store-search input,.input{width:100%;height:48px;border:1px solid var(--border);border-radius:15px;background:#fff;padding:0 46px 0 15px;outline:none;transition:.2s}.store-search input:focus,.input:focus,.textarea:focus{border-color:#ffb186;box-shadow:0 0 0 4px rgba(255,90,10,.09)}.store-search button{position:absolute;right:5px;top:5px;width:38px;height:38px;border-radius:11px;border:0;background:var(--brand);color:#fff}.store-shell{display:grid;grid-template-columns:1fr 350px;gap:24px;padding:26px 0 100px}.store-shell>*{min-width:0}.store-hero{height:320px;border-radius:var(--r-lg);overflow:hidden;position:relative;background:#f4d5bc;transition:filter .3s}.store-hero.closed{filter:brightness(.7) saturate(.6)}.store-hero img{width:100%;height:100%;object-fit:cover}.store-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,10,5,.78),rgba(20,10,5,.08))}
.store-hero.scrim:after{background:linear-gradient(90deg,rgba(8,4,2,.9),rgba(8,4,2,.3))}
.hero-visual.scrim:after{background:linear-gradient(180deg,rgba(30,15,5,.38),rgba(30,15,5,.6))}.store-hero .copy{position:absolute;z-index:2;left:28px;bottom:26px;color:#fff;max-width:560px}.store-hero .copy h1{font-size:clamp(2rem,4vw,3.7rem);line-height:.95;margin:10px 0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word}
.hero-name-row{display:flex;align-items:center;gap:14px}
.hero-name-row h1{margin:0}
.ss-fav-hero{flex:0 0 auto;width:52px;height:52px;border-radius:50%;border:2px solid rgba(255,255,255,.85);background:rgba(20,10,5,.42);color:#fff;font-size:1.5rem;line-height:1;display:grid;place-items:center;cursor:pointer;transition:.18s;backdrop-filter:blur(4px)}
.ss-fav-hero svg{width:1.6rem;height:1.6rem}
.ss-fav-hero:hover{background:rgba(20,10,5,.6);transform:scale(1.06)}
.ss-fav-hero.on{background:var(--brand);border-color:#fff;color:#fff;box-shadow:0 6px 18px rgba(255,90,10,.4)}
.store-meta{display:flex;gap:9px;flex-wrap:wrap}.store-meta .pill{background:rgba(255,255,255,.92);border:0;color:#211710}.category-row{display:flex;gap:10px;overflow:auto;padding:20px 24px 8px;position:sticky;top:76px;background:var(--bg);z-index:20;mask-image:linear-gradient(to right,transparent 0,#000 20px,#000 calc(100% - 20px),transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0,#000 20px,#000 calc(100% - 20px),transparent 100%)}.cat-btn{flex:0 0 auto;border:1px solid var(--border);background:#fff;border-radius:var(--r-sm);padding:11px 14px;font-weight:800}.cat-btn.active{background:var(--brand);color:#fff;border-color:var(--brand)}.category-title{margin:34px 0 14px}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.product-card{background:#fff;border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;transition:.22s;position:relative}.product-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-sm)}.product-card-open{display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.product-card-open:focus-visible{outline:3px solid var(--brand);outline-offset:-3px}.product-card .img{aspect-ratio:1;height:auto;background:#f7eee8;overflow:hidden;display:flex;align-items:center;justify-content:center}.product-card .img .no-img{font-size:2.4rem;opacity:.35;pointer-events:none}.product-card .img img{width:100%;height:100%;object-fit:cover;transition:.3s}.product-card:hover .img img{transform:scale(1.04)}.product-card .body{padding:15px}.product-card h3{font-size:1rem;margin:0 0 6px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word}.product-card p{font-size:.82rem;color:var(--muted);line-height:1.45;height:36px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;text-overflow:ellipsis;word-break:break-word}.product-card .bottom{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;margin-top:11px}.money{font-weight:950}.add-btn{width:38px;height:38px;border:0;border-radius:12px;background:var(--brand);color:#fff;font-size:1.2rem}.product-card>.add-btn{width:min(calc(100% - 30px),210px);height:42px;border-radius:13px;font-size:.9rem;font-weight:800;display:flex;align-items:center;justify-content:center;padding:0 16px;margin:0 auto 15px}.cart-panel{position:sticky;top:98px;align-self:start;background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);padding:20px;box-shadow:var(--shadow-sm);max-height:calc(100vh - 120px);overflow:auto}.cart-empty{text-align:center;padding:42px 10px;color:var(--muted)}.cart-empty .big{font-size:3rem}.cart-item{display:grid;grid-template-columns:1fr auto;gap:10px;padding:14px 0;border-bottom:1px dashed var(--border)}.cart-item-name{font-size:.92rem;line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word}.cart-item-meta{display:flex;align-items:center;gap:8px;margin-top:6px;flex-wrap:wrap}.cart-item-edit{border:0;background:transparent;color:var(--brand);font-size:.78rem;font-weight:800;cursor:pointer;padding:2px 0;text-decoration:underline}.cart-item-edit:hover{color:#b53800}.qty{display:flex;align-items:center;gap:8px}.qty button{width:28px;height:28px;border-radius:9px;border:1px solid var(--border);background:#fff}.cart-modal-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.cart-modal-actions .btn{flex:1;min-width:0}.summary{display:grid;gap:9px;padding:16px 0}.summary .line{display:flex;justify-content:space-between;color:var(--muted);font-size:.9rem}.summary .line.total{font-weight:950;color:var(--ink);font-size:1.08rem;border-top:1px solid var(--border);padding-top:12px}.mobile-cart{display:none;position:fixed;z-index:50;bottom:calc(12px + env(safe-area-inset-bottom));left:12px;right:12px;background:#1f1712;color:#fff;border-radius:18px;padding:13px 16px;box-shadow:0 18px 50px rgba(0,0,0,.24);align-items:center;justify-content:space-between;border:0}.bottom-nav{display:none}
.merchant-nav{display:grid!important;grid-template-columns:repeat(7,1fr);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.merchant-nav::-webkit-scrollbar{display:none}
.merchant-nav a{min-width:0;padding:7px 2px 4px;font-size:.62rem;gap:3px;text-align:center;white-space:nowrap;flex-shrink:0}
.merchant-nav a svg,.merchant-nav a span{width:18px;height:18px}
.merchant-nav a span{font-size:.58rem}
@media(max-width:360px){.merchant-nav{grid-template-columns:repeat(7,1fr)}.merchant-nav a span{font-size:.52rem}.merchant-nav a{padding:6px 1px 3px;font-size:.55rem}}
/* Modals */
.backdrop{position:fixed;inset:0;background:rgba(26,15,9,.52);backdrop-filter:blur(5px);z-index:100;display:grid;place-items:center;padding:18px}.modal{width:min(620px,100%);max-height:min(92vh,calc(100dvh - 24px));overflow:hidden;display:flex;flex-direction:column;background:#fff;border-radius:var(--r-lg);box-shadow:0 30px 90px rgba(0,0,0,.28);animation:pop .2s ease}.modal.wide{width:min(920px,100%)}@keyframes pop{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}.modal-head{padding:20px 22px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex:0 0 auto;background:#fff;z-index:2}.modal-body{padding:22px;flex:1 1 auto;min-height:0;overflow-y:auto}.modal-foot{flex:0 0 auto;padding:14px 22px;border-top:1px solid var(--border);background:#fff;border-radius:0 0 var(--r-lg) var(--r-lg);display:flex;align-items:center;justify-content:space-between;gap:12px}.modal-product-img{aspect-ratio:1;height:auto;border-radius:20px;overflow:hidden;margin-bottom:20px;position:relative}.modal-product-img>img{width:100%;height:100%;object-fit:cover}.option-group{margin:18px 0}.option-group h4{margin:0 0 10px}.option{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--border);border-radius:14px;padding:12px 14px;margin:8px 0}.option label{display:flex;align-items:center;gap:9px;flex:1}.flavor-option{display:grid;grid-template-columns:52px 1fr auto}.flavor-thumb{width:52px;height:52px;aspect-ratio:1;object-fit:cover;border-radius:12px}.pizza-preview-label,.pizza-half b{position:absolute;left:10px;right:10px;bottom:10px;background:rgba(28,18,12,.82);color:#fff;padding:7px 9px;border-radius:10px;font-size:.76rem;text-align:center}.modal-product-img.pizza-split{display:grid;grid-template-columns:1fr 1fr}.pizza-half{position:relative;overflow:hidden;height:100%}.pizza-half img{position:absolute;width:200%;height:100%;max-width:none;object-fit:cover;top:0}.pizza-half.left img{left:0}.pizza-half.right img{right:0}.pizza-half b{left:5px;right:5px;z-index:1}.textarea{width:100%;min-height:92px;border:1px solid var(--border);border-radius:15px;padding:13px;outline:none;resize:vertical}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-group label{font-size:.8rem;font-weight:850;display:block;margin:0 0 7px}.tabs{display:flex;gap:8px;background:#f6f1ed;border-radius:15px;padding:5px}.tabs button{flex:1;border:0;background:transparent;border-radius:11px;padding:10px;font-weight:850}.tabs button.active{background:#fff;box-shadow:0 3px 12px rgba(55,34,21,.08)}
/* Chat */
.chat-fab{position:fixed;right:20px;bottom:22px;width:58px;height:58px;border-radius:20px;border:0;background:var(--brand);color:#fff;box-shadow:0 14px 36px rgba(255,90,10,.35);z-index:75;font-size:1.35rem}.chatbox{position:fixed;right:20px;bottom:92px;width:min(410px,calc(100vw - 24px));height:min(650px,calc(100vh - 120px));background:#fff;border:1px solid var(--border);box-shadow:0 28px 80px rgba(50,25,10,.25);border-radius:26px;z-index:80;display:grid;grid-template-rows:auto 1fr auto;overflow:hidden;animation:pop .2s ease}.chat-head{padding:15px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:10px}.bot-avatar{width:40px;height:40px;border-radius:14px;background:linear-gradient(135deg,var(--brand),#ff9b59);display:grid;place-items:center;color:#fff;flex:0 0 auto}.chat-messages{padding:16px;overflow:auto;background:linear-gradient(#fff,#fffaf5);overscroll-behavior:contain}.msg{max-width:86%;padding:11px 13px;border-radius:15px;margin:8px 0;font-size:.91rem;line-height:1.45}.msg.bot{background:#f3ece6;border-bottom-left-radius:5px}.msg.user{background:var(--brand);color:#fff;margin-left:auto;border-bottom-right-radius:5px}.quick{display:flex;gap:7px;flex-wrap:wrap;margin:8px 0}.quick button{border:1px solid #ffc9aa;background:#fff4ec;color:#b94505;padding:9px 11px;min-height:40px;border-radius:999px;font-weight:800;font-size:.78rem}.chat-products{display:grid;grid-template-columns:1fr}.chat-products button{text-align:left;border-radius:13px}.chat-input{padding:12px;border-top:1px solid var(--border);display:flex;gap:8px}.chat-input input{flex:1;min-width:0;border:1px solid var(--border);border-radius:13px;padding:0 12px;outline:none}.chat-input input:focus{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 15%,transparent)}.chat-input button{width:44px;height:44px;flex:0 0 44px;border:0;border-radius:13px;background:var(--brand);color:#fff}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.pass-wrap{position:relative}.pass-wrap .input{padding-right:44px}.pass-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:36px;height:36px;border:0;background:transparent;cursor:pointer;display:grid;place-items:center;color:var(--muted);font-size:1rem;border-radius:10px;transition:color .15s}.pass-toggle:hover{color:var(--ink)}.pass-strength{height:4px;border-radius:2px;background:var(--border);margin-top:6px;overflow:hidden;transition:background .2s}.pass-strength-fill{height:100%;border-radius:2px;transition:width .3s,background .3s}
/* Dashboard */
.dashboard{min-height:100vh;background:var(--bg)}.side-backdrop{display:none}
/* === Sidebar === */
.side{position:fixed;left:0;top:0;bottom:0;width:var(--sidebar);background:#1b1613;color:#f9f0ea;padding:14px 12px;z-index:70;display:flex;flex-direction:column;transition:width .22s ease,transform .22s ease}
/* Hover peek: sidebar recolhida expande ao passar o mouse */
body.side-collapsed .side:hover{width:var(--sidebar);padding:14px 12px}
body.side-collapsed .side:hover .side-wordmark,
body.side-collapsed .side:hover .nav-txt,
body.side-collapsed .side:hover .nav-label,
body.side-collapsed .side:hover .side-user-txt{display:block}
body.side-collapsed .side:hover .side-head{justify-content:space-between;padding-bottom:16px}
body.side-collapsed .side:hover .nav-link{justify-content:flex-start;padding:10px 12px}
body.side-collapsed .side:hover .side-user{justify-content:flex-start;padding:8px 6px}
body.side-collapsed .side:hover ~ .dash-main{margin-left:var(--sidebar)}

.side-head{display:flex;align-items:center;justify-content:space-between;padding:4px 6px 16px}
.side .logo-wrap{display:flex;align-items:center;gap:10px;min-width:0}.side .logo-wrap img{filter:brightness(0) invert(1);opacity:.96;height:26px;width:auto}
.side-wordmark{font-weight:950;letter-spacing:-.02em;font-size:1.15rem;white-space:nowrap}
.side-collapse{color:#cbbfb7;border:1px solid #392e28;background:#241d18;width:32px;height:32px;flex:0 0 auto}
.side-collapse:hover{color:#fff;border-color:#4d3d33}
.side-nav{display:grid;gap:4px;overflow:auto;flex:1;padding-bottom:10px}
.nav-group{display:grid;gap:3px;margin-bottom:8px}
.nav-label{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;border:0;background:transparent;cursor:pointer;font:inherit;font-size:.66rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:#8d7f74;padding:10px 12px 4px;white-space:nowrap;text-align:left}
.nav-label:hover{color:#c9bdb3}
.nav-label-chev{display:inline-flex;opacity:.75;transition:transform .16s ease}
.nav-group.open .nav-label-chev{transform:rotate(180deg)}
/* Desktop: quando a sidebar está aberta, todos os links ficam visíveis */
@media(min-width:861px) and (hover:hover){
  body:not(.side-collapsed) .nav-links{display:grid}
  body:not(.side-collapsed) .nav-group:not(.open) .nav-links{display:none}
}
/* Touch/mobile (drawer): accordion normal, aberto por padrão quando o grupo
   contém a página ativa — o hover não existe no toque. */
@media(max-width:860px), (hover:none){
  .nav-links{display:grid}
  .nav-group:not(.open) .nav-links{display:none}
}
.nav-link{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:12px;color:#cbbfb7;font-weight:750;font-size:.9rem;position:relative;transition:.15s;white-space:nowrap}
.nav-link:hover{background:#241d18;color:#fff}
.nav-link.active{background:linear-gradient(90deg,#2d2018,#38251a);color:#fff}
.nav-link.active .nav-ico{color:var(--brand-2,#ff9f1a)}
.nav-dot{position:absolute;left:3px;top:50%;transform:translateY(-50%);width:3px;height:20px;border-radius:3px;background:var(--brand-2,#ff9f1a)}
.nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;border-radius:9px;background:var(--red,#d93a32);color:#fff;font-size:.62rem;font-weight:900;padding:0 5px;margin-left:6px;line-height:1;animation:badge-pop .3s ease}
@keyframes badge-pop{0%{transform:scale(0)}50%{transform:scale(1.3)}100%{transform:scale(1)}}
.nav-ico{display:grid;place-items:center;width:24px;height:24px;flex:0 0 auto;color:#a99a8e}
.nav-link.active .nav-ico,.nav-ico svg{width:20px;height:20px}
.side-bottom{border-top:1px solid #30241c;padding-top:12px}
.side-user{display:flex;align-items:center;gap:10px;padding:8px 6px;border-radius:13px}
.side-user:hover{background:#241d18}
.avatar{width:36px;height:36px;border-radius:12px;background:linear-gradient(135deg,#c73a00,#9b2400);color:#fff;display:grid;place-items:center;font-weight:900;font-size:.82rem;flex:0 0 auto}
.side-user-txt{min-width:0;flex:1}
.side-user-txt b{display:block;font-size:.86rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.side-user-txt small{color:#8d7f74;font-size:.72rem;font-weight:800}
.side-user .icon-btn{color:#8d7f74;border:0;background:transparent;width:30px;height:30px}
.side-user .icon-btn:hover{color:#fff;background:#30241c}
/* Rail (recolhido) */
body.side-collapsed .side{width:72px;padding:14px 8px}
body.side-collapsed .side-wordmark,body.side-collapsed .nav-txt,body.side-collapsed .nav-label,body.side-collapsed .side-user-txt{display:none}
body.side-collapsed .side-head{justify-content:center;padding-bottom:14px}
body.side-collapsed .side-collapse svg{transform:rotate(180deg)}
body.side-collapsed .nav-link{justify-content:center;padding:11px 0}
body.side-collapsed .side-user{justify-content:center;padding:8px 0}
body.side-collapsed .dash-main{margin-left:72px}
.mobile-only-link{display:none}
/* === Main === */
.dash-main{margin-left:var(--sidebar);min-height:100vh;transition:margin-left .22s ease}
.dash-top{min-height:var(--topbar);height:auto;background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:blur(18px);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px 16px;padding:10px 24px;position:sticky;top:0;z-index:30}
.dash-burger{display:none}
.dash-title h1{margin:0;font-size:1.55rem;letter-spacing:-.02em}
.dash-title p{margin:4px 0 0;color:var(--muted);font-size:.86rem}
.dash-actions{flex-wrap:wrap;justify-content:flex-end}
.dash-divider{width:1px;height:26px;background:var(--border)}
.status-pill{background:var(--green-soft);border-color:color-mix(in srgb,var(--green) 30%,transparent);color:var(--green)}
.status-pill.closed{background:#cb2b26;border-color:#cb2b26;color:#fff}
.tenant-pill{display:inline-flex;align-items:center;gap:8px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.store-switch{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:6px 8px 6px 12px;font-size:.82rem;font-weight:800;color:var(--ink);cursor:pointer}
.store-switch svg{width:15px;height:15px;color:var(--brand)}
.store-switch select{border:0;background:transparent;font:inherit;font-weight:800;color:var(--ink);cursor:pointer;max-width:130px;outline:none}
.store-switch:focus-within{border-color:var(--brand)}
#bell-btn{position:relative}
.notify-dot{position:absolute;top:7px;right:7px;width:8px;height:8px;border-radius:50%;background:var(--red);border:2px solid var(--surface);display:none}
.dash-content{padding:26px 28px 40px}
/* === Stats === */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:22px 0 0}
.stat{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:18px;position:relative;overflow:hidden}
.stat:before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--brand),var(--brand-2))}
.stat-top{display:flex;align-items:center;gap:9px;margin-bottom:10px}
.stat-ico{width:32px;height:32px;border-radius:10px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center}
.stat-ico svg{width:17px;height:17px}
.stat .value{font-size:1.7rem;font-weight:950;letter-spacing:-.04em;margin:4px 0 6px}
.trend{font-size:.78rem;font-weight:850}
.trend.up{color:var(--green)}
.trend.down{color:var(--red)}
.quick-actions{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0 0}
.quick-actions .btn{display:inline-flex;align-items:center;gap:8px}
.quick-actions svg{width:17px;height:17px}
.dash-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:16px;margin-top:16px}
.panel{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:18px}
.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.chart-bars{height:230px;display:flex;align-items:end;gap:8px;padding-top:20px}
.bar{flex:1;background:linear-gradient(var(--brand),var(--brand-2));border-radius:9px 9px 4px 4px;min-height:10px;position:relative;transition:.2s}
.bar:hover{opacity:.85}
.bar:hover:after{content:attr(data-value);position:absolute;top:-28px;left:50%;transform:translateX(-50%);font-size:.72rem;background:#1d1713;color:#fff;padding:5px 7px;border-radius:7px;z-index:2}
.order-list{display:grid;gap:10px}
.order-row{border:1px solid var(--border);background:var(--surface);border-radius:15px;padding:13px;display:grid;grid-template-columns:1fr auto;gap:10px;transition:.15s}
.order-row:hover{border-color:color-mix(in srgb,var(--brand) 35%,var(--border))}
.status{font-size:.72rem;font-weight:900;border-radius:999px;padding:6px 8px;background:var(--surface-3)}
.status.new{background:var(--brand-soft);color:#ba4200}
.status.preparing{background:var(--yellow);color:#4a2a00}
.status.ready{background:var(--green-soft);color:var(--green)}
.table-wrap{overflow:auto}
.table{width:100%;border-collapse:collapse}
.table th,.table td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--border);font-size:.86rem;white-space:nowrap}
.table th{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.07em}
.table tbody tr{transition:.12s}
.table tbody tr:hover{background:var(--surface-3)}
.kanban{display:grid;grid-template-columns:repeat(4,minmax(260px,1fr));gap:12px;overflow:auto;padding-bottom:8px}
.kanban-col{background:var(--surface-3);border:1px solid var(--border);border-radius:18px;padding:12px;min-height:520px}
.kanban-col h3{font-size:.9rem;margin:5px 4px 12px}
.ticket{background:var(--surface);border:1px solid var(--border);border-radius:15px;padding:13px;margin:9px 0;box-shadow:0 3px 12px rgba(56,34,18,.05)}
.ticket.unpaid{border-left:4px solid var(--amber)} /* pedido PIX aguardando confirmação manual */
.ticket .code{font-size:.78rem;font-weight:950;color:var(--brand)}
.ticket .items{font-size:.82rem;line-height:1.5;margin:9px 0;color:var(--muted)}
.ticket .timer{font-size:.76rem;color:var(--muted)}
.courier-card{border-left:4px solid var(--green)}
.courier-addr{display:flex;align-items:center;gap:7px;font-size:.82rem;color:var(--muted);margin-top:9px}
.net-bar{height:8px;border-radius:99px;background:linear-gradient(90deg,var(--brand),var(--brand-2));min-width:8px}
.print-history{display:grid;gap:8px}
.print-item{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--border);background:var(--surface);border-radius:13px;padding:10px 12px}
.print-item b{display:block}.print-item span{font-size:.76rem}
.courier-addr svg{width:15px;height:15px;flex:0 0 auto;color:var(--brand)}
/* Cards (dashboard) */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:16px}
.card{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:20px}
.card-emoji{font-size:1.7rem;filter:saturate(.9)}
.card p{font-size:.86rem;line-height:1.6;margin:10px 0 0}
.legal-card p{font-size:1rem;line-height:1.75;margin:14px 0 0;text-wrap:pretty}
.legal-card p:first-child{margin-top:0}
/* POS */
.pos-layout{display:grid;grid-template-columns:1fr 390px;gap:16px;height:calc(100vh - var(--topbar) - 56px)}.pos-products{overflow:auto;padding-right:4px}.pos-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.pos-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:10px;cursor:pointer;transition:.18s}.pos-card:hover{border-color:var(--brand-2);transform:translateY(-2px)}.pos-card img{width:100%;aspect-ratio:1.25;object-fit:cover;border-radius:11px}.pos-card h4{margin:9px 0 4px;font-size:.86rem}.pos-cart{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:16px;overflow:auto}.num-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:10px}.num-pad button{border:1px solid var(--border);background:var(--surface);padding:12px;border-radius:11px;font-weight:850}
/* Settings */
.settings-grid{display:grid;grid-template-columns:220px 1fr;gap:18px}.settings-nav{display:grid;gap:6px;align-self:start;position:sticky;top:calc(var(--topbar) + 20px)}.settings-nav button{text-align:left;border:0;background:transparent;padding:11px 12px;border-radius:12px;font-weight:800;color:var(--muted)}.settings-nav button:hover{background:var(--surface-3);color:var(--ink)}
.settings-nav button.active{background:var(--surface);border:1px solid var(--border);color:var(--ink);box-shadow:0 1px 0 rgba(43,24,12,.04)}
.switch{width:50px;height:30px;background:#d7cec7;border:1px solid #8a7a6a;border-radius:999px;position:relative;transition:.2s;display:inline-block;flex:0 0 auto}.switch:after{content:"";width:24px;height:24px;background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;transition:.2s;box-shadow:0 2px 5px rgba(0,0,0,.2)}.switch.on{background:var(--green);border-color:var(--green)}.switch.on:after{left:22px}.switch:disabled{opacity:.5;cursor:not-allowed}
/* Switch maior no celular (auditoria UX-mobile). Depois da definição base para vencer por ordem. */
@media(max-width:860px){.switch{width:56px;height:34px}.switch:after{width:28px;height:28px}.switch.on:after{left:26px}}
.tables-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.table-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:16px;transition:.18s}
.table-card.occupied{border-color:var(--brand-2)}
.table-card.reserved{border-color:#d9a441}
.table-qr{display:flex;gap:8px;margin-top:12px}
.table-qr .input{font-size:.76rem;padding:9px 10px;height:auto;min-width:0}
.suspended-banner{background:#fff3e0;border:1px solid #e8b26b;color:#7a4a10;border-radius:14px;padding:12px 14px;font-weight:750;margin-bottom:14px}
.suspended-banner.warn{background:#fdeaea;border-color:var(--red);color:var(--red)}
[data-theme="dark"] .suspended-banner{background:#2a2015;border-color:#8a6a35;color:#f0c98a}
[data-theme="dark"] .suspended-banner.warn{background:#2a1515;border-color:var(--red);color:#ffb3b3}
.btn.danger{background:var(--danger);color:#fff}
.btn.danger:hover{filter:brightness(.94)}
.btn.danger:active{transform:translateY(0) scale(.98)}
.btn.danger.ghost{background:transparent;color:var(--danger);border:1px solid var(--danger)}
.btn.danger.ghost:hover{background:var(--danger-soft)}
.btn.link{background:none;border:0;color:var(--brand);padding:0;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.btn.link:hover{text-decoration-thickness:2px}
.btn.link:active{opacity:.7}
/* Loading state: impede double-click e mostra spinner */
.btn.loading{pointer-events:none;opacity:.7;display:inline-flex;align-items:center;gap:8px}
.btn.loading::before{content:'';width:16px;height:16px;border:2px solid var(--border);border-top-color:currentColor;border-radius:50%;animation:spin .7s linear infinite}[data-theme="dark"] .switch{background:#3a2e23;border-color:var(--border)}[data-theme="dark"] .switch.on{background:var(--green);border-color:var(--green)}[data-theme="dark"] .switch:after{background:#211710}.automation{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--border)}
.zip-row{display:flex;gap:8px}.zip-row .input{flex:1;min-width:0}
.slug-at{display:grid;place-items:center;background:var(--surface-3);border:1px solid var(--border);border-radius:12px;padding:0 13px;font-weight:900;color:var(--muted)}
.new-store-btn{white-space:nowrap;border-style:dashed}
/* Fav */
.fav{position:absolute;right:10px;top:10px;width:34px;height:34px;border-radius:50%;border:1px solid var(--border);background:rgba(255,255,255,.94);transition:.2s}
.fav.on{color:var(--brand);border-color:#ffc9aa;background:var(--brand-soft)}
[data-theme="dark"] .fav{color:#211710}
[data-theme="dark"] .fav.on{color:var(--brand)}
/* Min order + cash + notify */
.min-order{font-size:.78rem;line-height:1.5;color:#8a4b00;background:#fff7da;border:1px solid #f3e3b0;border-radius:12px;padding:9px 11px;margin:12px 0}
.cash-line{display:grid;gap:4px;margin:10px 0;background:#fff7da;border:1px solid #f3e3b0;border-radius:12px;padding:10px;font-size:.86rem}
.notify-panel{position:fixed;top:calc(var(--topbar) + 10px);right:24px;width:min(340px,calc(100vw - 32px));background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow);padding:14px;z-index:90;animation:pop .18s ease}
.notify-sep{height:1px;background:var(--border);margin:8px 0}
.notify-item.warn{color:var(--red)}
.alerts-banner{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}
.alert-item{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--brand);border-radius:14px;padding:10px 14px}
.alert-item.warn{border-left-color:var(--red)}
.alert-item.info{border-left-color:var(--brand)}
.alert-ico{font-size:1.15rem}
.alert-body{flex:1;min-width:0}
.alert-body b{display:block;font-size:.9rem}
.alert-body span{display:block;color:var(--muted);font-size:.8rem}
@media(max-width:640px){.alert-item{flex-wrap:wrap;padding:10px 12px}.alert-item .row{width:100%;justify-content:flex-end}}
.notify-item{padding:9px 0;border-bottom:1px solid var(--border);font-size:.86rem;line-height:1.45}
.notify-item:last-child{border-bottom:0}
/* Chat full-screen tab */
/* Tela cheia do assistente agora vive apenas no mobile (@media abaixo, z-230/--vvh). */
.chat-order{display:flex;align-items:center;gap:12px;width:calc(100% - 24px);margin:12px auto 0;padding:11px 13px;border:1px solid var(--border);border-radius:14px;background:#fffaf5;cursor:pointer;text-align:left;font-size:.88rem}
.chat-order:hover{border-color:#ffc6a7}
.chat-order span:first-child{font-size:1.2rem}
.chat-order b:last-child{color:var(--brand);margin-left:auto}
@media(max-width:760px){body.chat-full-open .bottom-nav,body.chat-full-open .chat-fab[hidden]{display:none}}
/* Palette page */
.palette-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.swatch{display:flex;align-items:center;gap:11px;border:1px solid var(--border);border-radius:13px;padding:10px}
.palette-grid .chip{width:44px;height:44px;border-radius:11px;flex:0 0 auto}
.chip-sm{display:inline-block;width:15px;height:15px;border-radius:5px;vertical-align:-2px;margin-right:5px;border:1px solid rgba(0,0,0,.14)}
.palette-block code{font-size:.76rem;background:var(--surface-3);padding:3px 7px;border-radius:7px}
/* FAB de contato da landing (leva ao formulário, sem número fake) */
.landing-contact-fab{position:fixed;right:20px;bottom:calc(22px + env(safe-area-inset-bottom));z-index:70;background:var(--brand);color:#fff;display:flex;align-items:center;gap:10px;padding:14px 20px;border-radius:999px;font-weight:900;box-shadow:0 14px 36px rgba(255,90,10,.35);transition:.2s}
.landing-contact-fab:hover{transform:translateY(-2px)}
.landing-contact-fab:active{transform:scale(.97)}
[data-theme="dark"] .landing-contact-fab{color:#211710}
@media(max-width:620px){.landing-contact-fab span{display:none}.landing-contact-fab{padding:16px;border-radius:50%}}
/* FAQ da landing */
.faq-item summary::-webkit-details-marker{display:none}
.faq-item[open] summary span{transform:rotate(45deg)}
.faq-item summary span{transition:.2s}
/* Skip link + focus + reduced motion */
.skip-link{position:fixed;left:12px;top:-70px;z-index:400;background:var(--brand);color:#fff;padding:12px 16px;border-radius:12px;font-weight:900;transition:top .2s}
.skip-link:focus{top:12px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:var(--focus-ring);outline-offset:2px}
.btn:focus-visible,.icon-btn:focus-visible{outline-offset:3px}
#app{outline:none}
.btn.active{background:#211a16;color:#fff;border-color:#211a16}
[data-theme="dark"] .btn.active{background:var(--brand-soft);color:var(--brand);border-color:var(--brand)}
.icon-btn.active{background:var(--brand-soft,#fff5ee);border-color:var(--brand);color:var(--brand)}
[data-theme="dark"] .icon-btn.active{background:var(--brand-soft);border-color:var(--brand);color:var(--brand)}
[data-theme="dark"] .btn.dark{background:var(--brand);border-color:var(--brand);color:#211710}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
/* Toast */
#toast-root{position:fixed;right:18px;top:18px;z-index:200;display:grid;gap:8px;left:18px;justify-items:end}.toast{background:#1c1713;color:#fff;padding:12px 15px;border-radius:13px;box-shadow:var(--shadow);animation:pop .2s ease;max-width:min(360px,calc(100vw - 36px));display:flex;align-items:center;gap:10px;flex-wrap:wrap}.toast.good{background:#176d4d}.toast.warn{background:#9b4c00}.toast-undo{background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.3);color:#fff;padding:4px 12px;border-radius:8px;font-size:.78rem;font-weight:800;cursor:pointer;white-space:nowrap;flex-shrink:0}.toast-undo:hover{background:rgba(255,255,255,.35)}
/* Responsive */
@media(max-width:1100px){.hero-grid,.showcase{grid-template-columns:1fr}.hero-visual{min-height:470px}.hero-mockup{flex-direction:column;gap:12px;padding:16px}.mockup-phone{width:140px}.mockup-dashboard{width:200px;padding:10px}.mockup-dash-stats{gap:4px}.mockup-stat{padding:5px}.mockup-dash-chart{height:36px;padding:5px}.feature-strip,.stats{grid-template-columns:repeat(2,1fr)}.store-shell{grid-template-columns:1fr 320px}.product-grid{grid-template-columns:repeat(2,1fr)}.cards,.pricing{grid-template-columns:repeat(2,1fr)}.pricing .price-card:last-child{grid-column:1/-1}.pos-grid{grid-template-columns:repeat(3,1fr)}.dash-grid{grid-template-columns:1fr}.dash-actions .tenant-pill{display:none}}
@media(max-width:860px){.lead-grid{grid-template-columns:1fr}:root{--sidebar:0px}.footer{padding-bottom:calc(84px + env(safe-area-inset-bottom))}.nav-burger{display:grid}.nav .links{display:none}.mobile-cart{bottom:calc(78px + env(safe-area-inset-bottom));z-index:56}.side{display:flex;transform:translateX(-105%);width:min(300px,84vw);padding:14px 12px}.side-open .side{transform:none;box-shadow:0 0 60px rgba(0,0,0,.4)}.side-backdrop{display:block;position:fixed;inset:0;background:rgba(20,10,5,.45);backdrop-filter:blur(2px);z-index:65;opacity:0;pointer-events:none;transition:.2s}.side-open .side-backdrop{opacity:1;pointer-events:auto}body.side-collapsed .side{width:min(300px,84vw);padding:14px 12px}body.side-collapsed .side-wordmark,body.side-collapsed .nav-txt,body.side-collapsed .nav-label,body.side-collapsed .side-user-txt,body.side-collapsed .side-collapse{display:block}body.side-collapsed .side-head{justify-content:space-between;padding-bottom:16px}body.side-collapsed .nav-link{justify-content:flex-start;padding:10px 12px}body.side-collapsed .side-user{justify-content:flex-start;padding:8px 6px}.dash-burger{display:grid;place-items:center;width:38px;height:38px;flex:0 0 auto}.dash-main{margin-left:0}body.side-collapsed .dash-main{margin-left:0}.dash-top{padding:0 14px;padding-top:calc(0px + env(safe-area-inset-top))}.dash-content{padding:16px 14px 92px}.store-shell{grid-template-columns:1fr}.cart-panel{display:none}.mobile-cart{display:flex}.settings-grid{grid-template-columns:1fr}.settings-nav{position:static;display:flex;gap:6px;overflow:auto;padding-bottom:4px}.settings-nav button{flex:0 0 auto;white-space:nowrap}body.side-collapsed .side-collapse svg{transform:none}.dash-content .between,.dash-content .row{flex-wrap:wrap}.store-top .logo{height:36px;width:auto}.product-grid{grid-template-columns:repeat(2,1fr)}.bottom-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;z-index:55;left:0;right:0;bottom:0;background:var(--surface);backdrop-filter:blur(16px);border-top:1px solid var(--border);padding:7px 6px calc(7px + env(safe-area-inset-bottom))}.bottom-nav button,.bottom-nav a{border:0;background:transparent;display:grid;place-items:center;gap:4px;font-size:.68rem;color:var(--muted);font-weight:800}.bottom-nav .active{color:var(--brand)}.pos-layout{grid-template-columns:1fr;height:auto}.pos-cart{min-height:420px}.settings-grid{grid-template-columns:1fr}.settings-nav{display:flex;overflow:auto;position:static}.settings-nav button{flex:0 0 auto}.footer-grid{grid-template-columns:1fr 1fr}.kanban{grid-template-columns:repeat(4,270px)}}.between,.row{flex-wrap:wrap}.quick-actions .btn{flex:1 1 auto;justify-content:center}
@media(max-width:620px){:root{--nav-h:64px}.container{width:min(calc(100% - 20px),var(--max))}.feature-strip{grid-template-columns:1fr 1fr;gap:8px}.nav{height:64px;min-height:56px;gap:6px}.nav .container{width:min(calc(100% - 14px),var(--max))}.nav .row{gap:4px;flex-wrap:nowrap}.nav .icon-btn.sm{width:36px;height:36px}.nav .btn.primary{padding:8px 12px;font-size:.82rem;white-space:nowrap}.nav .logo{height:32px;width:auto}.nav .btn.secondary{display:none}#contrast-toggle{display:none!important}.hero{padding-top:20px}.hero-visual{min-height:320px;border-radius:22px}.floating.two{display:none}.feature-strip,.cards,.pricing,.stats{grid-template-columns:1fr}.price-card.popular{transform:none}.pricing .price-card:last-child{grid-column:auto}.section{padding:44px 0}.section-head{align-items:start;flex-direction:column}.store-top .inner{gap:6px;padding:6px 10px}.store-top .icon-btn{width:42px;height:42px}.store-search input{height:42px}.store-hero{min-height:200px;max-height:260px;border-radius:0}.store-hero .copy{left:14px;bottom:14px}.store-hero .copy h1{font-size:1.6rem}.product-grid{grid-template-columns:1fr 1fr;gap:8px}.product-card .img{aspect-ratio:4/3}.product-card .body{padding:8px 10px}.product-card .body h3{font-size:.84rem}.product-card .money{font-size:.84rem}.category-row{top:52px}.grid2{grid-template-columns:1fr}.chat-fab{bottom:calc(70px + env(safe-area-inset-bottom));width:48px;height:48px}.chatbox{right:10px;bottom:130px;height:calc(100vh - 160px);border-radius:20px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.pos-grid{grid-template-columns:repeat(2,1fr)}.dash-title p{display:none}.dash-top .pill{display:none}.dash-content{padding-top:14px}.panel{padding:12px}.panel-head{flex-wrap:wrap}.dash-title h1{font-size:1.24rem}.num-pad button{padding:10px;min-height:48px}.table th,.table td{padding:8px 6px;font-size:.82rem}.modal-product-img{height:auto}.store-contact-bar{flex-direction:column;gap:10px}.store-contact-actions{width:100%;justify-content:flex-start}}
/* Plano único: no celular o card e o painel "O que está incluído" empilham (o :has vence a regra base). */
@media(max-width:620px){.pricing:has(.included-list){grid-template-columns:1fr}}
/* Telas muito estreitas (320px): os itens do painel incluído empilham para não espremer. */
@media(max-width:380px){.pricing .included-list{grid-template-columns:1fr}}
@media(max-width:380px){.dash-main,.dash-content,.settings-grid,.settings-grid>*{min-width:0;max-width:100vw}.dash-content{overflow-x:hidden}.dash-top{flex-wrap:wrap}.dash-actions{width:100%;max-width:100%;min-width:0;flex:0 1 100%;justify-content:flex-start;flex-wrap:wrap}.automation>div{min-width:0}.automation .muted{overflow-wrap:anywhere}}
/* Delivery app shell — storefront e gestão de cardápio 2026 */
.store-brand{display:flex;align-items:center;gap:10px;min-width:180px;color:inherit;text-decoration:none}.store-brand>span{display:flex;flex-direction:column;line-height:1.15}.store-brand small{font-size:.68rem;color:var(--muted);font-weight:700}.store-brand b{font-size:.86rem;max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notification-bell{position:relative}.notification-bell>small{position:absolute;right:-3px;top:-4px;background:var(--red,#dc2626);color:#fff;border:2px solid var(--surface);border-radius:999px;min-width:19px;height:19px;display:grid;place-items:center;font-size:.62rem;font-weight:900}.store-shell [data-section]{scroll-margin-top:150px}.category-row{scrollbar-width:none;overscroll-behavior-inline:contain}.category-row::-webkit-scrollbar,.menu-category-filter::-webkit-scrollbar{display:none}.modifier-help{margin:4px 0 10px;color:var(--muted);font-size:.84rem;line-height:1.45}.group-count{margin:6px 0 0;font-size:.8rem;font-weight:700;color:var(--brand);padding:6px 10px;background:var(--brand-soft);border-radius:10px}.option-group.error{border-color:var(--red,#dc2626);box-shadow:0 0 0 2px rgba(220,38,38,.18);animation:shake .3s ease}@keyframes shake{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-3px)}40%,80%{transform:translateX(3px)}}.profile-avatar-section{display:flex;align-items:center;gap:14px;padding:16px 0 8px;border-bottom:1px solid var(--border);margin-bottom:16px}
.profile-avatar{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,var(--brand),var(--brand-2));display:grid;place-items:center;flex:0 0 auto;overflow:hidden;position:relative;cursor:pointer;border:3px solid var(--border);transition:border-color .2s}
.profile-avatar:hover{border-color:var(--brand)}
.profile-avatar img{width:100%;height:100%;object-fit:cover}
.profile-avatar-letter{font-size:1.6rem;font-weight:900;color:#fff}
.profile-address,.modifier-builder{margin-top:18px;padding:16px;border:1px solid var(--border);border-radius:18px;background:var(--surface-2)}.profile-address h4,.modifier-builder h4{margin:0}.account-actions{margin-top:18px;justify-content:flex-end;flex-wrap:wrap}.notification-center{max-width:520px}.notification-list{display:grid;gap:8px}.notification-item{width:100%;border:1px solid var(--border);background:var(--surface);border-radius:14px;padding:13px;display:grid;grid-template-columns:8px 1fr;gap:10px;text-align:left;color:inherit}.notification-item:hover{border-color:var(--brand);transform:translateY(-1px)}.notification-item small{display:block;color:var(--muted);margin-top:4px}.notification-dot{width:8px;height:8px;border-radius:50%;background:transparent;margin-top:5px}.notification-item.unread .notification-dot{background:var(--brand)}.notification-item.unread{background:color-mix(in srgb,var(--brand) 7%,var(--surface))}.empty-state{text-align:center;padding:34px 18px}.empty-state>b{font-size:1.05rem}.menu-admin-head{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:14px}.menu-category-filter{display:flex;gap:8px;overflow:auto;padding:2px 2px 14px;scrollbar-width:none}.menu-category-filter .cat-btn{flex:0 0 auto}.menu-category-filter small{opacity:.68;margin-left:4px}.menu-products-panel{padding:0;overflow:hidden}.product-cell img{width:54px;height:54px;object-fit:cover;border-radius:13px;border:1px solid var(--border)}.danger-text{color:var(--red,#b42318)!important}.category-manager-list{display:grid;gap:9px;margin-top:18px}.category-manager-item{display:grid;grid-template-columns:minmax(150px,1fr) auto auto auto;align-items:center;gap:8px}.modifier-builder{padding:16px}.modifier-edit-group{border:1px solid var(--border);border-radius:14px;padding:14px;margin-top:12px;background:var(--surface)}.modifier-group-head{display:flex;gap:8px;align-items:center}.modifier-group-head .input{font-weight:800}.modifier-rules{display:grid;grid-template-columns:100px 100px minmax(180px,1fr);gap:10px;margin:12px 0}.modifier-rules label{font-size:.75rem;color:var(--muted)}.modifier-rules .input{margin-top:4px}.modifier-options{display:grid;gap:7px}.modifier-option-row{display:grid;grid-template-columns:minmax(150px,1fr) 110px minmax(180px,1fr) 42px;gap:7px}.status-banner{padding:13px 16px;border-radius:12px;margin-bottom:14px}.status-banner.warn{background:#fff3cd;color:#795900}.store-error .kicker{max-width:520px}
@media(max-width:760px){.store-top .inner{display:grid;grid-template-columns:38px minmax(0,1fr) 42px 42px 42px;gap:5px;padding:7px 10px;align-items:center}.store-brand{min-width:auto;width:auto;overflow:hidden}.store-brand .logo{width:38px;height:auto}.store-brand>span{display:none}.store-top .store-search{display:none}.store-top .store-search-expand{display:flex;min-width:0}.store-top .store-search-expand input{height:42px;font-size:.86rem;padding:0 12px 0 36px;border-radius:12px}.store-top .store-search-expand .search-icon{left:10px;width:16px;height:16px}#store-theme-toggle,#locate-btn{display:none!important}.store-hero{border-radius:0;margin-inline:-14px;min-height:220px;max-height:280px}.store-hero .copy{padding:16px}.store-hero h1{font-size:1.8rem}.store-shell{padding-top:0;padding-bottom:calc(80px + env(safe-area-inset-bottom))}.category-row{position:sticky;top:56px;z-index:18;margin-inline:-12px;padding:8px 12px;background:color-mix(in srgb,var(--bg) 93%,transparent);backdrop-filter:blur(16px);border-bottom:1px solid var(--border)}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.product-card .img{aspect-ratio:4/3}.product-card .body{padding:10px 12px}.product-card .body h3{font-size:.88rem;font-weight:800;line-height:1.25;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word}.product-card .body p{display:none}.product-card .money{font-size:.88rem}.menu-admin-head{align-items:stretch;flex-direction:column}.menu-admin-head .row{overflow:auto;flex-wrap:nowrap}.category-manager-item{grid-template-columns:1fr auto}.category-manager-item .pill{grid-row:2}.modifier-rules{grid-template-columns:1fr 1fr}.modifier-rules label:last-child{grid-column:1/-1}.modifier-option-row{grid-template-columns:1fr 84px 40px}.modifier-option-image{grid-column:1/-1;grid-row:2}.account-actions>*{flex:1}.notification-center{width:min(100%,520px)}.menu-products-panel .table{min-width:780px}}
@media(max-width:390px){.store-top .inner{grid-template-columns:34px minmax(0,1fr) 40px 40px 40px;gap:3px;padding:5px 6px}.store-top .icon-btn{width:40px;height:40px}.store-brand .store-logo,.store-brand .store-logo-fallback{width:36px;height:36px}.product-grid{gap:6px}.product-card .body{padding:7px 8px}.product-card .body h3{font-size:.8rem}.product-card .money{font-size:.8rem}.product-card .add-btn{height:48px;border-radius:12px;font-size:.85rem}.bottom-nav{padding:4px 2px calc(4px + env(safe-area-inset-bottom))}.bottom-nav span{font-size:.6rem}.bottom-nav svg{width:20px;height:20px}.category-row{top:48px;padding:6px 10px}.cat-btn{min-height:38px;padding:8px 12px;font-size:.76rem}.store-hero .copy h1{font-size:1.4rem}.store-hero .store-meta .pill{padding:4px 7px;font-size:.68rem}}
@media(max-width:760px){.store-hero,.category-row{width:calc(100% + 20px);max-width:none;margin-left:-10px;margin-right:-10px}}
/* ============ Dark mode ============ */
:root[data-theme="dark"]{
  --bg:#171210;--surface:#221b16;--surface-2:#2b2119;--surface-3:#251e19;
  --ink:#f7eee3;--muted:#b8a99a;--border:#3a2e23;
  --brand:#ff9e4d;--brand-2:#ffb066;--brand-soft:#331f10;
  --amber:#ffb33d;--amber-ink:#2b1a00;
  --green:#4dd493;--green-soft:#143022;--yellow:#ffd94d;--red:#ff7a6e;
  --danger:#ff7a6e;--danger-soft:#2a1515;
  --success:#4dd493;--success-soft:#143022;
  --warning:#ffb33d;--warning-soft:#2a2015;
  --shadow:0 18px 50px rgba(0,0,0,.5);--shadow-sm:0 8px 24px rgba(0,0,0,.4)
}
/* ============ Alto contraste (WCAG AAA-friendly) ============ */
:root[data-contrast="high"]{
  --bg:#ffffff;--surface:#ffffff;--surface-2:#fff1e0;--surface-3:#f5ede4;
  --ink:#1a1209;--muted:#4a3f35;--border:#8a7a6a;
  --brand:#8a2800;--brand-2:#a53a00;--brand-soft:#ffddc4;
  --amber:#a56f00;--amber-ink:#120a00;
  --green:#005f34;--green-soft:#dff3e8;--yellow:#8a6a00;--red:#b3261e;
  --danger:#b3261e;--danger-soft:#fde8e7;
  --success:#005f34;--success-soft:#dff3e8;
  --warning:#a56f00;--warning-soft:#fef3e0;
  --shadow:0 18px 50px rgba(69,38,20,.12);--shadow-sm:0 8px 24px rgba(69,38,20,.10)
}
:root[data-theme="dark"][data-contrast="high"]{
  --bg:#000000;--surface:#0d0a08;--surface-2:#1c1510;--surface-3:#16110d;
  --ink:#ffffff;--muted:#d8cfc6;--border:#7a6857;
  --brand:#ffb066;--brand-2:#ffca8f;--brand-soft:#3a2413;
  --amber:#ffc97d;--amber-ink:#1c0e00;
  --green:#8ff0c0;--green-soft:#0c2418;--yellow:#ffe08a;--red:#ff9b91;
  --danger:#ff9b91;--danger-soft:#2a1515;
  --success:#8ff0c0;--success-soft:#0c2418;
  --warning:#ffc97d;--warning-soft:#2a2015;
  --shadow:0 18px 50px rgba(0,0,0,.6);--shadow-sm:0 8px 24px rgba(0,0,0,.5)
}
:root[data-contrast="high"] .btn.secondary,:root[data-contrast="high"] .icon-btn,
:root[data-contrast="high"] .cat-btn,:root[data-contrast="high"] .qty button,:root[data-contrast="high"] .num-pad button,
:root[data-contrast="high"] .option{border-width:2px;border-style:solid;border-color:var(--ink)}
:root[data-contrast="high"] .pill{border-width:2px;border-color:var(--border)}
:root[data-contrast="high"] .card,:root[data-contrast="high"] .panel,:root[data-contrast="high"] .product-card,
:root[data-contrast="high"] .modal,:root[data-contrast="high"] .ticket,:root[data-contrast="high"] .pos-card,
:root[data-contrast="high"] .cart-panel,:root[data-contrast="high"] .mini-feature,:root[data-contrast="high"] .notify-panel{border-width:2px;border-style:solid;border-color:var(--border)}
:root[data-contrast="high"] .btn.primary{box-shadow:none}
:root[data-theme="dark"][data-contrast="high"] .btn.primary{color:#000;box-shadow:none}
:root[data-contrast="high"] .summary .line.total{border-top-width:2px;border-top-color:var(--ink)}
:root[data-contrast="high"] .pill.brand{color:#7a2400}
:root[data-theme="dark"][data-contrast="high"] .pill.brand{color:#ffca8f}
:root[data-contrast="high"] a:focus-visible,:root[data-contrast="high"] button:focus-visible,
:root[data-contrast="high"] input:focus-visible,:root[data-contrast="high"] select:focus-visible,
:root[data-contrast="high"] textarea:focus-visible,:root[data-contrast="high"] [tabindex]:focus-visible{outline:3px solid var(--brand);outline-offset:3px}
[data-theme="dark"] body{background:var(--bg);color:var(--ink)}
[data-theme="dark"] .store-page,[data-theme="dark"] .dashboard{background:var(--bg)}
[data-theme="dark"] .nav,[data-theme="dark"] .store-top{background:rgba(20,17,16,.92);border-color:var(--border)}
[data-theme="dark"] .dash-top{background:rgba(29,25,22,.92);border-color:var(--border)}
[data-theme="dark"] .bottom-nav{background:rgba(24,20,18,.97);border-color:var(--border)}
[data-theme="dark"] .side{background:#12100e}
[data-theme="dark"] .side a:hover,[data-theme="dark"] .side a.active{background:#2b211a}
[data-theme="dark"] .card,[data-theme="dark"] .panel,[data-theme="dark"] .product-card,[data-theme="dark"] .cart-panel,
[data-theme="dark"] .modal,[data-theme="dark"] .modal-head,[data-theme="dark"] .chatbox,[data-theme="dark"] .ticket,
[data-theme="dark"] .pos-card,[data-theme="dark"] .pos-cart,[data-theme="dark"] .stat,[data-theme="dark"] .order-row,
[data-theme="dark"] .notify-panel,[data-theme="dark"] .floating,[data-theme="dark"] .option,
[data-theme="dark"] .mini-feature,[data-theme="dark"] .showcase-copy,[data-theme="dark"] .cart-empty .big{background:var(--surface);border-color:var(--border);color:var(--ink)}
[data-theme="dark"] .modal-body{background:var(--surface)}
[data-theme="dark"] .kanban-col{background:#241e19}
[data-theme="dark"] .input,[data-theme="dark"] .textarea{background:var(--surface-2);border-color:var(--border);color:var(--ink)}[data-theme="dark"] .mockup-phone{border-color:#333}[data-theme="dark"] .mockup-dashboard{background:var(--surface)}[data-theme="dark"] .mockup-stat{background:var(--surface-2)}[data-theme="dark"] .mockup-dash-chart{background:var(--surface-2)}[data-theme="dark"] .mockup-product-img{background:var(--surface-2)}[data-theme="dark"] .mockup-line{background:var(--surface-2)}[data-theme="dark"] .mockup-cat{background:var(--surface-2)}
[data-theme="dark"] .store-search input,[data-theme="dark"] .chat-input input{background:var(--surface-2);border-color:var(--border);color:var(--ink)}
[data-theme="dark"] .input::placeholder,[data-theme="dark"] .textarea::placeholder,[data-theme="dark"] .store-search input::placeholder,[data-theme="dark"] .chat-input input::placeholder{color:var(--muted)}
[data-theme="dark"] .btn.secondary{background:var(--surface);color:var(--ink);border-color:var(--border)}
[data-theme="dark"] .btn.primary{color:#211710}
[data-theme="dark"] .btn.ghost{color:var(--ink)}
[data-theme="dark"] .icon-btn{background:var(--surface);border-color:var(--border);color:var(--ink)}
[data-theme="dark"] .category-row{background:var(--bg)}
[data-theme="dark"] .cat-btn{background:var(--surface);border-color:var(--border);color:var(--ink)}
[data-theme="dark"] .cat-btn.active{color:#211710}
[data-theme="dark"] .product-card .img,[data-theme="dark"] .modal-product-img{background:var(--surface-2)}
[data-theme="dark"] .msg.bot{background:var(--surface-2)}
[data-theme="dark"] .chat-messages{background:linear-gradient(#1d1916,#17130f)}
[data-theme="dark"] .quick button{background:var(--brand-soft);border-color:#5a3a20;color:#ffb98a}
[data-theme="dark"] .chat-order{background:var(--surface-2);border-color:var(--border)}
[data-theme="dark"] .tabs{background:var(--surface-3)}
[data-theme="dark"] .tabs button{color:var(--muted)}
[data-theme="dark"] .tabs button.active{background:var(--surface);box-shadow:none;color:var(--ink)}
[data-theme="dark"] .qty button,[data-theme="dark"] .num-pad button{background:var(--surface);border-color:var(--border);color:var(--ink)}
[data-theme="dark"] .cart-item,[data-theme="dark"] .summary .line.total{border-color:var(--border)}[data-theme="dark"] .cart-item-edit{color:var(--brand)}[data-theme="dark"] .cart-item-edit:hover{color:#ffca8f}
[data-theme="dark"] .table th{color:var(--muted)}
[data-theme="dark"] .table td{border-color:var(--border)}
[data-theme="dark"] .settings-nav button{color:var(--muted)}
[data-theme="dark"] .settings-nav button.active{background:var(--surface);border-color:var(--border);color:var(--ink)}
[data-theme="dark"] .pill{background:var(--surface);border-color:var(--border)}
[data-theme="dark"] .pill.good{background:var(--green-soft);border-color:#1e4a36;color:#7fe0b5}
[data-theme="dark"] .pill.brand{background:var(--brand-soft);border-color:#5a3a20;color:#ffb98a}
[data-theme="dark"] .status.new{background:var(--brand-soft);color:#ffb98a}
[data-theme="dark"] .status.preparing{background:#2e2811;color:#ffe08a}
[data-theme="dark"] .status.ready{background:var(--green-soft);color:#7fe0b5}
/* Contraste bidirecional: no dark a marca vira laranja claro — texto branco quebraria (2.05:1).
   Elementos com fundo var(--brand) passam a usar texto escuro (mesmo padrão do .btn.primary). */
[data-theme="dark"] .nav .links{color:var(--muted)}
[data-theme="dark"] .bot-avatar{color:#211710}
[data-theme="dark"][data-contrast="high"] .bot-avatar{color:#000}
[data-theme="dark"] .store-search button,[data-theme="dark"] .add-btn,[data-theme="dark"] .chat-fab,
[data-theme="dark"] .msg.user,[data-theme="dark"] .chat-input button,[data-theme="dark"] .skip-link,
[data-theme="dark"] .map-pin-home,[data-theme="dark"] .cat-btn.active,
[data-theme="dark"] .chat-head,[data-theme="dark"] .chat-head .icon-btn,
[data-theme="dark"] .chatbox .bot-avatar,[data-theme="dark"] .chat-prod-add{color:#211710}
[data-theme="dark"] .chat-sub{color:rgba(33,23,16,.8)}
[data-theme="dark"][data-contrast="high"] .chat-sub{color:rgba(0,0,0,.9)}
[data-theme="dark"][data-contrast="high"] .store-search button,[data-theme="dark"][data-contrast="high"] .add-btn,
[data-theme="dark"][data-contrast="high"] .chat-fab,[data-theme="dark"][data-contrast="high"] .msg.user,
[data-theme="dark"][data-contrast="high"] .chat-input button,[data-theme="dark"][data-contrast="high"] .skip-link,
[data-theme="dark"][data-contrast="high"] .map-pin-home,[data-theme="dark"][data-contrast="high"] .cat-btn.active,
[data-theme="dark"][data-contrast="high"] .chat-head,[data-theme="dark"][data-contrast="high"] .chat-head .icon-btn,
[data-theme="dark"][data-contrast="high"] .chatbox .bot-avatar,[data-theme="dark"][data-contrast="high"] .chat-prod-add{color:#000}
[data-theme="dark"] .status-pill.closed{color:#1c0604;background:var(--red);border-color:var(--red)}
[data-theme="dark"][data-contrast="high"] .status-pill.closed{color:#200605;background:var(--red);border-color:var(--red)}
[data-theme="dark"] .min-order,[data-theme="dark"] .cash-line{background:var(--surface-2);border-color:#5a3a20;color:#ffc98a}
[data-theme="dark"] .backdrop{background:rgba(0,0,0,.62)}
[data-theme="dark"] .hero-visual{background:linear-gradient(135deg,#2a1a0e,#241a10)}
[data-theme="dark"] .phone-lines span{background:#2e2721}
[data-theme="dark"] .footer{border-color:var(--border)}
[data-theme="dark"] .toast{background:#0d0a08}
[data-theme="dark"] ::-webkit-scrollbar-thumb{background:#3a312a;border-color:#171310;background-clip:padding-box}
[data-theme="dark"] .leaflet-tile{filter:brightness(.78) contrast(1.05) invert(1) hue-rotate(180deg)}
[data-theme="dark"] .store-hero:after{background:linear-gradient(90deg,rgba(8,4,2,.85),rgba(8,4,2,.1))}
/* ============ KDS alert ============ */
@keyframes kdsFlash{0%,100%{box-shadow:0 0 0 0 rgba(255,138,61,0)}50%{box-shadow:0 0 0 5px rgba(255,138,61,.5)}}
.ticket.flash{animation:kdsFlash 1.1s ease-in-out 3}
.kds-alert{display:flex;align-items:center;gap:10px;background:var(--brand-soft);border:1px solid #ffc9aa;color:#8a3a00;border-radius:14px;padding:12px 14px;font-weight:850;margin-bottom:14px;animation:pop .25s ease}
[data-theme="dark"] .kds-alert{color:#ffb98a;border-color:#5a3a20}
.warn-pill{background:#fff7da;border-color:#f3e3b0;color:#8a4b00}[data-theme="dark"] .warn-pill{background:#2e2811;border-color:#5a4a20;color:#ffe08a}
.pos-add-flash{animation:posFlash .3s ease}
@keyframes posFlash{0%{transform:scale(1)}50%{transform:scale(.94)}100%{transform:scale(1)}}
/* ============ Tracking map ============ */
#order-map{height:280px;border-radius:18px;overflow:hidden;margin-top:18px;border:1px solid var(--border);background:#e8e2db;z-index:0}
.map-pin-home{width:26px;height:26px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font-size:14px;border:2px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.35)}
[data-theme="dark"] #order-map{background:#1d1916}
/* Cardápio copiado: selos operacionais, indisponibilidade e personalização em etapas. */
.product-card .img{position:relative}.product-badges{position:absolute;z-index:2;left:9px;top:9px;display:flex;gap:5px;flex-wrap:wrap;max-width:calc(100% - 52px)}.product-badges span{background:#fff;color:#7d2e00;border-radius:999px;padding:5px 8px;font-size:.66rem;font-weight:950;box-shadow:0 3px 12px rgba(0,0,0,.14)}.product-card.sold-out{opacity:.68;filter:saturate(.45)}.product-card.sold-out:hover{transform:none}.product-card.sold-out .add-btn{background:var(--muted);cursor:not-allowed}.wizard-progress{display:flex;flex-direction:column;align-items:center;gap:6px;margin:0 0 16px}.wizard-step-label{font-size:.72rem;font-weight:700;color:var(--muted);letter-spacing:.03em}.wizard-dots{display:flex;gap:7px;width:100%}.wizard-dots span{height:5px;flex:1;border-radius:10px;background:var(--border);transition:background .2s}.wizard-dots span.active{background:var(--brand)}.wizard-backdrop{touch-action:pan-y}.wizard-modal .modal-body{overscroll-behavior:contain;overflow-y:auto;-webkit-overflow-scrolling:touch}.wizard-swipe-area{touch-action:pan-y;position:relative}#wizard-selections{display:grid;gap:10px;background:var(--surface-2)}.product-flags{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:10px}.product-flags .option{margin:0}
[data-theme="dark"] .product-badges span{background:#2a211c;color:#ffb98a}
@media(max-width:620px){.product-flags{grid-template-columns:1fr}.wizard-intro .modal-product-img{height:auto}.modal.wide .modal-body{padding:14px}.modal.wide .modal-head{padding:14px 16px}.flavor-option{grid-template-columns:46px 1fr auto}.flavor-thumb{width:46px;height:46px}.zip-row{flex-direction:column;gap:6px}.zip-row .btn{width:100%}}
/* Mobile food-app polish: contraste bidirecional, toque e largura segura. */
.store-meta .pill{background:rgba(255,255,255,.94);border:1px solid rgba(33,23,16,.16);color:#211710}
.flavor-option{min-height:64px;transition:border-color .18s,background .18s,transform .18s}
.flavor-option:has(input:checked){border-color:var(--brand);background:color-mix(in srgb,var(--brand) 12%,var(--surface));box-shadow:0 0 0 1px var(--brand)}
.pizza-preview-label,.pizza-half b{background:rgba(20,12,8,.9);color:#fff}
[data-theme="dark"] .cat-btn.active{background:var(--brand);border-color:var(--brand);color:#211710}
[data-theme="dark"] .store-meta .pill{background:rgba(20,15,12,.94);border-color:#705744;color:#f7eee3}
@media(max-width:860px){
  .store-brand{min-height:48px}
  .bottom-nav button,.bottom-nav a{min-height:52px;padding:5px 2px;touch-action:manipulation}
  .modal .btn{min-height:48px}
}
@media(max-width:760px){
  .store-hero,.category-row{width:calc(100% + 32px);max-width:none;margin-left:-16px;margin-right:-16px}
  .product-card .fav{width:48px;height:48px;min-width:48px;touch-action:manipulation}
  .product-card .add-btn{height:48px;touch-action:manipulation}
  .store-search input{height:52px}
  .store-search button{width:48px;height:48px;top:2px;right:2px;touch-action:manipulation}
  .cat-btn{min-height:48px;touch-action:manipulation}
  .store-shell{padding-bottom:160px}
}
@media(max-width:620px){
  .store-hero,.category-row{width:calc(100% + 22px);margin-left:-11px;margin-right:-11px}
}
.header-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover}
.icon-btn.has-avatar{padding:4px}
.store-logo{width:52px;height:52px;object-fit:contain;border-radius:14px;background:#fff;flex:0 0 auto}
.store-logo-fallback{width:48px;height:48px;border-radius:14px;display:grid!important;place-items:center;background:var(--brand);color:#fff;font-weight:950;letter-spacing:.02em;flex:0 0 auto}
.tracking-store-brand{display:inline-flex;align-items:center;text-decoration:none;color:inherit}
.tracking-store-brand .store-logo,.tracking-store-brand .store-logo-fallback{width:64px;height:64px}
.logo-preview{width:92px;height:92px;border-radius:20px;border:1px solid var(--border);background:var(--surface-2);display:grid;place-items:center;overflow:hidden;flex:0 0 auto;font-size:1.5rem;font-weight:950;color:var(--brand)}
.logo-preview img{width:100%;height:100%;object-fit:contain;background:#fff}
.store-logo-setting{margin-bottom:18px;padding:16px;border:1px solid var(--border);border-radius:18px;background:var(--surface-2)}
.pix-steps{margin:12px 0 10px;padding-left:22px;color:var(--muted);font-size:.84rem;line-height:1.55}
.pix-steps b{color:var(--ink)}
.post-order-contact{display:grid;gap:7px;margin-top:16px;text-align:center}
.post-order-contact small{color:var(--muted);font-size:.75rem}
[data-theme="dark"] .store-logo,[data-theme="dark"] .logo-preview img{background:#fff}
@media(max-width:390px){
  .product-card .fav{min-height:44px}
  .mobile-cart{min-height:44px}
}
/* O fieldset nativo conserva largura mínima própria; resetá-lo evita overflow no modal. */
.modal{overflow-x:hidden}
.modal-body,.option-group{min-width:0}
fieldset.option-group{border:0;padding:0;min-inline-size:0}
@media(max-width:620px){
  .option-group legend{align-items:flex-start;flex-direction:column}
  .option-group legend .pill{white-space:normal;line-height:1.35}
  .flavor-option{grid-template-columns:46px minmax(0,1fr) auto;gap:8px;padding:10px}
  .flavor-option label{min-width:0;overflow-wrap:anywhere}
}
/* O lojista pode manter uma matriz simples de preço por tamanho sem editar JSON. */
.modifier-option-row{grid-template-columns:minmax(145px,1fr) 105px minmax(230px,1.2fr) minmax(160px,1fr) 42px}
@media(max-width:760px){
  .modifier-option-row{grid-template-columns:1fr 84px 40px}
  .modifier-option-overrides{grid-column:1/-1;grid-row:2}
  .modifier-option-image{grid-column:1/-1;grid-row:3}
}
/* Página pública: prova real, canais oficiais e uso eficiente do desktop. */
.pilot-line{color:inherit;text-decoration:none}.pilot-line img{width:48px;height:48px;object-fit:contain;border-radius:14px;background:#fff;border:1px solid var(--border);flex:0 0 auto}
.store-contact-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;padding:12px 14px;border:1px solid var(--border);border-radius:18px;background:var(--surface)}
.store-contact-address{display:flex;align-items:center;gap:10px;min-width:0}.store-contact-address>svg{color:var(--brand);flex:0 0 auto}.store-contact-address span{display:grid;min-width:0}.store-contact-address small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:430px}
/* Text overflow protection: prevent any text from breaking layout */
.store-brand b,.store-brand small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cart-panel h3,.modal-head h3,.dash-title h1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.product-card h3,.product-card p,.cart-item-name,.sheet-item b{overflow:hidden;text-overflow:ellipsis}
.category-row .cat-btn{white-space:nowrap}
.btn,.icon-btn,.pill{overflow:hidden;text-overflow:ellipsis}
.summary .line span,.summary .line b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ticket .items,.ticket .code{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.store-contact-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.store-contact-actions .btn{min-height:40px}
.menu-sections{display:grid;grid-template-columns:1fr;gap:28px}.menu-section.multi-category{grid-column:1/-1}
.alert-overflow{display:none}.alert-overflow.shown{display:grid}.alerts-more{align-self:center;margin-top:2px}
@media(max-width:860px){
  .menu-sections{display:block}
}
@media(max-width:760px){
  .store-contact-bar{align-items:flex-start;flex-direction:column;margin-inline:-2px}.store-contact-address small{max-width:calc(100vw - 72px);white-space:normal}.store-contact-actions{width:100%;justify-content:flex-start;overflow:auto;flex-wrap:nowrap;padding-bottom:2px}.store-contact-actions .btn{flex:0 0 auto;min-height:44px}
  .store-contact-actions{scrollbar-width:none}.store-contact-actions::-webkit-scrollbar{display:none}
}
@media(max-width:620px){
  .new-store-btn{display:none}
  .alert-item{grid-template-columns:28px minmax(0,1fr)}.alert-item>.row{grid-column:2;justify-content:flex-end}
}
@media(max-width:390px){
  .store-top .inner{grid-template-columns:48px repeat(4,48px);gap:3px;padding-inline:6px}
}
/* ============ Carrinho flutuante expandível (swipe-up) ============ */
/* ============ Animações de transição nos modais ============ */
@keyframes backdropIn{from{opacity:0}to{opacity:1}}
@keyframes slideUp{from{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}
@keyframes slideDown{from{transform:translateY(0);opacity:1}to{transform:translateY(40px);opacity:0}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.backdrop{animation:fadeIn .2s ease}
.modal{animation:slideUp .28s cubic-bezier(.32,.72,0,1)}
.modal.wide{animation:slideUp .32s cubic-bezier(.32,.72,0,1)}
.modal.closing{animation:slideDown .2s ease forwards}
@media(max-width:620px){.modal{border-radius:24px 24px 0 0;align-self:end;max-height:92vh;animation:slideUp .3s cubic-bezier(.32,.72,0,1)}}
.chatbox{animation:slideUp .25s cubic-bezier(.32,.72,0,1)}
.notify-panel{animation:fadeIn .15s ease}
@media(prefers-reduced-motion:reduce){.backdrop,.modal,.modal.wide,.chatbox,.notify-panel{animation:none}.modal.closing{opacity:0}}
/* ============ Header mobile — busca expandível + avatar ============ */
.store-top .store-search-expand{display:none}
@media(max-width:760px){
  .store-top .inner{grid-template-columns:auto repeat(4,48px);align-items:center}
  .store-brand{min-width:auto;width:auto}
  .store-brand>span:not(.store-logo-fallback){display:none}
  .store-search{display:none}
  .store-top .store-search-expand{display:flex;flex:1;min-width:0;position:relative}
  .store-top .store-search-expand input{width:100%;height:48px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2);padding:0 14px 0 38px;outline:none;font-size:.9rem;transition:border-color .2s,box-shadow .2s}
  .store-top .store-search-expand input:focus{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 12%,transparent)}
  .store-top .store-search-expand input::placeholder{color:var(--muted)}
  .store-top .store-search-expand .search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}
  .store-top .store-search-expand .search-icon svg{width:18px;height:18px}
}
@media(max-width:390px){
  .store-top .inner{grid-template-columns:42px repeat(4,42px);gap:3px;padding-inline:5px}
  .store-brand .store-logo,.store-brand .store-logo-fallback{width:38px;height:38px}
}
/* ============ Lazy loading com blur-up ============ */
.product-card .img{position:relative;overflow:hidden;background:var(--surface-3)}
.product-card .img img,.product-card .img picture{transition:filter .4s ease,opacity .4s ease}
.product-card .img img.blur-up{filter:blur(12px);transform:scale(1.05);opacity:.7}
.product-card .img img.blur-up.loaded{filter:none;transform:scale(1);opacity:1}
.product-card .img .img-skeleton{position:absolute;inset:0;background:linear-gradient(90deg,var(--surface-3) 25%,var(--surface-2) 50%,var(--surface-3) 75%);background-size:200% 100%;animation:shimmer 1.4s ease-in-out infinite;border-radius:0}
.product-card .img .img-skeleton.loaded{opacity:0;transition:opacity .3s ease}
@media(max-width:760px){.product-card .img img.blur-up{filter:blur(8px);transform:scale(1.03)}}
/* ================================================================
   MOBILE OVERHAUL — experiência nativa de app de delivery
   ================================================================ */
/* --- Bottom nav: safe areas, pill indicators, animação --- */
.bottom-nav{padding-bottom:calc(8px + env(safe-area-inset-bottom))!important}
.bottom-nav a,.bottom-nav button{position:relative;transition:color .15s}
.bottom-nav .active{color:var(--brand)!important}
.bottom-nav .active::after{content:"";position:absolute;bottom:4px;left:50%;transform:translateX(-50%);width:20px;height:3px;border-radius:3px;background:var(--brand)}
/* --- Store header mobile: compacto e funcional --- */
@media(max-width:760px){
  .store-top{padding-top:env(safe-area-inset-top);background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border)}
  .store-top .inner{height:auto;padding:8px 12px;gap:6px}
  .store-brand{display:flex;align-items:center;gap:8px}
  .store-brand .store-logo,.store-brand .store-logo-fallback{width:40px;height:40px;border-radius:12px}
  .store-brand>span{display:none}
  .store-top .store-search-expand{flex:1;min-width:0}
  .store-top .store-search-expand input{height:44px;border-radius:12px;font-size:.88rem;padding:0 12px 0 36px}
  .store-top .icon-btn{width:44px;height:44px;border-radius:12px}
}
/* --- Category row: melhor sticky, sem barras de rolagem --- */
.category-row{scroll-padding:0 16px;gap:8px;padding:10px 20px 10px 20px}.category-row .cat-btn:last-child{margin-right:60px}
.cat-btn{min-height:44px;padding:10px 16px;font-size:.82rem;border-radius:12px;white-space:nowrap;transition:all .15s}
.cat-btn:active{transform:scale(.96)}
.cat-btn.active{box-shadow:0 2px 12px color-mix(in srgb,var(--brand) 30%,transparent)}
@media(max-width:760px){
  .category-row{position:sticky;top:60px;z-index:18;padding:8px 14px;background:color-mix(in srgb,var(--bg) 93%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border);margin-inline:-14px;width:calc(100% + 28px)}
  .cat-btn{min-height:42px;padding:9px 14px;font-size:.8rem}
}
/* --- Product cards mobile: touch-friendly, sem textos longos --- */
@media(max-width:760px){
  .product-grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .product-card{border-radius:16px;overflow:hidden}
  .product-card .img{aspect-ratio:4/3;background:var(--surface-3)}
  .product-card .img img{width:100%;height:100%;object-fit:cover}
  .product-card .body{padding:10px 12px}
  .product-card .body h3{font-size:.88rem;font-weight:800;line-height:1.25;margin:0 0 4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .product-card .body p{display:none}
  .product-card .bottom{margin-top:8px}
  .product-card .money{font-size:.88rem;font-weight:900}
  .product-card .add-btn{height:48px;border-radius:14px;font-size:.95rem}
  .product-card .fav{width:40px;height:40px;border-radius:50%}
  .product-card:hover{transform:none;box-shadow:none}
  .product-card:active{transform:scale(.97)}
}
@media(max-width:390px){
  .product-grid{grid-template-columns:repeat(2,1fr);gap:8px}
  .product-card .body{padding:8px 10px}
  .product-card .body h3{font-size:.82rem}
  .product-card .money{font-size:.82rem}
}
/* Cards uniformes em todos os tamanhos: sem tratamento especial para produto único. */
/* --- Mobile cart sheet: compacto, swipe intuitivo --- */
/* --- Modais mobile: bottom sheet --- */
@media(max-width:620px){
  .backdrop{padding:0;align-items:flex-end}
  .modal{width:100%;max-height:94vh;border-radius:24px 24px 0 0;animation:slideUp .28s cubic-bezier(.32,.72,0,1)}
  .modal-head{padding:14px 18px;border-radius:24px 24px 0 0}
  .modal-body{padding:16px 18px 24px}
  .modal.wide{max-height:94vh}
  .modal-head h3{font-size:1.1rem}
}
/* --- Hero mobile: compacto e impactante --- */
@media(max-width:760px){
  .store-hero{height:auto;min-height:240px;max-height:300px;border-radius:0;margin-inline:0}
  .store-hero .copy{padding:16px;bottom:16px;left:16px}
  .store-hero .copy h1{font-size:1.8rem;line-height:1}
  .store-hero .copy p{font-size:.86rem;margin-top:4px}
  .store-hero .store-meta{gap:6px}
  .store-hero .store-meta .pill{padding:6px 10px;font-size:.74rem}
}
/* --- Contact bar mobile --- */
@media(max-width:760px){
  .store-contact-bar{border-radius:14px;padding:10px 12px}
  .store-contact-address small{font-size:.78rem}
  .store-contact-actions{gap:6px}
  .store-contact-actions .btn{min-height:38px;padding:7px 10px;font-size:.78rem}
}
/* --- Bottom nav: FLOATING GLASS moderna --- */
@media(max-width:1024px){
  .bottom-nav{display:grid!important;grid-template-columns:repeat(5,1fr)!important;position:fixed!important;z-index:55!important;left:12px!important;right:12px!important;bottom:calc(8px + env(safe-area-inset-bottom))!important;width:auto!important;background:rgba(255,255,255,.88)!important;backdrop-filter:blur(24px) saturate(1.8)!important;-webkit-backdrop-filter:blur(24px) saturate(1.8)!important;border:1px solid rgba(234,223,214,.6)!important;border-radius:20px!important;padding:6px 8px!important;box-shadow:0 8px 32px rgba(69,38,20,.14),0 2px 8px rgba(69,38,20,.06)!important}
  .bottom-nav a,.bottom-nav button{border:0!important;background:transparent!important;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:2px!important;font-size:.64rem!important;color:var(--muted)!important;font-weight:800!important;min-height:48px!important;border-radius:14px!important;transition:all .2s cubic-bezier(.22,.61,.36,1)!important;position:relative;text-decoration:none!important}
  .bottom-nav a:active,.bottom-nav button:active{background:var(--surface-3)!important;transform:scale(.92)!important}
  .bottom-nav svg{width:22px!important;height:22px!important}
  .bottom-nav .active{color:var(--brand)!important}
  .bottom-nav .active::after{content:""!important;position:absolute!important;bottom:2px!important;left:50%!important;transform:translateX(-50%)!important;width:18px!important;height:3px!important;border-radius:3px!important;background:var(--brand)!important}
  .bottom-nav .active svg{filter:drop-shadow(0 3px 8px rgba(208,63,0,.3))!important}
}
[data-theme="dark"] .bottom-nav{background:rgba(20,17,16,.88)!important;border-color:rgba(58,46,35,.6)!important;box-shadow:0 8px 32px rgba(0,0,0,.3)!important}
/* --- Footer: espaço p/ bottom-nav flutuante (nav aparece até 1024px) --- */
@media(max-width:1024px){
  .footer{padding-bottom:calc(84px + env(safe-area-inset-bottom))}
}
/* --- Store shell mobile: padding para bottom nav --- */
@media(max-width:1024px){
  .store-shell{padding-bottom:calc(80px + env(safe-area-inset-bottom))}
}
/* --- Status pills mobile --- */
.store-meta .pill{white-space:nowrap}
@media(max-width:620px){
  .store-meta .pill{padding:5px 8px;font-size:.72rem}
  .store-meta .pill svg{width:14px;height:14px}
}
/* --- Toast mobile --- */
@media(max-width:620px){
  #toast-root{bottom:calc(70px + env(safe-area-inset-bottom));top:auto;left:12px;right:12px;justify-items:stretch}
  .toast{border-radius:14px;font-size:.88rem;text-align:center}
}
/* --- Checkout modal mobile --- */
@media(max-width:620px){
  .modal .tabs{gap:4px;padding:4px}
  .modal .tabs button{padding:8px;font-size:.82rem;border-radius:10px}
  .modal .grid2{gap:10px}
  .modal .form-group label{font-size:.76rem}
  .modal .input{height:44px;font-size:.9rem}
  .modal .textarea{min-height:80px;font-size:.9rem}
  .modal .btn{min-height:48px}
}
/* --- Skeleton loading mobile --- */
@media(max-width:760px){
  .skeleton{min-height:12px;border-radius:8px}
}
/* --- Dark mode adjustments mobile --- */
[data-theme="dark"] .store-top{background:color-mix(in srgb,var(--bg) 92%,transparent)}
[data-theme="dark"] .category-row{background:color-mix(in srgb,var(--bg) 93%,transparent)}
[data-theme="dark"] .bottom-nav{background:color-mix(in srgb,var(--surface) 94%,transparent)}
/* --- Wizard: step label & swipe area --- */
.wizard-progress{position:relative}
.wizard-step-label{text-transform:uppercase;letter-spacing:.06em;font-size:.68rem;color:var(--muted);margin-bottom:2px}
.wizard-swipe-area{overflow-y:auto;-webkit-overflow-scrolling:touch}
/* --- Wizard mobile: bottom sheet style --- */
@media(max-width:760px){
  .wizard-modal{max-height:calc(94dvh - 8px);border-radius:24px 24px 0 0;bottom:0;top:auto;transform:none;width:100%;max-width:100%;margin:0;padding-top:10px}
  .wizard-modal::before{content:'';display:block;width:36px;height:4px;border-radius:2px;background:var(--bg);margin:0 auto 2px}
  .wizard-modal .modal-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding-bottom:20px}
  .wizard-modal .modal-head{padding:12px 16px 8px;border-bottom:none}
  .wizard-modal .modal-foot{padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--border)}
  .wizard-step-label{font-size:.72rem}
  .wizard-dots span{height:4px}
}
/* --- Touch targets >=48px no mobile (WCAG 2.5.5 / spec E2E) --- */
@media(max-width:860px){
  .store-top .icon-btn{width:48px;height:48px}
  .cat-btn{min-height:48px;display:inline-flex;align-items:center;padding-block:11px}
  .product-card .add-btn{height:48px;border-radius:14px}
}
/* --- Transição do cardápio: entrada suave ao trocar categoria/busca --- */
@keyframes riseIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
#menu-area.menu-swap .menu-section{animation:riseIn .34s cubic-bezier(.22,.61,.36,1) both}
#menu-area.menu-swap .product-card{animation:riseIn .3s ease both}
#menu-area.menu-swap .product-card:nth-child(2){animation-delay:.03s}
#menu-area.menu-swap .product-card:nth-child(3){animation-delay:.06s}
#menu-area.menu-swap .product-card:nth-child(4){animation-delay:.09s}
#menu-area.menu-swap .product-card:nth-child(5){animation-delay:.12s}
#menu-area.menu-swap .product-card:nth-child(6){animation-delay:.15s}
#menu-area.menu-swap .product-card:nth-child(7){animation-delay:.18s}
#menu-area.menu-swap .product-card:nth-child(8){animation-delay:.21s}
/* --- Reduced motion: respeita preferência --- */
@media(prefers-reduced-motion:reduce){
  .bottom-nav a,.bottom-nav button,.cat-btn,.product-card,.mobile-cart{transition:none}
  .product-card:active,.cat-btn:active{transform:none}
  .wizard-backdrop,.wizard-backdrop .modal{animation:none}
}
/* ============ Drag-to-scroll (kanban + POS only) ============ */
.kanban.dragging,.pos-products.dragging{cursor:grabbing!important;-webkit-user-select:none;user-select:none;scroll-snap-type:none}
/* ============ Merchant POS/KDS scroll ============ */
.pos-products{scrollbar-width:thin;scrollbar-color:var(--border) transparent}
.kanban{scrollbar-width:thin;scrollbar-color:var(--border) transparent;-webkit-overflow-scrolling:touch}
.kanban-col{overflow-y:auto;max-height:calc(100vh - 200px);scrollbar-width:thin}
/* ============ PC scroll fixes ============ */
html,body{overflow-x:clip}
.store-page{overflow-x:clip;min-height:100vh}
.dash-main{overflow-y:auto;overflow-x:hidden}
.modal-body{overscroll-behavior:contain}
.side{overflow-y:auto;overflow-x:hidden}
.bottom-nav{overflow:visible}
/* Fix: permite scroll em qualquer area com overflow */
[style*="overflow"],.settings-nav,.menu-category-filter,.kanban,.table-scroll{scrollbar-width:thin;scrollbar-color:var(--border) transparent}
/* Tablets e telas intermediarias: garante que botoes nao saiam da tela */
@media(min-width:761px) and (max-width:1100px){
  .store-shell{grid-template-columns:1fr 280px;gap:16px;padding:20px 0 100px}
  .store-top .inner{gap:12px}
  .store-search{max-width:480px}
  .quick-actions .btn{flex:1 1 auto;min-width:0;padding:10px 12px;font-size:.82rem}
  .pos-layout{grid-template-columns:1fr 320px}
  .kanban{grid-template-columns:repeat(3,260px)}
}
@media(min-width:621px) and (max-width:760px){
  .quick-actions .btn{flex:1 1 auto;min-width:0;padding:8px 10px;font-size:.8rem}
}
/* ===== Calculadora de CMV ===== */
.cmv-panel{border:1px solid var(--border);border-radius:14px;background:var(--surface);padding:18px}
.cmv-head{display:flex;align-items:center;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:14px;text-align:center}
.cmv-value{font-size:2.2rem;font-weight:950;line-height:1}
.cmv-label{font-size:.85rem;color:var(--muted)}
.cmv-bar{position:relative;height:14px;border-radius:999px;background:var(--surface-2);overflow:hidden;border:1px solid var(--border)}
.cmv-fill{position:absolute;top:0;bottom:0;left:0;border-radius:999px;transition:width .4s ease}
.cmv-fill.good,.cmv-fill.ok{background:var(--green)}
.cmv-fill.warn{background:var(--amber)}
.cmv-fill.bad{background:var(--red)}
.cmv-fill.empty{background:var(--muted)}
.cmv-ideal{position:absolute;top:-2px;bottom:-2px;border-left:2px dashed var(--brand);border-right:2px dashed var(--brand);background:color-mix(in srgb,var(--brand) 8%,transparent);pointer-events:none}
.cmv-scale{display:flex;justify-content:space-between;font-size:.68rem;color:var(--muted);margin-top:5px}
.cmv-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;font-size:.86rem;margin-top:14px}
.cmv-grid>div{padding:10px;background:var(--surface-2);border-radius:10px;display:flex;flex-direction:column;gap:2px;min-width:0}
.cmv-grid>div b{font-size:1rem}
.cmv-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0;text-align:center}
.cmv-metric{padding:14px 10px;border-radius:12px;background:var(--surface-2);border:1px solid var(--border)}
.cmv-metric .value{font-size:1.4rem;font-weight:950;line-height:1.1}
.cmv-metric .label{font-size:.72rem;color:var(--muted);margin-top:4px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.cmv-metric.highlight{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 6%,var(--surface))}
.cmv-analysis{margin:14px 0;padding:14px;border-radius:12px;background:var(--surface-2);border:1px solid var(--border)}
.cmv-analysis h4{margin:0 0 8px;font-size:.9rem}
.cmv-analysis p{margin:0 0 6px;font-size:.82rem;color:var(--muted);line-height:1.5}
.cmv-advice{margin:14px 0 0;padding:0 0 0 18px;font-size:.82rem;color:var(--muted);display:grid;gap:6px}
.cmv-advice li{line-height:1.5}
.cmv-note{padding:12px;border-radius:10px;font-size:.86rem;background:var(--surface-2);border:1px dashed var(--amber);color:var(--amber)}
@media (prefers-reduced-motion:reduce){.cmv-fill{transition:none}}
@media (max-width:520px){.cmv-grid{grid-template-columns:1fr}.cmv-metrics{grid-template-columns:1fr}}
/* ============ Busca em tela cheia (mobile) ============ */
.search-overlay{position:fixed;inset:0;z-index:220;background:var(--bg);display:flex;flex-direction:column;padding-top:max(env(safe-area-inset-top),10px)}
.search-overlay[hidden]{display:none}
.search-head{display:flex;gap:10px;align-items:center;padding:8px 12px 12px;border-bottom:1px solid var(--border);background:var(--surface)}
.search-head .icon-btn{flex:0 0 auto;width:48px;height:48px;font-size:1.5rem;line-height:1}
.search-field{position:relative;flex:1;min-width:0}
.search-field input{width:100%;height:52px;font-size:1rem;padding:0 14px 0 42px;border-radius:14px;border:1px solid var(--border);background:var(--surface-2);color:var(--ink);outline:none;transition:border-color .2s,box-shadow .2s}
.search-field input:focus{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 14%,transparent)}
.search-field .search-icon{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}
.search-results{flex:1;overflow:auto;-webkit-overflow-scrolling:touch;padding:14px 14px calc(24px + env(safe-area-inset-bottom))}
.search-meta{font-size:.84rem;color:var(--muted);margin:2px 2px 12px}
.search-empty{text-align:center;color:var(--muted);padding:48px 20px}
.search-empty b{color:var(--ink);font-size:1.05rem;display:block;margin-bottom:6px}
body.no-scroll{overflow:hidden}body.no-scroll .mobile-cart{display:none!important}body.keyboard-open .mobile-cart{display:none!important}body.keyboard-open .bottom-nav{display:none!important}
@media(max-width:760px){
  .store-top .store-search-expand input{pointer-events:none}
}

/* ============ Assistente v2: painel flutuante no desktop, tela cheia só no celular ============ */
.chatbox{grid-template-rows:auto 1fr auto auto auto}
.chat-head{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--brand);color:#fff;border-bottom:0}.chat-head-actions{margin-left:auto;display:flex;align-items:center;gap:8px}
.chat-head .icon-btn{width:40px;height:40px;color:var(--brand)}
.chat-head .row{flex:1;min-width:0;align-items:center;display:flex;gap:10px}
.chat-head b{font-size:.98rem;display:block;line-height:1.15}
.chat-sub{font-size:.72rem;color:rgba(255,255,255,.88)}
.chatbox .bot-avatar{width:38px;height:38px;flex:0 0 auto;border-radius:50%;background:rgba(255,255,255,.22);display:grid;place-items:center;font-size:1.05rem;color:#fff}
.chat-order{margin:0 12px 6px;display:flex;align-items:center;gap:10px;background:var(--surface);color:var(--ink);border:1px solid var(--border);border-radius:14px;padding:9px 12px;text-align:left;width:auto}
.chat-messages{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:14px 14px 10px;background:var(--bg)}
.msg{max-width:80%;padding:9px 13px;border-radius:16px;margin:5px 0;font-size:.95rem;line-height:1.4;word-break:break-word}
.msg.user{margin-left:auto;background:var(--brand);color:#fff;border-bottom-right-radius:5px}
.msg.bot{background:var(--surface);border:1px solid var(--border);border-bottom-left-radius:5px}
.quick{display:flex;gap:8px;overflow-x:auto;padding:8px 12px 6px;scrollbar-width:none}
.quick::-webkit-scrollbar{display:none}
.quick button{flex:0 0 auto;white-space:nowrap;border:1.5px solid var(--brand);color:var(--brand);background:var(--surface);border-radius:999px;padding:7px 13px;font-weight:800;font-size:.84rem;min-height:40px}
/* Sugestões de produto COM foto — o cliente decide vendo o prato */
.chat-products{padding:2px 12px 8px;display:flex;flex-direction:column;gap:8px}
.chat-prod{display:flex!important;align-items:center;gap:11px;border:1.5px solid var(--border)!important;background:var(--surface)!important;color:var(--ink)!important;border-radius:15px!important;padding:7px 10px!important;text-align:left;width:100%}
.chat-prod img,.chat-prod-ph{width:48px;height:48px;flex:0 0 48px;border-radius:11px;object-fit:cover;background:var(--surface-2);display:grid;place-items:center;color:var(--muted)}
.chat-prod-ph svg{width:20px;height:20px}
.chat-prod-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.chat-prod-info b{font-size:.9rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat-prod-info small{color:var(--muted);font-weight:700}
.chat-prod-add{width:30px;height:30px;flex:0 0 30px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font-size:1.25rem;font-weight:800;line-height:1}
/* Carrinho VIVO dentro da conversa */
.chat-cart{margin:0;padding:10px 12px 4px;border-top:1px solid var(--border);background:var(--surface);max-height:min(300px,38vh);overflow-y:auto}
.chat-cart-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.chat-cart-head b{font-size:.92rem}
.cci-clear{border:0;background:none;color:var(--muted);text-decoration:underline;font-size:.78rem;font-weight:700;min-height:32px;padding:0 6px}
.chat-cart-list{display:flex;flex-direction:column;gap:8px}
.chat-cart-item{display:flex;gap:10px;align-items:flex-start;background:var(--bg);border:1px solid var(--border);border-radius:14px;padding:8px}
.chat-cart-item img,.chat-cart-item .chat-prod-ph{width:44px;height:44px;flex:0 0 44px;border-radius:10px;object-fit:cover}
.cci-info{flex:1;min-width:0}
.cci-info>b{display:block;font-size:.87rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cci-info>small{color:var(--muted);font-size:.74rem}
.cci-row{display:flex;align-items:center;gap:9px;margin-top:6px}
.cci-row .qty{display:inline-flex;align-items:center;gap:0;border:1px solid var(--border);border-radius:999px;overflow:hidden;background:var(--surface)}
.cci-row .qty button{width:34px;height:32px;border:0;background:transparent;color:var(--ink);font-size:1.05rem;font-weight:800;display:grid;place-items:center}
.cci-row .qty output{min-width:26px;text-align:center;font-weight:800;font-size:.86rem}
.cci-row strong{margin-left:auto;font-size:.88rem}
.cci-rm{border:0;background:none;color:var(--muted);width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-size:.85rem}
.cci-rm:hover{color:#c22;background:rgba(200,40,40,.09)}
.chat-cart-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:9px;margin-top:2px;border-top:1px dashed var(--border);font-size:.86rem}
.chat-input{display:flex;gap:8px;align-items:center;padding:8px 10px calc(10px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--border)}
.chat-input input{flex:1;min-width:0;height:44px;border-radius:22px;border:1px solid var(--border);background:var(--surface-2);color:var(--ink);font-size:16px;padding:0 15px;outline:none}
.chat-input input:focus{border-color:var(--brand)}
.chat-input button{flex:0 0 auto;width:44px;height:44px;border-radius:50%;border:0;background:var(--brand);color:#fff;display:grid;place-items:center}
.chat-input button svg{width:19px;height:19px}
/* Tela cheia estilo WhatsApp SOMENTE no celular (≤760px) */
@media(max-width:760px){
  .chatbox.chat-full{position:fixed;inset:0;z-index:230;width:auto;height:var(--vvh,100dvh);max-height:none;border-radius:0;box-shadow:none;background:var(--bg);display:flex;flex-direction:column;padding-top:env(safe-area-inset-top);right:0;bottom:0}
  .chat-full .chat-order{margin:0 12px 6px}
  /* No celular existe UM só botão de Assistente: o da barra inferior. */
  .chat-fab{display:none!important}
}

/* ============ Botões: micro-interações (hover/press/ripple) ============ */
/* Referências: sheen sweep + lift (BrasilCode/CodePen), estado pressionado e
   ripple (Ionic), morfismo do hambúrguer (FreeFrontend). Tudo desligado em
   prefers-reduced-motion e sem afetar alvos de toque ≥48px. */
@media(prefers-reduced-motion:no-preference){
  .btn,.add-btn,.cat-btn,.quick button{transition:transform .14s ease,box-shadow .22s ease,background-color .2s ease,color .2s ease,border-color .2s ease}
  .btn:active,.add-btn:active,.cat-btn:active,.quick button:active{transform:translateY(1px) scale(.98)}
  .icon-btn,.bottom-nav a,.bottom-nav button{transition:transform .12s ease,background-color .2s ease,color .2s ease}
  .icon-btn:active,.bottom-nav a:active,.bottom-nav button:active{transform:scale(.92)}
}
/* CTA primário: sombra viva + brilho que atravessa no hover */
.btn.primary{position:relative;overflow:hidden;box-shadow:0 4px 14px color-mix(in srgb,var(--brand) 32%,transparent)}
.btn.primary:hover{transform:translateY(-1px);box-shadow:0 8px 22px color-mix(in srgb,var(--brand) 42%,transparent)}
.btn.primary::after{content:'';position:absolute;top:-40%;bottom:-40%;left:-75%;width:48%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.28),transparent);transform:skewX(-18deg);pointer-events:none}
.btn.primary:hover::after{animation:btn-sheen .8s ease forwards}
@keyframes btn-sheen{to{left:135%}}
/* Cardápio: botão adicionar reage ao toque/hover */
.product-card .add-btn{position:relative;overflow:hidden}
.product-card .add-btn:hover{filter:brightness(.94);box-shadow:0 6px 16px color-mix(in srgb,var(--brand) 38%,transparent)}
.product-card .add-btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
/* Ripple (Material/Ionic): gerado via JS delegado, cor herdada do texto */
.ripple{position:absolute;border-radius:50%;background:currentColor;opacity:.16;transform:scale(0);animation:ripple .55s ease-out forwards;pointer-events:none}
@keyframes ripple{to{transform:scale(1);opacity:0}}
@media(prefers-reduced-motion:reduce){.ripple{display:none}}
/* Micro-interações extras de botão (uiverse/freefrontend) — neutras em layout e contraste */
.btn>svg{transition:transform .18s var(--ease-out)}
.btn:hover>svg{transform:scale(1.08)}
.btn:active>svg{transform:scale(.9)}
/* Ghost e secondary ganham varredura suave no hover (mesma linguagem do primary) */
.btn.ghost::before,.btn.secondary::before{content:'';position:absolute;top:-40%;bottom:-40%;left:-75%;width:48%;background:linear-gradient(105deg,transparent,color-mix(in srgb,var(--brand) 14%,transparent),transparent);transform:skewX(-18deg);pointer-events:none}
.btn.ghost:hover::before,.btn.secondary:hover::before{animation:btn-sheen .7s ease forwards}
/* Ações destrutivas: glow sutil no hover deixa o risco evidente */
.btn.danger:hover{box-shadow:0 6px 18px color-mix(in srgb,var(--red) 30%,transparent)}
@media(prefers-reduced-motion:reduce){.btn>svg{transition:none}.btn:hover>svg,.btn:active>svg{transform:none}.btn.ghost:hover::before,.btn.secondary:hover::before{animation:none}}
/* Hambúrguer da landing: 3 barras que morfam para X (FreeFrontend/slider-revolution) */
.burger-bars{display:flex;flex-direction:column;justify-content:center;gap:5px;width:18px}
.burger-bars span{height:2px;border-radius:2px;background:currentColor;transition:transform .25s ease,opacity .18s ease}
.nav-burger.open .burger-bars span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-burger.open .burger-bars span:nth-child(2){opacity:0;transform:scaleX(.4)}
.nav-burger.open .burger-bars span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(prefers-reduced-motion:reduce){.burger-bars span{transition:none}}

/* Auditoria de toque v29: nenhum controle acionável fica abaixo de 44 px em telas móveis. */
@media(max-width:860px){
  .mk-cat,.btn.sm,.ss-fav-hero,.product-card .fav,.public-store-links a{min-height:44px}
  .ss-fav-hero,.product-card .fav{min-width:44px;width:44px;height:44px}
}
/* Abas Entrar / Criar conta nas telas de autenticação */
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:var(--surface-2);border:1px solid var(--border);border-radius:14px;padding:4px;margin-top:20px}
.auth-tab{display:flex;align-items:center;justify-content:center;min-height:44px;border-radius:10px;font-weight:800;font-size:.92rem;color:var(--muted);text-decoration:none;transition:background .15s ease,color .15s ease}
.auth-tab:hover{color:var(--ink)}
.auth-tab.on{background:var(--brand);color:#fff}
.auth-tab:focus-visible{outline:2px solid var(--brand);outline-offset:2px}

/* Central de acesso: cliente e lojista escolhem o ambiente antes de autenticar. */
.desktop-owner-link{white-space:nowrap}
.access-hub-modal{width:min(610px,100%);border:1px solid color-mix(in srgb,var(--border) 78%,transparent)}
.access-hub-head{align-items:flex-start;padding:24px 26px 20px}
.access-hub-head h2{font-size:clamp(1.35rem,3vw,1.8rem);line-height:1.15;margin:5px 0 7px;color:var(--ink)}
.access-hub-head p{margin:0;color:var(--muted);font-size:.9rem}
.access-hub-head .icon-btn{flex:0 0 auto;margin-left:14px}
.access-profile-switch{position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;width:min(460px,100%);min-height:56px;margin:0 auto 16px;padding:4px;border:1px solid var(--border);border-radius:999px;background:var(--surface-2);box-shadow:inset 0 2px 7px rgba(32,18,9,.08);isolation:isolate}
.access-switch-slider{position:absolute;z-index:-1;left:4px;top:4px;bottom:4px;width:calc(50% - 4px);border-radius:999px;background:linear-gradient(135deg,var(--green),#34b77b);box-shadow:0 7px 18px color-mix(in srgb,var(--green) 30%,transparent);transition:transform .34s cubic-bezier(.22,.8,.25,1),background .25s ease,box-shadow .25s ease}
.access-profile-switch[data-active="merchant"] .access-switch-slider{transform:translateX(100%);background:linear-gradient(135deg,var(--brand),var(--brand-2));box-shadow:0 7px 18px color-mix(in srgb,var(--brand) 34%,transparent)}
.access-profile-switch button{position:relative;z-index:1;min-height:46px;border:0;border-radius:999px;background:transparent;color:var(--muted);display:flex;align-items:center;justify-content:center;gap:8px;font-weight:900;font-size:.92rem;cursor:pointer;transition:color .22s ease,transform .16s ease}
.access-profile-switch button:active{transform:scale(.97)}
.access-profile-switch button:focus-visible{outline:3px solid var(--brand);outline-offset:3px}
.access-profile-switch button svg{width:18px;height:18px}
.access-profile-switch[data-active="customer"] #access-customer-tab,.access-profile-switch[data-active="merchant"] #access-merchant-tab{color:#fff}
.access-panel-stage{width:min(460px,100%);margin:0 auto;min-height:354px}
.owner-access-stage{min-height:0}
.access-role-card{position:relative;display:flex;flex-direction:column;min-width:0;padding:22px;border:1px solid var(--border);border-radius:22px;background:linear-gradient(145deg,var(--surface),var(--surface-2));overflow:hidden}
.access-role-card[hidden]{display:none}
.access-role-card.active{animation:access-panel-in .3s cubic-bezier(.22,.8,.25,1)}
@keyframes access-panel-in{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.access-switch-slider{transition:none}.access-role-card.active{animation:none}}
.access-role-card::after{content:'';position:absolute;width:150px;height:150px;border-radius:50%;right:-62px;top:-74px;background:color-mix(in srgb,var(--brand) 12%,transparent);pointer-events:none}
.access-role-card.customer::after{background:color-mix(in srgb,var(--green) 12%,transparent)}
.access-role-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;color:var(--brand);background:var(--brand-soft);margin-bottom:14px}
.access-role-card.customer .access-role-icon{color:var(--green);background:var(--green-soft)}
.access-role-icon svg{width:24px;height:24px}
.access-role-tag{align-self:flex-start;border-radius:999px;padding:5px 9px;background:var(--surface);border:1px solid var(--border);font-size:.68rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.access-role-card h3{font-size:1.3rem;margin:10px 0 7px;color:var(--ink)}
.access-role-card p{color:var(--muted);font-size:.86rem;line-height:1.55;margin:0 0 18px;min-height:64px}
.access-role-actions{display:grid;gap:9px;margin-top:auto}
.access-role-card small{display:block;color:var(--muted);font-size:.72rem;text-align:center;margin-top:11px}
.access-learn{display:block;color:var(--brand);font-size:.78rem;font-weight:850;text-align:center;margin-top:11px}
.access-trust{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:16px;color:var(--muted);font-size:.78rem;text-align:center}
.access-trust svg{width:16px;height:16px;flex:0 0 auto;color:var(--green)}
.access-route-stage{position:relative;min-height:clamp(520px,72vh,760px);display:grid;align-items:center;overflow:hidden;background:var(--surface-2)}
.access-route-visual{position:absolute;inset:0;background:linear-gradient(90deg,rgba(23,12,6,.88) 0%,rgba(23,12,6,.66) 43%,rgba(23,12,6,.12) 76%),url('/assets/demo/showcase.jpg') center/cover;filter:saturate(1.08)}
.access-route-copy{position:relative;z-index:1;color:#fff;padding-top:70px;padding-bottom:70px}
.access-route-copy h1{max-width:640px;font-size:clamp(2rem,5vw,4rem);line-height:1.03;letter-spacing:-.045em;margin:12px 0 18px}
.access-route-copy p{max-width:590px;font-size:clamp(1rem,2vw,1.15rem);line-height:1.65;color:#f7e9df;margin:0}
.access-route-actions{margin-top:26px;gap:10px}
.access-route-actions .secondary{background:rgba(255,255,255,.94)}
@media(max-width:1150px){.desktop-owner-link{display:none}}
@media(max-width:620px){
  .access-hub-modal{max-height:calc(100dvh - 12px);border-radius:24px}
  .access-hub-head{padding:18px 18px 14px}
  .access-hub-head p{font-size:.82rem}
  .access-profile-switch{min-height:52px;margin-bottom:12px}
  .access-profile-switch button{min-height:42px;font-size:.86rem}
  .access-panel-stage{min-height:0}
  .access-role-card{padding:17px;border-radius:18px}
  .access-role-icon{width:42px;height:42px;margin-bottom:10px}
  .access-role-card h3{font-size:1.12rem;margin:8px 0 5px}
  .access-role-card p{min-height:0;margin-bottom:13px;font-size:.8rem}
  .access-trust{align-items:flex-start}
  .access-route-copy{text-align:center}
  .access-route-actions{justify-content:center}
}
/* ============ Topo mobile: alturas e assistente ============ */
@media(max-width:760px){
  .chat-fab{bottom:calc(78px + env(safe-area-inset-bottom))}
}

/* Modais e wizard sempre acima do assistente em tela cheia (z-230) */
.backdrop{z-index:240}

/* ============ Design System: Utility Classes ============ */
/* Cards informativos reutilizáveis (tax calculator, CMV, alerts) */
.info-card{padding:16px;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface)}
.info-card.danger{background:#fff0f0;border-color:#f5c6c2}
.info-card.success{background:#f0fff4;border-color:#ccebdc}
.info-card.brand{background:var(--brand-soft);border-color:var(--brand-soft)}
.info-card.amber{background:#fff7da;border-color:#f3e3b0}
[data-theme="dark"] .info-card.danger{background:#2a1515;border-color:#5a2020}
[data-theme="dark"] .info-card.success{background:#143022;border-color:#1e4a36}
[data-theme="dark"] .info-card.amber{background:#2e2811;border-color:#5a4a20}
/* Tipografia de suporte */
.text-xs{font-size:.76rem}.text-sm{font-size:.82rem}.text-base{font-size:.88rem}.text-lg{font-size:1rem}.text-xl{font-size:1.15rem}
/* Espaçamento consistente */
.mt-xs{margin-top:4px}.mt-sm{margin-top:8px}.mt-md{margin-top:14px}.mt-lg{margin-top:20px}.mt-xl{margin-top:28px}
.mb-xs{margin-bottom:4px}.mb-sm{margin-bottom:8px}.mb-md{margin-bottom:14px}.mb-lg{margin-bottom:20px}
/* Grid responsivo */
.grid-auto{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.grid-2col{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
@media(max-width:620px){.grid-2col{grid-template-columns:1fr}}

/* ============ Marketplace: busca de lojas próximas ============ */
.store-finder-bar{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0 14px}
.store-finder-bar .input{flex:1;min-width:160px}
.store-finder-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.chip{border:1px solid var(--border);background:#fff;color:var(--muted);font-weight:800;padding:9px 14px;border-radius:999px;font-size:.84rem;transition:.15s}
.chip:hover{border-color:var(--brand)}
.chip.active{background:var(--brand);color:#fff;border-color:var(--brand)}
.store-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.store-card{display:flex;align-items:center;gap:14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:16px;text-decoration:none;color:inherit;transition:.18s;box-shadow:var(--shadow-sm)}
.store-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-sm);border-color:var(--brand)}
.store-card-logo{width:54px;height:54px;border-radius:14px;overflow:hidden;flex:0 0 auto;background:var(--surface-3);display:grid;place-items:center;font-weight:900;font-size:1.4rem;color:var(--brand)}
.store-card-logo img{width:100%;height:100%;object-fit:cover}
.store-card-body{flex:1;min-width:0}
.store-card-name{font-size:1.02rem;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.store-card-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}
.store-card-meta .pill{font-size:.7rem;padding:3px 8px;border-radius:999px}
.store-card-arrow{font-size:1.6rem;color:var(--muted);flex:0 0 auto}
.pill.soft{background:var(--surface-2);color:var(--muted)}
.closed-banner{margin:14px 0 6px;padding:12px 16px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--border);font-size:.92rem}
.nearby-open-stores{margin-bottom:16px}
.orders-list{display:grid;gap:12px;margin-top:18px}
.order-history-card{display:block;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:16px;text-decoration:none;color:inherit;transition:.18s;box-shadow:var(--shadow-sm)}
.order-history-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);border-color:var(--brand)}
.order-history-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.order-history-total{margin-top:8px;font-size:1.05rem}
@media(max-width:620px){.store-finder-bar{flex-direction:column}.store-grid{grid-template-columns:1fr}.store-card-logo{width:48px;height:48px}}

/* ===== Header da loja: busca vira ícone; todos os ícones no padrão do PC (44px) ===== */
#store-search-btn{display:none} /* desktop usa a caixa .store-search */
.store-didil-home{flex:0 0 auto;text-decoration:none}
/* Mobile: layout flex limpo — logo à esquerda, ações à direita.
   Visíveis: busca · tema · GPS · notificações (48px).
   Início e Carrinho NÃO ficam no topo: já existem na barra inferior. */
@media(max-width:760px){
  .store-top .inner{display:flex;height:56px;gap:6px;padding-inline:10px}
  .store-brand{margin-right:auto}
  .store-search{display:none}
  #store-search-btn{display:grid!important}
  #header-cart,.store-didil-home{display:none!important}
  .store-top .icon-btn,.store-top .store-didil-home{width:48px;height:48px;min-width:48px;min-height:48px;border-radius:12px}
  .store-brand .store-logo,.store-brand .store-logo-fallback{width:38px;height:38px}
  .category-row{top:56px;padding:12px 16px 8px}
}

/* ===== Skeleton da vitrine: animação enquanto busca lojas pela localização ===== */
.ss-skel{pointer-events:none;user-select:none}
.ss-skel .skeleton{display:block}
.sk-logo{width:42px;height:42px;border-radius:12px;flex:0 0 auto}
.sk-name{width:38%;min-width:90px;height:16px}
.sk-pill{width:64px;height:18px;border-radius:999px;margin-left:auto;flex:0 0 auto}
.sk-label{width:110px;height:10px;border-radius:6px}
.sk-prod-img{width:120px;height:auto;aspect-ratio:1;border-radius:12px}
.sk-line{width:80%;height:12px;margin-top:8px}
.sk-line.short{width:45%}
.ss-skel-status{min-height:60px;display:grid;place-items:center}

/* ===== Pós-auditoria UX (24/08/2026): alvos ≥44px + piso tipográfico + headings semânticos ===== */
.icon-btn{min-width:44px;min-height:44px}
.nav-burger,.dash-burger{width:44px;height:44px}
.bottom-nav a,.bottom-nav button{font-size:.72rem}
.ss-badge{font-size:.68rem;padding:3px 7px}
.nav-label{font-size:.72rem}
.notification-bell>small{font-size:.66rem;min-width:20px;height:20px}
.wizard-step-label{font-size:.74rem}
.store-brand small{font-size:.72rem}
@media(max-width:390px){.bottom-nav span{font-size:.68rem}.bottom-nav svg{width:21px;height:21px}}
.mk-hero-greet h1.mk-title,.mk-hero-greet b.mk-title{font-size:1.45rem;margin:0;line-height:1.15;font-weight:800}
.mk-hero-greet h2.mk-sub{margin:0;font-weight:600}
.footer h2.ft{font-size:.98rem;margin:0 0 14px;font-weight:700}

/* ===== Ajustes v3 (24/08): topo da loja profissional + nav inferior persistente ===== */
/* Desktop/tablet grande: header 64px com busca larga e ícones 42px.
   Mobile (≤760, bloco "Header da loja" acima): flex [logo]···[busca][sino][carrinho] a 48px,
   tema/localização/início escondidos, categorias coladas no header (top:56). */
.store-top .inner{height:64px;gap:10px}
.category-row{top:64px;padding:14px 24px 8px}
.store-top .icon-btn{width:42px;height:42px;min-width:42px;min-height:42px;border-radius:12px;flex:0 0 auto}
.store-search button{width:42px;height:42px}
@media(max-width:860px){.store-top .inner{height:56px;gap:8px}.category-row{top:56px}}
.ss-fav-hero{width:38px;height:38px;font-size:1.05rem;border-width:1.5px;border-radius:12px}
.ss-fav-hero:hover{transform:none;background:rgba(20,10,5,.6)}
.hero-name-row{gap:10px}
/* Mobile/tablet: ícones do topo da loja em 48px (última regra vence a base de 42px acima) */
@media(max-width:760px){
  .store-top .inner{height:56px}
  .category-row{top:56px;padding:12px 16px 8px}
  .store-top .icon-btn,.store-top .store-didil-home{width:48px;height:48px;min-width:48px;min-height:48px}
}

/* ===== Camada final do topo mobile (v4): restaura lupa+tema+GPS+sino ===== */
/* Regras legadas espalhadas nas megamedias (@620/@390) escondem tema/GPS com
   !important; esta camada, por último no arquivo, garante o padrão definido:
   [logo] ··· [lupa][tema][GPS][sino] — início/carrinho ficam na barra inferior. */
@media(max-width:760px){
  .store-top .inner{display:flex!important;height:56px}
  #store-theme-toggle,#locate-btn{display:grid!important}
  #header-cart,.store-didil-home{display:none!important}
}
/* FASE 9-14: Editor Visual do Cardápio */
.menu-admin-stats{display:flex;gap:8px;flex-wrap:wrap}
.menu-visual-grid{display:grid;gap:20px}
.menu-cat-section{border:1px solid var(--border);border-radius:16px;overflow:hidden;background:var(--surface)}
.menu-cat-header{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border);background:var(--surface-2)}
.menu-cat-icon{font-size:1.3rem}
.menu-cat-header h3{margin:0;font-size:1rem;flex:1}
.menu-cat-header .pill{font-size:.72rem}
.cat-product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;padding:14px}
.cat-product-list{display:grid;gap:8px;padding:14px}
.cat-product-compact{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;padding:14px}
.cat-product-hero{display:grid;gap:10px;padding:14px}
.cat-product-card{display:flex;gap:10px;padding:10px;border:1px solid var(--border);border-radius:12px;background:var(--surface);transition:.15s;align-items:center}
.cat-product-card:hover{border-color:var(--brand);transform:translateY(-1px)}
.cat-product-img{width:56px;height:56px;object-fit:cover;border-radius:10px;border:1px solid var(--border);flex-shrink:0}
.cat-product-info{flex:1;min-width:0}
.cat-product-info b{font-size:.86rem;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cat-product-price{font-size:.84rem;font-weight:800;color:var(--brand);margin-top:2px}
.cat-product-actions{display:flex;flex-direction:column;gap:4px;align-items:center;flex-shrink:0}
.cat-product-actions .switch.sm{width:32px;height:18px}
.cat-product-empty{grid-column:1/-1;text-align:center;padding:20px}
.template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.template-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:18px 12px;border:2px solid var(--border);border-radius:14px;background:var(--surface);cursor:pointer;transition:.15s;text-align:center}
.template-card:hover{border-color:var(--brand);background:var(--brand-soft,#fff5ee);transform:translateY(-2px)}
.template-icon{font-size:2rem}
.template-card b{font-size:.88rem}
.template-preview{display:flex;align-items:center;justify-content:center;gap:3px;min-height:20px;font-size:.9rem;line-height:1}
.template-preview small{margin-left:3px;color:var(--muted);font-size:.65rem;font-weight:800;white-space:nowrap}
/* Seletor de tipo de produto (auditoria UX-cardápio): cards horizontais com ícone + texto. */
.product-type-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.product-type-card{display:flex;align-items:center;gap:12px;padding:13px 14px;border:2px solid var(--border);border-radius:14px;background:var(--surface);cursor:pointer;transition:.15s;text-align:left;min-height:56px}
.product-type-card:hover,.product-type-card:focus-visible{border-color:var(--brand);background:var(--brand-soft,#fff5ee);transform:translateY(-1px)}
.product-type-card:focus-visible{outline:3px solid var(--brand);outline-offset:2px}
.product-type-ico{font-size:1.7rem;line-height:1;flex:0 0 auto}
.product-type-txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.product-type-txt b{font-size:.9rem}
.product-type-txt small{color:var(--muted);font-size:.74rem;line-height:1.35}
@media(max-width:760px){
  .cat-product-grid{grid-template-columns:1fr}
  .cat-product-compact{grid-template-columns:repeat(2,1fr)}
  .template-grid{grid-template-columns:repeat(2,1fr)}
  .menu-admin-stats{display:none}
  .product-type-grid{grid-template-columns:1fr}
}
/* FASE 15-21: Editores especializados (pizza, burger, açaí) */
.pizza-size-section,.pizza-flavor-section,.pizza-border-section,.pizza-extras-section{margin-top:16px;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2)}
.pizza-size-section h4,.pizza-flavor-section h4,.pizza-border-section h4,.pizza-extras-section h4{margin:0 0 8px}
.pizza-size-row,.pizza-border-row,.pizza-extra-row,.combo-step-row{display:flex;gap:8px;align-items:center;margin-bottom:6px;flex-wrap:wrap}
.pizza-size-row .input,.pizza-border-row .input{flex:1}
.chip-row{display:flex;flex-wrap:wrap;gap:6px}
.chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border:1px solid var(--border);border-radius:999px;font-size:.78rem;cursor:pointer;transition:.15s}
.chip:has(input:checked){background:var(--brand);border-color:var(--brand);color:#fff}
.chip input{display:none}
/* FASE 33-34: Editor Visual Desktop Sidebar + Mobile */
.menu-visual-layout{display:grid;grid-template-columns:220px 1fr;gap:0;min-height:calc(100vh - 140px)}
.menu-sidebar{border-right:1px solid var(--border);padding:14px;position:sticky;top:80px;height:calc(100vh - 140px);overflow-y:auto;display:flex;flex-direction:column;gap:12px}
.menu-sidebar-head{display:flex;gap:6px}
.menu-sidebar-head .input{flex:1;font-size:.82rem;padding:8px 10px}
.menu-sidebar-section h4{font-size:.76rem;text-transform:uppercase;color:var(--muted);margin:0 0 6px;letter-spacing:.5px}
.menu-sidebar-list{display:grid;gap:2px}
.menu-sidebar-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;cursor:pointer;transition:.12s;font-size:.84rem}
.menu-sidebar-item:hover{background:var(--surface-2)}
.menu-sidebar-item.active{background:var(--brand-soft,#fff5ee);color:var(--brand);font-weight:700}
.menu-sidebar-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.menu-sidebar-stats{margin-top:auto;padding-top:12px;border-top:1px solid var(--border);display:flex;gap:6px;flex-wrap:wrap}
.menu-main{padding:16px 20px;min-width:0}
.menu-sidebar .pill.sm{font-size:.68rem;padding:2px 6px}
@media(max-width:760px){
  .menu-visual-layout{grid-template-columns:1fr!important}
  .menu-sidebar{display:none;position:fixed;left:0;top:0;bottom:0;width:260px;z-index:100;background:var(--bg);box-shadow:4px 0 20px rgba(0,0,0,.15);padding:16px}
  .menu-sidebar.open{display:flex}
  .menu-main{padding:12px}
}
/* FASE 35: SortableJS ghost */
.sortable-ghost{opacity:.4;border:2px dashed var(--brand)!important;background:var(--brand-soft,#fff5ee)!important}
.sortable-drag{box-shadow:0 8px 24px rgba(0,0,0,.15)!important;z-index:9999}
/* ================================================================
   V2 DESIGN SYSTEM — camada de upgrade aditiva (prompt mestre V2)
   Fundação de tokens → Botões → Cards/KPI → Grids → Container
   queries → Tabelas → A11y. Não remove estilos existentes: apenas
   refina e completa. Ordem de leitura = ordem de cascata.
   ================================================================ */

/* ---------- FASE A · Tokens V2 ---------- */
:root{
  /* Escala de raio (xs→2xl) — cantos coerentes em toda a plataforma */
  --r-xs:8px;--r-sm:12px;--r-md:16px;--r-lg:20px;--r-xl:24px;--r-2xl:28px;
  /* Escala de sombras — 1 nível de profundidade por vez */
  --sh-1:0 1px 2px rgba(43,24,12,.05),0 2px 8px rgba(43,24,12,.04);
  --sh-2:0 4px 14px rgba(43,24,12,.09);
  --sh-3:0 10px 30px rgba(43,24,12,.13);
  --sh-4:0 18px 50px rgba(43,24,12,.18);
  --glow-brand:0 6px 18px rgba(208,63,0,.22);
  --ring-brand:0 0 0 3px color-mix(in srgb,var(--brand) 30%,transparent);
  /* Motion — operacional rápido, vitrine suave */
  --t-fast:120ms;--t-base:200ms;--t-slow:320ms;
  --ease-out:cubic-bezier(.22,.61,.36,1);
  --ease-spring:cubic-bezier(.34,1.56,.64,1);
  /* Tipografia fluida (clamp) — escala consistente de 320px ao ultrawide */
  --fs-xs:.75rem;--fs-sm:.84rem;--fs-md:.94rem;--fs-lg:1.06rem;
  --fs-h3:clamp(1.02rem,.96rem + .25vw,1.22rem);
  --fs-kpi:clamp(1.45rem,1.25rem + .8vw,1.95rem);
  --fs-h2:clamp(1.6rem,1.3rem + 1vw,2.6rem);
}
/* Densidade opcional (opt-in via [data-density="compact"] no <html>) */
[data-density="compact"] .card,[data-density="compact"] .stat{padding:14px}
[data-density="compact"] .table th,[data-density="compact"] .table td{padding-top:8px;padding-bottom:8px}

/* ---------- FASE B · Button System V2 ---------- */
/* Transições tokenizadas + foco com anel suave */
.btn{transition:transform var(--t-base) var(--ease-out),box-shadow var(--t-base) var(--ease-out),background-color var(--t-base),border-color var(--t-base),filter var(--t-base)}
.btn:focus-visible{outline:none;box-shadow:var(--ring-brand);outline:3px solid var(--brand);outline-offset:2px}
/* Novos tamanhos: XS (densidade operacional) / LG / XL (hero e CTA principal) */
.btn.xs{padding:5px 10px;min-height:32px;font-size:.76rem;border-radius:10px;gap:6px}
.btn.lg{padding:15px 22px;min-height:52px;font-size:1.02rem;border-radius:16px}
.btn.xl{padding:17px 28px;min-height:60px;font-size:1.1rem;border-radius:18px}
@media(max-width:380px){.btn.xl{padding:15px 20px;min-height:54px;font-size:1rem}}
/* Variantes semânticas completas: outline / text / success / warning */
.btn.outline{background:transparent;color:var(--brand);border:1.5px solid var(--brand)}
.btn.outline:hover{background:var(--brand-soft);transform:translateY(-1px)}
.btn.text{background:transparent;color:var(--brand);border:0;padding-inline:10px}
.btn.text:hover{background:var(--brand-soft)}
.btn.success{background:var(--success);color:#fff;box-shadow:0 4px 12px rgba(15,122,80,.25)}
.btn.success:hover{filter:brightness(1.06);box-shadow:0 6px 16px rgba(15,122,80,.32)}
.btn.warning{background:var(--warning);color:#4a2a00;box-shadow:0 4px 12px rgba(232,150,10,.25)}
.btn.warning:hover{filter:brightness(1.05)}
/* Estado de confirmação pós-ação (ex.: "Salvo ✓") */
.btn.is-success{background:var(--success)!important;color:#fff!important;pointer-events:none}
/* Icon buttons: escala completa */
.icon-btn{transition:border-color var(--t-base),box-shadow var(--t-base),transform var(--t-fast) var(--ease-out),background-color var(--t-base)}
.icon-btn.xs{width:30px;height:30px;font-size:.82rem;border-radius:9px}
.icon-btn.lg{width:54px;height:54px;font-size:1.3rem;border-radius:16px}
.icon-btn.square{border-radius:12px}
/* Superfícies operacionais (PDV/dash/KDS): hover calmo, resposta imediata.
   O dedo do operador não pode ser surpreendido por movimento grande. */
.pos-layout .btn,.dash-main .btn,.kanban .btn{transition-duration:var(--t-fast)}
.pos-layout .btn:hover,.dash-main .btn:hover{transform:translateY(-1px)}
.pos-layout .icon-btn:hover{transform:none}
.pos-layout .stat:hover,.dash-main .stat:hover{transform:none}

/* ---------- FASE C · Hierarquia de Cards & KPI ---------- */
.stat{box-shadow:var(--sh-1);transition:box-shadow var(--t-base) var(--ease-out),transform var(--t-base) var(--ease-out)}
.stat:hover{box-shadow:var(--sh-2);transform:translateY(-1px)}
/* Valor KPI fluido + números tabulares (colunas alinhadas, comparação fácil) */
.stat .value{font-size:var(--fs-kpi);font-variant-numeric:tabular-nums lining-nums}
.card h3,.card .h3{font-size:var(--fs-h3)}
.card{box-shadow:var(--sh-1);transition:box-shadow var(--t-base) var(--ease-out),transform var(--t-base) var(--ease-out),border-color var(--t-base)}
.card:hover{box-shadow:var(--sh-2);border-color:color-mix(in srgb,var(--brand) 25%,var(--border))}
/* Delta chips: tendência vs período anterior (verde sobe / vermelho desce) */
.delta{display:inline-flex;align-items:center;gap:3px;font-size:.74rem;font-weight:900;padding:3px 8px;border-radius:999px;font-variant-numeric:tabular-nums}
.delta.up{background:var(--success-soft);color:var(--success)}
.delta.down{background:var(--danger-soft);color:var(--danger)}
.delta.flat{background:var(--surface-3);color:var(--muted)}
/* Acento semântico da barra superior do KPI (status real, não decoração) */
.stat.accent-green:before{background:var(--success)}
.stat.accent-red:before{background:var(--danger)}
.stat.accent-blue:before{background:#2563eb}
.stat.accent-violet:before{background:#7c3aed}
.stat.accent-muted:before{background:var(--muted)}

/* ---------- FASE D · Grids adaptativos (320px → ultrawide) ---------- */
.stats{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr))}
.cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr))}
.dash-grid{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr)}
@media(max-width:1100px){.dash-grid{grid-template-columns:1fr}}
/* PDV: grade de produtos flui conforme o espaço (não trava em 4 colunas) */
.pos-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,148px),1fr))}

/* ---------- FASE E · Container queries (marketplace & loja) ---------- */
.store-showcase,.store-card,.product-card{container-type:inline-size}
/* Card de loja estreito (mobile 320–360px): produtos 2-up maiores ficam legíveis */
@container store-showcase (max-width:400px){
  .ss-prod{width:calc(50cqw - 12px)}
  .ss-prod-img{width:100%}
}
/* Grade interna da vitrine acompanha o próprio card, não a viewport */
@supports(width:1cqw){
  @media(min-width:1000px){.ss-prods{grid-template-columns:repeat(8,minmax(0,1fr))}}
  @media(min-width:760px) and (max-width:999px){.ss-prods{grid-template-columns:repeat(4,minmax(0,1fr))}}
}

/* ---------- FASE F · Tabelas ---------- */
.table td b,.table td.num,.table th.num{text-align:right;font-variant-numeric:tabular-nums lining-nums}
.table tbody tr:focus-within{outline:2px solid var(--brand);outline-offset:-2px}
.table-wrap{border-radius:14px}

/* ---------- FASE G · Redes de acessibilidade ---------- */
/* Transparência reduzida: superfícies viram sólidas */
@media(prefers-reduced-transparency:reduce){
  .nav,.dash-top,.bottom-nav,.store-top,.hero-badge{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--surface)}
}
/* Forced colors (Windows High Contrast): garante contorno de botões primários */
@media(forced-colors:active){
  .btn.primary,.btn.success,.btn.danger{border:1px solid ButtonText}
  .btn,.icon-btn,.cat-btn,.pill{border:1px solid CanvasText}
  .ss-badge,.status,.delta{border:1px solid CanvasText}
}
/* Dark theme: paridade dos componentes novos */
[data-theme="dark"] .delta.flat{background:#2b211a;color:#a89a8e}
[data-theme="dark"] .btn.outline:hover{background:rgba(208,63,0,.15)}
[data-theme="dark"] .btn.text:hover{background:rgba(208,63,0,.15)}
[data-theme="dark"] .btn.warning{color:#211710}

/* ================================================================
   V2.1 — MERCHANT: Cardápio (/merchant/menu) + Visão geral (/merchant)
   Redesign do editor de catálogo: media cards verticais, ações em
   overlay, estado "Pausado" sem JS (:has), sidebar e toolbar claras.
   Seletores/IDs preservados (E2E depende deles).
   ================================================================ */

/* ---------- Layout geral do editor ---------- */
.menu-visual-layout{grid-template-columns:256px minmax(0,1fr)}
.menu-sidebar{border-right-color:var(--border);gap:14px}
.menu-sidebar-head{position:relative}
.menu-sidebar-head .input{padding-right:40px;border-radius:var(--r-sm)}
.menu-sidebar-head .btn.primary.sm{position:absolute;right:4px;top:4px;width:32px;height:32px;min-height:32px;padding:0;border-radius:10px;font-size:1.05rem;line-height:1}
.menu-sidebar-section h4{font-size:.68rem;letter-spacing:.08em;margin:0 0 8px;display:flex;align-items:center;gap:6px}
.menu-sidebar-list{background:transparent}
.menu-sidebar-item{padding:9px 10px;border-radius:11px;border:1px solid transparent;transition:background var(--t-fast),border-color var(--t-fast),transform var(--t-fast)}
.menu-sidebar-item>span:first-child{width:28px;height:28px;border-radius:9px;background:var(--surface-3);display:grid;place-items:center;font-size:.95rem;flex:0 0 auto}
.menu-sidebar-item.active>span:first-child{background:#fff}
.menu-sidebar-item:hover{background:var(--surface-2)}
.menu-sidebar-item.active{border-color:color-mix(in srgb,var(--brand) 30%,transparent);box-shadow:var(--sh-1)}
.menu-sidebar-item .pill.sm{margin-left:auto;font-size:.66rem;min-width:24px;text-align:center}
.menu-sidebar-stats{justify-content:flex-start}

/* ---------- Toolbar (Template / Categorias / Novo produto) ---------- */
.menu-admin-head{position:sticky;top:calc(var(--topbar) - 1px);z-index:29;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);margin:0 -20px;padding:12px 20px;border-bottom:1px solid var(--border);margin-bottom:16px}
.menu-admin-head .row{flex-wrap:wrap;gap:8px}
.menu-admin-head #apply-template,.menu-admin-head #manage-categories{min-height:42px}
.menu-admin-head #new-product{min-height:42px;margin-left:auto;box-shadow:var(--glow-brand)}

/* ---------- Seções de categoria ---------- */
.menu-cat-section{border-radius:var(--r-lg);box-shadow:var(--sh-1)}
.menu-cat-header{background:var(--surface);padding:13px 16px;gap:11px}
.menu-cat-icon{width:36px;height:36px;border-radius:11px;background:var(--brand-soft);display:grid;place-items:center;font-size:1.05rem;flex:0 0 auto}
.menu-cat-header h3{font-size:var(--fs-h3);letter-spacing:-.01em}
.menu-cat-header .pill{font-variant-numeric:tabular-nums}
.menu-cat-header [data-add-to-cat]{white-space:nowrap}

/* ---------- Grid + media cards verticais (modo grade) ---------- */
.cat-product-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,212px),1fr));gap:14px;padding:16px}
.cat-product-grid .cat-product-card{position:relative;flex-direction:column;gap:0;padding:0;overflow:hidden;border-radius:14px;cursor:grab}
.cat-product-grid .cat-product-card:active{cursor:grabbing}
.cat-product-grid .cat-product-card:hover{transform:translateY(-2px);box-shadow:var(--sh-2)}
.cat-product-grid .cat-product-img{width:100%;height:auto;aspect-ratio:5/3;border-radius:0;border:0;border-bottom:1px solid var(--border);background:var(--surface-3)}
.cat-product-grid .cat-product-info{padding:10px 12px 12px;display:flex;flex-direction:column;gap:4px}
.cat-product-grid .cat-product-info b{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.3;min-height:calc(2 * 1.3em);font-size:.92rem}
.cat-product-grid .cat-product-info .muted{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:.78rem;line-height:1.45;min-height:calc(2 * 1.45em)}
.cat-product-grid .cat-product-price{font-size:.98rem;margin-top:7px;font-variant-numeric:tabular-nums lining-nums;letter-spacing:-.01em}
/* Ações em overlay flutuante sobre a imagem */
.cat-product-grid .cat-product-actions{position:absolute;top:8px;right:8px;left:auto;flex-direction:row;align-items:center;gap:2px;background:color-mix(in srgb,var(--surface) 82%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:999px;padding:3px;box-shadow:var(--sh-1)}
.cat-product-grid .cat-product-actions .icon-btn{width:32px;height:32px;border-radius:50%;border:0;background:transparent;font-size:.95rem}
.cat-product-grid .cat-product-actions .icon-btn:hover{background:var(--surface-2);transform:none;box-shadow:none}
.cat-product-grid .cat-product-actions .switch.sm{width:34px;height:20px;margin-inline:4px 2px;align-self:center}
.cat-product-grid .cat-product-actions .switch.sm:after{width:16px;height:16px}
.cat-product-grid .cat-product-actions .switch.sm.on:after{left:16px}
/* Produto pausado: imagem P&B + selo (sem mudar o HTML) */
.cat-product-card:has(.switch:not(.on)) .cat-product-img{filter:grayscale(1) contrast(.92);opacity:.6}
.cat-product-card:has(.switch:not(.on)):after{content:"Pausado";position:absolute;top:8px;left:8px;background:#211a16;color:#fff;font-size:.64rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase;padding:4px 9px;border-radius:999px;pointer-events:none;z-index:2}
[data-theme="dark"] .cat-product-card:has(.switch:not(.on)):after{background:#000;border:1px solid var(--border)}

/* ---------- Modos lista / compacto / hero continuam coerentes ---------- */
.cat-product-list .cat-product-card{align-items:center}
.cat-product-list .cat-product-img{width:64px;height:64px}
.cat-product-list .cat-product-actions{flex-direction:row;gap:8px}
.cat-product-list .cat-product-actions .switch.sm{width:34px;height:20px}
.product-hit,.ss-prod,.cat-product-card{will-change:transform}

/* ---------- Mobile do editor ---------- */
@media(max-width:760px){
  .menu-visual-layout{grid-template-columns:1fr}
  .menu-admin-head{position:static;margin:0 -12px;padding:10px 12px}
  .menu-admin-head #new-product{margin-left:auto;flex:1 1 100%}
  .menu-admin-head .row{width:100%}
  .menu-admin-head .row .btn{flex:1 1 auto;min-width:0}
  .cat-product-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,160px),1fr));gap:10px;padding:12px}
  .cat-product-grid .cat-product-info b{-webkit-line-clamp:1;min-height:auto}
}

/* ---------- Visão geral (/merchant): hierarquia e polimento ---------- */
.suspended-banner.warn{border-left:4px solid var(--amber)}
.stat .trend{display:inline-flex;align-items:center;gap:4px;font-weight:800;color:var(--muted)}
.stat .trend.up{color:var(--success)}
.stat .trend.down{color:var(--danger)}
.quick-actions{padding-bottom:2px}
.quick-actions .btn svg{flex:0 0 auto}
.panel{box-shadow:var(--sh-1)}
.panel-head h3{font-size:var(--fs-h3)}
.chart-bars .bar{transition:height var(--t-slow) var(--ease-out)}
.order-row{transition:border-color var(--t-fast),box-shadow var(--t-fast),transform var(--t-fast)}
.order-row:hover{box-shadow:var(--sh-1)}

/* ================================================================
   V2.2 — Editor de cardápio espelha a VITRINE da loja (@loja)
   O lojista edita exatamente o que o cliente vê: mesma foto quadrada,
   mesma tipografia de título/preço, badges no mesmo estilo.
   Painel /merchant universal: ações como tiles + hierarquia de KPIs.
   ================================================================ */

/* ---------- Cards idênticos aos da loja ---------- */
.cat-product-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,205px),1fr));gap:15px}
.cat-product-grid .cat-product-card{border-radius:var(--r-md)}
.cat-product-grid .cat-product-img{aspect-ratio:1;height:auto;background:#f7eee8}
[data-theme="dark"] .cat-product-grid .cat-product-img{background:#241d18}
.cat-product-grid .cat-product-info{padding:14px 14px 15px;gap:6px}
.cat-product-grid .cat-product-info b{font-size:1rem;line-height:1.25;margin:0;letter-spacing:-.01em}
.cat-product-grid .cat-product-info .muted{font-size:.82rem;line-height:1.45}
/* Preço com o mesmo peso tipográfico do .money da loja */
.cat-product-grid .cat-product-price{font-weight:900;font-size:.95rem;margin-top:2px}
/* Overlay de gestão com a estética dos product-badges da vitrine */
.cat-product-grid .cat-product-actions{top:9px;right:9px;background:rgba(255,255,255,.94);border:0;box-shadow:0 3px 12px rgba(43,24,12,.18)}
[data-theme="dark"] .cat-product-grid .cat-product-actions{background:rgba(32,25,21,.92)}
/* Selo "Pausado" alinhado ao estilo de badges da loja */
.cat-product-card:has(.switch:not(.on)):after{top:10px;left:10px;font-size:.66rem;padding:5px 9px;letter-spacing:.04em}
/* Hover da vitrine: foto aproxima levemente */
.cat-product-grid .cat-product-img{transition:transform var(--t-slow) var(--ease-out)}
.cat-product-grid .cat-product-card:hover .cat-product-img{transform:scale(1.04)}

/* ---------- Cabeçalho de categoria com força da vitrine ---------- */
.menu-cat-section{overflow:hidden}
.menu-cat-header{padding:15px 18px;gap:12px}
.menu-cat-icon{width:40px;height:40px;border-radius:13px;font-size:1.15rem}
.menu-cat-header h3{font-size:1.3rem;font-weight:900;letter-spacing:-.02em}
@media(max-width:760px){.menu-cat-header h3{font-size:1.12rem}}

/* ---------- Sidebar acompanha (itens mais escaneáveis) ---------- */
.menu-sidebar-item{min-height:44px}

/* ---------- /merchant: Quick actions como tiles ---------- */
.quick-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,168px),1fr));gap:10px}
.quick-actions .btn{flex-direction:column;gap:9px;min-height:92px;padding:16px 12px;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--border);box-shadow:var(--sh-1);font-size:.88rem;font-weight:800;color:var(--ink)}
.quick-actions .btn svg{width:22px;height:22px}
.quick-actions .btn.primary{border-color:transparent}
.quick-actions .btn.secondary{background:var(--surface)}
.quick-actions .btn.secondary:hover{border-color:var(--brand);background:var(--brand-soft)}
.quick-actions .btn:hover{transform:translateY(-2px);box-shadow:var(--sh-2)}
.quick-actions .btn:active{transform:translateY(0) scale(.98)}
@media(max-width:620px){.quick-actions{grid-template-columns:repeat(2,1fr)}.quick-actions .btn{min-height:78px;font-size:.8rem}.quick-actions .btn:last-child:nth-child(odd){grid-column:1/-1}}

/* ---------- KPI principal em destaque (hierarquia de leitura) ---------- */
.stats .stat:first-child{grid-column:span 1}
.stats .stat:first-child .value{font-size:clamp(1.7rem,1.4rem + 1vw,2.3rem)}
.stats .stat:first-child:before{height:4px}

/* ---------- Subtítulo do topo mais legível ---------- */
.dash-title p{margin:2px 0 0;font-size:.85rem}

/* ================================================================
   V2.3 — PADRÃO ÚNICO: todo cardápio em cards quadrados
   Os templates criam categorias com layout list/compact/hero/grid,
   mas o editor agora mostra TODOS como a vitrine (foto 1:1).
   Escopo .menu-cat-section vence os estilos antigos na cascata.
   ================================================================ */
.cat-product-list,.cat-product-compact,.cat-product-hero{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,205px),1fr));gap:15px;padding:16px;
}
.menu-cat-section .cat-product-card{
  position:relative;flex-direction:column;gap:0;padding:0;overflow:hidden;border-radius:var(--r-md);cursor:grab;background:var(--surface);
}
.menu-cat-section .cat-product-card:active{cursor:grabbing}
.menu-cat-section .cat-product-card:hover{transform:translateY(-2px);box-shadow:var(--sh-2);border-color:color-mix(in srgb,var(--brand) 45%,var(--border))}
.menu-cat-section .cat-product-img{width:100%;height:auto;aspect-ratio:1;border-radius:0;border:0;border-bottom:1px solid var(--border);background:#f7eee8;transition:transform var(--t-slow) var(--ease-out)}
[data-theme="dark"] .menu-cat-section .cat-product-img{background:#241d18}
.menu-cat-section .cat-product-card:hover .cat-product-img{transform:scale(1.04)}
.menu-cat-section .cat-product-info{padding:14px 14px 15px;display:flex;flex-direction:column;gap:6px}
.menu-cat-section .cat-product-info b{font-size:1rem;line-height:1.25;margin:0;letter-spacing:-.01em;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:calc(2 * 1.25em)}
.menu-cat-section .cat-product-info .muted{font-size:.82rem;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.menu-cat-section .cat-product-price{font-weight:900;font-size:.95rem;margin-top:2px;font-variant-numeric:tabular-nums}
.menu-cat-section .cat-product-actions{position:absolute;top:9px;right:9px;left:auto;flex-direction:row;align-items:center;gap:2px;background:rgba(255,255,255,.94);border:0;border-radius:999px;padding:3px;box-shadow:0 3px 12px rgba(43,24,12,.18);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
[data-theme="dark"] .menu-cat-section .cat-product-actions{background:rgba(32,25,21,.92)}
.menu-cat-section .cat-product-actions .icon-btn{width:32px;height:32px;border-radius:50%;border:0;background:transparent;font-size:.95rem}
.menu-cat-section .cat-product-actions .icon-btn:hover{background:var(--surface-2);transform:none;box-shadow:none}
.menu-cat-section .cat-product-actions .switch.sm{width:34px;height:20px;margin-inline:4px 2px;align-self:center}
.menu-cat-section .cat-product-actions .switch.sm:after{width:16px;height:16px}
.menu-cat-section .cat-product-actions .switch.sm.on:after{left:16px}
@media(max-width:760px){
  .cat-product-grid,.cat-product-list,.cat-product-compact,.cat-product-hero{grid-template-columns:repeat(auto-fill,minmax(min(100%,158px),1fr));gap:10px;padding:12px}
  .menu-cat-section .cat-product-info b{-webkit-line-clamp:1;min-height:auto;font-size:.92rem}
  .menu-cat-section .cat-product-actions .icon-btn{width:30px;height:30px}
  .menu-cat-section .cat-product-actions .switch.sm{width:32px;height:19px;margin-inline:3px 2px}
.menu-cat-section .cat-product-actions .switch.sm.on:after{left:15px}
}

/* ================================================================
   Merchant operations refresh — Fases 227–232
   A mesma linguagem visual organiza dashboard, operação e gestão sem
   alterar fluxos, permissões ou informações de negócio.
   ================================================================ */
.dashboard{background:
  radial-gradient(circle at 100% 0,rgba(255,132,65,.10),transparent 27rem),
  linear-gradient(180deg,#fffdfa 0,#fff8f2 100%)}
.dashboard .side{background:linear-gradient(180deg,#211915 0%,#171210 100%);border-right:1px solid rgba(255,255,255,.06);padding:16px 12px}
.dashboard .side-head{padding:5px 7px 20px}
.dashboard .side .logo-wrap img{height:28px}
.dashboard .side-wordmark{font-size:1.2rem}
.dashboard .nav-group{gap:4px;margin-bottom:10px}
.dashboard .nav-label{color:#9d8f86;padding:12px 12px 5px}
.dashboard .nav-link{min-height:43px;border:1px solid transparent;color:#d0c3bb}
.dashboard .nav-link:hover{background:rgba(255,255,255,.07)}
.dashboard .nav-link.active{background:linear-gradient(90deg,rgba(255,103,28,.25),rgba(255,154,81,.13));border-color:rgba(255,156,95,.16);box-shadow:inset 3px 0 0 var(--brand)}
.dashboard .nav-dot{display:none}
.dashboard .side-bottom{border-top-color:rgba(255,255,255,.08);padding-top:14px}
.dashboard .side-user{background:rgba(255,255,255,.045);padding:9px 8px}
.dashboard .dash-top{background:color-mix(in srgb,var(--surface) 92%,transparent);box-shadow:0 1px 0 rgba(70,38,19,.04);padding-inline:30px}
.dashboard .dash-title h1{font-size:1.38rem;font-weight:900;letter-spacing:-.035em}
.dashboard .dash-title p{font-size:.82rem}
.dashboard .dash-content{max-width:1640px;margin-inline:auto;padding:24px 30px 48px}
.dashboard .panel{border-color:color-mix(in srgb,var(--border) 82%,#e9ddd4);border-radius:18px;box-shadow:0 10px 28px rgba(59,31,15,.055)}
.dashboard .panel-head{margin-bottom:15px}
.dashboard .panel-head h3{font-size:1.05rem;letter-spacing:-.015em;margin:2px 0}
.dashboard .eyebrow{color:#a54c1b;font-size:.66rem;letter-spacing:.12em}
.dashboard .alerts-banner{box-shadow:0 8px 22px rgba(131,62,22,.045)}

/* Dashboard overview: desktop grid 3+3+2+2+2, then responds by content. */
.overview-hero{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:3px 2px 20px}
.overview-hero h2{margin:5px 0 4px;font-size:clamp(1.5rem,1.2rem + .7vw,2rem);letter-spacing:-.045em;line-height:1.05}
.overview-hero p{margin:0;color:var(--muted);font-size:.9rem}
.overview-hero-status{display:inline-flex;align-items:center;gap:8px;border:1px solid color-mix(in srgb,var(--green) 30%,var(--border));background:var(--green-soft);color:var(--green);padding:9px 12px;border-radius:999px;font-size:.8rem;font-weight:850;white-space:nowrap}
.overview-live-dot{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 0 4px color-mix(in srgb,currentColor 14%,transparent)}
.overview-kpis{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px}
.overview-kpis .stat-link{grid-column:span 2;display:block;text-decoration:none;color:inherit;border-radius:17px;transition:transform .16s ease,box-shadow .16s ease}
.overview-kpis .stat-link:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(59,31,15,.10)}
.overview-kpis .stat-link:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.overview-kpis .stat-link:nth-child(1),.overview-kpis .stat-link:nth-child(2){grid-column:span 3}
.overview-kpis .stat{min-height:142px;border-radius:17px;border-color:color-mix(in srgb,var(--border) 84%,#e9ded7);box-shadow:0 8px 22px rgba(59,31,15,.045);padding:16px;height:100%}
.overview-kpis .stat-link:nth-child(1) .stat,.overview-kpis .stat-link:nth-child(2) .stat{border-color:color-mix(in srgb,var(--border) 84%,#e9ded7)}
.overview-kpis .stat:before{height:3px;background:linear-gradient(90deg,var(--brand),#ffad62)}
.overview-kpis .stat-link:nth-child(2) .stat:before{background:linear-gradient(90deg,#f5a700,#ffcb52)}
.overview-kpis .stat-link:nth-child(5) .stat:before{background:linear-gradient(90deg,var(--green),#68c695)}
.overview-kpis .stat .value{font-size:clamp(1.4rem,1.1rem + .9vw,2rem);line-height:1.05;margin:9px 0 7px;font-variant-numeric:tabular-nums}
.overview-kpis .stat .trend{line-height:1.35;min-height:2.1em;display:block}
.overview-kpis .stat-link:nth-child(2) .stat-ico{background:#fff3d3;color:#b16d00}
.overview-kpis .stat-link:nth-child(5) .stat-ico{background:var(--green-soft);color:var(--green)}
.overview-workspace{display:grid;grid-template-columns:8fr 4fr;gap:16px;margin-top:16px}
.overview-chart-panel{min-height:355px;display:flex;flex-direction:column;text-decoration:none;color:inherit;transition:transform .16s ease,box-shadow .16s ease}
.overview-chart-panel:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(59,31,15,.10)}
.overview-chart-panel:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:18px}
.overview-chart-panel .panel-head{margin-bottom:8px}
.overview-chart-panel .pill{align-self:flex-start}
.order-row{display:flex;align-items:center;justify-content:space-between;gap:10px;text-decoration:none;color:inherit}
.order-row.clickable{cursor:pointer}
.order-row.clickable:hover{background:color-mix(in srgb,var(--brand-soft) 60%,transparent)}
.chart-bars{position:relative;isolation:isolate;height:242px;padding:12px 0 0;flex:1}
.chart-gridlines{position:absolute;inset:12px 0 0;background:repeating-linear-gradient(to bottom,transparent 0,transparent calc(25% - 1px),color-mix(in srgb,var(--border) 76%,transparent) calc(25% - 1px),color-mix(in srgb,var(--border) 76%,transparent) 25%);pointer-events:none}
.chart-columns{position:absolute;inset:12px 0 0;display:flex;align-items:end;gap:clamp(5px,.65vw,10px);padding:0 2px}
.chart-columns .bar{background:linear-gradient(180deg,#f27025 0%,var(--brand) 100%);border-radius:8px 8px 3px 3px;box-shadow:inset 0 1px rgba(255,255,255,.28);min-width:6px}
.chart-columns .bar:hover{filter:brightness(1.08);opacity:1}
.chart-axis{display:flex;justify-content:space-between;color:var(--muted);font-size:.68rem;font-weight:750;padding-top:8px}
.overview-queue{min-width:0}
.overview-queue .order-list{gap:8px}
.overview-queue .order-row{border-radius:13px;padding:11px 12px;background:color-mix(in srgb,var(--surface) 92%,var(--brand-soft));box-shadow:none}
.overview-queue .order-row b{font-size:.84rem}
.overview-queue .order-row .muted{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:190px}
.overview-empty{display:grid;place-items:center;text-align:center;min-height:205px;padding:20px}
.overview-empty>span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--green-soft);color:var(--green);font-weight:950;margin-bottom:10px}
.overview-empty p{margin:4px 0 0;font-size:.84rem}
.overview-lower{display:grid;grid-template-columns:5fr 7fr;gap:16px;margin-top:16px}
.overview-action-panel,.overview-insights-panel{min-width:0}
.overview-action-panel .quick-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}
.overview-action-panel .quick-actions .btn{min-height:80px;padding:12px 10px;gap:7px;font-size:.78rem;box-shadow:none}
.overview-action-panel .quick-actions .btn.primary{background:linear-gradient(135deg,#e9510d,#ff7b31);box-shadow:0 8px 17px rgba(222,72,8,.18)}
.overview-insights{display:grid;gap:7px}
.overview-insight{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:start;padding:8px 0}
.overview-insight.clickable{text-decoration:none;color:inherit;border-radius:10px;transition:background .14s ease;cursor:pointer}
.overview-insight.clickable:hover{background:color-mix(in srgb,var(--brand-soft) 60%,transparent)}
.overview-insight+.overview-insight{border-top:1px solid var(--border)}
.overview-insight-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--surface-2);font-size:1rem}
.overview-insight h3{font-size:.88rem;margin:2px 0 2px}
.overview-insight p{font-size:.79rem;line-height:1.45;margin:0}

/* The shared containers remain orderly across merchant areas. */
.dashboard .stats .stat,.dashboard .dash-grid .panel{box-shadow:0 8px 22px rgba(59,31,15,.045)}
.dashboard .table th{background:color-mix(in srgb,var(--surface-2) 74%,transparent);font-size:.7rem;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.dashboard .table th,.dashboard .table td{padding:13px 12px}
.dashboard .status{font-size:.68rem;padding:5px 8px}

@media(min-width:861px) and (max-width:1160px){
  :root{--sidebar:84px}
  .dashboard .side{width:84px;padding-inline:8px}
  .dashboard .side-head{justify-content:center}
  .dashboard .side-wordmark,.dashboard .nav-txt,.dashboard .nav-label,.dashboard .side-user-txt{display:none}
  .dashboard .side-collapse{display:none}
  .dashboard .nav-link,.dashboard .side-user{justify-content:center;padding-inline:0}
  .dashboard .dash-main{margin-left:84px}
  .dashboard .dash-top{padding-inline:22px}
  .dashboard .dash-content{padding-inline:22px}
  .overview-kpis .stat-link,.overview-kpis .stat-link:nth-child(n){grid-column:span 3}
  .overview-kpis .stat-link:last-child{grid-column:span 12}
  .overview-kpis .stat-link:last-child .stat{min-height:104px}
  .overview-workspace,.overview-lower{grid-template-columns:1fr}
}
@media(max-width:860px){
  .dashboard .dash-top{padding-inline:14px}
  .dashboard .dash-title h1{font-size:1.08rem}
  .dashboard .dash-title p{display:none}
  .dashboard .dash-content{padding:18px 14px calc(96px + env(safe-area-inset-bottom))}
  .dashboard .new-store-btn,.dashboard .dash-divider,.dashboard .tenant-pill{display:none}
  .overview-hero{align-items:flex-start;flex-direction:column;padding-bottom:15px;gap:12px}
  .overview-hero h2{font-size:1.5rem}
  .overview-hero-status{white-space:normal}
  .overview-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .overview-kpis .stat-link,.overview-kpis .stat-link:nth-child(n){grid-column:span 1}
  .overview-kpis .stat{min-height:126px;padding:14px}
  .overview-kpis .stat-link:first-child{grid-column:span 2}
  .overview-kpis .stat-link:first-child .stat .value{font-size:1.9rem}
  .overview-workspace,.overview-lower{grid-template-columns:1fr;gap:12px;margin-top:12px}
  .overview-chart-panel{min-height:300px}
  .chart-bars{height:190px}
  .chart-columns{gap:4px}
  .overview-queue .order-row .muted{max-width:145px}
  .overview-action-panel .quick-actions .btn{min-height:75px;font-size:.75rem}
}
@media(max-width:390px){
  .overview-kpis{grid-template-columns:1fr}
  .overview-kpis .stat-link,.overview-kpis .stat-link:first-child{grid-column:span 1}
  .overview-kpis .stat{min-height:102px}
  .overview-kpis .stat .trend{min-height:auto}
  .overview-action-panel .quick-actions{grid-template-columns:1fr}
}

/* Onboarding de cardápio: escolher o segmento é a única decisão inicial. */
.new-store-template-picker{margin-top:16px;padding:16px;border:1px solid color-mix(in srgb,var(--brand) 20%,var(--border));border-radius:16px;background:color-mix(in srgb,var(--brand-soft) 42%,var(--surface))}
.new-store-template-picker h4{margin:3px 0 0;font-size:1rem}
.new-store-template-picker>p{font-size:.84rem;line-height:1.45;margin:10px 0 12px}
.new-store-template-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));max-height:300px;overflow:auto;padding:2px}
.template-card.selected{border-color:var(--brand);background:var(--brand-soft);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 14%,transparent)}
.template-card.selected:after{content:'Selecionado';font-size:.63rem;font-weight:900;color:var(--brand);text-transform:uppercase;letter-spacing:.04em}
.new-store-template-summary{margin-top:12px;padding:10px 12px;border-radius:11px;background:var(--surface);font-size:.82rem;line-height:1.45}
.new-store-template-summary small{display:block;margin-top:5px;color:var(--muted);font-size:.76rem;line-height:1.45}
.catalog-onboarding{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 80% 10%,rgba(255,133,62,.16),transparent 22rem),var(--bg)}
.catalog-onboarding-card{width:min(590px,100%);padding:clamp(24px,5vw,42px);text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:24px;box-shadow:var(--sh-3)}
.catalog-onboarding-icon{display:grid;place-items:center;width:64px;height:64px;margin:16px auto;border-radius:20px;background:var(--brand-soft);font-size:1.8rem}
.catalog-onboarding-card h2{font-size:clamp(1.4rem,1.1rem + 1vw,1.9rem);letter-spacing:-.04em;margin:0 0 10px}
.catalog-onboarding-card p{color:var(--muted);line-height:1.6;margin:0 auto;max-width:490px}
.catalog-onboarding-points{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:22px 0}
.catalog-onboarding-points span{padding:7px 10px;border-radius:999px;background:var(--green-soft);color:var(--green);font-size:.78rem;font-weight:850}
.catalog-onboarding-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
@media(max-width:620px){
  .new-store-template-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-height:260px}
  .new-store-template-grid .template-card{padding:13px 8px}
  .catalog-onboarding{padding:16px}
  .catalog-onboarding-card{border-radius:20px;padding:26px 18px}
  .catalog-onboarding-actions .btn{width:100%}
}

/* Auditoria responsiva 25/08: grades não podem depender do mínimo intrínseco dos inputs. */
.owner-steps-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:12px}
.owner-steps-grid>*{min-width:0}
.grid2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.grid2>*{min-width:0}
.grid2 .input,.grid2 .textarea{min-width:0}
@media(max-width:620px){.grid2{grid-template-columns:minmax(0,1fr)}}
.pass-wrap .input{padding-right:54px}
.pass-toggle{right:2px;width:44px;height:44px;border-radius:12px}
@media(max-width:760px){.owner-steps-grid{grid-template-columns:1fr;gap:14px;max-width:560px;margin:12px auto 0}}
@media(max-width:760px){
  .settings-grid,.settings-grid>*{min-width:0;max-width:100%}
  .store-hero,.category-row{width:calc(100% + 20px);max-width:none;margin-left:-10px;margin-right:-10px}
  .menu-cat-section .menu-cat-header .btn.sm{min-width:44px}
  .menu-cat-section .cat-product-actions .icon-btn{width:44px;height:44px}
  .menu-cat-section .cat-product-actions .switch.sm{width:44px;height:44px;margin:0;background:transparent;border:0}
  .menu-cat-section .cat-product-actions .switch.sm:before{content:"";position:absolute;left:5px;top:12px;width:34px;height:20px;border:1px solid #8a7a6a;border-radius:999px;background:#d7cec7;transition:.2s}
  .menu-cat-section .cat-product-actions .switch.sm:after{width:16px;height:16px;top:14px;left:7px}
  .menu-cat-section .cat-product-actions .switch.sm.on{background:transparent;border:0}
  .menu-cat-section .cat-product-actions .switch.sm.on:before{background:var(--green);border-color:var(--green)}
  .menu-cat-section .cat-product-actions .switch.sm.on:after{left:21px}
}

/* ================================================================
   TOTEM DE AUTOATENDIMENTO (kiosk) — /kiosk/:slug
   Tela cheia, sem chrome, botões grandes para toque. A classe
   .kiosk-mode no body esconde qualquer elemento persistente.
   ================================================================ */
body.kiosk-mode{overflow:hidden;background:var(--bg)}
body.kiosk-mode .skip-link{display:none}
.kiosk-screen{position:fixed;inset:0;display:flex;flex-direction:column;background:var(--bg);color:var(--ink);overflow:hidden;z-index:50}
.kiosk-main{flex:1;overflow-y:auto;padding:18px 22px 110px;-webkit-overflow-scrolling:touch}
.kiosk-center{display:flex;align-items:flex-start;justify-content:center}

/* Cabeçalho */
.kiosk-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 22px;background:var(--surface);border-bottom:1px solid var(--border);box-shadow:var(--sh-1)}
.kiosk-store-name{font-size:1.25rem;font-weight:900;letter-spacing:-.02em;text-align:center;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kiosk-back{border:1px solid var(--border);background:var(--surface-2);color:var(--ink);border-radius:999px;padding:14px 20px;font-weight:800;font-size:1rem;min-height:52px}
.kiosk-cart-btn{display:inline-flex;align-items:center;gap:9px;border:0;border-radius:999px;padding:14px 22px;font-weight:900;font-size:1.05rem;min-height:52px;background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff;box-shadow:0 8px 18px rgba(255,90,10,.25)}
.kiosk-cart-count{font-weight:800;color:var(--muted);font-size:1rem;white-space:nowrap}

/* Grade de produtos */
.kiosk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px;max-width:1200px;margin:0 auto}
.kiosk-card{border:1px solid var(--border);background:var(--surface);border-radius:20px;overflow:hidden;text-align:left;display:flex;flex-direction:column;box-shadow:var(--sh-1);transition:transform .15s ease,box-shadow .15s ease;min-height:220px}
.kiosk-card:active{transform:scale(.97);box-shadow:var(--sh-2)}
.kiosk-card-img{aspect-ratio:1/.72;background-size:cover;background-position:center;background-color:var(--surface-2)}
.kiosk-card-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px}
.kiosk-card-name{font-size:1.12rem;font-weight:800;line-height:1.2}
.kiosk-card-price{font-size:1.2rem;font-weight:900;color:var(--brand)}
.kiosk-empty{grid-column:1/-1;text-align:center;color:var(--muted);font-size:1.2rem;padding:60px 0}

/* Tela de atração / sucesso */
.kiosk-attract{justify-content:center;align-items:center;text-align:center;cursor:pointer;background:radial-gradient(1200px 700px at 50% -10%,var(--brand-soft),var(--bg))}
.kiosk-attract-inner{display:flex;flex-direction:column;align-items:center;gap:18px;padding:40px;max-width:720px}
.kiosk-big-emoji{font-size:6rem;line-height:1}
.kiosk-title{font-size:clamp(2.2rem,5vw,3.6rem);font-weight:900;letter-spacing:-.04em;margin:0}
.kiosk-cta{font-size:clamp(1.3rem,2.6vw,1.8rem);font-weight:700;color:var(--ink);margin:0;animation:kiosk-pulse 2.2s ease-in-out infinite}
.kiosk-hint{font-size:1.05rem;color:var(--muted);margin:0}
.kiosk-order-code{font-size:clamp(3.4rem,9vw,6rem);font-weight:900;letter-spacing:.06em;color:var(--brand);line-height:1;background:var(--surface);border:2px dashed var(--brand);border-radius:24px;padding:18px 44px}
.kiosk-total-line{font-size:1.4rem;font-weight:800;margin:0}
.kiosk-success .kiosk-attract-inner{cursor:default}
@keyframes kiosk-pulse{0%,100%{opacity:1}50%{opacity:.55}}
@media(prefers-reduced-motion:reduce){.kiosk-cta{animation:none}}

/* Revisão do pedido */
.kiosk-panel{width:100%;max-width:640px;background:var(--surface);border:1px solid var(--border);border-radius:24px;box-shadow:var(--sh-2);padding:22px;display:flex;flex-direction:column;gap:16px}
.kiosk-lines{display:flex;flex-direction:column;gap:12px}
.kiosk-line{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--border)}
.kiosk-line:last-child{border-bottom:0}
.kiosk-line-info{flex:1;display:flex;flex-direction:column;gap:2px}
.kiosk-line-info b{font-size:1.1rem}
.kiosk-line-price{font-size:.9rem;color:var(--muted)}
.kiosk-line-total{font-weight:900;font-size:1.1rem;min-width:90px;text-align:right}
.kiosk-qty{display:flex;align-items:center;gap:12px}
.kiosk-qty b{font-size:1.25rem;min-width:30px;text-align:center}
.kiosk-qty button{width:52px;height:52px;border-radius:14px;border:1px solid var(--border);background:var(--surface-2);color:var(--ink);font-size:1.6rem;font-weight:800;line-height:1}
.kiosk-qty button:active{background:var(--brand-soft)}
.kiosk-total{display:flex;justify-content:space-between;align-items:center;font-size:1.5rem;font-weight:900;padding-top:6px;border-top:2px solid var(--border)}

/* Checkout */
.kiosk-label{font-size:1.05rem;font-weight:800;color:var(--muted);margin-top:4px}
.kiosk-input{width:100%;border:2px solid var(--border);background:var(--surface);color:var(--ink);border-radius:16px;padding:18px 18px;font-size:1.3rem;font-weight:600;min-height:62px}
.kiosk-input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-soft)}
.kiosk-pay-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.kiosk-pay{display:flex;flex-direction:column;align-items:center;gap:8px;border:2px solid var(--border);background:var(--surface);color:var(--ink);border-radius:18px;padding:18px 10px;font-size:1.1rem;font-weight:800;min-height:92px}
.kiosk-pay-emoji{font-size:2rem;line-height:1}
.kiosk-pay.on{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}

/* Botões grandes */
.kiosk-btn-big{border:0;border-radius:18px;padding:20px 24px;font-size:1.3rem;font-weight:900;min-height:68px;display:flex;align-items:center;justify-content:center;gap:10px;width:100%}
.kiosk-btn-big.primary{background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff;box-shadow:0 10px 24px rgba(255,90,10,.28)}
.kiosk-btn-big.primary:active{transform:scale(.98)}
.kiosk-btn-big.primary:disabled{opacity:.6}
.kiosk-btn-big.ghost{background:transparent;border:2px solid var(--border);color:var(--ink)}
@media(max-width:560px){.kiosk-pay-row{grid-template-columns:1fr}.kiosk-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}}

/* ════════════════════════════════════════════════════════════════════
   /abrirloja — redesign de conversão (28/08). Tokens + componentes .op-*
   Regra: nenhuma seção pode gerar overflow horizontal (teste 320/344/374px).
   ════════════════════════════════════════════════════════════════════ */
:root{
  --op-cream:#fff8f2;--op-ink:#1b1b1b;--op-green:#1e7b4d;--op-red:#c4342d;
  --op-display:"Space Grotesk","Sora",Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
}
.op-main{overflow-x:clip}
/* Largura de leitura: container mais estreito e com respiro nas bordas. Em telas
   largas isso evita linhas longas demais e a sensação de "gap" à direita. */
.op-main .container{width:min(calc(100% - 48px),1140px)}
/* Tipografia de leitura: medida confortável, entrelinha generosa e quebras de
   linha equilibradas (text-wrap) para facilitar a leitura em qualquer largura. */
.op-main .h1,.op-main .h2{text-wrap:balance}
.op-main p{text-wrap:pretty}
.op-sub{line-height:1.65}
/* Cabeçalho de seção: pilha alinhada à esquerda (sem texto solto à direita), com
   medida confortável. Seções com style inline (como-funciona/plano) seguem centradas. */
.op-main .section-head{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:10px;margin:0 0 28px;text-align:left}
.op-main .section-head .muted{max-width:600px;line-height:1.65;font-size:1rem}
/* Ícone da página 404 (sem emoji — regra do produto). */
.nf-ic{display:inline-grid;place-items:center;width:84px;height:84px;border-radius:24px;background:var(--brand-soft);color:var(--brand);margin-bottom:18px}
.nf-ic svg{width:40px;height:40px}
/* Conta / estados vazios: coluna única, centralizada e com medida de leitura */
.account-shell{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:560px;margin-inline:auto;padding:48px 0}
.account-shell .kicker{max-width:46ch;margin-inline:auto}
.account-shell .stack{width:100%;max-width:420px;margin:22px auto 0}
.account-shell--left{text-align:left;align-items:stretch}
.account-shell--left .kicker{margin-inline:0}
.account-shell--left .stack{max-width:none}
.op-section{padding:72px 0}
.op-section .h2{font-family:var(--op-display)}
.op-cream{background:linear-gradient(180deg,var(--surface-2),color-mix(in srgb,var(--brand-soft) 6%,var(--surface-2)))}
/* Faixa escura (comparativo) — papel dos cupons sobressai em ambos os temas */
.op-ink{background:var(--op-ink);color:#f5f1ec}
.op-ink .eyebrow{color:#ffb186}
.op-ink .h2{color:#fff}
.op-ink .muted{color:rgba(245,241,236,.72)}
[data-theme="dark"] .op-ink{background:#141110;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}

/* Header sticky do lojista: ganha sombra ao rolar; selo "30 dias grátis" some no mobile */
.owner-nav{transition:box-shadow .2s ease}
.owner-nav.scrolled{box-shadow:0 8px 28px rgba(40,20,8,.14)}
.owner-nav-free{font-size:.8rem;font-weight:900;color:var(--op-green);white-space:nowrap}
@media(max-width:1000px){.owner-nav-free{display:none}}

/* ── 02 HERO + mockup de produto em HTML/CSS ── */
.op-hero{padding:56px 0 40px;background:radial-gradient(120% 140% at 80% -10%,var(--brand-soft) 0%,transparent 55%),var(--bg);position:relative;overflow:hidden}
.op-hero::before{content:'';position:absolute;top:-40%;right:-15%;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--brand) 8%,transparent),transparent 70%);pointer-events:none;animation:heroGlow 6s ease-in-out infinite alternate}
@keyframes heroGlow{0%{opacity:.4;transform:scale(1)}100%{opacity:.8;transform:scale(1.15)}}
.op-hero .h1{animation:heroSlide .8s ease both}
@keyframes heroSlide{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
.op-hero .kicker{animation:heroSlide .8s ease .15s both}
.op-hero .hero-actions{animation:heroSlide .8s ease .3s both}
.op-hero .op-micro{animation:heroSlide .8s ease .45s both}

.op-hero-grid{display:grid;grid-template-columns:1fr;gap:48px;align-items:center;max-width:780px;margin:0 auto;text-align:center}
.op-hero-copy{text-align:center}
.op-hero-copy .op-sub{margin:16px auto 0}
.op-hero-copy .hero-actions{justify-content:center}
.op-hero-copy .op-micro{justify-content:center}
.op-h1{font-family:var(--op-display);font-size:clamp(2.2rem,5vw,3.9rem);line-height:1.02;letter-spacing:-.045em;margin:.2em 0}
.op-hl{color:var(--brand);text-decoration:underline;text-decoration-thickness:.09em;text-underline-offset:.12em;text-decoration-color:color-mix(in srgb,var(--brand) 35%,transparent)}
.op-sub{margin-top:16px;max-width:520px}
.op-eb-br{display:none}
.op-micro{display:flex;align-items:center;gap:8px;margin-top:20px;color:var(--muted);font-size:.9rem;font-weight:700}
.op-micro svg{width:18px;height:18px;color:var(--op-green);flex:0 0 auto}


/* ── 03 Barra de prova ── */
/* Prova social v2 — novo layout com cards impactantes */
.op-proof-v2{padding:48px 0;background:linear-gradient(135deg,var(--surface),color-mix(in srgb,var(--brand-soft) 12%,var(--surface)));border-bottom:1px solid var(--border)}
.op-proof-v2-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.op-proof-v2-card{background:var(--surface);color:var(--ink);border:1px solid var(--border);border-radius:18px;padding:24px 16px;text-align:center;transition:all .25s ease;position:relative;overflow:hidden}
.op-proof-v2-card::after{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--brand),var(--brand-2));transform:scaleX(0);transition:transform .3s ease;transform-origin:left}
.op-proof-v2-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-sm)}
.op-proof-v2-card:hover::after{transform:scaleX(1)}
.op-proof-v2-icon{font-size:1.8rem;margin-bottom:10px}
.op-proof-v2-n{font-family:var(--op-display);font-size:clamp(1.6rem,3.5vw,2.4rem);font-weight:950;color:var(--brand);line-height:1;letter-spacing:-.03em}
.op-proof-v2-title{font-size:.82rem;font-weight:800;color:var(--ink);margin:6px 0 4px;text-transform:uppercase;letter-spacing:.04em}
.op-proof-v2-desc{font-size:.78rem;color:var(--muted);line-height:1.45}
@media(max-width:760px){.op-proof-v2-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.op-proof-v2-grid{grid-template-columns:1fr}}
/* FASE: Seção Descoberta por Proximidade */
.op-proximity{padding:56px 0;background:linear-gradient(180deg,var(--bg),color-mix(in srgb,var(--brand-soft) 8%,var(--bg)));text-align:center}
.op-proximity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:32px;max-width:900px;margin-left:auto;margin-right:auto}
.op-prox-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:28px 20px;text-align:center;transition:transform .2s ease,box-shadow .2s ease;position:relative;overflow:hidden}
.op-prox-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-sm)}
.op-prox-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--brand),var(--brand-2))}
.op-prox-ic{width:56px;height:56px;border-radius:16px;background:linear-gradient(135deg,var(--brand-soft),color-mix(in srgb,var(--brand-soft) 40%,#fff));color:var(--brand);display:grid;place-items:center;margin:0 auto 16px}
.op-prox-ic svg{width:28px;height:28px}
.op-prox-card h3{font-size:1.1rem;margin:0 0 8px}
.op-prox-card p{font-size:.88rem;color:var(--muted);line-height:1.55;margin:0}
.op-prox-badge{display:inline-flex;align-items:center;gap:6px;background:color-mix(in srgb,var(--brand) 8%,var(--surface));border:1px solid color-mix(in srgb,var(--brand) 20%,var(--border));border-radius:999px;padding:6px 14px;font-size:.78rem;font-weight:800;color:var(--brand);margin-top:16px}
.op-proximity-head .eyebrow{color:var(--brand)}
.op-proximity-sub{font-size:.92rem;color:var(--muted);max-width:520px;margin:12px auto 0;line-height:1.55}
@media(max-width:760px){.op-proximity-grid{grid-template-columns:1fr;max-width:400px}}
/* Prova social v2 — layout split (texto + mockup phone) */
.op-social-v2{padding:78px 0;background:linear-gradient(180deg,color-mix(in srgb,var(--brand-soft) 8%,var(--bg)),var(--bg));overflow:hidden}
.op-social-v2-inner{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);gap:56px;align-items:center}
.op-social-v2-left{min-width:0}
.op-social-v2-live{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border:1px solid color-mix(in srgb,var(--green) 25%,var(--border));border-radius:999px;background:color-mix(in srgb,var(--green-soft) 58%,var(--surface));color:var(--green);font-size:.72rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.op-social-v2-live-dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px color-mix(in srgb,var(--green) 16%,transparent)}
.op-social-v2-live b{padding-left:8px;border-left:1px solid color-mix(in srgb,var(--green) 25%,var(--border));font-size:.65rem}
.op-social-v2-lead{max-width:570px;color:var(--muted);font-size:.98rem;line-height:1.6;margin:0}
.op-social-v2-counts{display:flex;gap:38px;margin:24px 0 20px}
.op-social-v2-stat{display:flex;flex-direction:column}
.op-social-v2-num{font-family:var(--op-display);font-size:clamp(2rem,5vw,3rem);font-weight:950;color:var(--brand);line-height:1}
.op-social-v2-label{font-size:.82rem;color:var(--muted);font-weight:700;margin-top:2px}
.op-social-v2-benefits{display:grid;gap:11px;max-width:540px}
.op-social-v2-benefit{display:flex;align-items:center;gap:11px;padding:11px 13px;border:1px solid var(--border);border-radius:13px;background:color-mix(in srgb,var(--surface) 78%,transparent);box-shadow:0 5px 18px rgba(70,32,10,.04)}
.op-social-v2-benefit-icon{width:30px;height:30px;flex:none;display:grid;place-items:center;border-radius:9px;background:var(--brand-soft);color:var(--brand);font-size:1.05rem;font-weight:950}
.op-social-v2-benefit b{display:block;font-size:.82rem;color:var(--ink);line-height:1.2}
.op-social-v2-benefit small{display:block;color:var(--muted);font-size:.74rem;line-height:1.35;margin-top:3px}
.op-social-v2-proof{display:flex;flex-wrap:wrap;gap:8px 16px;margin:17px 0 18px;color:var(--green);font-size:.74rem;font-weight:850}
.op-social-v2-cta{width:max-content;min-height:45px;padding:12px 18px!important;box-shadow:0 10px 24px rgba(208,63,0,.2)}
.op-social-v2-cta span{font-size:1.1rem;margin-left:8px}
.op-social-v2-foot{font-size:.78rem;color:var(--muted);line-height:1.45;margin:12px 0 0;max-width:540px}
/* Mockup do phone mostrando lojas por distância */
.op-social-v2-phone{width:min(280px,88%);aspect-ratio:9/19;margin:0 auto;background:#f8f5f0;border-radius:40px;border:6px solid #1c1713;box-shadow:0 30px 80px rgba(40,18,5,.35),0 0 0 1px rgba(0,0,0,.08) inset;overflow:hidden;position:relative;display:flex;flex-direction:column}
.op-social-v2-phone::before{content:'12:00';position:absolute;top:10px;left:50%;transform:translateX(-50%);font-size:.58rem;font-weight:800;color:#1c1713;z-index:2;letter-spacing:.02em}
.op-social-v2-phone::after{content:'';position:absolute;top:8px;right:18px;width:36px;height:10px;background:#1c1713;border-radius:8px;z-index:2}
.op-social-v2-screen{display:flex;flex-direction:column;gap:0;flex:1;overflow:hidden;padding:0 4px}
.op-social-v2-notch{display:none}
.op-social-v2-header{display:flex;align-items:center;gap:8px;padding:14px 10px 10px;font-weight:900;font-size:.88rem;color:var(--ink);border-bottom:1px solid var(--border)}
.op-social-v2-dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 18%,transparent)}
.op-social-v2-search{display:flex;align-items:center;gap:6px;margin:10px 8px 7px;padding:7px 9px;border-radius:9px;background:#fff;border:1px solid #eee2d8;color:#9c8b7c;font-size:.62rem}
.op-social-v2-search span:first-child{font-size:.95rem;color:var(--brand);line-height:1}
.op-social-v2-location{display:flex;align-items:center;gap:5px;padding:0 10px 7px;color:#8a7767;font-size:.61rem}
.op-social-v2-location span{color:var(--brand);font-size:.8rem}.op-social-v2-location b{margin-left:auto;color:#5b493d;font-size:.59rem}
.op-social-v2-feed-head{display:flex;align-items:end;justify-content:space-between;padding:5px 10px 7px}.op-social-v2-feed-head b{font-size:.69rem;color:var(--ink)}.op-social-v2-feed-head small{font-size:.52rem;color:var(--muted)}
.op-social-v2-store{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--border);background:#fff;animation:storeSlideIn .5s ease both}
.op-social-v2-store:last-child{border-bottom:none}
/* Contadores sociais — lojas e pessoas no Didil */
.op-counters{padding:40px 0;text-align:center;background:linear-gradient(180deg,color-mix(in srgb,var(--brand) 5%,var(--bg)),var(--bg))}
.op-counters-inner{display:flex;align-items:center;justify-content:center;gap:40px}
.op-counter{display:flex;flex-direction:column;align-items:center}
.op-counter-n{font-family:var(--op-display);font-size:clamp(2.8rem,7vw,4.5rem);font-weight:950;color:var(--brand);line-height:1;letter-spacing:-.04em}
.op-counter-label{font-size:.92rem;color:var(--muted);font-weight:700;margin-top:4px}
.op-counter-sep{width:2px;height:50px;background:var(--border);border-radius:1px}
.op-counters-sub{font-size:.88rem;color:var(--muted);margin-top:16px;line-height:1.5}
@media(max-width:520px){.op-counters-inner{gap:24px}.op-counter-n{font-size:clamp(2.2rem,10vw,3.5rem)}.op-counter-sep{height:36px}}
@keyframes storeSlideIn{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:translateX(0)}}
.op-social-v2-store-img{width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,#ffd9b8,#ff9d5c)}
.op-social-v2-store-img.alt{background:linear-gradient(135deg,#ffe9c9,#ffc76b)}
.op-social-v2-store-img.alt2{background:linear-gradient(135deg,#c9f0e0,#7ed4a8)}
.op-social-v2-store b{display:block;font-size:.82rem;color:var(--ink)}
.op-social-v2-store small{font-size:.7rem;color:var(--muted)}
.op-social-v2-badge{font-size:.68rem;font-weight:800;color:var(--amber);background:var(--warning-soft);padding:3px 8px;border-radius:999px}
.op-social-v2-phone-promo{display:flex;align-items:center;gap:7px;margin:10px 8px 8px;padding:8px 9px;border-radius:11px;background:linear-gradient(135deg,#fff0e6,#ffe1c9);color:#a83d08}.op-social-v2-phone-promo>span{font-size:1rem}.op-social-v2-phone-promo b{display:block;font-size:.62rem}.op-social-v2-phone-promo small{display:block;font-size:.52rem;color:#b36c42;margin-top:2px}
.op-social-v2-phone-nav{display:grid;grid-template-columns:repeat(4,1fr);margin:auto 4px 2px;padding:8px 2px 5px;border-top:1px solid #eadfd6;color:#a99687;text-align:center}.op-social-v2-phone-nav span{font-size:.72rem;line-height:1}.op-social-v2-phone-nav small{display:block;font-size:.48rem;margin-top:4px}.op-social-v2-phone-nav .active{color:var(--brand);font-weight:900}
@media(max-width:760px){.op-social-v2{padding:58px 0}.op-social-v2-inner{grid-template-columns:1fr;text-align:center;gap:38px}.op-social-v2-lead,.op-social-v2-foot{margin-left:auto;margin-right:auto}.op-social-v2-counts{justify-content:center}.op-social-v2-benefits{text-align:left;margin:0 auto}.op-social-v2-proof{justify-content:center}.op-social-v2-cta{margin:0 auto}.op-social-v2-right{order:2}}
/* Showcase de lojas reais (melhorias /abrirloja) */
.op-stores{margin-top:8px}
.op-stores-loading{color:var(--muted);text-align:center;padding:18px 0}
.op-stores-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.op-store-card{display:flex;gap:12px;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:12px;text-decoration:none;color:inherit;transition:transform .15s ease,border-color .15s ease}
.op-store-card:hover{transform:translateY(-2px);border-color:var(--brand)}
.op-store-logo{width:44px;height:44px;border-radius:10px;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:900;overflow:hidden;flex:none}
.op-store-logo img{width:100%;height:100%;object-fit:cover}
.op-store-body{display:flex;flex-direction:column;min-width:0}
.op-store-name{font-size:.96rem;font-weight:800}
.op-store-meta{font-size:.76rem;color:var(--muted)}
.op-store-tag{font-size:.8rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.op-local-stores{margin-top:18px;text-align:center}
.op-local-stores-title{font-size:.82rem;color:var(--muted);margin-bottom:10px}
.op-local-stores-row{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.op-local-store{display:inline-flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:6px 14px 6px 6px;text-decoration:none;color:inherit;font-size:.84rem}
.op-local-store:hover{border-color:var(--brand)}
.op-local-store-logo{width:28px;height:28px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:900;overflow:hidden;flex:none}
.op-local-store-logo img{width:100%;height:100%;object-fit:cover}
.op-local-store-city{color:var(--muted);font-size:.74rem}
@media(max-width:520px){.op-stores-row{grid-template-columns:1fr}}

/* ── 04 Depoimentos ── */
.op-testi{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:8px}
.op-testi-card{position:relative;display:flex;flex-direction:column;gap:12px;padding:24px}
.op-testi-card>svg{width:26px;height:26px;color:var(--brand);opacity:.5}
.op-testi-card blockquote{margin:0;font-size:.95rem;line-height:1.6;color:var(--ink)}
.op-testi-card figcaption{display:flex;align-items:center;gap:11px;margin-top:auto}
.op-testi-card figcaption b{display:block;font-size:.9rem}
.op-testi-card figcaption small{display:block;color:var(--muted);font-size:.76rem}
.op-testi-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff;display:grid;place-items:center;font-weight:900;flex:0 0 auto}
.op-testi-metric{display:inline-flex;align-items:center;gap:7px;font-size:.8rem;font-weight:800;color:var(--op-green);background:color-mix(in srgb,var(--op-green) 10%,transparent);padding:6px 10px;border-radius:999px}
.op-testi-metric svg{width:15px;height:15px}
.op-testi-tag{position:absolute;top:14px;right:14px;font-size:.6rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);border:1px dashed var(--border);padding:3px 7px;border-radius:999px}

/* ── 05 Comparativo: cupons fiscais + tabela ── */
.op-coupons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin:32px auto 8px;max-width:760px}
.op-coupon{position:relative;margin:0;background:#fdfaf4;color:#241d16;border:1px solid #e7d9c4;border-radius:12px;padding:24px 20px 50px;font-family:ui-monospace,"SF Mono",Consolas,monospace;box-shadow:0 20px 50px rgba(0,0,0,.28);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}
.op-coupon:hover{transform:translateY(-4px);box-shadow:0 24px 60px rgba(0,0,0,.35)}
.op-coupon::after{content:"";position:absolute;left:0;right:0;bottom:0;height:12px;background:radial-gradient(circle at 6px -2px,transparent 7px,#fdfaf4 7.5px);background-size:14px 12px;background-repeat:repeat-x}
.op-coupon-head{font-size:.72rem;font-weight:800;letter-spacing:.14em;text-align:center;border-bottom:1px dashed #cbb89c;padding-bottom:10px;margin-bottom:12px;color:#5c4a33}
.op-coupon-lines{display:grid;gap:7px;margin-bottom:14px}
.op-coupon-lines i{display:block;height:8px;border-radius:3px;background:#e6d8c2;width:70%}
.op-coupon-lines i.w{width:92%}
.op-coupon-total{display:flex;justify-content:space-between;gap:10px;font-size:.86rem;padding:6px 0;border-top:1px dashed #cbb89c}
.op-coupon-total b{font-weight:900;white-space:nowrap}
.op-coupon--market .op-coupon-total b{color:var(--op-red)}
.op-coupon--didil .op-coupon-total b{color:var(--op-green)}
.op-coupon figcaption{font-family:Inter,system-ui,sans-serif;font-size:.8rem;color:#6f5f4b;margin-top:12px;line-height:1.5}
.op-stamp{position:absolute;top:38%;right:-6px;transform:rotate(-12deg);font-weight:900;font-size:1.05rem;letter-spacing:.06em;padding:7px 14px;border-radius:8px;border:3px solid;opacity:.92;background:rgba(255,255,255,.85);font-family:Inter,sans-serif}
.op-stamp--red{color:var(--op-red);border-color:var(--op-red)}
.op-stamp--green{color:var(--op-green);border-color:var(--op-green)}
.op-table-wrap{overflow-x:auto;margin-top:26px;border-radius:14px;-webkit-overflow-scrolling:touch}
.op-table{width:100%;min-width:520px;border-collapse:collapse;background:rgba(255,255,255,.04);font-size:.9rem}
.op-table th,.op-table td{padding:13px 14px;text-align:left;border-bottom:1px solid rgba(245,241,236,.14)}
.op-table thead th{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:rgba(245,241,236,.65)}
.op-table th[scope="row"]{font-weight:700;color:#f5f1ec}
.op-th-market{color:#ff9b90!important}
.op-th-didil{color:#7fe0ae!important}
.op-td-good{color:#7fe0ae;font-weight:800}
.op-td-bad{color:#ff9b90;font-weight:700}
.op-callout{display:flex;align-items:center;gap:10px;justify-content:center;margin-top:24px;font-size:1rem;color:#f5f1ec;text-align:center}
.op-callout svg{width:20px;height:20px;color:#ffb186;flex:0 0 auto}
.op-callout b{color:#7fe0ae}

/* ── 06 Como funciona: passos + linha do tempo ── */
.op-step{text-align:center;padding:32px 24px;display:flex;flex-direction:column;align-items:center;gap:8px;transition:transform .2s ease}
.op-step:hover{transform:translateY(-4px)}
.op-step-ic{width:60px;height:60px;border-radius:18px;background:linear-gradient(135deg,var(--brand-soft),color-mix(in srgb,var(--brand-soft) 40%,#fff));color:var(--brand);display:grid;place-items:center;margin-bottom:8px;box-shadow:0 8px 20px rgba(208,63,0,.1)}
.op-step-ic svg{width:28px;height:28px}
.op-step-n{font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--brand)}
.op-step h3{font-size:1.15rem;margin:0}
.op-step p{margin:0;font-size:.9rem;line-height:1.6;color:var(--muted)}

/* ── 07 Plataforma (bento) ── */
.op-bento{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:8px}
.op-bento-card{padding:28px;display:flex;flex-direction:column;gap:10px;transition:transform .2s ease,box-shadow .2s ease;position:relative;overflow:hidden}
.op-bento-card::after{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--brand),var(--brand-2));transform:scaleX(0);transition:transform .3s ease;transform-origin:left}
.op-bento-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-sm)}
.op-bento-card:hover::after{transform:scaleX(1)}
.op-bento-ic{width:50px;height:50px;border-radius:16px;background:linear-gradient(135deg,var(--brand-soft),color-mix(in srgb,var(--brand-soft) 40%,#fff));color:var(--brand);display:grid;place-items:center}
.op-bento-ic svg{width:24px;height:24px}
.op-bento-card h3{font-size:1.05rem;margin:0}
.op-bento-card p{margin:0;font-size:.88rem;color:var(--muted);line-height:1.6}

/* ── 08 Calculadora de economia ── */
.op-calc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:20px;align-items:start;margin-top:8px}
.op-calc-inputs{padding:26px;display:grid;gap:16px}
.op-calc-result{min-height:120px}
.op-calc-empty{height:100%;min-height:200px;border:2px dashed var(--border);border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--muted);text-align:center;padding:26px}
.op-calc-empty svg{width:34px;height:34px;color:var(--brand);opacity:.6}
.op-calc-empty p{margin:0;font-size:.92rem;max-width:280px}
.op-calc-card{border-radius:18px;padding:24px;display:grid;gap:4px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm)}
.op-calc-line{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--border);font-size:.92rem}
.op-calc-line span{color:var(--muted)}
.op-calc-line b{white-space:nowrap}
.op-calc-line.bad b{color:var(--op-red)}
.op-calc-line.good b{color:var(--op-green)}
.op-calc-save{margin:14px 0 16px;padding:14px;border-radius:12px;background:color-mix(in srgb,var(--op-green) 10%,transparent);color:var(--ink);font-size:.98rem;text-align:center}
.op-calc-save b{color:var(--op-green)}

/* ── 09 Preço ── */
.op-price{display:flex;justify-content:center;margin-top:8px}
.op-price-card{width:min(560px,100%);padding:40px 36px;text-align:center;position:relative;overflow:hidden}
.op-price-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--brand),var(--brand-2))}
.op-price-top h3{font-size:1rem;text-transform:uppercase;letter-spacing:.1em;color:var(--brand);margin:0}
.op-price-val{font-family:var(--op-display);font-size:clamp(2.6rem,6vw,3.6rem);font-weight:900;letter-spacing:-.04em;line-height:1;margin:10px 0 4px}
.op-price-val small{font-size:1rem;color:var(--muted);font-weight:700;letter-spacing:0}
.op-price-anchor{color:var(--muted);font-size:.9rem;margin:0}
.op-guarantee{display:flex;align-items:center;gap:9px;justify-content:center;margin:18px 0;padding:13px 16px;border-radius:13px;background:color-mix(in srgb,var(--op-green) 9%,transparent);font-size:.9rem;line-height:1.5;text-align:left}
.op-guarantee svg{width:22px;height:22px;color:var(--op-green);flex:0 0 auto}
.op-included{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin-top:6px;text-align:left}
.op-included-item{display:flex;align-items:center;gap:10px;font-size:.9rem;font-weight:600}
.op-included-item svg{width:20px;height:20px;color:var(--brand);flex:0 0 auto}
.op-badges{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:20px;padding-top:18px;border-top:1px solid var(--border)}
.op-badge{display:inline-flex;align-items:center;gap:7px;font-size:.76rem;font-weight:700;color:var(--muted);border:1px solid var(--border);padding:6px 11px;border-radius:999px}
.op-badge svg{width:15px;height:15px;color:var(--op-green)}

/* ── 10 Teaser CMV ── */
.op-cmv-teaser{display:grid;grid-template-columns:1.4fr .6fr;gap:24px;align-items:center;padding:36px 32px;border-radius:20px}
.op-cmv-copy .h2{margin:8px 0 10px}
.op-cmv-copy .btn{margin-top:16px}
.op-cmv-side{display:flex;flex-direction:column;align-items:center;gap:14px;color:var(--brand)}
.op-cmv-side>svg{width:64px;height:64px;opacity:.85}
.op-cmv-pill{font-size:.8rem;font-weight:900;color:var(--op-green);background:color-mix(in srgb,var(--op-green) 12%,transparent);padding:8px 14px;border-radius:999px;white-space:nowrap}

/* ── 11 FAQ accordion ── */
.op-faq{display:grid;gap:10px;margin-top:8px}
.op-faq-item{padding:0;overflow:hidden}
.op-faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 20px;background:transparent;border:0;text-align:left;font-weight:800;font-size:.98rem;color:var(--ink);min-height:56px}
.op-faq-q:focus-visible{outline:3px solid var(--brand);outline-offset:-3px}
.op-faq-ic{flex:0 0 auto;display:grid;place-items:center;transition:transform .22s ease;color:var(--brand)}
.op-faq-ic svg{width:20px;height:20px}
.op-faq-item.open .op-faq-ic{transform:rotate(180deg)}
.op-faq-a{max-height:0;overflow:hidden;transition:max-height .22s ease}
.op-faq-a p{margin:0;padding:0 20px 18px;color:var(--muted);line-height:1.65;font-size:.92rem}

/* ── 12 Formulário + WhatsApp ── */
.op-form{padding:28px}
.op-check-ic svg{width:22px;height:22px;color:var(--op-green)}
.op-wa{margin-top:22px;border-color:#25d366;color:#128c4b;font-weight:900}
.op-wa svg{width:20px;height:20px}
.op-wa:hover{background:#eafaf0;border-color:#128c4b}
.op-form-success{display:flex;gap:11px;align-items:flex-start;padding:14px;border-radius:13px;background:var(--green-soft);border:1px solid #ccebdc;font-size:.9rem;line-height:1.5}
.op-form-success svg{width:22px;height:22px;color:var(--op-green);flex:0 0 auto;margin-top:1px}
.op-form-success a{color:var(--brand);font-weight:800;text-decoration:underline}
#lead-status:not(:empty){margin-bottom:4px}

/* ── Scroll-reveal (progressive enhancement) ── */
[data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
[data-reveal].revealed{opacity:1;transform:none}

/* ── /calculadora-cmv: gauge de resultado ── */
.cmv-gauge{margin:6px 0 16px}
.cmv-gauge-bar{position:relative;height:16px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);overflow:hidden}
.cmv-gauge-fill{position:absolute;top:0;bottom:0;left:0;border-radius:999px;transition:width .4s ease}
.cmv-gauge-ideal{position:absolute;top:-2px;bottom:-2px;background:color-mix(in srgb,var(--brand) 12%,transparent);border-left:2px dashed var(--brand);border-right:2px dashed var(--brand)}
.cmv-gauge-labels{display:flex;justify-content:space-between;align-items:center;font-size:.7rem;color:var(--muted);margin-top:6px}
.cmv-ideal-tag{color:var(--brand);font-weight:800}
.cmv-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:14px 0}
.cmv-verdict{padding:12px 14px;border-radius:12px;background:var(--surface-2);border:1px solid var(--border);border-left-width:4px;font-size:.92rem;margin:6px 0 10px}

/* ── Responsivo: tudo empilha e nada vaza do viewport ── */
@media(max-width:960px){
  .op-hero-grid{grid-template-columns:1fr;gap:34px}
  .op-hero{padding-top:36px}
  .op-hero-copy{text-align:center}
  .op-hero-copy .eyebrow{font-size:clamp(.85rem,3.9vw,.95rem);letter-spacing:.04em;line-height:1.5}
  .op-hero-copy .op-eb-br{display:inline}
  .op-hero-copy .op-sub{margin-left:auto;margin-right:auto;max-width:none}
  .op-hero-copy .hero-actions{flex-direction:column;align-items:stretch;justify-content:flex-start}
  .op-hero-copy .hero-actions .btn{width:100%}
  .op-hero-copy .op-micro{justify-content:center}
  .op-bento{grid-template-columns:repeat(2,1fr)}
  .op-testi{grid-template-columns:1fr;max-width:560px;margin-left:auto;margin-right:auto}
  .op-calc{grid-template-columns:1fr}
}
@media(max-width:760px){
  .op-section{padding:46px 0}
  .op-main .section-head{align-items:center;text-align:center}
  .op-main .section-head .muted{margin-left:auto;margin-right:auto}
  .op-proof-row{grid-template-columns:repeat(2,1fr);gap:22px 12px}
  .op-coupons{grid-template-columns:1fr;max-width:420px}
  .op-cmv-teaser{grid-template-columns:1fr}
  .op-cmv-side{flex-direction:row;justify-content:flex-start}
  .op-included{grid-template-columns:1fr}
}
@media(max-width:560px){
  .op-bento{grid-template-columns:1fr}
  .op-mock-card{max-width:130px;padding:7px 10px}
  .op-mock-order{top:8%}
  .op-stamp{font-size:.9rem;top:34%}
}
@media(max-width:360px){
  .op-mock-pix{display:none}
  .op-proof-n{font-size:1.4rem}
}

/* ═══════════════════════════════════════════════════════════
   MODERN UI OVERHAUL — Animações, Cards, Botões, Hero
   ═══════════════════════════════════════════════════════════ */

/* ── GLOBAL ANIMATIONS ── */
@keyframes fadeInUp{
  from{opacity:0;transform:translateY(24px)}
  to{opacity:1;transform:none}
}
@keyframes fadeInDown{
  from{opacity:0;transform:translateY(-16px)}
  to{opacity:1;transform:none}
}
@keyframes fadeInScale{
  from{opacity:0;transform:scale(.95)}
  to{opacity:1;transform:none}
}
@keyframes slideInRight{
  from{opacity:0;transform:translateX(20px)}
  to{opacity:1;transform:none}
}
@keyframes gentlePulse{
  0%,100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--brand) 25%,transparent)}
  50%{box-shadow:0 0 0 12px color-mix(in srgb,var(--brand) 0%,transparent)}
}
@keyframes float{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-8px)}
}
@keyframes shimmerHero{
  0%{background-position:-200% center}
  100%{background-position:200% center}
}
@keyframes rippleOut{
  to{transform:scale(3);opacity:0}
}
@keyframes slideUpBottom{
  from{transform:translateY(100%);opacity:0}
  to{transform:translateY(0);opacity:1}
}
@keyframes borderGlow{
  0%,100%{border-color:var(--border)}
  50%{border-color:color-mix(in srgb,var(--brand) 40%,var(--border))}
}
@keyframes heroShine{
  0%{left:-100%}
  100%{left:200%}
}
@keyframes bounceIn{
  0%{transform:scale(.3);opacity:0}
  50%{transform:scale(1.05)}
  70%{transform:scale(.95)}
  100%{transform:scale(1);opacity:1}
}
@keyframes countdownPulse{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.15)}
}

/* ── PAGE ENTRANCE (load) ──
   ATENÇÃO: NUNCA usar transform + fill-mode both/forwards aqui.
   Animação de transform no #app (mesmo com "to{transform:none}") deixa o
   computed transform != none após o fill e transforma o #app em containing
   block de position:fixed — a bottom-nav, o side-drawer, .mobile-cart,
   .chat-fab e .op-sticky passam a se posicionar relativo ao FIM do documento
   em vez do viewport (ficam invisíveis). Opacity não cria containing block. */
#app{
  animation:pageFade .3s ease;
  outline:none;
}
@keyframes pageFade{from{opacity:0}}

/* ── NAV: Glass morphism moderno ── */
.nav{
  background:rgba(255,250,245,.72)!important;
  backdrop-filter:blur(24px) saturate(1.8)!important;
  -webkit-backdrop-filter:blur(24px) saturate(1.8)!important;
  border-bottom:1px solid rgba(234,223,214,.6)!important;
}
.nav.scrolled{
  box-shadow:0 8px 32px rgba(69,38,20,.08);
}
[data-theme="dark"] .nav{
  background:rgba(20,17,16,.78)!important;
}

/* ── HERO LANDING: Visual impactante ── */
.mk-title{
  font-size:clamp(1.4rem,3.5vw,2.1rem)!important;
  font-weight:950;
  letter-spacing:-.035em;
  line-height:1.08;
  background:linear-gradient(135deg,var(--ink),var(--brand));
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
}
.mk-sub{
  font-size:clamp(.95rem,2.5vw,1.15rem)!important;
  margin-top:4px;
}
.marketplace-hero{
  background:radial-gradient(120% 180% at 80% -20%,color-mix(in srgb,var(--brand) 8%,transparent) 0%,transparent 55%),var(--bg)!important;
  padding-top:20px!important;
}

/* ── SEARCH BAR: Modern glass ── */
.mk-search{
  border:1px solid rgba(234,223,214,.7)!important;
  background:rgba(255,255,255,.85)!important;
  backdrop-filter:blur(16px)!important;
  box-shadow:0 8px 28px rgba(69,38,20,.08),0 2px 8px rgba(69,38,20,.04)!important;
  transition:border-color .2s,box-shadow .2s,transform .15s!important;
}
.mk-search:focus-within{
  border-color:var(--brand)!important;
  box-shadow:0 8px 28px rgba(208,63,0,.12),0 0 0 3px color-mix(in srgb,var(--brand) 10%,transparent)!important;
  transform:translateY(-1px);
}
[data-theme="dark"] .mk-search{
  background:rgba(34,27,22,.85)!important;
  border-color:rgba(58,46,35,.7)!important;
}

/* ── CATEGORY PILLS: Moderno + animado ── */
.mk-cat{
  border:1.5px solid var(--border)!important;
  background:rgba(255,255,255,.7)!important;
  backdrop-filter:blur(8px)!important;
  font-weight:800!important;
  transition:all .25s cubic-bezier(.22,.61,.36,1)!important;
  position:relative;
  overflow:hidden;
}
.mk-cat:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 6px 16px rgba(69,38,20,.08)!important;
  border-color:color-mix(in srgb,var(--brand) 40%,var(--border))!important;
}
.mk-cat.active{
  background:linear-gradient(135deg,var(--brand),color-mix(in srgb,var(--brand-2) 60%,var(--brand)))!important;
  border-color:var(--brand)!important;
  color:#fff!important;
  box-shadow:0 6px 20px rgba(208,63,0,.25)!important;
  transform:translateY(-1px)!important;
}
.mk-cat:active{
  transform:scale(.96)!important;
}
[data-theme="dark"] .mk-cat:not(.active){
  background:rgba(34,27,22,.7)!important;
}
[data-theme="dark"] .mk-cat.active{
  color:#211710!important;
}
:root[data-theme="dark"][data-contrast="high"] .mk-cat.active{
  color:#000!important;
}

/* ── CARDS: Elevação moderna + glass ── */
.card{
  transition:transform .25s cubic-bezier(.22,.61,.36,1),box-shadow .25s ease,border-color .25s ease!important;
}
.card:hover{
  transform:translateY(-4px)!important;
  box-shadow:0 20px 48px rgba(69,38,20,.12),0 4px 16px rgba(69,38,20,.06)!important;
  border-color:color-mix(in srgb,var(--brand) 25%,var(--border))!important;
}

/* Store showcase cards: modern hover */
.store-showcase{
  transition:all .3s cubic-bezier(.22,.61,.36,1)!important;
}
.store-showcase:hover{
  transform:translateY(-6px)!important;
  box-shadow:0 24px 56px rgba(69,38,20,.14),0 8px 20px rgba(69,38,20,.06)!important;
  border-color:var(--brand)!important;
}
.store-showcase:hover .ss-logo{
  transform:scale(1.05);
  transition:transform .25s ease;
}

/* ── BUTTONS: Micro-interações modernas ── */
.btn{
  position:relative;
  overflow:hidden;
  transition:all .25s cubic-bezier(.22,.61,.36,1)!important;
}
.btn.primary{
  background:linear-gradient(135deg,var(--brand),var(--brand-2))!important;
  box-shadow:0 8px 24px rgba(208,63,0,.22),0 2px 8px rgba(208,63,0,.12)!important;
}
.btn.primary:hover{
  transform:translateY(-3px)!important;
  box-shadow:0 14px 32px rgba(208,63,0,.3),0 4px 12px rgba(208,63,0,.15)!important;
}
.btn.primary:active{
  transform:translateY(0) scale(.98)!important;
  box-shadow:0 4px 12px rgba(208,63,0,.15)!important;
}
.btn.primary::before{
  content:'';
  position:absolute;
  top:0;left:-100%;
  width:100%;height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);
  transition:left .5s ease;
}
.btn.primary:hover::before{
  left:200%;
}
.btn.secondary{
  background:rgba(255,255,255,.85)!important;
  backdrop-filter:blur(8px)!important;
  border:1.5px solid var(--border)!important;
}
.btn.secondary:hover{
  border-color:var(--brand)!important;
  box-shadow:0 8px 20px rgba(208,63,0,.1)!important;
  transform:translateY(-2px)!important;
}
[data-theme="dark"] .btn.secondary{
  background:rgba(34,27,22,.85)!important;
}
.icon-btn{
  transition:all .2s cubic-bezier(.22,.61,.36,1)!important;
}
.icon-btn:hover{
  transform:translateY(-2px) scale(1.05)!important;
  box-shadow:0 8px 20px rgba(208,63,0,.12)!important;
}
.icon-btn:active{
  transform:scale(.92)!important;
}

/* ── PRODUCT CARDS: Hover moderno ── */
.product-card{
  transition:all .3s cubic-bezier(.22,.61,.36,1)!important;
}
.product-card:hover{
  transform:translateY(-5px)!important;
  box-shadow:0 20px 48px rgba(69,38,20,.12),0 6px 16px rgba(69,38,20,.06)!important;
}
.product-card:hover .img img{
  transform:scale(1.06)!important;
}
.product-card .add-btn{
  transition:all .25s cubic-bezier(.22,.61,.36,1)!important;
}
.product-card:hover .add-btn{
  box-shadow:0 6px 16px rgba(208,63,0,.25)!important;
}

/* ── STAT CARDS: Gradient top accent ── */
.stat{
  transition:all .25s cubic-bezier(.22,.61,.36,1)!important;
  overflow:hidden;
}
.stat:hover{
  transform:translateY(-4px)!important;
  box-shadow:0 16px 40px rgba(69,38,20,.1)!important;
}

/* ── TOAST: Slide-in moderno ── */
.toast{
  animation:slideInRight .35s cubic-bezier(.22,.61,.36,1)!important;
  box-shadow:0 16px 40px rgba(20,10,5,.25)!important;
}
.toast.good{
  background:linear-gradient(135deg,#0f7a50,#16a34a)!important;
}
.toast.warn{
  background:linear-gradient(135deg,#c2410c,#ea580c)!important;
}

/* ── MODAL: Modern entrance ── */
.modal{
  animation:fadeInScale .28s cubic-bezier(.22,.61,.36,1)!important;
}
.backdrop{
  animation:fadeIn .2s ease!important;
  backdrop-filter:blur(8px) saturate(1.2)!important;
}

/* ── LOGIN/REGISTER: Glass card + gradient bg ── */
.auth-card{
  background:rgba(255,255,255,.92)!important;
  backdrop-filter:blur(24px)!important;
  border:1px solid rgba(234,223,214,.6)!important;
  box-shadow:0 32px 80px rgba(69,38,20,.12),0 8px 24px rgba(69,38,20,.06)!important;
  /* Somente opacity: scale na entrada encolhe alvos de toque (<44px) durante a
     animação e reprova o critério de touch-target (ver narrow.spec.js). */
  animation:fadeIn .3s ease!important;
}
[data-theme="dark"] .auth-card{
  background:rgba(34,27,22,.92)!important;
}
.auth-tabs{
  display:flex;gap:4px;background:var(--surface-2);border-radius:14px;padding:4px;margin-bottom:24px;
}
.auth-tab{
  flex:1;padding:10px;border-radius:10px;font-weight:800;font-size:.88rem;text-align:center;text-decoration:none;color:var(--muted);transition:all .2s ease;
}
.auth-tab.on{
  background:var(--surface);color:var(--ink);box-shadow:0 2px 8px rgba(43,24,12,.06);
}
.auth-tab:hover:not(.on){color:var(--ink);}

/* ── FOOTER: Moderno com gradiente sutil ── */
.footer{
  background:linear-gradient(180deg,var(--bg),color-mix(in srgb,var(--surface-2) 50%,var(--bg)))!important;
  border-top:1px solid rgba(234,223,214,.5)!important;
}
.footer-grid h4,.ft{
  font-size:.82rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 14px;
}
.footer a{
  transition:color .15s,padding-left .2s ease!important;
}
.footer a:hover{
  color:var(--brand)!important;
  padding-left:4px;
}

/* ── BOTTOM NAV: Glass + animado ── */
.bottom-nav{
  background:rgba(255,255,255,.82)!important;
  backdrop-filter:blur(24px) saturate(1.8)!important;
  -webkit-backdrop-filter:blur(24px) saturate(1.8)!important;
}
[data-theme="dark"] .bottom-nav{
  background:rgba(24,20,18,.88)!important;
}
.bottom-nav .active{
  color:var(--brand)!important;
}
.bottom-nav .active svg{
  filter:drop-shadow(0 2px 6px rgba(208,63,0,.3));
}

/* ── SCROLL REVEAL (IntersectionObserver) ── */
.reveal-card{
  opacity:0;
  transform:translateY(20px);
  transition:opacity .5s cubic-bezier(.22,.61,.36,1),transform .5s cubic-bezier(.22,.61,.36,1);
}
.reveal-card.visible{
  opacity:1;
  transform:none;
}
.reveal-card:nth-child(1){transition-delay:0s}
.reveal-card:nth-child(2){transition-delay:.06s}
.reveal-card:nth-child(3){transition-delay:.12s}
.reveal-card:nth-child(4){transition-delay:.18s}
.reveal-card:nth-child(5){transition-delay:.24s}
.reveal-card:nth-child(6){transition-delay:.3s}
.reveal-card:nth-child(7){transition-delay:.36s}
.reveal-card:nth-child(8){transition-delay:.42s}

/* ── CATEGORY ROW: Sticky moderno ── */
.mk-cats{
  padding:14px 0 10px!important;
}

/* ── BADGE PILL: Glow animado ── */
.pill.good{
  animation:gentlePulse 2s ease-in-out infinite;
}
.pill.good:hover{
  animation:none;
  transform:scale(1.02);
}

/* ── STAT NUMBER: Counter animation support ── */
.op-proof-n{
  transition:all .3s ease;
}
.op-proof-item:hover .op-proof-n{
  transform:scale(1.05);
  color:var(--brand);
}
.op-proof-item{
  transition:transform .25s ease;
}
.op-proof-item:hover{
  transform:translateY(-2px);
}

/* ── STORE SHOWCASE: Gradient border on hover ── */
.store-showcase:hover .ss-fav{
  opacity:1;
  transform:scale(1.08);
}

/* ── PRICING CARD: Popular glow ── */
.price-card.popular{
  border:2px solid var(--brand)!important;
  box-shadow:0 24px 56px rgba(208,63,0,.15),0 0 0 1px rgba(208,63,0,.1)!important;
}
.price-card.popular:hover{
  box-shadow:0 32px 72px rgba(208,63,0,.22),0 0 0 1px rgba(208,63,0,.15)!important;
}

/* ── MINI FEATURES: Modern hover ── */
.mini-feature{
  transition:all .25s cubic-bezier(.22,.61,.36,1)!important;
}
.mini-feature:hover{
  transform:translateY(-3px)!important;
  box-shadow:0 12px 28px rgba(69,38,20,.08)!important;
  border-color:color-mix(in srgb,var(--brand) 30%,var(--border))!important;
}
.mini-feature .ico{
  transition:transform .25s ease;
}
.mini-feature:hover .ico{
  transform:scale(1.1) rotate(-3deg);
}

/* ── FEATURE CARD: Hover lift ── */
.feature-card{
  transition:all .25s cubic-bezier(.22,.61,.36,1)!important;
}
.feature-card:hover{
  transform:translateY(-4px)!important;
  box-shadow:0 16px 40px rgba(69,38,20,.1)!important;
}
.feature-card:hover .icon{
  transform:scale(1.1) rotate(-3deg);
  transition:transform .25s ease;
}

/* ── STORE HERO: Parallax-ready ── */
.store-hero{
  transition:filter .4s ease!important;
}
.store-hero img{
  transition:transform .6s cubic-bezier(.22,.61,.36,1)!important;
}
.store-hero:hover img{
  transform:scale(1.03);
}

/* ── FAQ: Smooth accordion ── */
.op-faq-q{
  transition:background .2s ease;
}
.op-faq-q:hover{
  background:var(--surface-2);
}
.op-faq-a{
  transition:max-height .35s cubic-bezier(.22,.61,.36,1)!important;
}

/* ── INPUT FOCUS: Glow ring ── */
.input:focus,.textarea:focus,.store-search input:focus{
  border-color:var(--brand)!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 12%,transparent),0 4px 12px rgba(208,63,0,.06)!important;
}

/* ── MOBILE CART: Slide up ── */
.mobile-cart{
  animation:slideUpBottom .3s cubic-bezier(.22,.61,.36,1)!important;
}

/* ── TABS: Modern underline ── */
.tabs button.active{
  position:relative;
}
.tabs button.active::after{
  content:'';
  position:absolute;bottom:0;left:20%;right:20%;
  height:3px;border-radius:3px;
  background:var(--brand);
}

/* ── PRICING: Animated popular badge ── */
.tag-top{
  animation:bounceIn .5s cubic-bezier(.22,.61,.36,1) both;
}

/* ── HERO OWNER: Floating mockup bob ── */
.op-mock-card{
  animation:float 3s ease-in-out infinite;
}
.op-mock-pix{
  animation:float 3.5s ease-in-out infinite .5s;
}

/* ── QR / MAP / COPY LINK button ── */
.tracking-store-brand:hover .store-logo,
.tracking-store-brand:hover .store-logo-fallback{
  transform:scale(1.08);
  transition:transform .25s ease;
}

/* ── SIDEBAR NAV: Smooth expand ── */
.nav-link{
  transition:all .2s cubic-bezier(.22,.61,.36,1)!important;
}
.nav-link:hover{
  transform:translateX(3px)!important;
}
.nav-link.active{
  box-shadow:inset 3px 0 0 var(--brand-2,#ff9f1a);
}

/* ── DASHBOARD PANEL: Modern ── */
.panel{
  transition:all .25s ease;
}
.panel:hover{
  box-shadow:0 8px 24px rgba(69,38,20,.06);
}

/* ── DASH STAT: Gradient bar animation ── */
.stat::before{
  animation:shimmerHero 3s ease-in-out infinite;
  background-size:200% 100%;
  background-image:linear-gradient(90deg,var(--brand),var(--brand-2),var(--brand));
}

/* ── ORDER ROW: Subtle hover ── */
.order-row{
  transition:all .2s cubic-bezier(.22,.61,.36,1)!important;
}
.order-row:hover{
  transform:translateX(4px)!important;
}

/* ── CHAT FAB: Bounce on hover ── */
.chat-fab{
  transition:all .25s cubic-bezier(.22,.61,.36,1)!important;
}
.chat-fab:hover{
  transform:scale(1.08) translateY(-2px)!important;
  box-shadow:0 18px 44px rgba(208,63,0,.4)!important;
}

/* ── NOTIFICATION DOT: Pulse ── */
.notify-dot,.notification-bell>small{
  animation:countdownPulse 2s ease-in-out infinite;
}

/* ── ACCESS ROUTE STAGE: Hero section for /entrar ── */
.access-route-stage{
  min-height:70vh;display:flex;align-items:center;position:relative;overflow:hidden;
  background:radial-gradient(120% 180% at 80% -20%,color-mix(in srgb,var(--brand) 6%,transparent) 0%,transparent 55%),var(--bg);
}
.access-route-visual{
  position:absolute;inset:0;opacity:.08;
  background:radial-gradient(circle at 30% 50%,var(--brand),transparent 60%),radial-gradient(circle at 70% 30%,var(--brand-2),transparent 50%);
}
.access-route-copy{
  position:relative;z-index:1;max-width:520px;padding:60px 0;
}
.access-route-copy h1{font-size:clamp(2rem,4vw,3rem);line-height:1.05;letter-spacing:-.035em;margin:12px 0 16px}
.access-route-copy p{color:var(--muted);line-height:1.65;font-size:1.05rem}
.access-route-actions{margin-top:28px;gap:12px}

/* ── ORDER HISTORY CARD ── */
.orders-list{display:grid;gap:10px;margin-top:18px}
.order-history-card{display:block;padding:16px;border:1px solid var(--border);border-radius:16px;background:var(--surface);transition:all .2s ease;text-decoration:none;color:inherit}
.order-history-card:hover{border-color:color-mix(in srgb,var(--brand) 35%,var(--border));transform:translateY(-2px);box-shadow:0 8px 24px rgba(69,38,20,.08)}
.order-history-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.order-history-total{margin-top:8px;font-size:.95rem}

/* ── LOGIN PAGE: Refined card ── */
.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(120% 180% at 50% -10%,color-mix(in srgb,var(--brand) 8%,transparent) 0%,transparent 55%),linear-gradient(180deg,var(--bg),var(--surface-2))}
.login-card{animation:fadeIn .3s ease}

/* ── STORE PAGE: Smooth skeleton ── */
.skeleton{
  animation:shimmer 1.4s ease-in-out infinite;
}

/* ── EMPTY STATE: Centered + modern ── */
.nf-ic{
  animation:bounceIn .5s cubic-bezier(.22,.61,.36,1) both;
}

/* ── RESPONSIVE REFINEMENTS ── */
@media(max-width:760px){
  .mk-title{font-size:clamp(1.6rem,7vw,2.4rem)!important}
  .mk-search{border-radius:14px!important}
  .mk-cat{padding:8px 14px!important;font-size:.8rem!important}
  .store-showcase{border-radius:16px!important}
  .card{border-radius:16px!important}
}
@media(max-width:620px){
  .mk-title{font-size:clamp(1.3rem,5.5vw,1.8rem)!important}
  .mk-hero-top{flex-wrap:nowrap;align-items:center}
  .mk-hero-greet{flex:1;min-width:0;overflow:hidden}
  .mk-hero-actions{flex-shrink:0}
  .footer a:hover{padding-left:0}
}
@media(max-width:390px){
  .mk-cat{padding:7px 11px!important;font-size:.76rem!important}
}

/* ── DARK MODE: Refinements ── */
[data-theme="dark"] .mk-title{
  background:linear-gradient(135deg,var(--ink),var(--brand));
  -webkit-background-clip:text;background-clip:text;
}
[data-theme="dark"] .card{
  border-color:rgba(58,46,35,.6);
}
[data-theme="dark"] .store-showcase{
  border-color:rgba(58,46,35,.6);
}
[data-theme="dark"] .footer{
  background:linear-gradient(180deg,var(--bg),rgba(34,27,22,.3))!important;
}
[data-theme="dark"] .mk-cat:not(.active){
  background:rgba(34,27,22,.7)!important;
  border-color:rgba(58,46,35,.5)!important;
}
/* FASE 1 dark mode */
[data-theme="dark"] .ss-FASE1 .ss-logo{background:#2e2721;border-color:rgba(58,46,35,.5)}
[data-theme="dark"] .ss-FASE1 .ss-name{color:var(--ink)}
[data-theme="dark"] .ss-FASE1 .ss-meta .pill.soft{background:rgba(255,255,255,.08);color:#aaa}
[data-theme="dark"] .order-again-card{background:var(--surface);border-color:var(--border)}
[data-theme="dark"] .closed-banner{background:rgba(255,90,10,.08);border-color:rgba(255,90,10,.2)}
[data-theme="dark"] .closed-alt-card{background:var(--surface);border-color:var(--border)}
[data-theme="dark"] .ca-logo{background:#2e2721;border-color:rgba(58,46,35,.5)}

/* ═══════════════════════════════════════════════════════════
   FASE 8.1-8.3 / 8.6 / 10.5 — Estoque, Caixa, KDS, Agendamento, Totem
   ═══════════════════════════════════════════════════════════ */
/* Inventory */
.inv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.inv-card{background:var(--card);border:1.5px solid var(--border);border-radius:14px;padding:14px}
.inv-card h4{margin:0 0 6px;font-size:.92rem}
.inv-card .inv-meta{display:flex;gap:8px;flex-wrap:wrap}
.inv-low{border-color:#dc2626!important;animation:pulse 2s infinite}
/* Cash register */
.cash-status{display:flex;gap:14px;align-items:center;padding:16px;border-radius:16px;margin-bottom:16px}
.cash-status.open{background:rgba(34,139,34,.08);border:1.5px solid rgba(34,139,34,.2)}
.cash-status.closed{background:rgba(0,0,0,.04);border:1.5px solid var(--border)}
.cash-amount{font-size:1.8rem;font-weight:800}
/* KDS timer */
.kds-ticket{position:relative}
.kds-timer{position:absolute;top:8px;right:8px;font-size:.76rem;font-weight:700;padding:4px 8px;border-radius:10px;background:rgba(0,0,0,.06)}
.kds-timer.warning{background:rgba(255,90,10,.15);color:#d97706}
.kds-timer.danger{background:rgba(220,38,38,.15);color:#dc2626;animation:pulse 1s infinite}
/* Schedule */
.schedule-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}
.schedule-slot{padding:10px 12px;border-radius:12px;border:1.5px solid var(--border);background:var(--card);cursor:pointer;text-align:center;font-size:.86rem;transition:all .2s}
.schedule-slot:hover{border-color:var(--brand)}
.schedule-slot.selected{background:var(--brand);color:#fff;border-color:var(--brand)}
/* Totem / Kiosk */
.kiosk-page{min-height:100vh;background:var(--bg);display:flex;flex-direction:column}
.kiosk-header{padding:20px;text-align:center;border-bottom:1.5px solid var(--border)}
.kiosk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;padding:20px;flex:1}
.kiosk-item{background:var(--card);border:2px solid var(--border);border-radius:18px;padding:16px;text-align:center;cursor:pointer;transition:all .2s}
.kiosk-item:hover,.kiosk-item.selected{border-color:var(--brand);transform:scale(1.02)}
.kiosk-item img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;margin-bottom:8px}
.kiosk-item h3{font-size:.92rem;margin:0 0 4px}
.kiosk-item .money{color:var(--brand-2);font-weight:800}
.kiosk-footer{padding:16px 20px;border-top:1.5px solid var(--border);display:flex;align-items:center;justify-content:space-between}
.kiosk-total{font-size:1.3rem;font-weight:800}
/* FASE 10.4: Dark mode lojista */
[data-theme="dark"] .dash-content{background:var(--bg)}
[data-theme="dark"] .dash-sidebar{background:var(--surface);border-color:var(--border)}
[data-theme="dark"] .kanban-col{background:var(--surface)}
[data-theme="dark"] .ticket{background:var(--surface);border-color:var(--border)}
[data-theme="dark"] .inv-card{background:var(--surface);border-color:var(--border)}
[data-theme="dark"] .cash-status{background:rgba(34,139,34,.08)}
[data-theme="dark"] .kiosk-item{background:var(--surface);border-color:var(--border)}
[data-theme="dark"] .schedule-slot{background:var(--surface);border-color:var(--border)}
@media(max-width:620px){.kiosk-grid{grid-template-columns:repeat(2,1fr);gap:10px;padding:12px}.inv-grid{grid-template-columns:1fr}}

/* ── PRINT ── */
@media print{
  .nav,.bottom-nav,.mobile-cart,.chat-fab,.toast,#toast-root{display:none!important}
  .card,.panel,.stat{box-shadow:none!important;border:1px solid #ddd!important}
}

/* ═══════════════════════════════════════════════════════════
   /ABRIRLOJA — Melhorias de conversao
   ═══════════════════════════════════════════════════════════ */
.op-section{padding:52px 0!important}
.op-main .section-head{margin-bottom:22px!important}
.op-cream{padding:52px 0}
.op-ink{padding:52px 0}
/* Bento cards: icone maior + gradiente + hover lift */
.op-bento-card{padding:26px 22px;transition:all .25s cubic-bezier(.22,.61,.36,1);border:1.5px solid var(--border);background:linear-gradient(135deg,var(--surface),color-mix(in srgb,var(--brand-soft) 6%,var(--surface)))!important}
.op-bento-card:hover{transform:translateY(-4px)!important;box-shadow:0 16px 40px rgba(69,38,20,.1)!important;border-color:color-mix(in srgb,var(--brand) 30%,var(--border))!important}
.op-bento-ic{width:52px!important;height:52px!important;border-radius:16px!important;background:linear-gradient(135deg,var(--brand-soft),color-mix(in srgb,var(--brand-soft) 40%,#fff))!important}
.op-bento-ic svg{width:26px!important;height:26px!important}
.op-bento-card:hover .op-bento-ic{transform:scale(1.08) rotate(-3deg);transition:transform .25s ease}
/* Proof bar: numeros impactantes */
.op-proof-item{transition:transform .25s ease;cursor:default}
.op-proof-item:hover{transform:translateY(-3px)}
.op-proof-n{font-size:clamp(1.6rem,3.5vw,2.5rem)!important;font-weight:950!important}
.op-proof{padding:28px 0!important}
/* Testimonial cards: hover lift */
.op-testi-card{border:1.5px solid var(--border)!important;transition:all .25s cubic-bezier(.22,.61,.36,1)!important}
.op-testi-card:hover{transform:translateY(-4px)!important;box-shadow:0 16px 40px rgba(69,38,20,.1)!important}
/* WhatsApp btn: gradiente verde */
.op-wa{background:linear-gradient(135deg,#25d366,#128c7e)!important;color:#fff!important;border:none!important;box-shadow:0 8px 24px rgba(37,211,102,.25)!important;font-size:.95rem!important;padding:14px 20px!important;border-radius:14px!important}
.op-wa:hover{background:linear-gradient(135deg,#128c7e,#075e54)!important;box-shadow:0 12px 32px rgba(37,211,102,.35)!important;transform:translateY(-2px)!important}
.op-wa svg{color:#fff!important;width:20px!important;height:20px!important}
/* Price card: glow */
.op-price-card{border:2px solid var(--brand)!important;box-shadow:0 24px 56px rgba(208,63,0,.12),0 0 0 1px rgba(208,63,0,.08)!important}
.op-price-val{color:var(--brand)!important}
/* FAQ: borda + hover */
.op-faq-item{border:1px solid var(--border)!important;transition:all .2s ease!important}
.op-faq-item:hover{border-color:color-mix(in srgb,var(--brand) 30%,var(--border))!important}
/* Steps: borda + hover */
.op-step{border:1.5px solid var(--border)!important;background:var(--surface)!important;transition:all .25s ease!important}
.op-step:hover{transform:translateY(-4px)!important;box-shadow:0 12px 28px rgba(69,38,20,.08)!important}
/* Calculator focus glow */
.op-calc-inputs .input:focus{border-color:var(--brand)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 12%,transparent),0 4px 12px rgba(208,63,0,.06)!important}
/* Contact form: elevado */
.op-form{border:1.5px solid var(--border)!important;box-shadow:0 16px 40px rgba(69,38,20,.08)!important}
@media(max-width:760px){.op-section{padding:40px 0!important}.op-proof{padding:22px 0!important}.op-proof-n{font-size:1.5rem!important}.op-bento-card{padding:20px 16px!important}}

/* ═══════════════════════════════════════════════════════════
   FASE 1 — MARKETPLACE UX: Cards ricos, "Peça novamente", Loja fechada
   ═══════════════════════════════════════════════════════════ */
/* Store card FASE1: layout vertical com meta info */
.ss-FASE1 .ss-head{display:flex;align-items:center;gap:12px;padding:14px 16px 0;text-decoration:none;color:inherit}
.ss-FASE1 .ss-logo{width:48px;height:48px;border-radius:14px;overflow:hidden;flex-shrink:0;background:#f4d5bc;display:grid;place-items:center;font-size:1.3rem;font-weight:800;color:var(--brand-2);border:2px solid var(--border)}
.ss-FASE1 .ss-logo img{width:100%;height:100%;object-fit:cover}
.ss-FASE1 .ss-info{display:flex;flex-direction:column;gap:4px;min-width:0}
.ss-FASE1 .ss-name{font-weight:800;font-size:1.02rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ss-FASE1 .ss-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.ss-FASE1 .ss-meta .pill{font-size:.72rem;padding:3px 8px;border-radius:20px}
.ss-FASE1 .ss-meta .pill.soft{background:rgba(0,0,0,.06);color:#888}
.ss-FASE1 .ss-meta .pill.brand{background:rgba(255,90,10,.08);color:var(--brand-2)}
/* ETA */
.ss-eta{font-size:.72rem;color:var(--text);font-weight:600;display:inline-flex;align-items:center;gap:2px}
/* Stars */
.ss-stars{font-size:.72rem;color:#f5a623;display:inline-flex;align-items:center;gap:2px}
.ss-stars b{color:var(--text);font-weight:700}
/* Fee */
.ss-delivery-row{padding:6px 16px 2px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.ss-fee{font-size:.72rem;font-weight:600;color:var(--text)}
.ss-fee.good{color:#228b22}
.ss-fee-note{font-size:.68rem;color:#888}
/* Order again section */
.order-again-wrap{padding:0 0 20px}
.order-again-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.order-again-header h3{font-size:1.15rem;font-weight:800;margin:0}
.order-again-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.order-again-card{display:flex;flex-direction:column;gap:6px;padding:14px;border-radius:16px;background:var(--card);border:1.5px solid var(--border);text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s}
.order-again-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(69,38,20,.1)}
.ora-store{font-weight:800;font-size:.92rem}
.ora-items{font-size:.8rem}
.ora-date{font-size:.72rem}
.ora-cta{margin-top:auto;width:fit-content}
/* Closed store banner */
.closed-banner{background:rgba(255,90,10,.06);border:1.5px solid rgba(255,90,10,.15);border-radius:18px;padding:20px;margin-top:18px;animation:fadeInUp .4s ease}
.closed-banner-head{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.closed-banner-head .nf-ic{font-size:2.2rem;width:auto;height:auto;background:none}
.closed-banner-head h3{font-size:1.05rem;font-weight:800;margin:0;color:var(--text)}
.closed-banner-head .muted{font-size:.86rem;margin:2px 0 0}
.closed-alt-grid{display:flex;flex-direction:column;gap:10px}
.closed-alt-card{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;background:var(--card);border:1.5px solid var(--border);text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s}
.closed-alt-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(69,38,20,.08)}
.ca-logo{width:42px;height:42px;border-radius:12px;overflow:hidden;flex-shrink:0;background:#f4d5bc;display:grid;place-items:center;font-weight:800;color:var(--brand-2);border:1.5px solid var(--border)}
.ca-logo img{width:100%;height:100%;object-fit:cover}
.ca-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.ca-info b{font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ca-meta{display:flex;flex-wrap:wrap;gap:5px}
.ca-meta .pill{font-size:.68rem;padding:2px 7px}
.ca-arrow{font-size:1.4rem;color:#ccc;flex-shrink:0}
/* Mobile adjustments */
@media(max-width:620px){
  .ss-FASE1 .ss-logo{width:42px;height:42px;border-radius:12px}
  .ss-FASE1 .ss-name{font-size:.94rem}
  .order-again-grid{grid-template-columns:1fr}
  .closed-banner{padding:16px;border-radius:14px}
}

/* ═══════════════════════════════════════════════════════════
   FASE 2 — REVIEWS + FASE 3 — ENTREGADOR + FASE 4 — WHATSAPP
   ═══════════════════════════════════════════════════════════ */
/* Reviews section */
.reviews-section{margin-top:20px;padding:18px;background:var(--card);border:1.5px solid var(--border);border-radius:18px}
.reviews-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.reviews-header h2{font-size:1.1rem;font-weight:800;margin:0}
.reviews-list{display:flex;flex-direction:column;gap:12px}
.review-card{padding:12px 14px;border-radius:14px;background:var(--bg);border:1px solid var(--border)}
.review-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.review-stars{color:#f5a623;font-size:.9rem;letter-spacing:1px}
.review-text{margin:8px 0 0;font-size:.88rem;color:var(--text);line-height:1.45}
/* Review summary - média de estrelas */
.review-summary{display:flex;align-items:center;gap:10px;padding:14px 16px;background:var(--bg);border-radius:14px;margin-bottom:12px}
.review-stars-lg{color:#f5a623;font-size:1.3rem;letter-spacing:2px}
.review-summary b{font-size:1.2rem;font-weight:800}
.review-pick span{cursor:pointer;user-select:none}
.review-pick span:hover{transform:scale(1.2);transition:transform .15s}
/* Driver page */
.driver-page{min-height:100vh;background:var(--bg)}
.driver-login-wrap{display:grid;place-items:center;min-height:100vh;padding:20px}
.driver-login-card{background:var(--card);border:1.5px solid var(--border);border-radius:22px;padding:32px 28px;max-width:380px;width:100%;text-align:center;box-shadow:0 16px 48px rgba(69,38,20,.08)}
.driver-logo{height:48px;margin:0 auto 16px}
.driver-login-card h1{font-size:1.3rem;font-weight:800;margin:0 0 6px}
.driver-login-card .muted{margin:0 0 18px;font-size:.88rem}
.driver-top{display:flex;align-items:center;gap:12px;padding:14px 20px;background:var(--card);border-bottom:1.5px solid var(--border);position:sticky;top:0;z-index:20}
.driver-logo-sm{height:28px}
.driver-content{max-width:640px;margin:0 auto;padding:20px}
.driver-section h2{font-size:1.15rem;font-weight:800;margin:0 0 14px}
.driver-order-card{background:var(--card);border:1.5px solid var(--border);border-radius:16px;padding:16px;margin-bottom:12px}
.doc-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.doc-head b{font-size:1.05rem}
.doc-body{margin-bottom:12px}
.doc-actions{display:flex;gap:8px}
/* WhatsApp link green gradient */
.wa-link{background:linear-gradient(135deg,#25d366,#128c7e)!important;color:#fff!important;border:none!important}
.wa-link:hover{background:linear-gradient(135deg,#128c7e,#075e54)!important;transform:translateY(-2px);box-shadow:0 6px 18px rgba(37,211,102,.25)}
/* Mobile */
@media(max-width:620px){
  .reviews-section{padding:14px;border-radius:14px}
  .driver-login-card{padding:24px 20px;border-radius:18px}
}
[data-theme="dark"] .review-card{background:var(--surface);border-color:var(--border)}
[data-theme="dark"] .driver-login-card{background:var(--surface);border-color:var(--border)}
[data-theme="dark"] .driver-order-card{background:var(--surface);border-color:var(--border)}
/* Driver tabs */
.driver-tabs{display:flex;gap:4px;margin-left:auto}
.driver-tab{border:0;background:transparent;padding:8px 14px;border-radius:10px;font-weight:700;font-size:.84rem;color:var(--text);cursor:pointer;transition:background .2s}
.driver-tab.active{background:var(--brand);color:#fff}
.driver-tab:hover:not(.active){background:rgba(0,0,0,.05)}
[data-theme="dark"] .dash-stat-card{background:var(--surface);border-color:var(--border)}
[data-theme="dark"] .dash-chart-box{background:var(--surface);border-color:var(--border)}
[data-theme="dark"] .dash-top-box{background:var(--surface);border-color:var(--border)}
[data-theme="dark"] .dash-top-item{background:var(--surface-2)}
[data-theme="dark"] .active-delivery{background:rgba(255,90,10,.06)}
@media(max-width:620px){.driver-tabs{margin-left:0}.driver-tab{padding:6px 10px;font-size:.78rem}}
/* Active delivery card */
.active-delivery{border-color:var(--brand)!important;background:rgba(255,90,10,.03)!important}
/* Review photo thumbnails */
.review-photo-thumb{width:64px;height:64px;border-radius:12px;overflow:hidden;position:relative;border:1.5px solid var(--border)}
.review-photo-thumb img{width:100%;height:100%;object-fit:cover}
.review-photo-rm{position:absolute;top:2px;right:2px;width:20px;height:20px;border-radius:50%;background:rgba(0,0,0,.6);color:#fff;border:0;font-size:.7rem;cursor:pointer;display:grid;place-items:center}
.review-photo-rm:hover{background:rgba(220,38,38,.8)}
/* Dashboard V2 */
.dash-summary-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}
.dash-stat-card{background:var(--card);border:1.5px solid var(--border);border-radius:16px;padding:18px;text-align:center}
.dash-stat-num{display:block;font-size:1.6rem;font-weight:800;color:var(--brand-2)}
.dash-stat-label{display:block;font-size:.78rem;color:var(--text-muted,#888);margin-top:4px}
.dash-charts-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}
.dash-chart-box{background:var(--card);border:1.5px solid var(--border);border-radius:16px;padding:18px}
.dash-chart-box h3{font-size:.92rem;font-weight:800;margin:0 0 14px}
.dash-bars{display:flex;align-items:flex-end;gap:3px;height:120px}
.dash-bar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;height:100%}
.dash-bar{width:100%;background:linear-gradient(180deg,var(--brand),var(--brand-2));border-radius:6px 6px 0 0;min-height:4px;transition:height .4s ease}
.dash-bar.brand{background:linear-gradient(180deg,#228b22,#1a6b1a)}
.dash-bar-label{font-size:.6rem;color:#888;white-space:nowrap}
.dash-top-box{background:var(--card);border:1.5px solid var(--border);border-radius:16px;padding:18px;margin-bottom:20px}
.dash-top-box h3{font-size:.92rem;font-weight:800;margin:0 0 12px}
.dash-top-list{display:flex;flex-direction:column;gap:8px}
.dash-top-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:10px;background:var(--bg)}
.dash-top-rank{width:28px;height:28px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:800;font-size:.82rem;flex-shrink:0}
.dash-top-name{flex:1;font-weight:600;font-size:.88rem}
.dash-top-qty{font-size:.78rem;color:#888}
/* Dashboard tabs */
.dash-v2-tab{border:1.5px solid var(--border);background:var(--card);padding:8px 14px;border-radius:12px;font-weight:700;font-size:.82rem;cursor:pointer;transition:all .2s;color:var(--text)}
.dash-v2-tab.active{background:var(--brand);color:#fff;border-color:var(--brand)}
.dash-v2-tab:hover:not(.active){border-color:var(--brand);color:var(--brand-2)}
/* FASE 9.3: Linktree / Bio Instagram */
.links-page{min-height:100vh;background:linear-gradient(180deg,#fff5ed 0%,#fff 40%);display:grid;place-items:center;padding:30px 16px}
.links-wrap{max-width:420px;width:100%;text-align:center}
.links-logo{width:88px;height:88px;border-radius:50%;overflow:hidden;margin:0 auto 14px;border:3px solid var(--brand);box-shadow:0 8px 24px rgba(255,90,10,.15)}
.links-logo img{width:100%;height:100%;object-fit:cover}
.links-logo-fallback{width:100%;height:100%;background:var(--brand);color:#fff;display:grid;place-items:center;font-size:2rem;font-weight:800}
.links-name{font-size:1.5rem;font-weight:800;margin:0 0 4px}
.links-tagline{font-size:.92rem;color:#888;margin:0 0 24px}
.links-list{display:flex;flex-direction:column;gap:12px}
.links-btn{display:block;padding:16px 20px;border-radius:14px;background:var(--card);border:1.5px solid var(--border);color:var(--text);text-decoration:none;font-weight:700;font-size:.95rem;transition:all .2s;box-shadow:0 2px 8px rgba(0,0,0,.04)}
.links-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.08);border-color:var(--brand)}
.links-btn-primary{background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff;border-color:transparent}
.links-btn-primary:hover{box-shadow:0 8px 24px rgba(255,90,10,.25);transform:translateY(-3px)}
.links-hero-btn{font-size:1.1rem;padding:18px 28px;border-radius:18px;box-shadow:0 12px 32px rgba(255,90,10,.28);margin-top:10px}
.links-social-row{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:18px}
.links-social-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 16px;border-radius:14px;background:#fff;border:1.5px solid var(--border);color:var(--ink);text-decoration:none;font-weight:700;font-size:.88rem;transition:all .2s;box-shadow:0 2px 8px rgba(0,0,0,.04)}
.links-social-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.08);border-color:var(--brand)}
.links-social-btn svg{flex-shrink:0;color:var(--brand)}
[data-theme="dark"] .links-social-btn{background:#2a221c;border-color:#3d322a;color:#f0e8e0}
[data-theme="dark"] .links-social-btn:hover{border-color:var(--brand)}
.links-footer{margin-top:32px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:.76rem;color:#aaa}
[data-theme="dark"] .links-page{background:linear-gradient(180deg,#1a1410 0%,var(--bg) 40%)}
[data-theme="dark"] .links-logo{border-color:var(--brand)}
@media(max-width:480px){.links-page{padding:20px 14px}.links-name{font-size:1.3rem}.links-btn{padding:14px 16px;font-size:.9rem}}
@media(max-width:620px){.dash-summary-row{grid-template-columns:1fr}.dash-charts-row{grid-template-columns:1fr}.dash-bars{height:80px}}

/* ═══════════════════════════════════════════════════════════
   RIPPLE EFFECT — onda de expansão ao clicar nos botões
   ═══════════════════════════════════════════════════════════ */
.btn-primary-ripple{
  position:relative;overflow:hidden
}
.ripple-circle{
  position:absolute;border-radius:50%;
  background:rgba(255,255,255,.35);
  pointer-events:none;
  transform:scale(0);
  animation:rippleExpand .55s cubic-bezier(.22,.61,.36,1) forwards;
}
@keyframes rippleExpand{
  to{transform:scale(3.5);opacity:0}
}

/* ═══════════════════════════════════════════════════════════
   DARK MODE TRANSITION — cross-fade suave em todas as variáveis
   ═══════════════════════════════════════════════════════════ */
html.theme-transition,
html.theme-transition *,
html.theme-transition *::before,
html.theme-transition *::after{
  transition:background-color .35s ease,color .35s ease,border-color .35s ease,box-shadow .35s ease,fill .35s ease,stroke .35s ease !important
}

/* ═══════════════════════════════════════════════════════════
   PWA INSTALL BANNER — glass-morphism flutuante no mobile
   ═══════════════════════════════════════════════════════════ */
.pwa-banner{
  position:fixed;left:12px;right:12px;bottom:calc(80px + env(safe-area-inset-bottom));
  z-index:58;display:none;
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(20px) saturate(1.6);
  -webkit-backdrop-filter:blur(20px) saturate(1.6);
  border:1px solid rgba(234,223,214,.6);
  border-radius:18px;padding:14px 16px;
  box-shadow:0 16px 44px rgba(69,38,20,.18),0 4px 12px rgba(69,38,20,.08);
  animation:slideUpBottom .35s cubic-bezier(.22,.61,.36,1) both;
}
.pwa-banner.show{display:flex;align-items:center;gap:12px}
.pwa-banner-icon{
  width:42px;height:42px;border-radius:12px;
  background:linear-gradient(135deg,var(--brand),var(--brand-2));
  display:grid;place-items:center;color:#fff;font-size:1.2rem;flex-shrink:0
}
.pwa-banner-text{flex:1;min-width:0}
.pwa-banner-text b{display:block;font-size:.88rem;line-height:1.2}
.pwa-banner-text small{display:block;color:var(--muted);font-size:.76rem;margin-top:2px}
.pwa-banner-actions{display:flex;gap:8px;flex-shrink:0}
.pwa-banner-actions .btn{padding:8px 14px;min-height:38px;font-size:.8rem}
[data-theme="dark"] .pwa-banner{
  background:rgba(34,27,22,.88);border-color:rgba(58,46,35,.6)
}
@media(min-width:861px){.pwa-banner{display:none!important}}

/* ═══════════════════════════════════════════════════════════
   SKELETON SHIMMER MODERNO — gradientes animados
   ═══════════════════════════════════════════════════════════ */
.skeleton{
  background:linear-gradient(
    110deg,
    var(--surface-3) 0%,
    var(--surface-2) 20%,
    color-mix(in srgb,var(--brand-soft) 12%,var(--surface-2)) 40%,
    var(--surface-2) 60%,
    var(--surface-3) 100%
  )!important;
  background-size:250% 100%!important;
  animation:shimmerModern 1.6s ease-in-out infinite!important;
}
@keyframes shimmerModern{
  0%{background-position:200% center}
  100%{background-position:-200% center}
}
/* Skeleton image: shimmer com borda arredondada */
.skeleton.skel-img{
  border-radius:14px;min-height:120px
}
/* Skeleton text lines: variações de largura */
.skeleton.skel-line-lg{height:18px;border-radius:6px;width:85%}
.skeleton.skel-line-md{height:14px;border-radius:5px;width:65%}
.skeleton.skel-line-sm{height:12px;border-radius:4px;width:45%}

/* Footer CTAs: botoes de acao */
.footer-ctas{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}
.footer-ctas .btn{font-size:.82rem!important;padding:9px 16px!important;min-height:38px!important}
@media(max-width:620px){.footer-ctas{margin-top:12px}.footer-ctas .btn{flex:1 1 auto;justify-content:center}}
/* Bottom nav: versao antiga removida — agora esta no bloco floating glass */

/* ═══════════════════════════════════════════════════════════
   /ABRIRLOJA: CTA HERO COM URGÊNCIA
   ═══════════════════════════════════════════════════════════ */
.op-hero-copy .btn.primary.lg{
  font-size:1.05rem!important;
  padding:16px 28px!important;
  min-height:52px!important;
  box-shadow:0 12px 32px rgba(208,63,0,.3),0 4px 12px rgba(208,63,0,.15)!important;
  animation:ctaPulse 2.5s ease-in-out infinite;
}
@keyframes ctaPulse{
  0%,100%{box-shadow:0 12px 32px rgba(208,63,0,.3),0 4px 12px rgba(208,63,0,.15)}
  50%{box-shadow:0 16px 40px rgba(208,63,0,.4),0 6px 16px rgba(208,63,0,.2),0 0 0 4px rgba(208,63,0,.08)}
}
.op-hero-copy .btn.primary.lg:hover{animation:none}
.op-micro{font-weight:800!important}
.op-micro svg{color:var(--op-green)!important}

/* ═══════════════════════════════════════════════════════════
   DARK MODE /ABRIRLOJA
   ═══════════════════════════════════════════════════════════ */
[data-theme="dark"] .op-hero{background:radial-gradient(120% 140% at 80% -10%,color-mix(in srgb,var(--brand) 10%,transparent) 0%,transparent 55%),var(--bg)}
:root[data-theme="dark"]{--op-green:#8ff0c0;--op-red:#ff9b91}
[data-theme="dark"] .op-proof-v2-card{background:var(--surface);color:var(--ink);border-color:var(--border)}
[data-theme="dark"] .op-social-v2-phone{border-color:#333;background:#1a1410}
[data-theme="dark"] .op-social-v2-phone::before{color:#ccc}
[data-theme="dark"] .op-social-v2-phone::after{background:#333}
[data-theme="dark"] .op-social-v2-store{background:var(--surface);border-color:var(--border)}
[data-theme="dark"] .op-social-v2-header{border-color:var(--border)}
[data-theme="dark"] .op-proof{background:var(--surface);border-color:var(--border)}
/* O cupom continua sendo papel claro no tema escuro. Antes o container virava
   escuro, mas os textos internos permaneciam escuros e chegavam a 1.06:1. */
[data-theme="dark"] .op-coupon{background:#fdfaf4;color:#241d16;border-color:#cbb89c;box-shadow:0 18px 44px rgba(0,0,0,.4)}
[data-theme="dark"] .op-coupon-head{color:#5c4a33;border-color:#a99578}
[data-theme="dark"] .op-coupon-lines i{background:#d8c7ad}
[data-theme="dark"] .op-coupon-total{border-color:#a99578}
[data-theme="dark"] .op-coupon figcaption{color:#5f503d}
[data-theme="dark"] .op-coupon--market .op-coupon-total b,[data-theme="dark"] .op-stamp--red{color:#a72e28;border-color:#a72e28}
[data-theme="dark"] .op-coupon--didil .op-coupon-total b,[data-theme="dark"] .op-stamp--green{color:#17623e;border-color:#17623e}
[data-theme="dark"] .op-stamp{background:rgba(255,255,255,.94)}
[data-theme="dark"] .op-calc-inputs{background:var(--surface);border-color:var(--border)}
[data-theme="dark"] .op-price-card{background:var(--surface);border-color:var(--brand)}
[data-theme="dark"] .op-faq-item{background:var(--surface);border-color:var(--border)}
[data-theme="dark"] .op-faq-q{color:var(--ink)}
[data-theme="dark"] .op-step{background:var(--surface)!important;border-color:var(--border)!important}
[data-theme="dark"] .op-form{background:var(--surface);border-color:var(--border)}
[data-theme="dark"] .op-bento-card{background:linear-gradient(135deg,var(--surface),color-mix(in srgb,var(--brand-soft) 8%,var(--surface)))!important;border-color:var(--border)}

/* ═══════════════════════════════════════════════════════════
   PHONES MAIS ALTOS NO MOBILE (retrato realista)
   ═══════════════════════════════════════════════════════════ */
@media(max-width:760px){
  .op-social-v2-phone{width:min(220px,75%);aspect-ratio:9/20;border-radius:34px;border-width:5px}
  .op-social-v2-phone::before{font-size:.5rem;top:8px}
  .op-social-v2-phone::after{width:30px;height:8px;top:6px;right:14px}
  .op-social-v2-store{padding:8px 10px;gap:8px}
  .op-social-v2-store-img{width:34px;height:34px;border-radius:8px}
  .op-social-v2-store b{font-size:.75rem}
  .op-social-v2-store small{font-size:.62rem}
  .op-social-v2-badge{font-size:.58rem;padding:2px 6px}
  .op-social-v2-header{padding:12px 8px 8px;font-size:.8rem}
}
@media(max-width:480px){
  .op-mock-phone{width:min(160px,45%);aspect-ratio:9/20.5}
  .op-social-v2-phone{width:min(190px,70%);aspect-ratio:9/20.5}
}

/* ═══════════════════════════════════════════════════════════
   FOOTER MOBILE COMPACTO
   ═══════════════════════════════════════════════════════════ */
@media(max-width:620px){
  .footer{padding:32px 0 84px!important}
  .footer-grid{grid-template-columns:1fr 1fr!important;gap:18px!important}
  .footer-grid>div:first-child{grid-column:1/-1!important;margin-bottom:4px}
  .footer .logo{height:30px!important;margin-bottom:8px}
  .footer p{font-size:.82rem!important;margin-top:4px!important}
  .footer h4,.ft{font-size:.72rem!important;margin-bottom:8px!important}
  .footer a{font-size:.82rem!important;margin:6px 0!important}
}

/* ═══════════════════════════════════════════════════════════
   MOVIMENTO REDUZIDO — respeita preferência do sistema
   ═══════════════════════════════════════════════════════════ */
@media(prefers-reduced-motion:reduce){
  [data-reveal]{opacity:1;transform:none;transition:none}
  .cmv-gauge-fill{transition:none}
  .op-faq-a{transition:none}
  .op-faq-ic{transition:none}
  #app{animation:none}
  .reveal-card{opacity:1;transform:none;transition:none}
  .btn,.icon-btn,.card,.product-card,.store-showcase,.stat,.mini-feature,.feature-card{transition:none!important}
  .btn:hover,.icon-btn:hover,.card:hover,.product-card:hover,.store-showcase:hover{transform:none!important}
  .mk-cat:hover{transform:none!important}
  .toast{animation:none}
  .modal{animation:none}
  .op-mock-card,.op-mock-pix{animation:none}
  .pill.good{animation:none}
  .tag-top{animation:none}
  .nf-ic{animation:none}
  .login-card{animation:none}
  .ripple-circle{animation:none}
  .op-hero-copy .btn.primary.lg{animation:none}
  .pwa-banner{animation:none}
  html.theme-transition,
  html.theme-transition *,
  html.theme-transition *::before,
  html.theme-transition *::after{transition:none!important}
}

/* ── KDS V5: Acesso da Equipe ──────────────────────────────────────── */
.shift-access-card{border:1px solid var(--border);border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:16px}
.shift-access-card.active{border-color:var(--brand);background:var(--brand-soft)}
.shift-access-card.empty{text-align:center;padding:32px}
.shift-access-info{display:flex;flex-direction:column;gap:6px}
.shift-access-url{font-family:monospace;font-size:.9rem;background:var(--surface);padding:8px 12px;border-radius:8px;border:1px solid var(--border);word-break:break-all;user-select:all}
.shift-access-actions{display:flex;gap:8px;flex-wrap:wrap}
.shift-access-row{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--border)}
.shift-access-row:last-child{border-bottom:none}
.shift-access-history{max-height:200px;overflow-y:auto}

/* ── KDS V5: Tela de Join ──────────────────────────────────────────── */
.kds-join{min-height:100dvh;display:flex;align-items:center;justify-content:center;background:var(--bg,#f5f2ee);padding:16px}
.kds-join-card{width:100%;max-width:400px;background:var(--surface,#fff);border-radius:16px;padding:32px 24px;box-shadow:0 4px 24px rgba(0,0,0,.08)}
.kds-join-brand{text-align:center;margin-bottom:24px}
.kds-join-logo{height:48px;margin-bottom:8px}
.kds-join-brand h1{margin:0;font-size:1.4rem;color:var(--text)}
.kds-join-stations{display:flex;flex-direction:column;gap:8px;margin-top:4px}
.kds-join-station{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;cursor:pointer;transition:background .15s,border-color .15s}
.kds-join-station:has(input:checked){border-color:var(--brand);background:var(--brand-soft)}
.kds-join-station input{accent-color:var(--brand);width:18px;height:18px}
.kds-join-station-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.kds-join-error{color:var(--red);font-size:.85rem;min-height:1.2em;margin-top:8px}

/* ── KDS V5: Tab Todos (order cards) ──────────────────────────────── */
.production-order-card{border:1px solid var(--border);border-radius:12px;padding:16px;margin-bottom:12px;background:var(--surface)}
.production-order-items{display:flex;flex-direction:column;gap:6px;margin-top:10px}
.production-order-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;font-size:.9rem}
.production-order-item.done{opacity:.6}
.production-order-item.active{background:var(--brand-soft);border:1px solid var(--brand)}
.production-order-status{width:20px;text-align:center;flex-shrink:0}

/* ── KDS V5: Tab Minhas (progress bar) ────────────────────────────── */
.production-progress{height:4px;background:var(--border);border-radius:2px;margin:8px 0;overflow:hidden}
.production-progress-bar{height:100%;background:var(--brand);border-radius:2px;transition:width .5s ease}
.production-progress-bar.over{background:var(--red)}
.is-mine{border-left:3px solid var(--brand)}

/* ── KDS V5: Dashboard operacional ────────────────────────────────── */
.ops-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:10px;margin-bottom:16px}
.ops-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px;text-align:center}
.ops-card.warn{border-color:var(--red);background:rgba(229,57,53,.06)}
.ops-card-n{display:block;font-size:1.6rem;font-weight:700;color:var(--brand)}
.ops-card-l{display:block;font-size:.75rem;color:var(--muted);margin-top:2px}
.ops-alert{background:rgba(229,57,53,.08);border:1px solid rgba(229,57,53,.25);border-radius:8px;padding:8px 12px;font-size:.85rem;margin-bottom:14px}

/* ── KDS V5: Gargalos recorrentes ──────────────────────────────── */
.ops-recurring{background:linear-gradient(135deg,rgba(255,152,0,.06),rgba(255,87,34,.06));border:1px solid rgba(255,152,0,.25);border-radius:8px;padding:10px 12px;margin-bottom:14px}
.ops-recurring-title{font-weight:700;font-size:.82rem;margin-bottom:8px;color:#e65100}
.ops-recurring-item{display:flex;align-items:center;gap:8px;font-size:.82rem;padding:4px 0;border-top:1px solid rgba(255,152,0,.12)}
.ops-recurring-item:first-of-type{border-top:none}
.ops-recurring-count{font-weight:800;color:#e65100;min-width:32px}
.ops-recurring-hint{color:var(--muted);font-size:.78rem;flex:1}

/* ── KDS V5: Métricas com barras ─────────────────────────────────── */
.production-metric-bar{margin-bottom:12px}
.metric-bar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}
.metric-bar-name{font-weight:600;font-size:.9rem}
.metric-bar-count{font-size:.8rem;color:var(--muted)}
.metric-bar-track{height:8px;background:var(--border);border-radius:4px;overflow:hidden}
.metric-bar-fill{height:100%;background:var(--brand);border-radius:4px;transition:width .5s ease;min-width:2px}
.metric-bar-fill.late{background:var(--red)}
.metric-bar-detail{font-size:.75rem;color:var(--muted);margin-top:3px}
.metric-bar-detail .warn{color:var(--red);font-weight:600}
.metric-trend{font-size:.72rem;font-weight:700;margin-left:4px;padding:1px 4px;border-radius:4px}
.metric-trend.up{background:rgba(229,57,53,.1);color:var(--red)}
.metric-trend.down{background:rgba(76,175,80,.1);color:var(--green)}

/* ── KDS V5: Badges com animação ──────────────────────────────────── */
.production-tabs .active b{animation:badgePulse .4s ease}
@keyframes badgePulse{0%{transform:scale(1)}50%{transform:scale(1.3)}100%{transform:scale(1)}}
.production-tabs button b{display:inline-block;min-width:18px;text-align:center}
.production-tabs .has-late{position:relative}
.production-tabs .has-late::after{content:'';position:absolute;top:6px;right:6px;width:8px;height:8px;background:var(--red,#e53935);border-radius:50%;animation:latePulse 1.5s infinite}
@keyframes latePulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.4)}}
/* ── Connection Status Indicator ─────────────────────────────── */
.conn-banner{display:none;align-items:center;gap:8px;padding:8px 16px;font-size:.85rem;font-weight:500;z-index:9999;position:fixed;top:0;left:0;right:0;transition:all .3s ease;animation:connSlideDown .3s ease}
.conn-banner.offline{background:linear-gradient(135deg,#b71c1c,#e53935);color:#fff}
.conn-banner.online{background:linear-gradient(135deg,#1b5e20,#43a047);color:#fff}
.conn-banner .conn-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.conn-banner.offline .conn-dot{background:#ffcdd2;animation:connPulse 1.5s infinite}
.conn-banner.online .conn-dot{background:#c8e6c9}
.conn-banner .conn-text{flex:1}
.conn-banner .conn-retry{background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.3);color:#fff;padding:4px 12px;border-radius:6px;font-size:.8rem;cursor:pointer;transition:background .15s}
.conn-banner .conn-retry:hover{background:rgba(255,255,255,.35)}
@keyframes connSlideDown{from{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}
@keyframes connPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}

/* KDS toolbar connection indicator */
.conn-indicator{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;font-size:.8rem;font-weight:500}
.conn-indicator.online{background:rgba(67,160,71,.1);color:#2e7d32}
.conn-indicator.offline{background:rgba(229,57,53,.1);color:#c62828}
.conn-dot-sm{width:8px;height:8px;border-radius:50%;flex-shrink:0;display:inline-block}
.conn-indicator.online .conn-dot-sm{background:#43a047;animation:connDotPulse 2s infinite}
.conn-indicator.offline .offline-dot{background:#e53935;animation:connDotPulse 1s infinite}
@keyframes connDotPulse{0%,100%{opacity:1;box-shadow:0 0 0 0 currentColor}50%{opacity:.7;box-shadow:0 0 0 4px transparent}}
body:has(.conn-banner[style*="flex"]) #app{margin-top:36px}

/* Contraste de componentes sobre a marca no tema escuro.
   O token --brand fica propositalmente mais claro no dark; qualquer texto/ícone sobre
   esse fundo precisa ser escuro. Esta lista cobre componentes específicos que não
   herdam .btn.primary e evita novas sobrescritas tardias com color:#fff. */
[data-theme="dark"] .landing-contact-fab,
[data-theme="dark"] .ss-fav.on,
[data-theme="dark"] .ss-fav-hero.on,
[data-theme="dark"] .ss-badge,
[data-theme="dark"] .store-logo-fallback,
[data-theme="dark"] .chip.active,
[data-theme="dark"] .chip:has(input:checked),
[data-theme="dark"] .mockup-cat.active,
[data-theme="dark"] .op-store-logo,
[data-theme="dark"] .op-local-store-logo,
[data-theme="dark"] .schedule-slot.selected,
[data-theme="dark"] .kiosk-cart-btn,
[data-theme="dark"] .kiosk-btn-big.primary,
[data-theme="dark"] .op-testi-avatar,
[data-theme="dark"] .driver-tab.active,
[data-theme="dark"] .dash-top-rank,
[data-theme="dark"] .dash-v2-tab.active,
[data-theme="dark"] .links-logo-fallback,
[data-theme="dark"] .links-btn-primary{color:#211710!important}

[data-theme="dark"][data-contrast="high"] .landing-contact-fab,
[data-theme="dark"][data-contrast="high"] .ss-fav.on,
[data-theme="dark"][data-contrast="high"] .ss-fav-hero.on,
[data-theme="dark"][data-contrast="high"] .ss-badge,
[data-theme="dark"][data-contrast="high"] .store-logo-fallback,
[data-theme="dark"][data-contrast="high"] .chip.active,
[data-theme="dark"][data-contrast="high"] .chip:has(input:checked),
[data-theme="dark"][data-contrast="high"] .mockup-cat.active,
[data-theme="dark"][data-contrast="high"] .op-store-logo,
[data-theme="dark"][data-contrast="high"] .op-local-store-logo,
[data-theme="dark"][data-contrast="high"] .schedule-slot.selected,
[data-theme="dark"][data-contrast="high"] .kiosk-cart-btn,
[data-theme="dark"][data-contrast="high"] .kiosk-btn-big.primary,
[data-theme="dark"][data-contrast="high"] .op-testi-avatar,
[data-theme="dark"][data-contrast="high"] .driver-tab.active,
[data-theme="dark"][data-contrast="high"] .dash-top-rank,
[data-theme="dark"][data-contrast="high"] .dash-v2-tab.active,
[data-theme="dark"][data-contrast="high"] .links-logo-fallback,
[data-theme="dark"][data-contrast="high"] .links-btn-primary{color:#000!important}

/* ── Offline Action Queue Badge ──────────────────────────────── */
#kds-queue-badge{background:rgba(255,152,0,.12);color:#e65100;border:1px solid rgba(255,152,0,.25);animation:queuePulse 2s infinite}
@keyframes queuePulse{0%,100%{opacity:1}50%{opacity:.7}}
#kds-replay-queue{animation:none}
#kds-replay-queue:hover{background:rgba(67,160,71,.1);border-color:var(--green,#43a047);color:var(--green,#43a047)}

/* ── KDS V5: Componentes base ─────────────────────────────────── */
.production-toolbar{padding:12px 16px;border-bottom:1px solid var(--border);background:var(--surface);display:flex;flex-direction:column;gap:10px;position:sticky;top:0;z-index:10}
.production-toolbar .row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.production-stations{display:flex;gap:6px;padding:8px 16px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.production-stations::-webkit-scrollbar{display:none}
.production-tabs{display:flex;gap:4px;padding:0 16px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;border-bottom:1px solid var(--border)}
.production-tabs::-webkit-scrollbar{display:none}
.production-tabs button{flex-shrink:0;padding:10px 14px;font-size:.85rem;border:none;background:none;cursor:pointer;border-bottom:2px solid transparent;transition:all .15s}
.production-tabs button.active{border-bottom-color:var(--brand);font-weight:600;color:var(--brand)}
.production-list{padding:12px 16px;display:flex;flex-direction:column;gap:10px}
.production-task{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px;transition:border-color .2s}
.production-task.is-late{border-color:var(--red);background:rgba(229,57,53,.04)}
.production-note{background:rgba(255,152,0,.08);border-radius:6px;padding:6px 8px;font-size:.82rem;margin-top:8px;color:#e65100}
.production-actions{display:flex;gap:8px;margin-top:10px}
.production-actions .btn{min-height:44px;flex:1}
.production-empty{text-align:center;padding:32px 16px}
.production-empty b{display:block;margin-bottom:6px}
.production-owner{font-size:.82rem;margin-top:6px}
.production-confirm{margin-bottom:16px}
.production-confirm-list{display:flex;flex-direction:column;gap:8px}
.production-confirm-list>div{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:10px}
.production-confirm-list b{min-width:60px}
.production-confirm-list span{flex:1;font-size:.85rem}

/* Confirmação de carrinho: deixa explícito que o toque funcionou. */
.cart-added-notice{display:flex;align-items:center;gap:12px;padding:13px 14px;margin:0 0 8px;border:1px solid color-mix(in srgb,var(--green) 28%,var(--border));border-radius:14px;background:color-mix(in srgb,var(--green-soft) 72%,var(--surface));color:var(--ink)}
.cart-added-check{width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:var(--green);color:#fff;font-size:1.05rem;font-weight:950}
.cart-added-notice b,.cart-added-notice span{display:block}.cart-added-notice b{font-size:.95rem}.cart-added-notice div>span{margin-top:2px;color:var(--muted);font-size:.86rem;line-height:1.35}
.cart-modal-count{display:inline-block;margin-left:5px;color:var(--muted);font-size:.86rem;font-weight:650}
.status-pill-button{font:inherit;cursor:pointer;transition:transform .15s,box-shadow .15s}.status-pill-button:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.status-pill-button:focus-visible{outline:3px solid color-mix(in srgb,var(--brand) 38%,transparent);outline-offset:2px}.status-pill-button:disabled{opacity:.65;cursor:wait}

/* Piso de leitura do PWA. A interface continua compacta, sem depender de texto minúsculo. */
@media(max-width:760px){
  .bottom-nav a,.bottom-nav button,.bottom-nav span{font-size:.82rem!important;line-height:1.15!important}
  .bottom-nav{padding-inline:5px!important}
  .product-card .body h3,.product-card .money{font-size:.88rem!important;line-height:1.3}
  .product-badges span{font-size:.75rem}
  .cat-btn{font-size:.85rem!important}
  .store-hero .copy p{font-size:.94rem;line-height:1.45}
  .store-hero .store-meta .pill,.store-meta .pill{font-size:.8rem}
  .store-contact-address small{font-size:.84rem;line-height:1.45}
  .store-contact-actions .btn{font-size:.84rem;min-height:44px}
  .wizard-step-label{font-size:.8rem}
  .modal .form-group label{font-size:.84rem}
  .cart-item-name{font-size:.96rem}.cart-item-edit{font-size:.84rem;min-height:36px}
  .pwa-banner-text b{font-size:.95rem}.pwa-banner-text small{font-size:.84rem;line-height:1.35}
  .pwa-banner-actions .btn{font-size:.86rem;min-height:44px}
}
@media(display-mode:standalone) and (max-width:760px){
  body{font-size:16px}
  .bottom-nav a,.bottom-nav button,.bottom-nav span{font-size:.84rem!important;font-weight:850!important}
  .product-card .body h3{font-weight:850}
  .store-hero .copy p,.store-contact-address small,.cart-added-notice div>span{font-weight:500}
}

/* ── KDS V5: Mobile-first (touch targets 44px+) ──────────────── */
@media(max-width:480px){
  .kds-join-card{padding:24px 16px;border-radius:12px}
  .kds-join-brand h1{font-size:1.2rem}
  .production-toolbar{padding:10px 12px}
  .production-toolbar .row{gap:4px}
  .production-toolbar .btn{min-height:44px;font-size:.78rem;padding:8px 10px}
  .production-stations{padding:6px 12px;gap:4px}
  .production-stations .pill{min-height:36px;padding:8px 14px;font-size:.82rem}
  .production-tabs{padding:0 12px}
  .production-tabs button{padding:12px 12px;font-size:.82rem;min-height:44px}
  .production-list{padding:10px 12px}
  .production-task{padding:12px;border-radius:10px}
  .production-task h3{font-size:.95rem}
  .production-actions{flex-direction:column}
  .production-actions .btn{min-height:48px;font-size:.9rem}
  .ops-summary{grid-template-columns:repeat(2,1fr);gap:8px}
  .ops-card{padding:10px}
  .ops-card-n{font-size:1.3rem}
  .ops-recurring{padding:8px 10px}
  .ops-recurring-hint{font-size:.75rem}
}

/* ── KDS V5: Tablet ──────────────────────────────────────────── */
@media(min-width:481px) and (max-width:1024px){
  .production-toolbar .btn{min-height:40px}
  .production-actions .btn{min-height:40px}
  .production-tabs button{min-height:40px}
}

