/* ===== Es Mal Pas — carta digital ===== */
:root{
  --cal:#F6F2EA;
  --cal-2:#EFE9DE;
  --tinta:#1C1A16;
  --tinta-70:rgba(28,26,22,.68);
  --tinta-45:rgba(28,26,22,.45);
  --oliva:#5E6B4E;
  --terra:#B2643E;
  --oro:#B0913F;
  --linea:rgba(28,26,22,.13);
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Jost',system-ui,-apple-system,sans-serif;
  --ease:cubic-bezier(.22,.8,.28,1);
  --head-h:118px;
}
*{box-sizing:border-box}
body{
  margin:0;background:var(--cal);color:var(--tinta);
  font-family:var(--sans);font-weight:300;line-height:1.6;
  -webkit-font-smoothing:antialiased;padding-bottom:2rem;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:var(--serif);font-weight:400;margin:0}

/* --- head --- */
.mhead{
  position:sticky;top:0;z-index:30;
  display:grid;grid-template-columns:44px 1fr 44px;align-items:center;
  background:var(--tinta);color:var(--cal);
  padding:.9rem 1rem;
}
.mhead__back{font-size:1.4rem;line-height:1;opacity:.8}
.mhead__back:hover{opacity:1}
.mhead__brand{text-align:center;display:grid;gap:2px}
.mhead__mark{font-family:var(--serif);font-style:italic;font-size:1.45rem;line-height:1}
.mhead__sub{font-size:.58rem;letter-spacing:.3em;text-transform:uppercase;color:var(--oro)}
.mhead__lang{
  background:none;border:1px solid rgba(246,242,234,.35);color:var(--cal);
  border-radius:2px;padding:.35rem .5rem;font-family:var(--sans);font-size:.68rem;
  letter-spacing:.12em;cursor:pointer;transition:.3s var(--ease);
}
.mhead__lang:hover{background:rgba(246,242,234,.12)}

/* --- tools --- */
.tools{
  position:sticky;top:62px;z-index:29;
  background:var(--cal);border-bottom:1px solid var(--linea);
  padding:.8rem 1rem .6rem;display:grid;gap:.6rem;
}
.tools__search{
  display:flex;align-items:center;gap:.6rem;
  border:1px solid var(--linea);border-radius:2px;padding:.55rem .8rem;
  background:#fff;color:var(--tinta-45);transition:.3s var(--ease);
}
.tools__search:focus-within{border-color:var(--oliva);color:var(--oliva)}
.tools__search input{
  border:0;outline:none;background:none;flex:1;
  font-family:var(--sans);font-size:.95rem;font-weight:300;color:var(--tinta);
}
.tools__search input::-webkit-search-cancel-button{filter:grayscale(1)}
.tools__filters{display:flex;gap:.4rem;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.tools__filters::-webkit-scrollbar{display:none}
.chip{
  flex:0 0 auto;border:1px solid var(--linea);background:#fff;border-radius:20px;
  padding:.3rem .8rem;font-family:var(--sans);font-size:.72rem;letter-spacing:.04em;
  color:var(--tinta-70);cursor:pointer;transition:.28s var(--ease);white-space:nowrap;
}
.chip:hover{border-color:var(--oliva)}
.chip.is-on{background:var(--oliva);border-color:var(--oliva);color:#fff}

/* --- tabs --- */
.tabs{
  position:sticky;top:var(--head-h);z-index:28;
  display:flex;gap:.2rem;overflow-x:auto;scrollbar-width:none;
  background:var(--cal);border-bottom:1px solid var(--linea);
  padding:0 .6rem;
}
.tabs::-webkit-scrollbar{display:none}
.tabs a{
  flex:0 0 auto;padding:.85rem .8rem;font-size:.72rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--tinta-45);border-bottom:2px solid transparent;
  transition:.28s var(--ease);
}
.tabs a:hover{color:var(--tinta)}
.tabs a.is-active{color:var(--tinta);border-bottom-color:var(--terra)}

/* --- menu --- */
.menu{max-width:760px;margin:0 auto;padding:0 1.1rem}
.cat{padding-top:2.6rem;scroll-margin-top:calc(var(--head-h) + 46px)}
.cat__head{display:flex;align-items:baseline;gap:.9rem;margin-bottom:1.4rem}
.cat__head h2{font-size:1.9rem;white-space:nowrap}
.cat__head::after{content:'';flex:1;height:1px;background:var(--linea)}
.cat__note{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--terra);white-space:nowrap}

