/* Calle 8 evolved menu: layered on the live theme style.css (same tokens, fonts, header/footer). */
.m2 { --hdr: 72px; --m2-ink:#1a1410; --m2-mute:#4a433c; --m2-rule:rgba(26,20,16,.14); }
.m2-jump {
  position: sticky; top: var(--hdr); z-index: 150;
  background: #000; border-bottom: 1px solid var(--line);
}
.m2-tabs { display:flex; gap:4px; margin:0 auto; padding:0 12px; overflow-x:auto; -webkit-overflow-scrolling:touch;
  scrollbar-width:none; width:min(var(--max),100%); scroll-snap-type:x proximity; }
.m2-tabs::-webkit-scrollbar{display:none}
.m2-tab { flex:0 0 auto; display:flex; align-items:center; min-height:48px; padding:0 14px; white-space:nowrap;
  font-family:Oswald,sans-serif; font-weight:600; font-size:15px; letter-spacing:.1em; text-transform:uppercase;
  color:#f3eee4; text-decoration:none; border-bottom:3px solid transparent; scroll-snap-align:start; }
.m2-tab:hover, .m2-tab[aria-selected="true"] { color:var(--gold); border-bottom-color:var(--gold); }
.m2-tab:focus-visible { outline:2px solid var(--gold); outline-offset:-4px; }
/* JS-applied only: without JS (.m2-tabbed absent) every panel is visible */
.m2-tabbed .m2-group.is-inactive { display:none; }
.m2-group:focus { outline:none; }
.m2-chips { display:flex; flex-wrap:wrap; gap:8px; margin:4px 0 8px; }
.m2-chips a { display:inline-flex; align-items:center; min-height:36px; padding:0 14px; border-radius:999px;
  border:1px solid rgba(154,24,29,.45); color:var(--ember-dark); background:transparent; text-decoration:none;
  font-family:Oswald,sans-serif; font-weight:600; font-size:14px; letter-spacing:.06em; text-transform:uppercase; }
.m2-chips a:hover, .m2-chips a:focus-visible { background:var(--ember-dark); color:#fff; }
.m2-logo-h { margin:28px 0 8px; }
.m2-group > h2.m2-logo-h::after { display:none; }
.m2-logo-h img { width:110px; height:auto; }
@media (max-width:860px){ .m2-chips { flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; margin-right:-20px; padding-right:20px; } .m2-chips::-webkit-scrollbar{display:none} }

.m2-hh { margin:0 auto 26px; max-width:860px; background:var(--ember-dark); color:#fff; border-radius:4px;
  padding:16px 20px; text-align:center; }
.m2-hh strong { display:block; font-family:Oswald,sans-serif; text-transform:uppercase; letter-spacing:.08em; font-size:22px; color:#fff; }
.m2-hh p { margin:4px 0 0; font-size:15px; }

.m2-group, .m2-sec { scroll-margin-top: calc(var(--hdr) + 60px); }
.m2-group { padding-top:10px; }
.m2-group > h2 { font-size:clamp(30px,4vw,42px); color:var(--ink); margin:28px 0 4px; display:flex; align-items:center; gap:14px; }
.m2-group > h2::after { content:""; flex:1; height:2px; background:var(--ember); opacity:.5; }
.m2-group > .m2-gnote { margin:0 0 10px; color:var(--m2-mute); font-size:15px; }
.m2-grid { columns:2; column-gap:44px; }
.m2-sec { display:inline-block; width:100%; }
.m2-sec { break-inside:avoid; margin:14px 0 6px; }
.m2-sec h3 { color:var(--ember-dark); font-size:22px; margin:0 0 4px; display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.m2-sec .m2-note { margin:2px 0 6px; font-size:14px; color:var(--m2-mute); font-style:italic; }
.m2-mark { height:46px; width:auto; display:inline-block; }

.m2-list { list-style:none; margin:0; padding:0; }
.m2-item { padding:9px 0; border-bottom:1px dashed var(--m2-rule); }
.m2-row { display:flex; align-items:baseline; gap:8px; }
.m2-name { font-weight:700; color:var(--m2-ink); font-size:17px; }
.m2-lead { flex:1; border-bottom:2px dotted rgba(26,20,16,.28); transform:translateY(-4px); min-width:16px; }
.m2-price { font-family:Oswald,sans-serif; font-weight:600; color:var(--ember-dark); font-size:18px;
  letter-spacing:.03em; font-variant-numeric:tabular-nums; white-space:nowrap; }
.m2-desc { margin:2px 0 0; font-size:15px; color:var(--m2-mute); line-height:1.45; }
.m2-sizes { display:flex; flex-wrap:wrap; gap:6px; margin:6px 0 0; padding:0; list-style:none; }
.m2-sizes li { border:1px solid rgba(154,24,29,.35); border-radius:999px; padding:3px 12px; font-size:15px; color:var(--m2-ink); background:#fff; }
.m2-sizes b { font-family:Oswald,sans-serif; color:var(--ember-dark); font-weight:600; margin-left:6px; }
.m2-addon { display:inline-block; margin-top:4px; font-size:14px; font-weight:600; color:var(--ember-dark); }
.m2-addons { margin:10px 0 0; padding:10px 14px; background:#fff; border-left:3px solid var(--gold); font-size:14px; color:var(--m2-mute); }
.m2-addons strong { color:var(--m2-ink); font-family:Oswald,sans-serif; text-transform:uppercase; letter-spacing:.06em; }
.m2-addons p { margin:4px 0 0; }
.m2-flavors { columns:2; column-gap:24px; margin:8px 0 0; padding:0; list-style:none; }
.m2-flavors li { break-inside:avoid; padding:5px 0; font-size:14px; color:var(--m2-mute); }
.m2-flavors b { display:block; color:var(--m2-ink); font-size:15px; }
.m2-notes { margin:34px auto 10px; max-width:860px; padding:16px 20px; border-top:2px solid var(--ember); font-size:14px; color:var(--m2-mute); }
.m2-notes ul { margin:6px 0 0; padding-left:18px; }

@media (max-width: 860px) {
  .m2 { --hdr: 64px; }
  .m2-grid { columns:1; }
  .m2-flavors { columns:1; }
  .m2-name { font-size:16px; }
}
.m2-hh .m2-hh-note { margin-top:6px; font-weight:600; }
