/* Legal documents: Terms, Privacy, Refund policy, Content guidelines.
   Hero, brush keyword, tokens and Satoshi come from browse-2026.css (these pages add
   `browse-page` to <body>). This file is self-contained for everything below the hero,
   including the component styles the documents use (rating cards, guideline items,
   tables, pills, ladder, appeal banner), so the pages no longer depend on the old
   shared footer-pages stylesheet and need no !important.

   Built for long reading: ~72ch measure, 17px / 1.75 body, a contents list that stays
   in view, section anchors that clear the fixed header, a collapsible contents list on
   phones, and a clean print stylesheet. The wording of the documents is not touched. */

.legal-page{
  --l-good:#9fc79a;
  --l-warn:#e0be78;
  --l-bad:#e2958a;
  --l-measure:62ch;
}

/* ── Hero (meta line sits under the title) ── */
.legal-page .b-hero{padding-bottom:28px}
.legal-page .legal-meta{margin:18px 0 0;font-size:.875rem;color:var(--b-text-3);font-variant-numeric:tabular-nums}

/* ── Two-column document: contents | text ── */
.legal-page .legal-shell{
  max-width:var(--b-wrap);
  margin:0 auto;
  padding:20px var(--b-pad) 104px;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:32px;
  font-family:var(--b-font);
}
@media(min-width:901px){
  .legal-page .legal-shell{grid-template-columns:240px minmax(0,1fr);gap:72px}
}

/* Contents */
.legal-page .sidebar{min-width:0}
@media(min-width:901px){
  .legal-page .sidebar{position:sticky;top:calc(var(--b-nav) + 24px);align-self:start;max-height:calc(100vh - var(--b-nav) - 48px);overflow-y:auto;scrollbar-width:thin}
}
.legal-page .toc-wrap{margin:0}
.legal-page .toc-label{
  display:block;list-style:none;margin:0 0 14px;padding:0;cursor:default;
  font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--b-text-3);
}
.legal-page .toc-label::-webkit-details-marker{display:none}
.legal-page .toc{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.legal-page .toc a{
  display:block;padding:6px 0;border-radius:4px;text-decoration:none;
  font-size:.875rem;font-weight:400;line-height:1.4;color:var(--b-text-3);
  transition:color .15s ease;
}
.legal-page .toc a:hover{color:var(--b-text)}
.legal-page .toc a.active{color:var(--b-sand);font-weight:500}
.legal-page .toc a:focus-visible{outline:2px solid var(--b-sand);outline-offset:2px}
@media(min-width:901px){
  .legal-page .toc-label{pointer-events:none}
}
/* Phones: contents becomes a bordered, collapsible panel above the text. */
@media(max-width:900px){
  .legal-page .toc-wrap{border:1px solid var(--b-line);border-radius:var(--b-r);padding:0 16px}
  .legal-page .toc-label{margin:0;padding:14px 0;cursor:pointer;display:flex;justify-content:space-between;align-items:center;color:var(--b-text-2)}
  .legal-page .toc-label::after{content:"";width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .2s var(--b-ease)}
  .legal-page .toc-wrap[open] .toc-label::after{transform:rotate(225deg) translateY(-2px)}
  .legal-page .toc{padding:0 0 12px}
  .legal-page .toc a{padding:9px 0}
}

/* ── Text ── */
.legal-page .legal-content{min-width:0;max-width:none;margin:0;padding:0;color:rgba(239,233,220,.82);font-size:1.0625rem;line-height:1.75}
.legal-page .legal-content section{margin:0 0 64px;padding:0 0 64px;border-bottom:1px solid var(--b-line);scroll-margin-top:calc(var(--b-nav) + 28px)}
.legal-page .legal-content section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:0}
.legal-page .legal-content h2{margin:0 0 22px;font-size:1.75rem;font-weight:600;line-height:1.2;letter-spacing:-.035em;color:var(--b-text)}
.legal-page .legal-content h3{margin:36px 0 12px;font-size:1.125rem;font-weight:600;line-height:1.35;letter-spacing:-.015em;color:var(--b-text)}
.legal-page .legal-content h4{margin:0 0 8px;font-size:1rem;font-weight:600;color:var(--b-text)}
.legal-page .legal-content p,
.legal-page .legal-content ul,
.legal-page .legal-content ol{max-width:var(--l-measure);margin:0 0 1.3em}
.legal-page .legal-content ul,
.legal-page .legal-content ol{padding-left:1.3em}
.legal-page .legal-content li{margin:0 0 .5em;padding-left:.2em}
.legal-page .legal-content li::marker{color:var(--b-text-3)}
.legal-page .legal-content strong{color:var(--b-text);font-weight:600}
.legal-page .legal-content a{color:var(--b-sand);text-decoration:underline;text-decoration-color:rgba(232,213,183,.4);text-underline-offset:3px;text-decoration-thickness:1px;transition:text-decoration-color .15s ease,color .15s ease}
.legal-page .legal-content a:hover{color:#f3e6cf;text-decoration-color:currentColor}
.legal-page .legal-content a:focus-visible{outline:2px solid var(--b-sand);outline-offset:3px;border-radius:2px}

/* ── Components the documents use ── */
.legal-page .highlight-box{max-width:var(--l-measure);margin:22px 0;padding:18px 22px;border:1px solid var(--b-line-2);border-radius:var(--b-r);background:var(--b-fill);color:var(--b-text-2)}
.legal-page .highlight-box p:last-child{margin-bottom:0}

.legal-page .pill{display:inline-flex;align-items:center;padding:2px 10px;border-radius:999px;border:1px solid var(--b-line-2);font-size:.75rem;font-weight:600;line-height:1.5;letter-spacing:.02em;white-space:nowrap}
.legal-page .pill-green{color:var(--l-good);border-color:rgba(159,199,154,.4)}
.legal-page .pill-amber{color:var(--l-warn);border-color:rgba(224,190,120,.4)}
.legal-page .pill-red{color:var(--l-bad);border-color:rgba(226,149,138,.4)}

/* Tables: horizontal scroll on narrow screens, never a squashed column */
.legal-page .table-scroll{margin:24px 0;overflow-x:auto;border:1px solid var(--b-line);border-radius:var(--b-r)}
.legal-page .table-scroll:focus-visible{outline:2px solid var(--b-sand);outline-offset:2px}
.legal-page .data-table,
.legal-page .policy-table{width:100%;min-width:560px;margin:0;border-collapse:collapse;font-size:.9375rem}
.legal-page .data-table th,
.legal-page .policy-table th{padding:14px 18px;text-align:left;font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--b-text-3);background:var(--b-fill);border-bottom:1px solid var(--b-line)}
.legal-page .data-table td,
.legal-page .policy-table td{padding:14px 18px;vertical-align:top;color:var(--b-text-2);border-bottom:1px solid var(--b-line)}
.legal-page .data-table tr:last-child td,
.legal-page .policy-table tr:last-child td{border-bottom:0}

