/**
 * Questrom Shared Dark Mode
 *
 * Shared dark-mode palette and appearance-specific overrides.
 *
 * Component styles should use semantic qtech-* tokens whenever
 * possible. This file contains only:
 *
 * 1. Dark theme token values
 * 2. Theme-level Astra / interface overrides
 * 3. Appearance-specific component adjustments that cannot be
 *    expressed cleanly through the shared semantic tokens
 */


/* =========================================================
   DARK MODE TOKENS
========================================================= */

html[data-qtech-theme="dark"] {
    color-scheme: dark;

    /* Theme-aware text */
    --qtech-heading: #f3f6f8;
    --qtech-text: #c2cbd4;
    --qtech-text-muted: #9aa8b6;

    /* Theme accent */
    --qtech-theme-accent: var(--qtech-aqua);

    /* Theme-aware surfaces */
    --qtech-body-bg: #0c141d;
    --qtech-white: #121b26;

    /*
    * Light-mode section variants collapse to one page
    * background in dark mode.
    */
    --qtech-light: #0c141d;
    --qtech-stone: #0c141d;
    --qtech-blue: #0c141d;
    --qtech-cyan-soft: #0c141d;

    /*
    * Components remain slightly raised from the page.
    */
    --qtech-surface: #121b26;
    --qtech-surface-soft: #121b26;
    --qtech-surface-hover: #17222e;

    /* Borders */
    --qtech-border: #34424f;
    --qtech-divider: #2b3946;

    /* Navigation */
    --qtech-nav-bg: rgba(12, 20, 29, 0.96);
    --qtech-nav-text: #f3f6f8;

    /* Shadows */
    --qtech-shadow:
        0 10px 28px rgba(0, 0, 0, 0.22);

    --qtech-shadow-hover:
        0 16px 34px rgba(0, 0, 0, 0.32);

    --qtech-nav-shadow:
        0 5px 16px rgba(0, 0, 0, 0.24);

    --qtech-panel-shadow:
        0 6px 18px rgba(0, 0, 0, 0.22);

    --qtech-component-shadow:
        0 14px 36px rgba(0, 0, 0, 0.28);

    --qtech-component-shadow-soft:
        0 8px 22px rgba(0, 0, 0, 0.22);

    /* Code */
    --qtech-code-bg:
        rgba(255, 255, 255, 0.07);

    /* Recommendation */
    --qtech-recommendation-bg: #13212b;
    --qtech-recommendation-accent: #65b4d2;
    --qtech-recommendation-heading: #a9d9ea;
    --qtech-recommendation-text: #bdd2dc;
    --qtech-recommendation-border:
        rgba(101, 180, 210, 0.28);

    /* Action lists */
    --qtech-action-shadow:
        0 4px 14px rgba(0, 0, 0, 0.18);

    --qtech-action-shadow-hover:
        0 6px 18px rgba(0, 0, 0, 0.24);

    /* Translucent surfaces */
    --qtech-surface-translucent:
        rgba(18, 27, 38, 0.82);

    --qtech-surface-translucent-soft:
        rgba(18, 27, 38, 0.58);

    /* Forms */
    --qtech-input-bg: #121b26;
    --qtech-input-border: #445362;
    --qtech-input-text: #f3f6f8;
    --qtech-input-placeholder: #8795a3;

    /* Success */
    --qtech-success-bg: #14271d;
    --qtech-success-border: #315b42;
    --qtech-success-text: #b8ddc4;

    /* Error */
    --qtech-error-bg: #2a1718;
    --qtech-error-border: #704043;
    --qtech-error-text: #f0b6b1;

    /* Warning */
    --qtech-warning-bg: #292313;
    --qtech-warning-border: #6d5a29;
    --qtech-warning-text: #e7c978;
    --qtech-warning-icon-bg:
        rgba(231, 201, 120, 0.12);

    /* Status */
    --qtech-status-accent: #63c7ce;
}


/* =========================================================
   PAGE / ASTRA FOUNDATIONS
========================================================= */

html[data-qtech-theme="dark"],
html[data-qtech-theme="dark"] body,
html[data-qtech-theme="dark"] #page,
html[data-qtech-theme="dark"] .site-content {
    background-color: var(--qtech-body-bg);
    color: var(--qtech-text);
}


/* =========================================================
   HEADER
========================================================= */

html[data-qtech-theme="dark"] #ast-desktop-header,
html[data-qtech-theme="dark"] #ast-mobile-header,
html[data-qtech-theme="dark"] .ast-primary-header-bar {
    background: var(--qtech-body-bg) !important;
}

html[data-qtech-theme="dark"] .site-header {
    color: var(--qtech-text);
}


/* =========================================================
   HEADER CONTROLS
========================================================= */

html[data-qtech-theme="dark"]
button.qtech-theme-toggle,
html[data-qtech-theme="dark"]
button.qtech-accessibility-trigger {
    border-color:
        rgba(255, 255, 255, 0.28) !important;

    color: #ffffff !important;
}

/* Theme toggle — hover only */

html[data-qtech-theme="dark"]
button.qtech-theme-toggle:hover {
    background: rgba(255, 255, 255, 0.08) !important;
    border-color: rgba(255, 255, 255, 0.5) !important;
    color: #ffffff !important;
}

/* Keyboard focus only */

button.qtech-theme-toggle:focus-visible {
    outline: 2px solid var(--qtech-theme-accent) !important;
    outline-offset: 3px;
}

