1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,972520,e=>{"use strict";let t=(0,e.i(475254).default)("ArrowRight",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);e.s(["ArrowRight",0,t],972520)},612232,e=>{"use strict";var t=e.i(843476),r=e.i(870273),a=e.i(647163);e.s(["ScorePill",0,function({score:e,size:n="md",className:s}){let i=`Restaurantica score â ${e.toFixed(1)}/10 points`;return(0,t.jsxs)("span",{title:i,"aria-label":i,className:(0,a.cn)("inline-flex items-center gap-1.5 rounded-full bg-[#242933] font-bold text-white","sm"===n?"px-2.5 py-[3px] text-xs":"px-3 py-1 text-[13px]",s),children:[(0,t.jsx)(r.Star,{"aria-hidden":!0,className:(0,a.cn)("fill-rating text-rating","sm"===n?"h-3 w-3":"h-3.5 w-3.5"),strokeWidth:0}),e.toFixed(1)]})}])},553180,e=>{"use strict";e.s(["bestOfUrl",0,(e,t,r)=>`/${e}/${t}/best/${r}`,"cityAllUrl",0,(e,t)=>`/${e}/${t}/all`,"cityDishesUrl",0,(e,t)=>`/${e}/${t}/dishes`,"citySpecialsUrl",0,(e,t)=>`/${e}/${t}/specials`,"cityUrl",0,(e,t)=>`/${e}/${t}`,"mapCityUrl",0,(e,t)=>`/maps/${e}/${t}`,"mapRestaurantUrl",0,(e,t,r)=>`/maps/${e}/${t}/${r}`,"provinceUrl",0,e=>`/${e}`,"restaurantUrl",0,(e,t,r)=>`/${e}/${t}/${r}`,"userCitiesUrl",0,e=>`/u/${e}/cities`,"userFollowingUrl",0,e=>`/u/${e}/following`,"userReviewsUrl",0,e=>`/u/${e}/reviews`,"userSavedUrl",0,e=>`/u/${e}/saved`,"userUrl",0,e=>`/u/${e}`,"userVotesUrl",0,e=>`/u/${e}/votes`])},472178,e=>{"use strict";var t=e.i(843476),r=e.i(657688),a=e.i(647163),n=e.i(188465);function s({className:e}){return(0,t.jsxs)("svg",{viewBox:"0 0 800 805",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":!0,className:e,children:[(0,t.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M789.458 112C792.353 116.125 795.457 120.125 798.772 124C799.573 127.464 799.245 130.798 797.791 134C763.644 170.83 728.839 206.997 693.378 242.5C673.278 259.753 650.401 271.753 624.749 278.5C610.366 281.167 595.987 283.834 581.611 286.5C567.833 291.023 555.741 298.357 545.336 308.5C540.403 313.867 535.174 318.867 529.65 323.5C510.852 341.506 492.551 360.006 474.747 379C464.963 388.312 455.486 397.979 446.315 408C463.904 451.665 458.512 491.998 430.138 529C393.89 568.533 350.588 579.367 300.234 561.5C260.384 542.737 236.692 511.237 229.155 467C226.793 422.987 242.643 387.487 276.704 360.5C315.532 334.629 355.729 332.296 397.295 353.5C402.467 356.388 407.205 359.888 411.51 364C441.631 338.951 470.88 312.784 499.257 285.5C517.742 269.983 528.69 250.149 532.101 226C532.232 207.972 532.885 189.972 534.062 172C537.706 147.827 546.857 126.161 561.513 107C571.352 97.132 580.993 87.132 590.435 77C615.429 51.673 640.593 26.507 665.926 1.5C669.522 -0.5 673.116 -0.5 676.711 1.5C683.777 7.0399 689.823 13.5399 694.848 21C695.673 24.62 695.019 27.954 692.888 31C660.831 64.029 629.132 97.363 597.788 131C594.178 150.317 601.859 157.817 620.828 153.5C622.462 152.5 624.095 151.5 625.73 150.5C657.51 117.751 689.537 85.418 721.81 53.5C725.517 51.684 729.111 52.017 732.594 54.5C737.006 59 741.418 63.5 745.83 68C749.294 73.589 748.968 78.922 744.849 84C713.476 116 682.103 148 650.73 180C648.334 185.408 647.681 191.074 648.769 197C652.6 205.311 658.972 208.477 667.887 206.5C671.195 205.979 674.136 204.646 676.711 202.5C708.084 170.5 739.457 138.5 770.83 106.5C773.969 105.017 777.238 104.683 780.634 105.5C784.005 107.111 786.946 109.277 789.458 112Z",fill:"currentColor"}),(0,t.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M47.2887 272C76.0019 223.211 113.911 183.377 161.016 152.5C172.854 145.131 184.945 138.298 197.291 132C300.815 86.087 403.431 88.254 505.139 138.5C505.688 139.225 506.014 140.058 506.12 141C498.589 158.545 494.178 176.878 492.884 196C492.334 196.522 491.68 196.855 490.924 197C405.799 148.317 318.052 142.817 227.684 180.5C142.265 221.304 86.8717 288.137 61.5046 381C38.1896 496.309 68.092 594.475 151.212 675.5C238.34 748.937 335.727 767.27 443.374 730.5C529.93 695.448 588.264 632.948 618.377 543C639.948 468.036 634.555 395.202 602.2 324.5C602.14 322.789 602.794 321.456 604.161 320.5C620.409 319.587 635.443 314.753 649.26 306C651.961 307.591 653.759 309.924 654.652 313C693.152 404.736 694.46 497.
1069 658.573 590C618.558 681.845 552.708 746.345 461.021 783.5C342.473 824.067 232.994 806.734 132.584 731.5C53.0114 666.361 9.05672 581.528 0.719323 477C-3.6484 403.829 11.8744 335.496 47.2887 272Z",fill:"currentColor"}),(0,t.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M324.745 212C382.048 208.395 433.519 224.062 479.159 259C479.813 260.333 479.813 261.667 479.159 263C467.558 273.5 455.956 284 444.355 294.5C442.257 295.904 439.97 296.737 437.492 297C425.417 290.545 412.998 284.712 400.236 279.5C336.453 258.789 278.609 269.789 226.704 312.5C174.008 360.743 153.91 420.576 166.409 492C186.736 571.731 236.573 619.564 315.921 635.5C392.459 643.375 452.427 615.208 495.826 551C525.596 500.93 531.152 448.263 512.493 393C525.618 379.274 538.853 366.108 552.199 353.5C571.321 392.016 579.002 432.849 575.239 476C567.431 553.475 531.974 613.642 468.865 656.5C409.112 693.267 345.385 702.6 277.685 684.5C204 661.008 152.528 612.841 123.271 540C93.6301 451.871 106.702 371.205 162.487 298C205.625 248.082 259.71 219.415 324.745 212Z",fill:"currentColor"})]})}e.s(["RestaurantThumb",0,function({name:e,photoUrl:i,focalPoint:l,cuisineArtworkUrl:o,cuisineName:c,width:d,height:u,quality:m=60,loading:p="lazy",priority:h=!1,imageClassName:x,initialsClassName:f,initials:g}){let b,y,v=h?void 0:p;return i?(0,t.jsx)(r.default,{src:(0,n.toImagePath)(i),alt:e,width:d,height:u,quality:m,priority:h,loading:v,placeholder:"blur",blurDataURL:n.NEUTRAL_BLUR_DATA_URL,style:l?{objectPosition:`${l.x}% ${l.y}%`}:void 0,className:(0,a.cn)("absolute inset-0 h-full w-full object-cover",x)}):o?(0,t.jsx)("div",{className:"absolute inset-0 bg-primary/5",children:(0,t.jsx)(r.default,{src:(0,n.toImagePath)(o),alt:`${c||"Restaurant"} cuisine`,width:d,height:u,quality:75,priority:h,loading:v,className:(0,a.cn)("absolute inset-0 h-full w-full object-contain",x)})}):(0,t.jsxs)("span",{"aria-hidden":!0,className:(0,a.cn)("absolute inset-0 flex items-center justify-center overflow-hidden bg-muted font-serif font-normal italic tracking-[-0.02em] text-accent",f??"text-[16px]"),children:[(0,t.jsx)(s,{className:"pointer-events-none absolute -bottom-[22%] -right-[16%] h-[92%] w-auto rotate-[-8deg] text-foreground opacity-[0.06]"}),(0,t.jsx)("span",{className:"relative",children:g??((y=(b=e.trim().split(/\s+/).filter(Boolean)).length>1&&/^(the|le|la|il|el)$/i.test(b[0])?b.slice(1):b).length>=2?(y[0][0]+y[1][0]).toUpperCase():(y[0]??"").slice(0,2).toUpperCase())})]})}],472178)},898879,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return l}});let a=e.r(271645),n="u"<typeof window,s=n?()=>{}:a.useLayoutEffect,i=n?()=>{}:a.useEffect;function l(e){let{headManager:t,reduceComponentsToState:r}=e;function l(){if(t&&t.mountedInstances){let e=a.Children.toArray(Array.from(t.mountedInstances).filter(Boolean));t.updateHead(r(e))}}return n&&(t?.mountedInstances?.add(e.children),l()),s(()=>(t?.mountedInstances?.add(e.children),()=>{t?.mountedInstances?.delete(e.children)})),s(()=>(t&&(t._pendingUpdate=l),()=>{t&&(t._pendingUpdate=l)})),i(()=>(t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null),()=>{t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null)})),null}},325633,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var a={default:function(){return x},defaultHead:function(){return u}};for(var n in a)Object.defineProperty(r,n,{enumerable:!0,get:a[n]});let s=e.r(555682),i=e.r(190809),l=e.r(843476),o=i._(e.r(271645)),c=s._(e.r(898879)),d=e.r(742732);function u(){return[(0,l.jsx)("meta",{charSet:"utf-8"},"charset"),(0,l.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")]}function m(e,t){return"string"==typeof t||"number"==typeof t?e:t.type===o.default.Fragment?e.concat(o.default.Children.toArray(t.props.children).reduce((e,t)=>"string"==typeof t||"number"==typeof t?e:e.concat(t),[])):e.concat(t)}e.r(233525);let p=["name","httpEquiv","charSet","itemProp"];function h(e){let t,r,a,n;return e.reduce(m,[]).reverse().concat(u().reverse()).filter((t=new Set,r=new Set,a=new Set,n={},e=>{let s=!0,i=!1;if(e.key&&"number"!=typeof e.key&&e.key.indexOf("$")>0){i=!0;let r=e.key.slice(e.key.indexOf("$")+1);t.has(r)?s=!1:t.add(r)}switch(e.type){case"title":case"base":r.has(e.type)?s=!1:r.add(e.type);break;case"meta":for(let t=0,r=p.length;t<r;t++){let r=p[t];if(e.props.hasOwnProperty(r))if("charSet"===r)a.has(r)?s=!1:a.add(r);else{let t=e.props[r],a=n[r]||new Set;("name"!==r||!i)&&a.has(t)?s=!1:(a.add(t),n[r]=a)}}}return s})).reverse().map((e,t)=>{let r=e.key||t;return o.default.cloneElement(e,{key:r})})}let x=function({children:e}){let t=(0,o.useContext)(d.HeadManagerContext);return(0,l.jsx)(c.default,{reduceComponentsToState:h,headManager:t,children:e})};("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esMo
1dule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},488143,(e,t,r)=>{"use strict";function a({widthInt:e,heightInt:t,blurWidth:r,blurHeight:n,blurDataURL:s,objectFit:i}){let l=r?40*r:e,o=n?40*n:t,c=l&&o?`viewBox='0 0 ${l} ${o}'`:"";return`%3Csvg xmlns='http://www.w3.org/2000/svg' ${c}%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='${c?"none":"contain"===i?"xMidYMid":"cover"===i?"xMidYMid slice":"none"}' style='filter: url(%23b);' href='${s}'/%3E%3C/svg%3E`}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getImageBlurSvg",{enumerable:!0,get:function(){return a}})},987690,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var a={VALID_LOADERS:function(){return s},imageConfigDefault:function(){return i}};for(var n in a)Object.defineProperty(r,n,{enumerable:!0,get:a[n]});let s=["default","imgix","cloudinary","akamai","custom"],i={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:14400,formats:["image/webp"],maximumDiskCacheSize:void 0,maximumRedirects:3,maximumResponseBody:5e7,dangerouslyAllowLocalIP:!1,dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:[75],unoptimized:!1,customCacheHandler:!1}},908927,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getImgProps",{enumerable:!0,get:function(){return c}}),e.r(233525);let a=e.r(543369),n=e.r(488143),s=e.r(987690),i=["-moz-initial","fill","none","scale-down",void 0];function l(e){return void 0!==e.default}function o(e){return void 0===e?e:"number"==typeof e?Number.isFinite(e)?e:NaN:"string"==typeof e&&/^[0-9]+$/.test(e)?parseInt(e,10):NaN}function c({src:e,sizes:t,unoptimized:r=!1,priority:d=!1,preload:u=!1,loading:m,className:p,quality:h,width:x,height:f,fill:g=!1,style:b,overrideSrc:y,onLoad:v,onLoadingComplete:w,placeholder:j="empty",blurDataURL:N,fetchPriority:k,decoding:C="async",layout:_,objectFit:S,objectPosition:R,lazyBoundary:A,lazyRoot:$,...E},M){var P;let L,T,U,{imgConf:I,showAltText:O,blurComplete:D,defaultLoader:z}=M,F=I||s.imageConfigDefault;if("allSizes"in F)L=F;else{let e=[...F.deviceSizes,...F.imageSizes].sort((e,t)=>e-t),t=F.deviceSizes.sort((e,t)=>e-t),r=F.qualities?.sort((e,t)=>e-t);L={...F,allSizes:e,deviceSizes:t,qualities:r}}if(void 0===z)throw Object.defineProperty(Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config"),"__NEXT_ERROR_CODE",{value:"E163",enumerable:!1,configurable:!0});let B=E.loader||z;delete E.loader,delete E.srcSet;let q="__next_img_default"in B;if(q){if("custom"===L.loader)throw Object.defineProperty(Error(`Image with src "${e}" is missing "loader" prop. 2Read more: https://nextjs.org/docs/messages/next-image-missing-loader`),"__NEXT_ERROR_CODE",{value:"E252",enumerable:!1,configurable:!0})}else{let e=B;B=t=>{let{config:r,...a}=t;return e(a)}}if(_){"fill"===_&&(g=!0);let e={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[_];e&&(b={...b,...e});let r={responsive:"100vw",fill:"100vw"}[_];r&&!t&&(t=r)}let H="",W=o(x),V=o(f);if((P=e)&&"object"==typeof P&&(l(P)||void 0!==P.src)){let t=l(e)?e.default:e;if(!t.src)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received ${JSON.stringify(t)}`),"__NEXT_ERROR_CODE",{value:"E460",enumerable:!1,configurable:!0});if(!t.height||!t.width)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received ${JSON.stringify(t)}
2`),"__NEXT_ERROR_CODE",{value:"E48",enumerable:!1,configurable:!0});if(T=t.blurWidth,U=t.blurHeight,N=N||t.blurDataURL,H=t.src,!g)if(W||V){if(W&&!V){let e=W/t.width;V=Math.round(t.height*e)}else if(!W&&V){let e=V/t.height;W=Math.round(t.width*e)}}else W=t.width,V=t.height}let G=!d&&!u&&("lazy"===m||void 0===m);(!(e="string"==typeof e?e:H)||e.startsWith("data:")||e.startsWith("blob:"))&&(r=!0,G=!1),L.unoptimized&&(r=!0),q&&!L.dangerouslyAllowSVG&&e.split("?",1)[0].endsWith(".svg")&&(r=!0);let K=o(h),J=Object.assign(g?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:S,objectPosition:R}:{},O?{}:{color:"transparent"},b),Y=D||"empty"===j?null:"blur"===j?`url("data:image/svg+xml;charset=utf-8,${(0,n.getImageBlurSvg)({widthInt:W,heightInt:V,blurWidth:T,blurHeight:U,blurDataURL:N||"",objectFit:J.objectFit})}")`:`url("${j}")`,X=i.includes(J.objectFit)?"fill"===J.objectFit?"100% 100%":"cover":J.objectFit,Q=Y?{backgroundSize:X,backgroundPosition:J.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:Y}:{},Z=function({config:e,src:t,unoptimized:r,width:n,quality:s,sizes:i,loader:l}){if(r){if(t.startsWith("/")&&!t.startsWith("//")){let e=(0,a.getDeploymentId)();if(e){let r=t.indexOf("?");if(-1!==r){let a=new URLSearchParams(t.slice(r+1));a.get("dpl")||(a.append("dpl",e),t=t.slice(0,r)+"?"+a.toString())}else t+=`?dpl=${e}`}}return{src:t,srcSet:void 0,sizes:void 0}}let{widths:o,kind:c}=function({deviceSizes:e,allSizes:t},r,a){if(a){let r=/(^|\s)(1?\d?\d)vw/g,n=[];for(let e;e=r.exec(a);)n.push(parseInt(e[2]));if(n.length){let r=.01*Math.min(...n);return{widths:t.filter(t=>t>=e[0]*r),kind:"w"}}return{widths:t,kind:"w"}}return"number"!=typeof r?{widths:e,kind:"w"}:{widths:[...new Set([r,2*r].map(e=>t.find(t=>t>=e)||t[t.length-1]))],kind:"x"}}(e,n,i),d=o.length-1;return{sizes:i||"w"!==c?i:"100vw",srcSet:o.map((r,a)=>`${l({config:e,src:t,quality:s,width:r})} ${"w"===c?r:a+1}${c}`).join(", "),src:l({config:e,src:t,quality:s,width:o[d]})}}({config:L,src:e,unoptimized:r,width:W,quality:K,sizes:t,loader:B}),ee=G?"lazy":m;return{props:{...E,loading:ee,fetchPriority:k,width:W,height:V,decoding:C,className:p,style:{...J,...Q},sizes:Z.sizes,srcSet:Z.srcSet,src:y||Z.src},meta:{unoptimized:r,preload:u||d,placeholder:j,fill:g}}}},918556,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ImageConfigContext",{enumerable:!0,get:function(){return s}});let a=e.r(555682)._(e.r(271645)),n=e.r(987690),s=a.default.createContext(n.imageConfigDefault)},670965,(e,t,r)=>{"use strict";function a(e,t){let r=e||75;return t?.qualities?.length?t.qualities.reduce((e,t)=>Math.abs(t-r)<Math.abs(e-r)?t:e,t.qualities[0]):r}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"findClosestQuality",{enumerable:!0,get:function(){return a}})},1948,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return i}});let a=e.r(670965),n=e.r(543369);function s({config:e,src:t,width:r,quality:i}){let l=(0,n.getDeploymentId)();if(t.startsWith("/")&&!t.startsWith("//")){let e=t.indexOf("?");if(-1!==e){let r=new URLSearchParams(t.slice(e+1)),a=r.get("dpl");if(a){l=a,r.delete("dpl");let n=r.toString();t=t.slice(0,e)+(n?"?"+n:"")}}}if(t.startsWith("/")&&t.includes("?")&&e.localPatterns?.length===1&&"**"===e.localPatterns[0].pathname&&""===e.localPatterns[0].search)throw Object.defineProperty(Error(`Image with src "${t}" is using a query string which is not configured in images.localPatterns. 3Read more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`),"__NEXT_ERROR_CODE",{value:"E871",enumerable:!1,configurable:!0});let o=(0,a.findClosestQuality)(i,e);return`${e.path}?url=${encodeURIComponent(t)}&w=${r}&q=${o}${t.startsWith("/")&&l?`&dpl=${l}`:""}`}s.__next_img_default=!0;let i=s},605500,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"Image",{enumerable:!0,get:function(){return v}});let a=e.r(555682),n=e.r(190809),s=e.r(843476),i=n._(e.r(271645)),l=a._(e.r(174080)),o=a._(e.r(325633)),c=e.r(908927),d=e.r(987690),u=e.r(918556);e.r(233525);let m=e.r(65856),p=a._(e.r(1948)),h=e.r(818581),x={deviceSizes:[200,320,450,640,750,828,1080,1200,1920],imageSizes:[64,88,120,150],qualities:[60,70,75,82],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1};function f(e,t,r,a,n,s,i){let l=e?.src;e&&e["data-loaded-src"]!==l&&(e["data-loaded-src"]=l,("decode"in e?e.decode():Promise.resolve()).catch(()=>{}).then(()=>
3{if(e.parentElement&&e.isConnected){if("empty"!==t&&n(!0),r?.current){let t=new Event("load");Object.defineProperty(t,"target",{writable:!1,value:e});let a=!1,n=!1;r.current({...t,nativeEvent:t,currentTarget:e,target:e,isDefaultPrevented:()=>a,isPropagationStopped:()=>n,persist:()=>{},preventDefault:()=>{a=!0,t.preventDefault()},stopPropagation:()=>{n=!0,t.stopPropagation()}})}a?.current&&a.current(e)}}))}function g(e){return i.use?{fetchPriority:e}:{fetchpriority:e}}"u"<typeof window&&(globalThis.__NEXT_IMAGE_IMPORTED=!0);let b=(0,i.forwardRef)(({src:e,srcSet:t,sizes:r,height:a,width:n,decoding:l,className:o,style:c,fetchPriority:d,placeholder:u,loading:m,unoptimized:p,fill:x,onLoadRef:b,onLoadingCompleteRef:y,setBlurComplete:v,setShowAltText:w,sizesInput:j,onLoad:N,onError:k,...C},_)=>{let S=(0,i.useCallback)(e=>{e&&(k&&(e.src=e.src),e.complete&&f(e,u,b,y,v,p,j))},[e,u,b,y,v,k,p,j]),R=(0,h.useMergedRef)(_,S);return(0,s.jsx)("img",{...C,...g(d),loading:m,width:n,height:a,decoding:l,"data-nimg":x?"fill":"1",className:o,style:c,sizes:r,srcSet:t,src:e,ref:R,onLoad:e=>{f(e.currentTarget,u,b,y,v,p,j)},onError:e=>{w(!0),"empty"!==u&&v(!0),k&&k(e)}})});function y({isAppRouter:e,imgAttributes:t}){let r={as:"image",imageSrcSet:t.srcSet,imageSizes:t.sizes,crossOrigin:t.crossOrigin,referrerPolicy:t.referrerPolicy,...g(t.fetchPriority)};return e&&l.default.preload?(l.default.preload(t.src,r),null):(0,s.jsx)(o.default,{children:(0,s.jsx)("link",{rel:"preload",href:t.srcSet?void 0:t.src,...r},"__nimg-"+t.src+t.srcSet+t.sizes)})}let v=(0,i.forwardRef)((e,t)=>{let r=(0,i.useContext)(m.RouterContext),a=(0,i.useContext)(u.ImageConfigContext),n=(0,i.useMemo)(()=>{let e=x||a||d.imageConfigDefault,t=[...e.deviceSizes,...e.imageSizes].sort((e,t)=>e-t),r=e.deviceSizes.sort((e,t)=>e-t),n=e.qualities?.sort((e,t)=>e-t);return{...e,allSizes:t,deviceSizes:r,qualities:n,localPatterns:"u"<typeof window?a?.localPatterns:e.localPatterns}},[a]),{onLoad:l,onLoadingComplete:o}=e,h=(0,i.useRef)(l);(0,i.useEffect)(()=>{h.current=l},[l]);let f=(0,i.useRef)(o);(0,i.useEffect)(()=>{f.current=o},[o]);let[g,v]=(0,i.useState)(!1),[w,j]=(0,i.useState)(!1),{props:N,meta:k}=(0,c.getImgProps)(e,{defaultLoader:p.default,imgConf:n,blurComplete:g,showAltText:w});return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(b,{...N,unoptimized:k.unoptimized,placeholder:k.placeholder,fill:k.fill,onLoadRef:h,onLoadingCompleteRef:f,setBlurComplete:v,setShowAltText:j,sizesInput:e.sizes,ref:t}),k.preload?(0,s.jsx)(y,{isAppRouter:!r,imgAttributes:N}):null]})});("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},794909,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var a={default:function(){return d},getImageProps:function(){return c}};for(var n in a)Object.defineProperty(r,n,{enumerable:!0,get:a[n]});let s=e.r(555682),i=e.r(908927),l=e.r(605500),o=s._(e.r(1948));function c(e){let{props:t}=(0,i.getImgProps)(e,{defaultLoader:o.default,imgConf:{deviceSizes:[200,320,450,640,750,828,1080,1200,1920],imageSizes:[64,88,120,150],qualities:[60,70,75,82],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1}});for(let[e,r]of Object.entries(t))void 0===r&&delete t[e];return{props:t}}let d=l.Image},657688,(e,t,r)=>{t.exports=e.r(794909)},188465,e=>{"use strict";e.i(247167),"https://www.restaurantica.com".replace(/\/+$/,"");let t="https://jbzrubduftzsbspvrtan.supabase.co",r=`${t}/storage/v1/object/public/restaurantica`;new URL(t).hostname;let a="https://cdn.restaurantica.com".replace(/\/+$/,""),n=`${r}/`;e.s(["NEUTRAL_BLUR_DATA_URL",0,"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAADCAIAAAA7ljmRAAAAEElEQVR42mNIyKyGIwacHAAnGg8xi868JQAAAABJRU5ErkJggg==","storageImagePath",0,function(e){let t=e.replace(/^\/+/,"");return a?`${a}/${t}`:`/images/${t}`},"toImagePath",0,function(e){if(!e.startsWith(n))return e;let t=e.slice(n.length);return a?`${a}/${t}`:`/images/${t}`}],188465)},952678,e=>{"use strict";var t=e.i(843476),r=e.i(657688),a=e.i(271645),n=e.i(647163),s=e.i(188465);e.s(["ImageSkeleton",0,function({className:e,style:r}){return(0,t.jsx)("div",{className:(0,n.cn)("bg-gray-100 dark:bg-gray-800 flex items-center justify-center animate-pulse",e),style:r,children:(0,t.jsxs)("div",{className:"flex space-x-1",children:[(0,t.jsx)("div",{className:"w-2 h-2 bg-gray-300 dark:bg-gray-600 rounded-full animate-pulse"}),(0,t.jsx)("div",{className:"w-2 h-2 bg-gray-300 dark:bg-gray-600 rounded-full animate-pulse",style:{animationDelay:"0.2s"}}),(0,t.jsx)("div",{className:"w-2 h-2 bg-gray-300 dark:bg-gray-600 rounded-full animate-pulse",style:{animationDelay:"0.4s"}})]})})},"SingleSizeImage",0,function({src:e,alt:i,width:l,height:o,className:c,style:d,priority:u=!1,loading:m="lazy",quality:p=75,onLoad:h,onError:x,sizes:f,blur:g=!1}){let[b,y]=(0,a.useState)(!1),[v,w]=(0,a.useState)(!1);return v?(0,t.jsx)("div",{className:(0,n.cn)("bg-gray-100 dark:bg-gray-800 flex items-center justify-center",c),style:{...d,width:l,height:o},children:(0,t.jsx)("div",{className:"text-gray-400 text-sm",children:"Image unavailable"})}):(0,t.jsx)(r.default,{src:(0,s.toImagePath)(e),alt:i,width:l,height:o,className:c,style:d,priority:u,loading:u?void 0:m,quality:p,placeholder:g?"blur":"empty",blurDataURL:g?s.NEUTRAL_BLUR_DATA_URL:void 0,sizes:f,onLoad:()=>{y(!0),h?.()},onError:()=>{w(!0),x?.()},unoptimized:!1})}])},531278,e=>{"use strict";let t=(0,e.i(475254).default)("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);e.s(["Loader2",0,t],531278)},373375,e=>{"use strict";let t=(0,e.i(475254).default)("ChevronLeft",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);e.s(["ChevronLeft",0,t],373375)},73526,e=>{"use strict";let t=(0,e.i(475254).default)("Map",[["path",{d:"M14.106 5.553a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619v12.764a1 1 0 0 1-.553.894l-4.553 2.277a2 2 0 0 1-1.788 0l-4.212-2.106a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0z",key:"169xi5"}],["path",{d:"M15 5.764v15",key:"1pn4in"}],["path",{d:"M9 3.236v15",key:"1uimfh"}]]);e.s(["Map",0,t],73526)},842009,e=>{"use strict";let t=(0,e.i(475254).default)("Award",[["path",{d:"m15.477 12.89 1.515 8.526a.5.5 0 0 1-.81.47l-3.58-2.687a1 1 0 0 0-1.197 0l-3.586 2.686a.5.5 0 0 1-.81-.469l1.514-8.526",key:"1yiouv"}],["circle",{cx:"12",cy:"8",r:"6",key:"1vp47v"}]]);e.s(["Award",0,t],842009)},25652,e=>{"use strict";let t=(0,e.i(475254).default)("TrendingUp",[["polyline",{points:"22 7 13.5 15.5 8.5 10.5 2 17",key:"126l90"}],["polyline",{points:"16 7 22 7 22 13",key:"kwv8wd"}]]);e.s(["TrendingUp",0,t],25652)},539173,e=>{"use strict";e.s(["TIER_META",0,{diamond:{label:"Diamond",coin:"bg-tier-diamond",description:"Signature dishes that define the restaurant. Must-try items with consistently outstanding sentiment."},gold:{label:"Gold",coin:"bg-tier-gold",description:"Highly recommended dishes that showcase the restaurant's strengths. These items are popular choices with consistently positive sentiment and represent excellent value."},silver:{label:"Silver",coin:"bg-tier-silver",description:"Solid menu choices that offer good quality and satisfaction. These dishes are reliable options that contribute to a positive dining experience."},regular:{label:"On the menu",coin:"border-[1.5px] border-muted-foreground
3/60",description:"Standard menu items that are part of the restaurant's regular offerings. While not standout dishes, they maintain the restaurant's quality standards."}},"tierKeyFromStatus",0,e=>{let t=e?.toLowerCase();return"diamond"===t||"gold"===t||"silver"===t?t:"regular"}])},850931,e=>{"use strict";var t=e.i(843476),r=e.i(522016),a=e.i(346897),n=e.i(25652),s=e.i(539173),i=e.i(612232),l=e.i(647163);e.s(["DishResultList",0,function({children:e}){return(0,t.jsx)("div",{className:"overflow-hidden rounded-[14px] border border-border bg-card",children:e})},"DishResultRow",0,function({rank:e,dish:o,lead:c="dish",tierCoin:d=!1}){let u,m=(0,s.tierKeyFromStatus)(o.status??void 0),p=s.TIER_META[m],h="number"==typeof e&&e>0,x="restaurant"===c&&!!o.restaurantName,f="number"==typeof o.restaurantRank&&o.restaurantRank>0,g=o.restaurantSlug&&o.citySlug&&o.provinceSlug?`/${o.provinceSlug}/${o.citySlug}/${o.restaurantSlug}`:null,b=o.restaurantSlug||o.name,y="number"==typeof o.distanceMeters?(u=o.distanceMeters)<1e3?`${Math.round(u)} m`:`${(u/1e3).toFixed(1)} km`:null,v=(0,l.cn)("grid w-full items-center gap-3.5 border-b border-border py-3.5 pl-4 pr-4 text-left transition-colors last:border-b-0 min-[768px]:gap-4 min-[768px]:pl-5",g&&"group",h?"grid-cols-[34px_1fr_auto] min-[768px]:grid-cols-[44px_1fr_auto]":"grid-cols-[1fr_auto]"),w=(0,t.jsxs)(t.Fragment,{children:[h&&(0,t.jsx)("span",{className:"text-center font-serif text-[26px] font-normal italic leading-none tracking-[-0.03em] text-accent [font-variant-numeric:tabular-nums] min-[768px]:text-[30px]",children:e}),(0,t.jsxs)("span",{className:"flex min-w-0 flex-col gap-0.5",children:[(0,t.jsxs)("span",{className:"flex flex-wrap items-center gap-x-2.5 gap-y-1",children:[d&&"dish"===c&&"regular"!==m&&(0,t.jsx)("span",{"aria-label":p.label,title:p.label,className:(0,l.cn)("-mr-1 h-2.5 w-2.5 flex-none rounded-full",p.coin)}),(0,t.jsx)("span",{className:"line-clamp-2 min-w-0 text-[16px] font-bold tracking-[-0.015em] text-foreground decoration-[1.5px] underline-offset-[3px] group-hover:underline group-focus-visible:underline min-[768px]:text-[17px]",children:x?o.restaurantName:o.name}),x&&f&&(0,t.jsx)("span",{className:"flex-none translate-y-px",children:(0,t.jsx)(i.ScorePill,{score:o.restaurantRank,size:"sm"})}),"regular"!==m&&"restaurant"===c&&(0,t.jsxs)("span",{className:"inline-flex flex-none items-center gap-1.5",children:[(0,t.jsx)("span",{className:(0,l.cn)("h-2 w-2 flex-none rounded-full",p.coin)}),(0,t.jsx)("span",{className:"text-[11px] font-semibold uppercase tracking-[0.1em] text-muted-foreground",children:p.label})]}),y&&(0,t.jsxs)("span",{className:"inline-flex flex-none items-center gap-1 rounded-full border border-border bg-muted px-2 py-[2px] text-[11px] font-semibold text-foreground",children:[(0,t.jsx)(a.MapPin,{className:"h-3 w-3 text-accent"}),y]})]}),x?(0,t.jsx)("span",{className:"flex min-w-0 flex-wrap items-center gap-x-1.5 gap-y-0.5 text-xs text-muted-foreground",children:(0,t.jsxs)("span",{className:"min-w-0",children:[(0,t.jsx)("span",{className:"font-medium text-foreground",children:o.name}),o.cityName?` \xb7 ${o.cityName}`:""]})}):o.restaurantName&&(0,t.jsxs)("span",{className:"flex min-w-0 flex-wrap items-center gap-x-1.5 gap-y-0.5 text-xs text-muted-foreground",children:[(0,t.jsxs)("span",{className:"min-w-0",children:[(0,t.jsx)("span",{className:"font-medium text-foreground",children:o.restaurantName}),o.cityName?` \xb7 ${o.cityName}`:""]}),f&&(0,t.jsx)(i.ScorePill,{score:o.restaurantRank,size:"sm",className:"flex-none"})]})]}),(0,t.jsxs)("span",{className:"inline-flex flex-none items-center gap-1 pl-2 text-[13px] font-semibold text-foreground [font-variant-numeric:tabular-nums]",children:[(0,t.jsx)(n.TrendingUp,{className:"h-3 w-3 text-accent"}),o.voteCount]})]});return g?(0,t.jsx)(r.default,{href:g,className:v,"data-evt":"card_click","data-evt-card-type":"dish_row","data-evt-item":b,"data-evt-position":h?e:void 0,children:w}):(0,t.jsx)("div",{className:v,children:w})}])},584379,e=>{"use strict";let t="restaurantica_location";e.s(["LocationManager",0,class{static isClient(){return!0}static getValidLocation(){if(!this.isClient())return null;try{let e=localStorage.getItem(t);if(!e)return null;let r=JSON.parse(e);return Date.now()-r.timestamp<=15e4?r:null}catch(e){return console.error("Error reading stored location:",e),null}}static storeLocation(e,r){if(this.isClient())try{let a={lat:e,lng:r,timestamp:Date.now()};localStorage.setItem(t,JSON.stringify(a))}catch(e){console.error("Error storing location:",e)}}static async getLocation(){if(!this.isClient())return null;let e=this.getValidLocation();return e?{lat:e.lat,lng:e.lng}:null}static async requestAndStoreLocation(){if(!this.isClient())throw Error("Location services are not available on the server");return new Promise((e,t)=>
3{navigator.geolocation?navigator.geolocation.getCurrentPosition(t=>{let{latitude:r,longitude:a}=t.coords;this.storeLocation(r,a),e({lat:r,lng:a})},e=>{let r="An error occurred while getting your location";switch(e.code){case e.PERMISSION_DENIED:r="Please allow location access to find nearby options";break;case e.POSITION_UNAVAILABLE:r="Location information is unavailable";break;case e.TIMEOUT:r="Location request timed out"}t(Error(r))},{enableHighAccuracy:!0,timeout:5e3,maximumAge:0}):t(Error("Geolocation is not supported by your browser"))})}static clearLocation(){if(this.isClient())try{localStorage.removeItem(t)}catch(e){console.error("Error clearing stored location:",e)}}static needsLocationRequest(){return!this.isClient()||null===this.getValidLocation()}}])},751975,e=>{"use strict";let t=(0,e.i(475254).default)("Tag",[["path",{d:"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z",key:"vktsd0"}],["circle",{cx:"7.5",cy:"7.5",r:".5",fill:"currentColor",key:"kqv944"}]]);e.s(["Tag",0,t],751975)},734858,e=>{"use strict";let t=(0,e.i(475254).default)("Navigation",[["polygon",{points:"3 11 22 2 13 21 11 13 3 11",key:"1ltx0t"}]]);e.s(["Navigation",0,t],734858)},247761,e=>{"use strict";var t=e.i(843476),r=e.i(522016),a=e.i(972520),n=e.i(612232),s=e.i(472178),i=e.i(647163);e.s(["RailRestaurantCard",0,function({href:e,name:l,photoUrl:o,cuisineType:c,cuisineArtworkUrl:d,focalPoint:u,meta:m,summary:p,overlay:h,score:x,featrCard:f=!0,compact:g=!1,prefetch:b,className:y,rail:v,position:w}){let j=e.split("/").filter(Boolean).pop()||l;return(0,t.jsxs)(r.default,{href:e,prefetch:b,"data-featr-card":!!f||void 0,"data-evt":"card_click","data-evt-card-type":"rail_card","data-evt-item":j,"data-evt-rail":v,"data-evt-position":w,className:(0,i.cn)("group flex flex-none snap-start flex-col overflow-hidden rounded-lg border border-border bg-card",g?"w-[236px]":"w-[290px]",y),children:[(0,t.jsxs)("div",{className:"relative aspect-[16/10] overflow-hidden",children:[(0,t.jsx)(s.RestaurantThumb,{name:l,photoUrl:o,focalPoint:u,cuisineArtworkUrl:d,cuisineName:c??void 0,width:g?236:290,height:g?148:181,imageClassName:"transition-transform duration-[400ms] group-hover:scale-[1.04]",initialsClassName:g?"text-[22px]":"text-[26px]"}),c&&(0,t.jsx)("span",{className:"absolute left-3 top-3 inline-flex items-center whitespace-nowrap rounded-full bg-[rgba(15,18,22,0.78)] px-2.5 py-1 text-[11px] font-semibold text-white backdrop-blur-sm",children:c}),h]}),(0,t.jsxs)("div",{className:(0,i.cn)("flex flex-1 flex-col",g?"gap-1 px-3.5 pb-3.5 pt-3":"gap-1.5 px-4 pb-4 pt-3.5"),children:[(0,t.jsx)("h3",{className:(0,i.cn)("m-0 font-bold leading-[1.2] tracking-[-0.01em]",g?"text-[15px]":"text-[17px]"),children:l}),m,p&&(0,t.jsx)("p",{className:(0,i.cn)("m-0 mt-0.5 text-[13px] leading-normal text-muted-foreground",g?"line-clamp-2":"line-clamp-3"),children:p}),(0,t.jsxs)("div",{className:"mt-auto flex items-center justify-between pt-2.5",children:[void 0!==x?(0,t.jsx)(n.ScorePill,{score:x,size:"sm"}):(0,t.jsx)("span",{}),(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 text-xs font-semibold text-muted-foreground transition-all group-hover:gap-[7px] group-hover:text-accent",children:["View ",(0,t.jsx)(a.ArrowRight,{className:"h-[13px] w-[13px]"})]})]})]})]})}])},650808,e=>{"use strict";let t={happy_hour:"Happy Hour",wing_night:"Wing Night",taco_night:"Taco Night",brunch_special:"Brunch",lunch_special:"Lunch Special",late_night:"Late Night",weekend_special:"Weekend Special",prime_rib_weekend:"Prime Rib Weekend",date_night:"Date Night",kids_menu:"Kids Menu",cocktail_flights:"Cocktail Flights",fried_chicken_day:"Fried Chicken Day",seasonal_lto:"Seasonal Special",rotating_feature:"Feature"};function r(e){return t[e]??e.replace(/_/g," ").replace(/\b\w/g,e=>e.toUpperCase())}[["prime rib weekend","prime_rib_weekend"],["fried chicken day","fried_chicken_day"],["cocktail flights","cocktail_flights"],["cocktail flight","cocktail_flights"],["kids eat free","kids_menu"],["kids menu","kids_menu"],["taco tuesday","taco_night"],["taco night","taco_night"],["wing night","
3wing_night"],["wings night","wing_night"],["wing wednesday","wing_night"],["happy hour","happy_hour"],["happy hours","happy_hour"],["late night","late_night"],["date night","date_night"],["lunch special","lunch_special"],["lunch specials","lunch_special"],["lunch deal","lunch_special"],["lunch deals","lunch_special"],["weekend special","weekend_special"],["brunch special","brunch_special"],["prime rib","prime_rib_weekend"],["brunch","brunch_special"],["drink specials",null],["food specials",null],["daily specials",null],["daily deals",null],["specials",null],["special",null],["deals",null],["deal",null]].sort((e,t)=>t[0].split(" ").length-e[0].split(" ").length);let a=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],n=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];function s(e){return 60*parseInt(e.slice(0,2),10)+parseInt(e.slice(3,5),10)}function i(e,t=!0){let r=parseInt(e.slice(0,2),10),a=parseInt(e.slice(3,5),10),n=r%12==0?12:r%12,s=0===a?`${n}`:`${n}:${String(a).padStart(2,"0")}`;return t?`${s} ${r>=12?"PM":"AM"}`:s}e.s(["SPECIAL_STATUS_RANK",0,{live:0,soon:1,all:2,scheduled:3,ended:4},"categoryLabel",0,r,"formatSpecialTime",0,i,"specialDayLabel",0,function(e,t){return t||e.length>=7?"Daily":0===e.length?"":1===e.length?`${n[e[0]]}s`:2===e.length&&0===e[0]&&6===e[1]?"SatâSun":e.every((t,r)=>0===r||t===e[r-1]+1)?`${a[e[0]]}â${a[e[e.length-1]]}`:e.map(e=>a[e]).join(" · ")},"specialFreshness",0,function(e){if(!e)return null;let t=new Date(e);if(Number.isNaN(t.getTime()))return null;let r=(Date.now()-t.getTime())/864e5;if(r<0)return null;let a=t.toLocaleDateString("en-CA",{month:"short",day:"numeric"});return r<=60?{state:"fresh",label:`Checked ${a}`}:{state:"stale",label:`Last checked ${a}`}},"specialHasDistinctCategory",0,function(e){return e.title.trim().toLowerCase()!==r(e.category).trim().toLowerCase()},"specialPriceLine",0,function(e){if(e.priceText)return e.priceText;if(e.items.length){let t=e.items.map(e=>e.price).filter(Boolean),r=e.items.length;return t.length?`${r} item${r>1?"s":""} from ${t[0]}`:e.items.slice(0,3).map(e=>e.name).join(", ")}return null},"specialStatus",0,function(e,t,r){if(!t)return"scheduled";if(!e.windowStart||!e.windowEnd)return"all";let a=s(e.windowStart),n=s(e.windowEnd),i=n<=a;return(i?r>=a||r<n:r>=a&&r<n)?"live":!i&&r<a?"soon":"ended"},"specialTimeToMinutes",0,s,"specialWindowLabel",0,function(e,t){if(e&&t){let r=parseInt(e.slice(0,2),10)>=12==parseInt(t.slice(0,2),10)>=12;return`${i(e,!r)}â${i(t)}`}return e?`from ${i(e)}`:""}])},958377,e=>{"use strict";let t=(0,e.i(475254).default)("Flame",[["path",{d:"M8.5 14.5A2.5 2.5 0 0 0 11 12c0-1.38-.5-2-1-3-1.072-2.143-.224-4.054 2-6 .5 2.5 2 4.9 4 6.5 2 1.6 3 3.5 3 5.5a7 7 0 1 1-14 0c0-1.153.433-2.294 1-3a2.5 2.5 0 0 0 2.5 2.5z",key:"96xj49"}]]);e.s(["Flame",0,t],958377)},582928,e=>{"use strict";var t=e.i(843476),r=e.i(271645),a=e.i(657688),n=e.i(522016),s=e.i(958377),i=e.i(188465);e.s(["CompactCityCard",0,function({city:e}){let[l,o]=(0,r.useState)(!1),c=(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"relative aspect-[16/10] overflow-hidden",children:[e.image&&!l?(0,t.jsx)(a.default,{src:(0,i.toImagePath)(e.image),alt:e.name,fill:!0,quality:70,sizes:"(max-width: 768px) 50vw, 210px",className:"object-cover transition-transform duration-[400ms] group-hover:scale-[1.04]",onError:()=>o(!0)}):(0,t.jsx)("div",{className:"absolute inset-0 flex items-center justify-center bg-muted",children:(0,t.jsx)("span",{className:"font-serif text-[18px] font-normal italic tracking-[-0.02em] text-accent",children:e.name.slice(0,2).toUpperCase()})}),e.trending&&(0,t.jsxs)("span",{className:"absolute left-2.5 top-2.5 inline-flex items-center gap-1 rounded-full bg-white px-2 py-[3px] text-[10px] font-semibold text-[#ea580c] shadow-[0_1px_3px_rgba(0,0,0,0.1)]",children:[(0,t.jsx)(s.Flame,{className:"h-[11px] w-[11px] fill-current",strokeWidth:0}),"Trending"]})]}),(0,t.jsxs)("div",{className:"px-3 pb-3 pt-2.5",children:[(0,t.jsx)("h3",{className:"m-0 truncate text-[15px] font-bold leading-[1.15] tracking-[-0.015em] text-foreground md:text-lg",children:e.name}),(0,t.jsxs)("div",{className:"mt-1 flex items-center justify-between gap-2",children:[(0,t.jsxs)("span",{className:"truncate text-[11px] text-muted-foreground",children:[e.count.toLocaleStr
3ing()," restaurants"]}),(0,t.jsx)("span",{className:"shrink-0 rounded-full bg-muted px-2 py-0.5 text-[10px] font-semibold tracking-[0.03em] text-muted-foreground",children:e.prov})]})]})]}),d="group relative block overflow-hidden rounded-lg border border-border bg-card";return e.real?(0,t.jsx)(n.default,{href:e.href,className:d,children:c}):(0,t.jsx)("a",{href:e.href,className:d,"aria-disabled":"true",children:c})}])},607486,e=>{"use strict";let t=(0,e.i(475254).default)("Building2",[["path",{d:"M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18Z",key:"1b4qmf"}],["path",{d:"M6 12H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2",key:"i71pzd"}],["path",{d:"M18 9h2a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-2",key:"10jefs"}],["path",{d:"M10 6h4",key:"1itunk"}],["path",{d:"M10 10h4",key:"tcdvrf"}],["path",{d:"M10 14h4",key:"kelpxr"}],["path",{d:"M10 18h4",key:"1ulq68"}]]);e.s(["Building2",0,t],607486)},94079,e=>{"use strict";let t=(0,e.i(475254).default)("BookOpenCheck",[["path",{d:"M12 21V7",key:"gj6g52"}],["path",{d:"m16 12 2 2 4-4",key:"mdajum"}],["path",{d:"M22 6V4a1 1 0 0 0-1-1h-5a4 4 0 0 0-4 4 4 4 0 0 0-4-4H3a1 1 0 0 0-1 1v13a1 1 0 0 0 1 1h6a3 3 0 0 1 3 3 3 3 0 0 1 3-3h6a1 1 0 0 0 1-1v-1.3",key:"8arnkb"}]]);e.s(["BookOpenCheck",0,t],94079)},394908,e=>{"use strict";let t=(0,e.i(475254).default)("Compass",[["path",{d:"m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z",key:"9ktpf1"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);e.s(["Compass",0,t],394908)},140571,e=>{"use strict";var t=e.i(843476),r=e.i(647163);let a={small:"text-[25px] leading-[1.15] tracking-[-0.02em] md:text-[31px]",large:"text-[32px] leading-[1.1] tracking-[-0.025em] lg:text-[30px]"},n={tight:"tracking-[0.06em]",standard:"tracking-[0.08em]",wide:"tracking-[0.1em]",xwide:"tracking-[0.12em]"};e.s(["SectionHead",0,function({variant:e="column",size:s="large",eyebrow:i,eyebrowIcon:l,eyebrowTracking:o="wide",eyebrowClassName:c,title:d,titleTag:u="h2",description:m,descriptionClassName:p,actions:h,className:x}){let f=(0,r.cn)("text-[11px] font-semibold uppercase text-accent",l?"inline-flex items-center gap-1.5":void 0,n[o],c),g=(0,t.jsx)(u,{className:(0,r.cn)("m-0 font-bold",a[s]),children:d}),b=m?(0,t.jsx)("p",{className:(0,r.cn)("row"===e?"mt-1.5 max-w-[560px] text-sm leading-[1.5] text-muted-foreground":"m-0 text-[15px] leading-[1.55] text-muted-foreground",p),children:m}):null;return"row"===e?(0,t.jsxs)("div",{className:(0,r.cn)("mb-[18px] flex flex-wrap items-end gap-4",x),children:[(0,t.jsxs)("div",{className:"min-w-[260px] flex-1",children:[i?(0,t.jsxs)("div",{className:(0,r.cn)("mb-2",f),children:[l,i]}):null,g,b]}),h?(0,t.jsx)("div",{className:"flex flex-none gap-1.5",children:h}):null]}):(0,t.jsxs)("div",{className:(0,r.cn)("mb-6 flex flex-col gap-1.5",x),children:[i?(0,t.jsxs)("span",{className:f,children:[l,i]}):null,g,b]})}])},516287,e=>{"use strict";var t=e.i(843476),r=e.i(271645),a=e.i(618566),n=e.i(555436),s=e.i(972520),i=e.i(346897),l=e.i(607486),o=e.i(73526),c=e.i(531278);let d={city:l.Building2,neighbourhood:i.MapPin,region:o.Map,province:o.Map};e.s(["HomeHeroSearch",0,function(){let e=(0,a.useRouter)(),[i,l]=(0,r.useState)(""),[o,u]=(0,r.useState)([]),[m,p]=(0,r.useState)(!1),[h,x]=(0,r.useState)(-1),[f,g]=(0,r.useState)(!1),b=(0,r.useRef)(null),y=(0,r.useRef)(void 0),v=(0,r.useRef)(void 0),w=(0,r.useCallback)(async e=>{if(e.trim().length<2){u([]),p(!1);return}v.current?.abort();let t=new AbortController;v.current=t,g(!0);try{let r=await fetch(`/api/v1/locations/search?q=${encodeURIComponent(e.trim())}&limit=6`,{signal:t.signal}),a=await r.json();"success"===a.status&&(u(a.data.locations||[]),p(!0),x(-1))}catch(e){e?.name!=="AbortError"&&u([])}finally{g(!1)}},[]),j=t=>{p(!1),x(-1),e.push(t.url)};(0,r.useEffect)(()=>{let e=e=>{b.current&&!b.current.contains(e.target)&&(p(!1),x(-1))};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]),(0,r.useEffect)(()=>()=>{y.current&&clearTimeout(y.current),v.current?.abort()},[]);let N=m&&o.length>0;return(0,t.jsxs)("div",{ref:b,className:"relative max-w-[600px]",children:[(0,t.jsxs)("form",{onSubmit:t=>{let r;(t.preventDefault(),m&&h>=0&&o[h])?j(o[h]):(r=i.trim(),e.push(r?`/s?q=${encodeURIComponent(r)}`:"/s"))},role:"search",className:"flex items-center rounded-full border border-border bg-card py-1 pl-[
318px] pr-1 shadow-[0_4px_14px_rgba(0,0,0,0.06),0_1px_3px_rgba(0,0,0,0.04)] dark:shadow-[0_4px_14px_rgba(0,0,0,0.5)]",children:[(0,t.jsxs)("div",{className:"flex min-w-0 flex-1 items-center gap-2.5",children:[f?(0,t.jsx)(c.Loader2,{className:"h-[18px] w-[18px] flex-shrink-0 animate-spin text-muted-foreground"}):(0,t.jsx)(n.Search,{className:"h-[18px] w-[18px] flex-shrink-0 text-muted-foreground"}),(0,t.jsx)("input",{value:i,onChange:e=>{let t=e.target.value;l(t),y.current&&clearTimeout(y.current),y.current=setTimeout(()=>w(t),200)},onKeyDown:e=>{m&&0!==o.length&&("ArrowDown"===e.key?(e.preventDefault(),x(e=>e<o.length-1?e+1:e)):"ArrowUp"===e.key?(e.preventDefault(),x(e=>e>0?e-1:-1)):"Escape"===e.key&&(p(!1),x(-1)))},onFocus:()=>{o.length>0&&p(!0)},placeholder:"Search a city, neighbourhood or province","aria-label":"Search a city, neighbourhood or province",role:"combobox","aria-expanded":N,"aria-controls":"hero-location-suggestions","aria-autocomplete":"list",autoComplete:"off",className:"w-full min-w-0 border-0 bg-transparent py-2.5 text-base text-foreground outline-none placeholder:text-muted-foreground md:text-sm"})]}),(0,t.jsx)("button",{type:"submit","aria-label":"Search",className:"ml-1 inline-flex h-10 w-10 flex-shrink-0 items-center justify-center rounded-full bg-foreground text-card transition-opacity hover:opacity-85",children:(0,t.jsx)(s.ArrowRight,{className:"h-[18px] w-[18px]"})})]}),N&&(0,t.jsx)("div",{id:"hero-location-suggestions",role:"listbox",className:"absolute left-0 right-0 top-full z-50 mt-2 overflow-hidden rounded-[16px] border border-border bg-card py-1 text-left shadow-[0_8px_28px_rgba(0,0,0,0.12),0_2px_6px_rgba(0,0,0,0.06)] dark:shadow-[0_8px_28px_rgba(0,0,0,0.6)]",children:o.map((e,r)=>{let a=d[e.type],n=r===h;return(0,t.jsxs)("button",{type:"button",role:"option","aria-selected":n,onMouseDown:e=>e.preventDefault(),onClick:()=>j(e),onMouseEnter:()=>x(r),className:`flex w-full items-center gap-3 px-3.5 py-2.5 text-left transition-colors ${n?"bg-muted":"hover:bg-muted"}`,children:[(0,t.jsx)("span",{className:"flex h-8 w-8 flex-none items-center justify-center rounded-full bg-accent/10",children:(0,t.jsx)(a,{className:"h-4 w-4 text-accent"})}),(0,t.jsxs)("span",{className:"flex min-w-0 flex-1 flex-col",children:[(0,t.jsx)("span",{className:"truncate text-sm font-semibold text-foreground",children:e.name}),(0,t.jsxs)("span",{className:"truncate text-xs text-muted-foreground",children:[e.typeLabel,e.contextLabel?` \xb7 ${e.contextLabel}`:""]})]}),"number"==typeof e.restaurantCount&&e.restaurantCount>0&&(0,t.jsx)("span",{className:"flex-none text-xs text-muted-foreground [font-variant-numeric:tabular-nums]",children:e.restaurantCount})]},e.id)})})]})}])},975,e=>{"use strict";let t=(0,e.i(475254).default)("Crosshair",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"22",x2:"18",y1:"12",y2:"12",key:"l9bcsi"}],["line",{x1:"6",x2:"2",y1:"12",y2:"12",key:"13hhkx"}],["line",{x1:"12",x2:"12",y1:"6",y2:"2",key:"10w3f3"}],["line",{x1:"12",x2:"12",y1:"22",y2:"18",key:"15g9kq"}]]);e.s(["Crosshair",0,t],975)},939043,e=>{"use strict";var t=e.i(843476),r=e.i(271645),a=e.i(522016),n=e.i(734858),s=e.i(975),i=e.i(972520),l=e.i(553180),o=e.i(647163);let c="inline-flex w-full flex-shrink-0 items-center justify-center gap-2 rounded-full bg-foreground px-[18px] py-2 text-[13px] font-medium text-card transition-opacity hover:opacity-90 disabled:opacity-60 sm:w-auto";e.s(["GeolocateBanner",0,function({className:e}){let[d,u]=(0,r.useState)("idle"),[m,p]=(0,r.useState)(null);return(0,t.jsxs)("aside",{className:(0,o.cn)("mt-7 flex flex-wrap items-center justify-between gap-4 rounded-lg border border-border bg-card px-[18px] py-3.5 shadow-[0_1px_2px_rgba(0,0,0,0.04)]",e),children:[(0,t.jsxs)("div",{className:"flex min-w-[240px] flex-1 items-center gap-3",children:[(0,t.jsx)("div",{className:"inline-flex h-10 w-10 flex-shrink-0 items-center justify-center rounded-full bg-accent/10 text-accent",children:(0,t.jsx)(n.Navigation,{className:"h-[18px] w-[18px]"})}),(0,t.jsxs)("div",{"aria-live":"polite",children:["idle"===d&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"text-sm font-semibold text-foreground",children:"Jump straight to restaurants near you"}),(0,t.jsx)("div",{className:"mt-0.5 text-xs text-muted-foreground",children:"Weâll use your location to pre-filter the list â nothing stored."})]}),"locating"===d&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"text-sm font-semibold text-foreground",children:"Finding youâ¦"}),(0,t.jsx)("div",{className:"mt-0.5 text-xs text-muted-foreground",children:"Checking your approximate location."})]}),"located"===d&&m&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"text-sm font-semibold text-foreground",children:["Youâre near ",m.name,", ",m.provCode]}),(0,t.jsxs)("div",{className:"mt-0.5 text-xs text-muted-foreground",children:[m.restaurants.toLocaleStr
3ing()," restaurants within the city · switch city anytime."]})]}),"error"===d&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"text-sm font-semibold text-foreground",children:"We couldnât get your location"}),(0,t.jsx)("div",{className:"mt-0.5 text-xs text-muted-foreground",children:"Try the nearby search instead â or pick a city below."})]})]})]}),("idle"===d||"locating"===d)&&(0,t.jsxs)("button",{type:"button",onClick:()=>{"u"<typeof navigator||!navigator.geolocation?u("error"):(u("locating"),navigator.geolocation.getCurrentPosition(async e=>{try{let{latitude:t,longitude:r}=e.coords,a=await fetch(`/api/v1/cities/nearby?lat=${t}&lng=${r}&radius=100&limit=1`);if(!a.ok)throw Error(`nearby lookup ${a.status}`);let n=await a.json(),s=n?.data?.cities?.[0];if(!s)throw Error("no city in range");p({name:s.name,slug:s.slug,provinceSlug:s.province?.slug??"on",provCode:(s.province?.slug??"ON").toUpperCase(),restaurants:s.restaurantCount??s.restaurant_count??0}),u("located")}catch{u("error")}},()=>u("error"),{maximumAge:3e5,timeout:1e4}))},disabled:"locating"===d,className:c,children:[(0,t.jsx)(s.Crosshair,{className:"h-[15px] w-[15px]"}),"idle"===d?"Use my location":"Locatingâ¦"]}),"located"===d&&m&&(0,t.jsxs)(a.default,{href:(0,l.cityUrl)(m.provinceSlug,m.slug),className:c,children:["Explore ",m.name,(0,t.jsx)(i.ArrowRight,{className:"h-[15px] w-[15px]"})]}),"error"===d&&(0,t.jsxs)(a.default,{href:"/s/nearby",className:c,children:["Open nearby search",(0,t.jsx)(i.ArrowRight,{className:"h-[15px] w-[15px]"})]})]})}])},338377,e=>{"use strict";var t=e.i(843476),r=e.i(271645),a=e.i(618566),n=e.i(975),s=e.i(584379);e.s(["NearMeChip",0,function(){let e=(0,a.useRouter)(),[i,l]=(0,r.useState)(!1),o=async()=>{l(!0);try{await s.LocationManager.getLocation()||await s.LocationManager.requestAndStoreLocation()}catch{}e.push("/s/nearby")};return(0,t.jsxs)("button",{type:"button",onClick:o,disabled:i,className:"inline-flex items-center gap-1.5 rounded-full border border-border bg-card px-3 py-[7px] text-xs font-medium text-foreground transition-all duration-150 hover:border-foreground disabled:opacity-60",children:[(0,t.jsx)(n.Crosshair,{className:"h-3.5 w-3.5 text-accent"}),i?"Locatingâ¦":"Near me"]})}])},534093,e=>{"use strict";var t=e.i(843476),r=e.i(271645),a=e.i(522016),n=e.i(94079),s=e.i(475254);let i=(0,s.default)("ChartColumn",[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"M18 17V9",key:"2bz60n"}],["path",{d:"M13 17V5",key:"1frdt8"}],["path",{d:"M8 17v-3",key:"17ska0"}]]),l=(0,s.default)("ThumbsUp",[["path",{d:"M7 10v12",key:"1qc93n"}],["path",{d:"M15 5.88 14 10h5.83a2 2 0 0 1 1.92 2.56l-2.33 8A2 2 0 0 1 17.5 22H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h2.76a2 2 0 0 0 1.79-1.11L12 2a3.13 3.13 0 0 1 3 3.88Z",key:"emmmcr"}]]);var o=e.i(842009),c=e.i(346897),d=e.i(751975);let u=(0,s.default)("UserRound",[["circle",{cx:"12",cy:"8",r:"5",key:"1hypcn"}],["path",{d:"M20 21a8 8 0 0 0-16 0",key:"rfgkzh"}]]);var m=e.i(394908),p=e.i(972520);let h=(0,s.default)("ArrowUp",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]);var x=e.i(140571),f=e.i(612232),g=e.i(850931),b=e.i(539173),y=e.i(952678),v=e.i(188465),w=e.i(650808),j=e.i(647163);let N="motion-safe:animate-in motion-safe:fade-in-0 motion-safe:slide-in-from-bottom-1 motion-safe:duration-500 [animation-fill-mode:backwards]",k=e=>({animationDelay:`${e}ms`});e.s(["ToolkitSpotlight",0,function({data:e}){let[s,C]=(0,r.useState)(0),[_,S]=(0,r.useState)(0),[R,A]=(0,r.useState)(!1),[$,E]=(0,r.useState)(0),M=(0,r.useMemo)(()=>{let r=[];if(e.playbook){let a=e.playbook;r.push({key:"playbook",name:"The Playbook",line:"Every kitchen, decoded step by step",icon:(0,t.jsx)(n.BookOpenCheck,{className:"h-[15px] w-[15px]"}),copy:"An editorial ordering strategy for every restaurant â what to order first, what to build around it, when to go. Not a summary. A sequence.",ctaLabel:"See a full playbook",ctaHref:a.href,render:()=>(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"scrollbar-hide -mx-1 snap-x snap-mandatory overflow-x-auto px-1 pb-1 pt-1",children:(0,t.jsx)("div",{className:"mx-auto flex w-max gap-3",children:a.steps.map((e,r)=>(0,t.jsxs)("div",{className:(0,j.cn)("w-[280px] flex-none snap-start rounded-xl border border-border bg-background/40 px-5 py-4 md:w-[320px]",N),style:k(120+150*r),children:[(0,t.jsxs)("span",{className:"font-serif text-[20px] font-semibold italic leading-none text-rating",children:[r+1,"."]}),(0,t.jsx)("h4",{className:"mb-1.5 mt-1 text-[15px] font-bold tracking-[-0.01em]",children:e.title}),(0,t.jsx)("p",{className:"m-0 text-[12.5px] leading-[1.55] text-muted-foreground",children:e.text})]},e.title))})}),(0,t.jsxs)("div",{className:(0,j.cn)("text-[11px] text-muted-foreground
3/70 md:text-center",N),style:k(440),children:["From the playbook for ",a.restaurantName," · ",a.cityName]})]})})}if(e.rankings.length>0&&r.push({key:"rankings",name:"Dish Rankings",line:"The best version of every dish",icon:(0,t.jsx)(i,{className:"h-[15px] w-[15px]"}),copy:"Every plate scored from what diners say, sharpened by reader votes â ranked across every restaurant, city by city.",ctaLabel:"Explore the rankings",ctaHref:"/rankings",render:()=>(0,t.jsx)("div",{className:"flex flex-col gap-3",children:e.rankings.map((e,r)=>(0,t.jsx)("div",{className:(0,j.cn)("overflow-hidden rounded-xl border border-border bg-background/40",N),style:k(100+150*r),children:(0,t.jsx)(g.DishResultRow,{rank:r+1,dish:e,lead:"restaurant"})},e.tagId))})}),e.voting){let a=e.voting,n=b.TIER_META[(0,b.tierKeyFromStatus)(a.status??void 0)];r.push({key:"voting",name:"Menu Tags & Voting",line:"Your vote genuinely moves the list",icon:(0,t.jsx)(l,{className:"h-[15px] w-[15px]"}),copy:"Dishes wear their tier â Diamond is the rarest â and every signed-in vote adds points and feeds straight back into the score.",ctaLabel:"Vote on any menu",ctaHref:a.href,render:()=>(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:(0,j.cn)("flex flex-wrap items-center justify-between gap-3 rounded-xl border border-border bg-background/40 px-5 py-4",N),style:k(120),children:[(0,t.jsxs)("span",{className:"flex min-w-0 flex-col gap-0.5",children:[(0,t.jsxs)("span",{className:"flex flex-wrap items-center gap-x-2.5 gap-y-1",children:[(0,t.jsx)("span",{className:"min-w-0 text-[15px] font-bold tracking-[-0.01em]",children:a.name}),(0,t.jsxs)("span",{className:"inline-flex flex-none items-center gap-1.5",children:[(0,t.jsx)("span",{className:(0,j.cn)("h-2 w-2 flex-none rounded-full",n.coin)}),(0,t.jsx)("span",{className:"text-[11px] font-semibold uppercase tracking-[0.1em] text-muted-foreground",children:n.label})]})]}),(0,t.jsxs)("span",{className:"min-w-0 text-xs text-muted-foreground",children:[a.restaurantName," · ",a.cityName]})]}),(0,t.jsxs)("span",{className:"flex flex-none items-center gap-3",children:[(0,t.jsxs)("span",{className:"text-[13px] font-semibold [font-variant-numeric:tabular-nums]",children:[(0,t.jsx)("span",{className:(0,j.cn)("inline-block",$>0&&"motion-safe:animate-in motion-safe:zoom-in-75 motion-safe:duration-300"),children:a.voteCount+$},$)," ",(0,t.jsx)("span",{className:"font-normal text-muted-foreground",children:"points"})]}),(0,t.jsxs)("button",{type:"button",onClick:()=>E(e=>Math.min(e+1,1)),className:"inline-flex items-center gap-1.5 rounded-full border border-accent/40 px-3.5 py-1.5 text-xs font-bold text-accent transition-colors hover:bg-accent/10",children:[(0,t.jsx)(h,{className:"h-3 w-3",strokeWidth:2.6}),"Vote"]})]})]}),(0,t.jsx)("div",{className:(0,j.cn)("text-[11px] text-muted-foreground/70",N),style:k(300),children:$>0?"Thatâs the feel â votes count for real on restaurant pages.":"Try it â one vote per member per dish in production."})]})})}if(e.keyStrengths){let a=e.keyStrengths;r.push({key:"strengths",name:"Key Strengths",line:"What every room does best",icon:(0,t.jsx)(o.Award,{className:"h-[15px] w-[15px]"}),copy:"Editorial strength cards name each restaurantâs real lane â earned from evidence, unlocked room by room.",ctaLabel:"See what rooms do best",ctaHref:a.href,render:()=>{let e=a.cards[0],r=e.imageUrl?(0,v.toImagePath)(e.imageUrl):null;return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:(0,j.cn)("flex items-start gap-4 roun
3ded-xl border border-border bg-background/40 px-5 py-4",N),style:k(120),children:[r&&(0,t.jsx)("span",{className:"relative h-24 w-24 flex-none overflow-hidden rounded-xl bg-muted",children:(0,t.jsx)(y.SingleSizeImage,{src:r,alt:e.imageAlt||e.displayName,width:96,height:96,className:"absolute inset-0 h-full w-full object-cover",loading:"lazy",quality:75})}),(0,t.jsxs)("span",{className:"min-w-0",children:[(0,t.jsx)("span",{className:"text-[10px] font-bold uppercase tracking-[0.1em] text-accent",children:"Key Strength"}),(0,t.jsx)("h4",{className:"mb-1 mt-0.5 text-[15px] font-bold tracking-[-0.01em]",children:e.displayName}),(0,t.jsx)("p",{className:(0,j.cn)("m-0 text-[12.5px] leading-[1.55] text-muted-foreground",N),style:k(280),children:e.description})]})]}),(0,t.jsxs)("div",{className:(0,j.cn)("text-[11px] text-muted-foreground/70",N),style:k(420),children:["One of ",a.cards.length," strengths in play at ",a.restaurantName," · ",a.cityName]})]})}})}if(e.nearby.length>0&&r.push({key:"nearby",name:"Nearby Dishes",line:"The best plate near you, right now",icon:(0,t.jsx)(c.MapPin,{className:"h-[15px] w-[15px]"}),copy:"Dish-level search by distance â not ârestaurants near meâ but the specific ranked plate worth walking to.",ctaLabel:"Find dishes near you",ctaHref:"/s/nearby/dishes",render:()=>(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"flex flex-col gap-3",children:e.nearby.map((e,r)=>(0,t.jsx)("div",{className:(0,j.cn)("overflow-hidden rounded-xl border border-border bg-background/40",N),style:k(100+150*r),children:(0,t.jsx)(g.DishResultRow,{rank:r+1,dish:e,lead:"dish"})},e.tagId))}),(0,t.jsx)("div",{className:(0,j.cn)("text-[11px] text-muted-foreground/70",N),style:k(440),children:"Measured from downtown Guelph â the live page resolves to your location."})]})}),e.specials.length>0&&r.push({key:"specials",name:"Daily Specials",line:"Live deals, checked and dated",icon:(0,t.jsx)(d.Tag,{className:"h-[15px] w-[15px]"}),copy:"Every special carries the date we last confirmed it â fresh ones quietly, stale ones with an honest caution. Nothing hides.",ctaLabel:"Specials near you",ctaHref:"/s/nearby/specials",render:()=>(0,t.jsx)(t.Fragment,{children:e.specials.map((e,r)=>{let a=(0,w.specialFreshness)(e.lastConfirmedAt),n=[(0,w.specialDayLabel)(e.dayOfWeek??[],e.isAllWeek),(0,w.specialWindowLabel)(e.windowStart,e.windowEnd)].filter(Boolean).join(" · ");return(0,t.jsxs)("div",{className:(0,j.cn)("flex flex-wrap items-baseline justify-between gap-x-3 gap-y-1 rounded-xl border border-border bg-background/40 px-5 py-3.5",N),style:k(120+160*r),children:[(0,t.jsxs)("span",{className:"min-w-0 flex-1 basis-52",children:[(0,t.jsx)("span",{className:"line-clamp-2 text-[14px] font-bold tracking-[-0.01em]",children:e.title}),(0,t.jsx)("span",{className:"block text-xs leading-[1.5] text-muted-foreground",children:[n,e.priceText].filter(Boolean).join(" · ")}),(0,t.jsxs)("span",{className:"block text-[11px] text-muted-foreground/70",children:[e.restaurantName,", ",e.cityName]})]}),a&&(0,t.jsx)("span",{className:(0,j.cn)("flex-none whitespace-nowrap text-[10.5px]","stale"===a.state?"text-warning-text":"text-muted-foreground/70"),children:a.label})]},`${e.restaurantName}-${e.title}`)})})}),e.forYou){let a=e.forYou;r.push({key:"foryou",name:"For You",line:"A taste profile that learns your table",icon:(0,t.jsx)(u,{className:"h-[15px] w-[15px]"}),copy:"Sign in and every save, vote, and review sharpens a personal ranking â recommendations with their reasoning shown, never a black box.",ctaLabel:"Build your taste profile",ctaHref:"/u/sign-in",render:()=>(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:(0,j.cn)("rounded-xl border border-border bg-background/40 px-5 py-4",N),style:k(120),children:[(0,t.jsxs)("span",{className:"flex items-center gap-2.5",children:[(0,t.jsx)("span",{className:"text-[15px] font-bold tracking-[-0.01em]",children:a.restaurantName}),"number"==typeof a.restaurantRank&&a.restaurantRank>0&&(0,t.jsx)(f.ScorePill,{score:a.restaurantRank,size:"sm"})]}),(0,t.jsxs)("span",{className:"mt-0.5 block text-xs text-muted-foreground",children:[[a.neighbourhoodName,a.cityName].filter(
3Boolean).join(" · ")," · Recommended for you"]}),(0,t.jsxs)("span",{className:(0,j.cn)("mt-2.5 flex flex-wrap gap-1.5",N),style:k(280),children:[(0,t.jsx)("span",{className:"rounded-full border border-border px-2.5 py-0.5 text-[10.5px] font-semibold text-muted-foreground",children:"Because you saved Na-Ha-Thaiâs Kitchen"}),(0,t.jsx)("span",{className:"rounded-full border border-border px-2.5 py-0.5 text-[10.5px] font-semibold text-muted-foreground",children:"Guelphâs other top-ranked Thai room"})]})]}),(0,t.jsx)("div",{className:(0,j.cn)("text-[11px] text-muted-foreground/70",N),style:k(420),children:"Example â reasons are computed for you at runtime."})]})})}return r},[e,$]);return((0,r.useEffect)(()=>{if(R||M.length<2||window.matchMedia("(prefers-reduced-motion: reduce)").matches||!window.matchMedia("(min-width: 768px)").matches)return;let e=setInterval(()=>{C(e=>(e+1)%M.length),S(e=>e+1),E(0)},8e3);return()=>clearInterval(e)},[R,M.length]),0===M.length)?null:(0,t.jsxs)("section",{id:"toolkit",children:[(0,t.jsx)(x.SectionHead,{variant:"row",size:"small",className:"mt-12",eyebrow:(0,t.jsx)(t.Fragment,{children:"How Restaurantica works"}),eyebrowIcon:(0,t.jsx)(m.Compass,{className:"h-[13px] w-[13px]"}),eyebrowTracking:"standard",title:"More than just a directory. A dining playbook.",description:(0,t.jsx)(t.Fragment,{children:"Restaurantica turns local restaurant discovery into clear dining intelligence â with scored rankings, menu Playbooks, dish tags, verified specials, and tools that show where to go, what to order, and what each kitchen does best."}),descriptionClassName:"max-w-none"}),(0,t.jsxs)("div",{className:"mt-5 grid grid-cols-1 gap-4 md:grid-cols-[290px_minmax(0,1fr)] md:gap-6",onMouseEnter:()=>A(!0),onMouseLeave:()=>A(!1),onFocusCapture:()=>A(!0),onBlurCapture:()=>A(!1),children:[(0,t.jsx)("div",{role:"tablist","aria-label":"Restaurantica features",className:"flex snap-x gap-2 overflow-x-auto pb-1 md:flex-col md:gap-1.5 md:overflow-visible md:pb-0",children:M.map((e,r)=>{let a=r===s;return(0,t.jsxs)("button",{type:"button",role:"tab","aria-selected":a,onClick:()=>{C(r),S(e=>e+1),E(0)},"data-evt":"card_click","data-evt-card-type":"toolkit_rail","data-evt-item":e.key,className:(0,j.cn)("flex flex-none snap-start items-center gap-3 rounded-xl border px-3.5 py-2.5 text-left transition-colors md:flex-auto",a?"border-border bg-card":"border-transparent hover:bg-muted/60"),children:[(0,t.jsx)("span",{className:(0,j.cn)("inline-flex h-8 w-8 flex-none items-center justify-center rounded-lg",a?"bg-accent/15 text-accent":"bg-muted text-muted-foreground"),children:e.icon}),(0,t.jsxs)("span",{className:"min-w-0",children:[(0,t.jsx)("span",{className:"block whitespace-nowrap text-[13px] font-bold leading-tight md:whitespace-normal",children:e.name}),(0,t.jsx)("span",{className:"hidden text-[11px] leading-snug text-muted-foreground md:block",children:e.line})]})]},e.key)})}),(0,t.jsx)("div",{className:"grid min-h-[300px] rounded-2xl border border-border bg-card px-5 py-5 md:px-7 md:py-6",children:M.map((e,r)=>{let n=r===s;return(0,t.jsxs)("div",{"aria-hidden":!n,className:(0,j.cn)("col-start-1 row-start-1 flex min-w-0 flex-col",!n&&"invisible"),children:[(0,t.jsx)("div",{className:"flex flex-1 flex-col justify-center gap-2.5",children:e.render()},n?`${e.key}-${_}`:`${e.key}-idle`),(0,t.jsxs)("div",{className:"mt-4 flex flex-col gap-2 border-t border-border pt-3.5",children:[(0,t.jsx)("p",{className:"m-0 w-full text-[12.5px] leading-[1.55] text-muted-foreground",children:e.copy}),(0,t.jsxs)(a.default,{href:e.ctaHref,prefetch:!1,"data-evt":"card_click","data-evt-card-type":"toolkit_cta","data-evt-item":e.key,className:"inline-flex items-center gap-1 self-end whitespace-nowrap border-b border-foreground pb-px text-[12.5px] font-semibold text-foreground transition-colors hover:border-accent hover:text-accent",children:[e.ctaLabel,(0,t.jsx)(p.ArrowRight,{className:"h-3 w-3"})]})]})]},e.key)})})]})]})}],534093)},728652,e=>{"use strict";var t=e.i(843476),r=e.i(271645),a=e.i(870273),n=e.i(346897),s=e.i(373375),i=e.i(463059),l=e.i(553180),o=e.i(247761),c=e.i(140571);e.s(["FeaturedRestaurantsSection",0,function({restaurants:e}){let d=(0,r.useRef)(null),u=e=>{let t=d.current;if(!t)return;let r=t.querySelector("[data-featr-card]"),a=r?r.getBoundingClientRect().width+14:360;t.scrollBy({left:e*a,behavior:"smooth"})};return e&&0!==e.length?(0,t.jsxs)("section",{id:"featured",children:[(0,t.jsx)(c.SectionHead,{variant:"row",size:"small",className:"mt-12",eyebrow:(0,t.jsx)(t.Fragment,{children:"Editorâs picks"}),eyebrowIcon:(0,t.jsx)(a.Star,{className:"h-[13px] w-[13px] fill-current",strokeWidth:0}),eyebrowTracking:"standard",title:"Featured restaurants",description:(0,t.jsx)(t.Fragment,{children:"Our top-ranked rooms right now â the kitchens worth planning a drive around."}),actions:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("button",{onClick:()=>u(-1),"aria-label":"Previous restaurants",className:"inline-flex h-[34px] w-[34px] items-center justify-center rounded-full border border-border bg-card text-foreground transition-colors hover:border-button-border hover:bg-muted",children:(0,t.jsx)(s.ChevronLeft,{className:"h-4 w-4"})}),(0,t.jsx)("button",{onClick:()=>u(1),"aria-label":"More restaurants",className:"inline-flex h-[34px] w-[34px] items-center justify-center rounded-full border border-border bg-card text-foreground transition-colors hover:border-button-border hover:bg-muted",children:(0,t.jsx)(i.ChevronRight,{className:"h-4 w-4"})})]})}),(0,t.jsx)("div",{ref:d,className:"scrollbar-hide flex snap-x snap-mandatory gap-3.5 overflow-x-auto px-0 pb-2 pt-1",children:e.map(e=>{var r;let a,s,i=(r=e.images,(s="string"==typeof(a=r?.[0])?a:a?.url)&&s.length>0?s:null);return(0,t.jsx)(o.RailRestaurantCard,{href:(0,l.restaurantUrl)(e.province.slug,e.city.slug,e.slug),name:e.name,photoUrl:i,cuisineType:e.cuisineType,cuisineArtworkUrl:e.cuisineArtworkUrl,score:"number"==typeof e.restaurantRank?e.restaurantRank:void 0,summary:e.summary,meta:(0,t.jsxs)("div",{className:"inline-flex items-center gap-[5px] text-xs text-muted-foreground",children:[(0,t.jsx)(n.MapPin,{className:"h-3 w-3"}),e.city.name,", ",e.province.slug.toUpperCase()]})},e.id)})})]}):null}])}
3,607003,e=>{"use strict";var t=e.i(843476),r=e.i(271645),a=e.i(553180),n=e.i(582928);let s=new Set(["banff","guelph","niagara-on-the-lake","hamilton"]);e.s(["AllCitiesGrid",0,function({regions:e}){let[i,l]=(0,r.useState)("all"),o=function(e){let t=new Set,r=[];for(let n of e||[])for(let e of n.cities||[])t.has(e.slug)||(t.add(e.slug),r.push({slug:e.slug,name:e.name,prov:n.provinceSlug.toUpperCase(),count:e.restaurantCount,trending:s.has(e.slug),image:e.heroImageUrl??null,href:(0,a.cityUrl)(n.provinceSlug,e.slug),real:!0}));return r}(e),c=Array.from(o.reduce((e,t)=>e.set(t.prov,(e.get(t.prov)??0)+1),new Map)).sort((e,t)=>t[1]-e[1]||e[0].localeCompare(t[0])).map(([e])=>e),d=e=>"all"===i?e.count>=10:e.prov===i,u=[...o].sort((e,t)=>e.name.localeCompare(t.name)),m=u.reduce((e,t)=>d(t)?e+1:e,0),p=e=>e?"rounded-full border border-foreground bg-foreground px-3 py-1.5 text-xs font-medium text-card transition-all":"rounded-full border border-border bg-card px-3 py-1.5 text-xs font-medium text-foreground transition-all hover:border-foreground";return(0,t.jsxs)("section",{className:"mt-12",children:[(0,t.jsxs)("div",{className:"mb-4",children:[(0,t.jsx)("h2",{className:"m-0 text-[27px] font-bold leading-[1.1] tracking-[-0.02em] md:text-[32px]",children:"All cities"}),(0,t.jsxs)("p",{className:"mt-1.5 max-w-[470px] text-[13px] leading-normal text-muted-foreground",children:[m," ","all"===i?"featured ":"",1===m?"city":"cities"," â alphabetical. Filter by province below."]})]}),c.length>1&&(0,t.jsxs)("div",{className:"mb-5 flex flex-wrap gap-1.5 border-b border-border pb-4 pt-2",children:[(0,t.jsx)("button",{onClick:()=>l("all"),className:p("all"===i),children:"Featured"}),c.map(e=>(0,t.jsx)("button",{onClick:()=>l(e),className:p(i===e),children:e},e))]}),(0,t.jsx)("div",{className:"grid grid-cols-2 gap-2.5 md:grid-cols-[repeat(auto-fill,minmax(200px,1fr))] md:gap-3",children:u.map(e=>(0,t.jsx)("div",{className:d(e)?void 0:"hidden",children:(0,t.jsx)(n.CompactCityCard,{city:e})},`${e.prov}-${e.slug}`))})]})}])}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.