/* Lusen contact layout — ERE data and AJAX untouched */
.lusen-sp-grid{align-items:start}
.lusen-sp-aside{min-width:0;align-self:stretch}
.lusen-sp-aside__sticky{position:sticky;top:100px}
.lusen-sp-booking{padding:28px;border:1px solid #e7e7e5;background:#fff;box-shadow:0 8px 32px rgba(0,0,0,.035);color:#252525}
.lusen-sp-booking__heading,.lusen-sp-modal__eyebrow{font-size:11px;font-weight:650;letter-spacing:.15em;color:#929292;margin-bottom:20px}
.lusen-sp-booking__label{font-size:12px;color:#858585;margin-bottom:8px}
.lusen-sp-booking__price{font-size:29px;font-weight:700;letter-spacing:-.04em;line-height:1.3;margin-bottom:10px;color:#222}
.lusen-sp-booking__price *{color:inherit;line-height:inherit}
.lusen-sp-booking__status{font-size:12px;margin-bottom:18px}
.lusen-sp-booking__divider{height:1px;background:#ececea;margin:22px 0}
.lusen-sp-booking__contact .ere__single-property-contact-agent{margin:0;padding:0;border:0;background:transparent;box-shadow:none}
.lusen-sp-booking__contact .ere-heading-style2{display:none}
.lusen-sp-booking__contact .ere__contact-agent-info.row{margin:0;display:flex;align-items:flex-start;gap:10px}
.lusen-sp-booking__contact .ere__agent-image{flex:0 0 48px;max-width:48px;padding:0;margin:0}
.lusen-sp-booking__contact .ere__agent-image img{width:46px;height:46px;object-fit:cover;border-radius:50%}
.lusen-sp-booking__contact .ere__agent-content{flex:1 1 0;max-width:100%;min-width:0;padding:0}
.lusen-sp-booking__contact .ere__agent-name{font-size:14px;font-weight:650;margin:0 0 4px}
.lusen-sp-booking__contact .ere__agent-name a{color:#252525}
.lusen-sp-booking__contact .ere__agent-position{font-size:12px;color:#888}
.lusen-sp-booking__contact .ere__single-agent-contact-info{font-size:12px;line-height:1.65;color:#777;margin-top:9px;overflow-wrap:anywhere}
.lusen-sp-booking__contact .ere__single-agent-contact-info>div{margin-bottom:5px}
.lusen-sp-booking__contact .ere__single-agent-social{margin-top:8px}
.lusen-sp-booking__contact .ere__single-agent-social a{margin-right:8px;color:#777}
.lusen-sp-booking__contact .ere__agent-content>.btn{display:none}
.lusen-sp-booking__contact .ere_desc{font-size:12px;color:#888;margin-top:10px}
.lusen-sp-booking__cta{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:50px;margin:20px 0 0;padding:12px 16px;border:1px solid #252525;background:#252525;color:#fff;font-size:13px;font-weight:600;cursor:pointer}
.lusen-sp-booking__cta:hover{background:#444;border-color:#444;color:#fff}
.lusen-sp-booking__cta[hidden]{display:none!important}
/* If JS is unavailable, ERE's original form remains visible in the sidebar. */
.lusen-sp-booking__contact .ere__contact-form .row>[class*="col-"]{flex:0 0 100%;max-width:100%}
.lusen-sp-modal[hidden]{display:none!important}
.lusen-sp-modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:18px}
.lusen-sp-modal__backdrop{position:absolute;inset:0;background:rgba(16,19,22,.62)}
.lusen-sp-modal__panel{position:relative;z-index:1;width:min(100%,530px);max-height:calc(100dvh - 36px);overflow-y:auto;overscroll-behavior:contain;padding:32px;background:#fff;box-shadow:0 24px 80px rgba(0,0,0,.18);color:#252525}
.lusen-sp-modal__close {
    position: absolute;
    top: 16px;
    right: 16px;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 50px;
    height: 50px;
    min-width: 50px;
    min-height: 50px;

    padding: 0;
    margin: 0;
    line-height: 1;

    border: 0;
    border-radius: 50%;
    background: #f4f4f4;

    font-size: 24px;
    cursor: pointer;
    box-sizing: border-box;
}
.lusen-sp-modal__eyebrow{margin-bottom:12px}
.lusen-sp-modal__panel>h2{font-size:25px;line-height:1.3;letter-spacing:-.035em;color:#252525}
.lusen-sp-modal__subtitle{font-size:13px;line-height:1.6;color:#888;margin:0 0 22px}
.lusen-sp-modal__form .ere__form .row>[class*="col-"]{flex:0 0 100%;max-width:100%}
.lusen-sp-modal__form .form-group{margin-bottom:13px}
.lusen-sp-modal__form .form-group label{display:block;font-size:12px;font-weight:550;color:#666;margin-bottom:6px}
.lusen-sp-modal__form .form-control{width:100%;min-height:44px;height:auto;padding:10px 12px;border:1px solid #e5e5e5;border-radius:9px;background:#fafafa;font-size:13px;box-shadow:none}
.lusen-sp-modal__form .form-control:focus{background:#fff;border-color:#777;box-shadow:0 0 0 3px rgba(0,0,0,.05)}
.lusen-sp-modal__form textarea.form-control{min-height:90px;resize:vertical}
.lusen-sp-modal__form .ere__agent-contact-btn-wrap{width:100%}
.lusen-sp-modal__form .ere__btn-submit-contact-form{width:100%;min-height:48px;background:#252525;border:1px solid #252525;color:#fff;font-size:13px;font-weight:600;text-transform:none}
.lusen-sp-modal__form .ere__btn-submit-contact-form:hover{background:#444;border-color:#444;color:#fff}
@media(max-width:991px){.lusen-sp-grid{grid-template-columns:minmax(0,1fr)}.lusen-sp-aside{grid-row:auto}.lusen-sp-aside__sticky{position:static}}
@media(max-width:600px){.lusen-sp-booking{padding:22px}.lusen-sp-modal{padding:10px}.lusen-sp-modal__panel{padding:24px 20px;max-height:calc(100dvh - 20px);}.lusen-sp-modal__panel>h2{font-size:23px}}
