/* ============================================================
   legal / pricing pages (/pricing/, /pricing/models/, /requisites/,
   /offer/, /refund/, /privacy/). Layered on styles.css + product.css.
   ============================================================ */

/* Readable column for long legal text: cap the text blocks, never the direct children of .doc-section
   (product.css: a narrower child shifts the section left of the page centre). */
.legal p, .legal ul, .legal ol, .legal h2, .legal h3 { max-width: var(--doc-col); }
.legal .doc-h3:first-child { margin-top: 0; }
.legal p, .legal li { line-height: 1.65; }
.legal .plain-list { margin-bottom: 18px; }
.legal__edition { color: var(--text-dim) !important; font-size: 0.92rem; }

/* /pricing/ cards */
.price-val { font-size: 1.1rem; margin-bottom: 8px !important; }
.price-val strong { color: var(--text); }
.legal .doc-callout { margin-top: 20px; }

/* /requisites/ definition list */
.req { padding: 8px 22px; margin-bottom: 20px; }
.req__row { display: grid; grid-template-columns: minmax(150px, 230px) minmax(0, 1fr); gap: 4px 20px; padding: 12px 0; border-top: 1px solid var(--border); }
.req__row:first-child { border-top: 0; }
.req dt { color: var(--text-muted); }
.req dd { color: var(--text); font-weight: 500; overflow-wrap: anywhere; }
.req dd a { color: var(--brand-3); }
@media (max-width: 560px) {
  .req { padding: 4px 16px; }
  .req__row { grid-template-columns: minmax(0, 1fr); gap: 2px; padding: 10px 0; }
}

/* /pricing/models/ table (rendered by /assets/models-prices.js) */
.legal > .models { max-width: none; }
.models__scroll { overflow-x: auto; max-width: 100%; margin-bottom: 14px; border: 1px solid var(--border); border-radius: var(--radius-sm); }
.models__table { width: 100%; border-collapse: collapse; font-size: 0.95rem; }
.models__table th, .models__table td { padding: 12px 16px; text-align: right; border-top: 1px solid var(--border); white-space: nowrap; }
.models__table thead th { border-top: 0; color: var(--text-muted); font-weight: 600; font-size: 0.85rem; background: var(--surface); }
.models__table th:first-child { text-align: left; white-space: normal; overflow-wrap: anywhere; }
.models__table tbody th { font-weight: 500; font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 0.88rem; color: var(--text); }
.models__table td { color: var(--text-muted); font-variant-numeric: tabular-nums; }
@media (max-width: 560px) {
  .models__table th, .models__table td { padding: 10px 10px; font-size: 0.86rem; }
}

.sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
