/* ==========================================================
   KITWICK — FAQ PAGE
   Mockup-matched / hosting-page-aligned version

   Reference styling follows the same structure used by the
   Kitwick hosting page:
   - 1160px content width
   - 70px hero top spacing
   - 28px card radius
   - same purple palette
   - same dark/light tokens
   - WHMCS main-body gutters removed for this page only
   ========================================================== */


/* ==========================================================
   PAGE TOKENS
   ========================================================== */

.kitwick-faq-page {
    --faq-bg: #ffffff;
    --faq-surface: #f4f3fb;
    --faq-surface-2: #eeedf7;

    --faq-border: rgba(31, 34, 80, 0.16);
    --faq-border-strong: rgba(109, 78, 255, 0.62);

    --faq-text: #171a3b;
    --faq-heading: #151936;
    --faq-muted: #69708e;

    --faq-accent: #7357e8;
    --faq-accent-soft: #8c72f2;

    --faq-button-text: #ffffff;

    width: 100%;
    min-height: 100%;

    margin: 0;
    padding: 0 0 88px;

    background: var(--faq-bg);
    color: var(--faq-text);

    transition:
        background-color .25s ease,
        color .25s ease;
}


/* ==========================================================
   REMOVE WHMCS MAIN-BODY GUTTERS
   This is important for matching the hosting page.
   ========================================================== */

#main-body:has(.kitwick-faq-page) {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    background: var(--faq-bg) !important;
}


#main-body:has(.kitwick-faq-page) > .container {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;

    padding-left: 0 !important;
    padding-right: 0 !important;
}


#main-body:has(.kitwick-faq-page) > .container > .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
}


/* ==========================================================
   INNER CONTENT WIDTH
   EXACTLY follows the hosting-page reference.
   ========================================================== */

.kitwick-faq-container {
    width: min(1160px, calc(100% - 48px));

    margin: 0 auto;

    box-sizing: border-box;
}


/* ==========================================================
   HERO
   ========================================================== */

.kitwick-faq-hero {
    position: relative;

    padding: 96px 0 90px;

    background:
        radial-gradient(
            circle at 10% 15%,
            rgba(115, 87, 232, .07),
            transparent 30%
        ),
        var(--faq-bg);
}


.kitwick-faq-hero-content {
    max-width: 820px;
}


/* ==========================================================
   EYEBROW
   ========================================================== */

.kitwick-faq-eyebrow {
    display: inline-flex;

    align-items: center;

    margin: 0 0 20px;

    padding: 9px 16px;

    font-size: 11px;
    font-weight: 600;

    line-height: 1;

    letter-spacing: .22em;

    text-transform: uppercase;

    color: #ffffff;

    background: var(--faq-accent);

    border-radius: 999px;
}


/* ==========================================================
   HERO TITLE
   ========================================================== */

.kitwick-faq-hero h1 {
    display: block;

    width: 100%;
    max-width: 820px !important;

    margin: 0;

    color: var(--faq-heading) !important;

    font-size: clamp(48px, 4.1vw, 64px) !important;

    line-height: 1.10 !important;

    font-weight: 500 !important;

    letter-spacing: -.045em !important;
}


.kitwick-faq-hero h1 span {
    color: var(--faq-accent);
}


.kitwick-faq-hero p {
    max-width: 720px;

    margin: 24px 0 0;

    color: var(--faq-muted);

    font-size: 17px;

    line-height: 1.75;
}


/* ==========================================================
   FAQ SECTION
   ========================================================== */

.kitwick-faq-section {
    padding: 12px 0 0;
}


/* ==========================================================
   SECTION HEADING
   Same two-column composition as hosting page sections.
   ========================================================== */

.kitwick-faq-heading {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(250px, 300px);

    align-items: end;

    gap: 60px;

    margin: 0 0 32px;
}


.kitwick-faq-small-label {
    display: block;

    margin: 0 0 14px;

    color: var(--faq-accent-soft);

    font-size: 12px;

    line-height: 1;

    font-weight: 700;

    letter-spacing: .20em;

    text-transform: uppercase;
}


