/* Public content pages (prop-firm directory). Loaded after landing.css and
   reuses its tokens — never hardcode a colour here. */

.pp-head{padding: 72px 0 32px}
.pp-head .wrap{max-width:var(--wrap);margin: 0 auto;padding: 0 26px}
.pp-crumbs{font-size:13px;color:var(--muted);margin-bottom: 14px}
.pp-crumbs a{color:var(--muted);text-decoration:none;border-bottom:1px solid transparent}
.pp-crumbs a:hover{color:var(--brand);border-bottom-color:var(--line2)}
.pp-head h1{font-family:var(--disp);font-size:clamp(30px,4.4vw,46px);line-height:1.08;letter-spacing:-.02em;margin: 0 0 14px;color:var(--text)}
.pp-head .lede{max-width:70ch;color:var(--text2);font-size:17px;line-height:1.62;margin: 0}

.pp-section{padding: 0 0 56px}
.pp-section .wrap{max-width:var(--wrap);margin: 0 auto;padding: 0 26px}

/* ── directory grid ───────────────────────────────────────────── */
.pp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap: 18px}
.pp-card{display:flex;flex-direction:column;gap: 12px;background:var(--card);border:1px solid var(--line);
  border-radius:var(--rlg);padding: 22px;text-decoration:none;color:inherit;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.pp-card:hover{transform:translateY(-3px);border-color:var(--brand-light);
  box-shadow:0 18px 40px -24px rgba(var(--brand-rgb),.45)}
.pp-card-top{display:flex;align-items:center;gap: 12px}
.pp-mark{width:42px;height:42px;flex:0 0 42px;border-radius:12px;background:var(--grad);
  display:grid;place-items:center;color:#fff;font-family:var(--disp);font-weight:550;font-size:16px}
.pp-card h2{font-family:var(--disp);font-size:19px;margin: 0;letter-spacing:-.01em;color:var(--text)}
.pp-cat{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.pp-card p{margin: 0;font-size:14px;line-height:1.6;color:var(--text2)}
.pp-facts{display:flex;flex-wrap:wrap;gap: 8px;margin-top: auto;padding-top: 6px}
.pp-fact{font-size:12px;padding: 4px 10px;border-radius:999px;background:var(--raise);
  color:var(--text2);border:1px solid var(--line)}
.pp-verified{color:var(--success);background:var(--success-bg);border-color:transparent}

/* ── detail ───────────────────────────────────────────────────── */
.pp-kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap: 14px;margin: 0 0 32px}
.pp-kv div{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding: 16px 18px}
.pp-kv dt{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom: 6px}
.pp-kv dd{margin: 0;font-size:15px;line-height:1.5;color:var(--text);font-weight:600}

.pp-prose{background:var(--card);border:1px solid var(--line);border-radius:var(--rlg);padding: 26px 28px;margin-bottom: 32px}
.pp-prose h2{font-family:var(--disp);font-size:20px;margin: 0 0 14px;color:var(--text)}
.pp-prose p{margin: 0 0 12px;line-height:1.7;color:var(--text2);white-space:pre-line}
.pp-prose p:last-child{margin-bottom: 0}

.pp-model{background:var(--card);border:1px solid var(--line);border-radius:var(--rlg);padding: 26px 26px;margin-bottom: 20px}
.pp-model-head{display:flex;align-items:center;flex-wrap:wrap;gap: 10px;margin-bottom: 8px}
.pp-model-head h3{font-family:var(--disp);font-size:19px;margin: 0;color:var(--text)}
.pp-badge{font-size:12px;padding: 4px 10px;border-radius:999px;background:var(--grad-soft);
  border:1px solid var(--line);color:var(--brand-dark);font-weight:600}
.pp-model .desc{margin: 0 0 16px;line-height:1.65;color:var(--text2);font-size:15px}
.pp-cond{list-style:none;padding: 0;margin: 0 0 18px;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap: 8px}
.pp-cond li{position:relative;padding-left: 20px;font-size:14px;color:var(--text2);line-height:1.5}
.pp-cond li::before{content:"";position:absolute;left:4px;top:8px;width:6px;height:6px;border-radius:50%;background:var(--brand)}
.pp-pitfalls{border-left:3px solid var(--amber);background:var(--card2);border-radius:0 var(--r) var(--r) 0;padding: 12px 16px;margin: 0 0 18px}
.pp-pitfalls strong{display:block;font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--amber);margin-bottom: 6px}
.pp-pitfalls ul{margin: 0;padding-left: 18px}
.pp-pitfalls li{font-size:14px;line-height:1.6;color:var(--text2);margin: 4px 0}

.pp-tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r)}
.pp-table{width:100%;border-collapse:collapse;font-size:14px;min-width:520px}
.pp-table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);
  padding: 12px 14px;background:var(--card2);border-bottom:1px solid var(--line);white-space:nowrap}
.pp-table td{padding: 12px 14px;border-bottom:1px solid var(--line);color:var(--text2);white-space:nowrap}
.pp-table tr:last-child td{border-bottom:none}
.pp-table td:first-child{font-weight:600;color:var(--text);font-family:var(--mono)}

.pp-cta{background:var(--grad-soft);border:1px solid var(--line);border-radius:var(--rxl);
  padding: 32px 32px;text-align:center;margin-top: 10px}
.pp-cta h2{font-family:var(--disp);font-size:clamp(22px,3vw,30px);margin: 0 0 10px;color:var(--text)}
.pp-cta p{margin: 0 0 20px;color:var(--text2);line-height:1.6}
.pp-src{font-size:13px;color:var(--muted);margin-top: 22px}
.pp-src a{color:var(--brand-dark)}

@media (max-width:640px){
  .pp-head{padding: 72px 0 26px}
  .pp-prose,.pp-model{padding: 20px 18px}
}

/* Мелочи, которые раньше стояли инлайном в шаблонах справочника. */
.pp-cta { margin-top: 32px; }
.pp-ok { color: var(--success); }
.pp-h2 { font-family: var(--disp); font-size: 24px; margin: 0 0 18px; color: var(--text); }
.pp-h2.tight { margin-bottom: 16px; }
.pp-dl { margin-top: 26px; }
.pp-fine { margin-left: 14px; }
.pp-gap { margin-bottom: 40px; }
.pp-card.static { cursor: default; }
.pp-tablewrap td.wrap { white-space: normal; }
.pp-back { margin-top: 22px; }
