/* BuddySocial v10.74 - Ultra mobile/tablet/app player polish
   Same mobile CSS is used by browser and installed PWA/app. Desktop >=1101px untouched. */

@media (max-width:1100px){
  .profile-player,
  .profile-playlist,
  .integrated-stream-preview .profile-player,
  .player-studio-card .profile-player,
  .retro-box .profile-player{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 auto !important;
    padding:12px !important;
    gap:10px !important;
    border-radius:22px !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
    box-shadow:
      0 10px 28px rgba(8,32,58,.18),
      inset 0 1px 0 rgba(255,255,255,.26) !important;
  }

  .profile-player::before{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    pointer-events:none !important;
    border-radius:inherit !important;
    background:linear-gradient(145deg,rgba(255,255,255,.12),transparent 34%,rgba(0,0,0,.08)) !important;
    z-index:0 !important;
  }
  .profile-player > *{position:relative !important; z-index:1 !important;}

  .profile-player .pp-brand,
  .profile-player .pp-main,
  .profile-player .pp-list-toggle,
  .profile-player .pp-playlist-list{
    backdrop-filter:blur(5px) saturate(110%) !important;
    -webkit-backdrop-filter:blur(5px) saturate(110%) !important;
  }

  .profile-player .pp-brand{
    min-height:48px !important;
    padding:7px 10px !important;
    border-radius:14px !important;
    background:linear-gradient(180deg,rgba(255,255,255,.13),rgba(0,0,0,.10)) !important;
    border:1px solid rgba(255,255,255,.22) !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.16) !important;
  }
  .profile-player .pp-brand img{
    width:34px !important;
    height:34px !important;
    flex:0 0 34px !important;
    border-radius:9px !important;
    object-fit:contain !important;
  }
  .profile-player .pp-brand span{
    font-size:12px !important;
    line-height:1.25 !important;
    font-weight:900 !important;
    letter-spacing:.01em !important;
  }

  .profile-player .pp-main{
    padding:13px !important;
    border-radius:17px !important;
    background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.19)) !important;
    border:1px solid rgba(255,255,255,.20) !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.10) !important;
  }

  .profile-player .pp-now{
    gap:6px !important;
    margin-bottom:11px !important;
  }
  .profile-player .pp-title{
    font-size:15px !important;
    line-height:1.28 !important;
    font-weight:900 !important;
    letter-spacing:.005em !important;
    text-shadow:0 1px 2px rgba(0,0,0,.18) !important;
  }
  .profile-player .pp-live-badge,
  .profile-player .pp-listeners,
  .profile-player .pp-trackno{
    min-height:24px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:4px 8px !important;
    border-radius:999px !important;
    font-size:10px !important;
    font-weight:900 !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.16) !important;
  }
  .profile-player .pp-live-badge{
    background:linear-gradient(180deg,#ff4a55,#d91f2d) !important;
    border-color:rgba(255,255,255,.35) !important;
  }

  .profile-player .pp-progress{
    height:12px !important;
    margin:3px 0 11px !important;
    border-radius:999px !important;
    background:rgba(0,0,0,.30) !important;
    border:1px solid rgba(255,255,255,.18) !important;
    box-shadow:inset 0 1px 4px rgba(0,0,0,.25) !important;
  }
  .profile-player .pp-progress > span{
    border-radius:999px !important;
    box-shadow:0 0 8px color-mix(in srgb,var(--player-accent,#f39a16) 65%,transparent) !important;
  }

  .profile-player .pp-eq{
    min-height:24px !important;
    height:24px !important;
    margin:2px 0 9px !important;
    opacity:.92 !important;
  }
  .profile-player .pp-eq > span{
    width:5px !important;
    max-width:5px !important;
    flex-basis:5px !important;
  }

  .profile-player .pp-controls{
    gap:13px !important;
    padding:3px 0 1px !important;
  }
  .profile-player .pp-controls > button{
    width:44px !important;
    height:44px !important;
    min-width:44px !important;
    border-radius:50% !important;
    background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(0,0,0,.20)) !important;
    border:1px solid rgba(255,255,255,.28) !important;
    box-shadow:0 5px 12px rgba(0,0,0,.15),inset 0 1px 0 rgba(255,255,255,.25) !important;
    transition:transform .12s ease,filter .12s ease !important;
  }
  .profile-player .pp-controls > button:active{
    transform:scale(.95) !important;
    filter:brightness(.96) !important;
  }
  .profile-player .pp-controls .pp-play{
    width:60px !important;
    height:60px !important;
    min-width:60px !important;
    background:linear-gradient(180deg,color-mix(in srgb,var(--player-accent,#f39a16) 84%,#fff),var(--player-accent,#f39a16)) !important;
    border:2px solid rgba(255,255,255,.48) !important;
    box-shadow:0 7px 18px color-mix(in srgb,var(--player-accent,#f39a16) 38%,transparent),inset 0 1px 0 rgba(255,255,255,.34) !important;
  }

  .profile-player .pp-bottomline{
    margin-top:1px !important;
    gap:8px !important;
  }
  .profile-player .pp-time{
    padding:5px 8px !important;
    border-radius:999px !important;
    background:rgba(0,0,0,.13) !important;
    border:1px solid rgba(255,255,255,.13) !important;
    font-size:10px !important;
  }
  .profile-player .pp-volume-inline{
    min-height:36px !important;
    padding:4px 7px !important;
    border-radius:999px !important;
    background:rgba(0,0,0,.12) !important;
    border:1px solid rgba(255,255,255,.13) !important;
  }
  .profile-player .pp-mute{
    width:30px !important;
    height:30px !important;
    min-width:30px !important;
    border-radius:50% !important;
  }

  .profile-player .pp-stream-info{
    gap:5px !important;
    margin-top:9px !important;
  }
  .profile-player .pp-stream-info span{
    padding:5px 8px !important;
    border-radius:10px !important;
    background:rgba(255,255,255,.09) !important;
    border:1px solid rgba(255,255,255,.14) !important;
    font-size:10px !important;
    line-height:1.25 !important;
  }

  .profile-player .pp-vinyl-wrap{
    padding:1px 0 2px !important;
  }
  .profile-player .pp-vinyl{
    width:clamp(112px,30vw,156px) !important;
    height:clamp(112px,30vw,156px) !important;
    max-width:156px !important;
    max-height:156px !important;
    filter:drop-shadow(0 7px 12px rgba(0,0,0,.22)) !important;
  }
  .profile-player .pp-vinyl-label{
    overflow:hidden !important;
    border-radius:50% !important;
  }
  .profile-player .pp-vinyl-cover{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
  }

  .profile-player .pp-list-toggle{
    min-height:44px !important;
    border-radius:14px !important;
    background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(0,0,0,.14)) !important;
    border:1px solid rgba(255,255,255,.22) !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.14) !important;
    font-size:12px !important;
    letter-spacing:.01em !important;
  }
  .profile-player .pp-playlist-list{
    max-height:248px !important;
    padding:4px !important;
    border-radius:14px !important;
    background:rgba(0,0,0,.10) !important;
    border:1px solid rgba(255,255,255,.13) !important;
    scrollbar-width:thin !important;
  }
  .profile-player .pp-track{
    min-height:42px !important;
    padding:8px 9px !important;
    border-radius:10px !important;
    margin:2px 0 !important;
    border:1px solid transparent !important;
    background:rgba(255,255,255,.045) !important;
  }
  .profile-player .pp-track.active{
    background:color-mix(in srgb,var(--player-accent,#f39a16) 20%,rgba(255,255,255,.06)) !important;
    border-color:color-mix(in srgb,var(--player-accent,#f39a16) 55%,rgba(255,255,255,.16)) !important;
  }
  .profile-player .pp-track > b{
    font-size:11px !important;
    line-height:1.2 !important;
  }

  /* force installed app/PWA to be exactly the same responsive player as mobile web */
  @media (display-mode:standalone){
    .profile-player,
    .profile-playlist,
    .integrated-stream-preview .profile-player,
    .player-studio-card .profile-player,
    .retro-box .profile-player{
      width:100% !important;
      max-width:100% !important;
      margin-left:auto !important;
      margin-right:auto !important;
    }
  }
}

@media (min-width:681px) and (max-width:1100px){
  .profile-player,
  .profile-playlist,
  .integrated-stream-preview .profile-player,
  .player-studio-card .profile-player,
  .retro-box .profile-player{
    max-width:760px !important;
    padding:15px !important;
  }
  .profile-player .pp-main{padding:15px !important;}
  .profile-player .pp-title{font-size:16px !important;}
  .profile-player .pp-playlist-list{max-height:300px !important;}
}

@media (max-width:680px){
  .profile-player,
  .profile-playlist,
  .integrated-stream-preview .profile-player,
  .player-studio-card .profile-player,
  .retro-box .profile-player{
    border-radius:18px !important;
    padding:10px !important;
    gap:9px !important;
  }
  .profile-player .pp-main{padding:10px !important;border-radius:14px !important;}
  .profile-player .pp-title{font-size:14px !important;}
  .profile-player .pp-controls{gap:10px !important;}
  .profile-player .pp-controls > button{width:41px !important;height:41px !important;min-width:41px !important;}
  .profile-player .pp-controls .pp-play{width:56px !important;height:56px !important;min-width:56px !important;}
  .profile-player .pp-vinyl{width:clamp(106px,38vw,140px) !important;height:clamp(106px,38vw,140px) !important;}
  .profile-player .pp-playlist-list{max-height:225px !important;}
}

@media (max-width:390px){
  .profile-player .pp-main{padding:9px !important;}
  .profile-player .pp-now{grid-template-columns:minmax(0,1fr) auto !important;}
  .profile-player .pp-trackno{display:none !important;}
  .profile-player .pp-controls{gap:8px !important;}
  .profile-player .pp-controls > button{width:38px !important;height:38px !important;min-width:38px !important;}
  .profile-player .pp-controls .pp-play{width:52px !important;height:52px !important;min-width:52px !important;}
  .profile-player .pp-stream-info span{width:100% !important;box-sizing:border-box !important;}
}
