.ty-collapse {
  --ty-collapse-bg: var(--ty-color-bg-container);
  --ty-collapse-border-color: var(--ty-color-border);
  --ty-collapse-borderless-divider-color: var(--ty-color-border-secondary);
  --ty-collapse-radius: var(--ty-border-radius);
  --ty-collapse-header-bg: transparent;
  --ty-collapse-header-hover-bg: var(--ty-color-fill);
  --ty-collapse-header-active-bg: var(--ty-color-fill);
  --ty-collapse-header-disabled-bg: transparent;
  --ty-collapse-header-color: var(--ty-color-text);
  --ty-collapse-header-disabled-color: var(--ty-color-text-quaternary);
  --ty-collapse-header-min-height: 44px;
  --ty-collapse-header-padding-inline: 16px;
  --ty-collapse-header-padding-block: 14px;
  --ty-collapse-header-gap: 12px;
  --ty-collapse-icon-color: currentcolor;
  --ty-collapse-icon-active-color: currentcolor;
  --ty-collapse-icon-disabled-color: var(--ty-color-text-quaternary);
  --ty-collapse-icon-slot-size: 20px;
  --ty-collapse-icon-size: 10px;
  --ty-collapse-extra-color: var(--ty-color-text-secondary);
  --ty-collapse-extra-disabled-color: var(--ty-color-text-quaternary);
  --ty-collapse-extra-gap: 8px;
  --ty-collapse-extra-font-size: 12px;
  --ty-collapse-body-bg: var(--ty-color-bg-container);
  --ty-collapse-body-color: var(--ty-color-text-secondary);
  --ty-collapse-body-padding-inline: 16px;
  --ty-collapse-body-padding-block: 16px;
  --ty-collapse-font-size: 14px;
  --ty-collapse-line-height: 1.5;
  --ty-collapse-focus-ring: var(--ty-color-primary-border);
  --ty-collapse-motion-duration: 240ms;
  --ty-collapse-motion-easing: ease;
  box-sizing: border-box;
  border: 1px solid var(--ty-collapse-border-color);
  border-radius: var(--ty-collapse-radius);
  background: var(--ty-collapse-bg);
  color: var(--ty-collapse-header-color);
  font-size: var(--ty-collapse-font-size);
  line-height: var(--ty-collapse-line-height);
  overflow: hidden;
}
.ty-collapse-item {
  border-bottom: 1px solid var(--ty-collapse-border-color);
  background: inherit;
}
.ty-collapse-item:last-child {
  border-bottom: 0;
}
.ty-collapse-item_disabled .ty-collapse-item__header {
  cursor: not-allowed;
  background: var(--ty-collapse-header-disabled-bg);
}
.ty-collapse-item_disabled .ty-collapse-item__header:hover {
  background: var(--ty-collapse-header-disabled-bg);
}
.ty-collapse-item_disabled .ty-collapse-item__label {
  color: var(--ty-collapse-header-disabled-color);
}
.ty-collapse-item_disabled .ty-collapse-item__arrow,
.ty-collapse-item_disabled .ty-collapse-item__extra {
  color: var(--ty-collapse-icon-disabled-color);
}
.ty-collapse-item__header {
  display: flex;
  align-items: center;
  gap: var(--ty-collapse-header-gap);
  min-height: var(--ty-collapse-header-min-height);
  min-width: 0;
  padding-inline-end: var(--ty-collapse-header-padding-inline);
  background: var(--ty-collapse-header-bg);
  transition: background-color var(--ty-collapse-motion-duration) var(--ty-collapse-motion-easing), color var(--ty-collapse-motion-duration) var(--ty-collapse-motion-easing);
}
.ty-collapse-item__header:hover {
  background: var(--ty-collapse-header-hover-bg);
}
.ty-collapse-item_active > .ty-collapse-item__header {
  background: var(--ty-collapse-header-active-bg);
}
.ty-collapse-item__toggle {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: var(--ty-collapse-header-gap);
  min-height: var(--ty-collapse-header-min-height);
  padding: var(--ty-collapse-header-padding-block) var(--ty-collapse-header-padding-inline);
  background: none;
  border: 0;
  color: inherit;
  font: inherit;
  line-height: inherit;
  text-align: left;
  cursor: pointer;
}
.ty-collapse-item__toggle:disabled {
  cursor: not-allowed;
  color: inherit;
}
.ty-collapse-item__toggle:focus-visible {
  outline: 2px solid var(--ty-collapse-focus-ring);
  outline-offset: -2px;
}
.ty-collapse-item__icon-slot, .ty-collapse-item__icon-button {
  flex: 0 0 auto;
  width: var(--ty-collapse-icon-slot-size);
  height: var(--ty-collapse-icon-slot-size);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--ty-collapse-icon-color);
}
.ty-collapse-item__icon-button {
  padding: 0;
  background: none;
  border: 0;
  color: inherit;
  cursor: pointer;
  border-radius: 50%;
}
.ty-collapse-item__icon-button:focus-visible {
  outline: 2px solid var(--ty-collapse-focus-ring);
  outline-offset: 2px;
}
.ty-collapse-item__icon-button_disabled {
  cursor: not-allowed;
}
.ty-collapse-item__arrow {
  color: inherit;
  transform: rotate(-90deg);
  transition: transform var(--ty-collapse-motion-duration) var(--ty-collapse-motion-easing);
}
.ty-collapse-item__arrow_active {
  color: var(--ty-collapse-icon-active-color);
  transform: rotate(0deg);
}
.ty-collapse-item__label {
  flex: 1;
  min-width: 0;
  font-size: inherit;
  line-height: inherit;
  color: var(--ty-collapse-header-color);
}
.ty-collapse-item__label_static {
  padding-block: var(--ty-collapse-header-padding-block);
}
.ty-collapse-item__extra {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: var(--ty-collapse-extra-gap);
  margin-left: auto;
  color: var(--ty-collapse-extra-color);
  font-size: var(--ty-collapse-extra-font-size);
}
.ty-collapse-item__body-wrapper {
  border-top: 1px solid var(--ty-collapse-border-color);
}
.ty-collapse-item__body {
  padding: var(--ty-collapse-body-padding-block) var(--ty-collapse-body-padding-inline);
  color: var(--ty-collapse-body-color);
  background: var(--ty-collapse-body-bg);
  box-sizing: border-box;
}
.ty-collapse_borderless {
  border: 0;
  background: var(--ty-collapse-borderless-bg, transparent);
}
.ty-collapse_borderless > .ty-collapse-item {
  border-bottom-color: var(--ty-collapse-borderless-divider-color);
}
.ty-collapse_borderless > .ty-collapse-item > .ty-collapse-item__body-wrapper {
  border-top: 0;
}
.ty-collapse_sm {
  --ty-collapse-font-size: 13px;
  --ty-collapse-header-min-height: 36px;
  --ty-collapse-header-padding-inline: 12px;
  --ty-collapse-header-padding-block: 10px;
  --ty-collapse-body-padding-inline: 12px;
  --ty-collapse-body-padding-block: 12px;
  --ty-collapse-icon-slot-size: 18px;
}
.ty-collapse_md {
  --ty-collapse-font-size: 14px;
  --ty-collapse-header-min-height: 44px;
  --ty-collapse-header-padding-inline: 16px;
  --ty-collapse-header-padding-block: 14px;
  --ty-collapse-body-padding-inline: 16px;
  --ty-collapse-body-padding-block: 16px;
  --ty-collapse-icon-slot-size: 20px;
}
.ty-collapse_lg {
  --ty-collapse-font-size: 15px;
  --ty-collapse-header-min-height: 52px;
  --ty-collapse-header-padding-inline: 18px;
  --ty-collapse-header-padding-block: 16px;
  --ty-collapse-body-padding-inline: 18px;
  --ty-collapse-body-padding-block: 18px;
  --ty-collapse-icon-slot-size: 22px;
}