.ap-legal-document { min-width: 0; }
.ap-legal-document .ap-legal-header { display: block; padding: 22px 24px 16px; }
.ap-legal-header h1 { margin: 0; font: inherit; font-size: clamp(1.25rem, 3vw, 1.75rem); font-weight: 600; line-height: 1.35; color: var(--text-default, #f0f3f8); overflow-wrap: anywhere; }
.ap-legal-date { margin: 10px 0 0; font-size: .85rem; color: var(--text-secondary, #b6bdca); }
.ap-legal-document .ap-legal-content { display: block; padding: 8px 24px 28px; line-height: 1.75; color: var(--text-custom, #d7dce5); overflow-wrap: anywhere; }
.ap-legal-nav { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-bottom: 22px; }
.ap-legal-content a { color: var(--text-default, #f0f3f8); text-decoration: underline; text-underline-offset: 3px; }
.ap-legal-content a:hover { opacity: .8; }
.ap-legal-nav a { font-size: .9rem; }
.ap-legal-nav a[aria-current="page"] { font-weight: 700; }
.ap-legal-content a:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; border-radius: 2px; }
.ap-legal-intro { margin: 0 0 24px; }
.ap-legal-toc { margin: 0 0 28px; }
.ap-legal-toc p { margin: 0 0 6px; font-weight: 600; }
.ap-legal-toc ol { display: block; list-style: decimal; padding-left: 24px; margin: 0; }
.ap-legal-toc li { display: list-item; list-style-type: decimal; padding: 2px 0; }
.ap-legal-section { margin-top: 28px; scroll-margin-top: 100px; }
.ap-legal-section h2 { margin: 0 0 12px; font-size: 1.1rem; font-weight: 600; line-height: 1.5; color: var(--text-default, #f0f3f8); }
.ap-legal-section p { margin: 0 0 12px; }
.ap-legal-details { display: grid; grid-template-columns: minmax(130px, 190px) minmax(0, 1fr); gap: 8px 20px; margin: 0; }
.ap-legal-details dt { color: var(--text-secondary, #b6bdca); }
.ap-legal-details dd { margin: 0; }
@media (max-width: 600px) {
  .ap-legal-document .ap-legal-header { padding: 18px 16px 14px; }
  .ap-legal-document .ap-legal-content { padding: 8px 16px 24px; font-size: .9rem; }
  .ap-legal-nav { flex-direction: column; gap: 10px; }
  .ap-legal-details { grid-template-columns: minmax(0, 1fr); gap: 3px; }
  .ap-legal-details dd { margin-bottom: 10px; }
}
@media print {
  .ap-legal-document { background: white !important; color: black !important; box-shadow: none; }
  .ap-legal-content, .ap-legal-section h2, .ap-legal-content a { color: black !important; }
  .ap-legal-nav, .ap-legal-toc { display: none; }
}
