/* Selective premium homepage additions. All selectors are homepage-scoped. */
.wf-reward-calculator {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 88% 18%, rgba(53, 207, 250, .2), transparent 24%),
        radial-gradient(ellipse at 8% 86%, rgba(255, 255, 255, .8), transparent 27%),
        linear-gradient(145deg, #c9ebff, #effaff 48%, #c4e9ff);
}

.wf-reward-calculator__layout {
    display: grid;
    grid-template-columns: minmax(0, .82fr) minmax(520px, 1.18fr);
    align-items: center;
    gap: clamp(48px, 7vw, 96px);
}

.wf-reward-assurances {
    margin-top: 30px;
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
}

.wf-reward-assurances span {
    padding: 8px 11px;
    border: 1px solid #afd3ef;
    border-radius: 99px;
    color: #315b82;
    background: rgba(255, 255, 255, .58);
    font-size: 13px;
    font-weight: 600;
}

.wf-reward-card {
    min-width: 0;
    padding: clamp(26px, 3vw, 40px);
    border: 1px solid rgba(128, 183, 226, .72);
    border-radius: 26px;
    background: rgba(255, 255, 255, .86);
    box-shadow: 0 30px 80px rgba(20, 82, 143, .15);
    backdrop-filter: blur(16px);
}

.wf-reward-card__fields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.wf-reward-card label {
    min-width: 0;
    display: grid;
    gap: 8px;
    color: #526a84;
    font-size: 14px;
    font-weight: 700;
}

.wf-reward-card select {
    width: 100%;
    height: 50px;
    padding: 0 14px;
    border: 1px solid #c5dced;
    border-radius: 11px;
    color: var(--wf-navy);
    background: #f8fcff;
    font-size: 15px;
}

.wf-reward-range {
    grid-column: 1 / -1;
    position: relative;
}

.wf-reward-range output {
    position: absolute;
    right: 0;
    color: var(--wf-blue);
    font-weight: 800;
}

.wf-reward-range input {
    width: 100%;
    height: 24px;
    margin: 0;
    accent-color: var(--wf-blue);
    cursor: pointer;
}

