/* RRV Airport Transfers. Everything is scoped to .rrva so nothing leaks into the core form.
   Theme and Elementor button/input styles are reset with high specificity + !important. */

.rrva{--rrva-accent:#9b1c20;--rrva-ink:#1f2d3d;--rrva-muted:#5f6773;--rrva-line:#eceef1;position:relative;width:100%;box-sizing:border-box}
.rrva *,.rrva *::before,.rrva *::after{box-sizing:border-box}

/* ---------- Reset for our own controls (theme button styles must not reach them) ---------- */
.rrva button.rrva-tab,.rrva .rrva-swap,.rrva button.rrva-cta,.rrva a.rrva-btab{all:unset;box-sizing:border-box;cursor:pointer;-webkit-tap-highlight-color:transparent}
.rrva button.rrva-tab:hover,.rrva button.rrva-tab:focus,.rrva .rrva-swap:hover,.rrva .rrva-swap:focus,.rrva button.rrva-cta:hover,.rrva button.rrva-cta:focus{box-shadow:none;transform:none;text-decoration:none}

.rrva-testbar{background:#fff4d6;color:#5a4300;border:1px solid #f0d48a;border-radius:10px;padding:10px 14px;margin:0 0 12px;font-size:14px;line-height:1.4}
.rrva .rrva-testpill{display:inline-flex;align-items:center;align-self:center;height:26px;padding:0 10px;margin:0 0 8px 6px;border-radius:999px;background:#fff4d6;color:#5a4300;font-size:12px;font-weight:700;line-height:1;white-space:nowrap;cursor:help}

/* ---------- Homepage: tab row ---------- */
.rrva-nav{display:flex;flex-wrap:nowrap;align-items:flex-end;justify-content:space-between;gap:10px;min-height:44px}
.rrva-tabs{display:flex;gap:6px;align-items:flex-end}
.rrva button.rrva-tab{display:inline-flex !important;align-items:center !important;justify-content:center !important;height:40px !important;min-height:0 !important;width:auto !important;padding:0 22px !important;margin:0 !important;border:0 !important;border-radius:12px 12px 0 0 !important;background:rgba(255,255,255,.2) !important;color:#fff !important;font-family:inherit !important;font-size:15px !important;font-weight:800 !important;line-height:1 !important;letter-spacing:.01em !important;text-transform:none !important;box-shadow:none !important;transition:background-color .2s,color .2s}
.rrva button.rrva-tab:hover{background:rgba(255,255,255,.32) !important}
.rrva button.rrva-tab.is-active{height:44px !important;background:#fff !important;color:var(--rrva-accent) !important}
.rrva button.rrva-tab:focus-visible{outline:2px solid #fff !important;outline-offset:2px}

.rrva-hintline{display:none;align-items:center;gap:10px;margin-bottom:9px;min-width:0;color:#fff;font-size:14px;line-height:1.3;text-shadow:0 1px 2px rgba(0,0,0,.35)}
.rrva-hintline > span:nth-child(2){min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rrva-tabs{flex:none}
.rrva[data-active="airport"] .rrva-hintline{display:flex}
.rrva-hintline-icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:999px;background:rgba(255,255,255,.2);flex:none}
.rrva-hintline-icon svg{width:14px;height:14px}
.rrva .rrva-chip{display:inline-block;background:#fff;color:var(--rrva-accent);font-weight:800;font-size:12px;letter-spacing:.04em;text-transform:uppercase;padding:6px 10px;border-radius:999px;white-space:nowrap;text-shadow:none;line-height:1.2}

/* ---------- Panes ----------
   Inactive panes are moved off-screen instead of display:none, so the core
   widget's dropdowns and pickers keep their size while hidden. */
.rrva-panes{position:relative;display:flow-root}
/* contain the core widget's own top margin inside the pane, so the gap can be measured and closed */
.rrva-pane{display:flow-root}
.rrva-pane{position:absolute;top:0;left:-99999px;width:100%;visibility:hidden;pointer-events:none}
.rrva-pane.is-active{position:relative;left:0;visibility:visible;pointer-events:auto}
/* Airport form taller than the Red Rocks bar: keep the Red Rocks footprint and extend downward */
.rrva-pane.is-active.rrva-hang{position:absolute;top:0;left:0;width:100%;z-index:20}

/* In-form hint, used on tablet / phone instead of the line above the tabs */
.rrva .rrva-formhint{display:flex;align-items:center;gap:10px;padding:9px 20px;background:#fbf3f3;color:#5a1013;font-size:13px;line-height:1.35;border-bottom:1px solid #f1e1e1;border-radius:0}
.rrva .rrva-formhint .rrva-testpill{margin:0;height:22px;font-size:11px;flex:none}
.rrva .rrva-formhint .rrva-hint-icon svg{width:14px;height:14px}
.rrva .rrva-formhint .rrva-hint-text{flex:1 1 auto;min-width:0}
.rrva .rrva-formhint .rrva-chip{flex:none;border:1px solid #ecd3d4}

/* Our tabs replace the core widget's own service tabs, so drop their space */
.rrva-home .rrva-pane .chbs-main.chbs-widget{margin-top:0 !important}
.rrva-home .rrva-pane .chbs-main.chbs-widget .chbs-tab > ul{display:none !important}

/* ---------- Airport widget ---------- */
.rrva-form{display:grid;grid-template-columns:minmax(0,1fr) 180px;background:#fff;border-radius:0 16px 16px 16px;box-shadow:0 10px 30px rgba(0,0,0,.25);margin:0;color:var(--rrva-ink);overflow:visible}
.rrva[data-active="airport"] .rrva-form{border-radius:0 16px 16px 16px}
.rrva-fields{display:flex;flex-direction:column;min-width:0}

.rrva-row{display:grid;min-width:0}
.rrva-row-1{grid-template-columns:1fr 1fr 1.3fr 0 1.3fr;border-bottom:1px solid var(--rrva-line)}
.rrva-row-2{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.rrva-row-2 .rrva-cell[hidden]{display:none}

.rrva-cell{display:flex;flex-direction:column;justify-content:flex-start;gap:8px;padding:16px 20px;min-width:0;border-right:1px solid var(--rrva-line)}
.rrva-row-1 .rrva-cell[data-slot="pickup"]{padding-right:34px}
.rrva-row-1 .rrva-cell[data-slot="dropoff"]{padding-left:34px;border-right:0}
.rrva-row-2 .rrva-cell:last-child{border-right:0}

.rrva .rrva-lbl{display:flex;align-items:center;gap:5px;margin:0;font-size:12px;font-weight:400;letter-spacing:.06em;text-transform:uppercase;color:var(--rrva-muted);line-height:1.2}
.rrva-help{flex:none}

.rrva .rrva-in,.rrva input.rrva-in,.rrva select.rrva-in{display:block !important;width:100% !important;height:auto !important;min-height:26px !important;border:0 !important;outline:0;padding:0 !important;margin:0 !important;background:transparent !important;box-shadow:none !important;border-radius:0 !important;font-family:inherit !important;font-size:18px !important;font-weight:700 !important;line-height:1.3 !important;color:var(--rrva-ink) !important;text-transform:none !important;letter-spacing:normal !important}
.rrva .rrva-in::placeholder{color:#7a828d !important;font-weight:700;opacity:1}
.rrva .rrva-in:focus{box-shadow:inset 0 -2px 0 var(--rrva-accent) !important}
.rrva .rrva-date,.rrva .rrva-time{cursor:pointer}

.rrva-selectwrap{position:relative;display:flex;align-items:center}
.rrva select.rrva-select{appearance:none !important;-webkit-appearance:none !important;padding-right:26px !important;cursor:pointer}
.rrva-chev{position:absolute;right:0;color:var(--rrva-accent);pointer-events:none}

.rrva-loc-airport{display:flex;align-items:center;gap:8px;min-width:0;min-height:26px}
.rrva-val{flex:0 1 auto;min-width:0;font-size:18px;font-weight:700;color:var(--rrva-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}
.rrva-pin{flex:none;color:var(--rrva-accent)}

/* Swap button */
.rrva-swapwrap{position:relative;width:0}
.rrva .rrva-swap{position:absolute !important;top:50% !important;left:0 !important;right:auto !important;bottom:auto !important;transform:translate(-50%,-50%) !important;z-index:3;display:flex !important;align-items:center !important;justify-content:center !important;width:44px !important;height:44px !important;min-width:44px !important;min-height:44px !important;padding:0 !important;margin:0 !important;border-radius:999px !important;border:1px solid #e2e4e8 !important;background:#fff !important;color:var(--rrva-accent) !important;box-shadow:0 2px 8px rgba(0,0,0,.12) !important;overflow:visible !important;font-size:0 !important;line-height:0 !important;transition:border-color .2s}
.rrva .rrva-swap:hover{border-color:var(--rrva-accent) !important;background:#fff !important}
.rrva .rrva-swap svg{display:block;width:20px;height:20px;flex:none}
.rrva .rrva-swap:focus-visible{outline:2px solid var(--rrva-accent) !important;outline-offset:2px}
.rrva .rrva-swap::after{content:"";position:absolute;inset:-1px;border-radius:999px;border:2px solid var(--rrva-accent);opacity:0;pointer-events:none}
.rrva .rrva-swap.rrva-pulse::after{animation:rrva-pulse 1.8s ease-out .4s 3}
@keyframes rrva-pulse{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.7);opacity:0}}
@media (prefers-reduced-motion:reduce){.rrva .rrva-swap.rrva-pulse::after{animation:none}}

.rrva .rrva-tip{position:absolute;bottom:calc(100% + 12px);left:50%;transform:translateX(-50%);background:#1f2d3d;color:#fff;font-family:inherit;font-size:13px;font-weight:700;line-height:1.3;white-space:nowrap;padding:9px 12px;border-radius:8px;opacity:0;visibility:hidden;transition:opacity .15s;pointer-events:none;z-index:5;text-transform:none;letter-spacing:0}
.rrva .rrva-tip::after{content:"";position:absolute;top:100%;left:50%;margin-left:-6px;border:6px solid transparent;border-top-color:#1f2d3d}
.rrva .rrva-swap:hover .rrva-tip,.rrva .rrva-swap:focus-visible .rrva-tip{opacity:1;visibility:visible}

.rrva-error{margin:0;padding:10px 20px;font-size:14px;color:#8a1216;background:#fbf0f0;border-top:1px solid #f1dcdc}
.rrva-error[hidden]{display:none}

/* Book Now panel */
.rrva button.rrva-cta{display:flex !important;flex-direction:column !important;align-items:center !important;justify-content:center !important;gap:10px !important;width:auto !important;height:auto !important;min-height:0 !important;margin:0 !important;padding:18px 16px !important;border:0 !important;border-radius:0 16px 16px 0 !important;background:var(--rrva-accent) !important;color:#fff !important;box-shadow:none !important;text-align:center !important;font-family:inherit !important;text-transform:none !important;letter-spacing:normal !important;aspect-ratio:auto !important;transition:filter .2s}
.rrva button.rrva-cta:hover{filter:brightness(.9);background:var(--rrva-accent) !important;color:#fff !important}
.rrva button.rrva-cta:focus-visible{outline:3px solid #fff !important;outline-offset:-6px}
.rrva .rrva-cta-icon{width:46px;height:46px;border-radius:999px;border:1.5px solid rgba(255,255,255,.55);display:flex;align-items:center;justify-content:center;transition:background-color .2s}
.rrva button.rrva-cta:hover .rrva-cta-icon{background:rgba(255,255,255,.12)}
.rrva .rrva-cta-text{display:block;font-size:16px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;line-height:1.1;color:#fff}
.rrva .rrva-cta-sub{display:block;font-size:13px;font-weight:400;text-transform:none;letter-spacing:0;line-height:1.3;color:rgba(255,255,255,.9)}

/* Pickers above everything on the hero */
.ui-datepicker,.ui-timepicker-wrapper,.pac-container{z-index:100000 !important}

/* ---------- Homepage: tablet / phone ---------- */
@media (max-width:1024px)
{
	.rrva-row-1{grid-template-columns:1fr 1fr}
	.rrva-row-1 .rrva-cell{border-bottom:1px solid var(--rrva-line)}
	.rrva-row-1 .rrva-cell:nth-child(2){border-right:0}
	.rrva-row-1 .rrva-cell[data-slot]{grid-column:1 / -1;border-right:0;padding-left:20px;padding-right:72px}
	.rrva-row-1 .rrva-cell[data-slot="dropoff"]{border-bottom:0}
	.rrva-swapwrap{grid-column:1 / -1;height:0;width:auto}
	.rrva-home .rrva-swap{left:auto !important;right:20px !important;transform:translateY(-50%) !important}
	.rrva-home .rrva-swap .rrva-tip{left:auto;right:-6px;transform:none}
	.rrva-home .rrva-swap .rrva-tip::after{left:auto;right:20px}
	.rrva-home .rrva-swap svg{transform:rotate(90deg)}
}

@media (max-width:767px)
{
	.rrva-tabs{width:100%}
	.rrva button.rrva-tab{flex:1 1 50% !important;padding:0 10px !important;font-size:14px !important}
	.rrva-hintline{font-size:13px}
	.rrva-form,.rrva[data-active="airport"] .rrva-form{grid-template-columns:1fr;border-radius:0 0 16px 16px}
	.rrva .rrva-formhint{flex-wrap:wrap;padding:9px 16px}
	.rrva-row-2{grid-template-columns:1fr 1fr}
	.rrva-row-2 .rrva-cell{border-bottom:1px solid var(--rrva-line)}
	.rrva-row-2 .rrva-cell:nth-child(even){border-right:0}
	.rrva-cell{padding:14px 16px}
	.rrva-row-1 .rrva-cell[data-slot]{padding-left:16px}
	.rrva button.rrva-cta{flex-direction:row !important;border-radius:0 0 16px 16px !important;padding:14px 16px !important;gap:12px !important}
	.rrva .rrva-cta-icon{width:34px;height:34px}
	.rrva .rrva-cta-sub{display:none}
}

/* ---------- Booking page ---------- */
.rrva-booking .rrva-btabs{display:flex;gap:6px;align-items:flex-end;margin:0}
.rrva-booking .rrva-btabs:not(.rrva-btabs-attached){margin-bottom:16px}
.rrva a.rrva-btab{display:inline-flex !important;align-items:center !important;height:40px !important;padding:0 20px !important;margin:0 !important;border:0 !important;border-radius:12px 12px 0 0 !important;background:#e9eaec !important;color:#4b5360 !important;font-family:inherit !important;font-size:15px !important;font-weight:800 !important;line-height:1 !important;letter-spacing:.01em !important;text-transform:none !important;text-decoration:none !important;box-shadow:none !important;transition:background-color .2s,color .2s}
.rrva a.rrva-btab:hover{background:#dfe1e4 !important;color:#1f2d3d !important}
.rrva a.rrva-btab.is-active{height:44px !important;background:var(--rrva-accent) !important;color:#fff !important;cursor:default}
.rrva a.rrva-btab:focus-visible{outline:2px solid var(--rrva-accent) !important;outline-offset:2px}

.rrva-booking .rrva-field-locked input[type="text"]{cursor:default}

.rrva-booking .rrva-has-swap{position:relative !important;overflow:visible !important}
.rrva-booking .rrva-has-swap input[type="text"]{padding-right:64px}
.rrva-booking .rrva-bswap{top:auto !important;left:auto !important;right:20px !important;bottom:-22px !important;transform:none !important}
.rrva-booking .rrva-bswap .rrva-tip{left:auto;right:-6px;transform:none}
.rrva-booking .rrva-bswap .rrva-tip::after{left:auto;right:20px}

.rrva .rrva-hint{display:flex;align-items:center;gap:10px;flex-wrap:nowrap;padding:12px 20px;background:#fbf3f3;color:#5a1013;font-size:14px;line-height:1.35;border-bottom:1px solid #f1e1e1}
.rrva .rrva-hint-text{flex:1 1 auto;min-width:0}
.rrva .rrva-hint-icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:999px;background:#fff;color:var(--rrva-accent);border:1px solid #ecd3d4;flex:none}
.rrva .rrva-hint .rrva-chip{flex:none;border:1px solid #ecd3d4}

@media (max-width:767px)
{
	.rrva a.rrva-btab{flex:1 1 50%;justify-content:center !important;padding:0 10px !important;font-size:14px !important}
	.rrva .rrva-hint{flex-wrap:wrap}
}

/* Booking page swap button: sits inside the core form, so it needs to beat core,
   theme and Elementor form styles as well */
.rrva.rrva-booking .chbs-main .rrva-swap.rrva-bswap{all:unset;box-sizing:border-box !important;position:absolute !important;top:auto !important;left:auto !important;right:20px !important;bottom:-22px !important;transform:none !important;z-index:5 !important;display:flex !important;align-items:center !important;justify-content:center !important;width:44px !important;height:44px !important;min-width:44px !important;min-height:44px !important;max-width:44px !important;padding:0 !important;margin:0 !important;border-radius:999px !important;border:1px solid #e2e4e8 !important;background:#fff !important;background-image:none !important;color:var(--rrva-accent) !important;box-shadow:0 2px 8px rgba(0,0,0,.12) !important;font-size:0 !important;line-height:0 !important;cursor:pointer !important;overflow:visible !important;text-indent:0 !important}
.rrva.rrva-booking .chbs-main .rrva-swap.rrva-bswap:hover,.rrva.rrva-booking .chbs-main .rrva-swap.rrva-bswap:focus{background:#fff !important;border-color:var(--rrva-accent) !important;color:var(--rrva-accent) !important}
.rrva.rrva-booking .chbs-main .rrva-swap.rrva-bswap svg{display:block !important;width:20px !important;height:20px !important;flex:none}
.rrva.rrva-booking .chbs-main .rrva-swap.rrva-bswap svg path{stroke:currentColor !important;fill:none !important}
.rrva.rrva-booking .chbs-main .rrva-hint{display:flex !important;flex-wrap:nowrap !important;align-items:center !important;gap:10px !important}
.rrva.rrva-booking .chbs-main .rrva-hint .rrva-hint-text{flex:1 1 auto !important;min-width:0 !important}
@media (max-width:767px){.rrva.rrva-booking .chbs-main .rrva-hint{flex-wrap:wrap !important}}

/* Booking page: card under the tabs, square corner where the tabs meet it */
.rrva.rrva-booking .chbs-tab.rrva-card-attached,
.rrva.rrva-booking .chbs-tab.rrva-card-attached > *:first-child{border-top-left-radius:0 !important}
.rrva.rrva-booking .rrva-btabs-attached{position:relative;z-index:2}

/* Loading states (AJAX tab switch / swap) */
.rrva.rrva-loading .rrva-btabs{opacity:.65;pointer-events:none}
.rrva.rrva-loading .rrva-formbox.is-active{opacity:.55;pointer-events:none;transition:opacity .15s}
.rrva.rrva-booking .chbs-main .rrva-swap.rrva-bswap.is-busy svg{animation:rrva-spin .7s linear infinite}
@keyframes rrva-spin{to{transform:rotate(360deg)}}

/* Calendar fallback if the Red Rocks colour CSS is ever missing (Red Rocks styles win when present) */
/* :where() = zero specificity, so the Red Rocks calendar styles always win when they load */
:where(#ui-datepicker-div.rrva-dp){background:#fff;border:1px solid #e2e4e8;border-radius:12px;box-shadow:0 12px 30px rgba(0,0,0,.18);padding:16px;width:300px;font-family:inherit;color:#1f2d3d;font-size:14px}
:where(#ui-datepicker-div.rrva-dp) :where(.ui-datepicker-header){position:relative;display:flex;align-items:center;justify-content:center;height:36px;margin-bottom:8px}
:where(#ui-datepicker-div.rrva-dp) :where(.ui-datepicker-title){font-weight:700;font-size:15px}
:where(#ui-datepicker-div.rrva-dp) :where(.ui-datepicker-prev,.ui-datepicker-next){position:absolute;top:2px;width:32px;height:32px;border-radius:999px;border:1px solid #e2e4e8;cursor:pointer;font-size:0;color:transparent;text-decoration:none}
:where(#ui-datepicker-div.rrva-dp) :where(.ui-datepicker-prev){left:0}
:where(#ui-datepicker-div.rrva-dp) :where(.ui-datepicker-next){right:0}
:where(#ui-datepicker-div.rrva-dp) :where(.ui-datepicker-prev,.ui-datepicker-next)::before{content:"";position:absolute;top:11px;width:8px;height:8px;border-top:1.6px solid #9b1c20;border-left:1.6px solid #9b1c20}
:where(#ui-datepicker-div.rrva-dp) :where(.ui-datepicker-prev)::before{left:13px;transform:rotate(-45deg)}
:where(#ui-datepicker-div.rrva-dp) :where(.ui-datepicker-next)::before{left:9px;transform:rotate(135deg)}
:where(#ui-datepicker-div.rrva-dp) :where(.ui-state-disabled.ui-datepicker-prev,.ui-state-disabled.ui-datepicker-next){opacity:.35;cursor:default}
:where(#ui-datepicker-div.rrva-dp) :where(table){width:100%;border-collapse:collapse;margin:0}
:where(#ui-datepicker-div.rrva-dp) :where(th){padding:6px 0;font-size:12px;font-weight:600;color:#5f6773;text-align:center;border:0}
:where(#ui-datepicker-div.rrva-dp) :where(td){padding:2px;text-align:center;border:0}
:where(#ui-datepicker-div.rrva-dp) :where(td a,td span){display:block;padding:7px 0;border-radius:8px;color:#1f2d3d;text-decoration:none}
:where(#ui-datepicker-div.rrva-dp) :where(td a:hover){background:#f3e5e6}
:where(#ui-datepicker-div.rrva-dp) :where(td.ui-state-disabled span){color:#b9bec6}
:where(#ui-datepicker-div.rrva-dp) :where(td a.ui-state-active){background:#9b1c20;color:#fff}

/* Homepage time dropdowns */
.rrva select.rrva-time{min-width:0}
.rrva select.rrva-time:invalid,.rrva select.rrva-time option[value=""]{color:#7a828d !important}

/* Tabs must stay clickable above the Red Rocks bar (its gap fix pulls it up under them) */
.rrva .rrva-nav{position:relative;z-index:40}

/* Fonts: headings Urbanist, form text Lato (same as the core form) */
.rrva{--rrva-heading:'Urbanist',sans-serif;--rrva-body:'Lato',sans-serif}
.rrva button.rrva-tab,.rrva a.rrva-btab,.rrva .rrva-cta-text,.rrva .rrva-chip{font-family:var(--rrva-heading) !important}
.rrva .rrva-form,.rrva .rrva-form .rrva-lbl,.rrva .rrva-form .rrva-in,.rrva .rrva-form .rrva-val,.rrva .rrva-form .rrva-cta-sub,.rrva .rrva-formhint,.rrva .rrva-hint,.rrva .rrva-error,.rrva .rrva-tip{font-family:var(--rrva-body) !important}

/* Dropdown arrow on the time fields of the core forms (Red Rocks and Airport) */
.rrva .chbs-main .chbs-form-field:has(> input.chbs-timepicker){position:relative}
.rrva .chbs-main .chbs-form-field:has(> input.chbs-timepicker)::after{content:"";position:absolute;right:20px;top:50%;margin-top:8px;width:18px;height:11px;pointer-events:none;background:no-repeat center/18px 11px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 12'%3E%3Cpath d='M1 1l9 9 9-9' stroke='%239b1c20' stroke-width='1.6' fill='none'/%3E%3C/svg%3E")}
.rrva .chbs-main .chbs-form-field:has(> input.chbs-timepicker) > input.chbs-timepicker:not(.rrva-core-time-hidden){padding-right:44px !important;cursor:pointer}

/* Click-through for the empty parts of the widget (tab row space, gap above the bar) */
.rrva-home{pointer-events:none}
.rrva.rrva-home button.rrva-tab,.rrva.rrva-home .rrva-pane.is-active > *,.rrva.rrva-home form.rrva-form,.rrva.rrva-home form.rrva-form *{pointer-events:auto !important}
.rrva-home .rrva-pane.is-active{pointer-events:none}

/* ---------- Load without flashes: hidden until built (shows anyway after 4s) ---------- */
.rrva:not(.rrva-ready){visibility:hidden;animation:rrva-reveal 0s linear 4s forwards}
@keyframes rrva-reveal{to{visibility:visible}}

/* ---------- Hour + minute picker (airport) ---------- */
.rrva .rrva-hm{display:flex !important;align-items:center;gap:10px;min-height:26px;margin:0}
.rrva .rrva-hm-part{position:relative;display:inline-flex;align-items:center;gap:6px;cursor:pointer}
.rrva .rrva-hm-val{font-family:var(--rrva-body) !important;font-size:18px;font-weight:700;line-height:1.3;color:var(--rrva-ink);white-space:nowrap}
.rrva .rrva-hm .rrva-chev{position:static;flex:none;width:12px;height:8px;color:var(--rrva-accent);pointer-events:none}
.rrva .rrva-hm-sep{font-family:var(--rrva-body);font-size:18px;font-weight:700;color:var(--rrva-ink)}
/* the native dropdown sits invisibly on top of its part and opens the list */
.rrva .rrva-hm select{position:absolute !important;inset:0 !important;width:100% !important;height:100% !important;min-height:0 !important;margin:0 !important;padding:0 !important;border:0 !important;opacity:0 !important;cursor:pointer;appearance:none !important;-webkit-appearance:none !important;font-size:16px !important;display:block !important}
.rrva .rrva-hm select:focus-visible{opacity:0 !important}
.rrva .rrva-hm-part:focus-within .rrva-hm-val{box-shadow:inset 0 -2px 0 var(--rrva-accent)}
.rrva .rrva-hm.is-empty .rrva-hm-val{color:var(--rrva-hm-placeholder,#7a828d) !important}
.rrva .rrva-hm.is-disabled{opacity:1}
.rrva .rrva-hm.is-disabled .rrva-chev{opacity:.4}
.rrva .rrva-hm.is-disabled .rrva-hm-part,.rrva .rrva-hm.is-disabled select{cursor:not-allowed}
/* the core form must never turn these into its own dropdown widget */
.rrva .rrva-hm .ui-selectmenu-button{display:none !important}

/* core time field on the airport form: our picker replaces the text box */
.rrva .rrva-hm-field input.rrva-core-time-hidden{position:absolute !important;width:1px !important;height:1px !important;opacity:0 !important;pointer-events:none !important;padding:0 !important;border:0 !important}
.rrva .chbs-main .chbs-form-field.rrva-hm-field::after{display:none !important}

/* core-matched picker colours: filled = the core field's text colour, empty = its placeholder colour */
.rrva .rrva-hm-core .rrva-hm-val,.rrva .rrva-hm-core .rrva-hm-sep{color:var(--rrva-hm-color,#1f2d3d) !important}
.rrva .rrva-hm-core.is-empty .rrva-hm-val{color:var(--rrva-hm-placeholder,#7a828d) !important}

/* ---------- Homepage entrance: tabs then form fade and rise into place ---------- */
.rrva.rrva-home.rrva-enter .rrva-nav{animation:rrva-rise .45s cubic-bezier(.2,.7,.2,1) both}
.rrva.rrva-home.rrva-enter .rrva-panes{animation:rrva-rise .55s cubic-bezier(.2,.7,.2,1) .08s both}
@keyframes rrva-rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.rrva.rrva-home.rrva-enter .rrva-nav,.rrva.rrva-home.rrva-enter .rrva-panes{animation:none}}

/* ---------- Calendar: selected / hovered day always readable (white on accent) ---------- */
#ui-datepicker-div.rrva-dp td a.ui-state-active,
#ui-datepicker-div.rrva-dp td a.ui-state-hover,
#ui-datepicker-div.rrva-dp td a:hover,
#ui-datepicker-div.rrva-dp td.ui-datepicker-current-day a,
#ui-datepicker-div.chbs-datepicker td a.ui-state-active,
#ui-datepicker-div.chbs-datepicker td a.ui-state-hover,
#ui-datepicker-div.chbs-datepicker td a:hover,
#ui-datepicker-div.chbs-datepicker td.ui-datepicker-current-day a{background:var(--rrva-dp-accent,#9b1c20) !important;color:#fff !important;border-color:transparent !important}