.kitwick-faq-heading h2 {
    max-width: 760px;

    margin: 0;

    color: var(--faq-heading) !important;

    font-size: clamp(34px, 3.1vw, 46px) !important;

    line-height: 1.08 !important;

    font-weight: 500 !important;

    letter-spacing: -.035em !important;
}


.kitwick-faq-heading h2 span {
    color: var(--faq-accent);
}


.kitwick-faq-heading > p {
    max-width: 300px;

    margin: 2px 0 0;

    color: var(--faq-muted);

    font-size: 14px;

    line-height: 1.5;
}


/* ==========================================================
   FAQ LIST
   ========================================================== */

.kitwick-faq-list {
    display: flex;

    flex-direction: column;

    gap: 12px;

    width: 100%;

    margin: 0;
    padding: 0;
}


/* ==========================================================
   FAQ CARD
   ========================================================== */

.kitwick-faq-item {
    display: block;

    width: 100%;
    min-width: 0;

    margin: 0 !important;

    overflow: hidden;

    box-sizing: border-box;

    border:
        1px solid
        var(--faq-border);

    border-radius: 28px;

    background:
        var(--faq-surface);

    box-shadow:
        0 10px 30px rgba(20, 22, 50, .04);

    transition:
        transform .25s ease,
        border-color .25s ease,
        background-color .25s ease,
        box-shadow .25s ease;
}


.kitwick-faq-item:hover {
    transform: translateY(-2px);

    border-color:
        var(--faq-border-strong);

    box-shadow:
        0 18px 42px rgba(75, 51, 150, .10);
}


.kitwick-faq-item.is-open {
    border-color:
        var(--faq-border-strong);

    box-shadow:
        0 18px 42px rgba(75, 51, 150, .08);
}


/* ==========================================================
   QUESTION BUTTON
   ========================================================== */

.kitwick-faq-question {
    display: flex !important;

    align-items: center !important;
    justify-content: space-between !important;

    width: 100% !important;

    min-height: 78px !important;

    margin: 0 !important;

    padding:
        18px
        24px
        18px
        28px !important;

    box-sizing: border-box;

    border: 0 !important;

    border-radius: 0 !important;

    outline: none !important;

    background: transparent !important;

    color: var(--faq-heading) !important;

    font-family: inherit !important;

    font-size: 16px !important;

    font-weight: 600 !important;

    line-height: 1.4 !important;

    letter-spacing: -.015em;

    text-align: left !important;

    cursor: pointer;

    appearance: none !important;
    -webkit-appearance: none !important;

    box-shadow: none !important;

    transition:
        color .2s ease,
        background-color .2s ease;
}


.kitwick-faq-question:hover {
    color: var(--faq-accent) !important;
}


.kitwick-faq-item.is-open .kitwick-faq-question {
    color: var(--faq-accent) !important;
}


/* ==========================================================
   PLUS / MINUS
   ========================================================== */

.kitwick-faq-icon {
    display: inline-flex !important;

    align-items: center;
    justify-content: center;

    flex: 0 0 40px;

    width: 40px;
    height: 40px;

    margin-left: 20px;

    border-radius: 50%;

    background:
        rgba(115, 87, 232, .10);

    border:
        1px solid
        rgba(115, 87, 232, .12);

    color: var(--faq-accent);

    font-size: 11px;

    line-height: 1;

    transition:
        background-color .2s ease,
        color .2s ease,
        border-color .2s ease,
        transform .2s ease;
}


.kitwick-faq-item:hover .kitwick-faq-icon {
    background:
        rgba(115, 87, 232, .15);

    border-color:
        rgba(115, 87, 232, .22);
}


.kitwick-faq-item.is-open .kitwick-faq-icon {
    background: var(--faq-accent);

    border-color: var(--faq-accent);

    color: #ffffff;
}


/* ==========================================================
   ANSWER
   ========================================================== */

.kitwick-faq-answer {
    max-height: 0;

    overflow: hidden;

    transition:
        max-height .35s ease;
}


.kitwick-faq-answer-inner {
    padding:
        0
        28px
        28px;
}


