body { background: #fff6f0; color: #1a0010; }

.page-header {
  padding-top: calc(var(--navbar-height) + 2rem);
  padding-bottom: 2rem;
}

@media (min-width: 768px) {
  .page-header {
    padding-top: calc(82px + 2.5rem);
  }
}

/* ── Tab Bar ── */
.menu-tabs-wrapper {
  background-color: #fff6f0;
  position: sticky;
  top: var(--navbar-height);
  z-index: 50;
}

@media (min-width: 768px) {
  .menu-tabs-wrapper {
    top: 82px;
  }
}
.menu-tabs {
  display: flex;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.menu-tabs::-webkit-scrollbar { display: none; }

.tab {
  flex: 0 0 auto;
  padding: 0.9rem 1.4rem;
  font-family: var(--font-secondary);
  font-weight: 800;
  font-size: 0.88rem;
  border: none;
  cursor: pointer;
  background-color: #f5c6d8;
  color: var(--color-accent);
  border-bottom: 3px solid transparent;
  white-space: nowrap;
  transition: background 0.15s, color 0.15s;
  letter-spacing: 0.3px;
}
.tab:hover { background-color: #f5b8cc; }
.tab.active {
  background-color: var(--color-primary);
  color: var(--color-secondary);
  border-bottom-color: var(--color-secondary);
}

/* ── Grid ── */
.menu-section { padding-top: 2rem; }
.menu-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}
.menu-loading, .menu-empty {
  text-align: center;
  color: var(--color-accent);
  font-weight: 700;
  padding: 3rem;
  grid-column: 1 / -1;
}

/* ── Card ── */
.menu-card {
  background: #fff;
  border: 1.5px solid #f0dde6;
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  position: relative;
  transition: box-shadow 0.2s;
}
.menu-card:hover { box-shadow: 0 4px 18px rgba(232, 0, 90, 0.12); }
.menu-card.unavailable { opacity: 0.55; }

.unavailable-badge {
  position: absolute;
  top: 0.65rem;
  right: 0.65rem;
  background-color: #0f0f0f;
  color: #fff6f0;
  font-size: 0.68rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 1.2px;
  padding: 0.2rem 0.5rem;
  border-radius: 3px;
}

.menu-card-body { padding: 1.1rem 1.1rem 0.5rem; flex: 1; }
.item-name {
  font-family: var(--font-secondary);
  font-weight: 800;
  font-size: 1rem;
  color: #0f0f0f;
  margin-bottom: 0.35rem;
  line-height: 1.3;
}
.item-desc { font-size: 0.875rem; color: #555; line-height: 1.55; }

.menu-card-footer {
  padding: 0.65rem 1.1rem 1rem;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.item-price {
  font-family: 'Eater', cursive;
  font-size: 1.25rem;
  color: var(--color-primary);
}

/* ── Responsive ── */
@media (min-width: 480px) {
  .menu-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 900px) {
  .menu-grid { grid-template-columns: repeat(3, 1fr); }
  .tab { font-size: 0.95rem; padding: 1rem 2rem; }
}
