/* ==========================================================
   FTRGAMES TOOLS PAGE
   ========================================================== */

.ftr-tools-page {
    --ft-bg:#14001f;
    --ft-panel:#1d0a2a;
    --ft-panel-2:#251033;
    --ft-border:rgba(255,255,255,.10);
    --ft-purple:#9c36ff;
    --ft-purple-light:#c06aff;
    --ft-yellow:#ffd400;
    --ft-text:#f8f6fa;
    --ft-muted:#aaa0b1;
    --ft-max:1220px;

    min-height:100vh;
    margin:0 calc(50% - 50vw);
    padding:30px max(18px,calc((100vw - var(--ft-max))/2)) 72px;

    color:var(--ft-text);

    background:
        radial-gradient(circle at 10% 0%,rgba(154,49,255,.12),transparent 25%),
        radial-gradient(circle at 90% 13%,rgba(255,212,0,.05),transparent 22%),
        var(--ft-bg);

    font-family:
        Inter,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;
}

.ftr-tools-page *,
.ftr-tools-page *::before,
.ftr-tools-page *::after {
    box-sizing:border-box;
}

.ftr-tools-shell {
    width:100%;
}

.ftr-tools-kicker {
    display:inline-flex;
    align-items:center;
    color:var(--ft-yellow);
    font-size:9px;
    line-height:1;
    font-weight:950;
    letter-spacing:.14em;
}

/* HERO */

.ftr-tools-hero {
    position:relative;
    overflow:hidden;

    display:grid;
    grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
    align-items:center;
    gap:40px;

    min-height:500px;
    padding:58px;

    border:1px solid var(--ft-border);
    border-radius:30px;

    background:
        linear-gradient(125deg,rgba(255,255,255,.035),transparent 48%),
        rgba(30,9,43,.95);

    box-shadow:0 34px 90px rgba(0,0,0,.30);
}

.ftr-tools-hero__copy {
    position:relative;
    z-index:2;
}

.ftr-tools-hero h1 {
    max-width:780px;
    margin:16px 0 20px;

    color:#fff;

    font-size:clamp(52px,6.3vw,82px);
    line-height:.91;
    font-weight:950;
    letter-spacing:-.06em;
}

.ftr-tools-hero h1 span {
    display:block;
    color:var(--ft-yellow);
}

.ftr-tools-hero__copy > p {
    max-width:610px;
    margin:0;

    color:#c9c0cf;

    font-size:15px;
    line-height:1.75;
}

.ftr-tools-hero__cta {
    display:inline-flex;
    min-height:50px;
    align-items:center;
    justify-content:space-between;
    gap:28px;

    margin-top:28px;
    padding:0 19px;

    border:1px solid rgba(255,228,92,.66);
    border-radius:12px;

    background:linear-gradient(135deg,#ffd400,#ffe45c);

    color:#190723 !important;
    text-decoration:none !important;

    font-size:12px;
    font-weight:900;

    transition:transform .18s ease,filter .18s ease;
}

.ftr-tools-hero__cta:hover {
    transform:translateY(-2px);
    filter:brightness(1.05);
}

.ftr-tools-hero__cta span {
    font-size:17px;
}

/* Hero visual */

.ftr-tools-hero__visual {
    position:relative;
    min-height:350px;

    display:grid;
    place-items:center;
}

.ftr-tools-orbit {
    position:absolute;

    border:1px solid rgba(255,212,0,.11);
    border-radius:50%;
}

.ftr-tools-orbit--one {
    width:350px;
    height:350px;
}

.ftr-tools-orbit--two {
    width:270px;
    height:270px;
}

.ftr-tools-console {
    position:relative;
    z-index:2;

    width:min(330px,92%);
    min-height:315px;
    padding:24px;

    border:1px solid rgba(255,212,0,.25);
    border-radius:24px;

    background:
        linear-gradient(145deg,rgba(255,212,0,.075),transparent 36%),
        #21102f;

    box-shadow:0 35px 75px rgba(0,0,0,.42);

    transform:rotate(-3deg);
}

.ftr-tools-console__top {
    display:flex;
    align-items:center;
    justify-content:space-between;

    color:#a89cae;

    font-size:8px;
    font-weight:900;
    letter-spacing:.1em;
}

.ftr-tools-console__top strong {
    padding:5px 7px;

    border-radius:999px;

    background:var(--ft-yellow);
    color:#0d0612;

    font-size:8px;
}

.ftr-tools-console__main {
    margin:64px 0 34px;
}

.ftr-tools-console__main small {
    color:#7e7186;
    font-size:8px;
    font-weight:900;
    letter-spacing:.08em;
}

.ftr-tools-console__main strong {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;

    max-width:260px;
    margin-top:7px;

    color:#fff;

    font-size:27px;
    line-height:1.08;
    font-weight:950;
    letter-spacing:-.04em;
}

.ftr-tools-console__main strong span {
    color:var(--ft-yellow);
}

.ftr-tools-console__line {
    display:grid;
    gap:6px;

    margin-bottom:30px;
}

.ftr-tools-console__line i {
    display:block;
    height:5px;

    border-radius:999px;

    background:#3b2148;
}

.ftr-tools-console__line i:nth-child(1) {
    width:100%;
    background:var(--ft-yellow);
}

.ftr-tools-console__line i:nth-child(2) {
    width:68%;
}

.ftr-tools-console__line i:nth-child(3) {
    width:44%;
}

.ftr-tools-console__bottom {
    color:#9b8fa2;
    font-size:9px;
    font-weight:750;
}

/* SECTIONS */

.ftr-tools-section,
.ftr-tools-engine {
    margin-top:68px;
}

.ftr-tools-section__head {
    display:grid;
    grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);
    align-items:end;
    gap:40px;

    margin-bottom:24px;
}

.ftr-tools-section__head h2,
.ftr-tools-engine__head h2 {
    margin:8px 0 0;

    color:#fff;

    font-size:clamp(38px,4.8vw,60px);
    line-height:.95;
    font-weight:950;
    letter-spacing:-.055em;
}

.ftr-tools-section__head > p,
.ftr-tools-engine__head > p {
    margin:0;

    color:var(--ft-muted);

    font-size:13px;
    line-height:1.65;
}

/* Tool cards */

.ftr-tools-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
}

.ftr-tool-card {
    position:relative;

    min-height:260px;
    padding:18px;

    display:flex;
    flex-direction:column;
    align-items:stretch;

    border:1px solid var(--ft-border);
    border-radius:18px;

    background:
        linear-gradient(145deg,rgba(255,255,255,.025),transparent 45%),
        var(--ft-panel);

    color:inherit;
    text-align:left;

    cursor:pointer;

    transition:
        transform .18s ease,
        border-color .18s ease,
        background .18s ease,
        box-shadow .18s ease;
}

.ftr-tool-card:hover,
.ftr-tool-card.is-selected {
    transform:translateY(-3px);

    border-color:rgba(255,212,0,.36);

    background:
        linear-gradient(145deg,rgba(255,212,0,.055),transparent 44%),
        var(--ft-panel);

    box-shadow:0 20px 42px rgba(0,0,0,.18);
}

.ftr-tool-card.is-selected::after {
    content:"";

    position:absolute;
    inset:-1px;

    pointer-events:none;

    border:1px solid rgba(156,54,255,.55);
    border-radius:18px;

    box-shadow:0 0 24px rgba(156,54,255,.12);
}

.ftr-tool-card__top {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
}

.ftr-tool-card__icon {
    display:grid;
    min-width:38px;
    height:38px;
    place-items:center;
    padding:0 8px;

    border-radius:10px;

    background:var(--ft-yellow);
    color:#15071c;

    font-size:10px;
    font-weight:950;
}

.ftr-tool-card__badge {
    padding:5px 7px;

    border:1px solid rgba(255,255,255,.11);
    border-radius:999px;

    color:#93869b;

    font-size:7px;
    font-weight:900;
    letter-spacing:.07em;
}

.ftr-tool-card__body {
    display:block;
    margin-top:42px;
}

.ftr-tool-card__body small {
    display:block;

    color:var(--ft-yellow);

    font-size:7px;
    font-weight:900;
    letter-spacing:.1em;
}

.ftr-tool-card__body strong {
    display:block;
    margin-top:6px;

    color:#fff;

    font-size:20px;
    line-height:1.05;
    font-weight:900;
    letter-spacing:-.035em;
}

.ftr-tool-card__body > span {
    display:block;
    margin-top:8px;

    color:#a69baa;

    font-size:10px;
    line-height:1.55;
}

.ftr-tool-card__action {
    display:flex;
    align-items:center;
    justify-content:space-between;

    width:100%;
    margin-top:auto;
    padding-top:13px;

    border-top:1px solid var(--ft-border);

    color:#e5e0e8;

    font-size:10px;
    font-weight:850;
}

.ftr-tool-card__action i {
    color:var(--ft-yellow);
    font-style:normal;
}

/* Live engine */

.ftr-tools-engine__head {
    margin-bottom:24px;
    text-align:center;
}

.ftr-tools-engine__head > p {
    margin:9px auto 0;
}

.ftr-tools-engine__shell {
    overflow:hidden;

    border:1px solid var(--ft-border);
    border-radius:25px;

    background:#16071f;
}

.ftr-tools-engine__shell .ftr-app {
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;

    background:transparent !important;
}

.ftr-tools-engine__shell .ftr-app__shell {
    width:100% !important;
    max-width:none !important;
}

.ftr-tools-engine__shell .ftr-hero {
    display:none !important;
}

.ftr-tools-engine__shell .ftr-how {
    display:none !important;
}

.ftr-tools-engine__shell .ftr-builder {
    margin:0 !important;
    border:0 !important;
    border-radius:0 !important;
}

.ftr-tools-engine__error {
    padding:30px;

    color:#ff9a9a;
    text-align:center;
}

/* Info */

.ftr-tools-info {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;

    margin-top:28px;
}

.ftr-tools-info article {
    display:grid;
    grid-template-columns:34px minmax(0,1fr);
    gap:13px;

    padding:18px;

    border:1px solid var(--ft-border);
    border-radius:15px;

    background:rgba(255,255,255,.018);
}

.ftr-tools-info article > span {
    color:var(--ft-yellow);

    font-size:9px;
    font-weight:950;
}

.ftr-tools-info strong {
    display:block;
    color:#fff;

    font-size:12px;
    font-weight:850;
}

.ftr-tools-info p {
    margin:5px 0 0;

    color:#988c9f;

    font-size:9px;
    line-height:1.55;
}

/* RESPONSIVE */

@media (max-width:1000px) {
    .ftr-tools-hero {
        grid-template-columns:1fr;
        min-height:0;
    }

    .ftr-tools-hero__visual {
        display:none;
    }

    .ftr-tools-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media (max-width:740px) {
    .ftr-tools-page {
        padding:12px 10px 46px;
    }

    .ftr-tools-hero {
        padding:34px 21px;
        border-radius:21px;
    }

    .ftr-tools-hero h1 {
        font-size:48px;
    }

    .ftr-tools-hero__copy > p {
        font-size:13px;
    }

    .ftr-tools-section,
    .ftr-tools-engine {
        margin-top:48px;
    }

    .ftr-tools-section__head {
        grid-template-columns:1fr;
        gap:12px;
    }

    .ftr-tools-section__head h2,
    .ftr-tools-engine__head h2 {
        font-size:38px;
    }

    .ftr-tools-grid {
        grid-template-columns:1fr;
        gap:9px;
    }

    .ftr-tool-card {
        min-height:210px;
        padding:16px;
    }

    .ftr-tool-card__body {
        margin-top:31px;
    }

    .ftr-tool-card__body strong {
        font-size:19px;
    }

    .ftr-tool-card__body > span {
        font-size:10px;
    }

    .ftr-tools-engine__shell {
        border-radius:18px;
    }

    .ftr-tools-info {
        grid-template-columns:1fr;
    }
}

@media (max-width:430px) {
    .ftr-tools-hero h1 {
        font-size:42px;
    }

    .ftr-tools-hero__cta {
        width:100%;
    }
}

/* ==========================================================
   TOOLS PICKER V2 — IMAGE CARDS
   ========================================================== */

.ftr-tools-section--picker {
    position: relative;
}

.ftr-tools-picker-head {
    display: grid;
    grid-template-columns: minmax(0,1.05fr) minmax(280px,.65fr);
    align-items: end;
    gap: 42px;
    margin-bottom: 22px;
}

.ftr-tools-picker-head__copy h2 {
    max-width: 720px;
    margin: 9px 0 0;
    color: #fff;
    font-size: clamp(40px,4.7vw,62px);
    line-height: .93;
    font-weight: 950;
    letter-spacing: -.058em;
}

.ftr-tools-picker-head > p {
    max-width: 430px;
    margin: 0 0 5px auto;
    color: #b3a7ba;
    font-size: 13px;
    line-height: 1.65;
}

.ftr-tools-section--picker .ftr-tools-grid {
    display: grid;
    grid-template-columns: repeat(6,minmax(0,1fr));
    gap: 12px;
}

.ftr-tools-section--picker .ftr-tool-card {
    grid-column: span 2;
    min-width: 0;
    min-height: 420px;
    padding: 0;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 18px;
    background:
        linear-gradient(180deg,rgba(28,9,41,.99),rgba(18,6,27,.99));
    box-shadow:
        0 18px 44px rgba(0,0,0,.18),
        inset 0 1px 0 rgba(255,255,255,.025);
    transition:
        transform .2s ease,
        border-color .2s ease,
        box-shadow .2s ease;
}

.ftr-tools-section--picker .ftr-tool-card:hover,
.ftr-tools-section--picker .ftr-tool-card.is-selected {
    transform: translateY(-4px);
    border-color: rgba(175,71,255,.58);
    box-shadow:
        0 26px 58px rgba(0,0,0,.26),
        0 0 28px rgba(144,44,239,.08);
}

.ftr-tools-section--picker .ftr-tool-card.is-selected::after {
    inset: -1px;
    border: 1px solid rgba(183,76,255,.78);
    border-radius: 18px;
    box-shadow:
        0 0 0 1px rgba(183,76,255,.12),
        0 0 26px rgba(157,54,255,.14);
}

.ftr-tool-card__visual {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 3 / 2;
    overflow: hidden;
    border-bottom: 1px solid rgba(255,255,255,.07);
    background: #0d0712;
}

.ftr-tool-card__visual > img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center !important;
    transform: scale(1.01);
    transition: transform .36s ease;
}

