/* Cobre y Sal · table menu (/carta). Builds on site.css (colours, fonts, buttons, dish card). */
.mesa-page section{padding:0}
.mesa-page{padding-bottom:calc(24px + env(safe-area-inset-bottom))}
.mesa-page.has-bar{padding-bottom:calc(96px + env(safe-area-inset-bottom))}
.mmain{max-width:760px;margin:0 auto;padding:0 16px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.linkish{background:none;border:0;padding:0;color:var(--gold-hi);font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}

/* ---- top bar ---- */
.mtop{position:sticky;top:0;z-index:20;background:rgba(18,20,19,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line-soft)}
.mtop__row{max-width:760px;margin:0 auto;padding:10px 16px;display:flex;align-items:center;gap:10px}
.mtop__brand{display:flex;align-items:center;gap:10px;text-decoration:none;margin-right:auto;min-width:0}
.mtop__brand svg{width:30px;height:auto;color:var(--gold);flex:none}
.mtop__brand b{display:block;font:500 1.25rem/1 var(--serif)}
.mtop__brand small{display:block;font-size:.66rem;letter-spacing:.32em;text-transform:uppercase;color:var(--muted);margin-top:3px}
.mtop__table{display:flex;align-items:center;gap:0;border:1px solid var(--line);background:rgba(14,15,14,.6);color:var(--salt);font:500 .8rem var(--sans);padding:6px 8px 6px 12px;cursor:pointer;white-space:nowrap}
.mtop__table span{margin-right:8px}
.mtop__table i,.mbar2__people i,.mitem__who{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--c);color:#141615;font:600 .72rem var(--sans);font-style:normal;margin-left:-6px;border:2px solid #121413}
.mtop__table i:first-of-type{margin-left:0}
.mtop__search{width:42px;height:42px;display:grid;place-items:center;background:none;border:1px solid var(--line);color:var(--gold);cursor:pointer;flex:none}
.mtop__search svg{width:18px;height:18px}
.msearch{max-width:760px;margin:0 auto;padding:0 16px 10px}
.msearch input{width:100%;font:400 1rem var(--sans);color:var(--salt);background:rgba(14,15,14,.8);border:1px solid var(--line);border-radius:0;padding:12px 14px;outline:none;-webkit-appearance:none;appearance:none}
.msearch input:focus{border-color:var(--gold)}
.msec{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;max-width:760px;margin:0 auto;padding:0 16px 10px}
.msec::-webkit-scrollbar{display:none}
.msec a{flex:none;text-decoration:none;font-size:.8rem;letter-spacing:.04em;padding:9px 13px;border:1px solid transparent;color:var(--salt);opacity:.8;transition:border-color .2s,color .2s,opacity .2s}
.msec a.on{border-color:var(--gold);color:var(--gold);opacity:1}

/* ---- hello, menú del día, discover, ¿qué pido? ---- */
.mhello{padding:18px 0 4px;color:#d9d7d1;font-size:.95rem}
.mhello:empty{display:none}
.mhello b{color:var(--gold-hi);font-weight:500}
.mdd-card{margin-top:18px;border:1px solid var(--line);background:rgba(14,15,14,.62);padding:20px}
.mdd-card__head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.mdd-card h2{font-size:1.9rem}
.mdd-card__head p{color:var(--muted);font-size:.86rem;margin-top:4px}
.mdd-card__price{font:500 2.2rem/1 var(--serif);color:var(--gold)}
.mdd-card__hoy{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;margin:16px 0}
.mdd-card h4{font:italic 400 1.1rem var(--serif);color:var(--gold);margin-bottom:4px}
.mdd-card ul{list-style:none;font-size:.95rem}
.mdd-card li{padding:2px 0}
.mdd-card__gen{color:#d4d2cc;margin:12px 0 16px;font-size:.95rem}
.mdd-card .btn{padding:13px 18px}
.mfeature{margin-top:14px}
.mfeature__btn{width:100%;display:flex;align-items:center;gap:14px;text-align:left;background:linear-gradient(120deg,rgba(216,169,91,.16),rgba(14,15,14,.6) 60%);border:1px solid var(--line);color:var(--salt);padding:10px;cursor:pointer;font:inherit}
.mfeature__media{width:64px;height:84px;flex:none;overflow:hidden;background:var(--board-2)}
.mfeature__media img{width:100%;height:100%;object-fit:cover}
.mfeature__btn b{display:block;font:500 1.35rem/1.1 var(--serif)}
.mfeature__btn small{display:block;color:var(--muted);font-size:.84rem;margin-top:4px}
.mqp{margin-top:34px;text-align:center}
.mqp h2{font-size:2rem}
.mqp .chips{margin:16px auto 18px}
.mqp .qp{text-align:left;margin-bottom:16px}
.searching{display:none!important}

/* ---- the carta ---- */
.msection{padding-top:34px;scroll-margin-top:118px}
.msection h2{font-size:2.1rem;color:var(--gold);border-bottom:1px solid var(--line);padding-bottom:10px}
.mgroup h3{font:italic 400 1.25rem var(--serif);color:var(--gold-hi);margin:22px 0 4px}
.mnote{color:var(--muted);font-size:.86rem;margin-bottom:4px}
.mrow{display:flex;align-items:stretch;border-bottom:1px solid var(--line-soft)}
.mrow__main{flex:1;min-width:0;display:flex;align-items:baseline;gap:12px;padding:13px 0;background:none;border:0;color:inherit;font:inherit;text-align:left;cursor:pointer}
.mrow__main .n{flex:1;min-width:0;font-size:.98rem}
.mrow__main .n small{display:block;color:var(--muted);font-size:.83rem;margin-top:1px}
.mrow__main .p{font:500 1.15rem var(--serif);color:var(--gold-hi);white-space:nowrap}
.mrow__main:hover .n{color:var(--gold-hi)}
.mrow .cam{display:inline-block;width:14px;height:14px;margin:0 0 -2px 7px;color:var(--gold)}
.mrow__add{flex:none;width:46px;margin-left:10px;display:grid;place-items:center;position:relative;background:none;border:0;border-left:1px solid var(--line-soft);color:var(--gold);cursor:pointer;font:300 1.6rem/1 var(--sans)}
.mrow__count{position:absolute;top:6px;right:2px;min-width:18px;height:18px;border-radius:9px;background:var(--gold);color:#141615;font:600 .68rem/18px var(--sans);text-align:center;padding:0 4px}
.mrow__count:empty{display:none}
.mrow.in .mrow__main .n{color:var(--gold-hi)}
.mrow--drink .mrow__main{padding:10px 0}
.mrow__add.pop .mrow__plus{animation:pop .45s cubic-bezier(.2,1.6,.4,1)}
@keyframes pop{0%{transform:scale(1)}40%{transform:scale(1.6)}100%{transform:scale(1)}}
.mempty{padding:40px 0;text-align:center;color:var(--muted)}
.mfoot{padding:40px 0 20px;text-align:center;color:var(--muted);font-size:.84rem}
.mfoot p+p{margin-top:8px}
.mfoot a{color:var(--gold)}

/* ---- bottom bar ---- */
.mbar2{position:fixed;inset:auto 0 0;z-index:25;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(18,20,19,.96);border-top:1px solid var(--line)}
.mbar2__btn{max-width:760px;margin:0 auto;width:100%;display:flex;align-items:center;gap:12px;background:var(--gold);color:#17130c;border:0;padding:12px 16px;cursor:pointer;font:inherit;text-align:left}
.mbar2__people{display:flex}
.mbar2__people:empty{display:none}
.mbar2__people i{border-color:var(--gold)}
.mbar2__txt{flex:1;min-width:0}
.mbar2__txt b{display:block;font:600 .82rem var(--sans);letter-spacing:.12em;text-transform:uppercase}
.mbar2__txt small{display:block;font-size:.82rem;opacity:.8}
.mbar2__total{font:600 1.3rem var(--serif)}

/* ---- dialogs: join, table list ---- */
.sheet__add{align-self:flex-start;margin-top:4px}
.mjoin{padding:clamp(28px,5vw,44px);display:flex;flex-direction:column;gap:16px}
.mjoin h2{font-size:2.2rem;padding-right:40px}
.mjoin input{width:100%;font:400 1.15rem var(--sans);color:var(--salt);background:rgba(14,15,14,.7);border:1px solid var(--line);border-radius:0;padding:14px;outline:none}
.mjoin input:focus{border-color:var(--gold)}
.mjoin__acts{display:flex;flex-wrap:wrap;gap:10px}
.mlist{padding:clamp(26px,5vw,44px);display:flex;flex-direction:column;gap:14px}
.mlist h2{font-size:2.2rem;padding-right:40px}
.mlist h3{display:flex;align-items:center;gap:8px;font:italic 400 1.2rem var(--serif);color:var(--gold);margin-top:6px}
.mlist h3 i{width:10px;height:10px;border-radius:50%;background:var(--c)}
.mlist__empty{color:var(--muted)}
.mitems{list-style:none;border-top:1px solid var(--line-soft)}
.mitem{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;padding:10px 0;border-bottom:1px solid var(--line-soft)}
.mitem__who{margin-left:0;border-color:#161918}
.mitem__n{flex:1 1 calc(100% - 40px);min-width:0;font-size:.95rem}
.mitem__n small{display:block;color:var(--muted);font-size:.8rem}
.mitem__qty{display:flex;align-items:center;gap:2px;margin-left:34px}
.mitem__qty button{width:34px;height:34px;background:none;border:1px solid var(--line);color:var(--gold);font-size:1.1rem;cursor:pointer}
.mitem__qty b{min-width:26px;text-align:center;font-weight:500}
.mitem__qty.ro b{color:var(--muted)}
.mitem__share{margin-left:auto;font:400 .76rem var(--sans);padding:6px 10px;border:1px dashed var(--line);background:none;color:var(--muted);cursor:pointer}
.mitem__share.on{border-style:solid;border-color:var(--gold);color:var(--gold)}
.mitem__share.ro{cursor:default}
.msomm{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);background:rgba(216,169,91,.08);font-size:.92rem}
.msomm svg{width:24px;height:24px;color:var(--gold);flex:none}
.msomm b{font:500 1.1rem var(--serif);color:var(--gold-hi)}
.msplit{border-top:1px solid var(--line);padding-top:12px}
.msplit__total{display:flex;justify-content:space-between;align-items:baseline;font:500 1.6rem var(--serif)}
.msplit__total b{color:var(--gold-hi);font-weight:500}
.msplit ul{list-style:none;margin:8px 0}
.msplit li{display:flex;align-items:center;gap:8px;padding:4px 0}
.msplit li i{width:10px;height:10px;border-radius:50%;background:var(--c)}
.msplit li b{margin-left:auto;font:500 1.1rem var(--serif)}
.msplit p{color:var(--muted);font-size:.82rem}
.mlist__acts{display:flex;flex-wrap:wrap;gap:10px}
.mlist__acts .btn[disabled]{opacity:.45;cursor:not-allowed}
.mlist__note{font-size:.82rem;color:var(--muted)}
.mlist__more{display:flex;justify-content:space-between;gap:12px}

/* ---- waiter view: big and plain ---- */
.mwaiter{border:0;padding:0;margin:0;width:100vw;height:100dvh;max-width:none;max-height:none;background:#f3efe6;color:#141615}
.mwaiter::backdrop{background:#000}
.mwaiter__in{max-width:640px;margin:0 auto;padding:36px 22px 40px}
.mwaiter__mesa{font:600 .9rem var(--sans);letter-spacing:.2em;text-transform:uppercase;color:#7b5a23}
.mwaiter h2{font-size:2.6rem;margin:4px 0 18px;text-shadow:none}
.mwaiter h3{font:italic 400 1.2rem var(--serif);color:#7b5a23;margin:18px 0 4px;text-shadow:none}
.mwaiter__row{font-size:1.35rem;line-height:1.35;padding:6px 0;border-bottom:1px solid #d9d2c3;text-shadow:none}
.mwaiter__row b{display:inline-block;min-width:2.6em;font-weight:600}
.mwaiter__total{font:500 1.6rem var(--serif);margin:20px 0 24px;text-shadow:none}
.mwaiter .btn--line{color:#141615;background:none;border-color:#141615}

/* ---- stories ---- */
.mstories{border:0;padding:0;margin:0;width:100vw;height:100dvh;max-width:none;max-height:none;background:#0d0e0d;color:var(--salt);overflow:hidden}
.mstories[open]{display:grid;grid-template-rows:auto 1fr auto}
.mstories::backdrop{background:#000}
.mstories__top{display:flex;align-items:center;gap:12px;padding:12px 12px 8px}
.mstories__top .sheet__close{position:static;flex:none}
.mstories__dots{flex:1;display:flex;gap:4px}
.mstories__dots i{flex:1;height:3px;background:rgba(239,237,232,.22)}
.mstories__dots i.done{background:var(--gold)}
.mstories__dots i.now{background:var(--salt)}
.mstories__stage{position:relative;margin:0 12px;min-height:0}
.mstory{position:absolute;inset:0;overflow:hidden;border:1px solid var(--line);background:#141615;touch-action:pan-y;transition:transform .28s ease,opacity .28s ease;cursor:grab;user-select:none}
.mstory img,.mstory video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.mstory__txt{position:absolute;inset:auto 0 0;padding:70px 20px 22px;background:linear-gradient(transparent,rgba(10,11,10,.92) 45%)}
.mstory__sec{font:italic 400 1.05rem var(--serif);color:var(--gold)}
.mstory h2{font-size:clamp(2rem,8vw,2.8rem);line-height:1.05}
.mstory__meta{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:baseline;margin-top:6px}
.mstory__meta b{font:500 1.5rem var(--serif);color:var(--gold-hi)}
.mstory__meta span{color:#d4d2cc;font-size:.9rem}
.mstory__desc{color:#cfcdc6;font-size:.9rem;margin-top:6px;max-width:44ch}
.mstory__stamp{position:absolute;top:22px;padding:8px 14px;border:2px solid;font:600 .9rem var(--sans);letter-spacing:.14em;text-transform:uppercase;opacity:0;transition:opacity .15s}
.mstory__stamp.yes{left:18px;color:var(--gold);transform:rotate(-12deg)}
.mstory__stamp.no{right:18px;color:#d98c8c;transform:rotate(12deg)}
.mstory.lean-yes .mstory__stamp.yes,.mstory.lean-no .mstory__stamp.no{opacity:1}
.mstory.out-yes{transform:translateX(120%) rotate(18deg);opacity:0}
.mstory.out-no{transform:translateX(-120%) rotate(-18deg);opacity:0}
.mstory--end{display:grid;place-content:center;justify-items:center;text-align:center;gap:12px;padding:24px;cursor:default}
.mstory--end svg{width:70px;height:auto;color:var(--gold)}
.mstory--end h2{font-size:2.4rem}
.mstory--end p{color:var(--muted)}
.mstories__acts{display:flex;justify-content:center;gap:28px;padding:16px 16px calc(18px + env(safe-area-inset-bottom))}
.mstories__acts button{display:flex;flex-direction:column;align-items:center;gap:6px;background:none;border:0;color:var(--muted);font:400 .78rem var(--sans);cursor:pointer}
.mstories__acts button svg{width:62px;height:62px;padding:18px;border-radius:50%;border:1px solid var(--line);box-sizing:border-box}
.mstories__yes svg{color:#141615;background:var(--gold);border-color:var(--gold)!important}
.mstories__no svg{color:#d98c8c}

/* ---- the toast ---- */
.mcheers{position:fixed;inset:0;z-index:100;display:grid;place-items:center;pointer-events:none}
.mcheers__glow{position:absolute;inset:0;background:radial-gradient(circle at 50% 46%,#efcf8e 0%,#d9934e 34%,#7a3e18 68%,#141615 100%)}
.mcheers__in{position:relative;text-align:center;color:#1a120a}
.mcheers__glasses{width:min(46vw,220px);height:auto;color:#1a120a}
.mcheers__word{font:500 clamp(3.4rem,16vw,6rem)/1 var(--serif);text-shadow:none}
.mcheers__by{font:500 1rem var(--sans);margin-top:10px;text-shadow:none}
@media (prefers-reduced-motion:no-preference){
  .mcheers.go .mcheers__glow{animation:glow 3.6s ease forwards}
  .mcheers.go .mcheers__in{animation:cheersin 3.6s cubic-bezier(.2,.7,.2,1) forwards}
  .mcheers.go .g1{transform-origin:41px 56px;animation:clinkL 1s cubic-bezier(.3,1.4,.5,1) forwards}
  .mcheers.go .g2{transform-origin:79px 56px;animation:clinkR 1s cubic-bezier(.3,1.4,.5,1) forwards}
  @keyframes glow{0%{opacity:0;transform:scale(.6)}15%{opacity:1;transform:scale(1)}75%{opacity:1}100%{opacity:0}}
  @keyframes cheersin{0%{opacity:0;transform:scale(.8)}18%{opacity:1;transform:scale(1)}78%{opacity:1}100%{opacity:0;transform:scale(1.04)}}
  @keyframes clinkL{0%{transform:translateX(-26px) rotate(-14deg)}60%{transform:translateX(4px) rotate(10deg)}100%{transform:translateX(0) rotate(8deg)}}
  @keyframes clinkR{0%{transform:translateX(26px) rotate(14deg)}60%{transform:translateX(-4px) rotate(-10deg)}100%{transform:translateX(0) rotate(-8deg)}}
}
@media (prefers-reduced-motion:reduce){.mcheers.go{animation:none}}

/* ---- small messages ---- */
.mtoastmsg{position:fixed;left:50%;bottom:calc(96px + env(safe-area-inset-bottom));z-index:60;transform:translateX(-50%);max-width:calc(100vw - 32px);background:#f3efe6;color:#141615;font-size:.9rem;padding:10px 16px;box-shadow:0 12px 30px -10px rgba(0,0,0,.6)}
@media (prefers-reduced-motion:no-preference){.mtoastmsg.show{animation:msgin .3s ease}@keyframes msgin{from{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%,0)}}}

@media (min-width:761px){
  .mesa-page .sheet--form{width:min(620px,calc(100vw - 32px))}
}
.mjoin__acts [hidden]{display:none}

/* ---------- fire background (assets/fuego.js) ----------
   Coals and low flames at the foot of the screen, sparks rising, the smoke above.
   The page fades from near-black at the top to a warm ember tone at the bottom;
   a soft dark halo under the text keeps it as readable as on plain black. */
.fuego{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
body.mesa-page{background:#0e0f0e}
.mesa-page::before{background:
  radial-gradient(ellipse 120% 60% at 50% 115%,rgba(150,58,16,.34),transparent 72%),
  linear-gradient(180deg,#0e0f0e 0%,#111211 40%,#17110d 72%,#22130a 100%)}
.mesa-page .mmain{text-shadow:0 1px 10px rgba(8,5,3,.92),0 0 3px rgba(8,5,3,.85)}
.mesa-page .mrow{border-bottom-color:rgba(216,169,91,.16)}
.mbar2{background:linear-gradient(180deg,rgba(16,12,9,.8),rgba(16,12,9,.95));border-top-color:rgba(216,169,91,.4)}

/* joining a table that already has people: "¿Vienes con…?" */
.mjoin__acts.is-stale #m-join-new{order:-1}
.mjoin__acts .btn{white-space:normal}
/* "Hemos terminado": closing the table after paying */
.mlist__done{margin-top:18px;padding-top:16px;border-top:1px solid var(--line-soft)}
.mlist__done .btn{width:100%}
.mlist__done .mlist__note{margin-top:8px}
.btn.is-armed{border-color:var(--gold);color:var(--gold-hi);box-shadow:inset 0 0 0 1px var(--gold)}
