/* ============================================================
   JET ATLAS — ht-menu (« La carte » — branded menu + prices)
   White/black/lime. Categories flow into 2 columns on desktop,
   1 on mobile. Per-category price when every dish shares it,
   otherwise per-dish. Serif names, Space-Grotesk prices, lime DH.
   ============================================================ */
.ht-menu { background: var(--ht-paper); padding: clamp(56px,8vw,110px) 0; }
.ht-menu__head { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 14px; margin-bottom: clamp(38px,5vw,64px); }
.ht-menu__intro { color: var(--ht-mut); max-width: 60ch; font-size: clamp(15px,1.4vw,17px); line-height: 1.65; }

.ht-menu__cats { columns: 2; column-gap: clamp(36px,5vw,84px); }
.ht-menu__cat { break-inside: avoid; -webkit-column-break-inside: avoid; page-break-inside: avoid; margin: 0 0 clamp(28px,3.4vw,48px); }
.ht-menu__cat-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding-bottom: 10px; margin-bottom: 14px; border-bottom: 2px solid var(--ht-lime); }
.ht-menu__cat-name { font-family: var(--ht-serif); font-weight: 500; font-style: italic; font-size: clamp(23px,2.4vw,30px); line-height: 1; color: var(--ht-ink); }
.ht-menu__cat-price { flex: 0 0 auto; font-family: var(--ht-data); font-weight: 700; font-size: 15px; color: var(--ht-ink); white-space: nowrap; }
.ht-menu__cat-price i { font-style: normal; font-size: 0.72em; margin-left: 2px; color: var(--ht-ink); opacity: 0.7; }

.ht-dish { padding: 9px 0; }
.ht-dish:not(:last-child) { border-bottom: 1px solid rgba(10,10,10,0.07); }
.ht-dish__row { display: flex; align-items: baseline; gap: 6px; }
.ht-dish__name { font-family: var(--ht-ui); font-size: clamp(14.5px,1.3vw,16px); font-weight: 600; letter-spacing: 0.2px; color: var(--ht-ink); flex: 0 0 auto; max-width: 78%; }
.ht-dish__dots { flex: 1 1 auto; min-width: 14px; height: 0; border-bottom: 1.5px dotted rgba(10,10,10,0.28); transform: translateY(-3px); }
.ht-dish__price { flex: 0 0 auto; font-family: var(--ht-data); font-weight: 700; font-size: 15px; color: var(--ht-ink); white-space: nowrap; }
.ht-dish__price i { font-style: normal; font-size: 0.72em; margin-left: 2px; color: var(--ht-lime); }
.ht-dish__price--free { color: var(--ht-mut); font-weight: 500; font-style: italic; font-family: var(--ht-serif); font-size: 14px; }
.ht-dish__desc { margin-top: 3px; font-family: var(--ht-body); font-size: 13px; line-height: 1.5; color: var(--ht-mut); max-width: 46ch; }

.ht-menu__foot { margin-top: clamp(28px,3.4vw,44px); text-align: center; font-family: var(--ht-ui); font-size: 12.5px; letter-spacing: 0.3px; color: var(--ht-mut); }

@media (max-width: 760px) {
  .ht-menu__cats { columns: 1; }
}
