/* SweetAlert2 Base Layout Adjustments (non-intrusive) */
.swal2-container.swal2-center-modal {
  display: flex !important;
  align-items: center !important; /* vertical center */
  justify-content: center !important; /* horizontal center */
  padding: 1rem !important; /* small breathing space on very small screens */
  min-height: 100vh; /* fallback */
  inset: 0 !important; /* ensure full screen coverage */
}
@supports (height: 100dvh) { .swal2-container.swal2-center-modal { min-height: 100dvh; } }

/* Modal specific theme */
.swal2-popup.swal2-lare-modal {
  font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
  border-radius: 1rem !important;
  border: none !important;
  padding: 2rem !important;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25), 0 0 0 1px rgba(30, 64, 175, 0.05) !important;
  background: linear-gradient(135deg, #ffffff 0%, #fafafa 100%) !important;
  max-width: 480px !important;
  margin: 0 !important; /* ensure no default margin pushes it down */
  display: flex !important;
  flex-direction: column !important;
  overflow: visible !important; /* avoid cutting inner content */
}

/* Brand the confirm button in lare-navy */
.swal2-confirm {
  background-color: #1A2B42 !important; /* lare-navy */
  color: #ffffff !important;
  border: none !important;
  box-shadow: 0 2px 8px rgba(26, 43, 66, 0.2) !important;
}
.swal2-confirm:focus {
  outline: 2px solid rgba(26,43,66,0.5) !important;
  outline-offset: 2px !important;
}
.swal2-confirm:hover {
  filter: brightness(0.95) !important;
}

.swal2-popup.swal2-lare-modal .swal2-title {
  font-size: 1.375rem !important;
  font-weight: 700 !important;
  color: #1e40af !important; /* lare-navy */
  line-height: 1.3 !important;
  margin-bottom: 1.5rem !important;
  margin-top: 1rem !important;
  letter-spacing: -0.025em !important;
}

.swal2-popup.swal2-lare-modal .swal2-html-container {
  font-size: 1rem !important;
  line-height: 1.6 !important;
  color: #4b5563 !important;
  margin-bottom: 1.5rem !important; /* slightly tighter to help visual centering */
  flex: 0 0 auto !important; /* don't shrink */
  overflow: visible !important; /* ensure full text shows */
}

.swal2-icon {
  border: none !important;
  border-radius: 50% !important;
  font-size: 2rem !important;
}

.swal2-icon.swal2-success {
  background: linear-gradient(135deg, #d1fae5 0%, #a7f3d0 100%) !important;
  color: #059669 !important;
  box-shadow: 0 8px 25px rgba(5, 150, 105, 0.2) !important;
}

.swal2-icon.swal2-error {
  background: linear-gradient(135deg, #fee2e2 0%, #fecaca 100%) !important;
  color: #dc2626 !important;
  box-shadow: 0 8px 25px rgba(220, 38, 38, 0.2) !important;
}

.swal2-icon.swal2-warning {
  background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%) !important;
  color: #d97706 !important;
  box-shadow: 0 8px 25px rgba(217, 119, 6, 0.2) !important;
}

.swal2-icon.swal2-info {
  background: linear-gradient(135deg, #dbeafe 0%, #bfdbfe 100%) !important;
  color: #2563eb !important;
  box-shadow: 0 8px 25px rgba(37, 99, 235, 0.2) !important;
}

.swal2-icon.swal2-question {
  background: linear-gradient(135deg, #e0e7ff 0%, #c7d2fe 100%) !important;
  color: #4f46e5 !important;
  box-shadow: 0 8px 25px rgba(79, 70, 229, 0.2) !important;
}

/* Toast specific styles */
.swal2-toast {
  border-radius: 0.75rem !important;
  padding: 1rem 1.5rem !important;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04) !important;
  border: 1px solid rgba(30, 64, 175, 0.1) !important;
  backdrop-filter: blur(10px) !important;
  background: rgba(255, 255, 255, 0.95) !important;
}

.swal2-toast .swal2-title {
  font-size: 1rem !important;
  margin: 0 !important;
  color: #1e40af !important; /* lare-navy */
  font-weight: 600 !important;
}

.swal2-toast .swal2-icon {
  margin: 0 0.75rem 0 0 !important;
  width: 1.5rem !important;
  height: 1.5rem !important;
  font-size: 1rem !important;
}

/* Progress bar customization */
.swal2-timer-progress-bar {
  background: linear-gradient(90deg, #fbbf24 0%, #f59e0b 100%) !important; /* lare-gold gradient */
  height: 4px !important;
}

/* Legacy class retained for toasts or simple popups; lighter style */
.swal2-lare {
  background-color: #F8F7F4;
  color: #1A2B42;
  border: 1px solid rgba(212,175,55,0.3);
  border-radius: 0.75rem;
  box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -4px rgba(0,0,0,0.1);
  padding: 1rem 1.5rem;
  font-family: 'Inter', ui-sans-serif, system-ui, sans-serif;
  width: min(90vw, 420px) !important;
  max-height: 80vh;
  /* remove scroll clipping; let SweetAlert manage if needed */
  overflow: visible;
  display: flex;
  flex-direction: column;
}
.swal2-lare .swal2-title {
  font-weight: 600;
  color: #1A2B42;
}
.swal2-lare .swal2-html-container {
  font-size: 0.875rem;
  color: rgba(26,43,66,0.8);
  margin-top: 0.25rem;
}
.swal2-lare .swal2-actions {
  gap: 0.75rem;
  margin-top: 1rem;
  flex-wrap: wrap;
}
@media (max-width: 420px) {
  .swal2-popup.swal2-lare-modal { padding: 1.25rem 1.25rem !important; max-width: 92vw !important; }
  .swal2-popup.swal2-lare-modal .swal2-title { font-size: 1.125rem !important; margin-top: 0.25rem !important; }
  .swal2-popup.swal2-lare-modal .swal2-html-container { font-size: 0.875rem !important; margin-bottom: 1rem !important; }
  .swal2-container.swal2-center-modal { padding: 0.75rem !important; }
}
@media (min-width: 1024px) {
  .swal2-lare { width: 400px !important; }
}
