:root {
  --bs-font-family-heading: 'Courier', monospace;
  --bs-body-font-family: 'Courier', monospace;
}

* {
  font-family: 'Courier', monospace !important;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 70px;
}

body {
  padding-top: 70px;
  background-color: #ffffff;
}

body::before {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(rgba(255,255,255,0) 0px, rgba(255,255,255,0) 1000px, rgba(255,255,255,1) 1000px, rgba(255,255,255,1) 100%), url("../../assets/img/RunAway_Band.jpeg");
  background-size: cover;
  background-position: center calc(-15vw + -15px);
  z-index: -1;
}

/* ── NAVBAR ── */

.navbar {
  position: fixed !important;
  top: 0 !important;
  left: 0;
  width: 100%;
  z-index: 1000;
  background: transparent !important;
  --bs-bg-opacity: 0 !important;
  padding-bottom: 30px;
  margin-bottom: -30px;
}

.navbar.bg-body {
  background: transparent !important;
  --bs-bg-opacity: 0 !important;
}

.navbar::before {
  content: '';
  position: absolute;
  top: -10px;
  left: 0;
  width: 100%;
  height: calc(100% + 10px);
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
  -webkit-mask-image: linear-gradient(to bottom, black 60%, transparent 100%);
  mask-image: linear-gradient(to bottom, black 60%, transparent 100%);
  z-index: -1;
}

.navbar-nav .nav-item {
  margin: 0 15px;
}

.navbar, .navbar * {
  font-size: 18px !important;
}

.navbar-nav {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

/* Icons rechts auf Desktop */

.navbar-collapse > a:first-of-type {
  margin-left: auto;
}

.navbar .bi {
  font-size: 20px !important;
  vertical-align: middle;
  margin: 0 8px;
}

.navbar .bi-youtube {
  margin-right: 15px;
  position: relative;
  top: 1px;
}

.navbar .bi-apple {
  margin-right: 14px;
  position: relative;
  top: -1px;
}

.navbar .bi-instagram {
  margin-right: 12px;
}

/* ── SECTIONS ── */

#live {
  padding-top: 800px;
  background: linear-gradient(rgba(255,255,255,0) 0px, rgba(255,255,255,1) 750px);
  position: relative;
  z-index: 1;
  scroll-margin-top: -600px;
}

#band {
  background-color: #ffffff;
  position: relative;
  z-index: 1;
  padding: 60px 0;
  scroll-margin-top: 30px;
}

#band-text p {
  line-height: 1.8;
  margin-bottom: 1.5em;
  text-align: justify;
}

#band .video-container {
  transition: all 0.3s ease;
}

#band iframe, .video-container iframe {
  border: none;
  outline: none;
}

#live .bit-widget {
  width: 102% !important;
  margin-left: -10px !important;
}

#shop {
  background-color: #ffffff;
  position: relative;
  z-index: 1;
  padding: 20px 0 60px 0;
  scroll-margin-top: 70px;
}

#shop .shopify-buy__product {
  width: 100% !important;
  max-width: 100% !important;
}

#shop .shopify-buy-frame {
  width: 100% !important;
}

#more-link {
  display: block;
  margin-top: -1em;
}

footer {
  margin-top: -40px;
}

/* ── MOBILE ── */

@media (max-width: 768px) {
  body::before {
    background-position: center top;
  }
}

@media (max-width: 768px) {
  #live {
    padding-top: 400px;
    background: linear-gradient(rgba(255,255,255,0) 0px, rgba(255,255,255,1) 400px);
  }
}

@media (max-width: 768px) {
  .navbar::before {
    height: calc(120% + 10px);
    -webkit-mask-image: linear-gradient(to bottom, black 80%, transparent 100%);
    mask-image: linear-gradient(to bottom, black 80%, transparent 100%);
  }
}

/* Logo kleiner */

@media (max-width: 768px) {
  .navbar-brand img {
    width: 90px !important;
  }
}

/* Container: eine Zeile, kein wrap */

@media (max-width: 768px) {
  .navbar > .container {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    height: 56px;
  }
}

@media (max-width: 768px) {
  .navbar-brand {
    flex: 0 0 auto;
    order: 1;
  }
}

@media (max-width: 768px) {
  .navbar-toggler {
    flex: 0 0 auto;
    order: 3;
  }
}

/* Collapse: immer sichtbar als flex-Zeile, füllt Raum zwischen Logo und Burger */

@media (max-width: 768px) {
  .navbar-collapse {
    order: 2;
    flex: 1 1 0 !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
    box-shadow: none !important;
    width: auto !important;
    padding: 0 !important;
  }
}

/* Icons immer sichtbar, zentriert */

@media (max-width: 768px) {
  .navbar-collapse > a {
    position: static !important;
    display: inline-flex !important;
    transform: none !important;
    flex: 0 0 auto;
    align-items: center;
  }
}

/* Nav-Links standardmässig versteckt */

@media (max-width: 768px) {
  .navbar-collapse .navbar-nav {
    display: none !important;
  }
}

/* Nav-Links offen: fixed unter Navbar, zentriert, kein Hintergrund */

@media (max-width: 768px) {
  .navbar-collapse.show .navbar-nav {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    position: fixed !important;
    top: 56px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: auto !important;
    padding: 12px 30px 16px 30px !important;
    background: transparent !important;
    z-index: 999 !important;
    margin: 0 !important;
  }
}

@media (max-width: 768px) {
  .navbar-nav {
    position: relative !important;
    left: auto !important;
    transform: none !important;
  }
}

@media (max-width: 768px) {
  .navbar-collapse img {
    display: none !important;
  }
}

/* Footer auf Mobile */

@media (max-width: 768px) {
  footer .container {
    flex-direction: column !important;
    align-items: center !important;
    text-align: center;
  }
}

@media (max-width: 768px) {
  footer ul {
    flex-direction: column !important;
    align-items: center !important;
    padding: 0;
  }
}

@media (max-width: 768px) {
  footer li {
    margin: 12px 0;
  }
}

@media (max-width: 768px) {
  .navbar:has(.navbar-collapse.show)::before {
    height: calc(100% + 10px + 140px);
  }
}

