/* Compact, consistent controls for the one native enquiry form instance. */
.tc-site [data-tc-enquiry-form] {
  --tc-form-control-height: 42px;
  --tc-form-field-gap: 10px;
  --tc-form-column-gap: 12px;
}

.tc-site [data-tc-enquiry-form] .wpforms-form .wpforms-field-container {
  column-gap: var(--tc-form-column-gap);
}

.tc-site [data-tc-enquiry-form] .wpforms-form .wpforms-field {
  padding-bottom: var(--tc-form-field-gap) !important;
}

.tc-site [data-tc-enquiry-form] .wpforms-form .wpforms-field-label {
  margin-bottom: 4px !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  font-weight: 400 !important;
}

.tc-site [data-tc-enquiry-form] .wpforms-form .wpforms-field input:not(.wpforms-recaptcha-hidden):not([name="g-recaptcha-hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]),
.tc-site [data-tc-enquiry-form] .wpforms-form .wpforms-field select,
.tc-site [data-tc-enquiry-form] .wpforms-form .wpforms-field textarea {
  box-sizing: border-box !important;
  height: var(--tc-form-control-height) !important;
  min-height: var(--tc-form-control-height) !important;
  max-width: 100% !important;
  padding: 9px 11px 9px var(--tc-form-phone-padding, 11px) !important;
  border-radius: 6px !important;
  font-size: 14px !important;
  line-height: 20px !important;
}

.tc-site [data-tc-enquiry-form] .wpforms-form .wpforms-field select {
  padding-right: 28px !important;
  background-position: right 10px center !important;
}

.tc-site [data-tc-enquiry-form] .wpforms-form .wpforms-field textarea {
  height: 78px !important;
  min-height: 78px !important;
  resize: vertical;
}

/* Keep room for the native country picker and its dynamically measured dial code. */
.tc-site [data-tc-enquiry-form] .wpforms-form .wpforms-field input[type="tel"] {
  --tc-form-phone-padding: 88px;
}

.tc-site [data-tc-enquiry-form] .wpforms-form .iti__selected-flag,
.tc-site [data-tc-enquiry-form] .wpforms-form .iti__selected-country {
  height: var(--tc-form-control-height);
  padding-inline: 9px !important;
}

.tc-site [data-tc-enquiry-form] .wpforms-form .wpforms-datepicker-wrap,
.tc-site [data-tc-enquiry-form] .wpforms-form .wpforms-field-row,
.tc-site [data-tc-enquiry-form] .wpforms-form .wpforms-field-layout-rows {
  width: 100% !important;
  max-width: 100% !important;
}

/* Car/contact forms keep their real WPForms layout fields, without double gaps. */
.tc-site [data-tc-enquiry-form] .wpforms-form .wpforms-field-layout {
  padding-bottom: 0 !important;
}

.tc-site [data-tc-enquiry-form] .wpforms-form .wpforms-layout-row {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 var(--tc-form-column-gap) !important;
  margin: 0 !important;
}

.tc-site [data-tc-enquiry-form] .wpforms-form .wpforms-layout-column {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.tc-site [data-tc-enquiry-form] .wpforms-form .wpforms-layout-column:only-child {
  grid-column: 1 / -1;
}

.tc-site [data-tc-enquiry-form] .wpforms-form .wpforms-field-description,
.tc-site [data-tc-enquiry-form] .wpforms-form .wpforms-field-sublabel,
.tc-site [data-tc-enquiry-form] .wpforms-form label.wpforms-error,
.tc-site [data-tc-enquiry-form] .wpforms-form em.wpforms-error {
  margin-top: 4px !important;
  font-size: 11px !important;
  line-height: 1.4 !important;
}

/* CAPTCHA stays visible at its native size; only its surrounding whitespace changes. */
.tc-site [data-tc-enquiry-form] .wpforms-form .wpforms-recaptcha-container {
  margin: 0 0 9px !important;
  padding: 0 !important;
}

.tc-site [data-tc-enquiry-form] .wpforms-form .wpforms-recaptcha-container .g-recaptcha {
  padding-top: 0 !important;
}

/* WPForms can measure a visible widget as zero-height while its modal is closed.
   Follow the widget's actual height after opening; invisible widgets remain zero. */
.tc-site [data-tc-enquiry-form] .wpforms-form .wpforms-recaptcha-container.wpforms-is-turnstile {
  height: auto !important;
}

.tc-site [data-tc-enquiry-form] .wpforms-form .wpforms-submit-container {
  margin-top: 0 !important;
}

.tc-site [data-tc-enquiry-form] .wpforms-container-full .wpforms-form button[type="submit"] {
  height: 44px !important;
  min-height: 44px !important;
  padding: 10px 18px !important;
  font-size: 16px !important;
  line-height: 22px !important;
}

.tc-site [data-tc-enquiry-form] [data-tc-enquiry-status] {
  margin: 0 0 10px;
  padding: 9px 11px;
}

.tc-site .tc-enquiry-sidebar {
  padding: 20px 16px;
}

.tc-tour-layout > .tc-enquiry-sidebar {
  top: calc(var(--tc-header-reserve, 70px) + var(--tc-admin-bar-offset, 0px) + 16px);
}

.tc-site .tc-enquiry-sidebar [data-tc-enquiry-form] > h2 {
  margin: 0 0 18px;
  font-size: 25px;
  line-height: 1.2;
}

.tc-site .tc-enquiry-sidebar [data-tc-enquiry-form] > h2::after {
  margin-top: 9px;
}

.tc-site .tc-enquiry-modal {
  padding: 20px;
}

.tc-site .tc-enquiry-modal .tc-modal-dialog {
  max-height: calc(100dvh - 40px);
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
}

.tc-site .tc-enquiry-modal .tc-modal-content {
  padding: 22px 24px;
}

/* Keep the promotional copy in the artwork's clear sky after compacting the form. */
.tc-site .tc-modal-benefits {
  gap: 12px;
  padding: 18px 24px 0;
}
.tc-site .tc-modal-benefit { gap: 4px; }
.tc-site .tc-modal-benefit-icon { width: 38px; height: 38px; }
.tc-site .tc-modal-art .tc-modal-benefit p {
  max-width: 190px;
  font-size: 13px;
  line-height: 1.35;
}

.tc-site .tc-modal-content [data-tc-enquiry-form] > h2 {
  margin: 0 30px 18px 0;
  font-size: 30px;
  line-height: 1.15;
}

.tc-site .tc-enquiry-modal .tc-modal-context {
  margin: 0 0 10px;
  font-size: 11px;
  line-height: 1.4;
}

@media (max-width: 767px) {
  .tc-site [data-tc-enquiry-form] {
    --tc-form-control-height: 40px;
    --tc-form-field-gap: 6px;
    --tc-form-column-gap: 10px;
  }

  .tc-site [data-tc-enquiry-form] .wpforms-form .wpforms-field input:not(.wpforms-recaptcha-hidden):not([name="g-recaptcha-hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]),
  .tc-site [data-tc-enquiry-form] .wpforms-form .wpforms-field select,
  .tc-site [data-tc-enquiry-form] .wpforms-form .wpforms-field textarea {
    padding-block: 8px !important;
    font-size: 16px !important;
  }

  .tc-site [data-tc-enquiry-form] .wpforms-form .wpforms-field textarea {
    height: 68px !important;
    min-height: 68px !important;
  }

  .tc-site [data-tc-enquiry-form] .wpforms-form .wpforms-field input[type="tel"] {
    --tc-form-phone-padding: 83px;
  }

  /* Long email/phone/address values need a usable full-width input on mobile. */
  .tc-site [data-tc-enquiry-form][data-service="contact"] .wpforms-form .wpforms-layout-row,
  .tc-site [data-tc-enquiry-form][data-service="car"] .wpforms-form .wpforms-field-layout[data-field-id="11"] .wpforms-layout-row,
  .tc-site [data-tc-enquiry-form][data-service="car"] .wpforms-form .wpforms-field-layout[data-field-id="30"] .wpforms-layout-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .tc-site .tc-enquiry-modal {
    align-items: center;
    padding: max(14px, env(safe-area-inset-top)) 12px max(14px, env(safe-area-inset-bottom));
  }

  .tc-site .tc-enquiry-modal .tc-modal-dialog {
    max-height: calc(100dvh - max(14px, env(safe-area-inset-top)) - max(14px, env(safe-area-inset-bottom)));
    border-radius: 18px;
  }

  .tc-site .tc-enquiry-modal .tc-modal-dialog::-webkit-scrollbar {
    display: block;
    width: 4px;
  }

  .tc-site .tc-enquiry-modal .tc-modal-dialog::-webkit-scrollbar-thumb {
    background: #c8c8c8;
    border-radius: 4px;
  }

  .tc-site .tc-enquiry-modal .tc-modal-content {
    padding: 17px 14px 15px;
  }

  .tc-site .tc-modal-content [data-tc-enquiry-form] > h2 {
    margin: 0 25px 16px;
    font-size: 26px;
    line-height: 1.15;
    text-align: center;
  }

  .tc-site .tc-modal-content [data-tc-enquiry-form] > h2::after {
    width: 64px;
    margin-top: 8px;
  }

  .tc-site .tc-enquiry-sidebar {
    padding: 18px 14px;
  }
}
