/* Keep the full meal, plate and drink visible at the supplied photo ratio. */
@media screen {
  .product-photo,.detail-photo,.detail-photo-pending { aspect-ratio:3/4; }
  /* Override the HTML height attribute so scaled photos cannot keep a 1448px box. */
  .product-photo,.detail-photo { display:block; width:100%; height:auto; object-fit:contain; background:transparent; }
  .product-photo-preview { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:repeat(2,minmax(0,1fr)); aspect-ratio:3/4; overflow:hidden; background:#0e0c0b; border-bottom:1px solid var(--line); }
  .product-photo-preview img { display:block; width:100%; height:100%; min-height:0; object-fit:contain; }
  .original-menu.has-cover { display:flex; flex-direction:column; align-items:stretch; gap:0; width:min(100%,280px); justify-self:end; height:auto; padding:0; }
  .menu-cover { display:block; width:100%; height:auto; aspect-ratio:3/4; object-fit:contain; }
  .has-cover .original-copy { display:flex; flex-direction:row; align-items:center; justify-content:space-between; gap:14px; padding:17px 19px; }
  .has-cover .original-copy .eyebrow { display:none; }
  .has-cover .original-copy strong { font-size:16px; }
  .has-cover .original-action { margin:0; }
  .has-cover .original-action>span:first-child { display:none; }
  .detail-media.has-gallery { position:static; }
  .gallery-caption { margin:0; padding:15px 18px 12px; font-size:14px; font-weight:600; }
  .gallery-thumbnails { display:flex; overflow-x:auto; gap:9px; padding:4px 18px 14px; scrollbar-width:thin; scrollbar-color:#ba4854 #292321; overscroll-behavior-x:contain; }
  .gallery-thumbnail { display:block; flex:0 0 75px; padding:3px; border:2px solid transparent; border-radius:5px; background:#0e0c0b; }
  .gallery-thumbnail[aria-pressed="true"] { border-color:#f2445b; }
  .gallery-thumbnail:focus-visible { outline-offset:1px; }
  .gallery-thumbnail img { display:block; width:100%; height:auto; aspect-ratio:3/4; object-fit:contain; }
  .gallery-note { margin:0; padding:14px 18px 18px; color:#bfb2a7; font-size:13px; line-height:1.6; }
}
@media screen and (max-width:560px) {
  .original-menu.has-cover { margin-top:24px; }
  .has-cover .original-copy { padding:14px 17px; }
  .has-cover .original-copy strong { max-width:none; }
}
@media print {
  .gallery-thumbnails,.gallery-note,.gallery-caption { display:none; }
  .product-photo-preview { display:none; }
}

.intro { grid-template-columns:1fr; }
.footer-address { margin-top:24px; padding-top:20px; border-top:1px solid var(--line); font-style:normal; font-size:16px; line-height:1.6; color:var(--text); overflow-wrap:anywhere; }
