/* Fix for gradient background on mobile */
html, body {
  margin: 0;
  padding: 0;
  min-height: 100%;
  width: 100%;
}

body {
  min-height: 100vh;
  background: linear-gradient(120deg, #2c1b47 0%, #4e4f8a 50%, #b35e87 100%) fixed;
  background-size: cover;
  overflow-x: hidden;
  position: relative;
}

/* Noise overlay */
body::before {
  content: "";
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 0;
  pointer-events: none;
  background:
    url('https://grainy-gradients.vercel.app/noise.svg'),
    url('https://www.transparenttextures.com/patterns/noise.png');
  opacity: 0.6;
  mix-blend-mode: soft-light;
}

/* Content container for proper z-index */
.page-content {
  position: relative;
  z-index: 1;
  min-height: 100vh;
}

.tour-poster {
  max-height: 280px;
  width: auto;
  cursor: zoom-in;
  border-radius: 8px;
  box-shadow: 0 4px 24px rgba(0,0,0,0.18);
  margin-bottom: 20px;
}

.ben-img {
  width: 250px;
  transform: rotate(-10deg) translateY(-350px);
  transition: transform 0.3s;
  z-index: 2;
}

/* Fixed navbar logo and toggle button */
/* .navbar-brand {
  max-width: 120px;
} */

.navbar-toggler {
  margin-right: 15px;
  position: absolute;
  right: 0;
  top: 20px;
}

/* Tour list styling */
.tour-list {
  color: #fff;
  font-size: 1.13rem;
  letter-spacing: 0.04em;
  max-height: 60vh;
  overflow-y: auto;
}

@media (max-width: 991.98px) {
  .ben-img {
    width: 180px;
    transform: rotate(-10deg) translateY(-120px);
  }
}

/* Mobile styles - Center tour list */
@media (max-width: 767.98px) {
  .ben-img {
    display: none !important;
  }
  /* Hide tour poster completely on mobile */
  .tour-poster-container {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    width: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    position: absolute !important;
    left: -9999px !important;
  }
  .tour-poster {
    display: none !important;
  }
  .tour-list {
    font-size: 1rem;
    max-height: none;
    overflow: visible;
  }
  .logo-img {
    height: 55px !important;
  }

@media (max-width: 767.98px) {
  .logo-img {
    height: 70px !important;
    max-width: 90vw;
    margin-left: 74px; /* Add this line to shift right */
  }
  .navbar-brand {
    z-index: 1050;
    position: relative;
  }
  .navbar-toggler {
    z-index: 1060;
    position: relative;
  }
}
  
  /* Center tour content on mobile */
  .tour-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  .tour-title {
    text-align: center;
  }
  /* For the tickets buttons, keep them centered */
  .tour-list li {
    text-align: center;
  }
}