#rsvp .wpo-contact-section-wrapper {
  max-width: 760px;
  padding: clamp(24px, 4vw, 48px);
  border: 1px solid #e8ddd5;
  border-radius: 20px;
  background: #fffdfb;
  box-shadow: 0 20px 60px rgba(32, 24, 20, 0.22);
  color: #3d332e;
}

#rsvp .wpo-contact-title {
  max-width: 580px;
}

#rsvp .wpo-contact-title h2 {
  color: #493b35;
}

#rsvp .wpo-contact-title p,
#rsvp .invitation-guest-count-label,
#rsvp .invitation-guest-count-help {
  color: #5d534d;
}

#rsvp .wpo-contact-title .rsvp-deadline {
  padding: 12px 16px;
  border-radius: 8px;
  background: #f5eee7;
  color: #70543b;
  font-size: 15px;
  font-weight: 500;
}

#rsvp .form-control {
  height: 54px;
  padding: 12px 16px;
  border: 1px solid #9c8c81;
  border-radius: 8px;
  background: #fff;
  color: #3d332e;
  font-size: 16px;
  line-height: 1.5;
}

#rsvp .form-control::placeholder {
  color: #74685f;
  opacity: 1;
}

#rsvp .form-control:focus {
  border-color: #866653;
  box-shadow: 0 0 0 3px rgba(134, 102, 83, 0.2);
}

#rsvp textarea.form-control {
  height: auto;
  min-height: 136px;
  resize: vertical;
}

#rsvp .invitation-guest-count-help {
  margin-bottom: 20px;
}

#rsvp .submit-area {
  margin-top: 12px;
}

#rsvp .theme-btn {
  max-width: 100%;
  border-radius: 8px;
  background: #866653;
  color: #fff;
}

#rsvp .theme-btn:hover,
#rsvp .theme-btn:focus-visible {
  background: #6c4f3f;
}

#rsvp .theme-btn:focus-visible {
  outline: 2px solid #6c4f3f;
  outline-offset: 3px;
}

@media (max-width: 575px) {
  #rsvp textarea.form-control {
    min-height: 200px;
  }

  #rsvp .theme-btn {
    width: 100%;
    padding: 15px 16px;
  }
}
