/* --- NAVBAR FIX: ensure it sits above hero overlays --- */
.navbar {
  position: relative;
  z-index: 20;
}

.responsive-image {
  width: 100%;
  height: auto;
}

/* --- HERO SECTION --- */
.hero-section {
  position: relative;
  z-index: 1; /* ensure hero stays below navbar */
  background-attachment: fixed;
  background-position: center calc(50% + 0px);
  background-size: cover;
  will-change: background-position;
}


.hero-section::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.45);
  z-index: 1;
}


@keyframes gradientShift {
  0% {
    background:
      linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0.55),
        rgba(0, 0, 0, 0.25)
      );
  }
  100% {
    background:
      linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0.65),
        rgba(0, 0, 0, 0.35)
      );
  }
}

.hero-fade {
  opacity: 0;
  transform: translateY(20px);
  animation: heroFadeIn 1.2s ease-out forwards;
}

@keyframes heroFadeIn {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* --- TABLE HOVER --- */
table.table-hover tbody tr:hover {
  background-color: #f0f8ff;
}

/* --- PARALLAX SECTION --- */
.parallax-section {
  background: url('/images/parallax.jpg') center/contain fixed no-repeat;
  position: relative;
  width: 100%;
  height: auto;
}

@media (max-width: 768px) {
  .parallax-section {
    background-attachment: scroll;
  }
}

/* --- HOME PAGE GIG ENTRY --- */
.gig-entry:hover {
  background-color: rgba(0, 0, 0, 0.05);
}

/* --- CALENDAR PAGE --- */
.calendar-page {
  min-height: 100vh;
  position: relative;
  z-index: 1; /* ensure below navbar */
}

/*
.calendar-page #calendar {
  background: transparent !important;
}

.calendar-page .fc-theme-bootstrap5 .fc-scrollgrid,
.calendar-page .fc-theme-bootstrap5 .fc-scrollgrid table,
.calendar-page .fc-theme-bootstrap5 td,
.calendar-page .fc-theme-bootstrap5 th {
  background: transparent !important;
}
*/

.calendar-page #calendar {
  background: lightgray !important;
}

.calendar-page .fc-theme-bootstrap5 .fc-scrollgrid td,
.calendar-page .fc-theme-bootstrap5 .fc-scrollgrid th {
  border-color: #000 !important;
}

.calendar-page .fc-theme-bootstrap5 .fc-scrollgrid {
  border-color: #000 !important;
}

.calendar-page .fc-theme-bootstrap5 .fc-col-header-cell {
  border-color: #000 !important;
}

.calendar-page .fc-event {
  background: rgba(0, 0, 0, 0.35);
  border: none;
  color: #fff;
  backdrop-filter: blur(2px);
}

.calendar-page .fc-prev-button,
.calendar-page .fc-next-button {
  background: rgba(0, 0, 0, 0.6) !important;
  border: 1px solid #000 !important;
  color: #fff !important;
  padding: 0.2rem 0.35rem;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.calendar-page .fc-prev-button::before {
  content: "◀";
  font-size: 1rem;
}

.calendar-page .fc-next-button::before {
  content: "▶";
  font-size: 1rem;
}

.calendar-page .fc-prev-button .fc-icon,
.calendar-page .fc-next-button .fc-icon {
  display: none;
}

.calendar-page .fc-prev-button:hover,
.calendar-page .fc-next-button:hover {
  background: rgba(0, 0, 0, 0.8) !important;
}

.fc-event {
  cursor: pointer !important;
}

/* --- BIOS HERO --- */
.bios-hero {
  height: 40vh;
  background: url('/images/bios-bg.jpg') center/cover no-repeat;
  position: relative;
  z-index: 1; /* ensure below navbar */
}

.bios-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.45);
  z-index: 1;
}

.bios-hero .container {
  position: relative;
  z-index: 2;
}

.bio-html > *:first-child {
  margin-top: 0 !important;
}