/* Carta digital: el mismo componente se pinta en la web (#carta) y en la página del QR (carta/).
   --carta-sticky-top: a qué altura se queda pegada la barra de categorías al bajar. */
.carta-tabs{
  position:sticky; top:var(--carta-sticky-top, 10px); z-index:20;
  display:flex; gap:6px; overflow-x:auto; scrollbar-width:none;
  padding:6px; margin-bottom:20px; border-radius:999px;
  background:rgba(17,11,7,0.88); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  box-shadow:0 6px 20px rgba(0,0,0,0.35);
}
.carta-tabs::-webkit-scrollbar{display:none;}
.carta-tab{
  flex-shrink:0; border:0; cursor:pointer; font:inherit; font-size:14px; font-weight:500; letter-spacing:0.02em; white-space:nowrap;
  padding:10px 16px; border-radius:999px; background:transparent; color:var(--muted);
  transition:background .2s, color .2s;
}
.carta-tab[aria-selected="true"]{background:var(--gold); color:var(--bg);}

.carta-cat-head{display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin:0 4px 14px;}
.carta-cat-title{font-family:var(--font-display); font-weight:600; font-size:32px; line-height:1;}
.carta-cat-sub{flex-shrink:0; font-size:11px; font-weight:500; letter-spacing:0.18em; text-transform:uppercase; color:var(--gold-soft);}

.carta-list{display:flex; flex-direction:column; gap:8px;}
.carta-item{display:flex; align-items:flex-start; gap:12px; background:var(--card); border-radius:var(--radius); padding:15px 16px;}
.carta-item .info{flex:1; min-width:0;}
.carta-item .name{font-size:16px; font-weight:500; line-height:1.3;}
.carta-item .desc{font-size:13px; color:var(--muted); margin-top:3px; line-height:1.45;}
.carta-item .tag{
  display:inline-block; margin-top:7px; font-size:10px; font-weight:600; letter-spacing:0.12em; text-transform:uppercase;
  padding:3px 10px; border-radius:999px; background:rgba(222,121,91,0.16); color:var(--terracotta);
}
.carta-item .price{
  flex-shrink:0; background:rgba(243,221,182,0.12); color:var(--gold); font-size:14px; font-weight:600;
  padding:7px 12px; border-radius:999px; white-space:nowrap;
}
/* preparado para cuando el dueño marque un plato como agotado desde el panel */
.carta-item.agotado{opacity:0.5;}
.carta-item.agotado .price{color:var(--muted); text-decoration:line-through;}

.carta-notes{display:flex; flex-direction:column; gap:8px; margin-top:18px;}
.carta-note{font-size:13px; line-height:1.45; color:var(--muted); background:rgba(247,243,238,0.05); border-radius:16px; padding:12px 14px;}
.carta-cat .carta-note{margin-top:10px;}