.kitwick-faq-answer-inner::before {
    content: "";

    display: block;

    width: calc(100% - 0px);

    height: 1px;

    margin:
        0
        0
        20px;

    background:
        var(--faq-border);
}


.kitwick-faq-answer p {
    max-width: 940px;

    margin: 0 0 14px;

    color: var(--faq-muted);

    font-size: 15px;

    line-height: 1.65;
}


.kitwick-faq-answer p:last-child {
    margin-bottom: 0;
}


.kitwick-faq-answer ul {
    max-width: 940px;

    margin: 10px 0 0;

    padding-left: 20px;

    color: var(--faq-muted);

    font-size: 15px;

    line-height: 1.65;
}


.kitwick-faq-answer li {
    margin: 0 0 5px;

    padding-left: 3px;
}


.kitwick-faq-answer li::marker {
    color: var(--faq-accent);
}


/* ==========================================================
   SUPPORT PANEL
   ========================================================== */

.kitwick-faq-support {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        auto;

    align-items: center;

    gap: 45px;

    margin-top: 72px;

    padding: 44px;

    box-sizing: border-box;

    border:
        1px solid
        transparent;

    border-radius: 34px;

    background:
        var(--faq-surface-2);
}


.kitwick-faq-support-content {
    max-width: 720px;
}


.kitwick-faq-support h2 {
    margin: 0;

    color: var(--faq-heading) !important;

    font-size:
        clamp(30px, 3.1vw, 42px) !important;

    line-height: 1.05 !important;

    font-weight: 500 !important;

    letter-spacing: -.035em !important;
}


.kitwick-faq-support h2 span {
    color: var(--faq-accent);
}


.kitwick-faq-support p {
    margin: 14px 0 0;

    color: var(--faq-muted);

    font-size: 15px;

    line-height: 1.55;
}


/* ==========================================================
   SUPPORT BUTTON
   ========================================================== */

.kitwick-faq-support-action {
    flex-shrink: 0;
}


.kitwick-faq-support-button {
    display: flex;

    align-items: center;
    justify-content: center;

    gap: 9px;

    min-width: 175px;

    min-height: 42px;

    padding: 8px 18px;

    box-sizing: border-box;

    border:
        1px solid
        var(--faq-border-strong);

    border-radius: 999px;

    color: var(--faq-accent-soft) !important;

    background: transparent;

    text-decoration: none !important;

    font-size: 14px;

    font-weight: 600;

    line-height: 1;

    transition:
        background-color .2s ease,
        color .2s ease,
        border-color .2s ease,
        transform .2s ease;
}


.kitwick-faq-support-button:hover,
.kitwick-faq-support-button:focus {
    color: var(--faq-button-text) !important;

    background: var(--faq-accent);

    border-color: var(--faq-accent);

    transform: translateY(-1px);

    text-decoration: none !important;
}


.kitwick-faq-support-button i {
    font-size: 10px;
}


/* ==========================================================
   DARK MODE
   Same palette and selectors used by the reference page.
   ========================================================== */

html.dark .kitwick-faq-page,
html.dark-mode .kitwick-faq-page,
html.theme-dark .kitwick-faq-page,
html.mode-dark .kitwick-faq-page,
html.is-dark .kitwick-faq-page,
html[data-theme="dark"] .kitwick-faq-page,
html[data-color-scheme="dark"] .kitwick-faq-page,
html[data-color-mode="dark"] .kitwick-faq-page,
html[data-mode="dark"] .kitwick-faq-page,

body.dark .kitwick-faq-page,
body.dark-mode .kitwick-faq-page,
body.theme-dark .kitwick-faq-page,
body.mode-dark .kitwick-faq-page,
body.is-dark .kitwick-faq-page,
body[data-theme="dark"] .kitwick-faq-page,
body[data-color-scheme="dark"] .kitwick-faq-page,
body[data-color-mode="dark"] .kitwick-faq-page,
body[data-mode="dark"] .kitwick-faq-page,

