.rt-booking .rt-travel { gap:16px; }
.rt-booking .rt-travel-actions { display:grid; gap:10px; }
.rt-booking .rt-travel-actions a { gap:10px; min-height:48px; }
.rt-booking [data-room-capacity-warning]:empty { display:none; }
.rt-booking [data-room-capacity-warning]:not(:empty) { border-inline-start:3px solid var(--c-warning); padding-inline-start:12px; color:var(--c-ink); font-weight:600; } .rt-booking [data-offer-window-warning]:has(> span:empty) { display:none; }
.rt-booking [data-offer-window-warning] { border-inline-start:3px solid var(--c-warning); padding-inline-start:12px; color:var(--c-ink); font-weight:600; }
.rt-booking [data-offer-window-apply] { display:inline; min-height:0; padding:0; margin-top:4px; white-space:normal; text-align:start; }
.rt-travel-popover { margin:0; padding:0; border:0; min-width:0; color:var(--c-text); background:var(--c-surface); }
.rt-travel-popover__head { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:20px; }
.rt-travel-popover h3 { font-size:22px; line-height:1.3; }
.rt-travel-popover label { display:grid; gap:6px; font-size:14px; font-weight:600; min-width:0; }
.rt-travel-popover :is(input,select) { width:100%; min-width:0; min-height:44px; border:1px solid var(--c-line-field); border-radius:var(--r-md); background:var(--c-surface); padding:8px 10px; font-size:16px; font-weight:500; color:var(--c-ink); }
.rt-travel-popover input[type=date] { min-inline-size:0; }
.rt-travel-dates { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.rt-travel-popover__foot { display:flex; justify-content:flex-end; align-items:center; gap:12px; margin-top:20px; padding-top:16px; border-top:1px solid var(--c-line); }
.rt-travel-popover__foot [data-travel-reset] { margin-right:auto; }
.rt-travel-status { font-size:14px; color:var(--c-ink); line-height:1.5; }
.rt-travel-status:not(:empty) { padding:12px 0; }
.rt-travel-popover :is(input,select)[aria-invalid=true] { border-color:var(--c-warning); outline:2px solid var(--c-warning); outline-offset:2px; }
.rt-travel-popover .rt-caption { margin-top:12px; }
.rt-travel-popover :is(.rt-travel-adults,.rt-travel-children) { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 0; border-bottom:1px solid var(--c-line); }
.rt-travel-children label small { display:block; font-size:12px; font-weight:400; color:var(--c-muted); }
.rt-travel-stepper { display:grid; grid-template-columns:44px 48px 44px; align-items:center; gap:4px; flex:none; }
.rt-travel-stepper input { text-align:center; padding:8px 0; appearance:textfield; }
.rt-travel-stepper input::-webkit-inner-spin-button { appearance:none; }
.rt-travel-stepper .rt-icon-btn { width:44px; height:44px; min-width:44px; }
.rt-travel-stepper .rt-icon-btn[aria-disabled=true] { opacity:.4; cursor:default; }
.rt-travel-ages { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:16px; }
.rt-travel-ages:empty { display:none; }
.rt-travel-popover .rt-travel-children { border-bottom:0; }
.rt-travel.is-enhanced .rt-travel-popover { border-color:transparent; }
.rt-travel-popover [data-raw-ages] { margin-top:16px; }
.rt-travel:not(.is-enhanced) .rt-travel-stepper { display:block; width:80px; }
.rt-booking__fields small { letter-spacing:0; } .rt-booking__fields > button[aria-expanded=true] { box-shadow:none; }
.rt-booking__fields > button:focus-visible { outline-offset:-3px; }
.rt-travel.is-enhanced .rt-travel-popover { position:fixed; inset:50% auto auto 50%; transform:translate(-50%,-50%); margin:0; width:min(680px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); overflow:auto; overscroll-behavior:contain; padding:24px; border:1px solid transparent; border-radius:var(--r-xl); box-shadow:var(--sh-3); }
.rt-travel.is-enhanced .rt-travel-popover--guests { width:min(400px,calc(100vw - 32px)); scroll-padding-block:80px 120px; }
.rt-travel.is-enhanced:not([data-search-sheet]) .rt-travel-popover--guests > .rt-travel-popover__head { position:sticky; top:0; z-index:2; margin-bottom:16px; background:var(--c-surface); box-shadow:0 -24px 0 var(--c-surface); }
.rt-travel.is-enhanced:not([data-search-sheet]) .rt-travel-popover--guests > .rt-travel-popover__foot { position:sticky; bottom:0; z-index:1; background:var(--c-surface); padding-block:12px; }
.rt-travel-popover--guests > .rt-travel-popover__foot { flex-direction:column; align-items:stretch; gap:8px; }
.rt-travel-popover--guests > .rt-travel-popover__foot .rt-travel-status { padding:0; }
.rt-travel-popover--guests > .rt-travel-popover__foot .rt-btn { align-self:flex-end; }
@media (min-width:768px) {
.rt-travel.is-enhanced:not([data-search-sheet]) .rt-travel-popover--guests { height:auto; padding:20px; scrollbar-gutter:stable; }
}
.rt-travel.is-enhanced .rt-travel-popover.is-position-fallback { position-area:none; }
@supports (position-area:bottom span-right) and (position-try-fallbacks:flip-block,flip-inline) and (position-try-order:most-height) {
@position-try --rt-travel-wide { position-area:bottom span-all; justify-self:center; }
@media (min-width:768px) { .rt-travel.is-enhanced .rt-travel-popover:not(.is-position-fallback) { inset:auto; transform:none; position-area:bottom span-right; position-try-fallbacks:flip-block,flip-inline,flip-block flip-inline,--rt-travel-wide,--rt-travel-wide flip-block; position-try-order:most-height; justify-self:start; align-self:start; margin-block:8px; margin-inline-end:16px; max-height:calc(100% - 24px); max-width:calc(100vw - 32px); }
}
} .rt-travel.is-enhanced .rt-travel-popover--guests.is-centered { position-area:none; inset:50% auto auto 50%; transform:translate(-50%,-50%); margin:0; max-height:calc(100dvh - 32px); }
.rt-travel-popover [data-travel-calendar] { margin-top:20px; min-width:0; }
.rt-travel-popover .flatpickr-calendar { font:inherit; box-shadow:none; border:0; background:transparent; width:100% !important; padding:0; }
.rt-travel-popover .flatpickr-innerContainer { justify-content:center; }
.rt-travel-popover .flatpickr-days { width:100% !important; }
.rt-travel-popover .dayContainer { width:50%; min-width:0; max-width:none; padding:0 4px; }
.rt-travel-popover .flatpickr-months { margin-bottom:12px; }
.rt-travel-popover .flatpickr-months .flatpickr-month { height:44px; }
.rt-travel-popover .flatpickr-current-month { display:flex; align-items:center; justify-content:center; gap:.2em; font-family:var(--ff-head); font-size:16px; height:44px; padding:0; }
.rt-travel-popover .flatpickr-current-month .numInputWrapper { display:inline-flex; align-items:center; }
.rt-travel-popover .flatpickr-current-month .cur-month { font-weight:600; }
.rt-travel-popover .flatpickr-weekdays { height:36px; }
.rt-travel-popover span.flatpickr-weekday { color:var(--c-muted); font-size:12px; font-weight:500; }
.rt-travel-popover .flatpickr-day { width:14.2857%; max-width:none; height:40px; line-height:40px; border-radius:4px; color:var(--c-ink); }
.rt-travel-popover .flatpickr-day.flatpickr-disabled { color:var(--c-muted); opacity:.45; }
.rt-travel-popover .flatpickr-day:is(.selected,.startRange,.endRange) { background:var(--c-navy); border-color:var(--c-navy); color:white; }
.rt-travel-popover .flatpickr-day.inRange { background:var(--c-navy-tint); border-color:var(--c-navy-tint); box-shadow:none; }
.rt-travel-popover .flatpickr-day:focus-visible { outline:var(--focus-ring); outline-offset:-3px; } .rt-travel-popover .flatpickr-months :is(.flatpickr-prev-month,.flatpickr-next-month) { top:0; padding:0; height:44px; min-width:44px; color:var(--c-ink); }
.rt-travel-popover .flatpickr-months :is(.flatpickr-prev-month,.flatpickr-next-month):not(.flatpickr-disabled) { display:inline-flex; align-items:center; justify-content:center; }
.rt-travel-popover .flatpickr-months :is(.flatpickr-prev-month,.flatpickr-next-month) .dashicons { pointer-events:none; } .is-calendar-ready .rt-travel-dates:not(:focus-within) { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.is-calendar-ready > .rt-travel-popover__foot { display:none; }
.is-calendar-ready [data-travel-calendar] { margin-top:8px; }
.is-calendar-ready .rt-travel-popover__head { margin-bottom:8px; }
.rt-travel.is-enhanced .rt-travel-popover--dates:not(.is-position-fallback) { max-height:calc(100dvh - 40px); }
.rt-travel.is-enhanced .rt-travel-popover--dates.is-compact { padding:16px; }
.rt-travel-popover--dates.is-compact .flatpickr-day { height:34px; line-height:34px; }
.rt-travel-popover--dates.is-compact .flatpickr-weekdays { height:28px; }
.rt-travel-popover--dates.is-compact .flatpickr-months { margin-bottom:4px; }
.rt-travel-popover--dates.is-compact > .rt-caption { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.rt-calendar-dialog { margin:auto; padding:0; border:1px solid transparent; border-radius:var(--r-xl); width:min(680px,calc(100vw - 40px)); max-height:calc(100dvh - 40px); overflow:auto; color:var(--c-ink); background:var(--c-surface); box-shadow:var(--sh-3); }
.rt-calendar-dialog::backdrop { background:var(--c-dialog-backdrop); }
.rt-travel.is-enhanced .rt-calendar-dialog > .rt-travel-popover--dates { position:static; position-area:none; inset:auto; transform:none; width:100%; max-width:none; max-height:none; margin:0; border:0; border-radius:0; box-shadow:none; overflow:visible; }
@media (max-width:767px) {
.rt-travel.is-enhanced .rt-travel-popover { position:fixed; position-area:none; position-anchor:auto; inset:auto 16px 16px; transform:none; width:auto; max-height:calc(100dvh - 32px); margin:0; padding:20px; }
.rt-travel-popover .dayContainer { width:100%; }
}
@media (max-width:359px) {
.rt-travel.is-enhanced .rt-travel-popover { padding:16px; }
.rt-travel-popover h3 { font-size:19px; }
.rt-travel-dates,.rt-travel-ages { grid-template-columns:minmax(0,1fr); }
.rt-travel-stepper { grid-template-columns:40px 40px 40px; gap:0; }
.rt-travel-stepper .rt-icon-btn { min-width:40px; width:40px; }
}