body {
  margin: 0;
  font-family: 'American Typewriter', Georgia, serif;
}

/* 1. THE MAIN SPLIT 
   This separates Pizza and Snacks into two independent halves */
.menu-layout {
  display: grid;
  grid-template-columns: 1fr; /* One column for mobile */
  gap: 20px;
  background-color: tan;
  padding: 0 15px;
}
.menu-key {
  padding: 5px 0 5px 50px;
  background-color: tan;
}

/* 2. THE INDEPENDENT COLUMNS 
   By default, grid items stretch, but 'align-self: start' ensures 
   the background doesn't stretch awkwardly if one side is shorter. */
.menu-column {
  background-color: #f1f1f1;
  padding: 0px;
  align-self: start; 
}


.category-title {
  display: flex;
  justify-content: space-between;
  text-align: left;
  margin-top: 0;
  background-color: #34495e;
  color: white;
  padding: 6px 12px;
}

.category-subtitle {
  margin: -30 0 0 0;
  padding-top: 5;
  gap: 25px;
  align-items: flex-end;
}

/* 3. THE FOOD ITEMS 
   These just flow naturally top-to-bottom inside their column */
.menu-item {
  background-color: white;
  border: 2px solid #e0e0e0;
  padding: 12px;
  margin-bottom: 10px;
  box-shadow: 0 4px 6px rgba(0,0,0,0.05);
}

/* Fancy trick to push price to the right inside the item */
.item-header {
  display: flex;
  justify-content: space-between;
  margin-bottom: 0.43em;
}

.menu-item p {
  margin: 8px 50px 0px 0px;
  font-size: 14px;
  color: #555;
}

.menu-toppings {
   padding: 0px;
  gap: 0px;
}

.menu-toppins-right {
  padding: 0 0 0 10px;
}

@media (min-width: 992px) {
  .menu-layout {
    grid-template-columns: 1fr 1fr; /* Splits into two columns side-by-side */
  }