/* Privacy and Terms navigation; all rules are scoped to document links. */
.site-footer:has(> .policy-links), .footer:has(> .policy-links) { flex-wrap: wrap; }
nav.policy-links { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 22px; font-family: Arial, Helvetica, sans-serif; }
nav.policy-links a { display: inline-flex; align-items: center; min-height: 44px; font-size: 11px; color: #b4c2cb; text-decoration: none; }
nav.policy-links a:hover { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
nav.policy-links a:focus-visible { outline: 2px solid #d0e2ec; outline-offset: 4px; border-radius: 2px; }
.site-footer > nav.policy-links, .footer > nav.policy-links { flex-basis: 100%; border-top: 1px solid #29333b; padding-top: 8px; margin-top: 4px; }
.policy-login-note { font-size: 11px; color: #a7b6c0; margin-top: 12px; line-height: 1.7; }
nav.policy-links--login { margin-top: 4px; gap: 4px 18px; }
nav.policy-links--account { border-top: 1px solid #3d4938; margin-top: 18px; padding-top: 5px; gap: 4px 18px; }
nav.policy-links--calendar-sidebar { padding-inline: 12px; gap: 0 15px; }
nav.policy-links--calendar-sidebar a { font-size: 10px; }
.policy-404 { padding-block: 20px; border-top: 1px solid #29333b; }
.policy-page .legal-topbar { flex-wrap: wrap; gap: 8px 25px; padding-block: 10px; }
.policy-page .legal-topbar .policy-top-links { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 20px; }
.policy-page .legal-topbar .policy-top-links a { min-height: 44px; }
.policy-page .toc { max-height: calc(100vh - 50px); overflow-y: auto; }
.policy-page .toc .policy-switch { border-top: 1px solid #34424e; margin-top: 15px; padding-top: 15px; color: #d4e2ec; }
.policy-page .toc a { min-height: 32px; }
.policy-page .policy-related { max-width: 1180px; width: calc(100% - 80px); margin: 0 auto 45px; border-top: 1px solid #303d48; padding-top: 25px; }
.policy-page .policy-related h2 { font-size: 19px; letter-spacing: -.025em; font-weight: 500; margin: 0 0 15px; color: #d7e2ea; }
.policy-page .policy-directory { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 35px; }
.policy-page .policy-directory > div { border-top: 1px solid #27343e; padding-top: 10px; }
.policy-page .policy-directory h3 { font-size: 12px; font-weight: 500; color: #b6c8d4; margin: 0; }
.policy-page .policy-directory .policy-links a { font-size: 10px; }
.policy-page .policy-footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 25px; max-width: 1180px; width: calc(100% - 80px); margin: 0 auto; padding: 20px 0 35px; border-top: 1px solid #303d48; color: #a7bac8; font-size: 11px; }
.policy-page .policy-footer a { display: inline-flex; align-items: center; min-height: 44px; }
.policy-page .legal-document code { font-size: .9em; overflow-wrap: anywhere; }
.policy-page .policy-alias { display: block; scroll-margin-top: 25px; }
@media (max-width: 900px) {
  .policy-page .policy-related, .policy-page .policy-footer { width: calc(100% - 48px); }
}
@media (max-width: 700px) {
  .policy-page .toc { max-height: none; overflow: visible; }
  .policy-page .toc .policy-switch { grid-column: 1 / -1; }
  .policy-page .policy-related, .policy-page .policy-footer { width: calc(100% - 36px); }
  .policy-page .policy-directory { grid-template-columns: 1fr; gap: 15px; }
}
@media (max-width: 650px) {
  nav.policy-links--calendar-sidebar { display: none; }
}
@media (max-width: 480px) {
  .policy-page .legal-topbar { align-items: flex-start; }
  .policy-page .legal-topbar .policy-top-links { gap: 0 16px; }
}
