:root{--color-background:#fffaf5;--color-surface:#fff;--color-text:#1f2937;--color-text-muted:#667085;--color-border:#e7e5e4;--color-accent:#b45309;--color-accent-hover:#92400e;--color-accent-contrast:#fff;--color-success:#166534;--color-unavailable:#9f1239;--color-focus:#2563eb}html{scroll-behavior:smooth}body{background-color:var(--color-background);color:var(--color-text);margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.skip-link{background:var(--color-accent);color:var(--color-accent-contrast);z-index:100;padding:8px;transition:top .2s;position:absolute;top:-40px;left:0}.skip-link:focus{top:0}.max-width{max-width:72rem;margin:0 auto}.pad-mobile{padding:1rem}@media (min-width:640px){.pad-mobile{padding:1.5rem}}@media (min-width:960px){.pad-mobile{padding:2rem}}.menu-header{text-align:center;background-color:var(--color-surface);border-bottom:1px solid var(--color-border);padding:2rem 1rem}.menu-header h1{color:var(--color-accent);margin:0 0 .5rem;font-size:clamp(2rem,5vw,3rem);font-weight:700}.menu-header p{color:var(--color-text-muted);margin:.5rem 0}.menu-notice{background-color:var(--color-accent);color:var(--color-accent-contrast);border-radius:1rem;margin-top:1rem;padding:.25rem .75rem;font-size:.875rem;font-weight:600;display:inline-block}.category-nav{background-color:var(--color-surface);z-index:10;border-bottom:1px solid var(--color-border);padding:1rem;position:sticky;top:0;box-shadow:0 1px 3px #0000000d}.category-nav-list{flex-wrap:wrap;justify-content:center;gap:1rem;margin:0;padding:0;list-style:none;display:flex}.category-nav-link{border-radius:.5rem;padding:.5rem;font-weight:600}.category-nav-link:hover{background-color:var(--color-background)}.menu-section{margin-top:2rem;margin-bottom:3rem}.menu-section h2{color:var(--color-text);border-bottom:1px solid var(--color-border);margin-bottom:1.5rem;padding-bottom:.5rem;font-size:clamp(1.375rem,3vw,1.75rem);font-weight:700}.menu-section-desc{color:var(--color-text-muted);margin-bottom:1rem}.items-grid{grid-template-columns:1fr;gap:1.5rem;display:grid}@media (min-width:640px){.items-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:960px){.items-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.menu-item-card{overflow-wrap:anywhere;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:.75rem;flex-direction:column;min-width:0;padding:1rem;display:flex;box-shadow:0 1px 2px #0000000d}.menu-item-card.unavailable{background-color:var(--color-background)}.item-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.5rem;display:flex}.item-name{min-width:0;margin:0;font-size:1rem;font-weight:600}.item-price{white-space:nowrap;color:var(--color-text);flex-shrink:0;font-weight:700}.item-desc{color:var(--color-text-muted);flex-grow:1;margin:0 0 1rem;font-size:.875rem}.item-badge{background-color:var(--color-unavailable);color:#fff;border-radius:.5rem;align-self:flex-start;padding:.25rem .5rem;font-size:.75rem;font-weight:600}.menu-footer{text-align:center;color:var(--color-text-muted);border-top:1px solid var(--color-border);padding:2rem;font-size:.875rem}.has-bag-open{padding-bottom:calc(7rem + env(safe-area-inset-bottom,0px))}.bag-affordance-wrapper{width:100%;padding:1rem;padding-bottom:calc(1rem + env(safe-area-inset-bottom,0px));background:var(--color-surface);border-top:1px solid var(--color-border);z-index:50;box-sizing:border-box;position:fixed;bottom:0;left:0;box-shadow:0 -4px 6px -1px #0000001a}.bag-affordance-btn{background-color:var(--color-accent);width:100%;max-width:72rem;color:var(--color-accent-contrast);cursor:pointer;border:none;border-radius:.5rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;margin:0 auto;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;display:flex}.bag-affordance-btn:hover{background-color:var(--color-accent-hover)}.bag-dialog{background:var(--color-surface);border:none;border-radius:.75rem;width:calc(100% - 2rem);max-width:32rem;max-height:calc(100dvh - 2rem);padding:0;overflow-y:auto;box-shadow:0 10px 15px -3px #0000001a}.bag-dialog::backdrop{background:#00000080}.bag-dialog-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:.75rem;padding:1rem 1.5rem;display:flex}.bag-dialog-header h2{overflow-wrap:anywhere;min-width:0;margin:0;font-size:1.25rem}.bag-dialog-header button{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;min-height:2.75rem;padding:.5rem;font-weight:600}.bag-dialog-body{max-height:60vh;padding:1rem 1.5rem;overflow-y:auto}.bag-item-list{margin:0;padding:0;list-style:none}.bag-item{border-bottom:1px solid var(--color-border);flex-direction:column;gap:.5rem;padding:1rem 0;display:flex}.bag-item:last-child{border-bottom:none}.bag-item-info{justify-content:space-between;align-items:center;display:flex}.bag-item-name{overflow-wrap:anywhere;margin:0;font-size:1rem;font-weight:600}.bag-description,.bag-empty p{color:var(--color-text-muted)}.bag-description{margin:0 0 1rem}.bag-empty{padding:1rem 0}.bag-empty h3{margin:0}.bag-order-details{border-top:1px solid var(--color-border);gap:1rem;min-width:0;margin-top:1.5rem;padding-top:1.25rem;display:grid}.bag-order-details h3{margin:0;font-size:1.125rem}.bag-order-field{gap:.375rem;min-width:0;display:grid}.bag-order-field label{font-size:.875rem;font-weight:600}.bag-order-field input,.bag-order-field textarea{box-sizing:border-box;border:1px solid var(--color-border);background:var(--color-surface);width:100%;min-width:0;min-height:2.75rem;color:var(--color-text);font:inherit;border-radius:.5rem;padding:.75rem}.bag-order-field textarea{resize:vertical}.bag-order-field input:focus-visible,.bag-order-field textarea:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.bag-field-error{color:var(--color-unavailable);margin:0;font-size:.875rem}.bag-order-field input[aria-invalid=true]{border-color:var(--color-unavailable)}.bag-final-customer,.bag-final-notes{margin:1rem 0}.bag-final-customer h3,.bag-final-notes h3{margin:0 0 .5rem;font-size:1rem}.bag-final-customer p,.bag-final-notes p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.bag-item-final-quantity{margin:0;font-weight:600}.bag-final-summary-text{margin-top:1rem}.bag-final-summary-text summary{color:var(--color-accent);cursor:pointer;padding:.5rem 0;font-weight:600}.bag-final-summary-text summary:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.bag-final-summary-text pre{background:var(--color-background);white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;border-radius:.5rem;padding:.75rem;font-size:.875rem}.bag-finalize-btn,.bag-whatsapp-link{border:1px solid var(--color-accent);background:var(--color-accent);width:100%;min-height:2.75rem;color:var(--color-accent-contrast);cursor:pointer;border-radius:.5rem;margin-bottom:.75rem;padding:.75rem 1rem;font-size:1rem;font-weight:600}.bag-finalize-btn:hover,.bag-whatsapp-link:hover{background-color:var(--color-accent-hover)}.bag-whatsapp-link{box-sizing:border-box;text-align:center;overflow-wrap:anywhere;justify-content:center;align-items:center;text-decoration:none;display:flex}.bag-whatsapp-hint{color:var(--color-text-muted);margin:0 0 .75rem;font-size:.875rem}.bag-item-pricing{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin:0;display:grid}.bag-item-pricing dt{color:var(--color-text-muted);font-size:.875rem}.bag-item-pricing dd{overflow-wrap:anywhere;margin:0}.bag-item-price{font-weight:600}.bag-item-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.bag-quantity-label{color:var(--color-text-muted);flex-basis:100%;font-size:.875rem}.bag-item-actions button{background:var(--color-background);border:1px solid var(--color-border);cursor:pointer;border-radius:.25rem;min-width:2.75rem;min-height:2.75rem;padding:.25rem .75rem;font-weight:600}.bag-item-actions button:hover{background:var(--color-border)}.bag-item-quantity{text-align:center;min-width:1.5rem;font-weight:600}.bag-dialog-footer{border-top:1px solid var(--color-border);background:var(--color-background);border-bottom-right-radius:.75rem;border-bottom-left-radius:.75rem;padding:1rem 1.5rem}.bag-totals{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;font-size:1.125rem;display:flex}.bag-summary{gap:.5rem;margin-bottom:1rem;display:grid}.bag-return-btn{border:1px solid var(--color-accent);background:var(--color-surface);width:100%;min-height:2.75rem;color:var(--color-accent);cursor:pointer;border-radius:.5rem;padding:.75rem 1rem;font-size:1rem;font-weight:600}.bag-return-btn:hover{background:var(--color-accent);color:var(--color-accent-contrast)}.bag-menu:focus-visible,.skip-link:focus-visible,main:focus-visible,.bag-dialog h2:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}@media (max-width:400px){.bag-dialog-header,.bag-dialog-body,.bag-dialog-footer{padding:1rem}.bag-affordance-btn{padding:.75rem 1rem}}.btn-add{background-color:var(--color-background);border:1px solid var(--color-accent);width:100%;color:var(--color-accent);cursor:pointer;border-radius:.5rem;margin-top:1rem;padding:.5rem;font-weight:600;transition:all .2s}.btn-add:hover{background-color:var(--color-accent);color:var(--color-accent-contrast)}.item-quantity-controls{grid-template-columns:2.75rem minmax(2.5rem,1fr) 2.75rem;align-items:center;gap:.5rem;margin-top:1rem;display:grid}.item-quantity-btn{background-color:var(--color-background);border:1px solid var(--color-accent);width:100%;min-height:2.5rem;color:var(--color-accent);cursor:pointer;border-radius:.5rem;padding:.5rem;font-weight:700}.item-quantity-btn:hover{background-color:var(--color-accent);color:var(--color-accent-contrast)}.item-quantity-value{text-align:center;min-width:2ch;font-weight:700}
