/* Public affiliate program pages — /affiliates, /affiliates/terms (2026-09-22) */
main.af-page { background: var(--rv-page, #fbfbfd); padding: 40px 20px 90px; color: #16161d; }
.af-hero, .af-section, .af-final { max-width: 1080px; margin: 0 auto; }
.af-eyebrow { display: inline-block; font-size: 12px; font-weight: 800; letter-spacing: .1em; color: #5b4dd1; background: #f0effa; border: 1px solid #ddd6fe; border-radius: 999px; padding: 5px 12px; }
.af-hero { text-align: center; display: flex; flex-direction: column; align-items: center; gap: 18px; padding: 30px 0 20px; }
.af-hero__title { margin: 0; max-width: 820px; font-size: clamp(32px, 5vw, 54px); line-height: 1.06; font-weight: 800; letter-spacing: -.035em; }
.af-hero__title span { background: linear-gradient(120deg, #5850ec, #8b5cf6); -webkit-background-clip: text; background-clip: text; color: transparent; }
.af-hero__text { margin: 0; max-width: 640px; font-size: 17px; line-height: 1.6; color: #5c5c70; }
.af-hero__cta { display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; }
a.af-btn, span.af-btn { display: inline-flex; align-items: center; gap: 8px; padding: 14px 24px; border-radius: 999px; font-size: 15px; font-weight: 800; text-decoration: none;
    background: linear-gradient(120deg, #5850ec, #8b5cf6); color: #fff; box-shadow: 0 14px 30px -14px rgba(88,80,236,.8); transition: transform .2s cubic-bezier(.23,1,.32,1); }
a.af-btn:hover { transform: translateY(-2px); color: #fff; text-decoration: none; }
a.af-btn--ghost { background: #fff; color: #16161d; border: 1px solid #e4e4ef; box-shadow: none; }
a.af-btn--ghost:hover { color: #16161d; }
span.af-btn--off { background: #e4e4ef; color: #6b6b80; box-shadow: none; }
.af-facts { margin-top: 10px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; width: 100%; max-width: 760px; }
.af-facts div { background: #fff; border: 1px solid #ececf4; border-radius: 18px; padding: 16px; display: flex; flex-direction: column; gap: 2px; }
.af-facts b { font-size: 24px; font-weight: 800; letter-spacing: -.02em; color: #5b4dd1; }
.af-facts span { font-size: 12.5px; color: #8e8ea3; }

.af-section { margin-top: 64px; }
.af-h2 { margin: 0 0 22px; font-size: clamp(26px, 3.4vw, 36px); font-weight: 800; letter-spacing: -.03em; text-align: center; }
.af-h3 { margin: 22px 0 8px; font-size: 18px; font-weight: 800; letter-spacing: -.02em; }
.af-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.af-step { background: #fff; border: 1px solid #ececf4; border-radius: 22px; padding: 22px; display: flex; flex-direction: column; gap: 8px; font-size: 14px; line-height: 1.55; color: #5c5c70; }
.af-step b { font-size: 17px; color: #16161d; }
.af-step__n { width: 34px; height: 34px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; background: #16161d; color: #fff; font-weight: 800; }
.af-split { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.af-card { background: #fff; border: 1px solid #ececf4; border-radius: 22px; padding: 22px 24px; }
.af-card .af-h3 { margin-top: 0; }
.af-list { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 10px; font-size: 14px; line-height: 1.5; color: #5c5c70; }
.af-list li { padding-left: 26px; position: relative; }
.af-list--yes li::before { content: "✓"; position: absolute; left: 0; color: #00915f; font-weight: 800; }
.af-list--no li::before { content: "✕"; position: absolute; left: 0; color: #c81e1e; font-weight: 800; }
.af-faq { max-width: 760px; margin: 0 auto; display: flex; flex-direction: column; gap: 10px; }
.af-faq details { background: #fff; border: 1px solid #ececf4; border-radius: 16px; padding: 16px 20px; }
.af-faq summary { cursor: pointer; font-weight: 800; font-size: 15px; }
.af-faq p { margin: 10px 0 0; color: #5c5c70; font-size: 14px; line-height: 1.6; }
.af-final { margin-top: 64px; display: flex; flex-direction: column; align-items: center; gap: 16px; padding: 40px 24px; border-radius: 30px; background: #16161d; color: #fff; text-align: center; }
.af-final b { font-size: 24px; font-weight: 800; letter-spacing: -.02em; }
.af-terms { max-width: 780px; }
.af-terms .af-h2 { text-align: left; margin-top: 14px; }
.af-terms p { font-size: 15px; line-height: 1.7; color: #3f3f50; }
.af-muted { color: #8e8ea3 !important; }

[data-theme="dark"] main.af-page { background: var(--rv-page); color: #f3f3f8; }
[data-theme="dark"] .af-facts div, [data-theme="dark"] .af-step, [data-theme="dark"] .af-card, [data-theme="dark"] .af-faq details { background: var(--rv-surface, #1c1c28); border-color: var(--rv-border, #2c2c3c); }
[data-theme="dark"] .af-step b, [data-theme="dark"] .af-h3, [data-theme="dark"] .af-h2, [data-theme="dark"] .af-faq summary { color: #f3f3f8; }
[data-theme="dark"] .af-hero__text, [data-theme="dark"] .af-step, [data-theme="dark"] .af-list, [data-theme="dark"] .af-faq p, [data-theme="dark"] .af-terms p { color: #b4b4c8; }
[data-theme="dark"] .af-facts b { color: #c4b5fd; }
[data-theme="dark"] a.af-btn--ghost { background: rgba(255,255,255,.06); color: #f3f3f8; border-color: rgba(255,255,255,.14); }

@media (max-width: 820px) {
    .af-steps, .af-split { grid-template-columns: 1fr; }
    .af-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
