/* Round 340: /partners -- every site Book your trip links to (templates/partners.html). Builds on profile.css's
   legal page (.profile-card--article, .legal-content); the approved mock-up (_qa/r340). Colours are main.css's
   tokens only (round 133: no violet literal outside the token block). */
.pp-article { max-width: 880px; }
.pp-article .pp-intro { font-size: 16px; margin-bottom: 22px; }
.pp-article .legal-content a { color: var(--accent-ink); font-weight: 600; }
.pp-panel { background: var(--bg-soft); border-radius: 18px; padding: 18px 22px 6px; margin: 0 0 14px; }
.pp-panel h2 { margin-top: 0; }
.pp-legend { margin: 28px 0 6px; }
.pp-legend-row { display: flex; align-items: baseline; gap: 12px; margin: 0 0 6px; }
.pp-legend-row > span { flex: none; }
.pp-article .legal-content .pp-legend-row p { margin: 0; font-size: 13.5px; color: var(--muted); }
.pp-yes { display: inline-flex; align-items: center; font-size: 12.5px; font-weight: 700; color: var(--accent-ink);
  background: var(--accent-bg-soft); border-radius: 999px; padding: 3px 10px; white-space: nowrap; }
.pp-no { font-size: 12.5px; font-weight: 600; color: var(--muted); white-space: nowrap; }
.pp-group { margin: 26px 0 0; }
.pp-group h3 { display: flex; align-items: center; gap: 9px; margin: 0 0 4px; font-family: var(--font-display);
  font-size: 16px; font-weight: 600; color: var(--ink); letter-spacing: -0.01em; }
.pp-group h3 svg { color: var(--accent-ink); flex: none; }
.pp-table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 14px; color: var(--ink); }
.pp-table col.c1 { width: 36%; }
.pp-table col.c2 { width: 40%; }
.pp-table col.c3 { width: 24%; }
.pp-table thead th { text-align: left; font-weight: 500; font-size: 12.5px; color: var(--muted); padding: 8px 0;
  border-bottom: 1px solid var(--border); }
.pp-table tbody th, .pp-table tbody td { text-align: left; padding: 11px 12px 11px 0; border-bottom: 1px solid var(--bg-soft);
  vertical-align: top; }
.pp-table tbody th { font-weight: 700; overflow-wrap: break-word; }
.pp-article .legal-content .pp-foot { font-size: 13px; color: var(--muted); margin-top: 22px; }
/* Phones: three columns leave a long name (Economybookings, Rentalcars.com) no room, so each row becomes two lines:
   the name with where it works under it, and the link kind on the right. */
@media (max-width: 640px) {
  .pp-legend-row { flex-direction: column; gap: 4px; }
  .pp-table, .pp-table tbody { display: block; }
  .pp-table colgroup, .pp-table thead { display: none; }
  .pp-table tbody tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 12px; row-gap: 2px;
    align-items: center; padding: 10px 0; border-bottom: 1px solid var(--bg-soft); }
  .pp-table tbody th, .pp-table tbody td { padding: 0; border: 0; }
  .pp-table tbody th { grid-column: 1; grid-row: 1; }
  .pp-table tbody td:nth-child(2) { grid-column: 1; grid-row: 2; font-size: 12.5px; color: var(--muted); }
  .pp-table tbody td:nth-child(3) { grid-column: 2; grid-row: 1 / span 2; }
}
