main.xy-faq-page {
    overflow-x: hidden;
    --xy-faq-frame-inline: 16px;
    --xy-faq-section-inline: var(--xy-faq-frame-inline);
    --xy-faq-hero-inline: var(--xy-faq-frame-inline);
    --xy-faq-hero-content-block: 40px;
}

main.xy-faq-page > section.faq-hero {
    box-sizing: border-box;
    width: 100%;
    max-width: 1296px;
    margin-left: auto;
    margin-right: auto;
    padding: 0;
    border-left: 1px solid #E4E4E4;
    border-right: 1px solid #E4E4E4;
}

main.xy-faq-page > section.faq-hero .faq-hero-bg {
    left: var(--xy-faq-hero-inline);
    width: calc(100% - 2 * var(--xy-faq-hero-inline));
}

main.xy-faq-page > section.faq-hero .faq-hero-content {
    box-sizing: border-box;
    width: calc(100% - 2 * var(--xy-faq-hero-inline)) !important;
    max-width: none !important;
    margin-left: var(--xy-faq-hero-inline) !important;
    margin-right: var(--xy-faq-hero-inline) !important;
    padding: var(--xy-faq-hero-content-block) 0 !important;
}

main.xy-faq-page .faq-page-wrapper.xy-module-page-shell.xy-faq-content-frame {
    width: 100%;
    max-width: 1296px;
    margin-left: auto;
    margin-right: auto;
    padding-inline: var(--xy-faq-frame-inline);
    box-sizing: border-box;
    border-left: 1px solid #E4E4E4;
    border-right: 1px solid #E4E4E4;
}

main.xy-faq-page .xy-faq-content-frame .faq-search-box {
    padding-left: var(--xy-faq-section-inline);
    padding-right: var(--xy-faq-section-inline);
}

main.xy-faq-page .xy-faq-content-frame .faq-tabs {
    padding-left: var(--xy-faq-section-inline);
    padding-right: var(--xy-faq-section-inline);
}

main.xy-faq-page .xy-faq-content-frame .faq-group-title {
    padding-left: var(--xy-faq-section-inline);
    padding-right: var(--xy-faq-section-inline);
}

main.xy-faq-page .xy-faq-content-frame .faq-accordion-list {
    padding-left: var(--xy-faq-section-inline);
    padding-right: var(--xy-faq-section-inline);
}

@media (max-width: 389.98px) {
    main.xy-faq-page {
        --xy-faq-frame-inline: 16px;
        --xy-faq-section-inline: 16px;
        --xy-faq-hero-content-block: 24px;
    }

    main.xy-faq-page .faq-hero {
        min-height: 320px;
    }

    main.xy-faq-page .faq-hero-title {
        font-size: 20px;
        margin-bottom: 12px;
    }

    main.xy-faq-page .faq-hero-desc {
        font-size: 13px;
        margin-bottom: 24px;
    }

    main.xy-faq-page .faq-hero-link {
        font-size: 13px;
        gap: 8px;
    }

    main.xy-faq-page .faq-search-box {
        padding-top: 24px;
        padding-bottom: 24px;
    }

    main.xy-faq-page .faq-search-input {
        font-size: 13px;
    }

    main.xy-faq-page .faq-tabs {
        gap: 20px;
        padding-bottom: 4px;
    }

    main.xy-faq-page .faq-tab {
        padding: 12px 0;
        font-size: 12px;
        gap: 8px;
    }

    main.xy-faq-page .faq-tab svg {
        width: 22px;
        height: 22px;
    }

    main.xy-faq-page .faq-content-section {
        padding-bottom: 64px;
    }

    main.xy-faq-page .faq-group-title {
        padding-top: 28px;
        padding-bottom: 28px;
        font-size: 13px;
    }

    main.xy-faq-page .faq-accordion-header {
        padding: 18px 0;
        font-size: 12px;
    }

    main.xy-faq-page .faq-accordion-body-inner {
        padding-right: 0;
        padding-bottom: 18px;
        font-size: 13px;
    }
}

@media (min-width: 390px) and (max-width: 429.98px) {
    main.xy-faq-page {
        --xy-faq-frame-inline: 18px;
        --xy-faq-section-inline: 18px;
        --xy-faq-hero-content-block: 26px;
    }

    main.xy-faq-page .faq-hero {
        min-height: 340px;
    }

    main.xy-faq-page .faq-hero-title {
        font-size: 21px;
    }
}

@media (min-width: 430px) and (max-width: 479.98px) {
    main.xy-faq-page {
        --xy-faq-frame-inline: 20px;
        --xy-faq-section-inline: 20px;
        --xy-faq-hero-content-block: 28px;
    }

    main.xy-faq-page .faq-hero {
        min-height: 360px;
    }

    main.xy-faq-page .faq-hero-title {
        font-size: 22px;
    }
}

