/**
 * Audio Visualizer Styles
 * استایل‌های مربوط به نوارهای صوتی متحرک
 */

/* Container اصلی visualizer */
.audio-visualizer-container {
    position: relative;
    display: inline-block;
    border-radius: 10px; /* مربع با گوشه‌های گرد */
    overflow: hidden;
}

/* Canvas برای رسم نوارها */
.audio-visualizer-canvas {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
    opacity: 0.8;
    transition: opacity 0.3s ease;
    pointer-events: none; /* تا روی عکس کلیک کرد */
}

/* عکس خواننده */
.artist-image-with-visualizer {
    position: relative;
    border-radius: 10px; /* مربع با گوشه‌های گرد */
    overflow: hidden;
    /* box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3); */
    transition: all 0.3s ease;
    width: 100%;
    height: 100%;
}

.artist-image-with-visualizer img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 10px; /* مربع با گوشه‌های گرد */
    position: relative;
    z-index: 2;
}

/* حالت فعال visualizer */
.audio-visualizer-container.active {
    animation: pulse 2s infinite ease-in-out;
}

.audio-visualizer-container.active .audio-visualizer-canvas {
    opacity: 1;
}

.audio-visualizer-container.active .artist-image-with-visualizer {
    /* box-shadow: 0 15px 50px rgba(255, 107, 107, 0.4); */
}

/* انیمیشن pulse برای container */
@keyframes pulse {
    0%, 100% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.02);
    }
}

/* تنظیمات responsive */
@media (max-width: 768px) {
    .audio-visualizer-container {
        width: 200px !important;
        height: 200px !important;
    }
    
    .audio-visualizer-canvas {
        width: 240px !important;
        height: 240px !important;
    }
}

@media (max-width: 480px) {
    .audio-visualizer-container {
        width: 150px !important;
        height: 150px !important;
    }
    
    .audio-visualizer-canvas {
        width: 180px !important;
        height: 180px !important;
    }
}

/* دکمه کنترل visualizer */
.visualizer-toggle {
    position: absolute;
    bottom: 10px;
    right: 10px;
    background: rgba(255, 255, 255, 0.9);
    border: none;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    z-index: 10;
    backdrop-filter: blur(10px);
}

.visualizer-toggle:hover {
    background: rgba(255, 255, 255, 1);
    transform: scale(1.1);
}

.visualizer-toggle i {
    font-size: 18px;
    color: #333;
}

/* حالت‌های مختلف visualizer */
.visualizer-toggle.active {
    background: rgba(255, 107, 107, 0.9);
    color: white;
}

.visualizer-toggle.active i {
    color: white;
}

/* Loading state */
.audio-visualizer-container.loading .audio-visualizer-canvas {
    opacity: 0.3;
    animation: loading-pulse 1.5s infinite ease-in-out;
}

@keyframes loading-pulse {
    0%, 100% {
        opacity: 0.3;
    }
    50% {
        opacity: 0.7;
    }
}

/* نمایش message برای مرورگرهای پشتیبانی نشده */
.visualizer-not-supported {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: rgba(0, 0, 0, 0.8);
    color: white;
    padding: 10px 15px;
    border-radius: 5px;
    font-size: 12px;
    z-index: 5;
    display: none;
}

.visualizer-not-supported.show {
    display: block;
}

/* تنظیمات برای حالت تاریک */
.dark-mode .visualizer-toggle {
    background: rgba(0, 0, 0, 0.7);
    color: white;
}

.dark-mode .visualizer-toggle i {
    color: white;
}

.dark-mode .visualizer-toggle:hover {
    background: rgba(0, 0, 0, 0.9);
}

/* افکت‌های اضافی برای visualizer فعال */
.audio-visualizer-container.active::before {
    /* content: ''; */
    position: absolute;
    top: -5px;
    left: -5px;
    right: -5px;
    bottom: -5px;
    border-radius: 50%;
    background: linear-gradient(45deg, #ff6b6b, #4ecdc4, #45b7d1, #f9ca24);
    z-index: -1;
    opacity: 0.3;
    animation: rotate 3s linear infinite;
}

@keyframes rotate {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

/* تنظیمات برای حالت pause */
.audio-visualizer-container.paused .audio-visualizer-canvas {
    opacity: 0.4;
    filter: grayscale(0.5);
}

/* حالت مخفی */
.audio-visualizer-container.hidden .audio-visualizer-canvas {
    display: none;
}