#cafe-menu{position:fixed;z-index:45;left:0;top:0;bottom:auto;transform:none;width:min(280px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;box-sizing:border-box;padding:22px;background:#fff9ed;color:#314936;border:1px solid #d9d5bd;border-radius:20px;box-shadow:0 8px 40px #233a3630;font:16px system-ui;text-align:start}
#cafe-menu[hidden],#cafe-exit[hidden]{display:none!important}
#cafe-menu h2{font-size:22px;margin:0 0 6px}#cafe-menu p{font-size:14px;margin:0 0 18px;color:#687364}
#cafe-menu button,#cafe-exit{font:inherit;cursor:pointer;border:0;border-radius:12px;padding:12px 20px;background:#547e6d;color:white}
#cafe-menu button:focus-visible,#cafe-exit:focus-visible{outline:2px solid #547e6d;outline-offset:3px}
#cafe-enter:focus:not(:focus-visible){outline:none}
#cafe-enter{width:100%}#cafe-menu #cafe-close{position:absolute;right:10px;top:8px;background:none;color:#4c5e50;font-size:23px;padding:2px 8px}
#cafe-exit{position:fixed;z-index:45;left:max(48px,env(safe-area-inset-left));right:auto;top:auto;bottom:max(40px,env(safe-area-inset-bottom));transform:none;display:flex;flex-direction:column;align-items:center;gap:2px;width:68px;height:88px;box-sizing:border-box;padding:7px 6px 5px;border:2px solid #fff;border-radius:7px;background:#167449;color:#fff;box-shadow:0 2px 0 #0d4b30,0 4px 14px #183c3033;font:700 15px/1 system-ui;direction:ltr;transition:background .15s,box-shadow .15s}
#cafe-exit:hover{background:#105c39;box-shadow:0 2px 0 #0d4b30,0 5px 18px #183c304d}
#cafe-exit:active{background:#0d4b30}
#cafe-exit .cafe-exit-label{letter-spacing:2px;padding-left:2px}
#cafe-exit .cafe-exit-door{display:block;width:52px;height:52px;flex:none}
/* Phone exit shares the search row, with its own 44px touch target and gap. */
@media (max-width:700px), (max-width:950px) and (max-height:500px), (max-height:500px) and (pointer:coarse) {
 #cafe-exit{z-index:4;left:max(12px,calc((100vw - 364px)/2),env(safe-area-inset-left));right:auto;top:auto;bottom:calc(max(24px,env(safe-area-inset-bottom)) + var(--keyboard-inset,0px));flex-direction:row;justify-content:center;gap:0;width:44px;min-width:44px;height:44px;padding:6px;border-radius:10px;font-size:11px}
 #cafe-exit .cafe-exit-label{display:none}
 #cafe-exit .cafe-exit-door{width:24px;height:24px}
 body:has(#cafe-exit:not([hidden])) .search-panel{left:calc(max(12px,calc((100vw - 364px)/2),env(safe-area-inset-left)) + 52px);transform:none;width:min(208px,calc(100% - 180px - env(safe-area-inset-left) - env(safe-area-inset-right)))}
 body:has(.keyboard-open) #cafe-exit{bottom:calc(var(--keyboard-inset,0px) + 8px)}
}
