/* Grid children otherwise keep their intrinsic minimum width on narrow screens. */
.app-grid > main {
  min-width: 0;
}

.app-grid > main,
.app-grid > main.stack,
.recipes-page,
#content {
  grid-template-columns: minmax(0, 1fr);
}

@media (max-width: 560px) {
  .vendors-title,
  .vendor-head,
  .campaign-card header {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .vendors-stats span,
  .vendor-meta,
  .vendor-guarantee {
    text-align: left !important;
    justify-items: start !important;
  }

  .vendor-meta,
  .campaign-badges {
    min-width: 0 !important;
    width: 100%;
  }

  .vendor-icons,
  .vendor-labs {
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    white-space: normal !important;
  }

  .vendor-card dl {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .section-header {
    flex-wrap: wrap;
  }

  .section-action {
    white-space: normal;
  }

  .recipe-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}
