/* ==========================================================================
   XDF Moto Tuning - text pages (About, Privacy Policy, Terms of Service)
   Long text on a white panel under the page band. Needs css/style.css and
   css/pages.css.
   ========================================================================== */

.page-lead {
  max-width: 68ch;
  margin: 14px 0 0;
  color: var(--on-dark-2);
  font-size: var(--text-md);
  line-height: 1.6;
}
.page-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }

.prose {
  padding: var(--space-10) var(--space-12);
  color: var(--text-2);
  font-size: var(--text-base);
  line-height: 1.7;
  overflow-wrap: break-word;
}
.prose > :first-child { margin-top: 0; }
.prose > :last-child { margin-bottom: 0; }
.prose h2 {
  margin: var(--space-10) 0 var(--space-3);
  color: var(--text);
  font: 700 var(--text-xl)/1.3 var(--font-display);
  font-stretch: var(--stretch-display);
  letter-spacing: -0.01em;
}
.prose h3 {
  margin: var(--space-6) 0 var(--space-2);
  color: var(--text);
  font: 700 var(--text-md)/1.4 var(--font-body);
}
.prose p { margin: 0 0 var(--space-4); }
.prose ul { margin: 0 0 var(--space-4); padding-left: 1.25rem; }
.prose li + li { margin-top: var(--space-2); }
.prose li::marker { color: var(--brand-600); }
.prose strong { color: var(--text); font-weight: 600; }
.prose a { color: var(--brand-600); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.prose a:hover { color: var(--brand-700); }

/* Notices kept from the legal text */
.prose .important-notice,
.prose .policy-highlight,
.prose .contact-box {
  margin: var(--space-6) 0;
  padding: var(--space-5) var(--space-6);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  background: var(--surface-2);
}
.prose .important-notice { border-color: #f1d7b3; border-left: 4px solid var(--warning); background: var(--warning-bg); }
.prose .important-notice h3 { color: var(--warning); }
.prose .policy-highlight { border-color: var(--brand-100); border-left: 4px solid var(--brand); background: var(--brand-50); }
.prose .important-notice > :first-child,
.prose .policy-highlight > :first-child,
.prose .contact-box > :first-child { margin-top: 0; }
.prose .important-notice > :last-child,
.prose .policy-highlight > :last-child,
.prose .contact-box > :last-child { margin-bottom: 0; }
.prose .contact-box ul { padding: 0; list-style: none; }
.prose .contact-box li + li { margin-top: var(--space-1); }
.prose .contact-box a { display: inline-flex; align-items: center; min-height: 44px; }
.prose .final-agreement { margin-top: var(--space-8); padding-top: var(--space-6); border-top: 1px solid var(--line); }

@media (max-width: 767px) {
  .page-lead { font-size: var(--text-base); }
  .page-actions .btn { flex: 1 1 auto; }
  .prose { padding: var(--space-6) var(--space-5); }
  .prose h2 { margin-top: var(--space-8); font-size: var(--text-lg); }
  .prose .important-notice,
  .prose .policy-highlight,
  .prose .contact-box { padding: var(--space-4); }
}
@media (max-width: 419px) {
  .prose { padding: var(--space-5) var(--space-4); }
  .prose ul { padding-left: 1.1rem; }
}
