/* =====================================================
   MOONPIZE — responsive.css
   Breakpoints: 320 → 480 → 768 → 1024 → 1280 → 1440 → 1920 → 2560 → 3840
   ===================================================== */

/* ── 320px – 479px  (Extra Small Mobile) ── */
@media (max-width: 479px) {
  :root { --max-w: 100%; }
  body { padding-top: 60px; }
  #nav { height: 60px; }
  .nav-inner { height: 60px; padding: 0 16px; }
  .nav-mobile { top: 60px; }
  .nav-links { display: none; }
  .nav-burger { display: flex; }
  .nav-actions .btn-cart { padding: 7px 12px; font-size: 13px; }
  .hero-title { font-size: clamp(26px, 7vw, 34px); }
  .hero-ctas { flex-direction: column; }
  .hero-ctas .btn { width: 100%; justify-content: center; }
  .hero-stats { gap: 16px; }
  .footer-grid { grid-template-columns: 1fr; }
  .promo-grid { grid-template-columns: 1fr; }
  .reviews-grid { grid-template-columns: 1fr; }
  .account-grid { grid-template-columns: 1fr; }
  .trust-inner { flex-direction: column; gap: 12px; text-align: center; }
  .section-title { font-size: clamp(22px, 6vw, 28px); }
  .carousel-track { padding-left: 16px; padding-right: 16px; }
  .pizza-card { flex: 0 0 240px; }
  .menu-grid { grid-template-columns: 1fr; }
  .locations-grid { grid-template-columns: 1fr; }
  .map-search { flex-direction: column; }
  .order-tracker { gap: 0; justify-content: flex-start; }
  .tracker-line { min-width: 16px; }
  .newsletter-form { flex-direction: column; }
  .newsletter-form input { min-width: 0; }
  .newsletter-form .btn { width: 100%; justify-content: center; }
  .footer-bottom { flex-direction: column; text-align: center; }
  .footer-legal { justify-content: center; }
}

/* ── 480px – 767px  (Small Mobile) ── */
@media (min-width: 480px) and (max-width: 767px) {
  .nav-links { display: none; }
  .nav-burger { display: flex; }
  body { padding-top: 60px; }
  #nav { height: 60px; }
  .nav-inner { height: 60px; }
  .nav-mobile { top: 60px; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 24px; }
  .footer-grid > :first-child { grid-column: 1 / -1; }
  .promo-grid { grid-template-columns: 1fr; }
  .reviews-grid { grid-template-columns: 1fr; }
  .account-grid { grid-template-columns: 1fr; }
  .menu-grid { grid-template-columns: repeat(2, 1fr); }
  .locations-grid { grid-template-columns: repeat(2, 1fr); }
  .hero-ctas { gap: 10px; }
}

