/* TradePilot legal pages and footer - TP-WEB-LEGAL-20260920-R1 */
.legal-hero { background:#f4f6f7; padding:30px 0 46px; border-bottom:1px solid #dfe6e2; }
.legal-breadcrumb { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-bottom:33px; color:#65726e; font-size:.83rem; }
.legal-breadcrumb a { color:#50625a; text-decoration:none; }
.legal-breadcrumb a:hover { text-decoration:underline; }
.legal-hero .eyebrow { margin-bottom:16px; font-size:.72rem; letter-spacing:.13em; }
.legal-hero h1 { font-size:clamp(2.25rem,4.6vw,3.75rem); line-height:1.12; letter-spacing:-.045em; max-width:950px; margin:0 0 18px; }
.legal-hero .lead { color:#53635e; max-width:830px; font-size:1.09rem; line-height:1.65; margin:0; }
.legal-meta { display:flex; flex-wrap:wrap; gap:12px 20px; align-items:center; margin-top:26px; font-size:.79rem; color:#5b6b63; }
.legal-version { border:1px solid #d2ded6; border-radius:20px; padding:4px 11px; background:#fff; }
.legal-print { border:0; background:transparent; padding:6px 0; color:#176b4d; cursor:pointer; font:inherit; text-decoration:underline; text-underline-offset:3px; }
.legal-print[hidden] { display:none; }
.legal-print span { margin-left:5px; }
.legal-section { padding:44px 0 72px; background:#fff; }
.legal-layout { display:grid; grid-template-columns:255px minmax(0,1fr); gap:52px; align-items:start; }
.legal-sidebar { position:sticky; top:105px; min-width:0; }
.legal-toc { border:1px solid #dfe6e2; border-radius:10px; background:#f8faf9; overflow:hidden; }
.legal-toc summary { font-family:Manrope,'DM Sans',sans-serif; font-size:.88rem; font-weight:800; list-style:none; padding:17px 18px; cursor:pointer; color:#20392d; }
.legal-toc summary::-webkit-details-marker { display:none; }
.legal-toc summary span { float:right; font-weight:500; font-size:1.1rem; }
.legal-toc[open] summary span { transform:rotate(45deg); }
.legal-toc nav { max-height:calc(100vh - 230px); overflow:auto; padding:0 9px 12px; scrollbar-width:thin; }
.legal-toc ol { list-style:none; padding:0; margin:0; }
.legal-toc a { display:block; color:#57645e; font-size:.79rem; line-height:1.48; padding:8px 9px; border-radius:5px; text-decoration:none; }
.legal-toc a:hover, .legal-toc a.is-current { background:#e7f0eb; color:#12603f; }
.legal-all-docs { display:inline-flex; align-items:center; min-height:44px; font-size:.81rem; font-weight:600; color:#176b4d; margin-top:12px; text-decoration:none; }
.legal-article { min-width:0; max-width:790px; }
.legal-key-note { background:#edf5f0; border:1px solid #d5e6dc; border-left:4px solid #238256; padding:21px 24px; border-radius:7px; margin-bottom:35px; }
.legal-key-note>strong { font-family:Manrope,'DM Sans',sans-serif; color:#174b33; font-size:.86rem; }
.legal-key-note p { font-size:.94rem; line-height:1.68; margin:7px 0 0; color:#355344; }
.legal-copy-section { scroll-margin-top:108px; padding:0 0 29px; margin:0 0 29px; border-bottom:1px solid #e6ebe8; }
.legal-copy-section h2 { font-family:Manrope,'DM Sans',sans-serif; font-size:clamp(1.22rem,2vw,1.49rem); line-height:1.4; letter-spacing:-.025em; color:#152d21; margin:0 0 15px; }
.legal-copy-section h3 { font-size:1.07rem; line-height:1.4; }
.legal-copy-section p, .legal-copy-section li, .legal-copy-section dd { color:#46544d; font-size:.98rem; line-height:1.8; }
.legal-copy-section p { margin:0 0 14px; }
.legal-copy-section p:last-child { margin-bottom:0; }
.legal-copy-section strong { color:#293e32; }
.legal-copy-section a:not(.legal-card) { color:#166d49; text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.legal-copy-section ul { padding-left:24px; margin:14px 0 19px; }
.legal-copy-section li { padding-left:4px; margin:7px 0; }
.legal-copy-section dt { font-weight:700; color:#24402f; margin:18px 0 4px; }
.legal-copy-section dd { margin:0 0 12px; }
.legal-copy-section code { background:#f0f4f1; border-radius:3px; padding:2px 5px; font-size:.87em; overflow-wrap:anywhere; }
.legal-table-wrap { overflow-x:auto; margin:18px 0; border:1px solid #dfe6e2; border-radius:8px; }
.legal-copy-section table { width:100%; border-collapse:collapse; min-width:590px; font-size:.87rem; }
.legal-copy-section caption { text-align:left; padding:14px 16px; color:#223e2d; background:#f5f8f6; font-weight:700; }
.legal-copy-section th, .legal-copy-section td { text-align:left; vertical-align:top; padding:13px 15px; border-top:1px solid #dfe6e2; line-height:1.65; color:#46544d; }
.legal-copy-section thead th { background:#eef3ef; color:#203d2b; }
.legal-copy-section tbody th { width:25%; color:#283e30; font-weight:600; }
.legal-end { display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; align-items:center; }
.legal-end p { font-size:.8rem; margin:0; color:#68776e; }
.legal-end a { font-size:.84rem; color:#176b4d; }
.legal-layout-hub { display:block; }
.legal-layout-hub .legal-article { max-width:none; }
.legal-layout-hub .legal-key-note { max-width:910px; }
.legal-card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.legal-card { display:block; position:relative; padding:24px 56px 24px 24px; border:1px solid #dce5df; border-radius:10px; text-decoration:none; background:#fff; transition:border-color .15s,background .15s; }
.legal-card:hover { border-color:#8cae99; background:#fafcfb; }
.legal-card-label { font-size:.65rem; letter-spacing:.11em; font-weight:800; color:#4d785e; }
.legal-card h3 { margin:10px 0 9px; color:#193b27; font-family:Manrope,'DM Sans',sans-serif; font-size:1.19rem; letter-spacing:-.02em; }
.legal-card p { font-size:.92rem; line-height:1.65; margin:0; }
.legal-card-arrow { position:absolute; top:25px; right:24px; color:#287049; font-size:1.45rem; }
.footer-legal-nav { display:flex; flex-wrap:wrap; column-gap:20px; row-gap:3px; border-top:1px solid rgba(255,255,255,.1); padding-top:23px; margin-top:26px; }
.footer-legal-nav a { color:#b7c9c0; font-size:.78rem; min-height:36px; display:inline-flex; align-items:center; text-decoration:none; }
.footer-legal-nav a:hover { color:#fff; text-decoration:underline; text-underline-offset:3px; }
.help-legal-nav { padding-bottom:10px; margin-top:0; }
.legal-pricing-note { text-align:center; font-size:.84rem; line-height:1.7; color:#66756c; max-width:780px; margin:25px auto 0; }
.legal-pricing-note a { color:#176b4d; text-decoration:underline; }
.contact-form .legal-collection-notice { display:block; line-height:1.7; font-size:.76rem; margin-top:15px; color:#5b6c60; }
.contact-form .legal-collection-notice a { color:#176b4d; text-decoration:underline; }
.legal-upload-warning { display:block; font-size:.73rem; font-weight:400; color:#68766d; margin-top:6px; line-height:1.6; }
.legal-hero a:focus-visible,.legal-section a:focus-visible,.legal-section summary:focus-visible,.legal-print:focus-visible { outline:3px solid #77a58a; outline-offset:4px; border-radius:3px; }
@media (max-width:1000px) {
  .legal-layout { grid-template-columns:225px minmax(0,1fr); gap:30px; }
  .legal-toc a { font-size:.76rem; }
}
@media (max-width:800px) {
  .legal-layout { display:block; }
  .legal-sidebar { position:static; margin-bottom:28px; }
  .legal-toc nav { max-height:320px; }
  .legal-toc a { font-size:.86rem; padding:10px; }
  .legal-all-docs { display:none; }
  .legal-article { max-width:none; }
  .legal-hero { padding:24px 0 34px; }
  .legal-breadcrumb { margin-bottom:26px; font-size:.77rem; }
  .legal-section { padding-top:28px; }
  .legal-copy-section { scroll-margin-top:88px; }
}
@media (max-width:540px) {
  .legal-hero .lead { font-size:1rem; }
  .legal-meta { gap:10px 12px; font-size:.74rem; }
  .legal-key-note { padding:18px; margin-bottom:28px; }
  .legal-card-grid { grid-template-columns:1fr; }
  .legal-card { padding:20px 48px 20px 20px; }
  .legal-copy-section p,.legal-copy-section li,.legal-copy-section dd { font-size:.95rem; line-height:1.75; }
  .footer-legal-nav { gap:0 17px; }
  .footer-legal-nav a { min-height:44px; }
  .legal-copy-section table { min-width:0; }
  .legal-copy-section thead { display:none; }
  .legal-copy-section tr { display:block; padding:12px 15px; border-top:1px solid #dfe6e2; }
  .legal-copy-section tbody th,.legal-copy-section td { display:block; width:auto; padding:5px 0; border:0; }
}
/* Keep existing Help Centre topic cards inside their tablet grid. */
@media (min-width:721px) and (max-width:980px) {
  .help-body .help-topic-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .help-body .help-topic-list>a { min-width:0; grid-template-columns:42px minmax(0,1fr) 34px 20px; }
  .help-body .help-topic-list>a>span { min-width:0; }
  .help-body .help-topic-list small { max-width:100%; }
}
@media (prefers-reduced-motion:reduce) { .legal-card { transition:none; } }
@media print {
  @page { margin:18mm 16mm; }
  .site-header,footer,.legal-sidebar,.legal-breadcrumb,.legal-print,.skip-link,.legal-end>a { display:none!important; }
  .legal-hero { padding:0 0 16px; background:none; }
  .legal-hero .eyebrow { margin-top:0; }
  .legal-hero h1 { font-size:26pt; }
  .legal-hero .lead { font-size:10.5pt; }
  .legal-meta { margin-top:12px; font-size:9pt; }
  .legal-section { padding:18px 0 0; }
  .container { width:auto!important; max-width:none!important; margin:0!important; padding:0!important; }
  .legal-layout { display:block; }
  .legal-article { max-width:none; }
  .legal-key-note { padding:12px; margin-bottom:22px; break-inside:avoid; }
  .legal-key-note p,.legal-copy-section p,.legal-copy-section li,.legal-copy-section dd { font-size:10pt; line-height:1.55; color:#000; }
  .legal-copy-section { padding-bottom:14px; margin-bottom:16px; }
  .legal-copy-section h2 { font-size:13pt; break-after:avoid; }
  .legal-copy-section p { orphans:3; widows:3; }
  .legal-copy-section a { color:#000!important; }
  .legal-copy-section table { min-width:0; font-size:9pt; }
  .legal-table-wrap { overflow:visible; }
  .legal-copy-section thead { display:table-header-group; }
  .legal-copy-section tr { display:table-row; break-inside:avoid; padding:0; }
  .legal-copy-section tbody th,.legal-copy-section td { display:table-cell; width:auto; padding:8px; border-top:1px solid #ccc; }
  .legal-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .legal-card { break-inside:avoid; }
}
