*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;overscroll-behavior:none}body{font:13px/1.5 'DM Sans',sans-serif;background:#faf8f5;color:#272324}button,input,select{font:inherit}button{cursor:pointer;color:inherit}button{border:0;background:none}button:focus-visible,input:focus-visible{outline:2px solid #d83c43;outline-offset:2px}h1,h2,h3,p{margin:0}h1{font-size:19px}h2{font-size:18px}h3{font-size:15px}small{color:#837777}#app{height:100%;display:flex;flex-direction:column;position:relative}.bar{height:60px;min-height:60px;padding:14px 18px;display:flex;align-items:center;justify-content:space-between;background:#faf8f5;border-bottom:1px solid #ede8e5;gap:12px}.bar h1{font-size:16px;font-weight:600}.bar .back{color:#d83c43;font-size:25px;padding:0 8px 0 0}.bar .location{display:flex;align-items:center;gap:7px;padding:0;text-align:left;font-size:12px;flex:1}.location b{color:#db3c43;font-size:20px}.profile{border:1.5px solid #ae7778;width:25px;height:25px;border-radius:50%;color:#ae7778;font-size:16px;padding:0}.scroll{overflow-y:auto;overscroll-behavior:contain;flex:1;min-height:0;scrollbar-width:thin;scrollbar-color:#ddcccc transparent}.banner{height:160px;background:#211b22;color:white;position:relative;padding:24px;overflow:hidden}.banner:before{content:'';position:absolute;inset:0;background:linear-gradient(120deg,#dc3b43 0 13%,transparent 13% 85%,#dc3b43 85%)}.banner-copy{position:relative;z-index:2;width:65%}.wordmark{font-size:32px;font-weight:900;font-style:italic;letter-spacing:-2px}.wordmark small{font-size:12px;letter-spacing:-.5px;color:inherit}.banner h2{font-size:23px;line-height:1.05;margin:8px 0}.banner p{font-size:9px;color:#f7cbd0}.banner .cup{position:absolute;right:29px;top:27px;transform:rotate(12deg);width:65px;height:100px}.dots{position:absolute;bottom:10px;left:25px;font-size:15px;letter-spacing:2px}.tabs{display:flex;gap:8px;padding:18px 18px 8px}.tabs button{font-size:11px;padding:7px 15px;border:1px solid #eadcdb;border-radius:20px}.tabs button.active{background:#dc3c43;color:white;border-color:#dc3c43}.category{font-size:11px;padding:15px 18px 10px;letter-spacing:1px}.products{display:grid;grid-template-columns:1fr 1fr}.product{border:1px solid #eee9e6;border-left:0;padding:18px;text-align:left;position:relative;background:#faf8f5;min-height:210px}.product:hover{background:#fff}.product .cup{margin:8px auto 23px}.product h3{font-size:12px;font-weight:500;min-height:35px}.product strong{display:block;font-size:12px;margin-top:5px}.product .add{position:absolute;right:13px;bottom:16px;color:#d83c43;font-size:21px}.cup{height:95px;width:64px;position:relative;border-radius:7px 7px 16px 16px;background:linear-gradient(90deg,#fff5,transparent 30%,#0002),linear-gradient(var(--milk,#d8ac83),var(--coffee,#77412a));box-shadow:4px 8px 10px #4b201921;flex-shrink:0}.cup:before{content:'';position:absolute;top:-6px;left:-4px;right:-4px;height:16px;border:3px solid #e8ded3;background:var(--coffee,#4e2b1c);border-radius:50%;z-index:2}.cup:after{content:'novo';position:absolute;top:37%;left:0;right:0;padding:7px 0;background:#d93942;color:white;text-align:center;font-style:italic;font-weight:900;font-size:17px;letter-spacing:-1px}.cup.hot{background:linear-gradient(90deg,#b42e36,#e34349 40%,#b72d36)}.cup.hot:after{background:transparent}.dock{padding:13px 18px 18px;border-top:1px solid #eee7e4;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:15px;flex-shrink:0}.dock .total small{font-size:10px;display:block}.dock strong{font-size:14px}.primary{background:#dc3c43;color:white;border-radius:30px;padding:15px 24px;font-size:12px;font-weight:700;display:block}.primary:disabled{opacity:.4;cursor:default}.primary.full{width:100%}.demo-note{text-align:center;padding:18px;font-size:9px;color:#9e9290}.detail-art{height:300px;background:radial-gradient(ellipse,#fff,#f4eeea);display:grid;place-items:center}.detail-art .cup{width:123px;height:181px;transform:rotate(-6deg)}.detail-art .cup:before{height:25px;top:-10px}.detail-art .cup:after{font-size:31px;padding:13px 0}.padded{padding:23px}.detail-copy h2{font-size:20px}.detail-copy p{margin:9px 0 18px;color:#857879;font-size:12px}.detail-copy strong{font-size:18px}.option-group{margin-top:24px}.option-group label{font-size:12px;display:block;margin-bottom:10px}.choices{display:flex;gap:8px}.choices button{border:1px solid #e0d6d3;border-radius:20px;padding:8px 15px;font-size:11px}.choices .selected{color:#d83c43;background:#ffeded;border-color:#d83c43}.stepper{display:flex;align-items:center;gap:14px}.stepper button{border:1px solid #ca777c;color:#c6424c;border-radius:50%;width:23px;height:23px;line-height:18px;padding:0;font-size:18px}.stepper button:disabled{opacity:.3}.split{display:flex;align-items:center;justify-content:space-between;gap:12px}.quantity{padding:18px 23px}.map{height:340px;position:relative;background:#eeede8;overflow:hidden}.map svg{width:100%;height:100%;position:absolute;inset:0}.map-label{position:absolute;font-size:10px;color:#9a8e80;pointer-events:none}.pin{position:absolute;color:#dc3c43;background:white;width:36px;height:36px;border:2px solid #dc3c43;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 4px 10px #0002}.pin span{display:block;transform:rotate(45deg);font-size:16px}.pin.selected{background:#dc3c43;color:white}.pin.one{left:43%;top:44%}.pin.two{left:18%;top:23%}.pin.three{left:73%;top:70%}.location-form{padding:18px}.location-form select,.location-form input{width:100%;background:white;border:1px solid #e2d9d6;border-radius:5px;padding:12px;margin-top:8px;font-size:12px}.location-form label{font-size:11px;color:#7c7070;display:block;margin-top:10px}.address-row{display:grid;grid-template-columns:1.6fr 1fr;gap:10px}.location-form p{font-size:11px;color:#746969;margin-top:7px}.checkout-block{padding:18px;border-bottom:1px solid #e8dfdb}.checkout-block h3{font-size:12px;margin-bottom:10px;font-weight:500}.edit{color:#c84b55;border:1px solid #db999e;border-radius:15px;font-size:10px;padding:3px 10px}.cart-item{display:grid;grid-template-columns:42px 1fr;gap:15px;margin:18px 0}.cart-item .cup{width:32px;height:48px;margin-top:8px}.cart-item .cup:before{height:9px;top:-4px;border-width:2px}.cart-item .cup:after{font-size:9px;padding:4px 0}.cart-item h3{font-size:12px;font-weight:700;margin:0 0 4px}.cart-item small{font-size:10px}.cart-item .split{margin-top:12px}.cart-item strong{font-size:12px}.text-button{color:#d13c47;font-size:11px;padding:0}.voucher{display:flex;align-items:center;justify-content:space-between;width:100%;padding:16px 0}.receipt .split{margin:10px 0;font-size:12px}.tip-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:12px}.tip-grid button{background:#efdfef;padding:6px 2px;border-radius:7px;font-size:10px}.tip-grid button.selected{background:#d83c43;color:white}.empty{padding:80px 30px;text-align:center}.empty p{margin:10px 0 25px;color:#888}dialog{border:0;background:#fffaf7;border-radius:20px 20px 0 0;padding:26px 22px;margin:auto 0 0;width:100%;max-width:100%;max-height:90%;overflow:auto;color:#272324}dialog::backdrop{background:#21181860}.sheet-close{position:absolute;right:12px;top:7px;font-size:25px;color:#766}dialog h2{font-size:17px;margin-bottom:20px}dialog p{font-size:12px;color:#847575;margin:12px 0}dialog .primary{margin-top:22px}dialog input{padding:14px;border:1px solid #ddd;width:100%;font:inherit}dialog .pay-option{display:flex;align-items:center;gap:12px;width:100%;padding:17px 0;border-bottom:1px solid #eee;text-align:left}.pay-icon{display:grid;place-items:center;width:35px;height:35px;background:#e9f4f5;color:#0696b3;border-radius:50%;font-weight:800}.pay-option small{display:block;font-size:10px}.radio{margin-left:auto;width:17px;height:17px;border:1px solid #cbb;border-radius:50%}.pay-option.selected .radio{border:5px solid #df3c43}.success{text-align:center;padding:35px 24px}.success-icon{width:80px;height:80px;background:#e8f0d9;color:#587835;border-radius:50%;margin:12px auto 24px;display:grid;place-items:center;font-size:36px}.success p{margin:14px 0;color:#877}.ticket{border:1px dashed #d9c4bc;padding:24px;margin:28px 0;text-align:left;border-radius:12px;background:white}.ticket small{font-size:10px}.ticket h3{margin-bottom:18px}.status-line{padding:12px 0;display:flex;gap:12px;font-size:12px}.status-line span{color:#dc3c43}.status-line.pending{color:#a29694}.success .primary{margin-top:20px}.error{color:#c13d43;font-size:11px;margin-top:10px}.badge{background:#d83c43;color:white;font-size:9px;border-radius:8px;padding:2px 5px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.banner-copy{width:75%}.banner h2{font-size:20px}.banner p{font-size:8px}.banner .cup{right:22px;top:30px;width:58px;height:88px}
