@import url('https://fonts.googleapis.com/css2?family=Lobster&display=swap');

body {
  margin: 0;
  background-color: #17051F;
}

header{
    width: 100%;
    text-align: center;
    font-family: cursive;
    background-color: #B69BD8;;
    color: rgb(236, 233, 233);
    border: 5px solid black;
}

h1{
    font-family: 'Lobster', cursive;
    font-size: 48px;
}

h2 {
  font-size: 30px;
  font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif;
  color: #1A0A20;
}

/* ----------------------------   Title page  -------------------------- */

.pay {
  color: #E6A15C;
}

.your {
  color: #80bbd8;
}

.friends {
  color: #B4D88B;
}



.upper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-bottom: 5px solid #17051F;
  background-color: #F3F0EA;;
}

.lower {
  width: 100%;
  background-color: #F3F0EA;;
  padding: 30px 0;
  box-sizing: border-box;
}

label, input, textarea, button {
  font-family: "Trebuchet MS", Arial, sans-serif;
}

label {
  margin-bottom: 3px;
}

input {
  padding: 4px 6px;
}


/* ---------------------------------- Sender Section ---------------------------------- */

.sender {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px 20px;

  width: 650px;
  max-width: 85%;
  margin: 30px auto;

  border: 2px solid #17051F;
  border-radius: 10px;
  padding: 25px;

  background-color: #E6A15C;
  box-sizing: border-box;
}

.sender h2 {
  grid-column: 1 / 3;
  font-size: 26px;
}

.sender-image {
  grid-column: 1 / 3;
}

.image-preview {
  width: 100%;
  height: 180px;
  border: 2px solid #260A35;
  background-color: #F7F2FA;
  box-sizing: border-box;
  margin-bottom: 5px;
}

.file-select {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 5px;
}

.file-select input {
  width: 100%;
  box-sizing: border-box;
}

.sender-first-name {
  grid-column: 1;
}

.sender-last-name {
  grid-column: 2;
}

.sender-first-name,
.sender-last-name {
  display: flex;
  flex-direction: column;
}

.sender input[type="text"] {
  width: 100%;
  box-sizing: border-box;
}


/* ---------------------------------- Recipient Section ---------------------------------- */

.recipient {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px 20px;

  width: 650px;
  max-width: 85%;
  margin: 30px auto;

  border: 2px solid #17051F;
  border-radius: 10px;
  padding: 25px;

  box-sizing: border-box;
  background-color: #8BBED8;
}

.recipient h2 {
  grid-column: 1 / 3;
  font-size: 26px;
}

.first-name {
  grid-column: 1;
}

.last-name {
  grid-column: 2;
}

.message {
  grid-column: 1 / 3;
}

.notify {
  grid-column: 1 / 3;

  display: flex;
  flex-direction: column;
  gap: 8px;
}

.email {
  grid-column: 1;
}

.phone-number {
  grid-column: 2;
}

.first-name, .last-name,.message,.email,.phone-number {
  display: flex;
  flex-direction: column;
}

.recipient input[type="text"] {
  width: 100%;
  box-sizing: border-box;
}

.recipient textarea {
  width: 100%;
  height: 70px;
  box-sizing: border-box;
  resize: vertical;
}

.notify > div {
  display: flex;
  align-items: center;
  gap: 8px;
}


/* ---------------------------------- Payment Section ---------------------------------- */

.payment {
  display: grid;
  grid-template-columns: 1fr 1.3fr 1fr;
  gap: 15px 20px;

  width: 650px;
  max-width: 90%;
  margin: 0 auto;

  border: 2px solid #17051F;
  border-radius: 10px;
  padding: 30px;

  box-sizing: border-box;
  background-color: #B4D88B;
}

.payment > div {
  min-width: 0;
}

.payment > div:not(.terms) {
  display: flex;
  flex-direction: column;
}

.payment input[type="text"],
.payment input[type="password"] {
  width: 100%;
  box-sizing: border-box;
}

.payment h2 {
  grid-column: 1 / 4;
}

.card-type {
  grid-column: 1;
}

.card-number {
  grid-column: 2 / 4;
}

.expiration {
  grid-column: 1;
}

.ccv {
  grid-column: 2;
}

.amount {
  grid-column: 3;
}

.terms {
  grid-column: 1 / 4;

  display: flex;
  align-items: center;
  gap: 8px;
}

.send {
  grid-column: 1 / 4;
  width: 100%;
}


/* ---------------------------------- Form Controls ---------------------------------- */

input[type="text"],
input[type="password"],
textarea {
  background-color: #F7F2FA;
  border: 1px solid #260A35;
}

button {
  background-color: #260A35;
  color: #F7F2FA;
  border: none;
  border-radius: 4px;
  padding: 5px 10px;
  cursor: pointer;
}

button:hover {
  background-color: #17051F;
}

footer {
  font-size: 12px;
  color: #555555;
  padding: 5px;
}


.image-preview {
    overflow: hidden;
}

.image-preview img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}