/* Yasal metin sayfaları (/yasal/:slug) — uzun metin okunurluğu, içindekiler, tablo, yazdırma. */

.legal-hero { background: var(--yellow); border-bottom: 2px solid var(--ink); padding: 28px 0 34px; }
.legal-hero__inner { display: grid; gap: 10px; justify-items: start; }
.legal-hero__back {
  display: inline-flex; align-items: center; gap: 4px; min-height: 44px;
  font-weight: 700; font-size: var(--fs-sm); text-decoration: none; color: var(--ink);
}
.legal-hero__back:hover { text-decoration: underline; }
.legal-hero__kicker { margin: 0; font-size: var(--fs-xs); font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-3); }
.legal-hero__title { margin: 0; font-size: clamp(2rem, 1.2rem + 3.6vw, 3.5rem); line-height: 1.1; max-width: 22ch; overflow-wrap: anywhere; }
.legal-meta { margin: 0; font-size: var(--fs-xs); color: var(--ink-3); }
.legal-meta__hash { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }
.legal-hero__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 8px; }

.legal-wrap { display: grid; gap: 28px; padding-top: 28px; padding-bottom: 72px; }
@media (min-width: 1024px) {
  .legal-wrap { grid-template-columns: 260px minmax(0, 1fr); gap: 48px; padding-top: 44px; align-items: start; }
  .legal-aside { position: sticky; top: 88px; max-height: calc(100dvh - 104px); overflow-y: auto; }
}

/* içindekiler + diğer metinler */
.legal-aside { display: grid; gap: 16px; align-content: start; }
.legal-toc, .legal-docs { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 4px 16px; }
.legal-toc summary {
  cursor: pointer; list-style: none; min-height: 48px; display: flex; align-items: center; justify-content: space-between;
  font-weight: 800; font-size: var(--fs-sm);
}
.legal-toc summary::-webkit-details-marker { display: none; }
.legal-toc summary::after { content: '+'; font-size: 1.3rem; line-height: 1; transition: transform var(--dur) var(--ease-out); }
.legal-toc[open] summary::after { transform: rotate(45deg); }
.legal-toc__list { margin: 0 0 12px; padding-left: 20px; display: grid; gap: 2px; font-size: var(--fs-sm); }
.legal-toc__list--plain { list-style: none; padding-left: 0; }
.legal-toc__list a { display: block; padding: 6px 0; text-decoration: none; color: var(--ink-3); line-height: 1.35; }
.legal-toc__list a:hover { color: var(--ink); text-decoration: underline; }
.legal-toc__list a[aria-current] { color: var(--ink); font-weight: 800; }
.legal-docs { padding: 14px 16px; }
.legal-docs__title { margin: 0 0 6px; font-size: var(--fs-xs); font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted); }
.legal-docs ul { list-style: none; margin: 0; padding: 0; display: grid; }
.legal-docs a { display: block; padding: 8px 0; font-size: var(--fs-sm); font-weight: 600; text-decoration: none; color: var(--ink-3); border-bottom: 1px dashed var(--line); }
.legal-docs li:last-child a { border-bottom: 0; }
.legal-docs a:hover { color: var(--ink); }
.legal-docs a[aria-current] { color: var(--ink); font-weight: 800; }
.legal-docs a[aria-current]::before { content: '▸ '; color: var(--yellow-700); }

/* metin gövdesi */
.legal { max-width: 74ch; min-width: 0; font-size: 1.02rem; line-height: 1.7; color: var(--ink-2); }
.legal h2 {
  font-size: clamp(1.25rem, 1.1rem + 0.6vw, 1.55rem); color: var(--ink);
  margin: 2.2em 0 0.6em; padding-top: 0.4em; scroll-margin-top: 90px;
  border-top: 2px solid var(--ink);
}
.legal > h2:first-child { margin-top: 0; }
.legal h3 { font-size: 1.1rem; color: var(--ink); margin: 1.6em 0 0.4em; scroll-margin-top: 90px; }
.legal p { margin: 0 0 1em; }
.legal ul, .legal ol { margin: 0 0 1.1em; padding-left: 1.4em; }
.legal li { margin-bottom: 0.4em; }
.legal li::marker { color: var(--yellow-700); font-weight: 800; }
.legal strong { color: var(--ink); }
.legal a { color: var(--ink); font-weight: 600; text-decoration-color: var(--yellow-600); text-decoration-thickness: 2px; }
.legal a:hover { background: var(--yellow-100); }

.legal-note, .legal-box { border-radius: var(--radius-sm); padding: 14px 16px; margin: 0 0 1.2em; }
.legal-note { background: var(--yellow-50); border-left: 5px solid var(--yellow); }
.legal-box { background: var(--surface); border: 2px solid var(--ink); box-shadow: 4px 4px 0 var(--ink); }
.legal-note > :last-child, .legal-box > :last-child { margin-bottom: 0; }

/* Tablolar: dar ekranda sayfa değil tablo kendi içinde kayar (sarmalayıcı eklenmeden) */
.legal-table {
  display: block; width: 100%; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch;
  border-collapse: collapse; margin: 0 0 1.3em; font-size: var(--fs-sm); line-height: 1.5;
  border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface);
}
.legal-table th, .legal-table td { padding: 10px 12px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--line); min-width: 130px; }
.legal-table th { background: var(--ink); color: var(--yellow); font-weight: 800; font-size: var(--fs-xs); letter-spacing: 0.03em; text-transform: uppercase; white-space: nowrap; }
.legal-table tbody tr:nth-child(even) td { background: var(--surface-2); }
.legal-table tr:last-child td { border-bottom: 0; }
@media (min-width: 900px) { .legal-table { display: table; } }

@media print {
  .site-header, .site-footer, .scroll-progress, .skip-link, .legal-aside, .legal-hero__actions, .legal-hero__back { display: none !important; }
  .legal-hero { background: none; border: 0; padding: 0 0 12px; }
  .legal-wrap { display: block; padding: 0; }
  .legal { max-width: none; font-size: 11pt; color: #000; }
  .legal h2 { break-after: avoid; }
  .legal-table { display: table; font-size: 9pt; }
  .legal-table th { background: #eee; color: #000; }
  .legal a { text-decoration: none; }
}

/* 404 sayfası */
.notfound { background: var(--yellow); border-bottom: 2px solid var(--ink); overflow: hidden; }
.notfound__inner { min-height: min(72dvh, 640px); display: grid; align-content: center; justify-items: center; text-align: center; gap: 14px; padding-top: 48px; padding-bottom: 64px; }
.notfound__code { margin: 0; font-size: clamp(6rem, 3rem + 18vw, 13rem); line-height: 0.85; color: var(--ink); letter-spacing: 0.02em; }
.notfound__zero { display: inline-block; color: var(--surface); -webkit-text-stroke: 4px var(--ink); animation: nf-wobble 2.6s var(--ease-out) infinite; }
.notfound__title { margin: 0; font-size: clamp(1.8rem, 1.2rem + 3vw, 3rem); line-height: 1.1; }
.notfound__text { margin: 0 0 10px; max-width: 44ch; font-weight: 500; }
.notfound__actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
@keyframes nf-wobble { 0%, 100% { transform: rotate(0); } 30% { transform: rotate(-10deg) translateY(-4px); } 60% { transform: rotate(8deg); } }
@media (prefers-reduced-motion: reduce) { .notfound__zero { animation: none; } }
