/* Terms & Conditions Page Styles - SnelleOplossingHotel */
.legal-terms .page-header { max-width: 70ch; margin: 0 auto var(--space-8); text-align: center; }
.legal-terms .intro { color: var(--color-text-light); }
.legal-terms .meta-note { color: var(--color-text-muted); font-size: var(--font-size-sm); margin-top: var(--space-2); }

.legal-toc { position: sticky; top: calc(var(--header-height) + var(--space-4)); z-index: var(--z-sticky); background: var(--color-background); border: 1px solid var(--color-neutral-200); border-radius: var(--radius-xl); padding: var(--space-4); box-shadow: var(--shadow-sm); margin: 0 auto var(--space-8); max-width: 900px; }
.legal-toc ul { display: grid; grid-template-columns: 1fr; gap: var(--space-2); }
.legal-toc a { display: block; padding: var(--space-2) var(--space-3); border-radius: var(--radius-md); color: var(--color-primary-dark); }
.legal-toc a:hover { background: var(--color-neutral-100); }
.legal-toc a.active { background: linear-gradient(90deg, rgba(201,169,97,0.15), transparent); border-left: 3px solid var(--color-secondary); padding-left: calc(var(--space-3) - 3px); }

@media (min-width: 768px) {
  .legal-toc ul { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

.legal-section { max-width: 90ch; margin: 0 auto var(--space-8); }
.legal-section ul { list-style: disc; padding-left: var(--space-6); }
.legal-section li { margin-bottom: var(--space-2); }

/* Reduce motion respect */
@media (prefers-reduced-motion: no-preference) {
  html:focus-within { scroll-behavior: smooth; }
}
