/* Booking Engine — premium single stay experience. Scoped to .be-single-stay. */
.be-single-stay{--bes-ink:#1c2a27;--bes-muted:#6e7972;--bes-line:#e4e8e2;--bes-paper:#fbfaf6;--bes-green:#254f42;--bes-green-2:#426b58;--bes-gold:#c7a76a;color:var(--bes-ink);background:#fbfaf7;font-family:inherit;font-size:15px;line-height:1.65;padding:24px 0 72px;overflow:hidden}
.be-single-stay *{box-sizing:border-box}
.be-single-stay a{transition:color .2s ease,background .2s ease,transform .2s ease}
.be-single-shell{width:min(1240px,calc(100% - 44px));margin:0 auto}
.be-single-breadcrumbs{display:flex;align-items:center;gap:10px;color:#929b93;font-size:12px;margin:0 0 25px;white-space:nowrap;overflow:hidden}
.be-single-breadcrumbs a{color:#65736a;text-decoration:none}.be-single-breadcrumbs a:hover{color:var(--bes-green)}.be-single-breadcrumbs span:last-child{overflow:hidden;text-overflow:ellipsis}
.be-single-header{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px}
.be-single-title-wrap{min-width:0}.be-single-eyebrow,.be-single-section-kicker{display:flex;align-items:center;gap:10px;color:var(--bes-green-2);font-size:10px;line-height:1.4;font-weight:800;letter-spacing:.19em}
.be-single-eyebrow i{width:4px;height:4px;border-radius:50%;background:var(--bes-gold);display:inline-block}
.be-single-header h1{font-size:clamp(34px,4.4vw,58px);line-height:1.04;letter-spacing:-.055em;font-weight:600;margin:12px 0 11px;color:var(--bes-ink);max-width:850px}
.be-single-location{display:flex;align-items:center;gap:8px;color:#65736a;font-size:14px;margin:0}.be-single-location span{font-size:20px;color:var(--bes-green)}
.be-single-header-actions{flex-shrink:0;padding-bottom:3px}.be-single-share{display:inline-flex;align-items:center;gap:9px;padding:11px 15px;border:1px solid #dfe5dc;border-radius:999px;color:var(--bes-ink);text-decoration:none;font-size:12px;font-weight:700;background:#fff}.be-single-share span{font-size:16px;color:var(--bes-green)}.be-single-share:hover{border-color:var(--bes-green);transform:translateY(-1px)}
.be-single-gallery{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.85fr);gap:12px;height:clamp(330px,40vw,510px);margin-bottom:55px}
.be-single-gallery-main,.be-single-gallery-tile{position:relative;overflow:hidden;border-radius:18px;background:#dce5dc;min-width:0;min-height:0}
.be-single-gallery-main>img{display:block;width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .7s cubic-bezier(.2,.65,.3,1)}.be-single-gallery-main:hover>img,.be-single-gallery-tile:hover img{transform:scale(1.035)}
.be-single-photo-caption{position:absolute;left:20px;bottom:20px;color:#fff;font-size:11px;letter-spacing:.09em;text-transform:uppercase;font-weight:700;padding:9px 13px;border:1px solid rgba(255,255,255,.28);background:rgba(22,39,31,.25);backdrop-filter:blur(10px);border-radius:999px}
.be-single-gallery-side{display:grid;grid-template-rows:1fr 1fr auto;gap:12px;min-height:0}.be-single-gallery-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.65,.3,1)}
.be-single-gallery-note{display:flex;align-items:center;gap:12px;padding:14px 17px;border-radius:14px;background:#e9eee6;min-height:74px}.be-single-gallery-note-icon{width:35px;height:35px;display:grid;place-items:center;border-radius:50%;background:#fff;color:var(--bes-green);font-size:18px;flex-shrink:0}.be-single-gallery-note strong,.be-single-gallery-note small{display:block}.be-single-gallery-note strong{font-size:12px;line-height:1.4}.be-single-gallery-note small{font-size:10px;color:#788379;margin-top:2px}
.be-single-placeholder-a{background:radial-gradient(ellipse at 72% 18%,#e7d8b6 0,transparent 25%),linear-gradient(135deg,#8da79a,#476c5d 55%,#243e36)}.be-single-placeholder-b{background:linear-gradient(145deg,#e6dfca,#a6b9a3 50%,#617b6d)}.be-single-placeholder-c{background:linear-gradient(145deg,#b8c9c4,#668678 55%,#334e43)}.be-single-placeholder-b>span,.be-single-placeholder-c>span{position:absolute;left:17px;bottom:14px;color:#fff;font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;text-shadow:0 1px 8px #263b31}.be-single-placeholder-copy{position:absolute;left:clamp(22px,5vw,58px);bottom:clamp(25px,5vw,58px);max-width:420px;color:white;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.be-single-placeholder-copy span{font-size:10px;letter-spacing:.22em;font-weight:800}.be-single-placeholder-copy strong{font-size:clamp(32px,4vw,55px);line-height:1.04;letter-spacing:-.04em}.be-single-placeholder-copy small{max-width:300px;color:rgba(255,255,255,.8);font-size:12px}
.be-single-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,444px);gap:clamp(34px,6vw,82px);align-items:start}.be-single-main-column{min-width:0}.be-single-intro{padding-bottom:40px;border-bottom:1px solid var(--bes-line)}.be-single-intro-grid{display:grid;grid-template-columns:minmax(0,1fr) 100px;gap:24px;align-items:center;margin-top:15px}.be-single-intro h2,.be-single-section h2{font-size:clamp(27px,3vw,38px);line-height:1.13;letter-spacing:-.045em;font-weight:600;color:var(--bes-ink);margin:0}.be-single-lead{font-size:17px;line-height:1.65;color:#596a60;max-width:650px;margin:14px 0 0}.be-single-intro-mark{height:92px;width:92px;border-radius:50%;border:1px solid #c9d6c8;display:flex;flex-direction:column;justify-content:center;align-items:center;transform:rotate(8deg);color:var(--bes-green)}.be-single-intro-mark span{font-size:9px;letter-spacing:.2em;font-weight:800}.be-single-intro-mark strong{font-family:Georgia,serif;font-size:24px;font-weight:400;font-style:italic;line-height:1.1}.be-single-intro-mark i{width:21px;height:1px;background:var(--bes-gold);margin-top:5px}.be-single-description{margin-top:25px;color:#66736a;font-size:14px;line-height:1.9}.be-single-description>*:first-child{margin-top:0}.be-single-description>*:last-child{margin-bottom:0}.be-single-description h2,.be-single-description h3{color:var(--bes-ink);letter-spacing:-.02em;line-height:1.25;margin-top:28px}.be-single-description img{max-width:100%;height:auto;border-radius:12px}
.be-single-section{padding:39px 0;border-bottom:1px solid var(--bes-line)}.be-single-section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:23px}.be-single-section-heading h2{margin-top:9px}.be-single-heading-symbol{font-size:30px;color:#b5c4b2}.be-single-amenities-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.be-single-amenity{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid #e9ece6;color:#3f5147;font-size:13px}.be-single-amenity-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#edf1e9;color:var(--bes-green);font-size:17px;flex-shrink:0}
.be-single-inclusion-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.be-single-inclusion-card{background:#eef2eb;border:1px solid #e2e9df;border-radius:15px;padding:19px}.be-single-inclusion-card h3{font-size:13px;line-height:1.4;margin:0 0 12px;color:var(--bes-green);font-weight:750}.be-single-inclusion-card h3 span{display:inline-grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#dce8d9;margin-right:7px}.be-single-inclusion-card ul{list-style:none;margin:0;padding:0}.be-single-inclusion-card li{position:relative;padding:7px 0 7px 15px;color:#66736a;font-size:12px;line-height:1.5}.be-single-inclusion-card li:before{content:"";position:absolute;left:0;top:14px;width:4px;height:4px;border-radius:50%;background:var(--bes-gold)}.be-single-not-included{background:#f5f2eb;border-color:#eee7d9}.be-single-not-included h3{color:#776444}.be-single-not-included h3 span{background:#ebe2cf}
.be-single-experience{position:relative;overflow:hidden;margin:35px 0 0;padding:33px 29px;border:0;border-radius:18px;background:#244b3e;color:#fff;min-height:280px}.be-single-experience .be-single-section-kicker{color:#c7d7c7}.be-single-experience h2{position:relative;z-index:1;color:#fff;font-size:clamp(33px,4vw,46px);margin:13px 0}.be-single-experience h2 em{font-family:Georgia,serif;font-weight:400;color:#d6c398}.be-single-experience p{position:relative;z-index:1;max-width:300px;color:#d5e0d7;font-size:12px;line-height:1.8}.be-single-cta{position:relative;z-index:1;display:inline-flex;gap:14px;align-items:center;margin-top:8px;padding:11px 15px;border-radius:999px;background:#f4f1e7;color:#254b3e;text-decoration:none;font-size:12px;font-weight:800}.be-single-cta:hover{background:#fff;transform:translateY(-2px)}.be-single-experience-orb{position:absolute;width:220px;height:220px;border:1px solid rgba(221,225,197,.24);border-radius:50%;right:-50px;bottom:-45px}.be-single-experience-orb:before,.be-single-experience-orb:after{content:"";position:absolute;inset:22px;border:1px solid rgba(221,225,197,.24);border-radius:50%}.be-single-experience-orb:after{inset:45px}.be-single-experience-orb span,.be-single-experience-orb i,.be-single-experience-orb b{position:absolute;display:block;background:#d5c18e;border-radius:100% 0 100% 0;transform:rotate(35deg)}.be-single-experience-orb span{width:36px;height:72px;top:25px;left:60px}.be-single-experience-orb i{width:28px;height:58px;top:66px;left:104px;transform:rotate(70deg)}.be-single-experience-orb b{width:22px;height:44px;top:105px;left:66px;transform:rotate(5deg)}
.be-single-details .be-single-section-heading{margin-bottom:12px}.be-single-detail-row{display:flex;gap:14px;padding:17px 0;border-bottom:1px solid #e9ece6}.be-single-detail-row:last-child{border-bottom:0}.be-single-detail-icon{width:36px;height:36px;flex-shrink:0;display:grid;place-items:center;background:#edf1e9;border-radius:10px;color:var(--bes-green);font-size:18px}.be-single-detail-row strong{font-size:13px;color:var(--bes-ink)}.be-single-detail-row p{font-size:12px;color:#788178;margin:3px 0 0;line-height:1.7}
.be-single-booking-column{position:sticky;top:25px;min-width:0}.be-single-booking-card{overflow:hidden;border:1px solid #e2e8df;border-radius:18px;background:#fff;box-shadow:0 18px 45px rgba(30,53,41,.07)}.be-single-booking-top{padding:23px 22px 17px;background:#f0f3ec;border-bottom:1px solid #e3e9e0}.be-single-booking-label{display:block;color:var(--bes-green-2);font-size:9px;letter-spacing:.17em;font-weight:800}.be-single-price-line{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap;margin-top:8px}.be-single-price-line strong{font-size:28px;letter-spacing:-.04em;line-height:1.2;color:var(--bes-ink)}.be-single-price-line strong .woocommerce-Price-currencySymbol{font-size:.8em}.be-single-price-line>span{font-size:12px;color:#778177}.be-single-booking-top p{font-size:11px;line-height:1.6;color:#7b857c;margin:8px 0 0}.be-single-booking-form{padding:20px 18px 15px}.be-single-booking-form .be-wrapper{padding:0!important;margin:0!important;max-width:none!important;background:transparent!important;box-shadow:none!important;border:0!important;border-radius:0!important}.be-single-booking-form .be-wrapper h3{font-size:13px}.be-single-booking-form .be-date-row{gap:8px}.be-single-booking-form .be-date-input-container{min-width:0}.be-single-booking-form #book-now{width:100%;min-height:48px;border:0;border-radius:10px;background:var(--bes-green);color:#fff;font-weight:750;letter-spacing:.01em;box-shadow:none;transition:background .2s ease,transform .2s ease}.be-single-booking-form #book-now:hover{background:#173b30;transform:translateY(-1px)}.be-single-booking-form .be-total-card{border-radius:12px}.be-single-trust{display:flex;align-items:center;gap:9px;margin:0 18px;padding:13px 0;border-top:1px solid #edf0ea}.be-single-trust>span{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#e8f0e5;color:var(--bes-green);font-size:12px;font-weight:800}.be-single-trust p{margin:0;color:#67756b;font-size:11px}.be-single-booking-footnote{padding:0 18px 18px;color:#8b948b;font-size:10px;line-height:1.65}.be-single-side-note{display:flex;gap:12px;align-items:flex-start;padding:19px 7px;color:#7a857a}.be-single-side-note>span{color:var(--bes-gold);font-size:21px}.be-single-side-note p{font-size:11px;line-height:1.7;margin:0}.be-single-side-note strong{color:#344b3c;font-size:12px}
.be-single-bottom-cta{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:54px;padding:29px 32px;border-radius:18px;background:#eef1e9;border:1px solid #e2e8dd}.be-single-bottom-cta h2{font-size:clamp(23px,3vw,34px);line-height:1.2;letter-spacing:-.04em;font-weight:600;margin:8px 0 0;color:var(--bes-ink)}.be-single-bottom-cta>a{display:inline-flex;align-items:center;gap:15px;white-space:nowrap;padding:13px 17px;background:var(--bes-green);border-radius:999px;color:#fff;text-decoration:none;font-size:12px;font-weight:750}.be-single-bottom-cta>a:hover{background:#173b30;transform:translateY(-2px)}
/* booking form component adjustments only while embedded in the single stay card */
.be-single-booking-form .be-date-input-container{cursor:pointer}.be-single-booking-form .be-main-unit-card,.be-single-booking-form .be-box,.be-single-booking-form .be-total-card{margin-left:0!important;margin-right:0!important}.be-single-booking-form .be-wrapper input,.be-single-booking-form .be-wrapper select{max-width:100%}
@media(min-width:1200px){.be-single-booking-column{top:28px}}
@media(max-width:980px){.be-single-layout{grid-template-columns:minmax(0,1fr) minmax(0,400px);gap:30px}.be-single-gallery{height:390px;grid-template-columns:minmax(0,1.35fr) minmax(230px,.8fr)}.be-single-intro-grid{grid-template-columns:minmax(0,1fr) 76px}.be-single-intro-mark{width:74px;height:74px}.be-single-intro-mark strong{font-size:21px}}
@media(max-width:850px){.be-single-layout{grid-template-columns:minmax(0,1fr);gap:24px}.be-single-booking-column{position:static;top:auto;max-width:100%}}
@media(max-width:760px){.be-single-stay{padding-top:18px}.be-single-shell{width:min(100% - 30px,620px)}.be-single-breadcrumbs{margin-bottom:19px}.be-single-header{align-items:flex-start;margin-bottom:19px}.be-single-header h1{font-size:clamp(32px,8vw,46px)}.be-single-header-actions{display:none}.be-single-gallery{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:260px 105px;height:auto;gap:9px;margin-bottom:35px}.be-single-gallery-main{grid-column:1/-1;grid-row:1;border-radius:14px}.be-single-gallery-side{display:contents}.be-single-gallery-side .be-single-gallery-tile{border-radius:12px}.be-single-gallery-side .be-single-gallery-tile:first-child{grid-column:1;grid-row:2}.be-single-gallery-side .be-single-gallery-tile:nth-child(2){grid-column:2;grid-row:2}.be-single-gallery-note{display:none}.be-single-layout{grid-template-columns:1fr;gap:24px}.be-single-main-column{display:contents}.be-single-intro{order:1}.be-single-booking-column{position:static;order:2}.be-single-section{order:3;padding:31px 0}.be-single-experience{order:4;margin-top:0;padding:28px 23px;min-height:260px}.be-single-details{order:5}.be-single-booking-card{box-shadow:0 10px 28px rgba(30,53,41,.06)}.be-single-booking-top{padding:20px}.be-single-booking-form{padding:17px}.be-single-trust{margin:0 17px}.be-single-bottom-cta{margin-top:32px;padding:23px;align-items:flex-start;flex-direction:column}.be-single-bottom-cta>a{align-self:flex-start}.be-single-intro-grid{grid-template-columns:minmax(0,1fr) 65px;gap:12px}.be-single-intro-mark{width:63px;height:63px}.be-single-intro-mark span{font-size:7px}.be-single-intro-mark strong{font-size:18px}.be-single-intro-mark i{margin-top:3px}.be-single-intro h2,.be-single-section h2{font-size:30px}.be-single-lead{font-size:15px}.be-single-description{font-size:13px;margin-top:18px}.be-single-amenities-grid{gap:0 12px}.be-single-amenity{font-size:12px;gap:8px}.be-single-amenity-icon{width:31px;height:31px;border-radius:9px}.be-single-inclusion-grid{grid-template-columns:1fr}.be-single-inclusion-card{padding:16px}}
@media(max-width:420px){.be-single-shell{width:calc(100% - 24px)}.be-single-eyebrow,.be-single-section-kicker{font-size:9px;letter-spacing:.14em}.be-single-header h1{font-size:32px}.be-single-gallery{grid-template-rows:225px 88px}.be-single-photo-caption{left:12px;bottom:12px;font-size:9px}.be-single-amenities-grid{grid-template-columns:1fr}.be-single-intro-grid{grid-template-columns:1fr}.be-single-intro-mark{display:none}.be-single-booking-form .be-date-row{flex-direction:column}.be-single-bottom-cta h2{font-size:26px}}
@media(prefers-reduced-motion:reduce){.be-single-stay *,.be-single-stay *:before,.be-single-stay *:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* v3.3 compact, page-theme booking form: inherit site typography and use the stay palette */
.be-single-stay .be-single-booking-form .be-wrapper,
.be-single-stay .be-single-booking-form .be-wrapper *{
  font-family:inherit!important;
  letter-spacing:normal!important;
  box-sizing:border-box!important;
}
.be-single-stay .be-single-booking-form .be-wrapper{
  gap:8px!important;padding:0!important;background:transparent!important;color:var(--bes-ink)!important;font-size:13px!important;line-height:1.4!important;
}
.be-single-stay .be-single-booking-form .be-wrapper h3,
.be-single-stay .be-single-booking-form .be-wrapper h4{font-size:13px!important;font-weight:700!important;line-height:1.35!important;color:var(--bes-ink)!important;margin:0 0 5px!important}
.be-single-stay .be-single-booking-form .be-date-row{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;margin:0!important}
.be-single-stay .be-single-booking-form .be-date-input-container{min-width:0!important;padding:9px 10px!important;border:1px solid #dfe6dc!important;border-radius:8px!important;background:#fff!important;color:var(--bes-ink)!important;min-height:39px!important}
.be-single-stay .be-single-booking-form .be-date-field-wrapper{gap:5px!important}
.be-single-stay .be-single-booking-form .be-date-field-wrapper input{font-family:inherit!important;font-size:12px!important;line-height:1.3!important;font-weight:600!important;color:var(--bes-ink)!important;padding:0!important;min-height:18px!important;outline:none!important}
.be-single-stay .be-single-booking-form .be-date-field-wrapper input::placeholder{color:#7b857c!important;opacity:1!important}
.be-single-stay .be-single-booking-form .be-calendar-icon{display:flex!important;align-items:center!important;flex-shrink:0!important}
.be-single-stay .be-single-booking-form .be-calendar-icon svg{width:16px!important;height:16px!important}
.be-single-stay .be-single-booking-form .be-discount{font-size:12px!important;line-height:1.45!important;padding:7px 8px!important;margin:0!important;border-radius:7px!important;background:#f1f5ee!important;border:1px solid #dfe8db!important;color:var(--bes-green)!important;gap:5px!important}
.be-single-stay .be-single-booking-form #tent-suggestion{font-size:12px!important;line-height:1.4!important;margin:0!important;color:var(--bes-green)!important}
.be-single-stay .be-single-booking-form .be-main-unit-card{padding:7px 9px!important;border-radius:8px!important;border-color:#e2e8df!important;background:#fff!important;min-height:39px!important}
.be-single-stay .be-single-booking-form .be-unit-label{font-size:12px!important;font-weight:650!important;color:var(--bes-ink)!important}
.be-single-stay .be-single-booking-form .be-counter-ui{width:76px!important;min-width:76px!important;max-width:76px!important;height:25px!important;padding:2px!important;gap:3px!important;border-radius:7px!important;background:#f1f4ef!important}
.be-single-stay .be-single-booking-form .be-counter-ui button{width:20px!important;min-width:20px!important;max-width:20px!important;height:20px!important;min-height:20px!important;max-height:20px!important;border:1px solid #d8e1d5!important;border-radius:5px!important;background:#fff!important;color:var(--bes-green)!important;font-size:14px!important;line-height:1!important}
.be-single-stay .be-single-booking-form .be-counter-ui input{width:20px!important;height:20px!important;font-size:12px!important;color:var(--bes-ink)!important}
.be-single-stay .be-single-booking-form .be-card{padding:9px!important;border-radius:9px!important;border-color:#e3e9e0!important;background:#fff!important}
.be-single-stay .be-single-booking-form .be-card-header{margin-bottom:7px!important}
.be-single-stay .be-single-booking-form .be-card-header h4{font-size:13px!important}
.be-single-stay .be-single-booking-form .be-capacity{font-size:11px!important;padding:3px 6px!important;background:#eef3ea!important;color:var(--bes-green)!important}
.be-single-stay .be-single-booking-form .be-guest-row{gap:6px!important}
.be-single-stay .be-single-booking-form .be-guest{padding:7px 8px!important;gap:5px!important;border-color:#e5eae2!important;border-radius:7px!important;background:#fbfcf9!important}
.be-single-stay .be-single-booking-form .be-guest span{font-size:12px!important;line-height:1.35!important;color:#526157!important}
.be-single-stay .be-single-booking-form .be-box{padding:9px!important;border:1px solid #e3e9e0!important;border-radius:9px!important;background:#fff!important}
.be-single-stay .be-single-booking-form .be-box h3{font-size:13px!important;margin:0 0 6px!important}
.be-single-stay .be-single-booking-form .be-checkbox-item,
.be-single-stay .be-single-booking-form .be-radio-item{font-size:12px!important;line-height:1.45!important;gap:7px!important;margin:0 0 5px!important;color:#526157!important}
.be-single-stay .be-single-booking-form .be-checkbox-item:last-child,
.be-single-stay .be-single-booking-form .be-radio-item:last-child{margin-bottom:0!important}
.be-single-stay .be-single-booking-form .be-checkbox-item input[type=checkbox],
.be-single-stay .be-single-booking-form .be-radio-item input[type=radio]{width:13px!important;height:13px!important;min-width:13px!important;accent-color:var(--bes-green)!important}
.be-single-stay .be-single-booking-form .be-summary-row{font-size:12px!important;line-height:1.45!important;margin:0 0 4px!important;color:#5e6b61!important}
.be-single-stay .be-single-booking-form .be-total-card{padding:10px!important;gap:8px!important;border:1px solid #dfe7db!important;border-radius:10px!important;background:#f4f6f0!important;align-items:center!important}
.be-single-stay .be-single-booking-form .be-saved-pill{font-size:11px!important;line-height:1.35!important;padding:4px 7px!important;border-radius:6px!important;background:#e4eddf!important;color:var(--bes-green)!important;white-space:normal!important}
.be-single-stay .be-single-booking-form .be-total-label{font-size:12px!important;color:#657267!important}
.be-single-stay .be-single-booking-form .be-grand-total{font-size:23px!important;line-height:1.15!important;font-weight:750!important;color:var(--bes-ink)!important;letter-spacing:-.04em!important}
.be-single-stay .be-single-booking-form .be-balance-row{font-size:11px!important;line-height:1.4!important;color:#6d786e!important;margin-top:4px!important}
.be-single-stay .be-single-booking-form #book-now{width:100%!important;min-height:40px!important;padding:10px 14px!important;border:1px solid var(--bes-green)!important;border-radius:8px!important;background:var(--bes-green)!important;color:#fff!important;font-family:inherit!important;font-size:13px!important;font-weight:700!important;line-height:1.3!important;letter-spacing:.01em!important;box-shadow:none!important}
.be-single-stay .be-single-booking-form #book-now:hover{background:#173b30!important;border-color:#173b30!important}
.be-single-stay .be-single-booking-form .be-wrapper p,
.be-single-stay .be-single-booking-form .be-wrapper span{line-height:1.4!important}
@media(max-width:420px){.be-single-stay .be-single-booking-form .be-date-row{grid-template-columns:1fr!important}.be-single-stay .be-single-booking-form .be-date-input-container{min-height:37px!important}}

/* v3.4 visual template controls */
.be-single-stay{background:var(--bes-page-bg,#fbfaf7);font-family:var(--bes-font-family,inherit);font-size:var(--bes-base-font,15px)}
.be-single-shell{width:min(var(--bes-content-width,1240px),calc(100% - 44px))}
.be-single-layout{grid-template-columns:minmax(0,1fr) var(--bes-booking-width,355px);gap:var(--bes-column-gap,64px)}
.be-single-section{padding-top:var(--bes-section-gap,39px);padding-bottom:var(--bes-section-gap,39px)}
.be-single-booking-card{background:var(--bes-card-bg,#fff);border-color:var(--bes-line,#e4e8e2)}
.be-single-stay .be-builder-widget-element{box-sizing:border-box;order:var(--be-widget-order,0)}
.be-single-stay .be-builder-widget-element p,.be-single-stay .be-builder-widget-element li,.be-single-stay .be-builder-widget-element .be-single-amenity{font-size:var(--be-widget-font-size,inherit);color:var(--be-widget-text-color,inherit)!important}.be-single-stay .be-builder-widget-element h1,.be-single-stay .be-builder-widget-element h2,.be-single-stay .be-builder-widget-element h3,.be-single-stay .be-builder-widget-element h4{color:var(--be-widget-heading-color,inherit)!important}
.be-single-stay .be-single-main-column{display:flex;flex-direction:column;min-width:0}
.be-single-stay .be-builder-widget-element[data-be-widget] { --be-widget-font-size: inherit; }
.be-single-stay .be-single-booking-column[data-be-widget="booking_form"] .be-single-booking-card{background:var(--be-widget-background-color,var(--bes-card-bg,#fff));border-color:var(--be-widget-border-color,var(--bes-line,#e4e8e2));border-width:var(--be-widget-border-width,1px);border-radius:var(--be-widget-radius,16px);box-shadow:var(--be-widget-shadow,0 18px 50px rgba(29,54,39,.08))}
.be-single-stay .be-single-experience .be-single-section-kicker{color:#c7d7c7}
.be-single-stay .be-single-bottom-cta{background:var(--bes-card-bg,#eef2eb);border:1px solid var(--bes-line,#e4e8e2)}
@media(max-width:760px){.be-single-stay .be-single-main-column{display:flex;flex-direction:column}.be-single-layout{grid-template-columns:1fr;gap:24px}}

/* v4.0.0: editable stay-story cards */
.be-single-story-section{width:100%;}
.be-single-story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:24px;}
.be-single-story-card{overflow:hidden;min-width:0;border:1px solid #e6e9e3;border-radius:16px;background:#fff;box-shadow:0 8px 28px rgba(24,42,32,.055);transition:transform .22s ease,box-shadow .22s ease;}
.be-single-story-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(24,42,32,.10);}
.be-single-story-image{height:220px;overflow:hidden;background:linear-gradient(135deg,#e5ece4,#f4eee3);}
.be-single-story-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease;}
.be-single-story-card:hover .be-single-story-image img{transform:scale(1.04);}
.be-single-story-placeholder{display:grid;place-items:center;color:#476653;font-size:28px;}
.be-single-story-copy{padding:20px 20px 22px;}
.be-single-story-copy h3{margin:0 0 8px;font-size:19px;line-height:1.3;color:#1c2a27;}
.be-single-story-copy p{margin:0;color:#66736a;font-size:14px;line-height:1.7;}
.be-ew-story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:20px;}
.be-ew-story-card{overflow:hidden;border:1px solid #e4e8e2;border-radius:14px;background:#fff;}
.be-ew-story-card img{display:block;width:100%;height:210px;object-fit:cover;}
.be-ew-story-card>div{padding:18px;}
.be-ew-story-card h3{margin:0 0 8px;font-size:18px;}
.be-ew-story-card p{margin:0;line-height:1.65;}
@media(max-width:767px){.be-single-story-grid,.be-ew-story-grid{grid-template-columns:1fr;gap:14px}.be-single-story-image,.be-ew-story-card img{height:220px}.be-single-story-copy{padding:16px}}


/* v4.1.0: layout rhythm, polished storytelling cards and image placeholders */
.be-single-stay {
  --be-section-gap: clamp(30px, 4vw, 54px);
  --be-card-radius: 16px;
}
.be-single-stay .be-single-section { margin-block: var(--be-section-gap); }
.be-single-stay .be-single-section-heading { margin-bottom: 22px; }
.be-single-stay .be-single-section-heading h2 { margin: 5px 0 10px; line-height: 1.16; letter-spacing: -.035em; }
.be-single-stay .be-single-section-heading p { margin: 0; line-height: 1.7; }
.be-single-stay .be-single-story-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-top:22px; }
.be-single-stay .be-single-story-card { min-width:0; overflow:hidden; border:1px solid rgba(30,60,48,.10); border-radius:var(--be-card-radius); background:#fff; box-shadow:0 8px 28px rgba(24,48,38,.045); }
.be-single-stay .be-single-story-image { aspect-ratio: 16 / 10; overflow:hidden; background:linear-gradient(135deg,#dfe8dd,#b7c9bd 48%,#355d4f); }
.be-single-stay .be-single-story-image img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .45s ease; }
.be-single-stay .be-single-story-card:hover .be-single-story-image img { transform:scale(1.035); }
.be-single-stay .be-single-story-copy { padding:18px 20px 20px; }
.be-single-stay .be-single-story-copy h3 { margin:0 0 8px; font-size:clamp(18px,2vw,23px); line-height:1.25; }
.be-single-stay .be-single-story-copy p { margin:0; line-height:1.65; color:var(--be-muted,#68756e); }
.be-single-stay .be-single-story-placeholder { display:grid; place-items:center; color:#fff; }
.be-single-stay .be-single-story-placeholder span { font-size:40px; opacity:.85; }
.be-single-stay .be-single-gallery { margin-bottom:32px; }
.be-single-stay .be-single-booking-card { align-self:start; }
@media(max-width:767px) {
 .be-single-stay .be-single-story-grid { grid-template-columns:1fr; gap:14px; }
 .be-single-stay .be-single-story-copy { padding:15px 16px 17px; }
 .be-single-stay .be-single-section { margin-block:30px; }
}

/* v4.2.0: spacing rhythm and theme-safe layout refinements */
.be-single-stay{--be-section-gap:clamp(28px,4vw,48px);font-size:15px;line-height:1.65}
.be-single-stay .be-single-shell{width:min(1160px,calc(100% - 40px));margin-inline:auto}
.be-single-stay .be-single-breadcrumbs{margin-bottom:18px;gap:10px}
.be-single-stay .be-single-header{margin:0 0 24px;gap:24px;align-items:flex-end}
.be-single-stay .be-single-header h1{margin:8px 0 6px;line-height:1.12;letter-spacing:-.035em}
.be-single-stay .be-single-gallery{margin:0 0 var(--be-section-gap);gap:10px}
.be-single-stay .be-single-section{margin:0 0 var(--be-section-gap);padding:0}
.be-single-stay .be-single-section-heading{margin:0 0 18px}
.be-single-stay .be-single-section-heading h2{margin:4px 0 8px;line-height:1.2;letter-spacing:-.025em}
.be-single-stay .be-single-layout{gap:clamp(24px,4vw,48px);align-items:start}
.be-single-stay .be-single-main-column>*+*{margin-top:var(--be-section-gap)}
.be-single-stay .be-single-booking-column{padding:0;min-width:0}
.be-single-stay .be-single-story-grid{gap:18px;margin-top:20px}
.be-single-stay .be-single-story-image{height:clamp(160px,20vw,230px)}
.be-single-stay .be-single-story-copy{padding:18px 18px 20px}
.be-single-stay .be-single-included,.be-single-stay .be-single-excluded{padding:22px 24px;border-radius:14px;margin-top:14px}
.be-single-stay .be-single-cta{margin:var(--be-section-gap) 0;padding:clamp(24px,4vw,40px);border-radius:16px}
.be-single-stay .be-single-bottom-cta{margin:var(--be-section-gap) 0 0;padding:20px 24px;border-radius:14px}
@media(max-width:760px){.be-single-stay .be-single-shell{width:calc(100% - 28px)}.be-single-stay .be-single-header{align-items:flex-start;flex-direction:column}.be-single-stay .be-single-gallery{margin-bottom:28px}.be-single-stay .be-single-section{margin-bottom:30px}.be-single-stay .be-single-story-grid{grid-template-columns:1fr 1fr;gap:12px}.be-single-stay .be-single-story-image{height:150px}}
@media(max-width:460px){.be-single-stay .be-single-story-grid{grid-template-columns:1fr}.be-single-stay .be-single-story-image{height:190px}}


/* v4.3.0: balanced inclusion panels and consistent vertical rhythm */
.be-single-stay .be-single-included,.be-single-stay .be-single-excluded{box-sizing:border-box;padding:20px 22px!important;margin:12px 0 0!important;border-radius:16px;min-height:0}
.be-single-stay .be-single-included h2,.be-single-stay .be-single-excluded h2,.be-single-stay .be-single-included h3,.be-single-stay .be-single-excluded h3{margin:4px 0 14px!important;line-height:1.18}
.be-single-stay .be-single-included ul,.be-single-stay .be-single-excluded ul{margin:0!important;padding-left:18px!important}
.be-single-stay .be-single-included li,.be-single-stay .be-single-excluded li{margin:0 0 9px!important;line-height:1.55}
.be-single-stay .be-single-included li:last-child,.be-single-stay .be-single-excluded li:last-child{margin-bottom:0!important}
.be-single-stay .be-single-main-column>*+*{margin-top:clamp(22px,3vw,34px)}
.be-single-stay .be-single-section-heading{margin-bottom:16px}
.be-single-stay .be-single-story-grid{gap:16px;margin-top:16px}
@media(max-width:760px){.be-single-stay .be-single-included,.be-single-stay .be-single-excluded{padding:18px!important}.be-single-stay .be-single-main-column>*+*{margin-top:24px}}


/* v4.4.0 — isolated gallery and vertical-spacing repair. All rules are scoped to this template only. */
.be-v44-isolated {
  --be-v44-section-gap: clamp(24px, 3.2vw, 38px);
  background: #fbfaf7 !important;
}
.be-v44-isolated .be-single-gallery,
.be-v44-isolated .be-single-gallery-main,
.be-v44-isolated .be-single-gallery-tile {
  box-sizing: border-box !important;
  min-width: 0 !important;
  min-height: 0 !important;
}
/* Remove the requested #DCE5DC fill from real-image gallery cards. */
.be-v44-isolated .be-single-gallery-main,
.be-v44-isolated .be-single-gallery-tile {
  background-color: transparent !important;
}
.be-v44-isolated .be-single-gallery-main:has(> img),
.be-v44-isolated .be-single-gallery-tile:has(> img) {
  background: transparent !important;
}
/* Keep intentional visual placeholders only when the property has no image. */
.be-v44-isolated .be-single-placeholder-a { background: radial-gradient(ellipse at 72% 18%,#e7d8b6 0,transparent 25%),linear-gradient(135deg,#8da79a,#476c5d 55%,#243e36) !important; }
.be-v44-isolated .be-single-placeholder-b { background: linear-gradient(145deg,#e6dfca,#a6b9a3 50%,#617b6d) !important; }
.be-v44-isolated .be-single-placeholder-c { background: linear-gradient(145deg,#b8c9c4,#668678 55%,#334e43) !important; }
.be-v44-isolated .be-single-gallery {
  width: 100% !important;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, .85fr) !important;
  gap: 10px !important;
  margin: 0 0 var(--be-v44-section-gap) !important;
}
.be-v44-isolated .be-single-gallery-side { min-width: 0 !important; gap: 10px !important; }
.be-v44-isolated .be-single-gallery-main > img,
.be-v44-isolated .be-single-gallery-tile > img { display:block !important; width:100% !important; height:100% !important; object-fit:cover !important; }
.be-v44-isolated .be-single-layout { gap: clamp(24px, 3.5vw, 44px) !important; }
.be-v44-isolated .be-single-main-column > * + * { margin-top: var(--be-v44-section-gap) !important; }
.be-v44-isolated .be-single-intro { padding-bottom: 24px !important; }
.be-v44-isolated .be-single-section { margin: 0 !important; padding: 0 0 24px !important; }
.be-v44-isolated .be-single-section-heading { margin: 0 0 14px !important; }
.be-v44-isolated .be-single-inclusion-grid { gap: 12px !important; }
.be-v44-isolated .be-single-inclusion-card { min-width: 0 !important; padding: 18px 20px !important; }
.be-v44-isolated .be-single-inclusion-card h3 { margin: 0 0 10px !important; }
.be-v44-isolated .be-single-inclusion-card li { padding-block: 5px !important; }
.be-v44-isolated .be-single-experience { margin: var(--be-v44-section-gap) 0 0 !important; }
.be-v44-isolated .be-single-details { margin-top: var(--be-v44-section-gap) !important; }
@media (max-width: 760px) {
  .be-v44-isolated .be-single-gallery { grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important; gap:8px !important; margin-bottom:26px !important; }
  .be-v44-isolated .be-single-gallery-main { grid-column:1/-1 !important; }
  .be-v44-isolated .be-single-layout { gap:22px !important; }
  .be-v44-isolated .be-single-main-column > * + * { margin-top:24px !important; }
  .be-v44-isolated .be-single-inclusion-grid { grid-template-columns:minmax(0,1fr) !important; }
}


/* Booking Engine 4.5.0 — isolated layout correction layer.
   Deliberately scoped to this template; does not style the active theme globally. */
.be-single-stay.be-v44-isolated {
  --bes-paper:#fbfaf7;
  background:var(--bes-paper) !important;
  color:#1c2a27 !important;
  overflow:clip !important;
}
.be-single-stay.be-v44-isolated .be-single-shell {
  width:min(1240px,calc(100% - 48px)) !important;
  max-width:1240px !important;
  margin-inline:auto !important;
}
.be-single-stay.be-v44-isolated .be-single-gallery-main,
.be-single-stay.be-v44-isolated .be-single-gallery-tile {
  background-color:transparent !important;
}
.be-single-stay.be-v44-isolated .be-single-gallery-main.be-single-placeholder-a {
  background:radial-gradient(ellipse at 72% 18%,#e7d8b6 0,transparent 25%),linear-gradient(135deg,#8da79a,#476c5d 55%,#243e36) !important;
}
.be-single-stay.be-v44-isolated .be-single-gallery-tile.be-single-placeholder-b {
  background:linear-gradient(145deg,#e6dfca,#a6b9a3 50%,#617b6d) !important;
}
.be-single-stay.be-v44-isolated .be-single-gallery-tile.be-single-placeholder-c {
  background:linear-gradient(145deg,#b8c9c4,#668678 55%,#334e43) !important;
}
.be-single-stay.be-v44-isolated .be-single-gallery-main:has(> img),
.be-single-stay.be-v44-isolated .be-single-gallery-tile:has(> img) {
  background:transparent !important;
}
.be-single-stay.be-v44-isolated .be-single-gallery-main > img,
.be-single-stay.be-v44-isolated .be-single-gallery-tile > img {
  display:block !important;width:100% !important;height:100% !important;object-fit:cover !important;
}
.be-single-stay.be-v44-isolated .be-single-layout {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(300px,355px) !important;
  gap:clamp(28px,4.5vw,64px) !important;
  align-items:start !important;
}
.be-single-stay.be-v44-isolated .be-single-section {
  min-width:0 !important;
  margin:0 !important;
  padding:28px 0 !important;
  background:transparent !important;
}
.be-single-stay.be-v44-isolated .be-single-section-heading {
  margin:0 0 16px !important;
  padding:0 !important;
}
.be-single-stay.be-v44-isolated .be-single-section-heading h2 {
  margin:7px 0 0 !important;
}
.be-single-stay.be-v44-isolated .be-single-inclusions {
  padding:18px 20px !important;
  margin:0 0 14px !important;
  border:1px solid #e3e9df !important;
  border-radius:16px !important;
  background:#eef2eb !important;
}
.be-single-stay.be-v44-isolated .be-single-inclusions .be-single-section-heading {
  margin-bottom:10px !important;
}
.be-single-stay.be-v44-isolated .be-single-inclusions .be-single-inclusion-grid {
  display:block !important;
  margin:0 !important;padding:0 !important;
}
.be-single-stay.be-v44-isolated .be-single-inclusions .be-single-inclusion-card,
.be-single-stay.be-v44-isolated .be-single-inclusions .be-single-not-included {
  display:block !important;
  width:100% !important;max-width:none !important;
  min-height:0 !important;height:auto !important;
  padding:0 !important;margin:0 !important;
  border:0 !important;border-radius:0 !important;
  background:transparent !important;
}
.be-single-stay.be-v44-isolated .be-single-inclusions .be-single-inclusion-card ul {
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:2px 18px !important;
  margin:0 !important;padding:0 !important;
}
.be-single-stay.be-v44-isolated .be-single-inclusions .be-single-inclusion-card li {
  margin:0 !important;padding:7px 0 7px 14px !important;
  font-size:13px !important;line-height:1.55 !important;
}
.be-single-stay.be-v44-isolated .be-single-inclusions .be-single-inclusion-card li:before {
  top:15px !important;
}
.be-single-stay.be-v44-isolated .be-single-inclusions:has(.be-single-not-included) {
  background:#f5f2eb !important;border-color:#eee7d9 !important;
}
.be-single-stay.be-v44-isolated .be-single-experience {
  display:block !important;position:relative !important;isolation:isolate !important;
  box-sizing:border-box !important;width:100% !important;max-width:100% !important;
  min-width:0 !important;min-height:0 !important;height:auto !important;
  margin:24px 0 0 !important;padding:30px 30px 32px !important;
  border:0 !important;border-radius:16px !important;
  background:#244b3e !important;color:#fff !important;
  overflow:hidden !important;
}
.be-single-stay.be-v44-isolated .be-single-experience-inner {
  position:relative !important;z-index:2 !important;
  width:100% !important;max-width:520px !important;
  margin:0 !important;padding:0 !important;
  text-align:left !important;transform:none !important;
}
.be-single-stay.be-v44-isolated .be-single-experience .be-single-section-kicker {
  display:block !important;margin:0 0 12px !important;
  color:#d5e1d5 !important;line-height:1.5 !important;
}
.be-single-stay.be-v44-isolated .be-single-experience h2 {
  display:block !important;position:relative !important;
  margin:0 0 12px !important;padding:0 !important;
  max-width:540px !important;color:#fff !important;
  font-size:clamp(28px,3vw,40px) !important;line-height:1.12 !important;
  overflow-wrap:anywhere !important;
}
.be-single-stay.be-v44-isolated .be-single-experience p {
  display:block !important;margin:0 !important;padding:0 !important;
  max-width:360px !important;color:#e0e9e1 !important;
  font-size:13px !important;line-height:1.7 !important;
}
.be-single-stay.be-v44-isolated .be-single-experience .be-single-cta {
  display:inline-flex !important;position:relative !important;
  width:auto !important;min-width:0 !important;max-width:100% !important;
  min-height:0 !important;height:auto !important;
  margin:18px 0 0 !important;padding:12px 17px !important;
  align-items:center !important;justify-content:center !important;gap:12px !important;
  border:0 !important;border-radius:999px !important;
  background:#f4f1e7 !important;color:#254b3e !important;
  line-height:1.3 !important;text-decoration:none !important;
  white-space:normal !important;box-shadow:none !important;
}
.be-single-stay.be-v44-isolated .be-single-experience-orb {z-index:0 !important;pointer-events:none !important}
.be-single-stay.be-v44-isolated .be-single-details {padding-top:30px !important}
.be-single-stay.be-v44-isolated .be-single-bottom-cta {
  box-sizing:border-box !important;width:100% !important;max-width:100% !important;
  margin:30px 0 0 !important;padding:22px 26px !important;
  gap:18px !important;border-radius:16px !important;
}
.be-single-stay.be-v44-isolated .be-single-booking-column {min-width:0 !important}
.be-single-stay.be-v44-isolated .be-single-booking-card {width:100% !important;max-width:100% !important;box-sizing:border-box !important}
@media(max-width:900px) {
 .be-single-stay.be-v44-isolated .be-single-layout {grid-template-columns:minmax(0,1fr) 310px !important;gap:24px !important}
 .be-single-stay.be-v44-isolated .be-single-gallery {height:clamp(300px,48vw,420px) !important}
}
@media(max-width:700px) {
 .be-single-stay.be-v44-isolated {padding:18px 0 38px !important}
 .be-single-stay.be-v44-isolated .be-single-shell {width:calc(100% - 32px) !important}
 .be-single-stay.be-v44-isolated .be-single-layout {display:flex !important;flex-direction:column !important;gap:20px !important}
 .be-single-stay.be-v44-isolated .be-single-main-column,
 .be-single-stay.be-v44-isolated .be-single-booking-column {width:100% !important;max-width:none !important}
 .be-single-stay.be-v44-isolated .be-single-booking-column {position:static !important;order:2 !important}
 .be-single-stay.be-v44-isolated .be-single-gallery {grid-template-columns:minmax(0,1fr) minmax(0,.72fr) !important;gap:8px !important;height:280px !important;margin-bottom:26px !important}
 .be-single-stay.be-v44-isolated .be-single-gallery-side {gap:8px !important}
 .be-single-stay.be-v44-isolated .be-single-gallery-note {min-height:55px !important;padding:8px !important}
 .be-single-stay.be-v44-isolated .be-single-gallery-note-icon {width:28px !important;height:28px !important}
 .be-single-stay.be-v44-isolated .be-single-inclusions {padding:16px !important;margin-bottom:12px !important}
 .be-single-stay.be-v44-isolated .be-single-inclusions .be-single-inclusion-card ul {grid-template-columns:minmax(0,1fr) !important}
 .be-single-stay.be-v44-isolated .be-single-experience {padding:24px 22px !important;margin-top:18px !important}
 .be-single-stay.be-v44-isolated .be-single-experience h2 {font-size:30px !important}
 .be-single-stay.be-v44-isolated .be-single-bottom-cta {align-items:flex-start !important;flex-direction:column !important;padding:20px !important;margin-top:24px !important}
}
@media(max-width:420px) {
 .be-single-stay.be-v44-isolated .be-single-gallery {grid-template-columns:minmax(0,1fr) !important;height:auto !important}
 .be-single-stay.be-v44-isolated .be-single-gallery-main {height:260px !important}
 .be-single-stay.be-v44-isolated .be-single-gallery-side {grid-template-columns:repeat(2,minmax(0,1fr)) !important;grid-template-rows:130px auto !important}
 .be-single-stay.be-v44-isolated .be-single-gallery-note {grid-column:1/-1 !important}
 .be-single-stay.be-v44-isolated .be-single-header {align-items:flex-start !important;flex-direction:column !important}
}


/* v4.6.0: remove the configured #DCE5DC gallery/widget fill.
   Actual placeholder gradients are supplied by the placeholder classes only. */
.be-single-stay [data-be-widget="gallery"],
.be-single-stay .be-single-gallery,
.be-single-stay .be-single-gallery-main,
.be-single-stay .be-single-gallery-tile {
  background-color: transparent !important;
}
.be-single-stay .be-single-gallery-main:has(> img),
.be-single-stay .be-single-gallery-tile:has(> img) {
  background: transparent !important;
}


/* v4.7.0: remove the unwanted horizontal divider above the Included section.
   Keep the override scoped to this plugin's Single Stay template only. */
.be-single-stay.be-v44-isolated #be-stay-amenities {
  border-bottom: 0 !important;
  box-shadow: none !important;
  padding-bottom: 0 !important;
  margin-bottom: 12px !important;
}
.be-single-stay.be-v44-isolated #be-stay-amenities::before,
.be-single-stay.be-v44-isolated #be-stay-amenities::after {
  content: none !important;
  display: none !important;
  border: 0 !important;
  box-shadow: none !important;
}
.be-single-stay.be-v44-isolated .be-single-inclusions {
  border-top: 0 !important;
  box-shadow: none !important;
}
.be-single-stay.be-v44-isolated .be-single-amenities-grid {
  border-bottom: 0 !important;
}
.be-single-stay.be-v44-isolated .be-single-amenity:last-child,
.be-single-stay.be-v44-isolated .be-single-amenity:nth-last-child(2) {
  border-bottom: 0 !important;
}

/* v4.8.0 refinements: restrained section spacing and prevent theme bleed */
.be-single-stay .be-single-included,.be-single-stay .be-single-excluded{margin-block:12px!important;padding:18px 20px!important;box-sizing:border-box!important}
.be-single-stay .be-single-included h2,.be-single-stay .be-single-excluded h2{margin:0 0 12px!important;line-height:1.2!important}
.be-single-stay .be-single-included ul,.be-single-stay .be-single-excluded ul{margin:8px 0 0!important;padding-left:18px!important}
.be-single-stay .be-single-story-card{overflow:hidden;min-width:0}


/* v5.0.0 — premium amenity / inclusion cards; fully scoped to this template */
.be-single-stay .be-single-amenities{margin:0 0 clamp(28px,3vw,44px)!important;padding:0!important;border:0!important;box-shadow:none!important;background:transparent!important}
.be-single-stay .be-single-amenities .be-single-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:0 0 18px!important;padding:0!important;border:0!important}
.be-single-stay .be-single-amenities .be-single-section-heading h2{margin:4px 0 0!important;line-height:1.16;letter-spacing:-.035em}
.be-single-stay .be-single-heading-symbol{display:none!important}
.be-single-stay .be-single-amenities-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px;row-gap:0;border-top:1px solid var(--bes-line)}
.be-single-stay .be-single-amenity{display:flex!important;align-items:center;gap:13px;min-width:0;padding:14px 0!important;margin:0!important;border-bottom:1px solid var(--bes-line);background:transparent!important;border-radius:0!important}
.be-single-stay .be-single-amenity-icon{width:40px!important;height:40px!important;min-width:40px!important;display:flex!important;align-items:center;justify-content:center;border-radius:12px;background:#eef2eb!important;color:var(--bes-green);overflow:hidden}
.be-single-stay .be-single-amenity-icon img{display:block;width:23px!important;height:23px!important;object-fit:contain}
.be-single-stay .be-single-amenity>span:last-child{font-size:14px;line-height:1.45;color:var(--bes-ink)}
.be-single-stay .be-single-inclusions{margin:0 0 16px!important;padding:24px 26px!important;border:1px solid #e1e8dc!important;border-radius:18px!important;box-shadow:none!important}
.be-single-stay .be-single-inclusions .be-single-section-heading{margin:0 0 12px!important;padding:0!important;border:0!important}
.be-single-stay .be-single-inclusions .be-single-section-kicker{display:block;margin:0 0 7px!important;font-size:10px;line-height:1.4;letter-spacing:.15em;font-weight:750}
.be-single-stay .be-single-inclusions h2{font-size:clamp(25px,2.6vw,36px)!important;line-height:1.15!important;letter-spacing:-.035em;margin:0!important}
.be-single-stay .be-single-inclusions ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;row-gap:9px;margin:0!important;padding:0!important;list-style:none!important}
.be-single-stay .be-single-inclusions li{position:relative;margin:0!important;padding:3px 0 3px 15px!important;font-size:14px;line-height:1.5}
.be-single-stay .be-single-inclusions li:before{content:"";position:absolute;left:0;top:.78em;width:5px;height:5px;border-radius:50%;background:var(--bes-gold)}
.be-single-stay .be-single-inclusions + .be-single-inclusions{margin-top:16px!important}
@media(max-width:700px){
 .be-single-stay .be-single-amenities-grid{grid-template-columns:minmax(0,1fr);column-gap:0}
 .be-single-stay .be-single-inclusions{padding:19px!important}
 .be-single-stay .be-single-inclusions ul{grid-template-columns:minmax(0,1fr)}
}


/* v5.1.0 — unified premium checkbox: one centered white tick, plugin UI only */
#acf-group_be_booking_settings input[type="checkbox"],
body.post-type-stay #poststuff .be-native-admin input[type="checkbox"],
body.post-type-stay #poststuff .be-native-admin .acf-input input[type="checkbox"] {
  -webkit-appearance: none !important;
  appearance: none !important;
  box-sizing: border-box !important;
  display: inline-grid !important;
  place-content: center !important;
  flex: 0 0 22px !important;
  width: 22px !important;
  max-width: 22px !important;
  height: 22px !important;
  min-height: 22px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1.5px solid #c7d5ce !important;
  border-radius: 6px !important;
  background: #fff !important;
  background-image: none !important;
  box-shadow: 0 1px 2px rgba(18, 54, 39, .06) !important;
  vertical-align: middle !important;
  cursor: pointer !important;
  position: relative !important;
  transition: background-color .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease !important;
}
#acf-group_be_booking_settings input[type="checkbox"]::before,
#acf-group_be_booking_settings input[type="checkbox"]::after,
body.post-type-stay #poststuff .be-native-admin input[type="checkbox"]::before,
body.post-type-stay #poststuff .be-native-admin input[type="checkbox"]::after {
  content: none !important;
  display: none !important;
  background: none !important;
  box-shadow: none !important;
}
#acf-group_be_booking_settings input[type="checkbox"]:checked,
body.post-type-stay #poststuff .be-native-admin input[type="checkbox"]:checked {
  border-color: #16845f !important;
  background: #16845f !important;
  background-image: none !important;
  box-shadow: 0 2px 5px rgba(22, 132, 95, .2) !important;
}
#acf-group_be_booking_settings input[type="checkbox"]:checked::after,
body.post-type-stay #poststuff .be-native-admin input[type="checkbox"]:checked::after {
  content: "" !important;
  display: block !important;
  width: 5px !important;
  height: 10px !important;
  border: solid #fff !important;
  border-width: 0 2.2px 2.2px 0 !important;
  border-radius: 1px !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: translateY(-1px) rotate(45deg) !important;
  transform-origin: center !important;
  margin: 0 !important;
}
#acf-group_be_booking_settings input[type="checkbox"]:hover,
body.post-type-stay #poststuff .be-native-admin input[type="checkbox"]:hover {
  border-color: #16845f !important;
  box-shadow: 0 0 0 3px rgba(22, 132, 95, .09) !important;
}
#acf-group_be_booking_settings input[type="checkbox"]:focus-visible,
body.post-type-stay #poststuff .be-native-admin input[type="checkbox"]:focus-visible {
  outline: 2px solid rgba(22, 132, 95, .45) !important;
  outline-offset: 2px !important;
}
#acf-group_be_booking_settings .acf-checkbox-list label,
#acf-group_be_booking_settings .acf-field-true-false label,
body.post-type-stay #poststuff .be-native-admin .be-repeater-field.be-checkbox-field {
  align-items: center !important;
}


/* v5.1.5: definitive single-tick checkbox rendering. Never draw a second tick with ::after. */
#acf-group_be_booking_settings input[type="checkbox"]:checked,
body.post-type-stay #poststuff .be-native-admin input[type="checkbox"]:checked {
  background-color: #176b55 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.2 8.2 6.4 11.1 12.8 4.8' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 14px 14px !important;
  border-color: #176b55 !important;
}
#acf-group_be_booking_settings input[type="checkbox"]:checked::before,
#acf-group_be_booking_settings input[type="checkbox"]:checked::after,
body.post-type-stay #poststuff .be-native-admin input[type="checkbox"]:checked::before,
body.post-type-stay #poststuff .be-native-admin input[type="checkbox"]:checked::after {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  border: 0 !important;
  background: none !important;
  transform: none !important;
}

/* v5.2.8 — Booking-form Extra Services redesign for the single-stay template.
   These selectors intentionally target the actual .be-single-booking-form wrapper
   and come after the compact single-stay rules so the premium card wins the cascade. */
.be-single-stay .be-single-booking-form .be-wrapper .be-box .be-services-list{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:10px!important;width:100%!important;margin:0!important}
.be-single-stay .be-single-booking-form .be-wrapper .be-box .be-services-list>.be-service-item{display:grid!important;grid-template-columns:minmax(0,1fr) 132px!important;align-items:center!important;gap:12px!important;width:100%!important;min-width:0!important;box-sizing:border-box!important;margin:0!important;padding:13px!important;border:1px solid #e0e8df!important;border-radius:13px!important;background:linear-gradient(145deg,#fff 0%,#fbfcf9 100%)!important;box-shadow:0 3px 12px rgba(28,52,39,.055)!important;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease!important}
.be-single-stay .be-single-booking-form .be-wrapper .be-box .be-services-list>.be-service-item:has(input.service:checked){border-color:#8db5a0!important;background:#f4f9f4!important;box-shadow:0 0 0 2px rgba(37,79,66,.07)!important}
.be-single-stay .be-single-booking-form .be-wrapper .be-box .be-service-item>.be-service-choice{display:flex!important;align-items:flex-start!important;gap:8px!important;min-width:0!important;width:100%!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;cursor:pointer!important;color:#26382f!important;font-size:12px!important;line-height:1.5!important}
.be-single-stay .be-single-booking-form .be-wrapper .be-box .be-service-item>.be-service-choice input.service{display:block!important;flex:0 0 15px!important;width:15px!important;height:15px!important;min-width:15px!important;margin:2px 0 0!important;accent-color:#254f42!important}
.be-single-stay .be-single-booking-form .be-wrapper .be-box .be-service-item .be-service-info{display:flex!important;flex-direction:column!important;gap:3px!important;min-width:0!important;overflow-wrap:anywhere!important}
.be-single-stay .be-single-booking-form .be-wrapper .be-box .be-service-item .be-service-name{display:block!important;color:#1c2a27!important;font-size:12px!important;font-weight:700!important;line-height:1.4!important}
.be-single-stay .be-single-booking-form .be-wrapper .be-box .be-service-item .be-service-price{display:block!important;color:#68786d!important;font-size:11px!important;font-weight:500!important;line-height:1.4!important}
.be-single-stay .be-single-booking-form .be-wrapper .be-box .be-service-item .be-service-guest-quantity{display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:center!important;gap:6px!important;min-width:0!important;width:100%!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important}
.be-single-stay .be-single-booking-form .be-wrapper .be-box .be-service-item .be-service-quantity-label{display:block!important;color:#65756b!important;font-size:10px!important;font-weight:650!important;line-height:1.3!important;letter-spacing:.01em!important}
.be-single-stay .be-single-booking-form .be-wrapper .be-box .be-service-item .be-service-quantity-control{display:grid!important;grid-template-columns:28px minmax(24px,1fr) 28px!important;align-items:center!important;justify-items:center!important;gap:3px!important;box-sizing:border-box!important;width:100%!important;max-width:132px!important;min-width:0!important;height:34px!important;min-height:34px!important;padding:3px!important;margin:0!important;border:1px solid #dce6dc!important;border-radius:10px!important;background:#f1f5ef!important;box-shadow:inset 0 1px 2px rgba(20,50,35,.035)!important}
.be-single-stay .be-single-booking-form .be-wrapper .be-box .be-service-item .be-service-quantity-control>button.service-guest-minus,.be-single-stay .be-single-booking-form .be-wrapper .be-box .be-service-item .be-service-quantity-control>button.service-guest-plus{appearance:none!important;-webkit-appearance:none!important;display:flex!important;align-items:center!important;justify-content:center!important;flex:0 0 26px!important;box-sizing:border-box!important;width:26px!important;min-width:26px!important;max-width:26px!important;height:26px!important;min-height:26px!important;max-height:26px!important;padding:0!important;margin:0!important;border:1px solid #d7e2d6!important;border-radius:7px!important;background:#fff!important;color:#254f42!important;font-family:inherit!important;font-size:15px!important;font-weight:600!important;line-height:1!important;text-align:center!important;text-decoration:none!important;box-shadow:0 1px 2px rgba(20,50,35,.07)!important;text-shadow:none!important;cursor:pointer!important}
.be-single-stay .be-single-booking-form .be-wrapper .be-box .be-service-item .be-service-quantity-control>button.service-guest-minus:hover,.be-single-stay .be-single-booking-form .be-wrapper .be-box .be-service-item .be-service-quantity-control>button.service-guest-plus:hover{background:#e4eee5!important;border-color:#a5bda7!important}
.be-single-stay .be-single-booking-form .be-wrapper .be-box .be-service-item .be-service-quantity-control>button:disabled{opacity:.42!important;cursor:not-allowed!important}
.be-single-stay .be-single-booking-form .be-wrapper .be-box .be-service-item .be-service-quantity-control>input.service-guest-count{appearance:textfield!important;-moz-appearance:textfield!important;display:block!important;box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:100%!important;height:26px!important;min-height:26px!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;outline:0!important;background:transparent!important;color:#1c2a27!important;font-family:inherit!important;font-size:13px!important;font-weight:750!important;line-height:26px!important;text-align:center!important;box-shadow:none!important}
.be-single-stay .be-single-booking-form .be-wrapper .be-box .be-service-item .be-service-quantity-control>input.service-guest-count::-webkit-inner-spin-button,.be-single-stay .be-single-booking-form .be-wrapper .be-box .be-service-item .be-service-quantity-control>input.service-guest-count::-webkit-outer-spin-button{-webkit-appearance:none!important;margin:0!important}
@media(max-width:520px){.be-single-stay .be-single-booking-form .be-wrapper .be-box .be-services-list>.be-service-item{grid-template-columns:minmax(0,1fr) 118px!important;gap:9px!important;padding:11px!important}.be-single-stay .be-single-booking-form .be-wrapper .be-box .be-service-item .be-service-quantity-control{grid-template-columns:26px minmax(20px,1fr) 26px!important;max-width:118px!important}.be-single-stay .be-single-booking-form .be-wrapper .be-box .be-service-item .be-service-quantity-control>button.service-guest-minus,.be-single-stay .be-single-booking-form .be-wrapper .be-box .be-service-item .be-service-quantity-control>button.service-guest-plus{flex-basis:24px!important;width:24px!important;min-width:24px!important;max-width:24px!important;height:24px!important;min-height:24px!important;max-height:24px!important}}
@media(max-width:370px){.be-single-stay .be-single-booking-form .be-wrapper .be-box .be-services-list>.be-service-item{grid-template-columns:minmax(0,1fr)!important}.be-single-stay .be-single-booking-form .be-wrapper .be-box .be-service-item .be-service-guest-quantity{align-items:flex-start!important}.be-single-stay .be-single-booking-form .be-wrapper .be-box .be-service-item .be-service-quantity-control{width:132px!important}}

/* v5.2.9 — Extra Services price placement and compact mobile layout */
.be-single-stay .be-single-booking-form .be-wrapper .be-box > h3,.be-wrapper .be-box > h3{white-space:nowrap!important;word-break:normal!important;overflow-wrap:normal!important}
.be-single-stay .be-single-booking-form .be-wrapper .be-box .be-service-item .be-service-name,.be-wrapper .be-box .be-service-item .be-service-name{display:block!important;white-space:nowrap!important;word-break:normal!important;overflow-wrap:normal!important}
.be-single-stay .be-single-booking-form .be-wrapper .be-box .be-service-item .be-service-price,.be-wrapper .be-box .be-service-item .be-service-price{display:none!important}
.be-single-stay .be-single-booking-form .be-wrapper .be-box .be-service-item .be-service-guest-quantity,.be-wrapper .be-box .be-service-item .be-service-guest-quantity{min-width:0!important;width:100%!important;gap:5px!important}
.be-single-stay .be-single-booking-form .be-wrapper .be-box .be-service-item .be-service-quantity-label,.be-wrapper .be-box .be-service-item .be-service-quantity-label{display:block!important;margin:0 0 2px!important;color:#53675d!important;font-size:12px!important;font-weight:650!important;line-height:1.25!important;white-space:nowrap!important}
.be-single-stay .be-single-booking-form .be-wrapper .be-box .be-service-item .be-service-quantity-control,.be-wrapper .be-box .be-service-item .be-service-quantity-control{width:100%!important;max-width:108px!important;min-width:0!important;grid-template-columns:24px minmax(16px,1fr) 24px!important;gap:2px!important}
@media(max-width:520px){.be-single-stay .be-single-booking-form .be-wrapper .be-box .be-services-list>.be-service-item,.be-wrapper .be-box .be-services-list>.be-service-item{grid-template-columns:minmax(0,1fr) 108px!important;gap:8px!important;align-items:center!important}}

/* v5.3.0 — Compact booking form and Extra Services layout */
.be-single-stay .be-single-booking-form .be-wrapper .be-box,
.be-wrapper .be-box { padding: 12px !important; margin-bottom: 10px !important; }
.be-single-stay .be-single-booking-form .be-wrapper .be-box > h3,
.be-wrapper .be-box > h3 { margin: 0 0 8px !important; font-size: 15px !important; line-height: 1.25 !important; }
.be-single-stay .be-single-booking-form .be-wrapper .be-box .be-services-list,
.be-wrapper .be-box .be-services-list { gap: 7px !important; }
.be-single-stay .be-single-booking-form .be-wrapper .be-box .be-services-list > .be-service-item,
.be-wrapper .be-box .be-services-list > .be-service-item {
  grid-template-columns: minmax(0,1fr) 112px !important;
  align-items: center !important; gap: 8px !important;
  padding: 9px !important; border-radius: 12px !important;
  box-shadow: 0 1px 4px rgba(23,60,48,.035) !important;
}
.be-single-stay .be-single-booking-form .be-wrapper .be-box .be-service-item > .be-service-choice,
.be-wrapper .be-box .be-service-item > .be-service-choice { gap: 7px !important; line-height: 1.25 !important; }
.be-single-stay .be-single-booking-form .be-wrapper .be-box .be-service-item .be-service-info,
.be-wrapper .be-box .be-service-item .be-service-info { gap: 1px !important; }
.be-single-stay .be-single-booking-form .be-wrapper .be-box .be-service-item .be-service-name,
.be-wrapper .be-box .be-service-item .be-service-name { font-size: 12px !important; line-height: 1.25 !important; }
.be-single-stay .be-single-booking-form .be-wrapper .be-box .be-service-item .be-service-quantity-label,
.be-wrapper .be-box .be-service-item .be-service-quantity-label {
  font-size: 10px !important; line-height: 1.15 !important; margin: 0 0 3px !important;
  letter-spacing: 0 !important; white-space: nowrap !important;
}
.be-single-stay .be-single-booking-form .be-wrapper .be-box .be-service-item .be-service-guest-quantity,
.be-wrapper .be-box .be-service-item .be-service-guest-quantity { gap: 3px !important; }
.be-single-stay .be-single-booking-form .be-wrapper .be-box .be-service-item .be-service-quantity-control,
.be-wrapper .be-box .be-service-item .be-service-quantity-control {
  grid-template-columns: 22px minmax(12px,1fr) 22px !important;
  gap: 2px !important; max-width: 112px !important; height: 30px !important; min-height: 30px !important;
  padding: 2px !important; border-radius: 8px !important;
}
.be-single-stay .be-single-booking-form .be-wrapper .be-box .be-service-item .be-service-quantity-control > button.service-guest-minus,
.be-single-stay .be-single-booking-form .be-wrapper .be-box .be-service-item .be-service-quantity-control > button.service-guest-plus,
.be-wrapper .be-box .be-service-item .be-service-quantity-control > button.service-guest-minus,
.be-wrapper .be-box .be-service-item .be-service-quantity-control > button.service-guest-plus {
  flex-basis: 22px !important; width: 22px !important; min-width: 22px !important; max-width: 22px !important;
  height: 22px !important; min-height: 22px !important; max-height: 22px !important; border-radius: 6px !important;
  font-size: 13px !important;
}
.be-single-stay .be-single-booking-form .be-wrapper .be-box .be-service-item .be-service-quantity-control > input.service-guest-count,
.be-wrapper .be-box .be-service-item .be-service-quantity-control > input.service-guest-count {
  height: 22px !important; min-height: 22px !important; line-height: 22px !important; font-size: 12px !important;
}
@media(max-width:520px) {
 .be-single-stay .be-single-booking-form .be-wrapper .be-box,
 .be-wrapper .be-box { padding: 10px !important; margin-bottom: 8px !important; }
 .be-single-stay .be-single-booking-form .be-wrapper .be-box .be-services-list > .be-service-item,
 .be-wrapper .be-box .be-services-list > .be-service-item {
   grid-template-columns: minmax(0,1fr) 112px !important; gap: 7px !important; padding: 8px !important;
 }
}
@media(max-width:350px) {
 .be-single-stay .be-single-booking-form .be-wrapper .be-box .be-services-list > .be-service-item,
 .be-wrapper .be-box .be-services-list > .be-service-item { grid-template-columns: minmax(0,1fr) 104px !important; gap: 5px !important; padding: 7px !important; }
 .be-single-stay .be-single-booking-form .be-wrapper .be-box .be-service-item .be-service-quantity-control,
 .be-wrapper .be-box .be-service-item .be-service-quantity-control { grid-template-columns: 20px minmax(10px,1fr) 20px !important; }
 .be-single-stay .be-single-booking-form .be-wrapper .be-box .be-service-item .be-service-quantity-control > button.service-guest-minus,
 .be-single-stay .be-single-booking-form .be-wrapper .be-box .be-service-item .be-service-quantity-control > button.service-guest-plus,
 .be-wrapper .be-box .be-service-item .be-service-quantity-control > button.service-guest-minus,
 .be-wrapper .be-box .be-service-item .be-service-quantity-control > button.service-guest-plus { width:20px !important; min-width:20px !important; max-width:20px !important; flex-basis:20px !important; }
}


/* v5.3.1 — Remove unwanted selected/focus border and vertically center service label */
.be-single-stay .be-single-booking-form .be-wrapper .be-box .be-services-list > .be-service-item:has(input.service:checked),
.be-wrapper .be-box .be-services-list > .be-service-item:has(input.service:checked) {
  border-color: #e0e8df !important;
  background: linear-gradient(145deg,#fff 0%,#fbfcf9 100%) !important;
  box-shadow: 0 1px 4px rgba(23,60,48,.035) !important;
  outline: none !important;
}
.be-single-stay .be-single-booking-form .be-wrapper .be-box .be-service-item > .be-service-choice,
.be-wrapper .be-box .be-service-item > .be-service-choice {
  align-self: center !important;
  align-items: center !important;
  height: 100% !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}
.be-single-stay .be-single-booking-form .be-wrapper .be-box .be-service-item > .be-service-choice:focus,
.be-single-stay .be-single-booking-form .be-wrapper .be-box .be-service-item > .be-service-choice:focus-within,
.be-wrapper .be-box .be-service-item > .be-service-choice:focus,
.be-wrapper .be-box .be-service-item > .be-service-choice:focus-within {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}
.be-single-stay .be-single-booking-form .be-wrapper .be-box .be-service-item > .be-service-choice input.service,
.be-wrapper .be-box .be-service-item > .be-service-choice input.service {
  align-self: center !important;
  margin: 0 !important;
}


/* v5.3.2 — Extra Services counter scaled down by approximately 20% */
.be-single-stay .be-single-booking-form .be-wrapper .be-box .be-service-item .be-service-quantity-control,
.be-wrapper .be-box .be-service-item .be-service-quantity-control {
  width: 90px !important;
  max-width: 90px !important;
  min-width: 0 !important;
  height: 24px !important;
  min-height: 24px !important;
  grid-template-columns: 18px minmax(10px,1fr) 18px !important;
  gap: 2px !important;
  padding: 2px !important;
}
.be-single-stay .be-single-booking-form .be-wrapper .be-box .be-service-item .be-service-quantity-control > button.service-guest-minus,
.be-single-stay .be-single-booking-form .be-wrapper .be-box .be-service-item .be-service-quantity-control > button.service-guest-plus,
.be-wrapper .be-box .be-service-item .be-service-quantity-control > button.service-guest-minus,
.be-wrapper .be-box .be-service-item .be-service-quantity-control > button.service-guest-plus {
  flex-basis: 18px !important;
  width: 18px !important;
  min-width: 18px !important;
  max-width: 18px !important;
  height: 18px !important;
  min-height: 18px !important;
  max-height: 18px !important;
  font-size: 11px !important;
  border-radius: 5px !important;
}
.be-single-stay .be-single-booking-form .be-wrapper .be-box .be-service-item .be-service-quantity-control > input.service-guest-count,
.be-wrapper .be-box .be-service-item .be-service-quantity-control > input.service-guest-count {
  height: 18px !important;
  min-height: 18px !important;
  line-height: 18px !important;
  font-size: 11px !important;
}
@media (max-width: 520px) {
  .be-single-stay .be-single-booking-form .be-wrapper .be-box .be-services-list > .be-service-item,
  .be-wrapper .be-box .be-services-list > .be-service-item {
    grid-template-columns: minmax(0,1fr) 90px !important;
    gap: 6px !important;
  }
}
@media (max-width: 350px) {
  .be-single-stay .be-single-booking-form .be-wrapper .be-box .be-services-list > .be-service-item,
  .be-wrapper .be-box .be-services-list > .be-service-item {
    grid-template-columns: minmax(0,1fr) 90px !important;
  }
}

/* v5.3.3 — Place per-guest price directly beneath service title with minimal spacing */
.be-single-stay .be-single-booking-form .be-wrapper .be-box .be-service-item .be-service-info {
  gap: 1px !important;
}
.be-single-stay .be-single-booking-form .be-wrapper .be-box .be-service-item .be-service-info .be-service-quantity-label,
.be-wrapper .be-box .be-service-item .be-service-info .be-service-quantity-label {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 10px !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
  color: #65756b !important;
  letter-spacing: 0 !important;
}

/* v5.3.4 — Single-stay: service title left, counter flush right */
.be-single-stay .be-single-booking-form .be-wrapper .be-box .be-services-list > .be-service-item,
.be-wrapper .be-box .be-services-list > .be-service-item {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 90px !important;
  align-items: center !important;
  justify-content: stretch !important;
}
.be-single-stay .be-single-booking-form .be-wrapper .be-box .be-services-list > .be-service-item > .be-service-choice,
.be-wrapper .be-box .be-services-list > .be-service-item > .be-service-choice {
  justify-self: start !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  text-align: left !important;
}
.be-single-stay .be-single-booking-form .be-wrapper .be-box .be-services-list > .be-service-item > .be-service-guest-quantity,
.be-wrapper .be-box .be-services-list > .be-service-item > .be-service-guest-quantity {
  justify-self: end !important;
  align-self: center !important;
  width: 90px !important;
  min-width: 90px !important;
  max-width: 90px !important;
  margin: 0 0 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
}
.be-single-stay .be-single-booking-form .be-wrapper .be-box .be-service-item .be-service-info,
.be-wrapper .be-box .be-service-item .be-service-info {
  align-items: flex-start !important;
  text-align: left !important;
  min-width: 0 !important;
}
@media (max-width: 350px) {
  .be-single-stay .be-single-booking-form .be-wrapper .be-box .be-services-list > .be-service-item,
  .be-wrapper .be-box .be-services-list > .be-service-item {
    grid-template-columns: minmax(0, 1fr) 90px !important;
  }
}

/* v5.3.26 — compact amenities and inclusion/exclusion blocks on single Stay pages */
.be-single-stay #be-stay-amenities,
.be-single-stay .be-single-inclusions {
  margin-block: 0 !important;
  padding: 18px 0 !important;
}
.be-single-stay #be-stay-amenities .be-single-section-heading,
.be-single-stay .be-single-inclusions .be-single-section-heading {
  margin: 0 0 12px !important;
  gap: 10px !important;
}
.be-single-stay #be-stay-amenities .be-single-section-kicker,
.be-single-stay .be-single-inclusions .be-single-section-kicker {
  font-size: 9px !important;
  line-height: 1.25 !important;
  letter-spacing: .14em !important;
}
.be-single-stay #be-stay-amenities .be-single-section-heading h2,
.be-single-stay .be-single-inclusions .be-single-section-heading h2 {
  margin: 3px 0 0 !important;
  font-size: clamp(22px, 2.2vw, 29px) !important;
  line-height: 1.15 !important;
  letter-spacing: -.03em !important;
}
.be-single-stay .be-single-amenities-grid {
  column-gap: 22px !important;
  row-gap: 0 !important;
}
.be-single-stay .be-single-amenity {
  min-width: 0 !important;
  gap: 9px !important;
  padding: 7px 0 !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
}
.be-single-stay .be-single-amenity-icon {
  width: 30px !important;
  height: 30px !important;
  min-width: 30px !important;
  border-radius: 9px !important;
  font-size: 14px !important;
}
.be-single-stay .be-single-amenity-icon img {
  max-width: 19px !important;
  max-height: 19px !important;
  object-fit: contain !important;
}
.be-single-stay .be-single-inclusions {
  border-radius: 12px !important;
}
.be-single-stay .be-single-inclusions .be-single-inclusion-grid {
  display: block !important;
  gap: 0 !important;
}
.be-single-stay .be-single-inclusions .be-single-inclusion-card {
  min-width: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
}
.be-single-stay .be-single-inclusions .be-single-inclusion-card ul {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  column-gap: 20px !important;
  row-gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.be-single-stay .be-single-inclusions .be-single-inclusion-card li {
  min-width: 0 !important;
  padding: 4px 0 4px 12px !important;
  font-size: 11px !important;
  line-height: 1.45 !important;
  overflow-wrap: anywhere !important;
}
.be-single-stay .be-single-inclusions .be-single-inclusion-card li:before {
  top: 10px !important;
  width: 4px !important;
  height: 4px !important;
}
.be-single-stay .be-single-inclusions > p {
  margin: 8px 0 0 !important;
  font-size: 11px !important;
  line-height: 1.5 !important;
}
@media (max-width: 760px) {
  .be-single-stay #be-stay-amenities,
  .be-single-stay .be-single-inclusions {
    padding: 14px 0 !important;
  }
  .be-single-stay #be-stay-amenities .be-single-section-heading h2,
  .be-single-stay .be-single-inclusions .be-single-section-heading h2 {
    font-size: 23px !important;
  }
  .be-single-stay .be-single-amenities-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 14px !important;
  }
  .be-single-stay .be-single-inclusions .be-single-inclusion-card ul {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 12px !important;
  }
}
@media (max-width: 420px) {
  .be-single-stay .be-single-amenity {
    font-size: 11px !important;
    gap: 7px !important;
  }
  .be-single-stay .be-single-amenity-icon {
    width: 27px !important;
    height: 27px !important;
    min-width: 27px !important;
  }
  .be-single-stay .be-single-inclusions .be-single-inclusion-card ul {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}


/* v5.3.28: reduce the column gap by transferring that space to the booking column.
   The main content column keeps its existing width on desktop. */
@media (min-width: 901px) {
  .be-single-stay.be-v44-isolated .be-single-layout {
    grid-template-columns: minmax(0, 1fr) minmax(300px, calc(355px + clamp(28px, 4.5vw, 64px) - 16px)) !important;
    gap: 16px !important;
  }
}
@media (min-width: 701px) and (max-width: 900px) {
  .be-single-stay.be-v44-isolated .be-single-layout {
    grid-template-columns: minmax(0, 1fr) minmax(300px, 318px) !important;
    gap: 16px !important;
  }
}

/* Optional per-image highlight labels configured in Stay Gallery Images. */
.be-single-gallery-tile .be-gallery-highlight-caption{position:absolute;left:14px;right:14px;bottom:14px;z-index:2;width:max-content;max-width:calc(100% - 28px);box-sizing:border-box;color:#fff;font-size:10px;line-height:1.35;letter-spacing:.07em;text-transform:uppercase;font-weight:700;padding:8px 11px;border:1px solid rgba(255,255,255,.28);background:rgba(22,39,31,.34);backdrop-filter:blur(10px);border-radius:999px;text-shadow:0 1px 3px rgba(0,0,0,.22)}


/* v5.3.42: prevent UI flicker while booking selections recalculate. */
.be-wrapper .be-checkbox-item input[type=checkbox],
.be-wrapper .be-radio-item input[type=radio],
.be-wrapper .be-service-item input[type=checkbox],
.be-wrapper .be-service-item input[type=radio],
.be-wrapper input[type=checkbox],
.be-wrapper input[type=radio] {
  animation: none !important;
  transition: none !important;
  outline-offset: 2px;
}
.be-wrapper .be-checkbox-item,
.be-wrapper .be-radio-item,
.be-wrapper .be-service-item {
  animation: none !important;
  transition: none !important;
}
.be-wrapper #discount-global,
.be-wrapper #discount-saved {
  animation: none !important;
  transition: none !important;
}
.be-single-stay .be-single-booking-form .be-wrapper input[type=checkbox],
.be-single-stay .be-single-booking-form .be-wrapper input[type=radio] {
  animation: none !important;
  transition: none !important;
}


/* v5.3.130 — premium nightly-price header */
.be-single-booking-card{
    border:1px solid #dce6dc;
    border-radius:20px;
    box-shadow:0 16px 42px rgba(31,65,48,.09),0 2px 8px rgba(31,65,48,.035);
}
.be-single-booking-top{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    padding:25px 24px 21px;
    background:
      radial-gradient(ellipse at 100% 0%,rgba(211,224,197,.72) 0%,rgba(211,224,197,0) 48%),
      linear-gradient(135deg,#f5f7f0 0%,#edf3e9 58%,#e8f0e6 100%);
    border-bottom:1px solid #dce7d9;
}
.be-single-booking-top:after{
    content:"";
    position:absolute;
    z-index:-1;
    width:150px;height:150px;
    right:-66px;top:-86px;
    border:1px solid rgba(65,105,78,.12);
    border-radius:50%;
    box-shadow:0 0 0 17px rgba(65,105,78,.035),0 0 0 35px rgba(65,105,78,.025);
    pointer-events:none;
}
.be-single-booking-label{
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:6px 9px;
    border:1px solid rgba(55,94,69,.12);
    border-radius:6px;
    background:rgba(255,255,255,.58);
    color:#315b43;
    font-size:9px;
    line-height:1;
    letter-spacing:.18em;
    font-weight:850;
}
.be-single-price-line{
    position:relative;
    display:flex;
    align-items:baseline;
    gap:9px;
    flex-wrap:wrap;
    margin-top:13px;
}
.be-single-price-line strong{
    color:#173d2e;
    font-size:clamp(32px,3.2vw,38px);
    font-weight:750;
    letter-spacing:-.055em;
    line-height:1.05;
    font-variant-numeric:tabular-nums;
}
.be-single-price-line strong .woocommerce-Price-currencySymbol{font-size:.72em}
.be-single-price-line>span{
    display:inline-flex;
    align-items:center;
    padding:5px 9px;
    border:1px solid #d7e3d5;
    border-radius:999px;
    background:rgba(255,255,255,.72);
    color:#526c58;
    font-size:11px;
    font-weight:650;
    line-height:1.2;
}
#be-live-price-note{
    display:flex;
    align-items:center;
    gap:7px;
    width:max-content;
    max-width:100%;
    margin:11px 0 0;
    padding:7px 10px;
    border-radius:8px;
    background:rgba(255,255,255,.64);
    color:#526b58;
    font-size:11px;
    font-weight:600;
    line-height:1.35;
}
#be-live-price-note:before{
    content:"✓";
    display:grid;
    place-items:center;
    flex:0 0 16px;
    width:16px;height:16px;
    border-radius:50%;
    background:#dcebdd;
    color:#2d6944;
    font-size:10px;
    font-weight:900;
}
.be-single-booking-form{padding:21px 20px 16px}
.be-single-trust{padding:14px 0}
@media(max-width:760px){
    .be-single-booking-top{padding:22px 20px 18px}
    .be-single-price-line strong{font-size:34px}
    .be-single-booking-form{padding:18px 16px 14px}
}


/* v5.3.133 — compact, plain-language nightly price summary */
.be-single-booking-top{
    padding:14px 17px 12px!important;
    background:
      radial-gradient(ellipse at 100% 0%,rgba(211,224,197,.48) 0%,rgba(211,224,197,0) 44%),
      linear-gradient(135deg,#f5f7f0 0%,#edf3e9 58%,#e8f0e6 100%)!important;
}
.be-single-booking-top:after{
    width:112px!important;height:112px!important;
    right:-56px!important;top:-70px!important;
    box-shadow:0 0 0 12px rgba(65,105,78,.028),0 0 0 24px rgba(65,105,78,.018)!important;
}
.be-single-booking-label{
    padding:4px 7px!important;
    border-radius:5px!important;
    font-size:8px!important;
    letter-spacing:.14em!important;
}
.be-single-price-line{
    gap:7px!important;
    margin-top:8px!important;
    align-items:center!important;
}
.be-single-price-line strong{
    font-size:clamp(27px,2.7vw,32px)!important;
    letter-spacing:-.045em!important;
    line-height:1!important;
}
.be-single-price-line>span{
    padding:4px 8px!important;
    font-size:10px!important;
    font-weight:650!important;
}
#be-live-price-note{
    width:auto!important;
    display:inline-flex!important;
    gap:6px!important;
    margin:7px 0 0!important;
    padding:4px 8px!important;
    border-radius:6px!important;
    font-size:10px!important;
    line-height:1.25!important;
}
#be-live-price-note:before{
    flex-basis:13px!important;
    width:13px!important;height:13px!important;
    font-size:9px!important;
}
.be-single-booking-form{padding:16px 17px 13px!important}
.be-single-trust{padding:10px 0!important}
.be-single-booking-footnote{font-size:11px!important}
@media(max-width:760px){
    .be-single-booking-top{padding:13px 15px 11px!important}
    .be-single-price-line strong{font-size:29px!important}
    .be-single-booking-form{padding:14px 13px 12px!important}
}
