*{box-sizing:border-box;margin:0;padding:0}
html{background:#1a1f1a;overflow-x:hidden}
body{font-family:'Caveat',cursive;background:#1a1f1a;color:#e8e0d0;min-height:100vh;min-height:100svh;min-height:100dvh;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:auto;background-image:radial-gradient(ellipse at 20% 20%,rgba(255,255,255,.015) 0%,transparent 60%),radial-gradient(ellipse at 80% 80%,rgba(255,255,255,.01) 0%,transparent 60%)}
.hero{text-align:center;padding:44px 24px 28px;border-bottom:2px solid rgba(255,255,255,.1)}
.hero::after{content:'';display:block;width:80%;max-width:500px;height:2px;margin:16px auto 0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent)}
.hero h1{font-family:'Caveat Brush',cursive;font-size:clamp(2.4rem,7vw,4rem);color:#f0ede0;letter-spacing:2px;text-shadow:2px 2px 0 rgba(0,0,0,.4),0 0 30px rgba(255,255,255,.06);line-height:1.1}
.hero p{font-size:1.25rem;color:rgba(232,224,208,.55);margin-top:6px;letter-spacing:1px}
.menu-wrap{max-width:580px;margin:0 auto;padding:28px 20px 10px}
.item-row{display:flex;align-items:flex-start;padding:9px 0;border-bottom:1px dashed rgba(255,255,255,.12);gap:10px}
.item-row:last-child{border-bottom:none}
.item-name-wrap{display:flex;flex-direction:column;flex:1}
.item-name{font-size:1.7rem;font-weight:600;color:#f0ede0;letter-spacing:.5px}
.item-desc{font-size:1.15rem;color:rgba(232,224,208,.38);margin-top:0;font-weight:400;letter-spacing:.3px;line-height:1.1}
.item-name,.item-desc,.o-line .nm{overflow-wrap:anywhere}
.item-price{font-size:1.55rem;color:#f0ede0;min-width:56px;text-align:right;margin-right:26px}
.qty-row{display:flex;align-items:center;align-self:flex-start;gap:8px;margin-top:2px}
.qty-btn{width:32px;height:32px;border-radius:50%;border:1.5px solid rgba(232,224,208,.4);background:transparent;color:#e8e0d0;font-size:1.25rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:'Caveat',cursive;transition:background .15s,border-color .15s;line-height:1}
.qty-btn:hover{background:rgba(232,224,208,.15);border-color:rgba(232,224,208,.7)}
.qty-num{font-size:1.4rem;font-weight:700;min-width:24px;text-align:center;color:#f0ede0}
.euro-prefix{font-size:1.35rem;color:rgba(232,224,208,.5);margin-right:4px}
.other-display{font-family:'Caveat',cursive;font-size:1.35rem;color:rgba(232,224,208,.35);border-bottom:1.5px dashed rgba(232,224,208,.35);min-width:64px;text-align:right;padding:2px 2px;letter-spacing:.5px;cursor:text;margin-right:14px;transition:color .15s,border-color .15s}
.other-display.active{color:#f0ede0;border-bottom-color:rgba(232,224,208,.7)}
#summary{max-width:580px;margin:20px auto 52px;padding:0 20px}
.chalk-line{width:100%;height:2px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);margin-bottom:24px}
.s-box{border:2px solid rgba(255,255,255,.12);border-radius:4px;padding:26px 24px;background:rgba(255,255,255,.03)}
.s-title{font-family:'Caveat Brush',cursive;text-align:center;font-size:1.7rem;color:#f0ede0;letter-spacing:2px;margin-bottom:16px}
.o-line{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px dashed rgba(255,255,255,.1);font-size:1.3rem;color:rgba(232,224,208,.85)}
.o-line .nm span{font-size:1rem;color:rgba(232,224,208,.4);margin-left:4px}
.total-row{display:flex;justify-content:space-between;padding:12px 0 0;font-family:'Caveat Brush',cursive;font-size:1.6rem;color:#f0ede0;letter-spacing:1px}
.empty{text-align:center;color:rgba(232,224,208,.3);font-size:1.2rem;padding:8px 0 14px}
.pay-btn{width:100%;margin-top:16px;padding:15px;background:transparent;color:#f0ede0;border:2px solid rgba(232,224,208,.5);border-radius:4px;font-family:'Caveat Brush',cursive;font-size:1.3rem;letter-spacing:1.5px;cursor:pointer;transition:background .2s,border-color .2s;display:flex;align-items:center;justify-content:center}
.pay-btn:hover:not(:disabled){background:rgba(232,224,208,.1);border-color:rgba(232,224,208,.8)}
.pay-btn:disabled{opacity:.3;cursor:not-allowed}
.stripe-badge{display:inline-flex;align-items:center;justify-content:center;background:#635bff;color:#fff;font-family:sans-serif;font-size:11px;font-weight:800;letter-spacing:-0.5px;border-radius:4px;padding:2px 6px;margin-right:9px;flex-shrink:0;line-height:1.4;vertical-align:middle}
.secure{text-align:center;color:rgba(232,224,208,.25);font-size:1rem;margin-top:9px;letter-spacing:.5px}
@media (max-width:640px){
body{font-size:16px}
.hero{padding:34px 16px 22px}
.hero h1{font-size:clamp(2rem,11vw,2.8rem);letter-spacing:1px}
.hero p{font-size:1.05rem}
.menu-wrap{max-width:100%;padding:22px 14px 10px}
#summary{max-width:100%;padding:0 14px;margin:18px auto 46px}
.item-row{flex-wrap:nowrap;align-items:flex-start;gap:8px}
.item-name-wrap{flex:1 1 auto;min-width:0}
.item-name{font-size:1.4rem;line-height:1.15}
.item-desc{font-size:1.05rem;line-height:1.25}
.item-price{font-size:1.3rem;min-width:54px;margin-right:16px}
.qty-row{margin-left:0}
.qty-btn{width:36px;height:36px;font-size:1.3rem}
.qty-num{font-size:1.2rem;min-width:24px}
.other-display{min-width:78px;margin-right:0}
.s-box{padding:20px 14px}
.s-title{font-size:1.45rem;letter-spacing:1px}
.o-line{font-size:1.15rem;gap:8px}
.o-line .nm{padding-right:8px}
.total-row{font-size:1.35rem}
.pay-btn{padding:14px 12px;font-size:1.1rem;letter-spacing:1px}
}
@media (max-width:380px){
.hero{padding:28px 12px 20px}
.menu-wrap{padding:18px 10px 8px}
#summary{padding:0 10px}
.item-row{flex-wrap:nowrap;gap:6px}
.item-name-wrap{flex:1 1 auto;min-width:0}
.item-price{order:0;min-width:48px;margin-right:14px}
.qty-row{order:0;width:auto;justify-content:flex-start}
.item-name{font-size:1.25rem}
.item-desc{font-size:.9rem;line-height:1.1}
.s-box{padding:16px 12px}
.pay-btn{font-size:1rem}
.stripe-badge{font-size:10px;padding:2px 5px;margin-right:7px}
}
