/**
 * Public institutional pages (/help/, /news/, /support/, /privacy/, /legal/).
 * Scoped to body[data-institutional-page]; does not affect play, profile, or account.
 */
body[data-institutional-page] {
  --institutional-page-width: min(1120px, calc(100vw - 2 * clamp(16px, 2vw, 28px)));
}

body[data-institutional-page] .lib-breadcrumb.institutional-breadcrumb,
body[data-institutional-page] .institutional-page-card {
  box-sizing: border-box;
  width: var(--institutional-page-width);
  max-width: none;
  margin-left: auto;
  margin-right: auto;
}

body[data-institutional-page] .lib-breadcrumb.institutional-breadcrumb {
  margin-top: clamp(8px, 1.5vw, 14px);
  margin-bottom: 0;
}

body[data-institutional-page] .institutional-page-card {
  margin-top: clamp(10px, 1.8vw, 16px);
  margin-bottom: clamp(48px, 8vw, 64px);
  padding: clamp(20px, 3vw, 32px) clamp(16px, 2.5vw, 28px);
  border: 1px solid var(--line);
  border-radius: clamp(12px, 1.2vw, 16px);
  background: var(--paper-bright);
  box-shadow: var(--shadow-card, 0 1px 0 color-mix(in srgb, var(--ink) 6%, transparent));
}

body[data-institutional-page] .institutional-page-card > h1,
body[data-institutional-page] .institutional-page-card > .section-kicker {
  margin-top: 0;
}

body[data-institutional-page] .howto.institutional-page-card,
body[data-institutional-page] main.news-page.institutional-page-card {
  width: var(--institutional-page-width) !important;
  max-width: none !important;
}

body[data-institutional-page="privacy"] .institutional-page-card > :not(.publisher-card):not(figure),
body[data-institutional-page="legal"] .institutional-page-card > :not(.publisher-card):not(figure) {
  max-width: 85ch;
}

body[data-institutional-page="privacy"] .institutional-page-card .publisher-card,
body[data-institutional-page="legal"] .institutional-page-card .publisher-card,
body[data-institutional-page="legal"] .institutional-page-card figure.publisher-card {
  max-width: none;
}

body[data-institutional-page] .page {
  min-height: calc(100vh - 1px);
  display: flex;
  flex-direction: column;
}

body[data-institutional-page] .page > .site-footer,
body[data-institutional-page] .page > footer.site-footer {
  margin-top: auto;
}

@media (max-width: 767px) {
  body[data-institutional-page] .howto.institutional-page-card,
  body[data-institutional-page] main.news-page.institutional-page-card {
    width: var(--institutional-page-width) !important;
  }
}

/* Two-line crumbs on phones: keep 44px tap links without a tall flex block. */
@media (max-width: 390px) {
  body[data-institutional-page] .lib-breadcrumb.institutional-breadcrumb {
    line-height: 1.22;
    row-gap: 0;
    padding: 1px 5px;
    align-items: flex-start;
  }

  body[data-institutional-page] .lib-breadcrumb.institutional-breadcrumb a,
  body[data-institutional-page] .lib-breadcrumb.institutional-breadcrumb [aria-current="page"] {
    justify-content: flex-start;
    align-self: flex-start;
    padding-block: 1px;
  }
}

/* News article detail: full H1 title stays in DOM + JSON-LD; mobile nav truncates visually. */
@media (max-width: 767px) {
  body[data-institutional-page="news"]:has(#newsArticle)
    .lib-breadcrumb.institutional-breadcrumb
    [aria-current="page"] {
    flex: 0 1 auto;
    min-width: 0;
    max-inline-size: min(100%, 13rem);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: normal;
  }
}