.dark .kitwick-faq-page,
.dark-mode .kitwick-faq-page,
.theme-dark .kitwick-faq-page,
.mode-dark .kitwick-faq-page,
.is-dark .kitwick-faq-page,
[data-theme="dark"] .kitwick-faq-page,
[data-color-scheme="dark"] .kitwick-faq-page,
[data-color-mode="dark"] .kitwick-faq-page,
[data-mode="dark"] .kitwick-faq-page {

    --faq-bg: #141625;

    --faq-surface: #222534;
    --faq-surface-2: #242738;

    --faq-border: rgba(177, 177, 208, .20);
    --faq-border-strong: rgba(145, 115, 255, .68);

    --faq-text: #a5a7bd;
    --faq-heading: #f0eff7;
    --faq-muted: #9295ad;

    --faq-accent: #8b6df2;
    --faq-accent-soft: #a997ff;

    --faq-button-text: #ffffff;

    color-scheme: dark;
}


/* Whole WHMCS area. */

html.dark:has(.kitwick-faq-page),
html.dark-mode:has(.kitwick-faq-page),
html.theme-dark:has(.kitwick-faq-page),
html[data-theme="dark"]:has(.kitwick-faq-page),
html[data-color-scheme="dark"]:has(.kitwick-faq-page),
html[data-color-mode="dark"]:has(.kitwick-faq-page),
html[data-mode="dark"]:has(.kitwick-faq-page),

body.dark:has(.kitwick-faq-page),
body.dark-mode:has(.kitwick-faq-page),
body.theme-dark:has(.kitwick-faq-page),
body[data-theme="dark"]:has(.kitwick-faq-page),
body[data-color-scheme="dark"]:has(.kitwick-faq-page),
body[data-color-mode="dark"]:has(.kitwick-faq-page),
body[data-mode="dark"]:has(.kitwick-faq-page) {

    background: #141625 !important;
}


html.dark #main-body:has(.kitwick-faq-page),
html.dark-mode #main-body:has(.kitwick-faq-page),
html.theme-dark #main-body:has(.kitwick-faq-page),
html[data-theme="dark"] #main-body:has(.kitwick-faq-page),
html[data-color-scheme="dark"] #main-body:has(.kitwick-faq-page),
html[data-color-mode="dark"] #main-body:has(.kitwick-faq-page),
html[data-mode="dark"] #main-body:has(.kitwick-faq-page),

body.dark #main-body:has(.kitwick-faq-page),
body.dark-mode #main-body:has(.kitwick-faq-page),
body.theme-dark #main-body:has(.kitwick-faq-page),
body[data-theme="dark"] #main-body:has(.kitwick-faq-page),
body[data-color-scheme="dark"] #main-body:has(.kitwick-faq-page),
body[data-color-mode="dark"] #main-body:has(.kitwick-faq-page),
body[data-mode="dark"] #main-body:has(.kitwick-faq-page) {

    background: #141625 !important;
}


/* Dark FAQ cards. */

html.dark .kitwick-faq-item,
html.dark-mode .kitwick-faq-item,
html.theme-dark .kitwick-faq-item,
html[data-theme="dark"] .kitwick-faq-item,
html[data-color-scheme="dark"] .kitwick-faq-item,
html[data-color-mode="dark"] .kitwick-faq-item,
html[data-mode="dark"] .kitwick-faq-item,

body.dark .kitwick-faq-item,
body.dark-mode .kitwick-faq-item,
body.theme-dark .kitwick-faq-item,
body[data-theme="dark"] .kitwick-faq-item,
body[data-color-scheme="dark"] .kitwick-faq-item,
body[data-color-mode="dark"] .kitwick-faq-item,
body[data-mode="dark"] .kitwick-faq-item {

    background: #222534 !important;

    border-color:
        rgba(177, 177, 208, .20);

    box-shadow: none;
}


/* Dark support panel. */

html.dark .kitwick-faq-support,
html.dark-mode .kitwick-faq-support,
html.theme-dark .kitwick-faq-support,
html[data-theme="dark"] .kitwick-faq-support,
html[data-color-scheme="dark"] .kitwick-faq-support,
html[data-color-mode="dark"] .kitwick-faq-support,
html[data-mode="dark"] .kitwick-faq-support,

