/* Privacy Policy page-specific styles */
.policy-hero {
  background: var(--gray-50);
  padding: var(--space-16) 0 var(--space-10);
}
.policy-meta {
  display: flex;
  gap: var(--space-4);
  flex-wrap: wrap;
  align-items: center;
}
.policy-content {
  padding: var(--space-12) 0 var(--space-20);
}
.policy-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-10);
}
@media (min-width: 992px) {
  .policy-layout {
    grid-template-columns: 280px minmax(0, 1fr);
  }
}
.toc {
  position: relative;
}
@media (min-width: 992px) {
  .toc { position: sticky; top: var(--space-12); max-height: calc(100vh - var(--space-16)); overflow: auto; }
}
.toc h2 { margin-bottom: var(--space-3); }
.toc ol { padding-left: 1rem; display: grid; gap: var(--space-2); }
.toc a {
  display: block;
  padding: 0.35rem 0.5rem;
  border-left: 2px solid transparent;
  color: var(--color-text);
}
.toc a:hover { color: var(--color-primary-700); }
.toc a[aria-current="true"], .toc a.active {
  border-left-color: var(--color-primary-400);
  background: var(--gray-100);
}
.policy-body { max-width: 78ch; }
.policy-section { scroll-margin-top: 96px; }
.policy-section + .policy-section { margin-top: var(--space-12); }
.cookie-actions { margin-top: var(--space-4); }

/* Improve list readability in legal content */
.policy-section ul { padding-left: 1.15rem; }
.policy-section li { margin-bottom: 0.5rem; }

/* Reduce motion for users preferring less */
@media (prefers-reduced-motion: reduce) {
  .toc { scroll-behavior: auto; }
}
