.guest-page{background:var(--color-surface, #fff);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.menu-container{max-width:800px;margin:0 auto;padding:1rem}.menu-item{border:1px solid var(--color-gray-200, #eee);border-radius:8px;padding:1rem;margin-bottom:1rem;background:var(--color-surface, #fff)}.menu-item h3{margin:0 0 .5rem;color:var(--color-gray-800, #333)}.menu-item .price{font-weight:700;color:var(--color-primary-dark, #C27800)}:root{--menu-background-color: #f8f9fa;--menu-button-color: #C27800;--menu-button-foreground: #212121;--menu-button-text-on-surface: #333333}body{background:var(--menu-background-color)}.menu-header{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));color:var(--text-white);padding:30px 0;text-align:center}.menu-header h1{font-size:2.5em;margin-bottom:10px}.menu-header p{opacity:.9;font-size:1.1em}.table-info{background:var(--bg-white);padding:var(--spacing-xl);border-radius:var(--border-radius);margin-bottom:30px;box-shadow:var(--shadow);text-align:center}.menu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-lg)}.menu-card{background:var(--bg-white);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:var(--spacing-lg);box-shadow:var(--shadow);transition:all var(--transition);display:flex;flex-direction:column}.menu-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.menu-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-color);margin-bottom:var(--spacing-md)}.menu-card-info{display:flex;flex-direction:column;gap:var(--spacing-xs);min-width:0;flex:1}.menu-card h3{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0;line-height:1.3}.menu-category{background:var(--menu-button-color);color:var(--menu-button-foreground);padding:4px 10px;border-radius:20px;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);display:inline-block;align-self:flex-start;white-space:nowrap;letter-spacing:.03em;text-transform:uppercase}.menu-image-container{margin-top:var(--spacing-sm);border-radius:var(--border-radius-sm);overflow:hidden;box-shadow:var(--shadow-sm)}.menu-item-image{width:100%;aspect-ratio:3 / 2;object-fit:cover;transition:transform var(--transition)}.menu-card:hover .menu-item-image{transform:scale(1.05)}.menu-card-price{flex-shrink:0}.price-display{color:var(--success-color);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);white-space:nowrap}.base-price{color:var(--text-secondary);font-size:var(--font-size-sm);text-decoration:line-through;margin-right:var(--spacing-xs)}.menu-card-body{background:var(--bg-light);padding:var(--spacing-md);border-radius:var(--border-radius-sm);margin-bottom:var(--spacing-md);flex:1}.menu-description{color:var(--text-secondary);line-height:1.5;font-size:var(--font-size-sm);margin:0}.modifiers-section{border-top:1px dashed var(--border-color);padding-top:var(--spacing-md);margin-top:var(--spacing-md)}.modifier-group{margin-bottom:var(--spacing-md)}.modifier-group:last-child{margin-bottom:0}.modifier-group label{font-weight:var(--font-weight-bold);color:var(--text-primary);display:block;margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm)}.modifier-options{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.modifier-option{display:flex;align-items:center;padding:6px 12px;background:var(--bg-white);border:1px solid var(--border-color);border-radius:20px;cursor:pointer;font-size:var(--font-size-sm);transition:all var(--transition)}.modifier-option:hover{background:var(--color-gray-200);border-color:var(--menu-button-color)}.modifier-option input{margin-right:6px;accent-color:var(--menu-button-color)}.modifier-price{color:var(--success-color);font-weight:var(--font-weight-bold);margin-left:4px}.special-requests-section{margin-bottom:var(--spacing-md)}.special-requests-toggle{display:inline-flex;align-items:center;gap:8px;color:var(--menu-button-text-on-surface);font-size:var(--font-size-sm);cursor:pointer;min-height:44px;padding:6px 0;-webkit-user-select:none;user-select:none;list-style:none}.special-requests-toggle::-webkit-details-marker{display:none}.special-requests-toggle:after{content:"";width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;flex-shrink:0;transform:rotate(45deg) translate(-2px,-2px);transform-origin:center;transition:transform var(--transition)}.special-requests-section[open]>.special-requests-toggle:after{transform:rotate(225deg) translate(-2px,-2px)}.special-requests-toggle:focus-visible{outline:3px solid var(--menu-button-color);outline-offset:3px;border-radius:var(--border-radius-sm)}.special-requests-input{width:100%;margin-top:var(--spacing-sm);padding:var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);font-family:inherit;resize:vertical;min-height:60px;transition:border-color var(--transition);box-sizing:border-box}.special-requests-input:focus{outline:none;border-color:var(--menu-button-color)}.order-section{margin-top:auto;padding-top:var(--spacing-md)}.quantity-section{display:flex;align-items:center;justify-content:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.quantity-section label{font-weight:var(--font-weight-bold)}.quantity-controls{display:flex;align-items:center;gap:var(--spacing-sm)}.quantity-btn{background:var(--menu-button-color);color:var(--menu-button-foreground);border:none;width:44px;height:44px;min-width:44px;min-height:44px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;line-height:1;-moz-appearance:none;appearance:none;-webkit-appearance:none;transition:all var(--transition)}.quantity-btn:hover{filter:brightness(.9)}.quantity-btn:disabled{opacity:.4;cursor:not-allowed;filter:grayscale(50%)}.quantity-btn:disabled:hover{filter:grayscale(50%)}.quantity-input{width:60px;padding:var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);text-align:center}.order-btn{width:100%;padding:12px;background:var(--menu-button-color);color:var(--menu-button-foreground);border:none;border-radius:var(--border-radius);font-size:1.1em;font-weight:var(--font-weight-bold);cursor:pointer;transition:background var(--transition)}.order-btn:hover{filter:brightness(.9)}.cart-btn{background:var(--danger-color);margin-bottom:15px}.cart-btn:hover{background:var(--color-danger-dark)}.cart-count{background:var(--bg-white);color:var(--menu-button-color);border-radius:50%;padding:2px var(--spacing-sm);font-size:.9em;margin-left:var(--spacing-sm)}.category-filter{text-align:center;margin-bottom:30px}.category-filter button{margin:0 5px;padding:var(--spacing-sm) var(--spacing-lg);border:1px solid var(--menu-button-color);background:var(--bg-white);color:var(--menu-button-text-on-surface);border-radius:20px;cursor:pointer;transition:all var(--transition)}.category-filter button:hover,.category-filter button.active{background:var(--menu-button-color);color:var(--menu-button-foreground)}.empty-state{text-align:center;padding:60px;color:var(--text-secondary);grid-column:1/-1}.flash-messages{position:fixed;top:20px;right:20px;z-index:1000}.flash-messages .alert{padding:15px;border-radius:4px;margin-bottom:10px;max-width:300px}.wifi-info{border:1px solid var(--border-color-light)}.wifi-details{margin-bottom:var(--spacing-sm)}.wifi-details:last-child{margin-bottom:0}@media(max-width:768px){.menu-grid{grid-template-columns:1fr}.container{padding:15px}.menu-header{padding:var(--spacing-xl) 0}.menu-header h1{font-size:2em}.menu-header p{font-size:1em}.menu-card{padding:var(--spacing-lg);margin-bottom:var(--spacing-md)}.menu-card-header{flex-direction:column;gap:var(--spacing-sm)}.menu-card-price{align-self:flex-start}.quantity-section{flex-direction:column;align-items:center;gap:12px}.quantity-section label{text-align:center;font-size:1.1em;margin-bottom:0}.quantity-controls{justify-content:center;gap:12px}.quantity-btn{width:45px;height:45px;font-size:1.4em;font-weight:var(--font-weight-bold);box-shadow:var(--shadow)}.quantity-input{width:70px;height:45px;padding:0;font-size:1.2em;font-weight:var(--font-weight-bold);text-align:center;border:2px solid var(--menu-button-color);border-radius:var(--border-radius);background:var(--bg-white);color:var(--text-primary)}.order-btn{padding:15px;font-size:1.1em;margin-top:var(--spacing-md)}.category-filter{margin-bottom:var(--spacing-xl)}.category-filter button{margin:3px;padding:10px 15px;font-size:.9em}.flash-messages{right:10px;left:10px}.flash-messages .alert{max-width:none}}@media(max-width:480px){.container{padding:10px}.menu-card{padding:var(--spacing-md)}.menu-header h1{font-size:1.8em}.category-filter button{display:block;width:100%;margin:5px 0}.quantity-btn{width:50px;height:50px;font-size:1.5em}.quantity-input{width:80px;height:50px;font-size:1.3em}.quantity-controls{gap:15px}.order-btn{padding:18px;font-size:1.2em;margin-top:var(--spacing-lg)}}:root{--menu-background-color: #f8f9fa;--menu-button-color: #C27800;--menu-button-foreground: #212121;--menu-button-text-on-surface: #333333;--demo-banner-height: 0px}.guest-layout [hidden]{display:none!important}.menu-header{margin-bottom:0;text-align:center;background:transparent!important;padding:0!important;color:inherit!important}.restaurant-image-container{position:relative;width:100%;border-radius:0 0 12px 12px;overflow:hidden;background:transparent}.restaurant-header-image{width:100%;height:250px;object-fit:cover;display:block}.language-selector{position:absolute;top:10px;right:10px;z-index:10;margin:0;text-align:right}.language-selector--standalone{position:static;margin:.75rem 0;text-align:right}.language-dropdown{background:#ffffffd9;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.5);border-radius:8px;padding:0 .5rem;box-shadow:0 2px 8px #00000026;display:inline-block}.language-selector--standalone .language-dropdown{background:#fff;border:1px solid var(--color-gray-300);backdrop-filter:none;-webkit-backdrop-filter:none}.language-dropdown select{min-height:44px;background:transparent;border:none;font-size:.9rem;cursor:pointer}.wifi-password-copy{cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s ease;background:#c278001a;border:1px solid rgba(194,120,0,.2);display:inline-block;-webkit-user-select:none;user-select:none}.wifi-password-copy:hover{background:#c2780033;border-color:#c2780066;transform:translateY(-1px)}.wifi-password-copy:active{transform:translateY(0)}.copy-icon{margin-left:6px;font-size:.9em;opacity:.7;transition:all .2s ease}.copy-icon svg{width:1em;height:1em;vertical-align:-.125em}.wifi-password-copy:hover .copy-icon{opacity:1}.restaurant-contact-info{margin-top:1rem;display:flex;flex-direction:column;align-items:center;gap:.5rem}.contact-item{display:flex;align-items:flex-start;gap:.4rem;font-size:.9rem;color:var(--text-secondary)}.contact-item a{color:var(--menu-button-text-on-surface);text-decoration:none}.contact-item a:hover{text-decoration:underline}.contact-icon-svg{width:18px;height:18px;fill:var(--menu-button-color);flex-shrink:0;margin-top:2px}.social-icons{display:flex;gap:.75rem;justify-content:center;align-items:center;flex-wrap:wrap;margin-top:.25rem}.social-icon-link{display:flex;align-items:center;justify-content:center;transition:opacity .2s ease,transform .2s ease}.social-icon-link:hover{opacity:.7;transform:translateY(-1px)}.social-icon-svg{width:20px;height:20px;fill:var(--menu-button-color)}.order-type-toggle{display:flex;gap:0;margin:1rem auto .75rem;max-width:300px;border-radius:25px;overflow:hidden;border:2px solid var(--menu-button-color)}.order-type-btn{flex:1;padding:10px 16px;border:none;background:var(--bg-white);color:var(--menu-button-text-on-surface);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.order-type-btn.active{background:var(--menu-button-color);color:var(--menu-button-foreground)}.order-type-btn:hover:not(.active){background:#c278001a}.category-tabs{margin:.75rem 0;position:relative}.category-tabs-scroll{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:4px 0}.category-tabs-scroll::-webkit-scrollbar{display:none}.category-tab{scroll-snap-align:start;flex-shrink:0;padding:8px 18px;border:1.5px solid var(--menu-button-color);background:var(--bg-white);color:var(--menu-button-text-on-surface);border-radius:25px;cursor:pointer;font-size:.85rem;font-weight:600;transition:all .2s ease;white-space:nowrap}.category-tab:hover,.category-tab.active{background:var(--menu-button-color);color:var(--menu-button-foreground)}.menu-search{margin:.75rem 0}.search-input-wrapper{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:12px;font-size:1rem;pointer-events:none;z-index:1}.search-input{width:100%;padding:10px 36px 10px 38px;border:1.5px solid var(--border-color);border-radius:25px;font-size:.9rem;background:var(--bg-white);transition:border-color .2s}.search-input:focus{outline:none;border-color:var(--menu-button-color)}.search-clear{position:absolute;right:8px;background:none;border:none;font-size:1.3rem;color:var(--text-secondary);cursor:pointer;width:44px;height:44px;padding:0;line-height:1}.search-no-results{text-align:center;padding:2rem 1rem;color:var(--text-secondary);font-size:.95rem}.menu-grid{grid-template-columns:repeat(2,1fr);gap:12px;padding-bottom:16px}.menu-card{cursor:pointer;padding:0;overflow:hidden;min-height:44px}.menu-card-trigger{width:100%;min-height:inherit;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;display:flex;flex-direction:column}.menu-card-trigger:focus-visible{outline:3px solid var(--menu-button-color);outline-offset:-3px}.menu-card-image{position:relative;width:100%;overflow:hidden}.menu-card-image .menu-item-image{width:100%;aspect-ratio:4 / 3;object-fit:cover;display:block;transition:transform .3s ease}.menu-card:hover .menu-card-image .menu-item-image{transform:scale(1.05)}.menu-card-content{padding:10px 12px 12px;display:flex;flex-direction:column;gap:4px;flex:1}.menu-card-name{font-size:.9rem;font-weight:700;color:var(--text-primary);margin:0;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.menu-card-price-row{display:flex;align-items:center;gap:6px;margin-top:auto}.menu-card-current-price{color:var(--success-color);font-size:1rem;font-weight:700}.menu-card-original-price{color:var(--text-secondary);font-size:.8rem;text-decoration:line-through}.badge-best-choice{display:inline-flex;align-items:center;flex-wrap:wrap;background:#fff3cd;color:#856404;font-size:.7rem;font-weight:700;padding:2px 8px;border-radius:12px;white-space:normal;max-width:100%}.dietary-tags{display:flex;flex-wrap:wrap;gap:4px}.dietary-tag{display:inline-block;font-size:.65rem;font-weight:600;padding:1px 6px;border-radius:10px;white-space:nowrap}.dietary-tag-spicy{background:#ffe0e0;color:#c62828}.dietary-tag-vegan{background:#e8f5e9;color:#2e7d32}.dietary-tag-vegetarian{background:#f1f8e9;color:#558b2f}.dietary-tag-gluten_free{background:#fff8e1;color:#f57f17}.dietary-tag-dairy_free{background:#e3f2fd;color:#1565c0}.dietary-tag-nut_free{background:#fce4ec;color:#ad1457}.portion-size{color:var(--text-secondary);font-size:.75rem}.item-modal{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200}.item-modal.active{display:flex;align-items:flex-end;justify-content:center}.item-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;animation:fadeIn .2s ease}.item-modal-content{position:relative;background:var(--bg-white);border-radius:16px 16px 0 0;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;z-index:1;animation:slideUp .3s ease}.item-modal-close{position:absolute;top:12px;right:12px;background:#0006;color:#fff;border:none;width:44px;height:44px;border-radius:50%;font-size:1.3rem;cursor:pointer;z-index:2;display:flex;align-items:center;justify-content:center;line-height:1}.item-modal-image-wrap img{width:100%;max-height:250px;object-fit:cover;display:block}.item-modal-body{padding:16px 20px}.item-modal-header{margin-bottom:8px}.item-modal-name{font-size:1.3rem;font-weight:700;margin:4px 0 8px;color:var(--text-primary)}.item-modal-price{margin-bottom:12px}.modal-current-price{font-size:1.4rem;font-weight:700;color:var(--success-color)}.modal-original-price{font-size:1rem;color:var(--text-secondary);text-decoration:line-through;margin-left:8px}.modal-base-price{font-size:.85rem;color:var(--text-secondary);text-decoration:line-through;margin-left:8px}.item-modal-description{color:var(--text-secondary);font-size:.9rem;line-height:1.5;margin-bottom:12px}.item-modal-description:empty{display:none}.item-modal-modifiers{margin-bottom:12px}.item-modal-modifiers:empty{display:none}.item-modal-quantity{display:flex;justify-content:center;margin-bottom:12px}.item-modal-footer{padding:0 20px calc(20px + env(safe-area-inset-bottom,0px));position:sticky;bottom:0;background:var(--bg-white)}.item-modal-footer .order-btn{border-radius:25px;font-size:1.05rem;padding:14px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.sticky-cart-bar{position:fixed;bottom:0;left:0;right:0;z-index:900;background:var(--menu-button-color);animation:slideUp .3s ease}.sticky-cart-link{display:flex;align-items:center;justify-content:space-between;padding:14px 20px calc(14px + env(safe-area-inset-bottom,0px));background:var(--menu-button-color);color:var(--menu-button-foreground);text-decoration:none;font-size:1rem;font-weight:600;box-shadow:0 -2px 12px #00000026}.sticky-cart-link:hover{filter:brightness(.9)}.sticky-cart-total{font-size:1.1rem;font-weight:700}body.has-cart-bar main{padding-bottom:var(--sticky-cart-height, 60px)}.guest-layout .flash-messages{top:auto;right:16px;bottom:calc(var(--sticky-cart-height, 0px) + 16px + env(safe-area-inset-bottom,0px));left:auto;width:min(420px,calc(100% - 32px));z-index:925}.guest-layout .flash-messages .alert{display:flex;align-items:flex-start;gap:10px;max-width:none;margin-bottom:10px}.guest-layout .flash-messages .alert-message{flex:1;min-width:0}.guest-layout .flash-messages .alert-close{flex:0 0 auto;border:0;background:transparent;color:currentColor;cursor:pointer;line-height:1;padding:2px}@media(max-width:768px){.restaurant-header-image{height:180px}.wifi-password-copy{padding:6px 10px;font-size:.9rem}.item-modal-content{max-height:92vh}}@media(max-width:600px){.restaurant-header-image{height:128px}.menu-grid{grid-template-columns:1fr}.menu-card{min-height:112px}.menu-card-trigger{flex-direction:row}.menu-card-image{flex:0 0 124px;width:124px}.menu-card-image .menu-item-image{width:100%;height:100%;min-height:112px;aspect-ratio:auto}.menu-card-content{min-width:0;padding:12px 14px;gap:6px}.menu-card-name{font-size:1rem}.menu-card-price-row{justify-content:space-between;flex-wrap:wrap}.dietary-tags{row-gap:5px}}@media(max-width:360px){.sticky-cart-link{padding:12px 14px calc(12px + env(safe-area-inset-bottom,0px));font-size:.9rem}.sticky-cart-total{font-size:1rem}.item-modal-image-wrap img{max-height:180px}.item-modal-name{font-size:1.1rem}.modal-current-price{font-size:1.2rem}.item-modal-body{padding:12px 16px}.item-modal-footer{padding:0 16px calc(16px + env(safe-area-inset-bottom,0px))}}@media(min-width:769px){.item-modal.active{align-items:center}.item-modal-content{border-radius:16px;max-height:85vh}.item-modal-footer{padding:0 20px 20px}}.guest-menu-container{max-width:960px}.guest-layout .skip-link{position:fixed;z-index:1300;top:8px;left:8px;transform:translateY(-160%);padding:10px 14px;border-radius:8px;background:var(--bg-white);color:var(--text-primary);box-shadow:var(--shadow-md)}.guest-layout .skip-link:focus{transform:translateY(0)}.restaurant-summary{margin:16px 0 12px;padding:20px}.restaurant-summary h1{margin:0;font-size:clamp(1.6rem,5vw,2.25rem);line-height:1.15}.restaurant-summary__table{margin:6px 0 0}.restaurant-details{margin-top:14px;border-top:1px solid var(--border-color);text-align:left}.restaurant-details summary{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--menu-button-text-on-surface);font-weight:700;cursor:pointer;list-style:none}.restaurant-details summary::-webkit-details-marker{display:none}.restaurant-details summary:after{content:"";width:10px;height:10px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;flex:0 0 auto;transform:rotate(45deg) translate(-2px,-2px);transform-origin:center;transition:transform var(--transition)}.restaurant-details[open] summary:after{transform:rotate(225deg) translate(-2px,-2px)}.restaurant-details summary:focus-visible{outline:3px solid var(--menu-button-color);outline-offset:3px;border-radius:var(--border-radius-sm)}.restaurant-details__content{padding:4px 0 2px}.restaurant-description{margin:0 0 12px;color:var(--text-secondary);font-style:italic;line-height:1.5;text-align:center}.wifi-info{padding:12px 14px;border-radius:10px;background:var(--bg-light);text-align:center}.wifi-info h2{margin:0 0 6px;font-size:1rem}.wifi-details{margin:4px 0}.wifi-password-copy{min-height:44px;border:1px solid color-mix(in srgb,var(--menu-button-color) 30%,transparent);color:var(--text-primary);font:inherit}.social-icon-link{width:44px;height:44px}.social-icon-svg{fill:var(--menu-button-text-on-surface)}.menu-controls{display:contents}.order-type-toggle{min-height:44px;margin-top:12px}.order-type-btn{min-height:44px}.category-tabs{position:sticky;top:var(--demo-banner-height);z-index:950;margin:8px -4px;padding:4px;background:color-mix(in srgb,var(--menu-background-color) 94%,white);box-shadow:0 1px #0000000f;isolation:isolate}.category-tabs:before,.category-tabs:after{position:absolute;z-index:2;top:4px;bottom:4px;width:32px;display:flex;align-items:center;justify-content:center;pointer-events:none;color:var(--menu-button-text-on-surface);font-size:1.35rem;font-weight:800;opacity:0;transition:opacity .15s ease}.category-tabs:before{content:"‹";left:4px;background:linear-gradient(to right,var(--menu-background-color),transparent)}.category-tabs:after{content:"›";right:4px;background:linear-gradient(to left,var(--menu-background-color),transparent)}.category-tabs.can-scroll-left:before,.category-tabs.can-scroll-right:after{opacity:1}.category-tab{min-height:44px;padding:8px 18px}.menu-search{margin:8px 0 12px}.search-input{min-height:44px}.menu-card-trigger:active{transform:scale(.99)}.badge-best-choice--overlay{position:absolute;z-index:1;top:8px;left:8px;max-width:calc(100% - 16px);box-shadow:0 1px 5px #0000002e}.item-modal-content{max-height:min(92dvh,760px);overscroll-behavior:contain}.item-modal-footer{border-top:1px solid var(--border-color);padding-top:12px}.item-modal-footer .order-btn,.item-modal .quantity-btn{min-height:44px}.demo-menu-banner{position:sticky;top:0;z-index:1000;min-height:44px;display:flex;align-items:center;justify-content:center;gap:4px;padding-left:max(12px,env(safe-area-inset-left));padding-right:max(4px,env(safe-area-inset-right));background:#7b4c00;color:#fff;box-shadow:0 2px 8px #00000029}.demo-menu-banner__content{min-width:0;flex:1;display:flex;align-items:center;justify-content:center;gap:8px;font-size:.85rem;line-height:1.25}.demo-menu-banner__label{min-width:0}.demo-menu-banner__short{font-weight:700}.demo-menu-banner__long{display:none}.demo-menu-banner__cta{flex:0 0 auto;min-height:44px;display:inline-flex;align-items:center;color:#fff;font-weight:800;text-decoration:underline;text-underline-offset:2px}.demo-menu-banner__dismiss{width:44px;height:44px;flex:0 0 44px;border:0;background:transparent;color:#fff;font-size:1.5rem;cursor:pointer}.sticky-cart-bar[hidden],.demo-menu-banner[hidden]{display:none!important}@media(max-width:600px){.language-dropdown select,.search-input,.special-requests-input{font-size:16px}.guest-menu-container{padding:0 10px}.restaurant-summary{margin:10px 0 8px;padding:14px 16px}.restaurant-summary h1{font-size:1.45rem}.restaurant-summary__table{font-size:.86rem}.restaurant-details{margin-top:8px}.restaurant-details__content{max-height:52dvh;overflow-y:auto}.menu-grid{gap:10px}.menu-card,.menu-card-trigger{min-height:108px}.menu-card-image{flex-basis:112px;width:112px}.menu-card-image .menu-item-image{min-height:108px}.menu-card-content{padding:10px 12px;gap:4px}.menu-card-name{font-size:.95rem}.menu-card--no-image .menu-card-content{min-height:108px}.badge-best-choice{font-size:.64rem}.dietary-tag{font-size:.62rem}.item-modal-content{max-height:92dvh}.item-modal-image-wrap img{max-height:210px}}@media(min-width:601px){.demo-menu-banner__short{display:none}.demo-menu-banner__long{display:inline}}@media(prefers-reduced-motion:reduce){.item-modal-backdrop,.item-modal-content,.sticky-cart-bar{animation:none}.menu-card,.menu-card-trigger,.category-tabs:before,.category-tabs:after{transition:none}}.cart-container{background:var(--bg-white);border-radius:12px;padding:24px;box-shadow:var(--shadow-md)}.cart-item{display:flex;align-items:flex-start;padding:var(--spacing-md) 0;border-bottom:1px solid var(--border-color-light);transition:opacity .3s ease,max-height .3s ease,padding .3s ease,margin .3s ease;max-height:200px;overflow:hidden}.cart-item:last-child{border-bottom:none}.cart-item.removing{opacity:0;max-height:0;padding:0;margin:0;border-bottom:none}.cart-item-undo{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md);background:var(--color-info-light, #e8f4fd);border:1px solid var(--color-info-border, #b6d4fe);border-radius:8px;margin:var(--spacing-xs) 0;max-height:60px;overflow:hidden;transition:opacity .3s ease,max-height .3s ease,padding .3s ease,margin .3s ease}.cart-item-undo.collapsing{opacity:0;max-height:0;padding:0;margin:0;border:none}.cart-item-undo-text{font-size:.9em;color:var(--color-info-dark, #084298)}.cart-item-undo-btn{background:none;border:none;color:var(--primary-color);font-weight:700;cursor:pointer;text-decoration:underline;font-size:.95em;padding:4px 8px;border-radius:4px;transition:background .15s ease}.cart-item-undo-btn:hover{background:#0000000d}.cart-item-undo-btn:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.cart-item-image{width:64px;height:64px;border-radius:8px;object-fit:cover;flex-shrink:0;margin-right:var(--spacing-md)}.item-info{flex:1;min-width:0}.item-name{font-size:1em;font-weight:var(--font-weight-bold);color:var(--text-primary);margin-bottom:2px}.item-price{color:var(--success-color);font-size:.85em}.item-modifiers{font-size:.8em;color:var(--text-secondary);margin:2px 0}.modifier-item{margin:1px 0}.quantity-controls{display:flex;align-items:center;gap:var(--spacing-sm);margin:0 var(--spacing-md);flex-shrink:0}.quantity-btn{background:var(--primary-color);color:var(--text-white);border:none;width:44px;height:44px;min-width:44px;min-height:44px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;line-height:1;-moz-appearance:none;appearance:none;-webkit-appearance:none;transition:background var(--transition)}.quantity-btn .icon{display:block;width:20px;height:20px;pointer-events:none}.quantity-btn:hover{background:var(--color-primary-dark)}.quantity-btn:disabled{opacity:.5;cursor:not-allowed}.quantity-input{width:42px;height:44px;min-height:44px;text-align:center;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);padding:2px;font-size:.95em}.item-total{font-weight:var(--font-weight-bold);font-size:1em;color:var(--text-primary);min-width:70px;text-align:right}.cart-summary{border-top:2px solid var(--border-color-light);padding-top:var(--spacing-md);margin-top:var(--spacing-md)}.summary-row{display:flex;justify-content:space-between;margin-bottom:var(--spacing-md);font-size:1.1em}.summary-row.total{font-weight:var(--font-weight-bold);font-size:1.3em;color:var(--text-primary)}.action-buttons{display:flex;gap:15px;margin-top:30px}.action-buttons .btn,.confirmation-modal-actions .btn{flex:1;padding:15px;border:none;border-radius:6px;font-size:1.1em;font-weight:var(--font-weight-bold);cursor:pointer;text-decoration:none;text-align:center;transition:background var(--transition)}.action-buttons .btn-secondary,.confirmation-modal-actions .btn-secondary{background:var(--color-gray-700);color:var(--text-white)}.action-buttons .btn-secondary:hover,.confirmation-modal-actions .btn-secondary:hover{background:var(--color-gray-800)}.action-buttons .btn-primary,.confirmation-modal-actions .btn-primary{background:var(--success-color);color:var(--text-white)}.action-buttons .btn-primary:hover,.confirmation-modal-actions .btn-primary:hover{background:var(--color-success-dark)}.empty-cart{text-align:center;padding:60px;color:var(--text-secondary)}.empty-cart h3{margin-bottom:var(--spacing-xl)}@media(max-width:768px){.cart-container{padding:var(--spacing-lg)}.cart-item{padding:var(--spacing-sm) 0;gap:var(--spacing-sm)}.cart-item-image{width:56px;height:56px;border-radius:6px}.item-name{font-size:.95em}.item-price{font-size:.8em}.quantity-controls{margin:0 var(--spacing-sm);gap:var(--spacing-xs, 4px)}.quantity-btn{width:44px;height:44px}.quantity-input{width:40px;height:44px;padding:2px;font-size:1em}.item-total{font-size:.95em;min-width:55px}.action-buttons{flex-direction:column;gap:var(--spacing-md)}.btn{padding:18px;font-size:1.1em}}@media(max-width:480px){.cart-container{padding:12px}.cart-item{display:grid;grid-template-columns:48px 1fr auto;grid-template-rows:auto auto;gap:var(--spacing-xs) var(--spacing-sm);align-items:start}.cart-item-image{width:48px;height:48px;grid-row:1 / 3;grid-column:1;align-self:start}.item-info{grid-row:1;grid-column:2 / 4;flex-basis:auto}.quantity-controls{grid-row:2;grid-column:2;justify-self:start;margin:0}.quantity-btn{width:44px;height:44px}.quantity-input{width:40px;height:44px;font-size:1em}.item-total{grid-row:2;grid-column:3;align-self:center;margin-left:0}.cart-item-undo{font-size:.85em}.flash-messages{right:var(--spacing-md);left:var(--spacing-md)}.alert{max-width:none}}.takeaway-option{margin-top:8px}.takeaway-checkbox{display:flex;align-items:center;cursor:pointer;font-size:.9em;color:var(--text-secondary);-webkit-user-select:none;user-select:none}.takeaway-checkbox input[type=checkbox]{display:none}.takeaway-checkbox .checkmark{width:18px;height:18px;border:2px solid var(--border-color);border-radius:4px;margin-right:8px;position:relative;transition:all .2s ease;background:var(--bg-white)}.takeaway-checkbox input[type=checkbox]:checked+.checkmark{background:var(--primary-color);border-color:var(--primary-color)}.takeaway-checkbox input[type=checkbox]:checked+.checkmark:after{content:"✓";position:absolute;left:2px;top:-2px;color:#fff;font-size:12px;font-weight:700}.takeaway-checkbox:hover .checkmark{border-color:var(--primary-color)}.confirmation-modal{display:none;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:#00000080}.confirmation-modal-content{background-color:var(--bg-white);margin:15% auto;padding:0;border:none;border-radius:var(--border-radius-lg);width:90%;max-width:400px;box-shadow:var(--shadow-lg)}.confirmation-modal-header{background:var(--primary-color);color:var(--text-white);padding:var(--spacing-lg);text-align:center;border-radius:var(--border-radius-lg) var(--border-radius-lg) 0 0}.confirmation-modal-header h3{margin:0;font-size:1.2em}.confirmation-modal-body{padding:var(--spacing-xl);text-align:center}.confirmation-modal-body p{margin:0 0 var(--spacing-lg) 0;color:var(--text-secondary);font-size:1.1em}.confirmation-modal-actions{display:flex;gap:var(--spacing-md);justify-content:center;padding:0 var(--spacing-xl) var(--spacing-xl) var(--spacing-xl)}.confirmation-modal-actions .btn{flex:1;max-width:140px;min-width:100px;font-size:1em;white-space:nowrap;min-height:48px}.receipt-page{width:min(100%,720px);margin:0 auto;padding:0 16px calc(24px + env(safe-area-inset-bottom,0px))}.success-header{display:flex;align-items:center;justify-content:center;gap:10px;min-height:76px;padding:18px 20px;background:linear-gradient(135deg,var(--color-success),var(--color-success-dark));color:var(--text-white);border-radius:14px 14px 0 0;text-align:center}.success-header p{margin:0;font-size:1rem;font-weight:700;line-height:1.4}.success-mark{display:inline-flex;flex:0 0 auto}.success-mark svg{width:28px;height:28px;fill:currentColor}.success-card{padding:28px;background:var(--bg-white);border-radius:0 0 14px 14px;box-shadow:var(--shadow-md);text-align:center}.success-card h2{margin:0 0 10px;color:var(--text-primary);font-size:clamp(1.35rem,5vw,1.8rem);line-height:1.25}.receipt-reference{margin:0;color:var(--text-secondary);font-size:.95rem}.demo-simulation-notice{margin:14px auto;padding:12px 14px;border:1px solid var(--color-warning-border);border-radius:var(--border-radius);background:var(--color-warning-light);color:var(--color-warning-text);font-weight:700;line-height:1.45}.order-details,.status-info{margin:24px 0;padding:20px;border-radius:var(--border-radius);text-align:left}.order-details{background:var(--bg-light)}.order-details h3,.status-info h4{margin:0 0 14px}.order-item{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:14px 0;border-bottom:1px solid var(--border-color-light)}.order-item:last-of-type{border-bottom:0}.item-info{min-width:0}.item-info h4{margin:0 0 5px;overflow-wrap:anywhere}.item-info p,.modifier-item-detail{margin:3px 0;color:var(--text-secondary);font-size:.9rem}.item-price{flex:0 0 auto;color:var(--success-color);font-weight:var(--font-weight-bold)}.total{padding-top:14px;border-top:2px solid var(--border-color-light);text-align:right}.total h3{margin:0}.takeaway-confirmation{display:inline-block;margin:8px 0;padding:7px 10px;border-radius:6px;background:var(--warning-color);color:#fff;font-size:.85rem;font-weight:700}.status-info{border:1px solid var(--color-info-border);background:var(--color-info-light)}.status-info h4{color:var(--color-info-dark)}.status-info p{margin:7px 0;color:var(--text-primary);line-height:1.45}.actions{display:flex;gap:12px}.actions .btn{flex:1;min-height:48px;justify-content:center}@media(max-width:480px){.receipt-page{padding-inline:10px}.success-header{min-height:84px;padding:18px 14px}.success-header p{font-size:.95rem}.success-card{padding:22px 14px}.order-details,.status-info{padding:16px}.order-item{align-items:center}.actions{flex-direction:column}.actions .btn{width:100%}}
