/* Stable shortcode version: deliberately no Elementor hooks */
.heh-properties{display:grid;gap:28px;margin:20px 0}
.heh-columns-1{grid-template-columns:1fr}
.heh-columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.heh-columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.heh-columns-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.heh-card{background:#fff;border:1px solid #e7e7e7;border-radius:12px;overflow:hidden;box-shadow:0 5px 20px rgba(0,0,0,.06)}
.heh-card-image{display:block;aspect-ratio:4/3;background:#f2f2f2;overflow:hidden}
.heh-card-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}
.heh-card:hover .heh-card-image img{transform:scale(1.03)}
.heh-placeholder{height:100%;display:grid;place-items:center;color:#888}
.heh-card-body{padding:18px}
.heh-card h3{margin:0 0 6px;font-size:22px}
.heh-card h3 a{text-decoration:none}
.heh-location{color:#666;font-size:14px;margin-bottom:10px}
.heh-card p{color:#555;line-height:1.6}
.heh-button{display:inline-block;background:#1f6f5b;color:#fff!important;text-decoration:none;padding:11px 18px;border-radius:6px;border:0;cursor:pointer}
.heh-button:hover{opacity:.9}
.heh-no-properties{padding:24px;text-align:center;background:#f7f7f7;border-radius:10px;color:#666}
.heh-single{max-width:1100px;margin:0 auto}
.heh-single-header{margin-bottom:20px}
.heh-single-header h1{margin-bottom:5px}
.heh-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0 30px}
.heh-gallery-link{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:8px}
.heh-gallery-link:first-child{grid-column:span 2;grid-row:span 2}
.heh-gallery-link img{width:100%;height:100%;object-fit:cover;display:block}
.heh-description,.heh-amenities{margin:25px 0;line-height:1.75}
.heh-amenities{padding:20px;background:#f7f7f7;border-radius:10px}
.heh-enquiry{margin-top:35px;padding:28px;background:#fafafa;border:1px solid #e6e6e6;border-radius:12px}
.heh-enquiry h2{margin-top:0}
.heh-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.heh-form label{display:block;font-weight:600;margin-bottom:6px}
.heh-form input,.heh-form select{width:100%;box-sizing:border-box;padding:12px;border:1px solid #ccc;border-radius:6px;background:#fff}
.heh-form .heh-button{margin-top:18px}
.heh-success,.heh-error{padding:12px 15px;border-radius:6px;margin-bottom:18px}
.heh-success{background:#e8f7ee;color:#17633b}
.heh-error{background:#fdecec;color:#8a1c1c}
@media(max-width:800px){
    .heh-columns-2,.heh-columns-3,.heh-columns-4{grid-template-columns:repeat(2,minmax(0,1fr))}
    .heh-gallery{grid-template-columns:1fr 1fr}
    .heh-gallery-link:first-child{grid-column:span 2;grid-row:auto}
}
@media(max-width:600px){
    .heh-columns-2,.heh-columns-3,.heh-columns-4,.heh-form-grid{grid-template-columns:1fr}
    .heh-gallery{grid-template-columns:1fr}
    .heh-gallery-link:first-child{grid-column:auto}
}

.heh-lightbox{position:fixed;inset:0;z-index:999999;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.92);padding:40px;box-sizing:border-box}
.heh-lightbox.is-open{display:flex}
.heh-lightbox-stage{position:relative;max-width:min(92vw,1400px);max-height:90vh;display:flex;flex-direction:column;align-items:center;justify-content:center}
.heh-lightbox-image{display:block;max-width:90vw;max-height:82vh;width:auto;height:auto;object-fit:contain;border-radius:4px}
.heh-lightbox-counter{color:#fff;font-size:14px;margin-top:10px}
.heh-lightbox-close,.heh-lightbox-prev,.heh-lightbox-next{position:absolute;z-index:2;border:0;background:rgba(0,0,0,.55);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;font-size:30px;line-height:1}
.heh-lightbox-close{top:18px;right:22px;font-size:34px}
.heh-lightbox-prev{left:22px;top:50%;transform:translateY(-50%)}
.heh-lightbox-next{right:22px;top:50%;transform:translateY(-50%)}
.heh-lightbox-close:hover,.heh-lightbox-prev:hover,.heh-lightbox-next:hover{background:rgba(255,255,255,.2)}
@media(max-width:600px){.heh-lightbox{padding:20px}.heh-lightbox-image{max-width:88vw;max-height:78vh}.heh-lightbox-prev,.heh-lightbox-next{width:42px;height:42px;font-size:25px}.heh-lightbox-prev{left:8px}.heh-lightbox-next{right:8px}.heh-lightbox-close{top:10px;right:10px}}
