/* =========================================================
   LA MUSICA MENU 3.3.2
   Front-end visual system copied from La Musica Homepage 2026.
   The page owns the global background; the plugin remains transparent.
   ========================================================= */

.lm-menu{
  --cream:#F0ECE5;
  --orange:#F4A33D;
  --line:rgba(244,163,61,.31);
  --line-soft:rgba(240,236,229,.11);
  --muted:rgba(240,236,229,.80);
  --muted2:rgba(240,236,229,.58);
  --panel:rgba(19,4,8,.34);
  --panel2:rgba(10,2,5,.48);
  --deep:rgba(12,2,5,.82);
  --lm-menu-css-ready:1;

  position:relative;
  width:100%;
  max-width:1180px;
  margin:0 auto;
  padding:0 18px 80px;
  color:var(--cream);
  background:transparent;
  font-family:"Montserrat",Arial,sans-serif;
  box-sizing:border-box;
}

.lm-menu *,
.lm-menu *::before,
.lm-menu *::after{box-sizing:border-box}

.lm-menu img{display:block;max-width:100%}
.lm-menu button,
.lm-menu input{font:inherit}

/* Kill WordPress/theme button styling inside the catalogue. */
.lm-menu .lm-menu-card__open,
.lm-menu .lm-menu-card__open:hover,
.lm-menu .lm-menu-card__open:focus,
.lm-menu .lm-menu-card__open:active{
  appearance:none!important;
  -webkit-appearance:none!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:inherit!important;
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  color:inherit!important;
  box-shadow:none!important;
  filter:none!important;
  text-align:left!important;
  text-transform:none!important;
  letter-spacing:normal!important;
  transform:none!important;
  cursor:pointer!important;
  display:block!important;
}

/* =========================================================
   HEADER
   ========================================================= */
.lm-menu-head__copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}

.lm-menu-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:34px;
  align-items:center;
  padding:31px 33px;
  border:1px solid var(--line);
  border-radius:23px;
  background:linear-gradient(120deg,rgba(18,4,8,.55),rgba(55,12,20,.22));
}

.lm-menu .lm-menu-kicker{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  gap:9px;
  margin:0 0 22px!important;
  color:var(--orange);
  font-size:10px;
  font-weight:800;
  line-height:1.3;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.lm-menu-kicker::before{
  content:"";
  flex:0 0 27px;
  width:27px;
  height:1px;
  background:var(--orange);
}

.lm-menu .lm-menu-title{
  position:relative;
  z-index:1;
  display:block;
  margin:0!important;
  padding:0!important;
  color:var(--cream);
  font-family:"Bebas Neue",Impact,sans-serif!important;
  font-size:clamp(46px,6.2vw,72px);
  font-weight:400!important;
  line-height:1!important;
  letter-spacing:.025em!important;
}

.lm-menu .lm-menu-subtitle{
  max-width:700px;
  margin:13px 0 0!important;
  color:var(--muted);
  font-size:14px;
  line-height:1.68;
}

.lm-menu-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:10px 18px;
  border:1px solid var(--orange);
  border-radius:999px;
  background:transparent!important;
  color:var(--cream)!important;
  text-decoration:none!important;
  font-size:11px;
  font-weight:800;
  line-height:1.25;
  letter-spacing:.065em;
  text-transform:uppercase;
  transition:.2s ease;
}
.lm-menu-cta:hover{
  background:rgba(244,163,61,.10)!important;
  transform:translateY(-1px);
}

/* =========================================================
   SEARCH + FILTERS
   ========================================================= */
.lm-menu-tools{
  position:sticky;
  top:8px;
  z-index:20;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  margin:18px 0 10px;
  padding:8px;
  border:1px solid rgba(244,163,61,.22);
  border-radius:18px;
  background:rgba(14,3,6,.72);
  box-shadow:0 10px 28px rgba(0,0,0,.13);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}

.lm-menu-search{
  min-width:0;
  height:48px;
  display:flex;
  align-items:center;
  gap:11px;
  padding:0 15px;
  border:1px solid rgba(240,236,229,.14);
  border-radius:999px;
  background:rgba(0,0,0,.10);
}
.lm-menu-search:focus-within{border-color:rgba(244,163,61,.58)}
.lm-menu-search svg{width:17px;height:17px;fill:none;stroke:var(--orange);stroke-width:1.7;flex:0 0 auto}
.lm-menu-search input{
  width:100%;
  min-width:0;
  height:auto!important;
  padding:0!important;
  border:0!important;
  outline:0!important;
  background:transparent!important;
  color:var(--cream)!important;
  box-shadow:none!important;
  font-size:14px;
}
.lm-menu-search input::placeholder{color:rgba(240,236,229,.48)}

.lm-menu-filter-toggle{
  appearance:none!important;
  min-width:105px;
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:10px 17px!important;
  border:1px solid var(--orange)!important;
  border-radius:999px!important;
  background:transparent!important;
  color:var(--cream)!important;
  box-shadow:none!important;
  cursor:pointer;
  font-size:10px!important;
  font-weight:800!important;
  line-height:1.25;
  letter-spacing:.07em!important;
  text-transform:uppercase!important;
  transition:.2s ease;
}
.lm-menu-filter-toggle:hover{background:rgba(244,163,61,.10)!important;transform:translateY(-1px)}
.lm-menu-filter-count{
  display:inline-grid;
  place-items:center;
  min-width:19px;
  height:19px;
  padding:0 5px;
  border-radius:999px;
  background:var(--orange)!important;
  color:#2a1009!important;
  font-size:9px;
  font-weight:800;
}

/* =========================================================
   CATEGORY LANDING — first screen is directions, not 132 cards
   ========================================================= */
.lm-menu-category-view{margin:24px 0 8px}
.lm-menu-category-view[hidden]{display:none!important}
.lm-menu-category-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:22px;
  margin-bottom:17px;
}
.lm-menu-category-kicker{
  margin:0 0 7px;
  color:var(--orange);
  font-size:10px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.lm-menu-category-head h2{
  margin:0;
  color:var(--cream);
  font-family:"Bebas Neue",Impact,sans-serif!important;
  font-size:clamp(34px,4.2vw,50px);
  font-weight:400;
  line-height:.95;
  letter-spacing:.025em;
}
.lm-menu-show-all{
  appearance:none!important;
  flex:0 0 auto;
  min-height:42px;
  padding:9px 15px!important;
  border:1px solid rgba(244,163,61,.42)!important;
  border-radius:999px!important;
  background:transparent!important;
  color:var(--cream)!important;
  box-shadow:none!important;
  cursor:pointer;
  font-size:10px!important;
  font-weight:800!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
}
.lm-menu-show-all span{color:var(--orange)}
.lm-menu-show-all:hover{background:rgba(244,163,61,.08)!important}
.lm-menu-category-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.lm-menu-category-card{
  appearance:none!important;
  position:relative;
  min-width:0;
  min-height:178px;
  padding:0!important;
  overflow:hidden;
  border:1px solid rgba(244,163,61,.27)!important;
  border-radius:19px!important;
  background:rgba(15,3,6,.27)!important;
  color:var(--cream)!important;
  box-shadow:none!important;
  cursor:pointer;
  text-align:left!important;
  transition:border-color .2s ease,transform .2s ease,background .2s ease;
}
.lm-menu-category-card:hover{
  border-color:rgba(244,163,61,.58)!important;
  background:rgba(18,4,8,.40)!important;
  transform:translateY(-2px);
}
.lm-menu-category-card__media{position:absolute;inset:0;display:block}
.lm-menu-category-card__media img{width:100%;height:100%;object-fit:cover;opacity:.60;filter:saturate(.82) contrast(1.03)}
.lm-menu-category-card__shade{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(9,2,4,.08) 12%,rgba(9,2,4,.48) 58%,rgba(9,2,4,.92) 100%);
}
.lm-menu-category-card__copy{
  position:absolute;
  z-index:2;
  left:18px;
  right:18px;
  bottom:16px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
}
.lm-menu-category-card__copy strong{
  min-width:0;
  color:var(--cream)!important;
  font-family:"Bebas Neue",Impact,sans-serif!important;
  font-size:31px!important;
  font-weight:400!important;
  line-height:.95!important;
  letter-spacing:.025em!important;
}
.lm-menu-category-card__copy small{
  flex:0 0 auto;
  padding-bottom:2px;
  color:var(--orange)!important;
  font-size:9px!important;
  font-weight:800!important;
  letter-spacing:.08em;
  text-transform:uppercase;
}

