/* Affiliates and media pack pages. Built on pages.css (pg-*, ab-stats, contact form). */

/* ---------- Hero extras ---------- */
.pt-hero-ctas { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 26px; }
.pt-hero-note { margin-top: 16px; font-size: 10.5px; letter-spacing: 0.14em; color: var(--text-2); }

/* ---------- Headline figures (reuses .ab-stats) ---------- */
.pt-stats .ab-stat { display: block; }
.pt-stats .ab-stat__n em { font-style: normal; color: var(--green-text); }

/* ---------- Commission tiers ---------- */
.pt-tiers { border: 1px solid var(--line); border-radius: 14px; background: var(--bg-1); overflow: hidden; }
.pt-tier {
  display: grid;
  grid-template-columns: 92px minmax(0, 1.2fr) minmax(0, 1fr) 96px;
  gap: 20px;
  align-items: center;
  padding: 18px 24px;
  border-top: 1px solid var(--line);
}
.pt-tier:first-child { border-top: 0; }
.pt-tier--head { padding-top: 14px; padding-bottom: 14px; background: var(--bg-2); font-size: 10px; letter-spacing: 0.16em; color: var(--text-2); }
.pt-tier__k { font-size: 11px; letter-spacing: 0.16em; color: var(--green-text); }
.pt-tier__who { color: var(--text-0); font-size: 15px; line-height: 1.4; }
.pt-tier__who small { display: block; color: var(--text-2); font-size: 12.5px; margin-top: 3px; }
.pt-tier__bar { height: 8px; border-radius: 999px; background: rgba(255, 255, 255, 0.05); overflow: hidden; }
.pt-tier__bar span { display: block; height: 100%; min-width: 4px; border-radius: inherit; background: linear-gradient(90deg, var(--accent-dim), var(--accent)); box-shadow: 0 0 12px var(--accent-glow); }
.pt-tier__amt { text-align: right; font-size: 22px; color: var(--text-0); }
.pt-tier--first { background: linear-gradient(90deg, rgba(0, 229, 153, 0.07), transparent 70%); }
.pt-tier--first .pt-tier__amt { color: var(--green-text); font-size: 30px; }
.pt-tier--total { background: var(--bg-2); }
.pt-tier--total .pt-tier__who { color: var(--text-1); }
.pt-tiers-note { margin-top: 16px; color: var(--text-2); font-size: 13px; line-height: 1.6; max-width: 820px; }

/* ---------- Earnings illustration ---------- */
.pt-calc {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.9fr);
  border: 1px solid rgba(0, 229, 153, 0.22);
  border-radius: 14px;
  overflow: hidden;
  background: radial-gradient(120% 140% at 100% 0%, rgba(0, 229, 153, 0.1), transparent 55%), var(--bg-1);
}
.pt-calc__inputs { padding: clamp(24px, 3vw, 36px); display: grid; gap: 26px; }
.pt-calc__row label { display: flex; justify-content: space-between; gap: 12px; font-size: 14px; color: var(--text-1); }
.pt-calc__row output { color: var(--text-0); font-size: 18px; }
.pt-calc__row input[type="range"] { width: 100%; margin-top: 12px; accent-color: var(--accent); }
.pt-calc__out { padding: clamp(24px, 3vw, 36px); border-left: 1px solid var(--line); display: flex; flex-direction: column; justify-content: center; }
.pt-calc__k { font-size: 10px; letter-spacing: 0.18em; color: var(--green-text); }
.pt-calc__n { font-size: clamp(40px, 5vw, 64px); color: var(--text-0); margin-top: 10px; }
.pt-calc__sum { color: var(--text-2); font-size: 13px; margin-top: 10px; line-height: 1.5; }
.pt-calc__warn { grid-column: 1 / -1; margin: 0; padding: 14px clamp(24px, 3vw, 36px); border-top: 1px solid var(--line); color: var(--text-2); font-size: 12.5px; line-height: 1.6; }

/* ---------- Cards with a tick ---------- */
.pt-cards { display: grid; grid-template-columns: repeat(var(--cols, 3), minmax(0, 1fr)); gap: 14px; }
.pt-card { padding: 22px; border: 1px solid var(--line); border-radius: 12px; background: var(--bg-1); }
.pt-card__i {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  color: var(--accent);
  background: rgba(0, 229, 153, 0.1);
  border: 1px solid rgba(0, 229, 153, 0.3);
}
.pt-card__i svg { width: 17px; height: 17px; }
.pt-card__t { font-size: 18px; margin-top: 16px; color: var(--text-0); line-height: 1.2; }
.pt-card__d { color: var(--text-2); font-size: 13.5px; line-height: 1.55; margin: 8px 0 0; }
.pt-card__d a { color: var(--green-text); }

