/* Stream Status Widget CSS */

.stream-status-widget {
    border-left: 3px solid #6441A4;
    min-height: 300px;
}

.status-indicator {
    padding: 1rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.status-text {
    font-weight: 600;
}

.status-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #dc3545;
    transition: background-color 0.3s ease;
}

.status-indicator.online .status-text {
    color: #28a745;
}

.status-indicator.online .status-dot {
    background: #28a745;
    box-shadow: 0 0 5px #28a745;
    animation: pulse 2s infinite;
}

.twitch-preview {
    width: 100%;
    height: 200px;
    background: #1a1a1a;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #6c757d;
}

.btn-twitch {
    background-color: #6441A4;
    color: white;
}

.btn-twitch:hover {
    opacity: 0.9;
    color: white;
}

.offline-message {
    display: flex;
    height: 100%;
    justify-content: center;
    align-items: center;
    color: #adb5bd;
    font-size: 1.1rem;
    text-align: center;
    padding: 1rem;
}

/* Spinner während des Ladens */
.spinner-container {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
}

.spinner-border.text-purple {
    color: #6441A4;
}

/* Pulsierende Animation für den Live-Dot */
@keyframes pulse {
    0% {
        transform: scale(1);
        opacity: 1;
    }
    50% {
        transform: scale(1.2);
        opacity: 0.8;
    }
    100% {
        transform: scale(1);
        opacity: 1;
    }
}