:root{--marrom:#2b1a14;--marrom2:#43271d;--coral:#f08a6c;--coral2:#d96c4c;--creme:#fdeee8;--ouro:#f2b632;--texto:#2b1a14}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:var(--creme);color:var(--texto);line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit}
.wrap{max-width:720px;margin:0 auto;padding:0 20px}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.15}
/* topo */
header.topo{background:radial-gradient(120% 90% at 50% 0%,var(--marrom2),var(--marrom));color:var(--creme);padding:40px 0 44px;text-align:center}
.mascote{width:130px;height:auto;border-radius:22px;border:3px solid var(--coral);background:#fff;box-shadow:0 8px 24px rgba(0,0,0,.35);margin-bottom:18px}
header.topo h1{font-size:2.6rem;color:var(--coral);letter-spacing:.3px}
header.topo .lema{margin-top:8px;font-size:1.15rem;opacity:.92}
.selo{display:inline-block;margin-top:18px;padding:8px 16px;border-radius:99px;background:rgba(240,138,108,.16);border:1px solid var(--coral);color:var(--creme);font-weight:600;font-size:.92rem}
/* botões */
.botoes{display:grid;gap:12px;margin-top:-26px;position:relative}
.btn{display:block;text-align:center;padding:16px 18px;border-radius:14px;font-weight:700;text-decoration:none;font-size:1.05rem;border:0;cursor:pointer;box-shadow:0 4px 14px rgba(43,26,20,.14)}
.btn.pri{background:var(--coral);color:var(--marrom)}
.btn.ifood{background:#ea1d2c;color:#fff}
.btn.food99{background:#ffd200;color:#1a1a1a}
.btn.sec{background:#fff;color:var(--marrom)}
@media(min-width:560px){.botoes{grid-template-columns:1fr 1fr}}
/* seções */
section{padding:38px 0 6px}
h2{font-size:1.65rem;margin-bottom:6px;color:var(--marrom)}
h2+.sub{opacity:.75;margin-bottom:18px}
.cat{background:#fff;border-radius:16px;padding:20px;margin-bottom:14px;box-shadow:0 2px 10px rgba(43,26,20,.08)}
.cat h3{font-size:1.25rem;color:var(--marrom);display:inline-block;border-bottom:3px solid var(--coral);padding-bottom:2px}
.cat p{margin-top:4px;opacity:.8}
.cat ul{list-style:none;margin-top:12px}
.cat li{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-top:1px dashed #e4d3b0}
.cat li span{display:block;font-size:.9rem;opacity:.7}
.cat li em{font-style:normal;font-weight:800;color:var(--coral2);white-space:nowrap}
table{border-collapse:collapse;width:100%;background:#fff;border-radius:14px;overflow:hidden}
td{padding:13px 16px;border-bottom:1px solid #f0e4c2}
tr:last-child td{border-bottom:0}
td:last-child{text-align:right;font-weight:700}
.local{background:var(--marrom);color:var(--creme);border-radius:16px;overflow:hidden;display:grid}
.local img{width:100%;height:auto;max-height:420px;object-fit:cover;display:block}
.local div{padding:20px}
.local strong{font-size:1.1rem;color:var(--coral)}
.local a{color:var(--ouro)}
footer{margin-top:44px;padding:28px 0 40px;text-align:center;font-size:.85rem;background:var(--marrom);color:var(--creme);opacity:.95}
.oculto{display:none!important}
/* formulário */
form fieldset{border:0;background:#fff;border-radius:16px;padding:18px;margin-bottom:18px}
form legend{font-weight:800;font-size:1.1rem;color:var(--marrom);padding:0 6px;font-family:Georgia,serif}
label{display:block;margin-top:14px;font-weight:600}
label small{display:block;font-weight:400;opacity:.7}
input,textarea{width:100%;margin-top:6px;padding:12px;border:1.5px solid #dccb9f;border-radius:10px;font:inherit;background:#fffdf7}
textarea{min-height:90px;resize:vertical}
.msg{padding:16px;border-radius:10px;margin-top:14px;font-weight:600}
.msg.ok{background:#dff3e6;color:#1d5a37}.msg.erro{background:#fde2e2;color:#8a1f1f}
.galeria{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.galeria img{width:100%;height:220px;object-fit:cover;border-radius:12px;display:block}
@media(max-width:560px){.galeria img{height:180px}}
.cat img{width:100%;height:190px;object-fit:cover;border-radius:12px;display:block;margin-bottom:14px}
.cat img.alta{height:340px;object-position:50% 40%}
