.shopify-section:has(.section-legal-page) {
  overflow: visible;
}
.section-legal-page {
  background-color: rgb(var(--color-background-rgb));
  color: var(--color-text);
}
.section-legal-page__content {
  display: grid;
  grid-template-columns: 1fr min(100%, var(--layout-container-width)) 1fr;
  row-gap: var(--space-2xl);
}
.section-legal-page__content > * {
  grid-column: 2;
}
.section-legal-page__content--no-menu {
  grid-template-columns: 1fr min(100%, var(--layout-narrow-width)) 1fr;
}
.section-legal-page__content--no-menu .section-legal-page__title {
  text-align: center;
}
.section-legal-page__title {
  font-family: var(--font-family-heading);
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-extralight);
  line-height: var(--line-height-none);
  margin: 0;
}
.section-legal-page__layout {
  display: flex;
  flex-direction: column;
  gap: var(--space-2xl);
}
.section-legal-page__menu {
  width: 100%;
}
.section-legal-page__body {
  /* 25px: Figma spec for the accordion +/- icon — falls between --icon-size-md
     (24px) and its neighbour, so it doesn't fit the shared icon scale. */
  --legal-accordion-icon-size: 2.5rem;
  display: block;
  min-width: 0;
}
.legal-page-content__intro {
  margin: 0;
}
.legal-accordion-group {
  display: flex;
  flex-direction: column;
}
.legal-accordion.accordion-toggle {
  border-bottom: var(--border-width) solid var(--color-border-subtle);
  padding: var(--space-lg) 0;
}
.legal-accordion .accordion-toggle__trigger {
  gap: var(--space-fixed-10);
}
.legal-accordion .accordion-toggle__label {
  color: var(--color-text);
  font-family: var(--font-family-heading);
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-regular);
  letter-spacing: var(--letter-spacing-wide);
  line-height: var(--line-height-snug);
  text-align: left;
}
.legal-accordion .accordion-toggle__icon,
.legal-accordion .accordion-toggle__icon svg {
  color: var(--color-icon-accent);
  height: var(--legal-accordion-icon-size);
  width: var(--legal-accordion-icon-size);
}
.legal-accordion .accordion-toggle__content[data-expanded="true"] {
  padding-bottom: 0;
  padding-top: var(--space-fixed-20);
}
.legal-accordion__heading {
  margin: 0;
}
legal-page-content[data-heading-level="h2"]:not(:defined) [data-legal-page-rte]:has(> h2),
legal-page-content[data-heading-level="h3"]:not(:defined) [data-legal-page-rte]:has(> h3),
legal-page-content[data-heading-level="h4"]:not(:defined) [data-legal-page-rte]:has(> h4) {
  border-bottom: var(--border-width) solid var(--color-border-subtle);
  padding-bottom: var(--space-lg);
}
legal-page-content[data-heading-level="h2"]:not(:defined) [data-legal-page-rte] > h2,
legal-page-content[data-heading-level="h3"]:not(:defined) [data-legal-page-rte] > h3,
legal-page-content[data-heading-level="h4"]:not(:defined) [data-legal-page-rte] > h4 {
  color: var(--color-text);
  font-family: var(--font-family-heading);
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-regular);
  letter-spacing: var(--letter-spacing-wide);
  line-height: var(--line-height-snug);
  margin-bottom: 0;
  margin-top: calc(var(--space-lg) - var(--space-md));
  min-height: var(--legal-accordion-icon-size);
  padding-inline-end: calc(var(--legal-accordion-icon-size) + var(--space-fixed-10));
  text-transform: none;

  &:first-child {
    margin-top: var(--space-lg);
  }

  & ~ & {
    border-top: var(--border-width) solid var(--color-border-subtle);
    padding-top: var(--space-lg);
  }

  & + * {
    margin-top: calc(var(--space-fixed-20) - var(--space-md));
  }
}
legal-page-content[data-heading-level="h2"]:not(:defined) [data-legal-page-rte] > p:has(+ h2),
legal-page-content[data-heading-level="h3"]:not(:defined) [data-legal-page-rte] > p:has(+ h3),
legal-page-content[data-heading-level="h4"]:not(:defined) [data-legal-page-rte] > p:has(+ h4) {
  margin-bottom: 0;
}
@media screen and (min-width: 1024px) {
  .section-legal-page__content {
    row-gap: var(--space-6xl);
  }
  .section-legal-page__title {
    font-size: var(--font-size-5xl);
  }
  .section-legal-page__layout--has-menu {
    align-items: start;
    display: grid;
    gap: var(--space-5xl);
    grid-template-columns: minmax(0, 44rem) 1fr;
  }
  .section-legal-page__menu {
    align-self: start;
    position: sticky;
    top: calc(var(--header-height, 0px) + var(--space-lg));
  }
}
