:root {
  --pf-borderColor: #000;
  --profBackgroundColor: #ffffff;
  --profLabelColor: #ad6d5e;
  --profTextboxFontColor: #3c3b3e;
  --profSubmitBackground: transparent;
  --profSubmitTextColor: #ffffff;
  --profSelectedBorderColor: #caa676;
  --profHoverBorderColor: #caa676;
  --profSelectedBackground: rgba(202, 166, 118, 0.4);
  --profHoverBackground: rgba(202, 166, 118, 0.05);

  --profkeychain: url('/henley-brook/images/keychain.svg');
  --profmoney: url('/henley-brook/images/money.svg');
  --profcouple: url('/henley-brook/images/couple.svg');
  --proffamily: url('/henley-brook/images/family.svg');
  --profgrand: url('/henley-brook/images/grandparents.svg');

  --prof-bed1: url('/henley-brook/images/Isle_WebIcons_1Bed.svg');
  --prof-bed2: url('/henley-brook/images/Isle_WebIcons_2Bed.svg');
  --prof-bed3: url('/henley-brook/images/Isle_WebIcons_3Bed.svg');
  --prof-bed4: url('/henley-brook/images/Isle_WebIcons_4Bed.svg');
  --prof-bath1: url('/henley-brook/images/Isle_WebIcons_1Bath.svg');
  --prof-bath2: url('/henley-brook/images/Isle_WebIcons_2Bath.svg');
  --prof-bath3: url('/henley-brook/images/Isle_WebIcons_3Bath.svg');
  --prof-car1: url('/henley-brook/images/Isle_WebIcons_1Car.svg');
  --prof-car2: url('/henley-brook/images/Isle_WebIcons_2Car.svg');
  --prof-car3: url('/henley-brook/images/Isle_WebIcons_3Car.svg');
}
.greyBackgroundForm {
  --profKeychain: url('/henley-brook/images/keychain.svg');
  --profMoney: url('/henley-brook/images/money.svg');
  --profCouple: url('/henley-brook/images/couple.svg');
  --profFamily: url('/henley-brook/images/family.svg');
  --profGrand: url('/henley-brook/images/grandparents.svg');
  --prof-bath1: url('/henley-brook/images/Isle_WebIcons_1Bath.svg');
  --prof-bath2: url('/henley-brook/images/Isle_WebIcons_2Bath.svg');
  --prof-bath3: url('/henley-brook/images/Isle_WebIcons_3Bath.svg');
  --prof-car1: url('/henley-brook/images/Isle_WebIcons_1Car.svg');
  --prof-car2: url('/henley-brook/images/Isle_WebIcons_2Car.svg');
  --prof-car3: url('/henley-brook/images/Isle_WebIcons_3Car.svg');
  --prof-bed1: url('/henley-brook/images/Isle_WebIcons_1Bed.svg');
  --prof-bed2: url('/henley-brook/images/Isle_WebIcons_2Bed.svg');
  --prof-bed3: url('/henley-brook/images/Isle_WebIcons_3Bed.svg');
  --prof-bed4: url('/henley-brook/images/Isle_WebIcons_4Bed.svg');
}

