.legal-page { --legal-muted: #b4bbd6; }
.legal-page :is(a, summary):focus-visible { outline: 3px solid #b6c8ff; outline-offset: 5px; }
.skip-link { position: fixed; z-index: 100; top: 20px; left: 20px; padding: 14px 20px; border-radius: 12px; background: #f9faff; color: #040919; transform: translateY(-160%); }
.skip-link:focus { transform: none; }
.legal-page main { max-width: 980px; padding-block: 46px 80px; }
.legal-page .brand { min-width: 0; }
.contact-badge { display: inline-flex; align-items: center; padding: 11px 13px; border: 1px solid rgba(162, 138, 255, .35); border-radius: 12px; color: #d0c2ff; background: rgba(115, 57, 255, .1); font-size: 11px; font-weight: 600; white-space: nowrap; }
.legal-hero h1 { max-width: 830px; margin-bottom: 18px; font-size: clamp(32px, 5vw, 48px); line-height: 1.15; }
.legal-lead { max-width: 760px; color: var(--legal-muted); font-size: 15px; line-height: 1.8; }
.payment-notice { margin: 28px 0; padding: 21px 24px; border: 1px solid rgba(175, 145, 255, .4); border-radius: 18px; background: rgba(83, 49, 145, .17); }
.payment-notice strong { display: block; margin-bottom: 8px; color: #e0d4ff; font-size: 14px; }
.payment-notice p { margin: 0; color: #c2bfd9; font-size: 13px; line-height: 1.8; }
.legal-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-block: 28px; }
.legal-tabs a { padding: 12px 16px; border: 1px solid var(--line); border-radius: 12px; color: var(--legal-muted); font-size: 12px; font-weight: 600; }
.legal-tabs a:hover, .legal-tabs a[aria-current] { border-color: #8298eb; color: #f9faff; background: #192447; }
.legal-document { padding: 34px; border: 1px solid var(--line-strong); border-radius: 24px; background: linear-gradient(150deg, rgba(20, 29, 60, .9), rgba(8, 13, 32, .96)); }
.legal-document section + section { margin-top: 32px; padding-top: 28px; border-top: 1px solid var(--line); }
.legal-document h2 { margin-bottom: 14px; font-size: 23px; line-height: 1.35; }
.legal-document p, .legal-document li { color: var(--legal-muted); font-size: 14px; line-height: 1.9; }
.legal-document p:last-child { margin-bottom: 0; }
.legal-document ul, .legal-document ol { padding-left: 23px; }
.legal-document li + li { margin-top: 8px; }
.legal-document a, .legal-related a { color: #b7c8ff; text-decoration: underline; text-underline-offset: 4px; }
.legal-document a:hover, .legal-related a:hover { color: white; }
.seller-details { margin: 0; }
.seller-details > div { display: grid; grid-template-columns: minmax(150px, .65fr) minmax(0, 1fr); gap: 20px; padding-block: 16px; border-bottom: 1px solid var(--line); }
.seller-details > div:last-child { border-bottom: 0; }
.seller-details dt { color: #dfe5fa; font-size: 13px; line-height: 1.7; }
.seller-details dd { min-width: 0; margin: 0; color: var(--legal-muted); font-size: 13px; line-height: 1.7; overflow-wrap: anywhere; }
.missing-value { color: #dcc3ff; }
.missing-value::before { content: '• '; }
.legal-price-table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 13px; }
.legal-price-table caption { padding-bottom: 15px; color: var(--legal-muted); text-align: left; line-height: 1.8; }
.legal-price-table th, .legal-price-table td { padding: 15px 12px; border-bottom: 1px solid var(--line); text-align: left; line-height: 1.7; }
.legal-price-table th:first-child, .legal-price-table td:first-child { padding-left: 0; }
.legal-price-table th { color: #dfe5fa; font-weight: 600; }
.legal-price-table td { color: var(--legal-muted); }
.legal-related { margin: 27px 0 0; color: var(--legal-muted); font-size: 12px; line-height: 1.9; }
.legal-page .site-footer { grid-template-columns: auto 1fr; }
.legal-page .site-footer nav { justify-content: flex-end; gap: 16px 22px; }
@media (max-width: 680px) {
  .legal-page main { padding-block: 30px 54px; }
  .legal-page .site-header { grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
  .contact-badge { padding: 10px; font-size: 10px; }
  .legal-hero h1 { font-size: 31px; }
  .legal-lead { font-size: 13px; }
  .payment-notice { padding: 20px; }
  .legal-tabs { gap: 7px; }
  .legal-tabs a { padding: 11px 13px; font-size: 11px; }
  .legal-document { padding: 23px 20px; border-radius: 20px; }
  .legal-document h2 { font-size: 20px; }
  .legal-document p, .legal-document li { font-size: 13px; }
  .seller-details > div { grid-template-columns: minmax(0, 1fr); gap: 5px; }
  .legal-price-table { font-size: 11px; }
  .legal-price-table th, .legal-price-table td { padding: 12px 7px; }
  .legal-page .site-footer { grid-template-columns: 1fr; }
  .legal-page .site-footer nav { justify-content: center; }
}
@media (prefers-reduced-motion: reduce) { .legal-page, .legal-page * { scroll-behavior: auto; transition: none; } }
@media (forced-colors: active) { .contact-badge, .payment-notice, .legal-document, .legal-tabs a { border-color: CanvasText; } .legal-tabs a[aria-current] { outline: 2px solid Highlight; } }