/* Rights, conduct, ratings: quiet panels, one corner scale */
.legal-page .rights-grid,
.legal-page .ratings-grid,
.legal-page .conduct-grid{display:grid;gap:16px;margin:24px 0;grid-template-columns:minmax(0,1fr)}
@media(min-width:700px){
  .legal-page .rights-grid,
  .legal-page .conduct-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .legal-page .ratings-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
.legal-page .right-card,
.legal-page .rating-card,
.legal-page .conduct-card{padding:22px;border:1px solid var(--b-line);border-radius:var(--b-r);background:var(--b-fill);margin:0 0 16px}
.legal-page .rights-grid .right-card,
.legal-page .ratings-grid .rating-card,
.legal-page .conduct-grid .conduct-card{margin:0}
.legal-page .right-card p,
.legal-page .rating-card p,
.legal-page .conduct-card li{color:var(--b-text-2);font-size:.9375rem;margin-bottom:0}
.legal-page .rating-card h3{margin:12px 0 6px}
.legal-page .rating-badge{display:inline-flex;align-items:center;min-width:28px;justify-content:center;padding:2px 10px;border:1px solid var(--b-line-2);border-radius:999px;font-size:.75rem;font-weight:700;letter-spacing:.04em;color:var(--b-text)}
.legal-page .rating-card.g{border-color:rgba(159,199,154,.35)}
.legal-page .rating-card.g .rating-badge{color:var(--l-good);border-color:rgba(159,199,154,.45)}
.legal-page .rating-card.t{border-color:rgba(224,190,120,.35)}
.legal-page .rating-card.t .rating-badge{color:var(--l-warn);border-color:rgba(224,190,120,.45)}
.legal-page .rating-card.m{border-color:rgba(226,149,138,.35)}
.legal-page .rating-card.m .rating-badge{color:var(--l-bad);border-color:rgba(226,149,138,.45)}
.legal-page .conduct-card ul{margin:10px 0 0;padding-left:1.1em}
.legal-page .conduct-card h4{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}
.legal-page .conduct-card.allowed{border-color:rgba(159,199,154,.35)}
.legal-page .conduct-card.allowed h4{color:var(--l-good)}
.legal-page .conduct-card.prohibited{border-color:rgba(226,149,138,.35)}
.legal-page .conduct-card.prohibited h4{color:var(--l-bad)}

/* Guideline items: a short coloured rule above the heading says what kind of item it is. */
.legal-page .guideline-item{max-width:var(--l-measure);margin:0 0 28px;padding:0}
.legal-page .guideline-item::before{content:"";display:block;width:28px;height:2px;margin:0 0 14px;background:var(--b-sand)}
.legal-page .guideline-item.prohibited::before{background:var(--l-bad)}
.legal-page .guideline-item.encouraged::before{background:var(--l-good)}
.legal-page .guideline-item h3{margin:0 0 8px}
.legal-page .guideline-item p{margin:0;color:var(--b-text-2)}

/* Enforcement ladder: numbered steps */
.legal-page .enforcement-steps,
.legal-page .enforcement-ladder{counter-reset:step;list-style:none;margin:22px 0;padding:0;max-width:var(--l-measure)}
.legal-page .enforcement-steps li,
.legal-page .enforcement-ladder li{counter-increment:step;display:flex;gap:16px;align-items:flex-start;margin:0 0 12px;padding:16px 20px;border:1px solid var(--b-line);border-radius:var(--b-r);background:var(--b-fill)}
.legal-page .enforcement-steps li::before,
.legal-page .enforcement-ladder li::before{content:counter(step);flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--b-sand);color:var(--b-ink);font-size:.75rem;font-weight:700}

