/* Adjust Video Volume Tool Styles */

.volume-slider-container {
    padding: 20px 10px;
}

.volume-slider-wrapper {
    position: relative;
    width: 100%;
    height: 40px;
    margin-bottom: 10px;
}

/* Custom Range Slider with Striped Background */
.volume-slider {
    --volume-value: 20%; /* Default 100/500 * 100 = 20% */
    width: 100%;
    height: 8px;
    -webkit-appearance: none;
    appearance: none;
    background: repeating-linear-gradient(
        45deg,
        #e9ecef,
        #e9ecef 5px,
        #d3d6d9 5px,
        #d3d6d9 10px
    );
    border-radius: 4px;
    outline: none;
    margin: 0;
    padding: 0;
}

/* Webkit (Chrome, Safari) slider thumb */
.volume-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #052c65;
    cursor: pointer;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    transition: all 0.2s ease;
}

.volume-slider::-webkit-slider-thumb:hover {
    background: #041f4a;
    transform: scale(1.1);
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.3);
}

/* Webkit slider track with gradient fill */
.volume-slider::-webkit-slider-runnable-track {
    height: 8px;
    background: linear-gradient(to right,
        #198754 0%,
        #198754 var(--volume-value, 0%),
        transparent var(--volume-value, 0%)),
        repeating-linear-gradient(
            45deg,
            #e9ecef,
            #e9ecef 5px,
            #d3d6d9 5px,
            #d3d6d9 10px
        );
    border-radius: 4px;
}

/* Firefox slider thumb */
.volume-slider::-moz-range-thumb {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #052c65;
    cursor: pointer;
    border: none;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    transition: all 0.2s ease;
}

.volume-slider::-moz-range-thumb:hover {
    background: #041f4a;
    transform: scale(1.1);
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.3);
}

/* Firefox slider track */
.volume-slider::-moz-range-track {
    height: 8px;
    background: repeating-linear-gradient(
        45deg,
        #e9ecef,
        #e9ecef 5px,
        #d3d6d9 5px,
        #d3d6d9 10px
    );
    border-radius: 4px;
}

/* Firefox range progress */
.volume-slider::-moz-range-progress {
    height: 8px;
    background: #198754;
    border-radius: 4px;
}

/* Volume level 0% - Muted (Gray) */
.volume-slider.volume-muted::-webkit-slider-runnable-track {
    background: linear-gradient(to right,
        #6c757d 0%,
        #6c757d var(--volume-value, 0%),
        transparent var(--volume-value, 0%)),
        repeating-linear-gradient(
            45deg,
            #e9ecef,
            #e9ecef 5px,
            #d3d6d9 5px,
            #d3d6d9 10px
        );
}

.volume-slider.volume-muted::-moz-range-progress {
    background: #6c757d;
}

/* Volume level < 100% - Low (Blue) */
.volume-slider.volume-low::-webkit-slider-runnable-track {
    background: linear-gradient(to right,
        #0d6efd 0%,
        #0d6efd var(--volume-value, 0%),
        transparent var(--volume-value, 0%)),
        repeating-linear-gradient(
            45deg,
            #e9ecef,
            #e9ecef 5px,
            #d3d6d9 5px,
            #d3d6d9 10px
        );
}

.volume-slider.volume-low::-moz-range-progress {
    background: #0d6efd;
}

/* Volume level = 100% - Normal (Green) - Already default */

/* Volume level 100-200% - Medium High (Orange) */
.volume-slider.volume-medium::-webkit-slider-runnable-track {
    background: linear-gradient(to right,
        #fd7e14 0%,
        #fd7e14 var(--volume-value, 0%),
        transparent var(--volume-value, 0%)),
        repeating-linear-gradient(
            45deg,
            #e9ecef,
            #e9ecef 5px,
            #d3d6d9 5px,
            #d3d6d9 10px
        );
}

.volume-slider.volume-medium::-moz-range-progress {
    background: #fd7e14;
}

/* Volume level > 200% - Very High (Red) */
.volume-slider.volume-high::-webkit-slider-runnable-track {
    background: linear-gradient(to right,
        #dc3545 0%,
        #dc3545 var(--volume-value, 0%),
        transparent var(--volume-value, 0%)),
        repeating-linear-gradient(
            45deg,
            #e9ecef,
            #e9ecef 5px,
            #d3d6d9 5px,
            #d3d6d9 10px
        );
}

