/* This style only for .apartment-booking-form class */
.form-assembly-wrapper:has(.apartment-booking-form) {
  background-color: #fcfbe8 !important;
  margin-right: 20px;
  margin-bottom: 20px;
  padding: 30px !important;
  width: 872px;
}
.abs-back {
  display: none !important;
}
.apartment-booking-form h1 {
  text-align: left !important;
}
.form-assembly-wrapper .apartment-booking-form .abs-back {
  display: flex !important;
  gap: 13px;
  align-items: center;
  color: #282828;
  font-size: 16px;
  font-weight: 500;
  line-height: 26px;
  cursor: pointer;
  text-decoration: none;
  grid-row: 1 !important;
  grid-column: 1 / span 2 !important;
  margin-bottom: 32px !important;
}
.apartment-booking-form .mb-10 {
  grid-row: 2 !important;
  grid-column: 1 / span 2 !important;
  margin-bottom: 8px !important;
}
.apartment-booking-form .mb-10 + div {
  grid-row: 3 !important;
  grid-column: 1 / span 2 !important;
  margin-bottom: 32px !important;
}
.form-assembly-wrapper .form.apartment-booking-form form {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  column-gap: 24px !important;
  row-gap: 0px !important;
  justify-content: flex-start !important;
}
.apartment-booking-form label {
  color: #555 !important;
  margin-bottom: 10px !important;
  padding-bottom: 0px !important;
  display: inline-block !important;
  transform: none !important;
  position: static !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 20px !important;
}
.apartment-booking-form .required-star {
  display: none !important;
}
.apartment-booking-form .form-group {
  width: 100% !important;
  margin-bottom: 24px !important;
}
.apartment-booking-form .input-wrapper {
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  margin-bottom: 0px !important;
}
.apartment-booking-form .input-wrapper input.form-control {
  display: flex !important;
  height: 52px !important;
  padding: 15px 17px !important;
  border-radius: 6px !important;
  border: 1px solid var(--Stone-Mid, #f0ebcd) !important;
  background: var(--BTR---White, #fff) !important;
  margin-top: 0px !important;
  box-sizing: border-box !important;
  width: 100% !important;
  font-size: 16px !important;
  color: #000 !important;
}
.apartment-booking-form input::placeholder {
  color: #000 !important;
  opacity: 0.2 !important;
}

/* First Name */
.form-assembly-wrapper .form.apartment-booking-form form > div:nth-of-type(3) {
  grid-row: 4 !important;
  grid-column: 1 !important;
  width: 100% !important;
  margin-bottom: 24px !important;
}
/* Last Name */
.form-assembly-wrapper .form.apartment-booking-form form > div:nth-of-type(4) {
  grid-row: 4 !important;
  grid-column: 2 !important;
  width: 100% !important;
  margin-bottom: 24px !important;
}
/* Email */
.form-assembly-wrapper .form.apartment-booking-form form > div:nth-of-type(5) {
  grid-row: 5 !important;
  grid-column: 1 / span 2 !important;
  width: 100% !important;
  margin-bottom: 24px !important;
}
/* Phone Number */
.form-assembly-wrapper .form.apartment-booking-form form > div:nth-of-type(6) {
  grid-row: 6 !important;
  grid-column: 1 / span 2 !important;
  width: 100% !important;
  margin-bottom: 24px !important;
}
/* Lease Start Date label */
.form-assembly-wrapper .form.apartment-booking-form form > label.control-label {
  grid-row: 7 !important;
  grid-column: 1 !important;
  margin-bottom: 10px !important;
}
/* Lease Start Date input wrapper */
.form-assembly-wrapper .form.apartment-booking-form form > div:nth-of-type(7) {
  grid-row: 8 !important;
  grid-column: 1 !important;
  width: 100% !important;
  margin-bottom: 24px !important;
}
/* Lease Length wrapper */
.form-assembly-wrapper .form.apartment-booking-form form > div:nth-of-type(8) {
  grid-row: 7 / span 2 !important;
  grid-column: 2 !important;
  width: 100% !important;
  margin-bottom: 24px !important;
  display: flex !important;
  flex-direction: column !important;
  position: relative !important;
}
.form-assembly-wrapper
  .form.apartment-booking-form
  form
  > div:nth-of-type(8)
  > .field-validation-error {
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  right: 0 !important;
  margin-top: 4px !important;
}
/* Promo Code */
.form-assembly-wrapper .form.apartment-booking-form form > div:nth-of-type(9) {
  grid-row: 9 !important;
  grid-column: 1 / span 2 !important;
  width: 100% !important;
  margin-bottom: 24px !important;
}

/* Hide br elements in form */
.form-assembly-wrapper .form.apartment-booking-form form > br {
  display: none !important;
}

/* Datepicker wrapper and field */
.apartment-booking-form form > div.datepicker {
  width: 100% !important;
  max-width: 100% !important;
  height: 52px !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 17px !important;
  border-radius: 6px !important;
  border: 1px solid var(--Stone-Mid, #f0ebcd) !important;
  background-color: var(--BTR---White, #fff) !important;
  margin-top: 0px !important;
  margin-bottom: 24px !important;
  box-sizing: border-box !important;
  position: relative !important;
  overflow: hidden !important;
  gap: 10px !important;
  cursor: pointer !important;
}
.apartment-booking-form form > div.datepicker::before {
  content: '' !important;
  display: block !important;
  width: 18px !important;
  height: 18px !important;
  position: absolute !important;
  left: 17px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 2 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18' fill='none'%3E%3Crect x='1' y='3' width='16' height='14' rx='2' stroke='%23FF5546' stroke-width='1.5'/%3E%3Cpath d='M1 7H17' stroke='%23FF5546' stroke-width='1.5'/%3E%3Cpath d='M5 1V4' stroke='%23FF5546' stroke-width='1.5' stroke-linecap='round'/%3E%3Cpath d='M13 1V4' stroke='%23FF5546' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;
  pointer-events: none !important;
}
.apartment-booking-form form > div.datepicker input {
  border: none !important;
  padding: 0 17px 0 45px !important;
  margin: 0 -17px !important;
  height: 100% !important;
  flex: 1 !important;
  min-width: 0 !important;
  background: transparent !important;
  font-family: Jost, sans-serif !important;
  font-size: 16px !important;
  color: rgb(40, 40, 40) !important;
  cursor: pointer !important;
  position: relative !important;
  z-index: 1 !important;
}
.apartment-booking-form form > div.datepicker input:focus,
.apartment-booking-form form > div.datepicker input:focus-visible {
  outline: none !important;
  box-shadow: none !important;
  border: none !important;
}
.apartment-booking-form form > div.datepicker:focus-within,
.apartment-booking-form form > div.datepicker.is-picker-open {
  border-color: #005fcc !important;
}
.apartment-booking-form form > div.datepicker:has(.datepicker-display) input.datepicker {
  color: transparent !important;
}
.apartment-booking-form
  form
  > div.datepicker:has(.datepicker-display)
  input.datepicker::-webkit-datetime-edit {
  visibility: hidden !important;
}
.apartment-booking-form form > div.datepicker .datepicker-display {
  position: absolute !important;
  left: 45px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  font-family: Jost, sans-serif !important;
  font-size: 16px !important;
  line-height: 20px !important;
  color: rgb(40, 40, 40) !important;
  z-index: 2 !important;
}
.apartment-booking-form form > div.datepicker input::-webkit-calendar-picker-indicator {
  display: block !important;
  position: absolute !important;
  top: 0 !important;
  left: -100px !important;
  width: calc(100% + 200px) !important;
  height: 100% !important;
  opacity: 0 !important;
  cursor: pointer !important;
  z-index: 10 !important;
}
.apartment-booking-form
  form
  > div.datepicker.can-show-picker
  input::-webkit-calendar-picker-indicator {
  pointer-events: none !important;
}
.apartment-booking-form form > div.datepicker::after {
  content: '' !important;
  display: block !important;
  width: 14px !important;
  height: 8px !important;
  position: absolute !important;
  right: 17px !important;
  top: 50% !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8' fill='none'%3E%3Cpath d='M1 1L6.92929 6.92929C6.96834 6.96834 7.03166 6.96834 7.07071 6.92929L13 1' stroke='%23FF5546' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;
  pointer-events: none !important;
  z-index: 2 !important;
  transform: translateY(-50%) rotate(0deg) !important;
  transform-origin: center !important;
  transition: transform 0.2s ease !important;
}
.apartment-booking-form form > div.datepicker.is-picker-open::after {
  transform: translateY(-50%) rotate(180deg) !important;
}

/* React-Select Dropdown list */
.apartment-booking-form .form-control-select__control {
  height: 52px !important;
  min-height: 52px !important;
  border-radius: 6px !important;
  border: 1px solid var(--Stone-Mid, #f0ebcd) !important;
  background-color: var(--BTR---White, #fff) !important;
  margin-top: 0px !important;
  box-sizing: border-box !important;
  padding: 0 !important;
}
.apartment-booking-form .form-control-select__value-container {
  height: 100% !important;
  padding: 0 17px !important;
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  position: relative !important;
  overflow: hidden !important;
}
.apartment-booking-form .form-control-select__control,
.apartment-booking-form .form-control-select__control * {
  cursor: pointer !important;
}
.apartment-booking-form .form-control-select__single-value,
.apartment-booking-form .form-control-select__placeholder {
  font-family: Jost, sans-serif !important;
  font-size: 16px !important;
  line-height: 20px !important;
  margin: 0 !important;
  padding: 0 !important;
  position: static !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  transform: none !important;
  flex: 0 1 auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.apartment-booking-form .form-control-select__single-value {
  color: rgb(40, 40, 40) !important;
}
.apartment-booking-form .form-control-select__placeholder {
  color: #a9a9a9 !important;
}
.apartment-booking-form .form-control-select__input-container {
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: 0 0 auto !important;
}
.form-assembly-wrapper
  .apartment-booking-form
  .input-wrapper
  .form-control-select__input-container
  input,
.apartment-booking-form .form-control-select__input-container input {
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}
.apartment-booking-form .form-control-select__indicators {
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
}
.apartment-booking-form .form-control-select__indicator {
  padding: 0 17px !important;
  display: flex !important;
  align-items: center !important;
  height: 100% !important;
}
.apartment-booking-form .form-control-select__dropdown-indicator svg {
  display: none !important;
}
.apartment-booking-form .form-control-select__dropdown-indicator {
  width: 48px !important;
  box-sizing: border-box !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8' fill='none'%3E%3Cpath d='M1 1L6.92929 6.92929C6.96834 6.96834 7.03166 6.96834 7.07071 6.92929L13 1' stroke='%23FF5546' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 14px 8px !important;
  transform: rotate(0deg) !important;
  transform-origin: center !important;
  transition: transform 0.2s ease !important;
}
.apartment-booking-form
  .form-control-select__control--menu-is-open
  .form-control-select__dropdown-indicator {
  transform: rotate(180deg) !important;
}
.apartment-booking-form .form-control-select__menu {
  z-index: 9999 !important;
}
.apartment-booking-form .input-wrapper--select {
  position: relative !important;
  z-index: 2 !important;
}

/* Intl-tel-input side by side layout */
.apartment-booking-form .iti {
  display: flex !important;
  flex-direction: row !important;
  gap: 10px !important;
  margin-top: 0px !important;
  width: 100% !important;
}
.apartment-booking-form .iti__country-container {
  position: relative !important;
  background-color: var(--BTR---White, #fff) !important;
  border: 1px solid var(--Stone-Mid, #f0ebcd) !important;
  border-radius: 6px !important;
  height: 52px !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 !important;
}
.apartment-booking-form .iti__dropdown-content {
  z-index: 10000 !important;
  top: 100% !important;
  bottom: auto !important;
  left: 0 !important;
}
.apartment-booking-form .iti__selected-country {
  background: transparent !important;
  border: none !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 10px 0 17px !important;
}
.apartment-booking-form .iti__selected-country-primary {
  padding-left: 0 !important;
}
.apartment-booking-form .iti__selected-dial-code {
  font-family: Jost, sans-serif !important;
  font-size: 16px !important;
  color: rgb(40, 40, 40) !important;
  padding-inline: 8px 10px !important;
  display: flex !important;
  align-items: center !important;
}
.apartment-booking-form .iti__selected-dial-code::after {
  border-color: #ff5546 !important;
  margin-left: 8px !important;
}
.apartment-booking-form input.iti__tel-input[type='tel'] {
  flex-grow: 1 !important;
  width: 100% !important;
  height: 52px !important;
  padding: 15px 17px !important;
  border-radius: 6px !important;
  border: 1px solid var(--Stone-Mid, #f0ebcd) !important;
  background: var(--BTR---White, #fff) !important;
  margin-top: 0px !important;
  box-sizing: border-box !important;
  font-family: Jost, sans-serif !important;
  font-size: 16px !important;
  color: rgb(40, 40, 40) !important;
}

/* ReCAPTCHA container */
.form-assembly-wrapper .form.apartment-booking-form form > div[name='g-recaptcha-response'] {
  grid-row: 10 !important;
  grid-column: 1 / span 2 !important;
  margin-top: 0px !important;
  margin-left: 0px !important;
  margin-right: auto !important;
  position: static !important;
  display: flex !important;
  justify-content: flex-start !important;
  align-items: center !important;
  width: auto !important;
  height: auto !important;
}
/* CAPTCHA required error message */
.form-assembly-wrapper .form.apartment-booking-form form > .input-hint-color-error {
  grid-row: 11 !important;
  grid-column: 1 / span 2 !important;
  margin-bottom: 24px !important;
  display: block !important;
}

/* Terms, Conditions and Submit container layout */
.form-assembly-wrapper .form.apartment-booking-form .abf-terms-and-conditions-and-submit {
  grid-row: 12 !important;
  grid-column: 1 / span 2 !important;
  margin-bottom: 24px !important;
  margin-top: 32px !important;
  display: flex !important;
  flex-direction: row !important;
  justify-content: space-between !important;
  align-items: center !important;
}
.apartment-booking-form .abf-left-col {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
}
.apartment-booking-form .abf-checkbox-wrapper {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
}
.apartment-booking-form .abf-checkbox {
  width: 20px !important;
  height: 20px !important;
  border: 1px solid var(--Stone-Mid, #f0ebcd) !important;
  border-radius: 4px !important;
  cursor: pointer !important;
  margin: 0 !important;
  margin-top: 2px !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  background-color: #fff !important;
  position: relative !important;
  display: inline-block !important;
  flex-shrink: 0 !important;
}
.apartment-booking-form .abf-checkbox:checked {
  background-color: #ff5546 !important;
  border-color: #ff5546 !important;
}
.apartment-booking-form .abf-checkbox:checked::after {
  content: '' !important;
  position: absolute !important;
  left: 6px !important;
  top: 2px !important;
  width: 6px !important;
  height: 11px !important;
  border: solid white !important;
  border-width: 0 2px 2px 0 !important;
  transform: rotate(45deg) !important;
}
.apartment-booking-form .abf-checkbox-label {
  font-family: Jost, sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  color: #000000 !important;
  line-height: 22px !important;
  cursor: pointer;
}
.apartment-booking-form .abf-terms-link {
  color: #ff5546 !important;
  text-decoration: underline !important;
  font-family: Jost, sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 22px !important;
}
.apartment-booking-form .abf-submit-wrapper button[type='submit'] {
  background-color: #ff5546 !important;
  color: white !important;
  border: none !important;
  border-radius: 1000px !important;
  padding: 11px 40px !important;
  min-width: 220px !important;
  font-family: Jost, sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background-color 0.2s ease !important;
  height: auto !important;
  line-height: 22px !important;
}
.apartment-booking-form .abf-submit-wrapper button[type='submit']:hover:not(:disabled) {
  background-color: #e04436 !important;
}
.apartment-booking-form .form-submit-border {
  border: none !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
}

/* Privacy statement container layout */
.form-assembly-wrapper .form.apartment-booking-form .abf-view-privacy-collection-statement {
  grid-row: 13 !important;
  grid-column: 1 / span 2 !important;
  width: 100% !important;
  max-width: 100% !important;
  display: block !important;
  margin-bottom: 24px !important;
}
.form-assembly-wrapper .form.apartment-booking-form .abf-view-privacy-collection-statement > span {
  color: #ff5546 !important;
  font-family: Jost !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 20px !important;
  text-decoration: underline !important;
  cursor: pointer !important;
  white-space: nowrap !important;
}

/* Keyframe animations */
@keyframes abfOverlayFadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes abfModalFadeIn {
  from {
    opacity: 0;
    transform: scale(0.96);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes abfSheetSlideUp {
  from {
    transform: translateY(100%);
  }
  to {
    transform: translateY(0);
  }
}

/* Modal Overlay & Content Styles */
.abf-modal-overlay {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background: rgba(0, 0, 0, 0.6) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 10000 !important;
  animation: abfOverlayFadeIn 0.25s ease forwards !important;
}
.abf-modal-content {
  display: flex !important;
  flex-direction: column !important;
  background-color: #fcfbe8 !important;
  width: 600px !important;
  max-width: 90% !important;
  max-height: 80vh !important;
  padding: 30px !important;
  position: relative !important;
  animation: abfModalFadeIn 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards !important;
}
.abf-modal-body {
  flex: 1 !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
}
.abf-modal-body::-webkit-scrollbar {
  width: 6px !important;
}
.abf-modal-body::-webkit-scrollbar-track {
  background: #fcfbe8 !important;
  border-radius: 3px !important;
}
.abf-modal-body::-webkit-scrollbar-thumb {
  background: #d5cfb2 !important;
  border-radius: 3px !important;
}
.abf-modal-body::-webkit-scrollbar-thumb:hover {
  background: #b5af92 !important;
}
.abf-modal-close {
  position: absolute !important;
  top: 18px !important;
  right: 18px !important;
  width: 40px !important;
  height: 40px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  cursor: pointer !important;
  color: #282828 !important;
  z-index: 1 !important;
}
.abf-modal-title {
  color: #282828 !important;
  font-size: 28px !important;
  font-weight: 500 !important;
  line-height: 40px !important;
  margin-bottom: 16px !important;
  padding-right: 48px !important;
}
.abf-modal-body p {
  color: #555 !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 24px !important;
  margin-bottom: 32px !important;
  text-align: left !important;
}
.abf-modal-body p:last-child {
  margin-bottom: 0 !important;
}
.abf-divider {
  grid-column: 1 / span 2 !important;
  height: 1px !important;
  background-color: #f0ebcd !important;
  margin-bottom: 32px !important;
  width: 100% !important;
}
.abf-disclaimers-container {
  grid-column: 1 / span 2 !important;
  width: 100% !important;
}
.abf-disclaimers-container span {
  color: #282828 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 20px !important;
}
.abf-disclaimers-container ol {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  margin-top: 8px !important;
  margin-bottom: 24px !important;
  counter-reset: abf-disclaimer !important;
}
.abf-disclaimers-container ol li {
  color: var(--BTR---Tertiary, #555);
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 20px !important;
  margin-bottom: 14px !important;
  position: relative !important;
  padding-left: 20px !important;
  counter-increment: abf-disclaimer !important;
}
.abf-disclaimers-container ol li::before {
  content: counter(abf-disclaimer) '.' !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  font-size: 14px !important;
  line-height: 20px !important;
}
.abf-disclaimers-container ol li:last-child {
  margin-bottom: 0px !important;
}
.abf-faq {
  grid-column: 1 / span 2 !important;
  width: 100% !important;
}
.abf-faq span {
  color: #282828 !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 22px !important;
}
.abf-faq .abf-faq-link {
  color: #ff5546 !important;
  font-weight: 500 !important;
  text-decoration: underline !important;
  cursor: pointer !important;
  display: inline-block !important;
  pointer-events: auto !important;
}
.abf-faq .abf-faq-link:hover {
  color: #e04436 !important;
}
.form-assembly-wrapper .form.apartment-booking-form form::after {
  pointer-events: none !important;
}

/* ── Mobile Layout ── */
@media (max-width: 1023px) {
  .form-assembly-wrapper:has(.apartment-booking-form) {
    width: auto !important;
    margin: 0px 20px 20px 20px !important;
    padding: 24px 20px !important;
  }
  div.form-assembly-wrapper .apartment-booking-form form {
    padding: 0px !important;
    margin: 0px !important;
  }
  div.form-assembly-wrapper .apartment-booking-form {
    padding: 0px !important;
    margin: 0px !important;
  }
  .form-assembly-wrapper .form.apartment-booking-form form {
    display: flex !important;
    flex-direction: column !important;
    gap: 0px !important;
  }
  /* Reset grid rows/columns for children */
  .form-assembly-wrapper .form.apartment-booking-form form > div,
  .form-assembly-wrapper .form.apartment-booking-form form > label,
  .form-assembly-wrapper .form.apartment-booking-form form > section {
    grid-column: auto !important;
    grid-row: auto !important;
    width: 100% !important;
  }

  /* Ensure back arrow, headings, and labels are correctly positioned */
  .apartment-booking-form .abs-back {
    grid-row: auto !important;
    grid-column: auto !important;
    margin-bottom: 24px !important;
  }
  .apartment-booking-form .mb-10 {
    grid-row: auto !important;
    grid-column: auto !important;
    margin-bottom: 8px !important;
  }
  .apartment-booking-form .mb-10 + div {
    grid-row: auto !important;
    grid-column: auto !important;
  }

  /* Reset all form field types */
  .form-assembly-wrapper .form.apartment-booking-form form > div:nth-of-type(3) {
    grid-row: auto !important;
    grid-column: auto !important;
    margin-bottom: 16px !important;
  }
  .form-assembly-wrapper .form.apartment-booking-form form > div:nth-of-type(4) {
    grid-row: auto !important;
    grid-column: auto !important;
    margin-bottom: 16px !important;
  }
  .form-assembly-wrapper .form.apartment-booking-form form > div:nth-of-type(5) {
    grid-row: auto !important;
    grid-column: auto !important;
    margin-bottom: 16px !important;
  }
  .form-assembly-wrapper .form.apartment-booking-form form > div:nth-of-type(6) {
    grid-row: auto !important;
    grid-column: auto !important;
    margin-bottom: 16px !important;
  }
  .form-assembly-wrapper .form.apartment-booking-form form > label.control-label {
    grid-row: auto !important;
    grid-column: auto !important;
    margin-bottom: 10px !important;
  }
  .form-assembly-wrapper .form.apartment-booking-form form > div:nth-of-type(7) {
    grid-row: auto !important;
    grid-column: auto !important;
    margin-bottom: 16px !important;
  }
  .form-assembly-wrapper .form.apartment-booking-form form > div:nth-of-type(8) {
    grid-row: auto !important;
    grid-column: auto !important;
    margin-bottom: 16px !important;
  }
  .form-assembly-wrapper
    .form.apartment-booking-form
    form
    > div:nth-of-type(8)
    > .field-validation-error {
    position: static !important;
    margin-top: 4px !important;
  }
  .form-assembly-wrapper .form.apartment-booking-form form > div:nth-of-type(9) {
    grid-row: auto !important;
    grid-column: auto !important;
    margin-bottom: 32px !important;
  }
  .form-assembly-wrapper .form.apartment-booking-form form > div[name='g-recaptcha-response'] {
    grid-row: auto !important;
    grid-column: auto !important;
    width: 100% !important;
    margin-bottom: 30px !important;
    display: flex !important;
    justify-content: center !important;
  }
  .form-assembly-wrapper .form.apartment-booking-form form > .input-hint-color-error {
    grid-row: auto !important;
    grid-column: auto !important;
    margin-bottom: 16px !important;
  }

  /* Terms & Conditions submit section */
  .form-assembly-wrapper .form.apartment-booking-form .abf-terms-and-conditions-and-submit {
    grid-row: auto !important;
    grid-column: auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    margin-top: 0px !important;
    margin-bottom: 30px !important;
    width: 100% !important;
  }
  .apartment-booking-form .abf-left-col {
    width: 100% !important;
    margin-top: 30px !important;
  }
  .apartment-booking-form .abf-submit-wrapper {
    width: 100% !important;
  }
  .apartment-booking-form .abf-submit-wrapper button[type='submit'] {
    width: 100% !important;
    min-width: 100% !important;
    height: 48px !important;
    margin-top: 30px !important;
  }

  /* Privacy statement link centering */
  .form-assembly-wrapper .form.apartment-booking-form .abf-view-privacy-collection-statement {
    grid-row: auto !important;
    grid-column: auto !important;
    text-align: center !important;
    margin-bottom: 32px !important;
  }

  /* Divider & Disclaimers & FAQ */
  .abf-divider {
    grid-column: auto !important;
    margin-bottom: 32px !important;
  }
  .abf-disclaimers-container {
    grid-column: auto !important;
  }
  .abf-faq {
    grid-column: auto !important;
  }

  /* Privacy modal — full-screen bottom sheet on mobile */
  .abf-modal-overlay {
    align-items: flex-end !important;
    justify-content: flex-start !important;
    padding: 0 !important;
  }
  .abf-modal-content {
    width: 100% !important;
    max-width: 100% !important;
    max-height: 100dvh !important;
    height: 100dvh !important;
    border-radius: 0 !important;
    padding: 24px 20px !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    animation: abfSheetSlideUp 0.35s cubic-bezier(0.16, 1, 0.3, 1) forwards !important;
  }
  .abf-modal-close {
    top: 12px !important;
    right: 12px !important;
  }
  .abf-modal-title {
    font-size: 22px !important;
    line-height: 30px !important;
    padding-right: 40px !important;
  }
  .abf-modal-body {
    flex: 1 !important;
    overflow-y: auto !important;
  }
}
