/* ==========================================
   DESIGN SYSTEM - BUTTONS & CTAS
   ========================================== */

.btn {
    border-radius: var(--radius-14);
    padding: 0.55rem var(--space-16);
    font-size: 0.875rem;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.375rem;
    transition: var(--transition-200);
    border: 1px solid transparent;
    cursor: pointer;
    min-height: 42px;
    text-decoration: none;
}

.btn:hover {
    transform: translateY(-1px);
}

.btn:active {
    transform: scale(0.98);
}

.btn:disabled, .btn.disabled {
    opacity: 0.55;
    pointer-events: none;
    transform: none;
    box-shadow: none;
}

/* === Tone tombol selaras highlight count (gradien profesional, teks putih) === */
.btn-primary {
    background: linear-gradient(135deg, #1E7CFF 0%, #09C8E8 100%);
    border-color: transparent;
    color: #FFFFFF;
    box-shadow: 0 2px 6px rgba(30, 124, 255, 0.24);
}

.btn-primary:hover, .btn-primary:focus {
    filter: brightness(0.93);
    border-color: transparent;
    box-shadow: 0 4px 14px rgba(30, 124, 255, 0.38);
    color: #FFFFFF;
}

.btn-secondary {
    background-color: #FFFFFF;
    border-color: #CBD5E1;
    color: #334155;
}

.btn-secondary:hover, .btn-secondary:focus, .btn-secondary:active {
    background: linear-gradient(135deg, #6C7787 0%, #414652 100%);
    border-color: transparent;
    color: #FFFFFF;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.24);
}

.btn-outline-secondary {
    background-color: #FFFFFF;
    border-color: #CBD5E1;
    color: #334155;
}

.btn-outline-secondary:hover, .btn-outline-secondary:focus, .btn-outline-secondary:active {
    background: linear-gradient(135deg, #6C7787 0%, #414652 100%);
    border-color: transparent;
    color: #FFFFFF;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.24);
}

.btn-success {
    background: linear-gradient(135deg, #34D95A 0%, #1CCF8A 100%);
    border-color: transparent;
    color: #FFFFFF;
    box-shadow: 0 2px 6px rgba(28, 207, 138, 0.24);
}

.btn-success:hover, .btn-success:focus {
    filter: brightness(0.93);
    border-color: transparent;
    color: #FFFFFF;
}

.btn-warning {
    background: linear-gradient(135deg, #F59E0B 0%, #FBBF24 100%);
    border-color: transparent;
    color: #FFFFFF;
    box-shadow: 0 2px 6px rgba(245, 158, 11, 0.24);
}

.btn-warning:hover, .btn-warning:focus {
    filter: brightness(0.93);
    border-color: transparent;
    color: #FFFFFF;
}

.btn-danger {
    background: linear-gradient(135deg, #dc3545 0%, #ff6b81 100%);
    border-color: transparent;
    color: #FFFFFF;
    box-shadow: 0 2px 6px rgba(220, 53, 69, 0.24);
}

.btn-danger:hover, .btn-danger:focus {
    filter: brightness(0.93);
    border-color: transparent;
    color: #FFFFFF;
}

.btn-info {
    background: linear-gradient(135deg, #09C8E8 0%, #22d3ee 100%);
    border-color: transparent;
    color: #FFFFFF;
}

.btn-info:hover, .btn-info:focus {
    filter: brightness(0.93);
    border-color: transparent;
    color: #FFFFFF;
}

.btn-outline-primary:hover {
    background: linear-gradient(135deg, #1E7CFF 0%, #09C8E8 100%);
    border-color: transparent;
    color: #FFFFFF;
}

.btn-outline-success:hover {
    background: linear-gradient(135deg, #34D95A 0%, #1CCF8A 100%);
    border-color: transparent;
    color: #FFFFFF;
}

.btn-outline-warning:hover {
    background: linear-gradient(135deg, #F59E0B 0%, #FBBF24 100%);
    border-color: transparent;
    color: #FFFFFF;
}

.btn-outline-danger:hover {
    background: linear-gradient(135deg, #dc3545 0%, #ff6b81 100%);
    border-color: transparent;
    color: #FFFFFF;
}

.btn-outline-info:hover {
    background: linear-gradient(135deg, #09C8E8 0%, #22d3ee 100%);
    border-color: transparent;
    color: #FFFFFF;
}

.btn-sm {
    min-height: 34px;
    padding: 0.35rem var(--space-8);
    font-size: 0.8rem;
    border-radius: 10px;
}

.btn-lg {
    min-height: 48px;
    padding: 0.75rem var(--space-24);
    font-size: 1rem;
    border-radius: var(--radius-14);
}
