/* Booking refinement. Scoped to the functional page; native controls remain native. */
.direct-booking-page .direct-booking-panel{width:min(1370px,calc(100% - 64px));padding-block:24px 36px}
.direct-booking-page #easybooking-direct #ebbeContainer{--ebCiColor:#36312f;--ebCiBgColor:#f6f4ee;--ebCiHeadingColor:#36312f;color:#36312f;font-size:16px!important;line-height:1.45}
.direct-booking-page #easybooking-direct #ebbeContainer .eb-button{font-weight:500!important;line-height:1.35!important;border-radius:2px!important;min-height:48px;text-decoration:none!important}
.direct-booking-page #easybooking-direct #ebbeContainer :is(.eb-button-ci,.eb-button-next:not(.skip),.continueBooking){background:#36312f!important;color:#fff!important;border-color:#36312f!important}
.direct-booking-page #easybooking-direct #ebbeContainer :is(.eb-button-ci,.eb-button-next:not(.skip),.continueBooking):is(:hover,:focus-visible){background:#6b6562!important;color:#fff!important;border-color:#6b6562!important}
.direct-booking-page #easybooking-direct #ebbeContainer .eb-button :is(i,svg,span){color:inherit}
.direct-booking-page #easybooking-direct #ebbeContainer button:focus-visible{outline:2px solid #796336!important;outline-offset:3px!important}
.direct-booking-page #easybooking-direct #ebbeContainer :is(button,a)[disabled]{cursor:not-allowed}
.direct-booking-page #easybooking-direct #ebbeContainer .stepButtons{display:flex!important;align-items:center;justify-content:space-between;gap:14px;padding:24px 0 8px!important;margin:0!important;clear:both}
.direct-booking-page #easybooking-direct #ebbeContainer .stepButtons :is(.prevStep,.nextStep){min-width:180px;margin:0!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeHeader{margin:0 0 22px!important;padding:0!important;min-height:0!important;align-items:start}
.direct-booking-page #easybooking-direct #ebbeContainer #topnav{gap:6px;padding:0;margin:0;counter-reset:booking-step}
.direct-booking-page #easybooking-direct #ebbeContainer #topnav li{counter-increment:booking-step;min-width:0}
.direct-booking-page #easybooking-direct #ebbeContainer #topnav .step-button{height:76px;min-height:76px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:8px 6px!important;border-radius:2px!important;border:1px solid #ded8ce!important;border-bottom:3px solid #a39a8b!important;background:#f3f0e9!important;color:#514b46!important;opacity:1!important}
.direct-booking-page #easybooking-direct #ebbeContainer #topnav .step-button::before{content:counter(booking-step);display:grid;place-items:center;width:24px;height:24px;border:1px solid #aca292;border-radius:50%;font:500 12px/1 var(--sans);color:inherit}
.direct-booking-page #easybooking-direct #ebbeContainer #topnav .step-button .icon{display:none}
.direct-booking-page #easybooking-direct #ebbeContainer #topnav .step-button .description{display:block!important;font:500 11px/1.25 var(--sans)!important;color:inherit!important;text-transform:none}
.direct-booking-page #easybooking-direct #ebbeContainer #topnav .active .step-button{border-color:#9d8248!important;border-bottom-color:#9d8248!important;background:#ece6da!important;color:#36312f!important}
.direct-booking-page #easybooking-direct #ebbeContainer #topnav .step-button:hover:not(:disabled){background:#e6dfd2!important;color:#36312f!important}
.direct-booking-page #easybooking-direct #ebbeContainer .shoppingCartSum{background:#6b6562!important;color:#fff!important;border:0!important;border-radius:3px!important;box-shadow:none!important;min-height:76px!important;padding:12px 18px!important}
.direct-booking-page #easybooking-direct #ebbeContainer .shoppingCartSum *{color:#fff!important}
.direct-booking-page #easybooking-direct #ebbeContainer .shoppingCartSum .totalPrice{font-size:25px!important;line-height:1.25!important}

/* Clear selectors with actual check marks, including provider-checked states. */
.direct-booking-page #easybooking-direct #ebbeContainer :is(#ebbeStepOne,#ebbeStepThree,#ebbeStepFour) :is(label.eb-checkbox,label.eb-radio){position:relative;display:flex!important;align-items:flex-start!important;gap:11px!important;cursor:pointer;min-height:44px;line-height:1.5!important}
.direct-booking-page #easybooking-direct #ebbeContainer :is(#ebbeStepOne,#ebbeStepThree,#ebbeStepFour) :is(label.eb-checkbox,label.eb-radio)::before,
.direct-booking-page #easybooking-direct #ebbeContainer :is(#ebbeStepOne,#ebbeStepThree,#ebbeStepFour) :is(label.eb-checkbox,label.eb-radio)::after,
.direct-booking-page #easybooking-direct #ebbeContainer :is(#ebbeStepOne,#ebbeStepThree,#ebbeStepFour) :is(label.eb-checkbox,label.eb-radio)>span::before,
.direct-booking-page #easybooking-direct #ebbeContainer :is(#ebbeStepOne,#ebbeStepThree,#ebbeStepFour) :is(label.eb-checkbox,label.eb-radio)>span::after{content:none!important;display:none!important}
.direct-booking-page #easybooking-direct #ebbeContainer :is(#ebbeStepOne,#ebbeStepThree,#ebbeStepFour) :is(label.eb-checkbox,label.eb-radio)>input:is([type=checkbox],[type=radio]){appearance:none!important;-webkit-appearance:none!important;position:static!important;display:inline-block!important;flex:0 0 24px!important;width:24px!important;min-width:24px!important;height:24px!important;min-height:24px!important;padding:0!important;margin:1px 0 0!important;opacity:1!important;visibility:visible!important;border:2px solid #6b6562!important;border-radius:3px!important;background:#fff!important;box-shadow:none!important;transform:none!important;cursor:pointer}
.direct-booking-page #easybooking-direct #ebbeContainer :is(#ebbeStepOne,#ebbeStepThree,#ebbeStepFour) label.eb-radio>input[type=radio]{border-radius:50%!important}
.direct-booking-page #easybooking-direct #ebbeContainer :is(#ebbeStepOne,#ebbeStepThree,#ebbeStepFour) :is(label.eb-checkbox,label.eb-radio)>input:checked{background:#36312f!important;border-color:#36312f!important}
.direct-booking-page #easybooking-direct #ebbeContainer :is(#ebbeStepOne,#ebbeStepThree,#ebbeStepFour) label.eb-checkbox>input:checked{background:#36312f url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m5 12 4 4L19 6' fill='none' stroke='white' stroke-width='3'/%3E%3C/svg%3E") center/19px no-repeat!important}
.direct-booking-page #easybooking-direct #ebbeContainer :is(#ebbeStepOne,#ebbeStepThree,#ebbeStepFour) label.eb-radio>input:checked{box-shadow:inset 0 0 0 4px #fff!important}
.direct-booking-page #easybooking-direct #ebbeContainer :is(#ebbeStepOne,#ebbeStepThree,#ebbeStepFour) label:has(input:focus-visible){outline:2px solid #796336!important;outline-offset:4px}

