:root{--espresso:#2b1a10;--coffee:#6b4226;--caramel:#a8713f;--cream:#f6efe6;--paper:#fffaf4;--line:#e7dccd;--muted:#7d6a5b;--green:#2f7d4f;--wa:#25d366;--radius:14px;--serif:"Cormorant Garamond", Georgia, serif;--sans:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--safe-bottom:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{max-width:560px;font-family:var(--sans);color:var(--espresso);background:var(--cream);padding-bottom:var(--safe-bottom);-webkit-tap-highlight-color:transparent;margin:0 auto;font-size:16px;line-height:1.45}img{max-width:100%;display:block}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}[hidden]{display:none!important}.head{background:var(--espresso);color:var(--cream);align-items:center;gap:12px;padding:14px 16px;display:flex}.head img{border-radius:50%;flex-shrink:0;width:48px;height:48px}.head h1{font-family:var(--serif);margin:0;font-size:26px;line-height:1.1}.head p{color:#e3c8a6;margin:2px 0 0;font-size:13px}.steps{border-bottom:1px solid var(--line);color:var(--muted);background:#fff;align-items:center;gap:8px;margin:0;padding:12px 14px;font-size:14px;font-weight:600;list-style:none;display:flex}.step{white-space:nowrap;align-items:center;gap:8px;display:flex}.step .num{background:var(--line);color:var(--muted)}.step.current{color:var(--espresso)}.step.current .num,.step.done .num{background:var(--coffee);color:#fff}.step-line{background:var(--line);flex:1;height:2px}.block{padding:18px 14px 4px}.block h2{margin:0 0 10px;font-size:19px}.block h2:not(:first-child){margin-top:22px}.num{background:var(--coffee);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:26px;height:26px;font-size:13px;display:grid}.hint{color:var(--muted);margin:-4px 0 12px;font-size:13px}.pay-options{gap:10px;display:grid}.pay{border:1.5px solid var(--line);cursor:pointer;background:#fff;border-radius:12px;align-items:center;gap:12px;min-height:64px;padding:10px 14px;display:flex}.pay.active{border-color:var(--coffee);box-shadow:0 0 0 1px var(--coffee);background:#fbf4ec}.pay input{width:20px;height:20px;min-height:0;accent-color:var(--coffee);flex-shrink:0;margin:0}.pay-text{flex-direction:column;flex:1;min-width:0;line-height:1.3;display:flex}.pay-text small{color:var(--green);font-size:12px;font-weight:600}.pay-total{font-variant-numeric:tabular-nums;font-weight:700}.summary{background:var(--paper);border:1.5px solid var(--line);border-radius:var(--radius);margin-bottom:8px;padding:12px 14px}.summary-head{justify-content:space-between;align-items:center;display:flex}.summary-head h2{font-size:17px;margin:0!important}.link-btn{min-height:40px;color:var(--coffee);background:0 0;border:0;align-items:center;padding:0 4px;font-weight:600;text-decoration:underline;display:inline-flex}.lines{margin:6px 0 0;padding:0;font-size:14px;list-style:none}.lines li{border-top:1px solid var(--line);align-items:center;gap:10px;padding:8px 0;display:flex}.lines img{object-fit:cover;background:#ececf1;border-radius:8px;flex-shrink:0;width:44px;height:54px}.s-info{flex-direction:column;flex:1;min-width:0;line-height:1.3;display:flex}.s-info small{color:var(--muted)}.s-info strong{font-variant-numeric:tabular-nums}.lines .stepper button{width:38px;height:38px;font-size:18px}.cart-btn{width:48px;height:48px;color:var(--cream);background:#ffffff1f;border:0;border-radius:50%;flex-shrink:0;place-items:center;margin-left:auto;display:grid;position:relative}.cart-btn svg{margin:auto}.cart-count{background:var(--wa);color:#08361c;border-radius:999px;place-items:center;min-width:22px;height:22px;padding:0 6px;font-size:12px;font-weight:700;display:grid;position:absolute;top:-2px;right:-2px}.overlay{z-index:30;background:#140c0680;position:fixed;inset:0}.sheet{z-index:40;background:var(--paper);visibility:hidden;border-radius:18px 18px 0 0;flex-direction:column;max-width:560px;max-height:85vh;margin:0 auto;transition:transform .28s,visibility .28s;display:flex;position:fixed;bottom:0;left:0;right:0;transform:translateY(100%)}.sheet.open{visibility:visible;transform:none}.sheet-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:12px 8px 8px 16px;display:flex}.sheet-head h2{font-family:var(--serif);margin:0;font-size:26px}.close{background:0 0;border:0;border-radius:50%;width:44px;height:44px;font-size:30px;line-height:1}.sheet-body{-webkit-overflow-scrolling:touch;flex:1;padding:0 16px;overflow-y:auto}.sheet-body .lines li:first-child{border-top:0}.cart-empty{text-align:center;color:var(--muted);padding:32px 0}.sheet-foot{padding:12px 16px calc(12px + var(--safe-bottom));border-top:1px solid var(--line);background:#fff}.sheet-total{justify-content:space-between;align-items:baseline;margin-bottom:10px;display:flex}.sheet-total span{color:var(--muted);font-size:14px}.sheet-total strong{font-variant-numeric:tabular-nums;font-size:24px}.sheet-actions{gap:10px;display:flex}.sheet-actions button{flex:1}.ghost{border:1.5px solid var(--coffee);min-height:52px;color:var(--coffee);background:#fff;border-radius:999px;font-size:15px;font-weight:700}body.no-scroll{overflow:hidden}.has-bar{padding-bottom:calc(96px + var(--safe-bottom))}.product{background:var(--paper);border:1.5px solid var(--line);border-radius:var(--radius);margin-bottom:12px;padding:12px}.product.selected{border-color:var(--coffee)}.product-head{gap:12px;margin-bottom:8px;display:flex}.product-head img{object-fit:cover;background:#ececf1;border-radius:10px;flex-shrink:0;width:96px;height:120px}.origin{letter-spacing:.05em;text-transform:uppercase;color:var(--caramel);margin:0;font-size:11px;font-weight:600}.product h3{font-family:var(--serif);margin:0 0 4px;font-size:22px;line-height:1.1}.desc{color:var(--muted);cursor:pointer;-webkit-line-clamp:4;-webkit-box-orient:vertical;margin:0;font-size:13px;display:-webkit-box;overflow:hidden}.desc.open{display:block}.opt-label{margin-bottom:6px;font-size:13px;font-weight:600}.sizes{gap:8px;margin-bottom:10px;display:flex}.chip{border:1.5px solid var(--line);white-space:nowrap;background:#fff;border-radius:10px;flex:1;min-height:44px;padding:0 8px;font-weight:700}.chip.active{border-color:var(--coffee);background:var(--coffee);color:#fff}.v-prices{grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:12px;display:grid}.vp{background:var(--cream);font-variant-numeric:tabular-nums;border-radius:8px;flex-direction:column;align-items:center;padding:6px 4px;font-size:15px;font-weight:700;line-height:1.2;display:flex}.vp small{color:var(--muted);font-size:11px;font-weight:500}.vp:first-child{color:var(--green)}.vp.active{background:var(--coffee);color:#fff}.vp.active small{color:#f0dcc6}.add-row{gap:10px;display:flex}.add{background:var(--coffee);color:#fff;border:0;border-radius:999px;flex:1;min-height:48px;font-size:16px;font-weight:700}.add:active{transform:scale(.97)}.in-order{color:var(--green);text-align:center;margin:10px 0 0;font-size:13px;font-weight:700}.stepper{border:1.5px solid var(--line);background:#fff;border-radius:999px;align-items:center;display:flex}.stepper button{width:44px;height:44px;color:var(--coffee);background:0 0;border:0;font-size:22px;line-height:1}.stepper button:disabled{color:#cdbfb0;cursor:default}.stepper span{text-align:center;font-variant-numeric:tabular-nums;min-width:22px;font-weight:700}.grind{margin:4px 0 10px;font-size:13px;font-weight:600;display:block}select,input,textarea{border:1.5px solid var(--line);background:#fff;border-radius:10px;width:100%;min-height:48px;padding:10px 12px;font-size:16px}textarea{resize:vertical;min-height:0}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath fill='%236b4226' d='M6 8 0 0h12z'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;margin-top:4px;padding-right:36px}select:focus,input:focus,textarea:focus{border-color:var(--caramel);outline:none;box-shadow:0 0 0 3px #a8713f33}input.invalid{background:#fff5f4;border-color:#c0392b}form label{margin-bottom:12px;font-size:14px;font-weight:500;display:block}form label input,form label textarea{margin-top:4px}.row{gap:10px;display:flex}.row label{flex:1;min-width:0}.row .grow{flex:2}.zone-options{border:0;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 12px;padding:0;display:grid}.zone-options legend{margin-bottom:4px;font-size:14px;font-weight:500}.zone{border:1.5px solid var(--line);cursor:pointer;background:#fff;border-radius:12px;align-items:center;gap:10px;min-height:60px;padding:10px 12px;margin:0!important;display:flex!important}.zone input{width:20px;height:20px;min-height:0;accent-color:var(--coffee);flex-shrink:0;margin:0}.zone:has(input:checked){border-color:var(--coffee);background:#fbf4ec}.zone span{flex-direction:column;line-height:1.25;display:flex}.zone small{color:var(--muted);font-weight:400}.form-error{color:#c0392b;margin:4px 0 12px;font-size:14px;font-weight:600}.foot{text-align:center;color:var(--muted);padding:8px 16px 24px;font-size:13px}.foot p{margin:4px 0}.foot a{color:var(--coffee)}.bar{z-index:20;max-width:560px;padding:10px 14px calc(10px + var(--safe-bottom));border-top:1px solid var(--line);background:#fff;align-items:center;gap:12px;margin:0 auto;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -6px 20px #2b1a1014}.bar-total{text-align:left;background:0 0;border:0;flex-direction:column;flex:1;align-items:flex-start;min-width:0;padding:0;line-height:1.2;display:flex}.bar-total span{max-width:100%;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.bar-total strong{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:22px}.bar-total small{color:var(--coffee);font-size:12px;font-weight:700;text-decoration:underline}.send{background:var(--wa);color:#08361c;border:0;border-radius:999px;flex-shrink:0;align-items:center;gap:8px;min-height:52px;padding:0 16px;font-size:15px;font-weight:700;display:flex}.send:active,.next:active,.floating-cart:active{transform:scale(.98)}.floating-cart{z-index:20;left:12px;right:12px;bottom:calc(12px + var(--safe-bottom));background:var(--espresso);color:#fff;border:0;border-radius:999px;align-items:center;gap:10px;max-width:536px;min-height:58px;margin:0 auto;padding:0 20px;font-size:15px;text-decoration:none;animation:.25s ease-out pop;display:flex;position:fixed;box-shadow:0 8px 24px #2b1a1059}.fc-count{color:#e3c8a6}.fc-label{text-align:right;flex:1;font-weight:600}.floating-cart strong{font-variant-numeric:tabular-nums;font-size:17px}@keyframes pop{0%{opacity:0;transform:translateY(20px)}}.next{background:var(--coffee);color:#fff;border:0;border-radius:999px;justify-content:center;align-items:center;min-height:52px;padding:0 22px;font-size:16px;font-weight:700;text-decoration:none;display:flex}.back{border:1.5px solid var(--line);width:44px;height:44px;color:var(--coffee);background:#fff;border-radius:50%;flex-shrink:0;font-size:20px}.toast{z-index:50;left:16px;right:16px;bottom:calc(88px + var(--safe-bottom));background:var(--espresso);color:#fff;text-align:center;opacity:0;pointer-events:none;border-radius:12px;width:fit-content;max-width:528px;margin:0 auto;padding:12px 18px;font-size:14px;transition:all .25s;position:fixed;transform:translateY(20px)}.toast.show{opacity:1;transform:none}@media (width<=360px){.product-head img{width:76px;height:96px}.send{padding:0 14px;font-size:14px}.send svg{display:none}}@media (width>=600px){body{background:var(--paper);min-height:100vh;box-shadow:0 0 40px #2b1a1014}html{background:var(--cream)}}