/* Mouse focus should not look selected */

button.qtech-theme-toggle:focus:not(:focus-visible) {
    outline: none !important;
    box-shadow: none !important;
}

/* =========================================================
   HERO — DARK MODE
========================================================= */

html[data-qtech-theme="dark"]
.qtech-hero {
    background:
        radial-gradient(
            circle at 78% 45%,
            rgba(159, 243, 236, 0.10),
            transparent 40%
        ),
        linear-gradient(
            110deg,
            #0c141d 0%,
            #0e1822 58%,
            #102126 100%
        );
}


/* =========================================================
   CTA — DEFAULT SURFACES
========================================================= */

/*
 * Default-surface CTAs use the dark-theme aqua accent.
 * Large solid aqua fills are avoided to keep the interface
 * restrained and reduce visual glare.
 *
 * Explicit .qtech-link-dark variants retain their own
 * intentional dark-surface treatment.
 */

html[data-qtech-theme="dark"]
.elementor-widget-button.qtech-link-plain:not(.qtech-link-dark)
a.elementor-button,
html[data-qtech-theme="dark"]
.elementor-widget-button.qtech-link-plain:not(.qtech-link-dark)
a.elementor-button:link,
html[data-qtech-theme="dark"]
.elementor-widget-button.qtech-link-plain:not(.qtech-link-dark)
a.elementor-button:visited {
    color: var(--qtech-theme-accent) !important;
    -webkit-text-fill-color:
        var(--qtech-theme-accent) !important;
}

html[data-qtech-theme="dark"]
.elementor-widget-button.qtech-link-light
a.elementor-button,
html[data-qtech-theme="dark"]
.elementor-widget-button.qtech-link-blue
a.elementor-button,
html[data-qtech-theme="dark"]
.elementor-widget-button.qtech-link-light
.elementor-button-icon,
html[data-qtech-theme="dark"]
.elementor-widget-button.qtech-link-blue
.elementor-button-icon {
    color: var(--qtech-theme-accent) !important;
    fill: var(--qtech-theme-accent) !important;
    -webkit-text-fill-color: var(--qtech-theme-accent) !important;
}

/* =========================================================
   PRIMARY CTA — DARK MODE
========================================================= */

html[data-qtech-theme="dark"]
.elementor-widget-button.qtech-link-primary
a.elementor-button,
html[data-qtech-theme="dark"]
.elementor-widget-button.qtech-link-primary
a.elementor-button:link,
html[data-qtech-theme="dark"]
.elementor-widget-button.qtech-link-primary
a.elementor-button:visited {
    background: transparent !important;
    border-color: var(--qtech-theme-accent) !important;

    color: var(--qtech-theme-accent) !important;
    -webkit-text-fill-color:
        var(--qtech-theme-accent) !important;

    box-shadow: none !important;
}

html[data-qtech-theme="dark"]
.elementor-widget-button.qtech-link-primary
a.elementor-button:hover,
html[data-qtech-theme="dark"]
.elementor-widget-button.qtech-link-primary
a.elementor-button:focus,
html[data-qtech-theme="dark"]
.elementor-widget-button.qtech-link-primary
a.elementor-button:active {
    background:
        color-mix(
            in srgb,
            var(--qtech-theme-accent) 12%,
            var(--qtech-surface)
        ) !important;

    border-color: var(--qtech-theme-accent) !important;

    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;

    box-shadow: none !important;
}

html[data-qtech-theme="dark"]
.elementor-widget-button.qtech-link-primary
a.elementor-button:focus-visible {
    outline: 3px solid
        color-mix(
            in srgb,
            var(--qtech-theme-accent) 30%,
            transparent
        ) !important;

    outline-offset: 3px;
}

/* =========================================================
   SECONDARY CTA - DARK MODE
========================================================= */

/* SECONDARY CTA — INNER TEXT */

html[data-qtech-theme="dark"]
body .elementor-widget-button.qtech-link-secondary:not(.qtech-link-dark)
a.elementor-button .elementor-button-content-wrapper,
html[data-qtech-theme="dark"]
body .elementor-widget-button.qtech-link-secondary:not(.qtech-link-dark)
a.elementor-button .elementor-button-text {
    color: var(--qtech-theme-accent) !important;
    -webkit-text-fill-color: var(--qtech-theme-accent) !important;
}

