/* Shared music player (index + rsvp) */
.music{
  position:fixed; bottom:24px; right:24px; z-index:30;
  display:flex; align-items:center; gap:12px;
  background:rgba(58,34,48,.85); backdrop-filter:blur(12px);
  border:1px solid rgba(241,207,122,.45);
  color:#fce6c8; padding:10px 18px 10px 12px;
  border-radius:999px;
  font-family:"Jost", sans-serif; font-size:10.5px; letter-spacing:.26em; text-transform:uppercase;
  box-shadow:0 18px 40px -20px rgba(90,48,70,.55);
  cursor:pointer; user-select:none;
  opacity:0; pointer-events:none; transition:opacity .5s ease .3s;
}
.music.show{ opacity:1; pointer-events:auto; }
.music .disc{
  width:34px;height:34px;border-radius:50%;
  background:
    conic-gradient(from 0deg, #f1cf7a, #d4a24a, #f3a7b8, #d4a24a, #f1cf7a);
  display:grid;place-items:center;
  border:1px solid rgba(255,233,184,.55);
  position:relative;
  animation: lb-spin 6s linear infinite;
  animation-play-state:paused;
}
.music.playing .disc{ animation-play-state:running; }
.music .disc::after{
  content:""; position:absolute; inset:38%; border-radius:50%;
  background:#3a2230; border:1px solid rgba(255,233,184,.45);
}
.music .icon{
  position:absolute; inset:0; display:grid; place-items:center;
  color:#3a2230; z-index:2;
}
@keyframes lb-spin{ to{ transform:rotate(360deg); } }
.music .label small{
  display:block; opacity:.55; font-size:9px; margin-top:2px; letter-spacing:.22em;
}

.ytwrap{
  position:fixed; left:-9999px; top:-9999px; width:1px; height:1px; opacity:0;
}

.back-invite{
  position:fixed; top:20px; left:20px; z-index:25;
  font-family:"Jost", sans-serif; font-size:10px; letter-spacing:.32em;
  text-transform:uppercase; color:#a7782a; text-decoration:none;
  padding:10px 14px; border-radius:999px;
  background:rgba(255,243,228,.75); border:1px solid rgba(167,120,42,.35);
  backdrop-filter:blur(8px);
  transition:background .2s ease, color .2s ease;
}
.back-invite:hover{ background:rgba(255,250,240,.95); color:#5a3046; }

@media (max-width: 640px){
  .music{ font-size:9.5px; padding:8px 14px 8px 10px; bottom:14px; right:14px; }
  .back-invite{ top:12px; left:12px; font-size:9px; padding:8px 12px; }
}

@media print{
  .music, .ytwrap, .back-invite{ display:none !important; }
}
