/*
 * Product and section page layout
 *
 * Keeps long-form content at a comfortable reading width while leaving
 * homepage content, navigation and child-page card grids unaffected.
 */

/* Remove the unused second hero column on internal pages. */
.rc-page-hero .rc-hero__grid {
  display: block;
}

/* Align and centre internal page headings with the body text. */
.rc-page-heading {
  width: 100%;
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}

/* Reduce the space between the internal-page hero and its content. */
.rc-page-hero {
  padding-bottom: 16px;
}

/* Main readable text column. */
.rc-reading-column {
  width: 100%;
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}

/* Tighten the transition from the page heading into the body. */
.rc-section.rc-page-content {
  padding-top: 14px;
}

/* Tighten the transition from section copy into child-page cards. */
.rc-section--body-content {
  padding-bottom: 24px;
}

.rc-section--children-grid {
  padding-top: 18px;
}

/* Long-form typography. */
.rc-article {
  font-size: 1.03rem;
  line-height: 1.72;
}

.rc-article p {
  margin-top: 0;
  margin-bottom: 1.15rem;
}

.rc-article h2 {
  margin-top: 2.6rem;
  margin-bottom: 1rem;
  line-height: 1.2;
}

.rc-article h3 {
  margin-top: 2rem;
  margin-bottom: 0.75rem;
  line-height: 1.25;
}

.rc-article ul,
.rc-article ol {
  margin-top: 0.75rem;
  margin-bottom: 1.35rem;
  padding-left: 1.5rem;
}

.rc-article li {
  margin-bottom: 0.42rem;
}

/* Keep product images within the readable column. */
.rc-article img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  margin: 1.6rem auto 2rem;
  border-radius: 14px;
}

/* Keep embedded media within the content column. */
.rc-article iframe,
.rc-article video {
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 1.6rem auto 2rem;
  border: 0;
  border-radius: 14px;
}

/* Keep audio players centred within the page. */
.rc-article .rc-audio-player {
  margin-left: auto;
  margin-right: auto;
}

/* Space above the back button. */
.rc-page-actions {
  margin-top: 2.25rem;
}

/* Tablets and phones use the full available content width. */
@media (max-width: 760px) {
  .rc-page-heading,
  .rc-reading-column {
    max-width: none;
    margin-left: 0;
    margin-right: 0;
  }

  .rc-page-hero {
    padding-bottom: 8px;
  }

  .rc-section.rc-page-content {
    padding-top: 12px;
  }

  .rc-section--body-content {
    padding-bottom: 16px;
  }

  .rc-section--children-grid {
    padding-top: 12px;
  }

  .rc-article {
    font-size: 1rem;
    line-height: 1.65;
  }

  .rc-article h2 {
    margin-top: 2.1rem;
  }

  .rc-article h3 {
    margin-top: 1.7rem;
  }

  .rc-article img,
  .rc-article iframe,
  .rc-article video {
    margin-top: 1.25rem;
    margin-bottom: 1.5rem;
    border-radius: 10px;
  }

  .rc-page-actions {
    margin-top: 1.75rem;
  }
}

/* Mobile page-edge breathing room */
@media (max-width: 760px) {
  main .rc-container {
    padding-left: max(16px, env(safe-area-inset-left));
    padding-right: max(16px, env(safe-area-inset-right));
    box-sizing: border-box;
  }
}