/* Lusen Living – ERE Single Property v2 */
.single-property-area .lusen-sp-v2 {
  --lusen-accent: #13bfd0;
  --lusen-border: #e7eaee;
  --lusen-text: #202a31;
  color: var(--lusen-text);
  width: 100%;
}
.lusen-sp-v2 *, .lusen-sp-v2 *::before, .lusen-sp-v2 *::after { box-sizing: border-box; }
.lusen-sp-header { margin:0 0 22px; }
.lusen-sp-header__info { min-width:0; }
.lusen-sp-header__info h1 { margin:0 0 8px; line-height:1.25; }
.lusen-sp-header__actions { flex:0 0 auto; }
.lusen-sp-gallery { margin:0 0 30px; min-width:0; }
.lusen-sp-gallery .ere__single-property-gallery { margin-bottom:0; }
.lusen-sp-gallery img { border-radius:10px; }
.lusen-sp-grid { display:grid; grid-template-columns:minmax(0, 7fr) minmax(290px, 3fr); gap:32px; align-items:start; }
.lusen-sp-main, .lusen-sp-aside { min-width:0; }
.lusen-sp-main > .single-property-element, .lusen-sp-main > .ere__reviews { margin:0 0 28px; padding:0 0 28px; border-bottom:1px solid var(--lusen-border); }
.lusen-sp-main .ere-heading-style2 h2 { font-size:21px; font-weight:650; margin:0 0 18px; }
.lusen-sp-aside__sticky { position:sticky; top:96px; }
.lusen-sp-booking { padding:24px; border:1px solid var(--lusen-border); background:#fff; box-shadow:0 12px 38px rgba(20,36,46,.07); }
.lusen-sp-booking__heading { font-size:13px; font-weight:650; letter-spacing:.04em; text-transform:uppercase; color:#65737e; margin-bottom:12px; }
.lusen-sp-booking__price { font-size:25px; font-weight:750; line-height:1.3; margin-bottom:10px; }
.lusen-sp-booking__status { margin-bottom:16px; }
.lusen-sp-booking__contact .ere__single-property-contact-agent { margin:0; }
.lusen-sp-booking__contact .ere-heading-style2 h2 { font-size:18px; margin:0 0 16px; }
.lusen-sp-booking__contact .ere__contact-agent-info.row { margin-left:0; margin-right:0; }
.lusen-sp-booking__contact .ere__agent-image,
.lusen-sp-booking__contact .ere__agent-content,
.lusen-sp-booking__contact .ere__single-agent-contact-form .row > [class*="col-"] { flex:0 0 100%; max-width:100%; }
.lusen-sp-booking__contact .ere__agent-image { margin-bottom:12px; }
.lusen-sp-booking__contact .form-control { min-height:44px; width:100%; }
.lusen-sp-booking__contact textarea.form-control { min-height:95px; }
.lusen-sp-booking__contact .ere__btn-submit-contact-form { width:100%; background:var(--lusen-accent); border-color:var(--lusen-accent); }
.lusen-sp-bottom { margin-top:24px; color:#7c8790; font-size:13px; }
@media (max-width: 991px) {
  .lusen-sp-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }

  .lusen-sp-main,
  .lusen-sp-aside {
    grid-row: auto;
  }

  .lusen-sp-aside__sticky {
    position: static;
  }

  .lusen-sp-booking {
    padding: 20px;
  }
}
@media (max-width: 600px) {
  .lusen-sp-header { display:block; margin-bottom:16px; }
  .lusen-sp-header__actions { margin-top:12px; }
  .lusen-sp-header__actions .property-info-inner .ere__lpi-label { display: none !important; }
  .lusen-sp-gallery { margin-bottom:20px; }
  .lusen-sp-booking__price { font-size:23px; }
  .lusen-sp-main .ere-heading-style2 h2 { font-size:19px; }
}
@media (min-width: 992px) {
  .lusen-sp-grid {
    align-items: start;
    overflow: visible;
  }

  .lusen-sp-aside {
    align-self: stretch;
    overflow: visible;
  }

  .lusen-sp-aside__sticky {
    position: sticky;
    top: 96px;
  }
}