/* ---------- Steps ---------- */
.pt-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(var(--steps, 4), minmax(0, 1fr)); gap: 14px; counter-reset: pt-step; }
.pt-step { position: relative; padding: 22px; border: 1px solid var(--line); border-radius: 12px; background: var(--bg-1); counter-increment: pt-step; }
.pt-step::before { content: counter(pt-step, decimal-leading-zero); font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.16em; color: var(--green-text); }
.pt-step__t { font-size: 18px; margin-top: 14px; color: var(--text-0); }
.pt-step__d { color: var(--text-2); font-size: 13.5px; line-height: 1.55; margin: 8px 0 0; }
.pt-step__d a { color: var(--green-text); }

/* ---------- Do / don't ---------- */
.pt-rules { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.pt-rules__col { padding: clamp(22px, 3vw, 32px); border: 1px solid var(--line); border-radius: 12px; background: var(--bg-1); }
.pt-rules__k { font-size: 10px; letter-spacing: 0.18em; }
.pt-rules__col--do .pt-rules__k { color: var(--green-text); }
.pt-rules__col--dont .pt-rules__k { color: #ff5a6e; }
.pt-rules ul { list-style: none; margin: 16px 0 0; padding: 0; display: grid; gap: 14px; }
.pt-rules li { display: grid; grid-template-columns: 22px 1fr; gap: 10px; color: var(--text-1); font-size: 14px; line-height: 1.55; }
.pt-rules li b { color: var(--text-0); font-weight: 500; }
.pt-rules li::before { content: '✓'; color: var(--green-text); font-size: 13px; line-height: 1.6; }
.pt-rules__col--dont li::before { content: '✕'; color: #ff5a6e; }
.pt-rules-foot { margin-top: 16px; color: var(--text-2); font-size: 13px; line-height: 1.6; }
.pt-rules-foot a { color: var(--green-text); }

/* ---------- Text to copy ---------- */
.pt-quote { position: relative; padding: 20px 22px; border: 1px solid var(--line); border-radius: 12px; background: var(--bg-1); }
.pt-quote + .pt-quote { margin-top: 12px; }
.pt-quote__head { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.pt-quote__k { font-size: 10px; letter-spacing: 0.16em; color: var(--green-text); }
.pt-quote__t { margin: 12px 0 0; color: var(--text-0); font-size: 15px; line-height: 1.65; }
.pt-copy {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border: 1px solid var(--line-strong);
  border-radius: 6px;
  background: transparent;
  color: var(--text-1);
  font-family: var(--font-mono);
  font-size: 10.5px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  cursor: pointer;
  transition: border-color 0.2s ease, color 0.2s ease;
  white-space: nowrap;
}
.pt-copy:hover, .pt-copy:focus-visible { border-color: rgba(0, 229, 153, 0.5); color: var(--text-0); }
.pt-copy--done { border-color: rgba(0, 229, 153, 0.6); color: var(--green-text); }
.pt-copy svg { width: 12px; height: 12px; }
.pt-copy .sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.pt-copy--icon { padding: 6px; }

/* ---------- Media pack fact sheet ---------- */
.pt-sheet-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 18px; }
.pt-sheet-bar__k { font-size: 10.5px; letter-spacing: 0.16em; color: var(--text-2); }
.pt-sheet-bar__k b { color: var(--green-text); font-weight: 500; }
.pt-sheet-bar__actions { display: flex; flex-wrap: wrap; gap: 8px; }
.pt-sheet { display: grid; gap: 16px; }
.pt-group { border: 1px solid var(--line); border-radius: 14px; background: var(--bg-1); overflow: hidden; scroll-margin-top: 90px; }
.pt-group__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 22px; background: var(--bg-2); border-bottom: 1px solid var(--line); }
.pt-group__t { font-size: 19px; color: var(--text-0); display: flex; align-items: center; gap: 12px; }
.pt-group__n { font-size: 10px; letter-spacing: 0.16em; color: var(--green-text); }
.pt-facts { width: 100%; border-collapse: collapse; }
.pt-facts th, .pt-facts td { text-align: left; vertical-align: top; padding: 15px 22px; border-top: 1px solid var(--line); font-weight: 400; }
.pt-facts tr:first-child th, .pt-facts tr:first-child td { border-top: 0; }
.pt-facts th { width: 28%; color: var(--text-2); font-size: 13.5px; line-height: 1.5; }
.pt-facts td { color: var(--text-0); font-size: 14.5px; line-height: 1.6; }
.pt-facts td small { display: block; color: var(--text-2); font-size: 12.5px; margin-top: 3px; }
.pt-facts td a { color: var(--green-text); }
.pt-facts td.pt-facts__copy { width: 52px; padding-left: 0; text-align: right; }
.pt-facts tr .pt-copy { opacity: 0.35; }
.pt-facts tr:hover .pt-copy, .pt-facts .pt-copy:focus-visible, .pt-facts .pt-copy--done { opacity: 1; }
.pt-live { display: inline-flex; align-items: center; gap: 6px; margin-left: 8px; font-family: var(--font-mono); font-size: 9.5px; letter-spacing: 0.14em; color: var(--green-text); vertical-align: middle; }
.pt-live::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 8px var(--accent); }
.pt-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.pt-chip { padding: 3px 9px; border: 1px solid var(--line-strong); border-radius: 999px; font-size: 12px; color: var(--text-1); }
.pt-toc { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-top: 22px; }

/* ---------- Logos ---------- */
.pt-logos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.pt-logo { border: 1px solid var(--line); border-radius: 12px; overflow: hidden; background: var(--bg-1); display: flex; flex-direction: column; }
.pt-logo__art { height: 180px; display: grid; place-items: center; background: #050607; border-bottom: 1px solid var(--line); padding: 28px; }
.pt-logo__art img { max-width: 70%; max-height: 100%; }
.pt-logo__art--icon img { width: 96px; height: 96px; border-radius: 18px; }
.pt-logo__art--shot { padding: 0; background: radial-gradient(closest-side, rgba(0, 229, 153, 0.18), transparent), #050607; }
.pt-logo__art--shot img { max-width: 100%; width: 100%; height: 100%; object-fit: cover; object-position: top left; }
.pt-logo__body { padding: 16px 18px 18px; display: flex; flex-direction: column; gap: 4px; flex: 1; }
.pt-logo__t { font-size: 16px; color: var(--text-0); }
.pt-logo__d { color: var(--text-2); font-size: 12.5px; line-height: 1.5; margin: 0; flex: 1; }
.pt-logo__dl { margin-top: 10px; }

/* ---------- Press contacts ---------- */
.pt-contacts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }

/* ---------- FAQ ---------- */
.pt-faq { border: 1px solid var(--line); border-radius: 14px; background: var(--bg-1); overflow: hidden; }
.pt-faq details { border-top: 1px solid var(--line); }
.pt-faq details:first-child { border-top: 0; }
.pt-faq summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 22px;
  color: var(--text-0);
  font-size: 16px;
}
.pt-faq summary::-webkit-details-marker { display: none; }
.pt-faq summary::after { content: '+'; color: var(--green-text); font-size: 20px; line-height: 1; transition: transform 0.2s ease; }
.pt-faq details[open] summary::after { transform: rotate(45deg); }
.pt-faq details p { margin: 0; padding: 0 22px 20px; color: var(--text-1); font-size: 14px; line-height: 1.65; max-width: 860px; }
.pt-faq details p a { color: var(--green-text); }

/* ---------- Closing band ---------- */
.pt-band { text-align: center; }
.pt-band .pg-title { max-width: 900px; margin: 0 auto; }
.pt-band .pg-desc { margin: 18px auto 0; text-align: center; }
.pt-band .pg-ctas { justify-content: center; }

/* ---------- Narrow screens ---------- */
@media (max-width: 1100px) {
  .pt-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pt-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .pt-calc, .pt-rules { grid-template-columns: 1fr; }
  .pt-calc__out { border-left: 0; border-top: 1px solid var(--line); }
  .pt-logos, .pt-contacts { grid-template-columns: 1fr; }
  .pt-tier { grid-template-columns: 70px minmax(0, 1fr) 80px; }
  .pt-tier__bar, .pt-tier__gap { display: none; }
  .pt-tier--head > :nth-child(3) { display: none; }
}
@media (max-width: 640px) {
  .pt-steps, .pt-cards { grid-template-columns: 1fr; }
  .pt-tier { padding: 16px; gap: 12px; }
  .pt-facts th, .pt-facts td { display: block; width: auto; padding: 4px 18px; border-top: 0; }
  .pt-facts tr { display: block; padding: 12px 0; border-top: 1px solid var(--line); }
  .pt-facts tr:first-child { border-top: 0; }
  .pt-facts td.pt-facts__copy { display: none; }
}
