.header{background:var(--espresso);z-index:100;position:sticky;top:0;box-shadow:0 2px 12px #2c1a0e4d}.header-inner{align-items:center;gap:24px;max-width:1100px;height:68px;margin:0 auto;padding:0 24px;display:flex}.header-logo{flex-shrink:0;align-items:center;gap:12px;text-decoration:none;display:flex}.logo-icon{font-size:28px}.logo-text{flex-direction:column;line-height:1.1;display:flex}.logo-name{font-family:var(--font-serif);color:var(--cream);letter-spacing:.3px;font-size:18px;font-weight:700}.logo-tagline{color:var(--brown-light);letter-spacing:1px;text-transform:uppercase;font-size:11px;font-weight:500}.header-nav{flex:1;justify-content:center;display:flex}.header-address{color:var(--brown-light);letter-spacing:.2px;font-size:13px}.cart-btn{background:var(--rose);color:var(--white);border:none;border-radius:50px;flex-shrink:0;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:600;text-decoration:none;transition:background .2s,transform .1s;display:flex;position:relative}.cart-btn:hover{background:var(--rose-dark);transform:translateY(-1px)}.cart-btn--active{background:var(--gold);color:var(--espresso)}.cart-icon{font-size:18px}.cart-label{font-size:14px}.cart-badge{background:var(--white);color:var(--rose-dark);border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;margin-left:2px;font-size:11px;font-weight:700;display:flex}@media (width<=600px){.header-address,.logo-tagline{display:none}}.menu-card{background:var(--white);border:1.5px solid var(--cream-border);border-radius:var(--radius-md);gap:16px;padding:20px;transition:box-shadow .2s,border-color .2s,transform .15s;display:flex}.menu-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.menu-card--selected{border-color:var(--rose);box-shadow:0 0 0 3px #c9847a1f, var(--shadow-sm);background:#fff9f8}.menu-card-emoji{background:var(--cream-dark);border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;font-size:36px;display:flex}.menu-card-body{flex:1;min-width:0}.menu-card-top{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:6px;display:flex}.menu-card-badges{flex-wrap:wrap;gap:4px;margin-bottom:4px;display:flex}.badge{text-transform:uppercase;letter-spacing:.5px;border-radius:50px;padding:2px 8px;font-size:10px;font-weight:700}.badge--bestseller{background:var(--gold-light);color:var(--brown)}.badge--new{color:var(--green);background:#e0f0e8}.badge--seasonal{background:var(--rose-light);color:var(--rose-dark)}.badge--limited{color:#c0392b;background:#fdecea}.badge--note{background:var(--cream-dark);color:var(--text-secondary)}.menu-card-name{color:var(--text-primary);font-size:16px;font-weight:600;font-family:var(--font-serif);line-height:1.3}.menu-card-price{color:var(--brown);white-space:nowrap;font-size:16px;font-weight:700;font-family:var(--font-serif);flex-shrink:0}.menu-card-desc{color:var(--text-secondary);margin-bottom:12px;font-size:13px;line-height:1.5}.menu-card-footer{justify-content:space-between;align-items:center;gap:8px;display:flex}.menu-card-allergens{color:var(--text-muted);max-width:160px;font-size:11px;line-height:1.3}.add-btn{background:var(--espresso);color:var(--cream);white-space:nowrap;border:none;border-radius:50px;padding:8px 16px;font-size:13px;font-weight:600;transition:background .2s,transform .1s}.add-btn:hover{background:var(--brown);transform:translateY(-1px)}.qty-controls{background:var(--cream-dark);border-radius:50px;align-items:center;gap:0;display:flex;overflow:hidden}.qty-btn{width:32px;height:32px;color:var(--espresso);background:0 0;border:none;justify-content:center;align-items:center;font-size:18px;font-weight:600;transition:background .15s;display:flex}.qty-btn:hover{background:var(--cream-border)}.qty-count{color:var(--espresso);text-align:center;min-width:28px;font-size:14px;font-weight:700}.menu-page{min-height:calc(100vh - 68px);padding-bottom:120px}.menu-hero{background:linear-gradient(135deg, var(--espresso) 0%, var(--brown) 100%);text-align:center;padding:56px 24px}.menu-hero-inner{max-width:640px;margin:0 auto}.menu-hero-eyebrow{letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-bottom:12px;font-size:12px;font-weight:600}.menu-hero-title{color:var(--cream);margin-bottom:16px;font-size:clamp(36px,6vw,54px);font-weight:700}.menu-hero-sub{color:var(--cream-border);max-width:500px;margin:0 auto;font-size:16px;line-height:1.7}.category-bar-wrap{background:var(--white);border-bottom:1px solid var(--cream-border);z-index:50;position:sticky;top:68px}.category-bar{scrollbar-width:none;gap:8px;max-width:1100px;margin:0 auto;padding:12px 24px;display:flex;overflow-x:auto}.category-bar::-webkit-scrollbar{display:none}.category-btn{border:1.5px solid var(--cream-border);color:var(--text-secondary);white-space:nowrap;background:0 0;border-radius:50px;padding:8px 18px;font-size:14px;font-weight:500;transition:all .15s}.category-btn:hover{border-color:var(--rose);color:var(--rose);background:var(--rose-light)}.category-btn--active{background:var(--espresso);border-color:var(--espresso);color:var(--cream);font-weight:600}.menu-content{max-width:1100px;margin:0 auto;padding:32px 24px 0}.menu-section-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:20px;font-size:13px;font-weight:500}.menu-section-cat{color:var(--rose)}.menu-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;display:grid}.floating-cart{z-index:90;pointer-events:none;background:linear-gradient(#0000,#fdf8f2fa 30%);padding:16px 24px 24px;position:fixed;bottom:0;left:0;right:0}.floating-cart-inner{background:var(--espresso);border-radius:var(--radius-lg);max-width:700px;box-shadow:var(--shadow-lg);pointer-events:all;justify-content:space-between;align-items:center;gap:16px;margin:0 auto;padding:16px 20px;display:flex}.floating-cart-info{flex-direction:column;gap:2px;min-width:0;display:flex}.floating-cart-count{color:var(--gold);text-transform:uppercase;letter-spacing:.5px;font-size:13px;font-weight:600}.floating-cart-items{color:var(--cream-border);white-space:nowrap;text-overflow:ellipsis;max-width:260px;font-size:13px;overflow:hidden}.floating-cart-right{flex-shrink:0;align-items:center;gap:16px;display:flex}.floating-cart-total{color:var(--cream);font-size:18px;font-weight:700;font-family:var(--font-serif)}.floating-cart-btn{background:var(--rose);color:var(--white);border:none;border-radius:50px;padding:12px 22px;font-size:15px;font-weight:600;transition:background .2s}.floating-cart-btn:hover{background:var(--rose-dark)}@media (width<=500px){.menu-grid{grid-template-columns:1fr}.floating-cart-items{display:none}}.checkout-page{max-width:1100px;margin:0 auto;padding:40px 24px 80px}.checkout-inner{grid-template-columns:1fr 420px;align-items:flex-start;gap:40px;display:grid}.checkout-section-title{color:var(--espresso);margin-bottom:16px;font-size:22px;font-weight:700}.order-items-card{background:var(--white);border:1.5px solid var(--cream-border);border-radius:var(--radius-md);overflow:hidden}.order-item{border-bottom:1px solid var(--cream-border);align-items:center;gap:12px;padding:14px 18px;display:flex}.order-item:last-of-type{border-bottom:none}.order-item-emoji{text-align:center;flex-shrink:0;width:36px;font-size:24px}.order-item-info{flex:1;min-width:0}.order-item-name{color:var(--text-primary);font-size:14px;font-weight:600;font-family:var(--font-serif);display:block}.order-item-unit{color:var(--text-muted);font-size:12px}.order-item-controls{background:var(--cream-dark);border-radius:50px;align-items:center;gap:0;display:flex}.order-qty-btn{width:28px;height:28px;color:var(--espresso);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:16px;font-weight:600;transition:background .15s;display:flex}.order-qty-btn:hover{background:var(--cream-border)}.order-qty-count{color:var(--espresso);text-align:center;width:24px;font-size:13px;font-weight:700}.order-item-total{color:var(--brown);font-size:14px;font-weight:700;font-family:var(--font-serif);text-align:right;min-width:56px}.order-totals{border-top:1.5px solid var(--cream-border);flex-direction:column;gap:8px;padding:14px 18px;display:flex}.order-total-row{color:var(--text-secondary);justify-content:space-between;font-size:14px;display:flex}.order-total-row--grand{color:var(--espresso);font-size:17px;font-weight:700;font-family:var(--font-serif);border-top:1px solid var(--cream-border);padding-top:8px}.pickup-slots-card{background:var(--white);border:1.5px solid var(--cream-border);border-radius:var(--radius-md);flex-direction:column;gap:10px;padding:18px;display:flex}.pickup-day{flex-direction:column;gap:8px;display:flex}.pickup-day-btn{border:1.5px solid var(--cream-border);border-radius:var(--radius-sm);color:var(--text-secondary);text-align:left;cursor:pointer;background:0 0;padding:10px 16px;font-size:14px;font-weight:600;transition:all .15s}.pickup-day-btn:hover{border-color:var(--rose);color:var(--rose)}.pickup-day-btn--active{background:var(--espresso);border-color:var(--espresso);color:var(--cream)}.pickup-times{flex-wrap:wrap;gap:8px;padding-left:8px;display:flex}.pickup-time-btn{background:var(--cream-dark);border:1.5px solid var(--cream-border);color:var(--text-secondary);cursor:pointer;border-radius:50px;padding:6px 14px;font-size:13px;font-weight:500;transition:all .15s}.pickup-time-btn:hover{border-color:var(--rose);color:var(--rose)}.pickup-time-btn--active{background:var(--rose);border-color:var(--rose);color:var(--white);font-weight:600}.pickup-selected{color:var(--green);border-radius:var(--radius-sm);background:#edf5ee;padding:10px 14px;font-size:14px;font-weight:500}.checkout-form{flex-direction:column;gap:16px;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-group{flex-direction:column;gap:6px;display:flex}.form-label{color:var(--text-secondary);letter-spacing:.2px;font-size:13px;font-weight:600}.form-label-optional{color:var(--text-muted);font-weight:400}.form-input{background:var(--white);border:1.5px solid var(--cream-border);border-radius:var(--radius-sm);color:var(--text-primary);outline:none;width:100%;padding:11px 14px;font-size:14px;transition:border-color .15s,box-shadow .15s}.form-input:focus{border-color:var(--rose);box-shadow:0 0 0 3px #c9847a26}.form-input--error{border-color:#e74c3c}.form-textarea{resize:vertical;min-height:80px}.field-error{color:#e74c3c;font-size:12px;font-weight:500}.payment-section{background:var(--cream-dark);border:1.5px dashed var(--cream-border);border-radius:var(--radius-md);padding:18px}.payment-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;font-size:14px;font-weight:700}.payment-placeholder{align-items:center;gap:14px;display:flex}.payment-live{align-items:flex-start;gap:14px;margin-bottom:12px;display:flex}.payment-live-icon{flex-shrink:0;font-size:28px}.payment-icon{font-size:32px}.payment-text{flex-direction:column;gap:2px;display:flex}.payment-text strong{color:var(--text-primary);font-size:14px}.payment-text span{color:var(--text-muted);font-size:12px;line-height:1.4}.payment-badges{flex-wrap:wrap;gap:6px;display:flex}.payment-badge{background:var(--white);border:1px solid var(--cream-border);color:var(--text-secondary);border-radius:4px;padding:3px 8px;font-size:11px;font-weight:600}.submit-error{border-radius:var(--radius-sm);color:#c0392b;background:#fdecea;border:1px solid #f5c6c2;padding:12px 16px;font-size:14px;line-height:1.5}.checkout-disclaimer--warn{color:var(--brown);font-weight:500}.submit-btn{background:var(--espresso);color:var(--cream);border-radius:var(--radius-sm);font-size:16px;font-weight:700;font-family:var(--font-serif);letter-spacing:.3px;border:none;width:100%;padding:16px;transition:background .2s,transform .1s}.submit-btn:hover{background:var(--brown);transform:translateY(-1px)}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.checkout-disclaimer{color:var(--text-muted);text-align:center;font-size:12px;line-height:1.5}.checkout-empty{justify-content:center;align-items:center;min-height:calc(100vh - 68px);padding:40px;display:flex}.checkout-empty-inner{text-align:center;max-width:380px}.checkout-empty-icon{margin-bottom:16px;font-size:64px;display:block}.checkout-empty-inner h2{margin-bottom:8px;font-size:28px}.checkout-empty-inner p{color:var(--text-secondary);margin-bottom:24px}.btn-primary{background:var(--espresso);color:var(--cream);cursor:pointer;border:none;border-radius:50px;padding:12px 24px;font-size:15px;font-weight:600;transition:background .2s}.btn-primary:hover{background:var(--brown)}.btn-secondary{color:var(--text-secondary);border:1.5px solid var(--cream-border);cursor:pointer;background:0 0;border-radius:50px;padding:12px 24px;font-size:15px;font-weight:600;transition:all .2s}.btn-secondary:hover{border-color:var(--rose);color:var(--rose)}.modal-overlay{z-index:200;background:#2c1a0e80;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{background:var(--white);border-radius:var(--radius-lg);text-align:center;width:100%;max-width:460px;box-shadow:var(--shadow-lg);padding:36px}.modal-icon{margin-bottom:12px;font-size:48px}.modal h3{margin-bottom:12px;font-size:26px}.modal p{color:var(--text-secondary);margin-bottom:12px;font-size:15px;line-height:1.6}.modal-list{text-align:left;background:var(--cream-dark);border-radius:var(--radius-sm);flex-direction:column;gap:10px;margin:12px 0;padding:16px 20px;list-style:none;display:flex}.modal-list li{color:var(--text-secondary);font-size:14px}.modal-sub{color:var(--text-muted);font-size:13px}.modal-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:20px;display:flex}@media (width<=768px){.checkout-inner,.form-row{grid-template-columns:1fr}}.confirm-page{background:linear-gradient(135deg, var(--cream) 0%, var(--cream-dark) 100%);justify-content:center;align-items:center;min-height:calc(100vh - 68px);padding:40px 24px;display:flex}.confirm-card{background:var(--white);border-radius:var(--radius-lg);text-align:center;width:100%;max-width:520px;box-shadow:var(--shadow-lg);border:1.5px solid var(--cream-border);padding:48px 40px}.confirm-check{margin-bottom:16px;font-size:64px}.confirm-title{color:var(--espresso);margin-bottom:10px;font-size:36px}.confirm-sub{color:var(--text-secondary);margin-bottom:28px;font-size:16px;line-height:1.6}.confirm-details{background:var(--cream-dark);border-radius:var(--radius-md);text-align:left;flex-direction:column;gap:12px;margin-bottom:24px;padding:20px 24px;display:flex}.confirm-row{color:var(--text-secondary);align-items:flex-start;gap:12px;font-size:14px;line-height:1.5;display:flex}.confirm-row span:first-child{flex-shrink:0;font-size:18px}.confirm-note{background:var(--gold-light);border:1px solid var(--gold);border-radius:var(--radius-sm);color:var(--brown);text-align:left;margin-bottom:28px;padding:14px 18px;font-size:13px;line-height:1.5}.confirm-loading{color:var(--text-muted);justify-content:center;align-items:center;gap:12px;margin-bottom:24px;font-size:14px;display:flex}.confirm-spinner{border:2px solid var(--cream-border);border-top-color:var(--rose);border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.confirm-error{border-radius:var(--radius-sm);color:#c0392b;text-align:left;background:#fdecea;border:1px solid #f5c6c2;margin-bottom:24px;padding:14px 18px;font-size:14px}.confirm-items{background:var(--white);border:1.5px solid var(--cream-border);border-radius:var(--radius-md);text-align:left;margin-bottom:24px;overflow:hidden}.confirm-items-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--cream-border);background:var(--cream-dark);padding:12px 18px;font-size:13px;font-weight:700}.confirm-item-row{color:var(--text-secondary);border-bottom:1px solid var(--cream-border);justify-content:space-between;align-items:center;padding:10px 18px;font-size:14px;display:flex}.confirm-item-row:last-child{border-bottom:none}.confirm-item-row--total{color:var(--espresso);font-size:16px;font-weight:700;font-family:var(--font-serif);background:var(--cream-dark)}.confirm-btn{background:var(--espresso);color:var(--cream);border-radius:50px;margin-top:8px;padding:14px 28px;font-size:15px;font-weight:600;text-decoration:none;transition:background .2s;display:inline-block}.confirm-btn:hover{background:var(--brown)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--cream:#fdf8f2;--cream-dark:#f5ede0;--cream-border:#e8d9c5;--espresso:#2c1a0e;--brown:#5c3d2e;--brown-light:#8b6151;--rose:#c9847a;--rose-dark:#b56d63;--rose-light:#f2e0dc;--gold:#d4a843;--gold-light:#f5e6c0;--green:#5a7a5e;--text-primary:#2c1a0e;--text-secondary:#7a5c4a;--text-muted:#a08070;--white:#fff;--shadow-sm:0 1px 3px #2c1a0e14;--shadow-md:0 4px 16px #2c1a0e1f;--shadow-lg:0 8px 32px #2c1a0e29;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--font-serif:"Playfair Display", Georgia, serif;--font-sans:"Inter", system-ui, sans-serif}html{scroll-behavior:smooth}body{font-family:var(--font-sans);background-color:var(--cream);color:var(--text-primary);min-height:100vh;line-height:1.6}h1,h2,h3,h4{font-family:var(--font-serif);line-height:1.2}button{cursor:pointer;font-family:var(--font-sans)}input,select,textarea{font-family:var(--font-sans)}img{max-width:100%}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--cream-dark)}::-webkit-scrollbar-thumb{background:var(--cream-border);border-radius:3px}
