/* Custom SweetAlert2 Styles - Matching Site Design */
.swal2-popup {
  border-radius: 1.5rem !important;
  border: 2px solid rgba(140, 26, 255, 0.3) !important;
  background: rgba(255, 255, 255, 0.95) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 20px 40px rgba(140, 26, 255, 0.25) !important;
  padding: 2rem !important;
  font-family: inherit !important;
}

.swal2-title {
  color: #8c1aff !important;
  font-weight: 700 !important;
  font-size: 1.5rem !important;
  margin-bottom: 1rem !important;
  text-align: center !important;
}

.swal2-content {
  color: #4b5563 !important;
  font-size: 1.1rem !important;
  line-height: 1.6 !important;
  text-align: center !important;
  margin-bottom: 1.5rem !important;
}

.swal2-icon {
  margin: 1rem auto 1.5rem !important;
  width: 5rem !important;
  height: 5rem !important;
  border-width: 0.25em !important;
}

.swal2-icon.swal2-success {
  border-color: #10b981 !important;
}

.swal2-icon.swal2-success [class^='swal2-success-line'] {
  background-color: #10b981 !important;
}

.swal2-icon.swal2-success .swal2-success-ring {
  border-color: rgba(16, 185, 129, 0.3) !important;
}

.swal2-icon.swal2-error {
  border-color: #ef4444 !important;
}

.swal2-icon.swal2-error [class^='swal2-x-mark-line'] {
  background-color: #ef4444 !important;
}

.swal2-icon.swal2-warning {
  border-color: #f59e0b !important;
  color: #f59e0b !important;
}

.swal2-actions {
  display: flex !important;
  gap: 1rem !important;
  margin: 1rem 0 0 !important;
  justify-content: center !important;
}

.swal2-confirm {
  background: linear-gradient(to right, #8c1aff, #6a00ff) !important;
  border: none !important;
  border-radius: 1rem !important;
  padding: 0.75rem 1.5rem !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: white !important;
  box-shadow: 0 4px 20px rgba(140, 26, 255, 0.3) !important;
  transition: all 0.3s ease !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}

.swal2-confirm:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 25px rgba(140, 26, 255, 0.4) !important;
}

.swal2-cancel {
  background: linear-gradient(to right, #6b7280, #4b5563) !important;
  border: none !important;
  border-radius: 1rem !important;
  padding: 0.75rem 1.5rem !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: white !important;
  box-shadow: 0 4px 20px rgba(107, 114, 128, 0.3) !important;
  transition: all 0.3s ease !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}

.swal2-cancel:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 25px rgba(107, 114, 128, 0.4) !important;
}

.swal2-input {
  border: 2px solid #e5e7eb !important;
  border-radius: 1rem !important;
  padding: 0.75rem 1rem !important;
  font-size: 1rem !important;
  transition: all 0.3s ease !important;
  margin: 0 auto 1rem !important;
  width: 100% !important;
  max-width: 300px !important;
}

.swal2-input:focus {
  border-color: #8c1aff !important;
  box-shadow: 0 4px 20px rgba(140, 26, 255, 0.25) !important;
  outline: none !important;
}

.swal2-validation-message {
  background: #fee2e2 !important;
  color: #ef4444 !important;
  border-radius: 0.75rem !important;
  padding: 0.75rem !important;
  margin: 1rem 0 !important;
  font-size: 0.9rem !important;
}

.swal2-loader {
  border-color: #8c1aff transparent #8c1aff transparent !important;
}

/* Responsive adjustments */
@media (max-width: 640px) {
  .swal2-popup {
    padding: 1.5rem !important;
    margin: 1rem !important;
  }
  
  .swal2-title {
    font-size: 1.25rem !important;
  }
  
  .swal2-content {
    font-size: 1rem !important;
  }
  
  .swal2-confirm,
  .swal2-cancel {
    padding: 0.6rem 1.2rem !important;
    font-size: 0.9rem !important;
  }
}