    .pp-root { --pp-accent:#2563eb; --pp-soft:rgba(37,99,235,0.08); --pp-ink:#0f172a; --pp-muted:#64748b; --pp-line:#e5e7eb; --pp-gold:#f59e0b; max-width:1080px; margin:0 auto; }
    .pp-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.25rem; align-items:stretch; max-width:1232px; margin:0 auto; }
    @media (min-width:1101px){ .pp-grid{ width:min(1280px, calc(100vw - 48px)); max-width:none; margin-left:50%; transform:translateX(-50%); } }
    @media (max-width:1100px){ .pp-grid{ grid-template-columns:repeat(2,1fr); max-width:760px; } }
    @media (max-width:860px){ .pp-root{ max-width:440px; } .pp-grid{ grid-template-columns:1fr; } }
    .pp-card { background:#fff; border:1px solid var(--pp-line); border-radius:16px; padding:1.75rem 1.4rem; display:flex; flex-direction:column; word-break:keep-all; }
    .pp-card.rec { border:2px solid var(--pp-accent); }
    .pp-card.premium { border:2px solid var(--pp-gold); background:linear-gradient(180deg, #fdf4e6 0%, #ffffff 34%); }
    .pp-badge { align-self:flex-start; font-size:0.72rem; font-weight:700; color:var(--pp-accent); background:var(--pp-soft); border-radius:999px; padding:0.2rem 0.7rem; margin-bottom:0.85rem; }
    .pp-card.premium .pp-badge { color:#b45309; background:rgba(245,158,11,0.13); }
    .pp-name { font-size:1.2rem; font-weight:700; color:var(--pp-ink); }
    .pp-tagline { color:var(--pp-muted); font-size:0.9rem; margin:0.25rem 0 1.1rem; min-height:1.2em; }
    .pp-card { position:relative; }
    .pp-bill-toggle { position:absolute; top:calc(1.75rem - 5px); right:1.4rem; display:inline-flex; background:#f1f5f9; border-radius:999px; padding:3px; gap:3px; margin:0; }
    .pp-bill-btn { border:none; background:transparent; padding:0.35rem 0.9rem; border-radius:999px; font-size:0.8rem; font-weight:600; color:var(--pp-muted); cursor:pointer; transition:all .15s; }
    .pp-bill-btn.active { background:#fff; color:var(--pp-ink); box-shadow:0 1px 2px rgba(0,0,0,0.12); }
    .pp-price { font-size:1.85rem; font-weight:800; color:var(--pp-ink); line-height:1.1; white-space:nowrap; }
    .pp-price small { font-size:0.95rem; font-weight:500; color:var(--pp-muted); }
    .pp-sub { color:var(--pp-muted); font-size:0.8rem; margin:0.35rem 0 1.25rem; min-height:1.1em; }
    .pp-feats { list-style:none; padding:0; margin:0 0 1.5rem; flex:1; }
    .pp-feats li { position:relative; padding:0.4rem 0 0.4rem 1.35rem; color:#334155; font-size:0.9rem; line-height:1.5; }
    .pp-feats li > i { position:absolute; left:0; top:0.7rem; color:var(--pp-accent); font-size:0.8rem; }
    .pp-card.premium .pp-feats i { color:var(--pp-gold); }
    .pp-no-btn .pp-card .pp-cta { display:none !important; }
    .pp-no-btn .pp-feats { margin-bottom:0; }
    .pp-more { text-align:center; margin-top:1.5rem; }
    .pp-refund { color:#60a5fa; font-weight:700; text-decoration:none; white-space:nowrap; }
    .pp-refund:hover { text-decoration:underline; }
    .pp-more-btn { display:inline-flex; align-items:center; gap:8px; padding:0.8rem 1.75rem; border-radius:10px; background:#2563eb; color:#fff !important; font-weight:700; text-decoration:none !important; }
    .pp-more-btn:hover { background:#1d4ed8; }
    .pp-cta { width:100%; padding:0.8rem; border-radius:10px; font-weight:700; border:1px solid var(--pp-accent); cursor:pointer; transition:all .15s; text-decoration:none; display:inline-block; text-align:center; }
    
    .pp-cta.primary { background:#2563eb !important; color:#fff !important; border-color:#2563eb !important; }
    .pp-cta.primary:hover { background:#1d4ed8 !important; color:#fff !important; }
    .pp-cta.gold { background:#f59e0b !important; color:#1f2937 !important; border-color:#f59e0b !important; }
    .pp-cta.gold:hover { background:#d97706 !important; color:#fff !important; }
    .pp-cta.outline { background:#fff !important; color:#2563eb !important; border-color:#2563eb !important; }
    .pp-cta.outline:hover { background:rgba(37,99,235,0.08) !important; color:#2563eb !important; }
    .pp-cta:disabled, .pp-cta.disabled { opacity:0.45 !important; cursor:default; pointer-events:none; }
    
    .pp-badge-hold { align-self:flex-start; font-size:0.72rem; font-weight:700; color:#475569; background:rgba(100,116,139,0.13); border-radius:999px; padding:0.2rem 0.7rem; }
    #pp-checkoutModal .modal-content { border:none; border-radius:16px; }
    
