/* Donate Form Section styles */
body .donate-form-body {
  font-family: Arial, sans-serif;
  background-color: #f8f8f8;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  flex-direction: column; /* Ensure vertical stacking on mobile */
  box-sizing: border-box;
}

/* PayPal Logo Section */
.paypal-logo {
  text-align: center;
  margin: 0;
  padding: 0;
}

.paypal-logo a {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
}

.paypal-button img {
  max-width: 100%;
  height: auto;
  display: inline-block;
  vertical-align: middle;
  margin: 0 auto;
  cursor: pointer;
}

.paypal-form-hint {
  font-size: 12px;
  color: #666;
  margin-top: 0;
  display: block;
  margin-bottom: 10px;
}

.donate-form-container {
  background-color: white;
  padding: 20px;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.6);
  max-width: 500px;
  width: 100%; /* Ensure full width on mobile */
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
}

#donation-form {
  display: flex;
  flex-direction: column;
  width: 100%;
}

.donate-name-group,
label.donate,
label.donate-comments {
  display: block;
  font-weight: bold;
  margin-bottom: 5px;
  font-size: 14px;
  max-width: 100%;
}

label .donate {
  font-weight: bold;
  display: block;
  margin-bottom: 5px;
}

.required {
  color: red;
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
textarea.donate {
  width: 100%;
  padding: 12px;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 14px;
  box-sizing: border-box;
}

input:focus,
textarea.donate:focus {
  outline: none;
  border-color: #007bff;
}

textarea.donate-comments {
  width: 100%;
  max-width: 100%;
  resize: none;
}

.form-hint {
  font-size: 12px;
  color: #666;
  margin-top: 5px;
}

.redirect-message {
  font-size: 12px;
  color: #666;
  margin-top: 1px;
  margin-bottom: 5px;
}

.error-message {
  color: red;
  font-size: 12px;
  margin-top: 5px;
}

.donate-name-group {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.donate-name-group input {
  flex: 1;
}

.donate-submit-btn {
  background-color: #28a745;
  color: white;
  padding: 12px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 16px;
  margin-top: 10px;
  transition: background-color 0.3s ease;
  width: 100%; /* Full width for better mobile usability */
}

.donate-submit-btn:hover {
  background-color: #218838;
}

/* Responsive Design */
@media (max-width: 768px) {
  /* Ensure the body and form are vertically centered with proper spacing */
  body .donate-form-body {
    /* min-height: 100vh; */
    padding: 20px; /* Space around the form */
  }

  /* Container padding adjustments for mobile view */
  .donate-form-container {
    padding: 15px;
    max-width: 100%;
    box-sizing: border-box;
  }

  /* Make the submit button span the full width */
  .donate-submit-btn {
    width: 100%;
  }

  /* Adjust input and textarea padding */
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="number"],
  textarea.donate {
    padding: 14px; /* Slightly bigger padding for easier mobile typing */
  }

  /* Adjust font sizes on mobile */
  .donate-name-group,
  label.donate,
  label.donate-comments {
    font-size: 16px;
  }

  .paypal-logo {
    padding: 0 20px; /* Adjust padding for the logo section */
  }

  .paypal-button img {
    max-width: 90%; /* Make sure the logo fits well on mobile */
  }
}

/* For larger screens (1200px and above) */
@media (min-width: 1200px) {
  body .donate-form-body {
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .donate-form-container {
    max-width: 500px;
    margin: auto;
  }
}

/* Popup Modal */
.modal {
  display: none; /* Initially hidden */
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  background: rgb(177, 235, 178);
  padding: 20px;
  border-radius: 10px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.8);
  text-align: center;
  width: 80%; /* Default width */
  max-width: 400px; /* Max width for larger screens */
  box-sizing: border-box; /* Ensure padding is included in width */
  overflow-y: auto; /* Enable scrolling if content overflows */
}

.modal-buttons {
  display: flex;
  justify-content: space-between; /* Space buttons evenly */
  gap: 10px;
  flex-wrap: wrap; /* Allow buttons to wrap on smaller screens */
  margin-top: 20px; /* Add margin for spacing between content and buttons */
}

.modal #confirmButton,
.modal #cancelButton {
  padding: 10px 20px;
  border: none;
  cursor: pointer;
  background-color: #0ab732;
  color: white;
  border-radius: 5px;
  font-size: 12px;
  width: 45%; /* Default width for buttons */
}

.modal #confirmButton:hover,
.modal #cancelButton:hover {
  background-color: #218838;
}

/* Media Queries for Mobile Devices */
@media (max-width: 768px) {
  .modal {
    width: 90%; /* Ensure modal fits on mobile */
    padding: 15px; /* Reduce padding on smaller screens */
  }

  .modal-buttons {
    flex-direction: column; /* Stack buttons vertically */
    gap: 15px; /* Space buttons out vertically */
  }

  .modal #confirmButton,
  .modal #cancelButton {
    width: 50%; /* Buttons will take full width on mobile */
    padding: 12px; /* Increase padding for easier tapping */
    margin: 0 0 10px; /* Add margin for spacing between buttons */
  }
}