html[data-qtech-theme="dark"]
body .elementor-widget-button.qtech-link-secondary:not(.qtech-link-dark)
a.elementor-button:hover .elementor-button-content-wrapper,
html[data-qtech-theme="dark"]
body .elementor-widget-button.qtech-link-secondary:not(.qtech-link-dark)
a.elementor-button:hover .elementor-button-text,
html[data-qtech-theme="dark"]
body .elementor-widget-button.qtech-link-secondary:not(.qtech-link-dark)
a.elementor-button:focus .elementor-button-content-wrapper,
html[data-qtech-theme="dark"]
body .elementor-widget-button.qtech-link-secondary:not(.qtech-link-dark)
a.elementor-button:focus .elementor-button-text {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

/* =========================================================
   STANDARD CONTENT LINKS
========================================================= */

html[data-qtech-theme="dark"]
.site-content a:not(.elementor-button) {
    color: var(--qtech-theme-accent);
}

html[data-qtech-theme="dark"]
.site-content a:not(.elementor-button):visited {
    color: var(--qtech-theme-accent);
}

@media (hover: hover) and (pointer: fine) {

    html[data-qtech-theme="dark"]
    .site-content a:not(.elementor-button):hover {
        color: #ffffff;
    }
}

html[data-qtech-theme="dark"]
.site-content a:not(.elementor-button):focus-visible {
    color: #ffffff;

    outline: 2px solid var(--qtech-theme-accent);
    outline-offset: 3px;
}

/* Phosphor icons inherit the dark-theme content accent. */
html[data-qtech-theme="dark"]
.site-content .mox-phosphor {
    color: var(--qtech-theme-accent);
}


/* =========================================================
   CARDS & RESOURCES — STANDARD SURFACES
========================================================= */

html[data-qtech-theme="dark"]
.qtech-card-icon-light .elementor-icon,
html[data-qtech-theme="dark"]
.qtech-card-icon-blue .elementor-icon,
html[data-qtech-theme="dark"]
.qtech-service-card-icon .elementor-icon,
html[data-qtech-theme="dark"]
.qtech-service-feature-icon .elementor-icon,
html[data-qtech-theme="dark"]
.qtech-training-icon .elementor-icon {
    color: var(--qtech-theme-accent) !important;
    fill: var(--qtech-theme-accent) !important;
}

html[data-qtech-theme="dark"]
.qtech-subheading-eyebrow .elementor-heading-title,
html[data-qtech-theme="dark"]
.qtech-card-light
.qtech-card-eyebrow .elementor-heading-title,
html[data-qtech-theme="dark"]
.qtech-card-blue
.qtech-card-eyebrow .elementor-heading-title,
html[data-qtech-theme="dark"]
.qtech-training-eyebrow .elementor-heading-title {
    color: var(--qtech-theme-accent) !important;
}

html[data-qtech-theme="dark"]
.qtech-card-meta-light .elementor-heading-title,
html[data-qtech-theme="dark"]
.qtech-card-meta-light p,
html[data-qtech-theme="dark"]
.qtech-card-meta-blue .elementor-heading-title,
html[data-qtech-theme="dark"]
.qtech-card-meta-blue p,
html[data-qtech-theme="dark"]
.qtech-card-value .elementor-heading-title,
html[data-qtech-theme="dark"]
.qtech-step-number .elementor-heading-title {
    color: var(--qtech-theme-accent) !important;
}

html[data-qtech-theme="dark"]
.qtech-eyebrow-light,
html[data-qtech-theme="dark"]
.qtech-eyebrow-blue,
html[data-qtech-theme="dark"]
.qtech-eyebrow-light .elementor-heading-title,
html[data-qtech-theme="dark"]
.qtech-eyebrow-blue .elementor-heading-title {
    color: var(--qtech-theme-accent) !important;
}

html[data-qtech-theme="dark"]
.qtech-card-note {
    border-left-color: var(--qtech-theme-accent);
}

html[data-qtech-theme="dark"]
.qtech-step-title::after,
html[data-qtech-theme="dark"]
.qtech-process-title::after {
    background: var(--qtech-theme-accent);
}


/* =========================================================
   LAYOUTS & SUPPORT
========================================================= */

/* Split layouts */

html[data-qtech-theme="dark"]
.qtech-split:not(.qtech-split--dark)
.qtech-split-icon .elementor-icon {
    color: var(--qtech-theme-accent);
    fill: var(--qtech-theme-accent);
}

html[data-qtech-theme="dark"]
.qtech-split--light
.elementor-widget-button.qtech-split-link
.elementor-button,
html[data-qtech-theme="dark"]
.qtech-split--blue
.elementor-widget-button.qtech-split-link
.elementor-button {
    color: var(--qtech-theme-accent) !important;
}


/* Support splits */

html[data-qtech-theme="dark"]
.qtech-support-split--light
.qtech-support-icon .elementor-icon,
html[data-qtech-theme="dark"]
.qtech-support-split--blue
.qtech-support-icon .elementor-icon {
    color: var(--qtech-theme-accent) !important;
    fill: var(--qtech-theme-accent) !important;
}

html[data-qtech-theme="dark"]
.qtech-support-split--light
.qtech-support-label .elementor-heading-title,
html[data-qtech-theme="dark"]
.qtech-support-split--light
.qtech-support-list .elementor-icon-list-icon,
html[data-qtech-theme="dark"]
.qtech-support-split--blue
.qtech-support-list .elementor-icon-list-icon,
html[data-qtech-theme="dark"]
.qtech-support-detail-label .elementor-heading-title {
    color: var(--qtech-theme-accent) !important;
}

/* SUPPORT — PRIMARY HEADINGS */

html[data-qtech-theme="dark"]
.qtech-support-primary
.blackboard-live-eyebrow .elementor-heading-title {
    color: var(--qtech-theme-accent) !important;
}

html[data-qtech-theme="dark"]
.qtech-support-primary
.qtech-support-title .elementor-heading-title {
    color: var(--qtech-heading) !important;
}


/* Quick Answer Snapshot */

html[data-qtech-theme="dark"]
.qa-snapshot-question::after {
    background: var(--qtech-theme-accent);
}

html[data-qtech-theme="dark"]
.qa-snapshot-link .elementor-heading-title,
html[data-qtech-theme="dark"]
.qa-snapshot-link .elementor-heading-title a {
    color: var(--qtech-theme-accent);
}

html[data-qtech-theme="dark"]
.qa-snapshot-card:hover,
html[data-qtech-theme="dark"]
.qa-snapshot-card:focus-within {
    border-color:
        color-mix(
            in srgb,
            var(--qtech-theme-accent) 32%,
            var(--qtech-border)
        ) !important;
}


/* Support cards */

html[data-qtech-theme="dark"]
.support-link .elementor-heading-title {
    color: var(--qtech-theme-accent) !important;
}

/* =========================================================
   SUPPORT ICON SURFACES
========================================================= */

html[data-qtech-theme="dark"]
.qtech-support-split--blue
.qtech-support-icon {
    background:
        color-mix(
            in srgb,
            var(--qtech-theme-accent) 8%,
            transparent
        ) !important;

    border-color:
        color-mix(
            in srgb,
            var(--qtech-theme-accent) 14%,
            transparent
        ) !important;
}


/* =========================================================
   LISTS & NOTES
========================================================= */

/* Warning notes */

html[data-qtech-theme="dark"]
.qtech-warning-note--light,
html[data-qtech-theme="dark"]
.qtech-warning-note--blue {
    border-left-color: var(--qtech-theme-accent);
}

html[data-qtech-theme="dark"]
.qtech-warning-note--light
.qtech-warning-note-eyebrow
.elementor-heading-title,
html[data-qtech-theme="dark"]
.qtech-warning-note--blue
.qtech-warning-note-eyebrow
.elementor-heading-title {
    color: var(--qtech-theme-accent) !important;
}


/* Checklist */

html[data-qtech-theme="dark"]
.qtech-checklist-icon .elementor-icon {
    color: var(--qtech-theme-accent);
    fill: var(--qtech-theme-accent);
}


/* Action list */

html[data-qtech-theme="dark"]
.qtech-action-list:not(.qtech-action-list--dark)
.qtech-action-item::before {
    background: var(--qtech-theme-accent);
}


/* List panel */

html[data-qtech-theme="dark"]
.qtech-list-icon .elementor-icon {
    color: var(--qtech-theme-accent);
    fill: var(--qtech-theme-accent);
}


/* Echo request note */

html[data-qtech-theme="dark"]
.qtech-echo-request-note a {
    color: var(--qtech-theme-accent) !important;
}


/* Quick guide */

html[data-qtech-theme="dark"]
.qtech-guide-callout-icon .elementor-icon {
    color: var(--qtech-theme-accent);
    fill: var(--qtech-theme-accent);
}


/* =========================================================
   DATA
========================================================= */

html[data-qtech-theme="dark"]
.qtech-facts:not(.qtech-facts--dark)
.qtech-fact-title
.elementor-heading-title {
    color: var(--qtech-theme-accent) !important;
}

html[data-qtech-theme="dark"]
.qtech-data-table--light
thead th,
html[data-qtech-theme="dark"]
.qtech-data-table--blue
thead th {
    color: var(--qtech-theme-accent) !important;
}


/* =========================================================
   FORMS
========================================================= */

html[data-qtech-theme="dark"]
.qtech-form .gfield_required {
    color: var(--qtech-theme-accent) !important;
}

html[data-qtech-theme="dark"]
.qtech-form input:focus,
html[data-qtech-theme="dark"]
.qtech-form select:focus,
html[data-qtech-theme="dark"]
.qtech-form textarea:focus {
    border-color: var(--qtech-theme-accent) !important;

    box-shadow:
        0 0 0 3px
        color-mix(
            in srgb,
            var(--qtech-theme-accent) 20%,
            transparent
        ) !important;
}

html[data-qtech-theme="dark"]
.qtech-form input[type="checkbox"],
html[data-qtech-theme="dark"]
.qtech-form input[type="radio"] {
    accent-color: var(--qtech-theme-accent);
}

html[data-qtech-theme="dark"]
.qtech-form-intro > .e-con-inner::before {
    background: var(--qtech-theme-accent);
}


/* =========================================================
   SEARCH
========================================================= */

html[data-qtech-theme="dark"]
.qtech-search-empty-eyebrow {
    color: var(--qtech-theme-accent);
}

html[data-qtech-theme="dark"]
.qtech-search-empty-field:focus {
    outline-color: var(--qtech-theme-accent);
}

html[data-qtech-theme="dark"]
.qtech-search-resource span {
    color: var(--qtech-theme-accent);
}

html[data-qtech-theme="dark"]
.qtech-search-empty-help {
    border-left-color: var(--qtech-theme-accent);
}

html[data-qtech-theme="dark"]
.qtech-search-empty-help-link {
    color: var(--qtech-theme-accent);
}


/* =========================================================
   RELATED SERVICES
========================================================= */

html[data-qtech-theme="dark"]
.qtech-related-eyebrow
.elementor-heading-title {
    color: var(--qtech-theme-accent);
}


/* =========================================================
   TRAINING RESOURCE
========================================================= */

html[data-qtech-theme="dark"]
.qtech-training {
    border-left-color: var(--qtech-theme-accent);
}

html[data-qtech-theme="dark"]
.qtech-training-eyebrow
.elementor-heading-title {
    color: var(--qtech-theme-accent);
}

html[data-qtech-theme="dark"]
.qtech-training-list .elementor-icon-list-icon {
    color: var(--qtech-theme-accent) !important;
    fill: var(--qtech-theme-accent) !important;
}

/* =========================================================
   ON THIS PAGE / JUMP TO
========================================================= */

/* Jump To label + chevron */

html[data-qtech-theme="dark"]
.qtech-section-rail__heading,
html[data-qtech-theme="dark"]
.qtech-section-rail__toggle-label,
html[data-qtech-theme="dark"]
.qtech-section-rail__chevron {
    color: var(--qtech-theme-accent) !important;
}

html[data-qtech-theme="dark"]
.qtech-section-rail__chevron {
    fill: var(--qtech-theme-accent) !important;
}


/* Active section indicator */

html[data-qtech-theme="dark"]
.qtech-section-rail
.qtech-section-rail__list
a.is-active::before {
    background: var(--qtech-theme-accent) !important;
}

html[data-qtech-theme="dark"]
.qtech-section-rail
.qtech-section-rail__list a {
    font-weight: 500 !important;
}

html[data-qtech-theme="dark"]
.qtech-section-rail
.qtech-section-rail__list a.is-active {
    font-weight: 700 !important;
    color: var(--qtech-heading) !important;
}

/* SECTION RAIL — STABLE STATES */

html[data-qtech-theme="dark"]
.qtech-section-rail .qtech-section-rail__list a,
html[data-qtech-theme="dark"]
.qtech-section-rail .qtech-section-rail__list a:link,
html[data-qtech-theme="dark"]
.qtech-section-rail .qtech-section-rail__list a:visited {
    color: var(--qtech-text-muted) !important;
    font-weight: 500 !important;
}

html[data-qtech-theme="dark"]
.qtech-section-rail .qtech-section-rail__list a:hover,
html[data-qtech-theme="dark"]
.qtech-section-rail .qtech-section-rail__list a:focus-visible {
    color: var(--qtech-theme-accent) !important;
}

html[data-qtech-theme="dark"]
.qtech-section-rail .qtech-section-rail__list a.is-active,
html[data-qtech-theme="dark"]
.qtech-section-rail .qtech-section-rail__list a.is-active:link,
html[data-qtech-theme="dark"]
.qtech-section-rail .qtech-section-rail__list a.is-active:visited {
    color: var(--qtech-heading) !important;
    font-weight: 700 !important;
}

html[data-qtech-theme="dark"]
.qtech-section-rail .qtech-section-rail__list a::before,
html[data-qtech-theme="dark"]
.qtech-section-rail .qtech-section-rail__list a.is-active::before {
    background-color: var(--qtech-theme-accent) !important;
    border-color: var(--qtech-theme-accent) !important;
}

/* =========================================================
   SECTION RAIL
========================================================= */

@media (max-width: 1599px) {

    html[data-qtech-theme="dark"]
    .qtech-section-rail
    .qtech-section-rail__chevron {
        border-left-color: var(--qtech-theme-accent) !important;
        border-top-color: var(--qtech-theme-accent) !important;
    }
}


/* =========================================================
   SPLIT — DARK MODE
========================================================= */

/* Icons */

html[data-qtech-theme="dark"]
.qtech-split:not(.qtech-split--dark)
.qtech-split-icon .elementor-icon {
    color: var(--qtech-theme-accent) !important;
    fill: var(--qtech-theme-accent) !important;
}


/* Titles */

html[data-qtech-theme="dark"]
.qtech-split:not(.qtech-split--dark)
.qtech-split-title,
html[data-qtech-theme="dark"]
.qtech-split:not(.qtech-split--dark)
.qtech-split-title .elementor-heading-title {
    color: var(--qtech-heading) !important;
}


/* Links */

html[data-qtech-theme="dark"]
.qtech-split:not(.qtech-split--dark)
.elementor-widget-button.qtech-split-link
a.elementor-button,
html[data-qtech-theme="dark"]
.qtech-split:not(.qtech-split--dark)
.elementor-widget-button.qtech-split-link
a.elementor-button:link,
html[data-qtech-theme="dark"]
.qtech-split:not(.qtech-split--dark)
.elementor-widget-button.qtech-split-link
a.elementor-button:visited {
    color: var(--qtech-theme-accent) !important;
    -webkit-text-fill-color: var(--qtech-theme-accent) !important;
}

html[data-qtech-theme="dark"]
.qtech-split:not(.qtech-split--dark)
.elementor-widget-button.qtech-split-link
a.elementor-button:hover,
html[data-qtech-theme="dark"]
.qtech-split:not(.qtech-split--dark)
.elementor-widget-button.qtech-split-link
a.elementor-button:focus {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

/* =========================================================
   DARK MODE — INTERACTIVE CONTROLS
========================================================= */


/* ---------------------------------------------------------
   SECONDARY CTA
--------------------------------------------------------- */

/*
 * Aqua outline at rest.
 * Aqua fill + dark text on hover/focus.
 */

html[data-qtech-theme="dark"]
.elementor-widget-button.qtech-link-secondary:not(.qtech-link-dark)
a.elementor-button,
html[data-qtech-theme="dark"]
.elementor-widget-button.qtech-link-secondary:not(.qtech-link-dark)
a.elementor-button:link,
html[data-qtech-theme="dark"]
.elementor-widget-button.qtech-link-secondary:not(.qtech-link-dark)
a.elementor-button:visited {
    background: transparent !important;
    border-color: var(--qtech-theme-accent) !important;

    color: var(--qtech-theme-accent) !important;
    -webkit-text-fill-color:
        var(--qtech-theme-accent) !important;

    box-shadow: none !important;
}

html[data-qtech-theme="dark"]
.elementor-widget-button.qtech-link-secondary:not(.qtech-link-dark)
a.elementor-button:hover,
html[data-qtech-theme="dark"]
.elementor-widget-button.qtech-link-secondary:not(.qtech-link-dark)
a.elementor-button:focus,
html[data-qtech-theme="dark"]
.elementor-widget-button.qtech-link-secondary:not(.qtech-link-dark)
a.elementor-button:active {
    background:
        color-mix(
            in srgb,
            var(--qtech-theme-accent) 12%,
            var(--qtech-surface)
        ) !important;
    border-color: var(--qtech-theme-accent) !important;

    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;

    box-shadow: none !important;
}

html[data-qtech-theme="dark"]
.elementor-widget-button.qtech-link-secondary:not(.qtech-link-dark)
a.elementor-button:focus-visible {
    outline: 3px solid
        color-mix(
            in srgb,
            var(--qtech-theme-accent) 30%,
            transparent
        ) !important;

    outline-offset: 3px;
}


/* ---------------------------------------------------------
   SCROLL TO TOP
--------------------------------------------------------- */

html[data-qtech-theme="dark"]
#ast-scroll-top {
    background: var(--qtech-theme-accent) !important;
    color: var(--qtech-navy) !important;
}

html[data-qtech-theme="dark"]
#ast-scroll-top svg {
    fill: var(--qtech-navy) !important;
}