/* =========================================================
   CATEGORY PILLS
   ========================================================= */
.lm-menu-cats[hidden],.lm-menu-grid[hidden],.lm-menu-meta[hidden]{display:none!important}
.lm-menu-cats{
  display:flex;
  gap:7px;
  overflow-x:auto;
  scrollbar-width:none;
  margin:0;
  padding:3px 0 12px;
}
.lm-menu-cats::-webkit-scrollbar{display:none}
.lm-menu-cats button{
  appearance:none!important;
  flex:0 0 auto;
  min-height:36px;
  padding:7px 13px!important;
  border:1px solid rgba(240,236,229,.16)!important;
  border-radius:999px!important;
  background:transparent!important;
  color:rgba(240,236,229,.76)!important;
  box-shadow:none!important;
  cursor:pointer;
  white-space:nowrap;
  font-size:10px!important;
  font-weight:700!important;
  line-height:1.2!important;
  letter-spacing:.075em!important;
  text-transform:uppercase!important;
  transition:.2s ease;
}
.lm-menu-cats .lm-menu-cats__home{border-color:rgba(244,163,61,.38)!important;color:var(--orange)!important}
.lm-menu-cats button:hover{border-color:rgba(244,163,61,.45)!important;color:var(--cream)!important;background:rgba(244,163,61,.06)!important}
.lm-menu-cats button.is-active{border-color:var(--orange)!important;color:var(--cream)!important;background:rgba(244,163,61,.10)!important}

.lm-menu-meta{
  display:flex;
  justify-content:space-between;
  align-items:center;
  min-height:34px;
  margin:0 0 12px;
  color:var(--muted2);
  font-size:12px;
}
.lm-menu-meta strong{color:var(--cream);font-weight:700}
.lm-menu-meta button{
  appearance:none!important;
  padding:6px 0!important;
  border:0!important;
  background:transparent!important;
  color:var(--orange)!important;
  box-shadow:none!important;
  cursor:pointer;
  font-size:11px!important;
  font-weight:700!important;
}

/* =========================================================
   MENU CARDS
   ========================================================= */
.lm-menu-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}

.lm-menu-card{
  min-width:0;
  overflow:hidden;
  border:1px solid rgba(244,163,61,.25);
  border-radius:20px;
  background:rgba(15,3,6,.27)!important;
  box-shadow:none;
  transition:border-color .2s ease,background .2s ease,transform .2s ease;
}
.lm-menu-card:hover{
  border-color:rgba(244,163,61,.48);
  background:rgba(18,4,8,.39)!important;
  transform:translateY(-2px);
}
.lm-menu-card[hidden]{display:none!important}

.lm-menu-card__media{
  position:relative;
  display:block;
  aspect-ratio:4/3;
  margin:10px 10px 0;
  overflow:hidden;
  border:1px solid rgba(244,163,61,.20);
  border-radius:16px;
  background:rgba(0,0,0,.16)!important;
}
.lm-menu-card__img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center center;
  transition:transform .35s ease;
}

/* WordPress/Elementor often forces img{height:auto}.
   The menu thumbnail must fill its dedicated media frame. */
.lm-menu .lm-menu-card__media > img.lm-menu-card__img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  min-width:100%!important;
  min-height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  margin:0!important;
}
.lm-menu-card:hover .lm-menu-card__img{transform:scale(1.018)}

.lm-menu-card__body{
  display:block;
  padding:17px 17px 18px;
  background:transparent!important;
  color:var(--cream)!important;
}
.lm-menu-card__top{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:15px;
  align-items:start;
}
.lm-menu-card__name{
  display:block;
  color:var(--cream)!important;
  font-family:"Bebas Neue",Impact,sans-serif!important;
  font-size:28px!important;
  font-weight:400!important;
  line-height:.98!important;
  letter-spacing:.025em!important;
  text-transform:none!important;
}
.lm-menu-card__price{
  display:block;
  color:var(--orange)!important;
  font-family:"Bebas Neue",Impact,sans-serif!important;
  font-size:24px!important;
  font-weight:400!important;
  line-height:1!important;
  white-space:nowrap;
}
.lm-menu-card__portion{
  display:block;
  margin-top:6px;
  color:var(--muted2)!important;
  font-size:11px;
  line-height:1.35;
}
.lm-menu-card__base{
  display:block;
  margin-top:10px;
  color:var(--orange)!important;
  font-size:11px!important;
  font-weight:800!important;
  line-height:1.5!important;
  letter-spacing:.065em;
  text-transform:uppercase;
}
.lm-menu-card__desc{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
  margin-top:8px;
  color:var(--muted)!important;
  font-size:13px!important;
  font-weight:400!important;
  line-height:1.62!important;
  text-transform:none!important;
  letter-spacing:0!important;
}

.lm-menu-card__chips,
.lm-detail-profile{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:13px;
}
.lm-menu-chip{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:4px 8px;
  border:1px solid rgba(240,236,229,.14);
  border-radius:999px;
  background:transparent!important;
  color:rgba(240,236,229,.70)!important;
  font-size:10px;
  font-weight:700;
  line-height:1.2;
  letter-spacing:.065em;
  text-transform:uppercase;
}

/* =========================================================
   EMPTY STATE
   ========================================================= */
.lm-menu-empty{
  margin:24px 0 0;
  padding:34px 22px;
  border:1px solid var(--line);
  border-radius:20px;
  background:rgba(15,3,6,.27);
  text-align:center;
}
.lm-menu-empty strong{
  display:block;
  color:var(--cream);
  font-family:"Bebas Neue",Impact,sans-serif;
  font-size:32px;
  font-weight:400;
  line-height:1;
}
.lm-menu-empty span{display:block;margin:8px 0 18px;color:var(--muted);font-size:13px}
.lm-menu-empty button{
  appearance:none!important;
  min-height:44px;
  padding:9px 16px!important;
  border:1px solid var(--orange)!important;
  border-radius:999px!important;
  background:transparent!important;
  color:var(--cream)!important;
  box-shadow:none!important;
  cursor:pointer;
  font-size:10px!important;
  font-weight:800!important;
  letter-spacing:.065em!important;
  text-transform:uppercase!important;
}

/* =========================================================
   FILTER PANEL — desktop safe zones for header + Alfred
   ========================================================= */
