/* ===== Single Property — premium design (scoped to .vs-sp-page) ===== */
.vs-sp-page{
	--vssp-ink:#1f2e26;
	--vssp-sand:#faf6ee;
	--vssp-sand-deep:#f0e8d8;
	--vssp-brass:#a9814a;
	--vssp-brass-dark:#8a6a3c;
	--vssp-stone:#7c7568;
	--vssp-line:#ddd3bf;
	--vssp-white:#ffffff;
	--vssp-forest:#1f3329;

	background:var(--vssp-sand);
	color:var(--vssp-ink);
	font-family:'Inter',sans-serif;
	-webkit-font-smoothing:antialiased;
}
.back-btn {
    margin-top: 20px;
    background: #4d402e;
    color: #fff !important;
}
.vs-sp-page {
    padding: 50px 0;
}
.vs-sp-page *{box-sizing:border-box;}
.vs-sp-page h1,
.vs-sp-page h2,
.vs-sp-page h3{
	font-family:'Fraunces',serif;
	font-weight:600;
	letter-spacing:-0.01em;
	margin:0;
}
.vs-sp-eyebrow{
	font-family:'Inter Tight',sans-serif;
	font-weight:600;
	font-size:11px;
	letter-spacing:.14em;
	text-transform:uppercase;
	color:var(--vssp-brass-dark);
}
.vs-sp-page a{color:inherit;}
.vs-sp-page img{display:block;max-width:100%;}

/* Breadcrumb */
.vs-sp-breadcrumb-wrap{max-width:1180px;margin:24px auto 0;padding:0 24px;}
.vs-sp-breadcrumb{
	font-size:13px;color:var(--vssp-stone);
	display:flex;align-items:center;gap:6px;flex-wrap:wrap;
}
.vs-sp-breadcrumb a{text-decoration:none;color:var(--vssp-stone);transition:color .2s;}
.vs-sp-breadcrumb a:hover{color:var(--vssp-brass-dark);}
.vs-sp-sep{color:var(--vssp-line);}
.vs-sp-current{color:var(--vssp-ink);font-weight:500;}

/* Gallery */
.vs-sp-gallery-wrap{max-width:1180px;margin:14px auto 0;padding:0 24px;}
.vs-sp-gallery-grid{
	    display: flex; 
    height: 460px;
    border-radius: 4px;
    overflow: hidden;
    flex-wrap: wrap;
    justify-content: space-between;
    row-gap: 5px;
}
figure.vs-sp-g-main {
    width: 68% !important;
}
.vs-sp-gallery-grid .vs-sp-g-main{width: 68%;}
.vs-sp-gallery-grid figure{
	margin:0;position:relative; height: 200px;cursor:zoom-in;
	background:#e7ded0; width: 31%;
}
.vs-sp-gallery-grid img{
	width:100%;height:100%;object-fit:cover;     border-radius: 10px;
	transition:transform .5s cubic-bezier(.2,.8,.2,1);
}
.vs-sp-gallery-grid figure:hover img{transform:scale(1.06);}
.vs-sp-g-count{
	position:absolute;right:12px;bottom:12px;
	background:rgba(31,51,41,.82);color:#fff;
	font-size:12px;font-weight:600;padding:6px 12px;border-radius:20px;
	display:flex;align-items:center;gap:6px;
}