/* ---------------------------------------------------------
   HEADER SEARCH
--------------------------------------------------------- */

html[data-qtech-theme="dark"]
.site-header
.ast-search-menu-icon
.search-submit,
html[data-qtech-theme="dark"]
.site-header
.ast-search-menu-icon
.ast-icon {
    color: var(--qtech-theme-accent) !important;
    fill: var(--qtech-theme-accent) !important;
}


/* ---------------------------------------------------------
   GET HELP HEADER BUTTON
--------------------------------------------------------- */

html[data-qtech-theme="dark"]
.ast-header-button-1
.ast-custom-button {
    background: transparent !important;

    border-color:
        color-mix(
            in srgb,
            var(--qtech-theme-accent) 45%,
            transparent
        ) !important;

    color: var(--qtech-theme-accent) !important;
}

html[data-qtech-theme="dark"]
.ast-header-button-1
.ast-custom-button:hover,
html[data-qtech-theme="dark"]
.ast-header-button-1
.ast-custom-button:focus {
    background:
        color-mix(
            in srgb,
            var(--qtech-theme-accent) 10%,
            transparent
        ) !important;

    border-color: var(--qtech-theme-accent) !important;
    color: var(--qtech-theme-accent) !important;
}


/* ---------------------------------------------------------
   INFO NOTES
--------------------------------------------------------- */

