.breadcrumb { padding: var(--space-4) 0; }
.breadcrumb__list { display: flex; gap: var(--space-2); align-items: center; font-size: var(--text-sm); color: var(--color-text-muted); list-style: none; margin: 0; padding: 0; }
.breadcrumb__item a { color: var(--color-text-muted); }
.breadcrumb__item a:hover { color: var(--color-primary); text-decoration: none; }
.breadcrumb__item[aria-current] { color: var(--color-text-secondary); }
.breadcrumb__item:not(:last-child)::after { content: "/"; margin-left: var(--space-2); color: var(--color-border); }

.legal-page { padding-bottom: var(--space-24); }
.legal-content { max-width: 800px; margin: 0 auto; }
.legal-content__header { text-align: center; margin-bottom: var(--space-12); padding-bottom: var(--space-8); border-bottom: 1px solid var(--color-border); }
.legal-content__header h1 { font-size: var(--text-4xl); margin-bottom: var(--space-4); color: var(--color-primary); }
.legal-content__effective-date { color: var(--color-text-muted); font-size: var(--text-sm); margin-bottom: 0; }

.toc { background: var(--color-surface); padding: var(--space-6); border-radius: var(--radius-lg); margin-bottom: var(--space-12); border: 1px solid var(--color-border); box-shadow: var(--shadow-sm); }
.toc h2 { font-size: var(--text-xl); margin-bottom: var(--space-4); color: var(--color-primary); }
.toc ul { columns: 2; column-gap: var(--space-8); list-style: none; margin: 0; padding: 0; }
.toc li { break-inside: avoid; margin-bottom: var(--space-2); }
.toc a { color: var(--color-text-secondary); font-size: var(--text-sm); text-decoration: none; display: block; padding: var(--space-1) 0; }
.toc a:hover { color: var(--color-primary); text-decoration: underline; }

.legal-section { margin-bottom: var(--space-12); scroll-margin-top: var(--space-24); }
.legal-section h2 { font-size: var(--text-2xl); color: var(--color-primary); margin-bottom: var(--space-4); padding-bottom: var(--space-2); border-bottom: 2px solid var(--color-accent); display: inline-block; }
.legal-section p { text-align: justify; line-height: var(--leading-relaxed); color: var(--color-text-secondary); }
.legal-section a { color: var(--color-primary); text-decoration: underline; text-underline-offset: 2px; }
.legal-section a:hover { color: var(--color-primary-hover); }

.legal-content__contact { text-align: center; margin-top: var(--space-16); padding: var(--space-8); background: var(--color-background-secondary); border-radius: var(--radius-lg); border: 1px solid var(--color-border); }
.legal-content__contact p { margin: 0; color: var(--color-text); font-size: var(--text-lg); }
.legal-content__contact .btn { margin-left: var(--space-4); }

@media (max-width: 768px) {
  .toc ul { columns: 1; }
  .legal-content__header h1 { font-size: var(--text-3xl); }
  .legal-content__contact .btn { margin-left: 0; margin-top: var(--space-4); display: block; width: 100%; }
  .legal-section h2 { font-size: var(--text-xl); }
}