/* =========================================
   UI Kit - Alerts
   ========================================= */

.gc-alert {
    display: flex;
    align-items: center;
    gap: var(--spacing-3sm);
    padding: var(--spacing-sm) var(--spacing-md);
    border-radius: var(--radius-lg);
    font-size: var(--font-size-sm);
    font-weight: 500;
    transition: all var(--transition-fast);
}

.gc-alert i {
    font-size: var(--font-size-lg);
    flex-shrink: 0;
}

.gc-alert-success {
    background: rgba(var(--success-color-rgb), 0.1);
    color: var(--success-color);
    border: 1px solid rgba(var(--success-color-rgb), 0.2);
}

.gc-alert-danger {
    background: rgba(var(--danger-color-rgb), 0.1);
    color: var(--danger-color);
    border: 1px solid rgba(var(--danger-color-rgb), 0.2);
}

.gc-alert-warning {
    background: rgba(var(--warning-color-rgb), 0.1);
    color: var(--warning-color);
    border: 1px solid rgba(var(--warning-color-rgb), 0.2);
}

.gc-alert-info {
    background: rgba(var(--accent-link-rgb), 0.1);
    color: var(--accent-link);
    border: 1px solid rgba(var(--accent-link-rgb), 0.2);
}

/* =========================================
   Toast — стековые уведомления
   ========================================= */

.gc-toast-container {
    position: fixed;
    bottom: var(--spacing-lg);
    left: 50%;
    transform: translateX(-50%);
    z-index: 9999;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--spacing-xs);
    pointer-events: none;
}

.gc-toast {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    padding: var(--spacing-sm) var(--spacing-md);
    border-radius: var(--radius-lg);
    font-size: var(--font-size-sm);
    font-weight: 500;
    min-width: 260px;
    max-width: 420px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
    pointer-events: all;
    opacity: 0;
    transform: translateY(8px);
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.gc-toast--in {
    opacity: 1;
    transform: translateY(0);
}

.gc-toast--out {
    animation: gc-toast-out 0.2s ease forwards;
}

@keyframes gc-toast-out {
    to { opacity: 0; transform: translateY(8px); }
}

.gc-toast-message { flex: 1; }

.gc-toast-close {
    background: none;
    border: none;
    cursor: pointer;
    padding: 2px;
    color: inherit;
    opacity: 0.5;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    transition: opacity var(--transition-fast);
}
.gc-toast-close:hover { opacity: 1; }

.gc-toast--success {
    background: rgba(var(--success-color-rgb), 0.12);
    color: var(--success-color);
    border: 1px solid rgba(var(--success-color-rgb), 0.25);
}
.gc-toast--danger {
    background: rgba(var(--danger-color-rgb), 0.12);
    color: var(--danger-color);
    border: 1px solid rgba(var(--danger-color-rgb), 0.25);
}
.gc-toast--warning {
    background: rgba(var(--warning-color-rgb), 0.12);
    color: var(--warning-color);
    border: 1px solid rgba(var(--warning-color-rgb), 0.25);
}
.gc-toast--info {
    background: rgba(var(--accent-link-rgb), 0.12);
    color: var(--accent-link);
    border: 1px solid rgba(var(--accent-link-rgb), 0.25);
}