.ftr-tool-card__money-art {
    position:absolute;
    inset:0;
    display:grid;
    place-items:center;
    background:
        radial-gradient(circle at 50% 50%,rgba(55,224,137,.22),transparent 34%),
        linear-gradient(145deg,#0d1713 0%,#11101a 58%,#170d20 100%);
}

.ftr-tool-card__money-art span {
    position:absolute;
    display:grid;
    width:86px;
    height:112px;
    place-items:center;
    border:1px solid rgba(104,255,175,.28);
    border-radius:14px;
    background:linear-gradient(145deg,rgba(37,202,112,.94),rgba(8,94,55,.96));
    color:#fff;
    font-size:34px;
    line-height:1;
    font-weight:950;
    box-shadow:0 18px 34px rgba(0,0,0,.28);
}

.ftr-tool-card__money-art span:nth-child(1) {
    transform:translateX(-70px) rotate(-10deg);
}

.ftr-tool-card__money-art span:nth-child(2) {
    z-index:2;
    transform:translateY(-5px);
}

.ftr-tool-card__money-art span:nth-child(3) {
    transform:translateX(70px) rotate(10deg);
}

.ftr-tool-card:hover .ftr-tool-card__visual > img {
    transform: scale(1.055);
}

.ftr-tool-card__visual-shade {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(
            180deg,
            rgba(7,3,11,.10) 0%,
            rgba(7,3,11,.04) 48%,
            rgba(18,6,27,.72) 100%
        );
}

.ftr-tool-card__visual-top {
    position: absolute;
    z-index: 2;
    inset: 13px 13px auto 13px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.ftr-tools-section--picker .ftr-tool-card__icon {
    min-width: 35px;
    height: 35px;
    padding: 0 9px;
    border: 1px solid rgba(222,143,255,.40);
    border-radius: 9px;
    background:
        linear-gradient(135deg,#a728f5,#7621bf);
    color: #fff;
    box-shadow:
        0 6px 20px rgba(129,32,205,.25),
        inset 0 1px 0 rgba(255,255,255,.14);
    font-size: 9px;
}

.ftr-tools-section--picker .ftr-tool-card__badge {
    padding: 5px 7px;
    border: 1px solid rgba(203,130,255,.28);
    background: rgba(24,7,34,.62);
    color: #d6a3f8;
    backdrop-filter: blur(7px);
    -webkit-backdrop-filter: blur(7px);
    font-size: 7px;
}

.ftr-tools-section--picker .ftr-tool-card__body {
    display: block;
    margin: 0;
    padding: 18px 18px 13px;
}

.ftr-tools-section--picker .ftr-tool-card__body small {
    color: #bd5fff;
    font-size: 8px;
    letter-spacing: .11em;
}

.ftr-tools-section--picker .ftr-tool-card__body strong {
    margin-top: 7px;
    color: #fff;
    font-size: 21px;
    line-height: 1.04;
}

.ftr-tools-section--picker .ftr-tool-card__body > span {
    margin-top: 8px;
    color: #aaa0b1;
    font-size: 11px;
    line-height: 1.55;
}

.ftr-tools-section--picker .ftr-tool-card__action {
    width: auto;
    margin: auto 18px 0;
    padding: 14px 0 16px;
    border-top: 1px solid rgba(255,255,255,.08);
    color: #e6dce9;
    font-size: 11px;
}

.ftr-tools-section--picker .ftr-tool-card__action i {
    color: #c65cff;
    font-size: 14px;
}

.ftr-tools-section--picker .ftr-tool-card--green .ftr-tool-card__icon,
.ftr-tools-section--picker .ftr-tool-card--wallet .ftr-tool-card__icon {
    border-color: rgba(71,232,139,.36);
    background: linear-gradient(135deg,#18c96d,#087b47);
}

.ftr-tools-section--picker .ftr-tool-card--gold .ftr-tool-card__icon {
    border-color: rgba(255,218,65,.42);
    background: linear-gradient(135deg,#ffd400,#b77900);
    color: #1b0c21;
}

.ftr-tools-section--picker .ftr-tool-card--sunset .ftr-tool-card__icon {
    background: linear-gradient(135deg,#d93cff,#ff6b43);
}

@media (max-width: 1000px) {
    .ftr-tools-picker-head {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .ftr-tools-picker-head > p {
        max-width: 620px;
        margin: 0;
    }

    .ftr-tools-section--picker .ftr-tools-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .ftr-tools-section--picker .ftr-tool-card {
        grid-column: auto;
    }
}

@media (max-width: 740px) {
    .ftr-tools-picker-head {
        margin-bottom: 16px;
    }

    .ftr-tools-picker-head__copy h2 {
        font-size: 39px;
    }

    .ftr-tools-picker-head > p {
        font-size: 12px;
    }

    .ftr-tools-section--picker .ftr-tools-grid {
        grid-template-columns: 1fr;
        gap: 11px;
    }

    .ftr-tools-section--picker .ftr-tool-card {
        grid-column: auto;
        width: 100%;
        min-height: 0;
    }

    .ftr-tool-card__visual {
        aspect-ratio: 16 / 9;
    }

    .ftr-tools-section--picker .ftr-tool-card__body {
        padding: 16px 16px 12px;
    }

    .ftr-tools-section--picker .ftr-tool-card__body strong {
        font-size: 20px;
    }

    .ftr-tools-section--picker .ftr-tool-card__body > span {
        font-size: 11px;
    }

    .ftr-tools-section--picker .ftr-tool-card__action {
        margin: 0 16px;
        padding-bottom: 15px;
    }
}

/* ==========================================================
   TOOLS ENGINE V3 — VISUAL PURCHASE ROUTE
   ========================================================== */

.ftr-tools-engine {
    margin-top: 72px;
}

.ftr-tools-engine__shell {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(158,69,229,.28);
    border-radius: 26px;
    background:
        radial-gradient(circle at 78% 0%, rgba(120,35,215,.12), transparent 28%),
        linear-gradient(180deg, #170822, #100617);
    box-shadow:
        0 34px 80px rgba(0,0,0,.26),
        inset 0 1px 0 rgba(255,255,255,.025);
}

.ftr-tools-engine-banner {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0,.88fr) minmax(320px,1.12fr);
    align-items: center;
    gap: 30px;
    min-height: 280px;
    padding: 34px 34px 22px;
    border-bottom: 1px solid rgba(255,255,255,.06);
    background:
        linear-gradient(105deg, rgba(255,255,255,.015), transparent 45%);
}

.ftr-tools-engine-banner__copy {
    position: relative;
    z-index: 2;
}

.ftr-tools-engine-banner__copy h2 {
    margin: 10px 0 12px;
    color: #fff;
    font-size: clamp(42px,4.7vw,62px);
    line-height: .92;
    font-weight: 950;
    letter-spacing: -.055em;
}

.ftr-tools-engine-banner__copy p {
    margin: 0;
    color: #aaa0b1;
    font-size: 12px;
    line-height: 1.6;
}

.ftr-tools-engine-banner__visual {
    position: relative;
    min-height: 220px;
    display: grid;
    place-items: center;
}

.ftr-tools-engine-banner__visual::before {
    content: "";
    position: absolute;
    width: 65%;
    aspect-ratio: 1;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(160,58,255,.19), transparent 66%);
    filter: blur(8px);
}

.ftr-tools-engine-banner__visual img {
    position: relative;
    z-index: 1;
    display: block;
    width: min(420px,88%) !important;
    height: 220px !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: contain !important;
    filter:
        drop-shadow(0 0 22px rgba(154,50,255,.28))
        drop-shadow(0 16px 34px rgba(0,0,0,.34));
}

/* Keep the original recommender logic, but restyle its builder on this page only. */

.ftr-tools-engine__shell .ftr-app,
.ftr-tools-engine__shell .ftr-app__shell {
    background: transparent !important;
}

.ftr-tools-engine__shell .ftr-builder {
    padding: 24px 28px 28px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background:
        linear-gradient(180deg, rgba(255,255,255,.012), rgba(255,255,255,.004)) !important;
}

.ftr-tools-engine__shell .ftr-builder__head {
    align-items: center;
    margin-bottom: 18px;
}

.ftr-tools-engine__shell .ftr-builder__head > div:first-child {
    min-width: 0;
}

.ftr-tools-engine__shell .ftr-section-kicker {
    font-size: 8px !important;
    letter-spacing: .13em;
}

.ftr-tools-engine__shell .ftr-builder__head h2 {
    margin-top: 5px !important;
    font-size: 26px !important;
    line-height: 1.05 !important;
    letter-spacing: -.035em !important;
}

.ftr-tools-engine__shell .ftr-builder__step {
    font-size: 10px !important;
}

.ftr-tools-engine__shell .ftr-builder__step span {
    width: 28px !important;
    height: 28px !important;
    font-size: 10px !important;
}

/* Context selectors */

.ftr-tools-engine__shell .ftr-form__grid--context {
    gap: 10px !important;
    margin-bottom: 18px !important;
}

.ftr-tools-engine__shell .ftr-field__label {
    margin-bottom: 6px !important;
    color: #b6a9bd !important;
    font-size: 9px !important;
    font-weight: 850 !important;
}

.ftr-tools-engine__shell .ftr-field select {
    min-height: 44px !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    border-radius: 10px !important;
    background: #15071f !important;
    font-size: 11px !important;
}

/* Goal strip */

.ftr-tools-engine__shell .ftr-goals {
    margin-top: 8px !important;
}

.ftr-tools-engine__shell .ftr-goals legend {
    margin-bottom: 9px !important;
    color: #cfc3d5 !important;
    font-size: 9px !important;
    font-weight: 900 !important;
    letter-spacing: .04em;
}

.ftr-tools-engine__shell .ftr-goals__grid {
    display: grid !important;
    grid-template-columns: repeat(6,minmax(0,1fr)) !important;
    gap: 8px !important;
    overflow: visible !important;
}

.ftr-tools-engine__shell .ftr-goal {
    position: relative;
    min-width: 0;
    min-height: 250px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.09) !important;
    border-radius: 13px !important;
    background: #12071a !important;
    transition:
        transform .18s ease,
        border-color .18s ease,
        box-shadow .18s ease !important;
}

.ftr-tools-engine__shell .ftr-goal:hover {
    transform: translateY(-2px);
    border-color: rgba(166,72,235,.40) !important;
    box-shadow: 0 16px 30px rgba(0,0,0,.20);
}

.ftr-tools-engine__shell .ftr-goal__inner {
    position: relative;
    z-index: 1;
    display: flex !important;
    min-height: 250px !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    align-items: flex-start !important;
    padding: 13px !important;
    overflow: hidden;
    background:
        linear-gradient(
            180deg,
            rgba(10,4,14,.06) 0%,
            rgba(10,4,14,.10) 40%,
            rgba(13,5,18,.84) 68%,
            rgba(13,5,18,.98) 100%
        ) !important;
}

.ftr-tools-engine__shell .ftr-goal__inner::before {
    content: "";
    position: absolute;
    z-index: -2;
    inset: 0;
    background-position: center top;
    background-repeat: no-repeat;
    background-size: cover;
    transform: scale(1.01);
    transition: transform .28s ease;
}

.ftr-tools-engine__shell .ftr-goal:hover .ftr-goal__inner::before {
    transform: scale(1.05);
}

.ftr-tools-engine__shell .ftr-goal:nth-child(1) .ftr-goal__inner::before {
    background-image: url("https://ftrgames.com/wp-content/uploads/2026/08/tool-engine-fcpoints.png");
}

.ftr-tools-engine__shell .ftr-goal:nth-child(2) .ftr-goal__inner::before {
    background-image: url("https://ftrgames.com/wp-content/uploads/2026/08/tool-engine-fc27.png");
}

.ftr-tools-engine__shell .ftr-goal:nth-child(3) .ftr-goal__inner::before {
    background-image: url("https://ftrgames.com/wp-content/uploads/2026/08/tool-engine-fc27-gta6.png");
}

.ftr-tools-engine__shell .ftr-goal:nth-child(4) .ftr-goal__inner::before {
    background-image: url("https://ftrgames.com/wp-content/uploads/2026/08/tool-engine-ftr.png");
}

.ftr-tools-engine__shell .ftr-goal:nth-child(5) .ftr-goal__inner::before {
    background-image: url("https://ftrgames.com/wp-content/uploads/2026/08/tool-engine-wallet.png");
}

.ftr-tools-engine__shell .ftr-goal__icon {
    position: absolute !important;
    top: 10px !important;
    left: 10px !important;
    min-width: 28px !important;
    height: 28px !important;
    display: grid !important;
    place-items: center !important;
    padding: 0 7px !important;
    border: 1px solid rgba(212,133,255,.28) !important;
    border-radius: 8px !important;
    background: linear-gradient(135deg,#9f30f0,#6e1bb2) !important;
    color: #fff !important;
    box-shadow: 0 5px 16px rgba(111,27,178,.24);
    font-size: 8px !important;
}

.ftr-tools-engine__shell .ftr-goal strong {
    position: relative;
    z-index: 2;
    max-width: 100%;
    color: #fff !important;
    font-size: 12px !important;
    line-height: 1.15 !important;
    font-weight: 900 !important;
}

.ftr-tools-engine__shell .ftr-goal small {
    position: relative;
    z-index: 2;
    display: block;
    margin-top: 5px !important;
    color: #aaa0b1 !important;
    font-size: 8px !important;
    line-height: 1.35 !important;
}

/* selected card */

.ftr-tools-engine__shell .ftr-goal:has(input:checked) {
    border-color: rgba(190,87,255,.90) !important;
    box-shadow:
        0 0 0 1px rgba(190,87,255,.12),
        0 0 24px rgba(156,54,255,.18) !important;
}

/* Budget */

.ftr-tools-engine__shell .ftr-budget {
    margin-top: 14px !important;
    padding: 14px 16px !important;
    border: 1px solid rgba(255,255,255,.09) !important;
    border-radius: 12px !important;
    background:
        linear-gradient(90deg, rgba(121,36,181,.08), transparent 42%),
        #13071b !important;
}

.ftr-tools-engine__shell .ftr-budget__copy label {
    font-size: 11px !important;
}

.ftr-tools-engine__shell .ftr-budget__copy p {
    margin-top: 3px !important;
    font-size: 8px !important;
}

.ftr-tools-engine__shell .ftr-budget__control {
    min-width: 230px;
    min-height: 46px;
    border: 1px solid rgba(255,255,255,.09) !important;
    border-radius: 10px !important;
    background: #160820 !important;
}

.ftr-tools-engine__shell .ftr-budget__currency {
    font-size: 9px !important;
}

.ftr-tools-engine__shell .ftr-budget__control input {
    font-size: 22px !important;
    font-weight: 950 !important;
}

/* Submit CTA */

.ftr-tools-engine__shell .ftr-submit-row {
    position: relative;
    display: grid !important;
    grid-template-columns: minmax(280px,420px) 1fr !important;
    align-items: center !important;
    gap: 16px !important;
    margin-top: 14px !important;
}

.ftr-tools-engine__shell .ftr-primary-btn {
    position: relative;
    overflow: hidden;
    min-height: 48px !important;
    padding: 0 20px !important;
    border: 1px solid rgba(255,230,72,.72) !important;
    border-radius: 10px !important;
    background:
        linear-gradient(105deg,#8d24e8 0 9%,#ffd400 23% 82%,#a127f0 96%) !important;
    color: #16051e !important;
    box-shadow:
        0 10px 26px rgba(103,25,167,.16),
        inset 0 1px 0 rgba(255,255,255,.25);
    font-size: 11px !important;
    font-weight: 950 !important;
    letter-spacing: .02em;
}

.ftr-tools-engine__shell .ftr-primary-btn::before,
.ftr-tools-engine__shell .ftr-primary-btn::after {
    content: "»»";
    position: absolute;
    top: 50%;
    transform: translateY(-52%);
    color: rgba(255,255,255,.78);
    font-size: 17px;
    letter-spacing: -4px;
}

.ftr-tools-engine__shell .ftr-primary-btn::before {
    left: 8px;
}

.ftr-tools-engine__shell .ftr-primary-btn::after {
    right: 11px;
}

.ftr-tools-engine__shell .ftr-primary-btn > span:first-child {
    margin: auto;
}

.ftr-tools-engine__shell .ftr-primary-btn__arrow {
    display: none !important;
}

.ftr-tools-engine__shell .ftr-submit-row > p {
    justify-self: end;
    margin: 0 !important;
    color: #73677b !important;
    font-size: 8px !important;
}

/* Results/status keep their existing engine behavior */

.ftr-tools-engine__shell .ftr-status-region,
.ftr-tools-engine__shell .ftr-results {
    padding-left: 28px !important;
    padding-right: 28px !important;
}

@media (max-width: 900px) {
    .ftr-tools-engine-banner {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .ftr-tools-engine-banner__visual {
        display: none;
    }

    .ftr-tools-engine__shell .ftr-goals__grid {
        grid-template-columns: repeat(5, 150px) !important;
        overflow-x: auto !important;
        padding-bottom: 6px;
        scroll-snap-type: x proximity;
        scrollbar-width: thin;
    }

    .ftr-tools-engine__shell .ftr-goal {
        scroll-snap-align: start;
    }
}

@media (max-width: 740px) {
    .ftr-tools-engine {
        margin-top: 52px;
    }

    .ftr-tools-engine__shell {
        border-radius: 20px;
    }

    .ftr-tools-engine-banner {
        padding: 24px 18px 16px;
    }

    .ftr-tools-engine-banner__copy h2 {
        font-size: 39px;
    }

    .ftr-tools-engine__shell .ftr-builder {
        padding: 18px 14px 20px !important;
    }

    .ftr-tools-engine__shell .ftr-builder__head {
        margin-bottom: 14px;
    }

    .ftr-tools-engine__shell .ftr-builder__head h2 {
        font-size: 22px !important;
    }

    .ftr-tools-engine__shell .ftr-form__grid--context {
        grid-template-columns: 1fr 1fr !important;
        gap: 8px !important;
    }

    .ftr-tools-engine__shell .ftr-field select {
        min-height: 42px !important;
        font-size: 10px !important;
    }

    .ftr-tools-engine__shell .ftr-goals__grid {
        grid-template-columns: repeat(5, 138px) !important;
        gap: 7px !important;
        margin-right: -14px;
        padding-right: 14px;
    }

    .ftr-tools-engine__shell .ftr-goal,
    .ftr-tools-engine__shell .ftr-goal__inner {
        min-height: 230px !important;
    }

    .ftr-tools-engine__shell .ftr-budget {
        display: grid !important;
        grid-template-columns: 1fr auto !important;
        gap: 10px !important;
        align-items: center !important;
        padding: 12px !important;
    }

    .ftr-tools-engine__shell .ftr-budget__control {
        min-width: 120px;
        width: 120px;
    }

    .ftr-tools-engine__shell .ftr-budget__copy p {
        display: none;
    }

    .ftr-tools-engine__shell .ftr-submit-row {
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }

    .ftr-tools-engine__shell .ftr-primary-btn {
        width: 100%;
    }

    .ftr-tools-engine__shell .ftr-submit-row > p {
        justify-self: center;
        text-align: center;
    }

    .ftr-tools-engine__shell .ftr-status-region,
    .ftr-tools-engine__shell .ftr-results {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }
}

@media (max-width: 430px) {
    .ftr-tools-engine-banner__copy h2 {
        font-size: 35px;
    }

    .ftr-tools-engine__shell .ftr-form__grid--context {
        grid-template-columns: 1fr !important;
    }

    .ftr-tools-engine__shell .ftr-goals__grid {
        grid-template-columns: repeat(5, 132px) !important;
    }

    .ftr-tools-engine__shell .ftr-budget {
        grid-template-columns: 1fr auto !important;
    }

    .ftr-tools-engine__shell .ftr-budget__control {
        width: 112px;
        min-width: 112px;
    }
}

/* ==========================================================
   TOOLS ENGINE V4 — CLEAN HEADER / TEXT-IMAGE-TEXT CARDS
   ========================================================== */

.ftr-tools-engine-banner {
    display: block !important;
    min-height: 0 !important;
    padding: 30px 32px 22px !important;
    border-bottom: 1px solid rgba(255,255,255,.06);
    background:
        radial-gradient(circle at 85% 0%, rgba(140,42,235,.08), transparent 34%),
        linear-gradient(105deg, rgba(255,255,255,.012), transparent 48%) !important;
}

.ftr-tools-engine-banner__copy {
    max-width: 720px;
}

.ftr-tools-engine-banner__copy h2 {
    margin: 9px 0 10px !important;
    font-size: clamp(40px,4.3vw,56px) !important;
    line-height: .94 !important;
}

.ftr-tools-engine-banner__copy p {
    font-size: 13px !important;
}

/* Remove any old visual/hologram styling if cached CSS survives */
.ftr-tools-engine-banner__visual {
    display: none !important;
}


/* Builder typography */

.ftr-tools-engine__shell .ftr-section-kicker {
    font-size: 10px !important;
}

.ftr-tools-engine__shell .ftr-builder__head h2 {
    font-size: 30px !important;
}

.ftr-tools-engine__shell .ftr-builder__step {
    font-size: 11px !important;
}

.ftr-tools-engine__shell .ftr-field__label {
    font-size: 10px !important;
}

.ftr-tools-engine__shell .ftr-field select {
    font-size: 12px !important;
}

.ftr-tools-engine__shell .ftr-goals legend {
    font-size: 10px !important;
}


/* Goal cards: title above image, image middle, description below */

.ftr-tools-engine__shell .ftr-goal {
    min-height: 300px !important;
    overflow: hidden;
    background: #12071a !important;
}

.ftr-tools-engine__shell .ftr-goal__inner {
    position: relative;
    display: grid !important;
    grid-template-rows: auto minmax(0,1fr) auto !important;
    align-items: stretch !important;
    min-height: 300px !important;
    padding: 0 !important;
    background: #12071a !important;
}

.ftr-tools-engine__shell .ftr-goal__inner::before {
    content: "";
    position: relative !important;
    z-index: 0 !important;
    inset: auto !important;
    grid-row: 2;
    display: block;
    width: 100%;
    height: 188px;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    transform: scale(1.01);
    transition: transform .28s ease;
}

.ftr-tools-engine__shell .ftr-goal:hover .ftr-goal__inner::before {
    transform: scale(1.045);
}

.ftr-tools-engine__shell .ftr-goal__icon {
    position: absolute !important;
    z-index: 3 !important;
    top: 10px !important;
    left: 10px !important;
}

.ftr-tools-engine__shell .ftr-goal strong {
    grid-row: 1;
    position: relative;
    z-index: 2;
    display: block;
    min-height: 48px;
    padding: 14px 12px 8px;
    background:
        linear-gradient(180deg, rgba(25,8,35,.98), rgba(25,8,35,.92));
    color: #fff !important;
    font-size: 14px !important;
    line-height: 1.15 !important;
    font-weight: 950 !important;
}

.ftr-tools-engine__shell .ftr-goal small {
    grid-row: 3;
    position: relative;
    z-index: 2;
    display: block !important;
    min-height: 52px;
    margin: 0 !important;
    padding: 10px 12px 12px;
    background:
        linear-gradient(180deg, rgba(18,6,26,.94), rgba(18,6,26,1));
    color: #b9aebf !important;
    font-size: 9px !important;
    line-height: 1.45 !important;
}

.ftr-tools-engine__shell .ftr-goal:nth-child(1) .ftr-goal__inner::before {
    background-image: url("https://ftrgames.com/wp-content/uploads/2026/08/tool-engine-fcpoints.png");
}

.ftr-tools-engine__shell .ftr-goal:nth-child(2) .ftr-goal__inner::before {
    background-image: url("https://ftrgames.com/wp-content/uploads/2026/08/tool-engine-fc27.png");
}

.ftr-tools-engine__shell .ftr-goal:nth-child(3) .ftr-goal__inner::before {
    background-image: url("https://ftrgames.com/wp-content/uploads/2026/08/tool-engine-fc27-gta6.png");
}

.ftr-tools-engine__shell .ftr-goal:nth-child(4) .ftr-goal__inner::before {
    background-image: url("https://ftrgames.com/wp-content/uploads/2026/08/tool-engine-futcoins.png");
}

.ftr-tools-engine__shell .ftr-goal:nth-child(5) .ftr-goal__inner::before {
    background-image: url("https://ftrgames.com/wp-content/uploads/2026/08/tool-engine-wallet.png");
}




/* Budget / dynamic tool copy */

.ftr-tools-engine__shell .ftr-budget {
    margin-top: 16px !important;
    padding: 16px 18px !important;
}

.ftr-tools-engine__shell .ftr-budget__copy label {
    font-size: 14px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
}

.ftr-tools-engine__shell .ftr-budget__copy p {
    margin-top: 5px !important;
    color: #a99daf !important;
    font-size: 11px !important;
    line-height: 1.45 !important;
}

.ftr-tools-engine__shell .ftr-budget__currency {
    font-size: 11px !important;
    font-weight: 900 !important;
}

.ftr-tools-engine__shell .ftr-budget__control input {
    font-size: 28px !important;
}

.ftr-tools-engine__shell .ftr-primary-btn {
    min-height: 52px !important;
    font-size: 13px !important;
}

.ftr-tools-engine__shell .ftr-submit-row > p {
    font-size: 9px !important;
}


/* Mobile */

@media (max-width: 740px) {
    .ftr-tools-engine-banner {
        padding: 23px 17px 17px !important;
    }

    .ftr-tools-engine-banner__copy h2 {
        font-size: 38px !important;
    }

    .ftr-tools-engine-banner__copy p {
        font-size: 12px !important;
    }

    .ftr-tools-engine__shell .ftr-builder__head h2 {
        font-size: 24px !important;
    }

    .ftr-tools-engine__shell .ftr-goals__grid {
        grid-template-columns: repeat(5, 158px) !important;
    }

    .ftr-tools-engine__shell .ftr-goal,
    .ftr-tools-engine__shell .ftr-goal__inner {
        min-height: 286px !important;
    }

    .ftr-tools-engine__shell .ftr-goal__inner::before {
        height: 176px;
    }

    .ftr-tools-engine__shell .ftr-goal strong {
        min-height: 46px;
        padding: 13px 11px 8px;
        font-size: 13px !important;
    }

    .ftr-tools-engine__shell .ftr-goal small {
        min-height: 54px;
        padding: 9px 11px 11px;
        font-size: 9px !important;
    }

    .ftr-tools-engine__shell .ftr-budget__copy label {
        font-size: 13px !important;
    }

    .ftr-tools-engine__shell .ftr-budget__copy p {
        display: block !important;
        font-size: 10px !important;
    }

    .ftr-tools-engine__shell .ftr-budget__control input {
        font-size: 24px !important;
    }

    .ftr-tools-engine__shell .ftr-primary-btn {
        font-size: 12px !important;
    }
}

@media (max-width: 430px) {
    .ftr-tools-engine__shell .ftr-goals__grid {
        grid-template-columns: repeat(5, 150px) !important;
    }

    .ftr-tools-engine__shell .ftr-budget {
        grid-template-columns: minmax(0,1fr) auto !important;
    }

    .ftr-tools-engine__shell .ftr-budget__copy p {
        max-width: 230px;
    }
}

/* ==========================================================
   TOOLS ENGINE V5 — MOBILE SWIPE / CLEAN GOAL CARDS
   ========================================================== */

@media (max-width: 740px) {

    /* Allow real horizontal touch scrolling on iOS/Android */
    .ftr-tools-engine__shell .ftr-goals {
        overflow: visible !important;
    }

    .ftr-tools-engine__shell .ftr-goals__grid {
        display: flex !important;
        gap: 10px !important;
        width: auto !important;
        max-width: none !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        padding: 2px 18px 10px 0 !important;
        margin: 0 -14px 0 0 !important;

        -webkit-overflow-scrolling: touch;
        touch-action: pan-x pan-y;
        overscroll-behavior-x: contain;
        scroll-snap-type: x proximity;
        scrollbar-width: none;
    }

    .ftr-tools-engine__shell .ftr-goals__grid::-webkit-scrollbar {
        display: none;
    }

    .ftr-tools-engine__shell .ftr-goal {
        flex: 0 0 72vw !important;
        width: 72vw !important;
        max-width: 280px !important;
        min-width: 230px !important;
        scroll-snap-align: start;
        scroll-snap-stop: normal;
    }

    /* Remove the purple icon in the top-left of each card */
    .ftr-tools-engine__shell .ftr-goal__icon {
        display: none !important;
    }

    /* Center crop the artwork properly */
    .ftr-tools-engine__shell .ftr-goal__inner::before {
        background-position: center center !important;
        background-size: cover !important;
    }

    /* Keep titles clean now that the icon is gone */
    .ftr-tools-engine__shell .ftr-goal strong {
        min-height: 52px !important;
        display: flex !important;
        align-items: center !important;
        padding: 13px 14px 10px !important;
        font-size: 15px !important;
        line-height: 1.2 !important;
    }

    /* Bigger, easier-to-read description */
    .ftr-tools-engine__shell .ftr-goal small {
        min-height: 70px !important;
        padding: 12px 14px 14px !important;
        color: #c0b5c6 !important;
        font-size: 12px !important;
        line-height: 1.5 !important;
        font-weight: 600 !important;
    }

    .ftr-tools-engine__shell .ftr-goal,
    .ftr-tools-engine__shell .ftr-goal__inner {
        min-height: 340px !important;
    }

    .ftr-tools-engine__shell .ftr-goal__inner::before {
        height: 218px !important;
    }
}

@media (max-width: 430px) {

    .ftr-tools-engine__shell .ftr-goal {
        flex-basis: 76vw !important;
        width: 76vw !important;
        min-width: 235px !important;
    }

    .ftr-tools-engine__shell .ftr-goal strong {
        font-size: 15px !important;
    }

    .ftr-tools-engine__shell .ftr-goal small {
        font-size: 12px !important;
    }
}

/* ==========================================================
   TOOLS ENGINE V7 — CENTERED CARDS + MOBILE SCROLL INDICATOR
   ========================================================== */

/* Remove icon globally */
.ftr-tools-engine__shell .ftr-goal__icon {
    display: none !important;
}

/* Desktop + mobile: center all card text */
.ftr-tools-engine__shell .ftr-goal strong {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 58px !important;
    padding: 14px 14px 11px !important;
    text-align: center !important;
    font-size: 16px !important;
    line-height: 1.18 !important;
    font-weight: 950 !important;
}

.ftr-tools-engine__shell .ftr-goal small {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 68px !important;
    margin: 0 !important;
    padding: 12px 15px 14px !important;
    text-align: center !important;
    color: #c3b8c8 !important;
    font-size: 11px !important;
    line-height: 1.5 !important;
    font-weight: 600 !important;
}

/* Center the artwork itself.
   'contain' avoids the visual right-shift caused by aggressive cover crops. */
.ftr-tools-engine__shell .ftr-goal__inner::before {
    background-position: 50% 50% !important;
    background-size: contain !important;
    background-color: #0d0613 !important;
}

/* Keep image area visually centered and consistent */
.ftr-tools-engine__shell .ftr-goal__inner {
    text-align: center !important;
}


/* ----------------------------------------------------------
   MOBILE: horizontal scrolling + persistent visual scrollbar
   ---------------------------------------------------------- */

@media (max-width: 740px) {

    .ftr-tools-engine__shell .ftr-goals {
        position: relative !important;
        overflow: visible !important;
        padding-bottom: 17px !important;
    }

    .ftr-tools-engine__shell .ftr-goals__grid {
        display: flex !important;
        gap: 10px !important;

        width: auto !important;
        max-width: none !important;

        overflow-x: auto !important;
        overflow-y: hidden !important;

        margin: 0 -14px 0 0 !important;
        padding: 2px 18px 12px 0 !important;

        -webkit-overflow-scrolling: touch !important;
        touch-action: pan-x !important;
        overscroll-behavior-x: contain !important;
        scroll-snap-type: x proximity !important;

        /* Native scrollbar where the browser allows it */
        scrollbar-width: auto !important;
        scrollbar-color: #b449ff rgba(255,255,255,.08) !important;
    }

    .ftr-tools-engine__shell .ftr-goals__grid::-webkit-scrollbar {
        display: block !important;
        height: 8px !important;
        -webkit-appearance: none !important;
    }

    .ftr-tools-engine__shell .ftr-goals__grid::-webkit-scrollbar-track {
        background: rgba(255,255,255,.07) !important;
        border-radius: 999px !important;
    }

    .ftr-tools-engine__shell .ftr-goals__grid::-webkit-scrollbar-thumb {
        min-width: 52px !important;
        border: 1px solid rgba(255,255,255,.08) !important;
        border-radius: 999px !important;
        background:
            linear-gradient(
                90deg,
                #7c20d4,
                #b642ff,
                #d16dff
            ) !important;
        box-shadow:
            0 0 12px rgba(177,61,255,.38) !important;
    }

    /* Persistent scroll cue for iOS Safari, which auto-hides native scrollbars */
    .ftr-tools-engine__shell .ftr-goals::before {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: 3px;
        height: 6px;
        border-radius: 999px;
        background: rgba(255,255,255,.075);
        pointer-events: none;
    }

    .ftr-tools-engine__shell .ftr-goals::after {
        content: "";
        position: absolute;
        left: 0;
        bottom: 3px;
        width: 34%;
        height: 6px;
        border-radius: 999px;
        background:
            linear-gradient(
                90deg,
                #8124dc,
                #bd4cff
            );
        box-shadow:
            0 0 10px rgba(179,63,255,.35);
        pointer-events: none;
    }

    .ftr-tools-engine__shell .ftr-goal {
        flex: 0 0 72vw !important;
        width: 72vw !important;
        max-width: 280px !important;
        min-width: 235px !important;
        scroll-snap-align: start !important;
    }

    .ftr-tools-engine__shell .ftr-goal strong {
        min-height: 58px !important;
        font-size: 16px !important;
    }

    .ftr-tools-engine__shell .ftr-goal small {
        min-height: 78px !important;
        font-size: 12px !important;
        line-height: 1.5 !important;
    }

    .ftr-tools-engine__shell .ftr-goal__inner::before {
        height: 220px !important;
        background-size: contain !important;
        background-position: center center !important;
    }
}

@media (max-width: 430px) {

    .ftr-tools-engine__shell .ftr-goal {
        flex-basis: 76vw !important;
        width: 76vw !important;
        min-width: 238px !important;
    }

    .ftr-tools-engine__shell .ftr-goal strong {
        font-size: 15px !important;
    }

    .ftr-tools-engine__shell .ftr-goal small {
        font-size: 12px !important;
    }
}

/* ==========================================================
   TOOLS ENGINE V8 — MOBILE CAROUSEL CONTROLS
   ========================================================== */

/* Strong centering for goal content on all devices */
.ftr-tools-engine__shell .ftr-goal__icon {
    display: none !important;
}

.ftr-tools-engine__shell .ftr-goal strong {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    margin: 0 !important;
    text-align: center !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
}

.ftr-tools-engine__shell .ftr-goal small {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    margin: 0 !important;
    text-align: center !important;
    font-size: 11px !important;
    line-height: 1.5 !important;
}

.ftr-tools-engine__shell .ftr-goal__inner::before {
    background-position: center center !important;
    background-size: contain !important;
}


/* Hide JS controls on desktop */
.ftr-mobile-goal-nav {
    display: none;
}


@media (max-width: 740px) {

    /*
     * The goals area becomes a real independent horizontal carousel.
     * No fake pseudo scrollbar is used anymore.
     */
    .ftr-tools-engine__shell .ftr-goals {
        position: relative !important;
        overflow: visible !important;
        padding-bottom: 0 !important;
    }

    .ftr-tools-engine__shell .ftr-goals::before,
    .ftr-tools-engine__shell .ftr-goals::after {
        display: none !important;
        content: none !important;
    }

    .ftr-tools-engine__shell .ftr-goals__grid {
        position: relative !important;

        display: flex !important;
        flex-wrap: nowrap !important;

        width: 100% !important;
        max-width: 100% !important;

        gap: 12px !important;

        overflow-x: auto !important;
        overflow-y: hidden !important;

        margin: 0 !important;
        padding: 2px 1px 8px !important;

        -webkit-overflow-scrolling: touch !important;
        touch-action: pan-y !important;
        overscroll-behavior-x: contain !important;

        scroll-snap-type: x mandatory !important;
        scroll-padding-inline: 0 !important;

        scrollbar-width: none !important;
    }

    .ftr-tools-engine__shell .ftr-goals__grid::-webkit-scrollbar {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
    }

    .ftr-tools-engine__shell .ftr-goal {
        flex: 0 0 calc(88vw - 70px) !important;
        width: calc(88vw - 70px) !important;
        min-width: 255px !important;
        max-width: 330px !important;

        scroll-snap-align: start !important;
        scroll-snap-stop: always !important;
    }

    .ftr-tools-engine__shell .ftr-goal strong {
        min-height: 66px !important;
        padding: 15px 16px 12px !important;

        justify-content: center !important;
        text-align: center !important;

        font-size: 17px !important;
    }

    .ftr-tools-engine__shell .ftr-goal small {
        min-height: 84px !important;
        padding: 13px 17px 16px !important;

        justify-content: center !important;
        text-align: center !important;

        color: #c8bdce !important;

        font-size: 12px !important;
        font-weight: 600 !important;
    }

    .ftr-tools-engine__shell .ftr-goal__inner::before {
        height: 235px !important;

        background-position: center center !important;
        background-size: contain !important;
    }


    /* Real mobile navigation */

    .ftr-mobile-goal-nav {
        display: grid;
        grid-template-columns: 42px minmax(0,1fr) 42px;
        align-items: center;
        gap: 12px;

        width: 100%;
        margin-top: 12px;
    }

    .ftr-mobile-goal-nav__button {
        appearance: none;
        -webkit-appearance: none;

        width: 42px;
        height: 42px;

        display: grid;
        place-items: center;

        padding: 0;

        border: 1px solid rgba(190,86,255,.35);
        border-radius: 12px;

        background:
            linear-gradient(
                145deg,
                rgba(145,40,224,.22),
                rgba(36,11,49,.96)
            );

        color: #d991ff;

        box-shadow:
            inset 0 1px 0 rgba(255,255,255,.05);

        font-size: 28px;
        line-height: 1;

        cursor: pointer;

        transition:
            opacity .18s ease,
            transform .18s ease,
            border-color .18s ease;
    }

    .ftr-mobile-goal-nav__button:active {
        transform: scale(.96);
    }

    .ftr-mobile-goal-nav__button:disabled {
        opacity: .28;
    }

    .ftr-mobile-goal-nav__rail {
        position: relative;

        height: 7px;

        overflow: hidden;

        border-radius: 999px;

        background:
            rgba(255,255,255,.075);
    }

    .ftr-mobile-goal-nav__thumb {
        --ftr-goal-progress: 0;

        position: absolute;
        top: 0;
        left: 0;

        width: 30%;
        height: 100%;

        border-radius: inherit;

        background:
            linear-gradient(
                90deg,
                #7d22d9,
                #b53dff,
                #d26fff
            );

        box-shadow:
            0 0 12px rgba(178,60,255,.42);

        transform:
            translateX(
                calc(
                    var(--ftr-goal-progress)
                    * 233%
                )
            );

        transition:
            transform .12s linear;
    }
}


@media (max-width: 430px) {

    .ftr-tools-engine__shell .ftr-goal {
        flex-basis: calc(92vw - 68px) !important;
        width: calc(92vw - 68px) !important;
        min-width: 250px !important;
    }

    .ftr-tools-engine__shell .ftr-goal strong {
        font-size: 16px !important;
    }

    .ftr-tools-engine__shell .ftr-goal__inner::before {
        height: 228px !important;
    }
}

/* ==========================================================
   TOOLS ENGINE V9 — MOBILE BUTTON NAVIGATION
   ========================================================== */

/* Global centering */
.ftr-tools-engine__shell .ftr-goal__icon {
    display: none !important;
}

.ftr-tools-engine__shell .ftr-goal strong {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    margin: 0 !important;
    text-align: center !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
}

.ftr-tools-engine__shell .ftr-goal small {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    margin: 0 !important;
    text-align: center !important;
    font-size: 11px !important;
    line-height: 1.5 !important;
}

.ftr-tools-engine__shell .ftr-goal__inner {
    text-align: center !important;
}

.ftr-tools-engine__shell .ftr-goal__inner::before {
    background-position: center center !important;
    background-size: contain !important;
    margin-left: auto !important;
    margin-right: auto !important;
}


/* Mobile navigator hidden on desktop */
.ftr-mobile-goal-switcher {
    display: none;
}


@media (max-width: 740px) {

    /* Completely disable the old horizontal-scroll system */
    .ftr-tools-engine__shell .ftr-goals {
        position: relative !important;
        overflow: visible !important;
        padding-bottom: 0 !important;
    }

    .ftr-tools-engine__shell .ftr-goals::before,
    .ftr-tools-engine__shell .ftr-goals::after {
        display: none !important;
        content: none !important;
    }

    .ftr-tools-engine__shell .ftr-goals__grid {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow: visible !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .ftr-tools-engine__shell .ftr-goal {
        display: none !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
    }

    .ftr-tools-engine__shell .ftr-goal.is-mobile-visible {
        display: block !important;
    }

    .ftr-tools-engine__shell .ftr-goal,
    .ftr-tools-engine__shell .ftr-goal__inner {
        min-height: 0 !important;
    }

    .ftr-tools-engine__shell .ftr-goal__inner {
        display: grid !important;
        grid-template-rows: auto auto auto !important;
        width: 100% !important;
        padding: 0 !important;
        align-items: stretch !important;
    }

    /* Title truly centered */
    .ftr-tools-engine__shell .ftr-goal strong {
        min-height: 74px !important;
        padding: 18px 20px 14px !important;
        justify-content: center !important;
        text-align: center !important;
        font-size: 18px !important;
    }

    /* Image truly centered */
    .ftr-tools-engine__shell .ftr-goal__inner::before {
        grid-row: 2 !important;
        width: min(78%, 360px) !important;
        height: 330px !important;
        margin: 0 auto !important;
        background-position: center center !important;
        background-size: contain !important;
        background-repeat: no-repeat !important;
    }

    /* Description truly centered */
    .ftr-tools-engine__shell .ftr-goal small {
        min-height: 98px !important;
        padding: 18px 22px 22px !important;
        justify-content: center !important;
        text-align: center !important;
        color: #c9becf !important;
        font-size: 13px !important;
        line-height: 1.55 !important;
        font-weight: 600 !important;
    }

    /* Explicit mobile navigation */
    .ftr-mobile-goal-switcher {
        display: grid;
        grid-template-columns: 54px 1fr 54px;
        align-items: center;
        gap: 12px;
        width: 100%;
        margin-top: 14px;
    }

    .ftr-mobile-goal-switcher[hidden] {
        display: none !important;
    }

    .ftr-mobile-goal-switcher__button {
        appearance: none;
        -webkit-appearance: none;
        width: 54px;
        height: 54px;
        display: grid;
        place-items: center;
        padding: 0;
        border: 1px solid rgba(185,77,255,.40);
        border-radius: 14px;
        background:
            linear-gradient(
                145deg,
                rgba(156,54,255,.24),
                rgba(28,9,40,.98)
            );
        color: #d68cff;
        box-shadow:
            inset 0 1px 0 rgba(255,255,255,.05),
            0 10px 24px rgba(0,0,0,.16);
        font-size: 24px;
        font-weight: 900;
        cursor: pointer;
    }

    .ftr-mobile-goal-switcher__button:disabled {
        opacity: .24;
        cursor: default;
    }

    .ftr-mobile-goal-switcher__count {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 48px;
        border: 1px solid rgba(255,255,255,.07);
        border-radius: 13px;
        background: rgba(255,255,255,.025);
        color: #a99eb1;
        font-size: 12px;
        font-weight: 850;
        letter-spacing: .08em;
    }

    /* Budget amount: make sure RON + number always fits */
    .ftr-tools-engine__shell .ftr-budget {
        grid-template-columns: minmax(0,1fr) minmax(145px, 38%) !important;
        gap: 10px !important;
    }

    .ftr-tools-engine__shell .ftr-budget__control {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        grid-template-columns: auto minmax(0,1fr) !important;
        gap: 6px !important;
    }

    .ftr-tools-engine__shell .ftr-budget__currency {
        font-size: 10px !important;
    }

    .ftr-tools-engine__shell .ftr-budget__control input {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        padding-right: 8px !important;
        font-size: 20px !important;
        line-height: 1 !important;
        text-align: right !important;
    }
}


@media (max-width: 430px) {

    .ftr-tools-engine__shell .ftr-goal strong {
        font-size: 17px !important;
    }

    .ftr-tools-engine__shell .ftr-goal__inner::before {
        width: min(80%, 330px) !important;
        height: 310px !important;
    }

    .ftr-tools-engine__shell .ftr-goal small {
        font-size: 12px !important;
    }

    .ftr-tools-engine__shell .ftr-budget {
        grid-template-columns: minmax(0,1fr) minmax(132px, 40%) !important;
    }

    .ftr-tools-engine__shell .ftr-budget__control input {
        font-size: 18px !important;
    }
}

/* ==========================================================
   TOOLS ENGINE V10 — MOBILE PERFECT CENTERING
   ========================================================== */

@media (max-width: 740px) {

    /*
     * The mobile navigator is already working.
     * This block only normalizes alignment inside the visible goal card.
     */

    .ftr-tools-engine__shell .ftr-goal.is-mobile-visible,
    .ftr-tools-engine__shell .ftr-goal.is-mobile-visible .ftr-goal__inner {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .ftr-tools-engine__shell .ftr-goal.is-mobile-visible .ftr-goal__inner {
        display: grid !important;
        grid-template-columns: 1fr !important;
        grid-template-rows: auto auto auto !important;
        justify-items: center !important;
        align-items: center !important;
        text-align: center !important;
        padding: 0 !important;
    }

    /* Title */
    .ftr-tools-engine__shell .ftr-goal.is-mobile-visible strong {
        grid-column: 1 !important;
        grid-row: 1 !important;

        width: 100% !important;
        max-width: 100% !important;
        min-height: 74px !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        margin: 0 auto !important;
        padding: 18px 22px 14px !important;

        text-align: center !important;
        white-space: normal !important;

        font-size: 18px !important;
        line-height: 1.2 !important;
    }

    /* Artwork */
    .ftr-tools-engine__shell .ftr-goal.is-mobile-visible .ftr-goal__inner::before {
        grid-column: 1 !important;
        grid-row: 2 !important;

        display: block !important;

        width: min(76%, 360px) !important;
        height: 330px !important;

        margin: 0 auto !important;
        inset: auto !important;

        background-position: 50% 50% !important;
        background-size: contain !important;
        background-repeat: no-repeat !important;

        transform: none !important;
        justify-self: center !important;
        align-self: center !important;
    }

    /* Description */
    .ftr-tools-engine__shell .ftr-goal.is-mobile-visible small {
        grid-column: 1 !important;
        grid-row: 3 !important;

        width: 100% !important;
        max-width: 100% !important;
        min-height: 96px !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        margin: 0 auto !important;
        padding: 18px 24px 22px !important;

        text-align: center !important;
        white-space: normal !important;

        color: #c9becf !important;
        font-size: 13px !important;
        line-height: 1.55 !important;
        font-weight: 600 !important;
    }
}

@media (max-width: 430px) {

    .ftr-tools-engine__shell .ftr-goal.is-mobile-visible strong {
        font-size: 17px !important;
    }

    .ftr-tools-engine__shell .ftr-goal.is-mobile-visible .ftr-goal__inner::before {
        width: min(78%, 330px) !important;
        height: 310px !important;
    }

    .ftr-tools-engine__shell .ftr-goal.is-mobile-visible small {
        padding-left: 20px !important;
        padding-right: 20px !important;
        font-size: 12px !important;
    }
}



/* ==========================================================
   TOOLS PURCHASE ROUTE — SINGLE GOAL IMAGE
   Keep the real .ftr-goal__art from the recommender.
   Remove the legacy CSS background artwork that created
   a second image underneath it.
   ========================================================== */

.ftr-tools-page
.ftr-tools-engine__shell
.ftr-goal__inner::before{
    content:none !important;
    display:none !important;
    background:none !important;
    background-image:none !important;
}

/* Explicitly neutralize all old nth-child background-image rules. */
.ftr-tools-page
.ftr-tools-engine__shell
.ftr-goal:nth-child(1)
.ftr-goal__inner::before,
.ftr-tools-page
.ftr-tools-engine__shell
.ftr-goal:nth-child(2)
.ftr-goal__inner::before,
.ftr-tools-page
.ftr-tools-engine__shell
.ftr-goal:nth-child(3)
.ftr-goal__inner::before,
.ftr-tools-page
.ftr-tools-engine__shell
.ftr-goal:nth-child(4)
.ftr-goal__inner::before,
.ftr-tools-page
.ftr-tools-engine__shell
.ftr-goal:nth-child(5)
.ftr-goal__inner::before{
    content:none !important;
    display:none !important;
    background-image:none !important;
}

/*
 * Keep only the image supplied by frontend.php:
 * .ftr-goal__art-wrap > .ftr-goal__art
 */
.ftr-tools-page
.ftr-tools-engine__shell
.ftr-goal__art-wrap{
    position:relative !important;
    z-index:1 !important;
    display:block !important;
    width:100% !important;
    margin:0 !important;
    overflow:hidden !important;
    border-radius:10px !important;
}

.ftr-tools-page
.ftr-tools-engine__shell
.ftr-goal__art{
    display:block !important;
    width:100% !important;
    height:auto !important;
    max-width:100% !important;
    object-fit:cover !important;
    object-position:center !important;
}

/*
 * The card is no longer a background-art card. Let the genuine image sit
 * above the title/content, exactly once.
 */
.ftr-tools-page
.ftr-tools-engine__shell
.ftr-goal__inner{
    justify-content:flex-start !important;
    padding:10px !important;
    background:#12071a !important;
}

.ftr-tools-page
.ftr-tools-engine__shell
.ftr-goal__content{
    position:relative !important;
    z-index:2 !important;
    display:block !important;
    width:100% !important;
    margin-top:10px !important;
}

/* The small icon is unnecessary over the artwork in this compact route picker. */
.ftr-tools-page
.ftr-tools-engine__shell
.ftr-goal__top{
    position:absolute !important;
    z-index:3 !important;
    top:10px !important;
    left:10px !important;
    right:10px !important;
    pointer-events:none !important;
}

@media (max-width:740px){
    .ftr-tools-page
    .ftr-tools-engine__shell
    .ftr-goal__inner{
        padding:10px !important;
    }

    .ftr-tools-page
    .ftr-tools-engine__shell
    .ftr-goal__art-wrap{
        border-radius:9px !important;
    }
}



/* ==========================================================
   TOOLS RESULTS DASHBOARD — OPTIMIZED CART UI
   Scoped to /tools so other recommender placements keep
   their existing result presentation.
   ========================================================== */

.ftr-tools-engine__shell .ftr-results{
    max-width:none !important;
    padding-top:20px !important;
    padding-bottom:30px !important;
}

.ftr-tools-engine__shell .ftr-tools-dashboard{
    display:grid;
    gap:14px;
    width:100%;
}

.ftr-tools-engine__shell .ftr-tools-route-hero,
.ftr-tools-engine__shell .ftr-tools-panel{
    border:1px solid rgba(255,255,255,.11);
    border-radius:18px;
    background:
        linear-gradient(145deg,rgba(255,255,255,.018),transparent 44%),
        #190d26;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.025),
        0 18px 42px rgba(0,0,0,.13);
}

.ftr-tools-engine__shell .ftr-tools-route-hero{
    padding:18px;
    border-color:rgba(164,64,236,.56);
    background:
        radial-gradient(circle at 0% 0%,rgba(143,40,231,.24),transparent 26%),
        linear-gradient(100deg,#37124f 0%,#190e28 34%,#100b20 100%);
}

.ftr-tools-engine__shell .ftr-tools-route-hero__top{
    display:grid;
    grid-template-columns:64px minmax(0,1fr) auto;
    align-items:center;
    gap:16px;
}

.ftr-tools-engine__shell .ftr-tools-route-brand{
    width:62px;
    height:62px;
    padding:6px;
    overflow:hidden;
    border:1px solid rgba(190,80,255,.40);
    border-radius:16px;
    background:#180923;
    box-shadow:0 10px 28px rgba(0,0,0,.28);
}

.ftr-tools-engine__shell .ftr-tools-route-brand img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    border-radius:11px;
}

.ftr-tools-engine__shell .ftr-tools-route-title span{
    display:block;
    margin-bottom:4px;
    color:#ffd400;
    font-size:8px;
    line-height:1;
    font-weight:950;
    letter-spacing:.11em;
}

.ftr-tools-engine__shell .ftr-tools-route-title h2{
    margin:0 !important;
    color:#fff;
    font-size:24px !important;
    line-height:1.04 !important;
    font-weight:950 !important;
    letter-spacing:-.035em !important;
}

.ftr-tools-engine__shell .ftr-tools-route-title p{
    margin:5px 0 0;
    color:#93889b;
    font-size:9px;
}

.ftr-tools-engine__shell .ftr-tools-route-status{
    align-self:start;
    padding:6px 9px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:999px;
    background:#251331;
    color:#b7a8bf;
    font-size:7px;
    font-weight:950;
    letter-spacing:.04em;
}

.ftr-tools-engine__shell .ftr-tools-route-status.is-valid{
    border-color:rgba(38,214,131,.25);
    background:rgba(24,124,82,.24);
    color:#4ce29a;
}

.ftr-tools-engine__shell .ftr-tools-route-metrics{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:8px;
    margin-top:16px;
}

.ftr-tools-engine__shell .ftr-tools-metric{
    min-width:0;
    min-height:58px;
    display:flex;
    align-items:center;
    gap:9px;
    padding:10px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:10px;
    background:rgba(17,10,27,.72);
}

.ftr-tools-engine__shell .ftr-tools-metric__icon{
    flex:0 0 auto;
    width:26px;
    height:26px;
    display:grid;
    place-items:center;
    border-radius:8px;
    background:#2b1838;
    color:#d7a3f3;
    font-size:11px;
    font-weight:950;
}

.ftr-tools-engine__shell .ftr-tools-metric small{
    display:block;
    overflow:hidden;
    color:#716a79;
    font-size:6px;
    line-height:1;
    font-weight:900;
    letter-spacing:.04em;
    text-transform:uppercase;
    white-space:nowrap;
    text-overflow:ellipsis;
}

.ftr-tools-engine__shell .ftr-tools-metric strong{
    display:block;
    margin-top:5px;
    overflow:hidden;
    color:#f6f1fa;
    font-size:11px;
    line-height:1;
    font-weight:950;
    white-space:nowrap;
    text-overflow:ellipsis;
}

.ftr-tools-engine__shell .ftr-tools-metric--price strong,
.ftr-tools-engine__shell .ftr-tools-metric--saving strong,
.ftr-tools-engine__shell .ftr-tools-metric--discount strong{
    color:#ffd400;
}

.ftr-tools-engine__shell .ftr-tools-metric--saving{
    border-color:rgba(46,206,134,.22);
    background:rgba(21,93,65,.12);
}

.ftr-tools-engine__shell .ftr-tools-metric--saving .ftr-tools-metric__icon{
    background:rgba(21,126,79,.25);
    color:#4de09b;
}

.ftr-tools-engine__shell .ftr-tools-metric--wallet .ftr-tools-metric__icon{
    background:rgba(36,74,150,.25);
    color:#71a0ff;
}

.ftr-tools-engine__shell .ftr-tools-metric--cards .ftr-tools-metric__icon{
    background:rgba(118,46,155,.27);
    color:#d18bff;
}

.ftr-tools-engine__shell .ftr-tools-dashboard__grid{
    display:grid;
    grid-template-columns:minmax(0,1.56fr) minmax(340px,.94fr);
    gap:12px;
    align-items:start;
}

.ftr-tools-engine__shell .ftr-tools-dashboard__left{
    display:grid;
    gap:12px;
}

.ftr-tools-engine__shell .ftr-tools-dashboard__right{
    min-width:0;
}

.ftr-tools-engine__shell .ftr-tools-panel{
    padding:14px;
}

.ftr-tools-engine__shell .ftr-tools-panel__head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
    margin-bottom:12px;
}

.ftr-tools-engine__shell .ftr-tools-panel__head h3{
    margin:0;
    color:#fff;
    font-size:13px;
    line-height:1.1;
    font-weight:900;
    letter-spacing:-.015em;
}

.ftr-tools-engine__shell .ftr-tools-panel__head p{
    margin:4px 0 0;
    color:#716a79;
    font-size:8px;
    line-height:1.45;
}

.ftr-tools-engine__shell .ftr-tools-count{
    flex:0 0 auto;
    padding:5px 8px;
    border-radius:999px;
    background:#35144e;
    color:#d89cff;
    font-size:7px;
    font-weight:900;
}

.ftr-tools-engine__shell .ftr-tools-analytics__grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
}

.ftr-tools-engine__shell .ftr-tools-analytics__grid article{
    min-height:172px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-end;
    padding:12px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:12px;
    background:
        radial-gradient(circle at 50% 38%,rgba(91,49,92,.18),transparent 48%),
        #171020;
    text-align:center;
}

.ftr-tools-engine__shell .ftr-tools-analytics__image{
    width:100%;
    height:105px;
    display:grid;
    place-items:center;
    margin-bottom:auto;
}

.ftr-tools-engine__shell .ftr-tools-analytics__image img{
    display:block;
    max-width:78%;
    max-height:95px;
    object-fit:contain;
    filter:drop-shadow(0 12px 20px rgba(0,0,0,.28));
}

.ftr-tools-engine__shell .ftr-tools-analytics__grid article > span{
    margin-top:8px;
    color:#aaa0b1;
    font-size:7px;
    font-weight:950;
    letter-spacing:.05em;
}

.ftr-tools-engine__shell .ftr-tools-analytics__grid article > strong{
    margin-top:5px;
    color:#fff;
    font-size:17px;
    line-height:1;
    font-weight:950;
}

.ftr-tools-engine__shell .ftr-tools-analytics__grid article > strong.is-gold{
    color:#ffd400;
}

.ftr-tools-engine__shell .ftr-tools-wallet-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}

.ftr-tools-engine__shell .ftr-tools-wallet-card{
    display:grid;
    grid-template-columns:96px minmax(0,1fr);
    gap:10px;
    min-width:0;
    padding:10px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:11px;
    background:#15101d;
}

.ftr-tools-engine__shell .ftr-tools-wallet-card__visual{
    min-height:116px;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    padding:10px;
    border-radius:8px;
    background:
        radial-gradient(circle at 80% 10%,rgba(63,180,255,.42),transparent 25%),
        linear-gradient(145deg,#e8f4ff 0 23%,#2582d4 24% 62%,#084b91 63%);
    color:#fff;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.35);
}

.ftr-tools-engine__shell .ftr-tools-wallet-card__ps{
    margin-bottom:auto;
    font-size:22px;
    line-height:1;
    font-weight:950;
}

.ftr-tools-engine__shell .ftr-tools-wallet-card__visual small{
    font-size:6px;
    font-weight:900;
}

.ftr-tools-engine__shell .ftr-tools-wallet-card__visual strong{
    margin-top:2px;
    font-size:16px;
}

.ftr-tools-engine__shell .ftr-tools-wallet-card__visual span{
    margin-top:1px;
    font-size:6px;
    letter-spacing:.12em;
}

.ftr-tools-engine__shell .ftr-tools-wallet-card__body{
    min-width:0;
    display:flex;
    flex-direction:column;
}

.ftr-tools-engine__shell .ftr-tools-wallet-card__body > strong{
    color:#fff;
    font-size:11px;
}

.ftr-tools-engine__shell .ftr-tools-wallet-card__body > small{
    margin-top:4px;
    color:#807784;
    font-size:7px;
}

.ftr-tools-engine__shell .ftr-tools-wallet-card__cost{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    margin-top:auto;
    padding-top:10px;
}

.ftr-tools-engine__shell .ftr-tools-wallet-card__cost span{
    color:#777080;
    font-size:7px;
}

.ftr-tools-engine__shell .ftr-tools-wallet-card__cost strong{
    padding:4px 7px;
    border:1px solid rgba(178,67,255,.45);
    border-radius:999px;
    color:#d89cff;
    font-size:8px;
}

.ftr-tools-engine__shell .ftr-tools-buy-card{
    min-height:30px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-top:8px;
    border-radius:7px;
    background:linear-gradient(135deg,#ffd400,#ffe55c);
    color:#17091e !important;
    text-decoration:none !important;
    font-size:8px;
    font-weight:950;
}

.ftr-tools-engine__shell .ftr-tools-buy-card:hover{
    filter:brightness(1.04);
    transform:translateY(-1px);
}

.ftr-tools-engine__shell .ftr-tools-buy-card.is-disabled{
    background:#2a2031;
    color:#897f8e !important;
}

.ftr-tools-engine__shell .ftr-tools-products-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
}

.ftr-tools-engine__shell .ftr-tools-product-card{
    min-width:0;
    display:grid;
    grid-template-columns:40px minmax(0,1fr) auto;
    align-items:center;
    gap:8px;
    padding:9px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:10px;
    background:#15101d;
}

.ftr-tools-engine__shell .ftr-tools-product-card__image{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.10);
    border-radius:7px;
    background:#0e0b14;
}

.ftr-tools-engine__shell .ftr-tools-product-card__image img{
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
}

.ftr-tools-engine__shell .ftr-tools-product-card__image span{
    color:#d79cff;
    font-size:9px;
    font-weight:950;
}

.ftr-tools-engine__shell .ftr-tools-product-card__name{
    min-width:0;
}

.ftr-tools-engine__shell .ftr-tools-product-card__name strong{
    display:block;
    overflow:hidden;
    color:#f5f1f8;
    font-size:8px;
    line-height:1.25;
    font-weight:850;
    white-space:nowrap;
    text-overflow:ellipsis;
}

.ftr-tools-engine__shell .ftr-tools-product-card__price{
    padding:5px 7px;
    border:1px solid rgba(174,70,247,.42);
    border-radius:999px;
    color:#d791ff;
    font-size:7px;
    font-weight:900;
    white-space:nowrap;
}

.ftr-tools-engine__shell .ftr-tools-steps-panel{
    position:sticky;
    top:92px;
}

.ftr-tools-engine__shell .ftr-tools-ledger-head{
    display:grid;
    grid-template-columns:30px minmax(0,1fr) 72px 84px;
    gap:6px;
    padding:0 1px 6px;
    color:#716879;
    font-size:6px;
    font-weight:900;
    text-align:center;
}

.ftr-tools-engine__shell .ftr-tools-ledger-head span:nth-child(2){
    text-align:left;
}

.ftr-tools-engine__shell .ftr-tools-ledger{
    display:grid;
    gap:7px;
}

.ftr-tools-engine__shell .ftr-tools-ledger-row{
    display:grid;
    grid-template-columns:30px minmax(0,1fr) 72px 84px;
    gap:6px;
    align-items:stretch;
}

.ftr-tools-engine__shell .ftr-tools-ledger-num{
    width:25px;
    height:25px;
    align-self:center;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:linear-gradient(135deg,#bd44ff,#7b20d4);
    color:#fff;
    font-size:8px;
    font-weight:950;
}

.ftr-tools-engine__shell .ftr-tools-ledger-row.is-redeem .ftr-tools-ledger-num{
    background:linear-gradient(135deg,#38d78c,#15945e);
}

.ftr-tools-engine__shell .ftr-tools-ledger-main,
.ftr-tools-engine__shell .ftr-tools-ledger-cost,
.ftr-tools-engine__shell .ftr-tools-ledger-wallet{
    min-width:0;
    padding:9px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:9px;
    background:#15101d;
}

.ftr-tools-engine__shell .ftr-tools-ledger-main > span{
    display:block;
    color:#776e80;
    font-size:6px;
    font-weight:900;
    letter-spacing:.04em;
    text-transform:uppercase;
}

.ftr-tools-engine__shell .ftr-tools-ledger-main > strong{
    display:block;
    margin-top:3px;
    color:#fff;
    font-size:8px;
    line-height:1.2;
    font-weight:900;
}

.ftr-tools-engine__shell .ftr-tools-ledger-main > strong a{
    color:#fff !important;
    text-decoration:none !important;
}

.ftr-tools-engine__shell .ftr-tools-ledger-row.is-redeem .ftr-tools-ledger-main > strong a{
    color:#4ce29a !important;
}

.ftr-tools-engine__shell .ftr-tools-ledger-main p{
    margin:4px 0 0;
    color:#736a78;
    font-size:6px;
    line-height:1.4;
}

.ftr-tools-engine__shell .ftr-tools-ledger-cost,
.ftr-tools-engine__shell .ftr-tools-ledger-wallet{
    display:flex;
    flex-direction:column;
    justify-content:center;
    text-align:center;
}

.ftr-tools-engine__shell .ftr-tools-ledger-cost small,
.ftr-tools-engine__shell .ftr-tools-ledger-wallet small{
    color:#716978;
    font-size:5px;
    font-weight:900;
    letter-spacing:.04em;
}

.ftr-tools-engine__shell .ftr-tools-ledger-cost strong,
.ftr-tools-engine__shell .ftr-tools-ledger-wallet strong{
    margin-top:4px;
    color:#d98cff;
    font-size:7px;
    line-height:1.15;
    font-weight:950;
}

.ftr-tools-engine__shell .ftr-tools-ledger-wallet.is-loaded{
    border-color:rgba(50,215,141,.30);
    background:rgba(18,91,61,.20);
}

.ftr-tools-engine__shell .ftr-tools-ledger-wallet.is-loaded small,
.ftr-tools-engine__shell .ftr-tools-ledger-wallet.is-loaded strong{
    color:#4ce29a;
}

/* Keep the normal alternatives functional, but make them visually secondary. */
.ftr-tools-engine__shell .ftr-tools-dashboard > .ftr-section{
    margin:0;
}

.ftr-tools-engine__shell .ftr-tools-dashboard > .ftr-section:not(:last-of-type){
    border-radius:14px;
}

.ftr-tools-engine__shell .ftr-tools-dashboard > .ftr-section .ftr-section__head h3{
    font-size:13px;
}

/* The old full-width purchase-plan blocks are not emitted by the tools dashboard. */

@media (max-width:1100px){
    .ftr-tools-engine__shell .ftr-tools-route-metrics{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    .ftr-tools-engine__shell .ftr-tools-dashboard__grid{
        grid-template-columns:1fr;
    }

    .ftr-tools-engine__shell .ftr-tools-steps-panel{
        position:relative;
        top:auto;
    }
}

@media (max-width:760px){
    .ftr-tools-engine__shell .ftr-results{
        padding-left:10px !important;
        padding-right:10px !important;
    }

    .ftr-tools-engine__shell .ftr-tools-route-hero{
        padding:14px;
    }

    .ftr-tools-engine__shell .ftr-tools-route-hero__top{
        grid-template-columns:50px minmax(0,1fr);
        gap:11px;
    }

    .ftr-tools-engine__shell .ftr-tools-route-brand{
        width:50px;
        height:50px;
        border-radius:13px;
    }

    .ftr-tools-engine__shell .ftr-tools-route-status{
        grid-column:1 / -1;
        justify-self:start;
    }

    .ftr-tools-engine__shell .ftr-tools-route-title h2{
        font-size:19px !important;
    }

    .ftr-tools-engine__shell .ftr-tools-route-metrics{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .ftr-tools-engine__shell .ftr-tools-analytics__grid{
        grid-template-columns:1fr;
    }

    .ftr-tools-engine__shell .ftr-tools-analytics__grid article{
        min-height:150px;
    }

    .ftr-tools-engine__shell .ftr-tools-wallet-grid{
        grid-template-columns:1fr;
    }

    .ftr-tools-engine__shell .ftr-tools-products-grid{
        grid-template-columns:1fr;
    }

    .ftr-tools-engine__shell .ftr-tools-ledger-head{
        display:none;
    }

    .ftr-tools-engine__shell .ftr-tools-ledger-row{
        grid-template-columns:28px minmax(0,1fr) 82px;
    }

    .ftr-tools-engine__shell .ftr-tools-ledger-cost{
        grid-column:3;
    }

    .ftr-tools-engine__shell .ftr-tools-ledger-wallet{
        grid-column:2 / 4;
        grid-row:2;
        min-height:42px;
    }
}

@media (max-width:430px){
    .ftr-tools-engine__shell .ftr-tools-route-metrics{
        grid-template-columns:1fr 1fr;
    }

    .ftr-tools-engine__shell .ftr-tools-metric{
        min-height:54px;
        padding:9px;
    }

    .ftr-tools-engine__shell .ftr-tools-wallet-card{
        grid-template-columns:82px minmax(0,1fr);
    }

    .ftr-tools-engine__shell .ftr-tools-wallet-card__visual{
        min-height:108px;
    }

    .ftr-tools-engine__shell .ftr-tools-ledger-row{
        grid-template-columns:25px minmax(0,1fr);
    }

    .ftr-tools-engine__shell .ftr-tools-ledger-cost{
        grid-column:2;
    }

    .ftr-tools-engine__shell .ftr-tools-ledger-wallet{
        grid-column:2;
    }
}



/* ==========================================================
   EXACT PURCHASE STEPS — LARGER TYPOGRAPHY
   ========================================================== */

/* Section heading */
.ftr-tools-engine__shell .ftr-tools-steps-panel .ftr-tools-panel__head h3{
    font-size:16px !important;
    line-height:1.15 !important;
}

.ftr-tools-engine__shell .ftr-tools-steps-panel .ftr-tools-panel__head p{
    margin-top:5px !important;
    font-size:10px !important;
    line-height:1.5 !important;
}

.ftr-tools-engine__shell .ftr-tools-steps-panel .ftr-tools-count{
    padding:6px 9px !important;
    font-size:8px !important;
}

/* Column headings: STEP / COST / CURRENT WALLET */
.ftr-tools-engine__shell .ftr-tools-steps-panel .ftr-tools-ledger-head{
    grid-template-columns:34px minmax(0,1fr) 82px 98px !important;
    gap:7px !important;
    padding-bottom:8px !important;
    font-size:8px !important;
    line-height:1.2 !important;
}

/* Rows */
.ftr-tools-engine__shell .ftr-tools-steps-panel .ftr-tools-ledger{
    gap:8px !important;
}

.ftr-tools-engine__shell .ftr-tools-steps-panel .ftr-tools-ledger-row{
    grid-template-columns:34px minmax(0,1fr) 82px 98px !important;
    gap:7px !important;
}

/* Number circle */
.ftr-tools-engine__shell .ftr-tools-steps-panel .ftr-tools-ledger-num{
    width:29px !important;
    height:29px !important;
    font-size:10px !important;
}

/* Every cell gets a little more breathing room */
.ftr-tools-engine__shell .ftr-tools-steps-panel .ftr-tools-ledger-main,
.ftr-tools-engine__shell .ftr-tools-steps-panel .ftr-tools-ledger-cost,
.ftr-tools-engine__shell .ftr-tools-steps-panel .ftr-tools-ledger-wallet{
    padding:11px !important;
}

/* BUY GIFTCARD / REDEEM WALLET / BUY PRODUCT etc. */
.ftr-tools-engine__shell .ftr-tools-steps-panel .ftr-tools-ledger-main > span{
    font-size:8px !important;
    line-height:1.2 !important;
}

/* Main step title */
.ftr-tools-engine__shell .ftr-tools-steps-panel .ftr-tools-ledger-main > strong{
    margin-top:4px !important;
    font-size:10.5px !important;
    line-height:1.28 !important;
}

/* Linked titles: Redeem code / Activate EA Play */
.ftr-tools-engine__shell .ftr-tools-steps-panel .ftr-tools-ledger-main > strong a{
    font-size:inherit !important;
    line-height:inherit !important;
}

/* Explanation under each step */
.ftr-tools-engine__shell .ftr-tools-steps-panel .ftr-tools-ledger-main p{
    margin-top:5px !important;
    font-size:8px !important;
    line-height:1.5 !important;
}

/* COST / CURRENT WALLET labels */
.ftr-tools-engine__shell .ftr-tools-steps-panel .ftr-tools-ledger-cost small,
.ftr-tools-engine__shell .ftr-tools-steps-panel .ftr-tools-ledger-wallet small{
    font-size:7px !important;
    line-height:1.2 !important;
}

/* Monetary values + Pending */
.ftr-tools-engine__shell .ftr-tools-steps-panel .ftr-tools-ledger-cost strong,
.ftr-tools-engine__shell .ftr-tools-steps-panel .ftr-tools-ledger-wallet strong{
    margin-top:5px !important;
    font-size:9px !important;
    line-height:1.25 !important;
}

/* Tablet: retain larger text while allowing the panel to breathe */
@media (max-width:1100px){
    .ftr-tools-engine__shell .ftr-tools-steps-panel .ftr-tools-ledger-head,
    .ftr-tools-engine__shell .ftr-tools-steps-panel .ftr-tools-ledger-row{
        grid-template-columns:36px minmax(0,1fr) 92px 108px !important;
    }

    .ftr-tools-engine__shell .ftr-tools-steps-panel .ftr-tools-ledger-main > strong{
        font-size:11px !important;
    }

    .ftr-tools-engine__shell .ftr-tools-steps-panel .ftr-tools-ledger-main p{
        font-size:8.5px !important;
    }

    .ftr-tools-engine__shell .ftr-tools-steps-panel .ftr-tools-ledger-cost strong,
    .ftr-tools-engine__shell .ftr-tools-steps-panel .ftr-tools-ledger-wallet strong{
        font-size:9.5px !important;
    }
}

/* Mobile */
@media (max-width:760px){
    .ftr-tools-engine__shell .ftr-tools-steps-panel .ftr-tools-panel__head h3{
        font-size:17px !important;
    }

    .ftr-tools-engine__shell .ftr-tools-steps-panel .ftr-tools-panel__head p{
        font-size:11px !important;
    }

    .ftr-tools-engine__shell .ftr-tools-steps-panel .ftr-tools-ledger-row{
        grid-template-columns:32px minmax(0,1fr) 94px !important;
    }

    .ftr-tools-engine__shell .ftr-tools-steps-panel .ftr-tools-ledger-num{
        width:28px !important;
        height:28px !important;
        font-size:10px !important;
    }

    .ftr-tools-engine__shell .ftr-tools-steps-panel .ftr-tools-ledger-main > span{
        font-size:8px !important;
    }

    .ftr-tools-engine__shell .ftr-tools-steps-panel .ftr-tools-ledger-main > strong{
        font-size:11px !important;
    }

    .ftr-tools-engine__shell .ftr-tools-steps-panel .ftr-tools-ledger-main p{
        font-size:9px !important;
    }

    .ftr-tools-engine__shell .ftr-tools-steps-panel .ftr-tools-ledger-cost small,
    .ftr-tools-engine__shell .ftr-tools-steps-panel .ftr-tools-ledger-wallet small{
        font-size:7px !important;
    }

    .ftr-tools-engine__shell .ftr-tools-steps-panel .ftr-tools-ledger-cost strong,
    .ftr-tools-engine__shell .ftr-tools-steps-panel .ftr-tools-ledger-wallet strong{
        font-size:10px !important;
    }
}

/* =========================================================
   TARGET PACKS — MOBILE ARTWORK FIX
   /tools/ page only.
   Keeps the complete pack visible instead of cropping it.
   ========================================================= */

@media (max-width: 740px) {

  .ftr-tools-page
  .ftr-tools-engine__shell
  .ftr-goal:nth-child(5)
  .ftr-goal__art-wrap {
    aspect-ratio: 1.42 / 1 !important;
    display: grid !important;
    place-items: center !important;
    overflow: hidden !important;
    background:
      radial-gradient(circle at 50% 45%, rgba(38,110,60,.16), transparent 45%),
      #07050b !important;
  }

  .ftr-tools-page
  .ftr-tools-engine__shell
  .ftr-goal:nth-child(5)
  .ftr-goal__art {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    object-fit: contain !important;
    object-position: 50% 50% !important;
    transform: scale(.94) !important;
    transform-origin: center center !important;
    background: #07050b !important;
  }

}

@media (max-width: 430px) {

  .ftr-tools-page
  .ftr-tools-engine__shell
  .ftr-goal:nth-child(5)
  .ftr-goal__art-wrap {
    aspect-ratio: 1.36 / 1 !important;
  }

  .ftr-tools-page
  .ftr-tools-engine__shell
  .ftr-goal:nth-child(5)
  .ftr-goal__art {
    transform: scale(.91) !important;
  }

}

/* =========================================================
   TOOLS IMAGE FIT FIX — PICKER + MOBILE PURCHASE ROUTE
   Only image sizing/centering is changed.
   ========================================================= */

/* What do you want to optimize? — desktop + mobile */
.ftr-tools-page .ftr-tools-section--picker .ftr-tool-card__visual {
    display:grid;
    place-items:center;
    background:#0d0712;
}

.ftr-tools-page .ftr-tools-section--picker .ftr-tool-card__visual > img {
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    max-height:100% !important;
    object-fit:contain !important;
    object-position:center center !important;
    transform:none !important;
    margin:auto !important;
}

.ftr-tools-page .ftr-tools-section--picker .ftr-tool-card:hover .ftr-tool-card__visual > img,
.ftr-tools-page .ftr-tools-section--picker .ftr-tool-card.is-selected .ftr-tool-card__visual > img {
    transform:none !important;
}

/* Build your purchase route — phone only */
@media (max-width:740px) {
    .ftr-tools-page .ftr-tools-engine__shell .ftr-goal__art-wrap {
        display:grid !important;
        place-items:center !important;
        width:100% !important;
        overflow:hidden !important;
        background:#0d0712 !important;
    }

    .ftr-tools-page .ftr-tools-engine__shell .ftr-goal__art {
        display:block !important;
        width:100% !important;
        height:100% !important;
        max-width:100% !important;
        max-height:100% !important;
        margin:auto !important;
        object-fit:contain !important;
        object-position:center center !important;
        transform:none !important;
        transform-origin:center center !important;
    }
}

/* =========================================================
   FINAL TOOL PICKER IMAGE FIT
   1200x1000 assets => exact 6:5 visual box.
   Desktop + mobile. No other UI changes.
   ========================================================= */

.ftr-tools-page .ftr-tools-section--picker .ftr-tool-card__visual {
    display:grid !important;
    place-items:center !important;
    width:100% !important;
    aspect-ratio:6 / 5 !important;
    overflow:hidden !important;
    padding:0 !important;
    background:#0d0712 !important;
}

.ftr-tools-page .ftr-tools-section--picker .ftr-tool-card__visual > img {
    display:block !important;
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    max-height:100% !important;
    margin:0 auto !important;
    object-fit:contain !important;
    object-position:center center !important;
    transform:none !important;
    transform-origin:center center !important;
}

.ftr-tools-page .ftr-tools-section--picker .ftr-tool-card:hover .ftr-tool-card__visual > img,
.ftr-tools-page .ftr-tools-section--picker .ftr-tool-card.is-selected .ftr-tool-card__visual > img {
    transform:none !important;
}

@media (max-width:740px) {
    .ftr-tools-page .ftr-tools-section--picker .ftr-tool-card__visual {
        aspect-ratio:6 / 5 !important;
    }
}

/* ==========================================================
   TOOLS PAGE — MOBILE RESULT ACTIONS + VIEW IMAGE PROGRESS
   ========================================================== */

@media (max-width:740px){

    /*
     * The result status remains above.
     * Gift Cards Details + View image become an equal 2-column row.
     */
    .ftr-tools-page
    .ftr-tools-engine__shell
    .ftr-tools-route-actions{
        width:100% !important;
        max-width:none !important;

        display:grid !important;
        grid-template-columns:
            minmax(0,1fr)
            minmax(0,1fr) !important;

        gap:8px !important;

        align-items:stretch !important;
        justify-items:stretch !important;
        justify-content:stretch !important;

        margin:0 !important;
    }

    .ftr-tools-page
    .ftr-tools-engine__shell
    .ftr-tools-route-status{
        grid-column:1 / -1 !important;
        grid-row:1 !important;

        justify-self:start !important;

        width:max-content !important;
        min-width:0 !important;
        max-width:100% !important;

        margin:0 0 2px !important;
    }

    .ftr-tools-page
    .ftr-tools-engine__shell
    .ftr-tools-route-action--links{
        grid-column:1 !important;
        grid-row:2 !important;
    }

    .ftr-tools-page
    .ftr-tools-engine__shell
    .ftr-tools-route-action--image{
        grid-column:2 !important;
        grid-row:2 !important;
    }

    .ftr-tools-page
    .ftr-tools-engine__shell
    .ftr-tools-route-action--links,
    .ftr-tools-page
    .ftr-tools-engine__shell
    .ftr-tools-route-action--image{
        justify-self:stretch !important;

        width:100% !important;
        min-width:0 !important;
        max-width:none !important;
        min-height:50px !important;

        margin:0 !important;
        padding:0 9px !important;

        overflow:hidden !important;

        text-align:center !important;
        text-overflow:clip !important;
        white-space:normal !important;

        font-size:8.5px !important;
        line-height:1.15 !important;
    }

    /*
     * When the route does not expose Gift Cards Details,
     * let View image use the complete action row.
     */
    .ftr-tools-page
    .ftr-tools-engine__shell
    .ftr-tools-route-actions:not(
        :has(.ftr-tools-route-action--links)
    )
    .ftr-tools-route-action--image{
        grid-column:1 / -1 !important;
    }

    /* View image: active rendering state */

    .ftr-tools-page
    .ftr-tools-engine__shell
    .ftr-tools-route-action--image.is-ftr-tools-image-progress{
        display:flex !important;
        flex-direction:column !important;
        align-items:stretch !important;
        justify-content:center !important;

        gap:6px !important;

        padding:7px 10px !important;

        cursor:wait !important;
    }

    .ftr-tools-view-progress__copy{
        width:100%;

        display:flex;
        align-items:center;
        justify-content:space-between;

        gap:6px;

        color:#ffe66f;

        font-size:7.5px;
        line-height:1;
        font-weight:900;

        white-space:nowrap;
    }

    .ftr-tools-view-progress__copy b{
        flex:0 0 auto;

        color:#ffd400;

        font-size:8px;
        font-weight:950;
    }

    .ftr-tools-view-progress__track{
        position:relative;

        display:block;

        width:100%;
        height:4px;

        overflow:hidden;

        border-radius:999px;

        background:
            rgba(255,255,255,.10);

        box-shadow:
            inset 0 1px 2px
            rgba(0,0,0,.24);
    }

    .ftr-tools-view-progress__fill{
        display:block;

        width:
            var(
                --ftr-tools-image-progress,
                0%
            );

        height:100%;

        border-radius:inherit;

        background:
            linear-gradient(
                90deg,
                #ffd400,
                #ffe977
            );

        box-shadow:
            0 0 10px
            rgba(255,212,0,.32);

        transition:
            width
            .14s
            linear;
    }

}


@media (max-width:390px){

    .ftr-tools-page
    .ftr-tools-engine__shell
    .ftr-tools-route-action--links,
    .ftr-tools-page
    .ftr-tools-engine__shell
    .ftr-tools-route-action--image{
        padding-left:7px !important;
        padding-right:7px !important;

        font-size:7.7px !important;
    }

    .ftr-tools-view-progress__copy{
        font-size:6.8px;
    }

}

/* ==========================================================
   TOOLS — GIFT CARDS TO BUY / FULL-BLEED WALLET ARTWORK
   Source artwork: 1070 × 1470 px.
   Removes the old blue/white decorative card background.
   ========================================================== */

.ftr-tools-page
.ftr-tools-engine__shell
.ftr-tools-wallet-card__visual{
    min-height:0 !important;
    aspect-ratio:1070 / 1470 !important;

    padding:0 !important;
    overflow:hidden !important;

    border:0 !important;
    border-radius:8px !important;

    background:none !important;
    box-shadow:none !important;
}

.ftr-tools-page
.ftr-tools-engine__shell
.ftr-tools-wallet-card__visual > img{
    display:block !important;

    width:100% !important;
    height:100% !important;
    max-width:none !important;
    max-height:none !important;

    margin:0 !important;
    padding:0 !important;

    object-fit:cover !important;
    object-position:center !important;

    border:0 !important;
    border-radius:inherit !important;
}


/* Keep the same full-bleed behavior on phones. */
@media (max-width:430px){

    .ftr-tools-page
    .ftr-tools-engine__shell
    .ftr-tools-wallet-card__visual{
        min-height:0 !important;
        aspect-ratio:1070 / 1470 !important;
        padding:0 !important;
        background:none !important;
        box-shadow:none !important;
    }

}


/* ==========================================================
   TOOLS PAGE — VIEW IMAGE BUTTON (RED → PINK)
   ========================================================== */

.ftr-tools-page
.ftr-tools-engine__shell
.ftr-tools-route-action--image{
    background:linear-gradient(135deg,#ff2d55 0%,#ff2f6e 42%,#ff4ca8 100%) !important;
    border:1px solid rgba(255,110,170,.55) !important;
    color:#ffffff !important;
    box-shadow:0 12px 26px rgba(255,45,110,.26), inset 0 1px 0 rgba(255,255,255,.14) !important;

    font-size:14px !important;
    font-weight:800 !important;
    line-height:1.1 !important;
    letter-spacing:.01em !important;
}

.ftr-tools-page
.ftr-tools-engine__shell
.ftr-tools-route-action--image,
.ftr-tools-page
.ftr-tools-engine__shell
.ftr-tools-route-action--image:visited,
.ftr-tools-page
.ftr-tools-engine__shell
.ftr-tools-route-action--image span,
.ftr-tools-page
.ftr-tools-engine__shell
.ftr-tools-route-action--image i{
    color:#ffffff !important;
}

.ftr-tools-page
.ftr-tools-engine__shell
.ftr-tools-route-action--image:hover,
.ftr-tools-page
.ftr-tools-engine__shell
.ftr-tools-route-action--image:focus-visible{
    background:linear-gradient(135deg,#ff244d 0%,#ff2d7d 42%,#ff56b0 100%) !important;
    color:#ffffff !important;
    transform:translateY(-1px);
}

.ftr-tools-page
.ftr-tools-engine__shell
.ftr-tools-route-action--image.is-ftr-tools-image-progress{
    background:linear-gradient(135deg,#ff2d55 0%,#ff2f6e 42%,#ff4ca8 100%) !important;
    border-color:rgba(255,110,170,.55) !important;
}

.ftr-tools-page .ftr-tools-view-progress__copy{
    color:#ffffff !important;
    font-size:12px !important;
    font-weight:800 !important;
}

.ftr-tools-page .ftr-tools-view-progress__copy b{
    color:#ffffff !important;
    font-size:12px !important;
    font-weight:900 !important;
}

.ftr-tools-page .ftr-tools-view-progress__track{
    background:rgba(255,255,255,.18) !important;
}

.ftr-tools-page .ftr-tools-view-progress__fill{
    background:linear-gradient(90deg,#ffffff 0%,#ffd6ec 100%) !important;
    box-shadow:0 0 12px rgba(255,255,255,.34) !important;
}

@media (max-width:740px){
    .ftr-tools-page
    .ftr-tools-engine__shell
    .ftr-tools-route-action--image{
        font-size:11.5px !important;
        font-weight:800 !important;
    }

    .ftr-tools-page
    .ftr-tools-engine__shell
    .ftr-tools-route-action--image.is-ftr-tools-image-progress{
        padding:8px 10px !important;
    }

    .ftr-tools-page .ftr-tools-view-progress__copy,
.ftr-tools-page .ftr-tools-view-progress__copy b{
    font-size:7.5px !important;
}
}

@media (max-width:390px){
    .ftr-tools-page
    .ftr-tools-engine__shell
    .ftr-tools-route-action--image{
        font-size:10.5px !important;
    }
}
