/* Oasis — booking bar controls (the bar is a real form aimed at Cloudbeds) */
.book .f{position:relative;display:block;cursor:pointer}
.book .f span{display:block;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-2);margin-bottom:6px;font-weight:700}
.book .f input,.book .f select{appearance:none;-webkit-appearance:none;width:100%;border:0;background:transparent;padding:0;margin:0;color:var(--ink);font-family:var(--display);font-size:22px;font-weight:500;line-height:1.2;outline:none;border-radius:0}
.book .f input[type=date]{position:absolute;inset:0;opacity:0;cursor:pointer}
.book .f input[type=date]::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.book .f .v{display:block;font-family:var(--display);font-size:22px;font-weight:500;line-height:1.2;pointer-events:none}
.book .f small{font:700 12px var(--body);color:var(--lagoon-deep)}
.book .f input[type=text]{width:100%;letter-spacing:.01em}
.book .f .disc,.book .f .nights{display:block;margin:2px 0 0;white-space:nowrap}
.book .f select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%235F6B68' stroke-width='1.6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 2px center;background-size:12px;padding-right:22px;cursor:pointer}
.book .f:focus-within{background:var(--paper-2)}
.book .f.is-invalid{box-shadow:inset 0 -2px 0 var(--sign)}
.book .go{border:0;cursor:pointer;font-family:var(--body)}
.book .go:disabled{opacity:.6;cursor:wait}
.book .f input:-webkit-autofill{-webkit-text-fill-color:var(--ink);box-shadow:0 0 0 40px var(--paper) inset}

/* Home page: the booking bar sits below the hero so the full video shows.
   Inner pages keep the overlap on their shorter photo heroes. */
/* Booking bar in the first view: the hero stops short of the fold and the bar overlaps its bottom edge (laptop) or follows right after it (phones). */
body.home .book{margin-top:-72px}
body.home .ticker{margin-top:56px}
@media (max-width:760px){body.home .book{margin-top:16px}}

/* Home page: the hero video fills the full first screen. */
body.home .hero{height:min(72svh,720px);min-height:500px}
body.home.admin-bar .hero{height:min(calc(72svh - 32px),720px)}
@media (max-width:760px){body.home .hero,body.home.admin-bar .hero{height:min(60svh,600px);min-height:420px}}

/* Five fields (adults + children) before the button. */
.book-in{grid-template-columns:repeat(5,1fr) auto}
@media (max-width:900px){.book-in{grid-template-columns:1fr 1fr}.book .f:nth-child(odd):last-of-type{border-right:0}}
