/* XY STUDIO — Release 4.3 corrective patch
   Scoped to /contact.html only. Desktop fields are compact; mobile field sizing
   remains inherited from the existing site styles. */
.page-contact .contact-form .formgrid {
  column-gap: 18px !important;
  row-gap: 22px !important;
}

.page-contact .contact-form .field input,
.page-contact .contact-form .field select {
  box-sizing: border-box !important;
}

.page-contact .contact-form .field textarea {
  box-sizing: border-box !important;
}

.page-contact .contact-form .field.full {
  margin-top: 22px !important;
}

.page-contact .form > .notice {
  margin-bottom: 20px !important;
}

.page-contact .optional-field-note {
  font-weight: 400;
  color: #777770;
}

@media (min-width: 701px) {
  .page-contact .contact-form .field input,
  .page-contact .contact-form .field select {
    height: 66px !important;
    min-height: 66px !important;
    padding: 14px 16px !important;
  }

  .page-contact .contact-form .field textarea {
    height: 130px !important;
    min-height: 130px !important;
    padding: 14px 16px !important;
  }
}

@media (max-width: 700px) {
  .page-contact .contact-form .formgrid {
    row-gap: 18px !important;
  }

  .page-contact .contact-form .field.full {
    margin-top: 18px !important;
  }

  .page-contact .form > .notice {
    margin-bottom: 18px !important;
  }
}
/* Contact page: move the service select arrow slightly left */
.page-contact .contact-form .field select#product {
  -webkit-appearance: none !important;
  appearance: none !important;
  padding-right: 42px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 18px center !important;
}


/* Contact form — consent and responsive control alignment */
.page-contact .contact-form .form-actions {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 18px;
  min-width: 0;
}

.page-contact .contact-form .form-actions > .btn {
  flex: 0 0 auto;
  white-space: nowrap;
}

.page-contact .contact-form .privacy-consent {
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
  margin: 0;
  color: #555550;
  font-size: 12px;
  line-height: 1.35;
  font-weight: 400;
}

.page-contact .contact-form .privacy-consent input[type="checkbox"] {
  flex: 0 0 auto;
  width: 15px;
  height: 15px;
  margin: 0;
  accent-color: #111;
}

.page-contact .contact-form .privacy-consent span {
  min-width: 0;
}

.page-contact .contact-form .privacy-consent a {
  color: inherit;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

@media (max-width: 900px) {
  .page-contact .contact-form .field input,
  .page-contact .contact-form .field select {
    height: 58px !important;
    min-height: 58px !important;
    padding: 14px 16px !important;
    line-height: 1.25 !important;
  }

  .page-contact .contact-form .field select#product {
    padding-right: 48px !important;
  }

  .page-contact .contact-form .form-actions {
    align-items: flex-start;
    gap: 12px;
  }

  .page-contact .contact-form .privacy-consent {
    font-size: 11px;
    line-height: 1.35;
    padding-top: 2px;
  }
}

@media (max-width: 560px) {
  .page-contact .contact-form .form-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 11px;
    align-items: start;
  }

  .page-contact .contact-form .form-actions > .btn {
    width: 100%;
    min-height: 48px;
  }

  .page-contact .contact-form .privacy-consent {
    align-items: flex-start;
    font-size: 11px;
    color: #6a6a64;
  }
}

/* Contact form — final alignment corrections */
.page-contact .contact-form .field select#product {
  line-height: normal !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  text-align: left !important;
  vertical-align: middle !important;
}

.page-contact .form > .notice {
  line-height: 2.35 !important;
  font-size: 14px;
}

.page-contact .contact-form .form-actions {
  align-items: center !important;
}

.page-contact .contact-form .privacy-consent {
  align-items: center !important;
  align-self: center !important;
  line-height: 1.25 !important;
  padding-top: 25px;
}

@media (max-width: 560px) {
  .page-contact .form > .notice {
    line-height: 1.35 !important;
  }

  .page-contact .contact-form .form-actions {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 11px !important;
  }

  .page-contact .contact-form .form-actions > .btn {
    width: 100% !important;
  }

  .page-contact .contact-form .privacy-consent {
    width: max-content !important;
    max-width: 100% !important;
    margin-inline: auto !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: left !important;
    line-height: 1.3 !important;
    padding-top: 0 !important;
  }
}
