/* Právní stránky (podmínky, ochrana soukromí, cookies): klidná dokumentová typografie jako LTK.
   Selektory jsou silnější než společné rozvržení webu (body > .wrap h1/h2 s !important), proto také !important. */
body > main.wrap.legal { max-width: 1120px !important; padding-top: 48px !important; padding-bottom: 72px !important; display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 56px; align-items: start; color: #3F3A48; font-family: 'DM Sans', system-ui, sans-serif; }
body > main.wrap.legal .legal-head { grid-column: 1 / -1; border-bottom: 1px solid #ECE7F4; padding-bottom: 26px; }
body > main.wrap.legal h1 { font-size: 32px !important; line-height: 1.1 !important; letter-spacing: -1.2px !important; font-weight: 800 !important; color: #1A1526; margin: 0 0 10px; max-width: none; }
body > main.wrap.legal .meta { font-size: 12.5px; color: #8A8391; margin: 0; }
body > main.wrap.legal .intro { font-size: 14px; line-height: 1.65; color: #514B59; max-width: 760px; margin: 14px 0 0; }
body > main.wrap.legal nav.toc { position: sticky; top: 96px; max-height: calc(100vh - 120px); overflow: auto; font-size: 12.5px; line-height: 1.45; padding-right: 8px; }
body > main.wrap.legal nav.toc .toc-title { font-size: 11px; font-weight: 800; letter-spacing: 2px; text-transform: uppercase; color: #8B5CF6; margin: 0 0 12px; }
body > main.wrap.legal nav.toc ol, body > main.wrap.legal nav.toc ul { list-style: none; margin: 0; padding: 0; }
body > main.wrap.legal nav.toc li { margin: 0; }
body > main.wrap.legal nav.toc a { display: block; padding: 6px 10px; border-radius: 8px; color: #514B59; text-decoration: none; }
body > main.wrap.legal nav.toc a:hover { background: #F4F0FB; color: #4C1D95; }
body > main.wrap.legal .legal-body { min-width: 0; max-width: 760px; }
body > main.wrap.legal section { scroll-margin-top: 96px; padding: 4px 0 8px; }
body > main.wrap.legal h2, body > main.wrap.legal h2.sec { font-size: 17px !important; line-height: 1.3 !important; letter-spacing: -0.3px !important; font-weight: 800 !important; color: #1A1526; margin: 34px 0 10px; }
body > main.wrap.legal h3 { font-size: 14.5px; line-height: 1.4; font-weight: 700; color: #1A1526; margin: 20px 0 6px; }
body > main.wrap.legal p, body > main.wrap.legal li { font-size: 13.5px; line-height: 1.65; color: #3F3A48; }
body > main.wrap.legal p { margin: 0 0 12px; }
body > main.wrap.legal ul, body > main.wrap.legal ol { padding-left: 22px; margin: 0 0 12px; }
body > main.wrap.legal li { margin: 0 0 6px; }
body > main.wrap.legal a { color: #6D28D9; }
body > main.wrap.legal .box { background: #F7F3FC; border-radius: 14px; padding: 16px 18px; margin: 14px 0; }
body > main.wrap.legal .table-wrap { overflow-x: auto; margin: 12px 0 18px; border: 1px solid #ECE7F4; border-radius: 12px; }
body > main.wrap.legal table { width: 100%; border-collapse: collapse; font-size: 12.5px; line-height: 1.5; }
body > main.wrap.legal th { text-align: left; background: #FAF8FD; color: #1A1526; font-weight: 700; padding: 10px 12px; border-bottom: 1px solid #ECE7F4; }
body > main.wrap.legal td { padding: 10px 12px; border-top: 1px solid #F1EDF7; vertical-align: top; color: #3F3A48; }
body > main.wrap.legal button.cookie-settings { font: 700 13px 'DM Sans', system-ui, sans-serif; background: #1A1526; color: #fff; border: 0; border-radius: 999px; padding: 11px 18px; cursor: pointer; }
@media (max-width: 900px) {
  body > main.wrap.legal { grid-template-columns: 1fr; gap: 18px; padding-top: 28px !important; }
  body > main.wrap.legal h1 { font-size: 26px !important; }
  body > main.wrap.legal nav.toc { position: static; max-height: none; background: #FAF8FD; border: 1px solid #ECE7F4; border-radius: 14px; padding: 14px; }
}
body > main.wrap.legal dt { font-size: 13.5px; font-weight: 700; color: #1A1526; margin-top: 8px; }
body > main.wrap.legal dd { font-size: 13.5px; line-height: 1.65; margin: 0 0 6px; color: #3F3A48; }
