/* =========================================
   Furnace Nightlife - RESPONSIVE STYLES
   ========================================= */

/* --- Large Desktop (1440px+) --- */
@media (min-width: 1440px) {
  .experiences-grid { grid-template-columns: repeat(4, 1fr); }
  .events-grid { grid-template-columns: repeat(4, 1fr); }
  .drinks-grid { grid-template-columns: repeat(5, 1fr); }
}

/* --- Laptop (max 1280px) --- */
@media (max-width: 1280px) {
  :root { --section-pad: 100px 0; }
  .container { padding: 0 32px; }
  .navbar { padding: 0 32px; }
  .hero-content { padding: 0 32px; gap: 40px; }
  .hero-logo-side img { width: 220px; }
  .hero-features { padding: 20px 32px; gap: 24px; }

  .footer-grid { grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 40px; }
  .drinks-grid { grid-template-columns: repeat(4, 1fr); }
  .experiences-grid { grid-template-columns: repeat(4, 1fr); }
  .gallery-grid { columns: 3; }
  .instagram-grid { grid-template-columns: repeat(6, 1fr); }
  .events-slider-track .event-card { flex: 0 0 calc(33.33% - 16px); }
  .menu-category-grid { grid-template-columns: repeat(2, 1fr); }
}

/* --- Tablet (max 1024px) --- */
@media (max-width: 1024px) {
  :root {
    --section-pad: 80px 0;
    --nav-height: 72px;
  }

  /* Navigation */
  .nav-menu { display: none; }
  .nav-hamburger { display: flex; }
  .nav-cta .btn-book { display: none; }

  /* Hero */
  .hero-content {
    grid-template-columns: 1fr;
    gap: 40px;
    text-align: center;
    padding: 0 32px;
  }
  .hero-eyebrow { justify-content: center; }
  .hero-actions { justify-content: center; }
  .hero-logo-side { display: none; }
  .hero-features { gap: 20px; flex-wrap: wrap; padding: 16px 32px; }
  .scroll-indicator { display: none; }

  /* Grids */
  .experiences-grid { grid-template-columns: repeat(2, 1fr); }
  .events-grid { grid-template-columns: repeat(2, 1fr); }
  .drinks-grid { grid-template-columns: repeat(3, 1fr); }
  .vip-grid { grid-template-columns: 1fr 1fr; }
  .stats-grid { grid-template-columns: repeat(2, 1fr); gap: 32px; }
  .gallery-grid { columns: 3; }
  .instagram-grid { grid-template-columns: repeat(4, 1fr); }
  .team-grid { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 40px; }
  .newsletter-content { grid-template-columns: 1fr; gap: 32px; }
  .about-story { grid-template-columns: 1fr; gap: 40px; }
  .about-story-img::before { display: none; }
  .about-story-img img { height: 360px; }
  .contact-layout { grid-template-columns: 1fr; }
  .contact-form-card { position: static; }
  .reservations-layout { grid-template-columns: 1fr; }
  .reservation-summary { position: static; }
  .event-detail-layout { grid-template-columns: 1fr; }
  .event-info-card { position: static; }
  .events-slider-track .event-card { flex: 0 0 calc(50% - 12px); }
  .vip-features { grid-template-columns: repeat(2, 1fr); }
  .menu-category-grid { grid-template-columns: repeat(2, 1fr); }
  .form-grid { grid-template-columns: 1fr; }

  /* Page Hero */
  .page-hero { height: 320px; }
}

