@import '@vtmn/css-design-tokens/src/base-colors';
@import '@vtmn/css-design-tokens/src/themes/default';
@import '@vtmn/css-design-tokens/src/typography';
@import '@vtmn/css-design-tokens/src/spacings';

.vtmn-divider,
.vtmn-divider_orientation--horizontal {
  display: flex;
  align-items: center;
  white-space: nowrap;
  font-family: var(--vtmn-typo_font-family);
  font-size: var(--vtmn-typo_text-3-font-size);
  line-height: var(--vtmn-typo_text-3-line-height);
  color: var(--vtmn-semantic-color_content-primary);
  inline-size: 100%;
}

.vtmn-divider::before,
.vtmn-divider::after,
.vtmn-divider_orientation--horizontal::before,
.vtmn-divider_orientation--horizontal::after {
  content: '';
  block-size: rem(1px);
  background-color: var(--vtmn-semantic-color_border-primary);
  inline-size: 100%;
}

.vtmn-divider:not(:empty, .vtmn-divider_orientation--vertical)::before {
  margin-inline-end: var(--vtmn-spacing_2);
}

.vtmn-divider:not(:empty, .vtmn-divider_orientation--vertical)::after {
  margin-inline-start: var(--vtmn-spacing_2);
}

.vtmn-divider_orientation--horizontal.vtmn-divider_text-position--start::before,
.vtmn-divider_orientation--horizontal.vtmn-divider_text-position--end::after {
  inline-size: var(--vtmn-spacing_10);
  min-inline-size: var(--vtmn-spacing_10);
}

.vtmn-divider_orientation--horizontal.vtmn-divider_text-position--start::after,
.vtmn-divider_orientation--horizontal.vtmn-divider_text-position--end::before,
.vtmn-divider_orientation--horizontal.vtmn-divider_text-position--center::before,
.vtmn-divider_orientation--horizontal.vtmn-divider_text-position--center::after {
  inline-size: 100%;
}

.vtmn-divider_orientation--vertical {
  flex-direction: column;
  block-size: 100%;
}

.vtmn-divider_orientation--vertical::before,
.vtmn-divider_orientation--vertical::after {
  inline-size: rem(1px);
  block-size: 100%;
}

.vtmn-divider_orientation--vertical:not(:empty)::before {
  margin-block-end: var(--vtmn-spacing_2);
}

.vtmn-divider_orientation--vertical:not(:empty)::after {
  margin-block-start: var(--vtmn-spacing_2);
}

.vtmn-divider_orientation--vertical.vtmn-divider_text-position--start::before,
.vtmn-divider_orientation--vertical.vtmn-divider_text-position--end::after {
  block-size: var(--vtmn-spacing_10);
  min-block-size: var(--vtmn-spacing_10);
}

.vtmn-divider_orientation--vertical.vtmn-divider_text-position--end::before,
.vtmn-divider_orientation--vertical.vtmn-divider_text-position--start::after,
.vtmn-divider_orientation--vertical.vtmn-divider_text-position--center::before,
.vtmn-divider_orientation--vertical.vtmn-divider_text-position--center::after {
  block-size: 100%;
}
