/* Privacy page: table of contents layout and retention table. Shared styles live in legal.css. */

.tz-legal__layout { display: grid; grid-template-columns: 270px minmax(0, 1fr); gap: 60px; align-items: start; }
.tz-legal__layout > * { min-width: 0; }

/* Sticky table of contents */
.tz-legal__toc { position: sticky; top: calc(var(--tz-header-h) + 24px); padding: 24px 22px 22px; background: var(--tz-gray); border-radius: var(--radius-2); border-top: 4px solid var(--tz-accent); box-shadow: var(--shadow-4); }
.tz-legal__toc-title { font-size: 22px; line-height: 1.2; color: var(--color-text-heading); }
.tz-legal__toc nav { display: grid; gap: 2px; margin-top: 14px; }
.tz-legal__toc nav a { display: block; padding: 8px 10px; border-left: 3px solid transparent; border-radius: 0 6px 6px 0; font-size: 15.5px; line-height: 1.35; color: var(--tz-muted); cursor: pointer; transition: color .2s ease, background-color .2s ease, border-color .2s ease; }
.tz-legal__toc nav a:hover, .tz-legal__toc nav a:focus-visible { border-left-color: var(--tz-accent); background: #fff; color: var(--tz-accent); }

/* Retention table */
.tz-legal__table-wrap { margin-top: 22px; }
.tz-legal__table { width: 100%; border-collapse: collapse; background: #fff; border-radius: var(--radius-2); overflow: hidden; box-shadow: var(--shadow-4); }
.tz-legal__table th { padding: 14px 20px; text-align: left; font-family: var(--font-family-2); font-size: 18px; font-weight: 500; background: var(--tz-dark); color: #fff; }
.tz-legal__table td { padding: 14px 20px; font-size: 16px; line-height: 1.5; color: var(--tz-muted); border-bottom: 1px solid var(--tz-line); vertical-align: top; }
.tz-legal__table tbody tr:last-child td { border-bottom: 0; }
.tz-legal__table td:first-child { width: 48%; color: var(--color-text-heading); font-weight: 500; }

@media (max-width: 1200px) {
  .tz-legal__layout { grid-template-columns: 240px minmax(0, 1fr); gap: 40px; }
}

@media (max-width: 1024px) {
  .tz-legal__layout { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .tz-legal__toc { position: static; }
  .tz-legal__toc nav { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 20px; }
  .tz-legal__content { max-width: none; }
}

@media (max-width: 768px) {
  .tz-legal__toc nav { grid-template-columns: minmax(0, 1fr); }
  /* Table turns into cards */
  .tz-legal__table, .tz-legal__table tbody, .tz-legal__table tr, .tz-legal__table td { display: block; width: 100%; }
  .tz-legal__table { background: transparent; box-shadow: none; border-radius: 0; }
  .tz-legal__table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .tz-legal__table tr { margin-bottom: 12px; background: #fff; border-radius: var(--radius-2); box-shadow: var(--shadow-4); overflow: hidden; }
  .tz-legal__table td { padding: 12px 16px; border-bottom: 1px solid var(--tz-line); }
  .tz-legal__table td:first-child { width: 100%; }
  .tz-legal__table td::before { content: attr(data-label); display: block; margin-bottom: 2px; font-size: 13px; font-weight: 500; text-transform: uppercase; letter-spacing: .04em; color: var(--tz-accent); }
}

@media (max-width: 480px) {
  .tz-legal__toc { padding: 20px 16px 16px; }
  .tz-legal__toc nav a { font-size: 15px; padding: 7px 8px; }
  .tz-legal__table td { font-size: 15px; }
}
