/* legal.css – shared styles for Privacy, Cookie, Copyright (aligned with index-new / chi-siamo) */

.page-header {
  padding-top: calc(80px + var(--space-section));
  padding-bottom: var(--space-section);
}
.page-header__title {
  font-family: var(--font-display);
  font-size: clamp(2rem, 5vw, 3rem);
  font-weight: 700;
  margin: 0;
  color: var(--color-primary);
}

.breadcrumb {
  margin-bottom: 0.75rem;
}
.breadcrumb ol {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 0.875rem;
  color: var(--color-text-muted);
}
.breadcrumb a { color: var(--color-primary); text-decoration: none; }
.breadcrumb a:hover { text-decoration: underline; }
.breadcrumb li:not(:last-child)::after {
  content: "›";
  margin-left: 0.5rem;
  color: var(--color-text-muted);
}
.breadcrumb [aria-current="page"] { color: var(--color-text); font-weight: 500; }

.prose {
  max-width: 72ch;
  line-height: 1.65;
}
.prose h2 { font-size: 1.5rem; margin: 2rem 0 0.75rem; font-family: var(--font-display); color: var(--color-primary); }
.prose h3, .prose h4 { font-size: 1.2rem; margin: 1.5rem 0 0.5rem; font-weight: 600; }
.prose p { margin: 0 0 1rem; color: var(--color-text); }
.prose ul, .prose ol { margin: 0 0 1rem; padding-left: 1.5rem; }
.prose li { margin-bottom: 0.35rem; }
.prose a { color: var(--color-primary); text-decoration: underline; }
.prose a:hover { text-decoration: none; }
.prose table { width: 100%; border-collapse: collapse; margin: 1rem 0; font-size: 0.9rem; }
.prose th, .prose td { border: 1px solid rgba(0,0,0,0.1); padding: 0.5rem 0.75rem; text-align: left; }
.prose th { background: var(--color-warm); font-weight: 600; }
.prose strong { font-weight: 600; }
