:root{--ro-main:#780203;--ro-accent:#fdc103}.ro-menu{display:grid;grid-template-columns:repeat(var(--ro-cols),minmax(0,1fr));gap:16px}.ro-dish{display:flex;align-items:center;gap:14px;padding:15px;border:1px solid #eee;border-radius:14px;background:#fff;min-width:0;box-shadow:0 3px 14px #00000008}.ro-dish-img{flex:0 0 90px}.ro-dish-img img{width:90px;height:90px;object-fit:cover;border-radius:10px}.ro-dish-info{flex:1;min-width:0}.ro-dish-info h3{font-size:17px;margin:0 0 5px;color:#222}.ro-dish-info p{font-size:13px;color:#777;margin:0 0 7px}.ro-dish-info strong{color:var(--ro-main)}.ro-plus{flex:0 0 42px!important;width:42px;height:42px;min-height:42px;border:0;border-radius:50%;background:var(--ro-main)!important;color:#fff!important;font-size:26px;line-height:1;padding:0!important;cursor:pointer}.ro-plus:hover{background:var(--ro-accent)!important;color:var(--ro-main)!important}.ro-overlay[hidden]{display:none!important}.ro-overlay{position:fixed;inset:0;z-index:999999;background:#0009;display:flex;align-items:center;justify-content:center;padding:16px}.ro-no-scroll{overflow:hidden}.ro-dialog{position:relative;width:min(100%,520px);max-height:90vh;overflow:auto;border-radius:18px;background:#fff;padding:24px;box-shadow:0 20px 70px #0004}.ro-dialog h2{font-size:24px;padding-right:32px;margin:0 0 8px;color:#222}.ro-close{position:absolute;right:14px;top:12px;background:#f2f2f2!important;color:#222!important;width:34px;height:34px;padding:0!important;line-height:34px;font-size:25px}.ro-price{font-size:23px;font-weight:800;color:var(--ro-main);margin-bottom:18px}.ro-topping-row{display:flex;align-items:center;gap:12px;border-bottom:1px solid #eee;padding:12px 0;cursor:pointer}.ro-topping-row input{margin:0;accent-color:var(--ro-main)}.ro-topping-row span{flex:1}.ro-topping-row strong{font-size:14px;color:#444}.ro-label{display:block;margin:18px 0 8px;font-weight:700}.ro-dialog textarea{width:100%;border:1px solid #ddd;border-radius:9px;padding:10px}.ro-qty{display:flex;align-items:center;gap:14px;margin:20px 0}.ro-qty span{margin-right:auto;font-weight:700}.ro-qty button{background:#f2f2f2!important;color:#222!important;border-radius:8px;padding:0!important;width:36px;height:36px;min-height:36px;font-size:22px}.ro-qty output{font-weight:700}.ro-submit{width:100%;border-radius:10px;background:var(--ro-main)!important;color:#fff!important;font-weight:700;padding:12px!important}.ro-message{color:#b00020;margin-bottom:8px}.ro-sticky{position:fixed;bottom:0;left:0;right:0;z-index:99990;background:#fff;box-shadow:0 -4px 20px #0002;padding:12px 16px;display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:3px solid var(--ro-accent)}.ro-sticky-summary{font-weight:700;color:var(--ro-main)}.ro-sticky a{background:var(--ro-main);color:#fff!important;padding:12px 18px;border-radius:10px;font-weight:700;text-decoration:none;white-space:nowrap}.ro-sticky a:hover{background:var(--ro-accent);color:var(--ro-main)!important}body{padding-bottom:68px}@media(max-width:849px){.ro-menu{grid-template-columns:1fr}.ro-dish-img{flex-basis:76px}.ro-dish-img img{width:76px;height:76px}.ro-dialog{padding:20px}.ro-sticky{padding:10px 12px}.ro-sticky a{padding:12px}}

/* v1.0.2 — polished modal, quantity controls and mobile layouts */
.ro-overlay{overscroll-behavior:contain;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.ro-overlay.ro-visible{animation:ro-backdrop-in .25s ease-out both}
.ro-overlay.ro-visible .ro-dialog{animation:ro-dialog-in .34s cubic-bezier(.2,.85,.25,1) both}
@keyframes ro-backdrop-in{from{opacity:0}to{opacity:1}}
@keyframes ro-dialog-in{from{opacity:0;transform:translateY(24px) scale(.965)}to{opacity:1;transform:translateY(0) scale(1)}}
.ro-dialog{overscroll-behavior:contain;scrollbar-width:thin;box-sizing:border-box}
.ro-close{display:flex!important;align-items:center;justify-content:center;z-index:2;transition:transform .2s ease,background .2s ease}
.ro-close:hover{;background:#e9e9e9!important}
.ro-qty{display:grid;grid-template-columns:minmax(0,1fr) 44px 42px 44px;align-items:center;gap:0;margin:20px 0;padding:12px 0;border-top:1px solid #eee;border-bottom:1px solid #eee}
.ro-qty span{margin:0;min-width:0}
.ro-qty button{display:flex!important;align-items:center;justify-content:center;margin:0!important;width:42px!important;height:42px!important;min-height:42px!important;border:1px solid #e8e8e8!important;border-radius:10px!important;font-size:24px!important;font-weight:600!important;line-height:1!important;box-shadow:none!important;transition:background .18s ease,transform .18s ease}
.ro-qty button:active{transform:scale(.92)}
.ro-qty output{min-width:42px;text-align:center;font-size:17px;font-variant-numeric:tabular-nums}
.ro-plus{display:flex!important;align-items:center;justify-content:center;transition:transform .18s ease,background .18s ease;box-shadow:0 4px 12px #78020325}
.ro-plus:hover{transform:scale(1.08)}.ro-plus:active{transform:scale(.94)}
.ro-submit{margin:0!important;min-height:48px!important;transition:filter .2s ease,transform .2s ease}
.ro-submit:active{transform:scale(.985)}
.ro-sticky,.ro-sticky *{box-sizing:border-box}
.ro-sticky{padding-bottom:max(12px,env(safe-area-inset-bottom))}
@media(max-width:849px){
 .ro-menu{grid-template-columns:1fr!important;gap:10px}
 .ro-dish{gap:11px;padding:11px;border-radius:12px}
 .ro-dish-img{flex:0 0 72px}.ro-dish-img img{width:72px;height:72px}
 .ro-dish-info h3{font-size:15px;line-height:1.3}.ro-dish-info p{font-size:12px;line-height:1.35}
 .ro-plus{flex:0 0 40px!important;width:40px!important;height:40px!important;min-height:40px!important}
 .ro-overlay{padding:0;align-items:flex-end}
 .ro-dialog{width:100%;max-width:none;max-height:min(90dvh,850px);border-radius:22px 22px 0 0;padding:22px 18px max(22px,env(safe-area-inset-bottom));box-shadow:0 -10px 40px #0003}
 .ro-overlay.ro-visible .ro-dialog{animation-name:ro-sheet-in}
 .ro-dialog:before{content:"";display:block;width:42px;height:4px;border-radius:9px;background:#ddd;margin:-9px auto 18px}
 .ro-dialog h2{font-size:21px;line-height:1.25}
 .ro-close{top:16px;right:16px}
 .ro-qty{grid-template-columns:minmax(0,1fr) 42px 40px 42px}
 .ro-sticky{gap:8px;padding:9px 12px max(9px,env(safe-area-inset-bottom));min-height:65px}
 .ro-sticky-summary{font-size:13px;line-height:1.35;min-width:0;overflow-wrap:anywhere}
 .ro-sticky a{font-size:13px;padding:12px 14px;flex:0 0 auto}
 body{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
}
@keyframes ro-sheet-in{from{opacity:.6;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}
@media(max-width:380px){.ro-dish-img{flex-basis:60px}.ro-dish-img img{width:60px;height:60px}.ro-dish{gap:9px}.ro-plus{flex-basis:36px!important;width:36px!important;height:36px!important;min-height:36px!important}.ro-sticky-summary{font-size:12px}.ro-sticky a{padding:11px 10px}}
@media(prefers-reduced-motion:reduce){.ro-overlay.ro-visible,.ro-overlay.ro-visible .ro-dialog{animation:none!important}.ro-plus,.ro-close,.ro-qty button{transition:none!important}}
