.bb-toggle-icon-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    transform: rotate(45deg);
    transform-origin: center center;
    transition-duration: 0.2s;
    transition-property: transform;
    transition-timing-function: ease;
    color: currentColor;
}

.bb-toggle-icon {
    display: block;
    position: relative;
    width: 1em;
    height: 1em;
    font-style: normal;
    transform: rotate(45deg);
    transform-origin: center center;
    transition-duration: 0.2s;
    transition-property: transform;
    transition-timing-function: ease;
}

.bb-toggle-icon::before,
.bb-toggle-icon::after {
    display: block;
    content: "";
    position: absolute;
    background-color: currentColor;
    border-radius: 10px;
    transform-origin: center center;
}

.bb-toggle-icon::after {
    top: 50%;
    left: 50%;
    width: 100%;
    height: 0.14em;
    margin: 0;
    transform: translate(-50%, -50%);
}

.bb-toggle-icon::before {
    top: 50%;
    left: 50%;
    width: 0.14em;
    height: 100%;
    margin: 0;
    transform: translate(-50%, -50%);
}

[data-toggle-icon-spin].open .bb-toggle-icon-wrap,
details[open] > [data-toggle-icon-spin="details"] .bb-toggle-icon-wrap {
    transform: rotate(-360deg);
}

[data-toggle-icon-spin].open .bb-toggle-icon-wrap .bb-toggle-icon::before,
details[open] > [data-toggle-icon-spin="details"] .bb-toggle-icon-wrap .bb-toggle-icon::before {
    content: none;
}

[data-toggle-icon-spin].open .bb-toggle-icon-wrap .bb-toggle-icon::after,
details[open] > [data-toggle-icon-spin="details"] .bb-toggle-icon-wrap .bb-toggle-icon::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}

@media (prefers-reduced-motion: reduce) {
    .bb-toggle-icon-wrap,
    .bb-toggle-icon {
        transition: none;
    }
}
