/**
 * SWEETALERT2 - ESTILOS PERSONALIZADOS
 * Design moderno e profissional para alertas
 */

/* Overlay escuro */
.swal2-backdrop-show {
  background: rgba(0, 0, 0, 0.6) !important;
  backdrop-filter: blur(4px);
}

/* Container principal do modal */
.swal2-popup {
  border-radius: 24px !important;
  padding: 40px 32px 32px 32px !important;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(0, 0, 0, 0.05) !important;
  font-family: 'Inter', 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  max-width: 500px !important;
}

/* Título */
.swal2-title {
  font-size: 28px !important;
  font-weight: 700 !important;
  color: #1a1a1a !important;
  margin: 0 0 16px 0 !important;
  line-height: 1.3 !important;
  font-family: 'Inter', 'Montserrat', sans-serif !important;
}

/* HTML content */
.swal2-html-container {
  margin: 0 0 24px 0 !important;
  color: #4a5568 !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
}

.swal2-html-container p {
  margin: 0 0 12px 0 !important;
}

.swal2-html-container p:last-child {
  margin-bottom: 0 !important;
}

/* Ícone de sucesso */
.swal2-success {
  border-color: #10b981 !important;
}

.swal2-success [class^=swal2-success-line] {
  background-color: #10b981 !important;
}

.swal2-success-ring {
  border-color: rgba(16, 185, 129, 0.3) !important;
}

/* Botões */
.swal2-actions {
  margin: 24px 0 0 0 !important;
  gap: 12px !important;
}

.swal2-confirm {
  background: linear-gradient(135deg, #dc2626 0%, #b91c1c 100%) !important;
  border: none !important;
  border-radius: 12px !important;
  padding: 14px 32px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #fff !important;
  box-shadow: 0 4px 12px rgba(220, 38, 38, 0.3) !important;
  transition: all 0.3s ease !important;
}

.swal2-confirm:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(220, 38, 38, 0.4) !important;
}

.swal2-confirm:active {
  transform: translateY(0) !important;
}

.swal2-cancel {
  background: #f3f4f6 !important;
  border: none !important;
  border-radius: 12px !important;
  padding: 14px 32px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #4a5568 !important;
  transition: all 0.3s ease !important;
}

.swal2-cancel:hover {
  background: #e5e7eb !important;
  transform: translateY(-2px) !important;
}

/* Modal de localização - Design especial */
.swal2-popup.location-confirmation {
  max-width: 480px !important;
}

.swal2-popup.location-confirmation .swal2-title {
  font-size: 24px !important;
  margin-bottom: 24px !important;
}

.swal2-popup.location-confirmation .swal2-html-container {
  text-align: center !important;
}

.location-info-card {
  background: linear-gradient(135deg, #ecfdf5 0%, #d1fae5 100%);
  border: 2px solid #10b981;
  border-radius: 16px;
  padding: 20px;
  margin: 20px 0;
  text-align: left;
}

.location-info-card p {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 8px 0 !important;
  color: #065f46 !important;
  font-weight: 500;
  font-size: 15px;
}

.location-info-card i {
  color: #10b981;
  font-size: 18px;
  width: 20px;
}

.location-icon {
  font-size: 64px !important;
  color: #10b981 !important;
  margin-bottom: 16px !important;
  display: block;
}

.location-city {
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #1a1a1a !important;
  margin: 12px 0 !important;
}

/* Modal de confirmação de localização */
.swal2-popup.location-confirmed .swal2-title {
  color: #10b981 !important;
}

/* Modal de produto adicionado */
.swal2-popup.product-added {
  max-width: 480px !important;
}

.swal2-popup.product-added .swal2-title {
  color: #dc2626 !important;
  font-size: 26px !important;
}

.product-name-highlight {
  font-weight: 700 !important;
  color: #dc2626 !important;
  font-size: 17px !important;
}

.product-subtitle {
  color: #6b7280 !important;
  font-size: 15px !important;
  margin-top: 8px !important;
}

/* Timer progress bar */
.swal2-timer-progress-bar {
  background: linear-gradient(135deg, #dc2626 0%, #b91c1c 100%) !important;
}

/* Input personalizado */
.swal2-input,
.swal2-select {
  border: 2px solid #e5e7eb !important;
  border-radius: 12px !important;
  padding: 12px 16px !important;
  font-size: 16px !important;
  transition: all 0.3s ease !important;
}

.swal2-input:focus,
.swal2-select:focus {
  border-color: #dc2626 !important;
  box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.1) !important;
  outline: none !important;
}

/* Ícone de check verde grande */
.swal2-icon.swal2-success {
  width: 80px !important;
  height: 80px !important;
  border-width: 4px !important;
  margin: 0 auto 20px !important;
}

.swal2-icon.swal2-success [class^=swal2-success-line] {
  height: 5px !important;
}

.swal2-icon.swal2-success [class^=swal2-success-line][class$=tip] {
  width: 25px !important;
  left: 14px !important;
  top: 46px !important;
}

.swal2-icon.swal2-success [class^=swal2-success-line][class$=long] {
  width: 47px !important;
  right: 8px !important;
  top: 38px !important;
}

/* Responsivo */
@media (max-width: 480px) {
  .swal2-popup {
    padding: 32px 24px 24px 24px !important;
    margin: 20px !important;
    border-radius: 20px !important;
  }
  
  .swal2-title {
    font-size: 24px !important;
  }
  
  .swal2-html-container {
    font-size: 15px !important;
  }
  
  .swal2-confirm,
  .swal2-cancel {
    padding: 12px 24px !important;
    font-size: 15px !important;
    width: 100%;
  }
  
  .swal2-actions {
    flex-direction: column !important;
  }
}

