/* Use sizing's for fixed heights/widths e.g. the db-button has always a fixed height */
/* Use fixed spacings for all kind of distances (margin, padding, ...) */
/* The primary use-case for responsive spacings are
paddings/gaps in an application e.g. the <main> should have a responsive padding. */
/* Elevation */
/* Border */
/* Transitions */
/* Variants for adaptive components like input, select, notification, ... */
.db-focus-default,
[data-focus=default] {
  outline: var(--db-border-height-2xs) solid var(--db-focus-outline-color, var(--db-informational-on-bg-basic-emphasis-80-default));
  outline-offset: var(--db-border-height-xs);
  box-shadow: 0 0 0 var(--db-border-height-xs) var(--db-focus-box-shadow-bg-color, transparent);
}
.db-focus-default:not([type=radio], [role=switch]),
[data-focus=default]:not([type=radio], [role=switch]) {
  border-radius: var(--db-border-radius-xs);
}
@media screen and (prefers-reduced-motion: no-preference) {
  .db-focus-default,
  [data-focus=default] {
    transition: outline var(--db-transition-duration-extra-fast), box-shadow var(--db-transition-duration-extra-fast);
  }
}

.db-divider-top-before,
[data-divider=top-before] {
  --db-divider-bg-color: var(--db-adaptive-on-bg-basic-emphasis-60-default);
  position: relative;
}
.db-divider-top-before[data-emphasis=strong],
[data-divider=top-before][data-emphasis=strong] {
  --db-divider-bg-color: var(--db-adaptive-on-bg-basic-emphasis-70-default);
}
.db-divider-top-before::before,
[data-divider=top-before]::before {
  content: "";
  background-color: var(--db-divider-bg-color);
  position: absolute;
  block-size: var(--db-border-height-3xs);
  inset-block-start: 0;
  inset-inline: 0;
  /* stylelint-disable-next-line at-rule-empty-line-before */
}
@media (forced-colors: active) {
  .db-divider-top-before,
  [data-divider=top-before] {
    /* stylelint-disable-next-line db-ui/use-border-color */
    border: var(--db-border-height-3xs) solid var(--db-divider-bg-color);
  }
}

.db-divider-top-after,
[data-divider=top-after] {
  --db-divider-bg-color: var(--db-adaptive-on-bg-basic-emphasis-60-default);
  position: relative;
}
.db-divider-top-after[data-emphasis=strong],
[data-divider=top-after][data-emphasis=strong] {
  --db-divider-bg-color: var(--db-adaptive-on-bg-basic-emphasis-70-default);
}
.db-divider-top-after::after,
[data-divider=top-after]::after {
  content: "";
  background-color: var(--db-divider-bg-color);
  position: absolute;
  block-size: var(--db-border-height-3xs);
  inset-block-start: 0;
  inset-inline: 0;
  /* stylelint-disable-next-line at-rule-empty-line-before */
}
@media (forced-colors: active) {
  .db-divider-top-after,
  [data-divider=top-after] {
    /* stylelint-disable-next-line db-ui/use-border-color */
    border: var(--db-border-height-3xs) solid var(--db-divider-bg-color);
  }
}

.db-divider-bottom-before,
[data-divider=bottom-before] {
  --db-divider-bg-color: var(--db-adaptive-on-bg-basic-emphasis-60-default);
  position: relative;
}
.db-divider-bottom-before[data-emphasis=strong],
[data-divider=bottom-before][data-emphasis=strong] {
  --db-divider-bg-color: var(--db-adaptive-on-bg-basic-emphasis-70-default);
}
.db-divider-bottom-before::before,
[data-divider=bottom-before]::before {
  content: "";
  background-color: var(--db-divider-bg-color);
  position: absolute;
  block-size: var(--db-border-height-3xs);
  inset-block-end: 0;
  inset-inline: 0;
  /* stylelint-disable-next-line at-rule-empty-line-before */
}
@media (forced-colors: active) {
  .db-divider-bottom-before,
  [data-divider=bottom-before] {
    /* stylelint-disable-next-line db-ui/use-border-color */
    border: var(--db-border-height-3xs) solid var(--db-divider-bg-color);
  }
}

