:root{
--bg:#f4f6f8;--card:#fff;--text:#111827;--muted:#6b7280;--line:#e5e7eb;--brand:#0f8b5f;--brand2:#064e36;--gold:#f7b500;--red:#e53935;--blue:#2563eb;--shadow:0 10px 30px #00000012;--mobile-nav-h:70px;--safe-b:env(safe-area-inset-bottom,0px)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);font-family:Tahoma,Arial,sans-serif;color:var(--text)}button,input,textarea,select{font-family:inherit}
button{border:0;border-radius:14px;padding:11px 15px;font-weight:900;cursor:pointer;background:var(--brand);color:#fff}button.secondary{background:#eef2f7;color:#111827}button.gold{background:var(--gold);color:#111827}button.red{background:var(--red)}button:disabled{opacity:.55;cursor:not-allowed}
.boot{padding:40px;text-align:center;font-size:20px}.header{position:sticky;top:0;z-index:50;background:rgba(15,139,95,.97);color:#fff;box-shadow:0 6px 24px #0002}.top{max-width:1240px;margin:auto;padding:12px 16px;display:flex;justify-content:space-between;align-items:center;gap:12px}.logo{display:flex;align-items:center;gap:10px;font-size:23px;font-weight:1000}.logoMark{width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,var(--gold),#ffdf6b);display:flex;align-items:center;justify-content:center;color:#111827}.addr{font-size:13px;background:#ffffff20;border:1px solid #ffffff30;border-radius:999px;padding:8px 12px}.container{max-width:1240px;margin:auto;padding:16px 16px 125px}.page{display:none}.page.active{display:block}
.hero{display:grid;grid-template-columns:1.45fr .75fr;gap:16px}.heroMain{min-height:255px;border-radius:30px;padding:28px;background:linear-gradient(135deg,#0f8b5f,#064e36);color:#fff;box-shadow:0 16px 40px #0f8b5f35;position:relative;overflow:hidden}.heroMain:after{content:"";position:absolute;left:-70px;bottom:-80px;width:230px;height:230px;border-radius:50%;background:#f7b50033}.heroMain h1{margin:0;font-size:34px;line-height:1.45}.heroMain p{font-size:16px;color:#e5fff5}.heroSide{display:grid;gap:12px}.infoCard,.card,.form{background:#fff;border:1px solid var(--line);border-radius:24px;padding:16px;box-shadow:var(--shadow)}
.searchRow{display:flex;gap:9px;margin:18px 0}.searchRow input{flex:1;border:1px solid var(--line);border-radius:17px;padding:15px;font-size:15px;outline:none;background:#fff}.chips{display:flex;gap:9px;overflow:auto;padding-bottom:8px}.chip{background:#fff;border:1px solid var(--line);padding:10px 14px;border-radius:999px;white-space:nowrap;cursor:pointer}.chip.active{background:#eafff6;border-color:var(--brand);font-weight:1000}.sectionTitle{display:flex;justify-content:space-between;align-items:center;margin:22px 0 11px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:15px}.cover{height:136px;border-radius:20px;background:linear-gradient(135deg,#eafff6,#fff8df);display:flex;align-items:center;justify-content:center;font-size:54px;margin-bottom:12px}.row{display:flex;justify-content:space-between;align-items:center;gap:9px}.muted{color:var(--muted);font-size:13px}.badge{display:inline-flex;background:#eafff6;color:var(--brand);padding:6px 10px;border-radius:999px;font-size:12px;font-weight:1000}.badge.gray{background:#f3f4f6;color:#777}.badge.gold{background:#fff5cf;color:#8a6200}.badge.blue{background:#eff6ff;color:#2563eb}.offer{color:var(--red);font-weight:1000}.price{color:var(--brand);font-weight:1000}.favBtn{background:#fff;color:#e53935;border:1px solid var(--line);padding:9px 12px;font-size:20px}
.restHero{background:#fff;border:1px solid var(--line);border-radius:30px;overflow:hidden;box-shadow:var(--shadow)}.restCover{height:220px;background:linear-gradient(120deg,#eafff6,#fff5cf);display:flex;align-items:center;justify-content:center;font-size:90px}.restBody{padding:18px}.menuSection{margin:18px 0}.menuItem{display:grid;grid-template-columns:100px 1fr;gap:13px;padding:14px 0;border-bottom:1px solid var(--line)}.foodImg{height:100px;border-radius:20px;background:#f3f5f7;display:flex;align-items:center;justify-content:center;font-size:44px}.options{background:#fafafa;border:1px solid var(--line);border-radius:18px;padding:10px;margin:8px 0}.opt{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid #eee}.opt:first-child{border-top:0}.opt input,.opt select{border:1px solid var(--line);border-radius:12px;padding:10px;width:100%}
.cart{position:fixed;left:16px;bottom:18px;width:385px;max-width:calc(100vw - 32px);background:#fff;border:1px solid var(--line);border-radius:26px;padding:15px;box-shadow:0 18px 44px #0003;z-index:40}.cartItems{max-height:230px;overflow:auto}.cartLine{display:grid;grid-template-columns:1fr auto;gap:10px;border-bottom:1px solid #f1f1f1;padding:9px 0;font-size:13px}.qty{display:flex;gap:7px;align-items:center}.qty button{padding:6px 10px;border-radius:10px;background:#eef2f7;color:#111827}.totalRow{display:flex;justify-content:space-between;margin:8px 0}.form{display:grid;gap:11px}.form input,.form textarea,.form select{width:100%;border:1px solid var(--line);border-radius:14px;padding:13px;background:#fff}.map{height:235px;border-radius:22px;border:1px dashed var(--brand);background:linear-gradient(135deg,#eff6ff,#eafff6);display:flex;align-items:center;justify-content:center;font-weight:1000;color:#111827;text-align:center}.steps{display:grid;gap:12px;margin-top:15px}.step{display:flex;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:18px;padding:15px}.dot{width:32px;height:32px;border-radius:50%;background:#e5e7eb;display:flex;align-items:center;justify-content:center;font-weight:1000}.step.done .dot{background:var(--brand);color:#fff}.rating{display:flex;gap:8px;font-size:28px;cursor:pointer}.rating span.active{color:var(--gold)}
.nav{position:fixed;bottom:0;right:0;left:0;background:#fff;border-top:1px solid var(--line);display:flex;justify-content:center;gap:3px;padding:8px;z-index:35}.nav button{background:#fff;color:#333;font-size:12px;padding:8px;min-width:76px}.nav button.active{background:#eafff6;color:#0f8b5f}.toast{position:fixed;right:18px;top:78px;background:#111827;color:#fff;padding:13px 15px;border-radius:14px;z-index:100;box-shadow:0 9px 26px #0003}.empty{padding:24px;text-align:center;color:var(--muted)}.hide{display:none!important}
@media(max-width:780px){.hero{grid-template-columns:1fr}.grid{grid-template-columns:1fr}.cart{left:8px;right:8px;width:auto;bottom:calc(var(--mobile-nav-h) + var(--safe-b) + 10px);max-height:calc(100dvh - var(--mobile-nav-h) - var(--safe-b) - 95px);overflow:hidden;display:flex;flex-direction:column;padding:12px;border-radius:22px;z-index:45}.cartItems{max-height:min(220px,32dvh);overflow:auto;-webkit-overflow-scrolling:touch}.cart .totalRow{margin:5px 0}.cart button[onclick="goCheckout()"]{padding:10px 12px}.heroMain h1{font-size:24px}.restCover{height:150px}.menuItem{grid-template-columns:86px 1fr}.foodImg{height:86px}.logo{font-size:19px}.addr{display:none}.nav{overflow:auto;justify-content:flex-start;padding-bottom:calc(8px + var(--safe-b));z-index:60}.nav button{min-width:72px}.container{padding-bottom:calc(210px + var(--safe-b))}}

/* Customer location map update */
.mapBox{border:1px solid var(--line);border-radius:22px;background:#fff;padding:10px;display:grid;gap:9px}
.realMap{height:245px;border-radius:18px;border:1px solid var(--line);overflow:hidden;background:linear-gradient(135deg,#eff6ff,#eafff6);display:flex;align-items:center;justify-content:center;text-align:center;color:#334155;font-weight:900}
.realMap.small{height:210px}.mapActions{display:flex;gap:8px;flex-wrap:wrap}.mapActions button{flex:1;min-width:145px}.leaflet-container{font-family:Tahoma,Arial,sans-serif;border-radius:18px;direction:ltr}.leaflet-control-attribution{font-size:10px}

@media(max-width:390px){.cart{max-height:calc(100dvh - var(--mobile-nav-h) - var(--safe-b) - 80px)}.cartItems{max-height:26dvh}.cartLine{font-size:12px}.qty button{padding:5px 8px}}

/* ===== EasyOrder24 mobile cart bottom sheet fix ===== */
:root{--mobile-nav-h:74px;--safe-b:env(safe-area-inset-bottom,0px);--cart-bar-h:58px}
.sheetOverlay{position:fixed;inset:0;background:rgba(0,0,0,.42);z-index:170;opacity:0;pointer-events:none;transition:opacity .22s ease}.sheetOverlay.show{opacity:1;pointer-events:auto}
.cartBar{position:fixed;left:12px;right:12px;bottom:calc(var(--mobile-nav-h) + var(--safe-b) + 12px);z-index:150;display:none;pointer-events:none}.cartBarInner{height:var(--cart-bar-h);border-radius:999px;background:var(--brand);color:#fff;display:flex;align-items:center;gap:10px;padding:0 12px 0 18px;box-shadow:0 14px 38px rgba(15,139,95,.38);font-weight:900;pointer-events:auto;cursor:pointer}.cartBarQty{min-width:31px;height:31px;border-radius:10px;background:rgba(255,255,255,.24);display:flex;align-items:center;justify-content:center}.cartBarLabel{flex:1}.cartBarTotal{white-space:nowrap}
.cartSheet{position:fixed;left:0;right:0;bottom:0;width:100%;max-height:calc(82dvh - var(--safe-b));background:#fff;border-radius:28px 28px 0 0;box-shadow:0 -18px 50px rgba(0,0,0,.25);z-index:180;display:flex;flex-direction:column;transform:translateY(105%);transition:transform .28s cubic-bezier(.2,.8,.2,1);padding-bottom:calc(var(--safe-b) + 10px);overflow:hidden}.cartSheet.open{transform:translateY(0)}.sheetHandle{width:46px;height:5px;border-radius:999px;background:#d1d5db;margin:10px auto 0}.sheetHead{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-bottom:1px solid var(--line)}.sheetHead h3{margin:0;font-size:18px}.sheetClose{width:34px;height:34px;border-radius:50%;padding:0;background:#f3f4f6;color:#111}.sheetBody{overflow:auto;-webkit-overflow-scrolling:touch;padding:0 16px;flex:1}.sheetFoot{border-top:1px solid var(--line);padding:12px 16px;background:#fff}.checkoutBtn{width:100%;height:50px;border-radius:16px;font-weight:900}.cartLine{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;border-bottom:1px solid #f1f1f1;padding:13px 0}.cartLineInfo{min-width:0}.cartLineInfo b{display:block}.cartLineActions{display:flex;flex-direction:column;align-items:flex-end;gap:7px}.qty{display:flex;align-items:center;gap:0;background:#f3f4f6;border-radius:999px;overflow:hidden}.qty button{width:32px;height:32px;padding:0;border-radius:0;background:transparent;color:var(--brand);font-size:18px}.qty span{min-width:24px;text-align:center;font-weight:900}.container{padding-bottom:calc(var(--mobile-nav-h) + var(--cart-bar-h) + var(--safe-b) + 32px)}
@media(min-width:781px){.cartBar{left:auto;right:22px;width:380px;bottom:22px}.cartSheet{left:auto;right:22px;bottom:88px;width:400px;max-height:70dvh;border-radius:26px;padding-bottom:10px}.cartSheet.open{transform:translateY(0)}.sheetOverlay{display:none}.container{padding-bottom:100px}}
@media(max-width:780px){.nav{z-index:160}.cart{display:none!important}.cartBar{bottom:calc(var(--mobile-nav-h) + var(--safe-b) + 10px)}.cartSheet{bottom:0}.sheetFoot{padding-bottom:calc(12px + var(--safe-b))}}


/* ===== EasyOrder24 accurate map fix v6 ===== */
.realMap{position:relative;min-height:230px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#eff6ff,#eafff6)}
.realMap.mapReady{display:block;background:#eef2f7;color:inherit;font-weight:400;text-align:initial}
.realMap.mapReady .leaflet-pane,.realMap.mapReady .leaflet-control-container{z-index:1}
.mapLoading{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-weight:900;color:#334155}
.mapFallbackBox{display:flex!important;flex-direction:column;gap:6px;padding:12px;text-align:center;direction:rtl}
.fallbackPin{font-size:34px}.mapFallbackBox small{font-weight:400;color:#64748b;line-height:1.5}.miniMapBtn{margin-top:5px;padding:8px 12px!important;border-radius:12px!important;font-size:12px!important}
@media(max-width:780px){.realMap{height:245px;min-height:245px}.realMap.small{height:235px;min-height:235px}.mapActions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mapActions button{min-width:0;font-size:12px;padding:12px 7px}}


/* ===== EasyOrder24 mobile polish + clear bottom nav + better map + status v7 ===== */
html{width:100%;max-width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{width:100%;max-width:100%;overflow-x:hidden;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
#app,.container,.page,.grid,.card,.form,.hero,.heroMain,.infoCard{max-width:100%}
img,svg,canvas,iframe{max-width:100%}
button{touch-action:manipulation}
input,textarea,select{font-size:16px!important;min-height:48px;outline:none}.form textarea{min-height:92px;resize:vertical}

/* Make the bottom bar clearer on phones */
.nav{height:calc(var(--mobile-nav-h) + var(--safe-b));background:rgba(255,255,255,.97);backdrop-filter:blur(16px);box-shadow:0 -10px 34px rgba(15,23,42,.13);border-top:1px solid #dbe3ea;gap:4px;padding:7px 8px calc(7px + var(--safe-b));align-items:center}
.nav button{height:54px;min-width:74px;border-radius:18px;color:#334155;background:#fff;border:1px solid transparent;font-size:11px;font-weight:900;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;line-height:1.05;box-shadow:none;white-space:nowrap}
.nav button::before{display:block;font-size:19px;line-height:1}.nav button:nth-child(1)::before{content:'🏠'}.nav button:nth-child(2)::before{content:'♥️'}.nav button:nth-child(3)::before{content:'💳'}.nav button:nth-child(4)::before{content:'🚚'}.nav button:nth-child(5)::before{content:'🧾'}.nav button:nth-child(6)::before{content:'👤'}
.nav button.active{background:linear-gradient(135deg,#eafff6,#d7fff0);color:var(--brand);border-color:#b8f2d7;box-shadow:0 6px 18px rgba(15,139,95,.12)}
.cartBar{bottom:calc(var(--mobile-nav-h) + var(--safe-b) + 14px)}

/* Better mobile fit */
@media(max-width:780px){
  :root{--mobile-nav-h:78px;--cart-bar-h:60px}
  .header{top:0}.top{padding:12px 14px}.logo{font-size:18px}.logoMark{width:40px;height:40px;border-radius:13px}
  .container{padding:12px 12px calc(var(--mobile-nav-h) + var(--cart-bar-h) + var(--safe-b) + 30px)}
  .heroMain{min-height:190px;border-radius:24px;padding:22px 18px}.heroMain h1{font-size:24px;line-height:1.45}.heroMain p{font-size:14px;line-height:1.7}
  .infoCard,.card,.form{border-radius:22px;padding:15px}.grid{gap:12px}.searchRow{gap:8px;margin:14px 0}.searchRow button{min-width:74px}.chips{margin-inline:-2px;padding:2px 2px 9px}.chip{padding:10px 13px}
  .sectionTitle{margin:18px 0 10px}.cover{height:118px;border-radius:18px}.restCover{height:145px}.menuItem{grid-template-columns:82px 1fr;gap:11px}.foodImg{height:82px;border-radius:18px}
  .cartBarInner{height:60px;border-radius:22px;padding:0 14px;box-shadow:0 14px 32px rgba(15,139,95,.32)}
  .cartSheet{max-height:84dvh;border-radius:26px 26px 0 0}.sheetHead{padding:13px 16px}.sheetBody{padding:0 14px}.sheetFoot{padding:12px 14px calc(12px + var(--safe-b))}.checkoutBtn{height:52px}
}
@media(max-width:390px){.nav{padding-left:5px;padding-right:5px}.nav button{min-width:61px;font-size:10px;border-radius:15px}.nav button::before{font-size:17px}.container{padding-left:10px;padding-right:10px}.heroMain h1{font-size:22px}.mapActions button{font-size:11px!important}}

/* More professional map */
.mapBox{border:1px solid #dce7ef;box-shadow:0 8px 22px rgba(15,23,42,.06);background:linear-gradient(180deg,#fff,#fbfffd)}
.realMap{height:300px;min-height:300px;border-radius:20px;border:1px solid #cbd5e1;background:linear-gradient(135deg,#eaf6ff,#eafff6);box-shadow:inset 0 0 0 1px rgba(255,255,255,.55)}
.realMap.small{height:280px;min-height:280px}.mapActions button{height:50px;border-radius:16px}.mapActions button.secondary{background:#eef4f8;color:#0f172a}.leaflet-control-zoom a{width:34px!important;height:34px!important;line-height:34px!important;font-size:20px!important}.leaflet-control-attribution{display:none!important}.leaflet-marker-icon{filter:drop-shadow(0 4px 8px rgba(0,0,0,.25))}.locationAccuracy{display:inline-flex;align-items:center;gap:6px;background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe;border-radius:999px;padding:6px 10px;margin-top:5px;font-size:12px;font-weight:900}
@media(max-width:780px){.realMap{height:310px;min-height:310px}.realMap.small{height:300px;min-height:300px}.mapBox{padding:9px;border-radius:22px}.mapActions{grid-template-columns:1fr 1fr}.mapActions button{height:50px;padding:10px 6px!important}}

/* Improved order tracking */
.trackCard{background:#fff;border:1px solid var(--line);border-radius:24px;padding:16px;box-shadow:var(--shadow);display:grid;gap:14px}.trackTop{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.trackTop h3{margin:0}.statusPill{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:8px 12px;font-weight:1000;background:#eafff6;color:var(--brand);border:1px solid #bdf3d8}.statusPill.cancelled{background:#fff1f2;color:#e11d48;border-color:#fecdd3}.progressWrap{height:12px;background:#edf2f7;border-radius:999px;overflow:hidden}.progressBar{height:100%;width:0;background:linear-gradient(90deg,#0f8b5f,#22c55e);border-radius:999px;transition:width .35s ease}.trackHint{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:18px;padding:12px;color:#475569;font-size:13px}.steps{gap:10px}.step{position:relative;border-radius:20px;padding:13px;background:#fff}.step .dot{width:36px;height:36px;box-shadow:0 0 0 4px #f1f5f9}.step.done{border-color:#bdf3d8;background:linear-gradient(90deg,#f0fff8,#fff)}.step.done .dot{background:var(--brand);color:#fff}.step.current{border-color:#facc15;background:#fffdf0}.step.current .dot{background:#f7b500;color:#111827}.step.cancelled{border-color:#fecdd3;background:#fff1f2}.step.cancelled .dot{background:#e11d48;color:#fff}.stepIcon{font-size:18px}.trackMeta{font-size:12px;color:#64748b;margin-top:4px}.refreshMini{background:#eef2f7!important;color:#0f172a!important;padding:8px 12px!important;border-radius:13px!important}
@media(max-width:780px){.trackCard{border-radius:22px;padding:14px}.trackTop{align-items:flex-start}.statusPill{font-size:12px}.step{padding:12px}.trackHint{font-size:12px}.progressWrap{height:11px}}
