/* Grid util */
.menu-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 16px;
}
@media (min-width: 768px) { .menu-grid { gap: 20px; } }
@media (min-width: 1024px) { .menu-grid { grid-template-columns: repeat(4, 1fr); } }

/* Card */
.menu-card {
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
  transition: transform .15s ease, box-shadow .15s ease;
}
.menu-card:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0,0,0,.06); }

.menu-thumb img { width: 100%; height: auto; display: block; aspect-ratio: 1/1; object-fit: cover; }
.menu-body { padding: 12px; }
.menu-title { font-size: 1rem; margin: 0 0 6px; line-height: 1.3; }
.menu-price { font-weight: 700; color: #d83; }

/* Archive header & single */
.archive-header { margin: 24px 0; }
.archive-title { margin: 0 0 6px; }
.archive-description { color: #666; }

.single-menu .single-header { margin: 20px 0; }
.single-menu .single-price { font-weight: 700; margin-right: 10px; color: #d83; }
.single-menu .single-media img { width: 100%; border-radius: 12px; height: auto;}
.single-menu .single-content { margin: 16px 0 24px; }
.btn-ghost {
  display:inline-block; padding:10px 14px; border:1px solid #ddd; border-radius:10px; text-decoration:none;
}
.section-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:24px 0 12px; }
.link-archive { text-decoration:none; font-weight:600; }