body.dark .kitwick-faq-support,
body.dark-mode .kitwick-faq-support,
body.theme-dark .kitwick-faq-support,
body[data-theme="dark"] .kitwick-faq-support,
body[data-color-scheme="dark"] .kitwick-faq-support,
body[data-color-mode="dark"] .kitwick-faq-support,
body[data-mode="dark"] .kitwick-faq-support {

    background: #242738 !important;

    border-color: transparent;
}


/* Dark heading/copy enforcement. */

html[data-theme="dark"] .kitwick-faq-hero h1,
html[data-theme="dark"] .kitwick-faq-heading h2,
html[data-theme="dark"] .kitwick-faq-support h2,
body.dark-mode .kitwick-faq-hero h1,
body.dark-mode .kitwick-faq-heading h2,
body.dark-mode .kitwick-faq-support h2 {

    color: #f0eff7 !important;
}


html[data-theme="dark"] .kitwick-faq-hero p,
html[data-theme="dark"] .kitwick-faq-heading > p,
html[data-theme="dark"] .kitwick-faq-answer p,
html[data-theme="dark"] .kitwick-faq-answer ul,
html[data-theme="dark"] .kitwick-faq-support p,
body.dark-mode .kitwick-faq-hero p,
body.dark-mode .kitwick-faq-heading > p,
body.dark-mode .kitwick-faq-answer p,
body.dark-mode .kitwick-faq-answer ul,
body.dark-mode .kitwick-faq-support p {

    color: #9295ad !important;
}


/* ==========================================================
   LIGHT MODE
   ========================================================== */

html.light .kitwick-faq-page,
html.light-mode .kitwick-faq-page,
html.theme-light .kitwick-faq-page,
html[data-theme="light"] .kitwick-faq-page,
html[data-color-scheme="light"] .kitwick-faq-page,
html[data-color-mode="light"] .kitwick-faq-page,
html[data-mode="light"] .kitwick-faq-page,

body.light .kitwick-faq-page,
body.light-mode .kitwick-faq-page,
body.theme-light .kitwick-faq-page,
body[data-theme="light"] .kitwick-faq-page,
body[data-color-scheme="light"] .kitwick-faq-page,
body[data-color-mode="light"] .kitwick-faq-page,
body[data-mode="light"] .kitwick-faq-page,

.light .kitwick-faq-page,
.light-mode .kitwick-faq-page,
.theme-light .kitwick-faq-page,
.mode-light .kitwick-faq-page,
.is-light .kitwick-faq-page,
[data-theme="light"] .kitwick-faq-page,
[data-color-scheme="light"] .kitwick-faq-page,
[data-color-mode="light"] .kitwick-faq-page,
[data-mode="light"] .kitwick-faq-page {

    --faq-bg: #ffffff;

    --faq-surface: #f4f3fb;
    --faq-surface-2: #eeedf7;

    --faq-border: rgba(31, 34, 80, .16);
    --faq-border-strong: rgba(109, 78, 255, .62);

    --faq-text: #171a3b;
    --faq-heading: #151936;
    --faq-muted: #69708e;

    --faq-accent: #7357e8;
    --faq-accent-soft: #8c72f2;
}


/* ==========================================================
   MOBILE / TABLET
   ========================================================== */

@media (max-width: 991px) {

    .kitwick-faq-container {
        width: min(100% - 36px, 760px);
    }


    .kitwick-faq-hero {
        padding: 58px 0 42px;
    }


    .kitwick-faq-hero h1 {
        max-width: 720px !important;

        font-size:
            clamp(44px, 7vw, 60px) !important;
    }


    .kitwick-faq-heading {
        grid-template-columns:
            1fr;

        gap: 18px;

        margin-bottom: 30px;
    }


    .kitwick-faq-heading > p {
        max-width: 580px;
    }


    .kitwick-faq-support {
        grid-template-columns:
            1fr;

        gap: 25px;
    }

}


