/* =========================================================================
   ANIMORE cinema — правовые страницы. Подключается после styles.css.
   ========================================================================= */

.legal-header{ background:var(--ink); color:var(--text-on-dark); box-shadow:inset 0 -1px 0 var(--line-dark-gold); --focus:var(--gold) }
.legal-header__inner{ height:var(--header-h); display:flex; align-items:center; justify-content:space-between; gap:16px }

.legal{ padding:clamp(40px,7vw,80px) 0 clamp(64px,9vw,112px) }
.legal__wrap{ max-width:calc(52rem + 2 * var(--gutter)) }
.legal__back{ display:inline-flex; min-height:44px; align-items:center; font-size:.9375rem }

/* без JS видны все три языка, с JS — только выбранный */
.js [data-lang-block]:not(.is-active){ display:none }
[data-lang-block] + [data-lang-block]{ margin-top:64px }
.js [data-lang-block] + [data-lang-block]{ margin-top:0 }

.legal h1{
  margin-top:20px; font-size:calc(var(--fs-h2) * var(--h-scale)); line-height:1.08; letter-spacing:.02em;
}
.legal__meta{ margin-top:16px; color:var(--fg-muted); font-size:.9375rem }
.legal .ornament{ margin-top:24px }
.legal__intro{ margin-top:28px; font:500 var(--fs-lead)/1.45 var(--font-serif); color:var(--fg); max-width:none }

.legal h2{
  margin-top:48px; padding-top:24px; border-top:1px solid var(--line);
  font:600 var(--fs-h3)/1.2 var(--font-serif); text-transform:none; letter-spacing:0; color:var(--heading);
}
.legal h3{ margin-top:28px; font:600 1.1875rem/1.3 var(--font-serif) }
.legal p,
.legal ul,
.legal ol,
.legal table,
.legal .legal__box{ margin-top:14px }
.legal ul,
.legal ol{ padding-left:1.4em }
.legal li + li{ margin-top:6px }
.legal li::marker{ color:var(--burgundy) }
.legal a:not(.text-link){ color:var(--burgundy); text-underline-offset:.2em }
.legal strong{ font-weight:600 }

.legal__toc{ margin-top:28px; padding:18px 22px; background:var(--paper-3); border:1px solid var(--line); border-radius:var(--r-2) }
.legal__toc ol{ margin-top:0; columns:2 16rem; column-gap:32px }
.legal__toc li{ break-inside:avoid }

.legal__box{ padding:16px 20px; background:var(--paper-3); border-left:3px solid var(--burgundy); border-radius:0 var(--r-2) var(--r-2) 0 }
.legal__box p:first-child{ margin-top:0 }
.legal__quote{ font:italic 500 1.1875rem/1.45 var(--font-serif); color:var(--heading) }

.legal__table-wrap{ overflow-x:auto; -webkit-overflow-scrolling:touch }
.legal table{ width:100%; border-collapse:collapse; background:var(--paper-3); font-size:.9375rem; line-height:1.45 }
.legal th,
.legal td{ padding:10px 12px; border:1px solid var(--line); text-align:left; vertical-align:top }
.legal th{ background:var(--paper-2); font-weight:600 }
@media (max-width:599px){
  .legal table, .legal tbody, .legal tr, .legal td{ display:block; width:100% }
  .legal thead{ position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%) }
  .legal tr{ border:1px solid var(--line); border-radius:var(--r-2); background:var(--paper-3) }
  .legal tr + tr{ margin-top:12px }
  .legal td{ border:0; padding:6px 14px }
  .legal td:first-child{ padding-top:12px }
  .legal td:last-child{ padding-bottom:12px }
  .legal td[data-label]::before{
    content:attr(data-label); display:block; margin-bottom:2px;
    font:600 var(--fs-kicker)/1.4 var(--font-ui); letter-spacing:.08em; text-transform:uppercase; color:var(--gold-ink);
  }
  .legal table{ background:none }
}
.legal code{ font:.875em/1.4 Consolas,'Courier New',monospace; color:var(--burgundy) }

.legal__dl{ display:grid; grid-template-columns:minmax(9rem,max-content) 1fr; gap:10px 24px; margin-top:20px }
.legal__dl dt{ color:var(--fg-muted) }
.legal__dl dd{ margin:0 }
@media (max-width:599px){ .legal__dl{ grid-template-columns:1fr; gap:2px } .legal__dl dd{ margin-bottom:12px } }

.legal-footer{ padding:32px 0 calc(40px + env(safe-area-inset-bottom)) }
@media (max-width:1099px){ .legal-footer{ padding-bottom:calc(40px + env(safe-area-inset-bottom)) } }
.legal-footer .footer__legal{ margin-top:0 }
.legal-footer .footer__rights{ margin-top:8px }
.footer__legal [aria-current="page"]{ color:var(--gold) }

@media print{
  .legal-header .lang, .legal__back, .legal-footer, .consent{ display:none !important }
  .legal{ padding-top:0 }
}
