/* ============================================
   Save button — reusable across catalog/profile/state
   ============================================ */

.formity-save-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  background: white;
  border: 0.5px solid #185FA5;
  border-radius: 6px;
  color: #185FA5;
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  text-decoration: none;
  font-family: inherit;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
  min-height: 36px;
  white-space: nowrap;
}

.formity-save-btn:hover {
  background: #E6F1FB;
}

.formity-save-btn:focus-visible {
  outline: 2px solid #185FA5;
  outline-offset: 1px;
}

.formity-save-btn:active {
  transform: scale(0.98);
}

/* Default state: show + icon, hide check + "Saved" */
.formity-save-btn .save-icon-saved,
.formity-save-btn .save-text-saved {
  display: none;
}

/* Saved state */
.formity-save-btn-saved {
  background: #E1F5EE;
  border-color: #1D9E75;
  color: #0F6E56;
}

.formity-save-btn-saved:hover {
  background: #C5EBDB;
}

.formity-save-btn-saved .save-icon-default,
.formity-save-btn-saved .save-text-default {
  display: none;
}

.formity-save-btn-saved .save-icon-saved,
.formity-save-btn-saved .save-text-saved {
  display: inline;
}

/* Anonymous state */
.formity-save-btn-anonymous {
  border-color: #B4B2A9;
  color: #5F5E5A;
}

.formity-save-btn-anonymous:hover {
  background: #F1EFE8;
  color: #1a1a1a;
}

/* Loading state */
.formity-save-btn-loading {
  opacity: 0.6;
  pointer-events: none;
}
