.wd-faq-clean {
    --wd-faq-question-color: var(--wp--preset--color--black);
    --wd-faq-answer-color: var(--wp--preset--color--black);
    --wd-faq-icon-color: var(--wp--preset--color--cyan-bluish-gray);
    --wd-faq-separator-color: var(--wp--preset--color--cyan-bluish-gray);
    --wd-faq-question-font-size: var(--wp--preset--font-size--large, 1.25rem);
    --wd-faq-answer-font-size: var(--wp--preset--font-size--medium, 1rem);
    --wd-faq-question-font-weight: 500;
    --wd-faq-answer-font-weight: 400;
    --wd-faq-item-padding-y: var(--wp--preset--spacing--32);
    --wd-faq-item-padding-x: 0;
    --wd-faq-answer-padding-bottom: var(--wp--preset--spacing--32);
    --wd-faq-icon-gap: var(--wp--preset--spacing--32);
    --wd-faq-icon-size: 1.25em;
    --wd-faq-animation-duration: 280ms;

    width: 100%;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

.wd-faq-clean,
.wd-faq-clean * {
    box-sizing: border-box;
}

.wd-faq-clean__item {
    border: 0;
    border-bottom: 1px solid var(--wd-faq-separator-color);
    outline: 0;
    box-shadow: none;
}

.wd-faq-clean__question {
    appearance: none;
    border: 0;
    background: transparent;
    box-shadow: none;
    color: var(--wd-faq-question-color);
    cursor: pointer;
    display: grid;
    grid-template-columns: var(--wd-faq-icon-size) minmax(0, 1fr);
    gap: var(--wd-faq-icon-gap);
    align-items: start;
    width: 100%;
    margin: 0;
    padding: var(--wd-faq-item-padding-y) var(--wd-faq-item-padding-x);
    text-align: left;
    font-family: inherit;
    font-size: var(--wd-faq-question-font-size);
    font-weight: var(--wd-faq-question-font-weight);
    line-height: 1.35;
}

.wd-faq-clean__question:hover,
.wd-faq-clean__question:focus,
.wd-faq-clean__question:active {
    background: transparent;
    color: var(--wd-faq-question-color);
}

.wd-faq-clean__question:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 4px;
}

.wd-faq-clean__icon {
    color: var(--wd-faq-icon-color);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--wd-faq-icon-size);
    min-width: var(--wd-faq-icon-size);
    height: 1.35em;
    font-size: 1em;
    font-weight: 300;
    line-height: 1;
}

.wd-faq-clean__icon::before {
    content: '+';
}

.wd-faq-clean__item.is-open > .wd-faq-clean__question .wd-faq-clean__icon::before {
    content: '−';
}

.wd-faq-clean.has-no-icons .wd-faq-clean__question {
    grid-template-columns: minmax(0, 1fr);
}

.wd-faq-clean.has-no-icons .wd-faq-clean__icon {
    display: none;
}

.wd-faq-clean__panel {
    height: 0;
    overflow: hidden;
    transition: height var(--wd-faq-animation-duration) cubic-bezier(0.4, 0, 0.2, 1);
    will-change: height;
}

.wd-faq-clean__item.is-editor-open > .wd-faq-clean__panel,
.block-editor-block-list__layout .wd-faq-clean__item.is-open > .wd-faq-clean__panel {
    height: auto;
}

.wd-faq-clean__answer {
    color: var(--wd-faq-answer-color);
    font-size: var(--wd-faq-answer-font-size);
    font-weight: var(--wd-faq-answer-font-weight);
    line-height: 1.55;
    min-height: 0;
    padding-left: calc(var(--wd-faq-item-padding-x) + var(--wd-faq-icon-size) + var(--wd-faq-icon-gap));
    padding-right: var(--wd-faq-item-padding-x);
    padding-bottom: 0;
    transition: padding-bottom var(--wd-faq-animation-duration) cubic-bezier(0.4, 0, 0.2, 1);
}

.wd-faq-clean__item.is-open > .wd-faq-clean__panel > .wd-faq-clean__answer {
    padding-bottom: var(--wd-faq-answer-padding-bottom);
}

.wd-faq-clean.has-no-icons .wd-faq-clean__answer {
    padding-left: var(--wd-faq-item-padding-x);
}

.wd-faq-clean__answer > *:first-child {
    margin-top: 0;
}

.wd-faq-clean__answer > *:last-child {
    margin-bottom: 0;
}

@media (prefers-reduced-motion: reduce) {
    .wd-faq-clean__panel,
    .wd-faq-clean__answer {
        transition: none;
    }
}
