/* Top Section */

.parish-page-contact-top-section-wrapper {
  background-color: var(--parish-bg-lightest);
}

.parish-page-contact-top-section {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  padding: 24px 24px 48px 24px;
}

.parish-page-contact-content {
  width: 100%;
  max-width: 700px;
}

.parish-details-card {
  max-height: fit-content;
  width: 100%;
  max-width: 700px;
  box-sizing: border-box;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  background-color: var(--parish-bg-dark);
  border-bottom: solid 4px var(--parish-accent-colour);
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.parish-details-card-field > h3 {
  color: var(--parish-text-medium);
  font-weight: 500;
  font-size: 18px;
  margin-bottom: 2px;
}

.parish-details-card-field > p {
  color: var(--parish-text-muted);
}

/* Bottom Section */

.parish-page-contact-bottom-section-wrapper {
  background-color: var(--parish-bg-light);
}

.parish-page-contact-bottom-section {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 48px;
  padding: 48px 24px 48px 24px;
}

.parish-page-contact-bottom-section > iframe,
.parish-contact-form {
  width: 100%;
  box-sizing: border-box;
  max-width: 700px;
  border-bottom: solid 4px var(--parish-accent-colour);
}

.parish-page-contact-bottom-section > iframe {
  width: 100%;
}

.parish-contact-form {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 24px;
  background-color: var(--parish-bg-dark);
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

.parish-contact-form-col {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.parish-contact-form > button {
  font-family: inherit;
  font-weight: 500;
  font-size: 16px;
  color: var(--parish-text-dark);
  background-color: var(--parish-bg-light);
  padding: 8px 12px;
  border: none;
  cursor: pointer;
  transition: opacity 200ms;
}

.parish-contact-form > button.parish-submit-btn-success {
  color: #22c55e;
}

.parish-contact-form > button.parish-submit-btn-err {
  color: #ef4444;
}

.parish-contact-form > button:hover {
  opacity: var(--parish-hover-opacity);
}

.parish-contact-input-field,
.parish-contact-textarea-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.parish-contact-input-field > label,
.parish-contact-textarea-field > label {
  color: var(--parish-text-medium);
  font-weight: 500;
  font-size: 18px;
}

.parish-contact-textarea-field > textarea {
  min-height: 150px;
  resize: none;
}

.parish-contact-input-field > input,
.parish-contact-textarea-field > textarea {
  color: var(--parish-text-light);
  font-family: inherit;
  padding: 8px 12px;
  background: none;
  border: none;
  outline: none;
  background-color: var(--parish-text-dark);
  transition: background-color 200ms;
  font-size: 16px;
}

.parish-contact-input-field > input:focus,
.parish-contact-textarea-field > textarea:focus,
.parish-contact-input-field > input:hover,
.parish-contact-textarea-field > textarea:hover {
  background-color: #363636;
}

.parish-contact-input-field > input::placeholder,
.parish-contact-textarea-field > textarea::placeholder {
  color: var(--parish-text-muted);
}

/* Breakpoint */

@media (min-width: 1000px) {
  .parish-page-contact-top-section,
  .parish-page-contact-bottom-section {
    max-width: 1200px;
    flex-direction: row;
    gap: 54px;
    margin: 0 auto;
    padding: 54px 24px;
  }

  .parish-page-contact-content {
    width: 90%;
  }

  .parish-details-card {
    min-width: 375px;
    max-width: 450px;
    display: flex;
    gap: 20px;
  }

  .parish-details-card-field > h3 {
    font-size: 20px;
  }

  .parish-details-card-field > p {
    font-size: 18px;
  }

  .parish-page-contact-bottom-section > iframe,
  .parish-contact-form {
    height: 639px;
  }

  .parish-contact-form-col {
    gap: 22px;
  }

  .parish-contact-form > button,
  .parish-contact-form {
    font-size: 18px;
  }

  .parish-contact-form {
    gap: 28px;
  }

  .parish-contact-input-field > input,
  .parish-contact-textarea-field > textarea,
  .parish-contact-form > form > button {
    padding: 10px;
  }

  .parish-contact-input-field,
  .parish-contact-textarea-field {
    gap: 8px;
  }

  .parish-contact-input-field > label,
  .parish-contact-textarea-field > label {
    font-size: 20px;
  }

  .parish-contact-textarea-field > textarea {
    min-height: 175px;
  }

  .parish-contact-input-field > input,
  .parish-contact-textarea-field > textarea {
    font-size: 18px;
  }

  .parish-contact-input-field > input::placeholder,
  .parish-contact-textarea-field > textarea::placeholder {
    font-size: 16px;
  }
}
