/* Bangs Music Distro - Professional Footer Upgrade v22
   Stack: PHP + HTML5 + CSS3 + Vanilla JavaScript.
   Safe override only: keeps existing sticky player IDs and JS logic intact. */

:root{
  --bmd-footer-bg:#070a0f;
  --bmd-footer-card:rgba(255,255,255,.055);
  --bmd-footer-card-2:rgba(255,255,255,.038);
  --bmd-footer-line:rgba(255,255,255,.105);
  --bmd-footer-text:#f4f7fb;
  --bmd-footer-muted:rgba(244,247,251,.68);
  --bmd-footer-green:#1ed760;
  --bmd-footer-green-soft:rgba(30,215,96,.16);
  --bmd-footer-radius:24px;
}

html, body{
  max-width:100%;
  overflow-x:hidden;
}

body{
  padding-bottom:var(--player-h,0px);
}

.bmd-footer-pro,
.footer.bmd-footer-pro{
  position:relative;
  isolation:isolate;
  margin-top:clamp(28px,5vw,72px);
  color:var(--bmd-footer-text);
  background:
    radial-gradient(900px 360px at 8% 0%, rgba(30,215,96,.12), transparent 62%),
    radial-gradient(740px 300px at 95% 12%, rgba(95,45,255,.14), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015)),
    var(--bmd-footer-bg);
  border-top:1px solid var(--bmd-footer-line);
}

.bmd-footer-pro *,
.bmd-footer-pro *::before,
.bmd-footer-pro *::after{
  box-sizing:border-box;
}

.bmd-footer-pro .container{
  max-width:1180px;
  width:min(1180px, calc(100% - 28px));
  margin-inline:auto;
}

.bmd-footer-pro__inner{
  display:grid;
  grid-template-columns:minmax(260px,360px) 1fr;
  gap:clamp(18px,4vw,42px);
  padding:clamp(26px,5vw,52px) 0 22px;
}

.bmd-footer-pro__brand{
  min-width:0;
  padding:clamp(16px,3vw,22px);
  border:1px solid var(--bmd-footer-line);
  background:
    linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.032)),
    rgba(255,255,255,.025);
  border-radius:var(--bmd-footer-radius);
  box-shadow:0 18px 60px rgba(0,0,0,.28);
}

.bmd-footer-pro__logoLink{
  display:inline-flex;
  align-items:center;
  max-width:220px;
  text-decoration:none;
}

.bmd-footer-pro__logo{
  display:block;
  width:auto;
  max-width:min(210px, 100%);
  max-height:54px;
  object-fit:contain;
}

.bmd-footer-pro__tagline{
  margin:14px 0 0;
  color:var(--bmd-footer-muted);
  font-size:14px;
  line-height:1.55;
  font-weight:750;
}

.bmd-footer-pro__actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}

.bmd-footer-pro__cta,
.bmd-footer-pro__ghost{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:11px 14px;
  border-radius:999px;
  font-weight:950;
  font-size:13px;
  line-height:1;
  text-decoration:none;
  transition:transform .14s ease, background .14s ease, border-color .14s ease, color .14s ease;
  -webkit-tap-highlight-color:transparent;
}

.bmd-footer-pro__cta{
  background:var(--bmd-footer-green);
  color:#061109;
  border:1px solid rgba(30,215,96,.7);
}

.bmd-footer-pro__ghost{
  color:var(--bmd-footer-text);
  border:1px solid var(--bmd-footer-line);
  background:rgba(255,255,255,.055);
}

.bmd-footer-pro__cta:hover,
.bmd-footer-pro__ghost:hover{
  transform:translateY(-1px);
}

.bmd-footer-pro__trust{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:16px;
}

.bmd-footer-pro__trust span{
  display:inline-flex;
  padding:7px 10px;
  border-radius:999px;
  color:rgba(255,255,255,.84);
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.085);
  font-size:11px;
  line-height:1;
  font-weight:900;
}

.bmd-footer-pro__nav{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  min-width:0;
}

.bmd-footer-pro__col{
  min-width:0;
  padding:clamp(14px,2.4vw,18px);
  border:1px solid var(--bmd-footer-line);
  background:var(--bmd-footer-card-2);
  border-radius:20px;
}

.bmd-footer-pro__h{
  margin:0 0 12px;
  color:#fff;
  font-size:13px;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:950;
}

.bmd-footer-pro__a,
.footer__a.bmd-footer-pro__a{
  display:flex;
  align-items:center;
  min-height:32px;
  width:max-content;
  max-width:100%;
  color:var(--bmd-footer-muted);
  text-decoration:none;
  font-size:13px;
  font-weight:800;
  line-height:1.25;
  overflow-wrap:anywhere;
  transition:color .14s ease, transform .14s ease;
}