.lm-menu-filter-backdrop{
  position:fixed;
  z-index:69;
  inset:0;
  background:rgba(0,0,0,.64);
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
}
.lm-menu-filter-panel{
  position:fixed;
  z-index:70;
  top:50%;
  left:50%;
  right:auto;
  bottom:auto;
  width:min(700px,calc(100vw - 40px));
  max-height:min(82dvh,760px);
  min-height:0;
  padding:20px;
  transform:translate(-50%,-50%);
  overflow:auto;
  overscroll-behavior:contain;
  border:1px solid rgba(244,163,61,.34);
  border-radius:21px;
  background:rgba(12,2,5,.95);
  color:var(--cream);
  box-shadow:0 24px 80px rgba(0,0,0,.42);
  backdrop-filter:blur(24px);
  -webkit-backdrop-filter:blur(24px);
  scrollbar-width:thin;
  scrollbar-color:rgba(244,163,61,.35) transparent;
}
.lm-menu-filter-panel::-webkit-scrollbar{width:7px}
.lm-menu-filter-panel::-webkit-scrollbar-track{background:transparent}
.lm-menu-filter-panel::-webkit-scrollbar-thumb{background:rgba(244,163,61,.30);border-radius:99px}
.lm-menu-filter-panel__top{
  position:sticky;
  z-index:3;
  top:-20px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin:-20px -20px 0;
  padding:20px 20px 15px;
  border-bottom:1px solid rgba(240,236,229,.10);
  background:linear-gradient(180deg,rgba(12,2,5,.995) 78%,rgba(12,2,5,.92));
}
.lm-menu-filter-panel__top>div{min-width:0}
.lm-menu-filter-panel__top strong{
  display:block;
  color:var(--cream);
  font-family:"Bebas Neue",Impact,sans-serif;
  font-size:33px;
  font-weight:400;
  line-height:1.02;
  letter-spacing:.025em;
}
.lm-menu-filter-eyebrow{
  display:block;
  margin:0 0 11px!important;
  color:var(--orange);
  font-size:9px;
  font-weight:800;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.lm-menu-filter-close{
  appearance:none!important;
  width:38px;
  height:38px;
  flex:0 0 38px;
  padding:0!important;
  border:1px solid rgba(240,236,229,.17)!important;
  border-radius:999px!important;
  background:transparent!important;
  color:var(--cream)!important;
  box-shadow:none!important;
  cursor:pointer;
  font-size:25px!important;
  line-height:1!important;
  transition:.18s ease;
}
.lm-menu-filter-close:hover{border-color:rgba(244,163,61,.55)!important;background:rgba(244,163,61,.08)!important}
.lm-menu-filter-group{border:0;margin:22px 0 0;padding:0}
.lm-menu-filter-group legend{
  margin-bottom:11px;
  color:var(--muted2);
  font-size:11px;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.lm-menu-filter-group>div{display:flex;flex-wrap:wrap;gap:8px}
.lm-menu-filter-group label{cursor:pointer}
.lm-menu-filter-group input{position:absolute;opacity:0;pointer-events:none}
.lm-menu-filter-group label span{
  display:block;
  min-height:40px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:9px 13px;
  border:1px solid rgba(240,236,229,.14);
  border-radius:999px;
  background:transparent;
  color:rgba(240,236,229,.72);
  font-size:12px;
  font-weight:700;
  line-height:1.25;
  transition:.18s ease;
}
.lm-menu-filter-group label:hover span{border-color:rgba(244,163,61,.35);color:var(--cream)}
.lm-menu-filter-group input:focus-visible+span{outline:2px solid var(--orange);outline-offset:2px}
.lm-menu-filter-group input:checked+span{
  border-color:var(--orange);
  background:rgba(244,163,61,.11);
  color:var(--cream);
}
.lm-menu-filter-actions{
  position:sticky;
  z-index:4;
  bottom:-20px;
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:8px;
  margin:23px -20px -20px;
  padding:12px 20px 15px;
  border-top:1px solid rgba(240,236,229,.09);
  background:rgba(12,2,5,.985);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.lm-menu-filter-actions button{
  appearance:none!important;
  min-height:44px;
  padding:9px 13px!important;
  border:1px solid rgba(240,236,229,.20)!important;
  border-radius:999px!important;
  background:transparent!important;
  color:var(--cream)!important;
  box-shadow:none!important;
  cursor:pointer;
  font-size:9px!important;
  font-weight:800!important;
  letter-spacing:.065em!important;
  text-transform:uppercase!important;
}
.lm-menu-filter-actions .lm-menu-filter-done{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border-color:var(--orange)!important;
  background:rgba(244,163,61,.10)!important;
}
.lm-menu-filter-actions .lm-menu-filter-done b{
  display:inline-grid;
  min-width:21px;
  height:21px;
  place-items:center;
  padding:0 5px;
  border-radius:999px;
  background:var(--orange);
  color:#2a1009;
  font-size:9px;
  line-height:1;
}

/* Alfred lives permanently in the lower-right corner. While a centred
   overlay is open, hide only the widget; it returns immediately on close. */
html.lm-menu-filter-open #lmb-widget,
html.lm-menu-modal-open #lmb-widget{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

/* =========================================================
   DETAIL DIALOG
   ========================================================= */
html.lm-menu-filter-open,
html.lm-menu-modal-open{overflow:hidden}
.lm-menu-details{position:fixed;inset:0;z-index:90;display:none}
.lm-menu-details.is-open{display:block}
.lm-menu-details__backdrop{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0!important;
  border-radius:0!important;
  background:rgba(0,0,0,.70)!important;
  box-shadow:none!important;
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  cursor:pointer;
}
.lm-menu-details__panel{
  position:absolute;
  top:50%;
  left:50%;
  right:auto;
  bottom:auto;
  width:min(760px,calc(100vw - 40px));
  max-height:min(88dvh,900px);
  overflow:auto;
  transform:translate(-50%,-50%);
  border:1px solid rgba(244,163,61,.40);
  border-radius:23px;
  background:rgba(12,2,5,.96);
  color:var(--cream);
  box-shadow:0 24px 80px rgba(0,0,0,.48);
}
.lm-menu-details__close{
  appearance:none!important;
  position:sticky;
  z-index:4;
  top:12px;
  float:right;
  width:42px;
  height:42px;
  margin:12px 12px 0 0!important;
  padding:0!important;
  border:1px solid rgba(240,236,229,.20)!important;
  border-radius:999px!important;
  background:rgba(12,2,5,.70)!important;
  color:var(--cream)!important;
  box-shadow:none!important;
  cursor:pointer;
  font-size:28px!important;
  line-height:1!important;
}
.lm-detail-hero{
  width:calc(100% - 20px);
  aspect-ratio:4/3;
  margin:10px auto;
  overflow:hidden;
  border:1px solid rgba(244,163,61,.22);
  border-radius:16px;
  background:rgba(0,0,0,.18);
}
.lm-detail-hero img{width:100%;height:100%;object-fit:cover;display:block}
.lm-detail-copy{padding:20px clamp(20px,4vw,36px) 38px}
.lm-detail-cat,
.lm-detail-label{
  margin:0 0 9px;
  color:var(--orange);
  font-size:10px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.lm-detail-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}
.lm-detail-title-row h2{
  margin:0;
  color:var(--cream);
  font-family:"Bebas Neue",Impact,sans-serif!important;
  font-size:clamp(40px,5vw,58px);
  font-weight:400;
  line-height:.94;
  letter-spacing:.025em;
}
.lm-detail-title-row>strong{
  color:var(--orange);
  font-family:"Bebas Neue",Impact,sans-serif;
  font-size:30px;
  font-weight:400;
  line-height:1;
  white-space:nowrap;
}
.lm-detail-base{margin:14px 0 0;color:var(--muted);font-size:13px;line-height:1.5}
.lm-detail-base strong{color:var(--cream)}
.lm-detail-desc{margin:19px 0 0;color:rgba(240,236,229,.88);font-size:15px;line-height:1.68}
.lm-detail-ing,
.lm-detail-allergens{margin:14px 0 0;color:var(--muted);font-size:13px;line-height:1.6}
.lm-detail-ing span{color:var(--orange);font-weight:800}
.lm-detail-profile{margin-top:18px}
.lm-detail-similar{margin-top:28px;padding-top:20px;border-top:1px solid rgba(244,163,61,.16)}
.lm-detail-similar>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.lm-detail-similar button{
  appearance:none!important;
  min-width:0;
  padding:12px!important;
  border:1px solid rgba(240,236,229,.14)!important;
  border-radius:14px!important;
  background:transparent!important;
  color:var(--cream)!important;
  box-shadow:none!important;
  text-align:left!important;
  cursor:pointer;
}
.lm-detail-similar button:hover{border-color:rgba(244,163,61,.42)!important;background:rgba(244,163,61,.06)!important}
.lm-detail-similar button span{display:block;color:var(--cream)!important;font-family:"Montserrat",Arial,sans-serif!important;font-size:12px!important;font-weight:700!important;line-height:1.35!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:1!important;visibility:visible!important}
.lm-detail-similar button small{display:block;margin-top:5px;color:var(--orange)!important;font-size:10px!important;opacity:1!important;visibility:visible!important}

.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* =========================================================
   TABLET
   ========================================================= */
@media(max-width:980px){
  .lm-menu-head{grid-template-columns:1fr;gap:20px;align-items:start}
  .lm-menu-cta{justify-self:start}
  .lm-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lm-menu-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lm-menu-details__panel{width:min(720px,calc(100vw - 30px));max-height:90dvh}
}

/* =========================================================
   MOBILE — follows homepage spacing/readability
   ========================================================= */
@media(max-width:640px){
  .lm-menu{padding:0 13px 55px}

  .lm-menu-head{
    padding:20px 17px 21px;
    gap:18px;
    border-radius:18px;
  }
  .lm-menu .lm-menu-kicker{margin-bottom:16px!important;font-size:10px;letter-spacing:.13em}
  .lm-menu .lm-menu-title{font-size:47px;line-height:.98!important}
  .lm-menu .lm-menu-subtitle{margin-top:11px!important;font-size:14px;line-height:1.68}
  .lm-menu-cta{display:none}

  .lm-menu-tools{
    top:5px;
    gap:6px;
    margin:10px 0 6px;
    padding:5px;
    border-radius:16px;
  }
  .lm-menu-search{height:46px;padding:0 12px}
  .lm-menu-search input{font-size:13px}
  .lm-menu-filter-toggle{min-width:82px;min-height:46px;padding:0 12px!important;font-size:9px!important}

  .lm-menu-category-head{align-items:flex-start;gap:14px;margin-bottom:13px}
  .lm-menu-category-head h2{font-size:37px}
  .lm-menu-show-all{min-height:38px;padding:8px 11px!important;font-size:8px!important}
  .lm-menu-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .lm-menu-category-card{min-height:132px;border-radius:15px!important}
  .lm-menu-category-card__copy{left:12px;right:12px;bottom:11px;display:block}
  .lm-menu-category-card__copy strong{font-size:23px!important}
  .lm-menu-category-card__copy small{display:block;margin-top:5px;font-size:8px!important}

  .lm-menu-cats{gap:6px;padding-bottom:9px}
  .lm-menu-cats button{min-height:34px;padding:7px 10px!important;font-size:9px!important}
  .lm-menu-meta{margin-bottom:8px}

  .lm-menu-grid{display:block}
  .lm-menu-card{margin-bottom:8px;border-radius:17px}
  .lm-menu-card:hover{transform:none}
  .lm-menu .lm-menu-card__open,
  .lm-menu .lm-menu-card__open:hover,
  .lm-menu .lm-menu-card__open:focus{display:grid!important;grid-template-columns:112px minmax(0,1fr)!important}
  .lm-menu-card__media{
    height:100%;
    min-height:122px;
    margin:7px 0 7px 7px;
    aspect-ratio:auto;
    border-radius:13px;
  }
  .lm-menu-card__body{
    align-self:stretch;
    min-height:100%;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:15px 14px;
  }
  .lm-menu-card__top{gap:10px;align-items:center}
  .lm-menu-card__name{font-size:24px!important;line-height:1.02!important}
  .lm-menu-card__price{font-size:21px!important}
  .lm-menu-card__portion{margin-top:5px;font-size:11px}
  .lm-menu-card__base{margin-top:7px;font-size:11px!important;line-height:1.45!important}
  .lm-menu-card__desc{-webkit-line-clamp:3;margin-top:7px;font-size:14px!important;line-height:1.5!important}
  .lm-menu-card__chips{margin-top:10px;gap:5px}
  .lm-menu-chip{min-height:24px;padding:4px 8px;font-size:9.5px}

  .lm-menu-filter-backdrop{inset:0}
  .lm-menu-filter-panel{
    top:50%;
    left:50%;
    right:auto;
    bottom:auto;
    width:calc(100vw - 22px);
    max-height:calc(100dvh - 24px);
    height:auto;
    padding:18px;
    border-width:1px;
    border-radius:20px;
    transform:translate(-50%,-50%);
  }
  .lm-menu-filter-panel::before{display:none}
  .lm-menu-filter-panel__top{top:-18px;margin:-18px -18px 0;padding:22px 18px 17px}
  .lm-menu-filter-eyebrow{margin:0 0 10px!important;font-size:11px;line-height:1.2}
  .lm-menu-filter-panel__top strong{font-size:34px;line-height:1.02}
  .lm-menu-filter-group{margin-top:24px}
  .lm-menu-filter-group legend{margin-bottom:12px;font-size:12px;line-height:1.25}
  .lm-menu-filter-group>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .lm-menu-filter-group label{min-width:0}
  .lm-menu-filter-group label span{min-height:46px;width:100%;padding:10px 9px;font-size:13px;line-height:1.25;text-align:center}
  .lm-menu-filter-actions{bottom:-18px;margin-left:-18px;margin-right:-18px;margin-bottom:-18px;padding-left:18px;padding-right:18px;gap:10px}
  .lm-menu-filter-actions button{min-height:50px;font-size:11px!important}

  .lm-menu-details__panel{
    top:50%;
    left:50%;
    right:auto;
    bottom:auto;
    width:calc(100vw - 12px);
    max-height:calc(100dvh - 16px);
    height:auto;
    border-width:1px;
    border-radius:18px;
    transform:translate(-50%,-50%);
  }
  .lm-menu-details__panel::before{display:none}
  .lm-menu-details__close{position:absolute;top:10px;right:10px;float:none;margin:0!important;background:rgba(12,2,5,.82)!important}
  .lm-detail-hero{
    width:100%;
    aspect-ratio:4/3;
    margin:0 auto;
    border-width:0 0 1px;
    border-radius:17px 17px 0 0;
  }
  .lm-detail-hero img{object-position:center center}
  .lm-detail-copy{padding:22px 18px 30px}
  .lm-detail-title-row h2{font-size:40px}
  .lm-detail-title-row>strong{font-size:25px}
  .lm-detail-desc{font-size:14px;line-height:1.65}
  .lm-detail-similar>div{grid-template-columns:1fr}
  .lm-detail-similar button{display:flex;justify-content:space-between;align-items:center}
  .lm-detail-similar button small{margin:0}
}

@media(prefers-reduced-motion:reduce){
  .lm-menu *{scroll-behavior:auto!important;transition:none!important}
}

/* =========================================================
   3.0.7 — MEMBER CARD PROMO IN MENU HERO
   ========================================================= */
.lm-menu-head__aside{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  justify-content:center;
  gap:10px;
  width:min(330px,32vw);
}

.lm-menu-member{
  display:block;
  padding:18px 19px 17px;
  border:1px solid rgba(244,163,61,.38);
  border-radius:18px;
  background:linear-gradient(135deg,rgba(244,163,61,.09),rgba(12,2,5,.18));
  color:var(--cream)!important;
  text-decoration:none!important;
  transition:transform .2s ease,border-color .2s ease,background .2s ease;
}
.lm-menu-member:hover{
  transform:translateY(-2px);
  border-color:rgba(244,163,61,.70);
  background:linear-gradient(135deg,rgba(244,163,61,.14),rgba(12,2,5,.22));
}
.lm-menu-member__eyebrow{
  display:block;
  margin-bottom:8px;
  color:var(--orange);
  font-size:9px;
  font-weight:800;
  line-height:1.25;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.lm-menu-member strong{
  display:block;
  color:var(--cream)!important;
  font-family:"Montserrat",Arial,sans-serif!important;
  font-size:14px;
  font-weight:700!important;
  line-height:1.45;
}
.lm-menu-member strong b{
  color:var(--orange);
  font-family:"Bebas Neue",Impact,sans-serif!important;
  font-size:27px;
  font-weight:400!important;
  line-height:.9;
  letter-spacing:.02em;
  vertical-align:-2px;
}
.lm-menu-member__cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:12px;
  padding-top:11px;
  border-top:1px solid rgba(240,236,229,.10);
  color:rgba(240,236,229,.78);
  font-size:10px;
  font-weight:800;
  line-height:1.25;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.lm-menu-member__cta span{
  color:var(--orange);
  font-size:15px;
  line-height:1;
}

@media(max-width:980px){
  .lm-menu-head__aside{width:100%;max-width:440px}
}

@media(max-width:640px){
  .lm-menu-head__aside{width:100%;max-width:none;gap:8px}
  .lm-menu-member{
    padding:14px 15px 13px;
    border-radius:15px;
  }
  .lm-menu-member__eyebrow{margin-bottom:6px;font-size:9px}
  .lm-menu-member strong{font-size:13px;line-height:1.42}
  .lm-menu-member strong b{font-size:24px}
  .lm-menu-member__cta{margin-top:9px;padding-top:9px;font-size:9px}
}

/* =========================================================
   ALCOHOL LIBRARY — v3.1.0
   Nested section: Alcohols -> XLSX categories -> products.
   ========================================================= */
.lm-menu-tools[hidden],
.lm-menu-alcohol-view[hidden],
.lm-menu-alcohol-list-view[hidden],
.lm-menu-alcohol-panel[hidden],
.lm-menu-alcohol-item[hidden],
.lm-menu-alcohol-empty[hidden]{display:none!important}

.lm-menu-category-card--alcohol{
  background:
    radial-gradient(circle at 78% 22%,rgba(244,163,61,.17),transparent 34%),
    linear-gradient(135deg,rgba(40,7,13,.86),rgba(9,2,4,.92))!important;
}
.lm-menu-category-card__media--alcohol{
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.lm-menu-category-card__media--alcohol::before,
.lm-menu-category-card__media--alcohol::after{
  content:"";
  position:absolute;
  border:1px solid rgba(244,163,61,.11);
  border-radius:50%;
}
.lm-menu-category-card__media--alcohol::before{width:220px;height:220px;right:-66px;top:-88px}
.lm-menu-category-card__media--alcohol::after{width:150px;height:150px;left:-54px;bottom:-72px}
.lm-menu-alcohol-art{
  position:absolute;
  top:22px;
  right:22px;
  z-index:1;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  color:rgba(240,236,229,.10);
  font-family:"Bebas Neue",Impact,sans-serif;
  line-height:.72;
  transform:rotate(-3deg);
}
.lm-menu-alcohol-art b{font-size:68px;font-weight:400;letter-spacing:.03em}
.lm-menu-alcohol-art em{font-style:normal;font-size:30px;letter-spacing:.10em}

.lm-menu-alcohol-view,
.lm-menu-alcohol-list-view{margin:25px 0 8px}

.lm-menu-alcohol-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:25px;
  margin-bottom:20px;
  padding:25px 27px;
  border:1px solid rgba(244,163,61,.27);
  border-radius:20px;
  background:linear-gradient(120deg,rgba(18,4,8,.47),rgba(45,10,17,.22));
}
.lm-menu-alcohol-head h2,
.lm-menu-alcohol-list-head h2{
  margin:4px 0 0!important;
  color:var(--cream)!important;
  font-family:"Bebas Neue",Impact,sans-serif!important;
  font-size:clamp(40px,5vw,58px)!important;
  font-weight:400!important;
  line-height:.95!important;
  letter-spacing:.025em!important;
}
.lm-menu-alcohol-head p:not(.lm-menu-category-kicker){
  max-width:690px;
  margin:12px 0 0!important;
  color:var(--muted)!important;
  font-size:14px!important;
  line-height:1.65!important;
}
.lm-menu-alcohol-stat{
  flex:0 0 auto;
  min-width:110px;
  text-align:right;
}
.lm-menu-alcohol-stat strong{
  display:block;
  color:var(--orange);
  font-family:"Bebas Neue",Impact,sans-serif;
  font-size:45px;
  font-weight:400;
  line-height:.85;
}
.lm-menu-alcohol-stat span{
  display:block;
  margin-top:7px;
  color:var(--muted2);
  font-size:9px;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.lm-menu-back{
  appearance:none!important;
  display:inline-flex!important;
  align-items:center!important;
  min-height:36px!important;
  margin:0 0 15px!important;
  padding:7px 13px!important;
  border:1px solid rgba(244,163,61,.36)!important;
  border-radius:999px!important;
  background:transparent!important;
  color:var(--orange)!important;
  box-shadow:none!important;
  cursor:pointer!important;
  font-size:10px!important;
  font-weight:800!important;
  letter-spacing:.075em!important;
  line-height:1.2!important;
  text-transform:uppercase!important;
}
.lm-menu-back:hover{background:rgba(244,163,61,.08)!important}

.lm-menu-alcohol-category-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.lm-menu-alcohol-category{
  appearance:none!important;
  min-height:112px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-end!important;
  gap:7px!important;
  padding:17px 18px!important;
  border:1px solid rgba(244,163,61,.24)!important;
  border-radius:17px!important;
  background:rgba(15,3,6,.31)!important;
  color:var(--cream)!important;
  box-shadow:none!important;
  text-align:left!important;
  cursor:pointer!important;
  transition:.2s ease!important;
}
.lm-menu-alcohol-category:hover{
  border-color:rgba(244,163,61,.52)!important;
  background:rgba(25,5,10,.43)!important;
  transform:translateY(-1px);
}
.lm-menu-alcohol-category span{
  color:var(--cream)!important;
  font-family:"Bebas Neue",Impact,sans-serif!important;
  font-size:25px!important;
  font-weight:400!important;
  line-height:.98!important;
  letter-spacing:.025em!important;
}
.lm-menu-alcohol-category small{
  color:var(--orange)!important;
  font-size:9px!important;
  font-weight:800!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}

.lm-menu-alcohol-list-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:14px;
}
.lm-menu-alcohol-search{
  display:flex;
  align-items:center;
  gap:11px;
  width:100%;
  height:48px;
  margin-bottom:14px;
  padding:0 16px;
  border:1px solid rgba(240,236,229,.14);
  border-radius:999px;
  background:rgba(14,3,6,.55);
}
.lm-menu-alcohol-search:focus-within{border-color:rgba(244,163,61,.58)}
.lm-menu-alcohol-search svg{width:17px;height:17px;fill:none;stroke:var(--orange);stroke-width:1.7;flex:0 0 auto}
.lm-menu-alcohol-search input{
  width:100%;
  min-width:0;
  padding:0!important;
  border:0!important;
  outline:0!important;
  background:transparent!important;
  color:var(--cream)!important;
  box-shadow:none!important;
  font-size:14px!important;
}
.lm-menu-alcohol-search input::placeholder{color:rgba(240,236,229,.48)}

.lm-menu-alcohol-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.lm-menu-alcohol-item{
  min-width:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  min-height:74px;
  padding:14px 16px;
  border:1px solid rgba(244,163,61,.20);
  border-radius:15px;
  background:rgba(15,3,6,.28);
}
.lm-menu-alcohol-item__name{
  min-width:0;
  color:var(--cream)!important;
  font-size:14px!important;
  font-weight:700!important;
  line-height:1.35!important;
}
.lm-menu-alcohol-item__price{
  flex:0 0 auto;
  text-align:right;
}
.lm-menu-alcohol-item__price small{
  display:block;
  margin-bottom:4px;
  color:var(--muted2)!important;
  font-size:8px!important;
  font-weight:800!important;
  letter-spacing:.08em!important;
  line-height:1.2!important;
  text-transform:uppercase!important;
}
.lm-menu-alcohol-item__price strong{
  display:block;
  color:var(--orange)!important;
  font-family:"Bebas Neue",Impact,sans-serif!important;
  font-size:24px!important;
  font-weight:400!important;
  line-height:1!important;
  white-space:nowrap;
}
.lm-menu-alcohol-empty{
  padding:24px;
  border:1px dashed rgba(244,163,61,.25);
  border-radius:15px;
  color:var(--muted);
  text-align:center;
  font-size:13px;
}

@media(max-width:900px){
  .lm-menu-alcohol-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:620px){
  .lm-menu-alcohol-view,
  .lm-menu-alcohol-list-view{margin-top:18px}
  .lm-menu-alcohol-head{
    align-items:flex-start;
    padding:19px 17px;
    border-radius:17px;
  }
  .lm-menu-alcohol-head h2,
  .lm-menu-alcohol-list-head h2{font-size:41px!important}
  .lm-menu-alcohol-head p:not(.lm-menu-category-kicker){font-size:14px!important;line-height:1.6!important}
  .lm-menu-alcohol-stat{min-width:62px}
  .lm-menu-alcohol-stat strong{font-size:38px}
  .lm-menu-alcohol-stat span{font-size:8px}
  .lm-menu-alcohol-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .lm-menu-alcohol-category{min-height:94px!important;padding:14px!important;border-radius:15px!important}
  .lm-menu-alcohol-category span{font-size:22px!important}
  .lm-menu-alcohol-category small{font-size:8px!important}
  .lm-menu-alcohol-list{grid-template-columns:1fr;gap:7px}
  .lm-menu-alcohol-item{min-height:72px;padding:13px 14px;border-radius:14px;gap:12px}
  .lm-menu-alcohol-item__name{font-size:15px!important;line-height:1.4!important}
  .lm-menu-alcohol-item__price small{font-size:8px!important}
  .lm-menu-alcohol-item__price strong{font-size:23px!important}
  .lm-menu-alcohol-search{height:50px;margin-bottom:12px}
  .lm-menu-alcohol-search input{font-size:15px!important}
  .lm-menu-alcohol-art{top:17px;right:15px}
  .lm-menu-alcohol-art b{font-size:52px}
  .lm-menu-alcohol-art em{font-size:23px}
}

/* =========================================================
   3.2.0 — ALCOHOL PROFILES + FILTERS
   ========================================================= */
[data-lm-alcohol-search-wrap][hidden]{display:none!important}

/* Long category names must stay inside the tile on every viewport. */
.lm-menu .lm-menu-alcohol-category{
  min-width:0!important;
  overflow:hidden!important;
}
.lm-menu .lm-menu-alcohol-category span{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  hyphens:auto;
}

/* Alcohol rows are now accessible buttons opening the same centred detail UI. */
/* Critical: the theme/button rule below has higher specificity than the generic [hidden] rule.
   Keep filtered alcohol rows truly hidden inside category views. */
.lm-menu button.lm-menu-alcohol-item[hidden]{display:none!important}

.lm-menu button.lm-menu-alcohol-item{
  appearance:none!important;
  width:100%!important;
  min-width:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:18px!important;
  align-items:center!important;
  min-height:82px!important;
  padding:14px 16px!important;
  border:1px solid rgba(244,163,61,.20)!important;
  border-radius:15px!important;
  background:rgba(15,3,6,.28)!important;
  color:var(--cream)!important;
  box-shadow:none!important;
  text-align:left!important;
  cursor:pointer!important;
  transition:.18s ease!important;
}
.lm-menu button.lm-menu-alcohol-item:hover,
.lm-menu button.lm-menu-alcohol-item:focus-visible{
  border-color:rgba(244,163,61,.50)!important;
  background:rgba(25,5,10,.40)!important;
  transform:translateY(-1px);
  outline:none!important;
}
.lm-menu-alcohol-item__main{display:block;min-width:0}
.lm-menu-alcohol-item__main>small{
  display:block;
  max-width:100%;
  margin-top:5px;
  color:rgba(240,236,229,.57)!important;
  font-size:10px!important;
  font-weight:600!important;
  line-height:1.4!important;
  white-space:normal;
}

/* Alcohol detail card. */
.lm-detail-copy--alcohol{padding-top:34px}
.lm-detail-portion{
  margin:7px 0 0!important;
  color:rgba(240,236,229,.48)!important;
  font-size:10px!important;
  font-weight:800!important;
  letter-spacing:.09em!important;
  text-transform:uppercase!important;
}
.lm-alcohol-facts{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin-top:22px;
}
.lm-alcohol-facts>div{
  min-width:0;
  padding:13px 14px;
  border:1px solid rgba(240,236,229,.11);
  border-radius:14px;
  background:rgba(240,236,229,.025);
}
.lm-alcohol-facts span{
  display:block;
  margin-bottom:5px;
  color:rgba(240,236,229,.47)!important;
  font-size:8px!important;
  font-weight:800!important;
  letter-spacing:.10em!important;
  text-transform:uppercase!important;
}
.lm-alcohol-facts strong{
  display:block;
  color:var(--cream)!important;
  font-size:12px!important;
  font-weight:700!important;
  line-height:1.4!important;
  overflow-wrap:anywhere;
}
.lm-detail-taste{margin-top:22px;padding-top:18px;border-top:1px solid rgba(244,163,61,.14)}
.lm-detail-taste .lm-detail-profile{margin-top:10px}
.lm-detail-source{
  display:inline-flex;
  align-items:center;
  gap:12px;
  min-height:42px;
  margin-top:24px;
  padding:9px 14px;
  border:1px solid rgba(244,163,61,.35);
  border-radius:999px;
  color:var(--cream)!important;
  text-decoration:none!important;
  font-size:10px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.lm-detail-source span{color:var(--orange);font-size:15px}
.lm-detail-source:hover{background:rgba(244,163,61,.08)}

/* Make the "strong spirits" filter visually obvious without changing the
   established La Musica pill language. */
.lm-menu-filter-group[data-filter-group="kind"]{
  margin-top:18px;
  padding-bottom:18px;
  border-bottom:1px solid rgba(244,163,61,.13);
}
.lm-menu-filter-group[data-filter-group="kind"]>div{display:grid;grid-template-columns:1fr}
.lm-menu-filter-group[data-filter-group="kind"] label span{
  min-height:46px;
  border-color:rgba(244,163,61,.34);
  color:var(--cream);
  font-size:12px;
}

/* =========================================================
   3.3.1 — LONG ALCOHOL NAMES / MOBILE SAFETY
   ========================================================= */
/* WordPress/Elementor themes often force button text to nowrap. Keep the
   product name inside its own grid column and reserve a stable price rail. */
.lm-menu button.lm-menu-alcohol-item{
  white-space:normal!important;
  overflow:hidden!important;
}
.lm-menu .lm-menu-alcohol-item__main{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
}
.lm-menu .lm-menu-alcohol-item__name{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
  hyphens:auto;
}
.lm-menu .lm-menu-alcohol-item__price{
  min-width:86px!important;
  max-width:96px!important;
  justify-self:end!important;
  align-self:center!important;
  white-space:nowrap!important;
}

@media(max-width:620px){
  .lm-menu .lm-menu-alcohol-category span{
    font-size:clamp(17px,4.9vw,22px)!important;
    line-height:1.05!important;
    letter-spacing:.015em!important;
  }
  .lm-menu .lm-menu-alcohol-category small{line-height:1.25!important}
  .lm-menu button.lm-menu-alcohol-item{
    min-height:88px!important;
    padding:14px 13px!important;
    gap:9px!important;
    grid-template-columns:minmax(0,1fr) 82px!important;
  }
  .lm-menu .lm-menu-alcohol-item__name{
    font-size:clamp(14px,4.1vw,16px)!important;
    line-height:1.25!important;
    letter-spacing:.015em!important;
  }
  .lm-menu .lm-menu-alcohol-item__price{
    min-width:0!important;
    max-width:82px!important;
    width:82px!important;
  }
  .lm-menu .lm-menu-alcohol-item__price small{
    font-size:7px!important;
    line-height:1.15!important;
    letter-spacing:.055em!important;
  }
  .lm-menu .lm-menu-alcohol-item__price strong{font-size:22px!important}
  .lm-menu-alcohol-item__main>small{font-size:10px!important;line-height:1.35!important}
  .lm-detail-copy--alcohol{padding:28px 18px 30px}
  .lm-alcohol-facts{grid-template-columns:1fr 1fr;gap:7px;margin-top:19px}
  .lm-alcohol-facts>div{padding:11px 12px;border-radius:12px}
  .lm-alcohol-facts strong{font-size:12px!important}
}

/* =========================================================
   PARTNER PORTFOLIO / CURATED RECOMMENDATIONS
   ========================================================= */
.lm-menu-recommend{
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  margin-top:7px;
  padding:5px 9px;
  border:1px solid rgba(244,163,61,.30);
  border-radius:999px;
  background:rgba(244,163,61,.075);
  color:var(--orange)!important;
  font-family:"Montserrat",Arial,sans-serif!important;
  font-size:9px!important;
  font-weight:800!important;
  line-height:1.15!important;
  letter-spacing:.085em;
  text-transform:uppercase;
}
.lm-menu-alcohol-item .lm-menu-recommend{margin-top:6px}
.lm-menu-recommend--detail{margin:0 0 11px}
@media(max-width:620px){
  .lm-menu-recommend{font-size:9px!important;padding:5px 8px}
}


/* =========================================================
   3.3.2 — REGULAR MENU CARD TEXT / MOBILE OVERFLOW SAFETY
   ========================================================= */
/* Some WordPress/Elementor themes apply white-space:nowrap to buttons.
   The whole public card is a button, so that inherited rule prevented long
   product names and descriptions from wrapping and pushed them into the
   price rail / outside the card. Keep every text block constrained to the
   content column and allow natural wrapping. */
.lm-menu .lm-menu-card__open,
.lm-menu .lm-menu-card__open:hover,
.lm-menu .lm-menu-card__open:focus,
.lm-menu .lm-menu-card__open:active{
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
  white-space:normal!important;
}
.lm-menu .lm-menu-card__body{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
}
.lm-menu .lm-menu-card__top{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
}
.lm-menu .lm-menu-card__name{
  min-width:0!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  hyphens:auto;
}
.lm-menu .lm-menu-card__price{
  min-width:max-content!important;
  max-width:100%!important;
  justify-self:end!important;
  align-self:start!important;
  white-space:nowrap!important;
}
.lm-menu .lm-menu-card__portion,
.lm-menu .lm-menu-card__base,
.lm-menu .lm-menu-card__desc{
  min-width:0!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}

@media(max-width:640px){
  .lm-menu .lm-menu-card__open,
  .lm-menu .lm-menu-card__open:hover,
  .lm-menu .lm-menu-card__open:focus{
    grid-template-columns:112px minmax(0,1fr)!important;
    align-items:stretch!important;
  }
  .lm-menu .lm-menu-card__body{
    padding:14px 12px 14px 13px!important;
    justify-content:flex-start!important;
  }
  .lm-menu .lm-menu-card__top{
    grid-template-columns:minmax(0,1fr) 58px!important;
    gap:7px!important;
    align-items:start!important;
  }
  .lm-menu .lm-menu-card__name{
    font-size:clamp(20px,5.8vw,24px)!important;
    line-height:1.03!important;
    letter-spacing:.018em!important;
  }
  .lm-menu .lm-menu-card__price{
    width:58px!important;
    min-width:58px!important;
    max-width:58px!important;
    font-size:clamp(18px,5.2vw,21px)!important;
    line-height:1.02!important;
    text-align:right!important;
  }
  .lm-menu .lm-menu-card__desc{
    -webkit-line-clamp:3!important;
    font-size:13px!important;
    line-height:1.45!important;
  }
}

@media(max-width:390px){
  .lm-menu .lm-menu-card__open,
  .lm-menu .lm-menu-card__open:hover,
  .lm-menu .lm-menu-card__open:focus{
    grid-template-columns:98px minmax(0,1fr)!important;
  }
  .lm-menu .lm-menu-card__top{
    grid-template-columns:minmax(0,1fr) 52px!important;
  }
  .lm-menu .lm-menu-card__price{
    width:52px!important;
    min-width:52px!important;
    max-width:52px!important;
  }
  .lm-menu .lm-menu-card__name{font-size:20px!important}
  .lm-menu .lm-menu-card__price{font-size:18px!important}
}

/* =========================================================
   3.4.4 — MONTHLY RECOMMENDATIONS / FULL PRODUCT TILES
   Three real product cards: full image + full name + price.
   Theme/Elementor button styles are force-reset here.
   ========================================================= */

/* Give three product cards enough room on desktop. */
.lm-menu .lm-menu-head__aside{
  width:min(540px,44vw);
  max-width:540px;
}

.lm-menu .lm-menu-monthly{
  width:100%;
  padding:14px;
  border:1px solid rgba(244,163,61,.38);
  border-radius:18px;
  background:rgba(12,2,5,.20);
}

.lm-menu .lm-menu-monthly__head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  margin:0 0 12px;
  padding:0 1px 10px;
  border-bottom:1px solid rgba(240,236,229,.11);
}

.lm-menu .lm-menu-monthly__head span{
  color:var(--orange);
  font-size:10px;
  font-weight:800;
  line-height:1.25;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.lm-menu .lm-menu-monthly__head small{
  color:rgba(240,236,229,.58);
  font-size:8px;
  font-weight:700;
  line-height:1.2;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
}

.lm-menu .lm-menu-monthly__list{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}

/* Full reset: WordPress/Elementor must not paint these buttons orange. */
.lm-menu button.lm-menu-monthly__item,
.lm-menu button.lm-menu-monthly__item:hover,
.lm-menu button.lm-menu-monthly__item:focus,
.lm-menu button.lm-menu-monthly__item:focus-visible,
.lm-menu button.lm-menu-monthly__item:active{
  appearance:none!important;
  -webkit-appearance:none!important;
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  width:100%!important;
  min-width:0!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid rgba(240,236,229,.14)!important;
  border-radius:14px!important;
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  filter:none!important;
  color:var(--cream)!important;
  text-align:left!important;
  text-transform:none!important;
  letter-spacing:normal!important;
  font:inherit!important;
  cursor:pointer!important;
  opacity:1!important;
  transition:transform .18s ease,border-color .18s ease!important;
}

.lm-menu button.lm-menu-monthly__item:hover,
.lm-menu button.lm-menu-monthly__item:focus-visible{
  transform:translateY(-2px)!important;
  border-color:rgba(244,163,61,.64)!important;
  outline:none!important;
}

.lm-menu .lm-menu-monthly__media{
  position:relative;
  display:block!important;
  width:100%!important;
  aspect-ratio:4/3;
  overflow:hidden;
  background:rgba(0,0,0,.20);
  border:0!important;
}

.lm-menu .lm-menu-monthly__media .lm-menu-card__img{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  object-fit:cover!important;
  object-position:center!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  opacity:1!important;
  transform:none!important;
  transition:transform .24s ease!important;
}

.lm-menu button.lm-menu-monthly__item:hover .lm-menu-monthly__media .lm-menu-card__img{
  transform:scale(1.025)!important;
}

/* No artificial orange/black overlay on the product image. */
.lm-menu .lm-menu-monthly__shade{
  display:none!important;
}

.lm-menu .lm-menu-monthly__body{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  grid-template-areas:"name price"!important;
  align-items:end!important;
  gap:8px!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:11px 10px 12px!important;
  background:transparent!important;
}

.lm-menu .lm-menu-monthly__body strong{
  grid-area:name;
  display:block!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  color:var(--cream)!important;
  font-family:"Bebas Neue",Impact,sans-serif!important;
  font-size:17px!important;
  font-weight:400!important;
  line-height:1.05!important;
  letter-spacing:.015em!important;
  text-transform:uppercase!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:anywhere!important;
  -webkit-line-clamp:unset!important;
  -webkit-box-orient:unset!important;
  opacity:1!important;
}

.lm-menu .lm-menu-monthly__price{
  grid-area:price;
  display:block!important;
  align-self:end!important;
  margin:0!important;
  padding:0!important;
  color:var(--orange)!important;
  font-family:"Bebas Neue",Impact,sans-serif!important;
  font-size:22px!important;
  font-weight:400!important;
  line-height:1!important;
  letter-spacing:0!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
  opacity:1!important;
}

@media(max-width:980px){
  .lm-menu .lm-menu-head__aside{
    width:100%;
    max-width:700px;
  }
  .lm-menu .lm-menu-monthly__body strong{font-size:18px!important}
  .lm-menu .lm-menu-monthly__price{font-size:23px!important}
}

@media(max-width:640px){
  .lm-menu .lm-menu-head__aside{
    width:100%;
    max-width:none;
  }

  .lm-menu .lm-menu-monthly{
    padding:12px;
    border-radius:15px;
  }

  .lm-menu .lm-menu-monthly__head{
    margin-bottom:10px;
    padding-bottom:9px;
  }

  .lm-menu .lm-menu-monthly__head span{font-size:10px}
  .lm-menu .lm-menu-monthly__head small{font-size:8px}

  /* Mobile: real full cards stay image-top/name-price-bottom.
     Horizontal snap keeps the hero compact instead of stacking 3 huge cards. */
  .lm-menu .lm-menu-monthly__list{
    display:flex!important;
    gap:9px!important;
    width:100%!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:0 1px 5px!important;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }

  .lm-menu .lm-menu-monthly__list::-webkit-scrollbar{
    display:none;
  }

  .lm-menu button.lm-menu-monthly__item{
    flex:0 0 min(72vw,280px)!important;
    scroll-snap-align:start;
    border-radius:13px!important;
  }

  .lm-menu .lm-menu-monthly__media{
    width:100%!important;
    aspect-ratio:4/3!important;
    height:auto!important;
    min-height:0!important;
  }

  .lm-menu .lm-menu-monthly__body{
    padding:11px 10px 12px!important;
  }

  .lm-menu .lm-menu-monthly__body strong{
    font-size:19px!important;
    line-height:1.05!important;
  }

  .lm-menu .lm-menu-monthly__price{
    font-size:24px!important;
  }
}

/* =========================================================
   GLOBAL SEARCH — v3.4.3
   Main search scans cocktails/menu ingredients and alcohol library.
   ========================================================= */
.lm-menu-search-subhead[hidden],
.lm-menu-back[hidden]{display:none!important}
.lm-menu-search-subhead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin:22px 0 12px;
  padding-top:16px;
  border-top:1px solid rgba(244,163,61,.20);
}
.lm-menu-search-subhead>span{
  color:var(--orange);
  font-size:10px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.lm-menu-search-subhead>strong{
  color:rgba(240,236,229,.62);
  font-size:10px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.lm-menu-search-subhead b{color:var(--cream);font-weight:800}
.lm-menu-alcohol-list-view[data-lm-alcohol-list-view]:not([hidden]) + .lm-menu-filter-panel{}
@media(max-width:640px){
  .lm-menu-search-subhead{margin:18px 0 9px;padding-top:14px}
  .lm-menu-search-subhead>span,.lm-menu-search-subhead>strong{font-size:9px}
}



/* =========================================================
   3.4.5 — DESKTOP DETAIL DIALOG / HEADER SAFE AREA
   Keep the mobile layout unchanged. On desktop the product
   photo/dialog is intentionally smaller and shifted below
   the fixed site navigation so it never sits under the menu.
   ========================================================= */
@media(min-width:981px){
  .lm-menu .lm-menu-details__panel{
    top:calc(50% + 46px);
    width:min(660px,calc(100vw - 80px));
    max-height:calc(100dvh - 170px);
  }

  .lm-menu .lm-detail-hero{
    width:calc(100% - 32px);
    height:min(360px,38vh);
    aspect-ratio:auto;
    margin:16px auto 8px;
  }

  .lm-menu .lm-detail-hero img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
  }

  .lm-menu .lm-detail-copy{
    padding:18px 30px 30px;
  }

  .lm-menu .lm-detail-title-row h2{
    font-size:clamp(36px,4vw,50px);
  }
}
