/* Quran Audio Library - Modern UI/UX Overhaul */
:root {
    --qal-primary: #1a73e8; /* A modern blue */
    --qal-secondary: #f1f3f4;
    --qal-accent: #8ab4f8;
    --qal-text: #202124;
    --qal-light-text: #ffffff;
    --qal-subtle-text: #5f6368;
    --qal-border-color: #dadce0;
    --qal-shadow: 0 1px 2px 0 rgba(60,64,67,0.3), 0 2px 6px 2px rgba(60,64,67,0.15);
    --qal-border-radius: 12px;
}

body.qal-page-loading #content,
body.qal-page-loading main,
body.qal-page-loading .content-area {
    opacity: 0.7;
    transition: opacity 0.2s ease-in-out;
}

.qal-container {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    color: var(--qal-text);
    margin-bottom: 150px; /* More space for the player */
}

.qal-reciters-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
}

@media (min-width: 768px) {
    .qal-reciters-list {
        grid-template-columns: repeat(auto-fill, minmax(400px, 1fr));
    }
}

.qal-reciter-card {
    background: var(--qal-light-text);
    border: 1px solid var(--qal-border-color);
    border-radius: var(--qal-border-radius);
    box-shadow: 0 1px 2px 0 rgba(60,64,67,0.1);
    overflow: hidden;
    transition: box-shadow 0.3s ease;
}
.qal-reciter-card:hover {
    box-shadow: var(--qal-shadow);
}

.qal-reciter-name {
    background: linear-gradient(135deg, var(--qal-primary) 0%, var(--qal-accent) 100%);
    color: var(--qal-light-text);
    padding: 1rem 1.5rem;
    margin: 0;
    font-size: 1.3rem;
    font-weight: 500;
}

.qal-reading-type {
    padding: 0.5rem 1.5rem;
    font-size: 0.9rem;
    color: var(--qal-subtle-text);
    background: var(--qal-secondary);
}

.qal-surah-list {
    list-style: none;
    padding: 0;
    margin: 0;
    max-height: 450px;
    overflow-y: auto;
}

.qal-surah-item {
    display: flex;
    align-items: center;
    padding: 0.75rem 1.5rem;
    border-bottom: 1px solid var(--qal-border-color);
    transition: background-color 0.2s ease;
}
.qal-surah-item:last-child { border-bottom: none; }

.qal-surah-controls {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

[dir="ltr"] .qal-surah-controls { margin-right: 1.25rem; }
[dir="rtl"] .qal-surah-controls { margin-left: 1.25rem; }


.qal-play-pause-btn, .qal-add-to-playlist-btn {
    width: 36px;
    height: 36px;
    border: 1px solid var(--qal-border-color);
    border-radius: 50%;
    background-color: var(--qal-light-text);
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    transition: all 0.2s ease;
    color: var(--qal-primary);
    box-shadow: 0 1px 2px rgba(0,0,0,0.05);
}
.qal-play-pause-btn:hover, .qal-add-to-playlist-btn:hover {
    background-color: var(--qal-secondary);
    border-color: var(--qal-accent);
}

.qal-add-to-playlist-btn { font-size: 20px; font-weight: 400; }
.qal-play-pause-btn::before { content: '▶'; font-size: 14px; }

[dir="ltr"] .qal-play-pause-btn::before { transform: translateX(1px); }
[dir="rtl"] .qal-play-pause-btn::before { transform: translateX(-1px); }


.qal-surah-item.is-playing-main {
    background-color: var(--qal-accent);
    color: var(--qal-light-text);
    font-weight: 500;
}
.qal-surah-item.is-playing-main .qal-play-pause-btn,
.qal-surah-item.is-playing-main .qal-add-to-playlist-btn {
    background-color: var(--qal-primary);
    border-color: var(--qal-light-text);
    color: var(--qal-light-text);
}
.qal-surah-item.is-playing-main .qal-play-pause-btn::before { 
    content: '❚❚'; 
    font-size: 14px; 
    transform: translateX(0);
}


/* Floating Player Bar */
.qal-floating-player-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background: var(--qal-light-text);
    color: var(--qal-text);
    box-shadow: var(--qal-shadow);
    z-index: 100000;
    transform: translateY(100%);
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    border-top: 1px solid var(--qal-border-color);
}
.qal-floating-player-bar:not(.is-hidden) { transform: translateY(0); }

