/* ============================================================
   RNDeals — SweetAlert2 theme
   Shared by the storefront (app.css) and the admin (admin.css).
   Every colour/radius reads the host stylesheet's design tokens
   and falls back to the brand values, so one file serves both.
   Applied through customClass in rn-swal.js (buttonsStyling off).
   ============================================================ */

.rn-swal-container {
  --rn-primary: var(--color-primary, #1f6f43);
  --rn-primary-dark: var(--color-primary-dark, #15502f);
  --rn-primary-tint: var(--color-primary-tint, #eaf5ee);
  --rn-danger: var(--color-danger, #c0392b);
  --rn-danger-dark: #a02033;
  --rn-danger-tint: #fbe6ea;
  --rn-warn: #92600a;
  --rn-warn-tint: #fff4e0;
  --rn-info: #1c4f8f;
  --rn-info-tint: #e4eefb;
  --rn-text: var(--color-text, #14181b);
  --rn-muted: var(--color-muted, #6b7280);
  --rn-border: var(--color-border, #e7e5df);
  --rn-font-display: var(--font-display, "Sora", "Segoe UI", sans-serif);
  --rn-font-body: var(--font-body, "Inter", "Segoe UI", sans-serif);
  --rn-radius: var(--radius-lg, 14px);
  --rn-radius-sm: var(--radius-md, 10px);

  font-family: var(--rn-font-body);
}

.swal2-container.rn-swal-container {
  z-index: 1080; /* above Bootstrap modals (1055) and sticky bars; Toastr stays on top */
  padding: 1rem;
}

.swal2-container.rn-swal-container.swal2-backdrop-show,
.swal2-container.rn-swal-container.swal2-noanimation {
  background: rgba(17, 38, 27, 0.5); /* sidebar-green tinted scrim */
  backdrop-filter: blur(2px);
}

/* ---- popup ---- */
.swal2-popup.rn-swal {
  width: min(26rem, 100%);
  padding: 1.75rem 1.5rem 1.5rem;
  border: 1px solid var(--rn-border);
  border-radius: var(--rn-radius);
  background: #fff;
  color: var(--rn-text);
  box-shadow: 0 8px 28px rgba(20, 24, 27, 0.12), 0 1px 2px rgba(20, 24, 27, 0.06);
  font-family: var(--rn-font-body);
}

.swal2-popup.rn-swal .rn-swal__title {
  margin: 0.25rem 0 0;
  padding: 0;
  font-family: var(--rn-font-display);
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.3;
  color: var(--rn-text);
}

.swal2-popup.rn-swal .rn-swal__text {
  margin: 0.6rem 0 0;
  padding: 0;
  font-size: 0.93rem;
  line-height: 1.55;
  color: var(--rn-muted);
}

.swal2-popup.rn-swal .swal2-html-container {
  overflow-wrap: anywhere;
}

/* ---- icons: smaller, brand-tinted ---- */
.swal2-popup.rn-swal .swal2-icon {
  width: 3.6rem;
  height: 3.6rem;
  margin: 0.25rem auto 0.75rem;
  border-width: 0;
  font-family: var(--rn-font-body);
}

.swal2-popup.rn-swal .swal2-icon .swal2-icon-content {
  font-size: 2rem;
  font-weight: 600;
}

.swal2-popup.rn-swal .swal2-icon.swal2-warning { background: var(--rn-warn-tint); color: var(--rn-warn); }
.swal2-popup.rn-swal .swal2-icon.swal2-error { background: var(--rn-danger-tint); color: var(--rn-danger); }
.swal2-popup.rn-swal .swal2-icon.swal2-info,
.swal2-popup.rn-swal .swal2-icon.swal2-question { background: var(--rn-info-tint); color: var(--rn-info); }
.swal2-popup.rn-swal .swal2-icon.swal2-success { background: var(--rn-primary-tint); color: var(--rn-primary); }

.swal2-popup.rn-swal .swal2-icon.swal2-error [class^='swal2-x-mark-line'] { background-color: var(--rn-danger); }
.swal2-popup.rn-swal .swal2-icon.swal2-success [class^='swal2-success-line'] { background-color: var(--rn-primary); }
.swal2-popup.rn-swal .swal2-icon.swal2-success .swal2-success-ring { border-color: rgba(31, 111, 67, 0.25); }
.swal2-popup.rn-swal .swal2-icon.swal2-success [class^='swal2-success-circular-line'],
.swal2-popup.rn-swal .swal2-icon.swal2-success .swal2-success-fix { background: transparent; }

/* ---- buttons ---- */
.swal2-popup.rn-swal .swal2-actions {
  margin: 1.4rem 0 0;
  gap: 0.6rem;
  width: 100%;
}

.swal2-popup.rn-swal .rn-swal__btn {
  flex: 1 1 0;
  min-height: 2.6rem;
  margin: 0;
  padding: 0.55rem 1.1rem;
  border: 1px solid transparent;
  border-radius: var(--rn-radius-sm);
  font-family: var(--rn-font-body);
  font-size: 0.92rem;
  font-weight: 600;
  line-height: 1.2;
  box-shadow: none;
  transition: background-color 0.15s, border-color 0.15s, color 0.15s;
}

.swal2-popup.rn-swal .rn-swal__btn:focus-visible {
  outline: 0;
  box-shadow: 0 0 0 3px rgba(31, 111, 67, 0.28);
}

.swal2-popup.rn-swal .rn-swal__btn--confirm {
  background: var(--rn-primary);
  border-color: var(--rn-primary);
  color: #fff;
}
.swal2-popup.rn-swal .rn-swal__btn--confirm:hover { background: var(--rn-primary-dark); border-color: var(--rn-primary-dark); }

.swal2-popup.rn-swal .rn-swal__btn--danger {
  background: var(--rn-danger);
  border-color: var(--rn-danger);
  color: #fff;
}
.swal2-popup.rn-swal .rn-swal__btn--danger:hover { background: var(--rn-danger-dark); border-color: var(--rn-danger-dark); }
.swal2-popup.rn-swal .rn-swal__btn--danger:focus-visible { box-shadow: 0 0 0 3px rgba(192, 57, 43, 0.28); }

.swal2-popup.rn-swal .rn-swal__btn--cancel,
.swal2-popup.rn-swal .rn-swal__btn--deny {
  background: #fff;
  border-color: var(--rn-border);
  color: var(--rn-text);
}
.swal2-popup.rn-swal .rn-swal__btn--cancel:hover,
.swal2-popup.rn-swal .rn-swal__btn--deny:hover { background: #f6f7f5; border-color: #d4d2ca; }

.swal2-popup.rn-swal .swal2-styled.swal2-loading { opacity: 0.8; }

/* ---- inputs ---- */
.swal2-popup.rn-swal .swal2-input,
.swal2-popup.rn-swal .swal2-textarea,
.swal2-popup.rn-swal .swal2-select {
  width: 100%;
  max-width: 100%;
  margin: 1rem 0 0;
  padding: 0.6rem 0.8rem;
  border: 1px solid var(--rn-border);
  border-radius: var(--rn-radius-sm);
  background: #fff;
  color: var(--rn-text);
  font-family: var(--rn-font-body);
  font-size: 0.95rem;
  box-shadow: none;
  transition: border-color 0.15s, box-shadow 0.15s;
}

.swal2-popup.rn-swal .swal2-input { height: 2.75rem; }
.swal2-popup.rn-swal .swal2-textarea { min-height: 7rem; resize: vertical; }

.swal2-popup.rn-swal .swal2-input:focus,
.swal2-popup.rn-swal .swal2-textarea:focus,
.swal2-popup.rn-swal .swal2-select:focus {
  border-color: var(--rn-primary);
  box-shadow: 0 0 0 3px rgba(31, 111, 67, 0.18);
  outline: 0;
}

.swal2-popup.rn-swal .swal2-input::placeholder,
.swal2-popup.rn-swal .swal2-textarea::placeholder { color: #9aa0a6; }

.swal2-popup.rn-swal .swal2-input[type='color'] { padding: 0.25rem; cursor: pointer; }
.swal2-popup.rn-swal .swal2-input[readonly] { background: #f6f7f5; }

.swal2-popup.rn-swal .rn-swal__hint {
  margin: 0.5rem 0 0;
  font-size: 0.8rem;
  text-align: left;
  color: var(--rn-muted);
}

.swal2-popup.rn-swal .swal2-label {
  margin: 1rem 0 0;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--rn-text);
}

.swal2-popup.rn-swal .swal2-checkbox,
.swal2-popup.rn-swal .swal2-radio { color: var(--rn-text); }

/* ---- validation message ---- */
.swal2-popup.rn-swal .swal2-validation-message {
  margin: 0.9rem 0 0;
  padding: 0.55rem 0.8rem;
  border-radius: var(--rn-radius-sm);
  background: var(--rn-danger-tint);
  color: var(--rn-danger-dark);
  font-size: 0.85rem;
  font-weight: 500;
  justify-content: flex-start;
}
.swal2-popup.rn-swal .swal2-validation-message::before { background: var(--rn-danger); }

/* ---- close button + timer bar ---- */
.swal2-popup.rn-swal .swal2-close {
  top: 0.5rem;
  right: 0.5rem;
  border-radius: var(--rn-radius-sm);
  color: var(--rn-muted);
}
.swal2-popup.rn-swal .swal2-close:hover { background: #f6f7f5; color: var(--rn-text); }

.swal2-popup.rn-swal .swal2-timer-progress-bar { background: var(--rn-primary); }

.swal2-popup.rn-swal .swal2-loader { border-color: var(--rn-primary) transparent var(--rn-primary) transparent; }

/* ---- small screens: stack the buttons, primary action first ---- */
@media (max-width: 420px) {
  .swal2-popup.rn-swal { padding: 1.5rem 1.15rem 1.25rem; }
  .swal2-popup.rn-swal .swal2-actions { flex-direction: column-reverse; }
  .swal2-popup.rn-swal .rn-swal__btn { width: 100%; flex: none; }
}

@media (prefers-reduced-motion: reduce) {
  .swal2-popup.rn-swal, .swal2-popup.rn-swal * { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}


/* ---- busy state: confirm dialog waiting for the server's result ---- */
.swal2-popup.rn-swal.rn-swal--busy .swal2-actions .rn-swal__btn--cancel,
.swal2-popup.rn-swal.rn-swal--busy .swal2-cancel {
  display: none !important;
}
.swal2-popup.rn-swal.rn-swal--busy .swal2-actions {
  margin-top: 1rem;
}
.swal2-popup.rn-swal.rn-swal--busy .swal2-styled.swal2-confirm {
  min-width: 3.4rem;
  cursor: progress;
}
.swal2-popup.rn-swal .swal2-validation-message {
  margin: 0.9rem 0 0;
  border-radius: var(--rn-radius-sm);
  background: var(--rn-danger-tint);
  color: var(--rn-danger-dark);
  font-size: 0.85rem;
}
