/* The "Free or Featured" comparison table (see scripts/apply-plan-table.mjs, which writes the markup into For Law Firms and List Your Firm).
   It is a self-contained white card, so it reads the same on the dark For Law Firms band and the light List Your Firm page. Palette colours only. */
.pc{ position:relative; max-width:980px; margin:0 auto; background:#fff; color:#142434; border:1px solid #e3dfd3; border-radius:16px; overflow:hidden; text-align:left; box-shadow:0 18px 40px -22px rgba(20,36,52,.45); }
.pc table{ width:100%; border-collapse:separate; border-spacing:0; table-layout:fixed; font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif; }
.pc .sr{ position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
.pc-sprite{ position:absolute; width:0; height:0; overflow:hidden; }
.pc th, .pc td{ padding:13px 16px; vertical-align:middle; }
.pc tbody tr:not(.pc-group) > *{ border-top:1px solid #edeae1; }

/* columns */
.pc .pc-lab{ width:44%; }
.pc .pc-b{ width:22%; text-align:center; }
.pc .pc-f{ width:34%; text-align:center; background:rgba(244,236,216,.5); }

/* the two plan headers */
.pc thead th{ vertical-align:top; padding-top:20px; padding-bottom:18px; font-weight:400; }
.pc thead .pc-h{ text-align:center; }
.pc thead .pc-f{ background:#f4ecd8; border-top:4px solid #c9a050; padding-top:16px; }
.pc .pc-name{ display:block; font-family:'Source Serif 4',Georgia,serif; font-size:20px; font-weight:700; color:#142434; }
.pc .pc-price{ display:block; margin:2px 0 0; font-size:28px; line-height:1.15; font-weight:800; color:#142434; }
.pc .pc-price small{ font-size:14px; font-weight:600; color:#586170; }
.pc .pc-sub{ display:block; margin:3px 0 12px; font-size:12.5px; color:#586170; line-height:1.4; }
.pc .pc-tag{ display:inline-block; margin:0 0 6px; padding:2px 10px; border-radius:999px; background:#142434; color:#f5f3ec; font-size:11px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.pc .pc-btn{ display:block; box-sizing:border-box; width:100%; max-width:230px; margin:0 auto; padding:10px 12px; border:1.5px solid #142434; border-radius:999px; color:#142434; background:#fff; font-size:14px; font-weight:700; text-align:center; text-decoration:none; line-height:1.3; }
.pc .pc-btn:hover{ background:#f4ecd8; }
.pc .pc-btn.go{ background:#c9a050; border-color:#c9a050; }
.pc .pc-btn.go:hover{ background:#e2bd6a; border-color:#e2bd6a; }
.pc .pc-short{ display:none; }
.pc thead th.pc-corner{ vertical-align:bottom; text-align:left; padding-left:16px; padding-bottom:20px; font-size:12px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; color:#586170; }

/* group titles */
.pc .pc-group th{ padding:11px 16px; background:#f5f3ec; border-top:1px solid #e3dfd3; border-bottom:0; text-align:left; font-size:11.5px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; color:#586170; }
.pc thead + tbody .pc-group:first-child th{ border-top:1px solid #e3dfd3; }

/* rows */
.pc tbody th.pc-lab{ text-align:left; font-size:14.5px; font-weight:600; line-height:1.4; color:#142434; }
.pc tbody th.pc-lab small{ display:block; margin-top:2px; font-size:12.5px; font-weight:400; color:#586170; line-height:1.4; }
.pc td{ font-size:13.5px; color:#2b3a4c; line-height:1.4; }
.pc .pc-t b{ color:#142434; }
.pc .pc-i{ width:20px; height:20px; vertical-align:-5px; }
.pc .pc-ok{ color:#142434; }
.pc .pc-b .pc-ok{ color:#586170; }
.pc .pc-f .pc-ok{ box-sizing:content-box; width:15px; height:15px; padding:3px; margin-right:6px; border-radius:50%; background:#c9a050; color:#142434; vertical-align:-6px; }
.pc td.pc-f > .pc-ok:only-of-type{ margin-right:0; }
.pc td .pc-i + .pc-t{ margin-left:2px; }
.pc .pc-lock{ color:#8a919b; }
.pc td.pc-f:has(> .pc-t){ text-align:left; padding-left:20px; }

@media (max-width:680px){
  .pc{ border-radius:12px; }
  .pc th, .pc td{ padding:11px 8px; }
  .pc .pc-lab{ width:42%; }
  .pc .pc-b{ width:24%; }
  .pc .pc-f{ width:34%; }
  .pc tbody th.pc-lab{ font-size:13.5px; padding-left:12px; }
  .pc tbody th.pc-lab small{ font-size:11.5px; }
  .pc td{ font-size:12.5px; }
  .pc .pc-name{ font-size:17px; }
  .pc .pc-price{ font-size:22px; }
  .pc .pc-price small{ font-size:11px; white-space:nowrap; }
  .pc thead th.pc-corner{ padding-left:12px; font-size:10.5px; }
  .pc .pc-sub{ display:none; }
  .pc .pc-tag{ font-size:9.5px; padding:2px 7px; letter-spacing:.02em; }
  .pc .pc-long{ display:none; }
  .pc .pc-short{ display:inline; }
  .pc .pc-btn{ font-size:12.5px; padding:9px 6px; }
  .pc .pc-group th{ padding-left:12px; }
  .pc .pc-i{ width:18px; height:18px; }
  .pc .pc-f .pc-ok{ width:12px; height:12px; padding:3px; margin-right:4px; }
  .pc .pc-f .pc-ok:only-of-type{ margin-right:0; }
  .pc td.pc-f:has(> .pc-t){ padding-left:8px; }
}
