.toast{position:fixed;bottom:20px;right:20px;background:#fff;color:#333;padding:1rem 1.5rem;border-radius:8px;box-shadow:0 4px 12px #00000026;display:flex;align-items:center;gap:1rem;z-index:10000;animation:slideIn .3s ease-out;min-width:250px;max-width:400px}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.toast-success{border-left:4px solid #28a745}.toast-error{border-left:4px solid #dc3545}.toast-info{border-left:4px solid #007bff}.toast-message{flex:1;font-size:.95rem;font-weight:500}.toast-close{background:none;border:none;font-size:1.5rem;color:#666;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;line-height:1;transition:color .2s}.toast-close:hover{color:#333}@media(max-width:768px){.toast{bottom:10px;right:10px;left:10px;max-width:none}}.header{background:#fff;box-shadow:0 2px 4px #0000001a;position:sticky;top:0;z-index:100}.header-container{max-width:1200px;margin:0 auto;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center}.header-logo{text-decoration:none;color:#333}.header-logo h1{margin:0;font-size:1.5rem;font-weight:700}.header-logo-image{max-height:50px;width:auto;object-fit:contain}.header-nav{display:flex;gap:2rem;align-items:center}.nav-link{text-decoration:none;color:#333;font-weight:500;transition:color .2s;position:relative}.nav-link:hover{color:#007bff}.cart-link{display:flex;align-items:center;gap:.5rem}.cart-badge{background:#007bff;color:#fff;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600}@media(max-width:768px){.header-container{padding:1rem}.header-logo h1{font-size:1.25rem}.header-nav{gap:1rem}}.footer{background:#333;color:#fff;margin-top:auto}.footer-container{max-width:1200px;margin:0 auto;padding:2rem;display:flex;justify-content:space-between;align-items:center}.footer-links{display:flex;gap:2rem}.footer-links a{color:#fff;text-decoration:none;transition:opacity .2s}.footer-links a:hover{opacity:.7}@media(max-width:768px){.footer-container{flex-direction:column;gap:1rem;text-align:center}.footer-links{flex-direction:column;gap:.5rem}}.layout{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;width:100%}.home-page{min-height:60vh;background:#fafafa}.home-header{max-width:1200px;margin:0 auto;padding:3rem 2rem 2rem;border-bottom:1px solid #e5e5e5}.home-title{font-size:2.5rem;font-weight:600;margin:0 0 .5rem;color:#1a1a1a;letter-spacing:-.02em}.home-description{font-size:1rem;color:#666;margin:0;font-weight:400}.restaurants-section{max-width:1200px;margin:0 auto;padding:3rem 2rem}.restaurants-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem}.restaurant-card{background:#fff;border:1px solid #e5e5e5;border-radius:4px;overflow:hidden;text-decoration:none;color:inherit;transition:border-color .2s,box-shadow .2s;display:block}.restaurant-card:hover{border-color:#d0d0d0;box-shadow:0 2px 8px #00000014}.restaurant-logo-container{width:100%;height:180px;display:flex;align-items:center;justify-content:center;background:#fff;border-bottom:1px solid #e5e5e5;padding:1.5rem}.restaurant-logo{max-width:100%;max-height:100%;object-fit:contain}.restaurant-info{padding:1.25rem}.restaurant-name{font-size:1.125rem;font-weight:600;margin:0 0 .75rem;color:#1a1a1a;line-height:1.4}.restaurant-address,.restaurant-phone{font-size:.875rem;color:#666;margin:.25rem 0;line-height:1.5}.restaurants-loading,.restaurants-error,.restaurants-empty{text-align:center;padding:4rem 2rem;color:#666}.restaurants-error{color:#dc3545}@media(max-width:768px){.home-header{padding:2rem 1.5rem 1.5rem}.home-title{font-size:2rem}.home-description{font-size:.9375rem}.restaurants-section{padding:2rem 1.5rem}.restaurants-grid{grid-template-columns:1fr;gap:1rem}.restaurant-logo-container{height:160px;padding:1rem}}.menu-category{padding:.75rem 1.5rem;background:#f8f9fa;border:2px solid transparent;border-radius:8px;font-size:1rem;font-weight:500;color:#333;cursor:pointer;transition:all .2s;white-space:nowrap}.menu-category:hover{background:#e9ecef}.menu-category.active{background:#007bff;color:#fff;border-color:#007bff}.modifier-group{margin-bottom:1.5rem}.modifier-group-title{font-size:1rem;font-weight:600;margin-bottom:.75rem;color:#333}.required{color:#dc3545}.selection-limit{font-size:.875rem;font-weight:400;color:#666;margin-left:.5rem}.modifier-list{display:flex;flex-direction:column;gap:.5rem}.modifier-option{display:flex;align-items:center;gap:.75rem;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .2s}.modifier-option:hover:not(.disabled){border-color:#007bff;background:#f8f9fa}.modifier-option.selected{border-color:#007bff;background:#e7f3ff}.modifier-option.disabled{opacity:.5;cursor:not-allowed}.modifier-option input{cursor:pointer}.modifier-name{flex:1;font-size:.9375rem}.modifier-price{font-weight:600;color:#007bff}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.menu-item-modal{background:#fff;border-radius:16px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;position:relative}.modal-close{position:absolute;top:1rem;right:1rem;background:#00000080;color:#fff;border:none;width:32px;height:32px;border-radius:50%;font-size:1.5rem;cursor:pointer;z-index:10;display:flex;align-items:center;justify-content:center;transition:background .2s}.modal-close:hover{background:#000000b3}.modal-image{width:100%;height:300px;overflow:hidden;background:#f0f0f0}.modal-image img{width:100%;height:100%;object-fit:cover}.modal-content{padding:1.5rem}.modal-title{font-size:1.5rem;font-weight:700;margin:0 0 .5rem;color:#333}.modal-description{font-size:1rem;color:#666;margin:0 0 1.5rem}.modifiers-section{margin-bottom:1.5rem}.modal-footer{display:flex;justify-content:space-between;align-items:center;padding-top:1.5rem;border-top:1px solid #e0e0e0}.quantity-controls{display:flex;align-items:center;gap:1rem}.quantity-btn{width:36px;height:36px;border:2px solid #e0e0e0;background:#fff;border-radius:8px;font-size:1.25rem;cursor:pointer;transition:all .2s}.quantity-value{font-size:1.125rem;font-weight:600;min-width:2rem;text-align:center}.modal-actions{display:flex;align-items:center;gap:1rem}.total-price{font-size:1.25rem;font-weight:700;color:#007bff}.add-to-cart-btn{padding:.75rem 1.5rem;background:#007bff;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}.add-to-cart-btn:hover:not(:disabled){background:#0056b3}.add-to-cart-btn:disabled{opacity:.5;cursor:not-allowed}.orders-disabled-notice{background:#fff3cd;border:1px solid #ffc107;border-radius:8px;padding:.75rem 1rem;margin-bottom:1rem;width:100%}.orders-disabled-notice p{margin:0;color:#856404;font-size:.875rem;font-weight:600;text-align:center}@media(max-width:768px){.modal-footer{flex-direction:column;gap:1rem;align-items:stretch}.quantity-controls{justify-content:center}.modal-actions{flex-direction:column}.add-to-cart-btn{width:100%}}.menu-item-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000001a;cursor:pointer;transition:transform .2s,box-shadow .2s}.menu-item-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.menu-item-image{width:100%;height:200px;overflow:hidden;background:#f0f0f0}.menu-item-image img{width:100%;height:100%;object-fit:cover}.menu-item-content{padding:1rem}.menu-item-name{font-size:1.125rem;font-weight:600;margin:0 0 .5rem;color:#333}.menu-item-description{font-size:.875rem;color:#666;margin:0 0 1rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.menu-item-footer{display:flex;justify-content:space-between;align-items:center}.menu-item-price{font-size:1.125rem;font-weight:700;color:#007bff}.unavailable-badge{font-size:.75rem;color:#dc3545;font-weight:600}.menu-item-card.orders-disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.menu-item-card.orders-disabled:hover{transform:none;box-shadow:0 2px 8px #0000001a}.menu-page{max-width:1200px;margin:0 auto;padding:2rem}.menu-header{margin-bottom:2rem}.menu-title{font-size:2rem;font-weight:700;margin:0 0 1rem;color:#333}.menu-search{margin-bottom:1rem}.search-input{width:100%;max-width:500px;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem}.search-input:focus{outline:none;border-color:#007bff}.menu-categories{display:flex;gap:1rem;margin-bottom:2rem;overflow-x:auto;padding-bottom:.5rem}.menu-items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.menu-loading,.menu-error,.menu-empty{text-align:center;padding:4rem 2rem;color:#666}.empty-detail{font-size:.875rem;color:#999;margin-top:.5rem}.menu-error{color:#dc3545}.error-detail{font-size:.875rem;margin-top:.5rem;opacity:.8}.orders-disabled-banner{background:#fff3cd;border:2px solid #ffc107;border-radius:8px;padding:1rem 1.5rem;margin-bottom:2rem;text-align:center}.orders-disabled-message{margin:0;font-weight:600;color:#856404;font-size:1rem}@media(max-width:768px){.menu-page{padding:1rem}.menu-items-grid{grid-template-columns:1fr}}.cart-item{display:flex;gap:1rem;padding:1rem;background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000001a}.cart-item-image{width:100px;height:100px;flex-shrink:0;border-radius:8px;overflow:hidden;background:#f0f0f0}.cart-item-image img{width:100%;height:100%;object-fit:cover}.cart-item-details{flex:1;display:flex;flex-direction:column;gap:.5rem}.cart-item-name{font-size:1.125rem;font-weight:600;margin:0;color:#333}.cart-item-modifiers{display:flex;flex-wrap:wrap;gap:.5rem}.modifier-tag{font-size:.875rem;color:#666;background:#f8f9fa;padding:.25rem .5rem;border-radius:4px}.modifier-price{color:#007bff;font-weight:500}.cart-item-controls{display:flex;align-items:center;gap:1rem;margin-top:auto}.quantity-controls{display:flex;align-items:center;gap:.5rem}.quantity-btn{width:32px;height:32px;border:2px solid #e0e0e0;background:#fff;border-radius:6px;font-size:1rem;cursor:pointer;transition:all .2s}.quantity-btn:hover{border-color:#007bff;background:#f8f9fa}.quantity-value{font-size:1rem;font-weight:600;min-width:2rem;text-align:center}.cart-item-price{font-size:1.125rem;font-weight:700;color:#007bff;margin-left:auto}.remove-btn{padding:.5rem 1rem;background:#dc3545;color:#fff;border:none;border-radius:6px;font-size:.875rem;cursor:pointer;transition:background .2s}.remove-btn:hover{background:#c82333}@media(max-width:768px){.cart-item{flex-direction:column}.cart-item-image{width:100%;height:200px}.cart-item-controls{flex-wrap:wrap}.cart-item-price{margin-left:0}}.cart-summary{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000001a;position:sticky;top:100px}.summary-details{margin-bottom:1.5rem}.summary-row{display:flex;justify-content:space-between;padding:.5rem 0;font-size:1rem;color:#666}.total-row{border-top:2px solid #e0e0e0;padding-top:1rem;margin-top:.5rem;font-size:1.25rem;font-weight:700;color:#333}.checkout-btn{display:block;width:100%;padding:1rem;background:#007bff;color:#fff;text-align:center;text-decoration:none;border-radius:8px;font-size:1.125rem;font-weight:600;transition:background .2s}.checkout-btn:hover{background:#0056b3}@media(max-width:768px){.cart-summary{position:static}}.cart-empty{display:flex;align-items:center;justify-content:center;min-height:60vh;padding:2rem}.empty-content{text-align:center}.empty-content h2{font-size:2rem;margin:0 0 1rem;color:#333}.empty-content p{font-size:1.125rem;color:#666;margin:0 0 2rem}.browse-menu-btn{display:inline-block;padding:1rem 2rem;background:#007bff;color:#fff;text-decoration:none;border-radius:8px;font-size:1.125rem;font-weight:600;transition:background .2s}.browse-menu-btn:hover{background:#0056b3}.cart-container{max-width:1200px;margin:0 auto;padding:2rem;display:grid;grid-template-columns:1fr 400px;gap:2rem}.cart-title{font-size:2rem;font-weight:700;margin:0 0 1.5rem;color:#333}.cart-items{display:flex;flex-direction:column;gap:1rem}@media(max-width:968px){.cart-container{grid-template-columns:1fr}}@media(max-width:768px){.cart-container{padding:1rem}}.cart-page{min-height:60vh}.date-picker-wrapper{position:relative;width:100%}.date-picker-input{position:relative;width:100%;cursor:pointer}.date-picker-input input{width:100%;padding:.75rem 2.5rem .75rem .75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;font-family:inherit;transition:border-color .2s;background-color:#fff;cursor:pointer}.date-picker-input input:focus{outline:none;border-color:#007bff}.date-picker-icon{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);pointer-events:none;font-size:1.2rem}.date-picker-dropdown{position:absolute;top:calc(100% + .5rem);left:0;z-index:1000;background:#fff;border:2px solid #e0e0e0;border-radius:12px;box-shadow:0 4px 12px #00000026;padding:1rem;min-width:300px}.date-picker-calendar{width:100%}.date-picker-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.date-picker-nav{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#333;padding:.25rem .5rem;border-radius:4px;transition:background-color .2s}.date-picker-nav:hover{background-color:#f0f0f0}.date-picker-month-year{font-weight:600;font-size:1.1rem;color:#333}.date-picker-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem;margin-bottom:.5rem}.date-picker-weekday{text-align:center;font-weight:600;font-size:.875rem;color:#666;padding:.5rem 0}.date-picker-days{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem}.date-picker-day{aspect-ratio:1;border:none;background:#fff;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .2s;display:flex;align-items:center;justify-content:center;color:#333}.date-picker-day:hover:not(.disabled):not(.selected){background-color:#f0f0f0}.date-picker-day.today{font-weight:700;border:2px solid #007bff}.date-picker-day.selected{background-color:#007bff;color:#fff;font-weight:600}.date-picker-day.selected.today{border-color:#0056b3}.date-picker-day.disabled{color:#ccc;cursor:not-allowed;background-color:#f9f9f9}.date-picker-day.empty{cursor:default;background:transparent}@media(max-width:768px){.date-picker-dropdown{min-width:280px;left:50%;transform:translate(-50%)}}.checkout-form{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000001a}.error-messages{background:#fee;border:1px solid #fcc;border-radius:8px;padding:1rem;margin-bottom:1.5rem}.error-message{color:#dc3545;font-size:.875rem;margin-bottom:.5rem}.error-message:last-child{margin-bottom:0}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-weight:600;margin-bottom:.5rem;color:#333}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;font-family:inherit;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#007bff}.form-group select{cursor:pointer;background-color:#fff}.form-group select:disabled{background-color:#f5f5f5;cursor:not-allowed;opacity:.6}.time-select{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem}.time-unavailable{padding:1rem;background:#fff3cd;border:1px solid #ffc107;border-radius:8px;color:#856404}.time-unavailable p{margin:0 0 .5rem;font-weight:600}.time-unavailable small{display:block;font-size:.875rem}.form-group textarea{resize:vertical}.submit-btn{width:100%;padding:1rem;background:#007bff;color:#fff;border:none;border-radius:8px;font-size:1.125rem;font-weight:600;cursor:pointer;transition:background .2s}.submit-btn:hover:not(:disabled){background:#0056b3}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.form-hint{display:block;margin-top:.5rem;font-size:.875rem;color:#6c757d}.form-error{display:block;margin-top:.5rem;font-size:.875rem;color:#dc3545}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:400}.checkbox-label input[type=checkbox]{width:auto;margin:0;cursor:pointer}@media(max-width:768px){.checkout-form{padding:1.5rem}}.payment-form{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000001a}.form-title{font-size:1.5rem;font-weight:700;margin:0 0 1.5rem;color:#333}.payment-element-wrapper{margin-bottom:1.5rem;min-height:300px;padding:1.5rem;border:1px solid #e0e0e0;border-radius:8px;background:#fff;position:relative}.payment-element-wrapper .StripeElement,.payment-element-wrapper iframe,.payment-element-wrapper [data-testid]{display:block!important;width:100%!important;min-height:200px!important}.payment-element-wrapper>div{width:100%;min-height:200px}.payment-summary{border-top:2px solid #e0e0e0;padding-top:1rem;margin-bottom:1.5rem}.payment-total{display:flex;justify-content:space-between;font-size:1.25rem;font-weight:700;color:#333}.pay-btn{width:100%;padding:1rem;background:#007bff;color:#fff;border:none;border-radius:8px;font-size:1.125rem;font-weight:600;cursor:pointer;transition:background .2s}.pay-btn:hover:not(:disabled){background:#0056b3}.pay-btn:disabled{opacity:.6;cursor:not-allowed}.payment-error{background:#fee;border:1px solid #fcc;border-radius:8px;padding:1.5rem;color:#dc3545;text-align:center}.environment-info{margin-top:.5rem;font-size:.875rem;color:#666}.payment-loading{background:#fff;border-radius:12px;padding:2rem;text-align:center;color:#666}.payment-loading p{margin:0;font-size:1rem}.payment-warning{background:#fff3cd;border:2px solid #ffc107;border-radius:8px;padding:1rem 1.25rem;margin-bottom:1.5rem;color:#856404;font-size:.95rem;line-height:1.5;display:flex;align-items:center;gap:.5rem}.payment-warning strong{font-weight:600}.payment-warning-processing{background:#d1ecf1;border-color:#0c5460;color:#0c5460;animation:pulse-warning 2s ease-in-out infinite}.payment-warning-emphasis{font-weight:600;display:block;margin-top:.25rem}@keyframes pulse-warning{0%,to{opacity:1}50%{opacity:.8}}@media(max-width:768px){.payment-form{padding:1.5rem}.payment-warning{font-size:.875rem;padding:.875rem 1rem;flex-direction:column;align-items:flex-start;gap:.25rem}}.order-summary{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000001a;position:sticky;top:100px}.summary-title{font-size:1.25rem;font-weight:700;margin:0 0 1rem;color:#333}.summary-items{margin-bottom:1rem;max-height:400px;overflow-y:auto}.summary-item{display:flex;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid #f0f0f0}.item-info{display:flex;flex-direction:column;gap:.25rem}.item-name{font-weight:500;color:#333}.item-price{font-weight:600;color:#333}.summary-totals{border-top:2px solid #e0e0e0;padding-top:1rem;margin-top:1rem}.total-row{display:flex;justify-content:space-between;padding:.5rem 0;font-size:1rem;color:#666}.final-total{font-size:1.25rem;font-weight:700;color:#333;border-top:1px solid #e0e0e0;padding-top:1rem;margin-top:.5rem}@media(max-width:968px){.order-summary{position:static;margin-top:2rem}}.checkout-page{min-height:60vh;padding:2rem 0}.checkout-container{max-width:1200px;margin:0 auto;padding:0 2rem;display:grid;grid-template-columns:1fr 400px;gap:2rem}.checkout-title{font-size:2rem;font-weight:700;margin:0 0 2rem;color:#333}.checkout-error{background:#fee;border:1px solid #fcc;border-radius:8px;padding:1rem;margin-bottom:1.5rem;color:#dc3545}.checkout-processing-banner{background:#d1ecf1;border-bottom:3px solid #0c5460;color:#0c5460;padding:1rem 2rem;text-align:center;font-size:1rem;font-weight:500;position:sticky;top:0;z-index:1000;box-shadow:0 2px 4px #0000001a;animation:pulse-banner 2s ease-in-out infinite}.checkout-processing-banner strong{font-weight:600}@keyframes pulse-banner{0%,to{opacity:1}50%{opacity:.9}}@media(max-width:968px){.checkout-container{grid-template-columns:1fr}}@media(max-width:768px){.checkout-page{padding:1rem 0}.checkout-container{padding:0 1rem}}.order-status{display:inline-block;padding:.5rem 1rem;border-radius:20px;font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-pending{background:#fff3cd;color:#856404}.status-confirmed{background:#d1ecf1;color:#0c5460}.status-preparing{background:#d4edda;color:#155724}.status-ready{background:#cce5ff;color:#004085}.status-completed{background:#d4edda;color:#155724}.status-cancelled{background:#f8d7da;color:#721c24}.order-confirmation{max-width:800px;margin:0 auto;padding:2rem}.confirmation-header{text-align:center;margin-bottom:2rem}.confirmation-header h1{font-size:2.5rem;color:#28a745;margin:0 0 1rem}.confirmation-message{font-size:1.125rem;color:#666;margin:0}.order-details-card{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000001a;margin-bottom:2rem}.restaurant-info-section,.order-info-section,.order-items-section,.order-totals-section,.order-notes-section{margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid #e0e0e0}.restaurant-info-section{background:#f8f9fa;padding:1.5rem;border-radius:8px;margin-bottom:2rem}.restaurant-info-section h2{font-size:1.5rem;font-weight:700;margin:0 0 1rem;color:#333}.order-notes-section{border-bottom:none;margin-bottom:0;padding-bottom:0}.order-info-section h2,.order-items-section h2,.order-notes-section h3{font-size:1.5rem;font-weight:700;margin:0 0 1rem;color:#333}.info-row{display:flex;justify-content:space-between;padding:.75rem 0;font-size:1rem}.info-row span:first-child{color:#666}.info-row span:last-child{font-weight:600;color:#333}.items-list{display:flex;flex-direction:column;gap:1rem}.order-item-row{display:flex;justify-content:space-between;align-items:flex-start;padding:1rem;background:#f8f9fa;border-radius:8px}.item-details{flex:1;display:flex;flex-direction:column;gap:.5rem}.item-name{font-weight:600;color:#333}.item-quantity{font-size:.875rem;color:#666}.item-modifiers{display:flex;flex-wrap:wrap;gap:.5rem}.modifier-tag{font-size:.75rem;color:#666;background:#fff;padding:.25rem .5rem;border-radius:4px}.item-price{font-weight:700;color:#333}.total-row{display:flex;justify-content:space-between;padding:.75rem 0;font-size:1rem}.final-total{font-size:1.25rem;font-weight:700;border-top:2px solid #e0e0e0;padding-top:1rem;margin-top:.5rem}.confirmation-actions{display:flex;gap:1rem;justify-content:center}.action-button{padding:1rem 2rem;border-radius:8px;text-decoration:none;font-weight:600;transition:all .2s}.action-button.primary{background:#007bff;color:#fff}.action-button.primary:hover{background:#0056b3}.action-button:not(.primary){background:#f8f9fa;color:#333;border:2px solid #e0e0e0}.action-button:not(.primary):hover{background:#e9ecef}.order-confirmation-loading,.order-confirmation-error{text-align:center;padding:4rem 2rem}.order-confirmation-error h2{color:#dc3545;margin-bottom:1rem}.back-link{display:inline-block;margin-top:1rem;color:#007bff;text-decoration:none}.back-link:hover{text-decoration:underline}@media(max-width:768px){.order-confirmation{padding:1rem}.confirmation-header h1{font-size:2rem}.confirmation-actions{flex-direction:column}.action-button{width:100%;text-align:center}}.order-card{display:block;background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000001a;text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s}.order-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.order-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #e0e0e0}.order-number{font-size:1.25rem;font-weight:700;margin:0 0 .25rem;color:#333}.order-date{font-size:.875rem;color:#666;margin:0}.order-card-body{display:flex;flex-direction:column;gap:.5rem}.order-info-row{display:flex;justify-content:space-between;font-size:.9375rem;color:#666}.total-row{font-size:1.125rem;font-weight:700;color:#333;margin-top:.5rem;padding-top:.5rem;border-top:1px solid #e0e0e0}.order-history{max-width:1200px;margin:0 auto;padding:2rem}.order-history-title{font-size:2rem;font-weight:700;margin:0 0 2rem;color:#333}.order-list{display:flex;flex-direction:column;gap:1rem}.order-history-loading,.order-history-error,.order-history-empty{max-width:1200px;margin:0 auto;padding:2rem;text-align:center}.order-history-empty h2{font-size:1.5rem;margin:0 0 .5rem;color:#333}.order-history-error{color:#dc3545}@media(max-width:768px){.order-history{padding:1rem}}.order-history-page{min-height:60vh;padding:2rem 0}.order-history-empty{max-width:600px;margin:0 auto;text-align:center;padding:4rem 2rem}.order-history-empty h2{font-size:1.5rem;margin:0 0 1rem;color:#333}.order-history-empty p{color:#666}.contact-page{max-width:1200px;margin:0 auto;padding:2rem}.contact-loading,.contact-error{text-align:center;padding:4rem 2rem;color:#666}.contact-error{color:#dc3545}.contact-header{text-align:center;margin-bottom:3rem}.contact-header h1{font-size:2.5rem;font-weight:700;margin:0 0 .5rem;color:#333}.contact-subtitle{font-size:1.125rem;color:#666;margin:0}.contact-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.contact-info-card{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000001a}.contact-info-card h2{font-size:1.5rem;font-weight:700;margin:0 0 1.5rem;color:#333;border-bottom:2px solid #e0e0e0;padding-bottom:.75rem}.contact-item{display:flex;gap:1rem;margin-bottom:1.5rem;align-items:flex-start}.contact-item:last-child{margin-bottom:0}.contact-icon{font-size:1.5rem;flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#f8f9fa;border-radius:50%}.contact-details{flex:1}.contact-details h3{font-size:.875rem;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px;margin:0 0 .5rem}.contact-link{color:#007bff;text-decoration:none;font-size:1.125rem;font-weight:500;display:inline-block;transition:color .2s}.contact-link:hover{color:#0056b3;text-decoration:underline}.contact-link.map-link{margin-top:.5rem;font-size:.95rem}.contact-text{color:#333;font-size:1.125rem;margin:0;line-height:1.6}.hours-list{display:flex;flex-direction:column;gap:1rem}.hours-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid #f0f0f0}.hours-item:last-child{border-bottom:none}.hours-day{font-weight:600;color:#333;font-size:1rem}.hours-time{color:#666;font-size:1rem}.hours-time.hours-closed{color:#999;font-style:italic}.map-container{margin-top:1rem}.map-container iframe{width:100%;height:300px;border:none;border-radius:8px;margin-bottom:1rem}.map-link-button{display:inline-block;padding:.75rem 1.5rem;background:#007bff;color:#fff;text-decoration:none;border-radius:8px;font-weight:600;transition:background .2s;text-align:center;width:100%;display:flex;align-items:center;justify-content:center}.map-link-button:hover{background:#0056b3;text-decoration:none;color:#fff}@media(max-width:768px){.contact-page{padding:1rem}.contact-header h1{font-size:2rem}.contact-content{grid-template-columns:1fr;gap:1.5rem}.contact-info-card{padding:1.5rem}.hours-item{flex-direction:column;align-items:flex-start;gap:.25rem}}*{box-sizing:border-box;margin:0;padding:0}:root{--primary-color: #007bff;--secondary-color: #6c757d;--success-color: #28a745;--danger-color: #dc3545;--warning-color: #ffc107;--info-color: #17a2b8;--light-color: #f8f9fa;--dark-color: #343a40;--border-color: #e0e0e0;--text-color: #333;--text-muted: #666;--shadow: 0 2px 4px rgba(0, 0, 0, .1);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .15)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--text-color);background-color:#f5f5f5;line-height:1.6}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{min-height:100vh;display:flex;flex-direction:column}button,input,textarea,select{font-family:inherit}a{color:var(--primary-color);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;height:auto}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#888;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#555}*:focus{outline:2px solid var(--primary-color);outline-offset:2px}button:focus,input:focus,textarea:focus,select:focus{outline:2px solid var(--primary-color);outline-offset:2px}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.text-center{text-align:center}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}@media(max-width:768px){.container{padding:0 1rem}}
