/* Booking Engine Elementor sections — theme-independent, scoped and responsive */
.be-ew{--be-ew-heading:#20352d;--be-ew-accent:#b99a63;box-sizing:border-box;width:100%;margin:0 0 28px;padding:clamp(18px,2.5vw,32px);background:#fff;color:#53635a;border:1px solid #e7ebe6;border-radius:18px;font:inherit;line-height:1.7;isolation:isolate}
.be-ew *{box-sizing:border-box}
.be-ew h1,.be-ew h2,.be-ew h3{margin:0 0 16px;color:var(--be-ew-heading);font-family:inherit;font-weight:650;line-height:1.15;letter-spacing:-.025em}
.be-ew h1{font-size:clamp(30px,4.2vw,54px)}.be-ew h2{font-size:clamp(23px,2.7vw,34px)}.be-ew p{margin:0 0 14px;color:inherit;font:inherit}.be-ew p:last-child{margin-bottom:0}
.be-ew-eyebrow{margin:0 0 10px;color:var(--be-ew-accent);font-size:11px;font-weight:750;letter-spacing:.16em;line-height:1.4;text-transform:uppercase}
.be-ew-muted{color:#758178!important}.be-ew-header{padding:clamp(4px,1vw,12px) 0}.be-ew-header h1{max-width:900px}.be-ew-image{display:block;width:100%;height:auto;max-height:650px;object-fit:cover;border-radius:16px}
.be-ew-gallery{display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-template-rows:clamp(125px,18vw,220px) clamp(110px,14vw,170px);gap:12px;overflow:hidden;border-radius:18px}.be-ew-gallery-item{min-width:0;min-height:0;overflow:hidden;border-radius:12px;background:#edf0eb}.be-ew-gallery-item-0{grid-row:1 / span 2}.be-ew-gallery-item img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.be-ew-gallery-item:hover img{transform:scale(1.035)}.be-ew-gallery-item-3,.be-ew-gallery-item-4{display:none}
.be-ew-copy>*:first-child{margin-top:0}.be-ew-copy>*:last-child{margin-bottom:0}.be-ew-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;list-style:none;margin:20px 0 0;padding:0;text-align:left}.be-ew-list li{display:flex;align-items:flex-start;gap:10px;min-width:0;margin:0;padding:11px 12px;border:1px solid #e9eee8;border-radius:10px;background:rgba(247,249,246,.75);font-size:.96em;line-height:1.5}.be-ew-list li span{display:inline-flex;flex:0 0 22px;width:22px;height:22px;align-items:center;justify-content:center;border-radius:50%;background:#e7efe7;color:#315a45;font-size:12px;font-weight:800}.be-ew-excluded li span{background:#f5ece6;color:#986b50}.be-ew-two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;text-align:left}.be-ew-two-col>div{padding:22px;background:#fafbf9;border:1px solid #e7ebe6;border-radius:14px}.be-ew-two-col .be-ew{padding:0;border:0;background:transparent}
.be-ew-price{display:flex;align-items:baseline;gap:8px;color:var(--be-ew-heading);font-size:clamp(25px,3vw,36px);font-weight:750;letter-spacing:-.04em}.be-ew-price small{font-size:13px;font-weight:450;letter-spacing:0;color:#78847c}.be-ew-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.be-ew-details p{padding:15px;border-radius:12px;background:#f7f9f6}.be-ew-details strong{display:inline-block;margin-bottom:5px;color:var(--be-ew-heading)}
.be-ew-button{display:inline-flex;align-items:center;justify-content:center;gap:14px;margin-top:10px;padding:13px 21px;border:1px solid #254d3e;border-radius:999px;background:#254d3e;color:#fff!important;text-decoration:none!important;font:inherit;font-weight:650;transition:transform .2s,background .2s}.be-ew-button:hover{transform:translateY(-2px);background:#18392d;color:#fff!important}.be-ew .be-wrapper{width:100%;max-width:100%;margin:0!important}.be-ew .be-wrapper *{max-width:100%}.be-ew-booking_form{scroll-margin-top:30px}.be-ew-booking_form .be-wrapper{font-size:inherit}
.be-elementor-stay-placeholder{padding:15px;border:1px dashed #b8c5bb;border-radius:8px;color:#68776d;font-size:13px}
@media(max-width:767px){.be-ew{padding:20px;border-radius:14px;margin-bottom:20px}.be-ew-gallery{grid-template-columns:1fr 1fr;grid-template-rows:220px 125px}.be-ew-gallery-item-0{grid-column:1 / span 2;grid-row:auto}.be-ew-gallery-item-3{display:block}.be-ew-list{grid-template-columns:1fr;gap:8px}.be-ew-two-col,.be-ew-details{grid-template-columns:1fr;gap:14px}.be-ew-two-col>div{padding:16px}}
@media(max-width:420px){.be-ew-gallery{grid-template-rows:180px 100px;gap:7px}.be-ew h1{font-size:30px}.be-ew h2{font-size:23px}}

/* 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.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;
}
