/* contact.css - small focused styles for contact page form and messages */

/* Form wrapper adjustments */
.contact-form-wrapper .custom-contact-form,
.contact-form-wrapper .wpcf7 {
  width: 100%;
}

/* Inputs & textarea */
.contact-input,
.contact-textarea,
.newsletter-input {
  width: 100%;
  padding: 14px 16px;
  border: 1px solid rgba(210,193,182,0.6);
  border-radius: 8px;
  font-size: 1rem;
  color: #1B3C53;
  background: #ffffff;
  box-shadow: none;
  transition: box-shadow .18s ease, transform .12s ease, border-color .18s ease;
  margin-bottom: 16px;
  font-family: inherit;
}

.contact-input:focus,
.contact-textarea:focus,
.newsletter-input:focus {
  outline: none;
  border-color: #234C6A;
  box-shadow: 0 6px 18px rgba(35,76,106,0.08);
  transform: translateY(-1px);
}

/* textarea specifics */
.contact-textarea {
  min-height: 150px;
  resize: vertical;
  line-height: 1.6;
}

/* Submit button */
.contact-submit,
.contact-form-wrapper input[type="submit"],
.newsletter-button {
  display: inline-block;
  padding: 12px 28px;
  border-radius: 8px;
  border: 2px solid rgba(210,193,182,0.25);
  background: linear-gradient(135deg,#1B3C53 0%, #234C6A 100%);
  color: #D2C1B6;
  font-weight: 700;
  font-family: 'Playfair Display', serif;
  font-size: 1rem;
  cursor: pointer;
  transition: transform .12s ease, box-shadow .18s ease, background .18s ease;
}

.contact-submit:hover,
.contact-form-wrapper input[type="submit"]:hover,
.newsletter-button:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 30px rgba(27,60,83,0.15);
  background: linear-gradient(135deg,#D2C1B6 0%, #E5D4C7 100%);
  color: #1B3C53;
}

/* Success / Error message boxes */
.contact-message {
  border-radius: 8px;
  padding: 14px 16px;
  margin-bottom: 18px;
  font-weight: 600;
}

.contact-success {
  background: linear-gradient(180deg, #f1fff7 0%, #e6fff2 100%);
  color: #0b3b2f;
  border-left: 4px solid #2bb673;
}

.contact-error {
  background: linear-gradient(180deg, #fff6f6 0%, #ffeaea 100%);
  color: #4a1a1a;
  border-left: 4px solid #d62828;
}

/* Commitment item (info card) tweaks for consistency */
.contact-info-card .commitment-title {
  margin-top: 6px;
  margin-bottom: 8px;
}
.contact-info-card .commitment-text a { color: #1B3C53; text-decoration: underline; }

/* Visually hidden utility (for accessible labels) */
.visually-hidden {
  position: absolute !important;
  height: 1px; width: 1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  white-space: nowrap;
}

/* Responsive: stack columns */
@media (max-width: 992px) {
  .contact-grid {
    grid-template-columns: 1fr !important;
  }
  .contact-form-wrapper, .contact-info-card {
    width: 100%;
  }
  .contact-form-wrapper { padding-bottom: 10px; }
}

/* ========================== */
/* CONTACT FORM 7 COMPAT FIX  */
/* ========================== */
.wpcf7 form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* Inputs and textarea inside CF7 */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 textarea,
.wpcf7 select {
  width: 100%;
  padding: 14px 16px;
  border: 1px solid rgba(210,193,182,0.6);
  border-radius: 8px;
  font-size: 1rem;
  color: #1B3C53;
  background: #fff;
  transition: all .18s ease;
  font-family: inherit;
}

.wpcf7 input:focus,
.wpcf7 textarea:focus,
.wpcf7 select:focus {
  outline: none;
  border-color: #234C6A;
  box-shadow: 0 0 0 3px rgba(35,76,106,0.15);
}

/* Submit button */
.wpcf7 input[type="submit"] {
  display: inline-block;
  padding: 12px 30px;
  border: none;
  border-radius: 8px;
  background: linear-gradient(135deg,#1B3C53 0%, #234C6A 100%);
  color: #D2C1B6;
  font-weight: 700;
  font-family: 'Playfair Display', serif;
  cursor: pointer;
  transition: transform .15s ease, background .25s ease;
}

.wpcf7 input[type="submit"]:hover {
  background: linear-gradient(135deg,#D2C1B6 0%, #E5D4C7 100%);
  color: #1B3C53;
  transform: translateY(-2px);
}

/* Make labels stack instead of inline */
.wpcf7-form p {
  margin: 0 0 10px;
  display: flex;
  flex-direction: column;
}
