/* Voyara Search form */
.vy-sf--card{background:var(--vy-w-sf-bg,var(--vy-bg,#fff));border-radius:24px;padding:20px 24px 24px;box-shadow:0 24px 60px rgba(21,32,31,.14);border:1px solid var(--vy-line,#E6E1D8)}
.vy-sf__tabs{border-bottom:1px solid var(--vy-line,#E6E1D8);padding-bottom:12px;margin-bottom:16px}
.vy-sf__form{display:flex;gap:12px;flex-wrap:wrap;align-items:stretch}
.vy-sf__form[hidden]{display:none}
.vy-sf__field{position:relative;flex:1 1 180px;min-height:64px;border:1px solid var(--vy-line,#E6E1D8);background:var(--vy-w-sf-field,var(--vy-cream,#FBF9F5));border-radius:14px;padding:10px 16px 10px 48px;display:flex;flex-direction:column;justify-content:center;gap:2px;color:var(--vy-ink,#15201F)}
.vy-sf__field:focus-within{border-color:var(--vy-main,#0E3B36)}
.vy-sf__field>.vy-icon{position:absolute;left:16px;top:50%;margin-top:-10px;color:var(--vy-main,#0E3B36)}
.vy-sf__field--place{flex-basis:220px}
.vy-sf__field--date{flex-basis:170px}
.vy-sf__label{font-size:12px;color:var(--vy-muted,#5C6664);letter-spacing:.04em;text-transform:uppercase}
.vy-sf .vy-sf__input,.vy-sf .vy-sf__toggle{width:100%;height:auto;border-radius:0;box-shadow:none;min-width:0;border:0;background:transparent;padding:0;font:500 15px/1.4 var(--vy-font-body,Jost,sans-serif);color:var(--vy-ink,#15201F);text-align:left}
.vy-sf .vy-sf__input:focus,.vy-sf .vy-sf__toggle:focus{outline:none}
/* The date and time pickers swap the native inputs for text fields one line high; the
   native date and time inputs draw 2px taller, so give every field that line height
   up front and the row does not shrink when the scripts load. */
.vy-sf input.vy-sf__input,.vy-sf select.vy-sf__input,.vy-sf button.vy-sf__input{height:1.4em;line-height:1.4}
.vy-sf .vy-sf__input::-webkit-datetime-edit,.vy-sf .vy-sf__input::-webkit-datetime-edit-fields-wrapper{padding:0}
/* The native date input is wider than the picker's text field; without this the row
   shares its width differently before and after the scripts load. */
.vy-sf__field--date{min-width:0}
.vy-sf__input::placeholder{color:var(--vy-muted,#5C6664);font-weight:400}
.vy-sf__pair{display:flex;gap:8px}
.vy-sf .vy-sf__time{width:86px;flex:0 0 auto}
.vy-sf .vy-sf__toggle{cursor:pointer}
.vy-sf__toggle::after{content:"";position:absolute;inset:0}
.vy-sf__list{position:absolute;top:calc(100% + 6px);left:0;width:100%;min-width:240px;max-height:300px;overflow-y:auto;margin:0;padding:6px;list-style:none;background:var(--vy-bg,#fff);border:1px solid var(--vy-line,#E6E1D8);border-radius:14px;box-shadow:0 16px 40px rgba(21,32,31,.12);z-index:60}
.vy-sf__list li{padding:10px 14px;border-radius:8px;font-size:14px;cursor:pointer;display:flex;flex-direction:column;transition:background-color .2s ease}
.vy-sf__list li small{color:var(--vy-muted,#5C6664);font-size:12px}
.vy-sf__list li[aria-selected=true],.vy-sf__list li:hover{background:var(--vy-sand,#F3EEE4)}
.vy-sf__list li.is-empty{cursor:default;color:var(--vy-muted,#5C6664)}
.vy-sf__pop{position:absolute;top:calc(100% + 6px);right:0;width:300px;max-width:calc(100vw - 32px);background:var(--vy-bg,#fff);border:1px solid var(--vy-line,#E6E1D8);border-radius:14px;padding:8px 16px;box-shadow:0 16px 40px rgba(21,32,31,.12);z-index:60;display:flex;flex-direction:column}
.vy-sf__pop[hidden]{display:none}
.vy-sf__count{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--vy-sand,#F3EEE4)}
.vy-sf__count-text{display:flex;flex-direction:column;font-size:15px;font-weight:500}
.vy-sf__count-text small{font-size:12px;font-weight:400;color:var(--vy-muted,#5C6664)}
.vy-sf__count-ctrl{display:inline-flex;align-items:center;gap:12px}
.vy-sf__count-ctrl button{width:44px;height:44px;border:1px solid var(--vy-line,#E6E1D8);background:var(--vy-bg,#fff);border-radius:999px;color:var(--vy-ink,#15201F);font-size:18px;cursor:pointer}
.vy-sf__count-ctrl button:disabled{opacity:.4;cursor:default}
.vy-sf__count-ctrl output{min-width:16px;text-align:center;font-weight:500}
.vy-sf__done{align-self:flex-end;margin:10px 0 6px;height:40px;padding:0 16px;border:0;background:var(--vy-sand,#F3EEE4);border-radius:999px;font-weight:500;color:var(--vy-ink,#15201F);cursor:pointer}
.vy-sf__submit{flex:0 0 auto;height:auto;min-height:64px;padding:0 28px}
/* On tablets the button takes its own full row instead of wrapping alone at the left. */
@media (max-width:1024px){.vy-sf__submit{flex-basis:100%}}
@media (max-width:640px){.vy-sf__tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;max-width:100%}.vy-sf--card{padding:16px}.vy-sf__field,.vy-sf__submit{flex-basis:100%}.vy-sf__pop{left:0;right:auto;width:100%}}
.vy-sf .vy-sf__select{appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:24px}
.vy-sf__chev{position:absolute;right:16px;top:50%;margin-top:-6px;color:var(--vy-muted,#5C6664);pointer-events:none;display:inline-flex}
.vy-sf__field--select{flex-basis:180px}

/* Heading and note */
.vy-sf__heading{margin:0 0 16px;font-family:var(--vy-font-heading,Marcellus,Georgia,serif);font-weight:400;font-size:26px;line-height:1.2;color:var(--vy-ink,#15201F)}
.vy-sf__note{margin:12px 0 0;font-size:13px;color:var(--vy-muted,#5C6664);text-align:center}

/* Stacked side card: sand card, white fields, full-width button. */
.vy-sf--stack.vy-sf--card{background:var(--vy-w-sf-bg,var(--vy-sand,#F3EEE4));border:0;box-shadow:none;border-radius:28px;padding:28px}
.vy-sf--stack .vy-sf__field{background:var(--vy-w-sf-field,var(--vy-bg,#fff));flex-basis:100%;min-height:60px}
.vy-sf--stack .vy-sf__submit{flex-basis:100%;min-height:56px;margin-top:4px}
.vy-sf--stack .vy-sf__pop{left:0;right:auto;width:100%}

/* Start time buttons */
.vy-sf__when{flex:1 1 100%;margin:0;padding:0;border:0;min-width:0;display:flex;flex-direction:column;gap:6px}
.vy-sf__when legend{padding:0 0 6px 4px}
.vy-sf__when-opts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.vy-sf__when-opt{position:relative;display:block}
.vy-sf__when-opt input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.vy-sf__when-opt span{display:flex;align-items:center;justify-content:center;height:48px;border:1px solid var(--vy-line,#E6E1D8);background:var(--vy-bg,#fff);border-radius:12px;font-size:14px;font-weight:500;color:var(--vy-muted,#5C6664)}
.vy-sf__when-opt input:checked+span{border:2px solid var(--vy-main,#0E3B36);background:var(--vy-sand,#F3EEE4);color:var(--vy-ink,#15201F)}
.vy-sf--stack.vy-sf--card .vy-sf__when-opt input:checked+span{background:var(--vy-cream,#FBF9F5)}
.vy-sf__when-opt input:focus-visible+span{outline:2px solid var(--vy-accent,#C9962B);outline-offset:2px}

/* Car rental: same-location tick and the one-way drop-off field */
.vy-sf__same{flex:1 1 100%;display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--vy-ink,#15201F);cursor:pointer}
.vy-sf .vy-sf__same input{width:18px;height:18px;margin:0;accent-color:var(--vy-main,#0E3B36)}
.vy-sf__oneway{display:contents}
.vy-sf__oneway[hidden]{display:none}
/* With a different drop-off place the two places share the first row; dates, people and Search take the second. */
.vy-sf__form:has(.vy-sf__oneway:not([hidden])) .vy-sf__field--place{flex:1 1 calc(50% - 6px)}
/* Date with time on narrow phones: the time moves under the date. */
.vy-sf__pair .vy-sf__input[type=date]{flex:1 1 auto;min-width:0}
@media (max-width:400px){.vy-sf__pair{flex-wrap:wrap;row-gap:2px}}
.vy-sf__list li.is-head{cursor:default;padding:8px 14px 4px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--vy-muted,#5C6664);background:none;transition:background-color .2s ease}
.vy-sf__list li.is-head:hover{background:none}

/* Compact bar for search pages: one 52 px row, short inline labels. */
.vy-sf--bar .vy-sf__form{gap:10px}
.vy-sf--bar .vy-sf__field{min-height:52px;flex-direction:row;align-items:center;gap:10px;padding:0 14px 0 42px;border-radius:12px;background:var(--vy-w-sf-field,var(--vy-bg,#fff))}
.vy-sf--bar .vy-sf__field>.vy-icon{left:14px;margin-top:-10px}
.vy-sf--bar .vy-sf__field--place,.vy-sf--bar .vy-sf__field--guests{flex:1 1 220px}
.vy-sf--bar .vy-sf__field--place .vy-sf__label,.vy-sf--bar .vy-sf__field--guests .vy-sf__label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.vy-sf--bar .vy-sf__field--date{flex:0 1 190px}
/* A date with a time (car rental) needs room for both next to its label. */
.vy-sf--bar .vy-sf__field--date:has(.vy-sf__time){flex:1 1 290px}
.vy-sf--bar .vy-sf__field--date .vy-sf__label{flex:0 0 auto;font-size:12px;letter-spacing:0;text-transform:none}
.vy-sf--bar .vy-sf__field--select{flex:0 1 230px}
/* Short inline label on one line, as the date field has. */
.vy-sf--bar .vy-sf__field--select .vy-sf__label{flex:0 0 auto;font-size:12px;letter-spacing:0;text-transform:none;white-space:nowrap}
.vy-sf--bar .vy-sf__field--select .vy-sf__select{flex:1 1 auto;min-width:0}
.vy-sf--bar .vy-sf__submit{min-height:52px;border-radius:12px;padding:0 22px;flex-basis:auto}
.vy-sf--bar .vy-sf__note{display:none}
@media (max-width:1024px){.vy-sf--bar .vy-sf__submit{flex-basis:auto}}
@media (max-width:640px){.vy-sf--bar .vy-sf__form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.vy-sf--bar .vy-sf__field--place,.vy-sf--bar .vy-sf__field--guests,.vy-sf--bar .vy-sf__submit{grid-column:1/-1}.vy-sf--bar .vy-sf__field--date{padding-left:38px}.vy-sf--bar .vy-sf__submit{justify-content:center}}
.vy-sf--bar .vy-sf__pair{flex:1 1 auto;min-width:0}
@media (max-width:640px){.vy-sf--bar .vy-sf__field--date{flex-direction:column;align-items:flex-start;justify-content:center;gap:0;padding:6px 10px 6px 36px}.vy-sf--bar .vy-sf__field--date>.vy-icon{left:10px}.vy-sf--bar .vy-sf__field--date .vy-sf__input{font-size:14px}.vy-sf--bar .vy-sf__pair{width:100%}}

/* Two rows (hero card): the place takes two of three columns, the button ends the second row. */
.vy-sf--grid.vy-sf--card{padding:14px;border-radius:20px;border:0}
.vy-sf--grid .vy-sf__form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.vy-sf--grid .vy-sf__field{min-height:60px;background:var(--vy-w-sf-field,var(--vy-cream,#FBF9F5))}
.vy-sf--grid .vy-sf__field--place{grid-column:span 2}
.vy-sf--grid .vy-sf__submit{min-height:60px;padding:0 20px}
.vy-sf--grid .vy-sf__note{display:none}
@media (max-width:640px){
	.vy-sf--grid .vy-sf__form{grid-template-columns:repeat(2,minmax(0,1fr))}
	.vy-sf--grid .vy-sf__field--place,.vy-sf--grid .vy-sf__field--guests,.vy-sf--grid .vy-sf__submit{grid-column:1/-1}
	.vy-sf--grid .vy-sf__field{padding-left:40px}
	.vy-sf--grid .vy-sf__field>.vy-icon{left:12px}
}
/* Phones: the start time stacks its label over the value, as the date beside it does. */
@media (max-width:640px){.vy-sf--bar .vy-sf__field--select{flex-direction:column;align-items:flex-start;justify-content:center;gap:0;padding:6px 10px 6px 36px}.vy-sf--bar .vy-sf__field--select>.vy-icon{left:10px}.vy-sf--bar .vy-sf__field--select .vy-sf__select{width:100%;font-size:14px}}
/* Tabs down the side (hero card): the tabs in a sand column, a title and a line above the fields. */
.vy-sf--side{display:grid;grid-template-columns:172px minmax(0,1fr);gap:14px;align-items:stretch}
.vy-sf--side.vy-sf--card{padding:14px;border-radius:28px;background:var(--vy-w-sf-bg,var(--vy-bg,#fff));box-shadow:0 30px 70px rgba(10,20,19,.28)}
.vy-sf--side .vy-sf__heading,.vy-sf--side .vy-sf__note{grid-column:1/-1}
.vy-sf__vtabs{display:flex;flex-direction:column;gap:4px;padding:8px;border-radius:20px;background:var(--vy-sand,#F3EEE4)}
.vy-sf__vtab{display:flex;align-items:center;gap:10px;width:100%;height:50px;padding:0 14px;border:0;border-radius:14px;background:transparent;color:var(--vy-ink-2,#2C3534);font:500 15px var(--vy-font-body,Jost,sans-serif);text-align:left;cursor:pointer;transition:background-color .2s ease,color .2s ease,box-shadow .2s ease}
.vy-sf__vtab svg{flex:0 0 auto}
.vy-sf__vtab:hover{color:var(--vy-main,#0E3B36)}
.vy-sf__vtab[aria-selected=true]{background:var(--vy-bg,#fff);color:var(--vy-main,#0E3B36);box-shadow:0 4px 14px rgba(21,32,31,.08)}
.vy-sf__vtab:focus-visible{outline:2px solid var(--vy-accent,#C9962B);outline-offset:2px}
.vy-sf__main{min-width:0;padding:10px 8px 8px 0}
.vy-sf--side .vy-sf__form{gap:12px}
.vy-sf__intro{flex-basis:100%;display:flex;flex-direction:column;gap:2px;margin-bottom:2px}
.vy-sf__ititle{font-family:var(--vy-font-heading,Marcellus,Georgia,serif);font-size:26px;line-height:1.15;color:var(--vy-ink,#15201F)}
.vy-sf__ihint{font-size:14px;line-height:1.5;color:var(--vy-muted,#5C6664)}
.vy-sf--side .vy-sf__field{flex-basis:100%;min-height:64px;background:var(--vy-w-sf-field,var(--vy-cream,#FBF9F5))}
.vy-sf--side .vy-sf__submit{flex-basis:100%;min-height:56px}
.vy-sf--side .vy-sf__pop{left:0;right:auto;width:100%}
@media (max-width:1100px){
	.vy-sf--side{grid-template-columns:1fr}
	.vy-sf__vtabs{flex-direction:row;overflow-x:auto;scrollbar-width:none}
	.vy-sf__vtabs::-webkit-scrollbar{display:none}
	.vy-sf__vtab{width:auto;flex:0 0 auto;height:44px}
	.vy-sf__main{padding:4px}
}
@media (prefers-reduced-motion:reduce){.vy-sf__vtab{transition:none}}
/* Two date fields in a row (check-in and check-out); a date with a time keeps the whole row. */
.vy-sf--side .vy-sf__field--date:not(:has(.vy-sf__time)):has(+ .vy-sf__field--date),.vy-sf--side .vy-sf__field--date+.vy-sf__field--date:not(:has(.vy-sf__time)){flex:1 1 calc(50% - 6px);min-width:0}
