.wrapper { position: sticky; z-index: var(--booking-widget-z-index); width: 100%; &[data-booking-widget-open="true"] { z-index: var(--booking-widget-open-z-index); overflow-y: visible; .formContainer { left: 0; bottom: 0; width: 100%; z-index: 1; transform: translateY(0); visibility: visible; } @media screen and (max-width: 767px) { .backdrop { position: fixed; inset: 0; background-color: rgba(0, 0, 0, 0.4); z-index: 0; } } } /* Make sure Date Picker is placed on top of other sticky/fixed components */ &:has([data-datepicker-open="true"]), &:has([data-rooms-open="true"]) { z-index: var(--booking-widget-open-z-index); } } .formContainer { display: grid; grid-template-rows: auto 1fr; background-color: var(--UI-Input-Controls-Surface-Normal); border-radius: 0; gap: var(--Space-x3); height: calc(100dvh - max(var(--sitewide-alert-sticky-height), 20px)); width: 100%; padding: var(--Space-x3) var(--Space-x2); position: fixed; left: 0; bottom: 0; overflow-y: auto; transform: translateY(100%); transition: transform 300ms ease; visibility: hidden; &:has([data-searchlist-open="true"]) { overflow-y: visible; } } .compact { .formContainer { border-radius: var(--Corner-Radius-lg); } } @media screen and (max-width: 767px) { .formContainer { border-radius: var(--Corner-Radius-lg) var(--Corner-Radius-lg) 0 0; } } .close { background: none; border: none; cursor: pointer; justify-self: flex-end; padding: 0; } @media screen and (min-width: 768px) { .wrapper { top: 0; } .formContainer { display: block; background-color: var(--Base-Surface-Primary-light-Normal); box-shadow: 0px 4px 24px 0px rgba(0, 0, 0, 0.05); height: auto; position: static; padding: 0; overflow-y: visible; transform: none; visibility: visible; &.compactFormContainer { box-shadow: none; } } .close { display: none; } } @media screen and (min-width: 1367px) { .formContainer { &.compactFormContainer { padding-left: var(--Space-x15); } } }