/**
 * ===================================
 * GunCult UI Kit - Status Indicators
 * ===================================
 * 
 * Индикаторы статуса (точки с анимацией)
 */

/* Базовый индикатор */
.gc-status-indicator {
    --gc-status-indicator-color: var(--success-color);
    --gc-status-indicator-size: 8px;
    width: var(--gc-status-indicator-size) !important;
    height: var(--gc-status-indicator-size) !important;
    min-width: var(--gc-status-indicator-size) !important;
    min-height: var(--gc-status-indicator-size) !important;
    max-width: var(--gc-status-indicator-size) !important;
    max-height: var(--gc-status-indicator-size) !important;
    aspect-ratio: 1 / 1;
    display: inline-block;
    position: relative;
    flex-shrink: 0;
    border-radius: 50% !important;
    background: var(--gc-status-indicator-color);
}

/* Варианты цветов */
.gc-status-indicator-success {
    --gc-status-indicator-color: var(--success-color);
    background: var(--gc-status-indicator-color);
}

.gc-status-indicator-warning {
    --gc-status-indicator-color: var(--warning-color);
    background: var(--gc-status-indicator-color);
}

.gc-status-indicator-danger {
    --gc-status-indicator-color: var(--danger-color);
    background: var(--gc-status-indicator-color);
}

.gc-status-indicator-info {
    --gc-status-indicator-color: var(--info-color);
    background: var(--gc-status-indicator-color);
}

.gc-status-indicator-secondary {
    --gc-status-indicator-color: var(--font-secondary);
    background: var(--gc-status-indicator-color);
}

/* Самодостаточный pulse, не зависящий от box-shadow внешнего контекста */
@keyframes gc-status-indicator-pulse {
    0% {
        transform: scale(1);
        opacity: 0.45;
    }
    70% {
        transform: scale(1.9);
        opacity: 0;
    }
    100% {
        transform: scale(1.9);
        opacity: 0;
    }
}

/* Применение анимации */
.gc-status-indicator-pulse::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: var(--gc-status-indicator-color);
    opacity: 0.45;
    transform: scale(1);
    transform-origin: center;
    animation: gc-status-indicator-pulse 2s infinite;
    pointer-events: none;
}

/* Размеры */
.gc-status-indicator-sm {
    --gc-status-indicator-size: 6px;
}

.gc-status-indicator-lg {
    --gc-status-indicator-size: 12px;
}

/* Адаптивность */
@media (prefers-reduced-motion: reduce) {
    .gc-status-indicator-pulse::after {
        animation: none;
        opacity: 0;
    }
}