@media (max-width: 767px) {

    .kitwick-faq-page {
        padding-bottom: 60px;
    }


    .kitwick-faq-container {
        width: min(100% - 28px, 620px);
    }


    .kitwick-faq-hero {
        padding: 48px 0 34px;
    }


    .kitwick-faq-hero h1 {
        max-width: 100% !important;

        font-size:
            clamp(40px, 12vw, 56px) !important;

        line-height: 1 !important;
    }


    .kitwick-faq-hero p {
        margin-top: 20px;

        font-size: 16px;
    }


    .kitwick-faq-section {
        padding-top: 0;
    }


    .kitwick-faq-small-label {
        font-size: 10px;
    }


    .kitwick-faq-heading h2 {
        font-size: 32px !important;
    }


    .kitwick-faq-list {
        gap: 10px;
    }


    .kitwick-faq-item {
        border-radius: 22px;
    }


    .kitwick-faq-question {
        min-height: 70px !important;

        gap: 15px;

        padding:
            16px
            16px
            16px
            20px !important;

        font-size: 14px !important;
    }


    .kitwick-faq-icon {
        flex-basis: 36px;

        width: 36px;
        height: 36px;

        margin-left: 10px;
    }


    .kitwick-faq-answer-inner {
        padding:
            0
            20px
            24px;
    }


    .kitwick-faq-answer-inner::before {
        margin-bottom: 17px;
    }


    .kitwick-faq-answer p,
    .kitwick-faq-answer ul {
        font-size: 14px;

        line-height: 1.65;
    }


    .kitwick-faq-support {
        margin-top: 50px;

        padding: 28px 22px;

        border-radius: 26px;
    }


    .kitwick-faq-support h2 {
        font-size: 32px !important;
    }


    .kitwick-faq-support p {
        font-size: 14px;
    }


    .kitwick-faq-support-button {
        width: 100%;
    }

}


/* ==========================================================
   REDUCE MOTION
   ========================================================== */

@media (prefers-reduced-motion: reduce) {

    .kitwick-faq-page,
    .kitwick-faq-item,
    .kitwick-faq-question,
    .kitwick-faq-icon,
    .kitwick-faq-answer,
    .kitwick-faq-support-button {
        transition: none !important;
    }


    .kitwick-faq-item:hover,
    .kitwick-faq-support-button:hover {
        transform: none !important;
    }

}


/* ==========================================================
   KITWICK FAQ — HOMEPAGE-STYLE HERO WITH IMAGE
   Added to mirror the homepage hero composition.
   ========================================================== */

.kitwick-faq-hero {
    padding: 96px 0 90px !important;
    background:
        radial-gradient(
            circle at 12% 30%,
            rgba(118, 98, 217, 0.12),
            transparent 35%
        ),
        radial-gradient(
            circle at 88% 70%,
            rgba(211, 64, 109, 0.07),
            transparent 32%
        ),
        var(--faq-bg);
}

.kitwick-faq-hero-grid {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        minmax(0, 1fr);
    align-items: center;
    gap: 80px;
}

.kitwick-faq-hero-content {
    min-width: 0;
    max-width: none;
}

.kitwick-faq-hero h1 {
    max-width: 690px !important;
    margin: 0 !important;
    font-size: 60px !important;
    line-height: 1.2 !important;
    font-weight: 500 !important;
    letter-spacing: -0.035em !important;
    color: var(--faq-heading) !important;
}

.kitwick-faq-hero p {
    max-width: 620px !important;
    margin: 32px 0 0 !important;
    font-size: 17px !important;
    line-height: 1.75 !important;
    font-weight: 400 !important;
    color: var(--faq-muted) !important;
}

/* ==========================================================
   FAQ HERO IMAGE
   Uses the same Kitwick light/dark artwork as the homepage.
   ========================================================== */

.kitwick-faq-hero-visual {
    position: relative;
    width: 100%;
    min-height: 560px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: visible;
}

.kitwick-faq-hero-image-wrapper {
    position: relative;
    width: 100%;
    max-width: 680px;
    display: grid;
    place-items: center;
    overflow: visible;
}

.kitwick-faq-hero-image {
    grid-area: 1 / 1;
    display: block;
    width: 100%;
    max-width: 680px;
    height: auto;
    object-fit: contain;
    object-position: center;
    user-select: none;
    -webkit-user-drag: none;
    transition:
        opacity 0.25s ease,
        visibility 0.25s ease;
}

