/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[3]!./node_modules/next/dist/build/webpack/loaders/resolve-url-loader/index.js??ruleSet[1].rules[14].oneOf[7].use[4]!./node_modules/next/dist/compiled/sass-loader/cjs.js??ruleSet[1].rules[14].oneOf[7].use[5]!./src/components/Breadcrumb/Breadcrumb.module.scss ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
.Breadcrumb_bar___Q_sE {
  background: rgba(231, 231, 232, 0.5);
}

.Breadcrumb_barInner__cT1jC {
  display: flex;
  align-items: center;
  max-width: 100rem;
  margin: 0 auto;
  padding: 0.5rem 1.5rem;
}
@media (min-width: 1024px) {
  .Breadcrumb_barInner__cT1jC {
    padding-left: calc(1.5rem + 10rem + 2rem);
  }
}

.Breadcrumb_breadcrumb__fK4dG {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
}

.Breadcrumb_item__CXcEI {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.Breadcrumb_link__hpP4U {
  font-size: 0.875rem;
  font-weight: 300;
  color: #000;
  text-decoration: none;
}
.Breadcrumb_link__hpP4U:hover {
  text-decoration: underline;
}

.Breadcrumb_separator__ufd9q {
  display: flex;
  align-items: center;
  color: #404041;
}

.Breadcrumb_separatorGold__UmYfL {
  display: flex;
  align-items: center;
  color: #beb18b;
}

.Breadcrumb_current__4EXGi {
  font-size: 0.875rem;
  font-weight: 300;
  color: #beb18b;
}
/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[3]!./node_modules/next/dist/build/webpack/loaders/resolve-url-loader/index.js??ruleSet[1].rules[14].oneOf[7].use[4]!./node_modules/next/dist/compiled/sass-loader/cjs.js??ruleSet[1].rules[14].oneOf[7].use[5]!./src/components/single-property-page/sections/ContactModal.module.scss ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/* ── Overlay ─────────────────────────────────────── */
.ContactModal_overlay__RsFD9 {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1rem;
  background: rgba(0, 0, 0, 0.6);
  overflow-y: auto;
}

/* ── Modal ────────────────────────────────────────── */
.ContactModal_modal__mGnRj {
  position: relative;
  width: 100%;
  max-width: 53.75rem;
  max-height: calc(100vh - 2rem);
  overflow-y: auto;
  background: #fff;
  padding: 2.5rem 1rem;
}
@media (min-width: 768px) {
  .ContactModal_modal__mGnRj {
    padding: 1.75rem 3.5rem;
  }
}

.ContactModal_closeBtn__Diz_x {
  position: absolute;
  top: 0;
  right: 0;
  width: 2.625rem;
  height: 2.625rem;
  background: #beb18b;
  border: none;
  cursor: pointer;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  transition: background-color 0.2s;
}
.ContactModal_closeBtn__Diz_x:hover {
  background: rgb(180.8425414365, 166.0110497238, 122.6574585635);
}
@media (min-width: 768px) {
  .ContactModal_closeBtn__Diz_x {
    top: 1rem;
    right: 1rem;
    width: auto;
    height: auto;
    background: none;
    padding: 0.25rem;
    color: #404041;
  }
  .ContactModal_closeBtn__Diz_x:hover {
    background: none;
    opacity: 0.7;
  }
}

/* ── Header ──────────────────────────────────────── */
.ContactModal_header__gYuk3 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  margin-bottom: 0;
}
@media (min-width: 768px) {
  .ContactModal_header__gYuk3 {
    gap: 0.125rem;
    margin-bottom: 1rem;
  }
}

.ContactModal_headerTitle__r2Co1 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
}
@media (min-width: 768px) {
  .ContactModal_headerTitle__r2Co1 {
    gap: 0.125rem;
  }
}

.ContactModal_avatarWrapper__wM0sa {
  width: 4.875rem;
  height: 5rem;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
}
@media (min-width: 768px) {
  .ContactModal_avatarWrapper__wM0sa {
    width: 4rem;
    height: 4rem;
  }
}

