:root{--ink:#20271f;--muted:#687064;--cream:#fbf8f1;--paper:#fffdf8;--sage:#dce4d4;--green:#284232;--orange:#ef714d;--line:#e8e4da}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif}.app-shell{max-width:680px;margin:auto;padding:0 20px 118px}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between}.brand{font-weight:700;letter-spacing:.16em;font-size:14px;display:flex;align-items:center;gap:8px}.brand-mark{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--green);color:#fff;font-family:Fraunces;font-size:16px;letter-spacing:0}.table-pill{padding:9px 12px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:13px;color:var(--muted)}.table-dot{display:inline-block;width:7px;height:7px;background:var(--orange);border-radius:50%;margin-right:5px}.table-pill strong{color:var(--ink)}.hero{padding:30px 1px 34px}.eyebrow{font-size:11px;line-height:1;margin:0 0 10px;text-transform:uppercase;letter-spacing:.16em;font-weight:700;color:var(--orange)}h1,h2,h3{font-family:Fraunces,serif;margin:0;letter-spacing:-.045em}h1{font-size:42px;line-height:1.02}h1 em{font-weight:600;color:var(--green)}.hero-copy{max-width:330px;color:var(--muted);font-size:15px;line-height:1.5;margin:18px 0 0}.category-nav{display:flex;gap:9px;overflow:auto;margin:0 -20px 25px;padding:0 20px 5px;scrollbar-width:none}.category-nav::-webkit-scrollbar{display:none}.category-button{white-space:nowrap;border:1px solid var(--line);background:transparent;border-radius:999px;padding:10px 15px;color:var(--muted);font:600 13px "DM Sans"}.category-button.active{border-color:var(--green);background:var(--green);color:#fff}.menu-section{display:grid;gap:30px}.category-heading{font-size:27px;margin-bottom:13px}.category-description{font-size:14px;color:var(--muted);margin:5px 0 15px}.item-grid{display:grid;gap:12px}.item-card{width:100%;border:0;padding:0;text-align:left;background:var(--paper);border-radius:17px;overflow:hidden;display:grid;grid-template-columns:104px 1fr;min-height:118px;box-shadow:0 1px 0 rgba(24,30,24,.04);cursor:pointer}.item-art{display:grid;place-items:center;background:var(--item-color);font-size:44px}.item-info{padding:14px 13px}.item-name{font:600 18px/1.1 Fraunces,serif;letter-spacing:-.025em}.item-description{font-size:12px;line-height:1.35;color:var(--muted);margin:6px 0 10px}.item-bottom{display:flex;align-items:center;justify-content:space-between}.price{font-size:14px;font-weight:700}.add-mini{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--sage);color:var(--green);font-size:21px}.basket-bar{position:fixed;z-index:3;bottom:max(16px,env(safe-area-inset-bottom));left:16px;right:16px;max-width:648px;margin:auto;border:0;background:var(--green);color:white;border-radius:15px;min-height:58px;display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:10px;padding:0 17px;font:600 15px "DM Sans";box-shadow:0 10px 30px #29423244;opacity:0;pointer-events:none;transform:translateY(15px);transition:.25s}.basket-bar.visible{opacity:1;pointer-events:auto;transform:none}.basket-count{display:grid;place-items:center;background:#fff;color:var(--green);width:25px;height:25px;border-radius:50%;font-size:12px}.sheet{border:0;padding:0;background:var(--paper);color:var(--ink);width:min(680px,100%);max-width:680px;height:auto;max-height:92dvh;border-radius:25px 25px 0 0;margin:auto auto 0;box-shadow:0 -10px 40px #0002}.sheet::backdrop{background:#17201966}.sheet[open]{animation:rise .25s ease-out}.sheet-handle{width:38px;height:4px;border-radius:4px;background:#d4d4cc;margin:10px auto}.sheet>*:not(.sheet-handle){margin-left:20px;margin-right:20px}.icon-button{border:0;background:#f0eee6;width:34px;height:34px;border-radius:50%;font-size:26px;line-height:1;color:var(--ink);cursor:pointer}.close{float:right;margin-top:-9px}.item-dialog-art{height:150px;border-radius:16px;background:var(--item-color);display:grid;place-items:center;font-size:70px;margin-top:28px}.item-dialog-title{font-size:31px;margin-top:20px}.dialog-desc{color:var(--muted);font-size:14px;line-height:1.45;margin:8px 0 18px}.option-group{border-top:1px solid var(--line);padding:17px 0}.option-heading{display:flex;justify-content:space-between;font-size:14px;font-weight:700;margin-bottom:11px}.option-heading span{font-size:12px;color:var(--muted);font-weight:500}.option-list{display:grid;gap:8px}.option-choice{display:flex;align-items:center;justify-content:space-between;padding:11px 12px;border:1px solid var(--line);border-radius:11px;font-size:14px}.option-choice:has(input:checked){border-color:var(--green);background:#f3f6f0}.option-choice input{accent-color:var(--green)}.sheet-add{width:calc(100% - 40px);margin:4px 20px 22px!important}.checkout{border:0;background:var(--green);color:#fff;width:100%;border-radius:13px;padding:16px 17px;font:600 15px "DM Sans";display:flex;justify-content:space-between;cursor:pointer}.sheet-header{display:flex;justify-content:space-between;align-items:start;margin-top:15px}.sheet-header h2{font-size:30px}.basket-sheet{padding-bottom:max(20px,env(safe-area-inset-bottom));overflow:auto}.basket-row{display:grid;grid-template-columns:54px 1fr auto;gap:12px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line)}.basket-art{width:54px;height:54px;display:grid;place-items:center;border-radius:12px;background:var(--item-color);font-size:25px}.basket-name{font:600 16px Fraunces}.basket-options{font-size:11px;color:var(--muted);margin-top:3px}.quantity{display:flex;align-items:center;gap:8px;margin-top:8px}.quantity button{width:23px;height:23px;border:0;background:var(--sage);border-radius:50%;color:var(--green);font-size:17px;line-height:1;cursor:pointer}.quantity span{font-size:13px;min-width:10px;text-align:center}.basket-price{font-size:14px;font-weight:700}.empty-basket{color:var(--muted);text-align:center;padding:45px 0}.details-form{display:grid;gap:13px;padding:18px 0}.details-form label{display:grid;gap:6px;font-size:13px;font-weight:700}.details-form input,.details-form textarea{border:1px solid var(--line);border-radius:10px;padding:11px 12px;background:#fff;font:14px "DM Sans";resize:none}.summary{border-top:1px solid var(--line);padding:15px 0;display:grid;gap:8px;font-size:14px}.summary div{display:flex;justify-content:space-between}.summary div+div{color:var(--muted);font-size:12px}.checkout-note{text-align:center;color:var(--muted);font-size:11px;margin:11px 0 0}.confirmation-sheet{text-align:center;padding:45px 20px 25px}.confirmation-sheet h2{font-size:34px}.confirmation-sheet>p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.5;margin:11px auto 20px;max-width:300px}.confirmation-icon{display:grid;place-items:center;margin:0 auto 20px;width:55px;height:55px;border-radius:50%;background:var(--sage);color:var(--green);font-size:25px}.confirmation-order{background:#f5f2e9;border-radius:14px;padding:14px;text-align:left;font-size:13px;margin:18px 0}.confirmation-order div{display:flex;justify-content:space-between;padding:5px 0}@keyframes rise{from{transform:translateY(100%)}to{transform:translateY(0)}}@media(min-width:600px){.app-shell{padding-left:28px;padding-right:28px}.item-grid{grid-template-columns:1fr 1fr}.category-nav{margin-left:-28px;margin-right:-28px;padding-left:28px}.item-card{grid-template-columns:94px 1fr}.hero{padding-top:48px}}