.bmd-footer-pro__a:hover,
.footer__a.bmd-footer-pro__a:hover{
  color:#fff;
  transform:translateX(2px);
}

.bmd-footer-pro__a.is-active{
  color:#fff;
}

.bmd-footer-pro__contact{
  border-top:1px solid rgba(255,255,255,.07);
  border-bottom:1px solid rgba(255,255,255,.07);
  background:rgba(0,0,0,.18);
}

.bmd-footer-pro__contactInner{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  padding:14px 0;
}

.bmd-footer-pro__contactItem{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
  padding:13px 14px;
  border:1px solid var(--bmd-footer-line);
  border-radius:18px;
  background:rgba(255,255,255,.045);
  color:#fff;
  text-decoration:none;
}

.bmd-footer-pro__contactItem strong{
  min-width:0;
  font-size:13px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.bmd-footer-pro__contactLabel{
  color:var(--bmd-footer-muted);
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.bmd-footer-pro__bar,
.footer__bar.bmd-footer-pro__bar{
  border-top:0;
  background:rgba(0,0,0,.22);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}

.bmd-footer-pro__barInner,
.footer__barInner.bmd-footer-pro__barInner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:15px 0;
  flex-wrap:wrap;
}

.bmd-footer-pro__copy,
.footer__copy.bmd-footer-pro__copy{
  color:var(--bmd-footer-muted);
  font-size:12px;
  font-weight:800;
}

.bmd-footer-pro__barLinks,
.footer__barLinks.bmd-footer-pro__barLinks{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.bmd-footer-pro__barLinks .dot{
  opacity:.35;
}

/* Sticky player professional fit: UI-only overrides, same IDs. */
#player.sticky-player{
  border-top-color:rgba(255,255,255,.13) !important;
  background:
    linear-gradient(180deg, rgba(28,28,28,.96), rgba(14,14,14,.96)) !important;
}

#player .player__title,
#player .player__artist{
  min-width:0;
}

#player .player__cover{
  box-shadow:0 12px 26px rgba(0,0,0,.34);
}

#queueDrawer{
  overscroll-behavior:contain;
}

@media (max-width: 1040px){
  .bmd-footer-pro__inner{
    grid-template-columns:1fr;
  }

  .bmd-footer-pro__nav{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 720px){
  .bmd-footer-pro{
    margin-top:34px;
  }

  .bmd-footer-pro .container{
    width:min(100% - 20px, 1180px);
  }

  .bmd-footer-pro__inner{
    padding:24px 0 16px;
    gap:14px;
  }

  .bmd-footer-pro__brand{
    border-radius:20px;
  }

  .bmd-footer-pro__actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .bmd-footer-pro__cta,
  .bmd-footer-pro__ghost{
    width:100%;
  }

  .bmd-footer-pro__nav{
    grid-template-columns:1fr;
    gap:10px;
  }

  .bmd-footer-pro__col{
    border-radius:18px;
  }

  .bmd-footer-pro__contactInner{
    grid-template-columns:1fr;
    gap:8px;
  }

  .bmd-footer-pro__barInner,
  .footer__barInner.bmd-footer-pro__barInner{
    justify-content:center;
    text-align:center;
  }

  .bmd-footer-pro__barLinks,
  .footer__barLinks.bmd-footer-pro__barLinks{
    justify-content:center;
  }
}

/* Ultra-narrow phone screens */
@media (max-width: 390px){
  .bmd-footer-pro .container{
    width:min(100% - 16px, 1180px);
  }

  .bmd-footer-pro__brand,
  .bmd-footer-pro__col,
  .bmd-footer-pro__contactItem{
    padding-left:12px;
    padding-right:12px;
  }

  .bmd-footer-pro__logo{
    max-height:46px;
  }

  .bmd-footer-pro__tagline{
    font-size:13px;
  }

  .bmd-footer-pro__a,
  .footer__a.bmd-footer-pro__a{
    min-height:34px;
  }

  #player.sticky-player{
    left:0 !important;
    right:0 !important;
    width:100% !important;
  }

  #player .player__title{
    font-size:13px !important;
  }

  #player .player__artist,
  #player #playerStatus{
    font-size:11px !important;
  }
}

@media (prefers-reduced-motion: reduce){
  .bmd-footer-pro__cta,
  .bmd-footer-pro__ghost,
  .bmd-footer-pro__a{
    transition:none !important;
  }

  .bmd-footer-pro__cta:hover,
  .bmd-footer-pro__ghost:hover,
  .bmd-footer-pro__a:hover{
    transform:none !important;
  }
}
