/* =========================================================
   Property Detail – Independent Two-Column Layout
   ========================================================= */

body.project-resi.resi-page
#content {
  display: flex;
  align-items: flex-start; /* critical */
  gap: 24px;

  max-width: 1280px;
  margin: 0 auto;
  padding: 0 20px;
}

/* LEFT COLUMN */
body.project-resi.resi-page
#content > .property-detail-left-column {
  flex: 1 1 auto;
  min-width: 0;
}

/* RIGHT COLUMN */
body.project-resi.resi-page
#content > .property-detail-right-column {
  flex: 0 0 380px; /* independent width */
  min-width: 0;
}

/* ---------------------------------------------------------
   Tablet & Mobile – Stack columns
   --------------------------------------------------------- */
@media (max-width: 1024px) {
  body.project-resi.resi-page
  #content {
    flex-direction: column;
  }

  body.project-resi.resi-page
  #content > .property-detail-left-column,
  body.project-resi.resi-page
  #content > .property-detail-right-column {
    width: 100%;
  }
}

/*read more button*/
.property-description.is-collapsed {
  max-height: 260px;          /* adjust */
  overflow: hidden;
  position: relative;
  margin-top: 20px;
}

.property-description.is-expanded {
  max-height: none;
  margin-top: 20px;
}

/* Optional fade-out */
.property-description.is-collapsed::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 80px;
  background: linear-gradient(to bottom, rgba(255,255,255,0), #fff);
}

/* =========================================================
   Property Detail Page – Full width on mobile only
   ========================================================= */
@media (max-width: 768px) {

  /* 1️⃣ Kill container width + side padding */
  body.project-resi
  #content
  #default-id.component.container.property-detail-left-column {
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
  }

  /* 2️⃣ Ensure inner component does not reintroduce padding */
  body.project-resi
  #content
  #default-id.component.container.property-detail-left-column
  > .component-content {
    padding-left: 0;
    padding-right: 0;
  }

  /* 3️⃣ Neutralise rich-text / resi-property padding */
  body.project-resi
  #content
  .resi-property-detail,
  body.project-resi
  #content
  .resi-property-page main .rich-text,
  body.project-resi
  #content
  .virtual-tours {
    padding-left: 0;
    padding-right: 0;
  }

}

#back-to-selling {
  color: #000;
  font-family: "Idlewild Book", "Open Sans", Helvetica, Arial, sans-serif !important;
  font-size: 14px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
}

#back-to-selling-svg {
  color: #9c866d;
}

.component.resi-property-now-selling-link .component-content {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.property-details-label {
  font-size: 16px;
  color: #9c866d;
}

.property-details-value {
  font-size: 18px;
  color: #333333;
}

#now-selling-head {
  font-size: 18px !important;
  margin-bottom: 10px;
  color: #9c866d !important;
}

#resi-container,#mobile-order-target {
  padding-left: 0px !important;
  padding-right: 0px !important;
}

/* reduce spacing btw carousel and desc esp. in smaller devices*/
.component.property-carousel.w-full {
  margin-bottom: 0px !important;
}

#resi-container  {
  padding-bottom: 0px !important;
}

#mobile-order-target.component.container.property-detail-left-column {
  padding-top: unset !important;
}

.resi-page .component-content h3 {
    color: #9c866d;
    font-size: 20px;
}

div.feature span.icon svg {
  opacity: 0.4;
}


@media (max-width: 1023px) {
.enquire-button.jsx-4267498336 {
  display:none;
}
}

.resi-property-page {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  margin-top: 0px !important;
}

.resi-property-page .resi-property-now-selling-link {
  position: relative !important;
  padding-top: 80px !important;
}

.resi-property-page .resi-property-now-selling-link a {
  color: #000 !important;
  font-family: var(--firstFont) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 22px !important;
  display: inline-flex !important;
  align-items: center !important;
  text-decoration: none !important;
  text-transform: none !important;
  padding-left: 12px !important;
}

.resi-property-page .resi-property-now-selling-link:after {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 1px !important;
  background-color: #eee !important;
  margin-top: 30px !important;
}

.resi-property-page .now-selling-icon {
  color: var(--primaryColor) !important;
  width: 12px !important;
  height: 12px !important;
}

#content:has(.property-detail-left-column) {
  background: none !important;
  display: grid !important;
  grid-template-columns: minmax(0, 820px) minmax(320px, 380px) !important;
  gap: 20px !important;
  box-sizing: border-box !important;
  padding: 20px !important;
  margin: 80px auto 0 !important;
  max-width: 1240px !important;
}

#content:has(.property-detail-left-column) > .component:not(.component--resi-property-detail) {
  grid-column: 1 / 2 !important;
  max-width: 820px !important;
}

.property-detail-left-column,
.property-detail-right-column {
  margin-top: 100px !important;
  position: relative !important;
}

.property-detail-right-column {
  display: flex !important;
  flex-direction: column !important;
  grid-column: 2 / 3 !important;
  grid-row: 1 / -1 !important;
  width: 380px !important;
}

.property-detail-left-column .form {
  padding: 0 !important;
}

.property-detail-left-column .form,
.property-detail-left-column .property-carousel {
  max-width: 820px !important;
}

.property-detail-left-column .form:not(.form--custom) {
  background-color: transparent !important;
}

.property-detail-left-column .form:not(.form--custom).animate-in form {
  margin: 20px 0 !important;
  background: #fff !important;
  position: inherit !important;
  padding: 0 !important;
}

