:host {
  --border-default: var(--pine-border-width-thin) solid var(--pine-color-grey-300);
  --row-gap-y: calc(var(--pine-spacing-250) / 2);
  --row-gap-x: 10px;
  display: block;
  margin-block-end: calc(var(--row-gap-y) * -1);
  margin-block-start: calc(var(--row-gap-y) * -1);
  margin-inline-end: calc(var(--row-gap-x) * -0.5);
  margin-inline-start: calc(var(--row-gap-x) * -0.5);
}

.pds-row {
  display: flex;
  flex-grow: 1;
  flex-wrap: wrap;
  margin-block-end: calc(var(--row-gap-y) * -1);
  margin-block-start: calc(var(--row-gap-y) * -1);
  margin-inline-end: calc(var(--row-gap-x) * -1);
  margin-inline-start: calc(var(--row-gap-x) * -1);
}
.pds-row > * {
  padding-block-end: calc(var(--row-gap-y));
  padding-block-start: calc(var(--row-gap-y));
  padding-inline-end: calc(var(--row-gap-x));
  padding-inline-start: calc(var(--row-gap-x));
}

.pds-row--no-wrap {
  flex-wrap: nowrap;
}

.pds-row--border {
  border: var(--border-default);
}

.pds-justify-content-start {
  justify-content: start;
}

.pds-justify-content-center {
  justify-content: center;
}

.pds-justify-content-end {
  justify-content: end;
}

.pds-justify-content-space-between {
  justify-content: space-between;
}

.pds-justify-content-space-around {
  justify-content: space-around;
}

.pds-justify-content-space-evenly {
  justify-content: space-evenly;
}

.pds-align-items-start {
  align-items: start;
}

.pds-align-items-center {
  align-items: center;
}

.pds-align-items-end {
  align-items: end;
}

.pds-align-items-stretch {
  align-items: stretch;
}

.pds-align-items-baseline {
  align-items: baseline;
}