
/* ========================================
   SERVSAFE CHECKOUT SWEETALERT
   ======================================== */

.exam-checkout-swal-container.swal2-backdrop-show {
  background: rgba(15, 23, 42, 0.55) !important;
  backdrop-filter: blur(2px);
}

.exam-checkout-swal-popup {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 18px !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.03), 0 20px 55px rgba(15, 23, 42, 0.18) !important;
  color: #334155 !important;
  font-family: inherit !important;
  padding: 32px 30px 28px !important;
  width: min(460px, calc(100% - 32px)) !important;
}

.exam-checkout-swal-icon {
  margin: 0 auto 22px !important;
}

.exam-checkout-swal-icon.swal2-question {
  border-color: #7dd3fc !important;
  color: #0284c7 !important;
}

.exam-checkout-swal-icon.swal2-success {
  border-color: #a7f3d0 !important;
  color: #047857 !important;
}

.exam-checkout-swal-icon.swal2-success [class^='swal2-success-line'] {
  background-color: #047857 !important;
}

.exam-checkout-swal-icon.swal2-success .swal2-success-ring {
  border-color: rgba(4, 120, 87, 0.2) !important;
}

.exam-checkout-swal-title {
  color: #0f172a !important;
  font-size: 1.35rem !important;
  font-weight: 750 !important;
  letter-spacing: -0.01em !important;
  line-height: 1.3 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.exam-checkout-swal-text {
  color: #64748b !important;
  font-size: 14.5px !important;
  line-height: 1.6 !important;
  margin: 11px 0 0 !important;
  overflow-wrap: anywhere;
  padding: 0 !important;
  text-align: center !important;
}

.exam-checkout-swal-actions {
  display: grid !important;
  gap: 10px !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  margin: 26px 0 0 !important;
  width: 100% !important;
}

.exam-checkout-swal-confirm-button,
.exam-checkout-swal-cancel-button {
  border-radius: 10px !important;
  cursor: pointer !important;
  font-family: inherit !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  min-height: 46px !important;
  padding: 11px 16px !important;
  transition: background-color 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease !important;
  width: 100% !important;
}

.exam-checkout-swal-confirm-button {
  background: #0284c7 !important;
  border: 1px solid #0284c7 !important;
  box-shadow: 0 5px 14px rgba(2, 132, 199, 0.2) !important;
  color: #ffffff !important;
  order: 2;
}

.exam-checkout-swal-confirm-button:hover {
  background: #0369a1 !important;
  border-color: #0369a1 !important;
  box-shadow: 0 7px 18px rgba(2, 132, 199, 0.25) !important;
  transform: translateY(-1px);
}

.exam-checkout-swal-cancel-button {
  background: #ffffff !important;
  border: 1px solid #cbd5e1 !important;
  box-shadow: none !important;
  color: #334155 !important;
  order: 1;
}

.exam-checkout-swal-cancel-button:hover {
  background: #f8fafc !important;
  border-color: #94a3b8 !important;
  color: #0f172a !important;
}

.exam-checkout-swal-confirm-button:active,
.exam-checkout-swal-cancel-button:active {
  transform: translateY(0);
}

.exam-checkout-swal-confirm-button:focus-visible,
.exam-checkout-swal-cancel-button:focus-visible {
  outline: 3px solid rgba(2, 132, 199, 0.22) !important;
  outline-offset: 3px !important;
}

@media (max-width: 520px) {
  .exam-checkout-swal-popup {
    padding: 27px 20px 21px !important;
  }

  .exam-checkout-swal-title {
    font-size: 1.2rem !important;
  }

  .exam-checkout-swal-text {
    font-size: 14px !important;
  }

  .exam-checkout-swal-actions {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .exam-checkout-swal-confirm-button {
    order: 1;
  }

  .exam-checkout-swal-cancel-button {
    order: 2;
  }
}

@media (prefers-reduced-motion: reduce) {
  .exam-checkout-swal-popup,
  .exam-checkout-swal-confirm-button,
  .exam-checkout-swal-cancel-button {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}

/* ========================================
   SERVSAFE CHECKOUT TOAST
   ======================================== */

.exam-checkout-toast {
  background: #b91c1c !important;
  border: 1px solid rgba(255, 255, 255, 0.24) !important;
  border-radius: 12px !important;
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.24) !important;
  color: #ffffff !important;
  padding: 14px 17px !important;
}

.exam-checkout-toast.swal2-icon-error {
  background: #b91c1c !important;
}

.exam-checkout-toast .swal2-icon {
  border-color: rgba(255, 255, 255, 0.75) !important;
  color: #ffffff !important;
}

.exam-checkout-toast .swal2-error [class^='swal2-x-mark-line'] {
  background-color: #ffffff !important;
}

.exam-checkout-toast-title {
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 750 !important;
  line-height: 1.35 !important;
}

.exam-checkout-toast-text {
  color: rgba(255, 255, 255, 0.9) !important;
  font-size: 12.5px !important;
  line-height: 1.45 !important;
  margin-top: 3px !important;
}

.exam-checkout-toast .swal2-timer-progress-bar {
  background: rgba(255, 255, 255, 0.55) !important;
}

@media (max-width: 520px) {
  .exam-checkout-toast {
    width: calc(100% - 28px) !important;
  }
}