.volume-slider.volume-high::-moz-range-progress {
    background: #dc3545;
}

/* Dark mode slider */
[data-bs-theme="dark"] .volume-slider {
    background: repeating-linear-gradient(
        45deg,
        #343a40,
        #343a40 5px,
        #495057 5px,
        #495057 10px
    );
}

[data-bs-theme="dark"] .volume-slider::-webkit-slider-thumb {
    background: #6ea8fe;
}

[data-bs-theme="dark"] .volume-slider::-webkit-slider-thumb:hover {
    background: #9ec5fe;
}

[data-bs-theme="dark"] .volume-slider::-moz-range-thumb {
    background: #6ea8fe;
}

[data-bs-theme="dark"] .volume-slider::-moz-range-thumb:hover {
    background: #9ec5fe;
}

[data-bs-theme="dark"] .volume-slider::-webkit-slider-runnable-track {
    background: linear-gradient(to right,
        #198754 0%,
        #198754 var(--volume-value, 0%),
        transparent var(--volume-value, 0%)),
        repeating-linear-gradient(
            45deg,
            #343a40,
            #343a40 5px,
            #495057 5px,
            #495057 10px
        );
}

[data-bs-theme="dark"] .volume-slider::-moz-range-track {
    background: repeating-linear-gradient(
        45deg,
        #343a40,
        #343a40 5px,
        #495057 5px,
        #495057 10px
    );
}

[data-bs-theme="dark"] .volume-slider::-moz-range-progress {
    background: #198754;
}

/* Dark mode volume levels */
[data-bs-theme="dark"] .volume-slider.volume-muted::-webkit-slider-runnable-track {
    background: linear-gradient(to right,
        #6c757d 0%,
        #6c757d var(--volume-value, 0%),
        transparent var(--volume-value, 0%)),
        repeating-linear-gradient(
            45deg,
            #343a40,
            #343a40 5px,
            #495057 5px,
            #495057 10px
        );
}

[data-bs-theme="dark"] .volume-slider.volume-low::-webkit-slider-runnable-track {
    background: linear-gradient(to right,
        #6ea8fe 0%,
        #6ea8fe var(--volume-value, 0%),
        transparent var(--volume-value, 0%)),
        repeating-linear-gradient(
            45deg,
            #343a40,
            #343a40 5px,
            #495057 5px,
            #495057 10px
        );
}

[data-bs-theme="dark"] .volume-slider.volume-medium::-webkit-slider-runnable-track {
    background: linear-gradient(to right,
        #fd7e14 0%,
        #fd7e14 var(--volume-value, 0%),
        transparent var(--volume-value, 0%)),
        repeating-linear-gradient(
            45deg,
            #343a40,
            #343a40 5px,
            #495057 5px,
            #495057 10px
        );
}

[data-bs-theme="dark"] .volume-slider.volume-high::-webkit-slider-runnable-track {
    background: linear-gradient(to right,
        #dc3545 0%,
        #dc3545 var(--volume-value, 0%),
        transparent var(--volume-value, 0%)),
        repeating-linear-gradient(
            45deg,
            #343a40,
            #343a40 5px,
            #495057 5px,
            #495057 10px
        );
}

/* Volume marks */
.volume-marks {
    display: flex;
    justify-content: space-between;
    position: relative;
    margin-top: 8px;
}

.volume-mark {
    position: absolute;
    font-size: 12px;
    color: #6c757d;
    transform: translateX(-50%);
    white-space: nowrap;
}

[data-bs-theme="dark"] .volume-mark {
    color: #adb5bd;
}

/* Video preview wrapper */
.video-preview-wrapper {
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    border-radius: 8px;
    overflow: hidden;
    background-color: #000;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.video-preview {
    width: 100%;
    height: auto;
    display: block;
}

/* Volume settings card */
.volume-settings-card .card-header {
    background-color: #f8f9fa;
    border-bottom: 2px solid #dee2e6;
}

[data-bs-theme="dark"] .volume-settings-card .card-header {
    background-color: #343a40;
    border-bottom-color: #495057;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .volume-slider-wrapper {
        height: 50px;
    }

    .volume-slider::-webkit-slider-thumb {
        width: 24px;
        height: 24px;
    }

    .volume-slider::-moz-range-thumb {
        width: 24px;
        height: 24px;
    }

    .volume-mark {
        font-size: 10px;
    }
}