html[data-qtech-theme="dark"]
.qtech-info-note--blue {
    background:
        color-mix(
            in srgb,
            var(--qtech-surface) 74%,
            transparent
        );

    border-color: var(--qtech-recommendation-border);
    border-left-color: var(--qtech-theme-accent);

    box-shadow: var(--qtech-panel-shadow);
}

/* Info-note icon */

html[data-qtech-theme="dark"]
.qtech-info-note--blue
.qtech-info-note-icon
.elementor-icon {
    color:
        color-mix(
            in srgb,
            var(--qtech-theme-accent) 82%,
            var(--qtech-text)
        ) !important;

    fill:
        color-mix(
            in srgb,
            var(--qtech-theme-accent) 82%,
            var(--qtech-text)
        ) !important;
}

/* INFORMATIONAL ICONS */

html[data-qtech-theme="dark"]
.qtech-info-note--light
.qtech-info-note-icon .elementor-icon,
html[data-qtech-theme="dark"]
.qtech-info-note--blue
.qtech-info-note-icon .elementor-icon,
html[data-qtech-theme="dark"]
.qtech-recommendation-icon .elementor-icon {
    color:
        color-mix(
            in srgb,
            var(--qtech-theme-accent) 82%,
            var(--qtech-text)
        ) !important;

    fill:
        color-mix(
            in srgb,
            var(--qtech-theme-accent) 82%,
            var(--qtech-text)
        ) !important;
}


