:root{--mar:#0f3b5f;--ceu:#e6f3fa;--areia:#f6e7c8;--sol:#e8892b;--tinta:#16222d;--linha:#c9b98f}
*{box-sizing:border-box}
body{margin:0;font:16px/1.45 Nunito,system-ui,sans-serif;color:var(--tinta);background:var(--ceu);padding-bottom:84px}
button{font:inherit;cursor:pointer}
.hero{position:relative;background:linear-gradient(var(--mar),#1b5d8c);color:#fff;text-align:center;padding:26px 16px 70px;overflow:hidden}
.logo{display:block;margin:0 auto 10px;width:112px;height:112px;border-radius:50%;box-shadow:0 0 0 4px rgba(255,255,255,.25);transform-origin:50% 100%;animation:balanco 5s ease-in-out infinite alternate}
h1{font:800 clamp(30px,8vw,48px)/1 Fraunces,Georgia,serif;margin:0}
.hero p{margin:8px 0 14px;color:#cfe6f5}
.links a,.links button{display:inline-block;margin:4px;padding:9px 16px;border-radius:999px;background:var(--sol);color:#fff;font-weight:700;text-decoration:none;border:0}
.links .alt{background:transparent;border:2px solid #fff;color:#fff}
.ondas{position:absolute;left:0;right:0;bottom:-1px;height:54px}
.ondas svg{position:absolute;bottom:0;width:200%;height:54px;fill:var(--ceu);animation:onda 14s linear infinite}
.ondas svg+svg{opacity:.55;height:40px;animation-duration:9s;animation-direction:reverse}
#galeria{display:flex;gap:10px;overflow-x:auto;padding:12px 16px;scroll-snap-type:x mandatory}
#galeria img{height:150px;border-radius:14px;scroll-snap-align:start;transition:transform .3s}
#galeria img:hover{transform:scale(1.04)}
nav{position:sticky;top:0;z-index:5;display:flex;gap:8px;overflow-x:auto;padding:10px 12px;background:var(--areia);border-bottom:2px solid var(--linha)}
nav a{white-space:nowrap;padding:7px 14px;border-radius:999px;background:#fff;color:var(--mar);font-weight:700;text-decoration:none}
main{max-width:760px;margin:0 auto;padding:4px 16px 30px}
section{scroll-margin-top:62px}
h2{font:800 28px Fraunces,Georgia,serif;color:var(--mar);margin:30px 0 4px}
.nota{margin:0 0 8px;color:#4b5d6b;font-size:14px}
.item{display:flex;gap:12px;padding:12px 0;border-bottom:1px dashed var(--linha)}
.item img{width:92px;height:92px;object-fit:cover;border-radius:14px;flex:none;transition:transform .3s}
.item:hover img{transform:scale(1.06) rotate(-1deg)}
.txt{flex:1;min-width:0}
.txt b{display:block;font-size:17px}
.txt small{display:block;color:#4b5d6b}
.linha{display:flex;justify-content:space-between;align-items:center;margin-top:6px;gap:8px}
.preco{font:700 18px Fraunces,Georgia,serif;color:var(--mar)}
.add{background:var(--mar);color:#fff;border:0;border-radius:999px;padding:7px 16px;font-weight:700;transition:transform .15s,background .2s}
.add:hover{background:var(--sol)}.add:active{transform:scale(.92)}
.qtd{display:inline-flex;align-items:center;gap:2px;background:var(--areia);border-radius:999px}
.qtd button{width:34px;height:34px;border:0;border-radius:50%;background:var(--sol);color:#fff;font-size:20px;font-weight:700}
.qtd i{min-width:28px;text-align:center;font-style:normal;font-weight:700}
.off{opacity:.55}.off em{color:#b3261e;font-weight:700}
.bump{animation:bump .4s}
.noite{display:flex;flex-wrap:wrap;gap:8px;background:var(--areia);border-radius:14px;padding:14px}
.noite span{background:#fff;border-radius:999px;padding:5px 14px;font-weight:600}
footer{text-align:center;padding:24px 16px;background:var(--mar);color:#cfe6f5;font-size:14px}
#cartbar{position:fixed;left:12px;right:12px;bottom:12px;max-width:560px;margin:auto;display:flex;gap:8px;z-index:8;transform:translateY(140%);transition:transform .35s cubic-bezier(.3,1.4,.5,1)}
#cartbar.show{transform:none}
#cartbar .ver{flex:1;background:var(--sol);color:#fff;border:0;border-radius:16px;padding:14px;font-weight:700;box-shadow:0 8px 24px rgba(0,0,0,.25)}
#cartbar .gar{background:#fff;color:var(--mar);border:2px solid var(--mar);border-radius:16px;padding:0 14px;font-weight:700}
dialog{border:0;border-radius:22px 22px 0 0;width:min(560px,100%);margin:auto auto 0;padding:18px;max-height:92vh}
dialog[open]{animation:subir .3s ease}
dialog::backdrop{background:rgba(10,30,50,.55)}
dialog h3{font:800 24px Fraunces,Georgia,serif;margin:0 0 8px;color:var(--mar)}
.l{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:8px 0;border-bottom:1px dashed var(--linha)}
dialog input,dialog select,dialog textarea{width:100%;margin:5px 0;padding:10px;border:2px solid var(--linha);border-radius:10px;font:inherit}
.tot{font:800 22px Fraunces,Georgia,serif;text-align:right;margin:10px 0}
.acoes{display:flex;flex-wrap:wrap;gap:8px}
.acoes button{flex:1;padding:12px;border:0;border-radius:12px;font-weight:700;background:var(--areia);color:var(--tinta)}
.acoes .ok{background:#1faa59;color:#fff}.acoes .azul{background:var(--mar);color:#fff}
#garcom .l{font-size:22px}#garcom .tot{font-size:30px}
.ed{display:grid;grid-template-columns:1fr 110px;gap:6px;padding:12px;margin:8px 0;background:#fff;border-radius:12px;border:2px solid var(--sol)}
.ed input,.ed textarea{padding:8px;border:1px solid var(--linha);border-radius:8px;font:inherit;min-width:0}
.ed textarea,.ed input:nth-of-type(3),.ed label,.ed .rm{grid-column:1/-1}
.mini{background:var(--mar);color:#fff;border:0;border-radius:8px;padding:8px 12px;font-weight:700;margin-top:6px}
.mini.rm{background:#b3261e}
#adm{display:none;position:fixed;left:0;right:0;bottom:0;background:var(--sol);color:#fff;padding:10px;text-align:center;z-index:9}
#adm button{padding:8px 12px;margin:3px;border:0;border-radius:8px;font-weight:700}
.admin #adm{display:block}.admin #cartbar{display:none}
@keyframes balanco{from{transform:rotate(-4deg)}to{transform:rotate(4deg)}}
@keyframes onda{to{transform:translateX(-50%)}}
@keyframes bump{40%{transform:scale(1.04);background:var(--areia)}}
@keyframes subir{from{transform:translateY(60px);opacity:0}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.promo{background:var(--sol);color:#fff;font:700 11px Nunito,sans-serif;border-radius:6px;padding:2px 7px;vertical-align:middle}.preco s{color:#8a8a8a;font-size:14px}
