/* Smith Digital R40 – ONE consistent content edge for all public pages.
   Matches the navbar's admin-configured desktopContentWidth; admin dashboard
   and deliberately narrow login/register forms are not changed. */
body :is(
  .site-header > .header-inner.container,
  main.container.shop-main,
  main.container.blog-main,
  main.container.article-main,
  main.container.policy-main,
  main.container.checkout-main,
  main.container.order-main,
  main.container.tools-main,
  .site-footer > .container
) {
  width: min(var(--desktop-content-width, 1200px), calc(100% - 48px));
  max-width: none;
  margin-inline: auto;
  box-sizing: border-box;
}

/* The old site intentionally narrowed these two pages to 1000px / 860px,
   making their edges different from navbar and the home catalog. */
body main.container.public-product > .checkout-layout,
body main.container.article-main > .public-article,
body main.container.checkout-main > .checkout-layout,
body main.container.order-main > .order-layout {
  width: 100%;
  max-width: none;
  margin-inline: 0;
  box-sizing: border-box;
}
body main.container.article-main > .public-article {
  display: block;
  padding: clamp(20px, 3vw, 38px);
  min-width: 0;
}
body main.container.article-main .article-cover {
  width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain; /* do not crop banner artwork or its printed text */
}
body main.container.article-main .article-content,
body main.container.article-main .article-lead {
  max-width: none;
  overflow-wrap: anywhere;
}
body main.container.public-product > .checkout-layout > *,
body main.container.article-main > .public-article,
body main.container.shop-main > .hero-grid,
body main.container.shop-main > .category-strip,
body main.container.shop-main #product-grid,
body main.container.blog-main > .blog-grid {
  min-width: 0;
}
body main.container.shop-main .checkout-layout {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr);
}

@media (max-width: 780px) {
  body :is(
    .site-header > .header-inner.container,
    main.container.shop-main,
    main.container.blog-main,
    main.container.article-main,
    main.container.policy-main,
    main.container.checkout-main,
    main.container.order-main,
    main.container.tools-main,
    .site-footer > .container
  ) {
    width: calc(100% - 32px);
  }
  body main.container.shop-main .checkout-layout {
    grid-template-columns: minmax(0, 1fr);
  }
  body main.container.article-main > .public-article {
    padding: 20px;
  }
}
@media (max-width: 480px) {
  body main.container.article-main > .public-article { padding: 16px; }
}
