/* Navid legal documents: /terms-of-service/, /privacy-policy/, /billing-refund-policy/.
   Brought over from the standalone policy drafts (23 Oct 2026). Every rule is scoped
   under .navid-policy, so nothing here can restyle the rest of the theme, and this file
   is linked only from those three pages. The drafts were dark text on white; the tokens
   now point at the site's dark palette. The drafts' own "NAVID" header, review banner,
   skip link and footer were dropped with their rules: the site header and footer replace
   them, and the title block sits in the site's breadcrumb hero. */
.navid-policy {
  --ink:#d3e1e5; --heading:#fff; --muted:#93adb7; --accent:#20c9b6;
  --line:#29434b; --paper:#111f27; --wash:#182c35;
  color:var(--ink); font-size:16px; line-height:1.72;
}

/* Title block, inside the site's breadcrumb hero. */
.navid-policy .summary { max-width:740px; margin:14px auto 0; color:var(--ink); font-size:18px; line-height:1.6; }
.navid-policy .meta { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:22px; color:var(--muted); font-size:13px; line-height:1.5; }
.navid-policy .meta span { border:1px solid #4b636f; border-radius:5px; padding:4px 10px; }

/* Links in the document and the related-policies bar (not the breadcrumb). */
.navid-policy :is(.layout, .related) a { color:var(--accent); text-decoration:underline; text-underline-offset:3px; }
.navid-policy :is(.layout, .related) a:hover { color:var(--accent); text-decoration:underline; text-decoration-thickness:2px; }
.navid-policy a:focus-visible { outline:3px solid #ce8d25; outline-offset:4px; }

/* Contents sidebar + document. */
.navid-policy .layout { display:grid; grid-template-columns:240px minmax(0,1fr); gap:38px; padding:0 0 50px; }
.navid-policy aside { font-size:13px; }
/* top: clears the site's 80px sticky header. */
.navid-policy aside nav { position:sticky; top:100px; }
.navid-policy aside h2 { font-family:inherit; font-size:12px; font-weight:600; line-height:1.4; text-transform:uppercase; letter-spacing:.08em; color:var(--muted); margin:0 0 14px; }
.navid-policy aside ol { padding:0; list-style:none; margin:0; }
.navid-policy aside li { margin:0 0 10px; font-size:13px; line-height:1.4; color:var(--muted); }
.navid-policy .layout aside a { text-decoration:none; color:var(--muted); }
.navid-policy .layout aside a:hover { color:var(--accent); text-decoration:none; }
.navid-policy article { background:var(--paper); border:1px solid var(--line); border-radius:10px; padding:32px 38px; min-width:0; }
.navid-policy article section { scroll-margin-top:100px; }
.navid-policy article section + section { border-top:1px solid var(--line); padding-top:26px; margin-top:30px; }
.navid-policy article h2 { font-family:inherit; font-size:22px; font-weight:600; line-height:1.3; letter-spacing:-.02em; color:var(--heading); margin:0 0 15px; }
.navid-policy article h3 { font-family:inherit; font-size:17px; font-weight:600; color:var(--heading); margin:22px 0 10px; }
.navid-policy article p { font-size:16px; line-height:1.72; color:var(--ink); margin:0 0 15px; }
.navid-policy article p:last-child { margin-bottom:0; }
.navid-policy article strong { color:var(--heading); }
.navid-policy article ul { list-style:disc; padding-left:23px; margin:10px 0 18px; }
.navid-policy article li { font-size:16px; line-height:1.72; color:var(--ink); margin:6px 0; }
.navid-policy article li::marker { color:var(--muted); }

/* Company identity block. */
.navid-policy .company { display:grid; grid-template-columns:160px 1fr; gap:7px 14px; background:var(--wash); padding:18px; border-radius:6px; font-size:14px; margin:20px 0; }
.navid-policy .company dt { font-weight:650; color:var(--heading); margin:0; }
.navid-policy .company dd { margin:0; overflow-wrap:anywhere; }

/* Tables. */
.navid-policy .table-wrap { overflow-x:auto; }
.navid-policy table { width:100%; border-collapse:collapse; font-size:14px; margin:18px 0; }
.navid-policy :is(th, td) { text-align:left; vertical-align:top; border:1px solid var(--line); padding:11px; font-size:14px; line-height:1.6; color:var(--ink); }
.navid-policy th { background:var(--wash); color:var(--heading); font-weight:600; }

.navid-policy .related { display:flex; flex-wrap:wrap; gap:12px 24px; margin:0 0 40px; padding-top:20px; border-top:1px solid var(--line); font-size:14px; }

@media (max-width:800px) {
  .navid-policy .layout { display:block; padding-bottom:32px; }
  .navid-policy aside { margin-bottom:24px; }
  .navid-policy aside nav { position:static; }
  .navid-policy aside ol { columns:2; column-gap:20px; }
  .navid-policy aside li { break-inside:avoid; }
  .navid-policy article { padding:24px 20px; }
  .navid-policy .company { grid-template-columns:1fr; }
  .navid-policy .company dt { margin-top:6px; }
  .navid-policy .company dd { margin-bottom:5px; }
  .navid-policy .related { margin-bottom:30px; }
  .navid-policy :is(th, td) { min-width:145px; }
}
@media (max-width:440px) {
  .navid-policy aside ol { columns:1; }
  .navid-policy, .navid-policy article :is(p, li) { font-size:15px; }
  .navid-policy article h2 { font-size:21px; }
  .navid-policy .summary { font-size:16px; }
}
@media (prefers-reduced-motion:no-preference) {
  html:has(.navid-policy) { scroll-behavior:smooth; }
}

/* Print: the drafts' A4 print styles, adapted to the site page. The site's header,
   CTA band and footer are hidden only when printing, and only on these three pages
   (this file is not loaded anywhere else). Text is forced dark: the screen palette
   is light-on-dark and browsers drop backgrounds when printing. */
@media print {
  @page { size:A4; margin:17mm; }
  body:has(.navid-policy) :is(.rainbow-header, .popup-mobile-menu, .rainbow-cta-area, .rainbow-footer, .copyright-area, .rbt-progress-parent) { display:none !important; }
  body:has(.navid-policy) { background:#fff; }
  .navid-policy { color:#111; font-size:10.5pt; }
  .navid-policy .breadcrumb-area { padding:0 0 16px !important; background:none !important; border-bottom:1px solid #bbb; text-align:left; }
  .navid-policy .breadcrumb-inner { text-align:left !important; }
  .navid-policy h1 { color:#111; font-size:26pt !important; }
  .navid-policy :is(.summary, .meta) { color:#222; margin-left:0; justify-content:flex-start; }
  .navid-policy .meta span { border-color:#bbb; }
  .navid-policy :is(aside, .related, .page-list) { display:none; }
  .navid-policy .rainbow-section-gapBottom { padding-bottom:0 !important; }
  .navid-policy .layout { display:block; padding:22px 0; margin:0; }
  .navid-policy article { border:0; padding:0; background:none; }
  .navid-policy article section { break-inside:auto; }
  .navid-policy article :is(h2, h3) { break-after:avoid; color:#111; }
  .navid-policy article h2 { font-size:15pt; }
  .navid-policy article :is(p, li) { orphans:3; widows:3; color:#111; font-size:10.5pt; }
  .navid-policy article strong, .navid-policy .company dt, .navid-policy th { color:#111; }
  .navid-policy :is(tr, .company) { break-inside:avoid; }
  .navid-policy .company { background:none; border:1px solid #bbb; }
  .navid-policy :is(th, td) { color:#111; border-color:#bbb; background:none; }
  .navid-policy .table-wrap { overflow:visible; }
  .navid-policy a, .navid-policy :is(.layout, .related) a { color:#222; text-decoration:none; }
}
