/**
 * WP Mini Player Front-end Skin
 * Premium minimalist layout styling overriding WordPress native MediaElement & playlists.
 */

:root {
    --wymp-bg-color: #ffffff;
    --wymp-text-color: #111111;
    --wymp-accent-color: #777777;
    --wymp-border-radius: 8px;
    --wymp-cover-display: block;
}

/* ==========================================================================
   1. Playlist Core Styles (.wp-playlist)
   ========================================================================== */
.wp-playlist {
    background: var(--wymp-bg-color) !important;
    color: var(--wymp-text-color) !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    border-radius: var(--wymp-border-radius) !important;
    padding: 24px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.02) !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif !important;
    box-sizing: border-box !important;
    max-width: 100% !important;
    margin: 20px auto !important;
    transition: all 0.3s ease !important;
}

/* Current Playing Item Details Layout */
.wp-playlist-current-item {
    display: flex !important;
    align-items: center !important;
    gap: 20px !important;
    margin-bottom: 24px !important;
    padding-bottom: 20px !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
    height: auto !important; /* Force auto height to prevent clipping */
    min-height: 72px !important;
    overflow: visible !important;
}

/* Current Track Thumbnail / Album Cover */
.wp-playlist-current-item img,
.wp-playlist-current-item .wp-playlist-item-album-image {
    display: var(--wymp-cover-display) !important;
    float: none !important; /* Reset old WP float */
    margin: 0 !important;
    width: 72px !important;
    height: 72px !important;
    object-fit: cover !important;
    border-radius: calc(var(--wymp-border-radius) - 2px) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
    transition: transform 0.3s ease !important;
}

.wp-playlist-current-item:hover img,
.wp-playlist-current-item:hover .wp-playlist-item-album-image {
    transform: scale(1.03);
}

/* Metadata Text styling */
.wp-playlist-current-item .wp-playlist-caption {
    margin: 0 !important;
    font-size: 1.15rem !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    color: var(--wymp-text-color) !important;
    max-height: none !important;
    height: auto !important;
    overflow: visible !important;
}

.wp-playlist-current-item .wp-playlist-artist {
    display: block !important;
    font-size: 0.85rem !important;
    opacity: 0.7 !important;
    margin-top: 4px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    font-weight: 500 !important;
    color: var(--wymp-text-color) !important;
}

/* ==========================================================================
   2. MediaElement Customizations (MEJS)
   ========================================================================== */
.mejs-container.mejs-audio {
    background: transparent !important;
    height: 48px !important;
    width: 100% !important;
    font-family: inherit !important;
}

.mejs-controls {
    background: transparent !important;
    display: flex !important;
    align-items: center !important;
    height: 100% !important;
    padding: 0 !important;
}

/* Play/Pause Button restyling */
.mejs-playpause-button {
    width: 40px !important;
    height: 40px !important;
    margin-right: 12px !important;
    order: 1 !important;
}

.mejs-playpause-button button {
    width: 40px !important;
    height: 40px !important;
    margin: 0 !important;
    background: var(--wymp-accent-color) !important;
    border-radius: 50% !important;
    position: relative !important;
    transition: transform 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275), opacity 0.2s !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05) !important;
    opacity: 0.95 !important;
}

.mejs-playpause-button button:hover {
    transform: scale(1.05);
    opacity: 1 !important;
}

/* Make icons white for premium contrast */
.mejs-playpause-button button::before {
    color: #ffffff !important;
    font-family: 'dashicons' !important;
    font-size: 20px !important;
    width: 20px !important;
    height: 20px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
}

/* WordPress Dashicons for MediaElement */
.mejs-play button::before {
    content: "\f522" !important; /* Play icon */
    padding-left: 2px !important; /* Visual optical alignment */
}

.mejs-pause button::before {
    content: "\f523" !important; /* Pause icon */
}

