.ds-page {
  width: min(100%, var(--ds-page-max-width));
  margin-inline: auto;
  padding: var(--ds-space-5) var(--ds-page-gutter) var(--ds-space-10);
}

.ds-page-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--ds-space-4);
  margin-bottom: var(--ds-space-4);
}

.ds-page-heading {
  display: grid;
  gap: var(--ds-space-1);
  min-width: 0;
}

.ds-page-actions,
.ds-toolbar,
.ds-inline {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--ds-space-2);
}

.ds-stack {
  display: grid;
  gap: var(--ds-space-4);
}

.ds-stack-compact {
  display: grid;
  gap: var(--ds-space-2);
}

.ds-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
  gap: var(--ds-space-3);
}

.ds-grid-2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--ds-space-3);
}

.ds-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--ds-space-3);
}

.ds-cluster {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--ds-space-2);
}

.ds-spacer {
  flex: 1 1 auto;
}

@media (max-width: 56.25rem) {
  .ds-page {
    padding-inline: var(--ds-space-4);
  }

  .ds-grid-3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 40rem) {
  .ds-page {
    padding: var(--ds-space-4) var(--ds-space-3) var(--ds-space-8);
  }

  .ds-page-header {
    display: grid;
    align-items: start;
  }

  .ds-page-actions {
    width: 100%;
  }

  .ds-grid-2,
  .ds-grid-3 {
    grid-template-columns: 1fr;
  }
}