.property-detail-left-column .resi-property-map,
.property-detail-left-column .resi-property-map #map {
  max-width: 820px !important;
  max-height: 300px !important;
}

.resi-property-detail {
  position: relative !important;
  margin: 12px 0 !important;
  color: var(--primaryColor) !important;
  background-color: #fff !important;
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.15) !important;
  padding: 20px !important;
}

.resi-property-detail .component-content,
.resi-property-detail > .component-content {
  display: flex !important;
  flex-direction: column !important;
}

.resi-property-detail .property-details__meta {
  display: flex !important;
  justify-content: space-between !important;
  margin-bottom: 20px !important;
  border-bottom: 1px dashed #ddd !important;
}

.resi-property-detail .property-details__cta {
  width: 100% !important;
  padding: 10px !important;
  background-color: var(--primaryColor) !important;
  border: none !important;
  color: #fff !important;
  text-align: center !important;
  text-transform: uppercase !important;
}

.resi-property-detail .property-details__item {
  display: flex !important;
  align-items: center !important;
  margin-bottom: 10px !important;
}

.resi-property-detail .property-details__item span {
  margin-left: auto !important;
}

.resi-property-detail .property-details__item p.bath-count,
.resi-property-detail .property-details__item p.bed-count,
.resi-property-detail .property-details__item p.car-count,
.resi-property-detail .property-details__item p.livingroom-count,
.resi-property-detail .property-details__item p.property-depth,
.resi-property-detail .property-details__item p.property-width {
  margin: 0 !important;
  color: #000 !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  line-height: 23px !important;
}

.resi-property-detail .property-details__link a {
  margin-top: 15px !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  text-decoration: none !important;
  width: 100% !important;
}

/* Force the property carousel left/prev arrow icon to point right. */
.resi-property-page .property-carousel .slick-prev svg,
.resi-property-page .property-carousel .tns-controls button[data-controls="prev"] svg,
.resi-property-page .property-carousel .alphabet-carousel__slide-btn[data-controls="prev"] svg,
.resi-property-page .property-carousel .slick-prev i,
.resi-property-page .property-carousel .tns-controls button[data-controls="prev"] i,
.resi-property-page .property-carousel .alphabet-carousel__slide-btn[data-controls="prev"] i,
.resi-property-page .property-carousel .slick-prev img,
.resi-property-page .property-carousel .tns-controls button[data-controls="prev"] img,
.resi-property-page .property-carousel .alphabet-carousel__slide-btn[data-controls="prev"] img {
  transform: rotate(180deg) !important;
}

.resi-property-page .property-carousel .slick-prev:before,
.resi-property-page .property-carousel .tns-controls button[data-controls="prev"]:before,
.resi-property-page .property-carousel .alphabet-carousel__slide-btn[data-controls="prev"]:before {
  transform: rotate(180deg) !important;
  display: inline-block !important;
}

#content .resi-property-disclaimer,
#content .resi-property-now-selling-link {
  grid-column: 1 / -1 !important;
  min-width: 100% !important;
}

@media (max-width: 1024px) {
  #content:has(.property-detail-left-column) {
    display: flex !important;
    flex-direction: column !important;
    max-width: 100% !important;
  }

  #content .property-detail-right-column {
    display: none !important;
  }

  #content .property-detail-left-column .resi-property-map,
  #content .property-detail-left-column .resi-property-map #map {
    max-width: 100% !important;
    max-height: 250px !important;
  }

  #content .resi-property-now-selling-link {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    gap: 12px !important;
  }
}

@media (min-width: 1024px) {
    .resi-property-detail,
    .chat-with-us-container {
        margin-left: 40px !important;
    }
    .resi-property-detail {
        margin-top: 70px !important;
    }
}

/* Hide "Artist's Impression" labels inside property carousel only. */
.resi-property-page .property-carousel .property-carousel__caption,
.resi-property-page .property-carousel .property-strapline-container {
  display: none !important;
}

.resi-property-booking__wrapper {

    background: #fff;

}
.resi-property-social-links__icon path, .resi-property-social-links__icon rect,
.resi-property-social-links svg {
    fill: #c27c60 !important;
    color: #c27c60 !important;
}
.resi-property-detail .property-details__title--ribbontext, .property-features__sub-title {
    color: #c27c60 !important;
}
@media (max-width: 1023px) {
    .resi-property-booking__title,
     #content:has(.property-detail-left-column) h3 {
       font-size: 20px !important;
    }
}
    #content:has(.property-detail-left-column){
        margin-top: 0px !important;
    }

.resi-property-search-filter button.link.link--clear {
    color: #000;
}

.property-detail__content .component-content .promo {
  position: relative;
  overflow: hidden;
  transition: max-height 0.4s ease;
  max-height: 16em;
}
.property-detail__content .component-content .promo > p:first-of-type {
  margin-top: 0;
}
.property-detail__content .component-content .promo::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 4em;
  background: linear-gradient(to bottom, rgba(227,209,196,0), rgba(227,209,196,1));
  pointer-events: none;
}
.property-detail__content.rm-open .component-content .promo {
  max-height: 4000px;
}
.property-detail__content.rm-open .component-content .promo::after {
  display: none;
}
.property-read-more-btn {
  color: #977b59;
  border-color: #977b59;
}
@media screen and (max-width: 767px) {
  .property-carousel .slick-dots ul {
    position: relative !important;
    left: -30px !important;
  }
}

@media screen and (min-width: 768px) {
  .property-carousel .slick-dots ul {
    position: relative !important;
    left: -40px !important;
  }
}