.ContactModal_avatar__QiHyx {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ContactModal_subtitle__8omDs {
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.2;
  text-align: center;
  text-transform: none;
  color: #404041;
  margin: 0;
}
@media (min-width: 768px) {
  .ContactModal_subtitle__8omDs {
    font-size: 0.875rem;
    line-height: normal;
    color: #818285;
  }
}

.ContactModal_agentName__KkDRA {
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.1;
  text-align: center;
  text-transform: uppercase;
  color: #beb18b;
  margin: 0;
}
@media (min-width: 768px) {
  .ContactModal_agentName__KkDRA {
    font-size: 1.25rem;
    line-height: normal;
  }
}

/* ── Form ─────────────────────────────────────────── */
.ContactModal_form__5vxF8 {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
@media (min-width: 768px) {
  .ContactModal_form__5vxF8 {
    gap: 1rem;
  }
}

.ContactModal_fields__uUasQ {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media (min-width: 768px) {
  .ContactModal_fields__uUasQ {
    gap: 0.625rem;
  }
}

.ContactModal_fieldFull__jbmOH {
  width: 100%;
}

.ContactModal_row__vEB6b {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media (min-width: 640px) {
  .ContactModal_row__vEB6b {
    flex-direction: row;
    gap: 0.625rem;
  }
}

/* ── Inputs ──────────────────────────────────────── */
.ContactModal_input__ixCeo {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.5rem 1rem;
  width: 100%;
  height: 3.5rem;
  min-height: 3.5rem;
  background: rgba(231, 231, 232, 0.5);
  border: none;
  border-bottom: 1px solid #beb18b;
}
.ContactModal_input__ixCeo input {
  width: 100%;
  height: 100%;
  background: none;
  border: none;
  outline: none;
  font-family: inherit;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.1875rem;
  color: #404041;
}
.ContactModal_input__ixCeo input::-moz-placeholder {
  color: #404041;
}
.ContactModal_input__ixCeo input::placeholder {
  color: #404041;
}
@media (min-width: 640px) {
  .ContactModal_input__ixCeo {
    flex: 1 1;
  }
}
@media (min-width: 768px) {
  .ContactModal_input__ixCeo {
    padding: 0.375rem 1rem;
    height: 2.875rem;
    min-height: 2.875rem;
  }
}

.ContactModal_optional__oaCLu {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.1875rem;
  color: #818285;
  white-space: nowrap;
}

.ContactModal_error__Cpj37 {
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1rem;
  color: #b20610;
}

/* ── Textarea ─────────────────────────────────────── */
.ContactModal_textareaWrapper__lIQBk {
  position: relative;
  background: rgba(231, 231, 232, 0.5);
  border-bottom: 1px solid #beb18b;
  padding: 1rem;
  min-height: 8.125rem;
}
@media (min-width: 768px) {
  .ContactModal_textareaWrapper__lIQBk {
    padding: 0.75rem 1rem;
    min-height: 0;
  }
}

.ContactModal_textarea__TNxFS {
  width: 100%;
  min-height: 6.125rem;
  background: none;
  border: none;
  outline: none;
  font-family: inherit;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.1875rem;
  color: #404041;
  resize: vertical;
}
.ContactModal_textarea__TNxFS::-moz-placeholder {
  color: #404041;
}
.ContactModal_textarea__TNxFS::placeholder {
  color: #404041;
}
@media (min-width: 768px) {
  .ContactModal_textarea__TNxFS {
    min-height: 4.5rem;
  }
}

.ContactModal_textareaWrapper__lIQBk .ContactModal_optional__oaCLu {
  position: absolute;
  top: 1rem;
  right: 1rem;
}
@media (min-width: 768px) {
  .ContactModal_textareaWrapper__lIQBk .ContactModal_optional__oaCLu {
    top: 0.75rem;
  }
}

/* ── Consent Checkboxes ──────────────────────────── */
.ContactModal_consents__Ioem3 {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media (min-width: 768px) {
  .ContactModal_consents__Ioem3 {
    gap: 0.625rem;
  }
}

.ContactModal_checkboxLabel__4E4pg {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.5;
  color: #404041;
  cursor: pointer;
}
@media (min-width: 768px) {
  .ContactModal_checkboxLabel__4E4pg {
    gap: 0.625rem;
  }
}

.ContactModal_checkbox__mrrgW {
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
  margin-top: 1px;
  accent-color: #beb18b;
  cursor: pointer;
}

.ContactModal_link__V9JJ_ {
  color: #beb18b;
  text-decoration: none;
}
.ContactModal_link__V9JJ_:hover {
  text-decoration: underline;
}

/* ── reCAPTCHA ────────────────────────────────────── */
.ContactModal_recaptcha__RNhIZ {
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.4;
  color: #404041;
  margin: 0;
}

/* ── Submit Button ────────────────────────────────── */
.ContactModal_submitBtn__xyT7O {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.625rem;
  width: 100%;
  height: 3.125rem;
  margin: 0 auto;
  background: #beb18b;
  border: none;
  cursor: pointer;
  font-family: inherit;
  font-size: 0.875rem;
  font-weight: 700;
  text-transform: uppercase;
  color: #fff;
  transition: background-color 0.2s;
}
.ContactModal_submitBtn__xyT7O:hover:not(:disabled) {
  background: rgb(180.8425414365, 166.0110497238, 122.6574585635);
}
.ContactModal_submitBtn__xyT7O:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
@media (min-width: 768px) {
  .ContactModal_submitBtn__xyT7O {
    max-width: 17.3125rem;
    height: 2.875rem;
  }
}

.ContactModal_submitArrow__XO00k {
  font-size: 1.125rem;
}

/* ── Success Screen ──────────────────────────────── */
.ContactModal_successContent___v3Go {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 2.5rem 0;
  text-align: center;
}

.ContactModal_successIcon__lhwSb {
  width: 3.5rem;
  height: 3.5rem;
  margin-bottom: 1.5rem;
}

.ContactModal_successTitle__6_C_9 {
  font-size: 1.25rem;
  font-weight: 700;
  text-transform: uppercase;
  color: #404041;
  margin: 0 0 1rem;
}

.ContactModal_successText__MYbhf {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.6;
  color: #818285;
  margin: 0 0 2rem;
}
.ContactModal_successText__MYbhf strong {
  color: #beb18b;
}
/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[3]!./node_modules/next/dist/build/webpack/loaders/resolve-url-loader/index.js??ruleSet[1].rules[14].oneOf[7].use[4]!./node_modules/next/dist/compiled/sass-loader/cjs.js??ruleSet[1].rules[14].oneOf[7].use[5]!./src/components/single-property-page/sections/AgentSidebar.module.scss ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/* ── Agent Sidebar ────────────────────────────────── */
.AgentSidebar_sidebar__R5ekU {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
@media (min-width: 1024px) {
  .AgentSidebar_sidebar__R5ekU {
    position: sticky;
    top: 6.5rem;
    flex: 1 1;
    max-width: min(100%, 25rem);
    align-self: flex-start;
  }
}
@media (min-width: 1400px) {
  .AgentSidebar_sidebar__R5ekU {
    max-width: 35.1875rem;
  }
}

/* ── Price Block ──────────────────────────────────── */
.AgentSidebar_priceBlock__dvHBq {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding: 1.25rem 1.5rem;
  background: #beb18b;
}

.AgentSidebar_price__h_AN9 {
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 700;
  color: #fff;
  line-height: 1.2;
}

.AgentSidebar_pricePeriod__F8jjy {
  font-size: 1rem;
  font-weight: 400;
}

.AgentSidebar_operationType__OeMaI {
  font-size: 0.8125rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(255, 255, 255, 0.8);
}

/* ── Agent Card ───────────────────────────────────── */
.AgentSidebar_card__VrbcR {
  border: 1px solid rgba(231, 231, 232, 0.5);
  padding: 1.5rem;
}

.AgentSidebar_cardInner__88sj_ {
  display: flex;
  flex-direction: column;
  gap: 1.0625rem;
  background: rgba(231, 231, 232, 0.5);
  padding: 1.5rem;
}
@media (min-width: 768px) {
  .AgentSidebar_cardInner__88sj_ {
    flex-direction: row;
  }
}

.AgentSidebar_avatarWrapper__QYo2K {
  flex-shrink: 0;
  width: 100%;
  aspect-ratio: 188/261;
  overflow: hidden;
}
@media (min-width: 768px) {
  .AgentSidebar_avatarWrapper__QYo2K {
    width: 11.75rem;
    height: 16.3125rem;
    aspect-ratio: auto;
  }
}

.AgentSidebar_avatar__pW9ox {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.AgentSidebar_info__adb8a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.75rem;
  padding: 0.625rem 0;
  background: #fff;
  flex: 1 1;
  padding: 0.625rem 1rem;
}

.AgentSidebar_name__rmimC {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.3;
  text-transform: uppercase;
  color: #a39476;
  margin: 0;
}

.AgentSidebar_office__CLlyy {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.5;
  text-transform: uppercase;
  color: #404041;
  margin: 0;
}

.AgentSidebar_phone__WscN7 {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.5;
  color: #818285;
  margin: 0;
}

.AgentSidebar_profileLink__zDX16 {
  background: none;
  border: none;
  padding: 0;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.5;
  text-transform: uppercase;
  color: #404041;
  cursor: pointer;
  text-align: left;
  text-decoration: underline;
  text-underline-offset: 0.1875rem;
}
.AgentSidebar_profileLink__zDX16:hover {
  color: #a39476;
}

/* ── Send Request Button ──────────────────────────── */
.AgentSidebar_requestButton__j6kxa {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.625rem;
  width: 100%;
  height: 3.125rem;
  background: #beb18b;
  border: none;
  cursor: pointer;
  font-size: 0.875rem;
  font-weight: 700;
  text-transform: uppercase;
  color: #fff;
  transition: background 0.2s ease;
}
.AgentSidebar_requestButton__j6kxa:hover {
  background: rgb(180.8425414365, 166.0110497238, 122.6574585635);
}

.AgentSidebar_arrow__RqZOk {
  font-size: 1.125rem;
}

/* ── Sold Badge ──────────────────────────────────── */
.AgentSidebar_soldBadge__OchHL {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 3.125rem;
  background: #404041;
  font-size: 0.875rem;
  font-weight: 700;
  text-transform: uppercase;
  color: #fff;
}
/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[3]!./node_modules/next/dist/build/webpack/loaders/resolve-url-loader/index.js??ruleSet[1].rules[14].oneOf[7].use[4]!./node_modules/next/dist/compiled/sass-loader/cjs.js??ruleSet[1].rules[14].oneOf[7].use[5]!./src/components/single-property-page/sections/PropertyDetailSection.module.scss ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/* ── Property Detail Section ─────────────────────── */
.PropertyDetailSection_section__89SYk {
  padding: 3rem 1rem 2.5rem;
}
@media (min-width: 1024px) {
  .PropertyDetailSection_section__89SYk {
    padding: 5rem 1rem 2.5rem;
  }
}
@media (min-width: 1400px) {
  .PropertyDetailSection_section__89SYk {
    padding: 6.5rem 0 2.5rem;
  }
}

.PropertyDetailSection_columns__7PcZs {
  display: flex;
  flex-direction: column;
  gap: 2.5625rem;
  max-width: 87.5rem;
  margin: 0 auto;
}
@media (min-width: 1024px) {
  .PropertyDetailSection_columns__7PcZs {
    flex-direction: row;
    padding: 0 1rem;
  }
}
@media (min-width: 1400px) {
  .PropertyDetailSection_columns__7PcZs {
    padding: 0;
  }
}

.PropertyDetailSection_leftColumn__h14nE {
  width: 100%;
}
@media (min-width: 1024px) {
  .PropertyDetailSection_leftColumn__h14nE {
    flex: 0 0 min(100%, 40.625rem);
  }
}
@media (min-width: 1400px) {
  .PropertyDetailSection_leftColumn__h14nE {
    flex: 0 0 50.0625rem;
  }
}

/* ── Tags ─────────────────────────────────────────── */
.PropertyDetailSection_tags__Zh379 {
  display: flex;
  align-items: center;
  gap: 1.6875rem;
  margin-bottom: 1.5rem;
}

.PropertyDetailSection_tag__3PYWv {
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 160%;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #a39476;
}
@media (min-width: 1024px) {
  .PropertyDetailSection_tag__3PYWv {
    font-size: 1rem;
  }
}

/* ── Overview Block ───────────────────────────────── */
.PropertyDetailSection_overviewBlock__oKCoR {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 0 0 2.5rem;
  border-bottom: 1px solid rgba(231, 231, 232, 0.5);
}
@media (min-width: 1024px) {
  .PropertyDetailSection_overviewBlock__oKCoR {
    gap: 1.5rem;
    padding: 2.5rem 0;
  }
}

.PropertyDetailSection_titleBlock__n7DKx {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 0.625rem 0 0.625rem 1rem;
  border-left: 0.25rem solid #beb18b;
}
@media (min-width: 1024px) {
  .PropertyDetailSection_titleBlock__n7DKx {
    padding: 0.625rem 0 0.625rem 1.5rem;
  }
}

.PropertyDetailSection_titleHeading__ZzSz8 {
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 2.1875rem;
  text-transform: uppercase;
  color: #a39476;
}
@media (min-width: 1024px) {
  .PropertyDetailSection_titleHeading__ZzSz8 {
    font-size: 2rem;
  }
}

.PropertyDetailSection_titleSubtext__N4dUh {
  font-size: 1rem;
  font-weight: 400;
  line-height: 2.1875rem;
  color: #404041;
}
@media (min-width: 1024px) {
  .PropertyDetailSection_titleSubtext__N4dUh {
    font-size: 1.125rem;
  }
}

/* ── Details Card ─────────────────────────────────── */
.PropertyDetailSection_detailsCard__iOkBf {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1rem;
  padding: 0.75rem;
  background: rgba(231, 231, 232, 0.5);
  border: 1px solid rgba(231, 231, 232, 0.5);
}
@media (min-width: 1024px) {
  .PropertyDetailSection_detailsCard__iOkBf {
    padding: 1.5rem;
  }
}

.PropertyDetailSection_detailRows__liNRW {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
@media (min-width: 1024px) {
  .PropertyDetailSection_detailRows__liNRW {
    gap: 1rem;
  }
}

.PropertyDetailSection_detailRow__aR_H_ {
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: 1.375rem;
  color: #404041;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.PropertyDetailSection_detailRow__aR_H_::before {
  content: "•";
  color: #404041;
}
@media (min-width: 1024px) {
  .PropertyDetailSection_detailRow__aR_H_ {
    font-size: 1rem;
    line-height: 2.1875rem;
  }
}

.PropertyDetailSection_detailLabel__1eUKF {
  font-weight: 400;
}

.PropertyDetailSection_commissionNote__QC6bV {
  font-size: 0.8125rem;
  font-weight: 400;
  color: #818285;
  margin: 0;
  line-height: 1.5;
  white-space: pre-line;
}

/* ── Description Block ────────────────────────────── */
.PropertyDetailSection_descriptionBlock__l80AO {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 2.5rem 0;
  border-bottom: 1px solid rgba(231, 231, 232, 0.5);
}
@media (min-width: 1024px) {
  .PropertyDetailSection_descriptionBlock__l80AO {
    gap: 1rem;
  }
}

.PropertyDetailSection_descriptionHeading__awL9O {
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.5rem;
  text-transform: uppercase;
  color: #404041;
  margin: 0;
}
@media (min-width: 1024px) {
  .PropertyDetailSection_descriptionHeading__awL9O {
    font-size: 1.5rem;
    color: #a39476;
  }
}

.PropertyDetailSection_descriptionBody__IImGr {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.75rem;
  color: #818285;
  white-space: pre-line;
}
.PropertyDetailSection_descriptionBody__IImGr p {
  margin: 0 0 1rem;
}
.PropertyDetailSection_descriptionBody__IImGr p:last-child {
  margin-bottom: 0;
}
@media (min-width: 1024px) {
  .PropertyDetailSection_descriptionBody__IImGr {
    font-size: 1rem;
  }
}

/* ── Read More Button ─────────────────────────────── */
.PropertyDetailSection_readMoreButton__aW8EI {
  align-self: flex-start;
  background: none;
  border: none;
  padding: 0;
  font-size: 0.875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #beb18b;
  cursor: pointer;
}
.PropertyDetailSection_readMoreButton__aW8EI:hover {
  text-decoration: underline;
  text-underline-offset: 0.1875rem;
}

/* ── Features / Ausstattung Block ─────────────────── */
.PropertyDetailSection_featuresBlock__PKJJ5 {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 2.5rem 0;
  border-bottom: 1px solid rgba(231, 231, 232, 0.5);
}
@media (min-width: 1024px) {
  .PropertyDetailSection_featuresBlock__PKJJ5 {
    gap: 1.25rem;
  }
}

.PropertyDetailSection_featuresHeading__ELGaA {
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.5rem;
  text-transform: uppercase;
  color: #404041;
  margin: 0;
}
@media (min-width: 1024px) {
  .PropertyDetailSection_featuresHeading__ELGaA {
    font-size: 1.5rem;
    color: #a39476;
  }
}

.PropertyDetailSection_featuresList__hJ5Ao {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 0.75rem;
  gap: 0.75rem;
}
@media (min-width: 768px) {
  .PropertyDetailSection_featuresList__hJ5Ao {
    grid-template-columns: 1fr 1fr;
  }
}

.PropertyDetailSection_featuresItem__Z8brQ {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.5rem;
  color: #404041;
}
.PropertyDetailSection_featuresItem__Z8brQ::before {
  content: "";
  flex-shrink: 0;
  width: 1rem;
  height: 1rem;
  border: 0.09375rem solid #beb18b;
  border-radius: 50%;
  background: radial-gradient(circle at center, #beb18b 40%, transparent 40%);
}
@media (min-width: 1024px) {
  .PropertyDetailSection_featuresItem__Z8brQ {
    font-size: 0.9375rem;
  }
}

/* ── Make (Location) Block ───────────────────────── */
.PropertyDetailSection_makeBlock__iH_sW {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 2.5rem 0;
  border-bottom: 1px solid rgba(231, 231, 232, 0.5);
}
@media (min-width: 1024px) {
  .PropertyDetailSection_makeBlock__iH_sW {
    gap: 1rem;
  }
}

.PropertyDetailSection_makeHeading__7_fOC {
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.5rem;
  text-transform: uppercase;
  color: #404041;
  margin: 0;
}
@media (min-width: 1024px) {
  .PropertyDetailSection_makeHeading__7_fOC {
    font-size: 1.5rem;
    color: #a39476;
  }
}

.PropertyDetailSection_makeBody__cjTiZ {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.75rem;
  color: #818285;
  white-space: pre-line;
}
@media (min-width: 1024px) {
  .PropertyDetailSection_makeBody__cjTiZ {
    font-size: 1rem;
  }
}

/* ── 3D Tour Block ───────────────────────────────── */
.PropertyDetailSection_tourBlock__jzbEO {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  padding: 2.5rem 0;
  border-bottom: 1px solid rgba(231, 231, 232, 0.5);
}

.PropertyDetailSection_tourHeading__5FUya {
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.5rem;
  text-transform: uppercase;
  color: #404041;
  margin: 0;
}
@media (min-width: 1024px) {
  .PropertyDetailSection_tourHeading__5FUya {
    font-size: 1.5rem;
    color: #a39476;
  }
}

.PropertyDetailSection_tourFrame__VOjbc {
  display: flex;
  padding: 1.5rem;
  background: #e7e7e8;
}

.PropertyDetailSection_tourEmbed__pUilI {
  display: block;
  width: 100%;
  aspect-ratio: 753/481;
  border: 0;
  filter: drop-shadow(0 0 3.125rem rgba(0, 0, 0, 0.1));
}
/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[3]!./node_modules/next/dist/build/webpack/loaders/resolve-url-loader/index.js??ruleSet[1].rules[14].oneOf[7].use[4]!./node_modules/next/dist/compiled/sass-loader/cjs.js??ruleSet[1].rules[14].oneOf[7].use[5]!./src/components/single-property-page/sections/EnergyCertificate.module.scss ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/* ── Energy Certificate Block ─────────────────────── */
.EnergyCertificate_block__cM_2k {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 2.5rem 0;
  border-bottom: 1px solid rgba(231, 231, 232, 0.5);
}
@media (min-width: 1024px) {
  .EnergyCertificate_block__cM_2k {
    gap: 1.5rem;
  }
}

.EnergyCertificate_heading__S6oBe {
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.5rem;
  text-transform: uppercase;
  color: #404041;
  margin: 0;
}
@media (min-width: 1024px) {
  .EnergyCertificate_heading__S6oBe {
    font-size: 1.5rem;
  }
}

.EnergyCertificate_content__hvTgw {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
@media (min-width: 1024px) {
  .EnergyCertificate_content__hvTgw {
    gap: 2.5rem;
  }
}

/* ── Table ─────────────────────────────────────────── */
.EnergyCertificate_table__5lAjI {
  display: flex;
  flex-direction: column;
  border: 1px solid rgba(231, 231, 232, 0.5);
}

.EnergyCertificate_row__s0r0_ {
  display: flex;
  border-bottom: 1px solid rgba(231, 231, 232, 0.5);
}
.EnergyCertificate_row__s0r0_:last-child {
  border-bottom: none;
}

.EnergyCertificate_cellLabel__P8Tkj {
  flex: 0 0 50%;
  padding: 1rem;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.25rem;
  color: #818285;
  background: #fff;
  border-right: 1px solid rgba(231, 231, 232, 0.5);
}
@media (min-width: 1024px) {
  .EnergyCertificate_cellLabel__P8Tkj {
    flex: 0 0 38%;
    padding: 1rem 1.5rem;
    font-size: 1.125rem;
    line-height: 2.1875rem;
  }
}

.EnergyCertificate_cellValue__JMbMt {
  flex: 1 1;
  padding: 1rem 1.625rem 1rem 1rem;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.25rem;
  color: #404041;
  background: #fff;
}
@media (min-width: 1024px) {
  .EnergyCertificate_cellValue__JMbMt {
    padding: 1rem 1.5rem;
    font-size: 1.125rem;
    line-height: 2.1875rem;
  }
}

/* ── Energy Bar ───────────────────────────────────── */
.EnergyCertificate_barContainer__Muegn {
  padding: 0.75rem;
  border: 1px solid rgba(231, 231, 232, 0.5);
}
@media (min-width: 1024px) {
  .EnergyCertificate_barContainer__Muegn {
    padding: 1.5rem;
  }
}

.EnergyCertificate_barArea__fo5k0 {
  position: relative;
  padding-top: 1.5rem;
}
@media (min-width: 1024px) {
  .EnergyCertificate_barArea__fo5k0 {
    padding-top: 2.75rem;
  }
}

.EnergyCertificate_barTrack__A54Jw {
  position: relative;
  width: 100%;
  height: 1.375rem;
  background: #e0e0e0;
}
@media (min-width: 1024px) {
  .EnergyCertificate_barTrack__A54Jw {
    height: 1.8125rem;
  }
}

.EnergyCertificate_barFill__ZiYL3 {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  background: linear-gradient(90deg, #ebe7d9 0%, #beb18b 100%);
}

/* ── Tooltip ──────────────────────────────────────── */
.EnergyCertificate_tooltip__4cjmw {
  position: absolute;
  top: 0;
  z-index: 1;
  width: 0;
}

.EnergyCertificate_tooltipText__4a_SI {
  position: absolute;
  top: 0;
  left: 0;
  padding: 0.25rem 0.5rem;
  background: #beb18b;
  box-shadow: 0 0 0.375rem rgba(186, 175, 136, 0.5);
  font-size: 0.625rem;
  font-weight: 400;
  line-height: 0.875rem;
  color: #fff;
  white-space: nowrap;
  text-align: center;
}
@media (min-width: 1024px) {
  .EnergyCertificate_tooltipText__4a_SI {
    padding: 0.5rem 1rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
    box-shadow: 0 0 0.625rem rgba(186, 175, 136, 0.5);
  }
}

.EnergyCertificate_tooltipBeak__AMpGb {
  position: absolute;
  left: 0;
  top: 1.375rem;
  width: 0;
  height: 0;
  border-left: 0.3125rem solid transparent;
  border-right: 0.3125rem solid transparent;
  border-top: 0.3125rem solid #beb18b;
  background: transparent;
  transform: translateX(-50%);
}
@media (min-width: 1024px) {
  .EnergyCertificate_tooltipBeak__AMpGb {
    top: 2.25rem;
    border-left-width: 0.375rem;
    border-right-width: 0.375rem;
    border-top-width: 0.375rem;
  }
}

/* ── Class Labels (overlaid on bar) ──────────────── */
.EnergyCertificate_classRow__19DRj {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 100%;
  z-index: 1;
}

.EnergyCertificate_classLabel__D7Qgq {
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  font-size: 0.625rem;
  font-weight: 500;
  line-height: 0.875rem;
  text-align: center;
  color: #000;
}
@media (min-width: 1024px) {
  .EnergyCertificate_classLabel__D7Qgq {
    font-size: 0.75rem;
    font-weight: 400;
    line-height: 1.75rem;
  }
}

/* ── Scale Ticks (below bar) ─────────────────────── */
.EnergyCertificate_scaleRow__YrxFX {
  position: relative;
  height: 2rem;
}
@media (min-width: 1024px) {
  .EnergyCertificate_scaleRow__YrxFX {
    height: 3.5625rem;
  }
}

.EnergyCertificate_scaleTick__3yBq4 {
  position: absolute;
  top: 0;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
}
@media (min-width: 1024px) {
  .EnergyCertificate_scaleTick__3yBq4 {
    gap: 0.5rem;
  }
}

.EnergyCertificate_tickLine__Ek7rj {
  display: block;
  width: 0.0625rem;
  height: 0.75rem;
  background: rgba(242, 242, 243, 0.8);
}
@media (min-width: 1024px) {
  .EnergyCertificate_tickLine__Ek7rj {
    width: 0.125rem;
    height: 1.8125rem;
  }
}

.EnergyCertificate_tickLabel__rwpPt {
  font-size: 0.5625rem;
  font-weight: 400;
  line-height: 0.75rem;
  text-align: center;
  color: #000;
}
@media (min-width: 1024px) {
  .EnergyCertificate_tickLabel__rwpPt {
    font-size: 0.875rem;
    font-weight: 300;
    line-height: 1.125rem;
  }
}
/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[3]!./node_modules/next/dist/build/webpack/loaders/resolve-url-loader/index.js??ruleSet[1].rules[14].oneOf[7].use[4]!./node_modules/next/dist/compiled/sass-loader/cjs.js??ruleSet[1].rules[14].oneOf[7].use[5]!./src/components/single-property-page/sections/Gallery.module.scss ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/* ── Gallery ──────────────────────────────────────── */
.Gallery_gallery__FtXZl {
  display: flex;
  flex-direction: column;
  gap: 0.9375rem;
  margin-bottom: 1.5rem;
}

.Gallery_mainImageWrap__q7MU2 {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 4/3;
  overflow: hidden;
  cursor: zoom-in;
  padding: 0;
  border: none;
  background: #f0f0f0;
}

.Gallery_mainImage__domyb {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.2s ease;
}
@media (hover: hover) and (pointer: fine) {
  .Gallery_mainImageWrap__q7MU2:hover .Gallery_mainImage__domyb {
    transform: scale(1.02);
  }
}

.Gallery_zoomHint__ITDXh {
  position: absolute;
  bottom: 0.75rem;
  right: 0.75rem;
  background: rgba(0, 0, 0, 0.45);
  color: #fff;
  font-size: 1.125rem;
  width: 2.25rem;
  height: 2.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.2s;
}
@media (hover: hover) and (pointer: fine) {
  .Gallery_mainImageWrap__q7MU2:hover .Gallery_zoomHint__ITDXh {
    opacity: 1;
  }
}

/* ── Video slide ──────────────────────────────────── */
.Gallery_videoFrame__GkeNQ {
  position: relative;
  width: 100%;
  aspect-ratio: 4/3;
  overflow: hidden;
  background: #000;
}

.Gallery_videoEmbed__UxbaS {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

.Gallery_playBadge__elS5k {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1.25rem;
  background: rgba(0, 0, 0, 0.35);
  pointer-events: none;
}

/* ── Thumbnails ───────────────────────────────────── */
.Gallery_thumbnails__2O_SA {
  display: flex;
  gap: 0.75rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.Gallery_thumbnails__2O_SA::-webkit-scrollbar {
  display: none;
}

.Gallery_thumbnail__4AHLl {
  position: relative;
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: calc((100% - 2.25rem) / 4);
  scroll-snap-align: start;
  aspect-ratio: 4/3;
  overflow: hidden;
  cursor: pointer;
  border: 0.125rem solid transparent;
  padding: 0;
  background: #f0f0f0;
  transition: border-color 0.2s;
}
.Gallery_thumbnail__4AHLl:hover {
  border-color: #beb18b;
}

.Gallery_thumbnailActive___9Hda {
  border-color: #beb18b;
  box-shadow: 0 0.125rem 0.75rem rgba(0, 0, 0, 0.13);
}

.Gallery_thumbnailImg__cBAh_ {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  opacity: 0.6;
  transition: opacity 0.2s;
}
.Gallery_thumbnailActive___9Hda .Gallery_thumbnailImg__cBAh_ {
  opacity: 1;
}

/* ── Lightbox ─────────────────────────────────────── */
.Gallery_lightboxOverlay__h3wOK {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.92);
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
}

.Gallery_lightboxImage__uiL7H {
  width: auto;
  height: auto;
  max-width: 90vw;
  max-height: 88vh;
  object-fit: contain;
  display: block;
}

.Gallery_lightboxVideo__bK4kY {
  width: min(90vw, 156.4444444444vh);
  aspect-ratio: 16/9;
  border: 0;
  background: #000;
}

/* ── Mobile lightbox: scrollable track of slides ─── */
.Gallery_lightboxTrack__9A_tj {
  position: absolute;
  inset: 0;
  display: flex;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.Gallery_lightboxTrack__9A_tj::-webkit-scrollbar {
  display: none;
}

.Gallery_lightboxSlide__wEa_s {
  flex: 0 0 100%;
  width: 100vw;
  height: 100%;
  scroll-snap-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
.Gallery_lightboxSlide__wEa_s .Gallery_lightboxImage__uiL7H {
  max-width: 100vw;
  max-height: 100vh;
}
.Gallery_lightboxSlide__wEa_s .Gallery_lightboxVideo__bK4kY {
  width: 100vw;
}

.Gallery_lightboxClose__LziLD {
  position: absolute;
  top: 1.25rem;
  right: 1.5rem;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  background: rgba(0, 0, 0, 0.45);
  border: none;
  color: #fff;
  font-size: 1.5rem;
  cursor: pointer;
  line-height: 1;
  opacity: 0.95;
}
.Gallery_lightboxClose__LziLD:hover {
  opacity: 1;
}

.Gallery_lightboxNav__xYMsI {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255, 255, 255, 0.12);
  border: none;
  color: #fff;
  font-size: 1.5rem;
  width: 3rem;
  height: 3rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s;
}
.Gallery_lightboxNav__xYMsI:hover {
  background: rgba(255, 255, 255, 0.25);
}

.Gallery_lightboxNavLeft__m_OCs {
  left: 1.25rem;
}

.Gallery_lightboxNavRight__ctvtc {
  right: 1.25rem;
}

.Gallery_lightboxCounter__mBLsq {
  position: absolute;
  bottom: 1.25rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  padding: 0.25rem 0.625rem;
  background: rgba(0, 0, 0, 0.45);
  color: rgba(255, 255, 255, 0.85);
  font-size: 0.875rem;
  pointer-events: none;
}
/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[3]!./node_modules/next/dist/build/webpack/loaders/resolve-url-loader/index.js??ruleSet[1].rules[14].oneOf[7].use[4]!./node_modules/next/dist/compiled/sass-loader/cjs.js??ruleSet[1].rules[14].oneOf[7].use[5]!./src/components/single-property-page/sections/HeroSection.module.scss ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/* ── Single Property Hero (Figma: 1920×740) ──────── */
.HeroSection_hero__d83B3 {
  position: relative;
  min-height: 31.25rem;
  margin-bottom: -1.875rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 3rem 0;
}
@media (min-width: 1024px) {
  .HeroSection_hero__d83B3 {
    min-height: min(46.25rem, 100dvh - 5rem);
    padding: 0;
  }
}

.HeroSection_heroImage__MdiD_ {
  z-index: 0;
  object-fit: cover;
}

.HeroSection_heroOverlay__CHLaB {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: linear-gradient(0deg, rgba(186, 175, 136, 0.62), rgba(186, 175, 136, 0.62));
  pointer-events: none;
}

.HeroSection_heroContent__9m1Sc {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  width: calc(100% - 3rem);
  max-width: 87.5rem;
  margin: 0 auto;
}
@media (min-width: 1024px) {
  .HeroSection_heroContent__9m1Sc {
    width: calc(100% - 4rem);
  }
}

/* ── Typography ───────────────────────────────────── */
.HeroSection_title__G67CC {
  font-size: clamp(2rem, 4.5vw, 3.5rem);
  font-weight: 300;
  line-height: 3.875rem;
  color: #fff;
  max-width: 43.9375rem;
}

.HeroSection_location___3LKt {
  font-size: clamp(1.25rem, 2.5vw, 2rem);
  font-weight: 300;
  color: #fff;
}

.HeroSection_price__1b9Hq {
  font-size: clamp(1.25rem, 2.5vw, 2rem);
  font-weight: 390;
  text-transform: uppercase;
  color: #fff;
}

.HeroSection_priceSubtitle__9BiQg {
  margin-top: 0.125rem;
  font-size: clamp(0.8125rem, 1.2vw, 1rem);
  font-weight: 300;
  color: rgba(255, 255, 255, 0.85);
}

.HeroSection_sendRequest__rxDrh {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
  margin-top: 1rem;
  padding: 0.875rem 1.5rem;
  background: #beb18b;
  border: none;
  cursor: pointer;
  font-family: inherit;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.0625rem;
  text-transform: uppercase;
  color: #fff;
  transition: opacity 0.2s;
}
.HeroSection_sendRequest__rxDrh:hover {
  opacity: 0.9;
}
@media (min-width: 1024px) {
  .HeroSection_sendRequest__rxDrh {
    display: none;
  }
}

.HeroSection_sendRequestArrow__3m5gM {
  color: #fff;
  width: 1.5rem;
  height: auto;
}

.HeroSection_soldBadge__j8zuV {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin-top: 1rem;
  padding: 0.875rem 1.5rem;
  background: #404041;
  font-family: inherit;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.0625rem;
  text-transform: uppercase;
  color: #fff;
}
@media (min-width: 1024px) {
  .HeroSection_soldBadge__j8zuV {
    display: none;
  }
}
/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[3]!./node_modules/next/dist/build/webpack/loaders/resolve-url-loader/index.js??ruleSet[1].rules[14].oneOf[7].use[4]!./node_modules/next/dist/compiled/sass-loader/cjs.js??ruleSet[1].rules[14].oneOf[7].use[5]!./src/components/single-property-page/sections/MapSection.module.scss ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/* ── Map Block ───────────────────────────────────── */
.MapSection_block__L9McV {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  padding: 2.5rem 0;
  border-bottom: 1px solid rgba(231, 231, 232, 0.5);
}

.MapSection_heading__woecz {
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.5rem;
  text-transform: uppercase;
  color: #a39476;
  margin: 0;
}

.MapSection_mapWrapper__Z8VSP {
  width: 100%;
  border: 1px solid rgba(231, 231, 232, 0.5);
  overflow: hidden;
}

.MapSection_map__S3mYV {
  position: relative;
  display: block;
  width: 100%;
  height: 18.75rem;
  border: none;
  z-index: 0;
  isolation: isolate;
}
@media (min-width: 1024px) {
  .MapSection_map__S3mYV {
    height: 25rem;
  }
}

/* ── Leaflet Popup Overrides ─────────────────────── */
.MapSection_mapWrapper__Z8VSP .map-popup-clean .leaflet-popup-content-wrapper {
  background: #fff;
  box-shadow: 0 0 1.25rem rgba(0, 0, 0, 0.2);
  border-radius: 0;
  padding: 0;
}
.MapSection_mapWrapper__Z8VSP .map-popup-clean .leaflet-popup-content {
  margin: 0.5rem;
  font-family: inherit;
}
.MapSection_mapWrapper__Z8VSP .map-popup-clean .leaflet-popup-tip {
  background: #fff;
  box-shadow: 0 0 0.625rem rgba(0, 0, 0, 0.1);
}
.MapSection_mapWrapper__Z8VSP .map-popup-clean .leaflet-popup-close-button {
  color: #818285;
  font-size: 1rem;
  padding: 0.25rem 0.375rem;
}
.MapSection_mapWrapper__Z8VSP .map-popup-clean .leaflet-popup-close-button:hover {
  color: #404041;
}
/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[3]!./node_modules/next/dist/build/webpack/loaders/resolve-url-loader/index.js??ruleSet[1].rules[14].oneOf[7].use[4]!./node_modules/next/dist/compiled/sass-loader/cjs.js??ruleSet[1].rules[14].oneOf[7].use[5]!./src/components/properties-page/sections/PropertyCard.module.scss ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/* ── Property Card ──────────────────────────────── */
.PropertyCard_card__74OOY {
  position: relative;
  display: flex;
  flex-direction: column;
  background: #f9f9f9;
  border: 1px solid #d9d9d9;
  padding: 1rem;
  gap: 1.5rem;
  text-decoration: none;
  color: inherit;
}

.PropertyCard_titleLink__RsS9V {
  color: inherit;
  text-decoration: none;
}
.PropertyCard_titleLink__RsS9V::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}

.PropertyCard_contentWrapper__hTMbQ {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  flex: 1 1;
}

/* ── List View ──────────────────────────────────── */
@media (min-width: 1024px) {
  .PropertyCard_cardList__QvXNO {
    flex-direction: row;
    gap: 1.8125rem;
  }
  .PropertyCard_cardList__QvXNO .PropertyCard_imageWrapper__X5Mm9 {
    flex: 0 1 min(37.5rem, 45%);
    height: 20.1875rem;
    aspect-ratio: auto;
  }
  .PropertyCard_cardList__QvXNO .PropertyCard_contentWrapper__hTMbQ {
    justify-content: center;
    gap: 1.8125rem;
  }
  .PropertyCard_cardList__QvXNO .PropertyCard_details__SwPac {
    flex-direction: row;
    gap: 2rem;
  }
  .PropertyCard_cardList__QvXNO .PropertyCard_info__Cus9B {
    gap: 1.25rem;
    border-right: none;
    padding-right: 0;
  }
  .PropertyCard_cardList__QvXNO .PropertyCard_title__XgZ7n {
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 2rem;
    max-width: 21.4375rem;
  }
  .PropertyCard_cardList__QvXNO .PropertyCard_price__KC8_u {
    font-size: 1.5rem;
    line-height: 2.0625rem;
  }
  .PropertyCard_cardList__QvXNO .PropertyCard_agent__d7xyq {
    width: min(100%, 20rem);
  }
  .PropertyCard_cardList__QvXNO .PropertyCard_agentImageWrapper__OOkuk {
    width: 7.5rem;
    height: 8.875rem;
  }
  .PropertyCard_cardList__QvXNO .PropertyCard_agentContent__Y8AbF {
    align-items: center;
  }
}
@media (min-width: 1400px) {
  .PropertyCard_cardList__QvXNO .PropertyCard_agent__d7xyq {
    width: 23.4375rem;
  }
  .PropertyCard_cardList__QvXNO .PropertyCard_agentImageWrapper__OOkuk {
    width: 10.5625rem;
    height: 12.4375rem;
  }
}

/* ── Image Carousel ─────────────────────────────── */
.PropertyCard_imageWrapper__X5Mm9 {
  position: relative;
  width: 100%;
  aspect-ratio: 656/318;
  overflow: hidden;
}

.PropertyCard_image__ZlX8d {
  position: relative;
  width: 100%;
  height: 100%;
}

.PropertyCard_imageDots__1i5Jg {
  position: absolute;
  bottom: 1rem;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 0.3125rem;
}

.PropertyCard_dot__JtPX9 {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.5);
}

.PropertyCard_dotActive__efgdH {
  background: #fff;
}

.PropertyCard_arrowLeft__5VMrZ,
.PropertyCard_arrowRight___mx82 {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 3rem;
  height: 3rem;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  z-index: 2;
}

.PropertyCard_arrowLeft__5VMrZ {
  left: 1.25rem;
  background: #818285;
}

.PropertyCard_arrowRight___mx82 {
  right: 1.25rem;
  background: #beb18b;
}

.PropertyCard_arrowIcon__iTvF0 {
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
}

/* ── Details ────────────────────────────────────── */
.PropertyCard_details__SwPac {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  flex: 1 1;
}
@media (min-width: 640px) {
  .PropertyCard_details__SwPac {
    flex-direction: row;
    gap: 1.5rem;
  }
}

.PropertyCard_info__Cus9B {
  flex: 1 1;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
@media (min-width: 640px) {
  .PropertyCard_info__Cus9B {
    border-right: 1px solid rgba(231, 231, 232, 0.5);
    padding-right: 1rem;
  }
}

.PropertyCard_title__XgZ7n {
  font-size: clamp(0.875rem, 1.1vw, 1.125rem);
  font-weight: 500;
  line-height: 1.5;
  color: #404041;
  max-width: 18.5rem;
}

.PropertyCard_specs__Ad0LT {
  display: flex;
  gap: 1.25rem;
}

.PropertyCard_spec__1z3KD {
  font-size: 0.90625rem;
  font-weight: 400;
  line-height: 1.875rem;
  color: #404041;
  margin-top: auto;
}
.PropertyCard_spec__1z3KD strong {
  font-weight: 700;
}
.PropertyCard_spec__1z3KD sup {
  font-size: 0.65em;
}

.PropertyCard_location__N5GQ5 {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.875rem;
  color: #818285;
  margin-bottom: -0.75rem;
}

.PropertyCard_price__KC8_u {
  font-size: clamp(1rem, 1.25vw, 1.25rem);
  font-weight: 500;
  line-height: 1.4;
  text-transform: uppercase;
  color: #beb18b;
}

.PropertyCard_priceSubtitle__YCY1h {
  margin-top: -0.5rem;
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: 1.4;
  color: #818285;
}

/* ── Agent ──────────────────────────────────────── */
.PropertyCard_agent__d7xyq {
  display: flex;
  flex-direction: column;
  gap: 0.9375rem;
  min-width: 0;
}
@media (min-width: 640px) {
  .PropertyCard_agent__d7xyq {
    width: clamp(10rem, 40%, 18.9375rem);
    flex-shrink: 0;
  }
}

.PropertyCard_agentLabel__x_jDn {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.875rem;
  color: #818285;
}

.PropertyCard_agentContent__Y8AbF {
  display: flex;
  gap: 0.875rem;
  align-items: flex-start;
}

.PropertyCard_agentImageWrapper__OOkuk {
  position: relative;
  width: clamp(5rem, 50%, 8.5625rem);
  aspect-ratio: 137/162;
  flex-shrink: 0;
  overflow: hidden;
  background: #fff;
}

.PropertyCard_agentImage__Ig6Lr {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.PropertyCard_agentInfo__iX70m {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  padding: 0.375rem 0;
  min-width: 0;
}

.PropertyCard_agentName__obUst {
  font-size: clamp(0.75rem, 1vw, 1rem);
  font-weight: 500;
  line-height: 1.4;
  text-transform: uppercase;
  color: #404041;
  overflow-wrap: anywhere;
}

.PropertyCard_agentBrand__MHTKW {
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  color: #beb18b;
}

/* ── CTA Button ─────────────────────────────────── */
.PropertyCard_cta__1eyWi {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.625rem;
  padding: 0.5rem 1rem;
  height: 3.125rem;
  background: #baaf88;
  text-decoration: none;
  transition: background-color 0.2s;
  margin-top: auto;
}
.PropertyCard_cta__1eyWi span {
  font-size: 0.875rem;
  font-weight: 700;
  text-transform: uppercase;
  color: #fff;
}
.PropertyCard_cta__1eyWi:hover {
  background: rgb(176.6409574468, 164.1489361702, 119.8590425532);
}

.PropertyCard_ctaArrow__nOJ4v {
  font-size: 1.125rem;
}
/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[3]!./node_modules/next/dist/build/webpack/loaders/resolve-url-loader/index.js??ruleSet[1].rules[14].oneOf[7].use[4]!./node_modules/next/dist/compiled/sass-loader/cjs.js??ruleSet[1].rules[14].oneOf[7].use[5]!./src/components/single-property-page/sections/RelatedPropertiesSection.module.scss ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/* ── Related Properties Section ──────────────────── */
.RelatedPropertiesSection_section__VB5jx {
  background: #fff;
  padding: 3rem 0;
}
@media (min-width: 1024px) {
  .RelatedPropertiesSection_section__VB5jx {
    padding: 5rem 0;
  }
}

.RelatedPropertiesSection_inner__EKLOs {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  width: calc(100% - 3rem);
  max-width: 87.5rem;
  margin: 0 auto;
}
@media (min-width: 1024px) {
  .RelatedPropertiesSection_inner__EKLOs {
    width: calc(100% - 4rem);
  }
}

/* ── Title ────────────────────────────────────────── */
.RelatedPropertiesSection_titleBlock__PqUfy {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding-left: 1.5rem;
  border-left: 0.25rem solid #beb18b;
}

.RelatedPropertiesSection_heading__bseUi {
  font-size: clamp(1.5rem, 4vw, 2.5rem);
  font-weight: 400;
  line-height: 0.88;
  text-transform: uppercase;
  color: #a39476;
  margin: 0;
}

.RelatedPropertiesSection_subtitle__koO1z {
  font-size: clamp(0.875rem, 2vw, 1.25rem);
  font-weight: 400;
  line-height: 1.75;
  color: #404041;
  margin: 0;
}

/* ── Cards ────────────────────────────────────────── */
.RelatedPropertiesSection_cards__8qPN7 {
  display: flex;
  gap: 1.5rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}
.RelatedPropertiesSection_cards__8qPN7::-webkit-scrollbar {
  display: none;
}
.RelatedPropertiesSection_cards__8qPN7 > * {
  flex: 0 0 100%;
  min-width: 0;
  scroll-snap-align: start;
}
@media (min-width: 1024px) {
  .RelatedPropertiesSection_cards__8qPN7 {
    overflow: visible;
    scroll-snap-type: none;
  }
  .RelatedPropertiesSection_cards__8qPN7 > * {
    flex: 1 1;
    scroll-snap-align: none;
  }
}

/* ── Navigation ──────────────────────────────────── */
.RelatedPropertiesSection_nav__suzt8 {
  display: flex;
  align-items: center;
  gap: 1rem;
}
@media (min-width: 1024px) {
  .RelatedPropertiesSection_nav__suzt8 {
    gap: 3.375rem;
  }
}

.RelatedPropertiesSection_viewAll__oeRFL {
  font-size: 1rem;
  font-weight: 400;
  color: #404041;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  border: 1px solid #404041;
  padding: 0.5rem 1rem;
  transition: background-color 0.2s, color 0.2s;
}
.RelatedPropertiesSection_viewAll__oeRFL:hover {
  background: #404041;
  color: #fff;
}

.RelatedPropertiesSection_navLine__opMiz {
  flex: 1 1;
  height: 0;
  border-top: 1px solid #beb18b;
}

.RelatedPropertiesSection_ctaSuffix__B7fbv {
  display: none;
}
@media (min-width: 768px) {
  .RelatedPropertiesSection_ctaSuffix__B7fbv {
    display: inline;
  }
}

.RelatedPropertiesSection_navArrows__sTJDq {
  display: flex;
  gap: 0.25rem;
}
@media (min-width: 1024px) {
  .RelatedPropertiesSection_navArrows__sTJDq {
    display: none;
  }
}

.RelatedPropertiesSection_navArrow__kHcn9 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border: none;
  background: #818285;
  color: #fff;
  cursor: pointer;
  flex-shrink: 0;
  transition: background-color 0.2s;
}
.RelatedPropertiesSection_navArrow__kHcn9:last-child {
  background: #beb18b;
}
.RelatedPropertiesSection_navArrow__kHcn9:hover {
  opacity: 0.85;
}

.RelatedPropertiesSection_arrowIconRight__ER1yU {
  color: #fff;
}

.RelatedPropertiesSection_arrowIconLeft__WD2iX {
  color: #fff;
  transform: rotate(180deg);
}
