:root {
    --thick: 2px;
    --color: #1f2937;
    --ease: cubic-bezier(.5, 0, 0, 1);
    --unit: 34px;
    --bar-size: 30%; 
}

.accordion-item-header {
    padding: 25px 0;
    cursor: pointer;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.accordion-item-body {
    max-height: inherit;
    overflow: hidden;
    transition: max-height 0.2s ease-out;
}

.accordion-item-header h3 {
    padding-right: 1.5rem;
    margin-left: 0 !important;
}

.icon {
    display: inline-block;
    position: relative;
    width: var(--unit);
    height: var(--unit);
    min-width: var(--unit);
    flex-shrink: 0;
    margin-left: 1rem;
    border-radius: 50%;
    /* border: 1px solid #000; */
      box-shadow: 0 0 0 1px #000;

}

/* .accordion-item-header:not(.accordion-item-header_filters) .icon {
} */

.icon span {
    background: var(--color);
    position: absolute;
    border-radius: calc(var(--thick) / 2); 
}

.-plus {
    transition: transform 0.3s var(--ease);
}

.-plus span:nth-of-type(1) {
    width: var(--thick);
    height: var(--bar-size);
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    transition: all 0.3s var(--ease);
}

.-plus span:nth-of-type(2) {
    width: var(--bar-size);
    height: var(--thick);
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    transform-origin: center;
    transition: transform 0.3s var(--ease) 0.2s;
}

.accordion-item-header.active .-plus {
    transform: rotate(-90deg);
    transition: transform 0s;
    background-color: #000;
}

.accordion-item-header.active .-plus span:nth-of-type(1) {
    background: #fff;
    transition: transform 0.6s var(--ease);
}

.accordion-item-header.active .-plus span:nth-of-type(2) {
    transition: transform 0.6s var(--ease);
    transform: translate(-50%, -50%) scale(0, 1);
    background-color: #fff;
}

.accordion-item-body-content p {
    padding: 0 1.5em 1.5em 0em;
    margin-bottom: 0;
}

.steps .accordion-item {
    border-bottom: 1px solid #AFAFAF;
}

.steps .accordion-item:last-child:has(.active), 
.steps .accordion-item:first-child:has(.active) {
    border-bottom: none;
}

.steps .accordion-item-header::after {
    content: none;
}