/* ---------------------------------------------------------
   SERVICE STATUS
--------------------------------------------------------- */

html[data-qtech-theme="dark"]
.qtech-service-status__link,
html[data-qtech-theme="dark"]
.qtech-service-status__link:link,
html[data-qtech-theme="dark"]
.qtech-service-status__link:visited {
    color: var(--qtech-theme-accent) !important;
}

html[data-qtech-theme="dark"]
.qtech-service-status__link:hover,
html[data-qtech-theme="dark"]
.qtech-service-status__link:focus {
    color: #ffffff !important;
}


/* Close button */

html[data-qtech-theme="dark"]
.qtech-service-status__close {
    background: transparent !important;

    border: 1px solid var(--qtech-border) !important;
    border-radius: 50% !important;

    color: var(--qtech-theme-accent) !important;

    box-shadow: none !important;
}

html[data-qtech-theme="dark"]
.qtech-service-status__close:hover,
html[data-qtech-theme="dark"]
.qtech-service-status__close:focus {
    background:
        color-mix(
            in srgb,
            var(--qtech-theme-accent) 10%,
            transparent
        ) !important;

    border-color: var(--qtech-theme-accent) !important;
    color: var(--qtech-theme-accent) !important;
}

@media (hover: hover) and (pointer: fine) {

    html[data-qtech-theme="dark"]
    .elementor-widget-button.qtech-link-light
    a.elementor-button:hover,
    html[data-qtech-theme="dark"]
    .elementor-widget-button.qtech-link-blue
    a.elementor-button:hover {
        color: #ffffff !important;
        fill: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
    }
}

