/* /affiliate — partner program landing (layout ported from ant.exchange/ru/partners). */
.aff { margin: 8px 0 20px; }
.aff__hero { margin-bottom: 4px; }
.aff__title { font-size: var(--fs-h2); font-weight: 800; letter-spacing: -0.02em; margin: 0 0 8px; }
.aff__intro { color: var(--muted-foreground); font-size: var(--fs-small); max-width: 760px; line-height: 1.55; margin: 0; }

.aff__sec { margin-top: 34px; }
.aff__eyebrow { display: inline-block; font-size: var(--fs-xs); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--primary); margin-bottom: 6px; }
.aff__h2 { font-size: var(--fs-h4); font-weight: 800; letter-spacing: -0.01em; margin: 0 0 6px; }
.aff__lead { color: var(--muted-foreground); font-size: var(--fs-small); margin: 0 0 18px; max-width: 760px; }

/* how it works */
.aff__steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.aff-step { border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--card); padding: 22px; }
.aff-step__n { display: inline-grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--primary); color: #fff; font-weight: 800; font-size: var(--fs-small); margin-bottom: 12px; }
.aff-step__t { font-size: var(--fs-small); font-weight: 700; margin: 0 0 6px; }
.aff-step__d { color: var(--muted-foreground); font-size: var(--fs-small); line-height: 1.55; margin: 0; }
.aff__cta { margin-top: 18px; }

/* referral tiers */
.aff__levels { display: flex; flex-wrap: wrap; gap: 12px; }
.aff-level { display: flex; align-items: center; gap: 14px; border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--card); padding: 14px 18px; flex: 1 1 220px; }
.aff-level__pct { display: inline-grid; place-items: center; min-width: 66px; padding: 7px 14px; border-radius: var(--radius-pill); background: var(--secondary); color: var(--primary); font-weight: 800; font-size: var(--fs-h4); flex: 0 0 auto; }
.aff-level__vol { color: var(--muted-foreground); font-size: var(--fs-small); }

/* income calculator */
.aff-calc { display: grid; grid-template-columns: 1.15fr 1fr; gap: 22px; align-items: center; border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--card); padding: 24px; }
.aff-calc__field { display: flex; flex-direction: column; gap: 14px; }
.aff-calc__label { font-size: var(--fs-small); font-weight: 600; color: var(--muted-foreground); }
.aff-calc__box { display: flex; align-items: center; gap: 8px; border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--app-bg); padding: 12px 16px; }
.aff-calc__box:focus-within { border-color: var(--primary); }
.aff-calc__prefix { color: var(--muted-foreground); font-weight: 800; font-size: var(--fs-h4); line-height: 1; }
.aff-calc__num { flex: 1 1 auto; min-width: 0; border: 0; background: transparent; outline: none; color: var(--foreground); font-size: var(--fs-h4); font-weight: 800; font-variant-numeric: tabular-nums; letter-spacing: -0.01em; }
.aff-calc__range { -webkit-appearance: none; appearance: none; width: 100%; height: 6px; border-radius: 999px; background: var(--secondary); outline: none; cursor: pointer; }
.aff-calc__range::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 20px; height: 20px; border-radius: 50%; background: var(--primary); border: 3px solid #fff; box-shadow: var(--shadow-xs); cursor: pointer; }
.aff-calc__range::-moz-range-thumb { width: 20px; height: 20px; border-radius: 50%; background: var(--primary); border: 3px solid #fff; box-shadow: var(--shadow-xs); cursor: pointer; }
.aff-calc__out { display: flex; gap: 14px; }
.aff-calc__cell { flex: 1 1 0; text-align: center; border-radius: var(--radius-lg); background: var(--secondary); padding: 18px 12px; }
.aff-calc__cell--earn { background: linear-gradient(135deg, var(--secondary), var(--accent)); }
.aff-calc__big { display: block; font-size: 26px; font-weight: 800; color: var(--primary); letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
.aff-calc__cap { display: block; margin-top: 6px; font-size: var(--fs-xs); color: var(--muted-foreground); }

/* rate export files */
.aff__files { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 12px; }
.aff-file { display: flex; align-items: center; gap: 14px; border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--card); padding: 16px 18px; transition: border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease); }
.aff-file:hover { border-color: var(--primary); box-shadow: var(--shadow-xs); }
.aff-file__ic { display: inline-grid; place-items: center; width: 42px; height: 42px; border-radius: var(--radius-lg); background: var(--secondary); color: var(--primary); flex: 0 0 auto; }
.aff-file__ic svg { width: 22px; height: 22px; }
.aff-file__body { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1 1 auto; }
.aff-file__title { font-weight: 700; font-size: var(--fs-small); }
.aff-file__fmt { color: var(--muted-foreground); font-weight: 600; font-size: var(--fs-xs); }
.aff-file__host { font-size: var(--fs-xs); color: var(--muted-foreground); overflow-wrap: anywhere; }
.aff-file__note { font-size: var(--fs-xs); color: var(--primary); }
.aff-file__open { color: var(--primary); font-weight: 600; font-size: var(--fs-xs); flex: 0 0 auto; white-space: nowrap; }

@media (max-width: 760px) {
  .aff__steps { grid-template-columns: 1fr; }
  .aff-calc { grid-template-columns: 1fr; }
}
