/*
* swal-modern.css
* Modern, theme-aware restyle of SweetAlert2 popups used across the site.
* Pure visual layer — does not touch any Swal.fire() call sites, so every
* existing alert/confirm/prompt automatically picks this up.
******************************************************************************/

:root {
  --swal-bg: linear-gradient(160deg, #22223a 0%, #1a1a2e 100%);
  --swal-border: rgba(255, 255, 255, 0.08);
  --swal-shadow: 0 24px 60px rgba(0, 0, 0, 0.45), 0 0 0 1px rgba(255, 255, 255, 0.04);
  --swal-title-color: #f1f3f9;
  --swal-text-color: #a8adba;
  --swal-confirm-bg: linear-gradient(90deg, #0d6efd, #6f42c1);
  --swal-confirm-shadow: 0 6px 16px rgba(13, 110, 253, 0.35);
  --swal-cancel-bg: rgba(255, 255, 255, 0.08);
  --swal-cancel-color: #d7dae2;
  --swal-cancel-border: rgba(255, 255, 255, 0.14);
  --swal-input-bg: rgba(255, 255, 255, 0.05);
  --swal-input-border: rgba(255, 255, 255, 0.14);
  --swal-backdrop: rgba(10, 10, 18, 0.65);
}

[data-bs-theme="light"] {
  --swal-bg: linear-gradient(160deg, #ffffff 0%, #f7f8fb 100%);
  --swal-border: rgba(15, 23, 42, 0.08);
  --swal-shadow: 0 24px 60px rgba(15, 23, 42, 0.18), 0 0 0 1px rgba(15, 23, 42, 0.04);
  --swal-title-color: #2b2c40;
  --swal-text-color: #62677a;
  --swal-confirm-shadow: 0 6px 16px rgba(13, 110, 253, 0.25);
  --swal-cancel-bg: rgba(15, 23, 42, 0.05);
  --swal-cancel-color: #4a4f5e;
  --swal-cancel-border: rgba(15, 23, 42, 0.1);
  --swal-input-bg: rgba(15, 23, 42, 0.03);
  --swal-input-border: rgba(15, 23, 42, 0.12);
  --swal-backdrop: rgba(15, 23, 42, 0.45);
}

.swal2-container {
  backdrop-filter: blur(3px);
}

.swal2-popup.swal2-popup {
  background: var(--swal-bg);
  border: 1px solid var(--swal-border);
  border-radius: 1.25rem;
  box-shadow: var(--swal-shadow);
  padding: 1.75rem 1.5rem 2rem;
  font-family: "Public Sans", -apple-system, BlinkMacSystemFont, sans-serif;
}

.swal2-title {
  color: var(--swal-title-color);
  font-size: 1.35rem;
  font-weight: 700;
  padding: 0.5rem 0.5rem 0;
}

.swal2-html-container {
  color: var(--swal-text-color);
  font-size: 0.95rem;
  line-height: 1.6;
}

.swal2-html-container strong {
  color: var(--swal-title-color);
}

/* Icons: soften the default heavy outline look */
.swal2-icon {
  border-width: 3px;
  transform: scale(0.85);
}

.swal2-icon.swal2-success { border-color: rgba(45, 212, 167, 0.35); color: #2dd4a7; }
.swal2-icon.swal2-success [class^='swal2-success-line'] { background-color: #2dd4a7; }
.swal2-icon.swal2-success .swal2-success-ring { border-color: rgba(45, 212, 167, 0.25); }

.swal2-icon.swal2-error { border-color: rgba(255, 62, 29, 0.35); color: #ff3e1d; }
.swal2-icon.swal2-error [class^='swal2-x-mark-line'] { background-color: #ff3e1d; }

.swal2-icon.swal2-warning { border-color: rgba(255, 171, 0, 0.35); color: #ffab00; }

.swal2-icon.swal2-info { border-color: rgba(13, 202, 240, 0.35); color: #0dcaf0; }

.swal2-icon.swal2-question { border-color: rgba(111, 66, 193, 0.35); color: #a389e8; }

/* Actions / buttons */
.swal2-actions {
  gap: 0.6rem;
  margin-top: 1.5rem;
}

.swal2-styled {
  border-radius: 0.6rem !important;
  font-weight: 600 !important;
  font-size: 0.92rem !important;
  padding: 0.6rem 1.4rem !important;
  transition: transform 0.15s ease, box-shadow 0.15s ease, opacity 0.15s ease;
  box-shadow: none !important;
}

.swal2-styled:focus {
  box-shadow: 0 0 0 3px rgba(13, 110, 253, 0.25) !important;
}

.swal2-confirm.swal2-styled {
  background: var(--swal-confirm-bg) !important;
  box-shadow: var(--swal-confirm-shadow) !important;
}

.swal2-confirm.swal2-styled:hover {
  transform: translateY(-1px);
  filter: brightness(1.05);
}

.swal2-cancel.swal2-styled {
  background: var(--swal-cancel-bg) !important;
  color: var(--swal-cancel-color) !important;
  border: 1px solid var(--swal-cancel-border) !important;
}

.swal2-cancel.swal2-styled:hover {
  background: var(--swal-input-border) !important;
}

.swal2-deny.swal2-styled {
  background: linear-gradient(90deg, #ff3e1d, #ff6b4a) !important;
}

/* Close (x) button */
.swal2-close {
  color: var(--swal-text-color);
  transition: color 0.15s ease, transform 0.15s ease;
}

.swal2-close:hover {
  color: var(--swal-title-color);
  transform: rotate(90deg);
  background: transparent;
}

/* Inputs inside prompts */
.swal2-input,
.swal2-textarea,
.swal2-select {
  background: var(--swal-input-bg) !important;
  border: 1px solid var(--swal-input-border) !important;
  color: var(--swal-title-color) !important;
  border-radius: 0.6rem !important;
  box-shadow: none !important;
}

.swal2-input:focus,
.swal2-textarea:focus,
.swal2-select:focus {
  border-color: #0d6efd !important;
  box-shadow: 0 0 0 3px rgba(13, 110, 253, 0.15) !important;
}

.swal2-validation-message {
  background: transparent;
  color: #ff3e1d;
}

/* Links inside html-container CTAs (e.g. "Activate Now" buttons) */
.swal2-html-container a.btn {
  border-radius: 0.6rem;
}

@media (max-width: 480px) {
  .swal2-popup.swal2-popup {
    width: 92vw !important;
    padding: 1.4rem 1.1rem 1.6rem;
  }

  .swal2-actions {
    flex-direction: column-reverse;
    width: 100%;
  }

  .swal2-actions .swal2-styled {
    width: 100%;
    margin: 0.2rem 0 !important;
  }
}