.db-divider-bottom-after,
[data-divider=bottom-after] {
  --db-divider-bg-color: var(--db-adaptive-on-bg-basic-emphasis-60-default);
  position: relative;
}
.db-divider-bottom-after[data-emphasis=strong],
[data-divider=bottom-after][data-emphasis=strong] {
  --db-divider-bg-color: var(--db-adaptive-on-bg-basic-emphasis-70-default);
}
.db-divider-bottom-after::after,
[data-divider=bottom-after]::after {
  content: "";
  background-color: var(--db-divider-bg-color);
  position: absolute;
  block-size: var(--db-border-height-3xs);
  inset-block-end: 0;
  inset-inline: 0;
  /* stylelint-disable-next-line at-rule-empty-line-before */
}
@media (forced-colors: active) {
  .db-divider-bottom-after,
  [data-divider=bottom-after] {
    /* stylelint-disable-next-line db-ui/use-border-color */
    border: var(--db-border-height-3xs) solid var(--db-divider-bg-color);
  }
}

.db-divider-left-before,
[data-divider=left-before] {
  --db-divider-bg-color: var(--db-adaptive-on-bg-basic-emphasis-60-default);
  position: relative;
}
.db-divider-left-before[data-emphasis=strong],
[data-divider=left-before][data-emphasis=strong] {
  --db-divider-bg-color: var(--db-adaptive-on-bg-basic-emphasis-70-default);
}
.db-divider-left-before::before,
[data-divider=left-before]::before {
  content: "";
  background-color: var(--db-divider-bg-color);
  position: absolute;
  inline-size: var(--db-border-height-3xs);
  inset-inline-start: 0;
  inset-block: 0;
  /* stylelint-disable-next-line at-rule-empty-line-before */
}
@media (forced-colors: active) {
  .db-divider-left-before,
  [data-divider=left-before] {
    /* stylelint-disable-next-line db-ui/use-border-color */
    border: var(--db-border-height-3xs) solid var(--db-divider-bg-color);
  }
}

.db-divider-left-after,
[data-divider=left-after] {
  --db-divider-bg-color: var(--db-adaptive-on-bg-basic-emphasis-60-default);
  position: relative;
}
.db-divider-left-after[data-emphasis=strong],
[data-divider=left-after][data-emphasis=strong] {
  --db-divider-bg-color: var(--db-adaptive-on-bg-basic-emphasis-70-default);
}
.db-divider-left-after::after,
[data-divider=left-after]::after {
  content: "";
  background-color: var(--db-divider-bg-color);
  position: absolute;
  inline-size: var(--db-border-height-3xs);
  inset-inline-start: 0;
  inset-block: 0;
  /* stylelint-disable-next-line at-rule-empty-line-before */
}
@media (forced-colors: active) {
  .db-divider-left-after,
  [data-divider=left-after] {
    /* stylelint-disable-next-line db-ui/use-border-color */
    border: var(--db-border-height-3xs) solid var(--db-divider-bg-color);
  }
}

.db-divider-right-before,
[data-divider=right-before] {
  --db-divider-bg-color: var(--db-adaptive-on-bg-basic-emphasis-60-default);
  position: relative;
}
.db-divider-right-before[data-emphasis=strong],
[data-divider=right-before][data-emphasis=strong] {
  --db-divider-bg-color: var(--db-adaptive-on-bg-basic-emphasis-70-default);
}
.db-divider-right-before::before,
[data-divider=right-before]::before {
  content: "";
  background-color: var(--db-divider-bg-color);
  position: absolute;
  inline-size: var(--db-border-height-3xs);
  inset-inline-end: 0;
  inset-block: 0;
}
@media (forced-colors: active) {
  .db-divider-right-before,
  [data-divider=right-before] {
    /* stylelint-disable-next-line db-ui/use-border-color */
    border: var(--db-border-height-3xs) solid var(--db-divider-bg-color);
  }
}

.db-divider-right-after,
[data-divider=right-after] {
  --db-divider-bg-color: var(--db-adaptive-on-bg-basic-emphasis-60-default);
  position: relative;
}
.db-divider-right-after[data-emphasis=strong],
[data-divider=right-after][data-emphasis=strong] {
  --db-divider-bg-color: var(--db-adaptive-on-bg-basic-emphasis-70-default);
}
.db-divider-right-after::after,
[data-divider=right-after]::after {
  content: "";
  background-color: var(--db-divider-bg-color);
  position: absolute;
  inline-size: var(--db-border-height-3xs);
  inset-inline-end: 0;
  inset-block: 0;
}
@media (forced-colors: active) {
  .db-divider-right-after,
  [data-divider=right-after] {
    /* stylelint-disable-next-line db-ui/use-border-color */
    border: var(--db-border-height-3xs) solid var(--db-divider-bg-color);
  }
}
