body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}body{background-color:#f7f7f7;color:#333;font-family:Arial,sans-serif;margin:0;padding:0}main{padding:20px}h1,h2,h3{color:#007bff}.header{background-color:#333;border-bottom:4px solid #0056b3;padding:15px;text-align:center}.header h1{color:#fff;font-size:1.5rem;margin:0 0 10px}.header nav{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(3,1fr);justify-items:center;width:100%}.header button{align-items:center;background-color:#fff;border:2px solid #007bff;border-radius:25px;color:#007bff;cursor:pointer;display:flex;flex-direction:column;font-size:1rem;font-weight:700;gap:5px;justify-content:center;padding:12px 25px;transition:all .3s ease;width:80%}.header button:hover{background-color:#f8f9fa;border-color:#0056b3;box-shadow:0 4px 8px #0003;color:#0056b3}.header button:active{background-color:#0056b3;border-color:#0056b3;box-shadow:none;color:#fff}button svg{font-size:1.5rem}@media (max-width:600px){.header{padding:10px}.header h1{font-size:1.25rem}.header nav{gap:8px;grid-template-columns:repeat(3,1fr)}.header button{padding:5px;width:80%}}.menu-improved{background:#f8f9fa;margin:0 auto;max-width:1200px;padding:20px 15px 100px}.menu-header{margin-bottom:30px;text-align:center}.menu-header h2{color:#2c3e50;font-size:32px;font-weight:700;margin-bottom:8px}.menu-subtitle{color:#7f8c8d;font-size:16px}.menu-controls{display:flex;gap:10px;margin-bottom:20px}.search-bar{flex:1 1;position:relative}.search-bar input{border:2px solid #e0e0e0;border-radius:25px;font-size:15px;padding:12px 12px 12px 40px;transition:all .3s;width:100%}.search-bar input:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a;outline:none}.search-icon{color:#95a5a6;left:15px;position:absolute;top:50%;transform:translateY(-50%)}.filter-toggle-btn{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:25px;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:12px 20px;transition:all .3s;white-space:nowrap}.filter-toggle-btn.active{background:#3498db;border-color:#3498db;color:#fff}.filter-toggle-btn:hover{border-color:#3498db;transform:translateY(-2px)}.filters-panel{background:#fff;border-radius:15px;box-shadow:0 2px 10px #0000000d;padding:20px}.filters-panel,.filters-section{margin-bottom:20px}.filters-section:last-child{margin-bottom:0}.filters-section h4{color:#7f8c8d;font-size:14px;letter-spacing:.5px;margin-bottom:12px;text-transform:uppercase}.allergens-chips,.filter-chips{display:flex;flex-wrap:wrap;gap:8px}.allergen-chip,.filter-chip{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:20px;cursor:pointer;display:flex;font-size:13px;gap:6px;padding:8px 15px;transition:all .2s}.allergen-chip:hover,.filter-chip:hover{border-color:#3498db;transform:translateY(-2px)}.filter-chip.active{background:#3498db;border-color:#3498db;color:#fff}.allergen-chip.active{background:#e74c3c;border-color:#e74c3c;color:#fff}.clear-filters-btn{background:#ecf0f1;border:none;border-radius:10px;color:#7f8c8d;cursor:pointer;font-size:14px;margin-top:15px;padding:10px;transition:all .2s;width:100%}.clear-filters-btn:hover{background:#e0e0e0}.loading-container{padding:60px 20px;text-align:center}.spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#3498db;height:50px;margin:0 auto 20px;width:50px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.categories-container{display:flex;flex-direction:column;gap:20px}.menu-category-card{background:#fff;border-radius:15px;box-shadow:0 2px 10px #0000000d;overflow:hidden;transition:box-shadow .3s}.menu-category-card:hover{box-shadow:0 4px 20px #0000001a}.category-header{align-items:center;cursor:pointer;display:flex;gap:15px;padding:20px;transition:background .2s}.category-header:hover{background:#f8f9fa}.category-image-wrapper{border-radius:12px;flex-shrink:0;height:60px;overflow:hidden;width:60px}.category-image-wrapper img{height:100%;object-fit:cover;width:100%}.category-title-section{flex:1 1}.category-title-section h3{color:#2c3e50;font-size:22px;margin:0 0 5px}.category-desc{color:#7f8c8d;font-size:14px;margin:0 0 5px}.items-count{color:#95a5a6;font-size:12px}.category-toggle-icon{color:#3498db;font-size:20px}.category-items-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));padding:0 20px 20px}.no-items{color:#95a5a6;grid-column:1/-1;padding:20px;text-align:center}.menu-item-card{background:#f8f9fa;border-radius:12px;overflow:hidden;transition:transform .3s,box-shadow .3s}.menu-item-card:hover{box-shadow:0 8px 25px #00000026;transform:translateY(-5px)}.item-image-wrapper{background:#e0e0e0;cursor:pointer;height:200px;overflow:hidden;position:relative;width:100%}.item-image-wrapper img{height:100%;object-fit:cover;transition:transform .5s;width:100%}.menu-item-card:hover .item-image-wrapper img{transform:scale(1.1)}.item-image-overlay{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;opacity:0;position:absolute;transition:opacity .3s}.item-image-wrapper:hover .item-image-overlay{opacity:1}.zoom-icon{color:#fff;font-size:30px}.item-content{padding:15px}.item-header-row{align-items:start;display:flex;justify-content:space-between;margin-bottom:8px}.item-content h4{color:#2c3e50;cursor:pointer;flex:1 1;font-size:18px;margin:0}.item-content h4:hover{color:#3498db}.item-tags-mini{display:flex;gap:5px}.tag-mini{background:#3498db;border-radius:10px;color:#fff;font-size:10px;font-weight:600;padding:3px 8px;text-transform:uppercase}.tag-popolare{background:#e74c3c}.tag-nuovo{background:#f39c12}.tag-chef-special{background:#9b59b6}.item-description{color:#7f8c8d;font-size:14px;line-height:1.5;margin-bottom:10px}.item-characteristics{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.char-badge{align-items:center;border-radius:8px;display:flex;font-size:11px;font-weight:500;gap:4px;padding:4px 8px}.char-badge.vegetarian{background:#d4edda;color:#155724}.char-badge.vegan{background:#c3e6cb;color:#155724}.char-badge.gluten-free{background:#fff3cd;color:#856404}.char-badge.spicy{background:#f8d7da;color:#721c24}.item-allergens{color:#e74c3c;font-size:11px;margin-bottom:10px}.item-footer{align-items:center;border-top:1px solid #e0e0e0;display:flex;justify-content:space-between;padding-top:10px}.item-price-section{display:flex;flex-direction:column;gap:2px}.item-price{color:#27ae60;font-size:20px;font-weight:700}.item-calories{color:#95a5a6;font-size:11px}.item-actions{display:flex;gap:8px}.quantity-controls-inline{align-items:center;background:#fff;border-radius:20px;box-shadow:0 2px 8px #0000001a;display:flex;gap:8px;padding:5px}.qty-btn{align-items:center;background:#3498db;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:16px;height:30px;justify-content:center;transition:all .2s;width:30px}.qty-btn:hover{background:#2980b9;transform:scale(1.1)}.qty-display{color:#2c3e50;font-weight:600;min-width:30px;text-align:center}.add-to-cart-btn{background:#27ae60;border:none;border-radius:20px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:8px 20px;transition:all .3s}.add-to-cart-btn:hover{background:#229954;box-shadow:0 4px 12px #27ae604d;transform:translateY(-2px)}.modal-overlay-improved{align-items:center;background:#000c;display:flex;inset:0;justify-content:center;overflow-y:auto;padding:20px;position:fixed;z-index:1000}.modal-content-improved{animation:modalSlideIn .3s ease;background:#fff;border-radius:20px;max-height:90vh;max-width:600px;overflow-y:auto;position:relative;width:100%}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.modal-close-btn{background:#00000080;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:24px;height:40px;position:absolute;right:15px;top:15px;transition:all .2s;width:40px;z-index:10}.modal-close-btn:hover{background:#000c;transform:rotate(90deg)}.modal-image{height:300px;overflow:hidden;width:100%}.modal-image img{height:100%;object-fit:cover;width:100%}.modal-body{padding:25px}.modal-body h3{color:#2c3e50;font-size:26px;margin:0 0 10px}.modal-tags{display:flex;gap:8px;margin-bottom:15px}.tag{border-radius:12px;font-size:11px;font-weight:600;padding:5px 12px;text-transform:uppercase}.modal-description{color:#7f8c8d;font-size:16px;line-height:1.6;margin-bottom:20px}.modal-allergens,.modal-detailed-desc,.modal-ingredients{background:#f8f9fa;border-radius:10px;margin-bottom:20px;padding:15px}.modal-allergens h4,.modal-detailed-desc h4,.modal-ingredients h4{color:#2c3e50;font-size:14px;letter-spacing:.5px;margin:0 0 10px;text-transform:uppercase}.allergens-list{display:flex;flex-wrap:wrap;gap:8px}.allergen-badge{background:#e74c3c;border-radius:15px;color:#fff;font-size:12px;font-weight:500;padding:6px 12px}.modal-info-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:20px}.info-item{background:#f8f9fa;border-radius:10px;padding:12px;text-align:center}.info-label{color:#95a5a6;display:block;font-size:12px;margin-bottom:5px}.info-value{color:#2c3e50;display:block;font-size:18px;font-weight:700}.modal-actions{display:flex;gap:15px;justify-content:center}.quantity-controls-modal{align-items:center;background:#fff;border:2px solid #3498db;border-radius:30px;display:flex;gap:15px;padding:8px 20px}.quantity-controls-modal button{background:#3498db;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:18px;height:35px;transition:all .2s;width:35px}.quantity-controls-modal button:hover{background:#2980b9;transform:scale(1.1)}.quantity-controls-modal span{color:#2c3e50;font-size:18px;font-weight:700;min-width:40px;text-align:center}.add-to-cart-modal-btn{background:#27ae60;border:none;border-radius:30px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 40px;transition:all .3s}.add-to-cart-modal-btn:hover{background:#229954;box-shadow:0 6px 20px #27ae6066;transform:translateY(-2px)}.fixed-bottom-buttons{background:#fff;bottom:0;box-shadow:0 -2px 10px #0000001a;display:flex;gap:10px;left:0;padding:15px;position:fixed;right:0;z-index:100}.order-btn{background:#27ae60;border:none;border-radius:12px;color:#fff;cursor:pointer;flex:1 1;font-size:16px;font-weight:600;padding:15px;transition:all .3s}.order-btn:hover{background:#229954;transform:translateY(-2px)}.waiter-btn{align-items:center;background:#3498db;border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:8px;padding:15px 25px;transition:all .3s}.waiter-btn:hover{background:#2980b9;transform:translateY(-2px)}.waiter-btn:disabled{cursor:not-allowed;opacity:.6}@media (max-width:768px){.menu-improved{padding:15px 10px 100px}.menu-header h2{font-size:24px}.menu-controls{flex-direction:column}.category-items-grid{grid-template-columns:1fr;padding:0 15px 15px}.modal-content-improved{margin:10px}.modal-image{height:200px}.fixed-bottom-buttons{flex-direction:column;gap:8px}}.empty-menu{color:#95a5a6;font-size:18px;padding:60px 20px;text-align:center}.order{background-color:#f4f4f4;border-radius:8px;margin:0 15px;padding:15px}.order-header{align-items:flex-start;display:flex;flex-direction:column;margin-bottom:15px}h2{color:#333;font-size:1.5rem;margin:0}.order-list{list-style-type:none;padding:0}.order-item{background-color:#fff;border-radius:8px;box-shadow:0 0 5px #0000001a;flex-direction:column;padding:10px}.item-details,.order-item{display:flex;margin-bottom:10px}.item-details{align-items:center;justify-content:space-between}.item-name{color:#333;font-size:1rem;font-weight:700}.item-price{color:#333}.item-controls{align-items:center;display:flex;justify-content:space-between}.quantity-button{background-color:#f8f9fa;border:1px solid #ccc;border-radius:5px;color:#333;cursor:pointer;padding:5px 10px}.quantity-button:hover{background-color:#ececec}.quantity-button:active{background-color:#ddd}.item-quantity{font-size:1rem;margin:0 10px}.remove-from-cart{background-color:#f44336;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:1rem;padding:5px 15px}.remove-from-cart:hover{background-color:#e53935}.send-order{width:100%}.send-order:hover{background-color:#0056b3}.alert{border-radius:8px;font-weight:700;margin-top:20px;padding:15px;text-align:center;transition:all .3s ease-in-out}.alert.success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.alert.error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.order-notes{margin-top:20px}.order-notes textarea{border:1px solid #ccc;border-radius:5px;font-size:14px;height:100px;padding:10px;resize:none;width:90%}.order-notes textarea:focus{background-color:#f9f9f9;border-color:#0056b3;box-shadow:0 0 5px #0056b380;outline:none}.send-order{align-items:center;background-color:#0056b3;border:none;border-radius:5px;color:#fff;cursor:pointer;display:flex;font-size:1.2rem;font-weight:700;gap:10px;justify-content:center;margin-top:20px;padding:12px;width:98%}.send-order svg{font-size:1.5rem}.send-order:hover{background-color:#004085}.send-order:active{background-color:#036}.clear-cart{align-items:center;background-color:#e0e0e0;border:none;border-radius:5px;color:#333;cursor:pointer;display:flex;font-size:14px;gap:10px;margin-top:10px;padding:5px 15px}.clear-cart svg{font-size:1rem}.clear-cart:hover{background-color:#c7c7c7}.swal-success-btn{border:none!important;box-shadow:none!important;color:#fff!important;font-weight:700}.swal-success-btn,.swal-success-btn:hover{background-color:#007bff!important}@media (max-width:480px){.order{padding:10px}.order-header{align-items:flex-start}h2{font-size:1.2rem}.clear-cart{font-size:12px;padding:5px 10px}.order-item{padding:8px}.item-name{font-size:1rem}.quantity-button,.remove-from-cart{font-size:14px;padding:5px 12px}.send-order{font-size:1rem;margin-bottom:100px;padding:10px}.order-notes textarea{font-size:12px;height:80px}}.order-notes textarea{font-size:16px}.order-history{background-color:#f9f9f9;border-radius:10px;box-shadow:0 4px 6px #0000001a;font-family:Arial,sans-serif;margin:0 auto;max-width:800px;padding:20px}.order-history h2{color:#333;font-size:24px;margin-bottom:20px;text-align:center}.error{color:#ff4d4d;font-size:18px;font-weight:700;text-align:center}ul{list-style-type:none;padding:0}.order-history ul li{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d;margin:15px 0;padding:15px}.order-history ul li p{color:#333;font-size:18px;font-weight:600;margin:0}.order-history ul li ul{margin-top:10px;padding-left:20px}.order-history ul li ul li{color:#555;font-size:16px;padding:5px 0}.order-history ul li:not(:last-child){border-bottom:2px solid #f1f1f1}.order-history ul li p strong{color:#007bff;font-size:20px}.order-history ul li:hover{background-color:#f1f1f1;cursor:pointer}.order-history ul li:hover p{color:#007bff}.total-all-orders{background-color:#f8f9fa;border:1px solid #ddd;border-radius:5px;font-size:1.2em;font-weight:700;margin-top:20px;padding:10px;text-align:center}h3{color:#333}.disclaimer{color:#555;font-size:.9rem;margin-bottom:40px;margin-top:20px;text-align:center}.order-notes{background-color:#f9f9f9;color:#555;font-size:1px;margin-top:5px;padding:5px}.footer{background-color:#333;bottom:0;color:#fff;font-size:12px;position:fixed;text-align:center;width:100%}.footer a{color:#fff;font-weight:700;transition:color .3s ease}.login{align-items:center;background-color:#f8f9fa;display:flex;flex-direction:column;font-family:Arial,sans-serif;justify-content:center;min-height:100vh}.login h2{color:#333;font-size:24px;margin-bottom:20px}.login input{border:1px solid #ddd;border-radius:5px;box-shadow:0 2px 4px #0000001a;font-size:16px;margin-bottom:15px;max-width:300px;outline:none;padding:10px;transition:border-color .3s;width:80%}.login input:focus{border-color:#007bff}.login button{background-color:#007bff;border:none;border-radius:5px;box-shadow:0 2px 4px #0000001a;color:#fff;cursor:pointer;font-size:16px;font-weight:700;max-width:300px;padding:10px;transition:background-color .3s;width:80%}.login button:hover{background-color:#0056b3}.login p{color:#ff4d4d;font-size:14px;margin-top:10px}@media (max-width:600px){.login button,.login input{width:90%}.login h2{font-size:20px}.login p{font-size:12px}}
/*# sourceMappingURL=main.85d0bd36.css.map*/