body {
  font-family: sans-serif;
  margin: 2rem;
}

form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  max-width: 800px;
  margin: 0 auto;
}

#sender {
  padding-right: 2rem;
  border-right: 2px solid #333;
}

#recipient {
  padding-left: 2rem;
}

#payment {
  grid-column: 1 / 3;
  width: 50%;
  margin: 2rem auto 0;
}

#preview-box {
  height: 200px;
  border: 2px solid #333;
}

#preview {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.row {
  display: flex;
  gap: 1rem;
}

.row label {
  flex: 1;
  min-width: 0;
}

label {
  display: block;
  margin-bottom: 1rem;
}

input,
select,
textarea {
  display: block;
  box-sizing: border-box;
  width: 100%;
  margin-top: 0.25rem;
  padding: 0.4rem;
}

input[type="radio"],
input[type="checkbox"] {
  display: inline;
  width: auto;
}

textarea {
  height: 8rem;
}

fieldset {
  margin: 0 0 1rem;
  padding: 0;
  border: none;
}

fieldset label {
  display: inline;
  margin-right: 1rem;
}

button {
  width: 100%;
  padding: 0.75rem;
  font-size: 1.25rem;
  background: #b6d7a8;
  border: 2px solid #333;
  cursor: pointer;
}

main {
  text-align: center;
}

.success {
  color: green;
}

.error {
  color: red;
}
