/* Homepage layout V2. Disable via FPAI_HOMEPAGE_LAYOUT_V2_ENABLED. */

/* Critical homepage fonts are first-party, compact and swap safely. */
@font-face {
    font-family: "Inter";
    font-style: normal;
    font-weight: 300 900;
    font-display: swap;
    src: url("../fonts/inter-latin.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC,
        U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F,
        U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

body.home,
body.home button,
body.home input,
body.home select,
body.home textarea {
    font-family: "Inter", Arial, sans-serif;
}

@font-face {
    font-family: "FPAI Font Awesome";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../../../toolboxai/assets/vendor/font-awesome/webfonts/fa-regular-400.woff2") format("woff2");
}

@font-face {
    font-family: "FPAI Font Awesome";
    font-style: normal;
    font-weight: 900;
    font-display: swap;
    src: url("../../../toolboxai/assets/vendor/font-awesome/webfonts/fa-solid-900.woff2") format("woff2");
}

body.home .fa,
body.home .far,
body.home .fas,
body.home .fa-regular,
body.home .fa-solid {
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    line-height: 1;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
}

body.home .fa,
body.home .fas,
body.home .fa-solid {
    font-family: "FPAI Font Awesome";
    font-weight: 900;
}

body.home .far,
body.home .fa-regular {
    font-family: "FPAI Font Awesome";
    font-weight: 400;
}

body.home .fa-envelope::before { content: "\f0e0"; }
body.home .fa-calendar::before { content: "\f133"; }
body.home .fa-circle-dot::before { content: "\f192"; }
body.home .fa-newspaper::before { content: "\f1ea"; }
body.home .fa-star::before { content: "\f005"; }
body.home .fa-arrow-right::before { content: "\f061"; }
body.home .fa-arrow-up-right-from-square::before { content: "\f35d"; }
body.home .fa-bolt::before { content: "\f0e7"; }
body.home .fa-brain::before { content: "\f5dc"; }
body.home .fa-check::before { content: "\f00c"; }
/* Let the directory plugin's Font Awesome 6 stylesheet draw its original icon. */
body.home .fa-code-compare {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
}
body.home .fa-robot::before { content: "\f544"; }
body.home .fa-wand-magic-sparkles::before { content: "\f0d0"; }
body.home .fa-bookmark::before { content: "\f02e"; }
body.home .fa-angle-up::before { content: "\f106"; }
body.home .fa-caret-down::before { content: "\f0d7"; }
body.home .fa-plus::before { content: "\f067"; }
body.home .fa-user-astronaut::before { content: "\f4fb"; }

/* Bootstrap utilities actually used by the homepage, without the 230KB file. */
body.home *,
body.home *::before,
body.home *::after {
    box-sizing: border-box;
}

body.home .container {
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    padding-right: 12px;
    padding-left: 12px;
}

body.home .entry-content .row {
    --fpai-gutter-x: 1.5rem;
    display: flex;
    flex-wrap: wrap;
    margin-right: calc(-.5 * var(--fpai-gutter-x));
    margin-left: calc(-.5 * var(--fpai-gutter-x));
}

body.home .entry-content .row > * {
    flex-shrink: 0;
    width: 100%;
    max-width: 100%;
    padding-right: calc(var(--fpai-gutter-x) * .5);
    padding-left: calc(var(--fpai-gutter-x) * .5);
}

/* The homepage no longer downloads Bootstrap's full grid. Restore the same
   flex behavior for the theme footer so its five columns do not collapse into
   one long vertical stack on desktop. */
body.home #site-footer .row {
    --fpai-gutter-x: 1.5rem;
    display: flex;
    flex-wrap: wrap;
    margin-right: calc(-.5 * var(--fpai-gutter-x));
    margin-left: calc(-.5 * var(--fpai-gutter-x));
}

body.home #site-footer .row > * {
    flex-shrink: 0;
    max-width: 100%;
    padding-right: calc(var(--fpai-gutter-x) * .5);
    padding-left: calc(var(--fpai-gutter-x) * .5);
}

/* Owl keeps the previous sponsored slide in the stage while its fade-out
   class is active. Elementor's animation stylesheet is intentionally omitted
   on the optimized homepage, so provide the missing final state locally. */
