/* Menu estilo aplicativo */
.menu-page{background:var(--ink);padding-bottom:calc(96px + var(--safe-b))}
.mwrap{max-width:1180px;margin:0 auto}

/* Barra superior */
.mbar{position:sticky;top:0;z-index:40;height:60px;display:flex;align-items:center;justify-content:space-between;padding:0 10px;background:rgba(13,10,8,.9);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px)}
.mbar-logo img{height:34px;width:auto}
.mbar-btn{width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;transition:background .2s}
.mbar-btn:hover{background:rgba(255,255,255,.06)}
.mbar-btn .ico{width:22px;height:22px}

.mhero{padding:18px 18px 8px;text-align:center}
.mhero .eyebrow{margin-bottom:6px}
.mhero h1{font-size:clamp(44px,9vw,76px)}
.mhero h1 em{font-style:italic;color:var(--gold-2);font-weight:400}
.mhero-sub{font-size:13px;color:var(--text-mute);margin-top:6px}

/* Categorias estilo "destaques" do Instagram */
.stories{display:flex;gap:14px;overflow-x:auto;padding:16px 18px 10px;scrollbar-width:none;scroll-snap-type:x proximity}
.stories::-webkit-scrollbar{display:none}
@media (min-width:900px){.stories{justify-content:center}}
.story{flex-shrink:0;width:76px;display:flex;flex-direction:column;align-items:center;gap:7px;scroll-snap-align:start}
.story-ring{width:72px;height:72px;border-radius:50%;padding:3px;background:conic-gradient(from 200deg,var(--gold),#8a6327,var(--gold-2),var(--gold));transition:transform .25s var(--ease)}
.story-ring img{width:100%;height:100%;border-radius:50%;object-fit:cover;border:2.5px solid var(--ink);background:var(--ink-3)}
.story:active .story-ring{transform:scale(.94)}
.story-name{font-size:12px;font-weight:600;color:var(--text-dim);white-space:nowrap}
.story.on .story-name{color:var(--text)}

/* Chips fixos com scrollspy */
.chipbar{position:sticky;top:60px;z-index:35;background:rgba(13,10,8,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.chips{display:flex;gap:6px;overflow-x:auto;padding:10px 14px;scrollbar-width:none;scroll-behavior:smooth}
.chips::-webkit-scrollbar{display:none}
@media (min-width:900px){.chips{justify-content:center}}
.chip{flex-shrink:0;display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 14px;border-radius:999px;font-size:14px;font-weight:600;color:var(--text-dim);border:1px solid var(--line);transition:background .25s,color .25s,border-color .25s}
.chip small{font-size:11px;font-weight:700;opacity:.6}
.chip.on{background:var(--cream);color:var(--ink);border-color:var(--cream)}

/* Filtros */
.tools{display:flex;align-items:center;gap:10px;padding:14px 14px 4px}
.filters{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;flex:1}
.filters::-webkit-scrollbar{display:none}
.fpill{flex-shrink:0;display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border-radius:999px;border:1px dashed var(--line-2);font-size:13px;font-weight:600;color:var(--text-dim)}
.fpill .ico{width:16px;height:16px;color:var(--gold)}
.fpill.on{border-style:solid;border-color:var(--gold);color:var(--gold-2);background:rgba(216,176,106,.1)}
.view{display:flex;border:1px solid var(--line);border-radius:999px;padding:3px;flex-shrink:0}
.vbtn{width:34px;height:28px;border-radius:999px;display:flex;align-items:center;justify-content:center;color:var(--text-mute)}
.vbtn .ico{width:17px;height:17px}
.vbtn.on{background:var(--ink-4);color:var(--text)}

/* Sugestões da casa */
.feat{padding:18px 0 4px}
.feat-head{display:flex;align-items:baseline;justify-content:space-between;padding:0 16px 12px}
.feat-head h2{font-family:var(--serif);font-size:28px;font-weight:500}
.feat-head span{font-size:12px;color:var(--text-mute)}
.feat-rail{display:flex;gap:12px;overflow-x:auto;padding:0 16px 6px;scroll-snap-type:x mandatory;scrollbar-width:none;scroll-padding:0 16px}
.feat-rail::-webkit-scrollbar{display:none}
.fcard{position:relative;flex-shrink:0;width:min(72vw,300px);aspect-ratio:3/4;border-radius:var(--r-lg);overflow:hidden;scroll-snap-align:start;background:var(--ink-3)}
.fcard img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.fcard:active img{transform:scale(1.03)}
.fcard-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,10,8,0) 50%,rgba(13,10,8,.92))}
.fcard-txt{position:absolute;left:18px;right:18px;bottom:16px;display:grid;gap:2px}
.fcard-txt small{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.fcard-txt strong{font-family:var(--serif);font-size:32px;font-weight:500;line-height:1.05}
.fcard-txt em{font-style:normal;font-weight:700;font-size:15px;color:var(--gold-2)}

/* Seções */
.msec{padding:30px 0 6px;scroll-margin-top:118px}
.msec-head{padding:0 16px 14px;display:flex;flex-direction:column;gap:2px}
.msec-head h2{font-family:var(--serif);font-size:clamp(34px,6vw,44px);font-weight:500;line-height:1.05}
.msec-head p{font-size:14px;color:var(--text-mute)}

/* Grade de cards */
.mgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px 12px;padding:0 14px}
@media (min-width:640px){.mgrid{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1000px){.mgrid{grid-template-columns:repeat(4,1fr);gap:28px 18px}}
.mcard{display:flex;flex-direction:column;gap:10px;-webkit-tap-highlight-color:transparent}
.mcard.hide{display:none}
.mcard-img{position:relative;display:block;aspect-ratio:3/4;border-radius:var(--r);overflow:hidden;background:var(--ink-3)}
.mcard-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease),opacity .4s;opacity:0}
.mcard-img img.ok{opacity:1}
.mcard:hover .mcard-img img{transform:scale(1.04)}
.mcard:active .mcard-img{transform:scale(.98)}
.badge-chef{position:absolute;top:8px;left:8px;width:30px;height:30px;border-radius:50%;background:rgba(13,10,8,.7);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;color:var(--gold)}
.badge-chef .ico{width:16px;height:16px}
.badge-multi{position:absolute;top:8px;right:8px;font-size:10px;font-weight:700;background:rgba(13,10,8,.7);padding:4px 8px;border-radius:999px;backdrop-filter:blur(6px)}
.mcard-body{display:grid;gap:3px;padding:0 2px}
.mcard-name{font-family:var(--serif);font-size:22px;font-weight:600;line-height:1.08}
.mcard-desc{display:none;font-size:13.5px;color:var(--text-dim);line-height:1.45}
.mcard-price{font-weight:700;font-size:14px;color:var(--gold-2)}
.mcard-tags{display:flex;gap:4px;flex-wrap:wrap}
.tag{font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:3px 7px;border-radius:999px;border:1px solid rgba(132,186,120,.45);color:#a9d39c}
.tag-novo{border-color:rgba(216,176,106,.6);color:var(--gold-2)}
.tag-picante{border-color:rgba(179,52,58,.6);color:#ef8d8f}

/* Visualização em lista */
.list .mgrid{grid-template-columns:1fr;gap:0}
@media (min-width:900px){.list .mgrid{grid-template-columns:1fr 1fr;column-gap:28px}}
.list .mcard{flex-direction:row;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}
.list .mcard-img{width:96px;flex-shrink:0;aspect-ratio:1;border-radius:12px}
.list .badge-multi{display:none}
.list .badge-chef{width:24px;height:24px;top:5px;left:5px}
.list .mcard-body{align-content:start;flex:1}
.list .mcard-desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.list .mcard-name{font-size:21px}

.empty{text-align:center;color:var(--text-mute);padding:60px 20px}

/* Fim */
.mend{margin:56px 14px 0;padding:40px 22px;border-radius:var(--r-lg);text-align:center;background:radial-gradient(ellipse at top,rgba(216,176,106,.16),transparent 70%),var(--ink-2);border:1px solid var(--line)}
.mend h2{font-size:clamp(36px,6vw,52px);margin-bottom:10px}
.mend h2 em{font-style:italic;color:var(--gold-2);font-weight:400}
.mend>p{color:var(--text-dim);max-width:44ch;margin:0 auto 22px}
.mend-links{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;margin-top:20px}
.mend-links a{display:inline-flex;align-items:center;gap:7px;font-size:14px;color:var(--text-dim)}
.mend-links a:hover{color:var(--text)}
.mend-note{font-size:12px!important;color:var(--text-mute)!important;margin-top:22px!important}

/* Barra inferior */
.mdock{position:fixed;left:0;right:0;bottom:0;z-index:45;display:flex;gap:10px;padding:10px 12px calc(10px + var(--safe-b));background:linear-gradient(to top,rgba(13,10,8,.98) 62%,rgba(13,10,8,0))}
.mdock .btn{flex:1;min-height:54px;font-size:16px}
.mdock-wa{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid var(--line-2);background:var(--ink-3);flex-shrink:0}
@media (min-width:900px){.mdock{left:50%;right:auto;transform:translateX(-50%);width:440px;bottom:16px;border-radius:999px;padding:8px;background:rgba(21,17,13,.92);border:1px solid var(--line);backdrop-filter:blur(12px)}}

/* Detalhe do prato */
.sheet{position:fixed;inset:0;z-index:70;visibility:hidden}
.sheet.open{visibility:visible}
.sheet-bg{position:absolute;inset:0;background:rgba(0,0,0,.75);opacity:0;transition:opacity .3s}
.sheet.open .sheet-bg{opacity:1}
.sheet-panel{position:absolute;inset:0;background:var(--ink);display:flex;flex-direction:column;transform:translateY(100%);transition:transform .45s var(--ease)}
.sheet.open .sheet-panel{transform:none}
@media (min-width:760px){.sheet-panel{inset:24px auto 24px 50%;width:480px;margin-left:-240px;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line)}}
.sheet-top{display:flex;align-items:center;gap:10px;height:56px;padding:0 8px;border-bottom:1px solid var(--line);flex-shrink:0;background:var(--ink)}
.sheet-btn{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.sheet-title{flex:1;text-align:center;font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.sheet-pos{width:44px;text-align:center;font-size:12px;color:var(--text-mute)}
.feed{flex:1;overflow-y:auto;scroll-snap-type:y proximity;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.post{scroll-snap-align:start;border-bottom:1px solid var(--line);padding-bottom:22px}
.post-media{position:relative;aspect-ratio:3/4;max-height:58vh;max-height:58svh;width:100%;overflow:hidden;background:var(--ink-3)}
@media (min-width:760px){.post-media{max-height:62vh}}
.pm-track{display:flex;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.pm-track::-webkit-scrollbar{display:none}
.pm-slide{flex:0 0 100%;height:100%;scroll-snap-align:center}
.pm-slide img{width:100%;height:100%;object-fit:cover}
.pm-dots{position:absolute;bottom:12px;left:0;right:0;display:flex;justify-content:center;gap:5px}
.pm-dots i{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.45);transition:background .2s,transform .2s}
.pm-dots i.on{background:#fff;transform:scale(1.2)}
.post-info{padding:18px 18px 0}
.post-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.post-name{font-family:var(--serif);font-size:38px;font-weight:500;line-height:1.02}
.post-price{font-weight:800;font-size:18px;color:var(--gold-2);white-space:nowrap}
.post-desc{color:var(--text-dim);margin-top:10px;font-size:15.5px}
.post-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}
.post-tags .tag{font-size:11px;padding:4px 9px}
.post-chef{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--gold);margin-top:12px}
.post-chef .ico{width:16px;height:16px}
.post-actions{display:flex;gap:10px;margin-top:18px}
.post-actions .btn{flex:1;min-height:50px}
.post-share{width:50px;height:50px;border-radius:50%;border:1px solid var(--line-2);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.post-next{display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px;color:var(--text-mute);margin-top:18px}
.post-next .ico{width:14px;height:14px;transform:rotate(90deg)}

/* Busca */
.search{position:fixed;inset:0;z-index:75;background:var(--ink);display:flex;flex-direction:column;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}
.search.open{opacity:1;visibility:visible}
.search-top{display:flex;gap:10px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--line)}
.search-box{flex:1;display:flex;align-items:center;gap:8px;height:46px;padding:0 14px;border-radius:999px;background:var(--ink-3);border:1px solid var(--line)}
.search-box .ico{color:var(--text-mute)}
.search-box input{flex:1;background:none;border:0;outline:0;color:var(--text);font:inherit;font-size:16px;min-width:0}
.search-x{font-size:14px;font-weight:600;color:var(--gold-2);padding:8px}
.search-hints{padding:18px 16px}
.search-hints p{font-size:12px;color:var(--text-mute);margin-bottom:10px;letter-spacing:.1em;text-transform:uppercase}
.search-hints div{display:flex;flex-wrap:wrap;gap:8px}
.hint{height:36px;padding:0 14px;border-radius:999px;border:1px solid var(--line-2);font-size:14px;color:var(--text-dim)}
.results{list-style:none;overflow-y:auto;flex:1;padding:6px 12px 40px}
.results li a{display:flex;gap:14px;align-items:center;padding:10px 4px;border-bottom:1px solid var(--line)}
.results img{width:60px;height:60px;border-radius:12px;object-fit:cover;background:var(--ink-3);flex-shrink:0}
.results strong{display:block;font-family:var(--serif);font-size:21px;font-weight:600;line-height:1.1}
.results span{font-size:12.5px;color:var(--text-mute)}
.results em{margin-left:auto;font-style:normal;font-weight:700;color:var(--gold-2);font-size:14px;white-space:nowrap}
.results mark{background:rgba(216,176,106,.3);color:inherit;border-radius:3px}
.no-res{padding:30px 6px;color:var(--text-mute);text-align:center}
