/* Sabor PDV — visual local compartilhado, sem fontes ou bibliotecas remotas. */
.epick{min-width:0;grid-template-columns:minmax(0,1fr)}
.emoji-categories{display:grid;grid-template-columns:36px minmax(0,1fr) 36px;align-items:center;gap:8px;min-width:0}
.emoji-categories .etabs{max-width:none;min-width:0;width:100%;margin:0;padding:3px;scroll-padding:3px}
.emoji-categories .chip{flex:none;white-space:nowrap}
.emoji-categories>.btn{width:36px;min-height:42px;padding:0;display:flex;align-items:center;justify-content:center}
.emoji-prev .ui-icon{transform:rotate(180deg)}
.emoji-categories>.btn:disabled{opacity:.35;cursor:default}
:root{--bg:#f5f6f8;--card:#fff;--ink:#202632;--mut:#626b79;--line:#e4e7ec;--pri:#c9470a;--pri-d:#a93608;--pri-l:#fff0e7;--r:16px;--sh:0 2px 8px #18223006,0 10px 28px #18223003;--nav-w:232px}
:root[data-theme=dark]{--bg:#11151c;--card:#1b212b;--ink:#f1f4f9;--mut:#aab4c3;--line:#313a48;--pri:#f5803c;--pri-d:#ffae7d;--pri-l:#36251e;--sh:0 4px 16px #0002}
body{letter-spacing:-.012em}h1{font-size:1.55rem;letter-spacing:-.035em}h2{letter-spacing:-.02em}p{margin:0 0 8px}small,.sm{letter-spacing:0}
button{transition:background .15s,border-color .15s,box-shadow .15s}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--pri);outline-offset:3px}
button:disabled{cursor:not-allowed}input,select,textarea,.sx{min-height:44px;border-radius:10px}input::placeholder,textarea::placeholder{color:var(--mut);opacity:.8}label{color:var(--mut);line-height:1.5}
.btn{min-height:44px;border-radius:10px}.btn.p{box-shadow:0 3px 8px #b83b0c18}.btn.p:hover{filter:brightness(.97)}.btn.s{min-height:36px}.ui-icon{width:21px;height:21px;flex:none;vertical-align:middle}.btn .ui-icon,.seg .ui-icon{width:18px;height:18px}
.nav{padding:20px 12px 12px;gap:5px}.brand{margin:-20px -12px 10px;padding:22px 20px;gap:12px;line-height:1.25}.brand i{width:39px;height:39px;border-radius:12px;flex:none}.brand .ver{margin-top:4px}.nav button{min-height:44px;font-size:.9rem;border-radius:10px}.nav button.on{background:var(--pri-l);box-shadow:inset 3px 0 var(--pri)}.nav .ic{display:inline-flex;justify-content:center;align-items:center}.nav .me{border-top:1px solid var(--line);border-radius:0;margin-top:14px;padding-top:16px}.nav small{font-size:.69rem}.nav .badge{font-size:.7rem;min-width:20px;text-align:center}
main{padding:26px 28px 40px}.page-h{margin-bottom:22px}.page-h .mut{margin-top:5px}.card{padding:18px}.card h3{font-size:.97rem}.li{padding:14px;gap:14px}.li b{font-weight:650}.tag{line-height:1.65;font-weight:600}.empty{border:1px dashed var(--line);border-radius:14px;background:var(--card);padding:40px 20px}.chip{min-height:42px;display:inline-flex;align-items:center;gap:8px;border-radius:10px}.chip.on{background:var(--pri-l);color:var(--pri-d);border-color:var(--pri)}
.pgrid{grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:14px}.prod{padding:10px;gap:7px;overflow:hidden;border-radius:14px;box-shadow:none;min-height:155px}.prod:hover{box-shadow:0 5px 16px #2026320a}.prod .nm{font-size:.94rem;line-height:1.3}.prod>.sm{font-size:.76rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:0}.prod .pr{font-size:1rem;padding-top:5px}.prod .qt,.prod .st{z-index:1;box-shadow:0 2px 8px #0001}.prod .st{background:var(--card)}.prod .qt{top:14px;left:14px}.prod.off{opacity:.65}.cart{gap:14px}.cart-foot{margin:0 -18px -18px;padding:14px 18px 18px}.tot .big{font-size:1.4rem}.qty button{min-height:38px;min-width:38px}.kpi{border-top:3px solid var(--pri)}.kpi .v{font-size:1.8rem;font-variant-numeric:tabular-nums}.tk{border-left-width:4px}.tw{border-radius:10px}th{background:var(--bg);padding:12px 10px}td{padding:12px 10px}.tbl{box-shadow:none}.tbl .n{font-size:2.2rem}.sheet{padding:24px;gap:18px;border:1px solid var(--line);box-shadow:0 24px 80px #0003}.sheet header{padding-bottom:12px;border-bottom:1px solid var(--line)}.x{width:38px;height:38px}.auth{background:radial-gradient(ellipse at top,#ea580c0c,transparent 65%),var(--bg)}.authbox{padding:28px;max-width:430px}
.product-visual{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:none;overflow:hidden;background:var(--bg);border-radius:10px;vertical-align:middle}.visual-fallback{font-size:2.1rem;line-height:1}.product-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.visual-tile{width:100%;height:108px;background:linear-gradient(135deg,var(--pri-l),var(--bg))}.visual-thumb{width:50px;height:50px}.visual-chip{width:26px;height:26px;border-radius:7px}.visual-chip .visual-fallback{font-size:1.15rem}.visual-preview{width:88px;height:88px}.visual-large{width:100%;aspect-ratio:1;max-height:360px}.visual-large .visual-fallback{font-size:4rem}
.media-field{border:1px solid var(--line);border-radius:14px;padding:14px;background:var(--bg)}.media-field h3{font-size:.9rem}.media-selection{display:flex;align-items:center;gap:14px}.media-selection p{margin:4px 0 8px}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:9px;max-height:440px;overflow:auto;padding:3px}.media-option{display:flex;flex-direction:column;align-items:stretch;gap:7px;padding:7px;border:1px solid var(--line);background:var(--card);border-radius:11px;cursor:pointer;color:var(--ink);font-size:.76rem;text-align:left;min-width:0}.media-option .visual-preview{width:100%;height:auto;aspect-ratio:1}.media-option:hover,.media-option.on{border-color:var(--pri);box-shadow:0 0 0 1px var(--pri)}.media-option span:not(.product-visual):not(.visual-fallback){overflow-wrap:anywhere}.photo-option{display:flex;flex-direction:column;gap:5px}.upload-label{position:relative;border:1px dashed var(--pri);border-radius:10px;min-height:64px;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;color:var(--pri-d);background:var(--card)}.upload-label input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.upload-label:focus-within{outline:3px solid var(--pri)}#crop-canvas{display:block;max-width:100%;height:auto;border-radius:12px;margin:auto}input[type=range]{padding:0;accent-color:var(--pri)}.media-tabs button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:42px}#media-message:empty{display:none}.err{color:var(--bad)}.media-sync{position:fixed;right:18px;bottom:14px;z-index:35;display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--warn);box-shadow:var(--sh);border-radius:12px;padding:10px 14px;font-size:.8rem;max-width:calc(100vw - 24px)}
.epick{display:grid;gap:12px;background:var(--bg);border:1px solid var(--line);padding:12px;border-radius:12px}.emoji-results{max-height:240px;overflow:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(42px,1fr));gap:5px}.emoji-results button{height:44px;border:1px solid transparent;background:var(--card);border-radius:9px;font-size:1.55rem;cursor:pointer}.emoji-results button:hover{border-color:var(--pri)}.emoji-results .mut{grid-column:1/-1}.emoji-count{font-size:.75rem;color:var(--mut)}
@media(prefers-color-scheme:dark){:root:not([data-theme]){--bg:#11151c;--card:#1b212b;--ink:#f1f4f9;--mut:#aab4c3;--line:#313a48;--pri:#f5803c;--pri-d:#ffae7d;--pri-l:#36251e;--sh:0 4px 16px #0002}}
:root[data-theme=dark] .btn.p,:root[data-theme=dark] .fab{color:#171b23}:root[data-theme=dark] .prod .pr{color:#ffae7d}
@media(max-width:1100px) and (min-width:901px){:root{--nav-w:198px}.pdv{grid-template-columns:minmax(0,1fr) 320px}main{padding:20px 16px}.nav button{font-size:.85rem}.pgrid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}}
@media(max-width:900px){main{padding:18px 14px 30px}.nav{padding:5px 6px calc(5px + env(safe-area-inset-bottom));gap:2px}.nav button{font-size:.68rem;min-height:46px;border-radius:9px;padding:5px 10px}.nav button.on{box-shadow:inset 0 -3px var(--pri)}.nav .me{border:0;margin:0;padding:5px 10px}.brand{display:none}.card{padding:14px}.cart-foot{margin:0 -14px -14px;padding:12px 14px 14px}.pgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.page-h{margin-bottom:16px}.sheet{padding:18px;border-radius:20px 20px 0 0}.media-sync{bottom:calc(var(--nav-h) + 76px);right:12px;padding:7px 10px}.media-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr))}.visual-tile{height:110px}h1{font-size:1.35rem}.authbox .brand{display:flex}}
/* Public menu uses the same colors, spacing and image component. */
body.public-menu{max-width:none}.public-menu .top{padding:18px max(16px,calc((100vw - 760px)/2));box-shadow:0 1px 12px #00000004}.public-menu .top h1{font-size:1.4rem;letter-spacing:-.025em}.public-menu main{max-width:760px;padding:4px 16px;gap:12px}.public-menu>.chips,.public-menu #root>.chips{max-width:760px;margin:auto}.public-menu .prod{padding:12px;gap:14px;min-height:126px}.public-menu .visual-thumb{width:104px;height:104px}.public-menu .prod .nm{font-size:1rem}.public-menu .prod .ds{margin-top:4px}.public-menu .prod .pr{font-size:1rem}.public-menu .bar{background:var(--card);box-shadow:0 -5px 24px #00000006}.public-menu .btn{max-width:728px;min-height:48px}.public-menu .sheet{border-radius:20px}.public-menu .chip{flex:none}
@media(max-width:440px){.public-menu .visual-thumb{width:76px;height:84px}.public-menu .prod{gap:10px;min-height:112px}.public-menu .prod .pr{font-size:.88rem}.public-menu .prod .nm{font-size:.9rem}.public-menu .prod .ds{font-size:.76rem}.media-selection{gap:10px}.media-field{padding:10px}.media-field>.row{flex-wrap:wrap}}
/* Marcadores compartilhados pelos mapas da loja e do cliente. */
.map-marker{position:relative;width:40px;height:48px;color:var(--marker-color,#ea580c)}
.map-marker>svg{display:block;overflow:visible;filter:drop-shadow(0 2px 3px #0003)}
.map-marker-label{position:absolute;left:38px;top:9px;display:block;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:3px 8px;border-radius:6px;background:var(--marker-color,#ea580c);color:#fff;box-shadow:0 2px 5px #0003;font:700 12px/1.3 system-ui,sans-serif}
.map-marker-pin .map-marker-label{background:var(--card);color:var(--ink);border:1px solid var(--line)}
/* Cardápio de mesa: categorias ilustradas e os mesmos cards da vitrine online. */
.public-menu.digital-menu main{max-width:1000px;padding:14px 16px 24px;gap:14px;min-width:0}
.digital-menu .digital-results{display:grid;gap:10px;min-width:0}
.digital-menu .search{border-radius:12px}
.digital-menu .search:focus-within{border-color:var(--pri);outline:2px solid var(--pri);outline-offset:-1px;box-shadow:none}
.digital-menu .search input:focus,.digital-menu .search input:focus-visible{outline:none;box-shadow:none}
.digital-menu .pgrid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));align-items:stretch}
.digital-menu .menu-top{position:relative;z-index:auto}
.digital-menu .cats{position:sticky;top:0;z-index:6;align-self:start;min-width:0;max-width:100%;gap:10px;align-items:stretch;margin:0;padding:10px 2px;background:var(--bg);box-shadow:0 5px 10px #1822300a}
.digital-menu .cat{width:100px;min-height:108px;padding:10px 6px;justify-content:flex-start}
.digital-menu .cat .cn{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;line-height:1.25}
.digital-menu .pb{min-width:0;gap:4px}
.digital-menu .pb .nm{display:block;overflow:visible;overflow-wrap:anywhere}
.digital-menu .pb .ds{min-height:1.4em}
.digital-menu .pc:focus-visible,.digital-menu .cat:focus-visible{outline:3px solid var(--pri);outline-offset:2px}
@media(max-width:520px){.public-menu.digital-menu main{padding:10px 12px 20px;gap:10px}.digital-menu .pgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.digital-menu .cat{width:88px;min-height:98px;padding:8px 5px}.digital-menu .visual-cat,.digital-menu .cat-all{width:48px;height:48px}.digital-menu .pb .pr .now{font-size:1.05rem}}
@media(max-width:359px){.digital-menu .pgrid{grid-template-columns:minmax(0,1fr)}.digital-menu .pimg{aspect-ratio:6/5}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* menu lateral: cabeçalho e rodapé fixos sem deixar o conteúdo vazar por trás */
@media(min-width:901px){
.nav{padding-top:0;padding-bottom:0}
.brand{margin:0 -12px 10px;padding:20px 20px 16px}
.nav button.me{margin-top:14px;padding-bottom:16px;box-shadow:0 -10px 0 var(--card)}
}
/* login: mesmo ícone do menu, sem estilos de cabeçalho fixo */
.authbox .brand{position:static;margin:0 0 4px;padding:0;border:0;background:none;font-size:1.25rem}
.authbox .brand i{width:44px;height:44px;border-radius:13px}
.authbox .brand i svg{width:24px;height:24px}

/* campo de senha com botão de mostrar/ocultar */
.pw{position:relative;display:block}
.pw input{width:100%;padding-right:44px}
.pw-t{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:36px;height:36px;display:grid;place-items:center;border:0;background:none;color:var(--mut);border-radius:8px;cursor:pointer}
.pw-t:hover{color:var(--pri-d);background:var(--bg)}
.pw-t svg{width:20px;height:20px}

