/* 法律文档与页脚延续门户的蓝白色板；基础控件仍归 controls.css。 */
.legal-links { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 20px; }
.legal-links a { display: inline-flex; align-items: center; min-height: 44px; font-size: 12px; text-underline-offset: 4px; }
.legal-region { margin: 12px 0 0; color: #566e7d; font-size: 12px; line-height: 1.8; }
.site-footer__inner .legal-region, .payment-footer .legal-region { grid-column: 1 / -1; }
.site-footer__inner > .legal-links { flex-wrap: wrap; gap: 4px 18px; }
.home-footer__top > .legal-links { flex-wrap: wrap; gap: 4px 20px; }
.au-footer .legal-links { justify-content: center; }
.au-footer p { margin: 4px 0; }
.au-legal-notice { color: #566e7d; font-size: 12px; line-height: 1.9; margin: 20px 0 0; }
.au-legal-notice a { text-decoration: underline; text-underline-offset: 3px; }
.au-consent { margin-top: 20px; color: #566e7d; font-size: 12px; line-height: 1.9; }
.au-consent__row { display: grid; grid-template-columns: 20px minmax(0, 1fr); align-items: start; gap: 12px; min-height: 44px; padding-block: 10px; cursor: pointer; }
.au-consent__row a { text-decoration: underline; text-underline-offset: 3px; }
.au-consent__error { margin: 0 0 10px; color: #a13f35; }
/* overflow-x:hidden on body also computes overflow-y:auto, trapping sticky in a non-scrolling ancestor. */
.legal-page { overflow: visible; background: linear-gradient(155deg, #f0f8ff, #fff 36%); color: #303d47; min-height: 100svh; }
.legal-page::before, .legal-page::after { display: none; }
.legal-shell { width: min(1100px, calc(100% - 64px)); margin-inline: auto; }
.legal-header { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding-block: 28px; border-bottom: 1px solid #dce8ef; }
.legal-header > a:last-child { font-size: 13px; padding-block: 12px; }
.legal-page a { color: #41677f; text-underline-offset: 4px; }
.legal-page a:hover { text-decoration: underline; }
.legal-page a:focus-visible { outline: 2px solid #81bce5; outline-offset: 5px; border-radius: 3px; }
/* 英文版顶部那句「以中文版为准」*/
.legal-note { margin-top: 14px; padding-inline-start: 14px; border-inline-start: 2px solid #a8d4f5; color: #4a6a80; font-size: 13px; line-height: 1.8; }
.legal-hero { padding: 64px 0 38px; }
.legal-kicker { margin: 0 0 16px; color: #597487; font: 12px var(--utility); letter-spacing: .12em; }
.legal-hero h1 { margin: 0; font-size: clamp(32px, 5vw, 48px); line-height: 1.25; letter-spacing: -.035em; color: #303d47; }
.legal-hero > p:last-child { color: #566e7d; font-size: 13px; line-height: 1.9; margin-top: 20px; }
.legal-layout { display: grid; grid-template-columns: 200px minmax(0, 740px); gap: 64px; padding-bottom: 88px; }
.legal-toc { align-self: start; position: sticky; top: 28px; max-height: calc(100dvh - 56px); overflow-y: auto; padding-top: 8px; scrollbar-width: thin; }
.legal-toc h2 { font-size: 12px; margin: 0 0 12px; color: #597487; }
.legal-toc ol { list-style: none; margin: 0; padding: 0; }
.legal-toc a { display: block; padding: 10px 0; font-size: 13px; line-height: 1.7; text-decoration: none; }
.legal-document { min-width: 0; font-size: 15px; line-height: 1.95; overflow-wrap: anywhere; }
.legal-summary { background: #edf6ff; border: 1px solid #dceaf6; border-radius: 18px; padding: 24px 28px; margin-bottom: 40px; }
.legal-summary > p:first-child { margin-top: 0; }
.legal-summary > p:last-child { margin-bottom: 0; }
.legal-document section { scroll-margin-top: 28px; margin-block: 38px; }
.legal-document h2 { font-size: 21px; line-height: 1.5; margin: 0 0 18px; color: #303d47; letter-spacing: -.02em; }
.legal-document h3 { font-size: 16px; margin: 24px 0 10px; }
.legal-document p { margin: 12px 0; }
.legal-document ul, .legal-document ol { padding-inline-start: 22px; margin: 14px 0; }
.legal-document li + li { margin-top: 10px; }
.legal-document strong { color: #303d47; font-weight: 650; }
.legal-data { margin: 18px 0; }
.legal-data > div { border-top: 1px solid #dce8ef; padding: 17px 0; }
.legal-data dt { font-weight: 650; }
.legal-data dd { margin: 6px 0 0; color: #526674; }
.legal-document .legal-contact { padding-top: 28px; border-top: 1px solid #dce8ef; }
.legal-footer { border-top: 1px solid #dce8ef; padding-block: 22px 32px; }
.legal-footer > div { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px 32px; }
.legal-footer p { font-size: 12px; color: #566e7d; }
@media (max-width: 800px) {
  .legal-shell { width: calc(100% - 40px); }
  .legal-hero { padding-top: 40px; }
  .legal-layout { grid-template-columns: 1fr; gap: 28px; padding-bottom: 48px; }
  .legal-toc { position: static; max-height: none; overflow: visible; border-block: 1px solid #dce8ef; padding: 20px 0; }
  .legal-toc ol { columns: 2; column-gap: 22px; }
  .legal-toc li { break-inside: avoid; }
  .legal-summary { padding: 20px; }
  .legal-document { font-size: 15px; }
}
@media (max-width: 360px) { .legal-toc ol { columns: 1; } }
@media print {
  .legal-page { background: #fff; color: #000; }
  .legal-header, .legal-toc, .legal-footer, .skip-link { display: none; }
  .legal-shell { width: 100%; }
  .legal-hero { padding: 0 0 20px; }
  .legal-layout { display: block; padding: 0; }
  .legal-document { font-size: 11pt; line-height: 1.65; }
  .legal-document h2 { break-after: avoid; }
  .legal-summary { background: #fff; }
}

/* 页脚的界面语言选择器(i18n.js 挂进来)。外观归 controls.css 的原生 select,这里不碰 */
.ui-language-host:empty { display: none; }
