.menu-app{position:relative;min-height:100%}.menu-back-button{position:fixed;left:5mm;bottom:5mm;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border:none;border-radius:50%;cursor:pointer;transition:transform .2s ease}.menu-back-button:active{transform:scale(.96)}.menu-back-button__icon{font-size:1.125rem}.menu-content{box-sizing:border-box;padding:0 1.5rem;margin:0 auto;width:100%;max-width:960px}.business-name{margin:0 0 .5rem;font-size:2rem;font-weight:700;text-align:center}.business-contact{margin:0 0 .25rem;text-align:center;font-size:1rem}.business-table-label,.business-table-placeholder{margin:0 0 1.5rem;text-align:center;font-size:.875rem;min-height:1.25rem}.menu-breadcrumb{margin-bottom:1rem;font-size:.875rem}.menu-breadcrumb-list{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem;padding:0;margin:0;list-style:none}.menu-breadcrumb-item{display:inline-flex;align-items:center;gap:.25rem}.menu-breadcrumb-button{background:none;border:none;padding:0;font:inherit;cursor:pointer;text-decoration:none}.menu-breadcrumb-button:focus{outline:2px solid currentColor;outline-offset:2px}.menu-breadcrumb-divider{-webkit-user-select:none;-moz-user-select:none;user-select:none}.bussiness-menu-title{margin:0 0 .75rem;font-size:1.5rem;font-weight:600;text-align:center}.menu-description{margin:0 0 1.5rem;text-align:center;font-size:1rem;line-height:1.5}.menu-search-empty,.menu-navigation-empty{margin-top:1.5rem;text-align:center;font-size:.95rem}.menu-category-list{display:flex;flex-direction:column;gap:1.5rem}.menu-category-card{cursor:pointer}.menu-dish-list{margin-top:0}.menu-dish-list--with-offset{margin-top:1.5rem}.menu-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999;display:flex;align-items:center;justify-content:center;padding:1rem}.menu-modal__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.6}.menu-modal__panel{position:relative;width:100%;max-width:720px;border-radius:24px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 45px #00000040}.menu-modal__image-wrapper{position:relative}.menu-modal__image-aspect{position:relative;aspect-ratio:16 / 9;width:100%;background-color:#00000014;overflow:hidden}.menu-modal__image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;cursor:pointer;display:block}.menu-modal__close,.menu-modal__fullscreen{position:absolute;top:12px;width:42px;height:42px;border-radius:50%;border:none;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .15s ease}.menu-modal__close{right:12px}.menu-modal__fullscreen{right:60px}.menu-modal__close:active,.menu-modal__fullscreen:active{transform:scale(.94)}.menu-modal__control-icon{font-size:1.125rem}.menu-modal__content{padding:1.5rem}.menu-modal__header{display:flex;flex-direction:column;gap:1rem}@media (min-width: 768px){.menu-modal__header{flex-direction:row;align-items:flex-start;justify-content:space-between}}.menu-modal__title{margin:0;font-size:1.75rem;font-weight:700;line-height:1.2}.menu-modal__pricing{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem;min-width:140px}.menu-modal__price-wrapper{display:inline-flex;align-items:baseline;gap:.5rem}.menu-modal__price{font-size:1.5rem;font-weight:600}.menu-modal__secondary-price{font-size:.875rem;text-decoration:line-through;opacity:.75}.menu-modal__description{margin-top:1rem;font-size:1rem;line-height:1.6}.menu-modal__variants,.menu-modal__plain-order{margin-top:1.5rem;display:flex;flex-direction:column;gap:.75rem}.menu-modal__variants-title{margin:0;font-size:1.125rem;font-weight:600}.menu-modal__total{display:flex;justify-content:space-between;align-items:center;font-size:.95rem}.menu-modal__add-button{border:none;border-radius:999px;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;cursor:pointer}.menu-modal__attributes{margin-top:1.5rem;display:flex;flex-direction:column;gap:.75rem}.menu-modal__attributes-title{margin:0;font-size:1.1rem;font-weight:600}.menu-modal__attributes-list{display:flex;flex-wrap:wrap;gap:.5rem}.menu-modal__attribute{position:relative}.menu-modal__attribute-button{width:42px;height:42px;border-radius:50%;border:1px solid transparent;background:none;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.menu-modal__attribute-icon{font-size:1.6rem;line-height:1}.menu-modal__attribute-popover{position:absolute;left:50%;transform:translate(-50%);margin-top:.5rem;padding:.5rem .75rem;border-radius:.75rem;font-size:.75rem;white-space:nowrap;box-shadow:0 6px 20px #00000026}.menu-modal__spice{display:inline-flex;align-items:center;padding-top:.25rem}.menu-fade-enter-active,.menu-fade-leave-active{transition:opacity .2s ease}.menu-fade-enter-from,.menu-fade-leave-to{opacity:0}.menu-fade-enter-to,.menu-fade-leave-from{opacity:1}.menu-panel-enter-active,.menu-panel-leave-active{transition:opacity .2s ease,transform .2s ease}.menu-panel-enter-from,.menu-panel-leave-to{opacity:0;transform:translateY(12px) scale(.96)}.menu-panel-enter-to,.menu-panel-leave-from{opacity:1;transform:translateY(0) scale(1)}.menu-popover-enter-active,.menu-popover-leave-active{transition:opacity .15s ease,transform .15s ease}.menu-popover-enter-from,.menu-popover-leave-to{opacity:0;transform:translate(-50%,6px)}.menu-popover-enter-to,.menu-popover-leave-from{opacity:1;transform:translate(-50%)}.category-card{position:relative;width:100%;border-radius:1rem;overflow:hidden}.category-card--small{height:8rem}.category-card--medium{height:10rem}.category-card--large{height:12rem}.category-card__image,.category-card__placeholder{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.category-card__placeholder{background:rgba(0,0,0,.1)}.category-card__overlay{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.35}.category-card__label-container{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:0 .75rem;text-align:center}.menu-category-label{display:inline-block;font-size:1.25rem;font-weight:600;text-shadow:0 2px 6px rgba(0,0,0,.35)}.dish-card{margin-bottom:1.5rem}.dish-card__media{position:relative;border-radius:1rem;overflow:hidden;cursor:pointer}.dish-card__image,.dish-card__placeholder{width:100%;height:12rem;-o-object-fit:cover;object-fit:cover;display:block}.dish-card__placeholder{background:rgba(0,0,0,.08)}.dish-card__loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.dish-card__loading-spinner{width:2.5rem;height:2.5rem;border-radius:50%;border:4px solid rgba(255,255,255,.7);border-top-color:transparent;animation:menu-spinner 1s linear infinite}@keyframes menu-spinner{to{transform:rotate(360deg)}}.dish-card__body{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-top:.75rem}.dish-card__details{flex:1;min-width:0}.dish-card__title{margin:0 0 .35rem;font-size:1.25rem;font-weight:600}.dish-card__description{margin:0;font-size:.95rem;line-height:1.4}.dish-card__rating{display:inline-flex;align-items:center;gap:.25rem;margin-top:.5rem;font-size:.875rem}.dish-card__rating-icon{font-size:1rem}.dish-card__rating-value{font-size:.85rem}.dish-card__attributes{margin-top:.75rem;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.dish-card__attribute{position:relative}.dish-card__attribute-button{background:none;border:none;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.dish-card__attribute-icon{line-height:1}.dish-card__attribute-popover{position:absolute;left:50%;transform:translate(-50%);margin-top:.35rem;padding:.35rem .5rem;border-radius:.5rem;font-size:.75rem;white-space:nowrap;box-shadow:0 6px 20px #00000026}.dish-card__spice{display:inline-flex;align-items:center}.dish-card__pricing{text-align:right;min-width:5rem}.dish-card__price{font-size:1.5rem;font-weight:700}.dish-card__add-button{margin-top:.5rem;width:42px;height:42px;border-radius:50%;border:none;display:inline-flex;align-items:center;justify-content:center;font-size:1.25rem;cursor:pointer}.dish-rating{margin-top:1.5rem}.dish-rating__title{margin:0 0 .5rem;font-size:1.05rem;font-weight:600}.dish-rating__stars{display:inline-flex;gap:.25rem}.dish-rating__button{border:none;background:none;padding:0;margin:0;font-size:1.75rem;cursor:pointer}.dish-rating__button:disabled{cursor:default}.dish-rating__thanks{margin-top:.5rem;font-size:.85rem}.menu-spice-level{display:inline-flex;align-items:center;gap:.25rem}.menu-spice-level--active{color:#d9480f}.menu-spice-level--inactive{color:#00000040}.menu-spice-level--xs{font-size:.65rem}.menu-spice-level--sm{font-size:.75rem}.menu-spice-level--base{font-size:.9rem}.menu-spice-level--lg{font-size:1.1rem}.menu-spice-level--xl{font-size:1.3rem}.menu-cart-button{position:fixed;left:0;right:0;bottom:0;padding:.75rem 1rem;text-align:center;font-size:1rem;font-weight:600;border:none;cursor:pointer;z-index:60}.menu-cart-screen{position:fixed;left:0;right:0;bottom:0;top:25%;margin:0 auto;max-width:500px;display:flex;flex-direction:column;border-radius:24px 24px 0 0;overflow:hidden;box-shadow:0 -10px 35px #0000002e}.menu-cart-screen__header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid transparent}.menu-cart-screen__title{margin:0;font-size:1.25rem;font-weight:600}.menu-cart-screen__close{width:36px;height:36px;border-radius:50%;border:none;cursor:pointer;font-size:1.25rem}.menu-cart-screen__body{flex:1;overflow-y:auto;padding:1.25rem 1.5rem 5rem;display:flex;flex-direction:column;gap:1.25rem}.menu-cart-screen__line{padding-bottom:1rem;border-bottom:1px solid transparent}.menu-cart-screen__total{display:flex;justify-content:space-between;font-weight:600;font-size:1rem}.menu-cart-screen__notes{margin-top:.5rem}.menu-cart-screen__editor-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.5);z-index:1000;padding:1rem}.menu-cart-screen__editor{width:100%;max-width:340px;border-radius:1rem;padding:1.5rem;background:#ffffff;display:flex;flex-direction:column;gap:1rem}.menu-cart-screen__editor-title{margin:0;font-size:1.1rem;font-weight:600}.menu-cart-screen__cancel{border:none;background:none;align-self:flex-start;font-size:.9rem;cursor:pointer}.menu-cart-line{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.menu-cart-line__info{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.menu-cart-line__image{width:48px;height:48px;border-radius:12px;-o-object-fit:cover;object-fit:cover;display:block}.menu-cart-line__details{display:flex;flex-direction:column;gap:.25rem;min-width:0}.menu-cart-line__name{font-size:.95rem;font-weight:600}.menu-cart-line__variant{font-size:.85rem;opacity:.8}.menu-cart-line__variant--highlight{opacity:1;font-weight:600}.menu-cart-line__price{font-size:.85rem;opacity:.75}.menu-cart-line__actions{display:flex;align-items:center;gap:.5rem}.menu-cart-line__total{width:70px;text-align:right;font-size:.95rem}.menu-cart-line__edit,.menu-cart-line__remove{border:none;background:none;cursor:pointer;padding:.25rem;font-size:1rem}.menu-variant-selector{display:flex;flex-direction:column;gap:.75rem}.menu-variant-selector__row{display:flex;justify-content:space-between;align-items:center;gap:1rem}.menu-variant-selector__label{font-size:.95rem}.menu-variant-selector__extra{margin-left:.5rem;font-size:.8rem;opacity:.75}.menu-variant-selector__total{display:flex;justify-content:space-between;align-items:center;font-size:.95rem}.menu-variant-selector__submit{margin-top:.5rem;border:none;border-radius:999px;padding:.75rem 1.25rem;font-weight:600;cursor:pointer}.menu-quantity-stepper{display:inline-flex;align-items:center;gap:.5rem}.menu-quantity-stepper__button{width:36px;height:36px;border-radius:50%;border:none;display:inline-flex;align-items:center;justify-content:center;font-size:1.1rem;cursor:pointer}.menu-quantity-stepper__button:disabled{opacity:.5;cursor:not-allowed}.menu-quantity-stepper__value{display:inline-block;width:32px;text-align:center;font-size:1rem}.menu-notes-editor{width:100%;min-height:90px;border-radius:12px;padding:.75rem;resize:vertical;font-size:.95rem;font-family:inherit}.menu-waiter-screen{padding:1.5rem;font-size:1.25rem;display:flex;flex-direction:column;gap:.75rem}.menu-waiter-screen__line{display:flex;justify-content:space-between;padding-bottom:.75rem;border-bottom:1px solid transparent}.menu-waiter-screen__total{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;font-size:1.5rem;font-weight:700}@media (min-width: 1024px){.menu-content{padding:0 2rem 2rem}.dish-card__image,.dish-card__placeholder{height:14rem}}
