/* Contact-page Forminator fields. Plugin design CSS is dequeued; this is the only form skin. */

.contact-form-card .forminator-required,
.contact-form-card .forminator-edit-module,
.contact-form-card .forminator-description,
.contact-form-card .forminator-hidden,
.contact-form-card .forminator-pagination {
  display: none;
}

.contact-form-card .forminator-row:has(input[type="hidden"]):not(:has(input:not([type="hidden"]), select, textarea)) {
  display: none;
}

.contact-form-card .forminator-row {
  margin: 0 0 1.5rem;
}

.contact-form-card .forminator-col {
  width: 100%;
  max-width: 100%;
  padding: 0;
}

.contact-form-card .forminator-field {
  margin: 0;
}

.contact-form-card .forminator-label {
  display: block;
  margin: 0 0 0.5rem;
  font-family: var(--font-sans);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--black);
}

.contact-form-card .forminator-input,
.contact-form-card .forminator-textarea,
.contact-form-card select.forminator-select--field {
  width: 100%;
  border-radius: var(--radius);
  border: 1.5px solid var(--border-light);
  background: var(--white);
  color: var(--black);
  padding: 0.625rem 0.875rem;
  font-size: 0.875rem;
  line-height: 1.5;
  font-family: var(--font-sans);
  box-shadow: none;
  transition: border-color 0.2s, box-shadow 0.2s;
}

.contact-form-card .forminator-textarea {
  min-height: 8.5rem;
  resize: none;
}

.contact-form-card select.forminator-select--field {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%234a4a4a' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 1rem;
  padding-right: 2.5rem;
}

.contact-form-card .forminator-input::placeholder,
.contact-form-card .forminator-textarea::placeholder {
  color: rgba(0, 0, 0, 0.35);
}

.contact-form-card .forminator-input:focus,
.contact-form-card .forminator-textarea:focus,
.contact-form-card select.forminator-select--field:focus {
  outline: none;
  border-color: var(--black);
  box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.08);
}

.contact-form-card .forminator-has_error .forminator-input,
.contact-form-card .forminator-has_error .forminator-textarea,
.contact-form-card .forminator-has_error select.forminator-select--field {
  border-color: var(--red);
}

.contact-form-card .forminator-error-message {
  margin: 0.25rem 0 0;
  color: #ef4444;
  font-family: var(--font-sans);
  font-size: 0.875rem;
}

.contact-form-card .forminator-row-last {
  margin-bottom: 0;
}

.contact-form-card .forminator-button-submit {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 3rem;
  margin: 0;
  padding: 0 1rem;
  border: 0;
  border-radius: var(--radius);
  background: var(--red);
  color: #fff;
  font-family: var(--font-sans);
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color 0.3s;
}

.contact-form-card .forminator-button-submit:hover,
.contact-form-card .forminator-button-submit:focus {
  background: var(--black);
}

.contact-form-card .forminator-response-message {
  margin: 0 0 1.5rem;
  text-align: center;
  font-family: var(--font-sans);
}

.contact-form-card .forminator-response-message.forminator-success {
  color: var(--black);
}

.contact-form-card .forminator-response-message.forminator-error {
  color: #ef4444;
}