/* Appeal banner and its button */
.legal-page .appeal-banner{max-width:var(--l-measure);margin:28px 0 0;padding:26px;border:1px solid var(--b-line-2);border-radius:var(--b-r);background:var(--b-fill)}
.legal-page .appeal-banner h3{margin:0 0 8px}
.legal-page .appeal-banner p{margin:0 0 18px;color:var(--b-text-2)}
.legal-page .legal-content a.appeal-btn,
.legal-page .legal-content a.btn-premium{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 22px;border-radius:var(--b-r);background:var(--b-sand);color:var(--b-ink);font-size:.9375rem;font-weight:600;text-decoration:none;transition:background .2s ease}
.legal-page .legal-content a.appeal-btn:hover,
.legal-page .legal-content a.btn-premium:hover{background:#f3e6cf;color:var(--b-ink)}

@media(max-width:700px){
  .legal-page .legal-content{font-size:1rem}
  .legal-page .legal-content h2{font-size:1.5rem}
  .legal-page .legal-content section{margin-bottom:48px;padding-bottom:48px}
}

/* ── Print: plain black on white, no chrome, link addresses shown ── */
@media print{
  body.legal-page{background:#fff;color:#000}
  .legal-page .b-hero{padding:0 0 12px}
  .legal-page .sidebar,
  .legal-page .appeal-btn,
  .legal-page .nv-brush-defs{display:none}
  .legal-page .b-title,
  .legal-page .legal-content h2,
  .legal-page .legal-content h3,
  .legal-page .legal-content strong{color:#000}
  .legal-page .b-word-base,.legal-page .b-word-ov{color:#000}
  .legal-page .b-band{display:none}
  .legal-page .b-sub,.legal-page .legal-meta,.legal-page .legal-content,.legal-page .legal-content p,.legal-page .legal-content li{color:#222}
  .legal-page .legal-shell{display:block;padding:0}
  .legal-page .legal-content a{color:#000;text-decoration:underline}
  .legal-page .legal-content a[href^="http"]::after{content:" (" attr(href) ")";font-size:.85em;color:#444}
  .legal-page .legal-content section{break-inside:avoid-page;border-color:#ccc}
}

@media(prefers-reduced-motion:reduce){
  .legal-page .toc-label::after{transition:none}
}