/* --- Small Tablet / Large Mobile (max 768px) --- */
@media (max-width: 768px) {
  :root { --section-pad: 64px 0; }
  .container { padding: 0 24px; }
  .navbar { padding: 0 24px; }

  /* Typography scale */
  .section-title { font-size: clamp(1.6rem, 5vw, 2.2rem); }
  .hero-title { font-size: clamp(2.8rem, 10vw, 4rem); }

  /* Hero */
  .hero-content { padding: 0 24px; padding-top: 72px; }
  .hero-features {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    padding: 16px 24px;
  }
  .hero-feature-item { font-size: 0.72rem; }

  /* Grids */
  .experiences-grid { grid-template-columns: 1fr 1fr; gap: 16px; }
  .events-grid { grid-template-columns: 1fr; }
  .drinks-grid { grid-template-columns: repeat(2, 1fr); }
  .vip-grid { grid-template-columns: 1fr; }
  .stats-grid { grid-template-columns: repeat(2, 1fr); }
  .gallery-grid { columns: 2; }
  .instagram-grid { grid-template-columns: repeat(4, 1fr); }
  .team-grid { grid-template-columns: 1fr 1fr; }
  .footer-grid { grid-template-columns: 1fr; gap: 32px; }
  .menu-category-grid { grid-template-columns: 1fr; }
  .vip-features { grid-template-columns: 1fr; }

  /* Footer bottom */
  .footer-bottom-content { flex-direction: column; gap: 16px; text-align: center; }
  .footer-bottom-links { flex-wrap: wrap; justify-content: center; }

  /* Newsletter form */
  .newsletter-form { flex-direction: column; }
  .newsletter-form input { border-radius: var(--radius-sm); border-right: 1px solid var(--border); }
  .newsletter-form button { border-radius: var(--radius-sm); }

  /* Event details hero */
  .event-detail-hero { height: 420px; }
  .countdown-timer { grid-template-columns: repeat(4, 1fr); gap: 8px; }
  .countdown-number { font-size: 1.5rem; }

  /* Buttons */
  .hero-actions { flex-direction: column; align-items: center; }
  .hero-actions .btn { width: 100%; max-width: 280px; justify-content: center; }

  /* Slider */
  .events-slider-track .event-card { flex: 0 0 calc(100% - 0px); }
  .slider-prev { left: 0; }
  .slider-next { right: 0; }

  /* Page hero */
  .page-hero { height: 280px; }
  .page-hero-content h1 { font-size: clamp(1.8rem, 6vw, 2.8rem); }

  /* Section header */
  .section-header { margin-bottom: 48px; }

  /* Reservation */
  .reservation-form-card { padding: 28px 24px; }
  .contact-info-card { padding: 28px 24px; }
  .contact-form-card { padding: 28px 24px; }

  /* Event hero */
  .event-detail-hero-content { padding: 0 24px 40px; }

  .menu-nav-inner { padding: 0 24px; }
  .menu-nav-tab { padding: 16px 20px; }

  /* About */
  .timeline { padding-left: 40px; }

  /* Lightbox */
  .lightbox { padding: 24px 16px; }
  .lightbox-nav { display: none; }
}

/* --- Mobile (max 480px) --- */
@media (max-width: 480px) {
  :root { --section-pad: 56px 0; }
  .container { padding: 0 20px; }
  .navbar { padding: 0 20px; }
  .mobile-menu { padding: 24px 20px; }

  /* Hero */
  .hero-title { font-size: clamp(2.2rem, 12vw, 3rem); }
  .hero-features {
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    padding: 12px 20px;
  }

  /* Grids */
  .experiences-grid { grid-template-columns: 1fr; }
  .drinks-grid { grid-template-columns: 1fr 1fr; }
  .stats-grid { grid-template-columns: 1fr 1fr; gap: 24px; }
  .gallery-grid { columns: 2; column-gap: 8px; }
  .gallery-item { margin-bottom: 8px; }
  .instagram-grid { grid-template-columns: repeat(4, 1fr); }
  .team-grid { grid-template-columns: 1fr; }

  /* Modal */
  .modal { padding: 40px 24px; }
  .modal h2 { font-size: 1.4rem; }

  /* Section header */
  .section-title { font-size: 1.6rem; }
  .section-header { margin-bottom: 36px; }

  /* Cards */
  .vip-card-body { padding: 20px; }
  .reservation-form-card { padding: 20px; }

  /* Footer */
  .footer-brand p { max-width: 100%; }

  /* Filter tabs */
  .filter-tabs { gap: 8px; }
  .filter-tab { padding: 8px 16px; font-size: 0.72rem; }

  /* Countdown */
  .countdown-number { font-size: 1.2rem; }
  .countdown-label { font-size: 0.55rem; }

  /* Scroll top */
  .scroll-top { bottom: 24px; right: 24px; }

  /* Page hero */
  .page-hero { height: 240px; }

  /* Search */
  .search-bar { margin: 0 0 32px; }

  /* VIP */
  .vip-min-spend { font-size: 1.4rem; }
}

/* --- Very Small (max 360px) --- */
@media (max-width: 360px) {
  .hero-title { font-size: 2rem; }
  .btn { padding: 12px 24px; font-size: 0.72rem; }
  .drinks-grid { grid-template-columns: 1fr; }
  .instagram-grid { grid-template-columns: repeat(3, 1fr); }
}

/* Landscape orientation on mobile */
@media (max-height: 500px) and (orientation: landscape) {
  .hero { min-height: auto; padding: 100px 0 60px; }
  .page-hero { height: 240px; }
}
