.photo-booking {background:#f7f8f3;color:#233d32}
.photo-booking main>.text-center{display:none}
.photo-booking .booking-section{padding:30px 0 100px;background:transparent;color:#233d32}
.photo-booking .booking-section>.container>.col-lg-7{width:100%;max-width:1200px}
.photo-booking .booking-form{max-width:none;width:100%;background:transparent;border:0;box-shadow:none!important;padding:0!important}
.photo-booking #bookingForm{--bs-gutter-x:1.5rem}
.stay-intro{padding:22px 0 16px;max-width:750px}.stay-eyebrow{font-size:.7rem;letter-spacing:.18em;font-weight:750;color:#55715c}
.stay-intro h1{font-family:inherit;font-size:clamp(2.3rem,5vw,3.6rem);margin:12px 0;letter-spacing:-.04em;color:#204a36}
.stay-intro p{color:#627366;font-size:1.05rem}.stay-steps{display:flex;gap:32px;list-style:none;padding:0;margin:12px 0 30px;font-weight:700;color:#2d6748}.stay-steps span{font-size:.85rem;margin-left:6px}
.stay-search{background:#fff;border:1px solid #dce5da;border-radius:20px;padding:24px;box-shadow:0 8px 30px #243e3110}
.stay-search h2,.stay-room-heading h2{font-family:inherit;font-size:1.65rem;margin:0 0 18px}
.stay-search .form-label{font-size:.8rem;font-weight:650}.stay-search .form-control,.stay-search .form-select{border-radius:10px!important;min-height:46px;background:#fafbf8}
.stay-rate-note{font-size:.78rem;color:#677565;margin:18px 0 0}.stay-room-heading{display:flex;justify-content:space-between;gap:20px;align-items:end;margin:36px 0 20px}.stay-room-heading h2{margin:6px 0 0}.stay-room-heading>span{max-width:380px;color:#657267;font-size:.85rem}
.stay-room-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.stay-room{border:1px solid #dee5da;border-radius:20px;overflow:hidden;background:white;transition:box-shadow .2s,border-color .2s}.stay-room.is-selected{border:2px solid #2f7650;box-shadow:0 8px 24px #2f76501c}
.stay-photo{display:block;width:100%;height:265px;border:0;padding:0;position:relative;overflow:hidden;background:#e6ece2}.stay-photo img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.stay-photo:hover img{transform:scale(1.035)}
.stay-photo-label{position:absolute;bottom:16px;left:16px;border-radius:20px;background:#fffef6ed;color:#22422e;padding:8px 14px;font-size:.8rem;font-weight:650}.stay-room-body{padding:24px}.stay-room-name{display:flex;justify-content:space-between;align-items:center}.stay-room h3{font-family:inherit;font-size:1.75rem;margin:0}.stay-selected{color:#287347;font-size:.8rem;font-weight:700}.stay-capacity{color:#6a776b;font-size:.85rem;margin:12px 0 24px}.stay-room-footer{display:flex;justify-content:space-between;align-items:center;gap:12px}.stay-price{display:block;font-size:1.3rem;color:#234d36}.stay-price-detail{display:block;color:#738072;font-size:.75rem;margin-top:3px}.stay-book{background:#285e40;color:#fff;border-radius:30px;padding:11px 18px;font-weight:650;white-space:nowrap}.stay-book:hover{background:#1b472e;color:white}.stay-book:disabled{background:#e8ede5;color:#637160;border-color:transparent}.stay-availability{font-size:.75rem;color:#55715c;margin:16px 0 0}
.stay-checkout-title{font-family:inherit;font-size:2rem;margin:30px 0 4px}.stay-checkout-fields{background:#fff;border:1px solid #dce5da;border-radius:20px;padding:24px}.stay-checkout-fields>.row{margin-top:0}.stay-summary{position:sticky;top:110px;align-self:start}.stay-summary>.card{position:static!important;border:1px solid #dce5da;border-radius:20px;box-shadow:none!important}.stay-summary .list-group-item{gap:12px;font-size:.85rem}.stay-summary .list-group-item span:last-child{text-align:right}.stay-mobile-bar{display:none}.photo-booking #stayGalleryImage{max-height:65vh;object-fit:contain;background:#f4f6f1}
@media(min-width:992px){.stay-checkout-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr);gap:28px}.stay-search #staySearchFields>.col-md-6{width:20%}}
@media(max-width:767px){.photo-booking .booking-section{padding-top:10px}.stay-room-grid{grid-template-columns:1fr}.stay-steps{gap:14px}.stay-steps span{font-size:.72rem}.stay-search{padding:18px}.stay-room-heading{display:block}.stay-room-heading>span{display:block;margin-top:12px}.stay-photo{height:235px}.stay-room-body{padding:20px}.stay-checkout-fields{padding:18px}.stay-summary{position:static;margin-top:20px}.stay-mobile-bar:not([hidden]){display:flex;position:fixed;bottom:0;left:0;right:0;z-index:1025;background:#fff;padding:12px 20px calc(12px + env(safe-area-inset-bottom));border-top:1px solid #dce5da;align-items:center;justify-content:space-between;gap:12px}.stay-mobile-bar small{display:block;color:#6a776b}.stay-mobile-bar button{background:#285e40;color:#fff;border:0;border-radius:24px;padding:10px 20px}.stay-intro h1{font-size:2.5rem}}
.stay-card-thumbnails{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:5px 5px 0}.stay-card-thumbnails button,.stay-gallery-thumbnails button{border:2px solid transparent;background:#edf2eb;padding:0;border-radius:6px;overflow:hidden}.stay-card-thumbnails img{width:100%;height:65px;object-fit:cover}.stay-gallery-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:15px 0}.stay-gallery-thumbnails{display:flex;gap:8px;overflow-x:auto;padding:4px 0}.stay-gallery-thumbnails button{flex:0 0 78px}.stay-gallery-thumbnails img{width:74px;height:56px;object-fit:cover}.stay-gallery-thumbnails button[aria-pressed="true"]{border-color:#285e40}.stay-card-thumbnails button:focus-visible,.stay-gallery-thumbnails button:focus-visible{outline:3px solid #285e40;outline-offset:2px}

/* Available accommodation carousel retains native touch scrolling. */
#stayRoomsTrack{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:4px;padding:4px 4px 18px;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#508369 #e8eee8}
#stayRoomsTrack>.stay-room{flex:0 0 calc((100% - 24px)/2);min-width:0;scroll-snap-align:start}
#stayRoomsTrack>.stay-room[hidden]{display:none}
#stayRoomsTrack:focus-visible{outline:3px solid #508369;outline-offset:4px}
@media(max-width:767px){#stayRoomsTrack>.stay-room{flex-basis:92%}#stayRoomsTrack .stay-room-footer{flex-wrap:wrap}#stayRoomsTrack .stay-book{white-space:normal}}
