.bsc-villa-page{padding:30px 22px 70px}.bsc-villa-page>.entry-content{max-width:1120px;margin:auto}.bsc-villa-top{padding:0 0 22px}.bsc-villa-top>.elementor-container>.elementor-column>.elementor-widget-wrap{display:block!important;padding:0!important}.bsc-villa-top .elementor-widget{margin-bottom:8px!important}.bsc-villa-top .elementor-widget-heading h1.elementor-heading-title{font:600 clamp(30px,3vw,40px)/1.2 system-ui!important;color:#101936}.bsc-villa-top p{margin:0;color:#68737d;line-height:1.6}.bsc-villa-share{text-align:right;position:absolute!important;right:0;bottom:0;width:auto!important}.bsc-villa-share .elementor-button{background:#fff!important;border:1px solid #e4ded2;border-radius:100px;color:#101936!important;font-size:12px}
.bsc-villa-gallery{padding:0!important;border-radius:18px;overflow:hidden;position:relative}.bsc-villa-gallery>.elementor-container>.elementor-column>.elementor-widget-wrap{display:grid!important;grid-template-columns:2fr 1fr 1fr;grid-template-rows:repeat(2,225px);gap:7px!important;padding:0!important;position:relative}.bsc-villa-gallery .elementor-widget-image{width:100%!important;height:100%!important;margin:0!important;padding:0!important;min-width:0;cursor:pointer}.bsc-villa-gallery .elementor-widget-container,.bsc-villa-gallery .elementor-widget-image a{width:100%;height:100%}.bsc-villa-gallery img{display:block;width:100%!important;height:100%!important;max-height:none!important;object-fit:cover!important}.bsc-villa-gallery .elementor-widget-button,.bsc-villa-gallery .elementor-widget-shortcode{position:absolute!important;bottom:18px;right:18px;width:auto!important;margin:0!important;z-index:2}.bsc-villa-show-photos .elementor-button,.bsc-show-photos{background:white;color:#101936;border:1px solid #101936;border-radius:8px;padding:10px 15px;font:600 12px system-ui;cursor:pointer}
.bsc-villa-main{padding-top:44px}.bsc-villa-main>.elementor-container{display:flex;align-items:flex-start!important;gap:60px}.bsc-villa-main>.elementor-container>.elementor-column:first-child{width:calc(100% - 395px)!important;min-width:0}.bsc-villa-main>.elementor-container>.elementor-column:last-child{width:335px!important;flex:0 0 335px}.bsc-villa-main .elementor-widget-wrap{display:block!important;align-content:flex-start!important;gap:0!important;padding:0!important}.bsc-villa-main .elementor-widget{margin-bottom:20px!important}.bsc-villa-main .elementor-widget-heading h2.elementor-heading-title{font:600 25px/1.3 system-ui!important;color:#101936}.bsc-villa-main .elementor-widget-text-editor{font-size:15px;line-height:1.8;color:#506158}.bsc-villa-main .elementor-widget-text-editor p{margin:0 0 15px}.bsc-villa-main .elementor-widget-text-editor h3{font:600 22px system-ui;margin:25px 0 10px}.bsc-villa-main .elementor-widget-text-editor ul{display:grid;grid-template-columns:1fr 1fr;gap:14px 24px;padding-left:20px;margin:0}.bsc-villa-main .stats{font-size:13px;margin:15px 0 20px}.bsc-villa-main .bookingbox{top:105px;position:sticky;padding:23px;border-radius:15px}.bsc-villa-main>.elementor-container>.elementor-column:last-child{position:sticky;top:105px}.bsc-villa-main .bookingbox .rate{font-size:24px}.bsc-villa-main .bookingbox input,.bsc-villa-main .bookingbox select,.bsc-villa-main .bookingbox textarea{box-sizing:border-box}.bsc-villa-main .bookingbox .consent input{width:auto}.bsc-villa-main .bookingbox button{border-radius:9px}
#bsc-villa-lightbox{border:0;border-radius:16px;padding:20px;background:#101936;color:white;width:min(1100px,94vw);max-height:94vh}#bsc-villa-lightbox::backdrop{background:#000c}#bsc-villa-lightbox img{display:block;width:100%;height:68vh;object-fit:contain}#bsc-villa-lightbox .bsc-lightbox-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}#bsc-villa-lightbox button{border:1px solid #ffffff66;background:transparent;color:white;border-radius:100px;padding:9px 14px}#bsc-villa-lightbox .bsc-lightbox-controls{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:12px}
@media(max-width:950px){.bsc-villa-main>.elementor-container{gap:30px}.bsc-villa-main>.elementor-container>.elementor-column:first-child{width:calc(100% - 330px)!important}.bsc-villa-main>.elementor-container>.elementor-column:last-child{width:300px!important;flex-basis:300px}.bsc-villa-gallery>.elementor-container>.elementor-column>.elementor-widget-wrap{grid-template-rows:repeat(2,180px)}}
@media(max-width:767px){.bsc-villa-page{padding:22px 16px 50px}.bsc-villa-top{padding-bottom:16px}.bsc-villa-share{position:static!important;text-align:left;margin-top:12px}.bsc-villa-gallery>.elementor-container>.elementor-column>.elementor-widget-wrap{grid-template-columns:1fr 1fr;grid-template-rows:260px 130px 130px;gap:5px!important}.bsc-villa-main>.elementor-container{display:block!important}.bsc-villa-main>.elementor-container>.elementor-column:first-child,.bsc-villa-main>.elementor-container>.elementor-column:last-child{width:100%!important;position:static!important}.bsc-villa-main .bookingbox{position:static;margin-top:25px}.bsc-villa-main .elementor-widget-text-editor ul{grid-template-columns:1fr}.bsc-villa-main .stats{gap:10px}.bsc-villa-top .elementor-widget-heading h1.elementor-heading-title{font-size:30px!important}}
/* v1.5 dedicated Airbnb-style villa sections; shared site layouts are unchanged. */
.bsc-villa-page{color:#222;--bsc-sticky-top:76px}.bsc-villa-page h1,.bsc-villa-page h2,.bsc-villa-page h3{font-family:system-ui,-apple-system,sans-serif}.bsc-villa-page .elementor-heading-title{color:#222!important}.bsc-villa-tabs{position:sticky!important;top:var(--bsc-sticky-top);z-index:25;background:#fff;border-bottom:1px solid #ddd;margin-top:24px}.bsc-villa-tabs>.elementor-container>.elementor-column>.elementor-widget-wrap{display:flex!important;align-items:center;flex-wrap:nowrap!important;gap:24px;padding:16px 0!important}.bsc-villa-tabs .elementor-widget-button{width:auto!important;margin:0!important}.bsc-villa-tabs .elementor-button{background:transparent!important;color:#222!important;border:0;padding:10px 0;border-radius:0;font:600 14px system-ui;white-space:nowrap}.bsc-villa-tabs .elementor-widget-button:last-child{margin-left:auto!important}.bsc-villa-tabs .elementor-widget-button:last-child .elementor-button{background:#d75b4b!important;color:#fff!important;border-radius:12px;padding:12px 18px}.bsc-villa-page [id^=villa-],.bsc-villa-page #stay-inquiry{scroll-margin-top:calc(var(--bsc-sticky-top) + 85px)}
.bsc-villa-main>.elementor-container>.elementor-column:last-child{top:calc(var(--bsc-sticky-top) + 95px)}.bsc-villa-main .elementor-inner-section{padding:30px 0!important;border-top:1px solid #ddd;margin:0!important}.bsc-villa-main .elementor-inner-section>.elementor-container>.elementor-column>.elementor-widget-wrap{padding:0!important}.bsc-villa-main .elementor-widget-text-editor{color:#444}.bsc-villa-main .bsc-villa-features ul{display:block;margin:0;padding-left:20px}.bsc-villa-features li{margin:10px 0}.bsc-villa-host .elementor-image-box-wrapper{display:flex!important;text-align:left!important;gap:18px;align-items:center}.bsc-villa-host .elementor-image-box-img{width:52px!important;min-width:52px;margin:0!important}.bsc-villa-host img{border-radius:50%;width:52px;height:52px;object-fit:contain;border:1px solid #eee;padding:5px}.bsc-villa-host h3{font:600 19px/1.4 system-ui;margin:0 0 5px}.bsc-villa-host p{font:14px/1.5 system-ui;color:#717171;margin:0}.bsc-villa-main .bsc-villa-host .elementor-widget,.bsc-villa-main .bsc-villa-features .elementor-widget{margin-bottom:0!important}
.bsc-villa-main .bsc-bedroom-cards{border:0!important;padding:0!important}.bsc-bedroom-cards>.elementor-container{display:flex;gap:20px}.bsc-bedroom-card{min-width:0}.bsc-bedroom-card img{width:100%;height:210px;object-fit:cover;border-radius:12px}.bsc-bedroom-card h3{font:600 18px/1.4 system-ui}.bsc-villa-main .bsc-bedroom-card .elementor-widget{margin-bottom:10px!important}body:not(.elementor-editor-active) .bsc-empty-bedroom{display:none!important}
.bsc-villa-reviews,.bsc-villa-location{border-top:1px solid #ddd;margin-top:36px;padding:36px 0}.bsc-villa-reviews>.elementor-container>.elementor-column>.elementor-widget-wrap,.bsc-villa-location>.elementor-container>.elementor-column>.elementor-widget-wrap{padding:0!important;display:block!important}.bsc-villa-reviews h2,.bsc-villa-location h2{font:600 27px/1.4 system-ui}.bsc-villa-reviews .elementor-widget-heading,.bsc-villa-location .elementor-widget-heading{margin-bottom:22px}.bsc-villa-reviews .elementor-widget-text-editor,.bsc-villa-location .elementor-widget-text-editor{color:#717171;line-height:1.7}.bsc-review-grid>.elementor-container{display:flex;gap:50px}.bsc-review-grid .elementor-widget-wrap{display:block!important;padding:0!important}.bsc-villa-testimonial{margin:20px 0 28px!important;padding-bottom:24px;border-bottom:1px solid #eee}.bsc-villa-testimonial .elementor-testimonial-content{font:15px/1.8 system-ui;color:#444}.bsc-villa-testimonial .elementor-testimonial-name{font:600 15px system-ui;color:#222}.bsc-villa-testimonial .elementor-testimonial-job{font:13px system-ui;color:#717171}.bsc-villa-testimonial img{border-radius:50%;width:48px;height:48px;object-fit:cover}body:not(.elementor-editor-active) .bsc-empty-testimonial{display:none!important}body.elementor-editor-active .bsc-empty-testimonial{min-height:90px;border:1px dashed #aaa;padding:20px}body.elementor-editor-active .bsc-empty-testimonial:before{content:'Click to add a verified guest testimonial';color:#777;font:13px system-ui}.bsc-review-empty[hidden]{display:none!important}.bsc-villa-map{border-radius:18px;overflow:hidden}.bsc-villa-map iframe{display:block;width:100%;border:0}
.bsc-calendar{font:14px/1.5 system-ui;color:#717171}.bsc-calendar-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:20px 0}.bsc-calendar-controls button{border:1px solid #ddd;border-radius:50%;width:32px;height:32px;background:white}.bsc-calendar-months{display:grid;grid-template-columns:1fr 1fr;gap:20px}.bsc-calendar-month h3{font:600 16px/1.5 system-ui;text-align:center;color:#222;margin:12px 0 20px}.bsc-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;text-align:center}.bsc-calendar-grid span{font-size:11px;padding:8px 0}.bsc-calendar-grid button{border:0;background:white;color:#222;aspect-ratio:1;border-radius:50%;font-size:13px;padding:0}.bsc-calendar-grid button:disabled{color:#aaa;text-decoration:line-through;cursor:default}.bsc-calendar-grid button.selected{background:#222;color:#fff}.bsc-calendar-grid button.in-range{background:#f3f3f3;border-radius:4px}.bsc-calendar-grid button:not(:disabled):hover{outline:1px solid #222}.bsc-calendar [data-cal-clear]{border:0;background:white;color:#222;text-decoration:underline;font:600 13px system-ui;margin:18px 0}.bsc-calendar [data-cal-notice]{color:#a23226}.bsc-calendar button:disabled{opacity:.5}.bsc-villa-page button:focus-visible,.bsc-villa-page a:focus-visible{outline:2px solid #d75b4b;outline-offset:4px}
@media(max-width:767px){.bsc-villa-tabs>.elementor-container>.elementor-column>.elementor-widget-wrap{gap:20px;overflow-x:auto;padding:12px 0!important}.bsc-villa-tabs .elementor-widget-button:last-child{display:none}.bsc-villa-main .elementor-inner-section{padding:25px 0!important}.bsc-calendar-months{grid-template-columns:1fr}.bsc-calendar-month:nth-child(2){display:none}.bsc-calendar-grid button{max-height:46px}.bsc-review-grid>.elementor-container{display:block}.bsc-review-grid .elementor-column{width:100%!important}.bsc-bedroom-cards>.elementor-container{display:block}.bsc-bedroom-card{width:100%!important;margin-bottom:20px}.bsc-villa-map iframe{max-height:330px}}

/* 1.5.1: explicit widget classes avoid Elementor editor overlay child offsets. */
.bsc-villa-gallery>.elementor-container>.elementor-column>.elementor-widget-wrap{grid-template-areas:"hero photo2 photo3" "hero photo4 photo5"}
.bsc-villa-gallery .elementor-widget-image.bsc-gallery-photo-1{grid-area:hero!important;display:block!important}
.bsc-villa-gallery .elementor-widget-image.bsc-gallery-photo-2{grid-area:photo2!important;display:block!important}
.bsc-villa-gallery .elementor-widget-image.bsc-gallery-photo-3{grid-area:photo3!important;display:block!important}
.bsc-villa-gallery .elementor-widget-image.bsc-gallery-photo-4{grid-area:photo4!important;display:block!important}
.bsc-villa-gallery .elementor-widget-image.bsc-gallery-photo-5{grid-area:photo5!important;display:block!important}
.bsc-villa-gallery .bsc-gallery-photo-1 .elementor-widget-container{background:#f3f0eb url('../images/gallery-main-placeholder.svg') center/cover no-repeat;min-height:100%}
@media(max-width:767px){.bsc-villa-gallery>.elementor-container>.elementor-column>.elementor-widget-wrap{grid-template-areas:"hero hero" "photo2 photo3" "photo4 photo5"}}
