/* =========================================================
   MessiahStudios.github.io - Bootstrap-first overrides
   ========================================================= */

:root {
  scroll-padding-top: 90px;
}

html, body {
  height: 100%;
}

body {
  margin: 0;
  padding: 0;
  background: #000;
}

/* ---- Navbar: fixed position with compact padding ---- */
.navbar {
  z-index: 9999 !important;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  padding-top: 0.25rem !important;
  padding-bottom: 0.25rem !important;
}

/* Add padding to body to account for fixed navbar */
body {
  padding-top: 80px;
}

/* Create stacking context for main content below navbar */
main {
  position: relative;
  z-index: 1;
}

/* Ensure iframes and video containers stay below navbar */
iframe {
  position: relative;
  z-index: 1;
}

.video-container,
.video-wrapper {
  position: relative;
  z-index: 1;
  isolation: isolate;
}

/* Carousel needs to stay in its stacking context */
.carousel {
  position: relative;
  z-index: 1;
}

/* Site logo sizing */
.site-logo {
  height: 70px;
  width: auto;
}


@media (max-width: 768px) {
  .site-logo {
    height: 50px;
  }
}

/* =========================================================
   Anchor Spacer Sections
   ========================================================= */

section[id] {
  scroll-margin-top: 110px;
}

section:empty {
  display: block;
  margin: 0;
  padding: 0;
  background: transparent;
}

section {
  display: block;
  margin: 0;
  padding: 0;
  background: transparent;
}

/* =========================================================
   Media Embeds
   ========================================================= */
.video-wrapper {
  max-width: 80%;
  margin: 0 auto;
  position: relative;
}

.video-container {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  max-width: 100%;
  background: #000;
  border-radius: 12px;
}

.video-container iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* =========================================================
   Carousel tweaks
   ========================================================= */
.carousel-item {
  padding: 20px 80px;
}

.carousel-indicators {
  position: absolute;
  top: -20px;
  left: 35%;
  transform: translateX(-50%);
  z-index: 15;
}

.carousel-indicators [data-bs-target] {
  background-color: #0d6efd;
}

.carousel-control-prev,
.carousel-control-next {
  width: 50px;
  opacity: 1;
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
  background-color: #0d6efd;
  border-radius: 6px;
  width: 30px;
  height: 30px;
}

/* Button z-index safety */
#playDivineGemsBtn {
  position: relative;
  z-index: 20;
}

/* Footer */
footer {
  margin: 0;
  width: 100%;
  background: #000;
}

/* Links */
a:hover {
  text-decoration: underline;
}

/* Profile image responsive sizing */
.profile-image {
  width: 30%;
  min-width: 150px;
  max-width: 300px;
}

/* Responsive adjustments for mobile */
@media (max-width: 768px) {
  .profile-image {
    width: 50%;
  }
  
  .video-wrapper {
    max-width: 100% !important;
    width: 100% !important;
  }
  
  body {
    padding-top: 60px;
  }
}

/* Small motion polish */
@media (prefers-reduced-motion: no-preference) {
  .btn,
  .nav-link {
    transition: transform 120ms ease, opacity 120ms ease;
  }
  .btn:hover {
    transform: translateY(-1px);
  }
}
