/* Step 22 — Terms, Privacy, Refunds and Contact. Reading pages: one column,
   a comfortable measure, nothing else competing. */
.legal { max-width: 760px; line-height: 1.65; }
.legal h2 { font-family: 'Shippori Mincho', serif; font-size: 1.3rem; margin: 34px 0 8px; }
.legal ul, .legal ol { padding-left: 1.3rem; }
.legal li { margin: 6px 0; }
.legal code { font-size: .85em; background: rgba(0,0,0,.05); padding: 1px 4px; border-radius: 3px; }
.legal-unset {
  margin: 18px 0; padding: 12px 16px; border-radius: 6px; color: #fff;
  background: var(--seal); font-family: system-ui, sans-serif; font-size: .9rem;
}
.legal-unset code { background: rgba(255,255,255,.2); color: #fff; }
.legal-missing { color: var(--seal); font-weight: 700; }
.legal-summary {
  margin: 18px 0; padding: 14px 18px; border-radius: 8px;
  background: var(--paper-deep); border-left: 4px solid #2F7D4F;
}
.legal-summary p { margin: 0; }
.legal-table { width: 100%; border-collapse: collapse; font-size: .92rem; }
.legal-table th, .legal-table td { text-align: left; vertical-align: top; padding: 8px 10px; border-bottom: 1px solid var(--paper-edge); }
.legal-table thead th { border-bottom: 2px solid var(--wood-deep); }
.legal-contact { display: grid; grid-template-columns: max-content 1fr; gap: 6px 18px; }
.legal-contact dt { font-weight: 700; }
.legal-contact dd { margin: 0; }
@media (max-width: 600px) {
  .legal-table, .legal-table tbody, .legal-table tr, .legal-table td { display: block; }
  .legal-table thead { display: none; }
  .legal-table tr { padding: 8px 0; border-bottom: 1px solid var(--paper-edge); }
  .legal-table td { border: 0; padding: 2px 0; }
  .legal-table td:first-child { font-weight: 700; }
}
