/* ==========================================================================
   Wixel FAQ Widget
   ========================================================================== */

.wixel-faq {
    width: 100%;
}

/* --------------------------------------------------------------------------
   Item
   -------------------------------------------------------------------------- */

.wixel-faq__item {
    overflow: hidden;
}

/* --------------------------------------------------------------------------
   Question (button)
   -------------------------------------------------------------------------- */

.wixel-faq__question {
    display: flex;
    align-items: center;
    width: 100%;
    border: none;
    background: none;
    cursor: pointer;
    text-align: left;
    gap: 1em;
    margin: 0;
    font-family: inherit;
    font-size: inherit;
    transition: opacity 0.2s ease;
}

.wixel-faq__question:hover {
    opacity: 0.75;
}

.wixel-faq__question:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: -2px;
}

.wixel-faq__question-text {
    flex: 1;
    margin: 0;
    padding: 0;
    font-size: inherit;
}

/* Icon position */
.wixel-faq--icon-right .wixel-faq__icon {
    order: 1;
}

.wixel-faq--icon-left .wixel-faq__question-text {
    order: 1;
}

/* --------------------------------------------------------------------------
   Toggle Icon
   -------------------------------------------------------------------------- */

.wixel-faq__icon {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    transition: transform 0.25s ease;
}

.wixel-faq__icon i,
.wixel-faq__icon svg {
    display: block;
    fill: currentColor;
}

/* Open = show plus, hide minus */
.wixel-faq__icon-open {
    display: inline-flex;
}

.wixel-faq__icon-close {
    display: none;
}

/* Active = show minus, hide plus */
.wixel-faq__item--active .wixel-faq__icon-open {
    display: none;
}

.wixel-faq__item--active .wixel-faq__icon-close {
    display: inline-flex;
}

/* --------------------------------------------------------------------------
   Answer
   -------------------------------------------------------------------------- */

.wixel-faq__answer {
    line-height: 1.6;
    overflow: hidden;
}

.wixel-faq__answer[hidden] {
    display: none;
}

.wixel-faq__answer p:last-child {
    margin-bottom: 0;
}

/* --------------------------------------------------------------------------
   Reduced motion
   -------------------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
    .wixel-faq__icon {
        transition: none;
    }
}