.wf-reward-result {
    margin-top: 26px;
    padding: 24px;
    border: 1px solid #b8d9f4;
    border-radius: 18px;
    color: #fff;
    background:
        radial-gradient(circle at 100% 0, rgba(86, 220, 255, .38), transparent 35%),
        linear-gradient(145deg, #082e6b, #0b64d9 68%, #168cff);
}

.wf-reward-result > span {
    color: #c6e7ff;
    font-size: 13px;
    font-weight: 600;
}

.wf-reward-result > strong {
    display: block;
    margin: 8px 0 16px;
    font-size: clamp(34px, 4vw, 50px);
    line-height: 1.08;
}

.wf-reward-result > div {
    height: 8px;
    overflow: hidden;
    border-radius: 99px;
    background: rgba(255, 255, 255, .2);
}

.wf-reward-result > div i {
    width: var(--wf-reward-progress);
    height: 100%;
    display: block;
    border-radius: inherit;
    background: linear-gradient(90deg, #91edff, #fff);
    box-shadow: 0 0 20px rgba(144, 237, 255, .46);
    transition: width 500ms cubic-bezier(.22, 1, .36, 1);
}

.wf-reward-result > small {
    margin-top: 10px;
    display: block;
    color: #cbe8ff;
    font-size: 12px;
}

.wf-reward-disclaimer {
    margin: 17px 0;
    display: flex;
    align-items: flex-start;
    gap: 9px;
    color: #5d7289;
    font-size: 13px;
    line-height: 1.55;
}

.wf-reward-disclaimer i {
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    display: grid;
    place-items: center;
    border: 1px solid #9fc7e9;
    border-radius: 50%;
    color: var(--wf-blue);
    background: #edf7ff;
    font-size: 11px;
    font-style: normal;
    font-weight: 800;
}

/* Verified community */
.wf-community {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 12% 72%, rgba(53, 207, 250, .18), transparent 25%),
        linear-gradient(145deg, #b9e3ff, #eaf8ff 52%, #c7ebff);
}

.wf-community__layout {
    display: grid;
    grid-template-columns: minmax(420px, 1fr) minmax(0, .9fr);
    align-items: center;
    gap: clamp(54px, 8vw, 110px);
}

.wf-community__visual {
    min-height: 510px;
    position: relative;
    display: grid;
    place-items: center;
    border: 1px solid rgba(125, 183, 228, .62);
    border-radius: 34px;
    background:
        radial-gradient(circle at 50% 45%, rgba(53, 207, 250, .24), transparent 42%),
        linear-gradient(145deg, rgba(255, 255, 255, .64), rgba(218, 242, 255, .76));
    box-shadow: 0 35px 90px rgba(20, 82, 143, .14), inset 0 1px rgba(255, 255, 255, .8);
    isolation: isolate;
}

.wf-community__network {
    width: min(390px, 74%);
    aspect-ratio: 1;
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(38, 135, 223, .28);
    border-radius: 50%;
    background:
        radial-gradient(circle, rgba(22, 140, 255, .12) 1.5px, transparent 1.8px) 0 0 / 18px 18px,
        radial-gradient(circle at 34% 28%, rgba(255, 255, 255, .94), rgba(197, 234, 255, .78) 52%, rgba(128, 202, 248, .52));
    box-shadow: inset -28px -22px 55px rgba(11, 87, 208, .13), 0 26px 70px rgba(16, 92, 164, .16);
}

.wf-community__network::before,
.wf-community__network::after {
    content: "";
    position: absolute;
    inset: 13% -6%;
    border: 1px solid rgba(18, 104, 243, .22);
    border-radius: 50%;
}

.wf-community__network::after {
    inset: -6% 24%;
}

.wf-community__network i {
    width: 10px;
    height: 10px;
    position: absolute;
    z-index: 2;
    border: 2px solid #fff;
    border-radius: 50%;
    opacity: 0;
    background: #168cff;
    box-shadow: 0 0 0 6px rgba(22, 140, 255, .12), 0 0 18px rgba(22, 140, 255, .4);
    transform: scale(.6);
    transition: opacity 500ms ease, transform 600ms cubic-bezier(.22, 1, .36, 1);
    transition-delay: calc(var(--wf-dot) * 70ms);
}

.wf-community__visual.visible .wf-community__network i {
    opacity: 1;
    transform: scale(1);
}

.wf-community__network i:nth-of-type(1) { left: 21%; top: 28%; }
.wf-community__network i:nth-of-type(2) { left: 43%; top: 18%; }
.wf-community__network i:nth-of-type(3) { left: 66%; top: 29%; }
.wf-community__network i:nth-of-type(4) { left: 76%; top: 48%; }
.wf-community__network i:nth-of-type(5) { left: 58%; top: 58%; }
.wf-community__network i:nth-of-type(6) { left: 36%; top: 50%; }
.wf-community__network i:nth-of-type(7) { left: 18%; top: 61%; }
.wf-community__network i:nth-of-type(8) { left: 42%; top: 76%; }
.wf-community__network i:nth-of-type(9) { left: 70%; top: 72%; }
.wf-community__network i:nth-of-type(10) { left: 83%; top: 34%; }

.wf-community__network > span {
    height: 1px;
    position: absolute;
    z-index: 1;
    left: 22%;
    top: 30%;
    background: linear-gradient(90deg, rgba(22, 140, 255, .65), rgba(53, 207, 250, .2));
    transform-origin: left;
}

.wf-community__network > span:nth-of-type(1) { width: 49%; transform: rotate(17deg); }
.wf-community__network > span:nth-of-type(2) { width: 45%; left: 37%; top: 52%; transform: rotate(-25deg); }
.wf-community__network > span:nth-of-type(3) { width: 48%; left: 20%; top: 62%; transform: rotate(13deg); }
.wf-community__network > span:nth-of-type(4) { width: 44%; left: 44%; top: 20%; transform: rotate(50deg); }

.wf-community__orbit {
    position: absolute;
    z-index: -1;
    border: 1px solid rgba(18, 104, 243, .2);
    border-radius: 50%;
}

.wf-community__orbit--one { width: 76%; aspect-ratio: 1.55; transform: rotate(18deg); }
.wf-community__orbit--two { width: 70%; aspect-ratio: 1.35; transform: rotate(-32deg); }

.wf-community__badge {
    position: absolute;
    right: 7%;
    bottom: 8%;
    padding: 13px 15px;
    display: flex;
    align-items: center;
    gap: 10px;
    border: 1px solid #b9d8f1;
    border-radius: 14px;
    background: rgba(255, 255, 255, .9);
    box-shadow: 0 18px 40px rgba(20, 83, 143, .14);
    backdrop-filter: blur(12px);
}

.wf-community__badge > i {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    color: #fff;
    background: linear-gradient(135deg, #168cff, #0b57d0);
    font-style: normal;
}

.wf-community__badge span { display: flex; flex-direction: column; }
.wf-community__badge strong { font-size: 13px; }
.wf-community__badge small { margin-top: 3px; color: #698096; font-size: 11px; }

.wf-community__stats {
    margin-top: 34px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

.wf-community__stats article {
    min-width: 0;
    padding: 20px 16px;
    border: 1px solid rgba(134, 188, 229, .66);
    border-radius: 16px;
    background: rgba(255, 255, 255, .7);
    box-shadow: 0 16px 40px rgba(21, 88, 149, .08);
}

.wf-community__stats strong {
    display: block;
    color: var(--wf-blue);
    font-size: clamp(26px, 3vw, 38px);
    line-height: 1;
}

.wf-community__stats span {
    margin-top: 9px;
    display: block;
    color: #536b84;
    font-size: 13px;
    line-height: 1.4;
}

.wf-community__source {
    margin-top: 16px;
    display: block;
    color: #607991;
    font-size: 12px;
    line-height: 1.55;
}

/* Searchable FAQ */
.wf-faq-search {
    margin-top: 28px;
    position: relative;
    display: grid;
    gap: 8px;
    color: #566e87;
    font-size: 13px;
    font-weight: 700;
}

.wf-faq-search input {
    width: 100%;
    min-height: 52px;
    padding: 0 48px 0 15px;
    border: 1px solid #b9d5ec;
    border-radius: 12px;
    color: var(--wf-navy);
    background: rgba(255, 255, 255, .82);
    box-shadow: 0 12px 32px rgba(18, 80, 140, .07);
    font-size: 15px;
}

.wf-faq-search i {
    position: absolute;
    right: 15px;
    bottom: 12px;
    color: var(--wf-blue);
    font-size: 22px;
    font-style: normal;
}

.wf-faq-filters {
    margin-top: 12px;
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.wf-faq-filters button {
    min-height: 38px;
    padding: 0 12px;
    border: 1px solid #bfd8ec;
    border-radius: 99px;
    color: #526b83;
    background: rgba(255, 255, 255, .65);
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
}

.wf-faq-filters button.active {
    color: #fff;
    border-color: var(--wf-blue);
    background: var(--wf-blue);
}

.wf-faq-result-count {
    margin: 12px 0 20px !important;
    color: #607991 !important;
    font-size: 12px !important;
}

.wf-faq__item[hidden],
.wf-faq-empty[hidden] { display: none; }

.wf-faq__item mark {
    padding: 0 2px;
    border-radius: 3px;
    color: #063d91;
    background: #bfe9ff;
}

/* Official support routes */
.wf-support {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 90% 18%, rgba(53, 207, 250, .17), transparent 24%),
        linear-gradient(145deg, #c8eaff, #f2fbff 52%, #c4e8ff);
}

.wf-support__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
}

.wf-support-card {
    min-width: 0;
    min-height: 330px;
    padding: 30px;
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    border: 1px solid rgba(133, 188, 229, .68);
    border-radius: 22px;
    background: rgba(255, 255, 255, .82);
    box-shadow: 0 20px 55px rgba(20, 84, 145, .1);
    backdrop-filter: blur(12px);
    transition: transform 220ms cubic-bezier(.22, 1, .36, 1), border-color 220ms ease, box-shadow 220ms ease;
}

.wf-support-card:hover {
    transform: translateY(-3px);
    border-color: #74b9f1;
    box-shadow: 0 26px 64px rgba(18, 104, 243, .15);
}

.wf-support-card > i {
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    color: #fff;
    background: linear-gradient(145deg, #168cff, #0b57d0);
    box-shadow: 0 14px 28px rgba(18, 104, 243, .2);
    font-size: 22px;
    font-style: normal;
    transition: transform 220ms ease;
}

.wf-support-card:hover > i { transform: scale(1.04); }
.wf-support-card > span { margin-top: 24px; }
.wf-support-card small { color: var(--wf-blue); font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; }
.wf-support-card h3 { margin: 7px 0 10px; color: var(--wf-navy); font-size: clamp(20px, 2vw, 24px); }
.wf-support-card p { margin: 0; color: #586f87; font-size: 15px; line-height: 1.65; }

.wf-support-card > .wf-text-link {
    margin-top: auto;
    padding: 20px 0 0;
    border: 0;
    color: var(--wf-blue);
    background: transparent;
    font-size: 14px;
    font-weight: 800;
    cursor: pointer;
}

.wf-support-card > .wf-text-link b {
    display: inline-block;
    margin-left: 5px;
    transition: transform 180ms ease;
}

.wf-support-card > .wf-text-link:hover b { transform: translateX(3px); }

/* Refined final CTA */
.wf-final-cta--premium {
    min-height: 430px;
    display: grid;
    align-items: center;
    isolation: isolate;
    background:
        radial-gradient(circle at 82% 20%, rgba(128, 231, 255, .38), transparent 26%),
        radial-gradient(circle at 10% 90%, rgba(7, 31, 73, .25), transparent 29%),
        linear-gradient(120deg, #084cb8, #168cff 56%, #25bee9);
}

.wf-final-cta__waves {
    position: absolute;
    z-index: -1;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
}

.wf-final-cta__waves i {
    width: 115%;
    height: 190px;
    position: absolute;
    left: -8%;
    bottom: -105px;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 50%;
    animation: wfPremiumWave 14s ease-in-out infinite alternate;
}

.wf-final-cta__waves i:nth-child(2) { bottom: -72px; animation-delay: -4s; }
.wf-final-cta__waves i:nth-child(3) { bottom: -38px; animation-delay: -8s; }

@keyframes wfPremiumWave {
    from { transform: translateX(-1.5%) scaleX(.99); }
    to { transform: translateX(1.5%) scaleX(1.01); }
}

@media (max-width: 1024px) {
    .wf-reward-calculator__layout,
    .wf-community__layout {
        grid-template-columns: 1fr;
    }

    .wf-community__visual { min-height: 470px; }
}

@media (max-width: 768px) {
    .wf-reward-card__fields,
    .wf-support__grid {
        grid-template-columns: 1fr;
    }

    .wf-support-card { min-height: 285px; }
    .wf-community__visual { min-height: 410px; }
    .wf-community__stats { grid-template-columns: 1fr; }
    .wf-final-cta--premium { min-height: 390px; }
}

@media (max-width: 430px) {
    .wf-reward-card { padding: 20px; border-radius: 20px; }
    .wf-reward-result { padding: 20px; }
    .wf-community__visual { min-height: 350px; border-radius: 24px; }
    .wf-community__network { width: 78%; }
    .wf-community__badge { right: 4%; bottom: 5%; }
    .wf-support-card { padding: 24px; }
    .wf-faq-search input { font-size: 16px; }
}

@media (prefers-reduced-motion: reduce) {
    .wf-community__network i {
        opacity: 1;
        transform: none;
        transition: none;
    }

    .wf-reward-result > div i,
    .wf-support-card,
    .wf-support-card > i,
    .wf-support-card > .wf-text-link b {
        transition: none;
    }

    .wf-final-cta__waves i { animation: none; }
}