body.home .toolboxsaas-top-bar .owl-carousel.owl-loaded .owl-item.owl-animated-out {
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

body.home .col-12,
body.home .col-xs-12,
body.home .col-md_12 { flex: 0 0 auto; width: 100%; }
body.home .d-flex { display: flex !important; }
body.home .d-inline-block { display: inline-block !important; }
body.home .align-items-center { align-items: center !important; }
body.home .position-relative { position: relative !important; }
body.home .text-center { text-align: center !important; }
body.home .text-white { color: #fff !important; }
body.home .text-decoration-none { text-decoration: none !important; }
body.home .w-100 { width: 100% !important; }
body.home .p-3 { padding: 1rem !important; }
body.home .mt-2 { margin-top: .5rem !important; }
body.home .mt-3 { margin-top: 1rem !important; }
body.home .mb-0 { margin-bottom: 0 !important; }
body.home .mb-3 { margin-bottom: 1rem !important; }
body.home .mb-4 { margin-bottom: 1.5rem !important; }
body.home .ms-1 { margin-left: .25rem !important; }
body.home .ms-3 { margin-left: 1rem !important; }
body.home .fw-semibold { font-weight: 600 !important; }
body.home .rounded-pill { border-radius: 50rem !important; }
body.home .rounded-4 { border-radius: 1rem !important; }

/* Original Toolbox SaaS utility retained after the large plugin stylesheet was
   removed from the optimized homepage. */
body.home .truncate-2-lines {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.5;
}

/* The mobile header row must never be rendered beside the desktop header. */
@media (min-width: 1171px) {
    body.home .header-v2 .cb-row--mobile.hide-on-desktop {
        display: none !important;
    }
}

/* Keep the floating control compact after replacing Bootstrap's reset. */
body.home .toolboxai-back-to-top {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    padding: 0 !important;
}

@media (max-width: 767px) {
    body.home .toolboxai-back-to-top {
        display: none !important;
    }
}

@media (min-width: 576px) {
    body.home .container { max-width: 540px; }
    body.home .col-sm-6 { flex: 0 0 auto; width: 50%; }
    body.home .col-sm-12 { flex: 0 0 auto; width: 100%; }
}

@media (min-width: 768px) {
    body.home .container { max-width: 720px; }
    body.home .col-md-2 { flex: 0 0 auto; width: 16.66666667%; }
    body.home .col-md-3 { flex: 0 0 auto; width: 25%; }
    body.home .col-md-4 { flex: 0 0 auto; width: 33.33333333%; }
    body.home .col-md-6 { flex: 0 0 auto; width: 50%; }
    body.home .col-md-8 { flex: 0 0 auto; width: 66.66666667%; }
    body.home .col-md-12 { flex: 0 0 auto; width: 100%; }
}

@media (min-width: 992px) {
    body.home .container { max-width: 960px; }
    body.home .col-lg-4 { flex: 0 0 auto; width: 33.33333333%; }
    body.home .col-lg-12 { flex: 0 0 auto; width: 100%; }
}

@media (min-width: 1200px) {
    body.home .container { max-width: 1140px; }
    body.home .col-xl-3 { flex: 0 0 auto; width: 25%; }
}

@media (min-width: 1400px) {
    body.home .container { max-width: 1320px; }
}

/* Static rendering removes Elementor's visibility animations and their CLS. */
body.home .elementor-invisible {
    visibility: visible !important;
}

body.home .animated,
body.home [class*="fadeIn"],
body.home [class*="bounceIn"] {
    animation: none !important;
}

@media (max-width: 767px) {
    body.home .elementor-element-acdfe9e {
        width: calc(100% + 24px) !important;
        left: -12px !important;
    }

    body.home .toolboxsaas-bar-inner,
    body.home .mt-users-grid-wrap,
    body.home .mt-users-grid-wrap * {
        animation: none !important;
        transition: none !important;
    }
}

/* The large six-category shortcut section duplicated the Categories page and
   delayed visitors from reaching sponsored and actual tool listings. */
body.home .elementor-element-5d2d33f {
    display: none !important;
}

/* Defer layout/paint work for category shelves until they approach the
   viewport. Their full content remains available and unchanged. */
body.home .elementor-widget-toolboxsaas_users_grid_widget {
    content-visibility: auto;
    contain-intrinsic-size: auto 560px;
}

/* Comparison education section directly below the hero. */
.fpai-compare-guide[data-fpai-pending] {
    display: none;
}

.fpai-compare-guide {
    position: relative;
    isolation: isolate;
    width: min(1480px, calc(100% - 40px));
    margin: 28px auto 64px;
    overflow: hidden;
    border: 1px solid rgba(149, 56, 229, .16);
    border-radius: 26px;
    background:
        linear-gradient(135deg, rgba(255,255,255,.98), rgba(249,244,255,.96)),
        #fff;
    box-shadow: 0 22px 58px rgba(61, 22, 91, .085);
    color: #17131c;
}

.fpai-compare-guide__inner {
    position: relative;
    z-index: 2;
    padding: clamp(27px, 3vw, 42px);
}

.fpai-compare-guide__glow {
    position: absolute;
    z-index: 0;
    border-radius: 50%;
    pointer-events: none;
    filter: blur(1px);
}

.fpai-compare-guide__glow--one {
    top: -240px;
    right: -150px;
    width: 520px;
    height: 520px;
    background: radial-gradient(circle, rgba(160,68,250,.2), transparent 68%);
}

.fpai-compare-guide__glow--two {
    bottom: -260px;
    left: -180px;
    width: 480px;
    height: 480px;
    background: radial-gradient(circle, rgba(54,154,255,.1), transparent 69%);
}

.fpai-compare-guide__header {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin-bottom: 26px;
    text-align: center;
}

.fpai-compare-guide__header > div {
    width: 100%;
    max-width: 820px;
}

.fpai-compare-guide__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 15px;
    padding: 8px 13px;
    border: 1px solid rgba(160,68,250,.14);
    border-radius: 999px;
    background: #f6edff;
    color: #8629d1;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.fpai-compare-guide__header h2 {
    margin: 0 0 7px;
    color: #450868;
    font-family: "Inter", sans-serif;
    font-size: clamp(26px, 2.6vw, 36px);
    font-weight: 700;
    line-height: 1.16;
    letter-spacing: normal;
}

.fpai-compare-guide__header p {
    max-width: 760px;
    margin: 0 auto;
    color: #6e6575;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.55;
}

.fpai-compare-guide__header-cta,
.fpai-compare-guide__mobile-cta a {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 48px;
    padding: 12px 20px;
    border-radius: 999px;
    background: linear-gradient(135deg, #a044fa, #7319bd);
    box-shadow: 0 5px 0 #591092, 0 12px 24px rgba(92, 22, 151, .22);
    color: #fff !important;
    font-size: 15px;
    font-weight: 800;
    text-decoration: none !important;
    transition: transform .18s ease, box-shadow .18s ease;
}

.fpai-compare-guide__header-cta:hover,
.fpai-compare-guide__mobile-cta a:hover {
    box-shadow: 0 7px 0 #591092, 0 18px 34px rgba(92, 22, 151, .34);
    transform: translateY(-2px);
}

.fpai-compare-guide__steps {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 92px minmax(0, 1fr) 92px minmax(0, 1fr);
    align-items: stretch;
    margin-bottom: 0;
}

.fpai-compare-step {
    position: relative;
    display: flex;
    min-height: 282px;
    flex-direction: column;
    gap: 17px;
    padding: 25px 23px;
    border: 1px solid #e9e1ef;
    border-radius: 22px;
    background: rgba(255,255,255,.92);
    box-shadow: 0 15px 35px rgba(57,31,76,.075);
}

.fpai-step-demo {
    position: relative;
    display: flex;
    min-height: 174px;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border: 1px solid #eee5f5;
    border-radius: 17px;
    background:
        radial-gradient(circle at 85% 15%, rgba(160,68,250,.12), transparent 35%),
        linear-gradient(145deg, #fcfaff, #f7f2fb);
}

.fpai-step-demo--cards {
    flex-wrap: wrap;
    gap: 8px;
    padding: 11px;
}

.fpai-mini-tool-card {
    position: relative;
    display: grid;
    grid-template-columns: 37px 1fr;
    gap: 9px;
    width: 46%;
    min-height: 70px;
    align-items: center;
    padding: 9px 8px;
    border: 1px solid #e5ddea;
    border-radius: 13px;
    background: #fff;
    box-shadow: 0 8px 18px rgba(53,29,70,.07);
}

.fpai-mini-tool-card--selected {
    border-color: #a044fa;
    box-shadow: 0 9px 21px rgba(160,68,250,.15);
}

.fpai-mini-logo,
.fpai-mini-tray__tool {
    display: grid;
    place-items: center;
    color: #fff;
}

.fpai-mini-logo {
    width: 32px;
    height: 32px;
    border-radius: 10px;
    font-size: 14px;
}

.fpai-mini-logo--purple { background: linear-gradient(145deg, #ad50fa, #7119bd); }
.fpai-mini-logo--blue { background: linear-gradient(145deg, #45b8ff, #4f4de2); }
.fpai-mini-logo--orange { background: linear-gradient(145deg, #ffad4d, #f06c35); }
.fpai-mini-logo--teal { background: linear-gradient(145deg, #50d5cf, #159f9b); }

.fpai-mini-lines {
    display: grid;
    gap: 7px;
}

.fpai-mini-lines i {
    display: block;
    height: 5px;
    border-radius: 999px;
    background: #ded7e6;
}

.fpai-mini-lines i:last-child {
    width: 66%;
}

.fpai-mini-compare {
    position: absolute;
    top: 7px;
    right: 7px;
    display: grid;
    width: 23px;
    height: 23px;
    place-items: center;
    border-radius: 7px;
    background: #a044fa;
    box-shadow: 0 4px 10px rgba(160,68,250,.28);
    color: #fff;
    font-size: 11px;
}

.fpai-step-demo--tray {
    gap: 20px;
    padding: 11px 20px;
}

.fpai-mini-tray {
    display: grid;
    gap: 5px;
    padding: 7px;
    border: 1px solid #e3d8eb;
    border-radius: 13px;
    background: #fff;
    box-shadow: 0 10px 22px rgba(56,30,75,.1);
}

.fpai-mini-tray__check {
    display: grid;
    width: 30px;
    height: 30px;
    margin-top: 2px;
    place-items: center;
    border-radius: 8px;
    background: linear-gradient(145deg, #43b8f5, #3181dd);
    box-shadow: 0 6px 13px rgba(38,126,209,.32);
    color: #fff;
    font-size: 12px;
}

.fpai-mini-tray__tool {
    position: relative;
    width: 26px;
    height: 26px;
    border-radius: 7px;
    font-size: 10px;
}

.fpai-mini-tray__tool b {
    position: absolute;
    top: -4px;
    right: -4px;
    display: grid;
    width: 11px;
    height: 11px;
    place-items: center;
    border-radius: 50%;
    background: #ec594d;
    color: #fff;
    font-size: 8px;
    font-weight: 700;
    line-height: 1;
}

.fpai-mini-tray-label {
    padding: 8px 11px;
    border-radius: 999px;
    background: #efe1ff;
    color: #7922bd;
    font-size: 11px;
    font-weight: 800;
}

.fpai-mini-tray-label small {
    color: #796c82;
    font-size: 9px;
    font-weight: 600;
}

.fpai-step-demo--result {
    padding: 17px 20px;
}

.fpai-mini-table {
    display: grid;
    grid-template-columns: 1.25fr repeat(4, 1fr);
    gap: 1px;
    width: 100%;
    min-height: 135px;
    padding: 7px;
    border: 1px solid #e2dae8;
    border-radius: 12px;
    background: #e9e2ed;
    box-shadow: 0 10px 21px rgba(49,27,64,.09);
}

.fpai-mini-table b,
.fpai-mini-table strong,
.fpai-mini-table span {
    display: grid;
    min-width: 0;
    place-items: center;
    padding: 4px 2px;
    background: #fff;
    color: #62586a;
    font-size: 8px;
    font-style: normal;
    line-height: 1.15;
    text-align: center;
}

.fpai-mini-table b {
    min-height: 28px;
    background: linear-gradient(145deg, #f4e7ff, #fff);
    color: #6f1eaa;
    font-weight: 800;
}

.fpai-mini-table strong {
    justify-items: start;
    padding-left: 5px;
    background: #f7f3f9;
    color: #332a39;
    font-weight: 800;
}

.fpai-mini-check {
    position: absolute;
    right: 15px;
    bottom: 11px;
    display: grid;
    width: 43px;
    height: 43px;
    place-items: center;
    border: 3px solid #fff;
    border-radius: 12px;
    background: linear-gradient(145deg, #41b7f4, #347edc);
    box-shadow: 0 8px 18px rgba(37,121,205,.3);
    color: #fff;
    font-size: 17px;
}

.fpai-compare-step__copy {
    padding-inline: 3px;
}

.fpai-compare-step--featured {
    border-color: rgba(160,68,250,.3);
    background: linear-gradient(145deg, #fff, #faf3ff);
    box-shadow: 0 19px 42px rgba(113,40,165,.12);
    transform: translateY(-7px);
}

.fpai-compare-step__number {
    position: absolute;
    top: 14px;
    right: 17px;
    color: #ded4e5;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .08em;
}

.fpai-compare-step__icon {
    display: grid;
    width: 58px;
    height: 58px;
    place-items: center;
    border-radius: 17px;
    background: linear-gradient(145deg, #f0ddff, #fbf7ff);
    color: #9a37e9;
    box-shadow: inset 0 0 0 1px rgba(154,55,233,.08);
    font-size: 22px;
}

.fpai-compare-step__icon--check {
    background: linear-gradient(145deg, #45b6ff, #7d2be4);
    box-shadow: 0 10px 22px rgba(72,91,218,.22);
    color: #fff;
}

.fpai-compare-step h3 {
    margin: 5px 0 8px;
    color: #3c315b;
    font-family: "Inter", sans-serif;
    font-size: 19px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: normal;
}

.fpai-compare-step p {
    margin: 0;
    color: #756d7b;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.65;
}

.fpai-compare-arrow {
    display: grid;
    align-self: center;
    place-items: center;
}

.fpai-compare-arrow svg {
    display: block;
    width: 88px;
    max-width: 100%;
    overflow: visible;
    filter: drop-shadow(0 4px 6px rgba(126,31,196,.12));
}

.fpai-compare-guide__visual {
    position: relative;
    max-width: 1180px;
    margin: 0 auto;
    padding: 13px;
    border: 1px solid rgba(152,67,219,.16);
    border-radius: 27px;
    background: rgba(255,255,255,.78);
    box-shadow: 0 24px 55px rgba(64,29,89,.13);
    transform: perspective(1600px) rotateX(1.2deg);
}

.fpai-compare-guide__visual::before {
    position: absolute;
    z-index: -1;
    right: 5%;
    bottom: -18px;
    left: 5%;
    height: 45px;
    border-radius: 50%;
    content: "";
    background: rgba(91,30,134,.18);
    filter: blur(24px);
}

.fpai-compare-guide__visual img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 18px;
}

.fpai-compare-guide__visual-badge {
    position: absolute;
    z-index: 2;
    top: 29px;
    right: 29px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 13px;
    border: 1px solid rgba(160,68,250,.15);
    border-radius: 999px;
    background: rgba(255,255,255,.9);
    box-shadow: 0 9px 25px rgba(47,24,63,.12);
    color: #7922bd;
    font-size: 12px;
    font-weight: 800;
    backdrop-filter: blur(10px);
}

.fpai-compare-guide__mobile-cta {
    display: none;
}

@media (max-width: 1100px) {
    .fpai-compare-guide__header {
        align-items: flex-start;
    }

    .fpai-compare-guide__steps {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .fpai-compare-step {
        min-height: 0;
    }

    .fpai-compare-step--featured {
        transform: none;
    }

    .fpai-compare-arrow {
        height: 58px;
    }

    .fpai-compare-arrow svg {
        width: 76px;
        transform: rotate(90deg);
    }
}

@media (max-width: 700px) {
    .fpai-compare-guide {
        width: calc(100% - 24px);
        margin: 25px auto 52px;
        border-radius: 24px;
    }

    .fpai-compare-guide__inner {
        padding: 30px 18px 34px;
    }

    .fpai-compare-guide__header {
        flex-direction: column;
        gap: 18px;
        margin-bottom: 30px;
    }

    .fpai-compare-guide__header h2 {
        font-size: 27px;
    }

    .fpai-compare-guide__header p {
        font-size: 15px;
    }

    .fpai-compare-guide__header-cta {
        display: inline-flex;
        width: 100%;
    }

    .fpai-compare-step {
        grid-template-columns: 50px 1fr;
        gap: 14px;
        padding: 22px 18px;
        border-radius: 18px;
    }

    .fpai-compare-step__icon {
        width: 50px;
        height: 50px;
        border-radius: 14px;
        font-size: 19px;
    }

    .fpai-compare-step h3 {
        padding-right: 24px;
        font-size: 17px;
    }

    .fpai-compare-guide__visual {
        margin-top: 28px;
        padding: 7px;
        border-radius: 18px;
        transform: none;
    }

    .fpai-compare-guide__visual img {
        border-radius: 13px;
    }

    .fpai-compare-guide__visual-badge {
        top: 15px;
        right: 15px;
        font-size: 10px;
    }

    .fpai-compare-guide__mobile-cta {
        display: grid;
        gap: 14px;
        margin-top: 30px;
        justify-items: center;
        text-align: center;
    }

    .fpai-compare-guide__mobile-cta a {
        width: 100%;
    }

    .fpai-compare-guide__mobile-cta span {
        color: #817887;
        font-size: 12px;
    }
}

/* Keep every ordinary category shelf consistent and its cards equal-height. */
body.home .elementor-widget-toolboxsaas_users_grid_widget .users-grid-wrapper {
    align-items: stretch;
}

body.home .elementor-widget-toolboxsaas_users_grid_widget .users-grid-wrapper > .mt-users-grid-col {
    display: flex;
}

body.home .elementor-widget-toolboxsaas_users_grid_widget .mt-users-grid-wrap {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    width: 100%;
}

@media (min-width: 1200px) {
    body.home .elementor-widget-toolboxsaas_users_grid_widget .users-grid-wrapper > .mt-users-grid-col {
        flex: 0 0 25%;
        width: 25%;
        max-width: 25%;
    }
}

@media (min-width: 768px) and (max-width: 1199px) {
    body.home .elementor-widget-toolboxsaas_users_grid_widget .users-grid-wrapper > .mt-users-grid-col {
        flex: 0 0 50%;
        width: 50%;
        max-width: 50%;
    }

    /* The six category shortcuts remain complete, arranged three per row. */
    body.home .elementor-element-5d2d33f > .elementor-container > .elementor-column {
        flex: 0 0 33.333%;
        width: 33.333%;
    }
}

/* Sponsored Tools is progressively enhanced into an all-tools carousel. */
body.home .toolboxsaas_sponsored_tools_widget {
    position: relative;
}

body.home .toolboxsaas_sponsored_tools_widget .fpai-sponsored-carousel {
    margin-inline: 0;
}

body.home .toolboxsaas_sponsored_tools_widget .fpai-sponsored-carousel .owl-stage {
    display: flex;
}

body.home .toolboxsaas_sponsored_tools_widget .fpai-sponsored-carousel .owl-item {
    display: flex;
    height: auto;
}

body.home .toolboxsaas_sponsored_tools_widget .fpai-sponsored-carousel .owl-item > .mt-users-grid-col {
    display: flex;
    width: 100% !important;
    max-width: none !important;
    padding-inline: 12px;
}

body.home .toolboxsaas_sponsored_tools_widget .fpai-sponsored-carousel .mt-users-grid-wrap {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    width: 100%;
    padding: 25px;
}

/* Match sponsored card proportions to the standard four-column tool card. */
body.home .toolboxsaas_sponsored_tools_widget .fpai-sponsored-carousel .sponsored-tool {
    top: -25px;
    margin-inline: -25px;
}

body.home .toolboxsaas_sponsored_tools_widget .fpai-sponsored-carousel .mt-users-grid-img {
    min-height: 65px;
}

body.home .toolboxsaas_sponsored_tools_widget .fpai-sponsored-carousel .mt-users-grid-img > a {
    display: flex;
    flex: 0 0 55px;
    align-items: center;
    justify-content: center;
    width: 55px;
    height: 55px;
}

body.home .toolboxsaas_sponsored_tools_widget .fpai-sponsored-carousel .mt-users-grid-img img {
    width: 55px !important;
    height: 55px !important;
    max-width: 55px !important;
    object-fit: contain;
    border-radius: 10px;
}

body.home .toolboxsaas_sponsored_tools_widget .fpai-sponsored-carousel .toolbox-right-image {
    min-width: 0;
    margin-left: 15px;
}

body.home .toolboxsaas_sponsored_tools_widget .fpai-sponsored-carousel .toolbox-right-image h4 {
    margin-bottom: 0;
    font-size: 16px;
    line-height: 1.3;
}

body.home .toolboxsaas_sponsored_tools_widget .fpai-sponsored-carousel p.truncate-2-lines {
    min-height: 48px;
    margin-bottom: 0;
}

body.home .toolboxsaas_sponsored_tools_widget .fpai-sponsored-carousel .mt-users-grid-wrap > .d-flex.gap-15.mt-3 {
    margin-top: auto !important;
}

/* Restore the plugin's original four-column card rules on desktop. */
@media (min-width: 1200px) {
    body.home .toolboxsaas_sponsored_tools_widget .mt-users-grid-wrap {
        padding: 25px;
    }

    body.home .toolboxsaas_sponsored_tools_widget .mt-users-grid-wrap > .d-flex.gap-15.mt-3 {
        gap: 3px !important;
    }

    body.home .toolboxsaas_sponsored_tools_widget .mt-users-grid-wrap > .d-flex.gap-15.mt-3 > a {
        padding: 12px 5px !important;
        font-size: 13px;
    }

    body.home .toolboxsaas_sponsored_tools_widget .mt-users-grid-wrap > .d-flex.gap-15.mt-3 > .toolbox-button {
        width: 50% !important;
    }
}

body.home .toolboxsaas_sponsored_tools_widget .owl-nav {
    display: inline-flex;
    justify-content: center;
    gap: 7px;
    margin-top: 18px;
    padding: 6px;
    border: 1px solid #e8dff0;
    border-radius: 16px;
    background: #f8f4fb;
    box-shadow: 0 8px 24px rgba(53, 27, 71, .08);
    transform: translateX(-50%);
    margin-left: 50%;
}

body.home .toolboxsaas_sponsored_tools_widget .owl-nav button.owl-prev,
body.home .toolboxsaas_sponsored_tools_widget .owl-nav button.owl-next {
    position: relative;
    display: inline-flex;
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #ded1e9;
    border-radius: 11px;
    background: #fff;
    box-shadow: 0 3px 9px rgba(60, 34, 78, .09);
    color: #7c24bd;
    font-size: 0;
    line-height: 0;
    opacity: 1;
    cursor: pointer;
    transform: translateY(0);
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease, background .18s ease;
}

body.home .toolboxsaas_sponsored_tools_widget .owl-nav button.owl-next {
    border-color: #8b2bd0;
    background: linear-gradient(135deg, #9f3cec, #7c20c1);
    box-shadow: 0 5px 13px rgba(126, 31, 196, .22);
    color: #fff;
}

body.home .toolboxsaas_sponsored_tools_widget .owl-nav button > span[aria-hidden="true"] {
    display: none;
}

body.home .toolboxsaas_sponsored_tools_widget .owl-nav button::before {
    width: 9px;
    height: 9px;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    content: "";
}

body.home .toolboxsaas_sponsored_tools_widget .owl-nav button.owl-prev::before {
    margin-left: 4px;
    transform: rotate(-135deg);
}

body.home .toolboxsaas_sponsored_tools_widget .owl-nav button.owl-next::before {
    margin-right: 4px;
    transform: rotate(45deg);
}

body.home .toolboxsaas_sponsored_tools_widget .owl-nav button:hover {
    border-color: #a044fa;
    box-shadow: 0 7px 16px rgba(88, 31, 128, .16);
    transform: translateY(-1px);
}

body.home .toolboxsaas_sponsored_tools_widget .owl-nav button.owl-prev:hover {
    background: #fdfaff;
    color: #6815a7;
}

body.home .toolboxsaas_sponsored_tools_widget .owl-nav button.owl-next:hover {
    background: linear-gradient(135deg, #9132df, #6f18af);
    color: #fff;
}

body.home .toolboxsaas_sponsored_tools_widget .owl-nav button:active {
    box-shadow: 0 2px 6px rgba(60, 34, 78, .12);
    transform: translateY(1px);
}

body.home .toolboxsaas_sponsored_tools_widget .owl-nav button:focus-visible {
    outline: 3px solid rgba(160, 68, 250, .3);
    outline-offset: 3px;
}

body.home .toolboxsaas_sponsored_tools_widget .owl-nav button.disabled {
    opacity: .45;
}

@media (max-width: 767px) {
    /* Category shortcuts stay compact while all six remain swipe-accessible. */
    body.home .elementor-element-5d2d33f > .elementor-container {
        flex-wrap: nowrap;
        padding-bottom: 10px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scrollbar-width: thin;
    }

    body.home .elementor-element-5d2d33f > .elementor-container > .elementor-column {
        flex: 0 0 82%;
        width: 82%;
        scroll-snap-align: start;
    }

    /* Every category still contains all eight tools; swipe horizontally. */
    body.home .elementor-widget-toolboxsaas_users_grid_widget .users-grid-wrapper {
        flex-wrap: nowrap;
        margin-inline: 0;
        padding: 2px 8px 14px;
        overflow-x: auto;
        scroll-behavior: smooth;
        scroll-snap-type: x mandatory;
        scrollbar-width: thin;
    }

    body.home .elementor-widget-toolboxsaas_users_grid_widget .users-grid-wrapper > .mt-users-grid-col {
        flex: 0 0 86%;
        width: 86%;
        max-width: 86%;
        scroll-snap-align: start;
    }

    /*
     * Keep the single visible mobile CTA inside its card. The plugin gives the
     * external link Bootstrap's w-100 utility while its action row is flex;
     * Safari can then size the flex item from its intrinsic content and clip
     * the rounded right edge. Let flex own the width and cap every layer.
     */
    body.home .elementor-widget-toolboxsaas_users_grid_widget .mt-users-grid-wrap > .d-flex.gap-15.mt-3 {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        overflow: hidden;
    }

    body.home .elementor-widget-toolboxsaas_users_grid_widget .mt-users-grid-wrap .toolbox-button-external {
        display: flex !important;
        flex: 1 1 auto;
        align-items: center;
        justify-content: center;
        width: auto !important;
        max-width: 100%;
        min-width: 0;
        margin-right: 0 !important;
        margin-left: 0 !important;
        box-sizing: border-box;
    }

    body.home .elementor-widget-toolboxsaas_users_grid_widget .mt-users-grid-wrap .toolbox-button-external i {
        flex: 0 0 auto;
        margin-left: 8px !important;
    }

    body.home .toolbox-header-wrapper {
        display: flex;
        align-items: center;
        gap: 12px;
    }

    body.home .toolbox-header-wrapper > div {
        width: auto;
    }

    body.home .toolbox-header-wrapper > div:first-child {
        flex: 1 1 0;
        min-width: 0;
    }

    body.home .toolbox-header-wrapper .toolbox-grid-title {
        margin: 0;
        overflow-wrap: break-word;
    }

    body.home .toolbox-header-wrapper .toolbox-button-wrapper {
        flex: 0 0 auto;
        width: auto !important;
        min-width: max-content;
        text-align: right;
    }

    body.home .toolbox-header-wrapper .toolbox-grid-button {
        width: auto !important;
        min-width: max-content;
        padding: 10px 16px !important;
        white-space: nowrap;
        line-height: 1.35;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.home .toolboxsaas_sponsored_tools_widget .owl-carousel,
    body.home .elementor-widget-toolboxsaas_users_grid_widget .users-grid-wrapper {
        scroll-behavior: auto;
    }
}

/* Latest AI Insights directly before the footer. */
body.home .fpai-home-insights {
    position: relative;
    width: 100%;
    padding: clamp(58px, 7vw, 92px) 20px;
    overflow: hidden;
    border-top: 1px solid rgba(143, 50, 232, .1);
    background:
        radial-gradient(circle at 8% 18%, rgba(160, 68, 250, .11), transparent 27%),
        radial-gradient(circle at 92% 82%, rgba(75, 125, 255, .08), transparent 25%),
        linear-gradient(180deg, #fbf9fd 0%, #f6f2fa 100%);
    color: #17131c;
    font-family: "Inter", "Segoe UI", Arial, sans-serif;
    font-kerning: normal;
    font-synthesis: none;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content-visibility: auto;
    contain-intrinsic-size: auto 820px;
}

body.home .fpai-home-insights__inner {
    width: min(1410px, 100%);
    margin: 0 auto;
}

body.home .fpai-home-insights__header {
    width: min(780px, 100%);
    margin: 0 auto clamp(28px, 4vw, 42px);
    text-align: center;
}

body.home .fpai-home-insights__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 15px;
    padding: 8px 14px;
    border: 1px solid rgba(143, 50, 232, .15);
    border-radius: 999px;
    background: #f2e6fc;
    color: #7e22c5;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

body.home .fpai-home-insights__header h2 {
    margin: 0 0 12px;
    color: #3f2353;
    font-family: "Inter", sans-serif;
    font-size: clamp(31px, 3.2vw, 46px);
    font-weight: 700;
    line-height: 1.18;
    letter-spacing: -.012em;
}

body.home .fpai-home-insights__header p {
    margin: 0 auto;
    color: #6d6374;
    font-size: clamp(15px, 1.4vw, 17px);
    font-weight: 500;
    line-height: 1.65;
}

body.home .fpai-home-insights__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(18px, 2vw, 27px);
}

body.home .fpai-home-insight-card {
    display: flex;
    min-width: 0;
    height: 100%;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #e8dfed;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 16px 38px rgba(56, 32, 73, .075);
    color: inherit;
    text-decoration: none !important;
    transform: translateY(0);
    transition: border-color .22s ease, box-shadow .22s ease, transform .22s ease;
}

body.home .fpai-home-insight-card:hover,
body.home .fpai-home-insight-card:focus-visible {
    border-color: rgba(143, 50, 232, .38);
    box-shadow: 0 22px 48px rgba(74, 31, 105, .15);
    color: inherit;
    transform: translateY(-5px);
}

body.home .fpai-home-insight-card:focus-visible {
    outline: 3px solid rgba(160, 68, 250, .28);
    outline-offset: 4px;
}

body.home .fpai-home-insight-card__media {
    position: relative;
    aspect-ratio: 16 / 9;
    margin: 0;
    overflow: hidden;
    background: linear-gradient(135deg, #efe2fa, #e9e9ff);
}

body.home .fpai-home-insight-card__image,
body.home .fpai-home-insight-card__fallback {
    display: block;
    width: 100%;
    height: 100%;
}

body.home .fpai-home-insight-card__image {
    object-fit: cover;
    transform: scale(1);
    transition: transform .35s ease;
}

body.home .fpai-home-insight-card:hover .fpai-home-insight-card__image {
    transform: scale(1.035);
}

body.home .fpai-home-insight-card__fallback {
    display: grid;
    place-items: center;
    color: #8f32e8;
    font-size: 42px;
}

body.home .fpai-home-insight-card__category {
    position: absolute;
    bottom: 14px;
    left: 14px;
    padding: 7px 11px;
    border: 1px solid rgba(255,255,255,.48);
    border-radius: 999px;
    background: rgba(68, 17, 105, .9);
    box-shadow: 0 5px 14px rgba(29, 11, 42, .18);
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    backdrop-filter: blur(8px);
}

body.home .fpai-home-insight-card__content {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    padding: clamp(20px, 2.1vw, 26px);
}

body.home .fpai-home-insight-card__content time {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 11px;
    color: #887d8f;
    font-size: 13px;
    font-weight: 600;
}

body.home .fpai-home-insight-card__content time i {
    color: #a044fa;
}

body.home .fpai-home-insight-card__content h3 {
    margin: 0 0 11px;
    color: #24172d;
    font-family: "Inter", sans-serif;
    font-size: clamp(20px, 1.7vw, 25px);
    font-weight: 700;
    line-height: 1.34;
    letter-spacing: -.004em;
}

body.home .fpai-home-insight-card__content p {
    display: -webkit-box;
    margin: 0 0 19px;
    overflow: hidden;
    color: #6e6575;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.6;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

body.home .fpai-home-insight-card__read-more {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-top: auto;
    color: #8428cc;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .005em;
}

body.home .fpai-home-insight-card__read-more i {
    font-size: 12px;
    transition: transform .2s ease;
}

body.home .fpai-home-insight-card:hover .fpai-home-insight-card__read-more i {
    transform: translateX(4px);
}

body.home .fpai-home-insights__footer {
    display: flex;
    justify-content: flex-end;
    margin-top: clamp(24px, 3vw, 34px);
}

body.home .fpai-home-insights__all {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 4px 0 7px;
    border: 0;
    border-bottom: 2px solid rgba(132, 40, 204, .32);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: #8428cc !important;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .005em;
    text-decoration: none !important;
    transition: border-color .2s ease, color .2s ease;
}

body.home .fpai-home-insights__all i {
    font-size: 12px;
    transition: transform .2s ease;
}

body.home .fpai-home-insights__all:hover,
body.home .fpai-home-insights__all:focus-visible {
    border-bottom-color: #8428cc;
    color: #64149f !important;
}

body.home .fpai-home-insights__all:hover i,
body.home .fpai-home-insights__all:focus-visible i {
    transform: translateX(4px);
}

body.home .fpai-home-insights__all:focus-visible {
    outline: 3px solid rgba(160, 68, 250, .3);
    outline-offset: 4px;
}

@media (max-width: 991px) {
    body.home .fpai-home-insights__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.home .fpai-home-insight-card:last-child:nth-child(odd) {
        grid-column: 1 / -1;
        width: calc(50% - 10px);
        justify-self: center;
    }
}

@media (max-width: 640px) {
    body.home .fpai-home-insights {
        padding: 48px 16px 58px;
    }

    body.home .fpai-home-insights__header {
        margin-bottom: 25px;
        text-align: left;
    }

    body.home .fpai-home-insights__header p {
        line-height: 1.55;
    }

    body.home .fpai-home-insights__header h2 {
        font-size: 30px !important;
        line-height: 1.22;
    }

    body.home .fpai-home-insights__grid {
        grid-template-columns: minmax(0, 1fr);
    }

    body.home .fpai-home-insight-card:last-child:nth-child(odd) {
        grid-column: auto;
        width: 100%;
    }

    body.home .fpai-home-insight-card__content h3 {
        font-size: 22px;
    }

    body.home .fpai-home-insights__all {
        width: auto;
    }

    body.home .fpai-home-insights__footer {
        justify-content: flex-start;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.home .fpai-home-insight-card,
    body.home .fpai-home-insight-card__image,
    body.home .fpai-home-insight-card__read-more i,
    body.home .fpai-home-insights__all {
        transition: none;
    }
}
/*
 * The Elementor hero used the 2367px original (about 290 KB) on every device.
 * These generated variants preserve the same artwork while cutting the image
 * transfer substantially, especially on mobile.
 */
.home .elementor-25487 .elementor-element.elementor-element-acdfe9e:not(.elementor-motion-effects-element-type-background),
.home .elementor-25487 .elementor-element.elementor-element-acdfe9e > .elementor-motion-effects-container > .elementor-motion-effects-layer {
    background-image: url("/wp-content/uploads/2025/09/home-header3-1536x596.jpg") !important;
}

@media (max-width: 767px) {
    .home .elementor-25487 .elementor-element.elementor-element-acdfe9e:not(.elementor-motion-effects-element-type-background),
    .home .elementor-25487 .elementor-element.elementor-element-acdfe9e > .elementor-motion-effects-container > .elementor-motion-effects-layer {
        background-image: url("/wp-content/uploads/2025/09/home-header3-768x298.jpg") !important;
    }
}
/* Contact Form 7 normally supplies this rule. Keep a local fallback so its
 * transport fields can never appear as an empty fieldset while CSS is loading. */
body.home .wpcf7 .hidden-fields-container {
    display: none !important;
}

/* Newsletter email field: use a high-contrast input surface so it reads as an
 * editable control against the dark CTA background. */
body.home .toolboxai-input-wrapper p {
    position: relative;
    margin: 0;
}

body.home .toolboxai-input-wrapper p > br {
    display: none;
}

body.home .toolboxai-input-wrapper .wpcf7-form-control-wrap {
    display: block;
}

body.home .toolboxai-subscribe-form input[type="email"] {
    box-sizing: border-box;
    min-height: 64px;
    padding: 17px 220px 17px 56px;
    border: 2px solid rgba(160, 68, 250, .72) !important;
    border-radius: 32px;
    background: #fff !important;
    color: #211526 !important;
    -webkit-text-fill-color: #211526;
    caret-color: #8d2ee9;
    font-size: 15px;
    font-weight: 500;
    box-shadow: 0 12px 30px rgba(0, 0, 0, .24), inset 0 0 0 1px rgba(255, 255, 255, .65);
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

body.home .toolboxai-subscribe-form input[type="email"]::placeholder {
    color: #6d6374 !important;
    -webkit-text-fill-color: #6d6374;
    opacity: 1;
}

body.home .toolboxai-subscribe-form input[type="email"]:hover {
    border-color: #ae5bff !important;
}

body.home .toolboxai-subscribe-form input[type="email"]:focus,
body.home .toolboxai-subscribe-form input[type="email"]:focus-visible {
    border-color: #a044fa !important;
    outline: 0;
    box-shadow: 0 0 0 4px rgba(160, 68, 250, .24), 0 14px 32px rgba(0, 0, 0, .28);
}

body.home .toolboxai-input-wrapper i {
    top: 50%;
    left: 24px;
    transform: translateY(-50%);
    color: #8d2ee9;
    font-size: 17px;
}

body.home .toolboxai-submit-button {
    top: 8px;
    right: 8px;
    min-height: 48px;
    padding: 0 28px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg, #a044fa 0%, #8427df 100%) !important;
    color: #fff !important;
    box-shadow: 0 8px 20px rgba(132, 39, 223, .3);
    transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

body.home .toolboxai-submit-button:hover,
body.home .toolboxai-submit-button:focus-visible {
    transform: translateY(-1px);
    filter: brightness(1.06);
    box-shadow: 0 11px 24px rgba(132, 39, 223, .38);
}

@media (max-width: 768px) {
    body.home .toolboxai-subscribe-form input[type="email"] {
        min-height: 60px;
        padding: 15px 16px 15px 48px;
        border-radius: 30px;
        font-size: 14px;
        text-align: left;
    }

    body.home .toolboxai-input-wrapper i {
        top: 50%;
        left: 20px;
    }

    body.home .toolboxai-submit-button {
        position: static;
        width: 100%;
        min-height: 50px;
        margin-top: 14px;
        border-radius: 999px !important;
    }
}
