/* Friday Song Share – unified share control */
.fss-share-wrap{position:relative;display:inline-flex;align-items:center;vertical-align:middle;margin:0 8px 0 0;z-index:50;box-sizing:border-box}
.fss-share-button{appearance:none!important;border:1px solid #d7d7d7!important;background:#fff!important;color:#626b73!important;width:48px!important;height:48px!important;padding:0!important;border-radius:10px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;cursor:pointer!important;box-sizing:border-box!important;transition:all .16s ease;box-shadow:0 1px 4px rgba(0,0,0,.08)!important}
.fss-share-button:hover{border-color:#a00000!important;color:#a00000!important;transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.12)!important}
.fss-share-button:focus-visible{outline:2px solid #a00000!important;outline-offset:3px}
.fss-share-button[aria-expanded="true"]{background:#a00000!important;border-color:#a00000!important;color:#fff!important}
.fss-share-button.is-loading{opacity:.55;pointer-events:none}
.fss-share-icon{width:25px!important;height:25px!important;display:block!important}
.fss-share-icon svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2.15;stroke-linecap:round;stroke-linejoin:round}

/* Unified panel: all sharing and streaming actions in one menu. */
.fss-share-menu{position:absolute!important;top:calc(100% + 9px)!important;left:50%!important;transform:translateX(-50%)!important;display:none;width:340px!important;max-width:calc(100vw - 20px)!important;padding:16px!important;background:#fff!important;border:1px solid #e5e5e5!important;border-radius:18px!important;box-shadow:0 12px 30px rgba(0,0,0,.16)!important;box-sizing:border-box!important;z-index:99999!important;font-family:inherit!important}
.fss-share-menu.is-open{display:block!important;animation:fssShareIn .13s ease-out}
.fss-share-menu:before{content:"";position:absolute;left:50%;top:-6px;width:11px;height:11px;background:#fff;border-left:1px solid #e5e5e5;border-top:1px solid #e5e5e5;transform:translateX(-50%) rotate(45deg)}
.fss-share-heading{font-family:inherit!important;font-size:18px!important;font-weight:600!important;line-height:1.25!important;color:#222!important;margin:0 2px 10px!important}
.fss-share-heading-music{border-top:1px solid #eee;padding-top:14px!important;margin-top:14px!important}
.fss-share-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
.fss-share-option{appearance:none!important;width:100%!important;min-width:0!important;height:48px!important;border:1px solid #d7d7d7!important;background:#fff!important;border-radius:9px!important;padding:0 10px!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:9px!important;color:#555!important;cursor:pointer!important;box-sizing:border-box!important;transition:background .14s ease,border-color .14s ease,color .14s ease,transform .14s ease;position:relative;text-align:left!important;font-family:inherit!important;font-size:14px!important;font-weight:500!important;line-height:1.2!important;white-space:nowrap!important;overflow:hidden!important}
.fss-share-option:hover,.fss-share-option:focus-visible{background:#f8f8f8!important;border-color:#a00000!important;transform:translateY(-1px);outline:none!important}
.fss-share-option svg{width:22px!important;height:22px!important;min-width:22px!important;display:block!important;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.fss-share-option-label-visible{display:block!important;position:static!important;width:auto!important;height:auto!important;padding:0!important;margin:0!important;overflow:hidden!important;clip:auto!important;white-space:nowrap!important;text-overflow:ellipsis!important;font-family:inherit!important;font-size:14px!important;font-weight:500!important;line-height:1.2!important;color:#333!important}
.fss-share-option[data-action="whatsapp"]{color:#1aad59!important}.fss-share-option[data-action="facebook"]{color:#1877f2!important}.fss-share-option[data-action="instagram"]{color:#d62976!important}.fss-share-option[data-action="telegram"]{color:#229ed9!important}.fss-share-option[data-action="copy"]{color:#66707a!important}.fss-share-option[data-action="download"]{color:#555!important}.fss-share-option[data-action="spotify"]{color:#1db954!important}.fss-share-option[data-action="tidal"]{color:#111!important}.fss-share-option[data-action="youtube"]{color:#ff0000!important}.fss-share-option[data-action="apple_music"]{color:#d62f69!important}.fss-share-option[data-action="deezer"]{color:#8b5cf6!important}
.fss-share-toast{position:absolute;top:calc(100% + 9px);left:50%;transform:translateX(-50%);background:#222;color:#fff;padding:7px 10px;border-radius:8px;font-family:inherit;font-size:12px;font-weight:500;line-height:1.2;white-space:nowrap;box-shadow:0 7px 18px rgba(0,0,0,.18);z-index:100000;display:none}
.fss-share-toast.is-visible{display:block;animation:fssShareIn .13s ease-out}
@keyframes fssShareIn{from{opacity:0;transform:translate(-50%,-4px)}to{opacity:1;transform:translate(-50%,0)}}

@media(max-width:600px){
  .fss-share-wrap{margin-right:6px}
  .fss-share-button{width:44px!important;height:44px!important;border-radius:9px!important}
  .fss-share-icon{width:23px!important;height:23px!important}
  .fss-share-menu{width:min(340px,calc(100vw - 24px))!important;padding:14px!important;border-radius:16px!important}
  .fss-share-heading{font-size:17px!important;margin-bottom:9px!important}
  .fss-share-option{height:46px!important;padding:0 9px!important;font-size:13px!important}
  .fss-share-option-label-visible{font-size:13px!important}
  .fss-share-option svg{width:21px!important;height:21px!important;min-width:21px!important}
}


/* v1.5.0 unified share: icons only */
.fss-share-menu{width:220px!important;padding:12px!important}
.fss-share-icons-only{grid-template-columns:repeat(2,1fr)!important;gap:8px!important}
.fss-share-icon-only-option{height:58px!important;padding:0!important;justify-content:center!important;border:1px solid #e2e2e2!important;border-radius:10px!important;background:#fff!important}
.fss-share-icon-only-option svg{width:30px!important;height:30px!important;min-width:30px!important}
.fss-share-icon-only-option:hover,.fss-share-icon-only-option:focus-visible{background:#fafafa!important;border-color:#a00000!important}
@media(max-width:600px){
  .fss-share-menu{width:190px!important;max-width:calc(100vw - 24px)!important;padding:10px!important}
  .fss-share-icon-only-option{height:54px!important}
  .fss-share-icon-only-option svg{width:28px!important;height:28px!important;min-width:28px!important}
}


/* ------------------------------------------------------------------
   Handy: Teilen-Menue als Bottom-Sheet, damit es die naechste
   Wunschkarte nicht mehr verdeckt. Ab 768px bleibt alles wie gehabt.
   ------------------------------------------------------------------ */
.fss-sheet-head{display:none}
.fss-opt-label{display:none}

@media(max-width:767px){
  .fss-share-backdrop{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.45);
    z-index:99998;
    animation:fssFadeIn .18s ease-out;
  }
  .fss-share-menu.is-open{
    position:fixed!important;
    left:0!important;
    right:0!important;
    top:auto!important;
    /* sitzt ueber der unteren Navigationsleiste, nicht darauf */
    bottom:calc(56px + env(safe-area-inset-bottom))!important;
    width:auto!important;
    max-width:none!important;
    transform:none!important;
    padding:10px 18px 20px!important;
    border:0!important;
    border-radius:18px 18px 0 0!important;
    box-shadow:0 -8px 30px rgba(0,0,0,.18)!important;
    animation:fssSheetUp .22s cubic-bezier(.22,.61,.36,1);
  }
  .fss-share-menu:before{display:none!important}
  .fss-sheet-head{display:block;margin:0 0 16px}
  .fss-sheet-grip{
    display:block;
    width:44px;
    height:4px;
    border-radius:999px;
    background:#d8d8d8;
    margin:0 auto 14px;
  }
  .fss-sheet-title{
    display:block;
    font-size:16px;
    font-weight:800;
    line-height:1.3;
    color:#111;
    word-break:break-word;
  }
  .fss-share-icons-only{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .fss-share-icon-only-option{
    height:58px!important;
    flex-direction:row!important;
    justify-content:flex-start!important;
    gap:12px!important;
    padding:0 14px!important;
  }
  .fss-opt-label{
    display:block;
    font-size:14px;
    font-weight:700;
    color:#222;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
}

/* translate statt transform: die Basisregel setzt transform mit !important,
   eine Animation darauf wuerde nicht greifen. */
@keyframes fssSheetUp{from{translate:0 100%}to{translate:0 0}}
@keyframes fssFadeIn{from{opacity:0}to{opacity:1}}

@media(prefers-reduced-motion:reduce){
  .fss-share-menu.is-open,.fss-share-backdrop{animation:none}
}