html[data-qtech-theme="dark"]
input,
html[data-qtech-theme="dark"]
textarea {
    caret-color: var(--qtech-theme-accent);
}

/* SCC STATUS */

html[data-qtech-theme="dark"]
.qtech-scc-status__link,
html[data-qtech-theme="dark"]
.qtech-scc-status__link:link,
html[data-qtech-theme="dark"]
.qtech-scc-status__link:visited {
    color: var(--qtech-theme-accent) !important;
}

html[data-qtech-theme="dark"]
.qtech-scc-status__link:hover,
html[data-qtech-theme="dark"]
.qtech-scc-status__link:focus {
    color: #ffffff !important;
}

/* =========================================================
   ACCESSIBILITY PANEL
========================================================= */

html[data-qtech-theme="dark"]
.qtech-a11y-panel .qtech-a11y-panel__eyebrow,
html[data-qtech-theme="dark"]
.qtech-a11y-panel button.qtech-a11y-reset,
html[data-qtech-theme="dark"]
.qtech-a11y-panel .qtech-a11y-panel__footer a {
    color: var(--qtech-theme-accent) !important;
}

/* =========================================================
   CONTENT CORRECTION
========================================================= */

html[data-qtech-theme="dark"]
.qtech-correction-solicitation-eyebrow,
html[data-qtech-theme="dark"]
.qtech-correction-solicitation-link,
html[data-qtech-theme="dark"]
.qtech-correction-solicitation-link:link,
html[data-qtech-theme="dark"]
.qtech-correction-solicitation-link:visited {
    color: var(--qtech-theme-accent) !important;
}

html[data-qtech-theme="dark"]
.qtech-correction-solicitation-link:hover,
html[data-qtech-theme="dark"]
.qtech-correction-solicitation-link:focus {
    color: #ffffff !important;
}

/* =========================================================
   SITE LOGO
========================================================= */

/* =========================================================
   HEADER LOGO — DARK MODE
========================================================= */

html[data-qtech-theme="dark"]
.site-header .custom-logo,
html[data-qtech-theme="dark"]
.site-header .site-logo-img img,
html[data-qtech-theme="dark"]
.site-header .custom-logo-link img {
    filter: brightness(0) invert(1) !important;
}

/* Info note emphasis */

html[data-qtech-theme="dark"]
.qtech-info-note--blue
.qtech-info-note-text strong {
    color: var(--qtech-theme-accent) !important;
}

/* Header search field focus */

html[data-qtech-theme="dark"]
.site-header
.ast-search-menu-icon
.search-field:focus {
    border-color: var(--qtech-theme-accent) !important;

    box-shadow:
        0 0 0 3px
        color-mix(
            in srgb,
            var(--qtech-theme-accent) 20%,
            transparent
        ) !important;

    outline: 0 !important;
}

html[data-qtech-theme="dark"]
.site-header .site-title,
html[data-qtech-theme="dark"]
.site-header .site-title a,
html[data-qtech-theme="dark"]
.site-header .site-description {
    color: var(--qtech-heading) !important;
    -webkit-text-fill-color: var(--qtech-heading) !important;
}

/* =========================================================
   MEGA MENU — MOBILE SEARCH
========================================================= */

html[data-qtech-theme="dark"]
.qtech-global-search-field:focus {
    border-color: var(--qtech-theme-accent) !important;

    box-shadow:
        0 0 0 3px
        color-mix(
            in srgb,
            var(--qtech-theme-accent) 20%,
            transparent
        ) !important;
}

html[data-qtech-theme="dark"]
.qtech-global-search-submit:focus-visible {
    outline-color: var(--qtech-theme-accent) !important;
}

html[data-qtech-theme="dark"]
.qtech-global-search-submit {
    background:
        color-mix(
            in srgb,
            var(--qtech-theme-accent) 8%,
            transparent
        ) !important;

    border-color:
        color-mix(
            in srgb,
            var(--qtech-theme-accent) 40%,
            transparent
        ) !important;

    color: var(--qtech-theme-accent) !important;
}

html[data-qtech-theme="dark"]
.qtech-global-search-submit:hover,
html[data-qtech-theme="dark"]
.qtech-global-search-submit:focus {
    background:
        color-mix(
            in srgb,
            var(--qtech-theme-accent) 14%,
            transparent
        ) !important;

    border-color: var(--qtech-theme-accent) !important;
    color: #ffffff !important;
}

/* =========================================================
   MEGA MENU — TABS
========================================================= */

html[data-qtech-theme="dark"]
.qtech-menu-trigger {
    background:
        color-mix(
            in srgb,
            var(--qtech-theme-accent) 8%,
            transparent
        ) !important;

    border-color:
        color-mix(
            in srgb,
            var(--qtech-theme-accent) 45%,
            transparent
        ) !important;

    color: var(--qtech-theme-accent) !important;
}

