/* Shared production repairs: responsive containment and compact mobile navigation. */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

img,
video,
iframe,
svg {
  max-width: 100%;
}

img {
  height: auto;
}

* {
  min-width: 0;
}

@media (max-width: 760px) {
  header,
  .site-header,
  .fr-nav {
    height: auto !important;
    min-height: 64px;
    padding: 0.75rem 1rem !important;
    flex-wrap: wrap;
    gap: 0.65rem;
  }

  header nav,
  .site-header nav,
  .fr-nav nav {
    width: 100%;
    margin: 0 !important;
    display: flex !important;
    flex-wrap: wrap;
    gap: 0.45rem 0.8rem !important;
  }

  header nav a,
  .site-header nav a,
  .fr-nav nav a,
  .fr-nav nav b {
    white-space: normal;
  }

  h1,
  h2,
  h3,
  p,
  a {
    overflow-wrap: anywhere;
  }

  .hero,
  .intro,
  .services,
  .gallery,
  .property,
  .fr-grid,
  .roles,
  .contact-grid,
  .brand-family,
  .directory-layout,
  .directory-grid {
    grid-template-columns: 1fr !important;
  }

  .food-hero {
    grid-template-columns: 1fr !important;
    padding: 1rem !important;
  }

  .food-hero .authentic-poster {
    width: min(100%, 540px) !important;
    max-height: none !important;
    margin-inline: auto;
    object-fit: contain;
  }

  .fr-title,
  .fr-section,
  main {
    max-width: 100%;
  }

  table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
  }
}
