.menu-gallery{margin:30px 0 0;border:1px solid #e2e9f3;border-radius:24px;background:#fff;box-shadow:0 12px 40px #07194308;overflow:hidden}
.entry-content .menu-gallery a{text-decoration:none}
.menu-gallery-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 28px}
.menu-gallery-header .eyebrow{margin:0 0 8px;font-size:9px;letter-spacing:.2em;color:#607394}
.entry-content .menu-gallery-header h2{font-size:24px;letter-spacing:-.035em;margin:0;line-height:1.2}
.menu-gallery-count{flex-shrink:0;min-width:62px;padding:8px 14px;border-radius:30px;background:#eff4ff;color:#1261ff;font-size:13px;font-weight:600;text-align:center;font-variant-numeric:tabular-nums}
.menu-gallery-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#bbcbea #f3f6fb;position:relative;background:#f3f6fb}
.menu-gallery.is-enhanced .menu-gallery-track{scrollbar-width:none}
.menu-gallery.is-enhanced .menu-gallery-track::-webkit-scrollbar{display:none}
.menu-gallery-slide{flex:0 0 100%;min-width:0;margin:0;scroll-snap-align:start;scroll-snap-stop:always}
.menu-gallery-open{display:flex;align-items:center;justify-content:center;height:560px;padding:24px;cursor:zoom-in;background:linear-gradient(145deg,#f2f6fc,#eaf0f8);overflow:hidden}
.entry-content .menu-gallery-open img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;margin:0;border-radius:4px;object-fit:contain;box-shadow:0 8px 28px #07194319}
.menu-gallery-open:focus-visible{outline-offset:-5px}
.menu-gallery-caption{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 28px;border-bottom:1px solid #e6ebf3;background:#fff;color:#071943;font-size:14px}
.menu-gallery-caption strong{font-weight:600}
.menu-gallery-caption>span{display:inline-flex;align-items:center;gap:8px;color:#1261ff;font-size:12px}
.menu-gallery-caption .icon{width:17px;height:17px}
.menu-gallery-footer{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:12px;padding:18px 24px 8px}
.menu-gallery-arrow{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:10px;border:1px solid #dde6f4;border-radius:50%;background:#fff;color:#1261ff;transition:background .15s}
.menu-gallery-arrow:hover{background:#edf3ff}
.menu-gallery-arrow:disabled{opacity:.3}
.menu-gallery-dates{grid-column:2;display:flex;justify-content:center;gap:8px;min-width:0}
.menu-gallery-date{display:block;padding:10px 16px;border-radius:12px;background:#f5f7fa;font-size:12px;line-height:1.5;color:#607394;white-space:nowrap;font-weight:500;font-variant-numeric:tabular-nums;transition:background .15s,color .15s}
.menu-gallery-date:hover{background:#eaf0ff;color:#1261ff}
.menu-gallery-date[aria-current=true]{background:#1261ff;color:#fff}
.entry-content .menu-gallery-hint{margin:6px 20px 20px;color:#607394;font-size:11px;text-align:center}
.menu-viewer-is-open{overflow:hidden}
.menu-viewer{position:fixed;inset:0;width:1160px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);padding:0;margin:auto;border:0;border-radius:22px;background:#fff;color:#071943;box-shadow:0 24px 100px #07194344;overflow:hidden}
.menu-viewer:not([open]){display:none}
.menu-viewer[open]{display:flex;flex-direction:column}
.menu-viewer::backdrop{background:#071943b8;backdrop-filter:blur(5px)}
.menu-viewer-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;padding:18px 22px;border-bottom:1px solid #e6ebf3}
.menu-viewer-title{font-size:20px;line-height:1.3;letter-spacing:-.025em;margin:0}
.menu-viewer-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.menu-viewer-actions button,.menu-viewer-original{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border:1px solid #dce5f2;border-radius:10px;background:#fff;color:#1261ff;font-size:12px;line-height:1.4;font-weight:500}
.menu-viewer-actions button:hover,.menu-viewer-original:hover{background:#edf3ff}
.menu-viewer-actions .menu-viewer-close{background:#1261ff;color:#fff;border-color:#1261ff}
.menu-viewer-stage{position:relative;overflow:auto;overscroll-behavior:contain;min-height:100px;max-height:calc(100dvh - 144px);padding:24px;background:#eef2f8;text-align:center}
.menu-viewer-image{display:block;width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 192px);margin:0 auto;border-radius:3px;box-shadow:0 6px 25px #0719431a}
.menu-viewer-stage.is-zoomed .menu-viewer-image{width:1100px;max-width:none;max-height:none}
.menu-viewer-status{font-size:14px;color:#607394;margin:20px}
@media(max-width:700px){
 .menu-gallery{margin-top:24px;border-radius:18px}
 .menu-gallery-header{padding:20px 16px;gap:12px}
 .entry-content .menu-gallery-header h2{font-size:20px}
 .menu-gallery-header .eyebrow{font-size:8px;letter-spacing:.15em}
 .menu-gallery-count{min-width:52px;font-size:12px;padding:7px 10px}
 .menu-gallery-open{height:440px;padding:16px}
 .menu-gallery-caption{padding:15px 16px;font-size:13px;gap:8px}
 .menu-gallery-caption>span{font-size:10px;gap:5px}
 .menu-gallery-caption .icon{width:15px;height:15px}
 .menu-gallery-footer{padding:15px 12px 6px;gap:8px}
 .menu-gallery-dates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;text-align:center}
 .menu-gallery-date{padding:12px 4px;font-size:12px;border-radius:9px}
 .menu-gallery-year{display:none}
 .entry-content .menu-gallery-hint{font-size:10px;margin-bottom:16px}
 .menu-viewer{max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:16px}
 .menu-viewer-header{padding:14px;gap:12px}
 .menu-viewer-title{font-size:17px}
 .menu-viewer-actions{width:100%;gap:6px}
 .menu-viewer-actions button,.menu-viewer-original{flex:1;padding:10px 7px;font-size:11px}
 .menu-viewer-stage{padding:12px;max-height:calc(100dvh - 155px)}
 .menu-viewer-image{max-height:calc(100dvh - 179px)}
}
@media(prefers-reduced-motion:reduce){.menu-gallery *{scroll-behavior:auto!important;transition:none!important}}
