@use '../../_styles/mixin.scss' as *;

.o-collapse {
  background-color: var(--collapse-bg-color);
  padding: var(--collapse-padding);
  border-radius: var(--collapse-radius);
}

.o-collapse-item {
  border-bottom: 1px solid var(--collapse-division-color);

  &:last-child {
    border-bottom-color: transparent;
  }
}

.o-collapse-item-header {
  padding: var(--collapse-item-header-padding);
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  cursor: pointer;
}

.o-collapse-item-title {
  margin: 0;
  color: var(--collapse-item-title-color);
  font-size: var(--collapse-item-title-text-size);
  line-height: var(--collapse-item-title-text-height);
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.o-collapse-item-icon {
  flex-shrink: 0;
  color: var(--collapse-item-icon-color);
  font-size: var(--collapse-item-icon-size);
  transform: rotate(90deg);
  transition: transform var(--o-duration-m2) var(--o-easing-standard);
}

.o-collapse-item-body {
  font-size: var(--collapse-item-body-text-size);
  line-height: var(--collapse-item-body-text-height);
  margin-bottom: var(--collapse-item-gap);
  transition:
    max-height var(--o-duration-m2) var(--o-easing-standard),
    margin-bottom var(--o-duration-m2) var(--o-easing-standard);
}

.o-collapse-item-expanded {
  .o-collapse-item-title {
    font-weight: 600;
    color: var(--collapse-item-title-color_expanded);
  }
  .o-collapse-item-icon {
    transform: rotate(-90deg);
  }
}
