:root { --accent: #b5452c; --ink: #1d1a17; --muted: #6b655e; --bg: #faf7f2; --card: #ffffff; --line: #e9e2d8; }
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font: 16px/1.45 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; color: var(--ink); background: var(--bg); padding-bottom: env(safe-area-inset-bottom); }
a { color: var(--accent); }
.top { padding: 28px 20px 12px; text-align: center; background: var(--card); border-bottom: 1px solid var(--line); }
.top h1 { margin: 0; font-size: 1.7rem; letter-spacing: .01em; }
.tagline { margin: 4px 0 0; color: var(--muted); font-style: italic; }
.table { display: inline-block; margin: 10px 0 0; padding: 3px 12px; border-radius: 999px; background: var(--accent); color: #fff; font-weight: 600; font-size: .9rem; }
.tabs { position: sticky; top: 0; z-index: 2; display: flex; gap: 6px; overflow-x: auto; padding: 10px 12px; background: var(--bg); border-bottom: 1px solid var(--line); scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.tabs::-webkit-scrollbar { display: none; }
.tab { flex: 0 0 auto; padding: 6px 12px; border-radius: 999px; border: 1px solid var(--line); background: var(--card); color: var(--ink); text-decoration: none; font-size: .9rem; white-space: nowrap; }
.tab.on { background: var(--accent); border-color: var(--accent); color: #fff; }
main { padding: 8px 12px 24px; max-width: 720px; margin: 0 auto; }
.section { scroll-margin-top: 58px; margin: 18px 0; }
.section h2 { margin: 0 4px 8px; font-size: 1.25rem; }
.section h2 small { color: var(--muted); font-weight: 400; font-size: .9rem; margin-left: 6px; }
.lead { margin: -4px 4px 10px; color: var(--muted); font-size: .95rem; }
.special { padding: 12px; border-radius: 14px; background: color-mix(in srgb, var(--accent) 10%, var(--card)); border: 1px solid color-mix(in srgb, var(--accent) 35%, var(--line)); }
.item { display: flex; gap: 12px; padding: 12px; margin: 0 0 8px; background: var(--card); border: 1px solid var(--line); border-radius: 12px; }
.item img { flex: 0 0 96px; width: 96px; height: 96px; border-radius: 10px; object-fit: cover; background: var(--line); }
.body { flex: 1 1 auto; min-width: 0; }
.line { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; }
.item h3 { margin: 0; font-size: 1.02rem; font-weight: 600; }
.price { flex: 0 0 auto; font-weight: 600; white-space: nowrap; }
.price small { color: var(--muted); font-weight: 400; font-size: .8rem; }
.item p { margin: 4px 0 0; color: var(--muted); font-size: .92rem; }
.item p.sub { color: var(--ink); font-size: .9rem; }
.item p.glass { color: var(--ink); }
.badges { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 8px !important; }
.tag { font-size: .72rem; padding: 2px 8px; border-radius: 999px; background: #eef3e7; color: #2f5d1f; }
.tag-picante { background: #fbe9e2; color: #9a3412; }
.tag-casa, .tag-novo { background: color-mix(in srgb, var(--accent) 14%, #fff); color: var(--accent); }
.al { font-size: .7rem; padding: 2px 6px; border-radius: 4px; border: 1px solid var(--line); color: var(--muted); text-decoration: none; letter-spacing: .04em; }
footer { padding: 16px 16px 40px; max-width: 720px; margin: 0 auto; color: var(--muted); font-size: .88rem; }
details summary { cursor: pointer; font-weight: 600; color: var(--ink); }
.legend { list-style: none; padding: 0; margin: 8px 0 0; columns: 2; gap: 12px; }
.legend li { margin: 2px 0; }
.legend b { display: inline-block; min-width: 2em; }
.contact { margin-top: 14px; }
.brand { margin-top: 10px; }
.home { padding: 60px 24px; text-align: center; max-width: 520px; }
.home h1 { font-size: 2.2rem; color: var(--accent); }
.muted { color: var(--muted); }
@media (min-width: 600px) { .item img { flex-basis: 120px; width: 120px; height: 120px; } }
