.socials-fab {
  position: fixed;
  right: 2.2vw;
  bottom: 2.2vw;
  z-index: 100;
  display: flex;
  flex-direction: column-reverse;
  align-items: flex-end;
  pointer-events: none; /* container ignores clicks */
}

.socials-toggle {
  background: var(--card);
  border: 1.5px solid var(--line);
  border-radius: 50%;
  box-shadow: var(--shadow);
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  margin-bottom: 8px;
  transition: box-shadow .18s, border-color .18s, background .18s;
  pointer-events: auto; /* button is clickable */
}
.socials-toggle:hover,
.socials-toggle:focus-visible {
  border-color: #A27732;
  box-shadow: 0 0 0 0px transparent, 0 0 16px 4px #A27732cc;
  background: #181818;
  outline: none;
}

.socials-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 10px;

  /* hidden by default — prevents mouse + keyboard focus */
  opacity: 0;
  transform: translateY(12px) scale(0.98);
  pointer-events: none;
  visibility: hidden;

  transition: opacity .22s cubic-bezier(.4,1,.6,1),
              transform .22s cubic-bezier(.4,1,.6,1),
              visibility 0s linear .22s; /* reveal/hide at right time */
}

/* only JS-toggled state opens it */
.socials-fab.open .socials-list {
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: auto;
  visibility: visible;
  transition-delay: 0s; /* show immediately */
}

.social-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  background: var(--card);
  border: 1.5px solid var(--line);
  border-radius: 50%;
  box-shadow: var(--shadow);
  transition: border-color .18s, box-shadow .18s, background .18s, transform .18s;
  opacity: 0.98;
  pointer-events: auto;
}
.social-link:hover,
.social-link:focus {
  border-color: #A27732;
  box-shadow: 0 0 0 0px transparent, 0 0 12px 2px #A27732cc;
  background: #181818;
  outline: none;
  transform: translateY(-2px) scale(1.07);
  opacity: 1;
}
.social-link img {
  width: 26px;
  height: 26px;
  object-fit: contain;
  display: block;
  filter: drop-shadow(0 1px 0 rgba(0,0,0,0.04));
  transition: transform .18s;
}
.social-link .tiktok-logo {
  width: 32px;
  height: 32px;
  transform: scale(0.97);
}

@media (max-width: 600px) {
  .socials-fab { right: 3vw; bottom: 3vw; }
  .social-link, .socials-toggle { width: 40px; height: 40px; }
  .social-link img { width: 22px; height: 22px; }
  .social-link .tiktok-logo { width: 28px; height: 28px; }
}


/* Footer link hover to match header */
footer a {
  opacity: .9;
  color: var(--muted);
  transition: opacity .18s, color .18s;
}
footer a:hover,
footer a:focus-visible {
  opacity: 1;
  color: var(--fg);   /* brighten from muted to full */
  text-decoration: none; /* or underline if you prefer */
}





/*     -------------------------------------------------------------------- ALBUM PAGE -------------------------------------------------------------------- */

    .platform-btn {
      display: flex;
      align-items: center;
      justify-content: center;
      height: 70px;
      padding: 0 24px;
      border: 1.5px solid var(--line);
      border-radius: 16px;
      background: linear-gradient(120deg,rgba(30,30,30,0.08) 0%,rgba(60,60,60,0.04) 100%);
      transition: box-shadow .2s, border-color .2s, transform .18s, background .2s, backdrop-filter .25s;
      box-sizing: border-box;
      box-shadow: var(--shadow);
      position: relative;
      overflow: hidden;
      -webkit-tap-highlight-color: transparent;
    }
   /* Desktop-only hover/focus glow */
@media (hover: hover) and (pointer: fine) {
  .platform-btn:hover,
  .platform-btn:focus-visible {
    box-shadow: 0 0 0 0px transparent, 0 0 16px 4px #A27732cc;
    border-color: #A27732;
    transform: translateY(-1px);
    background: linear-gradient(120deg,rgba(162,119,50,0.08) 0%,rgba(60,60,60,0.04) 100%);
    backdrop-filter: blur(2.5px) saturate(1.2);
    outline: none;
  }
}

/* Touch: no sticky hover; brief press effect only (optional) */
/* Touch: no sticky focus, but show glow while pressed */
@media (hover: none) {
  .platform-btn:focus {
    outline: none;
    box-shadow: none;
    border-color: var(--line);
    background: linear-gradient(120deg,rgba(30,30,30,0.08) 0%,rgba(60,60,60,0.04) 100%);
  }

  /* Show the gold glow during the actual press */
  .platform-btn:active,
  .platform-btn.is-pressed {
    box-shadow: 0 0 0 0px transparent, 0 0 16px 4px #A27732cc;
    border-color: #A27732;
    backdrop-filter: blur(2.5px) saturate(1.2);
    transform: translateY(-1px);
    background: linear-gradient(120deg,rgba(162,119,50,0.08) 0%,rgba(60,60,60,0.04) 100%);
  }
}


    .platform-left {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 100%;
      height: 100%;
    }
    .platform-logo {
      display: block;
      height: 38px;
      width: auto;
      max-width: 120px;
      margin: 0 auto;
      object-fit: contain;
      filter: drop-shadow(0 1px 0 rgba(0,0,0,0.04));
      transition: transform .18s;
    }
    .platform-logo.spotify {
      height: 44px;
      transform: scale(1.04);
    }
    .platform-logo.apple {
      height: 24px;
    }
    .platform-logo.youtube {
      height: 34px;
      transform: scale(0.98) translateY(2%);
    }
    .platform-logo.ytmusic {
      height: 54px;
      transform: scale(1.30) translateX(-2px);
    }
    .platform-logo.tidal {
      height: 32px;
      transform: scale(1.20);
    }
    .platform-logo.amazon {
      height: 42px;
      transform: scale(1.33) ;
    }
    .platform-logo.heart {
      height: 44px;
      transform: scale(1.12);
    }
    .platform-logo.soundcloud {
      height: 32px;
      transform: scale(1.5);
    }
    .platform-logo.pandora {
      height: 42px;
      transform: scale(1.1);
    }
    /* Center all logos vertically and horizontally */
    .platform-left, .platform-btn {
      justify-content: center;
      align-items: center;
    }