/* ── 768px – 1023px  (Tablet) ── */
@media (min-width: 768px) and (max-width: 1023px) {
  .nav-links { display: none; }
  .nav-burger { display: flex; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
  .footer-grid > :first-child { grid-column: 1 / -1; }
  .menu-grid { grid-template-columns: repeat(2, 1fr); }
  .locations-grid { grid-template-columns: repeat(2, 1fr); }
  .account-grid { grid-template-columns: 220px 1fr; }
  .hero-title { font-size: clamp(36px, 6vw, 52px); }
  .promo-grid { grid-template-columns: repeat(2, 1fr); }
  .reviews-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ── 1024px – 1279px  (Small Laptop) ── */
@media (min-width: 1024px) and (max-width: 1279px) {
  .nav-links { display: flex; }
  .nav-burger { display: none; }
  .footer-grid { grid-template-columns: 1.5fr repeat(3, 1fr); }
  .menu-grid { grid-template-columns: repeat(3, 1fr); }
  .locations-grid { grid-template-columns: repeat(3, 1fr); }
  .reviews-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ── 1280px – 1439px  (Standard Laptop) ── */
@media (min-width: 1280px) and (max-width: 1439px) {
  .nav-links { display: flex; }
  .nav-burger { display: none; }
  .menu-grid { grid-template-columns: repeat(3, 1fr); }
  .locations-grid { grid-template-columns: repeat(3, 1fr); }
  .reviews-grid { grid-template-columns: repeat(3, 1fr); }
}

/* ── 1440px – 1919px  (Full HD) ── */
@media (min-width: 1440px) and (max-width: 1919px) {
  .nav-links { display: flex; }
  .nav-burger { display: none; }
  .menu-grid { grid-template-columns: repeat(4, 1fr); }
  .locations-grid { grid-template-columns: repeat(4, 1fr); }
  .reviews-grid { grid-template-columns: repeat(3, 1fr); }
}

/* ── 1920px – 2559px  (Full HD Wide / 4K prep) ── */
@media (min-width: 1920px) and (max-width: 2559px) {
  :root { --max-w: 1600px; }
  .nav-links { display: flex; }
  .nav-burger { display: none; }
  .menu-grid { grid-template-columns: repeat(4, 1fr); }
  .locations-grid { grid-template-columns: repeat(4, 1fr); }
  .reviews-grid { grid-template-columns: repeat(4, 1fr); }
  .promo-grid { grid-template-columns: repeat(3, 1fr); }
  .section-title { font-size: clamp(36px, 3vw, 52px); }
}

/* ── 2560px – 3839px  (2K/QHD + Ultra-Wide) ── */
@media (min-width: 2560px) and (max-width: 3839px) {
  :root { --max-w: 1920px; }
  html { font-size: 18px; }
  .nav-links { display: flex; }
  .nav-burger { display: none; }
  .menu-grid { grid-template-columns: repeat(5, 1fr); }
  .locations-grid { grid-template-columns: repeat(5, 1fr); }
  .reviews-grid { grid-template-columns: repeat(4, 1fr); }
  .hero-bg { background-size: cover; }
  .carousel-track { padding-left: clamp(80px, 6vw, 160px); padding-right: clamp(80px, 6vw, 160px); }
  .pizza-card { flex: 0 0 clamp(280px, 18vw, 380px); }
}

/* ── 3840px+  (4K / UHD) ── */
@media (min-width: 3840px) {
  :root { --max-w: 2560px; }
  html { font-size: 22px; }
  .nav-links { display: flex; }
  .nav-burger { display: none; }
  #nav { height: 90px; }
  body { padding-top: 90px; }
  .nav-mobile { top: 90px; }
  .menu-grid { grid-template-columns: repeat(6, 1fr); }
  .locations-grid { grid-template-columns: repeat(6, 1fr); }
  .reviews-grid { grid-template-columns: repeat(5, 1fr); }
  .hero-bg { background-position: center 30%; }
}

/* ── Ultra-Wide (2560×1080 / 3440×1440)  ── */
@media (min-aspect-ratio: 21/9) {
  .hero-bg { background-size: cover; background-position: center 40%; }
  .hero { min-height: 85vh; }
  .footer-grid { grid-template-columns: 2fr repeat(4, 1fr); }
}

/* ── Print ── */
@media print {
  #nav, #scroll-top, #live-chat, #cookie-banner, .hero-ctas, footer { display: none !important; }
  body { padding-top: 0; }
  .section { padding: 24px 0; }
}

/* ── Hover none (touch devices) ── */
@media (hover: none) {
  .pizza-card:hover { transform: none; box-shadow: var(--shadow-sm); }
  .menu-item:hover { transform: none; }
  .btn:hover { transform: none; }
  .btn-primary:hover { box-shadow: none; }
}

/* ── Prefers reduced motion ── */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
  html { scroll-behavior: auto; }
}

/* ── High contrast ── */
@media (prefers-contrast: high) {
  :root {
    --red: #C62828;
    --green: #2E7D32;
    --gray-600: #424242;
  }
  .nav-links a { font-weight: 700; }
}

/* ── Dark mode (opt-in) ── */
@media (prefers-color-scheme: dark) {
  /* Intentionally light – brand identity preserved */
}

/* ── Galaxy Z Fold (folded) ── */
@media (max-width: 360px) {
  .hero-title { font-size: 24px; }
  .hero-sub { font-size: 14px; }
  .pizza-card { flex: 0 0 220px; }
  .nav-logo { font-size: 18px; }
}

/* ── Landscape Mobile ── */
@media (max-height: 500px) and (orientation: landscape) {
  .hero { min-height: auto; padding: 40px 0; }
  .hero-stats { display: none; }
  body { padding-top: 56px; }
  #nav { height: 56px; }
  .nav-inner { height: 56px; }
}
