
.dish-photo{display:block;position:relative;width:100%;aspect-ratio:1;overflow:hidden;border-radius:12px;background:#b58657;line-height:0}
.dish-photo img{width:100%;height:100%;object-fit:cover;display:block;animation:dish-approach 10s ease-in-out infinite alternate;animation-play-state:paused}
.dish-photo i{position:absolute;left:35%;top:18%;width:22%;height:50%;background:radial-gradient(ellipse,#fff7,transparent 70%);filter:blur(7px);opacity:0;pointer-events:none;animation:dish-steam 6s ease-in-out infinite;animation-play-state:paused}
.dish-photo i+i{left:57%;animation-delay:3s}
.dish-photo.is-visible img,.dish-photo.is-visible i{animation-play-state:running}
.dish-icon:has(.dish-photo){width:104px;flex:0 0 104px;padding-top:0;font-size:0}
.cart-item-icon:has(.dish-photo){width:64px;flex:0 0 64px}.admin-dish>span:has(.dish-photo){width:48px}
html.motion-paused .dish-photo *{animation-play-state:paused!important}html.motion-paused .dish-photo i{visibility:hidden}
@keyframes dish-approach{to{transform:scale(1.035)}}
@keyframes dish-steam{0%{opacity:0;transform:translateY(10px)}40%{opacity:.17}100%{opacity:0;transform:translateY(-28px)}}
@media(max-width:600px){.dish-icon:has(.dish-photo){width:82px;flex-basis:82px}}
@media(prefers-reduced-motion:reduce){.dish-photo *{animation:none!important}.dish-photo i{display:none}}

/* Photographs occupy their own grid column in the order summary. */
.cart-item{grid-template-columns:64px minmax(0,1fr) 124px;align-items:start}
.cart-item .cart-item-icon:has(.dish-photo){width:64px;min-width:0;max-width:100%}
.cart-item-copy h4{overflow-wrap:break-word}
@media(max-width:600px){
 .cart-item{grid-template-columns:52px minmax(0,1fr);gap:10px 12px}
 .cart-item .cart-item-icon:has(.dish-photo){width:52px}
 .cart-item-actions{grid-column:2;justify-items:start}
}
