:root{--paper:#fbf5e9;--surface:#fffdf8;--ink:#231a14;--muted:#5b4d43;--chile:#a3221a;--chile-dark:#7f1913;--masa:#f0b93a;--line:#e2d5bb;--warn-bg:#fdecc8;--radius:14px;--tap:44px;--display:Georgia, "Times New Roman", serif;--sans:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font:1rem/1.45 var(--sans);margin:0}img{max-width:100%;display:block}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:3px solid var(--ink);outline-offset:2px;box-shadow:0 0 0 5px var(--masa)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.page{max-width:720px;padding-bottom:calc(96px + env(safe-area-inset-bottom));margin:0 auto}.status-page{padding:48px 20px}.status-page h1{font:800 1.6rem/1.2 var(--display)}.hero{background:var(--ink);color:var(--paper);border-bottom:8px solid #0000;border-image:repeating-linear-gradient(90deg, var(--chile) 0 28px, var(--masa) 28px 56px, var(--paper) 56px 84px) 1;padding:22px 16px 20px}.hero-row{align-items:center;gap:14px;display:flex}.logo{border:3px solid var(--masa);object-fit:cover;background:var(--paper);border-radius:50%;flex:none;width:64px;height:64px}.logo-fallback{font:800 1.8rem var(--display);color:var(--ink);place-items:center;display:grid}.hero h1{font:800 1.55rem/1.15 var(--display);letter-spacing:-.01em;margin:0}.schedule{color:#eadfc9;margin:4px 0 0;font-size:.95rem}.welcome{max-width:34em;margin:14px 0 0;font-size:1.05rem}.closed{background:var(--warn-bg);border:2px solid var(--ink);border-radius:var(--radius);gap:2px;margin:12px 16px 0;padding:12px 14px;display:grid}.branches{border:0;margin:14px 16px 0;padding:0}.branches legend{margin-bottom:8px;padding:0;font-weight:700}.branch-list{gap:8px;display:grid}.branch{min-height:var(--tap);background:var(--surface);border:2px solid var(--line);border-radius:var(--radius);cursor:pointer;grid-template-columns:24px 1fr;column-gap:10px;padding:10px 12px;display:grid}.branch.is-on{border-color:var(--ink)}.branch input{width:22px;height:22px;accent-color:var(--chile);grid-row:span 2;margin:2px 0 0}.branch-name{font-weight:700}.branch-addr{color:var(--muted);font-size:.9rem}.catnav{z-index:10;background:var(--paper);border-bottom:1px solid var(--line);margin-top:14px;position:sticky;top:0}.catnav ul{scrollbar-width:none;gap:8px;margin:0;padding:8px 16px;list-style:none;display:flex;overflow-x:auto}.catnav button{min-height:var(--tap);border:2px solid var(--ink);white-space:nowrap;background:0 0;border-radius:999px;padding:0 18px;font-weight:700}.catnav button.is-on{background:var(--ink);color:var(--paper)}.section{padding:22px 16px 4px;scroll-margin-top:64px}.section h2{font:800 1.45rem/1.2 var(--display);margin:0 0 12px}.grid{gap:14px;margin:0;padding:0;list-style:none;display:grid}.card{text-align:left;background:var(--surface);border:2px solid var(--ink);border-radius:var(--radius);width:100%;padding:0;display:block;overflow:hidden}.card:active:not(:disabled){transform:translateY(1px)}.card-photo{aspect-ratio:16/10;background:var(--line);display:block;position:relative}.card-photo img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.photo-empty{height:100%;font:800 3rem var(--display);color:var(--muted);place-items:center;display:grid}.card:has(.photo-empty) .card-photo{aspect-ratio:auto;height:0;display:none}.badge{background:var(--ink);color:var(--paper);border-radius:999px;padding:4px 10px;font-size:.85rem;font-weight:700;position:absolute;top:10px;left:10px}.badge-cart{background:var(--masa);color:var(--ink);left:auto;right:10px}.card-text{gap:4px;padding:12px 14px 14px;display:grid}.card-name{font:700 1.2rem/1.25 var(--display)}.card-desc{color:var(--muted);font-size:.95rem}.card-price{font:800 1.3rem var(--display);color:var(--chile)}.from{font:500 .9rem var(--sans);color:var(--muted)}.card.is-soldout{border-color:var(--line);cursor:not-allowed}.card.is-soldout img{filter:grayscale();opacity:.55}.card.is-soldout .card-name,.card.is-soldout .card-price{color:var(--muted);text-decoration:line-through}.empty{color:var(--muted);padding:24px 16px}.foot{color:var(--muted);text-align:center;padding:28px 16px 0;font-size:.85rem}.btn{border:2px solid var(--ink);border-radius:var(--radius);background:var(--surface);justify-content:center;align-items:center;gap:12px;min-height:52px;padding:0 22px;font-size:1.05rem;font-weight:800;display:inline-flex}.btn-primary{background:var(--chile);border-color:var(--chile-dark);color:#fff}.btn-primary:disabled{color:#4a3f36;cursor:not-allowed;background:#d8cbb0;border-color:#c5b698}.btn-ghost{background:0 0}.btn-block{justify-content:space-between;width:100%}.btn-grow{flex:1}.link-btn{min-height:var(--tap);color:var(--chile);background:0 0;border:0;padding:0 8px;font-weight:700;text-decoration:underline}.icon-btn{width:var(--tap);height:var(--tap);border:2px solid var(--ink);background:var(--surface);border-radius:50%;font-size:1.6rem;line-height:1}.cartbar{z-index:20;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:linear-gradient(transparent, var(--paper) 35%);position:fixed;bottom:0;left:0;right:0}.cartbar .btn{max-width:688px;box-shadow:0 4px 0 var(--chile-dark);margin:0 auto;display:flex}.cartbar-count{background:var(--masa);min-width:28px;height:28px;color:var(--ink);border-radius:50%;place-items:center;display:grid}.sheet-backdrop{z-index:30;background:#231a1499;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--paper);border:2px solid var(--ink);border-bottom:0;border-radius:22px 22px 0 0;flex-direction:column;width:100%;max-width:720px;max-height:92dvh;display:flex}.sheet:focus{outline:none}.sheet-head{justify-content:space-between;align-items:center;gap:12px;padding:14px 16px 10px;display:flex}.sheet-head h2{font:800 1.35rem/1.2 var(--display);margin:0}.sheet-body{overscroll-behavior:contain;padding:0 16px 16px;overflow-y:auto}.sheet-foot{padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:2px solid var(--ink);background:var(--surface);gap:10px;display:grid}.sheet-photo{aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius);border:2px solid var(--ink);width:100%;height:auto;max-height:24dvh}.sheet-desc{margin:12px 0 0}.sheet-price{font:800 1.4rem var(--display);color:var(--chile);margin:6px 0 0}.add-row{align-items:center;gap:12px;display:flex}.group{border:0;gap:8px;margin:18px 0 0;padding:0;display:grid}.group legend{flex-wrap:wrap;align-items:baseline;gap:4px 10px;width:100%;margin-bottom:8px;padding:0;display:flex}.group-name{font:700 1.15rem var(--display)}.group-rule{color:var(--muted);font-size:.9rem}.group-rule.is-pending{color:var(--chile);font-weight:700}.opt{min-height:var(--tap);background:var(--surface);border:2px solid var(--line);cursor:pointer;border-radius:12px;grid-template-columns:26px 1fr auto;align-items:center;column-gap:10px;padding:8px 12px;display:grid}.opt.is-on{border-color:var(--ink);background:#fff6dc}.opt.is-off{opacity:.55;cursor:not-allowed}.opt input{width:22px;height:22px;accent-color:var(--chile);margin:0}.opt-delta{font-weight:700}.hint{margin:0;font-size:.95rem}.hint-warn{background:var(--warn-bg);border-radius:10px;padding:8px 12px;font-weight:700}.field{gap:6px;margin-top:18px;display:grid}.field label{font-weight:700}.field input,.field textarea,.field select{min-height:var(--tap);background:var(--surface);border:2px solid var(--ink);border-radius:12px;padding:10px 12px}.stepper{border:2px solid var(--ink);border-radius:var(--radius);background:var(--surface);align-items:center;display:inline-flex}.stepper button{width:var(--tap);height:var(--tap);background:0 0;border:0;font-size:1.4rem;font-weight:800}.stepper button:disabled{color:#9a8c7c;cursor:not-allowed}.stepper output{text-align:center;min-width:32px;font-weight:800}.lines{gap:12px;margin:0;padding:0;list-style:none;display:grid}.line{background:var(--surface);border:2px solid var(--line);border-radius:var(--radius);grid-template-columns:1fr auto;gap:4px 12px;padding:12px;display:grid}.line.is-bad{border-color:var(--chile)}.line-name{font:700 1.1rem var(--display);margin:0}.line-opts{color:var(--muted);margin:2px 0 0;font-size:.92rem}.line-warn{color:var(--chile);margin:6px 0 0;font-size:.92rem;font-weight:700}.line-price{margin:0;font-weight:800}.line-actions{grid-column:1/-1;justify-content:space-between;align-items:center;display:flex}.totals{justify-content:space-between;font-size:1.15rem;display:flex}@media (width>=560px){.grid{grid-template-columns:1fr 1fr}}@media (prefers-reduced-motion:no-preference){.sheet{animation:.18s ease-out rise}@keyframes rise{0%{opacity:.6;transform:translateY(24px)}}html{scroll-behavior:smooth}}.topbar{background:var(--ink);color:var(--paper);border-bottom:8px solid var(--chile);padding:12px 16px 14px}.topbar h1{font:800 1.5rem/1.2 var(--display);margin:4px 0 0}.back{min-height:var(--tap);color:var(--paper);align-items:center;gap:6px;font-weight:700;display:inline-flex}.checkout{padding:0 16px}.block{margin-top:26px}.block h2{border-bottom:2px solid var(--ink);font:800 1.3rem/1.2 var(--display);margin:0 0 4px;padding-bottom:6px}.field-label{font-weight:700}.help{color:var(--muted);margin:0;font-size:.92rem}.field-error{color:var(--chile-dark);margin:0;font-size:.95rem;font-weight:700}.field input[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:var(--chile);border-width:3px}.with-prefix{align-items:center;gap:8px;display:flex}.with-prefix span{font-size:1.2rem;font-weight:800}.with-prefix input{flex:1}.choice{border:0;gap:8px;margin:16px 0 0;padding:0;display:grid}.choice legend{margin-bottom:8px;padding:0;font-weight:700}.opt-hint{color:var(--muted);font-size:.9rem;font-weight:500}.fixed-choice{margin:14px 0 0;font-weight:700}.error-summary{background:var(--warn-bg);border:3px solid var(--chile);border-radius:var(--radius);margin-top:16px;padding:12px 14px}.error-summary ul{margin:6px 0 0;padding-left:20px}.hint a{color:var(--chile-dark);font-weight:700}.field .hint{margin:0}.summary-lines{gap:10px;margin:14px 0 0;padding:0;list-style:none;display:grid}.summary-lines li{justify-content:space-between;gap:12px;display:flex}.summary-lines li>span:first-child{display:grid}.summary-lines small{color:var(--muted);font-size:.9rem}.summary-lines .is-bad{color:var(--chile-dark)}.summary-lines .line-warn{color:var(--chile-dark);font-weight:700}.sum{border-top:2px dashed var(--ink);gap:4px;margin:14px 0 0;padding-top:10px;display:grid}.sum>div{justify-content:space-between;display:flex}.sum dt,.sum dd{margin:0}.sum-total{font:800 1.4rem var(--display);margin-top:4px}.sum-total dd{color:var(--chile)}.sendbar{padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(transparent, var(--paper) 30%);gap:8px;margin:24px -16px 0;display:grid;position:sticky;bottom:0}.sendbar .btn{box-shadow:0 4px 0 var(--chile-dark)}.sendbar .btn:disabled{box-shadow:none}.sent{justify-items:start;gap:14px;display:grid}.sent .btn{text-decoration:none}.folio{background:var(--masa);border:2px solid var(--ink);border-radius:999px;margin:0;padding:4px 12px;font-weight:800}.sent-total{font:800 1.4rem var(--display);margin:0}a.btn{text-decoration:none}a.btn-ghost{color:var(--ink)}.sendbar .btn-block{justify-content:center}.block>.hint{margin-top:12px}.badges-inline{flex-wrap:wrap;gap:6px;display:flex}.badge-inline{position:static}
