.link-grid-column {
  display: flex;
  flex-direction: column;
  flex: 1 1 0;
}

.link-grid-column .link-column__heading {
  font-family: var(--body-font-family);
  font-size: 0.875rem;
  font-weight: 500;
  font-style: normal;
  line-height: 1.125rem;
  margin: 0 0 32px;
  padding: 16px 0;

  @media (width >=1024px) {
    font-size: 0.75rem;
  }
}

.link-grid-column .links-container {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 0;
}

.link-grid-column.link-column-horizontal .links-container {
  flex-flow: row wrap;
  flex-basis: 100%;
  gap: 26px;
}

.link-grid-column .links-container li {
  font-size: 14px;
  line-height: 20px;
  border: 0;
}

.link-grid-column .links-container li a {
  display: inline-block;
  font-family: var(--body-font-family);
  font-size: 0.875rem;
  font-weight: 400;
  font-style: normal;
  line-height: 1.125rem;
  min-height: 40px;
  color: var(--tertiary-medium-grey);

  @media (width >=1024px) {
    font-size: 0.75rem;
  }
}

.accordion-item {
  cursor: pointer;
  user-select: none;
}

.link-grid-column ul {
  list-style: none;
  padding: 0;
}

@media (width >=768px) {
  .link-grid-column.link-column-horizontal {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 100%;
  }

  .link-grid-column.link-column-horizontal .links-container {
    flex-basis: unset;
  }
}

@media (width >=1024px) {
  .link-grid-column.link-column-horizontal {
    flex-direction: row;
    align-items: center;
  }
}

.link-column-container .default-content-wrapper h1,
.link-column-container .default-content-wrapper h2,
.link-column-container .default-content-wrapper h3,
.link-column-container .default-content-wrapper h4,
.link-column-container .default-content-wrapper h5,
.link-column-container .default-content-wrapper h6 {
  font-family: var(--body-font-family);
  line-height: 1.25rem;
  font-size: 1rem;
  font-weight: 700;
}

.link-column-vertical p {
  line-height: 1.125rem;
  font-size: 0.875rem;
  font-weight: 700;

  @media (width >=1024px) {
    font-size: 0.75rem;
  }
}

.link-column-container {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}

.cta-wrapper {
  grid-column: 1 / -1;
}

.link-column-wrapper {
  padding: 16px;
}

.link-column-wrapper:has(.link-column-sitemap) .link-column-wrapper {
  justify-content: left;
  display: flex;
  align-items: flex-start;
}

.link-column-container:has(.link-column-sitemap) {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 16px;
  margin-right: auto;
  margin-left: auto;

  .link-column-wrapper {
    margin-bottom: 1.875rem;
    padding: 0;
    break-inside: avoid;

    .link-column__heading .link-column__link {
      font-weight: var(--fw-300);
    }
  }

  .cta__link {
    color: var(--text-color);
    font-size: 1.125rem;
    vertical-align: baseline;
    font-weight: var(--fw-300);
  }

  .cta__link:hover {
    text-decoration: underline;
  }

  .link-grid-column {
    .link-column__heading {
      font-family: var(--type-base-font-family);
      font-size: var(--fs-xlarge);
      font-weight: var(--fw-600);
      font-style: normal;
      line-height: var(--lh-30);
      margin: 0 0 var(--spacing-small);
      padding: 0;

      @media (width >=1024px) {
        line-height: 1.75rem;
      }
    }

    .links-container {
      li {
        a {
          display: inline-block;
          font-family: var(--type-base-font-family);
          font-size: var(--fs-medium);
          font-weight: var(--fw-400);
          font-style: normal;
          line-height: var(--lh-20);
          color: var(--neutrals-sub-texts-paragraphs);
          min-height: fit-content;

          @media (width >=1024px) {
            font-size: var(--lh-xsmall);
          }
        }
      }
    }
  }

  .link-column-wrapper .link-column-sitemap {
    .link-column__list,
    .link-column__link {
      color: var(--text-color);
      font-size: 100%;
      vertical-align: baseline;
      font-weight: 500;
      min-height: unset;
    }

    .link-column__list:hover,
    .link-column__link:hover {
      text-decoration: underline;
    }
  }
}

.link-column-container:has(.cta-wrapper) .links-container {
  padding-left: 0.625rem;
}

.sitemap-heading-page .default-content-wrapper {
  padding: 0 var(--spacing-l);

  @media (width >=1024px) {
    padding-right: var(--spacing-56);
    padding-left: var(--spacing-56);
  }

  h1 {
    font-size: var(--fs-xlarge);
    font-weight: var(--fw-700);
    line-height: 100%;
    margin-top: var(--spacing-xbig);
    margin-bottom: var(--spacing-medium);

    @media (width >=1024px) {
      font-size: var(--fs-xxlarge);
      line-height: var(--lh-xxlarge);
      margin-top: var(--spacing-large);
      margin-bottom: var(--spacing-44);
    }
  }
}

.sitemap-heading-page {
  margin-top: 40px;
}

.sitemap-heading-page + .section,
.sitemap + .section {
  .default-content-wrapper {
    padding: 0 var(--spacing-l);

    @media (width >= 1024px) {
      padding-right: var(--spacing-56);
      padding-left: var(--spacing-56);
    }

    h2 {
      font-family: var(--type-base-font-family);
      font-size: var(--fs-xlarge);
      font-weight: var(--fw-600);
      font-style: normal;
      line-height: var(--lh-30);
      margin: 0 0 var(--spacing-small);
      padding: 0;

      @media (width >= 1024px) {
        font-size: var(--fs-28);
        margin-bottom: var(--spacing-medium);
      }
    }
  }
}

@media (width >=768px) {
  .link-column-container {
    grid-template-columns: repeat(4, 1fr);
  }

  .link-column-container:has(.link-column-sitemap) {
    grid-template-columns: repeat(4, 1fr);
    column-gap: 24px;

    .link-column-wrapper {
      margin-bottom: 80px;

      .link-grid-column .link-column__heading {
        font-size: var(--fs-xlarge);
        margin-bottom: var(--spacing-medium);
      }
    }
  }
}