.kitwick-faq-hero-image-light {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.kitwick-faq-hero-image-dark {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

/* ==========================================================
   DARK MODE — HERO IMAGE
   Same theme-state approach as the homepage.
   ========================================================== */

body[data-theme="dark"] .kitwick-faq-hero-image-light,
html[data-theme="dark"] .kitwick-faq-hero-image-light,
body.dark .kitwick-faq-hero-image-light,
body.dark-mode .kitwick-faq-hero-image-light,
body.theme-dark .kitwick-faq-hero-image-light,
html.dark .kitwick-faq-hero-image-light,
html.dark-mode .kitwick-faq-hero-image-light,
html.theme-dark .kitwick-faq-hero-image-light {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

body[data-theme="dark"] .kitwick-faq-hero-image-dark,
html[data-theme="dark"] .kitwick-faq-hero-image-dark,
body.dark .kitwick-faq-hero-image-dark,
body.dark-mode .kitwick-faq-hero-image-dark,
body.theme-dark .kitwick-faq-hero-image-dark,
html.dark .kitwick-faq-hero-image-dark,
html.dark-mode .kitwick-faq-hero-image-dark,
html.theme-dark .kitwick-faq-hero-image-dark {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

/* Keep the page background aligned with the homepage dark palette. */
html[data-theme="dark"] #main-body:has(.kitwick-faq-page),
body[data-theme="dark"] #main-body:has(.kitwick-faq-page),
body.dark #main-body:has(.kitwick-faq-page),
body.dark-mode #main-body:has(.kitwick-faq-page),
body.theme-dark #main-body:has(.kitwick-faq-page) {
    background: #151624 !important;
}

/* ==========================================================
   DESKTOP — SAME IMAGE SCALE / POSITION AS HOMEPAGE
   ========================================================== */

@media (min-width: 1101px) {

    .kitwick-faq-hero-visual {
        min-height: 570px;
        margin-right: -25px;
    }

    .kitwick-faq-hero-image-wrapper {
        max-width: 680px;
        transform: translateX(10px);
    }

    .kitwick-faq-hero-image {
        max-width: 680px;
    }
}

/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 1100px) {

    .kitwick-faq-hero-grid {
        gap: 45px;
    }

    .kitwick-faq-hero-visual {
        min-height: 460px;
        margin-top: 10px;
    }

    .kitwick-faq-hero-image-wrapper {
        max-width: 600px;
    }

    .kitwick-faq-hero-image {
        max-width: 600px;
    }
}

/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 768px) {

    .kitwick-faq-hero {
        padding: 65px 0 70px !important;
    }

    .kitwick-faq-hero-grid {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .kitwick-faq-hero h1 {
        max-width: 100% !important;
        font-size: clamp(42px, 12vw, 58px) !important;
    }

    .kitwick-faq-hero p {
        font-size: 15px !important;
    }

    .kitwick-faq-hero-visual {
        min-height: auto;
        margin-top: 0;
        overflow: hidden;
    }

    .kitwick-faq-hero-image-wrapper {
        width: 100%;
        max-width: 580px;
    }

    .kitwick-faq-hero-image {
        width: 100%;
        max-width: 580px;
    }
}

@media (max-width: 480px) {

    .kitwick-faq-hero {
        padding: 55px 0 60px !important;
    }

    .kitwick-faq-hero h1 {
        font-size: 42px !important;
    }
}

@media (prefers-reduced-motion: reduce) {

    .kitwick-faq-hero-image {
        transition: none !important;
    }
}

/* ============================================================
   FAQ — MATCH HOMEPAGE TOP ALIGNMENT
   ============================================================ */

.kitwick-faq-hero {
    padding-top: 96px !important;
    padding-bottom: 90px !important;
}

.kitwick-faq-hero-content {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

.kitwick-faq-eyebrow {
    margin-top: 0 !important;
}

.kitwick-faq-hero h1 {
    margin-top: 0 !important;
}

/* ============================================================
   FAQ HERO — MATCH HOMEPAGE TOP ALIGNMENT
   ============================================================ */

.kitwick-faq-hero-content {
    align-self: start !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
}