/* 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 */
/* Opacity */
/* Transitions */
/* Screen sizes */
/* Container sizes */
.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;
}

/* Variants for adaptive components like input, select, notification, ... */
@layer variables {}

@layer variables {}

@layer variables {}

@layer variables {}

@layer variables {}

@layer variables {}

@layer variables {}

@layer variables {}

@layer variables {}

@layer variables {}

@layer variables {}

@layer variables {}

@layer variables {}

@layer variables {}

@layer variables {}

@layer variables {}

@layer variables {}

@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 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%));
  }
}
@keyframes rotate {
  100% {
    transform: rotate(1turn);
  }
}
.db-accordion-item > details > summary:not([data-show-icon-trailing=false])::after {
  color: var(--db-icon-color, inherit);
  display: inline-block;
  /*** icon - placeholder ***/
  font-family: var(--db-icon-font-family, var(--db-icon-default-font-family, "db-ux-default", "icon-font-fallback")) !important;
  font-size: var(--db-icon-font-size, 1.5rem);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: var(--db-icon-font-weight, normal);
  line-height: 1;
  /* stylelint-disable-next-line declaration-property-value-no-unknown */
  speak: none;
  /* stylelint-disable-next-line declaration-property-value-no-unknown */
  speak: never;
  text-transform: none;
  overflow: clip;
  vertical-align: var(--db-icon-vertical-align, middle);
  block-size: var(--db-icon-font-size, 1.5rem);
  aspect-ratio: 1;
  flex-shrink: 0;
  content: var(--db-icon, attr(data-icon));
}
@supports (content: ""/"") {
  .db-accordion-item > details > summary:not([data-show-icon-trailing=false])::after {
    content: var(--db-icon, attr(data-icon))/"";
  }
}
@media aural {
  .db-accordion-item > details > summary:not([data-show-icon-trailing=false])::after {
    content: none;
  }
}
@media speech {
  .db-accordion-item > details > summary:not([data-show-icon-trailing=false])::after {
    content: none;
  }
}

/**
	Generates 3 types of placeholders, e.g:
	- %db-component-variables-md
	- %db-font-size-md
	- %db-overwrite-font-size-md
 */
@layer variables {}

@layer variables {}

@layer variables {}

@layer variables {}

@layer variables {}

@layer variables {}

@layer variables {}

@layer variables {}

@layer variables {}

@layer variables {}

@layer variables {}

@layer variables {}

@layer variables {}

.db-accordion-item > details > summary {
  font: var(--db-type-body-md);
  /* stylelint-disable-next-line at-rule-prelude-no-invalid,layer-name-pattern */
}
@layer variables {
  .db-accordion-item > details > summary {
    /* 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);
  }
}

@layer variables {}

@layer variables {}

@layer variables {}

@layer variables {}

@layer variables {}

@layer variables {}

@layer variables {}

@layer variables {}

@layer variables {}

@layer variables {}

@layer variables {}

@layer variables {}

@layer variables {}

/* Use for body tags like <p> */
/* Use for headline tags like <h1> */
/**
 * @mixin screen-min-max
 * @param $data an object like (min:"sm", max:"lg") or (min: "sm")
 */
.db-accordion-item > details > summary:not([data-show-icon-trailing=false])::after {
  --db-icon-trailing: "chevron_down";
  margin-inline-start: var(--db-icon-margin-start, var(--db-spacing-fixed-xs));
  content: var(--db-icon-trailing, attr(data-icon-trailing));
}
@supports (content: ""/"") {
  .db-accordion-item > details > summary:not([data-show-icon-trailing=false])::after {
    content: var(--db-icon-trailing, attr(data-icon-trailing))/"";
  }
}
.db-accordion-item > details > summary::after {
  pointer-events: none;
}
@media screen and (prefers-reduced-motion: no-preference) {
  .db-accordion-item > details > summary::after {
    transition: transform var(--db-transition-straight-emotional);
  }
}

.db-accordion-item {
  position: relative;
  inline-size: 100%;
  border-radius: var(--db-border-radius-sm);
  list-style-type: "";
}
.db-accordion-item > details[open] > summary + div {
  block-size: auto;
  /* stylelint-disable-next-line declaration-property-value-no-unknown */
  block-size: calc-size(auto, size);
}
.db-accordion-item > details[open] > summary::after {
  transform: rotate(-180deg);
}
.db-accordion-item > details[aria-disabled=true] {
  pointer-events: none;
  opacity: var(--db-opacity-md);
}
@media screen and (prefers-reduced-motion: no-preference) {
  .db-accordion-item > details > summary + div {
    transition: block-size var(--db-transition-straight-emotional);
  }
}
.db-accordion-item > details > summary + div {
  block-size: 0;
  overflow: hidden;
  padding: var(--db-spacing-fixed-md);
  padding-block-end: var(--db-spacing-fixed-lg);
}
.db-accordion-item > details > summary {
  background-color: var(--db-adaptive-bg-basic-level-1-default);
  list-style: none;
  justify-content: space-between;
  padding: var(--db-spacing-fixed-md);
  gap: var(--db-spacing-fixed-md);
  border-radius: var(--db-border-radius-sm);
  /* stylelint-disable-next-line a11y/selector-pseudo-class-focus */
}
.db-accordion-item > details > summary:not([hidden]) {
  display: flex;
}
.db-accordion-item > details > summary:hover:not(:disabled, [aria-disabled=true]) {
  cursor: var(--db-overwrite-cursor, pointer);
  background-color: var(--db-adaptive-bg-basic-level-1-hovered);
}
.db-accordion-item > details > summary:hover:not(:disabled, [aria-disabled=true]):is(textarea), .db-accordion-item > details > summary:hover:not(:disabled, [aria-disabled=true]):is(input) {
  cursor: initial;
}
.db-accordion-item > details > summary:hover:not(:disabled, [aria-disabled=true]):is(input[type=checkbox]), .db-accordion-item > details > summary:hover:not(:disabled, [aria-disabled=true]):is(input[type=radio]:not(:checked)) {
  cursor: pointer;
}
.db-accordion-item > details > summary:active:not(:disabled, [aria-disabled=true]) {
  cursor: var(--db-overwrite-cursor, pointer);
  background-color: var(--db-adaptive-bg-basic-level-1-pressed);
}
.db-accordion-item > details > summary:active:not(:disabled, [aria-disabled=true]):is(textarea), .db-accordion-item > details > summary:active:not(:disabled, [aria-disabled=true]):is(input) {
  cursor: initial;
}
.db-accordion-item > details > summary:active:not(:disabled, [aria-disabled=true]):is(input[type=checkbox]), .db-accordion-item > details > summary:active:not(:disabled, [aria-disabled=true]):is(input[type=radio]:not(:checked)) {
  cursor: pointer;
}
.db-accordion-item > details > summary::-webkit-details-marker {
  display: none;
}
.db-accordion-item > details > summary::after {
  inset-inline-end: var(--db-spacing-fixed-sm);
}
.db-accordion-item > details > summary:focus-visible {
  border-radius: var(--db-border-radius-xs);
}
