/*
 * The client's original FAQ structure and class names, scoped to this widget.
 * Elementor controls set custom properties on .aeo-faq-shell.
 * Keep the question at its closed-state position; only answers expand.
 * Native <details> remains the fallback when JavaScript is unavailable.
 */
.elementor-widget-algoryte-aeo-faq .aeo-faq-shell {
    width: 100%;
    min-width: 0;
    overflow-anchor: none;
    padding: var(--aeo-faq-shell-padding, 18px 24px 0);
    background: var(--aeo-faq-shell-bg, #000);
}

.elementor-widget-algoryte-aeo-faq .aeo-faq-shell,
.elementor-widget-algoryte-aeo-faq .aeo-faq-shell * {
    box-sizing: border-box;
}

.elementor-widget-algoryte-aeo-faq .aeo-faq-shell .aeo-faq {
    width: 100%;
    max-width: var(--aeo-faq-max-width, 890px);
    margin: 0 auto;
    padding: 0;
    background: var(--aeo-faq-content-bg, #000);
    color: var(--aeo-faq-answer-color, #fff);
    font-family: 'Poppins', sans-serif;
    text-align: var(--aeo-faq-text-align, left);
    overflow-wrap: anywhere;
}

.elementor-widget-algoryte-aeo-faq .aeo-faq-shell .aeo-faq > :is(h2, h3, h4, h5, h6) {
    display: inline-block;
    max-width: 100%;
    margin: 0 0 var(--aeo-faq-heading-gap, 48px);
    padding: 0;
    font-family: inherit;
    font-size: 72px;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: -2px;
    text-transform: none;
    background: linear-gradient(
        var(--aeo-faq-heading-angle, 105deg),
        var(--aeo-faq-heading-start, #fff) var(--aeo-faq-heading-start-stop, 0%),
        var(--aeo-faq-heading-middle, #d7d4ff) var(--aeo-faq-heading-middle-stop, 32%),
        var(--aeo-faq-heading-end, #6d5aff) var(--aeo-faq-heading-end-stop, 100%)
    );
    -webkit-background-clip: text;
    background-clip: text;
    color: var(--aeo-faq-heading-color, #b6adff);
    -webkit-text-fill-color: var(--aeo-faq-heading-fill, transparent);
}

.elementor-widget-algoryte-aeo-faq .aeo-faq-shell .aeo-faq .faq-item {
    position: relative;
    margin: 0 0 var(--aeo-faq-item-gap, 0px);
    padding: var(--aeo-faq-closed-padding, 36px 112px 36px 8px);
    border: 0;
    border-bottom: var(--aeo-faq-divider-width, 1px) var(--aeo-faq-divider-style, solid) var(--aeo-faq-divider-color, #7561ff);
    border-image-source: var(--aeo-faq-divider-image, none);
    border-image-slice: 1;
    background: var(--aeo-faq-item-bg, transparent);
    border-radius: 0;
    box-shadow: none;
    color: var(--aeo-faq-answer-color, #fff);
}

.elementor-widget-algoryte-aeo-faq .aeo-faq-shell .aeo-faq .faq-item[open] {
    padding-bottom: var(--aeo-faq-open-padding-bottom, 58px);
}

.elementor-widget-algoryte-aeo-faq .aeo-faq-shell .aeo-faq .faq-item[open] > summary {
    margin-bottom: max(0px, calc(var(--aeo-faq-open-padding-top, 44px) - var(--aeo-faq-closed-padding-top, 36px)));
}

.elementor-widget-algoryte-aeo-faq .aeo-faq-shell .aeo-faq .faq-item:first-of-type > summary {
    margin-bottom: 0;
}

.elementor-widget-algoryte-aeo-faq .aeo-faq-shell .aeo-faq .faq-item:first-of-type {
    padding-top: var(--aeo-faq-first-padding-top, 0px);
}

.elementor-widget-algoryte-aeo-faq .aeo-faq-shell .aeo-faq .faq-item:last-child {
    border-bottom-width: var(--aeo-faq-last-divider-width, 0px);
    margin-bottom: 0;
}

.elementor-widget-algoryte-aeo-faq .aeo-faq-shell .aeo-faq .faq-item > summary {
    display: flow-root;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    list-style: none;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.elementor-widget-algoryte-aeo-faq .aeo-faq-shell .aeo-faq .faq-item > summary::-webkit-details-marker {
    display: none;
}

.elementor-widget-algoryte-aeo-faq .aeo-faq-shell .aeo-faq .faq-item > summary::marker {
    content: '';
}

.elementor-widget-algoryte-aeo-faq .aeo-faq-shell .aeo-faq .faq-item > summary:focus-visible {
    outline: 2px solid var(--aeo-faq-focus-color, #9276ff);
    outline-offset: 8px;
}

.elementor-widget-algoryte-aeo-faq .aeo-faq-shell .aeo-faq .faq-item > summary > :is(h2, h3, h4, h5, h6) {
    margin: 0 0 var(--aeo-faq-question-gap, 16px);
    padding: 0;
    color: var(--aeo-faq-question-color, #9276ff);
    font-family: inherit;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0;
    text-transform: none;
}

.elementor-widget-algoryte-aeo-faq .aeo-faq-shell .aeo-faq .faq-item[open] > summary > :is(h2, h3, h4, h5, h6) {
    color: var(--aeo-faq-question-open-color, var(--aeo-faq-question-color, #9276ff));
}

.elementor-widget-algoryte-aeo-faq .aeo-faq-shell .aeo-faq .faq-item > summary:hover > :is(h2, h3, h4, h5, h6) {
    color: var(--aeo-faq-question-hover-color, var(--aeo-faq-question-color, #9276ff));
}

.elementor-widget-algoryte-aeo-faq .aeo-faq-shell .aeo-faq .faq-item[open] > summary:hover > :is(h2, h3, h4, h5, h6) {
    color: var(--aeo-faq-question-hover-color, var(--aeo-faq-question-open-color, var(--aeo-faq-question-color, #9276ff)));
}

.elementor-widget-algoryte-aeo-faq .aeo-faq-shell .aeo-faq .faq-item:not([open]) > summary > :is(h2, h3, h4, h5, h6) {
    margin-bottom: 0;
}

.elementor-widget-algoryte-aeo-faq .aeo-faq-shell .aeo-faq .faq-item :is(p, ol, ul, blockquote) {
    margin: 0 0 var(--aeo-faq-paragraph-gap, 16px);
    padding: 0;
    color: var(--aeo-faq-answer-color, #fff);
    font-family: inherit;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.45;
    letter-spacing: 0;
}

.elementor-widget-algoryte-aeo-faq .aeo-faq-shell .aeo-faq .faq-item p:last-of-type {
    margin-bottom: 0;
}

.elementor-widget-algoryte-aeo-faq .aeo-faq-shell .aeo-faq .faq-item > :last-child:not(summary) {
    margin-bottom: 0;
}

.elementor-widget-algoryte-aeo-faq .aeo-faq-shell .aeo-faq .faq-item > :not(summary) {
    margin-left: calc(var(--aeo-faq-open-padding-left, 8px) - var(--aeo-faq-closed-padding-left, 8px));
    margin-right: calc(var(--aeo-faq-open-padding-right, 112px) - var(--aeo-faq-closed-padding-right, 112px));
}

.elementor-widget-algoryte-aeo-faq .aeo-faq-shell .aeo-faq .faq-item :is(ol, ul) {
    padding-left: var(--aeo-faq-list-indent, 40px);
}

.elementor-widget-algoryte-aeo-faq .aeo-faq-shell .aeo-faq .faq-item li {
    margin: 0 0 var(--aeo-faq-list-item-gap, 0px);
    padding: 0;
    font-size: inherit;
    line-height: inherit;
}

.elementor-widget-algoryte-aeo-faq .aeo-faq-shell .aeo-faq .faq-item a {
    color: var(--aeo-faq-link-color, #9276ff);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.elementor-widget-algoryte-aeo-faq .aeo-faq-shell .aeo-faq .faq-item a:hover {
    color: var(--aeo-faq-link-hover-color, var(--aeo-faq-link-color, #9276ff));
}

.elementor-widget-algoryte-aeo-faq .aeo-faq-shell .aeo-faq .faq-arrow {
    position: absolute;
    right: var(--aeo-faq-arrow-right, 44px);
    bottom: var(--aeo-faq-arrow-bottom, 28px);
    width: var(--aeo-faq-arrow-size, 24px);
    height: var(--aeo-faq-arrow-size, 24px);
    display: block;
    color: var(--aeo-faq-arrow-color, #fff);
    transform: translateY(-50%) scaleX(var(--aeo-faq-arrow-mirror, -1)) rotate(var(--aeo-faq-arrow-open-angle, 0deg));
    transform-origin: center;
}

.elementor-widget-algoryte-aeo-faq .aeo-faq-shell .aeo-faq .faq-item:not([open]) .faq-arrow {
    top: 50%;
    bottom: auto;
    transform: translateY(-50%) scaleX(var(--aeo-faq-arrow-mirror, -1)) rotate(var(--aeo-faq-arrow-closed-angle, 189deg));
}

.elementor-widget-algoryte-aeo-faq .aeo-faq-shell .aeo-faq .faq-item:first-of-type:not([open]) .faq-arrow {
    top: var(--aeo-faq-first-padding-top, 0px);
    transform: scaleX(var(--aeo-faq-arrow-mirror, -1)) rotate(var(--aeo-faq-arrow-closed-angle, 189deg));
}

.elementor-widget-algoryte-aeo-faq .aeo-faq-shell .aeo-faq span.faq-arrow > :is(svg, i) {
    display: block;
    width: 100%;
    height: 100%;
    font-size: var(--aeo-faq-arrow-size, 24px);
    color: inherit;
    fill: currentColor;
}

/* Fallback mobile design. Elementor responsive controls use its active breakpoints. */
@media (max-width: 767px) {
    .elementor-widget-algoryte-aeo-faq .aeo-faq-shell {
        padding: var(--aeo-faq-shell-padding, 24px 20px 0);
    }

    .elementor-widget-algoryte-aeo-faq .aeo-faq-shell .aeo-faq > :is(h2, h3, h4, h5, h6) {
        font-size: 52px;
        margin-bottom: var(--aeo-faq-heading-gap, 32px);
    }

    .elementor-widget-algoryte-aeo-faq .aeo-faq-shell .aeo-faq .faq-item {
        padding: var(--aeo-faq-closed-padding, 26px 36px 26px 0);
    }

    .elementor-widget-algoryte-aeo-faq .aeo-faq-shell .aeo-faq .faq-item[open] {
        padding-bottom: var(--aeo-faq-open-padding-bottom, 48px);
    }

    .elementor-widget-algoryte-aeo-faq .aeo-faq-shell .aeo-faq .faq-item[open] > summary {
        margin-bottom: max(0px, calc(var(--aeo-faq-open-padding-top, 30px) - var(--aeo-faq-closed-padding-top, 26px)));
    }

    .elementor-widget-algoryte-aeo-faq .aeo-faq-shell .aeo-faq .faq-item:first-of-type > summary {
        margin-bottom: 0;
    }

    .elementor-widget-algoryte-aeo-faq .aeo-faq-shell .aeo-faq .faq-item > :not(summary) {
        margin-left: calc(var(--aeo-faq-open-padding-left, 0px) - var(--aeo-faq-closed-padding-left, 0px));
        margin-right: calc(var(--aeo-faq-open-padding-right, 36px) - var(--aeo-faq-closed-padding-right, 36px));
    }

    .elementor-widget-algoryte-aeo-faq .aeo-faq-shell .aeo-faq .faq-item:first-of-type {
        padding-top: var(--aeo-faq-first-padding-top, 0px);
    }

    .elementor-widget-algoryte-aeo-faq .aeo-faq-shell .aeo-faq .faq-item > summary > :is(h2, h3, h4, h5, h6) {
        font-size: 15px;
        margin-bottom: var(--aeo-faq-question-gap, 14px);
    }

    .elementor-widget-algoryte-aeo-faq .aeo-faq-shell .aeo-faq .faq-item:not([open]) > summary > :is(h2, h3, h4, h5, h6) {
        margin-bottom: 0;
    }

    .elementor-widget-algoryte-aeo-faq .aeo-faq-shell .aeo-faq .faq-item :is(p, ol, ul, blockquote) {
        font-size: 14px;
        line-height: 1.55;
    }

    .elementor-widget-algoryte-aeo-faq .aeo-faq-shell .aeo-faq .faq-item :is(ol, ul) {
        padding-left: var(--aeo-faq-list-indent, 24px);
    }

    .elementor-widget-algoryte-aeo-faq .aeo-faq-shell .aeo-faq .faq-arrow {
        right: var(--aeo-faq-arrow-right, 6px);
        bottom: var(--aeo-faq-arrow-bottom, 20px);
        width: var(--aeo-faq-arrow-size, 22px);
        height: var(--aeo-faq-arrow-size, 22px);
    }
}
