/* Legal pages (/privacy-policy/, /terms-and-conditions/, /cookie-policy/, /disclaimer/) — builds on home.css + about.css */

.legal-hero { padding: 80px 0 64px; background: radial-gradient(1200px 400px at 85% -10%, rgba(29, 78, 216, 0.35), transparent 60%), #070d1f; }
.legal-hero__updated { margin: 18px 0 0; color: #8f9cbb; font-size: 0.9rem; }

.legal { padding: 56px 0 80px; background: #f4f6fb; }
.legal__grid { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 32px; align-items: start; }

.legal__aside { position: sticky; top: 96px; display: grid; gap: 16px; }
.legal__toc { padding: 20px; border: 1px solid #e3e6ef; border-radius: 14px; background: #fff; }
.legal__toc-title { margin: 0 0 10px; color: #5d6670; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.legal__toc ol, .legal__toc ul { display: grid; gap: 2px; margin: 0; padding: 0; list-style: none; }
.legal__toc a { display: block; padding: 6px 10px; border-radius: 8px; color: #1f2a44; font-size: 0.92rem; line-height: 1.4; text-decoration: none; }
.legal__toc a:hover, .legal__toc a:focus-visible { background: #eef2ff; color: var(--accent); }
.legal__toc--others a { font-weight: 600; }

.legal__card { padding: 40px 48px; border: 1px solid #e3e6ef; border-radius: 18px; background: #fff; color: #1f2328; box-shadow: 0 10px 30px rgba(11, 23, 51, 0.06); }
.legal__section { scroll-margin-top: 96px; }
.legal__section + .legal__section { margin-top: 32px; padding-top: 32px; border-top: 1px solid #edf0f5; }
.legal__section h2 { display: flex; align-items: baseline; gap: 12px; margin: 0 0 14px; color: #0b1733; font-size: 1.3rem; line-height: 1.3; }
.legal__num { flex: none; color: var(--accent); font-size: 0.85rem; font-weight: 700; letter-spacing: 0.04em; }
.legal__section p, .legal__section li { color: #3d4652; font-size: 1rem; line-height: 1.75; }
.legal__section p { margin: 0 0 12px; }
.legal__section p:last-child { margin-bottom: 0; }
.legal__section ul { display: grid; gap: 8px; margin: 0 0 12px; padding-left: 1.25rem; }
.legal__section li::marker { color: var(--accent); }
.legal__section a { color: var(--accent); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.legal__section a:hover { color: var(--accent-dark); }

.legal__contact { padding: 24px; border: 1px solid #dbe4ff; border-radius: 14px; background: #f5f8ff; }
.legal__section.legal__contact { margin-top: 36px; }
.legal__contact-list { list-style: none; padding-left: 0 !important; }
.legal__contact-list strong { color: #0b1733; }

@media (max-width: 960px) {
  .legal__grid { grid-template-columns: 1fr; }
  .legal__aside { position: static; }
  .legal__toc:not(.legal__toc--others) { display: none; }
}
@media (max-width: 640px) {
  .legal-hero { padding: 56px 0 44px; }
  .legal { padding: 32px 0 56px; }
  .legal__card { padding: 24px 20px; border-radius: 14px; }
  .legal__section h2 { font-size: 1.15rem; }
}
