/* partner program: public page, terms, partner dashboard, admin */
.pt { padding-bottom: 80px; }
.pt-hero { padding: 72px 0 40px; max-width: 880px; }
.pt-k { font: 600 12px/1 Inter, system-ui, sans-serif; letter-spacing: .14em; text-transform: uppercase; color: #6b6f76; margin: 0 0 16px; }
.pt-hero h1 { font: 700 clamp(38px, 5.4vw, 64px)/1.02 "Inter Tight", Inter, system-ui, sans-serif; letter-spacing: -.035em; margin: 0; }
.pt-hero h1 em { font-style: normal; color: #4338ca; }
.pt-lede { font-size: 19px; line-height: 1.55; color: #4a4d52; margin: 22px 0 0; max-width: 680px; }
.pt-cta { display: flex; gap: 18px; align-items: center; flex-wrap: wrap; margin-top: 30px; }
.pt-alt { color: #4a4d52; font-size: 15px; }
.pt-facts { list-style: none; padding: 0; margin: 44px 0 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.pt-facts li { background: #fff; border: 1px solid rgba(0,0,0,.08); border-radius: 16px; padding: 18px 20px; display: grid; gap: 4px; }
.pt-facts b { font: 700 24px/1.1 "Inter Tight", Inter, sans-serif; } .pt-facts span { color: #6b6f76; font-size: 13.5px; }
.pt-sec { padding: 48px 0 8px; }
.pt-sec h2 { font: 700 30px/1.15 "Inter Tight", Inter, sans-serif; letter-spacing: -.02em; margin: 0 0 22px; }
.pt-steps { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.pt-steps li { background: #fff; border: 1px solid rgba(0,0,0,.08); border-radius: 16px; padding: 20px; }
.pt-steps span { display: inline-grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: #4338ca; color: #fff; font-weight: 700; }
.pt-steps h3 { margin: 14px 0 6px; font-size: 17px; } .pt-steps p { margin: 0; color: #4a4d52; font-size: 14.5px; line-height: 1.5; }
.pt-two { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; align-items: start; }
.pt-card { background: #fff; border: 1px solid rgba(0,0,0,.08); border-radius: 18px; padding: 22px 24px; }
.pt-card h3 { margin: 0 0 12px; font-size: 17px; }
.pt-ticks { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.pt-ticks li { padding-left: 26px; position: relative; color: #2b2e33; font-size: 15px; line-height: 1.45; }
.pt-ticks li::before { content: "✓"; position: absolute; left: 0; color: #4338ca; font-weight: 700; }
.pt-faq details { background: #fff; border: 1px solid rgba(0,0,0,.08); border-radius: 14px; padding: 14px 18px; margin-bottom: 10px; }
.pt-faq summary { cursor: pointer; font-weight: 600; } .pt-faq p { margin: 10px 0 0; color: #4a4d52; line-height: 1.55; }
.pt-small { color: #6b6f76; font-size: 13.5px; margin-top: 18px; }
.pt-terms { padding: 48px 0 80px; max-width: 760px; } .pt-terms h1 { font: 700 34px/1.1 "Inter Tight", Inter, sans-serif; } .pt-terms p { color: #2b2e33; line-height: 1.6; }
/* dashboard */
.pd-link, .pd-pay, .pd-list, .pd-tips { background: #fff; border: 1px solid rgba(0,0,0,.08); border-radius: 18px; padding: 20px 22px; margin-bottom: 18px; }
.pd-link h3, .pd-pay h3, .pd-list h3, .pd-tips h3 { margin: 0 0 12px; font-size: 16px; }
.pd-row { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; } .pd-row .input { flex: 1; min-width: 220px; }
.pd-stats { display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; margin-bottom: 18px; }
.pd-stats > div { background: #fff; border: 1px solid rgba(0,0,0,.08); border-radius: 14px; padding: 16px; display: grid; gap: 4px; }
.pd-stats b { font: 700 22px/1.1 "Inter Tight", Inter, sans-serif; } .pd-stats span { color: #6b6f76; font-size: 12.5px; }
.pd-stats .hl { background: #4338ca; border-color: #4338ca; } .pd-stats .hl b, .pd-stats .hl span { color: #fff; }
.pd-list table { width: 100%; border-collapse: collapse; font-size: 14px; } .pd-list th { text-align: left; color: #6b6f76; font-weight: 600; font-size: 12.5px; padding: 6px 8px; }
.pd-list td { border-top: 1px solid rgba(0,0,0,.07); padding: 10px 8px; vertical-align: top; }
.pd-tips textarea { width: 100%; resize: vertical; font: inherit; }
.link-btn { border: 0; background: none; color: #4338ca; font: 600 13px Inter, sans-serif; cursor: pointer; padding: 0; } .link-btn.danger { color: #b42318; }
.err { color: #b42318; }
@media (max-width: 900px) { .pt-facts, .pt-steps { grid-template-columns: 1fr 1fr; } .pt-two { grid-template-columns: 1fr; } .pd-stats { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 560px) { .pt-facts, .pt-steps { grid-template-columns: 1fr; } .pd-stats { grid-template-columns: 1fr 1fr; } .pd-list { overflow-x: auto; } }
.pd-more { margin-top: 8px; } .pd-more summary { cursor: pointer; color: #4338ca; font-size: 13.5px; font-weight: 600; } .pd-more p { margin: 8px 0 0; }
.pd-h { font: 700 22px/1.2 "Inter Tight", Inter, sans-serif; letter-spacing: -.02em; margin: 30px 0 12px; }
.pd-credits { display: flex; gap: 18px; align-items: center; flex-wrap: wrap; }
.pd-credits > div { background: #4338ca; color: #fff; border-radius: 14px; padding: 14px 20px; display: grid; text-align: center; min-width: 110px; }
.pd-credits > div b { font: 700 32px/1 "Inter Tight", Inter, sans-serif; } .pd-credits > div span { font-size: 12.5px; opacity: .8; }
.pd-credits p { flex: 1; min-width: 260px; margin: 0; color: #2b2e33; line-height: 1.55; }
.pd-packs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-top: 16px; } .pd-packs form { margin: 0; }
.pd-pack { width: 100%; display: grid; gap: 3px; text-align: left; padding: 14px 16px; border-radius: 14px; border: 1px solid rgba(0,0,0,.12); background: #fff; cursor: pointer; font: inherit; }
.pd-pack:hover { border-color: #4338ca; } .pd-pack.best { border: 2px solid #4338ca; }
.pd-pack b { font-size: 15px; } .pd-pack span { font: 700 22px "Inter Tight", Inter, sans-serif; } .pd-pack small { color: #6b6f76; font-size: 12px; }
.pd-apply { display: grid; grid-template-columns: 1fr 1fr 200px auto; gap: 10px; align-items: end; margin-top: 12px; } .pd-apply .field { margin: 0; }
@media (max-width: 900px) { .pd-packs { grid-template-columns: 1fr 1fr; } .pd-apply { grid-template-columns: 1fr; } }
.pd-badge { display: inline-block; margin-left: 8px; padding: 2px 9px; border-radius: 99px; background: #b42318; color: #fff; font-size: 12px; vertical-align: 2px; }
.kit-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; } .kit-grid.three { grid-template-columns: repeat(3, 1fr); }
.kit-grid figure { margin: 0; } .kit-grid video, .kit-grid img { display: block; width: 100%; border-radius: 12px; border: 1px solid rgba(0,0,0,.08); background: #f3f1ec; }
.kit-grid figcaption { margin-top: 8px; font-size: 13.5px; color: #4a4d52; }
.kit-ba > div { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; } .kit-ba img { aspect-ratio: 4 / 3; object-fit: cover; object-position: top; }
.kit-h { margin: 16px 0 6px; font-size: 14px; } .pd-tips textarea { margin-top: 0; }
@media (max-width: 800px) { .kit-grid, .kit-grid.three { grid-template-columns: 1fr; } }
.pt-prices { width: 100%; border-collapse: collapse; font-size: 15px; } .pt-prices td { padding: 9px 0; border-top: 1px solid rgba(0,0,0,.07); }
/* the two ways to earn */
.pd-choose { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-bottom: 8px; }
.pd-opt { background: #fff; border: 1px solid rgba(0,0,0,.08); border-radius: 20px; padding: 24px 26px; display: flex; flex-direction: column; gap: 10px; }
.pd-opt.on { border: 2px solid #4338ca; }
.pd-opt-k { font: 600 12px Inter, sans-serif; letter-spacing: .12em; text-transform: uppercase; color: #6b6f76; }
.pd-opt h2 { margin: 0; font: 700 26px/1.1 "Inter Tight", Inter, sans-serif; letter-spacing: -.02em; }
.pd-opt p { margin: 0; color: #2b2e33; line-height: 1.55; } .pd-opt .pd-opt-who { color: #6b6f76; font-size: 14px; flex: 1; }
.pd-opt form { margin: 0; } .pd-opt .btn { align-self: flex-start; }
@media (max-width: 800px) { .pd-choose { grid-template-columns: 1fr; } }

/* partner menu (dashboard + marketing kit) */
.pd-menu { position: sticky; top: 0; z-index: 20; display: flex; gap: 4px; flex-wrap: wrap; margin: 0 0 22px; padding: 6px; border-radius: 14px; background: #fff; border: 1px solid rgba(0,0,0,.09); box-shadow: 0 6px 20px -14px rgba(0,0,0,.25); }
.pd-menu a { padding: 9px 14px; border-radius: 10px; font-size: 14.5px; font-weight: 600; color: #34373d; text-decoration: none; white-space: nowrap; }
.pd-menu a:hover { background: #f1f1f4; }
.pd-menu a.on { background: #4338ca; color: #fff; }
.pd-menu a b { display: inline-block; min-width: 20px; margin-left: 4px; padding: 1px 6px; border-radius: 99px; background: #eef0ff; color: #4338ca; font-size: 12px; text-align: center; }
.pd-menu a.on b { background: rgba(255,255,255,.22); color: #fff; }
.pd-h { scroll-margin-top: 80px; } #sites, #credits, #refer, #ideas, #resell { scroll-margin-top: 80px; }
@media (max-width: 700px) { .pd-menu { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; } }
.lp-login.lp-strong { font-weight: 700; color: #4338ca; }

/* credit packs: choose one, then Buy */
.cp-form { margin-top: 16px; }
.cp-packs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.cp-pack { position: relative; display: grid; gap: 3px; padding: 14px 16px 14px 44px; border-radius: 14px; border: 1px solid rgba(0,0,0,.14); background: #fff; cursor: pointer; transition: border-color .15s, box-shadow .15s; }
.cp-pack:hover { border-color: #8b86e0; }
.cp-pack input { position: absolute; left: 16px; top: 17px; width: 18px; height: 18px; margin: 0; accent-color: #4338ca; }
.cp-pack:has(input:checked) { border: 2px solid #4338ca; padding: 13px 15px 13px 43px; box-shadow: 0 8px 22px -14px rgba(67,56,202,.6); }
.cp-pack:has(input:checked) input { left: 15px; top: 16px; }
.cp-pack b { font-size: 15px; } .cp-pack span { font-weight: 700; font-size: 22px; } .cp-pack small { color: #6b6f76; font-size: 12px; }
.cp-tag { position: absolute; top: -9px; right: 12px; padding: 2px 8px; border-radius: 99px; background: #4338ca; color: #fff; font-style: normal; font-size: 10.5px; font-weight: 600; line-height: 1.5; letter-spacing: .02em; white-space: nowrap; }
.cp-buy { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-top: 14px; }
.cp-btn { min-width: 240px; }
@media (max-width: 900px) { .cp-packs { grid-template-columns: 1fr 1fr; } }
.rs-more { margin-top: 12px; } .rs-more summary { cursor: pointer; color: #4338ca; font-weight: 600; font-size: 14px; }
