/* Extra styles for the comparison ("switch") pages.
   Sits on top of /legal/style.css — only adds what those pages need. */
.card{border:1px solid var(--border);border-radius:14px;padding:20px 22px;margin:16px 0;background:var(--surface);}
.card h3{margin:0 0 8px;}
.cta{display:inline-block;padding:12px 22px;border-radius:10px;background:var(--lime);color:#0a0f1e;font-weight:700;text-decoration:none;margin:10px 0;}
.cta:hover{filter:brightness(1.08);}
.quiet{font-size:13.5px;color:var(--text-3);}

/* Comparison table — fixed layout so cells wrap; never clips, never scrolls sideways */
.tw{margin:18px 0;border:1px solid var(--border);border-radius:14px;background:var(--surface);overflow:hidden;}
table{border-collapse:collapse;width:100%;font-size:14.5px;table-layout:fixed;}
th,td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--border);color:var(--text-2);
  vertical-align:top;overflow-wrap:anywhere;hyphens:none;}
th{color:var(--text);font-weight:650;}
tbody tr:last-child td{border-bottom:0;}
td.num,th.num{font-variant-numeric:tabular-nums;}
th[scope="row"]{width:26%;color:var(--text);font-weight:650;}

/* Narrow screens: stack each row into a labelled block so nothing is ever cut off */
@media (max-width:640px){
  table,thead,tbody,tr,th,td{display:block;}
  thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
  tr{border-bottom:1px solid var(--border);padding:6px 0;}
  tbody tr:last-child{border-bottom:0;}
  td{border-bottom:0;padding:5px 14px;display:flex;gap:12px;}
  td::before{content:attr(data-label);flex:0 0 42%;color:var(--text-3);font-size:13px;}
  th[scope="row"]{width:auto;padding:12px 14px 4px;font-weight:700;color:var(--text);font-size:16px;}
}
tr.us td{background:rgba(185,242,124,.06);color:var(--text);}
tr.us th[scope="row"]{background:rgba(185,242,124,.06);font-weight:700;}
.win{color:var(--lime);}

/* Honest-limits block — visually distinct from the sales cards */
.fair{border:1px solid var(--border);border-left:3px solid var(--text-3);border-radius:10px;padding:16px 20px;margin:16px 0;background:transparent;}
.fair h3{margin:0 0 8px;font-size:16px;}

/* FAQ */
details.q{border-bottom:1px solid var(--border);padding:14px 0;}
details.q:last-of-type{border-bottom:0;}
details.q summary{cursor:pointer;font-weight:650;color:var(--text);list-style:none;}
details.q summary::-webkit-details-marker{display:none;}
details.q summary::before{content:"+ ";color:var(--lime);font-weight:700;}
details.q[open] summary::before{content:"\2212 ";}
details.q p{margin:10px 0 0;}
details.q summary:focus-visible{outline:2px solid var(--lime);outline-offset:3px;border-radius:4px;}

.src{font-size:12.5px;color:var(--text-3);margin-top:6px;}
.src a{color:var(--text-3);text-decoration:underline;}


/* Visually-hidden table captions: announced by screen readers, invisible on screen */
.vh{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0;}

/* Links inside body copy were distinguished by colour alone */
main p a:not(.cta):not(.btn){text-decoration:underline;text-underline-offset:2px;}

/* Keyboard focus was undefined everywhere except the FAQ summaries */
a:focus-visible,.cta:focus-visible,summary:focus-visible{outline:2px solid var(--lime);outline-offset:3px;border-radius:4px;}

/* Current page in the cross-link strip */
.here{color:var(--text-3);}
