/* ============================================================
   SweetAlert2 — tema municipal (modales, confirmación, toasts)
   Cargado después de sweetalert2.min.css
   ============================================================ */

/* Contenedor y popup principal */
.municipal-swal-container {
  z-index: 20000;
}

.swal2-popup.municipal-swal-popup {
  width: 100%;
  max-width: min(32rem, calc(100vw - 1.5rem));
  padding: 1.35rem 1.35rem 1.15rem;
  border-radius: 16px !important;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.22) !important;
  box-sizing: border-box;
  word-wrap: break-word;
  overflow-wrap: anywhere;
}

.swal2-popup.municipal-swal-popup .swal2-title.municipal-swal-title,
.municipal-swal-title {
  font-size: clamp(1.1rem, 2.8vw, 1.35rem) !important;
  line-height: 1.35 !important;
  padding: 0 0.25rem 0.65rem !important;
  margin: 0 auto !important;
  max-width: 100%;
  word-wrap: break-word;
  overflow-wrap: anywhere;
}

.swal2-popup.municipal-swal-popup .swal2-html-container.municipal-swal-text,
.municipal-swal-text {
  font-size: 1rem !important;
  line-height: 1.55 !important;
  margin: 0.35rem auto 0 !important;
  padding: 0 0.25rem !important;
  max-width: 100%;
  max-height: min(50vh, 22rem);
  overflow-y: auto;
  word-wrap: break-word;
  overflow-wrap: anywhere;
}

/* Iconos */
.swal2-popup.municipal-swal-popup .swal2-icon {
  margin: 0.35rem auto 0.75rem !important;
  width: 3.25rem !important;
  height: 3.25rem !important;
}

/* Acciones: botones grandes y responsive */
.municipal-swal-actions.swal2-actions {
  gap: 0.65rem !important;
  margin: 1.15rem auto 0 !important;
  width: 100% !important;
  max-width: 100%;
  flex-wrap: wrap !important;
  justify-content: center !important;
}

.municipal-swal-btn.swal2-styled {
  border-radius: 12px !important;
  font-weight: 600 !important;
  font-size: 0.95rem !important;
  padding: 0.65rem 1.35rem !important;
  min-height: 44px !important;
  min-width: min(8.5rem, 100%) !important;
  line-height: 1.25 !important;
  white-space: normal !important;
  word-wrap: break-word;
  box-shadow: none !important;
  transition: background 0.15s ease, color 0.15s ease, transform 0.12s ease;
}

.municipal-swal-btn.swal2-styled:focus {
  box-shadow: 0 0 0 3px rgba(13, 148, 136, 0.35) !important;
}

.municipal-swal-confirm.swal2-confirm {
  background: linear-gradient(135deg, #14b8a6 0%, #0d9488 55%, #0f766e 100%) !important;
  color: #fff !important;
  border: none !important;
}

.municipal-swal-confirm.swal2-confirm:hover {
  background: linear-gradient(135deg, #0d9488 0%, #0f766e 100%) !important;
  color: #fff !important;
}

.municipal-swal-cancel.swal2-cancel {
  background: #f1f5f9 !important;
  color: #334155 !important;
  border: 1px solid #cbd5e1 !important;
}

.municipal-swal-cancel.swal2-cancel:hover {
  background: #e2e8f0 !important;
  color: #1e293b !important;
}

.municipal-swal-deny.swal2-deny {
  background: #fef2f2 !important;
  color: #b91c1c !important;
  border: 1px solid #fecaca !important;
}

@media (max-width: 480px) {
  .municipal-swal-actions.swal2-actions {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .municipal-swal-btn.swal2-styled {
    width: 100% !important;
    margin: 0.15rem 0 !important;
  }
}

/* Loading */
.swal2-popup.municipal-swal-popup.swal2-loading .swal2-title {
  font-size: 1.1rem !important;
}

/* Toasts */
.swal2-popup.municipal-swal-toast {
  max-width: min(24rem, calc(100vw - 1.25rem)) !important;
  padding: 0.85rem 1rem !important;
  border-radius: 14px !important;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.14) !important;
}

.swal2-popup.municipal-swal-toast .swal2-title {
  font-size: 0.95rem !important;
  line-height: 1.45 !important;
  margin: 0.15rem 0 0 !important;
  padding: 0 !important;
  text-align: left !important;
  word-wrap: break-word;
  overflow-wrap: anywhere;
}

.swal2-popup.municipal-swal-toast .swal2-icon {
  margin: 0 0.65rem 0 0 !important;
  width: 2rem !important;
  height: 2rem !important;
  min-width: 2rem !important;
}

.municipal-toast-inner {
  text-align: left;
}

.municipal-toast-inner .municipal-toast-title {
  font-weight: 700;
  font-size: 0.92rem;
  color: var(--ui-heading, #1e293b);
  margin-bottom: 0.25rem;
  line-height: 1.3;
  word-wrap: break-word;
  overflow-wrap: anywhere;
}

.municipal-toast-inner .municipal-toast-msg {
  font-size: 0.88rem;
  font-weight: 500;
  color: var(--ui-text, #475569);
  line-height: 1.45;
  word-wrap: break-word;
  overflow-wrap: anywhere;
}

/* Barra de progreso del timer */
.swal2-timer-progress-bar {
  background: linear-gradient(90deg, #14b8a6, #0d9488) !important;
}
