/* ── Affiliate Join Block ── */

.affiliate-join {
    position: relative;
    padding: 100px 0;
    background: #faf4e7;
}

/* ── Header ── */

.affiliate-join__header {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    margin-bottom: 40px;
}

.affiliate-join__text {
    display: flex;
    flex-direction: column;
    gap: 24px;
    max-width: 878px;
    text-align: center;
}

.affiliate-join__title {
    font-family: "GT Flexa", sans-serif;
    font-size: 48px;
    font-weight: 700;
    font-style: normal;
    line-height: 53px;
    letter-spacing: 0;
    text-transform: capitalize;
    color: #2d4059;
    margin: 0;
    text-wrap: balance;
}

.affiliate-join__subtitle {
    font-family: Figtree, sans-serif;
    font-size: 24px;
    font-weight: 400;
    line-height: 32px;
    color: #505869;
    margin: 0;
}

/* ── CTA Button ── */

.affiliate-join .affiliate-join__btn,
.affiliate-join .affiliate-join__btn:link,
.affiliate-join .affiliate-join__btn:visited {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 48px;
    padding: 0 24px;
    background: #3978f2;
    border-radius: 6px;
    font-family: Figtree, sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 24px;
    letter-spacing: 0.032px;
    color: #fff;
    text-decoration: none;
    white-space: nowrap;
    border: none;
}

.affiliate-join .affiliate-join__btn:hover,
.affiliate-join .affiliate-join__btn:focus {
    background: #2a69e2;
    color: #fff;
    text-decoration: none;
}

/* ── Grid ── */

.affiliate-join__grid {
    display: flex;
    flex-direction: column;
    gap: 39px;
}

.affiliate-join__row {
    display: flex;
    gap: 37px;
}

/* Row 1: proportional widths 353:472:261 (from Figma ~1160px container) */
.affiliate-join__row--1 .affiliate-join__card:nth-child(1) { flex: 353 1 0; }
.affiliate-join__row--1 .affiliate-join__card:nth-child(2) { flex: 472 1 0; }
.affiliate-join__row--1 .affiliate-join__card:nth-child(3) { flex: 261 1 0; }

/* Row 2: proportional widths 493:261:332 */
.affiliate-join__row--2 .affiliate-join__card:nth-child(1) { flex: 493 1 0; }
.affiliate-join__row--2 .affiliate-join__card:nth-child(2) { flex: 261 1 0; }
.affiliate-join__row--2 .affiliate-join__card:nth-child(3) { flex: 332 1 0; }

/* ── Card ── */

.affiliate-join__card {
    position: relative;
    height: 250px;
    border-radius: 12px;
    overflow: hidden;
    display: flex;
    align-items: flex-end;
    padding: 16px;
}

.affiliate-join__card-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Dark bottom gradient */
.affiliate-join__card-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0) 0%,
        rgba(0, 0, 0, 0) 60%,
        rgba(31, 14, 0, 0.6) 100%
    );
    border-radius: 12px;
}

/* Badge */
.affiliate-join__card-badge {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 32px;
    padding: 0 12px;
    border-radius: 6px;
    font-family: "Open Sans", sans-serif;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}

/* ── Tablet ── */

@media (max-width: 991px) {
    .affiliate-join {
        padding: 72px 0;
    }

    .affiliate-join__title {
        font-size: 40px;
        line-height: 46px;
    }

    .affiliate-join__subtitle {
        font-size: 20px;
        line-height: 28px;
    }

    .affiliate-join__row {
        flex-wrap: wrap;
        gap: 20px;
    }

    /*
     * Row 1: Blogger (wide) → full width first
     *         Influencer + Marketer → 50/50 below
     */
    .affiliate-join__row--1 .affiliate-join__card:nth-child(1) { order: 2; flex: 0 0 calc(50% - 10px); } /* Influencer */
    .affiliate-join__row--1 .affiliate-join__card:nth-child(2) { order: 1; flex: 0 0 100%; }             /* Blogger    */
    .affiliate-join__row--1 .affiliate-join__card:nth-child(3) { order: 3; flex: 0 0 calc(50% - 10px); } /* Marketer   */

    /*
     * Row 2: Email expert (wide) → full width first
     *         SaaS reviewer + Deliverability → 50/50 below
     */
    .affiliate-join__row--2 .affiliate-join__card:nth-child(1) { order: 1; flex: 0 0 100%; }             /* Email expert           */
    .affiliate-join__row--2 .affiliate-join__card:nth-child(2) { order: 2; flex: 0 0 calc(50% - 10px); } /* SaaS reviewer          */
    .affiliate-join__row--2 .affiliate-join__card:nth-child(3) { order: 3; flex: 0 0 calc(50% - 10px); } /* Deliverability consult. */
}

/* ── Mobile ── */

@media (max-width: 767px) {
    .affiliate-join {
        padding: 48px 0;
    }

    .affiliate-join__title {
        font-size: 32px;
        line-height: 36px;
    }

    .affiliate-join__subtitle {
        font-size: 17px;
        line-height: 26px;
        font-weight: 500;
    }

    .affiliate-join .affiliate-join__btn,
    .affiliate-join .affiliate-join__btn:link,
    .affiliate-join .affiliate-join__btn:visited {
        width: 100%;
        justify-content: center;
    }

    .affiliate-join__header {
        align-items: stretch;
    }

    .affiliate-join__text {
        text-align: center;
        max-width: 100%;
    }

    .affiliate-join__grid {
        gap: 32px;
    }

    .affiliate-join__row {
        flex-direction: column;
        gap: 32px;
        flex-wrap: nowrap;
    }

    .affiliate-join__row--1 .affiliate-join__card:nth-child(n),
    .affiliate-join__row--2 .affiliate-join__card:nth-child(n) {
        order: 0;
        flex: 0 0 auto;
        width: 100%;
    }
}
