/* Guest shell: motion is confined to content; navigation never inherits a moving parent. */
.wy-unified-guest #wy-view-host>[hidden],.wy-unified-guest .wy-product-row[hidden],.wy-unified-guest .wy-filter-empty[hidden]{display:none!important}
.wy-unified-guest #wy-view-host{min-height:100svh}
.wy-unified-guest{--wy-dock-width:min(660px,calc(100vw - 24px));--wy-dock-bottom:calc(10px + env(safe-area-inset-bottom));--wy-dock-height:74px;--wy-dock-compact-width:min(400px,calc(100vw - 60px));--wy-panel-width:min(620px,calc(100vw - 24px));--wy-panel-max-height:800px;--wy-panel-radius:28px;--wy-panel-edge:color-mix(in srgb,var(--guest-accent,#df922d) 72%,#79563c)}
.wy-unified-guest #wy-dock-slot{height:0}
.wy-unified-guest #wy-dock-slot>.wy-guest-tabs{position:fixed!important;inset:auto auto var(--wy-dock-bottom) 50vw!important;transform:translateX(-50%)!important;width:var(--wy-dock-width)!important;z-index:100!important;padding:5px!important;transition:width .28s ease,height .28s ease,padding .28s ease!important}
.wy-unified-guest #wy-dock-slot>.wy-guest-tabs :is(a,button){min-height:47px!important;padding:5px 1px!important}
.wy-unified-guest #wy-dock-slot>.wy-dock-compact{width:var(--wy-dock-compact-width)!important}
.wy-unified-guest #wy-dock-slot>.wy-dock-compact small{max-height:0;opacity:0;overflow:hidden;margin:0!important}
.wy-unified-guest #wy-dock-slot>.wy-dock-compact :is(a,button){min-height:38px!important;padding:3px 1px!important;gap:0!important}
.wy-route-progress{position:fixed;z-index:3000;top:0;left:0;right:0;height:3px;pointer-events:none;background:linear-gradient(90deg,transparent,var(--guest-accent,#df922d),transparent);background-size:45% 100%;background-repeat:no-repeat;animation:wy-route-loading .8s ease-in-out infinite}
.wy-route-progress[hidden]{display:none}
@keyframes wy-route-loading{from{background-position:-80% 0}to{background-position:180% 0}}
html.wy-menu-document{background:#fbf8f2!important;background-image:none!important}
body.wy-menu-body{background:#fbf8f2!important;color:var(--guest-ink,#49321d);margin:0;min-height:100svh}
.wy-unified-guest .wy-menu-view .guest{padding-bottom:calc(115px + env(safe-area-inset-bottom))}
.wy-unified-guest .wy-menu-view .guestnav{min-height:52px}
.wy-unified-guest .wy-menu-view .guesthero{margin-top:4px}
.wy-unified-guest #toast.wy-fluid-toast{display:block!important;position:fixed!important;inset:calc(70px + env(safe-area-inset-top)) 16px auto auto!important;z-index:3000!important}
/* A single frame and one physical dock are reused by every public guest panel. */
/* The transparent native dialog owns the top layer; its glass card and dock are siblings.
   Both page and panel docks use the same viewport width, bottom inset and height. */
body.wy-unified-guest :is(#service-dialog,#wy-order-dialog,.wy-account-panel).wy-unified-panel{
 position:fixed!important;inset:0!important;width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;
 margin:0!important;padding:0!important;overflow:hidden!important;scrollbar-gutter:auto!important;box-sizing:border-box;border:0!important;border-radius:0!important;
 background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;color:var(--guest-ink,#49321d)!important;
 transform:none!important;translate:none!important;scale:none!important;animation:none!important;box-shadow:none!important;outline:none!important;
}
body.wy-unified-guest :is(#service-dialog,#wy-order-dialog,.wy-account-panel).wy-unified-panel[open]{display:block!important}
body.wy-unified-guest :is(#service-dialog,#wy-order-dialog,.wy-account-panel).wy-unified-panel::backdrop{background:#30221955!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.wy-unified-panel>.wy-panel-frame{display:grid;grid-template-rows:minmax(0,1fr) var(--wy-dock-height);gap:8px;align-items:center;justify-items:center;height:100%;min-height:0;box-sizing:border-box;padding:max(12px,env(safe-area-inset-top)) 0 var(--wy-dock-bottom)}
.wy-unified-panel .wy-panel-card{display:grid;grid-template-rows:auto minmax(0,1fr);width:var(--wy-panel-width);height:100%;max-height:var(--wy-panel-max-height);min-height:0;min-width:0;overflow:hidden;padding:0!important;margin:0!important;box-sizing:border-box;border-radius:var(--wy-panel-radius);border:2px solid var(--wy-panel-edge);background:linear-gradient(145deg,color-mix(in srgb,var(--guest-accent,#df922d) 12%,#fffffff0),color-mix(in srgb,var(--guest-accent,#df922d) 24%,#ffffffd9));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 18px 65px #23191030}
.wy-unified-panel .wy-panel-header{display:grid!important;grid-template-columns:minmax(0,1fr) 38px;gap:12px;align-items:center;padding:17px 20px 13px!important;margin:0!important;border-bottom:1px solid #c7934826}
.wy-unified-panel .wy-panel-header h2{margin:0!important;padding:0!important;font:600 21px/1.25 system-ui,sans-serif!important;color:inherit!important;letter-spacing:-.025em;overflow-wrap:anywhere}
.wy-unified-panel .wy-panel-close{display:grid!important;place-items:center!important;position:static!important;padding:0!important;margin:0!important;min-width:38px!important;max-width:38px!important;width:38px!important;height:38px!important;min-height:38px!important;border-radius:50%!important;border:1px solid #ffffffb0!important;background:#ffffff60!important;color:inherit!important;font:300 25px/1 Arial!important;box-shadow:none!important;transform:none!important;backdrop-filter:none!important}
.wy-unified-panel .wy-panel-close:is(:hover,:active){background:color-mix(in srgb,var(--guest-accent,#df922d) 40%,#fff)!important}
.wy-unified-panel .wy-panel-scroll{overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain;min-height:0!important;min-width:0!important;box-sizing:border-box;margin:0 6px 12px 0!important;padding:16px 14px 20px 20px!important;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}
.wy-unified-panel .wy-panel-footer{box-sizing:border-box;width:var(--wy-dock-width);height:var(--wy-dock-height);padding:0!important;margin:0!important;border:0!important;align-self:end;display:flex;align-items:flex-end;justify-content:center}
.wy-unified-panel .wy-panel-footer>.wy-guest-tabs.wy-panel-dock{display:grid!important;position:relative!important;inset:auto!important;left:auto!important;right:auto!important;bottom:auto!important;transform:none!important;width:100%!important;max-width:none!important;margin:0!important;padding:5px!important;z-index:1!important}
.wy-unified-panel .wy-panel-dock :is(a,button){min-height:45px!important;padding:5px 1px!important}
.wy-unified-panel .wy-panel-dock small{opacity:1!important}
body.wy-unified-guest .wy-unified-panel .wy-panel-scroll>:is(form:has(.service-close),header),body.wy-unified-guest .wy-panel-scroll #service-content>h2,body.wy-unified-guest #overlay .modal>h2,body.wy-unified-guest #overlay .wy-product-detail>h2,body.wy-unified-guest #overlay .close{display:none!important}
body.wy-unified-guest .wy-unified-panel:before{display:none!important}
body.wy-unified-guest #overlay{display:block!important;position:static!important;inset:auto!important;padding:0!important;background:none!important;backdrop-filter:none!important}
body.wy-unified-guest #overlay:empty{display:none!important}
body.wy-unified-guest #overlay .modal{position:static!important;width:100%!important;max-width:none!important;max-height:none!important;min-width:0!important;margin:0!important;padding:0!important;overflow:visible!important;animation:none!important;transform:none!important;translate:none!important;scale:none!important;border:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important}
.wy-unified-guest #overlay .wy-product-detail>img{max-height:250px;object-fit:cover}
.wy-unified-guest .wy-panel-scroll :is(input,textarea,select){max-width:100%;min-width:0;font-size:16px!important;box-sizing:border-box}
.wy-unified-guest .wy-panel-scroll label{display:block;font-size:12px;margin:14px 0 6px}
.wy-unified-guest .wy-panel-scroll :is(input:not([type=checkbox]),textarea,select){width:100%;padding:13px;border:1px solid #d9cdb7;border-radius:15px;background:#ffffffa0;color:inherit;font:inherit}
.wy-unified-guest .wy-panel-scroll :is(h3,p){color:inherit}
.wy-unified-guest .wy-panel-scroll p{line-height:1.65}
.wy-unified-guest .wy-panel-scroll button{cursor:pointer}

@media(prefers-reduced-motion:reduce){.wy-route-progress{animation:none;background-position:center}.wy-unified-guest #wy-dock-slot>.wy-guest-tabs,.wy-unified-guest #wy-dock-slot>.wy-guest-tabs *{transition:none!important}}

body[data-initial-menu=true]:not(.wy-app-ready) #institution-app{visibility:hidden}
#wy-initial-loading{position:fixed;inset:0;z-index:80;padding:calc(34px + env(safe-area-inset-top)) 20px 100px;background:#fbf8f2;color:#68472a;font:14px system-ui}
#wy-initial-loading>span{display:block;margin-bottom:30px}.wy-menu-skeleton{height:110px;margin-bottom:14px;background:linear-gradient(110deg,#eee6d9,#faf7ef,#eee6d9);border-radius:22px}

body.wy-unified-guest[data-guest-motion=full] #toast.wy-fluid-toast{animation:wy-toast-slide .32s cubic-bezier(.16,1,.3,1) both!important}
body.wy-unified-guest[data-guest-motion=full] .wy-inline-qty.wy-qty-enter{animation:wy-qty-reveal .28s cubic-bezier(.16,1,.3,1) both!important}
body.wy-unified-guest[data-guest-motion=full] #wy-dock-slot>.wy-guest-tabs{transition:width .28s ease,height .28s ease,padding .28s ease!important}
body.wy-unified-guest[data-guest-motion=full] #wy-dock-slot>.wy-guest-tabs :is(a,button){transition:height .28s ease,min-height .28s ease,padding .28s ease,gap .28s ease,background .18s ease!important}
body.wy-unified-guest[data-guest-motion=full] #wy-dock-slot>.wy-guest-tabs small{transition:opacity .24s,max-height .28s,min-height .28s!important}

body.wy-unified-guest #toast{display:none;position:fixed}

body.wy-unified-guest #overlay #wy-qr-scanner>h2{display:none!important}

/* Native tracks belong to the inset content viewport, never to the dialog or dock.
   Firefox keeps its thin native scrollbar; WebKit/Chromium use the 5px track below. */
body.wy-unified-guest :is(.wy-panel-scroll,.wy-panel-scroll textarea,.wy-booking-choice-list){scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--guest-accent,#df922d) 45%,transparent) transparent!important}
@supports selector(::-webkit-scrollbar){
 body.wy-unified-guest :is(.wy-panel-scroll,.wy-panel-scroll textarea,.wy-booking-choice-list){scrollbar-width:auto;scrollbar-color:auto!important}
 body.wy-unified-guest :is(.wy-panel-scroll,.wy-panel-scroll textarea,.wy-booking-choice-list)::-webkit-scrollbar{width:5px;height:5px}
 body.wy-unified-guest :is(.wy-panel-scroll,.wy-panel-scroll textarea,.wy-booking-choice-list)::-webkit-scrollbar-track{background:transparent!important;margin-block:8px}
 body.wy-unified-guest :is(.wy-panel-scroll,.wy-panel-scroll textarea,.wy-booking-choice-list)::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--guest-accent,#df922d) 45%,transparent)!important;border-radius:20px;border:0}
 body.wy-unified-guest :is(.wy-panel-scroll,.wy-panel-scroll textarea,.wy-booking-choice-list)::-webkit-scrollbar-thumb:hover{background:var(--wy-panel-edge)!important}
 body.wy-unified-guest :is(.wy-panel-scroll,.wy-panel-scroll textarea,.wy-booking-choice-list)::-webkit-scrollbar-button{display:none;width:0;height:0}
 body.wy-unified-guest :is(.wy-panel-scroll,.wy-panel-scroll textarea,.wy-booking-choice-list)::-webkit-scrollbar-corner{background:transparent}
}

/* A new menu is published only after the complete guest renderer and styles are ready. */
.wy-unified-guest #wy-view-host>.wy-menu-view:not([data-menu-ready=true]){visibility:hidden!important;pointer-events:none!important}
.wy-unified-guest .wy-venue-header{min-height:108px!important;height:clamp(108px,18vw,165px)!important;background-image:linear-gradient(#39211025,#39211045),var(--restaurant-photo)!important;background-size:cover!important;background-position:center!important}

/* One readable dock, with identical expanded bounds in every guest view. */
body.wy-unified-guest #wy-dock-slot>.wy-guest-tabs,body.wy-unified-guest .wy-panel-footer>.wy-guest-tabs.wy-panel-dock{box-sizing:border-box!important;height:var(--wy-dock-height)!important;min-height:0!important;border-radius:999px!important;padding:5px!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;align-items:stretch!important}
body.wy-unified-guest .wy-guest-tabs :is(a,button){box-sizing:border-box!important;display:flex!important;justify-content:center!important;gap:2px!important;padding:4px 1px!important;min-height:0!important;height:62px!important}
body.wy-unified-guest .wy-guest-tabs :is(a,button)>span{height:24px;line-height:1;flex:none;display:grid;place-items:center}
body.wy-unified-guest .wy-guest-tabs small{font-size:11px!important;line-height:13px!important;min-height:26px;max-height:26px!important;margin:0!important;display:grid;align-content:center;text-align:center;white-space:normal;overflow-wrap:normal}
body.wy-unified-guest .wy-guest-tabs.wy-dock-compact{height:50px!important}
body.wy-unified-guest .wy-guest-tabs.wy-dock-compact :is(a,button){height:38px!important;gap:0!important}
body.wy-unified-guest .wy-guest-tabs.wy-dock-compact small{min-height:0!important;max-height:0!important;opacity:0!important}
/* Increase guest text by one type step without changing manager or operations screens. */
body.wy-unified-guest{font-size:16px}
body.wy-unified-guest .wy-panel-card{font-size:16px;line-height:1.6}
body.wy-unified-guest .wy-panel-header h2{font-size:23px!important}
body.wy-unified-guest .wy-panel-scroll label{font-size:14px}
body.wy-unified-guest .wy-panel-scroll :is(.disclaimer,.wy-qr-help,.wy-map-hint,.wy-map-picker,#map-location-help,.wy-account-status){font-size:14px!important}
body.wy-unified-guest .wy-panel-scroll .wy-account-panel p,body.wy-unified-guest .wy-account-panel p{font-size:15px!important}
body.wy-unified-guest .wy-account-panel h3{font-size:18px!important}
body.wy-unified-guest .wy-account-action{font-size:15px}
body.wy-unified-guest .service-items h3{font-size:17px}
body.wy-unified-guest .service-items p,body.wy-unified-guest .service-price{font-size:14px}
body.wy-unified-guest .wy-product-open strong{font-size:17px}
body.wy-unified-guest .wy-product-open small{font-size:11px}
body.wy-unified-guest .wy-row-description{font-size:13px}
body.wy-unified-guest .wy-product-open b,body.wy-unified-guest .wy-inline-qty b{font-size:15px}
body.wy-unified-guest .wy-menu-view .disclaimer{font-size:13px}
body.wy-unified-guest.institution-guest .institution-tile-label{font-size:15px!important;font-weight:700!important;line-height:1.25!important;min-height:38px!important}
body.wy-unified-guest.institution-guest .institution-welcome>span{font-size:12px!important;font-weight:700}
body.wy-unified-guest.institution-guest .institution-welcome p{font-size:14px!important}
@media(max-width:600px){
 body.wy-unified-guest.wy-branded-guest.institution-guest{--guide-dock:calc(var(--wy-dock-height) + 22px)}
 body.wy-unified-guest.institution-guest .institution-tile-label{font-size:12px!important;min-height:30px!important}
 body.wy-unified-guest.institution-guest .institution-welcome>span{font-size:11px!important}
 body.wy-unified-guest.institution-guest .institution-welcome p{font-size:12px!important}
 body.wy-unified-guest.institution-guest .institution-footer a{font-size:10px!important}
}

/* The retained overlay may contain a closed basket; only an open dialog locks the page. */
body.wy-unified-guest{overflow:visible!important}
body.wy-unified-guest:has(dialog[open]){overflow:hidden!important}

@media(max-width:600px){body.wy-unified-guest.institution-guest .institution-grid{grid-auto-rows:minmax(var(--guide-cell),auto)!important}}

/* A matte hotel-colour edge replaces the browser-blue dialog focus ring.
   All content cards, including Account, share the same dimensions above. */
body.wy-unified-guest .wy-unified-panel:focus-visible .wy-panel-card{outline:2px solid var(--wy-panel-edge);outline-offset:2px}
body.wy-unified-guest :is(.wy-panel-card,.wy-guest-tabs) :is(button,a,input,textarea,select,[role=combobox],[role=option]):focus-visible{outline:2px solid var(--wy-panel-edge)!important;outline-offset:2px!important}

/* The same compact dock works in the page and native panel top layer; its bottom never moves. */
body.wy-unified-guest .wy-panel-footer>.wy-guest-tabs.wy-panel-dock.wy-dock-compact{width:var(--wy-dock-compact-width)!important;height:50px!important}
body.wy-unified-guest .wy-panel-footer>.wy-guest-tabs.wy-panel-dock{transition:width .28s ease,height .28s ease,padding .28s ease!important}
body.wy-unified-guest .wy-guest-tabs :is(a,button){transition:height .28s ease,padding .28s ease,gap .28s ease,background .18s ease!important}
body.wy-unified-guest .wy-guest-tabs small{transition:opacity .24s ease,max-height .28s ease,min-height .28s ease!important;overflow:hidden}
@media(prefers-reduced-motion:reduce){body.wy-unified-guest:not([data-guest-motion=full]) :is(#wy-dock-slot,.wy-panel-footer)>.wy-guest-tabs,body.wy-unified-guest:not([data-guest-motion=full]) :is(#wy-dock-slot,.wy-panel-footer)>.wy-guest-tabs *{transition:none!important}}
body.wy-unified-guest[data-guest-motion=reduced] :is(#wy-dock-slot,.wy-panel-footer)>.wy-guest-tabs,body.wy-unified-guest[data-guest-motion=reduced] :is(#wy-dock-slot,.wy-panel-footer)>.wy-guest-tabs *{transition:none!important}

body.wy-unified-guest #wy-dock-slot>.wy-guest-tabs.wy-dock-compact{width:var(--wy-dock-compact-width)!important;height:50px!important}