.qal-player-main-content {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 0.75rem 1.5rem;
    background: var(--qal-light-text);
    position: relative;
    z-index: 2;
}

.qal-track-info { flex-shrink: 0; width: 220px; }
#qal-current-surah { display: block; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#qal-current-reciter { font-size: 0.85rem; color: var(--qal-subtle-text); }

.qal-player-controls, .qal-playlist-actions { display: flex; align-items: center; gap: 1rem; }
.qal-player-controls button, .qal-playlist-actions button {
    background: none; border: none; font-size: 1.75rem; cursor: pointer;
    color: var(--qal-subtle-text); transition: color 0.2s;
}
.qal-player-controls button:hover, .qal-playlist-actions button:hover { color: var(--qal-primary); }
#qal-play-btn { font-size: 2.5rem; color: var(--qal-primary); }

.qal-progress-volume { display: flex; align-items: center; width: 100%; gap: 1rem; }
#qal-current-time, #qal-duration { font-size: 0.85rem; color: var(--qal-subtle-text); width: 45px; flex-shrink: 0; text-align: center; }

input[type="range"] { -webkit-appearance: none; appearance: none; background: transparent; cursor: pointer; flex-grow: 1; }
input[type="range"]::-webkit-slider-runnable-track { background: var(--qal-secondary); height: 6px; border-radius: 3px; }
input[type="range"]::-moz-range-track { background: var(--qal-secondary); height: 6px; border-radius: 3px; }
input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none; appearance: none; margin-top: -5px;
    background-color: var(--qal-primary); height: 16px; width: 16px; border-radius: 50%;
    transition: transform 0.2s;
}
input[type="range"]:hover::-webkit-slider-thumb { transform: scale(1.2); }

.qal-volume-control { display: flex; align-items: center; gap: 0.5rem; }
.qal-volume-control span { color: var(--qal-subtle-text); }
#qal-volume-slider { max-width: 100px; }

/* Playlist Panel */
.qal-playlist-panel {
    max-height: 0; overflow: hidden; transition: max-height 0.4s ease-in-out;
    background-color: var(--qal-secondary);
}
.qal-playlist-panel.is-open { max-height: 35vh; overflow-y: auto; }
#qal-playlist-list { list-style: none; margin: 0; padding: 0.5rem 0; }
.qal-playlist-item {
    display: flex; align-items: center; padding: 0.75rem 1.5rem;
    border-bottom: 1px solid var(--qal-border-color); cursor: pointer;
}
.qal-playlist-item:last-child { border-bottom: none; }
.qal-playlist-item:hover { background-color: #e8eaf6; }
.qal-playlist-item.is-playing-playlist { background-color: var(--qal-accent); color: var(--qal-light-text); }
.qal-playlist-item.is-playing-playlist .reciter { color: var(--qal-light-text); opacity: 0.8; }

.qal-playlist-item .qal-drag-handle { cursor: grab; color: var(--qal-subtle-text); }
.qal-playlist-item .qal-track-details { flex-grow: 1; }
.qal-playlist-item .qal-track-details .surah { display: block; font-weight: 500; }
.qal-playlist-item .qal-track-details .reciter { font-size: 0.85em; color: var(--qal-subtle-text); }
.qal-playlist-item .qal-remove-from-playlist-btn {
    background: none; border: none; color: var(--qal-subtle-text);
    font-size: 1.5rem; font-weight: 300; cursor: pointer;
}
.qal-playlist-item.is-dragging { opacity: 0.5; background: var(--qal-accent); }

/* --- RTL STYLES --- */
[dir="rtl"] .qal-player-main-content,
[dir="rtl"] .qal-player-controls,
[dir="rtl"] .qal-progress-volume,
[dir="rtl"] .qal-volume-control,
[dir="rtl"] .qal-playlist-item {
    flex-direction: row-reverse;
}

[dir="rtl"] .qal-playlist-item .qal-drag-handle { margin-right: 0; margin-left: 1rem; }
[dir="rtl"] .qal-playlist-item .qal-remove-from-playlist-btn { margin-left: 0; margin-right: 1rem; }
