/* Make logo backgrounds transparent */
.nav-logo a img {
  background: transparent !important;
}
.hero-logo {
  background: transparent !important;
  mix-blend-mode: multiply;
}

/* Ensure nav logo container has no background */
.nav-logo,
.nav-logo a {
  background: transparent !important;
}

/* Size the hero logo appropriately */
.hero-logo {
  max-width: 250px !important;
  height: auto !important;
}

/* ===== SLIM HEADER - DESKTOP ===== */
nav {
  padding: 8px 60px !important;
}
nav.scrolled {
  padding: 5px 60px !important;
}
.nav-logo img {
  height: 90px !important;
  width: auto !important;
  object-fit: contain !important;
}
nav.scrolled .nav-logo img {
  height: 65px !important;
  width: auto !important;
  object-fit: contain !important;
}

/* ===== TABLET 768px ===== */
@media (max-width: 768px) {
  nav {
    padding: 6px 16px !important;
  }
  nav.scrolled {
    padding: 5px 16px !important;
  }
  .nav-logo img {
    height: 45px !important;
    width: auto !important;
    object-fit: contain !important;
  }
  nav.scrolled .nav-logo img {
    height: 35px !important;
    width: auto !important;
    object-fit: contain !important;
  }
  /* Mobile hero text fixes */
  .hero-logo {
    max-width: 160px !important;
  }
  .hero-eyebrow {
    font-size: 0.7rem !important;
    letter-spacing: 2px !important;
  }
  .hero-subtitle {
    font-size: 0.65rem !important;
    letter-spacing: 2px !important;
    padding: 0 10px !important;
  }
  .hero-cta {
    font-size: 0.75rem !important;
    padding: 12px 30px !important;
  }
  .hero-content {
    padding: 0 15px !important;
  }
}

/* ===== SMALL MOBILE 480px ===== */
@media (max-width: 480px) {
  nav {
    padding: 5px 12px !important;
  }
  nav.scrolled {
    padding: 4px 12px !important;
  }
  .nav-logo img {
    height: 40px !important;
    width: auto !important;
    object-fit: contain !important;
  }
  nav.scrolled .nav-logo img {
    height: 30px !important;
    width: auto !important;
    object-fit: contain !important;
  }
  .hero-logo {
    max-width: 130px !important;
  }
  .hero-eyebrow {
    font-size: 0.6rem !important;
  }
  .hero-subtitle {
    font-size: 0.55rem !important;
    letter-spacing: 1.5px !important;
  }
}

/* OUR KITCHEN IMAGE */
.story-img {
  min-height: 500px !important;
  background-size: cover !important;
  background-position: center center !important;
}

/* DESKTOP HERO - Use Main-Landscape.jpeg */
@media (min-width: 769px) {
  .hero-img-bottom {
    background-image: url(https://lumenvip.com/wp-content/uploads/2026/03/Main-Landscape.jpeg) !important;
    background-position: center center !important;
    background-size: cover !important;
  }
}

/* OUR KITCHEN - Use Our-Kitchen-3.jpeg */
.story-img {
  background-image: url(https://lumenvip.com/wp-content/uploads/2026/03/Our-Kitchen-3.jpeg) !important;
}

/* ===== MOBILE LAYOUT FIXES ===== */
@media (max-width: 768px) {
  /* Fix sections that overflow on mobile */
  .dining-world,
  .menu-section,
  .rooftop-section,
  .dj-section,
  .events-section-split,
  .info-section {
    overflow-x: hidden !important;
    max-width: 100vw !important;
  }
  body {
    overflow-x: hidden !important;
  }
  /* FIX: Story grid text overflow */
  .story-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    max-width: 100% !important;
    padding: 0 20px !important;
    box-sizing: border-box !important;
  }
  .story-text {
    max-width: 100% !important;
    width: 100% !important;
    overflow-wrap: break-word !important;
    word-wrap: break-word !important;
    min-width: 0 !important;
  }
  .story-text p {
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
  }
  .story-img {
    min-height: 300px !important;
    max-width: 100% !important;
  }
  /* Fix food cards grid for mobile */
  .food-cards {
    flex-direction: column !important;
    gap: 15px !important;
    padding: 0 20px !important;
  }
  .food-card {
    width: 100% !important;
    max-width: 100% !important;
  }
  /* Fix menu grid for mobile */
  .menu-grid {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
  /* Fix info grid (hours/location/contact) */
  .info-grid {
    grid-template-columns: 1fr !important;
    gap: 30px !important;
    padding: 40px 20px !important;
  }
  /* Fix rooftop features */
  .rooftop-features {
    grid-template-columns: 1fr !important;
    gap: 15px !important;
  }
  /* Fix any wide elements */
  .dining-world .section-header,
  .dining-world p {
    max-width: 100% !important;
    overflow-wrap: break-word !important;
  }
}