/* 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-visually-hidden,
[data-visually-hidden=true] {
  clip: rect(0, 0, 0, 0) !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  font-size: 0 !important;
  all: initial;
  inset-block-start: 0 !important;
  block-size: 1px !important;
  position: absolute !important;
  inline-size: 1px !important;
  border-width: 0 !important;
  border-style: initial !important;
  border-color: initial !important;
  border-image: initial !important;
  padding: 0 !important;
  pointer-events: none !important;
}

.db-tab-list > ul::-webkit-scrollbar, .db-tab-list > ul::-webkit-scrollbar-corner {
  transition: outline var(--db-transition-duration-extra-fast), border-color var(--db-transition-straight-emotional), background-color var(--db-transition-straight-emotional);
}

@keyframes show-right-to-left {
  from {
    transform: translateX(110%);
  }
  to {
    transform: translateX(0%);
  }
}
@keyframes hide-right-to-left {
  from {
    transform: translateX(0%);
  }
  to {
    transform: translateX(110%);
  }
}
@keyframes show-left-to-right {
  from {
    transform: translateX(-110%);
  }
  to {
    transform: translateX(0%);
  }
}
@keyframes hide-left-to-right {
  from {
    transform: translateX(0%);
  }
  to {
    transform: translateX(-110%);
  }
}
@keyframes show-bottom-to-top {
  from {
    transform: translateY(110%);
  }
  to {
    transform: translateY(0%);
  }
}
@keyframes hide-bottom-to-top {
  from {
    transform: translateY(0%);
  }
  to {
    transform: translateY(110%);
  }
}
@keyframes show-top-to-bottom {
  from {
    transform: translateY(-110%);
  }
  to {
    transform: translateY(0%);
  }
}
@keyframes hide-top-to-bottom {
  from {
    transform: translateY(0%);
  }
  to {
    transform: translateY(-110%);
  }
}
@keyframes accordion-open {
  0% {
    opacity: 0;
    transform: translateY(-10%);
  }
  100% {
    opacity: 1;
    transform: translateY(0%);
  }
}
@keyframes popover-animation {
  0% {
    opacity: 0;
    transform: translate(var(--db-popover-center-x, var(--db-popover-translate-x, 0%)), var(--db-popover-center-y, var(--db-popover-translate-y, 0%)));
  }
  100% {
    opacity: 1;
    transform: translate(var(--db-popover-center-x, 0%), var(--db-popover-center-y, 0%));
  }
}
/**
	Generates 3 types of placeholders, e.g:
	- %db-component-variables-md
	- %db-font-size-md
	- %db-overwrite-font-size-md
 */
.db-tab-list {
  /* Those variables are only for components to calculate heights and change icons */
  --db-icon-font-weight: var(--db-base-body-icon-weight-md);
  --db-icon-font-size: var(--db-base-body-icon-font-size-md);
  --db-base-line-height: var(--db-type-body-line-height-md);
  --db-base-font-size: var(--db-type-body-font-size-md);
  line-height: var(--db-type-body-line-height-md);
  font-size: var(--db-type-body-font-size-md);
}

.db-tab-list > ul {
  /* Buttons */
  /* Up */
  /* Down */
}
.db-tab-list > ul::-webkit-scrollbar {
  z-index: 3;
  inline-size: 0.5rem;
  block-size: 0.5rem;
  background-color: var(--db-adaptive-bg-basic-level-1-default);
  border-start-end-radius: var(--db-border-radius-xs);
}
.db-tab-list > ul:is(:hover, :focus)::-webkit-scrollbar-track, .db-tab-list > ul:is(:hover, :focus)::-webkit-scrollbar-button:single-button {
  background-color: var(--db-adaptive-bg-basic-transparent-hovered);
}
.db-tab-list > ul:read-only::-webkit-scrollbar-track, .db-tab-list > ul:read-only::-webkit-scrollbar-button:single-button {
  background-color: var(--db-adaptive-bg-basic-level-1-default) !important;
}
.db-tab-list > ul::-webkit-scrollbar-track {
  background-color: var(--db-adaptive-bg-basic-transparent-semi-default);
}
.db-tab-list > ul::-webkit-scrollbar-thumb {
  background-color: var(--db-adaptive-bg-basic-transparent-pressed);
}
.db-tab-list > ul::-webkit-scrollbar-button:single-button {
  background-color: var(--db-adaptive-bg-basic-transparent-semi-default);
  background-size: 0.5rem;
  background-repeat: no-repeat;
  background-position: center;
  block-size: calc(var(--db-spacing-fixed-3xs) + var(--db-spacing-fixed-2xs) + calc(var(--db-type-body-font-size-2xs) * var(--db-type-body-line-height-2xs)));
}
.db-tab-list > ul::-webkit-scrollbar-button:single-button:is(:hover, :focus) {
  background-color: var(--db-adaptive-bg-basic-transparent-hovered);
}
.db-tab-list > ul::-webkit-scrollbar-button:single-button:active {
  background-color: var(--db-adaptive-bg-basic-transparent-pressed);
}
.db-tab-list > ul::-webkit-scrollbar-button:single-button:vertical:decrement {
  background-image: var(--db-textarea-scrollbar-button-decrement);
}
.db-tab-list > ul::-webkit-scrollbar-button:single-button:vertical:increment {
  background-image: var(--db-textarea-scrollbar-button-increment);
}
.db-tab-list > ul[data-variant=floating]::-webkit-resizer {
  background-color: var(--db-adaptive-bg-basic-transparent-semi-default);
}
.db-tab-list > ul[data-variant=floating]::-webkit-scrollbar-corner {
  background-color: var(--db-adaptive-bg-basic-level-1-default);
}
.db-tab-list > ul::-webkit-resizer {
  background-color: var(--db-adaptive-bg-basic-transparent-full-default);
  background-size: 0.5rem;
  background-repeat: no-repeat;
  background-position: center;
  background-image: var(--db-textarea-resizer-image);
  border-end-end-radius: var(--db-border-radius-xs);
}
.db-tab-list > ul::-webkit-scrollbar-corner {
  border-end-end-radius: var(--db-border-radius-xs);
}

.db-tab-list {
  position: relative;
}
.db-tab-list > ul {
  display: flex;
  gap: var(--db-spacing-fixed-sm);
  scroll-behavior: smooth;
  padding: 0;
  margin: 0;
}