/* Lightbox */
.vs-sp-lightbox{
	display:none;position:fixed;inset:0;background:rgba(20,24,20,.94);
	z-index:100000;align-items:center;justify-content:center;flex-direction:column;
}
.vs-sp-lightbox.vs-sp-open{display:flex;}
.vs-sp-lightbox img{max-width:88vw;max-height:74vh;object-fit:contain;border-radius:2px;}
.vs-sp-lb-controls{display:flex;align-items:center;gap:28px;margin-top:22px;color:#f0e8d8;}
.vs-sp-lb-btn{
	width:42px;height:42px;border-radius:50%;border:1px solid rgba(240,232,216,.35);
	background:transparent;color:#f0e8d8;font-size:18px;cursor:pointer;
	display:flex;align-items:center;justify-content:center;transition:.2s;
}
.vs-sp-lb-btn:hover{background:rgba(240,232,216,.12);}
.vs-sp-lb-index{font-family:'Inter Tight',sans-serif;font-size:13px;letter-spacing:.05em;color:#cfc4ac;}
.vs-sp-lb-close{
	position:absolute;top:22px;right:28px;
	background:none;border:none;color:#f0e8d8;font-size:26px;cursor:pointer;
}

/* Title + price */
.vs-sp-content{max-width:1180px;margin:0 auto;padding:34px 24px 0;}
.vs-sp-title-row{
	display:flex;justify-content:space-between;align-items:flex-end;
	gap:24px;flex-wrap:wrap;border-bottom:1px solid var(--vssp-line);padding-bottom:26px;
}
.vs-sp-title-row h1{font-size:34px;color:var(--vssp-forest);max-width:640px;}
.vs-sp-address-line{
	margin-top:8px;font-size:14.5px;color:var(--vssp-stone);
	display:flex;align-items:center;gap:6px;
}
.vs-sp-price-block{text-align:right;}
.vs-sp-price{font-family:'Fraunces',serif;font-size:32px;font-weight:600;color:var(--vssp-brass-dark);}
.vs-sp-status-tag{
	display:inline-block;margin-top:6px;background:var(--vssp-forest);color:#fff;
	font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
	padding:4px 10px;border-radius:2px;
}

/* Spec strip */
.vs-sp-spec-strip{display:grid;margin-top:0;border-bottom:1px solid var(--vssp-line);}
.vs-sp-spec{position:relative;padding:22px 20px 24px;border-right:1px solid var(--vssp-line);}
.vs-sp-spec:last-child{border-right:none;}
.vs-sp-tick{position:absolute;top:0;left:20px;width:1px;height:9px;background:var(--vssp-brass);}
.vs-sp-spec-val{font-family:'Fraunces',serif;font-size:26px;font-weight:600;color:var(--vssp-ink);}
.vs-sp-spec-val small{font-size:14px;}
.vs-sp-spec-label{
	margin-top:4px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;
	color:var(--vssp-stone);font-weight:600;
}

/* Body grid */
.vs-sp-body-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:48px;padding:38px 0 10px;}
.vs-sp-section-title{
	font-size:12px;letter-spacing:.14em;text-transform:uppercase;
	color:var(--vssp-brass-dark);font-weight:700;margin-bottom:14px;
}
.vs-sp-description p{font-size:15.5px;line-height:1.75;color:#3d3c34;margin:0 0 16px;}
.vs-sp-amenities{
	display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;
	list-style:none;padding:0;margin:22px 0 0;
}
.vs-sp-amenities li{
	font-size:14px;color:var(--vssp-ink);padding:9px 0;border-bottom:1px dashed var(--vssp-line);
	display:flex;align-items:center;gap:10px;
}
.vs-sp-amenities li::before{
	content:'';width:6px;height:6px;background:var(--vssp-brass);border-radius:50%;flex:none;
}

.vs-sp-side-card{
	background:var(--vssp-white);border:1px solid var(--vssp-line);border-radius:4px;
	padding:22px;margin-bottom:20px;
}
.vs-sp-side-card .vs-sp-row{
	display:flex;justify-content:space-between;font-size:13.5px;
	padding:10px 0;border-bottom:1px solid var(--vssp-sand-deep);
}
.vs-sp-side-card .vs-sp-row:last-child{border-bottom:none;}
.vs-sp-side-card .vs-sp-row .vs-sp-k{color:var(--vssp-stone);}
.vs-sp-side-card .vs-sp-row .vs-sp-v{font-weight:600;}

/* Map */
.vs-sp-map-section{padding:14px 0 40px;}
.vs-sp-map-frame{width:100%;height:380px;border:1px solid var(--vssp-line);border-radius:4px;overflow:hidden;}
.vs-sp-map-frame iframe{width:100%;height:100%;border:0;}

/* Enquiry form */
.vs-sp-form-section{
	background:var(--vssp-forest);border-radius:6px;
	padding:44px;margin:0 0 40px;
	display:grid;grid-template-columns:1fr 1.3fr;gap:44px;
}
.vs-sp-form-copy h2{color:#fff;font-size:26px;line-height:1.3;}
.vs-sp-form-copy p{color:#c7d2c8;font-size:14px;line-height:1.6;margin-top:12px;}
.vs-sp-agent{
	margin-top:26px;padding-top:20px;border-top:1px solid rgba(255,255,255,.15);
	display:flex;align-items:center;gap:12px;
}
.vs-sp-agent-avatar{
	width:44px;height:44px;border-radius:50%;background:var(--vssp-brass);
	display:flex;align-items:center;justify-content:center;
	font-family:'Fraunces',serif;font-weight:600;color:#fff;font-size:16px;
}
.vs-sp-agent-name{color:#fff;font-size:14px;font-weight:600;}
.vs-sp-agent-role{color:#a9b7ab;font-size:12px;}

.vs-sp-form-section form{display:grid;gap:14px;}
.vs-sp-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.vs-sp-form-section label{
	display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;
	color:#c7d2c8;margin-bottom:6px;font-weight:600;
}
.vs-sp-form-section input,
.vs-sp-form-section textarea{
	width:100%;padding:12px 13px;border-radius:3px;border:1px solid rgba(255,255,255,.18);
	background:rgba(255,255,255,.06);color:#fff;font-family:'Inter',sans-serif;font-size:14px;
	outline:none;transition:.2s;
}
.vs-sp-form-section input::placeholder,
.vs-sp-form-section textarea::placeholder{color:#8fa091;}
.vs-sp-form-section input:focus,
.vs-sp-form-section textarea:focus{border-color:var(--vssp-brass);background:rgba(255,255,255,.1);}
.vs-sp-form-section textarea{resize:vertical;min-height:88px;}
.vs-sp-submit-btn{
	margin-top:4px;background:var(--vssp-brass);color:#fff;border:none;
	padding:14px 20px;border-radius:3px;font-size:14px;font-weight:700;
	letter-spacing:.03em;cursor:pointer;transition:.2s;
	font-family:'Inter Tight',sans-serif;
}
.vs-sp-submit-btn:hover{background:var(--vssp-brass-dark);}
.vs-sp-submit-btn:disabled{opacity:.6;cursor:not-allowed;}
.vs-sp-form-note{color:#8fa091;font-size:11.5px;margin-top:2px;}
.vs-sp-form-message{
	padding:12px 14px;border-radius:3px;font-size:13.5px;font-weight:600;
}
.vs-sp-form-message.vs-sp-success{background:rgba(169,129,74,.18);color:#f0e8d8;border:1px solid var(--vssp-brass);}
.vs-sp-form-message.vs-sp-error{background:rgba(200,80,80,.18);color:#f5d7d7;border:1px solid #c85050;}

@media(max-width:860px){
	.vs-sp-gallery-grid{grid-template-columns:1fr;grid-template-rows:auto;height:auto;}
	.vs-sp-gallery-grid .vs-sp-g-main{grid-row:auto;height:260px;}
	.vs-sp-gallery-grid figure{height:150px;}
	.vs-sp-gallery-grid .vs-sp-g-main img,
	.vs-sp-gallery-grid .vs-sp-g-main{height:260px;}
	.vs-sp-spec-strip{grid-template-columns:1fr 1fr !important;}
	.vs-sp-spec:nth-child(2n){border-right:none;}
	.vs-sp-spec:nth-child(-n+2){border-bottom:1px solid var(--vssp-line);}
	.vs-sp-body-grid{grid-template-columns:1fr;}
	.vs-sp-form-section{grid-template-columns:1fr;padding:28px;}
	.vs-sp-title-row{flex-direction:column;align-items:flex-start;}
	.vs-sp-price-block{text-align:left;}
	.vs-sp-form-row{grid-template-columns:1fr;}
}
.vs-sp-page :focus-visible{outline:2px solid var(--vssp-brass);outline-offset:2px;}
