/* menu.css - Text-based menu layout */

body.menu-page {
  background: #fdfdfd;
}

/* ─── HERO ─────────────────────────────────────────────────── */
.menu-hero {
  text-align: center;
  padding: 60px 20px 20px;
}
.menu-title {
  font-size: 4rem;
  font-weight: 900;
  color: #1771b3;
  margin-bottom: 20px;
  position: relative;
  display: inline-block;
  line-height: 1.2;
  background-color: #ffffff;
  padding: 10px 40px;
  border-radius: 99px;
  box-shadow: 0 8px 30px rgba(255, 255, 255, 0.8), 0 4px 15px rgba(0,0,0,0.03);
}

/* ─── INFO BLOCK ────────────────────────────────────────────── */
.menu-info-block {
  max-width: 800px;
  margin: 0 auto 48px;
  padding: 28px 36px;
  background: linear-gradient(135deg, #eef9f5 0%, #e8f4fb 100%);
  border-radius: 20px;
  border-left: 5px solid #1771b3;
  box-shadow: 0 4px 20px rgba(23, 113, 179, 0.08);
}
.menu-info-block p {
  font-size: 1.05rem;
  font-weight: 600;
  color: #2d4a5e;
  line-height: 1.75;
  margin: 0;
}

/* ─── TAB SWITCHER ──────────────────────────────────────────── */
.menu-tabs {
  display: flex;
  justify-content: center;
  gap: 16px;
  margin-bottom: 40px;
  padding: 0 20px;
}
.menu-tab {
  font-family: 'Nunito', sans-serif;
  font-size: 1.05rem;
  font-weight: 800;
  padding: 14px 40px;
  border: 2.5px solid #1771b3;
  border-radius: 99px;
  background: #fff;
  color: #1771b3;
  cursor: pointer;
  transition: all 0.25s ease;
  letter-spacing: 0.3px;
}
.menu-tab:hover {
  background: #e8f1fa;
}
.menu-tab.active {
  background: #1771b3;
  color: #fff;
  box-shadow: 0 6px 20px rgba(23, 113, 179, 0.28);
}

/* ─── MENU SET VISIBILITY ───────────────────────────────────── */
.menu-set {
  display: none;
}
.menu-set.active {
  display: block;
}

/* ─── GRID LAYOUT ───────────────────────────────────────────── */
.menu-grid-wrap {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 20px;
  max-width: 1300px;
  margin: 0 auto;
  padding: 0 20px 60px;
}

.day-card {
  border-radius: 18px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(0,0,0,0.06);
}
.day-card.top-row  { grid-column: span 2; }
.day-card.bottom-row { grid-column: span 3; }

/* ─── DAY CARD INTERNALS ────────────────────────────────────── */
.day-header {
  padding: 16px 20px;
  text-align: center;
  font-size: 1.3rem;
  font-weight: 900;
  color: #333;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.day-body {
  flex: 1;
  background: #fff;
  padding: 20px 18px;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.meal-block {
  padding: 12px 0;
  border-bottom: 1px solid #f0f0f0;
}
.meal-block:last-child {
  border-bottom: none;
}
.meal-label {
  font-size: 0.68rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #1771b3;
  margin-bottom: 5px;
}
.meal-text {
  font-size: 0.88rem;
  font-weight: 600;
  color: #3a3a3a;
  line-height: 1.5;
}

/* ─── COLOUR THEMES ─────────────────────────────────────────── */
.theme-mint   .day-header { background: #bfeadd; }
.theme-mint   .day-body   { background: #f3fdf9; }
.theme-yellow .day-header { background: #fdf0ba; }
.theme-yellow .day-body   { background: #fffdf0; }
.theme-coral  .day-header { background: #fccec7; }
.theme-coral  .day-body   { background: #fff5f3; }
.theme-red    .day-header { background: #fac2c0; }
.theme-red    .day-body   { background: #fff0ef; }
.theme-blue   .day-header { background: #cce7f8; }
.theme-blue   .day-body   { background: #f3fafe; }

/* ─── SIDEBARS ──────────────────────────────────────────────── */
.menu-sidebars-wrap {
  max-width: 1300px;
  margin: 0 auto 100px;
  padding: 0 20px;
}
.menu-sidebars {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}
.sidebar-panel {
  border-radius: 16px;
  padding: 30px 24px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.05);
}
.sidebar-panel.light-mint { background: #e9f5ee; }
.sidebar-panel.light-gray { background: #f7f9fa; }
.sidebar-title {
  font-size: 1rem;
  font-weight: 900;
  color: #1a4a38;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 16px;
}
.sidebar-list {
  list-style: none;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.sidebar-list li {
  font-size: 0.9rem;
  font-weight: 600;
  color: #444;
  padding-left: 20px;
  position: relative;
  line-height: 1.4;
}
.sidebar-list li::before {
  content: "";
  position: absolute;
  left: 0; top: 6px;
  width: 8px; height: 8px;
  border-radius: 50%;
  background: #df9b21;
}

/* ─── RESPONSIVE ────────────────────────────────────────────── */
@media (max-width: 1024px) {
  .day-card.top-row,
  .day-card.bottom-row { grid-column: span 3; }
}
@media (max-width: 680px) {
  .day-card.top-row,
  .day-card.bottom-row { grid-column: span 6; }
  .menu-sidebars       { grid-template-columns: 1fr; }
  .menu-title          { font-size: 2.8rem; }
  .menu-tab            { padding: 12px 24px; font-size: 0.95rem; }
  .menu-info-block     { padding: 20px 20px; }
}
