.oalr-range-label { display:block; margin:0 0 7px; color:#746858; font:600 11px/1.4 Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.oalr-date-range.input { box-sizing:border-box; width:min(100%,430px) !important; min-height:46px; padding:10px 13px !important; color:#272727 !important; background:#fff !important; cursor:pointer; font:15px/1.4 Arial,sans-serif; }
.oalr-calendar-status { box-sizing:border-box; margin:10px 0 14px; max-width:min(43rem,calc(100vw - 60px)); color:#272727; font:15px/1.5 Arial,sans-serif; }
.oalr-calendar-status button { display:inline; margin-left:12px; padding:3px 0; background:none; border:0; border-bottom:1px solid currentColor; color:#303030; font:inherit; cursor:pointer; }
.oalr-calendar-status button:focus-visible { outline:2px solid #8b0000; outline-offset:3px; }
.flatpickr-calendar.oalr-booking-picker { width:616px; max-width:calc(100vw - 20px); padding-top:8px; border:1px solid #ddd; background:#fff; box-shadow:0 8px 28px #0003; }
.oalr-booking-picker .flatpickr-months,.oalr-booking-picker .flatpickr-innerContainer,.oalr-booking-picker .flatpickr-rContainer,.oalr-booking-picker .flatpickr-days { width:100%; }
.oalr-booking-picker .dayContainer { width:50%; min-width:0; max-width:none; padding:0 8px 8px; }
.oalr-booking-picker .flatpickr-day { border-radius:4px; color:#222; }
.oalr-booking-picker .flatpickr-day.oalr-calendar-policy-blocked,.oalr-booking-picker .flatpickr-day.oalr-calendar-policy-blocked:hover,.oalr-booking-picker .flatpickr-day.oalr-calendar-policy-blocked:focus { color:#b7b7b7; cursor:not-allowed; background:#fff; border-color:transparent; }
.oalr-booking-picker .flatpickr-day.oalr-calendar-booked,.oalr-booking-picker .flatpickr-day.oalr-calendar-booked:hover,.oalr-booking-picker .flatpickr-day.oalr-calendar-booked:focus { color:#a89f90; cursor:not-allowed; text-decoration:line-through; text-decoration-thickness:1.5px; text-decoration-color:#a89f90; background:repeating-linear-gradient(-45deg,#ece6d8,#ece6d8 3px,#f6f2e8 3px,#f6f2e8 6px); border-color:transparent; }
.oalr-booking-picker .flatpickr-day.oalr-calendar-checkout-only,.oalr-booking-picker .flatpickr-day.oalr-calendar-checkout-only:hover,.oalr-booking-picker .flatpickr-day.oalr-calendar-checkout-only:focus { color:#8f877a; cursor:not-allowed; background:linear-gradient(135deg,#fff 0 50%,#f6f2e8 50% 100%); border-color:#d8d0c1; }
.oalr-booking-picker .flatpickr-day.selected,.oalr-booking-picker .flatpickr-day.startRange,.oalr-booking-picker .flatpickr-day.endRange,.oalr-booking-picker .flatpickr-day.selected:hover { background:#8b0000; border-color:#8b0000; color:#fff; }
.oalr-booking-picker .flatpickr-day.inRange { background:#f3dddd; border-color:#f3dddd; box-shadow:-5px 0 0 #f3dddd,5px 0 0 #f3dddd; color:#222; text-decoration:none; }
.oalr-booking-picker .dp-foot { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; padding:10px 12px; border-top:1px solid #ddd; }
.oalr-booking-picker .dp-legends { display:flex; align-items:center; flex:1 1 190px; flex-wrap:wrap; min-width:0; gap:8px 14px; }
.oalr-booking-picker .dp-legend { display:inline-flex; align-items:center; gap:7px; color:#6d6252; font:400 12px Arial,sans-serif; }
.oalr-booking-picker .dp-legend i { width:15px; height:15px; border-radius:3px; background:repeating-linear-gradient(-45deg,#ece6d8,#ece6d8 3px,#f6f2e8 3px,#f6f2e8 6px); }
.oalr-booking-picker .dp-checkout-legend i { box-sizing:border-box; background:linear-gradient(135deg,#fff 0 50%,#f6f2e8 50% 100%); border:1px solid #d8d0c1; }
.oalr-booking-picker .dp-checkout-legend[hidden] { display:none; }
#ui-datepicker-div td.oalr-calendar-checkout-only.ui-state-disabled { opacity:1; }
#ui-datepicker-div td.oalr-calendar-checkout-only span { box-sizing:border-box; color:#8f877a; background:linear-gradient(135deg,#fff 0 50%,#f6f2e8 50% 100%); border:1px solid #d8d0c1; }
#ui-datepicker-div td.oalr-calendar-policy-blocked.ui-state-disabled span::before,
#ui-datepicker-div td.oalr-calendar-checkout-only.ui-state-disabled span::before { display:none !important; content:none !important; }
#ui-datepicker-div.ui-datepicker { background-color:#fff !important; opacity:1 !important; z-index:100000 !important; }
.oalr-calendar-status-mobile:not(.is-visible) { position:absolute !important; width:1px !important; height:1px !important; margin:-1px !important; padding:0 !important; overflow:hidden !important; clip-path:inset(50%) !important; white-space:nowrap !important; }
.oalr-mobile-exact-card { box-sizing:border-box !important; width:auto !important; max-width:calc(100vw - 20px) !important; }
form#booking_form.oalr-mobile-exact-form { box-sizing:border-box !important; float:none !important; width:100% !important; max-width:min(550px,calc(100vw - 60px)) !important; margin-left:0 !important; margin-right:auto !important; }
form#booking_form.oalr-mobile-exact-form .oalr-mobile-date-row { box-sizing:border-box !important; display:grid !important; grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important; gap:10px !important; width:100% !important; margin:0 0 10px !important; padding:0 !important; }
form#booking_form.oalr-mobile-exact-form .oalr-mobile-date-row::before,
form#booking_form.oalr-mobile-exact-form .oalr-mobile-date-row::after { display:none !important; content:none !important; }
form#booking_form.oalr-mobile-exact-form .oalr-mobile-date-field { box-sizing:border-box !important; float:none !important; width:auto !important; min-width:0 !important; max-width:none !important; margin:0 !important; padding:0 !important; }
form#booking_form.oalr-mobile-exact-form .oalr-mobile-date-field b { display:block !important; margin:0 0 4px !important; font:600 11px/1.25 Arial,sans-serif !important; white-space:nowrap !important; }
form#booking_form.oalr-mobile-exact-form .oalr-mobile-input-wrap { box-sizing:border-box !important; display:flex !important; align-items:center !important; gap:5px !important; width:100% !important; }
form#booking_form.oalr-mobile-exact-form .oalr-mobile-input-wrap input[type="text"].input { box-sizing:border-box !important; display:block !important; flex:1 1 auto !important; width:calc(100% - 25px) !important; min-width:0 !important; height:36px !important; min-height:36px !important; margin:0 !important; padding:5px 7px !important; font:400 12px/24px Arial,sans-serif !important; }
form#booking_form.oalr-mobile-exact-form .oalr-mobile-input-wrap img.ui-datepicker-trigger { position:static !important; display:block !important; flex:0 0 20px !important; width:20px !important; height:20px !important; margin:0 !important; padding:0 !important; transform:none !important; }
form#booking_form.oalr-mobile-exact-form .oalr-mobile-date-field small { display:block !important; margin:3px 0 0 !important; font:400 9px/1.2 Arial,sans-serif !important; white-space:nowrap !important; }
form#booking_form.oalr-mobile-exact-form .oalr-mobile-submit-row { box-sizing:border-box !important; grid-column:1 / -1 !important; width:100% !important; margin:0 !important; padding:0 !important; }
form#booking_form.oalr-mobile-exact-form [name="availability"] { box-sizing:border-box !important; display:block !important; width:100% !important; max-width:100% !important; min-width:0 !important; height:auto !important; min-height:42px !important; margin:8px 0 0 !important; padding:9px 8px !important; font-size:14px !important; line-height:1.2 !important; }
.oalr-booking-picker .dp-clear { min-height:30px; padding:5px 8px; border:0; border-radius:4px; background:none; color:#272727; cursor:pointer; font:600 13px Arial,sans-serif; letter-spacing:.04em; text-decoration:underline; text-transform:uppercase; }
.oalr-booking-picker .dp-clear:focus-visible { outline:2px solid #8b0000; outline-offset:1px; }
@media (max-width:899px) { .flatpickr-calendar.oalr-booking-picker { width:308px; } .oalr-booking-picker .dayContainer { width:100%; } }
