/* Responsive — restaurant layouts collapse without horizontal scroll */
@media (max-width: 1100px) {
  .hero { grid-template-columns: 1fr; min-height: auto; }
  .hero-slash { display: none; }
  .hero-photo img { min-height: 380px; }
  .todays { grid-template-columns: 1fr; }
  .todays-photo img { min-height: 360px; }
  .pizza-wall { grid-template-columns: 1fr 1fr; }
  .pasta-street, .cheese-hero, .burger-layout, .builder, .plate, .story-block, .contact-split { grid-template-columns: 1fr; }
  .board-grid, .combo-boards, .tickets, .menu-grid, .deals-grid { grid-template-columns: 1fr 1fr; }
  .cheese-grid { grid-template-columns: repeat(3, 1fr); }
  .masonry { columns: 3; }
  .foot-grid { grid-template-columns: 1fr 1fr; }
  .gallery-strip { grid-template-columns: repeat(3, 1fr); }
  .wrap-stage { grid-template-columns: 1fr 1fr; }
  .wrap-card, .wrap-card:nth-child(even) { clip-path: none; margin: 0; }
  .sweet-runway { grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
  .sweet-runway .big { grid-row: auto; min-height: 280px; }
}

@media (max-width: 820px) {
  .nav-links { display: none; }
  .hamburger { display: flex; }
  .nav { grid-template-columns: auto 1fr auto; }
  .btn-order-label { display: none; }
  .pizza-wall { grid-template-columns: 1fr; grid-auto-rows: 220px; }
  .pw-lg, .pw-md, .pw-wide, .pw-circle { grid-row: span 1; grid-column: span 1; max-width: none; border-radius: 22px !important; }
  .menu-grid, .board-grid, .combo-boards, .tickets, .deals-grid, .cheese-grid, .kitchen-grid { grid-template-columns: 1fr; }
  .masonry { columns: 2; }
  .foot-grid { grid-template-columns: 1fr; }
  .hero h1 { max-width: none; }
  .hero-copy { padding: 40px 22px; }
  .todays-copy { padding: 32px 22px; }
  .todays-copy h2 { font-size: 48px; }
  .plate-copy { padding: 28px 20px; }
  .plate-photo img { min-height: 320px; }
  .cart-line { grid-template-columns: 72px 1fr; }
  .chicken-club .c1, .chicken-club .c2, .chicken-club .c3, .chicken-club .c4, .chicken-club .c5 { grid-column: span 12; }
  .option-grid { grid-template-columns: 1fr; }
  .gallery-strip { grid-template-columns: repeat(2, 1fr); }
  .gallery-strip img { height: 140px; margin: 0 !important; }
  .circles { gap: 12px; }
  .circle-cat { width: 86px; }
  .circle-cat .orb { width: 72px; height: 72px; font-size: 26px; }
}

@media (max-width: 520px) {
  .container, .wide { width: min(100% - 24px, 1280px); }
  .masonry { columns: 1; }
  .announce { font-size: 10px; letter-spacing: 0.1em; padding: 0 8px; }
  .logo strong { font-size: 26px; }
  .hshelf .food-tile { min-width: 200px; }
  .drink-bar { gap: 10px; }
  .glass { width: 140px; }
}