/* Form Assembly Progressive Profiling Styles */
form.hintsSide.labelsLeftAligned {
  background: var(--profBackgroundColor, #ffffff);
  padding: 2rem;
  border-radius: 8px;
  margin: 0 auto;
}

/* FormAssembly form structure styling */
form.hintsSide.labelsLeftAligned .oneField {
  margin-bottom: 2rem;
}

form.hintsSide.labelsLeftAligned .label.preField {
  color: var(--profLabelColor, #ad6d5e);
  text-transform: uppercase;
  display: block;
  text-align: center;
  width: 100% !important;
  font-weight: bold;
  font-size: 16px;
}

form.hintsSide.labelsLeftAligned .inputWrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 15px;
  width: 100%;
}

form.hintsSide.labelsLeftAligned .choices.horizontal {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 15px;
  width: 100%;
}

form.hintsSide.labelsLeftAligned .oneChoice {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 15px;
  cursor: pointer;
  text-transform: uppercase;
  color: var(--profLabelColor, #ad6d5e);
  font-weight: bold;
  font-size: 14px;
  text-align: center;
  min-width: 150px;
  max-width: 150px;
  width: 150px;
  min-height: 150px;
  max-height: 150px;
  border: 2px solid #000000;
  background-repeat: no-repeat;
  background-position: center -60px;
  background-size: 175px;
  transition: all 0.3s ease;
  position: relative;
  background-color: rgba(255, 255, 255, 0.9);
  position: relative;
}

form.hintsSide.labelsLeftAligned .oneChoice input[type='radio'] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

form.hintsSide.labelsLeftAligned .oneChoice label {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  max-width: 100%;
  width: 100%;
  text-align: center;
  text-transform: uppercase;
  color: var(--primaryColor);
  padding: 10px;
  padding-bottom: 20px;
  font-weight: bold;
  display: flex;
  align-items: end;
  justify-content: center;
  height: 100%;
  cursor: pointer;
}

form.hintsSide.labelsLeftAligned .input-radio-faux {
  display: none;
}

textarea {
  width: 100%;
  padding: 10px !important;
  border-radius: 5px;
  min-height: 200px;
  border: 1px solid var(--form-label-color);
}

/* Select dropdown styling */
form.hintsSide.labelsLeftAligned select {
  width: 100%;
  padding: 12px;
  border: 2px solid var(--pf-borderColor, #000000);
  border-radius: 4px;
  background-color: var(--profBackgroundColor, #ffffff);
  color: var(--profTextboxFontColor, #3c3b3e);
  font-size: 14px;
  margin: 0 auto;
  display: block;
}

form.hintsSide.labelsLeftAligned select:focus {
  outline: none;
  border-color: var(--profHoverBorderColor, #caa676);
}

/* Submit button styling */
form.hintsSide.labelsLeftAligned .primaryAction {
  background-color: var(--profSubmitBackground, #ad6d5e);
  color: var(--profSubmitTextColor, #ffffff);
  border: none;
  padding: 12px 24px;
  border-radius: 4px;
  font-size: 16px;
  font-weight: bold;
  cursor: pointer;
  transition: all 0.3s ease;
  margin-top: 20px;
}

form.hintsSide.labelsLeftAligned .primaryAction:hover {
  background-color: var(--profHoverBorderColor, #caa676);
}

form.hintsSide.labelsLeftAligned .privacy-statement-link,
form.hintsSide.labelsLeftAligned form div.privacy-statement-wrapper p,
form.hintsSide.labelsLeftAligned div[class*='placeholder'] {
  color: var(--profLabelColor) !important;
}

form.hintsSide.labelsLeftAligned .input-wrapper input,
form.hintsSide.labelsLeftAligned .input-wrapper textarea {
  border: none !important;
  border-radius: unset;
}

form.hintsSide.labelsLeftAligned .input-wrapper--text-area textarea {
  margin-top: 10px;
}

form.hintsSide.labelsLeftAligned .input-wrapper--text-area,
form.hintsSide.labelsLeftAligned .input-wrapper--text {
  margin-top: 25px;
}

form.hintsSide.labelsLeftAligned .form-group {
  margin-bottom: 0 !important;
}

form.hintsSide.labelsLeftAligned .oneChoice:has(input[type='radio']:checked) {
  background-color: var(--profSelectedBackground, rgba(221, 162, 116, 0.1));
}

/* Table Styling */
form.hintsSide.labelsLeftAligned table {
  width: 100%;
  border-collapse: collapse;
  margin: 20px 0;
  display: flex;
  justify-content: center;
  flex-wrap: nowrap;
  overflow-x: auto;
}

form.hintsSide.labelsLeftAligned table tr {
  display: flex;
  justify-content: center;
  flex-wrap: nowrap;
  width: 100%;
  gap: 15px;
  min-width: max-content;
  align-items: stretch;
}

form.hintsSide.labelsLeftAligned table td {
  border: 2px solid var(--profRadioBorderColor, #000000);
  text-align: center;
  padding: 15px;
  cursor: pointer;
  position: relative;
  min-width: 150px;
  max-width: 150px;
  width: 150px;
  flex-shrink: 0;
  min-height: 150px;
  max-height: 150px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-repeat: no-repeat;
  background-position: center -60px;
  background-size: 175px;
  transition: all 0.3s ease;
  background-color: rgba(255, 255, 255, 0.9);
}

form.hintsSide.labelsLeftAligned table td:hover {
  background-color: var(--profHoverBackground, rgba(221, 162, 116, 0.05));
  border-color: var(--profHoverBorderColor, #ad6d5e);
}

form.hintsSide.labelsLeftAligned table td input[type='radio'] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

form.hintsSide.labelsLeftAligned table td label {
  display: block !important;
  margin: 0 0 20px 0 !important;
  padding: 15px !important;
  cursor: pointer;
  text-transform: uppercase;
  color: var(--profLabelColor, #ad6d5e);
  font-weight: bold;
  font-size: 14px;
  text-align: center !important;
  width: 100% !important;
  max-width: 100% !important;
  position: relative;
  z-index: 2;
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: 4px;
}

/* Henley Brook Progressive Profiling Background Images for FormAssembly */
/* Use case radio buttons */
form.hintsSide.labelsLeftAligned .oneChoice:has(.calcval-profkeychain) {
  background-image: var(--profkeychain);
}

form.hintsSide.labelsLeftAligned .oneChoice:has(.calcval-profmoney) {
  background-image: var(--profmoney);
}

form.hintsSide.labelsLeftAligned .oneChoice:has(.calcval-profbuilder) {
  background-image: var(--profkeychain);
}

/* Family type radio buttons */
form.hintsSide.labelsLeftAligned .oneChoice:has(.calcval-profsingle) {
  background-image: var(--profcouple);
}

form.hintsSide.labelsLeftAligned .oneChoice:has(.calcval-profcouple) {
  background-image: var(--profcouple);
}

form.hintsSide.labelsLeftAligned .oneChoice:has(.calcval-profparents) {
  background-image: var(--proffamily);
}

form.hintsSide.labelsLeftAligned .oneChoice:has(.calcval-profteenage) {
  background-image: var(--proffamily);
}

form.hintsSide.labelsLeftAligned .oneChoice:has(.calcval-profmature) {
  background-image: var(--proffamily);
}

form.hintsSide.labelsLeftAligned .oneChoice:has(.calcval-profempty) {
  background-image: var(--profgrand);
}

/* Bedroom radio buttons */
form.hintsSide.labelsLeftAligned .oneChoice:has(.calcval-prof-bed0) {
  background-image: var(--prof-bed1);
}

form.hintsSide.labelsLeftAligned .oneChoice:has(.calcval-prof-bed1) {
  background-image: var(--prof-bed1);
}

form.hintsSide.labelsLeftAligned .oneChoice:has(.calcval-prof-bed2) {
  background-image: var(--prof-bed2);
}

form.hintsSide.labelsLeftAligned .oneChoice:has(.calcval-prof-bed3) {
  background-image: var(--prof-bed3);
}

form.hintsSide.labelsLeftAligned .oneChoice:has(.calcval-prof-bed4) {
  background-image: var(--prof-bed4);
}

form.hintsSide.labelsLeftAligned .oneChoice:has(.calcval-prof-bed5) {
  background-image: var(--prof-bed4);
}

/* Bathroom radio buttons */
form.hintsSide.labelsLeftAligned .oneChoice:has(.calcval-prof-bath1) {
  background-image: var(--prof-bath1);
}

form.hintsSide.labelsLeftAligned .oneChoice:has(.calcval-prof-bath2) {
  background-image: var(--prof-bath2);
}

form.hintsSide.labelsLeftAligned .oneChoice:has(.calcval-prof-bath3) {
  background-image: var(--prof-bath3);
}

form.hintsSide.labelsLeftAligned .oneChoice:has(.calcval-prof-bath4) {
  background-image: var(--prof-bath3);
}

/* Car park radio buttons */
form.hintsSide.labelsLeftAligned .oneChoice:has(.calcval-prof-car0) {
  background-image: var(--prof-car1);
}

form.hintsSide.labelsLeftAligned .oneChoice:has(.calcval-prof-car1) {
  background-image: var(--prof-car1);
}

form.hintsSide.labelsLeftAligned .oneChoice:has(.calcval-prof-car2) {
  background-image: var(--prof-car2);
}

form.hintsSide.labelsLeftAligned .oneChoice:has(.calcval-prof-car3) {
  background-image: var(--prof-car3);
}

form.hintsSide.labelsLeftAligned .oneChoice:has(.calcval-prof-car3plus) {
  background-image: var(--prof-car3);
}

form.hintsSide.labelsLeftAligned .oneChoice:has(.calcval-prof-car4) {
  background-image: var(--prof-car3);
}

/* Bed, Bath, Car form icons */
.prof-form__bed table td:first-child {
  background-image: var(--prof-bed1);
}

.prof-form__bed table td:nth-child(2) {
  background-image: var(--prof-bed2);
}

.prof-form__bed table td:nth-child(3) {
  background-image: var(--prof-bed3);
}

.prof-form__bed table td:nth-child(4) {
  background-image: var(--prof-bed4);
}

.prof-form__bath table td:first-child {
  background-image: var(--prof-bath1);
}

.prof-form__bath table td:nth-child(2) {
  background-image: var(--prof-bath2);
}

.prof-form__bath table td:nth-child(3) {
  background-image: var(--prof-bath3);
}

.prof-form__car table td:first-child {
  background-image: var(--prof-car1);
}

.prof-form__car table td:nth-child(2) {
  background-image: var(--prof-car2);
}

.prof-form__car table td:nth-child(3) {
  background-image: var(--prof-car3);
}

/* Henley Brook Responsive Design */
@media (min-width: 769px) {
  form.hintsSide.labelsLeftAligned form > div:nth-of-type(3),
  form.hintsSide.labelsLeftAligned form > div:nth-of-type(4),
  form.hintsSide.labelsLeftAligned form > div:nth-of-type(6),
  form.hintsSide.labelsLeftAligned form > div:nth-of-type(7),
  form.hintsSide.labelsLeftAligned .inputWrapper {
    width: 100%;
    margin-inline: 0;
    margin-bottom: 0 !important;
  }

  form.hintsSide.labelsLeftAligned .privacy-statement-wrapper {
    margin-top: 20px;
  }
}

@media (min-width: 1250px) {
  form.hintsSide.labelsLeftAligned {
    max-width: 1200px;
    margin-inline: auto;
  }
}

@media (max-width: 768px) {
  form.hintsSide.labelsLeftAligned .oneChoice {
    min-width: 120px;
    max-width: 120px;
    width: 120px;
    min-height: 120px;
    max-height: 120px;
  }

  form.hintsSide.labelsLeftAligned .choices.horizontal {
    gap: 10px;
  }

  form.hintsSide.labelsLeftAligned .label.preField {
    font-size: 14px;
  }

  form.hintsSide.labelsLeftAligned table td {
    min-width: 120px;
    max-width: 120px;
    width: 120px;
  }

  form.hintsSide.labelsLeftAligned table {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  form.hintsSide.labelsLeftAligned table tr {
    min-width: max-content;
  }
}
/* Progressive Profiling Alternative Styles */
.progressive-profiling label.preField span {
  font-family: inherit !important;
  font-size: inherit !important;
}

.progressive-profiling form.hintsSide.labelsLeftAligned .oneChoice {
  display: inline-block;
  margin: 15px 10px 0;
  border: 2px solid var(--pf-borderColor, #000000);
  padding: 30px;
  cursor: pointer;
  position: relative;
  max-width: 150px;
  min-width: 150px;
  width: 100%;
  text-align: center;
  text-transform: uppercase;
  color: var(--profLabelColor, #ad6d5e);
  background-color: transparent;
  transition: all 0.3s ease;
  background-position: center -60px;
  background-size: 175px;
  background-repeat: no-repeat;
}

/* Optimized icon positioning for specific choice elements */
form.hintsSide.labelsLeftAligned .oneChoice:has(.calcval-profbuilder),
form.hintsSide.labelsLeftAligned .oneChoice:has(.calcval-profkeychain),
form.hintsSide.labelsLeftAligned .oneChoice:has(.calcval-profmoney),
form.hintsSide.labelsLeftAligned .oneChoice:has(.calcval-profsingle),
form.hintsSide.labelsLeftAligned .oneChoice:has(.calcval-profcouple),
form.hintsSide.labelsLeftAligned .oneChoice:has(.calcval-profparents),
form.hintsSide.labelsLeftAligned .oneChoice:has(.calcval-profteenage),
form.hintsSide.labelsLeftAligned .oneChoice:has(.calcval-profmature),
form.hintsSide.labelsLeftAligned .oneChoice:has(.calcval-profempty) {
  background-size: 46px;
  background-position: center 15px;
}

body .form-assembly-wrapper .house-and-land-form {
  padding-inline: 20px;
  form > .form-html-content {
    color: var(--brown);
    font-weight: 700;
    font-size: 20px;
    width: 100% !important;
    margin-left: 0;
    padding-bottom: 20px;
  }

  form > div:nth-of-type(7) {
    margin-left: 0;
  }

  .form-html-content > .page-header {
    display: none;
  }

  .form-html-content:has(> .privacy-statement-wrapper) {
    display: none;
  }
  textarea {
    margin-top: 10px;
    padding: 20px;
  }

  div.input-wrapper--file input {
    padding-inline: 0 !important;
  }
}

@media (min-width: 992px) {
  body .form-assembly-wrapper .house-and-land-form {
    padding-inline: 0px;
    form > div:nth-of-type(n + 3):nth-of-type(-n + 8),
    form > div:nth-of-type(n + 10):nth-of-type(-n + 16),
    form > div:nth-of-type(n + 18):nth-of-type(-n + 19),
    form > div:nth-of-type(n + 21):nth-of-type(-n + 25),
    form > div:nth-of-type(n + 26):nth-of-type(-n + 39) {
      width: calc(50% - 20px);
    }
  }
}

.form-assembly-wrapper .form form.greyBackgroundForm .checkbox-wrapper {
  margin-bottom: 20px;
  label,
  .input-wrapper--checkbox label {
    display: flex;
    align-items: center;
    gap: 15px;
  }
  .checkbox-text {
    text-align: left;
  }

  input[type='checkbox'] {
    height: 18px;
    width: 18px;
    background-color: transparent;
    border: 2px solid black;
    border-radius: 4px;
    transition: all 0.2s ease;
  }

  input[type='checkbox']:checked {
    accent-color: var(--text-black);
  }
}

.bg-black-pattern .form-assembly-wrapper .form form.greyBackgroundForm .input-wrapper input {
  border-color: var(--form-label-color);
}

