@media (max-width: 781px) {
  .hide-on-mobile {
    display: none !important;
  }
}

/* === Contact Form 7 Base Styling === */
.wpcf7 {
  max-width: 640px;
  margin: 0 auto;
  font-family: inherit;
}

/* Inputs & Textareas */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 textarea {
  width: 100%;
  padding: 14px 16px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  font-size: 16px;
  line-height: 1.4;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  box-sizing: border-box;
}

/* Focus state */
.wpcf7 input:focus,
.wpcf7 textarea:focus {
  outline: none;
  border-color: #3c6e71;
  box-shadow: 0 0 0 3px rgba(60, 110, 113, 0.18);
}

/* Textarea */
.wpcf7 textarea {
  min-height: 140px;
  resize: vertical;
}

/* Labels */
.wpcf7 label {
  display: block;
  margin-bottom: 6px;
  font-weight: 600;
  font-size: 14px;
  color: #374151;
}

/* Spacing */
.wpcf7 .wpcf7-form-control-wrap {
  margin-bottom: 20px;
  display: block;
}

/* Submit Button */
.wpcf7 input[type="submit"] {
  background: #3c6e71;
  color: #ffffff;
  border: none;
  padding: 14px 28px;
  font-size: 16px;
  font-weight: 600;
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.2s ease, transform 0.1s ease, box-shadow 0.2s ease;
}

/* Button hover */
.wpcf7 input[type="submit"]:hover {
  background: #345f61;
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(60, 110, 113, 0.25);
}

/* Disabled state */
.wpcf7 input[type="submit"]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* Error tips */
.wpcf7-not-valid-tip {
  color: #b91c1c;
  font-size: 13px;
  margin-top: 6px;
}

/* Response messages */
.wpcf7-response-output {
  margin-top: 24px;
  padding: 14px 16px;
  border-radius: 6px;
  font-size: 14px;
}

/* Success */
.wpcf7-mail-sent-ok {
  border-color: #3c6e71;
  background: rgba(60, 110, 113, 0.12);
}

/* Errors */
.wpcf7-validation-errors,
.wpcf7-mail-sent-ng {
  border-color: #b91c1c;
  background: #fee2e2;
}