.vr-date-field { position:relative; }
.vr-date-field > span { display:block; }
.vr-date-field > button { align-items:center; background:#fbfcfd; border:1px solid #d5e0e6; border-radius:8px; box-sizing:border-box; color:#294a5a; cursor:pointer; display:flex; font:600 .88rem/1.2 system-ui,sans-serif; justify-content:space-between; min-height:44px; padding:9px 11px; text-align:left; width:100%; }
.vr-date-field > button:hover { border-color:#9fb8c5; background:#f4f8fa; }
.vr-date-field > button:focus-visible { outline:3px solid #159eb43b; outline-offset:2px; }
.vr-date-field > button > span { color:#6d8794; font-size:.9rem; line-height:1; }
.vr-booking-page .vr-search .vr-date-field > button,.vr-property-booking-widget .vr-property-booking-widget__form .vr-date-field > button { align-items:center !important; background:#fbfcfd !important; border:1px solid #d5e0e6 !important; border-radius:8px !important; box-shadow:none !important; color:#294a5a !important; display:flex !important; font:600 .88rem/1.2 system-ui,sans-serif !important; grid-column:auto !important; justify-content:space-between !important; letter-spacing:0 !important; margin:0 !important; min-height:44px !important; padding:9px 11px !important; text-transform:none !important; transform:none !important; width:100% !important; }
.vr-booking-page .vr-search .vr-date-field > button:hover,.vr-property-booking-widget .vr-property-booking-widget__form .vr-date-field > button:hover { background:#f4f8fa !important; border-color:#9fb8c5 !important; box-shadow:none !important; color:#294a5a !important; }
.vr-date-field__value { height:1px !important; left:0; opacity:0; pointer-events:none; position:absolute; top:100%; width:1px !important; }
.vr-availability-calendar { background:#fff !important; border:1px solid #e0e7eb !important; border-radius:12px !important; box-shadow:0 8px 20px #173a670d !important; box-sizing:border-box !important; color:#294a5a !important; margin:10px 0 0 !important; max-width:345px !important; padding:11px !important; width:100% !important; }
.vr-availability-calendar[hidden] { display:none; }
.vr-booking-page .vr-search > .vr-availability-calendar { grid-column:1 / -1; }
.vr-availability-calendar__header { align-items:center !important; display:flex !important; gap:10px !important; justify-content:space-between !important; margin:0 0 10px !important; }
.vr-availability-calendar__header p { color:#73909e !important; font-size:.58rem !important; font-weight:800 !important; letter-spacing:.09em !important; line-height:1.2 !important; margin:0 0 2px !important; text-transform:uppercase !important; }
.vr-availability-calendar__header h2,.vr-availability-calendar__header h3 { color:#294a5a !important; font-size:.86rem !important; font-weight:700 !important; letter-spacing:0 !important; line-height:1.2 !important; margin:0 !important; }
.vr-availability-calendar__actions { display:flex; gap:6px; }
.vr-availability-calendar__actions button { align-items:center !important; background:#fbfcfd !important; border:1px solid #dce6ea !important; border-radius:6px !important; box-shadow:none !important; color:#527080 !important; cursor:pointer !important; display:flex !important; font-size:.82rem !important; height:26px !important; justify-content:center !important; line-height:1 !important; margin:0 !important; min-height:26px !important; min-width:26px !important; padding:0 !important; width:26px !important; }
.vr-availability-calendar__actions button:hover:not(:disabled) { background:#edf4f6 !important; border-color:#b6cbd5 !important; }.vr-availability-calendar__actions button:disabled { cursor:default; opacity:.35; }
.vr-availability-calendar__months { display:block; }
.vr-calendar-month { min-width:0; }
.vr-calendar-month__title { color:#456675 !important; display:block !important; font-size:.72rem !important; font-weight:700 !important; line-height:1.2 !important; margin:0 0 6px !important; text-transform:capitalize !important; }
.vr-calendar-weekdays,.vr-calendar-days { display:grid !important; gap:3px !important; grid-template-columns:repeat(7,minmax(0,1fr)) !important; }
.vr-calendar-weekdays span { color:#8ca1aa !important; font-size:.55rem !important; font-weight:700 !important; line-height:1 !important; padding:3px 0 !important; text-align:center !important; text-transform:uppercase !important; }
.vr-calendar-day { appearance:none !important; background:transparent !important; border:1px solid transparent !important; border-radius:6px !important; box-shadow:none !important; color:#3d5966 !important; cursor:pointer !important; font:600 .68rem/1 system-ui,sans-serif !important; height:28px !important; margin:0 !important; min-height:28px !important; min-width:0 !important; padding:0 !important; position:relative !important; width:100% !important; }
.vr-calendar-day:hover,.vr-calendar-day:focus-visible { background:#edf4f6 !important; border-color:#c7dbe3 !important; outline:2px solid #d9e9ee !important; outline-offset:1px; }
.vr-calendar-day.is-selected { background:#dcecf1 !important; border-color:#a6c6d1 !important; color:#214e60 !important; font-weight:800 !important; }
.vr-calendar-day.is-range { background:#f0f6f8 !important; border-color:#d8e7ec !important; color:#3d697a !important; }
.vr-calendar-day.is-unavailable { background:#f7f8f9 !important; border-color:transparent !important; color:#a8b4ba !important; cursor:not-allowed !important; text-decoration:line-through !important; }
.vr-calendar-day.is-past { opacity:.45; }
.vr-calendar-day--empty { min-height:29px !important; }
.vr-availability-calendar__message { color:#81949d !important; font-size:.64rem !important; line-height:1.35 !important; margin:7px 0 0 !important; }
.vr-availability-calendar--property { margin-top:18px; }
.vr-availability-calendar--property .vr-availability-calendar__months { grid-template-columns:1fr; }
@media (max-width:620px) { .vr-availability-calendar { max-width:none !important; padding:12px !important; }.vr-calendar-day { height:34px !important; min-height:34px !important; } }
