:root {
  --brand-navy: #3E5462;
  --brand-natural: #D4C6BC;
  --brand-offwhite: #F5F0EF;
  --brand-accent: #D6B7B5;
  --brand-ink: #141414;
  --panel-bg: rgba(255, 255, 255, 0.92);
  --backdrop: rgba(0, 0, 0, 0.5);
  --radius-2xl: 20px;
}
/* Modal shell */
#menuModal { position: fixed; inset: 0; z-index: 9999; display: none; }
#menuModal[aria-hidden="false"] { display: block; }
#menuModal .menu-backdrop { position: absolute; inset: 0; background: var(--backdrop); backdrop-filter: blur(6px); }
#menuModal .menu-panel { position: relative; margin: 6vh auto; max-width: 980px; width: min(96vw, 980px); background: var(--panel-bg); border-radius: var(--radius-2xl); box-shadow: 0 10px 40px rgba(0,0,0,.28); overflow: hidden; }
@media (max-width: 640px){ #menuModal .menu-panel { margin: 2vh auto; width: 96vw; } }
/* Header */
.menu-header { display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: center; padding: 18px 20px; border-bottom: 1px solid rgba(0,0,0,.08); }
.menu-title { margin: 0; font-family: "Diaspora", system-ui, -apple-system, Segoe UI, Roboto, sans-serif; font-size: 1.6rem; letter-spacing: .3px; color: var(--brand-ink); }
.menu-tabs { display: flex; gap: 8px; flex-wrap: wrap; }
.menu-tabs button { appearance: none; border: 1px solid rgba(0,0,0,.12); background: #fff; padding: 8px 12px; border-radius: 999px; cursor: pointer; font: 500 14px/1.2 "Semplicita", ui-sans-serif, system-ui; }
.menu-tabs button[aria-current="true"] { background: var(--brand-accent); color: #fff; border-color: transparent; }
/* Close */

.menu-close:focus-visible, .menu-tabs button:focus-visible, .menu-link:focus-visible { outline: 3px solid var(--brand-accent); outline-offset: 2px; }
/* Content */
.menu-content { max-height: min(72vh, 940px); overflow: auto; padding: 16px 20px 20px; }
.menu-grid { display: grid; grid-template-columns: 1fr; gap: 16px; }
@media (min-width: 720px){ .menu-grid { grid-template-columns: 1fr 1fr; } }
.menu-item { padding: 12px 12px; border-radius: 14px; background: rgba(255,255,255,.8); border: 1px solid rgba(0,0,0,.06); }
.menu-item h3 { margin: 0 0 6px; font: 700 16px/1.2 "Semplicita", ui-sans-serif, system-ui; color: var(--brand-ink); }
.menu-item p { margin: 0; font: 400 14px/1.4 "Semplicita", ui-sans-serif, system-ui; color: #333; }
.menu-item .price { margin-top: 8px; font: 600 14px/1.2 "Semplicita", ui-sans-serif, system-ui; color: var(--brand-accent); }
/* Group headings & notes */
.menu-note { margin: 8px 4px 16px; font: 500 13px/1.3 "Semplicita", ui-sans-serif, system-ui; color: #555; }
.group-title { margin: 6px 4px 8px; font: 800 18px/1.2 "Diaspora", system-ui; color: var(--brand-ink); }
.group-intro { margin: 0 4px 12px; font: 400 14px/1.4 "Semplicita", ui-sans-serif, system-ui; color: #444; }
/* Footer actions */
.menu-actions { display: flex; justify-content: flex-end; gap: 10px; padding: 12px 20px 18px; border-top: 1px solid rgba(0,0,0,.08); background: linear-gradient(180deg, rgba(255,255,255,.0), rgba(255,255,255,.9)); }
.menu-link { border: 1px solid var(--brand-accent); color: #fff; background: var(--brand-accent); padding: 10px 14px; border-radius: 999px; text-decoration: none; font: 600 14px/1 "Semplicita", ui-sans-serif, system-ui; }
.menu-link.secondary { background: #fff; color: var(--brand-accent); }
/* Body scroll lock when open */
body.modal-open { overflow: hidden; }
/* Print friendly */
@media print { body > *:not(#menuModal) { display: none !important; } #menuModal { position: static; display: block; } #menuModal .menu-backdrop { display: none; } #menuModal .menu-panel { box-shadow: none; border: none; margin: 0; max-width: 100%; width: 100%; } .menu-content { max-height: none; overflow: visible; } }

/* v6: Close pill sizing fix */
#menuModal .menu-header .menu-tabs .menu-close {
  background: #F5F0EF !important;       /* Off White */
  color: #3E5462 !important;             /* Navy */
  -webkit-text-fill-color: #3E5462 !important;
  border: 1px solid #D4C6BC !important;  /* Natural */
  border-radius: 999px !important;
  padding: 10px 18px !important;         /* match tab padding */
  font: 500 14px/1.2 "Semplicita", ui-sans-serif, system-ui !important;
  min-width: auto !important;
  height: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: none !important;
  transition: background .18s ease, border-color .18s ease;
}
#menuModal .menu-header .menu-tabs .menu-close:hover,
#menuModal .menu-header .menu-tabs .menu-close:focus {
  background: #D6B7B5 !important;       /* Blush */
  border-color: transparent !important;
  outline: none !important;
}

/* === Pranaya v7: Pills on-brand + Close as 4th pill; iOS-safe text === */
#menuModal .menu-header .menu-tabs button {
  background: #F5F0EF !important;          /* Off White */
  color: #3E5462 !important;                /* Navy */
  -webkit-text-fill-color: #3E5462 !important;
  border: 1px solid #D4C6BC !important;     /* Natural */
  border-radius: 999px !important;
  padding: 10px 18px !important;
  font: 500 14px/1.2 "Semplicita", ui-sans-serif, system-ui !important;
  box-shadow: none !important;
}
#menuModal .menu-header .menu-tabs button[aria-current="true"] {
  background: #D6B7B5 !important;           /* Blush */
  color: #3E5462 !important;
  -webkit-text-fill-color: #3E5462 !important;
  border-color: transparent !important;
}
#menuModal .menu-header .menu-tabs .menu-close {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
#menuModal .menu-header .menu-tabs .menu-close:hover,
#menuModal .menu-header .menu-tabs .menu-close:focus {
  background: #D6B7B5 !important;
  border-color: transparent !important;
  outline: none !important;
}

/* Header/tabs layout */
#menuModal .menu-header { display: flex; align-items: center; gap: 8px; padding: 18px 20px; border-bottom: 1px solid rgba(0,0,0,.08); }
#menuModal .menu-header .menu-tabs { display:flex; gap:8px; flex-wrap:wrap; margin-left: auto; }

@media (max-width: 640px) {
  #menuModal .menu-header { justify-content: center; }
  #menuModal .menu-header .menu-tabs { margin-left: 0; justify-content: center; width: 100%; gap: 6px 8px; }
}

/* === v8 mobile: single row & equal-width pills, keep brand colours === */
@media (max-width: 640px) {
  #menuModal .menu-header { justify-content: center; }
  #menuModal .menu-header .menu-tabs {
    display: flex;
    flex-wrap: nowrap;         /* one row */
    width: 100%;
    gap: 6px;
  }
  #menuModal .menu-header .menu-tabs button {
    flex: 1 1 0;
    min-width: 0;
    white-space: nowrap;
    padding: 8px 10px !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    text-align: center;
    color: #3E5462 !important;
    -webkit-text-fill-color: #3E5462 !important;
    border-color: #D4C6BC !important;
  }
  #menuModal .menu-header .menu-tabs button[aria-current="true"] {
    background: #D6B7B5 !important;
    color: #3E5462 !important;
    -webkit-text-fill-color: #3E5462 !important;
    border-color: transparent !important;
  }
}
