/* ============================================================
   ClickSambo — Partner Program page
   Brand palette: navy #1d2840 / #1a1f4d, red #f02b42, cream #fff1e9
   ============================================================ */

.ppPage { --pp-navy:#1d2840; --pp-navy-2:#11182b; --pp-red:#f02b42; --pp-ink:#1a1f4d; --pp-muted:#5a6b8c; --pp-line:#e5e8ef; --pp-cream:#fff1e9; }
.ppPage .container { max-width:1200px; margin:0 auto; padding-inline:20px; }
.ppSectionHead { max-width:760px; margin:0 auto 48px; text-align:center; }
.ppEyebrow { display:inline-block; font-size:13px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:var(--pp-red); background:rgba(240,43,66,.08); padding:8px 16px; border-radius:100px; margin-bottom:16px; }
.ppSectionHead h2 { font-size:38px; line-height:1.2; font-weight:800; color:var(--pp-ink); margin:0 0 16px; }
.ppSectionHead p { font-size:18px; line-height:1.6; color:var(--pp-muted); margin:0; }

/* ---------------- HERO ---------------- */
.ppHero { position:relative; background:radial-gradient(120% 120% at 80% 0%, #243153 0%, var(--pp-navy) 45%, var(--pp-navy-2) 100%); color:#fff; overflow:hidden; padding:90px 0 110px; }
.ppHero::before { content:""; position:absolute; top:-160px; right:-120px; width:480px; height:480px; background:radial-gradient(circle, rgba(240,43,66,.35) 0%, transparent 70%); pointer-events:none; }
.ppHeroGrid { position:relative; display:grid; grid-template-columns:1.1fr .9fr; gap:56px; align-items:center; }
.ppHeroBadge { display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:#ffd7dd; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16); padding:8px 16px; border-radius:100px; margin-bottom:24px; }
.ppHeroBadge::before { content:""; width:8px; height:8px; border-radius:50%; background:var(--pp-red); box-shadow:0 0 0 4px rgba(240,43,66,.25); }
.ppHero h1 { font-size:50px; line-height:1.1; font-weight:800; margin:0 0 20px; letter-spacing:-.5px; }
.ppHeroLead { font-size:19px; line-height:1.65; color:#c7cfe0; margin:0 0 32px; max-width:600px; }
.ppHeroPoints { list-style:none; margin:0 0 36px; padding:0; display:flex; flex-direction:column; gap:14px; }
.ppHeroPoints li { display:flex; align-items:flex-start; gap:12px; font-size:16px; color:#e8ecf6; line-height:1.5; }
.ppHeroPoints li svg { flex-shrink:0; margin-top:2px; }
.ppHeroBtns { display:flex; flex-wrap:wrap; gap:16px; }
.ppBtnPrimary { display:inline-flex; align-items:center; gap:10px; background:var(--pp-red); color:#fff; font-size:16px; font-weight:700; padding:16px 32px; border-radius:12px; text-decoration:none; transition:transform .2s ease, box-shadow .2s ease, background .2s ease; box-shadow:0 12px 30px rgba(240,43,66,.35); }
.ppBtnPrimary:hover { transform:translateY(-2px); background:#d81f37; box-shadow:0 16px 38px rgba(240,43,66,.45); color:#fff; }
.ppBtnGhost { display:inline-flex; align-items:center; gap:10px; background:transparent; color:#fff; font-size:16px; font-weight:600; padding:16px 30px; border-radius:12px; text-decoration:none; border:1.5px solid rgba(255,255,255,.3); transition:all .2s ease; }
.ppBtnGhost:hover { background:rgba(255,255,255,.1); border-color:#fff; color:#fff; }

/* Hero side card */
.ppHeroCard { position:relative; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14); border-radius:24px; padding:36px; backdrop-filter:blur(6px); }
.ppHeroCard .ppRing { display:flex; align-items:baseline; gap:10px; margin-bottom:8px; }
.ppHeroCard .ppRing strong { font-size:64px; font-weight:800; line-height:1; background:linear-gradient(90deg,#ff8a98,#fff); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.ppHeroCard .ppRing span { font-size:20px; font-weight:700; color:#ffd7dd; }
.ppHeroCard .ppRingLabel { font-size:15px; color:#c7cfe0; margin:0 0 28px; }
.ppHeroCardRow { display:flex; justify-content:space-between; gap:16px; padding-top:24px; border-top:1px solid rgba(255,255,255,.12); }
.ppHeroCardRow .it { flex:1; }
.ppHeroCardRow .it b { display:block; font-size:22px; font-weight:800; color:#fff; margin-bottom:4px; }
.ppHeroCardRow .it small { font-size:13px; color:#aab4ca; line-height:1.4; display:block; }

/* ---------------- STATS STRIP ---------------- */
.ppStats { position:relative; margin-top:-56px; z-index:3; }
.ppStatsInner { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; background:#fff; border:1px solid var(--pp-line); border-radius:20px; padding:36px; box-shadow:0 30px 60px rgba(20,30,60,.12); }
.ppStat { text-align:center; padding:8px 16px; }
.ppStat + .ppStat { border-left:1px solid var(--pp-line); }
.ppStat strong { display:block; font-size:40px; font-weight:800; color:var(--pp-red); line-height:1; margin-bottom:8px; }
.ppStat span { font-size:15px; color:var(--pp-muted); font-weight:500; }

/* ---------------- GENERIC SECTION ---------------- */
.ppSection { padding:96px 0; }
.ppSection.alt { background:#f7f9fc; }

/* ---------------- EARNINGS TIERS ---------------- */
.ppTiers { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.ppTier { position:relative; background:#fff; border:1px solid var(--pp-line); border-radius:20px; padding:36px 30px; transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease; overflow:hidden; }
.ppTier:hover { transform:translateY(-6px); box-shadow:0 24px 50px rgba(20,30,60,.12); }
.ppTier.featured { border-color:var(--pp-red); box-shadow:0 24px 50px rgba(240,43,66,.18); }
.ppTier.featured::after { content:""; position:absolute; inset:0 0 auto 0; height:5px; background:var(--pp-red); }
.ppTierValue { font-size:56px; font-weight:800; color:var(--pp-ink); line-height:1; margin-bottom:10px; }
.ppTier.featured .ppTierValue { color:var(--pp-red); }
.ppTierLabel { display:block; font-size:18px; font-weight:700; color:var(--pp-ink); margin-bottom:12px; }
.ppTierDesc { font-size:15px; line-height:1.6; color:var(--pp-muted); margin:0; }
.ppTierArrow { display:flex; align-items:center; justify-content:center; }

/* ---------------- DIFFERENTIATOR ---------------- */
.ppDiff { position:relative; isolation:isolate; color:#fff; overflow:hidden;
    background-color:#0c1326;
    background-image:linear-gradient(135deg, #1b2741 0%, #121a30 55%, #0a1020 100%); }
/* layered glows + faint dot grid for an unconventional, premium feel */
.ppDiff::before { content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
    background:
        radial-gradient(60% 80% at 88% 8%, rgba(240,43,66,.30) 0%, transparent 60%),
        radial-gradient(55% 70% at 6% 95%, rgba(70,110,220,.22) 0%, transparent 60%); }
.ppDiff::after { content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; opacity:.5;
    background-image:radial-gradient(rgba(255,255,255,.06) 1px, transparent 1px);
    background-size:26px 26px;
    -webkit-mask-image:linear-gradient(180deg, transparent, #000 30%, #000 70%, transparent);
    mask-image:linear-gradient(180deg, transparent, #000 30%, #000 70%, transparent); }
.ppDiffGrid { position:relative; display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.ppDiff .ppEyebrow { color:#ffd0d6; background:rgba(240,43,66,.16); border:1px solid rgba(240,43,66,.35); box-shadow:0 0 24px rgba(240,43,66,.25); }
.ppDiffTextCol { position:relative; padding-left:28px; }
.ppDiffTextCol::before { content:""; position:absolute; left:0; top:6px; bottom:6px; width:4px; border-radius:4px;
    background:linear-gradient(180deg, var(--pp-red), rgba(240,43,66,0)); }
.ppDiff h2 { font-size:42px; line-height:1.12; font-weight:800; color:#fff; margin:0 0 22px; letter-spacing:-.5px; }
.ppDiffLead { font-size:18px; line-height:1.8; color:#d7deee; margin:0; }
.ppDiffLead strong, .ppDiffLead b { color:#fff; }
.ppDiffCards { display:grid; grid-template-columns:1fr 1fr; gap:18px; counter-reset:ppdiff; }
.ppDiffCard { position:relative; counter-increment:ppdiff; overflow:hidden;
    background:linear-gradient(160deg, rgba(255,255,255,.085) 0%, rgba(255,255,255,.03) 100%);
    border:1px solid rgba(255,255,255,.12); border-radius:18px; padding:28px 26px 26px;
    backdrop-filter:blur(6px);
    transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease, background .25s ease; }
/* left accent rail that lights up on hover */
.ppDiffCard::before { content:""; position:absolute; left:0; top:0; bottom:0; width:3px;
    background:linear-gradient(180deg, var(--pp-red), rgba(240,43,66,.2)); transform:scaleY(0); transform-origin:top;
    transition:transform .3s ease; }
/* big ghost number in the corner */
.ppDiffCard::after { content:counter(ppdiff, decimal-leading-zero); position:absolute; top:14px; right:18px;
    font-size:34px; font-weight:800; line-height:1; color:rgba(255,255,255,.10); letter-spacing:-1px; }
.ppDiffCard:hover { transform:translateY(-6px); border-color:rgba(240,43,66,.45);
    background:linear-gradient(160deg, rgba(255,255,255,.12) 0%, rgba(255,255,255,.04) 100%);
    box-shadow:0 22px 50px rgba(0,0,0,.35), 0 0 0 1px rgba(240,43,66,.12); }
.ppDiffCard:hover::before { transform:scaleY(1); }
.ppDiffCard:hover::after { color:rgba(240,43,66,.55); }
.ppDiffCard .ppDiffIco { width:50px; height:50px; border-radius:14px;
    background:linear-gradient(135deg, rgba(240,43,66,.95), rgba(216,31,55,.7)); display:flex; align-items:center; justify-content:center; margin-bottom:18px;
    box-shadow:0 8px 20px rgba(240,43,66,.35); }
.ppDiffCard .ppDiffIco svg path,.ppDiffCard .ppDiffIco svg rect { stroke:#fff !important; }
.ppDiffCard h3 { font-size:17px; font-weight:700; color:#fff; margin:0 0 8px; }
.ppDiffCard p { font-size:14px; line-height:1.65; color:#b8c2d8; margin:0; }
/* expanded differentiator copy */
.ppDiffPara2 { font-size:16px; line-height:1.75; color:#aeb9d0; margin:20px 0 0; }
.ppDiffCompliance { display:flex; align-items:center; gap:12px; margin-top:24px; padding:14px 18px; border-radius:12px;
    background:rgba(240,43,66,.10); border:1px solid rgba(240,43,66,.30); }
.ppDiffCompliance svg { flex-shrink:0; }
.ppDiffCompliance span { font-size:13.5px; line-height:1.5; color:#ffd0d6; font-weight:500; }
.ppDiffRight { position:relative; }
.ppDiffListTitle { display:block; font-size:13px; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:#8c98b5; margin-bottom:16px; }

/* ---------------- PAYOUT CALLOUT ---------------- */
.ppPayout { display:flex; align-items:center; gap:22px; margin:0 auto 40px; max-width:920px; padding:26px 30px; border-radius:18px;
    color:#fff; position:relative; overflow:hidden;
    background-color:#11182b; background-image:linear-gradient(120deg, #1d2840 0%, #11182b 100%);
    box-shadow:0 18px 44px rgba(20,30,60,.16); }
.ppPayout::before { content:""; position:absolute; inset:0; pointer-events:none;
    background:radial-gradient(60% 120% at 100% 0%, rgba(240,43,66,.28) 0%, transparent 60%); }
.ppPayoutIco { position:relative; flex-shrink:0; width:60px; height:60px; border-radius:16px;
    background:linear-gradient(135deg, var(--pp-red), #d81f37); display:flex; align-items:center; justify-content:center;
    box-shadow:0 10px 24px rgba(240,43,66,.4); }
.ppPayoutText { position:relative; }
.ppPayoutText strong { display:block; font-size:19px; font-weight:700; margin-bottom:6px; }
.ppPayoutText p { font-size:15px; line-height:1.6; color:#c7cfe0; margin:0; }

/* ---------------- EARNINGS CALCULATOR ---------------- */
.ppCalc { background:#fff; border:1px solid var(--pp-line); border-radius:24px; padding:36px; box-shadow:0 30px 60px rgba(20,30,60,.10); }
.ppCalcHead { text-align:center; margin-bottom:28px; }
.ppCalcHead h3 { font-size:24px; font-weight:800; color:var(--pp-ink); margin:0 0 8px; }
.ppCalcHead p { font-size:15px; color:var(--pp-muted); margin:0; }
.ppCalcGrid { display:grid; grid-template-columns:1fr 1fr; gap:28px; align-items:stretch; }
.ppCalcControls { display:flex; flex-direction:column; gap:20px; }
.ppCalcField label { display:block; font-size:13px; font-weight:700; color:var(--pp-ink); margin-bottom:10px; }
/* segmented control */
.ppSeg { display:flex; gap:6px; background:#eef1f7; border-radius:12px; padding:5px; flex-wrap:wrap; }
.ppSeg button { flex:1 1 auto; min-width:80px; border:none; background:transparent; color:var(--pp-muted); font-size:14px; font-weight:600;
    padding:11px 12px; border-radius:9px; cursor:pointer; transition:all .2s ease; }
.ppSeg button:hover { color:var(--pp-ink); }
.ppSeg button.active { background:#fff; color:var(--pp-ink); box-shadow:0 3px 10px rgba(20,30,60,.12); }
#ppBillingSeg button.active { background:var(--pp-ink); color:#fff; }
/* select */
.ppCalcSelect { width:100%; height:52px; padding:0 16px; font-size:15px; color:var(--pp-ink); background:#fff;
    border:1.5px solid var(--pp-line); border-radius:12px; cursor:pointer; appearance:none; -webkit-appearance:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%235a6b8c' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 16px center; padding-right:42px; }
.ppCalcSelect:focus { outline:none; border-color:var(--pp-red); box-shadow:0 0 0 3px rgba(240,43,66,.12); }
/* stepper */
.ppStepper { display:flex; align-items:center; height:52px; border:1.5px solid var(--pp-line); border-radius:12px; overflow:hidden; max-width:200px; }
.ppStepper button { width:52px; height:100%; border:none; background:#f4f6fb; color:var(--pp-ink); font-size:22px; font-weight:700; cursor:pointer; transition:background .2s ease; }
.ppStepper button:hover { background:#e9edf6; }
.ppStepper input { flex:1; min-width:0; height:100%; border:none; text-align:center; font-size:17px; font-weight:700; color:var(--pp-ink); -moz-appearance:textfield; }
.ppStepper input::-webkit-outer-spin-button,.ppStepper input::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
.ppStepper input:focus { outline:none; }
/* result panel */
.ppCalcResult { position:relative; isolation:isolate; border-radius:18px; padding:28px 30px; color:#fff; overflow:hidden;
    background-color:#0c1326; background-image:linear-gradient(135deg, #1f2c49 0%, #121a30 100%); display:flex; flex-direction:column; }
.ppCalcResult::before { content:""; position:absolute; z-index:-1; inset:0; pointer-events:none;
    background:radial-gradient(70% 90% at 100% 0%, rgba(240,43,66,.30) 0%, transparent 60%); }
.ppCalcRow { display:flex; justify-content:space-between; align-items:baseline; gap:12px; padding:12px 0; border-bottom:1px solid rgba(255,255,255,.12); }
.ppCalcRow span { font-size:14px; color:#aab4ca; }
.ppCalcRow b { font-size:17px; font-weight:700; color:#fff; text-align:right; }
.ppCalcRow b small { font-size:12px; font-weight:500; color:#aab4ca; }
.ppCalcBig { margin:20px 0 14px; }
.ppCalcBigLabel { display:block; font-size:13px; font-weight:600; letter-spacing:.5px; text-transform:uppercase; color:#ffd0d6; margin-bottom:8px; }
.ppCalcBig strong { display:block; font-size:38px; line-height:1.1; font-weight:800; letter-spacing:-.5px;
    background:linear-gradient(90deg,#ff8a98,#fff); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.ppCalcRecurring { display:block; font-size:13px; color:#c7cfe0; margin-top:8px; }
.ppCalcNote { display:flex; align-items:flex-start; gap:8px; font-size:12.5px; line-height:1.5; color:#9aa6bd; margin:auto 0 0; padding-top:16px; }
.ppCalcNote svg { flex-shrink:0; margin-top:1px; color:#ff8a98; }
.ppCalcDisclaimer { font-size:12.5px; line-height:1.55; color:var(--pp-muted); text-align:center; margin:22px auto 0; max-width:760px; }
#ppRate { color:#ffd0d6; }

/* soft commission-tier legend */
.ppTierLegend { margin-top:24px; padding-top:24px; border-top:1px dashed var(--pp-line); text-align:center; }
.ppTierLegendTitle { display:block; font-size:12px; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:#8c98b5; margin-bottom:14px; }
.ppTierPills { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; }
.ppTierPill { display:inline-flex; align-items:center; gap:8px; font-size:13.5px; color:var(--pp-muted); background:#f4f6fb; border:1px solid var(--pp-line); border-radius:100px; padding:9px 16px; }
.ppTierPill b { color:var(--pp-ink); font-size:14px; font-weight:800; }
.ppTierSpecial { font-size:13px; color:var(--pp-muted); text-align:center; margin:16px 0 0; font-style:italic; }
.ppTierSpecial::before { content:"\2605  "; color:var(--pp-red); font-style:normal; }

/* terms acceptance checkbox — custom box so it is always clearly visible */
.ppForm .ppTermsConsent { display:flex; align-items:flex-start; gap:14px; flex-wrap:wrap; background:#f7f9fc; border:1px solid var(--pp-line); border-radius:12px; padding:16px 18px; }
.ppTermsConsent .error-label { flex:0 0 100%; order:9; margin:0; }
.ppTermsConsent input[type=checkbox] {
    appearance:none; -webkit-appearance:none; -moz-appearance:none;
    flex:0 0 auto; width:24px; height:24px; margin:0; cursor:pointer; position:relative;
    border:2px solid #b6c0d6; border-radius:6px; background:#fff;
    transition:background .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.ppTermsConsent input[type=checkbox]:hover { border-color:var(--pp-red); }
.ppTermsConsent input[type=checkbox]:checked { background:var(--pp-red); border-color:var(--pp-red); }
.ppTermsConsent input[type=checkbox]:checked::after {
    content:""; position:absolute; left:7px; top:3px; width:6px; height:11px;
    border:solid #fff; border-width:0 2.5px 2.5px 0; transform:rotate(45deg);
}
.ppTermsConsent input[type=checkbox]:focus-visible { outline:none; box-shadow:0 0 0 3px rgba(240,43,66,.30); }
.ppTermsConsent input[type=checkbox].is-invalid { border-color:var(--pp-red); box-shadow:0 0 0 3px rgba(240,43,66,.15); }
.ppTermsConsent label { flex:1; font-size:14px; line-height:1.55; color:var(--pp-ink); cursor:pointer; }
.ppTermsConsent a { color:var(--pp-red); font-weight:600; text-decoration:underline; }
.ppTermsConsent a:hover { color:#d81f37; }

/* ---------------- STEPS ---------------- */
.ppSteps { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; counter-reset:ppstep; }
.ppStep { position:relative; background:#fff; border:1px solid var(--pp-line); border-radius:18px; padding:32px 26px; }
.ppStepNum { width:48px; height:48px; border-radius:14px; background:var(--pp-ink); color:#fff; font-size:20px; font-weight:800; display:flex; align-items:center; justify-content:center; margin-bottom:18px; }
.ppStep:nth-child(2) .ppStepNum,.ppStep:nth-child(4) .ppStepNum{ background:var(--pp-red); }
.ppStep h3 { font-size:18px; font-weight:700; color:var(--pp-ink); margin:0 0 10px; }
.ppStep p { font-size:15px; line-height:1.6; color:var(--pp-muted); margin:0; }

/* ---------------- BENEFITS ---------------- */
.ppBenefits { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.ppBenefit { display:flex; gap:18px; background:#fff; border:1px solid var(--pp-line); border-radius:18px; padding:28px; transition:box-shadow .2s ease; }
.ppBenefit:hover { box-shadow:0 18px 40px rgba(20,30,60,.1); }
.ppBenefitIco { flex-shrink:0; width:54px; height:54px; border-radius:14px; background:rgba(240,43,66,.1); display:flex; align-items:center; justify-content:center; }
.ppBenefit h3 { font-size:18px; font-weight:700; color:var(--pp-ink); margin:0 0 8px; }
.ppBenefit p { font-size:15px; line-height:1.6; color:var(--pp-muted); margin:0; }

/* ---------------- FORM SECTION ---------------- */
.ppFormSect { background:#f7f9fc; padding:96px 0; }
.ppFormGrid { display:grid; grid-template-columns:.85fr 1.15fr; gap:48px; align-items:start; }
.ppFormIntro { position:sticky; top:100px; }
.ppFormIntro .ppEyebrow { margin-bottom:18px; }
.ppFormIntro h2 { font-size:34px; font-weight:800; color:var(--pp-ink); line-height:1.2; margin:0 0 16px; }
.ppFormIntro p { font-size:17px; line-height:1.65; color:var(--pp-muted); margin:0 0 28px; }
.ppTrustList { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:14px; }
.ppTrustList li { display:flex; align-items:center; gap:12px; font-size:15px; color:var(--pp-ink); font-weight:500; }
.ppTrustList li svg { flex-shrink:0; }

.ppFormCard { background:#fff; border:1px solid var(--pp-line); border-radius:24px; padding:40px; box-shadow:0 30px 60px rgba(20,30,60,.08); }
.ppForm { display:flex; flex-wrap:wrap; gap:16px; }
.ppForm .inputItem { position:relative; display:block; width:calc(50% - 8px); }
.ppForm .inputItem.w100 { width:100%; }
.ppForm .inpDefault { width:100%; height:56px; padding:0 18px; font-size:15px; color:var(--pp-ink); background:#fff; border:1.5px solid var(--pp-line); border-radius:12px; outline:none; transition:border-color .2s ease, box-shadow .2s ease; }
.ppForm select.inpDefault { appearance:none; -webkit-appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%235a6b8c' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 16px center; padding-right:42px; cursor:pointer; }
.ppForm .inpTextarea { height:120px; padding:16px 18px; resize:vertical; font-family:inherit; line-height:1.5; }
.ppForm .inpDefault:focus { border-color:var(--pp-red); box-shadow:0 0 0 3px rgba(240,43,66,.12); }
.ppForm .inpDefault::placeholder { color:#9aa6bd; }
.ppSubmit { width:100%; height:58px; border:none; border-radius:12px; background:var(--pp-red); color:#fff; font-size:16px; font-weight:700; cursor:pointer; transition:background .2s ease, transform .2s ease, box-shadow .2s ease; box-shadow:0 12px 26px rgba(240,43,66,.3); }
.ppSubmit:hover:not(:disabled) { background:#d81f37; transform:translateY(-2px); box-shadow:0 16px 34px rgba(240,43,66,.4); }
.ppSubmit:disabled { opacity:.7; cursor:not-allowed; }
.ppForm .btn-text,.ppForm .btn-loading { display:flex; align-items:center; justify-content:center; gap:8px; }
.ppFormNote { font-size:13px; color:var(--pp-muted); text-align:center; margin:6px 0 0; line-height:1.5; }

/* ---------------- BOTTOM CTA ---------------- */
.ppCta { padding:0 0 96px; }
.ppCtaBox { position:relative; isolation:isolate; border-radius:28px; padding:72px 56px; text-align:center; color:#fff; overflow:hidden;
    background-color:#0c1326;
    background-image:linear-gradient(135deg, #1f2c49 0%, #131c33 60%, #0a1020 100%);
    border:1px solid rgba(255,255,255,.08);
    box-shadow:0 40px 80px rgba(8,14,30,.45); }
/* dual glow accents */
.ppCtaBox::before { content:""; position:absolute; z-index:-1; bottom:-160px; left:-120px; width:420px; height:420px; pointer-events:none;
    background:radial-gradient(circle, rgba(240,43,66,.40) 0%, transparent 70%); }
.ppCtaBox::after { content:""; position:absolute; z-index:-1; top:-160px; right:-120px; width:420px; height:420px; pointer-events:none;
    background:radial-gradient(circle, rgba(70,110,220,.28) 0%, transparent 70%); }
.ppCtaEyebrow { display:inline-block; font-size:13px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase;
    color:#ffd0d6; background:rgba(240,43,66,.16); border:1px solid rgba(240,43,66,.35); padding:8px 16px; border-radius:100px; margin-bottom:20px; }
.ppCtaBox h2 { position:relative; font-size:42px; line-height:1.12; font-weight:800; margin:0 0 16px; letter-spacing:-.5px; color:#fff; }
.ppCtaBox p { position:relative; font-size:18px; color:#d7deee; max-width:640px; margin:0 auto 34px; line-height:1.65; }
.ppCtaBox .ppBtnPrimary { position:relative; }

/* ---------------- BREADCRUMB ---------------- */
.ppBreadcrumb { padding:20px 0; }
.ppBreadcrumb ul { display:flex; gap:8px; list-style:none; margin:0; padding:0; font-size:14px; color:var(--pp-muted); }
.ppBreadcrumb li a { color:var(--pp-muted); text-decoration:none; }
.ppBreadcrumb li a:hover { color:var(--pp-red); }
.ppBreadcrumb li:not(:last-child)::after { content:"/"; margin-left:8px; color:#c2cbdd; }

/* ---------------- PARTNER AGREEMENT (TERMS) PAGE ---------------- */
.ppTermsHero { position:relative; color:#fff; text-align:center; padding:72px 0 56px; overflow:hidden;
    background-color:#0c1326; background-image:linear-gradient(135deg, #1b2741 0%, #0a1020 100%); }
.ppTermsHero::before { content:""; position:absolute; inset:0; pointer-events:none;
    background:radial-gradient(60% 100% at 80% 0%, rgba(240,43,66,.25) 0%, transparent 60%); }
.ppTermsHero .container { position:relative; }
.ppTermsHero h1 { font-size:40px; font-weight:800; letter-spacing:-.5px; margin:16px 0 14px; }
.ppTermsHero p { font-size:17px; color:#c7cfe0; max-width:680px; margin:0 auto; line-height:1.6; }
.ppTermsBody { background:#fff; padding:64px 0 96px; }
.ppTerms { max-width:820px; margin:0 auto; }
.ppTermsMeta { font-size:13px; color:var(--pp-muted); margin:0 0 26px; }
.ppTerms h2 { font-size:22px; font-weight:800; color:var(--pp-ink); margin:34px 0 12px; }
.ppTerms p { font-size:16px; line-height:1.75; color:#3f4a63; margin:0 0 14px; }
.ppTerms ul { margin:0 0 14px; padding-left:22px; }
.ppTerms li { font-size:16px; line-height:1.85; color:#3f4a63; }
.ppTerms strong { color:var(--pp-ink); }
.ppTerms a { color:var(--pp-red); font-weight:600; text-decoration:underline; }
.ppTerms a:hover { color:#d81f37; }
.ppTermsSig { margin-top:36px; padding:20px 22px; background:#f7f9fc; border:1px solid var(--pp-line); border-radius:12px; font-size:15px; line-height:1.7; color:var(--pp-ink); }
.ppTermsBack { margin-top:28px; padding-top:22px; border-top:1px solid var(--pp-line); }
.ppTermsBack a { font-size:15px; }

/* ---------------- RESPONSIVE ---------------- */
@media (max-width:992px){
    .ppHeroGrid{ grid-template-columns:1fr; gap:40px; }
    .ppHero h1{ font-size:40px; }
    .ppDiffGrid{ grid-template-columns:1fr; gap:36px; }
    .ppCalcGrid{ grid-template-columns:1fr; gap:22px; }
    .ppFormGrid{ grid-template-columns:1fr; gap:36px; }
    .ppFormIntro{ position:static; }
    .ppSteps{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:768px){
    .ppHero{ padding:64px 0 90px; }
    .ppHero h1{ font-size:32px; }
    .ppHeroLead{ font-size:17px; }
    .ppSectionHead h2,.ppDiff h2,.ppCtaBox h2,.ppTermsHero h1{ font-size:28px; }
    .ppTermsBody{ padding:48px 0 64px; }
    .ppSection{ padding:64px 0; }
    .ppStatsInner{ grid-template-columns:1fr; gap:0; padding:8px 24px; }
    .ppStat + .ppStat{ border-left:none; border-top:1px solid var(--pp-line); }
    .ppStat{ padding:22px 8px; }
    .ppTiers{ grid-template-columns:1fr; }
    .ppDiffCards{ grid-template-columns:1fr; }
    .ppBenefits{ grid-template-columns:1fr; }
    .ppSteps{ grid-template-columns:1fr; }
    .ppPayout{ flex-direction:column; text-align:center; gap:16px; padding:24px; }
    .ppCalc{ padding:24px; }
    .ppCalcBig strong{ font-size:32px; }
    .ppFormCard{ padding:28px; }
    .ppForm .inputItem{ width:100%; }
    /* Security code: drop the input onto its own full-width row so it never gets squeezed */
    .ppForm .captcha-wrapper{ flex-wrap:wrap; }
    .ppForm .captcha-input{ flex:1 0 100%; width:100%; max-width:100%; min-width:0; margin-top:4px; }
    .ppCtaBox{ padding:44px 26px; }
    .ppHeroBtns{ flex-direction:column; }
    .ppHeroBtns .ppBtnPrimary,.ppHeroBtns .ppBtnGhost{ justify-content:center; }
}