/* Step one: dates, then guests. One column on every device. */
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepOneForm{display:flex!important;flex-direction:column;gap:18px!important;max-width:100%;width:100%}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepOneForm>.stepOneDates{width:100%!important;padding:20px!important;background:#f6f4ee!important;border-radius:3px!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepOneForm>.stepOneRooms{width:100%!important;display:grid;gap:14px;margin:0!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepOneForm .oneRoom{width:100%!important;padding:20px!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepOneForm .oneRoom>.row{display:grid!important;grid-template-columns:minmax(160px,1fr) minmax(0,1fr) minmax(0,1fr)!important;gap:24px!important;align-items:center}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepOneForm .oneRoom>.row>.rooms{grid-column:auto!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepOneForm .oneRoom h4{font:400 22px/1.2 var(--serif)!important;margin:0!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepOneForm .rooms header{display:flex;align-items:flex-start;gap:12px}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepOneForm .rooms header h4{flex:1;min-width:0}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepOneForm .rooms header .delete-room{flex:0 0 42px}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepOneForm #ebbeContinue{align-self:flex-end!important;min-width:220px!important;margin:0!important}
.direct-booking-page #easybooking-direct #ebbeContainer .website-date-range{margin:0 0 14px;max-width:760px}
.direct-booking-page #easybooking-direct #ebbeContainer .website-date-range-trigger{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding:12px 18px;min-height:72px;border:1px solid #c7bdad!important}
.direct-booking-page #easybooking-direct #ebbeContainer .website-date-range-value+.website-date-range-value{border-left:1px solid #ded8ce;padding-left:24px}
.direct-booking-page #easybooking-direct #ebbeContainer .website-date-range-value strong{font:500 17px/1.3 var(--sans);color:#36312f}
.direct-booking-page #easybooking-direct #ebbeContainer .website-date-range-native-row{margin:0!important;padding:0!important;width:100%!important;min-width:0!important}
.direct-booking-page #easybooking-direct #ebbeContainer .website-date-range-native-row>:nth-child(4){flex:1 1 100%!important;width:100%!important;max-width:100%!important;min-width:0!important;padding:0!important}
.direct-booking-page #easybooking-direct #ebbeContainer .website-date-range-native-row :is(.control-group,.controls){width:100%!important;max-width:100%!important;min-width:0!important}
.direct-booking-page #easybooking-direct #ebbeContainer .website-date-range-native-row select{width:100%!important;max-width:100%!important;min-width:0!important}
.direct-booking-page #easybooking-direct #ebbeContainer .website-date-range-native-row label{font-size:13px!important;line-height:1.4!important;margin-bottom:7px!important}
.direct-booking-page .booking-personal-help{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 26px;margin:20px 0 0;border:1px solid #ded8ce;border-left:3px solid #b9a056;background:#f6f4ee;text-align:left}
.booking-personal-help strong{display:block;font:400 29px/1.15 var(--serif);margin-bottom:5px;color:#36312f}
.booking-personal-help span{font:400 14px/1.45 var(--sans)}
.booking-help-actions{display:flex;gap:12px;flex-wrap:wrap}
.direct-booking-help .booking-help-actions .button{min-width:205px;min-height:48px;font-size:14px;text-decoration:none;white-space:normal}
.direct-booking-help .booking-help-actions .button.primary{color:#fff!important}
.direct-booking-help .booking-help-actions .button.primary:is(:hover,:focus-visible){color:#fff!important;background:#6b6562}

/* Compact, image-led room grid. */
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .vr-room-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch;margin:0!important;padding:0!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .stepTwoOneRoom{display:flex;flex-direction:column;min-width:0;width:100%;margin:0!important;border:1px solid #ded8ce!important;border-radius:3px!important;background:#fff;box-shadow:0 5px 20px #36312f07;overflow:hidden}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .stepTwoRoomDescription{display:flex!important;flex-direction:column;gap:0!important;padding:0!important;flex:1;min-width:0}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .stepTwoRoomDescriptionLeft{position:relative;min-width:0;max-width:100%;width:100%!important;overflow:hidden}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .swiper{height:auto!important;width:100%!important;max-width:100%;aspect-ratio:1.5!important;border-radius:0!important;overflow:hidden}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .swiper-wrap{height:100%!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .swiper-img{height:100%!important;object-fit:cover}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .stepTwoRoomDescriptionMiddle{padding:20px 20px 12px!important;width:100%!important;flex:1}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .stepTwoRoomHeading .category{font:400 clamp(25px,2.15vw,31px)/1.08 var(--serif)!important;letter-spacing:-.015em;margin:0 0 12px!important;color:#36312f!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .stepTwoRoomBasics{font-size:14px!important;gap:8px 14px!important;margin:0!important;line-height:1.4}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .stepTwoRoomBasics :is(.floorplan:empty,.floorplan:not(:has(*))){display:none}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .stepTwoRoomDescriptionText{display:none!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .stepTwoRoomDescriptionRight{width:100%!important;padding:0 20px!important;margin:0!important;flex-shrink:0}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .price{display:flex;flex-direction:column;gap:3px;line-height:1.4}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .nights{font-size:12px!important;color:#6b6562!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .currentPrice{font:400 31px/1.2 var(--serif)!important;color:#36312f!important;margin:0!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .showPriceDetailsInPopover{font-size:12px!important;min-height:32px;display:inline-flex;align-items:center;align-self:flex-start;color:#514b46!important;text-decoration:underline;text-underline-offset:3px}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .stepTwoRoomFooter{display:flex!important;align-items:center;justify-content:space-between;gap:12px!important;flex-wrap:nowrap!important;margin:14px 20px 0!important;padding:16px 0 20px!important;border-top:1px solid #ded8ce!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .stepTwoRoomFooter .stepTwoRoomButtons{display:flex!important;margin:0 0 0 auto!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .stepTwoRoomFooter .select-item{font-size:14px!important;min-width:0!important;padding:12px 17px!important;min-height:48px!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .stepTwoRoomFooter .roomDetails{min-width:0!important;min-height:48px!important;padding:10px 0!important;font-size:14px!important;color:#514b46!important;text-decoration:underline!important;text-underline-offset:4px}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .roomSketch{display:none!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .vr-room-scarcity{position:absolute;z-index:2;top:12px;left:12px;max-width:calc(100% - 24px);padding:6px 10px!important;border-radius:2px;background:#36312fe8!important;color:#fff!important;font:500 11px/1.4 var(--sans)!important;box-shadow:0 2px 12px #0001}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .stepTwoRoomOverview{width:100%!important;transform:none!important;margin:0 0 12px!important;padding:0!important;border:0!important;background:none!important;gap:7px!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .stepTwoRoomOverview :is(.title,.persons,.dates){font-size:13px!important;line-height:1.35!important;padding:8px 12px!important;background:#f0ece4!important;color:#514b46!important;border:1px solid #ddd5c8!important;max-width:100%!important;white-space:normal}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .website-availability-switcher{margin:0 0 22px!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .website-availability-heading{font:400 29px/1.4 var(--serif)!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .eb-button-swipe-next,
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .eb-button-swipe-previous{min-width:38px!important;width:38px!important;height:38px!important;min-height:38px!important;padding:0!important;border-radius:50%!important;border:1px solid #d7d1c4!important;background:#fffffff0!important;color:#36312f!important}

/* Native availability data, one aligned month; scrolling stays within the table. */
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwoNoResults,
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwoNoResultsAvailabilityWidget{width:100%;margin:0!important;padding:0!important}
.direct-booking-page #easybooking-direct #ebbeContainer .stepTwoNoResults{display:block!important;background:#fff3ef!important;border:1px solid #d89b88!important;border-left:4px solid #a0472c!important;border-radius:3px;padding:22px 24px!important;margin:0!important;color:#633923!important}
.direct-booking-page #easybooking-direct #ebbeContainer .vr-no-availability-copy h2{font:400 29px/1.15 var(--serif)!important;color:#633923;margin:0 0 8px!important}
.direct-booking-page #easybooking-direct #ebbeContainer .vr-no-availability-copy p{font-size:15px;line-height:1.5;margin:0 0 16px}
.vr-no-availability-actions{display:flex;gap:12px;flex-wrap:wrap}
.vr-no-availability-actions .button{background:#fff!important;color:#633923!important;border:1px solid #b8826e!important;min-width:170px;min-height:46px;padding:10px 18px;font-size:14px}
.vr-no-availability-actions .button:hover{background:#f4e3d9!important}
.direct-booking-page #easybooking-direct #ebbeContainer .vr-availability-ready{--vr-room-width:190px;--vr-days:31;width:100%!important;max-width:100%;padding:20px 0!important;border:0!important;margin:0!important}
.direct-booking-page #easybooking-direct #ebbeContainer .vr-availability-intro h3{font:400 29px/1.1 var(--serif)!important;margin:0 0 8px!important}
.vr-availability-intro p{font-size:14px;line-height:1.5;margin:0 0 20px;max-width:820px}
.direct-booking-page #easybooking-direct #ebbeContainer .vr-availability-ready .eb-availability-form{display:flex!important;align-items:end;justify-content:space-between;gap:12px;margin:0 0 16px!important;padding:0!important;border:0!important;background:none!important}
.direct-booking-page #easybooking-direct #ebbeContainer .vr-availability-ready .eb-availability-form-input{display:block!important;float:none!important;flex:0 1 260px;width:auto!important;padding:0!important}
.direct-booking-page #easybooking-direct #ebbeContainer .vr-availability-ready .eb-availability-form-input label{display:block;margin:0 0 5px!important;font-size:12px!important;color:#6b6562}
.direct-booking-page #easybooking-direct #ebbeContainer .vr-availability-ready select{width:100%!important;min-width:0!important;font-size:15px!important;height:46px!important;border:1px solid #bdb2a1!important;background:#fff!important;color:#36312f!important;border-radius:2px!important;padding:8px 12px!important}
.direct-booking-page #easybooking-direct #ebbeContainer :is(.vr-availability-previous,.vr-availability-next){height:46px;min-width:180px;padding:10px 15px!important;border:1px solid #bdb2a1!important;background:#f6f4ee!important;color:#36312f!important;font-size:13px!important}
.direct-booking-page #easybooking-direct #ebbeContainer :is(.vr-availability-previous,.vr-availability-next):disabled{opacity:.4!important;cursor:not-allowed}
.direct-booking-page #easybooking-direct #ebbeContainer .vr-availability-ready :is(.eb-availability-month-header,.eb-availability-legend){display:none!important}
.vr-availability-scroll{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;border:1px solid #ded8ce;border-radius:3px;background:#faf9f6}
.vr-availability-day-labels{display:grid;grid-template-columns:var(--vr-room-width) minmax(930px,1fr);width:100%;min-width:calc(var(--vr-room-width) + 930px);color:#6b6562;border-bottom:1px solid #ded8ce}
.vr-availability-room-label{position:sticky;left:0;z-index:2;background:#f6f4ee;font-size:13px;padding:16px 12px}
.vr-availability-day-labels>div{display:grid;grid-template-columns:repeat(var(--vr-days),minmax(0,1fr));align-items:center}
.vr-availability-day-labels>div>span{display:flex;flex-direction:column;align-items:center;gap:3px;padding:7px 0;line-height:1.2;border-left:1px solid #ece6da}
.vr-availability-day-labels small{font-size:10px}.vr-availability-day-labels strong{font-size:12px}
.direct-booking-page #easybooking-direct #ebbeContainer .vr-availability-ready .eb-availability-categories{position:static!important;width:100%!important;min-width:calc(var(--vr-room-width) + 930px);left:0!important;overflow:visible!important}
.direct-booking-page #easybooking-direct #ebbeContainer .vr-availability-ready .eb-availability-onecat{display:grid!important;grid-template-columns:var(--vr-room-width) minmax(930px,1fr);position:relative!important;height:auto!important;min-height:52px!important;margin:0!important;padding:0!important;border:0!important;border-bottom:1px solid #ded8ce!important}
.direct-booking-page #easybooking-direct #ebbeContainer .vr-availability-ready .eb-availability-onecat-name{position:sticky!important;left:0!important;z-index:2!important;display:flex!important;align-items:center;padding:10px 12px!important;width:auto!important;height:auto!important;background:#fff!important;border-right:1px solid #ded8ce!important}
.direct-booking-page #easybooking-direct #ebbeContainer .vr-availability-ready .eb-availability-onecat-name h3{font:500 12px/1.3 var(--sans)!important;margin:0!important;color:#514b46!important}
.direct-booking-page #easybooking-direct #ebbeContainer .vr-availability-ready .eb-availability-onecat-calendar{position:static!important;width:100%!important;height:auto!important;min-height:52px!important;overflow:visible!important;margin:0!important;padding:0!important}
.direct-booking-page #easybooking-direct #ebbeContainer .vr-availability-ready .eb-onecat-onemonth:not([hidden]){position:static!important;display:grid!important;grid-template-columns:repeat(var(--vr-days),minmax(0,1fr))!important;grid-template-rows:52px!important;width:100%!important;height:52px!important;left:0!important;top:0!important;margin:0!important;float:none!important}
.direct-booking-page #easybooking-direct #ebbeContainer .vr-availability-ready .eb-onecat-onemonth[hidden]{display:none!important}
.direct-booking-page #easybooking-direct #ebbeContainer .vr-availability-ready .eb-oneweek{display:contents!important}
.direct-booking-page #easybooking-direct #ebbeContainer .vr-availability-ready .eb-oneday{position:relative!important;display:block!important;float:none!important;grid-row:1;grid-column:var(--vr-day);width:100%!important;height:52px!important;margin:0!important;border:1px solid #fff!important;background:#f3ceca!important;color:#69342b!important}
.direct-booking-page #easybooking-direct #ebbeContainer .vr-availability-ready .eb-oneday.empty{display:none!important}
.direct-booking-page #easybooking-direct #ebbeContainer .vr-availability-ready .eb-oneday.arrival-free{background:#dce7c1!important;color:#344126!important}
.direct-booking-page #easybooking-direct #ebbeContainer .vr-availability-ready .eb-oneday.past{background:#ebe9e4!important;color:#878078!important}
.direct-booking-page #easybooking-direct #ebbeContainer .vr-availability-ready .eb-date-day{display:grid!important;place-items:center;width:100%!important;height:100%!important;font:500 12px/1 var(--sans)!important;color:inherit!important;cursor:pointer}
.direct-booking-page #easybooking-direct #ebbeContainer .vr-availability-ready .eb-date-day:is(:hover,:focus-visible){box-shadow:inset 0 0 0 2px #514b46!important;outline:none!important;color:#36312f!important}
.direct-booking-page #easybooking-direct #ebbeContainer .vr-availability-ready .eb-oneday:is(.selected,.selected-arrival,.selected-departure,.highlighted,.highlight){background:#b9a056!important;color:#36312f!important}
.vr-availability-legend{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:12px;font-size:12px;line-height:1.4;color:#6b6562}
.vr-availability-legend .is-free::before,.vr-availability-legend .is-blocked::before{content:'';display:inline-block;vertical-align:-1px;width:11px;height:11px;margin-right:6px;background:#dce7c1;border:1px solid #8d9f63}
.vr-availability-legend .is-blocked::before{background:#f3ceca;border-color:#bd8174}
.vr-availability-scroll-hint{display:none}
.vr-availability-choice{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:20px}
.vr-availability-choice p{font-size:14px;line-height:1.5;margin:0}
.direct-booking-page #easybooking-direct #ebbeContainer .vr-availability-search{padding:12px 20px!important;min-width:230px!important;font-size:14px!important}
.direct-booking-page #easybooking-direct #ebbeContainer .vr-availability-search:disabled{background:#e7e1d8!important;color:#756b61!important;border-color:#d4c9bb!important;opacity:1!important}

/* Extras expand deliberately. Empty provider sections occupy no grid slots. */
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepThree.vr-extras-refined>.stepThreeHeader{height:auto!important;padding:0!important;margin:0 0 24px!important;display:block!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepThree .stepThreeHeader>.vr-extras-actions{display:flex!important;justify-content:center;gap:14px;flex-wrap:wrap}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepThree .vr-extras-actions .eb-button{min-width:230px;min-height:50px!important;font-size:14px!important;padding:12px 20px!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepThree[data-vr-extras-open=false]>.website-service-card-list{display:none!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepThree>.website-service-card-list{width:100%!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px!important;margin:0 0 24px!important;align-items:start}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepThree .website-service-card-list :is(.stepThreeProductOne,.extra-product-item-content,.insurance-element:not([hidden])){grid-column:auto!important;grid-row:auto!important;height:auto!important;min-height:300px!important;max-height:none!important;align-self:stretch;min-width:0;padding:20px!important;display:flex!important;flex-direction:column;gap:12px;border-radius:3px!important;box-shadow:none!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepThree .website-service-card-list :is(.extra-product-item-content,.insurance-element)>*{flex-shrink:0}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepThree .website-service-card-list :is(.extra-product-item-content,.insurance-element)::before{width:calc(100% + 40px)!important;margin:-20px -20px 2px!important;height:120px!important;flex:0 0 120px!important;border-radius:2px 2px 0 0!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepThree .website-service-card-list .insurance-element::before{display:none!important;content:none!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepThree .vr-insurance-logo{width:180px;height:70px;object-fit:contain;object-position:left center;margin:-2px 0 0}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepThree .website-insurance-title{display:none!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepThree .website-insurance-description{order:2;font-size:13px!important;line-height:1.5!important;margin:0!important;min-height:0!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepThree .insurance-element .eb-radio{order:1!important;font-size:16px!important;line-height:1.4!important;margin:0!important;padding:0!important;min-height:0!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepThree .website-insurance-details{order:3;position:static!important;align-self:start!important;min-height:40px!important;display:flex!important;align-items:center;font-size:14px!important;color:#514b46!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepThree .website-insurance-price{order:4!important;position:static!important;align-self:end!important;margin-top:auto!important;font-size:20px!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepThree :is(.extra-product-item-details,.extra-product-item-settings){position:static!important;max-width:100%!important;width:auto!important;margin:0!important;min-height:0}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepThree .extra-product-item-details{order:3;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:16px!important;margin-top:auto!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepThree .extra-product-item-hint{font-size:12px}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepThree .extra-product-hint small{position:static!important;display:block;font-size:12px!important;line-height:1.4!important;color:#6b6562!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepThree .extra-product-item-settings{order:4;width:85px!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepThree .extra-product-item-header .eb-checkbox{font-size:16px!important;margin:0!important;grid-template-columns:none}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepThree .website-insurance-consent{order:5!important;font-size:13px!important;line-height:1.5!important;padding:16px!important;margin-top:4px!important;border:1px solid #c9bdab!important;background:#f6f4ee!important;border-radius:2px!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepThree .website-insurance-consent .label{font-size:13px!important;line-height:1.5!important;color:#514b46!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepThree .insurance-element.website-insurance-selected{outline:2px solid #9d8248!important;outline-offset:0;min-height:0!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepThree #ebbeStepThreeCommentsWrapper{padding:20px!important;margin:0!important;border:1px solid #ded8ce;background:#faf9f6;border-radius:3px}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepThree #ebbeStepThreeCommentsWrapper h4{font-size:16px!important;margin:0 0 12px!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepThree #ebbeStepThreeComments{min-height:95px}

/* Personal details and clear payment choices. */
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepFour :is(.form-header,.form-section,#ebbeStepFourBookingSummary,#ebbeBookingSummary>fieldset){border-radius:3px!important;box-shadow:none!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepFour .bookingStatusOption{position:relative;margin:0 0 22px!important;padding:0!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepFour .bookingStatusOption>.form-group{margin:0!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepFour .bookingStatusOption>.form-group>label{padding:14px 16px!important;min-height:56px!important;border:1px solid #bcb1a0!important;border-radius:2px!important;background:#fff!important;font-size:16px!important;color:#514b46!important;align-items:center!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepFour .bookingStatusOption>.form-group>label:has(input:checked){border-color:#9d8248!important;background:#f0eadd!important;color:#36312f!important;box-shadow:inset 0 0 0 1px #9d8248}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepFour .bookingStatusOption>.form-group>label:hover{background:#f6f4ee!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepFour .check-list{display:flex;gap:9px 18px;flex-wrap:wrap;font-size:16px!important;color:#514b46!important;margin:14px 0!important;line-height:1.4}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepFour .check-list i{color:#796336!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepFour :is(.bookingStatusDescription,.offerStatusWrap>p){font-size:14px;line-height:1.55;margin:12px 0 18px!important;color:#6b6562}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepFour .vr-pci-logo{float:right;width:65px!important;height:54px!important;object-fit:contain;margin:-6px 0 6px 15px}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepFour .bookingStatusWrap>.form-group{margin-right:80px!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepFour .pciShieldWrap{height:auto!important;max-height:none!important;overflow:visible!important;container:vr-pci / inline-size}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepFour .pciShieldWrap iframe{display:block;width:100%!important;height:760px!important;min-height:760px!important;max-height:none!important;border:0!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepFour .agreeInformation{font-size:13px!important;line-height:1.55!important;color:#514b46!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepFour .agreeInformation a{color:#514b46!important;text-decoration:underline;text-underline-offset:3px}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepFour #ebbeStepFourSubmit .button-label{font-size:clamp(10px,1.1vw,14px)!important;visibility:visible!important;color:#fff!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepFour #ebbeStepFourSubmit .button-label::after{display:none!important;content:none!important}
.direct-booking-page #easybooking-direct #ebbeContainer .vr-delete-control{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;padding:8px!important;border:0!important;outline:0;background:#ede8df!important;color:#514b46!important;border-radius:2px!important;box-shadow:none!important}
.direct-booking-page #easybooking-direct #ebbeContainer .vr-delete-control :is(i,svg){color:#514b46!important;fill:currentColor;font-size:20px}
.direct-booking-page #easybooking-direct #ebbeContainer .vr-delete-control:hover{background:#dfd7c9!important;color:#36312f!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeFooter{min-height:50px!important;padding:14px 0 0!important;gap:10px}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeFooter>.pciLogo{display:none}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeFooter .information{font-size:12px!important}

/* Room, price and contractual information share one accessible dialog shell. */
.vr-booking-dialog-open{overflow:hidden}
.vr-booking-dialog{width:min(900px,calc(100vw - 36px));max-height:calc(100dvh - 40px);padding:0;border:1px solid #d7d1c4;border-radius:4px;background:#fff;color:#36312f;overflow:hidden;font:400 16px/1.6 var(--sans)}
.vr-booking-dialog[open]{display:flex;flex-direction:column}
.vr-booking-dialog::backdrop{background:#25211fe0}
.vr-booking-dialog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:22px;background:#f6f4ee;border-bottom:1px solid #ded8ce;padding:18px 24px;flex-shrink:0}
.vr-booking-dialog-toolbar h2{font:400 31px/1.1 var(--serif);letter-spacing:-.02em;margin:0}
.vr-booking-dialog-close{align-self:start;flex-shrink:0;font-size:14px;line-height:1.3;min-height:44px;padding:10px 16px;background:#36312f;color:#fff;border-radius:2px}
.vr-booking-dialog-close:hover{background:#6b6562;color:#fff}
.vr-booking-dialog-content{overflow-y:auto;overscroll-behavior:contain;padding:24px;min-height:0}
.vr-booking-dialog-content h3{font:400 27px/1.15 var(--serif);margin:24px 0 14px}
.vr-booking-dialog-content p{font-size:15px;line-height:1.6;margin:0 0 18px}
.vr-booking-dialog-content :is(.vr-room-dialog-facts,.nights){color:#6b6562;font-size:14px}
.vr-booking-dialog-image{display:block;width:100%;max-height:420px;object-fit:cover;aspect-ratio:1.65;margin-bottom:22px}
.vr-booking-dialog-content .custom-table{width:100%;border-collapse:collapse;font-size:14px}
.vr-booking-dialog-content :is(td,th){border-bottom:1px solid #ded8ce;padding:10px 5px;text-align:left;vertical-align:top}
.vr-document-frame{width:100%;height:60dvh;min-height:340px;border:0;display:block;background:#faf9f6}
.vr-document-source{display:inline-block;min-height:44px;padding-top:12px;font-size:13px;text-decoration:underline;text-underline-offset:3px;color:#514b46}
.vr-booking-dialog-content .agb-pdf-frame{height:58dvh;min-height:340px}

@media(min-width:1400px){.vr-availability-day-labels,.direct-booking-page #easybooking-direct #ebbeContainer .vr-availability-ready .eb-availability-onecat{grid-template-columns:var(--vr-room-width) minmax(0,1fr)}.vr-availability-day-labels,.direct-booking-page #easybooking-direct #ebbeContainer .vr-availability-ready .eb-availability-categories{min-width:0}}
@media(max-width:1100px){
 .direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .vr-room-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
 .direct-booking-page .booking-personal-help{align-items:flex-start;flex-direction:column;gap:18px}
 .booking-help-actions{width:100%}.direct-booking-help .booking-help-actions .button{flex:1}
 .direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepThree>.website-service-card-list{grid-template-columns:repeat(2,minmax(0,1fr))}
 .vr-availability-scroll-hint{display:block}
 .direct-booking-page #easybooking-direct #ebbeContainer .vr-availability-ready{--vr-room-width:160px}
}
@media(max-width:720px){
 .direct-booking-page .direct-booking-panel{width:calc(100% - 36px);padding-block:20px 26px}
 .direct-booking-page #easybooking-direct #ebbeContainer #ebbeHeader{display:flex!important;flex-direction:column;gap:10px;margin-bottom:20px!important}
 .direct-booking-page #easybooking-direct #ebbeContainer #ebbeHeader #ebTopNav{width:100%!important;max-width:100%!important;flex:0 0 auto!important;margin:0!important}
 .direct-booking-page #easybooking-direct #ebbeContainer #topnav{width:100%!important;display:flex!important}
 .direct-booking-page #easybooking-direct #ebbeContainer #topnav li{flex:1!important;width:25%!important}
 .direct-booking-page #easybooking-direct #ebbeContainer #topnav .step-button{height:70px;min-height:70px;gap:5px;padding:6px 3px!important}
 .direct-booking-page #easybooking-direct #ebbeContainer #topnav .step-button .description{display:block!important;font-size:9px!important;white-space:normal!important}
 .direct-booking-page #easybooking-direct #ebbeContainer .shoppingCartSum{width:100%!important;min-height:56px!important;display:flex;align-items:center;justify-content:space-between;padding:10px 16px!important}
 .direct-booking-page #easybooking-direct #ebbeContainer .shoppingCartSum .totalPrice{font-size:24px!important}
 .direct-booking-page #easybooking-direct #ebbeContainer .stepButtons{flex-direction:column!important;align-items:stretch;gap:12px;padding-top:20px!important}
 .direct-booking-page #easybooking-direct #ebbeContainer .stepButtons :is(.nextStep,.prevStep){width:100%!important;min-width:0;min-height:48px;float:none!important}
 .direct-booking-page #easybooking-direct #ebbeContainer .stepButtons .nextStep{order:0!important}.direct-booking-page #easybooking-direct #ebbeContainer .stepButtons .prevStep{order:2!important}
 .direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepOneForm>.stepOneDates{padding:16px!important}
 .direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepOneForm .oneRoom{padding:16px!important}
 .direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepOneForm .oneRoom>.row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:16px!important}
 .direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepOneForm .oneRoom>.row>.rooms{grid-column:1/-1!important}
 .direct-booking-page #easybooking-direct #ebbeContainer .website-date-range-trigger{gap:12px;padding:12px}
 .direct-booking-page #easybooking-direct #ebbeContainer .website-date-range-value+.website-date-range-value{padding-left:12px}
 .direct-booking-page #easybooking-direct #ebbeContainer .website-date-range-value strong{font-size:14px}
 .direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepOneForm #ebbeContinue{width:100%!important;min-width:0!important}
 .direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .vr-room-grid{grid-template-columns:1fr;gap:20px}
 .direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .stepTwoRoomDescriptionMiddle{padding:18px 18px 12px!important}
 .direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .stepTwoRoomHeading .category{font-size:30px!important}
 .direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .stepTwoRoomDescriptionRight{padding-inline:18px!important}
 .direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .stepTwoRoomFooter{margin-inline:18px!important;padding-bottom:18px!important}
 .direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .website-availability-heading{font-size:25px!important;line-height:1.35!important}
 .direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .stepTwoRoomOverview :is(.title,.persons,.dates){font-size:11px!important;padding:7px 9px!important}
 .direct-booking-page .booking-personal-help{padding:20px 18px;margin-top:16px}
 .booking-personal-help strong{font-size:28px}.booking-personal-help span{font-size:13px}
 .booking-help-actions{flex-direction:column;gap:10px}.direct-booking-help .booking-help-actions .button{width:100%;min-width:0;flex:auto}
 .direct-booking-page #easybooking-direct #ebbeContainer .stepTwoNoResults{padding:18px!important}
 .direct-booking-page #easybooking-direct #ebbeContainer .vr-no-availability-copy h2{font-size:26px!important}
 .vr-no-availability-copy p{font-size:14px!important}.vr-no-availability-actions{gap:10px}.vr-no-availability-actions .button{flex:1;min-width:0;padding-inline:8px;font-size:12px}
 .direct-booking-page #easybooking-direct #ebbeContainer .vr-availability-ready{--vr-room-width:125px}
 .direct-booking-page #easybooking-direct #ebbeContainer .vr-availability-ready .eb-availability-form{display:grid!important;grid-template-columns:1fr 1fr;gap:10px}
 .direct-booking-page #easybooking-direct #ebbeContainer .vr-availability-ready .eb-availability-form-input{grid-column:1/-1;grid-row:1;width:100%!important}
 .direct-booking-page #easybooking-direct #ebbeContainer :is(.vr-availability-previous,.vr-availability-next){min-width:0;width:100%;font-size:11px!important;padding:8px 6px!important}
 .vr-availability-choice{flex-direction:column;align-items:stretch;gap:12px}
 .direct-booking-page #easybooking-direct #ebbeContainer .vr-availability-search{width:100%;min-width:0!important}
 .direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepThree .vr-extras-actions{display:grid!important;grid-template-columns:1fr;gap:12px}
 .direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepThree .vr-extras-actions .eb-button{width:100%;min-width:0!important}
 .direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepThree>.website-service-card-list{grid-template-columns:1fr;gap:18px!important}
 .direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepThree .website-service-card-list :is(.stepThreeProductOne,.extra-product-item-content,.insurance-element:not([hidden])){min-height:0!important;gap:12px}
 .direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepFour .bookingStatusOption>.form-group>label{font-size:14px!important;padding:12px!important}
 .direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepFour .bookingStatusWrap>.form-group{margin-right:0!important}
 .direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepFour .vr-pci-logo{float:none;margin:0 0 12px;height:45px!important;width:60px!important}
 .direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepFour .pciShieldWrap iframe{height:760px!important;min-height:760px!important}
 .direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepFour .ebbeStepFourConditions{padding-inline:0!important}
 .direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepFour #ebbeStepFourSubmit .button-label{font-size:11px!important}
 .vr-booking-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}.vr-booking-dialog-toolbar{padding:14px 16px;gap:14px;align-items:flex-start}.vr-booking-dialog-toolbar h2{font-size:27px}.vr-booking-dialog-close{font-size:12px;padding:9px 12px;min-height:42px}.vr-booking-dialog-content{padding:18px}.vr-booking-dialog-content p{font-size:14px}.vr-document-frame{min-height:340px;height:62dvh}
}

/* Provider opacity affects the entire future step, not only its button. */
.direct-booking-page #easybooking-direct #ebbeContainer #topnav li{opacity:1!important;filter:none!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeContent{padding-top:0!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepOne{padding-top:0!important;margin-top:0!important}
@media(min-width:721px){
 .direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepOneForm>.stepOneDates{display:grid;grid-template-columns:minmax(0,1fr) 190px;align-items:end;gap:20px}
 .direct-booking-page #easybooking-direct #ebbeContainer .stepOneDates .website-date-range{margin:0;max-width:none}
 .direct-booking-page #easybooking-direct #ebbeContainer .stepOneDates:has(.vr-range-picker:not([hidden])){grid-template-columns:minmax(0,1fr)}
}

/* Provider fixed media heights and empty catering padding do not belong in the grid. */
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .stepTwoRoomDescription{height:auto!important;min-height:0!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .stepTwoRoomDescriptionLeft{height:auto!important;min-height:0!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .vr-single-board .stepTwoRoomOptions{display:none!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .stepTwoRoomDetails:not(:has(*)){display:none!important}
.direct-booking-page #easybooking-direct #ebbeContainer .vr-range-picker .calendar-grid button.calendar-day:disabled{background:transparent!important;background-image:none!important;border:0!important;border-radius:0!important;color:#aaa296!important;opacity:1!important;box-shadow:none!important}
.direct-booking-page #easybooking-direct #ebbeContainer .vr-range-picker .calendar-top button:disabled{background:transparent!important;border-color:#e4dfd6!important;color:#aaa296!important;opacity:1!important}

.direct-booking-page #easybooking-direct #ebbeContainer #ebbeHeader #topnav li.afterActive .step-button{background:#ede8de!important;border-color:#c9bfaf!important;border-bottom-color:#a79b87!important;opacity:1!important;color:#5d544b!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeHeader #topnav .step-button:disabled .description{color:#5d544b!important;opacity:1!important}

.direct-booking-page #easybooking-direct #ebbeContainer #ebbeAppWrapper #ebbeHeader #ebbeUserNav #topnav .step-button:disabled{background:#ede8de!important;border-color:#c9bfaf!important;border-bottom-color:#a79b87!important;color:#5d544b!important;opacity:1!important}
.direct-booking-page #easybooking-direct #ebbeContainer :is(label.eb-checkbox,label.eb-radio)>input{z-index:1!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepThree .stepThreeHeader .vr-extras-actions>.skip{position:static!important;inset:auto!important;float:none!important;display:inline-flex!important;width:230px!important;order:1!important;margin:0!important;background:#fff!important;border:1px solid #b6ab99!important;color:#514b46!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepThree .stepThreeHeader .vr-extras-actions>.skip:hover{background:#ece6da!important;color:#36312f!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepThree .extra-product-item-details{width:100%!important;align-self:stretch!important;float:none!important;text-align:left!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepThree .extra-product-item-details .extra-product-price{font-size:20px!important;white-space:nowrap;flex:0 0 auto}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepThree .extra-product-item-details .extra-product-hint{flex:1;min-width:0;width:auto!important;font-size:13px!important;text-align:right;white-space:normal}
.direct-booking-page #easybooking-direct #ebbeContainer .vr-availability-ready .eb-oneday.arrival-free:has(.vr-date-between){background:#e7dbb9!important}
.direct-booking-page #easybooking-direct #ebbeContainer .vr-availability-ready .eb-oneday:has(.vr-date-start,.vr-date-end){box-shadow:inset 0 0 0 2px #796336;background:#b9a056!important;color:#27221b!important}
@media(max-width:720px){.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepThree .stepThreeHeader .vr-extras-actions>.skip{width:100%!important}}

.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo #ebbeStepTwoAllChosen .continue{display:flex!important;align-items:center!important;justify-content:center!important;width:max-content!important;max-width:100%;min-height:50px!important;min-width:260px;padding:13px 22px!important;margin:20px auto!important;background:#36312f!important;border:1px solid #36312f!important;color:#fff!important;border-radius:2px!important;font:500 14px/1.4 var(--sans)!important;text-decoration:none!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo #ebbeStepTwoAllChosen .continue:is(:hover,:focus-visible){background:#6b6562!important;border-color:#6b6562!important;color:#fff!important}
.direct-booking-page #easybooking-direct #ebbeContainer .vr-delete-control::before,.direct-booking-page #easybooking-direct #ebbeContainer .vr-delete-control::after{color:#514b46!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo #ebbeStepTwoAllChosen{padding:0!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo #ebbeStepTwoAllChosen .stepTwoAllChosenMessage{margin:0 0 22px!important;padding:0!important;text-align:left!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo #ebbeStepTwoAllChosen .stepTwoAllChosenMessageHeadline{font:400 29px/1.2 var(--serif)!important;margin:0 0 8px!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo #ebbeStepTwoAllChosen .stepTwoAllChosenMessageDescription{font-size:14px!important;line-height:1.5!important;margin:0!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo #ebbeStepTwoAllChosen .stepTwoDivider{display:none!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo #ebbeStepTwoAllChosen .stepTwoCartHeadline{font:400 26px/1.2 var(--serif)!important;text-transform:none!important;letter-spacing:0!important;margin:0 0 14px!important;text-align:left!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo #ebbeStepTwoAllChosen .stepTwoCartRoomsList{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo #ebbeStepTwoAllChosen .shoppingCartOneRoom{display:grid!important;grid-template-columns:125px minmax(0,1fr) auto auto;gap:20px;align-items:center;width:100%!important;min-height:0!important;padding:20px!important;margin:0 0 12px!important;border:1px solid #ded8ce!important;box-shadow:none!important;background:#faf9f6!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo #ebbeStepTwoAllChosen .roomImage{width:125px!important;height:90px!important;margin:0!important;float:none!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo #ebbeStepTwoAllChosen .roomImage img{width:100%!important;height:100%!important;object-fit:cover!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo #ebbeStepTwoAllChosen .shoppingCartRoomDesc{width:auto!important;padding:0!important;float:none!important;min-width:0}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo #ebbeStepTwoAllChosen .roomTitle{font:400 27px/1.1 var(--serif)!important;margin:0 0 8px!important;overflow:visible!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo #ebbeStepTwoAllChosen :is(.shoppingCartDates,.persons,.nights){font-size:13px!important;line-height:1.45!important;position:static!important;margin:0!important;float:none!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo #ebbeStepTwoAllChosen .shoppingCartPrice{width:auto!important;float:none!important;display:flex!important;flex-direction:column;align-items:end;gap:8px;padding:0!important;font-size:17px!important;white-space:nowrap}
@media(max-width:720px){
 .direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo #ebbeStepTwoAllChosen .continue{width:100%!important;min-width:0!important}
 .direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo #ebbeStepTwoAllChosen .shoppingCartOneRoom{grid-template-columns:85px minmax(0,1fr);gap:14px;padding:16px!important}
 .direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo #ebbeStepTwoAllChosen .roomImage{width:85px!important;height:85px!important}
 .direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo #ebbeStepTwoAllChosen .roomTitle{font-size:23px!important}
 .direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo #ebbeStepTwoAllChosen .shoppingCartPrice{flex-direction:row;align-items:center;justify-content:space-between;width:100%!important}
}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepThree.vr-extras-refined{padding-top:0!important}
.direct-booking-page #easybooking-direct #ebbeContainer .shoppingCartSum{font-size:12px!important;line-height:1.3!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeFooter a{text-decoration:none!important;border:0!important}
@media(max-width:360px){
 .vr-booking-dialog-toolbar{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
 .vr-booking-dialog-toolbar h2{grid-row:2;font-size:23px;hyphens:none;overflow-wrap:normal}
 .vr-booking-dialog-close{grid-row:1;justify-self:end;min-height:36px}
}

/* Completed steps and a personal welcome in the future total-price position. */
.direct-booking-page #easybooking-direct #ebbeContainer #topnav .vr-step-complete .step-button::before{content:'✓';background:#d7cdbb;border-color:#b4a68f;color:#36312f;font-size:16px}
.vr-booking-welcome{display:flex;flex-direction:column;justify-content:center;gap:4px;min-height:76px;padding:12px 18px;background:#ece6da;border:1px solid #d5cbbb;border-radius:3px;color:#514b46}
.vr-booking-welcome[hidden]{display:none}
.vr-booking-welcome strong{font:400 25px/1.1 var(--serif)}
.vr-booking-welcome span{font:400 11px/1.4 var(--sans)}
.direct-booking-page #easybooking-direct[data-vr-warm-welcome=true] #ebbeContainer #ebbeHeader{display:grid!important;grid-template-columns:minmax(0,1fr) 190px;gap:16px}
.direct-booking-page #easybooking-direct[data-vr-warm-welcome=true] #ebbeContainer #ebbeUserNav{grid-column:1;grid-row:1;width:100%!important;max-width:none!important;margin:0!important}
.direct-booking-page #easybooking-direct[data-vr-warm-welcome=true] #ebbeContainer #ebTopNav{width:100%!important;max-width:none!important;margin:0!important}
.direct-booking-page #easybooking-direct[data-vr-warm-welcome=true] #ebbeContainer #ebbeShoppingCart{display:none!important}
.direct-booking-page #easybooking-direct[data-vr-warm-welcome=true] .vr-booking-welcome{grid-column:2;grid-row:1}

/* Titles and native selection controls stay on the same compact card. */
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .stepTwoOneRoom :is(.stepTwoRoomDescriptionMiddle,.stepTwoRoomDescriptionRight,.stepTwoRoomHeading,.category,.price,.nights,.currentPrice){text-align:left!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .stepTwoRoomHeading{display:grid!important;grid-template-columns:minmax(0,1fr) 36px;align-items:start;gap:7px;width:100%}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .stepTwoRoomHeading .category{min-width:0;overflow-wrap:normal;hyphens:none}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .stepTwoRoomHeading .roomDetails{display:grid!important;place-items:center;width:36px!important;height:42px!important;min-width:36px!important;min-height:42px!important;margin:-6px -6px 0 0!important;padding:0!important;border:0!important;border-radius:3px!important;background:transparent!important;color:#514b46!important;font:500 30px/1 var(--sans)!important;text-decoration:none!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .stepTwoRoomHeading .roomDetails:hover{background:#f0ece4!important;color:#36312f!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .stepTwoRoomDescriptionMiddle{padding-bottom:18px!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .stepTwoRoomDescriptionRight{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;width:calc(100% - 40px)!important;padding:16px 0 20px!important;margin:0 20px!important;border-top:1px solid #ded8ce!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .stepTwoRoomDescriptionRight>.price{grid-column:1;grid-row:1;min-width:0;align-items:flex-start!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .stepTwoRoomDescriptionRight>.stepTwoRoomFooter{grid-column:2;grid-row:1;display:flex!important;justify-content:flex-end;align-items:center;margin:0!important;padding:0!important;border:0!important;width:auto!important;min-width:0!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .stepTwoRoomFooter .stepTwoRoomIcons2{display:none!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .stepTwoRoomFooter .select-item{min-height:46px!important;padding:11px 13px!important;font-size:13px!important;white-space:normal}
.direct-booking-page #easybooking-direct[data-vr-step='2'] #ebbeContainer #ebbeStepTwo .stepButtons .nextStep{display:none!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo #ebbeStepTwoAllChosen .shoppingCartOneRoom{grid-template-areas:'image detail nights price'}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo #ebbeStepTwoAllChosen .roomImage{grid-area:image}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo #ebbeStepTwoAllChosen .shoppingCartRoomDesc{grid-area:detail;max-width:none!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo #ebbeStepTwoAllChosen .roomTitle{font-size:24px!important;line-height:1.2!important;max-width:none!important;white-space:normal!important;word-break:normal!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo #ebbeStepTwoAllChosen .shoppingCartOneRoom>.nights{grid-area:nights}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo #ebbeStepTwoAllChosen .shoppingCartPrice{grid-area:price}

/* An actual checkbox controls the provider's single optional insurance choice. */
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepThree :is(.vr-insurance-native,.selfAdminNoInsurance){display:none!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepThree label.vr-insurance-choice{order:1!important;margin:0!important;padding:0!important;font-size:16px!important;line-height:1.4!important;min-height:28px!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepThree #ebbeStepThreeCommentsWrapper :is(fieldset,.fieldset-header){border-top:0!important;border-bottom:0!important;margin-top:0!important;padding-top:0!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepThree .vr-extras-actions{padding-block:72px!important;margin:0!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepThree .vr-extras-actions>.vr-extras-reveal{background:#fff!important;border:1px solid #b6ab99!important;color:#514b46!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepThree .vr-extras-actions>.vr-extras-reveal:is(:hover,:focus-visible){background:#ece6da!important;color:#36312f!important;border-color:#8a7e6b!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepThree .stepThreeHeader .vr-extras-actions>.skip{background:#36312f!important;border-color:#36312f!important;color:#fff!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepThree .stepThreeHeader .vr-extras-actions>.skip:is(:hover,:focus-visible){background:#6b6562!important;border-color:#6b6562!important;color:#fff!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepFour :is(.agreeGTCLink,.agreePrivacyPolicyLink,.agreeInformation a){color:#514b46!important;text-decoration:underline!important;text-underline-offset:3px}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepFour footer.row.buttons{margin-inline:0!important;width:100%!important}
/* The provider's sticky aside overlaps the transparent full-width back row. */
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepFour form.ebForm>footer.col-12{pointer-events:none}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepFour form.ebForm>footer.col-12 button{pointer-events:auto}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepFour :is(.ebbeStepFourConditions,[aria-invalid=true]){scroll-margin-top:130px}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepFour [aria-invalid=true]{border-color:#a04732!important;box-shadow:0 0 0 1px #a04732!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepFour .vr-field-error{font:400 13px/1.4 var(--sans);color:#903e2b;margin:7px 0 0}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepFour #ebbeStepFourSubmit{background:#36312f!important;border-color:#36312f!important;color:#fff!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepFour #ebbeStepFourSubmit:is(:hover,:focus-visible){background:#6b6562!important;border-color:#6b6562!important;color:#fff!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepFour .vr-offer-benefits span::before{content:'✓';color:#796336;margin-right:6px}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepFour .vr-offer-description{font-size:14px!important;line-height:1.5!important;margin:10px 0 0!important}

/* Prices remain provider calculated; only the read-only layout changes. */
.vr-price-table{width:100%;border-collapse:collapse;table-layout:fixed;font:400 15px/1.5 var(--sans)}
.vr-price-table caption{text-align:left;font:400 24px/1.2 var(--serif);color:#514b46;margin:0 0 20px}
.vr-booking-dialog-content .vr-price-table :is(th,td){padding:13px 8px;border-bottom:1px solid #e5dfd5;overflow-wrap:anywhere}
.vr-price-table thead{background:#f6f4ee;font-size:12px;color:#6b6562}
.vr-price-table th{font-weight:500}
.vr-price-table :is(th,td):last-child{width:32%;text-align:right;white-space:nowrap;overflow-wrap:normal}
.vr-price-table tfoot{background:#f6f4ee;font-weight:500}
.vr-price-table tfoot td{font:400 26px/1.2 var(--serif)}
.vr-price-terms{display:inline-flex;align-items:center;min-height:44px;color:#514b46;text-decoration:underline;text-underline-offset:4px;margin-top:10px;font-size:14px}

@media(prefers-reduced-motion:no-preference){
 .direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .website-availability-switcher button[aria-pressed=false]{animation:vr-alternative-pulse 4.8s ease-out 2!important}
 @keyframes vr-alternative-pulse{0%,10%,22%,100%{box-shadow:0 0 0 0 #b9a05600}5%,17%{box-shadow:0 0 0 4px #b9a05655}}
}
@container vr-pci (min-width:800px){
 .direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepFour .pciShieldWrap iframe{height:380px!important;min-height:380px!important}
}
@media(max-width:950px){
 .direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepFour form.ebForm{display:flex!important;flex-direction:column;gap:18px}
 .direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepFour form.ebForm>:is(main,aside,footer){width:100%!important;max-width:100%!important;min-width:0!important;flex:0 0 auto!important;position:static!important}
}
@media(max-width:720px){
 .direct-booking-page #easybooking-direct[data-vr-warm-welcome=true] #ebbeContainer #ebbeHeader{display:flex!important;gap:10px}
 .direct-booking-page #easybooking-direct[data-vr-warm-welcome=true] #ebbeContainer #ebbeUserNav{width:100%!important;flex:none!important}
 .vr-booking-welcome{display:none!important}
 .direct-booking-page #easybooking-direct #ebbeContainer #ebbeHeader #ebbeShoppingCart .shoppingCartSum{gap:8px;padding:10px 14px!important}
 .direct-booking-page #easybooking-direct #ebbeContainer #ebbeHeader .shoppingCartSum::after{flex:0 0 18px!important;width:18px!important;margin:0!important;font-size:18px!important}
 .direct-booking-page #easybooking-direct #ebbeContainer #ebbeHeader .totalPriceLabel{flex:1;min-width:0;font-size:10px!important;line-height:1.3!important}
 .direct-booking-page #easybooking-direct #ebbeContainer #ebbeHeader .totalPrice{flex:0 0 auto!important}
 .direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepOneForm .oneRoom h4{font-size:20px!important}
 .direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .stepTwoRoomDescriptionRight{width:calc(100% - 36px)!important;margin-inline:18px!important;padding:16px 0 18px!important}
 .direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .stepTwoRoomHeading .category{font-size:28px!important}
 .direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .currentPrice{font-size:29px!important}
 .direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo #ebbeStepTwoAllChosen .shoppingCartOneRoom{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:'detail detail' 'nights price';gap:12px;padding:16px!important}
 .direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo #ebbeStepTwoAllChosen .roomImage{display:none!important}
 .direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo #ebbeStepTwoAllChosen .roomTitle{font-size:23px!important}
 .direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo #ebbeStepTwoAllChosen .shoppingCartPrice{width:auto!important;gap:16px}
 .direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepFour .check-list{font-size:15px!important;gap:9px 14px}
 .vr-price-table{font-size:13px}.vr-price-table caption{font-size:23px}.vr-price-table tfoot td{font-size:23px}
 .vr-booking-dialog-content .vr-price-table :is(th,td){padding:12px 5px}
}
@media(max-width:360px){
 .direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .stepTwoRoomDescriptionRight{grid-template-columns:minmax(0,1fr) 100px;gap:10px}
 .direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .stepTwoRoomFooter .stepTwoRoomButtons{min-width:0!important;width:100%!important}
 .direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .stepTwoRoomFooter .select-item{width:100%!important;max-width:100%!important;padding:6px 8px!important;font-size:12px!important;line-height:1.3!important;letter-spacing:0!important}
 .direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .currentPrice{font-size:27px!important}
}

/* Round 3: date-sized room headings, lighter cards and visible loading. */
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepOneForm .oneRoom h4{font:500 17px/1.4 var(--sans)!important;letter-spacing:0!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .stepTwoOneRoom{box-shadow:0 3px 14px #36312f0e!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .stepTwoRoomDescriptionRight{padding-block:12px 8px!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .stepTwoRoomDescriptionMiddle{padding-bottom:8px!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepThree label.vr-insurance-choice>span{padding:0!important;margin:0!important;text-indent:0!important;text-align:left!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepThree .insurance-link{padding-left:0!important;margin-left:0!important;align-self:flex-start!important;text-align:left!important}
.direct-booking-page #easybooking-direct #ebbeContainer .vr-availability-ready .header-name_of_day{display:none!important}
.direct-booking-page #easybooking-direct #ebbeContainer .vr-range-picker .calendar-grid button.calendar-day{height:54px!important;min-height:54px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:5px!important}
.direct-booking-page #easybooking-direct #ebbeContainer .vr-range-picker .calendar-grid button.calendar-day .calendar-day-price{font:500 var(--calendar-price-font)/1.1 var(--sans)!important;color:inherit!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeLoading{position:fixed!important;inset:var(--header) 0 0!important;z-index:30!important;width:100%!important;height:auto!important;margin:0!important;padding:0!important;background:#faf9f6e8!important;backdrop-filter:blur(3px);pointer-events:auto}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeLoadingText{position:absolute!important;inset:0!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;width:auto!important;height:auto!important;margin:0!important;padding:26px!important;transform:none!important;text-align:center!important;color:#36312f!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeLoadingHeading{font:400 clamp(25px,3vw,36px)/1.2 var(--serif)!important;color:#36312f!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeLoadingBody{font:400 14px/1.5 var(--sans)!important;color:#6b6562!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeLoadingAnimation{display:block!important;margin:16px auto!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeLoading .ball-pulse>div{background:#9d8248!important;animation:vr-loading-pulse 1s ease-in-out infinite!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeLoading .ball-pulse>div:nth-child(2){animation-delay:.15s!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeLoading .ball-pulse>div:nth-child(3){animation-delay:.3s!important}
@keyframes vr-loading-pulse{0%,80%,100%{transform:scale(.65);opacity:.5}40%{transform:scale(1);opacity:1}}
@media(prefers-reduced-motion:reduce){.direct-booking-page #easybooking-direct #ebbeContainer #ebbeLoading .ball-pulse>div{animation:none!important}}
@media(max-width:720px){
 .direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepOneForm .oneRoom h4{font-size:14px!important}
 .direct-booking-page #easybooking-direct #ebbeContainer .vr-range-picker .calendar-grid button.calendar-day{height:50px!important;min-height:50px!important}
}
.direct-booking-page #easybooking-direct #ebbeLoadEngineContainer .bsm>div{background:#9d8248!important;border-color:#9d8248!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeLoadingText{z-index:1!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepThree label.vr-insurance-choice{justify-content:flex-start!important;text-align:left!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeLoadingText{border:0!important;background:transparent!important;box-shadow:none!important}
.direct-booking-page #easybooking-direct #ebbeLoadEngineContainer{display:none!important}
.direct-booking-page .direct-booking-status:not([hidden]){display:flex;align-items:center;justify-content:center;gap:12px;min-height:90px;font:400 16px/1.5 var(--sans);color:#514b46}
.direct-booking-page .direct-booking-status:not([hidden])::before{content:'';width:22px;height:22px;flex:0 0 22px;border:2px solid #ded8ce;border-top-color:#9d8248;border-radius:50%;animation:vr-loading-turn 1s linear infinite}
@keyframes vr-loading-turn{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.direct-booking-page .direct-booking-status:not([hidden])::before{animation:none}}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .showPriceDetailsInPopover{margin:0!important}
@media(min-width:721px){
 .direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepOneForm>.stepOneDates:has(.vr-range-picker:not([hidden])){grid-template-columns:minmax(0,1fr) 190px!important}
 .direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepOneForm>.stepOneDates:has(.vr-range-picker:not([hidden])) .website-date-range{display:contents}
 .direct-booking-page #easybooking-direct #ebbeContainer .stepOneDates:has(.vr-range-picker:not([hidden])) .website-date-range-trigger{grid-column:1;grid-row:1}
 .direct-booking-page #easybooking-direct #ebbeContainer .stepOneDates:has(.vr-range-picker:not([hidden])) .website-date-range-native-row{grid-column:2;grid-row:1}
 .direct-booking-page #easybooking-direct #ebbeContainer .stepOneDates .vr-range-picker:not([hidden]){grid-column:1/-1;grid-row:2;width:100%!important;margin-top:0!important}
}
@media(max-width:720px){
 .direct-booking-page #easybooking-direct #ebbeContainer .website-date-range .vr-range-picker{position:fixed!important;inset:calc(var(--header) + 8px) 12px auto!important;width:calc(100vw - 24px)!important;max-width:none!important;max-height:calc(100dvh - var(--header) - 20px)!important;padding:12px 10px!important;margin:0!important;z-index:60!important}
}
@media(min-width:721px){
 .direct-booking-page #easybooking-direct #ebbeContainer .website-date-range .vr-range-picker{max-height:calc(100dvh - var(--header) - 136px)!important}
}

/* Occupied nights: a clear hatch, with the explanation only on the day itself. */
.direct-booking-page #easybooking-direct #ebbeContainer .vr-range-picker .calendar-grid button.calendar-day[data-availability=unavailable]{background-image:var(--calendar-hatching)!important;color:#655f59!important;border-radius:3px!important}
.direct-booking-page #easybooking-direct #ebbeContainer .vr-range-picker .calendar-grid button.calendar-day[data-availability=available]{border-radius:4px!important}
.direct-booking-page #easybooking-direct #ebbeContainer .vr-range-picker .calendar-grid button.calendar-day[data-availability=available]:not(:disabled,.endpoint,.in-range,.preview-end,:hover,:focus-visible){background:#eeebe5!important;box-shadow:inset 0 0 0 1px #e4dfd6!important}
@media(min-width:721px) and (max-width:1024px){
 .direct-booking-page #easybooking-direct #ebbeContainer .stepOneDates .website-date-range .vr-range-picker:not([hidden]){position:fixed!important;left:50%!important;right:auto!important;top:calc(var(--header) + 12px)!important;transform:translateX(-50%)!important;width:min(760px,calc(100vw - 40px))!important;max-height:calc(100dvh - var(--header) - 24px)!important;z-index:60!important}
}

/* October mobile review: compact cards and an explicit availability switch. */
.direct-booking-page #easybooking-direct #ebbeContainer .website-availability-heading{display:flex!important;flex-wrap:nowrap!important;gap:8px!important;font-family:var(--sans)!important}
.direct-booking-page #easybooking-direct #ebbeContainer .website-availability-heading button{flex:0 1 180px!important;padding:12px 20px!important;border:1px solid #b6ab99!important;border-radius:3px!important;font:500 16px/1.4 var(--sans)!important;background:#fff!important;color:#514b46!important;animation:none!important;text-decoration:none!important}
.direct-booking-page #easybooking-direct #ebbeContainer .website-availability-heading button[aria-pressed=true]{background:#ece6da!important;border-color:#9d8248!important;color:#36312f!important;box-shadow:inset 0 -3px #9d8248!important}
.direct-booking-page #easybooking-direct #ebbeContainer .website-offers-empty{text-align:left!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .stepTwoRoomHeading{padding-top:0!important;margin-top:0!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .showPriceDetailsInPopover{display:inline-block!important;margin-top:12px!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepThree :is(h3,h4,.section-title){word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepFour :is(.request-button,.sendRequest,#ebbeSendRequest){font-size:16px!important}
.vr-booking-support-tools{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:20px}
.direct-booking-page[data-prefilled-pending] #easybooking-direct #ebbeStepOne{visibility:hidden!important}
@media(max-width:720px){
 .direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepThree .vr-extras-actions{display:flex!important;flex-direction:column!important;align-items:center!important}
 .direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepThree .vr-extras-actions>.skip{order:-1!important}
 .direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .stepTwoRoomHeading .category{font-size:26px!important}
 .direct-booking-page #easybooking-direct #ebbeContainer .vr-booking-dialog-close{border:0!important;box-shadow:none!important}
}
.direct-booking-page #easybooking-direct #ebbeContainer .website-package-empty-state{text-align:left!important}
.direct-booking-page .vr-room-selection-hint{flex-basis:100%;padding:12px 16px;background:#ece6da;color:#514b46;font:500 15px/1.5 var(--sans);margin:0 0 16px}
.vr-booking-support-tools>a{color:#6b6562;font-size:13px}
.vr-booking-support-tools .vr-accessibility-control{padding:8px 12px;min-height:42px;font:400 13px/1.4 var(--sans);background:#fff;color:#514b46;border:1px solid #b6ab99}
.vr-booking-dialog-close{border:0!important;box-shadow:none!important}
.direct-booking-page:has(.direct-booking-status:not([hidden])) #booking-step-heading{visibility:hidden}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepFour #ebbeStepFourSubmit{font-size:16px!important;line-height:1.45!important;min-height:50px!important}

/* November: payment choices remain neutral until the native radio is chosen. */
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepFour .bookingStatusOption>.form-group>label{background:#f0eadd!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepFour .bookingStatusOption>.form-group>label:has(input:checked){background:#f0eadd!important;box-shadow:none!important;border-color:#bcb1a0!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepThree .stepThreeHeader>.vr-extras-actions{flex-direction:column!important;align-items:center!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepThree .stepThreeHeader .vr-extras-actions>.skip{order:-1!important}
.direct-booking-page #easybooking-direct #ebbeContainer .toggle-accessibility-menu[hidden]{display:none!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeFooter .ebbe-footer-cancel-insurance-policy :is(i,svg),.vr-booking-support-tools :is(i,svg){display:none!important}
.vr-booking-support-tools{flex-wrap:nowrap;justify-content:center;gap:20px}
.vr-booking-support-tools .vr-accessibility-control{border:0;background:transparent;text-decoration:underline;padding:8px 0}
.vr-booking-support-tools>a{font-size:13px;line-height:1.5}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepFour :is(.prevStep,#ebbeStepFourSubmit){min-height:56px!important;height:auto!important;padding:14px 20px!important;font:500 16px/1.5 var(--sans)!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepFour #ebbeStepFourSubmit .button-label{font:inherit!important;line-height:inherit!important}
@media(max-width:720px){.vr-booking-support-tools{gap:16px;align-items:center}.vr-booking-support-tools :is(a,.vr-accessibility-control){font-size:12px;line-height:1.4;min-width:0}}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeFooter>.accessibility-menu-toggle,.direct-booking-page #easybooking-direct #ebbeContainer #ebbeFooter .mdi-shield-remove-outline{display:none!important}

/* Offers already show the package price; keep the extra price popover hidden. */
.direct-booking-page #easybooking-direct #ebbeContainer .website-special-offer :is(.togglePriceDetails,.showPriceDetailsInPopover){display:none!important}
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepFour .gtcAndGdprAgreements,
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepFour .gtcAndGdprAgreements :is(p,span,a){font-size:13px!important;line-height:1.55!important}

/* Package selection needs no extra rule above its Next action. */
.direct-booking-page #easybooking-direct #ebbeContainer #ebbeStepTwo .website-special-offer .stepTwoRoomFooter{border-top:0!important}
