/* Professional Music Player Styles */
.audio-player {position: fixed; bottom: 0; left: 0; right: 0; background: rgba(18, 18, 18, 0.95); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border-top: 1px solid rgba(255, 255, 255, 0.08); padding: 12px 24px; z-index: 9999; box-shadow: 0 -8px 32px rgba(0, 0, 0, 0.4); transition: all 0.3s ease;}
.player-container {max-width: 1400px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 24px;}
.player-info {display: flex; align-items: center; gap: 12px; min-width: 200px; flex: 0 0 200px;}
.player-cover-wrapper {position: relative; width: 64px; height: 64px; border-radius: 8px; overflow: hidden; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3); transition: transform 0.3s ease;}
.player-cover-wrapper:hover {transform: scale(1.05);}
.player-cover {width: 100%; height: 100%; object-fit: cover; display: block;}
.cover-overlay {position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,0.1) 100%); pointer-events: none;}
.player-details {flex: 1; min-width: 0;}
.player-title {font-size: 14px; font-weight: 600; color: #FFFFFF; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-bottom: 4px; line-height: 1.4; transition: color 0.2s ease;}
.player-artist {font-size: 13px; color: #B3B3B3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; line-height: 1.4; transition: color 0.2s ease;}
.player-controls {flex: 1; display: flex; flex-direction: column; align-items: center; gap: 10px; max-width: 600px;}
.control-buttons {display: flex; align-items: center; gap: 20px;}
.control-btn {background: transparent; border: none; color: #B3B3B3; cursor: pointer; padding: 8px; display: flex; align-items: center; justify-content: center; transition: all 0.2s ease; border-radius: 50%; width: 36px; height: 36px;}
.control-btn svg {transition: all 0.2s ease;}
.control-btn:hover {color: #FFFFFF; background: rgba(255, 255, 255, 0.1); transform: scale(1.1);}
.control-btn:active {transform: scale(0.95);}
/* Shuffle & Repeat – highlighted when on */
.shuffle-repeat-btn {position: relative;}
.shuffle-repeat-btn.active {color: #1DB954;}
.shuffle-repeat-btn.active:hover {color: #1ed760; background: rgba(29, 185, 84, 0.15);}
.max-controls .shuffle-repeat-btn.active {color: #1DB954;}
.max-controls .shuffle-repeat-btn.active:hover {color: #1ed760; background: rgba(29, 185, 84, 0.2);}
.repeat-badge {font-size: 10px; font-weight: 700; position: absolute; bottom: 2px; right: 2px; color: #1DB954;}
.play-pause-btn {background: #FFFFFF; border: none; color: #000000; width: 48px; height: 48px; border-radius: 50%; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1); box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2); position: relative; padding: 0;}
.play-pause-btn:hover {transform: scale(1.08); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);}
.play-pause-btn:active {transform: scale(0.95);}
.play-pause-btn svg {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); transition: opacity 0.2s ease, transform 0.2s ease; pointer-events: none;}
.play-pause-btn .play-icon {opacity: 1; display: block;}
.play-pause-btn .pause-icon {opacity: 0; display: none;}
.play-pause-btn.playing .play-icon {opacity: 0; display: none;}
.play-pause-btn.playing .pause-icon {opacity: 1; display: block;}
.progress-container {width: 100%; display: flex; align-items: center; gap: 12px;}
.progress-wrapper {flex: 1; position: relative; height: 14px; display: flex; align-items: center; cursor: pointer;}
.progress-bar {width: 100%; height: 4px; background: rgba(255, 255, 255, 0.15); border-radius: 2px; outline: none; cursor: pointer; -webkit-appearance: none; -moz-appearance: none; appearance: none; margin: 0;}
.progress-bar::-webkit-slider-thumb {-webkit-appearance: none; appearance: none; width: 12px; height: 12px; background: #FFFFFF; border-radius: 50%; cursor: pointer; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4); border: none; margin-top: -4px;}
.progress-bar:hover::-webkit-slider-thumb {width: 14px; height: 14px; margin-top: -5px; box-shadow: 0 1px 6px rgba(255, 255, 255, 0.3);}
.progress-bar::-moz-range-thumb {width: 12px; height: 12px; background: #FFFFFF; border-radius: 50%; cursor: pointer; border: none; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);}
.progress-bar:hover::-moz-range-thumb {width: 14px; height: 14px; box-shadow: 0 1px 6px rgba(255, 255, 255, 0.3);}
.progress-bar::-webkit-slider-runnable-track {background: linear-gradient(to right, #1DB954 0%, #1DB954 var(--progress, 0%), rgba(255, 255, 255, 0.15) var(--progress, 0%), rgba(255, 255, 255, 0.15) 100%); height: 4px; border-radius: 2px;}
.progress-bar::-moz-range-track {background: rgba(255, 255, 255, 0.15); height: 4px; border-radius: 2px; border: none;}
.progress-bar::-moz-range-progress {background: #1DB954; height: 4px; border-radius: 2px;}
.time-display {font-size: 11px; color: #B3B3B3; min-width: 42px; text-align: center; font-weight: 500; letter-spacing: 0.5px;}
.player-right-actions {display: flex; align-items: center; gap: 12px; flex-shrink: 0;}
.player-volume {display: flex; align-items: center; gap: 8px; min-width: 120px;}
.volume-btn {background: transparent; border: none; color: #B3B3B3; cursor: pointer; padding: 6px; display: flex; align-items: center; justify-content: center; transition: all 0.2s ease; border-radius: 4px; width: 32px; height: 32px;}
.volume-btn:hover {color: #FFFFFF; background: rgba(255, 255, 255, 0.1);}
.volume-btn svg {transition: opacity 0.2s ease;}
.volume-btn.muted .volume-icon {opacity: 0;}
.volume-btn.muted .volume-mute-icon {opacity: 1;}
.volume-btn:not(.muted) .volume-icon {opacity: 1;}
.volume-btn:not(.muted) .volume-mute-icon {opacity: 0;}
.volume-bar {flex: 1; height: 4px; background: rgba(255, 255, 255, 0.1); border-radius: 2px; outline: none; cursor: pointer; -webkit-appearance: none;}
.volume-bar::-webkit-slider-thumb {-webkit-appearance: none; appearance: none; width: 12px; height: 12px; background: #FFFFFF; border-radius: 50%; cursor: pointer; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3); transition: all 0.2s ease;}
.volume-bar::-webkit-slider-thumb:hover {transform: scale(1.2);}
.volume-bar::-moz-range-thumb {width: 12px; height: 12px; background: #FFFFFF; border-radius: 50%; cursor: pointer; border: none; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3); transition: all 0.2s ease;}
.volume-bar::-moz-range-thumb:hover {transform: scale(1.2);}

/* Action buttons (maximize, close) */
.player-action-buttons {display: flex; align-items: center; gap: 4px;}
.player-action-btn {background: transparent; border: none; color: #B3B3B3; cursor: pointer; padding: 6px; display: flex; align-items: center; justify-content: center; border-radius: 50%; width: 30px; height: 30px; transition: all 0.2s ease;}
.player-action-btn:hover {color: #FFFFFF; background: rgba(255, 255, 255, 0.1);}

/* ========== FULLSCREEN MAXIMIZED PLAYER ========== */
.maximized-player {display: none; position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; z-index: 99999; flex-direction: column; overflow: hidden; animation: maxPlayerSlideUp 0.35s cubic-bezier(0.4, 0, 0.2, 1);}
@keyframes maxPlayerSlideUp {from { transform: translateY(100%); opacity: 0; } to   { transform: translateY(0); opacity: 1; }}
.maximized-player.active {display: flex;}

/* Blurred cover art background */
.max-player-bg {position: absolute; inset: -40px; background-size: cover; background-position: center; filter: blur(60px) brightness(0.35) saturate(1.4); -webkit-filter: blur(60px) brightness(0.35) saturate(1.4); z-index: 0;}
.max-player-bg::after {content: ''; position: absolute; inset: 0; background: rgba(0, 0, 0, 0.45);}

/* Header with minimize chevron */
.max-player-header {position: relative; z-index: 1; display: flex; justify-content: space-between; align-items: center; padding: 14px 20px 0; flex-shrink: 0;}
.max-close-btn svg {transition: transform 0.2s ease;}
.max-close-btn:hover svg {transform: rotate(90deg);}
.max-header-btn {background: transparent; border: none; color: rgba(255, 255, 255, 0.7); cursor: pointer; padding: 8px 24px; display: flex; align-items: center; justify-content: center; border-radius: 20px; transition: all 0.2s ease;}
.max-header-btn:hover {color: #FFFFFF; background: rgba(255, 255, 255, 0.1);}

/* Body */
.max-player-body {position: relative; z-index: 1; flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 0 40px 48px; gap: 32px; max-width: 520px; margin: 0 auto; width: 100%;}

/* Cover art */
.max-cover-wrapper {width: min(55vw, 340px); aspect-ratio: 1; border-radius: 14px; overflow: hidden; box-shadow: 0 20px 60px rgba(0, 0, 0, 0.55); flex-shrink: 0; transition: transform 0.4s ease;}
.max-cover-wrapper:hover {transform: scale(1.02);}
.max-cover-img {width: 100%; height: 100%; object-fit: cover; display: block;}

/* Song info */
.max-song-info {text-align: center; width: 100%;}
.max-title {font-size: 24px; font-weight: 700; color: #FFFFFF; margin-bottom: 6px; line-height: 1.3; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.max-artist {font-size: 15px; color: rgba(255, 255, 255, 0.65); line-height: 1.4;}

/* Progress */
.max-progress {width: 100%;}
.max-progress-wrapper {width: 100%; position: relative; height: 24px; display: flex; align-items: center;}
.max-progress-bar {height: 5px !important;}
.max-progress-wrapper:hover .max-progress-bar {height: 7px !important;}
.max-time-row {display: flex; justify-content: space-between; margin-top: 4px;}
.max-time-row .time-display {font-size: 12px; color: rgba(255, 255, 255, 0.55);}

/* Controls */
.max-controls {display: flex; align-items: center; gap: 36px;}
.max-controls .control-btn {width: 52px; height: 52px; color: #FFFFFF;}
.max-controls .control-btn:hover {background: rgba(255, 255, 255, 0.1);}
.max-play-pause {width: 68px; height: 68px;}


/* Volume */
.max-volume {display: flex; align-items: center; gap: 10px; width: 100%; max-width: 300px;}
.max-volume .volume-btn {color: rgba(255, 255, 255, 0.65);}
.max-volume .volume-btn:hover {color: #FFFFFF;}
.max-volume .volume-bar {flex: 1;}

/* Desktop: bigger cover */
@media (min-width: 769px) {
.max-cover-wrapper {width: min(40vw, 380px);}
.max-title {font-size: 28px;}
.max-artist {font-size: 16px;}
}
 /* Mobile */
@media (max-width: 480px) {
.max-player-body {padding: 0 24px 36px; gap: 24px;}
.max-cover-wrapper {width: min(72vw, 280px);}
.max-title {font-size: 20px;}
.max-artist {font-size: 13px;}
.max-controls {gap: 28px;}
.max-controls .control-btn {width: 46px; height: 46px;}
.max-play-pause {width: 60px; height: 60px;}
}

 /* Smooth animations */
@keyframes fadeIn {from {
opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); }
}
.audio-player {animation: fadeIn 0.3s ease;}
/* Responsive Design */
@media (max-width: 1024px) {
.player-container {gap: 16px;}
.player-info {min-width: 180px; flex: 0 0 180px;}
.player-volume {min-width: 100px;}
}
@media (max-width: 768px) {
.audio-player {padding: 8px 12px;}
.player-container {flex-wrap: wrap; gap: 8px;}
.player-info {min-width: 0; flex: 1 1 0%; order: 1; overflow: hidden;}
.player-right-actions {order: 2; gap: 6px;}
.player-volume {display: none;}
.player-controls {order: 3; width: 100%; max-width: 100%;}
.player-cover-wrapper {width: 48px; height: 48px;}
.control-buttons {gap: 14px;}
.play-pause-btn {width: 42px; height: 42px;}
.control-btn {width: 32px; height: 32px;}
}
@media (max-width: 480px) {
.audio-player {padding: 0 10px 10px;}
.player-container{position: relative; padding: 20rem 0 0rem 0;}
.player-cover-wrapper {display:none;}
.player-controls{flex:unset;}
.progress-container{position: absolute; top: 0;}
.progress-container span{display:none;}
.player-title{font-size: 13px; width: 130px; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical;}
.player-artist{font-size: 11px; width: 125px; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical;}
.control-buttons { gap: 10px; position: absolute; bottom: 5px; right: 75px;}
.player-action-buttons{position: absolute; bottom: 8rem; right: 0;}
.progress-wrapper{height: 8px;}
.play-pause-btn { width: 38px; height: 38px; }
.control-btn { width: 28px; height: 28px; }
}
         /* Add padding to content when player is visible */
.layout__sidenav__content {transition: padding-bottom 0.3s ease; }
.layout__sidenav__content.player-active {padding-bottom: 100px;}
