/* Legal pages: hero, sticky side navigation, readable text column. */

.trt-legal { background: var(--trt-bg, #f5f7fa); padding-bottom: 72px; }
.trt-legal__hero {
	padding: 48px 0 40px; color: #fff;
	background: radial-gradient(120% 140% at 85% 0%, var(--trt-primary-light, #0071c2) 0%, transparent 55%), var(--trt-primary, #003580);
}
.trt-legal__eyebrow { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 10px !important; padding: 4px 12px; border-radius: 999px; background: rgba(255,255,255,.14); font-size: .8rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.trt-legal__eyebrow .trt-icon { width: 16px; height: 16px; }
.trt-legal__title { margin: 0 !important; color: #fff; font-size: clamp(1.9rem, 4vw, 2.8rem); line-height: 1.1; letter-spacing: -.02em; }
.trt-legal__meta { margin: 10px 0 0 !important; opacity: .82; font-size: .92rem; }

.trt-legal__layout { display: grid; gap: 28px; margin-top: -20px; }
@media (min-width: 960px) { .trt-legal__layout { grid-template-columns: 280px minmax(0, 1fr); align-items: start; gap: 40px; } }

.trt-legal__side { display: grid; gap: 14px; }
@media (min-width: 960px) { .trt-legal__side { position: sticky; top: calc(var(--trt-header-h, 72px) + 20px); } }
.trt-legal__nav, .trt-legal__toc { background: var(--trt-card, #fff); border: 1px solid var(--trt-border, #e3e7ee); border-radius: var(--trt-radius, 16px); padding: 8px; }
.trt-legal__nav ul { display: grid; gap: 2px; margin: 0; padding: 0; list-style: none; }
.trt-legal__nav a { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 10px; color: var(--trt-text, #1d2433); font-weight: 600; font-size: .92rem; text-decoration: none; transition: background .15s; }
.trt-legal__nav a .trt-icon { width: 18px; height: 18px; color: var(--trt-muted, #6c6c6c); }
.trt-legal__nav a:hover { background: var(--trt-bg, #f5f7fa); }
.trt-legal__nav a[aria-current="page"] { background: var(--trt-primary-soft, #e8f0fb); color: var(--trt-primary, #003580); }
.trt-legal__nav a[aria-current="page"] .trt-icon { color: currentColor; }
@media (max-width: 959.98px) {
	.trt-legal__nav ul { display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; }
	.trt-legal__nav a { white-space: nowrap; }
}
.trt-legal__toc { padding: 14px 16px; }
.trt-legal__toc summary { cursor: pointer; font-weight: 700; font-size: .85rem; text-transform: uppercase; letter-spacing: .05em; color: var(--trt-muted, #6c6c6c); }
.trt-legal__toc ol { margin: 10px 0 0; padding-left: 20px; display: grid; gap: 6px; font-size: .88rem; }
.trt-legal__toc a { color: var(--trt-text, #1d2433); text-decoration: none; }
.trt-legal__toc a:hover { color: var(--trt-primary, #003580); text-decoration: underline; }

.trt-legal__body { background: var(--trt-card, #fff); border: 1px solid var(--trt-border, #e3e7ee); border-radius: var(--trt-radius, 16px); padding: clamp(22px, 4vw, 48px); max-width: 860px; font-size: 1rem; line-height: 1.7; }
.trt-legal__body h2 { margin: 2em 0 .6em !important; font-size: 1.35rem; line-height: 1.3; scroll-margin-top: calc(var(--trt-header-h, 72px) + 16px); }
.trt-legal__body h2:first-child, .trt-legal__body p:first-child + h2 { margin-top: .8em !important; }
.trt-legal__body h3 { margin: 1.4em 0 .4em !important; font-size: 1.08rem; }
.trt-legal__body p, .trt-legal__body li { color: var(--trt-text, #1d2433); }
.trt-legal__body ul, .trt-legal__body ol { padding-left: 22px; }
.trt-legal__body li + li { margin-top: 6px; }
.trt-legal__body a { color: var(--trt-primary-light, #0071c2); }
.trt-legal__body em { color: var(--trt-muted, #6c6c6c); }

.trt-legal-table { overflow-x: auto; margin: 12px 0; border: 1px solid var(--trt-border, #e3e7ee); border-radius: 12px; }
.trt-legal-table table { width: 100%; border-collapse: collapse; font-size: .88rem; line-height: 1.45; }
.trt-legal-table th, .trt-legal-table td { padding: 10px 12px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--trt-border, #e3e7ee); }
.trt-legal-table th { background: var(--trt-bg, #f5f7fa); font-weight: 700; white-space: nowrap; }
.trt-legal-table tr:last-child td { border-bottom: 0; }
.trt-legal-table code { font-size: .82rem; white-space: nowrap; }

.trt-skin-genz .trt-legal__hero { background: var(--trt-primary, #5B3DF5); }
.trt-skin-genz .trt-legal__nav, .trt-skin-genz .trt-legal__toc, .trt-skin-genz .trt-legal__body { border: 2px solid var(--trt-ink, #121217); box-shadow: 4px 4px 0 var(--trt-ink, #121217); }