.item{
  display:grid;grid-template-columns:1fr auto;gap:.3rem 1rem;
  padding:.95rem 0;border-bottom:1px solid var(--linea);
  animation:in .5s var(--ease) both;
}
@keyframes in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.item:last-child{border-bottom:0}
.item__name{font-family:var(--serif);font-size:1.28rem;line-height:1.25;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.item__price{font-family:var(--serif);font-size:1.2rem;color:var(--oliva);white-space:nowrap}
.item__desc{grid-column:1/-1;font-size:.87rem;color:var(--tinta-45);margin:0;max-width:58ch}
.item__tags{grid-column:1/-1;display:flex;gap:.35rem;flex-wrap:wrap;margin-top:.35rem}
.tag{
  font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;
  border:1px solid var(--linea);border-radius:20px;padding:.12rem .5rem;color:var(--tinta-45);
}
.tag--veg{border-color:#9CB48A;color:#607A4E}
.tag--sg{border-color:#D2B679;color:#9A7A2E}
.tag--top{border-color:var(--terra);color:var(--terra)}
.star{color:var(--terra);font-size:.85rem}

.empty{text-align:center;color:var(--tinta-45);padding:3rem 1rem;font-family:var(--serif);font-size:1.2rem}

/* --- alergenos --- */
.aleg{
  max-width:760px;margin:3rem auto 0;padding:1.4rem 1.2rem;
  background:var(--cal-2);border-radius:2px;
}
.aleg h3{font-size:1.15rem;margin-bottom:.4rem}
.aleg p{margin:0;font-size:.85rem;color:var(--tinta-45)}

/* --- footer --- */
.mfoot{
  background:var(--tinta);color:var(--cal);margin-top:3rem;
  padding:2.4rem 1.2rem 2rem;text-align:center;
}
.mfoot__cta{display:grid;gap:.6rem;max-width:420px;margin:0 auto 2rem}
.mbtn{
  display:block;padding:.9rem 1.2rem;border:1px solid rgba(246,242,234,.3);border-radius:2px;
  font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;transition:.32s var(--ease);
}
.mbtn:hover{background:rgba(246,242,234,.1)}
.mbtn--wa{background:#25D366;border-color:#25D366;color:#fff}
.mbtn--wa:hover{background:#1eb85a;border-color:#1eb85a}
.mfoot__meta{display:grid;gap:.3rem;font-size:.78rem;color:rgba(246,242,234,.55)}
.mfoot__qr{margin-top:2rem;display:grid;justify-items:center;gap:.7rem}
.mfoot__qr img{width:112px;background:#fff;padding:8px;border-radius:2px}
.mfoot__qr span{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(246,242,234,.45)}
.mfoot__legal{margin:2rem 0 0;font-size:.7rem;color:rgba(246,242,234,.35)}
.mfoot__legal a{text-decoration:underline;text-underline-offset:3px}

/* --- to top --- */
.totop{
  position:fixed;right:1rem;bottom:1rem;z-index:40;
  width:42px;height:42px;border-radius:50%;background:var(--tinta);color:var(--cal);
  display:grid;place-items:center;font-size:1.1rem;
  opacity:0;visibility:hidden;transition:.35s var(--ease);
}
.totop.is-on{opacity:1;visibility:visible}

@media(min-width:720px){
  :root{--head-h:126px}
  .tools{padding:1rem 1.2rem .7rem;grid-template-columns:1fr auto;align-items:center}
  .tools__search{min-width:260px}
  .cat__head h2{font-size:2.3rem}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition-duration:.01ms!important}
}
