/* UI-083 · Cardápio público responsivo.
   Apenas lê publicação; permite explorar e recomendar itens disponíveis.
   Nenhuma simulação de pedido, cobrança ou chamada de garçom. */
:root{color-scheme:dark;--cp-primary:#c6ff00;--cp-secondary:#23452c;--cp-accent:#ffcf33;--cp-bg:#101311;--cp-surface:#202922;--cp-text:#f5f8ed;
--cp-title:Impact,"Arial Narrow",sans-serif;--cp-body:system-ui,sans-serif;--cp-title-size:34px;--cp-body-size:15px;
--cp-price-size:18px;--cp-radius:14px;--cp-space:14px;--cp-image:82px;--cp-btn-scale:100%;--cp-neon:.45}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--cp-bg)}
body{margin:0;background:var(--cp-bg);color:var(--cp-text);font:var(--cp-body-size)/1.5 var(--cp-body);min-width:320px}
button,input{font:inherit}
button{cursor:pointer}
[hidden]{display:none!important}
button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--cp-accent);outline-offset:3px}
.skip{position:absolute;left:-100vw;top:12px;background:var(--cp-primary);color:#101b10;padding:10px;z-index:8}
.skip:focus{left:10px}
.menu-app{max-width:900px;margin:auto}
.menu-hero{position:relative;overflow:hidden;min-height:335px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;
padding:clamp(22px,6vw,43px);background:radial-gradient(circle at 88% 24%,color-mix(in srgb,var(--cp-secondary),transparent 25%),transparent 48%),linear-gradient(138deg,#151b16,#0e130f);
border-bottom:2px solid var(--cp-secondary)}
.menu-hero::after{content:"";pointer-events:none;position:absolute;inset:0;opacity:calc(var(--cp-neon)*.18);
background:repeating-linear-gradient(107deg,transparent 0 34px,#fafafa0b 35px,transparent 37px),
radial-gradient(circle at 97% 7%,var(--cp-accent),transparent 3%)}
.hero-cover{position:absolute;inset:0;background-position:center;background-size:cover;opacity:.22;filter:saturate(.9)}
.hero-top,.hero-logo,.menu-hero h1,.menu-hero p,.highlight-action{z-index:1;position:relative}
.hero-top{width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px}
.brand-kicker,.micro-heading{font-size:.67rem;font-weight:850;letter-spacing:.15em;color:var(--cp-primary)}
.table-badge{border:1px solid var(--cp-primary);border-radius:99px;padding:5px 10px;color:var(--cp-primary);font-size:.72rem;font-weight:800}
.hero-logo{display:flex;align-items:center;gap:10px;margin-top:25px}
.hero-logo img{width:60px;height:60px;border-radius:12px;object-fit:cover}
.hero-logo strong{font-weight:950;letter-spacing:.09em;font-size:clamp(1.1rem,5vw,1.55rem)}
.menu-hero h1{font:900 clamp(2.4rem,10vw,4.2rem)/.98 var(--cp-title);letter-spacing:.015em;max-width:660px;margin:20px 0 10px;overflow-wrap:anywhere}
.menu-hero p{font-size:clamp(.88rem,3.1vw,1.1rem);opacity:.85;max-width:43ch;margin:0 0 24px}
.highlight-action{min-height:calc(46px * var(--cp-btn-scale));padding:13px 17px;border:2px solid var(--cp-primary);border-radius:calc(var(--cp-radius)*.8);background:transparent;color:var(--cp-primary);font-weight:900;text-align:center}
.highlight-action:hover{background:var(--cp-primary);color:var(--cp-bg)}
.public-state{margin:18px;padding:16px;border:1px solid var(--cp-secondary);border-radius:var(--cp-radius);text-align:center;color:var(--cp-text)}
.menu-toolbar{padding:18px 18px 8px}
.search-label input{display:block;width:100%;min-height:48px;padding:12px 15px;background:var(--cp-surface);color:var(--cp-text);border:1px solid var(--cp-secondary);border-radius:calc(var(--cp-radius)*.85);font-size:1rem}
.category-strip{display:flex;gap:8px;padding:7px 18px 15px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scroll-snap-type:x proximity}
.category-strip button{flex:none;min-height:44px;padding:9px 14px;background:var(--cp-surface);border:1px solid var(--cp-secondary);border-radius:99px;color:var(--cp-text);font-size:.8rem;font-weight:850;scroll-snap-align:start;white-space:nowrap}
.category-strip button[aria-pressed=true]{background:var(--cp-primary);border-color:var(--cp-primary);color:#192619}
.menu-results{padding:3px 18px 32px}
.menu-section{margin-top:19px;scroll-margin-top:20px}
.menu-section h2{font:900 calc(var(--cp-title-size) * .85)/1.05 var(--cp-title);letter-spacing:.015em;margin:12px 0 17px;word-break:break-word}
.menu-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--cp-space)}
.menu-item{display:grid;grid-template-columns:var(--cp-image) minmax(0,1fr);gap:13px;align-items:center;
width:100%;text-align:left;color:var(--cp-text);background:var(--cp-surface);border:1px solid var(--cp-secondary);
border-radius:var(--cp-radius);padding:13px;min-height:calc(var(--cp-image) + 26px);transition:transform .13s,border-color .13s}
.menu-item:hover{transform:translateY(-1px);border-color:var(--cp-primary)}
.menu-item img,.menu-placeholder{display:grid;place-items:center;width:var(--cp-image);height:var(--cp-image);border-radius:calc(var(--cp-radius)*.75);object-fit:cover;background:var(--cp-bg);color:var(--cp-accent);font-size:1.45rem}
.menu-item-body{display:grid;gap:4px;min-width:0}
.menu-item h3{font-size:clamp(.91rem,1.3vw,1.02rem);font-weight:900;line-height:1.26;margin:0;overflow-wrap:anywhere}
.menu-item p{font-size:.75rem;opacity:.8;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.item-topline{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.item-topline strong{font-size:var(--cp-price-size);line-height:1.2;color:var(--cp-primary);white-space:nowrap;font-variant-numeric:tabular-nums}
.item-topline em{font-style:normal;color:var(--cp-accent);font-size:.7rem}
.menu-item .item-chip{width:max-content;max-width:100%;font-size:.67rem;color:var(--cp-accent);font-weight:800}
.empty-results{padding:26px;border:1px dashed var(--cp-secondary);border-radius:var(--cp-radius);color:var(--cp-text);opacity:.86}
.recommendation-panel{margin:0 18px 30px;padding:21px;background:var(--cp-surface);border:1px solid var(--cp-primary);border-radius:var(--cp-radius);display:grid;gap:17px}
.reco-header{display:flex;justify-content:space-between;gap:9px;align-items:start}
.reco-header h2{font:900 var(--cp-title-size)/1.1 var(--cp-title);margin:7px 0}
.reco-header p{opacity:.85;margin:0;font-size:.86rem}
.round-action{width:42px;height:42px;flex:none;border:1px solid var(--cp-secondary);border-radius:99px;background:var(--cp-bg);color:var(--cp-text);font-size:1.4rem}
.recommendation-panel fieldset{border:0;padding:0;margin:0;min-width:0}
.recommendation-panel legend{font-weight:900;margin-bottom:9px;font-size:.88rem}
.choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.choice-grid.two{grid-template-columns:repeat(3,minmax(0,1fr))}
.choice-grid label{display:flex;align-items:center;gap:7px;cursor:pointer;padding:12px 9px;background:var(--cp-bg);border:1px solid var(--cp-secondary);border-radius:10px;font-size:.75rem;font-weight:800;min-height:48px}
.choice-grid input{accent-color:var(--cp-primary);flex:none}
.recommendation-result{display:grid;gap:10px}
.recommendation-result .menu-item{width:100%}
.about-section{margin:0 18px 30px;padding:18px;background:var(--cp-surface);border-radius:var(--cp-radius);font-size:.83rem}
.about-section h2{margin:0}
.menu-footer{display:grid;gap:7px;padding:28px 20px;border-top:1px solid var(--cp-secondary);font-size:.73rem;opacity:.72}
.menu-footer strong{font-weight:950;letter-spacing:.1em}
dialog{width:min(460px,92vw);max-height:90dvh;overflow-y:auto;border:1px solid var(--cp-primary);background:var(--cp-bg);color:var(--cp-text);border-radius:18px;padding:20px}
dialog::backdrop{background:#030603d9}
.detail-top{display:flex;justify-content:space-between;align-items:center;gap:9px}
#detail-photo{display:block;width:100%;max-height:260px;object-fit:cover;border-radius:11px;margin:12px 0}
#detail-name{font:900 calc(var(--cp-title-size)*1.1)/1.1 var(--cp-title);margin:18px 0 8px}
.detail-price{color:var(--cp-primary);font-weight:950;font-size:var(--cp-price-size)}
.detail-tags{display:flex;gap:6px;flex-wrap:wrap;margin:13px 0}
.detail-tags span{font-size:.72rem;background:var(--cp-surface);padding:5px 9px;border:1px solid var(--cp-secondary);border-radius:99px}
.detail-note{font-size:.83rem;color:var(--cp-accent)}
.detail-caution{padding:12px;background:var(--cp-surface);font-size:.73rem;border-radius:9px}
#detail-show{width:100%}
[data-density=compacta] .menu-item{padding:8px;min-height:0;gap:9px}
[data-density=arejada] .menu-item{padding:19px;gap:17px}
[data-border=nenhuma] .menu-item{border-color:transparent}
[data-border=neon] .menu-item{border-color:var(--cp-primary);box-shadow:0 0 calc(17px*var(--cp-neon)) color-mix(in srgb,var(--cp-primary),transparent 80%)}
[data-icons=minimal] .menu-placeholder{font-size:1.1rem}
[data-dark=false]{--cp-bg:#eef2e9;--cp-surface:#fffdfa;--cp-text:#223327}
@media(max-width:690px){
 .menu-cards{grid-template-columns:1fr}
 .menu-hero{min-height:300px;padding:21px}
 .hero-logo{margin-top:20px}
 .menu-toolbar{padding-top:14px}
 .menu-item{padding:12px}
 .menu-section h2{font-size:var(--cp-title-size)}
 .choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .choice-grid.two{grid-template-columns:1fr}
 .recommendation-panel{padding:15px}
}
@media(max-width:365px){
 .menu-item{grid-template-columns:72px minmax(0,1fr)}
 .menu-item img,.menu-placeholder{width:72px;height:72px}
 .item-topline{flex-wrap:wrap}
 .choice-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.menu-item{transition:none}}