html[data-qtech-theme="dark"]
.qtech-menu-trigger:hover,
html[data-qtech-theme="dark"]
.qtech-menu-trigger:focus,
html[data-qtech-theme="dark"]
.qtech-menu-trigger[aria-expanded="true"] {
    background:
        color-mix(
            in srgb,
            var(--qtech-theme-accent) 14%,
            transparent
        ) !important;

    border-color: var(--qtech-theme-accent) !important;
    color: #ffffff !important;
}


html[data-qtech-theme="dark"]
.qtech-global-menu-tab:hover,
html[data-qtech-theme="dark"]
.qtech-global-menu-tab:focus,
html[data-qtech-theme="dark"]
.qtech-global-menu-tab.is-active,
html[data-qtech-theme="dark"]
.qtech-global-menu-tab[aria-selected="true"] {
    color: var(--qtech-theme-accent) !important;
}

html[data-qtech-theme="dark"]
.qtech-global-menu-tab.is-active,
html[data-qtech-theme="dark"]
.qtech-global-menu-tab[aria-selected="true"] {
    color: var(--qtech-theme-accent) !important;

    border-color:
        color-mix(
            in srgb,
            var(--qtech-theme-accent) 24%,
            transparent
        ) !important;

    background:
        color-mix(
            in srgb,
            var(--qtech-theme-accent) 5%,
            transparent
        ) !important;
}

html[data-qtech-theme="dark"]
.qtech-global-menu-group-title {
    color: var(--qtech-theme-accent) !important;
}


/* View all */

html[data-qtech-theme="dark"]
.qtech-global-menu-viewall a,
html[data-qtech-theme="dark"]
.qtech-global-menu-viewall a:visited {
    color: var(--qtech-theme-accent) !important;
}

html[data-qtech-theme="dark"]
.qtech-global-menu-viewall a:hover,
html[data-qtech-theme="dark"]
.qtech-global-menu-viewall a:focus {
    color: #ffffff !important;
}


html[data-qtech-theme="dark"]
.qtech-global-menu-links a:hover,
html[data-qtech-theme="dark"]
.qtech-global-menu-links a:focus-visible {
    color: var(--qtech-theme-accent);
}

/* =========================================================
   MEGA MENU — FOCUS
========================================================= */

html[data-qtech-theme="dark"]
.qtech-global-menu-tab:focus-visible {
    outline-color: var(--qtech-theme-accent) !important;
}

/* MEGA MENU — CLOSE */

html[data-qtech-theme="dark"]
.qtech-global-menu-close {
    color: var(--qtech-heading) !important;

    border-color:
        color-mix(
            in srgb,
            var(--qtech-theme-accent) 30%,
            var(--qtech-border)
        ) !important;

    background:
        color-mix(
            in srgb,
            var(--qtech-theme-accent) 5%,
            var(--qtech-surface)
        ) !important;
}

html[data-qtech-theme="dark"]
.qtech-global-menu-close:hover,
html[data-qtech-theme="dark"]
.qtech-global-menu-close:focus {
    color: var(--qtech-theme-accent) !important;

    border-color: var(--qtech-theme-accent) !important;

    background:
        color-mix(
            in srgb,
            var(--qtech-theme-accent) 12%,
            var(--qtech-surface)
        ) !important;
}

html[data-qtech-theme="dark"]
.qtech-global-menu-close:focus-visible {
    outline: 2px solid var(--qtech-theme-accent) !important;
    outline-offset: 2px !important;
}


/* =========================================================
   CARD HOVER — DARK MODE
========================================================= */

@media (hover: hover) and (pointer: fine) {
    html[data-qtech-theme="dark"]
    :is(
        .qtech-card-light,
        .qtech-card-blue,
        .qtech-service-card,
        .qtech-service-feature,
        .qtech-related-item,
        .qtech-action-item,
        .qa-snapshot-card
    ):hover {
        border-color:
            color-mix(
                in srgb,
                var(--qtech-theme-accent) 32%,
                var(--qtech-border)
            ) !important;
    }

    html[data-qtech-theme="dark"]
    .qa-snapshot-card:focus-within {
        border-color:
            color-mix(
                in srgb,
                var(--qtech-theme-accent) 32%,
                var(--qtech-border)
            ) !important;
    }
}

@media (max-width: 1199px) {

    html[data-qtech-theme="dark"]
    .menu-toggle.main-header-menu-toggle {
        background:
            color-mix(
                in srgb,
                var(--qtech-theme-accent) 8%,
                transparent
            ) !important;

        border-color:
            color-mix(
                in srgb,
                var(--qtech-theme-accent) 45%,
                transparent
            ) !important;

        color: var(--qtech-theme-accent) !important;

        box-shadow: none !important;
    }

    html[data-qtech-theme="dark"]
    .menu-toggle.main-header-menu-toggle:hover,
    html[data-qtech-theme="dark"]
    .menu-toggle.main-header-menu-toggle:focus,
    html[data-qtech-theme="dark"]
    .menu-toggle.main-header-menu-toggle.toggled {
        background:
            color-mix(
                in srgb,
                var(--qtech-theme-accent) 14%,
                transparent
            ) !important;

        border-color: var(--qtech-theme-accent) !important;
        color: #ffffff !important;
    }
}

html[data-qtech-theme="dark"] ::selection {
    background: var(--qtech-theme-accent);
    color: #0c141d;
}
