/* V18 — Personal enquiry on the contact page; the Wix form remains owner-managed. */
.contact-form-section {
  background: linear-gradient(140deg, #f6eff5 0%, #fffdfb 57%, #f9f4f8 100%);
  border-block: 1px solid #e8dce6;
}
.enquiry-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.14fr) minmax(0, .86fr);
  gap: clamp(40px, 7vw, 110px);
  align-items: start;
}
.enquiry-intro { padding-top: 30px; }
.enquiry-intro h2 { max-width: 12ch; font-size: clamp(2.65rem, 4.5vw, 4.5rem); line-height: 1.06; }
.enquiry-intro p { max-width: 49ch; line-height: 1.78; color: #584b5c; }
.enquiry-intro .enquiry-promise { border-left: 2px solid #a98451; padding: 2px 0 2px 22px; margin: 30px 0; }
.enquiry-intro .enquiry-promise p { margin: 0; }
.enquiry-intro .textlink { display: inline-flex; margin-top: 8px; }
.enquiry-panel {
  border: 1px solid #e8dce4;
  border-top: 3px solid #a88963;
  border-radius: 3px;
  background: #fffdfa;
  padding: clamp(24px, 3.6vw, 49px);
  box-shadow: 0 24px 65px rgba(74, 48, 75, .09);
}
.enquiry-panel h2 { font-size: clamp(1.85rem, 3vw, 2.3rem); margin: 8px 0 9px; }
.enquiry-intro .smallcaps, .enquiry-panel .smallcaps { color: #79567c; }
.enquiry-panel .enquiry-deck { color: #67596a; line-height: 1.6; margin: 0 0 26px; }
.enquiry-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 19px 18px; }
.enquiry-field { min-width: 0; }
.enquiry-field:has(textarea), .enquiry-field:has(select), .enquiry-form-error, .enquiry-form-actions { grid-column: 1 / -1; }
.enquiry-label { display: block; color: #3f3142; font-size: .85rem; font-weight: 650; margin-bottom: 8px; }
.enquiry-required { color: #81517c; }
.enquiry-input {
  display: block; width: 100%; box-sizing: border-box;
  min-height: 49px; border: 1px solid #bfaebf; border-radius: 2px;
  background: #fff; color: #372b3b; font: inherit; font-size: .96rem;
  padding: 11px 14px; appearance: none;
  transition: border-color .18s ease, box-shadow .18s ease;
}
select.enquiry-input {
  padding-right: 34px;
  background-image: linear-gradient(45deg, transparent 50%, #67546b 50%), linear-gradient(135deg, #67546b 50%, transparent 50%);
  background-position: calc(100% - 19px) 21px, calc(100% - 13px) 21px;
  background-size: 6px 6px; background-repeat: no-repeat;
}
.enquiry-input::placeholder { color: #837685; }
.enquiry-input:focus-visible, .enquiry-checkbox:focus-visible, .enquiry-submit:focus-visible, .enquiry-secondary:focus-visible {
  outline: 2px solid #5c4063; outline-offset: 3px;
  border-color: #5c4063; box-shadow: 0 0 0 3px #f4e8f3;
}
.enquiry-input[aria-invalid="true"] { border-color: #a13749; }
.enquiry-textarea { resize: vertical; min-height: 135px; line-height: 1.5; }
.enquiry-checkbox { width: 20px; height: 20px; accent-color: #5c4063; }
.enquiry-help { color: #6d6270; font-size: .8rem; line-height: 1.5; margin: 7px 0 0; }
.enquiry-error, .enquiry-form-error { color: #a13749; font-size: .82rem; line-height: 1.45; margin: 5px 0 0; }
.enquiry-error:empty, .enquiry-form-error:empty { display: none; }
.enquiry-form-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 4px; }
.enquiry-submit, .enquiry-secondary {
  cursor: pointer; border: 1px solid #553b5c; border-radius: 2px;
  min-height: 52px; padding: 12px 24px; font: inherit; font-weight: 650; font-size: .91rem;
}
.enquiry-submit { background: #553b5c; color: #fff; }
.enquiry-submit:hover:not(:disabled) { background: #3d2c44; }
.enquiry-secondary { color: #553b5c; background: transparent; }
.enquiry-submit:disabled, .enquiry-secondary:disabled { opacity: .55; cursor: wait; }
.enquiry-form-actions [hidden] { display: none !important; }
.enquiry-footnote, .enquiry-privacy, .enquiry-backup {
  color: #6c5d70; font-size: .79rem; line-height: 1.6;
}
.enquiry-footnote { margin: 18px 0 0; }
.enquiry-privacy { margin: 23px 0 0; }
.enquiry-backup { margin: 6px 0 0; }
.enquiry-state, .enquiry-success { border: 1px solid #e7dce5; padding: 26px; background: #faf5f9; color: #493b4d; }
.enquiry-state--error { border-left: 3px solid #a13749; }
.enquiry-state p { margin: 0 0 10px; }
.enquiry-success { text-align: center; padding: 38px 24px; }
.enquiry-success h3 { font-size: 1.65rem; }
.enquiry-success-mark { color: #497258; font-size: 2.2rem; }
.enquiry-success p { color: #5f5163; }
@media (max-width: 850px) {
  .enquiry-layout { grid-template-columns: 1fr; gap: 28px; }
  .enquiry-intro { padding-top: 0; }
  .enquiry-intro h2 { max-width: 18ch; }
  .enquiry-intro .enquiry-promise { margin: 20px 0; }
}
@media (max-width: 540px) {
  .contact-form-section { padding-block: 54px; }
  .enquiry-panel { padding: 24px 20px; }
  .enquiry-fields { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .enquiry-submit { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .enquiry-input { transition: none; }
}
