/* Hinkalnaya printed-menu gallery v1.1.3 — mobile-first, no external libraries. */
.menu-story{position:relative;overflow:hidden;background:linear-gradient(155deg,#242226 0%,#302b2e 52%,#232124 100%);padding:94px 0 86px;isolation:isolate}
.menu-story::before{content:none!important;display:none!important}
.menu-story-glow{position:absolute;width:min(80vw,850px);height:850px;left:50%;top:19%;transform:translate(-50%,-20%);background:radial-gradient(circle,rgba(199,146,63,.15),transparent 66%);pointer-events:none;z-index:-1}
.menu-story-inner{position:relative}
.menu-story-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:14px}
.menu-story-heading .section-index{display:block;margin:0 0 16px}
.menu-story-heading h2{font:normal clamp(48px,6vw,78px)/1.09 Georgia,'Times New Roman',serif;letter-spacing:-.045em;margin:0 0 16px}
.menu-story-heading h2 em{color:#e9bf6c}
.menu-story-heading p{max-width:520px;color:#cfc4b6;font-size:15px;line-height:1.75;margin:0}
.menu-pdf-button{display:inline-flex;gap:14px;align-items:center;border:1px solid rgba(229,196,142,.32);padding:12px 21px;color:#f6eddf;min-height:64px;white-space:nowrap;transition:background .3s,border-color .3s,transform .3s}
.menu-pdf-button:hover{background:rgba(230,191,112,.08);border-color:#e2be78;transform:translateY(-2px)}
.menu-pdf-icon{font-size:26px;color:#e9bf6c}
.menu-pdf-button>span:last-child{display:grid;gap:4px;font-size:13px;font-weight:700}
.menu-pdf-button small{font-size:11px;color:#a69c92;font-weight:400}
.menu-book{outline-offset:4px;position:relative}
.menu-book:focus-visible{outline:2px solid #e9bf6c}
.menu-book-topline,.menu-book-bottomline{display:flex;align-items:center;justify-content:space-between;gap:15px}
.menu-book-topline{max-width:960px;margin:10px auto 0;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.menu-book-label{font:italic 19px Georgia,serif;color:#ede5d9}
.menu-book-index{font:normal 31px Georgia,serif;color:#eac272;letter-spacing:.03em;font-variant-numeric:tabular-nums}
.menu-book-index span{font-size:18px;color:#8e8781}
.menu-book-stage{height:650px;position:relative;touch-action:pan-y;user-select:none;overscroll-behavior-x:contain}
.menu-book-pages{position:absolute;inset:0;overflow:hidden;pointer-events:auto;perspective:1200px}
.menu-book-page{position:absolute;top:50%;left:50%;width:min(440px,42vw);aspect-ratio:1240/1754;transform-origin:center center;box-shadow:0 26px 60px rgba(0,0,0,.46);overflow:hidden;background:#292629;border:6px solid #3e393a;transition:transform .55s cubic-bezier(.2,.85,.2,1),opacity .48s ease,filter .48s ease,box-shadow .48s ease;will-change:transform;cursor:pointer}
.menu-book-page:after{content:'';position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.07);pointer-events:none}
.menu-book-page img{width:100%;height:100%;display:block;object-fit:cover;pointer-events:none}
.menu-book-page[data-position='active']{transform:translate(-50%,-50%) rotate(0) scale(1);z-index:4;opacity:1;filter:none;box-shadow:0 33px 66px rgba(0,0,0,.55),0 0 0 1px rgba(233,191,108,.52)}
.menu-book-page[data-position='previous']{transform:translate(-111%,-50%) rotate(-5deg) scale(.86);opacity:.58;filter:brightness(.72);z-index:2}
.menu-book-page[data-position='next']{transform:translate(11%,-50%) rotate(5deg) scale(.86);opacity:.58;filter:brightness(.72);z-index:2}
.menu-book-page[data-position='hidden']{transform:translate(-50%,-50%) scale(.72);opacity:0;visibility:hidden;pointer-events:none;z-index:0}
.menu-book-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:7;width:56px;height:56px;border:1px solid rgba(255,255,255,.32);border-radius:50%;display:grid;place-items:center;font-size:26px;background:rgba(27,25,27,.78);color:#f7f1e7;backdrop-filter:blur(7px);transition:background .25s,color .25s,transform .25s;cursor:pointer}
.menu-book-arrow:hover:not(:disabled){background:#e9bf6c;color:#231f1d;transform:translateY(-50%) scale(1.07)}
.menu-book-arrow:disabled{opacity:.2;cursor:not-allowed}
.menu-book-arrow-prev{left:0}.menu-book-arrow-next{right:0}
.menu-book-bottomline{max-width:960px;margin:0 auto;padding:13px 0;border-top:1px solid rgba(255,255,255,.12);color:#a99d91;font-size:12px}
.menu-book-progress{display:block;width:min(21vw,170px);height:2px;background:rgba(255,255,255,.18);overflow:hidden;flex:none}
.menu-book-progress>span{display:block;background:#e9bf6c;width:9%;height:100%;transition:width .5s ease}
.menu-zoom-callout{border:0;background:transparent;color:#f1d294;text-decoration:underline;text-underline-offset:5px;cursor:pointer;padding:8px 0;font-size:12px;min-height:40px}
.menu-thumbs{display:flex;gap:13px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#9b7c4d transparent;padding:22px 0 12px;scroll-snap-type:x proximity;justify-content:flex-start}
.menu-thumb{width:74px;flex:0 0 74px;height:112px;padding:0;position:relative;background:#312e30;border:2px solid rgba(255,255,255,.13);opacity:.65;overflow:hidden;cursor:pointer;scroll-snap-align:center;transition:transform .3s,border-color .3s,opacity .3s}
.menu-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.menu-thumb:hover,.menu-thumb.is-current{opacity:1;border-color:#e9bf6c;transform:translateY(-3px)}
.menu-thumb-number{position:absolute;bottom:0;left:0;background:rgba(0,0,0,.8);color:#f7e9cf;font-size:10px;padding:2px 6px}
.menu-story-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.12);margin-top:25px;padding-top:26px}
.menu-story-footer p{margin:0;color:#cfc4b6;font-size:14px}
.menu-story-footer .btn{color:#282322}
.menu-dialog-open{overflow:hidden}
.menu-lightbox{position:fixed;border:1px solid #534940;background:#1d1c1d;color:#f4eee3;box-shadow:0 30px 90px rgba(0,0,0,.8);padding:0;width:min(96vw,1050px);max-width:none;height:94dvh;max-height:94dvh;inset:0;margin:auto;overflow:hidden}
.menu-lightbox::backdrop{background:rgba(8,7,8,.92);backdrop-filter:blur(12px)}
.menu-lightbox[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;animation:menuDialogOpen .25s ease both}
.menu-lightbox-header,.menu-lightbox-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 19px;background:#292527;border-bottom:1px solid #49413c}
.menu-lightbox-header{font:italic 21px Georgia,serif}
.menu-lightbox-footer{border-top:1px solid #49413c;border-bottom:0}
.menu-lightbox-footer button,.menu-lightbox-close{min-width:46px;height:43px;border:1px solid rgba(255,255,255,.18);background:#343033;color:#f7ead8;padding:0 13px;cursor:pointer;font-size:13px}
.menu-lightbox-footer button:hover,.menu-lightbox-close:hover{background:#e9bf6c;color:#211e20}
.menu-lightbox-viewport{display:block;overflow:auto;overscroll-behavior:contain;text-align:center;padding:16px 12px;scrollbar-width:thin;touch-action:pan-x pan-y}
.menu-lightbox-viewport img{display:block;width:auto;max-width:100%;height:auto;max-height:none;margin:0 auto;box-shadow:0 12px 35px #0008;background:#332f30}
.menu-lightbox-viewport.is-zoomed img{width:1250px;max-width:none;min-width:1250px}
.menu-lightbox-footer span{color:#ddcab1;font-size:13px;font-variant-numeric:tabular-nums}
@keyframes menuDialogOpen{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}
/* QR-menu route: opens the printed-menu gallery, not the homepage introduction. */
.menu-route .hero,.menu-route .favorites{display:none}
.menu-route .menu-story{padding-top:52px}
@media(max-width:1000px){
.menu-book-stage{height:590px}
.menu-book-page{width:min(410px,52vw)}
}
@media(max-width:700px){
.menu-story{padding:58px 0 60px}
.menu-story-heading{align-items:start;flex-direction:column;gap:20px}
.menu-story-heading h2{font-size:clamp(43px,10vw,58px)}
.menu-story-heading p{font-size:14px}
.menu-pdf-button{width:100%;justify-content:center}
.menu-book-topline{padding-top:17px}
.menu-book-label{font-size:17px}
.menu-book-index{font-size:27px}
.menu-book-stage{height:calc((100vw - 70px) * 1.42 + 40px);min-height:425px;max-height:690px;margin:0 -13px}
.menu-book-page{width:min(calc(100vw - 76px),444px);border-width:4px}
.menu-book-page[data-position='previous']{transform:translate(-113%,-50%) rotate(-6deg) scale(.86);opacity:.24}
.menu-book-page[data-position='next']{transform:translate(13%,-50%) rotate(6deg) scale(.86);opacity:.24}
.menu-book-arrow{top:auto;bottom:18px;transform:none;width:43px;height:43px;font-size:21px;opacity:.94;background:#292628}
.menu-book-arrow:hover:not(:disabled){transform:scale(1.06)}
.menu-book-arrow-prev{left:16px}.menu-book-arrow-next{right:16px}
.menu-book-bottomline{font-size:11px;flex-wrap:wrap}
.menu-book-progress{width:30%;margin-left:auto}
.menu-zoom-callout{width:100%;text-align:left}
.menu-thumb{width:58px;flex-basis:58px;height:88px}
.menu-thumbs{gap:9px;padding-top:16px}
.menu-story-footer{align-items:stretch;flex-direction:column}
.menu-story-footer .btn{width:100%}
.menu-lightbox{width:100vw;height:100dvh;max-height:100dvh;border:0}
.menu-lightbox-header{padding:10px 12px;font-size:17px}
.menu-lightbox-footer{padding:8px;gap:5px}
.menu-lightbox-footer button{padding:0 9px;min-width:39px;height:44px}
.menu-lightbox-viewport{padding:10px 6px}
.menu-lightbox-viewport.is-zoomed img{min-width:870px;width:870px}
}
@media(max-width:390px){
.menu-story-heading h2{font-size:44px}
.menu-book-stage{min-height:415px}
.menu-book-bottomline>span:first-child{font-size:10px}
.menu-book-progress{width:80px}
}
@media(prefers-reduced-motion:reduce){
.menu-book-page,.menu-thumb,.menu-book-progress>span,.menu-pdf-button,.menu-book-arrow,.menu-lightbox[open]{transition:none!important;animation:none!important}
}


/* v1.1.4 simplified menu section */
.menu-story{padding:82px 0 78px}
.menu-story-heading{align-items:flex-end;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.08)}
.menu-story-heading .section-index{margin-bottom:10px}
.menu-story-heading h2{margin-bottom:0}
.menu-story-heading p{display:none}
.menu-pdf-button{min-height:54px;padding:14px 18px;border-radius:16px;background:rgba(255,255,255,.03);font-size:13px;font-weight:700;letter-spacing:.02em;box-shadow:inset 0 0 0 1px rgba(233,191,108,.1)}
.menu-pdf-icon,.menu-pdf-button small{display:none}
.menu-book-topline{max-width:1020px;margin-top:0;padding:0 0 16px;border-bottom:0}
.menu-book-label{font:normal 16px/1.2 Arial,Helvetica,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#bba381}
.menu-book-index{font-size:29px}
.menu-book-stage{height:630px;border:1px solid rgba(255,255,255,.08);border-radius:28px;background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.015));box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}
.menu-book-page{border-radius:18px;border-color:#433c3f;overflow:hidden}
.menu-book-page[data-position="previous"],.menu-book-page[data-position="next"]{opacity:.35;filter:brightness(.64) saturate(.9)}
.menu-book-arrow{width:54px;height:54px;border-color:rgba(255,255,255,.18);background:rgba(26,24,26,.72)}
.menu-book-bottomline{max-width:1020px;justify-content:flex-end;padding:18px 4px 0;border-top:0}
.menu-book-bottomline>span:first-child{display:none}
.menu-book-progress{width:min(28vw,240px);height:3px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.11);margin-right:auto}
.menu-book-progress>span{border-radius:999px}
.menu-zoom-callout{min-height:44px;padding:10px 16px;border-radius:999px;background:rgba(255,255,255,.04);text-decoration:none;border:1px solid rgba(255,255,255,.12);color:#f4d28d;transition:background .25s ease,border-color .25s ease,transform .25s ease}
.menu-zoom-callout:hover{background:rgba(233,191,108,.08);border-color:rgba(233,191,108,.3);transform:translateY(-1px)}
.menu-thumbs{display:none!important}
.menu-story-footer{margin-top:30px;padding-top:26px;border-top:1px solid rgba(255,255,255,.08)}
.menu-story-footer p{font-size:15px}
@media(max-width:860px){.menu-story-heading{align-items:flex-start;flex-direction:column;gap:18px}.menu-pdf-button{width:100%;justify-content:center}}
@media(max-width:700px){.menu-story{padding:40px 0 54px}.menu-story-heading{margin-bottom:14px;padding-bottom:6px}.menu-story-heading h2{font-size:clamp(39px,12vw,52px)}.menu-pdf-button{width:100%;justify-content:center;border-radius:14px;min-height:50px;padding:13px 16px}.menu-book-topline{padding-bottom:12px}.menu-book-label{font-size:12px;letter-spacing:.16em}.menu-book-index{font-size:25px}.menu-book-stage{height:calc((100vw - 48px) * 1.42);min-height:400px;max-height:620px;margin:0;border-radius:22px;padding:0 4px}.menu-book-page{width:min(calc(100vw - 72px),420px);border-width:3px;border-radius:16px}.menu-book-page[data-position="previous"]{transform:translate(-104%,-50%) rotate(-7deg) scale(.82);opacity:0}.menu-book-page[data-position="next"]{transform:translate(4%,-50%) rotate(7deg) scale(.82);opacity:0}.menu-book-arrow{bottom:12px;width:42px;height:42px;font-size:18px;background:rgba(19,18,19,.9)}.menu-book-arrow-prev{left:12px}.menu-book-arrow-next{right:12px}.menu-book-bottomline{padding:14px 0 0;gap:12px;align-items:center}.menu-book-progress{order:2;width:100%;margin-right:0}.menu-zoom-callout{order:1;width:100%;text-align:center;justify-content:center;font-size:12px;padding:11px 14px}.menu-story-footer{margin-top:22px;padding-top:22px;gap:16px}.menu-story-footer p{text-align:left;font-size:14px}.menu-route .menu-story{padding-top:30px}}
@media(max-width:390px){.menu-story-heading h2{font-size:34px}.menu-book-stage{min-height:370px}.menu-book-page{width:min(calc(100vw - 62px),370px)}.menu-book-index{font-size:22px}}

/* v1.1.5: remove the gold overlay/border on touch devices.
   Desktop keyboard users retain a visible focus indication. */
@media (hover: none) and (pointer: coarse) {
  .menu-book:focus, .menu-book:focus-visible { outline: none !important; box-shadow: none !important; }
  .menu-book-stage, .menu-book-page, .menu-book-arrow { -webkit-tap-highlight-color: transparent; }
  .menu-book-page[data-position="active"] {
    border-color: #3e393a;
    box-shadow: 0 25px 55px rgba(0,0,0,.52) !important;
  }
}
/* Removed the extra zoom CTA, leaving a discreet progress indicator. */
.menu-book-bottomline { justify-content: center; }
.menu-book-progress { margin: 0 auto !important; }
