/* Shared overflow correction for the existing Home, Gallery and Pro shells.
   Keep every existing action reachable; do not mask the layout with overflow:hidden.
   The separately approved /newprototype/ shell intentionally does not load this file. */
@media (max-width: 1100px) {
  nav.top .inner {
    flex-wrap: wrap;
    gap: 8px 16px;
  }
  nav.top .inner > * {
    max-width: 100%;
    min-width: 0;
  }
  nav.top .brand {
    flex-shrink: 0;
    white-space: nowrap;
  }
  nav.top .inner > a,
  nav.top .signin,
  nav.top .cta {
    min-height: 44px;
    align-items: center;
  }
  nav.top .signin,
  nav.top .cta {
    white-space: normal;
    text-align: center;
    overflow-wrap: anywhere;
  }
}
@media (max-width: 640px) {
  nav.top .inner {
    padding-left: 16px;
    padding-right: 16px;
    gap: 6px 12px;
  }
  nav.top .lang {
    margin-left: 0;
  }
  .pm-page-pro main {
    width: 100%;
    min-width: 0;
    padding: 44px 20px 40px;
  }
  .pm-page-pro h1 {
    font-size: clamp(34px, 9vw, 48px);
    overflow-wrap: anywhere;
  }
  .pm-page-pro .card {
    padding: 24px 20px;
  }
  .pm-page-gallery main {
    padding-left: 16px;
    padding-right: 16px;
  }
  .pm-page-gallery header.page .left,
  .pm-page-gallery .filter-group {
    min-width: 0;
    max-width: 100%;
  }
  .pm-page-gallery .filter-group select,
  .pm-page-gallery #folder-mobile select {
    min-width: 0;
    max-width: 100%;
  }
  .pm-page-gallery #gallery-empty {
    padding-left: 16px;
    padding-right: 16px;
  }
  .pm-page-gallery #empty-cta-wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
  }
  .pm-page-gallery #empty-cta-wrap a {
    max-width: 100%;
    margin: 0;
    white-space: normal;
  }
}

/* The legacy home footer keeps a 48px gap and min-content-sized 1fr tracks.
   On very narrow screens, long translated legal links cannot fit two tracks.
   Use a single column instead of clipping links or breaking their labels. */
@media (max-width: 380px) {
  footer .footer-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }
}
