/* Shared enquiry controls, with feedback beside each field. */
body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] label:not(.enquiry-consent label) { font: 400 15px/1.6 Avenir, "Avenir Next", sans-serif; letter-spacing: .015em; text-transform: none; }
body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] :is(input:not([type="checkbox"]):not([type="hidden"]), select, textarea) {
  min-height: 56px;
  font: 400 16px/1.6 Avenir, "Avenir Next", sans-serif;
  background: #f7f7f5; color: #292e29; border: 1px solid #dfe1da;
  padding: 12px 14px; margin-top: 8px; border-radius: 0;
  width: 100%; min-width: 0; max-width: 100%;
  scroll-margin-block: calc(var(--site-header-height, 76px) + 20px) 24px;
}
body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] textarea { min-height: 156px; line-height: 1.65; }
body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] .phone-country-choice select { height: 56px; }
body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] .phone-country-choice:after { top: 24px; }
body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] .contact-select:after { top: 24px; }
body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] .contact-required { max-width: 190px; font-size: 13px; line-height: 1.6; }
body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] .contact-field-hint {
  margin: -10px 0 24px;
  font-size: 14px;
  line-height: 1.6;
  color: var(--enquiry-muted, #646b63);
}
body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] .contact-field-error {
  display: block;
  margin-top: 8px;
  color: var(--enquiry-error, #9b342b);
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: 0;
  text-transform: none;
}
body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] .contact-field-error:empty { display: none; }
body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] [aria-invalid="true"] { border-color: var(--enquiry-error, #9b342b); }
body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] :is(input, select, textarea):focus-visible {
  outline: 2px solid var(--enquiry-focus, #596b57);
  outline-offset: 3px;
}
body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] .enquiry-consent { grid-template-columns: 44px minmax(0, 1fr); gap: 0 10px; }
body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] .enquiry-consent input.enquiry-consent-check {
  width: 24px; height: 24px; min-width: 24px; min-height: 24px; max-height: 24px;
  margin: 8px 10px; outline-offset: 4px;
}
body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] .enquiry-consent label { min-height: 44px; padding-block: 6px; font-size: 14px; line-height: 1.6; }
body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] .enquiry-consent a { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; }
body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] .enquiry-consent > .contact-field-error { grid-column: 1 / -1; }
body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] [type="submit"] {
  min-height: 56px; padding-inline: 28px; font-size: 14px; color: #fff; background: #202523;
}
body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] [type="submit"]:disabled { opacity: .7; cursor: default; }
body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] :is(.contact-status, #enquiry-status, .status) {
  font-size: 16px;
  scroll-margin-block: calc(var(--site-header-height, 76px) + 20px) 24px;
}
body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] :is(.contact-status, #enquiry-status, .status)[data-state="error"],
body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] :is(.contact-status, #enquiry-status, .status)[data-state="invalid"] { color: #822f27; background: #fbf1ed; }
body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] :is(.contact-status, #enquiry-status, .status)[data-state="success"] { color: #28472e; background: #eef3ec; }
@media (max-width: 900px) {
  body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] label:not(.enquiry-consent label) { font-size: 16px; margin-bottom: 22px; }
  body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] .contact-form-heading { flex-direction: column; align-items: flex-start; gap: 8px; }
  body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] .contact-required { text-align: left; max-width: none; font-size: 14px; }
  body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] [type="submit"] { width: 100%; }
}

body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] {
  min-width: 0;
}
body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] :is(.required-fields-note, .rental-stay-summary) {
  font: 400 14px/1.65 Avenir, "Avenir Next", sans-serif;
  color: var(--enquiry-muted, #646b63);
}
body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] :is(.contact-name-pair, .form-pair) > label { min-width: 0; }
body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] .phone-country-choice { margin-top: 8px; }
body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] .phone-country-choice select { margin-top: 0; }
body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] .phone-country-value { font: 400 16px/1.6 Avenir, "Avenir Next", sans-serif; }
body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] [type="submit"] {
  font-family: Avenir, "Avenir Next", sans-serif; line-height: 1.5; font-weight: 400;
}
body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] :is(.contact-status, #enquiry-status, .status):not(:empty) {
  padding: 16px 18px; margin-top: 20px; line-height: 1.7;
}
.property-page #property-enquiry {
  --enquiry-muted: #c4cbc1; --enquiry-error: #ffb7a7; --enquiry-focus: #c4d0b9;
}
body.property-page #property-enquiry[data-contact-validation="inline"] [type="submit"] { background: #fff; color: #202523; }
@media (max-width: 900px) {
  body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] .contact-phone-pair { grid-template-columns: 100px minmax(0, 1fr); gap: 14px; }
  body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] label:not(.enquiry-consent label) { margin-bottom: 22px; }
}
