/* =========================================================================
   SUMBRA — Legal documents (long-form reading)
   Child elements are width-limited; containers stay on the shared grid.
   ========================================================================= */

.sumbra-legal__header { padding-top: var(--sumbra-space-xl); padding-bottom: var(--sumbra-space-md); }
.sumbra-legal__title { max-width: 24ch; text-wrap: balance; }
.sumbra-legal__updated { font-size: 0.9rem; color: var(--sumbra-piedra); margin: var(--sumbra-space-xs) 0 0; }
.sumbra-legal__intro { max-width: 62ch; margin-top: var(--sumbra-space-sm); }

.sumbra-legal__body-wrap { padding-bottom: var(--sumbra-space-xl); }

/* Contents (only rendered for long documents) */
.sumbra-legal__toc { max-width: 72ch; border-top: 1px solid var(--sumbra-lino); border-bottom: 1px solid var(--sumbra-lino); padding: var(--sumbra-space-sm) 0; margin-bottom: var(--sumbra-space-lg); }
.sumbra-legal__toc ol { margin: var(--sumbra-space-xs) 0 0; padding-left: 1.4em; }
.sumbra-legal__toc li { padding: 4px 0; }
.sumbra-legal__toc a { display: inline-block; min-height: 32px; line-height: 32px; }

/* The document */
.sumbra-legal__body { max-width: 72ch; color: var(--sumbra-carbon); }
.sumbra-legal__body p,
.sumbra-legal__body li { font-size: 1.05rem; line-height: 1.7; }
.sumbra-legal__body p { margin: 0 0 var(--sumbra-space-sm); }
.sumbra-legal__body h2,
.sumbra-legal__body h3 { font-family: var(--sumbra-font-display); line-height: 1.15; scroll-margin-top: calc(var(--sumbra-header-height, 84px) + 16px); }
.sumbra-legal__body h2 { font-size: clamp(1.6rem, 1.3rem + 1.2vw, 2.2rem); margin: var(--sumbra-space-xl) 0 var(--sumbra-space-sm); }
.sumbra-legal__body h3 { font-size: clamp(1.25rem, 1.1rem + 0.6vw, 1.5rem); margin: var(--sumbra-space-lg) 0 var(--sumbra-space-xs); }
.sumbra-legal__body > :first-child { margin-top: 0; }
.sumbra-legal__body ul,
.sumbra-legal__body ol { margin: 0 0 var(--sumbra-space-sm); padding-left: 1.4em; }
.sumbra-legal__body li { margin-bottom: 6px; }
.sumbra-legal__body li > ul,
.sumbra-legal__body li > ol { margin-top: 6px; margin-bottom: 0; }
.sumbra-legal__body a,
.sumbra-legal__toc a { text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.sumbra-legal__body a:focus-visible,
.sumbra-legal__toc a:focus-visible { outline: 2px solid var(--sumbra-carbon); outline-offset: 2px; }
/* Tables scroll inside themselves; the page never scrolls sideways. */
.sumbra-legal__body table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; }
.sumbra-legal__body th,
.sumbra-legal__body td { border: 1px solid var(--sumbra-lino); padding: 8px 12px; text-align: left; }

@media (min-width: 1024px) {
	.sumbra-legal__body p,
	.sumbra-legal__body li { font-size: 1.125rem; }
}
