.slot-defaultable { display: contents; }
.slot-defaultable .slot:empty { display: none; }
.slot-defaultable .slot { display: contents; }
.slot-defaultable .default-slot { display: none; }
.slot-defaultable .slot:empty + .default-slot { display: contents; }


.wv-collapse-item {
  --wv-border-split: solid 1rpx var(--wv-border-color);
  --wv-list-padding-x: var(--wv-padding-default);
  --wv-list-padding-y: var(--wv-padding-default);

  position: relative;
  width: 100%;
  display: flex;
  flex-direction: column;
}

/* Apply reverse layout with concrete class */
.wv-collapse-item.reverse {
  flex-direction: column-reverse;
}

.wv-collapse-item-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--wv-list-padding-y) var(--wv-list-padding-x);
  position: relative;
}

/* Use concrete classes for arrow positioning */
.wv-collapse-item.arrow-position-left .wv-collapse-item-header {
  flex-direction: row;
}

.wv-collapse-item.arrow-position-right .wv-collapse-item-header {
  flex-direction: row-reverse;
}

.wv-collapse-item .wv-collapse-item-header::after {
  content: '';
  position: absolute;
  left: var(--wv-list-padding-x);
  right: var(--wv-list-padding-x);
  bottom: 0;
  border-bottom: var(--wv-border-split);
}
.wv-collapse-item.full .wv-collapse-item-header::after {
  left: 0;
  right: 0;
}
.wv-collapse-item.no-split .wv-collapse-item-header::after {
  display: none;
}

.wv-collapse-item-title {
  flex: 1;
}

.wv-collapse-item-arrow {
  margin-left: var(--wv-list-padding-x);
  color: var(--wv-color-muted);
}

/* Reset margin for left position arrow */
.wv-collapse-item.arrow-position-left .wv-collapse-item-arrow {
  margin-left: 0;
  margin-right: var(--wv-list-padding-x);
}

.wv-collapse-item-content {
  overflow: hidden;
  will-change: height;
  transition-property: height;
  transition-timing-function: ease;
}

.wv-collapse-item-content-inner {
  padding: var(--wv-list-padding-y) var(--wv-list-padding-x);
}

/* Disabled state */
.wv-collapse-item-disabled .wv-collapse-item-header {
  cursor: not-allowed;
  opacity: 0.6;
}

/* 隐藏插槽检测元素 */
.arrow-slot, .title-slot {
  display: contents;
}

/* Icon state management */
.icon-area {
  display: block;
}

.icon-area-active {
  display: none;
}

.wv-collapse-item.active .icon-area {
  display: none;
}

.wv-collapse-item.active .icon-area-active {
  display: block;
}