@media (min-width: 480px) and (max-width: 639.98px) {
    main.xy-faq-page {
        --xy-faq-frame-inline: 22px;
        --xy-faq-section-inline: 20px;
        --xy-faq-hero-content-block: 32px;
    }

    main.xy-faq-page .faq-hero {
        min-height: 420px;
    }

    main.xy-faq-page .faq-hero-title {
        font-size: 23px;
    }

    main.xy-faq-page .faq-search-box {
        padding-top: 32px;
        padding-bottom: 32px;
    }

    main.xy-faq-page .faq-tabs {
        gap: 24px;
    }

    main.xy-faq-page .faq-group-title {
        padding-top: 36px;
        padding-bottom: 36px;
    }
}

@media (min-width: 640px) and (max-width: 767.98px) {
    main.xy-faq-page {
        --xy-faq-frame-inline: 24px;
        --xy-faq-section-inline: 24px;
        --xy-faq-hero-content-block: 34px;
    }

    main.xy-faq-page .faq-hero {
        min-height: 480px;
    }

    main.xy-faq-page .faq-hero-title {
        font-size: 24px;
    }

    main.xy-faq-page .faq-tabs {
        gap: 28px;
        overflow-x: auto;
        justify-content: flex-start;
    }

    main.xy-faq-page .faq-tab {
        white-space: nowrap;
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    main.xy-faq-page {
        --xy-faq-frame-inline: 32px;
        --xy-faq-section-inline: 28px;
        --xy-faq-hero-content-block: 36px;
    }

    main.xy-faq-page .faq-hero {
        min-height: 560px;
    }

    main.xy-faq-page .faq-hero-title {
        font-size: 26px;
    }

    main.xy-faq-page .faq-search-box {
        padding-top: 36px;
        padding-bottom: 36px;
    }

    main.xy-faq-page .faq-tabs {
        gap: 40px;
        overflow-x: auto;
        justify-content: flex-start;
    }

    main.xy-faq-page .faq-content-section {
        padding-bottom: 88px;
    }

    main.xy-faq-page .faq-group-title {
        padding-top: 44px;
        padding-bottom: 44px;
    }
}

@media (min-width: 1025px) and (max-width: 1365.98px) {
    main.xy-faq-page {
        --xy-faq-frame-inline: 60px;
        --xy-faq-section-inline: 32px;
        --xy-faq-hero-content-block: 36px;
    }

    main.xy-faq-page .faq-hero {
        min-height: 680px;
    }

    main.xy-faq-page .faq-hero-title {
        font-size: 28px;
    }

    main.xy-faq-page .faq-hero-desc {
        margin-bottom: 32px;
    }

    main.xy-faq-page .faq-search-box {
        padding-top: 36px;
        padding-bottom: 36px;
    }

    main.xy-faq-page .faq-tabs {
        gap: 56px;
    }

    main.xy-faq-page .faq-content-section {
        padding-bottom: 96px;
    }

    main.xy-faq-page .faq-group-title {
        padding-top: 44px;
        padding-bottom: 44px;
    }
}

@media (min-width: 1366px) and (max-width: 1512px) {
    main.xy-faq-page {
        --xy-faq-frame-inline: 0px;
        --xy-faq-section-inline: 40px;
        --xy-faq-hero-inline: var(--xy-faq-section-inline);
        --xy-faq-hero-content-block: 40px;
    }

    main.xy-faq-page .faq-hero {
        min-height: 760px;
    }

    main.xy-faq-page .faq-hero-title {
        font-size: 30px;
    }

    main.xy-faq-page .faq-tabs {
        gap: 68px;
    }

    main.xy-faq-page .faq-group-title {
        padding-top: 48px;
        padding-bottom: 48px;
    }
}

@media (min-width: 1513px) and (max-width: 1599.98px) {
    main.xy-faq-page {
        --xy-faq-frame-inline: 0px;
        --xy-faq-section-inline: 40px;
        --xy-faq-hero-inline: var(--xy-faq-section-inline);
        --xy-faq-hero-content-block: 40px;
    }

    main.xy-faq-page .faq-hero {
        min-height: 780px;
    }

    main.xy-faq-page .faq-hero-title {
        font-size: 31px;
    }

    main.xy-faq-page .faq-tabs {
        gap: 72px;
    }
}

@media (min-width: 1600px) {
    main.xy-faq-page {
        --xy-faq-frame-inline: 0px;
        --xy-faq-section-inline: 40px;
        --xy-faq-hero-inline: var(--xy-faq-section-inline);
        --xy-faq-hero-content-block: 40px;
    }

    main.xy-faq-page .faq-hero {
        min-height: 800px;
    }

    main.xy-faq-page .faq-hero-title {
        font-size: 32px;
    }

    main.xy-faq-page .faq-tabs {
        gap: 80px;
    }

    main.xy-faq-page .faq-content-section {
        padding-bottom: 108px;
    }

    main.xy-faq-page .faq-group-title {
        padding-top: 50px;
        padding-bottom: 50px;
    }
}

@media (hover: hover) and (pointer: fine) {
    main.xy-faq-page .faq-hero-link {
        transition: opacity 0.25s ease, gap 0.25s ease;
    }

    main.xy-faq-page .faq-hero-link:hover {
        gap: 14px;
    }
}
