:host {
  --row-gap-y: var(--pine-dimension-125);
  --row-gap-x: var(--pine-dimension-125);
  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);
}
@layer layout {
  .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(--pine-border);
}

.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;
}