/* ============================================================
   Distant Sound Waves – Custom Theme Layer Over Bootstrap
   Cleaned, optimized, consolidated version
   ============================================================ */

:root {
  --dsw-accent: #e63946;
  --dsw-spotify: #1DB954;
}

/* ============================================================
   HERO SECTION
   ============================================================ */

.hero {
  min-height: 78vh;
  background:
    linear-gradient(rgba(0,0,0,0.70), rgba(0,0,0,0.70)),
    url("../assets/logo.jpg") center/cover no-repeat;
}

@media (max-width: 576px) {
  .hero {
    min-height: 84vh;
  }
}

/* Improves text clarity over hero background */
.hero-lead {
  text-shadow: 0 3px 8px rgba(0,0,0,0.85);
}

/* Small tracking for hero kicker text */
.tracking-wide {
  letter-spacing: .12em;
}


/* ============================================================
   GLASS CARD PANELS
   ============================================================ */

.glass {
  background: rgba(0,0,0,0.60) !important;
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,0.08) !important; /* cleaned */
  border-radius: 1.25rem;
}


/* ============================================================
   HOVER EFFECTS
   ============================================================ */

.hover-rise {
  transition: transform .18s ease, box-shadow .18s ease;
}

.hover-rise:hover {
  transform: translateY(-4px);
  box-shadow: 0 .75rem 2rem rgba(0,0,0,.5);
}


/* ============================================================
   FEATURE ICONS (Events / Media / Socials cards)
   ============================================================ */

.feature-icon {
  width: 48px;
  height: 48px;
  display: inline-grid;
  place-items: center;
  margin: 0 auto .5rem auto;
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  font-size: 1.25rem;
  color: #fff;
}


/* ============================================================
   TYPOGRAPHY UTILITIES
   ============================================================ */

.fw-black {
  font-weight: 900;
}

@media (max-width: 576px) {
  .display-4 {
    font-size: 2.25rem;
  }
}


/* ============================================================
   FOOTER INTERACTIONS
   ============================================================ */

.hover-accent:hover {
  color: var(--dsw-accent) !important;
}


/* ============================================================
   SPOTIFY EMBED
   ============================================================ */

.spotify-embed iframe {
  height: 380px;
}

@media (max-width: 576px) {
  .spotify-embed iframe {
    height: 460px;
  }
}

/* Nuclear enforcement for Spotify-styled button */
.btn-outline-spotify {
  color: var(--dsw-spotify) !important;
  border: 2px solid var(--dsw-spotify) !important;
  background: transparent !important;
  font-weight: 600;

  --bs-btn-color: var(--dsw-spotify) !important;
  --bs-btn-border-color: var(--dsw-spotify) !important;
  --bs-btn-hover-color: #000 !important;
  --bs-btn-hover-bg: var(--dsw-spotify) !important;
  --bs-btn-hover-border-color: var(--dsw-spotify) !important;
  --bs-btn-active-color: #000 !important;
  --bs-btn-active-bg: var(--dsw-spotify) !important;
  --bs-btn-active-border-color: var(--dsw-spotify) !important;
}

.btn-outline-spotify:hover,
.btn-outline-spotify:focus,
.btn-outline-spotify:active {
  color: #000 !important;
  background: var(--dsw-spotify) !important;
  border-color: var(--dsw-spotify) !important;
}


/* ============================================================
   BANDSINTOWN WIDGET (THEME-ALIGNED)
   ============================================================ */

.bit-widget,
.bit-widget-container {
  background: transparent !important;
  border-radius: 1rem !important;
  overflow: hidden !important;
}

.bit-widget .bit-event {
  background: rgba(255,255,255,0.03) !important;
  border-radius: .75rem !important;
  margin: .5rem .25rem !important;
  padding: 1rem .9rem !important;
  border: 1px solid rgba(255,255,255,0.06) !important;
}

/* Date pill */
.bit-widget .bit-date {
  border-radius: .75rem !important;
  padding: .35rem .6rem !important;
  background: rgba(0,0,0,0.35) !important;
}

/* Tabs */
.bit-widget .bit-tabs,
.bit-widget .bit-tab {
  border-color: rgba(255,255,255,0.12) !important;
}

.bit-widget .bit-tab.active {
  color: #fff !important;
  border-bottom: 2px solid var(--dsw-accent) !important;
}

/* Buttons aligned to your accent */
.bit-widget .bit-rsvp,
.bit-widget .bit-tickets,
.bit-widget .bit-follow-section button,
.bit-widget .bit-play-my-city button,
.bit-widget button {
  background: var(--dsw-accent) !important;
  border-color: var(--dsw-accent) !important;
  color: #fff !important;
  border-radius: .5rem !important;
  font-weight: 700 !important;
  letter-spacing: .02em !important;
}

.bit-widget button:hover {
  filter: brightness(1.08) !important;
}

/* Softer text */
.bit-widget .bit-details,
.bit-widget .bit-location,
.bit-widget .bit-venue {
  color: rgba(255,255,255,0.75) !important;
}

/* Mobile improvements */
@media (max-width: 576px) {
  .bit-widget .bit-event {
    padding: 1.1rem .9rem !important;
    margin: .6rem 0 !important;
    border-radius: .9rem !important;
  }

  .bit-widget .bit-rsvp,
  .bit-widget .bit-tickets,
  .bit-widget button {
    width: 100% !important;
    justify-content: center !important;
  }
}

/* Remove Request A Show — fully */
.bit-play-my-city-cta,
.bit-play-my-city,
.bit-play-my-city-container,
.bit-widget .bit-play-my-city,
.bit-widget .bit-play-my-city-container {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
