/* Movvent Partners: the portal's own styles. The shell, the UI kit and the charts come from the admin console's base.css and
   analytics.css (shared by copy). Class names start with the lane's prefix: .pt- (frame, home), .og- (organiser), .sp- (sponsor).
   No inline styles anywhere (the CSP has no 'unsafe-inline'). */

.pt-page { display: grid; gap: var(--s5); max-inline-size: 1100px; }
.pt-lead { color: var(--ink-muted); font-size: 1.0625rem; }
.pt-choices { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s3); grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.pt-choice {
  display: flex; align-items: center; gap: var(--s3); padding: var(--s4); text-decoration: none; color: var(--ink);
  background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-lg); box-shadow: var(--shadow-card);
  transition: border-color .15s ease, transform .15s ease;
}
.pt-choice:hover { border-color: var(--accent); }
.pt-choice:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
.pt-choice-name { flex: 1; font-weight: 700; min-inline-size: 0; overflow-wrap: anywhere; }
.pt-logo { inline-size: 44px; block-size: 44px; border-radius: var(--r-md); background: var(--surface-2); flex: none; overflow: hidden; margin: 0; display: grid; place-items: center; }
.pt-logo img { inline-size: 100%; block-size: 100%; object-fit: contain; }
.pt-logo .media-note { display: none; }

@media (prefers-reduced-motion: reduce) {
  .pt-choice { transition: none; }
}
