/* Terms pages (standalone M15 S3; one document per step 2026-10-15): "Before you continue" + the public /terms and
   /privacy. TMX tokens only. The document text sits in the page (no scroll box inside the page). */
.tm-terms-body{margin:0;background:var(--tmx-bg);color:var(--tmx-ink);font-family:var(--tmx-font, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif);font-size:var(--tmx-fs-sm)}
.tm-terms-topbar{display:flex;justify-content:flex-end;gap:14px;padding:8px 16px;background:var(--tmx-brand);color:#cfd3da;font-size:var(--tmx-fs-micro)}
.tm-terms-topbar b{color:#fff}
.tm-terms-topbar a{color:#fff}
.tm-terms-shell{max-width:780px;margin:0 auto;padding:24px 16px 40px}
.tm-terms-body.is-accept .tm-terms-shell{padding-bottom:24px}
.tm-terms-brand{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.tm-terms-brand img{max-height:44px;max-width:160px}
.tm-terms-mark{width:44px;height:44px;border-radius:var(--tmx-r);background:var(--tmx-brand);color:#fff;display:grid;place-items:center;font-weight:700}
.tm-terms-brand b{display:block;font-size:var(--tmx-fs-h3)}
.tm-terms-brand span{color:var(--tmx-ink-3)}
.tm-terms-intro{margin:0 0 14px;color:var(--tmx-ink-2);line-height:1.5}
.tm-terms-error{border-left-color:var(--tmx-danger);margin-bottom:14px}
.tm-terms-ver{margin-left:auto;color:var(--tmx-ink-3);font-size:var(--tmx-fs-micro)}

/* Steps: 1 Terms & Conditions — 2 Privacy Policy */
.tm-terms-steps{display:flex;list-style:none;margin:0 0 16px;padding:0;background:#fff;border:1px solid var(--tmx-line);border-radius:var(--tmx-r);overflow:hidden}
.tm-terms-steps li{flex:1;display:flex;align-items:center;gap:10px;padding:12px 14px;color:var(--tmx-ink-3);font-weight:600;min-width:0}
.tm-terms-steps li + li{border-left:1px solid var(--tmx-line)}
.tm-terms-steps li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tm-terms-steps i{flex:0 0 24px;height:24px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:12px;background:var(--tmx-surface-sunken);color:var(--tmx-ink-2)}
.tm-terms-steps li.cur{color:var(--tmx-ink)}
.tm-terms-steps li.cur i{background:var(--tmx-accent);color:#fff}
.tm-terms-steps li.done{color:var(--tmx-success-hover)}
.tm-terms-steps li.done i{background:var(--tmx-success);color:#fff}

/* The document text */
.tm-terms-text{padding:8px 20px 18px;line-height:1.6;color:var(--tmx-ink-2)}
.tm-terms-text h1,.tm-terms-text h2,.tm-terms-text h3,.tm-terms-text h4{color:var(--tmx-ink);font-weight:700;line-height:1.3}
.tm-terms-text h1,.tm-terms-text h2{font-size:var(--tmx-fs-h3);margin:18px 0 8px}
.tm-terms-text h3,.tm-terms-text h4{font-size:var(--tmx-fs-md);margin:20px 0 6px}
.tm-terms-text > :first-child{margin-top:10px}
.tm-terms-text p{margin:6px 0}
.tm-terms-text ul,.tm-terms-text ol{margin:6px 0 10px;padding-left:22px}
.tm-terms-text ul{list-style:disc}
.tm-terms-text ol{list-style:decimal}
.tm-terms-text ol li[data-list="bullet"]{list-style:disc}
.tm-terms-text li{margin:3px 0}
.tm-terms-text li > ul,.tm-terms-text li > ol{margin:4px 0}
.tm-terms-text a{color:var(--tmx-accent-hover)}
.tm-terms-text .ql-ui{display:none}

/* The bar fixed to the bottom of the screen: tick + Back / Decline / Next or Accept */
.tm-terms-bar{position:sticky;bottom:0;z-index:5;margin:0;background:#fff;border-top:1px solid var(--tmx-line);box-shadow:0 -6px 16px rgba(16,24,40,.06)}
.tm-terms-bar-in{max-width:780px;margin:0 auto;padding:12px 16px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.tm-terms-agree{display:flex;gap:8px;align-items:flex-start;font-weight:600;cursor:pointer;margin-right:auto}
.tm-terms-agree input{margin-top:2px}
.tm-terms-accepted{display:flex;gap:8px;align-items:center;margin-right:auto;color:var(--tmx-ink-2)}
.tm-terms-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}
@media (max-width:600px){
  .tm-terms-steps li{padding:10px;gap:8px}
  .tm-terms-steps li span{font-size:var(--tmx-fs-micro)}
  .tm-terms-actions{width:100%}
  .tm-terms-actions .tmx-btn{flex:1 1 auto;justify-content:center}
}

.tm-terms-foot{margin-top:16px;color:var(--tmx-ink-3)}
.tm-terms-foot a{color:var(--tmx-accent-hover);text-decoration:none}
.tm-terms-foot a:hover{text-decoration:underline}
