*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg:#faf7f2;--header-bg:#3d2008;--accent:#e07828;--brand-gold:#e8b87a;--brand-label:#c4956a;--text-dark:#2c1a0e;--text-medium:#5a4838;--text-light:#8b7355;--text-muted:#b0a898;--divider:#ede5d8;--border:#d8d0c4;--white:#fff;--surface:#fff;--success:#2d7a4f;--danger:#dc3545;--whatsapp:#25d366}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--text-dark);background-color:var(--bg);-webkit-font-smoothing:antialiased;min-height:100dvh}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;font-family:inherit}button:active{opacity:.8}input,select,textarea{font-family:inherit;font-size:14px}input:focus{outline:none;border-color:var(--accent)!important}.page-shell{max-width:480px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column;background:var(--bg)}.page-content{flex:1 1;overflow-y:auto;padding:18px 16px 0}.page-content-padded{flex:1 1;overflow-y:auto;padding:20px 16px}.page-bottom-bar{padding-bottom:52px}.header{background:var(--header-bg);flex-shrink:0;position:relative}.header-brand{padding:8px 16px 6px;text-align:center}.header-brand-label{font-size:10px;font-weight:400;color:var(--brand-label);letter-spacing:2.5px;text-transform:uppercase;line-height:1;margin-bottom:3px}.header-brand-name{font-family:Playfair Display,Georgia,serif;font-style:italic;font-weight:700;font-size:30px;line-height:1;color:var(--brand-gold)}.header-nav{padding:10px 16px 14px;display:flex;align-items:center}.header-back{background:none;border:none;color:#fff;font-size:22px;padding:0;cursor:pointer;line-height:1;margin-right:6px}.header-title{font-size:18px;font-weight:700;color:#fff;flex:1 1;text-align:center;padding-right:28px}.menu-banner{padding:10px 16px 16px}.menu-banner-inner{background:var(--accent);border-radius:12px;padding:11px 16px;text-align:center}.menu-banner-title{font-size:15px;font-weight:700;color:#fff;line-height:1}.menu-banner-date{font-size:12px;font-weight:400;color:hsla(0,0%,100%,.85);line-height:1;margin-top:4px}.section-label{display:flex;align-items:center;gap:6px;margin-bottom:9px}.section-label-icon{font-size:14px}.section-label-text{font-size:11px;font-weight:700;color:var(--accent);letter-spacing:1.5px;text-transform:uppercase;line-height:1}.section-divider{height:1px;background:var(--divider);margin:18px 0}.item-list{font-size:14px;font-weight:400;line-height:2;color:var(--text-dark)}.item-row{display:flex;justify-content:space-between;align-items:center;margin-top:10px}.item-price{font-size:17px;font-weight:700;color:var(--text-dark)}.btn-add{background:var(--accent);color:#fff;border:none;border-radius:20px;padding:9px 20px;font-size:13px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:3px;line-height:1}.btn-add-icon{font-size:15px;font-weight:400;line-height:0;position:relative;top:-.5px}.btn-outline-dark{background:transparent;color:var(--header-bg);border:1.5px solid var(--header-bg);border-radius:20px;padding:8px 18px;font-size:13px;font-weight:600;cursor:pointer}.btn-action{width:100%;background:var(--accent);color:#fff;border:none;border-radius:12px;padding:16px;font-size:15px;font-weight:700;cursor:pointer;letter-spacing:.5px}.btn-action:disabled{opacity:.5;cursor:not-allowed}.btn-action-outline{width:100%;background:transparent;color:var(--header-bg);border:1.5px solid var(--header-bg);border-radius:12px;padding:15px;font-size:15px;font-weight:700;cursor:pointer;letter-spacing:.5px}.btn-circle-add{background:var(--accent);border:none;border-radius:50%;width:34px;height:34px;font-size:20px;font-weight:300;line-height:0;flex-shrink:0;padding:0}.btn-circle-add,.btn-whatsapp{color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}.btn-whatsapp{width:100%;background:var(--whatsapp);border:none;border-radius:12px;padding:14px;font-size:14px;font-weight:700;gap:8px}.bottom-bar{background:var(--header-bg);padding:14px 16px;justify-content:space-between;cursor:pointer;flex-shrink:0}.bottom-bar,.bottom-bar-left{display:flex;align-items:center}.bottom-bar-left{gap:8px}.bottom-bar-left span:first-child{font-size:18px}.bottom-bar-left span:last-child{font-size:14px;font-weight:600;color:#fff}.bottom-bar-price{font-size:14px;font-weight:700;color:#fff}.bottom-action{padding:12px 16px 24px;background:#fff;border-top:1px solid var(--divider);flex-shrink:0}.form-group{margin-bottom:14px}.form-label{display:block;font-size:12px;font-weight:600;color:var(--text-medium);margin-bottom:6px}.form-input{width:100%;border:1.5px solid var(--border);border-radius:10px;padding:12px 14px;font-size:14px;font-weight:400;color:var(--text-dark);background:#fff}.form-checkbox{display:flex;align-items:center;gap:10px;cursor:pointer}.form-checkbox input{width:18px;height:18px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}.form-checkbox span{font-size:13px;font-weight:400;color:var(--text-medium)}.individual-items{margin-top:8px}.individual-item{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--divider)}.individual-item:last-child{border-bottom:none}.individual-item-info{flex:1 1;min-width:0}.individual-item-name{font-size:14px;font-weight:600;color:var(--text-dark);line-height:1.3;margin-bottom:2px}.individual-item-desc{font-size:12px;font-weight:400;color:var(--text-light);line-height:1.4;margin-bottom:4px}.individual-item-price{font-size:14px;font-weight:700;color:var(--text-dark)}.cart-item{margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--divider)}.cart-item-name{font-size:14px;font-weight:600;color:var(--text-dark);margin-bottom:2px}.cart-item-price{font-size:12px;font-weight:400;color:var(--text-light);margin-bottom:8px}.cart-item-row{display:flex;justify-content:space-between;align-items:center}.cart-item-total{font-size:15px;font-weight:700;color:var(--text-dark)}.qty-stepper{display:flex;align-items:center;border:1.5px solid var(--border);border-radius:8px;overflow:hidden;background:#fff}.qty-stepper button{background:none;border:none;padding:6px 16px;font-size:22px;font-weight:400;color:var(--header-bg);cursor:pointer;line-height:1}.qty-stepper span{font-size:14px;font-weight:700;color:var(--text-dark);min-width:20px;text-align:center}.cart-summary-row{display:flex;justify-content:space-between;margin-bottom:8px}.cart-summary-label{font-size:14px;font-weight:400;color:var(--text-medium)}.cart-summary-value{font-size:14px;font-weight:400;color:var(--text-dark)}.cart-total-row{display:flex;justify-content:space-between;padding-top:12px;border-top:1.5px solid var(--divider);margin-bottom:20px}.cart-total-label{font-size:16px}.cart-total-label,.cart-total-value{font-weight:700;color:var(--text-dark)}.cart-total-value{font-size:18px}.address-card{background:#fff;border:1.5px solid var(--divider);border-radius:12px;padding:14px 16px;display:flex;align-items:flex-start;gap:10px;margin-bottom:10px}.address-card-icon{font-size:16px;margin-top:2px}.address-card-info{flex:1 1}.address-card-street{font-size:14px;font-weight:600;color:var(--text-dark)}.address-card-detail{font-size:12px;font-weight:400;color:var(--text-light);margin-top:2px}.address-card-action{font-size:13px;font-weight:600;color:var(--accent);cursor:pointer;flex-shrink:0;background:none;border:none}.pay-card{background:#fff;border:1.5px solid var(--divider);border-radius:12px;padding:14px 16px;display:flex;align-items:center;gap:12px;margin-bottom:10px;cursor:pointer;transition:border-color .2s}.pay-card.selected{border-color:var(--accent)}.pay-radio{width:20px;height:20px;border-radius:50%;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0}.pay-card.selected .pay-radio{border-color:var(--accent)}.pay-radio-dot{width:10px;height:10px;border-radius:50%;background:transparent}.pay-card.selected .pay-radio-dot{background:var(--accent)}.pay-icon{font-size:20px}.pay-label{font-size:15px;font-weight:600;color:var(--text-dark)}.confirm-page{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 32px;background:var(--bg)}@keyframes chk{0%{transform:scale(0);opacity:0}60%{transform:scale(1.15)}to{transform:scale(1);opacity:1}}.confirm-check{width:84px;height:84px;border-radius:50%;background:var(--success);display:flex;align-items:center;justify-content:center;margin-bottom:22px;box-shadow:0 8px 32px rgba(45,122,79,.3);animation:chk .45s cubic-bezier(.34,1.56,.64,1) both}.confirm-check span{color:#fff;font-size:38px;line-height:1}.confirm-title{font-size:22px;font-weight:700;color:var(--text-dark);text-align:center;margin-bottom:10px}.confirm-subtitle{font-size:14px;line-height:1.7;text-align:center;margin-bottom:36px}.confirm-subtitle,.tracking-date{font-weight:400;color:var(--text-light)}.tracking-date{font-size:12px;margin-bottom:24px}.track-step{display:flex;gap:14px}.track-step-col{flex-direction:column}.track-dot,.track-step-col{display:flex;align-items:center}.track-dot{width:28px;height:28px;border-radius:50%;justify-content:center;flex-shrink:0;font-size:14px;font-weight:700}.track-dot.done{background:var(--success);color:#fff}.track-dot.active{background:var(--accent);color:#fff;font-size:16px}.track-dot.pending{background:transparent;border:2px solid var(--border)}.track-line{width:2px;flex:1 1;min-height:24px;background:var(--divider)}.track-step-content{flex:1 1;display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:24px;min-height:28px}.track-label{font-size:14px;color:var(--text-dark);flex:1 1}.track-label.active,.track-label.done{font-weight:600}.track-label.pending{font-weight:400;color:var(--text-muted)}.track-time{font-size:12px;font-weight:400;color:var(--text-light);flex-shrink:0}.option-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:9999;display:flex;align-items:flex-end;justify-content:center}.option-sheet{background:var(--surface);border-radius:16px 16px 0 0;width:100%;max-width:480px;max-height:85vh;display:flex;flex-direction:column;animation:slideUp .25s ease-out}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.option-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--divider)}.option-title{font-family:var(--font-display);font-size:18px;font-weight:600;color:var(--text-dark)}.option-close{background:none;border:none;font-size:18px;color:var(--text-light);cursor:pointer;padding:4px 8px}.option-body{overflow-y:auto;padding:12px 20px;flex:1 1}.option-group{margin-bottom:20px}.option-group-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:10px}.option-group-name{font-size:15px;font-weight:600;color:var(--text-dark)}.option-group-hint{font-size:12px;color:var(--text-light)}.option-required{color:var(--accent);font-weight:500}.option-item{display:flex;align-items:center;width:100%;padding:12px;border:1px solid var(--divider);border-radius:10px;margin-bottom:6px;background:var(--surface);cursor:pointer;text-align:left;transition:border-color .15s,background .15s}.option-item-selected{border-color:var(--accent);background:rgba(139,90,43,.05)}.option-check{width:22px;height:22px;border:2px solid var(--divider);display:flex;align-items:center;justify-content:center;margin-right:12px;font-size:12px;color:var(--accent);flex-shrink:0}.option-radio{border-radius:50%}.option-checkbox{border-radius:4px}.option-item-selected .option-check{border-color:var(--accent)}.option-item-name{flex:1 1;font-size:14px;color:var(--text-dark)}.option-item-price{font-size:13px;font-weight:500;color:var(--accent);margin-left:8px}.option-footer{padding:12px 20px env(safe-area-inset-bottom,12px);border-top:1px solid var(--divider)}