/**
 * Estilos personalizados para SweetAlert2
 * Colores y tipografía del proyecto Oaxaca
 */

/* Fuente Montserrat para todos los elementos */
.swal2-popup {
  font-family: 'Montserrat', ui-sans-serif, system-ui, sans-serif !important;
  border-radius: 1.5rem !important; /* rounded-3xl */
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.12) !important; /* shadow-soft */
  padding: 2rem !important;
  /* No sobrescribir animaciones de SweetAlert2 para permitir cierre correcto */
}

.swal2-title {
  font-family: 'Montserrat', ui-sans-serif, system-ui, sans-serif !important;
  font-weight: 800 !important; /* font-extrabold */
  font-size: 1.5rem !important;
  color: #1e293b !important; /* text-slate-900 */
  margin-bottom: 0.75rem !important;
}

.swal2-html-container {
  font-family: 'Montserrat', ui-sans-serif, system-ui, sans-serif !important;
  font-size: 0.9375rem !important; /* text-sm */
  color: #475569 !important; /* text-slate-600 */
  line-height: 1.5 !important;
  margin-top: 0.5rem !important;
}

/* Iconos: colores personalizados */
.swal2-icon.swal2-success {
  border-color: #285C4D !important; /* oaxaca-verde */
  color: #285C4D !important;
}

.swal2-icon.swal2-success [class^='swal2-success-line'] {
  background-color: #285C4D !important;
}

.swal2-icon.swal2-success .swal2-success-ring {
  border-color: rgba(40, 92, 77, 0.2) !important; /* oaxaca-verde con opacidad */
}

.swal2-icon.swal2-error {
  border-color: #9D2449 !important; /* oaxaca-vino */
  color: #9D2449 !important;
}

.swal2-icon.swal2-error [class^='swal2-x-mark-line'] {
  background-color: #9D2449 !important;
}

.swal2-icon.swal2-warning {
  border-color: #B38E5D !important; /* oaxaca-oro */
  color: #B38E5D !important;
}

.swal2-icon.swal2-warning [class^='swal2-warning'] {
  border-color: #B38E5D !important;
  color: #B38E5D !important;
}

.swal2-icon.swal2-info {
  border-color: #0098D4 !important; /* oaxaca-azul */
  color: #0098D4 !important;
}

.swal2-icon.swal2-question {
  border-color: #00B0A6 !important; /* oaxaca-turq */
  color: #00B0A6 !important;
}

/* Botones */
.swal2-actions {
  margin-top: 1.5rem !important;
  gap: 0.75rem !important;
}

.swal2-confirm {
  background-color: #B38E5D !important; /* oaxaca-oro */
  border: none !important;
  border-radius: 1rem !important; /* rounded-2xl */
  padding: 0.625rem 1rem !important; /* py-2.5 px-4 */
  font-family: 'Montserrat', ui-sans-serif, system-ui, sans-serif !important;
  font-weight: 800 !important; /* font-extrabold */
  font-size: 0.875rem !important; /* text-sm */
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important; /* tracking-wider */
  color: white !important;
  box-shadow: 0 4px 6px rgba(179, 142, 93, 0.2) !important;
  transition: all 0.2s ease !important;
}

.swal2-confirm:hover {
  background-color: #a07d4f !important; /* oaxaca-oro más oscuro */
  box-shadow: 0 6px 8px rgba(179, 142, 93, 0.3) !important;
  /* No usar transform para evitar conflictos con animaciones de cierre */
}

.swal2-confirm:active {
  /* Sin transform para evitar conflictos */
}

.swal2-confirm:focus {
  outline: 3px solid rgba(179, 142, 93, 0.55) !important;
  outline-offset: 2px !important;
}

/* Botón cancelar */
.swal2-cancel {
  background-color: white !important;
  border: 1px solid #e2e8f0 !important; /* border-slate-200 */
  border-radius: 1rem !important; /* rounded-2xl */
  padding: 0.625rem 1rem !important;
  font-family: 'Montserrat', ui-sans-serif, system-ui, sans-serif !important;
  font-weight: 600 !important; /* font-semibold */
  font-size: 0.875rem !important; /* text-sm */
  color: #475569 !important; /* text-slate-600 */
  transition: all 0.2s ease !important;
}

.swal2-cancel:hover {
  background-color: #f8fafc !important; /* bg-slate-50 */
  border-color: #cbd5e1 !important;
}

.swal2-cancel:focus {
  outline: 3px solid rgba(179, 142, 93, 0.55) !important;
  outline-offset: 2px !important;
}

/* Botón de error (rojo) */
.swal2-deny {
  background-color: #9D2449 !important; /* oaxaca-vino */
  border: none !important;
  border-radius: 1rem !important;
  padding: 0.625rem 1rem !important;
  font-family: 'Montserrat', ui-sans-serif, system-ui, sans-serif !important;
  font-weight: 800 !important;
  font-size: 0.875rem !important;
  color: white !important;
  transition: all 0.2s ease !important;
}

.swal2-deny:hover {
  background-color: #7a1c38 !important; /* vino más oscuro */
}

/* Fondo del modal */
.swal2-backdrop-show {
  background-color: rgba(0, 0, 0, 0.5) !important; /* bg-black/50 */
}

/* No sobrescribir animaciones de SweetAlert2 - usar las nativas para cierre correcto */

/* Ajustes para iconos más grandes */
.swal2-icon {
  width: 4rem !important;
  height: 4rem !important;
  margin: 1rem auto 1.5rem !important;
}

.swal2-icon.swal2-success .swal2-success-ring {
  width: 4rem !important;
  height: 4rem !important;
}

/* Inputs en SweetAlert2 (si se usan) */
.swal2-input,
.swal2-textarea,
.swal2-select {
  border: 1px solid #e2e8f0 !important; /* border-slate-200 */
  border-radius: 1rem !important; /* rounded-2xl */
  padding: 0.625rem 1rem !important;
  font-family: 'Montserrat', ui-sans-serif, system-ui, sans-serif !important;
  font-size: 0.875rem !important;
  color: #1e293b !important;
  transition: border-color 0.2s ease !important;
}

.swal2-input:focus,
.swal2-textarea:focus,
.swal2-select:focus {
  border-color: #B38E5D !important; /* oaxaca-oro */
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(179, 142, 93, 0.1) !important;
}

/* Footer (si se usa) */
.swal2-footer {
  border-top: 1px solid #e2e8f0 !important;
  margin-top: 1rem !important;
  padding-top: 1rem !important;
  color: #64748b !important; /* text-slate-500 */
  font-size: 0.875rem !important;
}
