.inclua-curation-single {
  --inclua-curation-ink: #31302e;
  --inclua-curation-related-surface: #f1f3f7;

  color: var(--inclua-curation-ink);

  & > .inclua-page-banner {
    min-height: 7.625rem;
  }

  & > .inclua-page-banner .inclua-container {
    min-height: 7.625rem;
  }

  & > .inclua-page-banner .inclua-page-banner__title {
    line-height: 2.4rem;
    margin-top: 0.3125rem;
  }

  & .inclua-curation-single__content {
    padding: var(--spacing-20) 0;

    @media (max-width: 53.75rem) {
      padding: var(--spacing-14) 0;
    }
  }

  & .inclua-curation-single__layout {
    align-items: stretch;
    display: grid;
    gap: 2.375rem;
    grid-template-columns: minmax(0, 33.875rem) minmax(0, 1fr);

    @media (max-width: 53.75rem) {
      grid-template-columns: minmax(0, 1fr);
      align-items: start;
    }
  }

  & .inclua-curation-single__media {
    background: var(--color-background-muted);
    border-radius: var(--radius-md);
    height: 100%;
    margin: 0;
    overflow: hidden;

    @media (max-width: 53.75rem) {
      max-width: 33.875rem;
      width: 100%;
      height: 21.875rem;
    }

    & img {
      display: block;
      height: 100%;
      object-fit: cover;
      object-position: top;
      width: 100%;
    }
  }

  & .inclua-curation-single__placeholder {
    align-items: center;
    color: var(--inclua-curation-ink);
    display: flex;
    height: 100%;
    justify-content: center;
    width: 100%;

    & .inclua-icon {
      background: var(--color-surface-default);
      border: 2px solid currentColor;
      border-radius: var(--radius-sm);
      box-sizing: content-box;
      height: var(--spacing-8);
      padding: var(--spacing-4);
      width: var(--spacing-8);
    }
  }

  & .inclua-curation-single__header {
    margin: 0;
  }

  & .inclua-curation-single__header .inclua-single__title {
    color: var(--inclua-curation-ink);
    font-size: var(--font-size-4xl);
    font-weight: 800;
    line-height: 2.5rem;
    margin: 0;
  }

  & .inclua-curation-single__meta {
    color: var(--inclua-curation-ink);
    gap: var(--spacing-3);
    margin-top: var(--spacing-3);
  }

  & .inclua-curation-single__meta .inclua-single__meta-item {
    font-size: var(--font-size-label);
    line-height: var(--line-height-body);
  }

  & .inclua-curation-single__meta .inclua-single__meta-item + .inclua-single__meta-item::before {
    content: "|";
    margin-right: var(--spacing-3);
  }

  & .inclua-curation-single__body {
    margin-top: var(--spacing-4);

    & .inclua-single__content {
      color: var(--inclua-curation-ink);
      font-size: var(--font-size-body);
      line-height: var(--line-height-body);
    }

    & .inclua-single__content > *:first-child {
      margin-top: 0;
    }

    & .inclua-single__content > *:last-child {
      margin-bottom: 0;
    }
  }

  & .inclua-curation-single__actions {
    border-top: 0;
    margin-top: var(--spacing-5);
    padding-top: 0;
  }

  & .inclua-curation-single__episode-button {
    min-height: var(--spacing-12);
    padding: var(--spacing-3) 1.125rem;
  }

  & .inclua-curation-single__related {
    background: var(--inclua-curation-related-surface);
    padding: var(--spacing-20) 0;

    @media (max-width: 53.75rem) {
      padding: var(--spacing-14) 0 var(--spacing-18);
    }

    & .inclua-single__section-title {
      color: var(--inclua-curation-ink);
      font-size: var(--font-size-4xl);
      font-weight: 800;
      line-height: 2.5rem;
      margin-bottom: var(--spacing-8);
    }

    & .pagination-inclua {
      gap: var(--spacing-2);
      justify-content: center;
      margin-top: var(--spacing-8);
    }
  }

  & .inclua-curation-single__related-grid {
    display: grid;
    gap: var(--spacing-5);
    grid-template-columns: repeat(3, minmax(0, 1fr));

    @media (max-width: 70rem) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    @media (max-width: 45rem) {
      grid-template-columns: minmax(0, 1fr);
    }
  }
}

.inclua-curation-single-card {
  background: var(--color-surface-default);
  border: 1px solid #d9d9d9;
  border-radius: var(--radius-md);
  display: flex;
  flex-direction: column;
  gap: var(--spacing-5);
  min-height: 100%;
  padding: 1.875rem var(--spacing-6);

  & .inclua-curation-single-card__type {
    align-self: flex-start;
    background: #31302e;
    border-radius: var(--radius-sm);
    color: var(--color-action-primary-text);
    font-size: var(--font-size-label);
    font-weight: 600;
    line-height: 1.25rem;
    padding: 0.625rem;
  }

  & .inclua-curation-single-card__title {
    color: #31302e;
    font-size: var(--font-size-heading-3);
    font-weight: 800;
    line-height: var(--line-height-heading-3);
    margin: 0;
  }

  & .inclua-curation-single-card__meta {
    color: #31302e;
    font-size: var(--font-size-label);
    font-weight: 600;
    line-height: 1.25rem;
    margin: 0;
  }

  & .inclua-curation-single-card__summary {
    color: #31302e;
    font-size: var(--font-size-body);
    line-height: var(--line-height-body);
    margin: 0;
  }

  & .inclua-curation-single-card__footer {
    align-items: center;
    border-top: 1px solid var(--color-border-subtle);
    display: flex;
    gap: var(--spacing-3);
    justify-content: space-between;
    margin-top: auto;
    padding-top: var(--spacing-5);

    @media (max-width: 30rem) {
      align-items: flex-start;
      flex-direction: column;
    }
  }

  & .inclua-curation-single-card__footer-link {
    align-items: center;
    color: #31302e;
    display: inline-flex;
    font-size: var(--font-size-body);
    font-weight: 600;
    gap: var(--spacing-2);
    line-height: var(--line-height-body);
    text-decoration: none;

    &:focus-visible {
      outline: 2px solid var(--color-action-accent);
      outline-offset: var(--spacing-1);
    }

    & .inclua-icon {
      height: var(--spacing-5);
      width: var(--spacing-5);
    }
  }
}

@media (max-width: 45rem) {
  .inclua-curation-single {
    & .inclua-curation-single__header .inclua-single__title,
    & .inclua-curation-single__related .inclua-single__section-title {
      font-size: var(--font-size-heading-2);
      line-height: var(--line-height-heading-2);
    }
  }
}
