.animate-slide-up{animation:slideUp .3s cubic-bezier(.4,0,.2,1);animation-fill-mode:forwards}.animate-slide-down{animation:slideDown .3s cubic-bezier(.4,0,.2,1);animation-fill-mode:forwards}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideDown{0%{transform:translateY(0)}to{transform:translateY(100%)}}:root{--restaurant-carousel-gap:1rem;--restaurant-item-border-radius:1rem;--restaurant-item-edge-bg-color:hsla(0 0% 5%/0.75);--restaurant-item-width:calc(96vw - 3rem - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px));--restaurant-item-max-width:34.56rem}.carousel-container{height:100%;width:100vw;position:relative}.carousel-container ::-webkit-scrollbar{width:0;background:transparent}.carousel{height:100%;width:100%;max-width:100vw;flex-grow:1;display:flex;flex-wrap:nowrap;overflow-x:auto;gap:var(--restaurant-carousel-gap);-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;scroll-snap-type:x mandatory;scroll-behavior:auto}.carousel:after,.carousel:before{content:" ";min-width:calc(max(100vw - var(--restaurant-item-width), 100vw - var(--restaurant-item-max-width) - (var(--restaurant-carousel-gap) * 2)) / 2);-webkit-user-select:none;-moz-user-select:none;user-select:none;scroll-snap-align:unset}.restaurant{background-color:hsl(var(--accent));background-size:cover;background-position:50%;width:var(--restaurant-item-width);max-width:var(--restaurant-item-max-width);flex:0 0 auto;scroll-snap-align:center;border-radius:var(--restaurant-item-border-radius);--tw-shadow:0 4px 6px -1px rgb(0 0 0/0.1),0 2px 4px -2px rgb(0 0 0/0.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.restaurant>.restaurant-title{display:flex;flex-direction:column;gap:.25rem;padding:4rem 1rem 1rem;border-radius:0 0 var(--restaurant-item-border-radius) var(--restaurant-item-border-radius);background:linear-gradient(to bottom,transparent,var(--restaurant-item-edge-bg-color) 50%)}.restaurant>.restaurant-header{padding:1rem 1rem 4rem;border-radius:var(--restaurant-item-border-radius) var(--restaurant-item-border-radius) 0 0;background:linear-gradient(to top,transparent,var(--restaurant-item-edge-bg-color))}