/* Selected menu 02: centered copy, one large plate and two neighboring dishes.
   All food retains its original image ratio; the scene contains no baked-in UI. */
.selected-preview .menu-section {
  --menu-dish-gap: clamp(32px, 3.5vw, 56px);
  --menu-plate-width: min(62vw, 1040px);
  --menu-plate-height: calc(var(--menu-plate-width) * .75);
  --menu-photo-top: calc(var(--selected-menu-title-height, 120px) + var(--menu-dish-gap));
  --menu-control-height: 64px;
  position: relative;
  isolation: isolate;
  padding: clamp(40px, 4vw, 64px) 0 32px;
  background: #073f33 url('../../images/selected-20260922/menu-carousel-scene.png') center top / cover no-repeat;
  color: #fff4dc;
  font-family: Pretendard, sans-serif;
  overflow: hidden;
}
.selected-preview .menu-section > .menu-heading,
.selected-preview .menu-section > .copy-menu-note {
  width: min(var(--menu-content-max, 1280px), calc(100% - 2 * var(--menu-gutter, 24px)));
  max-width: none;
  margin-inline: auto;
}
.selected-preview .menu-section .menu-heading { padding: 0; text-align: center; }
.selected-preview .menu-section .menu-tabs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 4px;
  width: min(720px, 100%);
  margin: 0 auto clamp(36px, 3.5vw, 56px);
  padding: 6px;
  border-radius: 999px;
  background: #fff4dc;
  box-shadow: 0 4px 12px rgb(18 28 19 / 12%);
}
.selected-preview .menu-section .menu-tabs button {
  min-width: 0;
  min-height: clamp(46px, 3.45vw, 56px);
  padding: 8px 12px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #073f33;
  font-family: Pretendard, sans-serif;
  font-size: clamp(17px, 1.5vw, 24px);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: -.02em;
  text-align: center;
  white-space: nowrap;
  cursor: pointer;
  transition: background-color .2s ease, color .2s ease;
}
.selected-preview .menu-section .menu-tabs button[aria-selected="true"] {
  background: var(--orange);
  color: #073f33;
  font-weight: 800;
}
@media (hover: hover) {
  .selected-preview .menu-section .menu-tabs button:not([aria-selected="true"]):hover {
    background: rgb(16 75 65 / 9%);
    color: #073f33;
  }
}
.selected-preview .menu-section .menu-tabs button:focus-visible {
  outline: 3px solid #073f33;
  outline-offset: -4px;
  box-shadow: none;
}
@media (min-width: 761px) {
  html[lang="en"] .selected-preview .menu-section .menu-tabs button {
    font-size: clamp(17px, 1.5vw, 19px);
  }
}
.selected-preview .menu-section .menu-stage {
  position: relative;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  background: none;
}
.selected-preview .menu-section .menu-panel { position: relative; min-width: 0; outline-offset: -6px; }
.selected-preview .menu-section .menu-panel[hidden] { display: none; }
.selected-preview .menu-section .menu-track {
  display: flex;
  gap: 0;
  padding: 0;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-padding: 0;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  overscroll-behavior-x: contain;
}
.selected-preview .menu-section .menu-dish {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-items: start;
  gap: var(--menu-dish-gap);
  position: relative;
  width: 100%;
  min-width: 0;
  height: auto;
  min-height: 0;
  flex: 0 0 100%;
  padding: 0 0 48px;
  opacity: 1;
  transform: none;
  transition: none;
  scroll-snap-align: center;
}
.selected-preview .menu-section .menu-dish__copy {
  grid-column: 1;
  grid-row: 1;
  position: relative;
  inset: auto;
  z-index: 2;
  width: min(1120px, calc(100% - 2 * var(--menu-gutter, 24px)));
  min-width: 0;
  margin: 0 auto;
  padding: 0;
  color: inherit;
  text-align: center;
  text-shadow: 0 2px 4px rgb(26 18 10 / 25%);
}
.selected-preview .menu-section .menu-dish__copy::after { content: none; }
.selected-preview .menu-section .editorial-menu__title {
  box-sizing: content-box;
  margin: 0;
  padding: 0;
  color: #fff4dc;
  font-family: var(--font-display, Pretendard, sans-serif);
  font-size: clamp(54px, 6.3vw, 108px);
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -.035em;
  word-break: keep-all;
  overflow-wrap: anywhere;
  text-wrap: initial;
}
.selected-preview .menu-section[data-menu-layout-prepared] .editorial-menu__title,
.selected-preview .menu-section.is-selected-motion-ready .editorial-menu__title {
  height: var(--selected-menu-title-height, 1.2em);
  min-height: var(--selected-menu-title-height, 1.2em);
  max-height: var(--selected-menu-title-height, 1.2em);
  overflow: hidden;
}
.selected-preview .menu-section .editorial-menu__title > .editorial-menu__reel {
  display: flex;
  justify-content: center;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0 .22em;
}
.selected-preview .menu-section .editorial-menu__reel > span { display: block; }
.selected-preview .menu-section .editorial-menu__reel > span:first-child:not(:only-child) { color: inherit; }
.selected-preview .menu-section .editorial-menu__reel > .selected-menu__name-slot {
  display: block;
  overflow: hidden;
  padding-block: .035em;
  margin-block: -.035em;
  max-width: 100%;
}
.selected-preview .menu-section .selected-menu__name-slot > .selected-menu__name-line { display: block; }
.selected-preview .menu-section .editorial-menu__title .selected-menu__name-slot::before,
.selected-preview .menu-section .editorial-menu__title .selected-menu__name-line::before { content: none; }
.selected-preview .menu-section .editorial-menu__photo-window {
  grid-column: 1;
  grid-row: 2;
  position: relative;
  inset: auto;
  width: var(--menu-plate-width);
  height: var(--menu-plate-height);
  min-width: 0;
  aspect-ratio: 4 / 3;
  margin: 0 auto;
  padding: 0;
  overflow: visible;
  clip-path: none;
  transform: none;
  touch-action: pan-y pinch-zoom;
  cursor: grab;
}
.selected-preview .menu-section .editorial-menu__photo-window:active { cursor: grabbing; }
.selected-preview .menu-section .selected-menu__orbit {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  transform-origin: 50% 50%;
  will-change: transform, opacity;
}
.selected-preview .menu-section .editorial-menu__photo-window img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: contain;
  object-position: center;
  aspect-ratio: auto;
  transform: none;
  filter: drop-shadow(0 16px 12px rgb(31 17 8 / 30%));
  user-select: none;
  -webkit-user-drag: none;
}
.selected-preview .menu-section .selected-menu__neighbor {
  position: absolute;
  z-index: 0;
  top: calc(var(--menu-photo-top) + var(--menu-plate-height) * .06);
  width: calc(var(--menu-plate-width) * .64);
  height: calc(var(--menu-plate-height) * .64);
  background: var(--neighbor-photo) center / contain no-repeat;
  /* Match the center image's 16px / 12px shadow after its .64 scale handoff. */
  filter: drop-shadow(0 10.24px 7.68px rgb(31 17 8 / 30%));
  pointer-events: none;
  user-select: none;
}
.selected-preview .menu-section .selected-menu__neighbor[hidden] { display: none; }
.selected-preview .menu-section .selected-menu__neighbor--previous { left: calc(50% - var(--menu-plate-width) * 1.08); }
.selected-preview .menu-section .selected-menu__neighbor--next { right: calc(50% - var(--menu-plate-width) * 1.08); }
.selected-preview .menu-section .menu-controls {
  display: none;
  position: absolute;
  inset: 0;
  width: 100%;
  max-width: none;
  height: auto;
  margin: 0;
  padding: 0;
  z-index: 3;
  color: #103e31;
  pointer-events: none;
}
.selected-preview .menu-section.is-selected-motion-ready .menu-controls { display: block; }
.selected-preview .menu-section .menu-controls button {
  display: grid;
  place-items: center;
  position: absolute;
  top: calc(var(--menu-photo-top) + var(--menu-plate-height) * .43 - var(--menu-control-height) * .5);
  width: var(--menu-control-height);
  height: var(--menu-control-height);
  min-height: 44px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgb(255 255 255 / 64%);
  color: #333;
  box-shadow: none;
  cursor: pointer;
  pointer-events: auto;
  transition: background-color 200ms ease;
}
.selected-preview .menu-section [data-menu-prev] { left: max(20px, calc(50% - var(--menu-plate-width) * .62)); }
.selected-preview .menu-section [data-menu-next] { right: max(20px, calc(50% - var(--menu-plate-width) * .62)); }
@media (hover: hover) and (pointer: fine) {
  .selected-preview .menu-section .menu-controls button:hover { background: rgb(255 255 255 / 80%); }
}
.selected-preview .menu-section .menu-controls .icon { width: 28px; height: 28px; filter: brightness(0) opacity(.8); }
.selected-preview .menu-section .copy-menu-note {
  position: static;
  margin-top: 8px;
  margin-bottom: 0;
  padding: 0;
  color: #eee0c8;
  text-shadow: 0 1px 4px #42250e;
  text-align: center;
  font-size: 13px;
  line-height: 1.6;
  word-break: keep-all;
}
.selected-preview .menu-section > .selected-menu__feedback {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px 16px;
  width: min(680px, calc(100% - 2 * var(--menu-gutter, 24px)));
  margin: 20px auto 0;
  padding: 14px 20px;
  color: #153f36;
  background: #fff4dd;
  border-radius: 4px;
}
.selected-preview .menu-section > .selected-menu__feedback[hidden] { display: none; }
.selected-preview .menu-section .selected-menu__feedback p { margin: 0; font-size: 14px; line-height: 1.5; }
.selected-preview .menu-section [data-menu-retry] {
  min-height: 44px;
  padding: 8px 14px;
  border: 1px solid currentColor;
  border-radius: 3px;
  font: inherit;
  font-size: 14px;
  font-weight: 600;
  color: inherit;
  background: transparent;
  cursor: pointer;
}
.selected-preview .menu-section [data-menu-retry]:hover:not(:disabled):not([aria-disabled="true"]) { background: #104b410a; }
.selected-preview .menu-section [data-menu-retry]:disabled,
.selected-preview .menu-section [data-menu-retry][aria-disabled="true"] { opacity: .55; cursor: wait; }
.selected-preview .menu-section button:focus-visible,
.selected-preview .menu-section .menu-panel:focus-visible { outline: 3px solid var(--orange); outline-offset: 5px; }
/* Hidden dishes keep measurable copy slots, without exposing them to input or AT. */
.selected-preview .menu-section.is-selected-motion-ready .menu-stage { display: grid; }
.selected-preview .menu-section.is-selected-motion-ready .menu-panel { grid-area: 1 / 1; }
.selected-preview .menu-section.is-selected-motion-ready .menu-track {
  display: grid;
  position: relative;
  z-index: 1;
  overflow: visible;
  scroll-snap-type: none;
  isolation: isolate;
}
.selected-preview .menu-section.is-selected-motion-ready .menu-dish {
  grid-area: 1 / 1;
  visibility: hidden;
  pointer-events: none;
}
.selected-preview .menu-section.is-selected-motion-ready .menu-dish.is-current { visibility: visible; pointer-events: auto; z-index: 2; }
.selected-preview .menu-section.is-selected-motion-ready .menu-dish.is-exiting { visibility: visible; pointer-events: none; z-index: 1; }
.selected-preview .menu-section .menu-panel[aria-hidden="true"] .menu-controls { visibility: hidden; }
.selected-preview .menu-section .menu-panel[aria-hidden="true"] .selected-menu__neighbor { visibility: hidden; }
.selected-preview .menu-section .menu-panel.is-exiting-panel .selected-menu__neighbor { visibility: visible; }
html[lang="en"] .selected-preview .menu-section .editorial-menu__title { font-family: var(--font-display, Pretendard, sans-serif); font-size: clamp(42px, 4.3vw, 74px); font-weight: 400; letter-spacing: -.035em; word-break: normal; }
@media (max-width: 760px) {
  .selected-preview .menu-section {
    --menu-gutter: var(--gutter, 24px);
    --menu-dish-gap: 28px;
    --menu-plate-width: min(calc(100vw - 16px), 640px);
    --menu-control-height: 46px;
    padding-block: 36px 28px;
    background-size: auto 120%;
    background-position: center top;
  }
  .selected-preview .menu-section .menu-tabs { gap: 2px; padding: 5px; margin-bottom: 32px; }
  .selected-preview .menu-section .menu-tabs button {
    min-height: 44px;
    padding: 8px 4px;
    font-size: clamp(14px, 3.8vw, 18px);
  }
  .selected-preview .menu-section .menu-dish { padding-bottom: 44px; }
  .selected-preview .menu-section .editorial-menu__title { font-size: clamp(36px, 10vw, 62px); line-height: 1.2; letter-spacing: -.035em; }
  .selected-preview .menu-section .editorial-menu__title > .editorial-menu__reel { gap: 0 .16em; }
  .selected-preview .menu-section .selected-menu__neighbor { top: calc(var(--menu-photo-top) + var(--menu-plate-height) * .08); }
  .selected-preview .menu-section .selected-menu__neighbor--previous { left: calc(50% - var(--menu-plate-width) * 1.02); }
  .selected-preview .menu-section .selected-menu__neighbor--next { right: calc(50% - var(--menu-plate-width) * 1.02); }
  .selected-preview .menu-section [data-menu-prev] { left: 12px; }
  .selected-preview .menu-section [data-menu-next] { right: 12px; }
  .selected-preview .menu-section .menu-controls .icon { width: 24px; height: 24px; }
  .selected-preview .menu-section .copy-menu-note { font-size: 12px; }
  html[lang="en"] .selected-preview .menu-section .editorial-menu__title { font-size: clamp(30px, 8vw, 46px); }
  html[lang="en"] .selected-preview .menu-section .menu-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; border-radius: 28px; }
  html[lang="en"] .selected-preview .menu-section .menu-tabs button { text-align: center; }
}
@media (prefers-reduced-motion: reduce) {
  .selected-preview .menu-section .selected-menu__orbit { will-change: auto; }
  .selected-preview .menu-section .menu-controls button,
  .selected-preview .menu-section .menu-tabs button { transition: none; }
  .selected-preview .menu-section .menu-controls button,
  .selected-preview .menu-section .menu-controls button:hover,
  .selected-preview .menu-section .menu-controls button:active { transform: none; }
}
