/* AYA: Foto und Karte bleiben dieselbe Auswahl. */
.dish[id], .menu-photo, .menu-photos { scroll-margin-top: 7rem; }
.dish:target { outline: 1px solid var(--altgold); outline-offset: .65rem; border-radius: .15rem; }
.dish-photo-link { grid-column: 1 / -1; width: fit-content; display: inline-flex; align-items: center; gap: .4em; min-height: 44px; padding: .35rem 0; color: var(--tinte-weich); font-size: .78rem; text-underline-offset: .3em; }
.menu-photo-intro { margin-top: 1.3rem; }
.ks-photo-link { display: block; position: absolute; inset: 0; }
.ks-name a, .sushi-title-link { color: inherit; text-decoration: none; }
.ks-name a:hover, .sushi-title-link:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .16em; }
.sushi-photo-link { display: contents; }
.sushi-photo-link:focus-visible .sushi-product-image { outline: 2px solid var(--altgold); outline-offset: 6px; }
.menu-photos { padding-block: clamp(3rem, 7vw, 6rem); border-top: 1px solid var(--linie); }
.menu-photos-head { display: grid; grid-template-columns: 1fr 1fr; align-items: end; gap: 2rem; margin-bottom: 2.5rem; }
.menu-photos-head h2 { font-size: clamp(2rem, 4vw, 3.4rem); line-height: 1.15; text-wrap: balance; }
.menu-photos-head p { max-width: 46ch; color: var(--tinte-weich); }
.menu-photos-head a, .menu-photo-intro a { text-underline-offset: .3em; }
.menu-photo-category { margin-top: 2.5rem; min-width: 0; }
.menu-photo-category h3 { font-size: clamp(1.2rem, 2vw, 1.7rem); margin-bottom: .65rem; }
.menu-photo-strip { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(170px, 22%); gap: 1.25rem; overflow-x: auto; padding: .8rem .4rem 1.5rem; scroll-padding-inline: .4rem; overscroll-behavior-x: contain; scrollbar-width: thin; }
.menu-photo { min-width: 0; border-radius: 1rem; scroll-margin-inline: 1rem; }
.menu-photo:target { outline: 2px solid var(--altgold); outline-offset: .3rem; }
.menu-photo-card { display: block; padding: .8rem; color: inherit; text-decoration: none; background: var(--papier); border: 1px solid var(--linie); border-radius: 1rem; }
.menu-photo-card img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; transition: transform 220ms var(--ease); }
.menu-photo-card h4 { color: var(--tinte); font-size: 1rem; line-height: 1.45; font-weight: 500; margin: .35rem 0 .45rem; min-height: 2.9em; }
.menu-photo-card > span, .menu-photo-detail { font-size: .75rem; line-height: 1.5; color: var(--tinte-weich); }
.menu-photo-detail { display: inline-flex; align-items: center; min-height: 44px; padding: .4rem .8rem; text-underline-offset: .25em; }
.menu-photos a:focus-visible, .menu-photos [tabindex]:focus-visible, .dish-photo-link:focus-visible, .ks-photo-link:focus-visible, .ks-name a:focus-visible, .sushi-title-link:focus-visible { outline: 2px solid var(--tinte); outline-offset: 4px; }
.menu-photo-card:active, .menu-photo-detail:active { transform: scale(.98); }
.photo-fallback { padding: 2rem var(--gutter); }
.photo-fallback-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(150px,1fr)); gap: 1rem; }
.photo-fallback img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:contain; }
.photo-fallback article { scroll-margin-top: 7rem; }
@media (hover:hover) and (pointer:fine) {
  .menu-photo-card:hover img { transform: scale(1.045); }
  .dish-photo-link:hover, .menu-photo-detail:hover { color: var(--tinte); }
}
@media (max-width:700px) {
  .menu-photos-head { grid-template-columns: 1fr; gap: 1rem; }
  .menu-photo-strip { grid-auto-columns: minmax(160px, 58%); gap: .8rem; }
  .menu-photo-category { margin-top: 1.8rem; }
  .menu-photos-head h2 { max-width: 15ch; }
}
@media (prefers-reduced-motion:reduce) {
  .menu-photo-card img { transition:none; }
}

.sushi-description-link { color:inherit; text-decoration: none; }
.sushi-description-link:hover { text-decoration: underline; text-underline-offset: .25em; }
.sushi-description-link:focus-visible { outline:2px solid var(--tinte); outline-offset:4px; }
.guest-heading p a { color:inherit; text-decoration:underline; text-underline-offset:.25em; }