/* Time Rail & Sleek Progress Track */
.mejs-time-rail {
    flex-grow: 1 !important;
    order: 3 !important;
    height: 24px !important;
    padding-top: 0 !important;
    margin: 0 16px !important;
    display: flex !important;
    align-items: center !important;
}

.mejs-time-rail span, 
.mejs-time-total {
    height: 4px !important;
    border-radius: 2px !important;
}

.mejs-time-total {
    background: rgba(0, 0, 0, 0.08) !important;
    width: 100% !important;
    margin: 0 !important;
    border: none !important;
    position: relative !important;
    cursor: pointer !important;
}

.mejs-time-buffering {
    background: rgba(0, 0, 0, 0.04) !important;
}

.mejs-time-loaded {
    background: rgba(0, 0, 0, 0.06) !important;
}

.mejs-time-current {
    background: var(--wymp-accent-color) !important;
}

/* Progress Slider Handle - Elegant dot on hover */
.mejs-time-handle {
    border: none !important;
    background: var(--wymp-accent-color) !important;
    width: 10px !important;
    height: 10px !important;
    border-radius: 50% !important;
    top: -3px !important;
    transform: scale(0) !important;
    transition: transform 0.15s ease !important;
}

.mejs-time-rail:hover .mejs-time-handle {
    transform: scale(1) !important;
}

/* Time Counters */
.mejs-currenttime-container, 
.mejs-duration-container {
    font-size: 0.8rem !important;
    font-weight: 500 !important;
    color: var(--wymp-text-color) !important;
    opacity: 0.6 !important;
    padding: 0 !important;
    line-height: 1 !important;
}

.mejs-currenttime-container {
    order: 2 !important;
}

.mejs-duration-container {
    order: 4 !important;
}

/* Volume Slider */
.mejs-volume-button {
    order: 5 !important;
    width: 24px !important;
    height: 24px !important;
    margin-left: 12px !important;
    position: relative !important;
}

.mejs-volume-button button {
    margin: 0 !important;
    background: transparent !important;
    width: 24px !important;
    height: 24px !important;
    opacity: 0.6 !important;
    transition: opacity 0.2s !important;
}

.mejs-volume-button button:hover {
    opacity: 1 !important;
}

/* Hide native MEJS control elements that bloat layout */
.mejs-controls .mejs-captions-button,
.mejs-controls .mejs-chapters-button {
    display: none !important;
}

/* ==========================================================================
   3. Playlist Tracks List Styling
   ========================================================================== */
.wp-playlist-tracks {
    margin-top: 16px !important;
}

.wp-playlist-item {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 12px 14px !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.04) !important;
    border-radius: 6px !important;
    margin-bottom: 4px !important;
    font-size: 0.92rem !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    color: var(--wymp-text-color) !important;
    text-decoration: none !important;
}

.wp-playlist-item:last-child {
    border-bottom: none !important;
    margin-bottom: 0 !important;
}

/* Hover effect with smooth micro-animation */
.wp-playlist-item:hover {
    background: rgba(0, 0, 0, 0.02) !important;
    transform: translateX(4px);
    color: var(--wymp-accent-color) !important;
}

/* Active Track state highlighting */
.wp-playlist-item.wp-playlist-playing {
    background: rgba(0, 0, 0, 0.03) !important;
    font-weight: 600 !important;
    border-left: 3px solid var(--wymp-accent-color) !important;
    border-radius: 0 6px 6px 0 !important;
    padding-left: 11px !important; /* Offset border width */
}

/* Track title link normalization */
.wp-playlist-item-title {
    font-weight: inherit !important;
    color: inherit !important;
}

.wp-playlist-item-length {
    opacity: 0.5 !important;
    font-variant-numeric: tabular-nums !important;
}

/* Native dark skin layout overrides */
.wp-playlist-light {
    border: 1px solid rgba(0,0,0,0.08) !important;
}

.wp-playlist-dark {
    border: 1px solid rgba(255,255,255,0.08) !important;
}
