/* Legal pages (terms, refund-policy, privacy-policy, cookie-policy: index.php) in the homepage design.
   Loaded after homepage-v9.css, legal-v9-chrome.css and the head scripts; markup comes from
   /includes/legal-v9/ (top.php, bottom.php) plus each page's own sections. */
/* ---------------------------------------------------------------------------------------------
   Values come from the homepage's tokens and measured styles:
   navy hero + curve, 12px caps eyebrows, Poppins 700 headings with -0.02em tracking, #737373 body
   text, #0287ed links, white cards (1px #ededed, 16px radius, 0 10px 28px shadow), the light-blue
   CTA card and its footer wave. Mobile uses the homepage's --bp-m-* spacing tokens (24px gutter).
   ------------------------------------------------------------------------------------------- */
body.bp-legal-page {
  --legal-ink: var(--color-text, #1d1d1d);
  --legal-body: var(--color-text-body, #737373);
  --legal-muted: #9aa3af;
  --legal-line: #ededed;
  --legal-rule: #f0f1f4;
  --legal-tint: #f5f7fa;
  --legal-link: #0287ed;
  --legal-link-hover: #006fc9;
  --legal-icon-bg: rgba(2, 135, 237, 0.08);
  --legal-card-shadow: 0 10px 28px rgba(15, 23, 42, 0.08);
  --legal-radius: var(--radius-2xl, 1rem);
  --legal-width: min(1140px, calc(100% - 48px));
  --legal-curve-h: clamp(5rem, 10vw, 9rem);
  --legal-scroll-gap: var(--space-6, 1.5rem);
  --legal-section-gap: var(--space-10, 2.5rem);
  background: #fff;
}

/* #content is a flex column on the homepage, where section.cta1 has order 150 and the rest 200 */
body.bp-legal-page #wrap #content.content > #legal-hero { order: 10 !important; }
body.bp-legal-page #wrap #content.content > #bp-legal { order: 20 !important; }
body.bp-legal-page #wrap #content.content > section.bp-legal-cta { order: 30 !important; }

body.bp-legal-page #legal-hero > .container,
body.bp-legal-page #bp-legal > .container {
  width: var(--legal-width);
  max-width: 1140px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 0;
  padding-right: 0;
}

/* hero: the homepage hero's navy gradient and bottom curve */
body.bp-legal-page #legal-hero {
  position: relative;
  overflow: hidden;
  padding: 9.5rem 0 calc(var(--legal-curve-h) + var(--space-6, 1.5rem));
  background-color: var(--bp-hero-navy, #1c4a7a);
  background-image:
    radial-gradient(ellipse 85% 65% at 12% 18%, rgba(100, 160, 230, 0.3), transparent 58%),
    radial-gradient(ellipse 70% 55% at 88% 28%, rgba(70, 120, 200, 0.22), transparent 52%),
    linear-gradient(165deg, var(--bp-hero-navy-mid, #2a5f96) 0%, var(--bp-hero-navy, #1c4a7a) 48%, var(--bp-hero-navy-deep, #163a62) 100%);
}
body.bp-legal-page #legal-hero > .container {
  position: relative;
  z-index: 2;
}
/* The photo sits at reduced opacity under a navy wash in the hero's own gradient, and fades out toward
   the copy on the left, so it reads as part of the background. Phones hide it (it would sit behind the copy). */
body.bp-legal-page #legal-hero > .bp-legal-hero-photo {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 0;
  width: 62%;
  pointer-events: none;
  -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 45%);
  mask-image: linear-gradient(to right, transparent 0%, #000 45%);
}
body.bp-legal-page #legal-hero > .bp-legal-hero-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 55% 38%;
  opacity: 0.55;
}
/* darken the top so the white menu stays readable over the photo */
body.bp-legal-page #legal-hero > .bp-legal-hero-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(22, 58, 98, 0.55) 0%, rgba(22, 58, 98, 0) 32%),
    linear-gradient(90deg, rgba(28, 74, 122, 0.6) 0%, rgba(28, 74, 122, 0.15) 60%, rgba(22, 58, 98, 0.1) 100%);
}
body.bp-legal-page #wrap #legal-hero .bp-legal-eyebrow {
  margin: 0 0 var(--space-3, 0.75rem);
  color: var(--bp-hero-text-muted, rgba(255, 255, 255, 0.52));
}
body.bp-legal-page #wrap #legal-hero h1 {
  max-width: 40rem;
  margin: 0;
  color: var(--bp-hero-text, #fff);
  font-size: var(--text-display) !important;
  font-weight: var(--weight-bold, 700);
  line-height: var(--leading-tight, 1.15);
  letter-spacing: var(--tracking-tight, -0.02em);
}
body.bp-legal-page #wrap #legal-hero .bp-legal-hero-lead {
  max-width: 38rem;
  margin: var(--space-4, 1rem) 0 0;
  color: var(--bp-hero-text-soft, rgba(255, 255, 255, 0.68));
  font-size: var(--text-xl, 1.25rem);
  font-weight: 400;
  line-height: var(--leading-relaxed, 1.65);
}
body.bp-legal-page #legal-hero > .bp-legal-curve {
  position: absolute;
  right: 0;
  bottom: -1px; /* the hero's height can land on a fraction; this keeps a navy hairline from showing */
  left: 0;
  z-index: 1;
  height: calc(var(--legal-curve-h) + 1px);
  line-height: 0;
  overflow: hidden;
  pointer-events: none;
}
body.bp-legal-page #legal-hero > .bp-legal-curve svg {
  display: block;
  width: calc(100% + 3px);
  height: 100%;
  margin-left: -1px;
}

/* shared eyebrow (the homepage's .heading-label look) */
body.bp-legal-page #wrap .bp-legal-eyebrow {
  margin: 0 0 var(--space-3, 0.75rem);
  color: var(--legal-muted);
  font-size: var(--text-xs, 0.75rem) !important;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: var(--tracking-caps, 0.06em);
  text-transform: uppercase;
}

/* From 768px up the eyebrows are pills, as on the homepage (index-dev.php's .heading-label, 2026-10-01): white
   fill, #e5e7eb border, 8px 24px. Phones keep the plain grey caps. The contents list's "On this page" label
   stays plain: on tablets it sits over pill-shaped links. The hero's "Legal" eyebrow shows on phones only. */
@media (min-width: 768px) {
  body.bp-legal-page #wrap #legal-hero .bp-legal-eyebrow {
    display: none;
  }
  body.bp-legal-page #wrap #bp-legal .bp-legal-summary > .bp-legal-eyebrow {
    display: inline-block;
    padding: 0.5rem 1.5rem;
    border: 1px solid #e5e7eb;
    border-radius: var(--radius-full, 9999px);
    background: #fff;
    color: #737373;
    line-height: 1.6;
  }
}

/* body: sticky contents list beside the document */
body.bp-legal-page #bp-legal {
  position: relative;
  padding: var(--space-8, 2rem) 0 var(--section-py, 5rem);
  background: #fff;
}
body.bp-legal-page #bp-legal .bp-legal-layout {
  display: grid;
  grid-template-columns: 14.5rem minmax(0, 1fr);
  column-gap: clamp(2.5rem, 5vw, 4.5rem);
  align-items: start;
}
body.bp-legal-page #bp-legal .bp-legal-aside {
  position: sticky;
  top: calc(var(--sticky-nav-height, 0px) + var(--legal-scroll-gap));
  padding-top: var(--space-2, 0.5rem);
}
body.bp-legal-page #wrap #bp-legal .bp-legal-toc-list {
  margin: 0;
  padding: 0;
  list-style: none;
  border-left: 1px solid var(--legal-line);
}
body.bp-legal-page #wrap #bp-legal .bp-legal-toc-list > li {
  margin: 0;
  padding: 0;
}
body.bp-legal-page #wrap #bp-legal .bp-legal-toc-list a {
  display: block;
  margin-left: -1px;
  padding: 0.4rem 0 0.4rem 1rem;
  border-left: 2px solid transparent;
  color: var(--legal-body);
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.4;
  text-decoration: none;
  transition: color var(--dur-fast, 160ms) ease, border-color var(--dur-fast, 160ms) ease;
}
body.bp-legal-page #wrap #bp-legal .bp-legal-toc-list a:hover {
  color: var(--legal-ink);
}
body.bp-legal-page #wrap #bp-legal .bp-legal-toc-list a.is-current {
  border-left-color: var(--legal-link);
  color: var(--legal-ink);
  font-weight: 600;
}
body.bp-legal-page #wrap #bp-legal .bp-legal-toc-list a:focus-visible {
  outline: 2px solid var(--legal-link);
  outline-offset: 2px;
  border-radius: 4px;
}
body.bp-legal-page #wrap #bp-legal .bp-legal-aside-help {
  margin: var(--space-6, 1.5rem) 0 0;
  padding-left: calc(1rem + 1px);
  color: var(--legal-muted);
  font-size: var(--text-sm, 0.875rem);
  line-height: 1.5;
}

/* document */
body.bp-legal-page #bp-legal .bp-legal-doc {
  max-width: 46.5rem;
  min-width: 0;
}
body.bp-legal-page #bp-legal .bp-legal-doc > section {
  scroll-margin-top: calc(var(--sticky-nav-height, 0px) + var(--legal-scroll-gap));
}
body.bp-legal-page #bp-legal .bp-legal-section {
  margin-top: var(--legal-section-gap);
  padding-top: var(--legal-section-gap);
  border-top: 1px solid var(--legal-line);
}
/* The refund policy's #money-back-guarantee (the order page links to it) shares its id with a homepage
   section, so homepage-v9.css gives it that section's padding, background and position. Undo just those. */
body.bp-legal-page #wrap #content #bp-legal #money-back-guarantee.bp-legal-section {
  position: static !important;
  inset: auto !important;
  margin-top: var(--legal-section-gap) !important;
  padding: var(--legal-section-gap) 0 0 !important;
  background: none !important;
}
body.bp-legal-page #wrap #bp-legal .bp-legal-doc h2 {
  margin: 0 0 var(--space-4, 1rem);
  padding: 0;
  color: var(--legal-ink);
  font-size: var(--text-3xl, 1.875rem) !important;
  font-weight: var(--weight-bold, 700);
  line-height: var(--leading-tight, 1.15);
  letter-spacing: var(--tracking-tight, -0.02em);
}
body.bp-legal-page #wrap #bp-legal .bp-legal-doc h3 {
  margin: 0;
  padding: 0;
  color: var(--legal-ink);
  font-size: var(--text-xl, 1.25rem) !important;
  font-weight: var(--weight-bold, 700);
  line-height: var(--leading-snug, 1.35);
  letter-spacing: -0.01em;
}
body.bp-legal-page #wrap #bp-legal .bp-legal-doc p,
body.bp-legal-page #wrap #bp-legal .bp-legal-doc li {
  color: var(--legal-body);
  font-size: var(--text-md, 1.0625rem);
  font-weight: 400;
  line-height: var(--leading-relaxed, 1.65);
}
body.bp-legal-page #wrap #bp-legal .bp-legal-doc p {
  margin: 0 0 var(--space-4, 1rem);
}
body.bp-legal-page #wrap #bp-legal .bp-legal-doc p:last-child {
  margin-bottom: 0;
}
body.bp-legal-page #wrap #bp-legal .bp-legal-doc strong {
  color: var(--legal-ink);
  font-weight: 600;
}
body.bp-legal-page #wrap #bp-legal .bp-legal-doc a,
body.bp-legal-page #wrap #bp-legal .bp-legal-aside-help a,
body.bp-legal-page #wrap section.bp-legal-cta .bp-legal-related a,
body.bp-legal-page #wrap section.bp-legal-cta .bp-legal-cta-email a {
  color: var(--legal-link);
  text-decoration: none;
  transition: color var(--dur-fast, 160ms) ease;
}
body.bp-legal-page #wrap #bp-legal .bp-legal-doc a:hover,
body.bp-legal-page #wrap #bp-legal .bp-legal-aside-help a:hover,
body.bp-legal-page #wrap section.bp-legal-cta .bp-legal-related a:hover,
body.bp-legal-page #wrap section.bp-legal-cta .bp-legal-cta-email a:hover {
  color: var(--legal-link-hover);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* summary card */
body.bp-legal-page #bp-legal .bp-legal-summary {
  padding: var(--space-8, 2rem) var(--space-8, 2rem) var(--space-4, 1rem);
  background: #fff;
  border: 1px solid var(--legal-line);
  border-radius: var(--legal-radius);
  box-shadow: var(--legal-card-shadow);
}
body.bp-legal-page #wrap #bp-legal .bp-legal-points {
  margin: var(--space-6, 1.5rem) 0 0;
  padding: 0;
  list-style: none;
}
body.bp-legal-page #wrap #bp-legal .bp-legal-points > li {
  display: flex;
  align-items: center;
  gap: var(--space-4, 1rem);
  margin: 0;
  padding: var(--space-4, 1rem) 0;
  border-top: 1px solid var(--legal-rule);
  color: var(--legal-ink);
  line-height: var(--leading-snug, 1.35);
}
body.bp-legal-page .bp-legal-icon {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 50%;
  background: var(--legal-icon-bg);
  color: var(--legal-link);
  font-size: 0.875rem;
  line-height: 1;
}

/* numbered clauses */
body.bp-legal-page #wrap #bp-legal .bp-legal-list {
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: legal-clause;
}
body.bp-legal-page #wrap #bp-legal .bp-legal-list > li {
  position: relative;
  margin: 0 0 var(--space-4, 1rem);
  padding-left: 2.75rem;
  counter-increment: legal-clause;
}
body.bp-legal-page #wrap #bp-legal .bp-legal-list > li:last-child {
  margin-bottom: 0;
}
body.bp-legal-page #wrap #bp-legal .bp-legal-list > li::before {
  content: counter(legal-clause);
  position: absolute;
  top: 0.05rem;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  border: 1px solid var(--legal-line);
  border-radius: 50%;
  background: var(--legal-tint);
  color: var(--legal-ink);
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1;
}
body.bp-legal-page #wrap #bp-legal .bp-legal-sublist {
  margin: var(--space-3, 0.75rem) 0 0;
  padding-left: 1.5rem;
  list-style: lower-alpha;
}
body.bp-legal-page #wrap #bp-legal .bp-legal-sublist > li {
  margin: 0 0 var(--space-2, 0.5rem);
  padding-left: var(--space-1, 0.25rem);
}
body.bp-legal-page #wrap #bp-legal .bp-legal-sublist > li::marker {
  color: var(--legal-muted);
  font-weight: 600;
}

/* service cards */
body.bp-legal-page #bp-legal .bp-legal-cards {
  display: grid;
  gap: var(--card-gap, 1.5rem);
  margin-top: var(--space-6, 1.5rem);
}
body.bp-legal-page #bp-legal .bp-legal-card {
  padding: var(--space-6, 1.5rem) var(--space-8, 2rem) var(--space-8, 2rem);
  background: #fff;
  border: 1px solid var(--legal-line);
  border-radius: var(--legal-radius);
  box-shadow: var(--legal-card-shadow);
}
body.bp-legal-page #bp-legal .bp-legal-card-head {
  display: flex;
  align-items: center;
  gap: var(--space-3, 0.75rem);
  margin-bottom: var(--space-3, 0.75rem);
}
body.bp-legal-page #bp-legal .bp-legal-card-head .bp-legal-icon {
  width: 2.625rem;
  height: 2.625rem;
  font-size: 1rem;
}

/* closing card: the homepage's CTA frame (section.cta1), with its own content */
body.bp-legal-page #wrap section.bp-legal-cta .lqd-column {
  float: none;
  width: 100%;
  max-width: 42rem;
  margin: 0 auto;
  padding-left: 0;
  padding-right: 0;
}
body.bp-legal-page #wrap section.bp-legal-cta h2 {
  margin: 0 0 var(--space-2, 0.5rem);
  font-size: clamp(1.875rem, 2.8vw, 2.52rem) !important;
}
body.bp-legal-page #wrap section.bp-legal-cta .lead {
  margin: 0 0 var(--space-8, 2rem) !important;
}
body.bp-legal-page #wrap section.bp-legal-cta .bp-legal-cta-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: var(--space-4, 1rem);
}
body.bp-legal-page #wrap section.bp-legal-cta .bp-legal-cta-actions .btn {
  margin: 0;
}
body.bp-legal-page #wrap section.bp-legal-cta .bp-legal-cta-actions .btn > span {
  padding: 1.15em 2.1em;
}
body.bp-legal-page #wrap section.bp-legal-cta .bp-legal-cta-actions .btn .btn-txt {
  font-size: var(--text-md, 1.0625rem);
  font-weight: 700;
  letter-spacing: 0.02em;
}
body.bp-legal-page #wrap section.bp-legal-cta .bp-legal-cta-email {
  margin: var(--space-4, 1rem) 0 0;
  color: var(--legal-body);
  font-size: var(--text-sm, 0.875rem);
  line-height: 1.5;
}
body.bp-legal-page #wrap section.bp-legal-cta .bp-legal-related-label {
  margin-right: 0.5em;
}
body.bp-legal-page #wrap section.bp-legal-cta .bp-legal-related a {
  margin-right: 1.25em;
  white-space: nowrap;
}
body.bp-legal-page #wrap section.bp-legal-cta .bp-legal-related a:last-child {
  margin-right: 0;
}
/* the homepage's standalone-link chevron; homepage-v9.css adds the nudge on hover */
body.bp-legal-page #wrap section.bp-legal-cta .bp-legal-related .fa-chevron-right {
  margin-left: 0.4rem;
  font-size: 0.75em;
  vertical-align: 0.04em;
}
/* chat icon on the closing card's button */
body.bp-legal-page #wrap section.bp-legal-cta .btn .btn-txt .fa-comment {
  margin-right: 0.55em;
  font-size: 0.9em;
}
/* the homepage's "Ask a question" chat link: outline bubble, solid on hover */
body.bp-legal-page #wrap #bp-legal .bp-legal-chat-link {
  display: inline-block;
  margin-top: var(--space-1, 0.25rem);
  font-weight: 600;
}
/* inline-block keeps the icon out of the link's hover underline */
body.bp-legal-page #wrap #bp-legal .bp-legal-chat-link .fa-comment {
  display: inline-block;
  margin-right: 0.4rem;
  font-size: 0.95em;
  text-decoration: none;
}
body.bp-legal-page #wrap #bp-legal .bp-legal-chat-link:hover .fa-comment,
body.bp-legal-page #wrap #bp-legal .bp-legal-chat-link:focus-visible .fa-comment {
  font-weight: 900;
}
body.bp-legal-page #wrap section.bp-legal-cta .bp-legal-related {
  margin: var(--space-8, 2rem) auto 0;
  padding-top: var(--space-6, 1.5rem);
  max-width: 34rem;
  border-top: 1px solid #e5e7eb;
  color: var(--legal-muted);
  font-size: var(--text-sm, 0.875rem);
  line-height: 1.6;
}

/* contents as wrapped chips once the sidebar no longer fits */
@media (max-width: 991px) {
  body.bp-legal-page #bp-legal .bp-legal-layout {
    display: block;
  }
  body.bp-legal-page #bp-legal .bp-legal-aside {
    position: static;
    margin-bottom: var(--space-8, 2rem);
    padding-top: 0;
  }
  body.bp-legal-page #wrap #bp-legal .bp-legal-toc-list {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2, 0.5rem);
    border-left: 0;
  }
  body.bp-legal-page #wrap #bp-legal .bp-legal-toc-list a {
    margin: 0;
    padding: 0.4rem 0.875rem;
    border: 1px solid #e5e7eb;
    border-radius: var(--radius-full, 9999px);
    background: #fff;
    font-size: var(--text-sm, 0.875rem);
  }
  body.bp-legal-page #wrap #bp-legal .bp-legal-toc-list a.is-current {
    border-color: #e5e7eb;
    color: var(--legal-body);
    font-weight: 400;
  }
  body.bp-legal-page #wrap #bp-legal .bp-legal-toc-list a:hover {
    border-color: #c9ced6;
  }
  body.bp-legal-page #wrap #bp-legal .bp-legal-aside-help {
    display: none;
  }
  body.bp-legal-page #bp-legal .bp-legal-doc {
    max-width: none;
  }
}

/* tablets and phones use the fixed mobile bar (73px) instead of the floating desktop one */
@media (max-width: 1199px) {
  body.bp-legal-page {
    --legal-scroll-gap: calc(var(--m-header-h, 73px) + var(--space-6, 1.5rem));
  }
  body.bp-legal-page #legal-hero {
    padding-top: calc(var(--m-header-h, 73px) + var(--space-12, 3rem));
  }
}

/* phones: the homepage's --bp-m-* spacing (24px gutter, 32px header → content, 24px card gap) */
@media (max-width: 767px) {
  body.bp-legal-page {
    --legal-width: 100%;
    --legal-curve-h: 5rem;
  }
  body.bp-legal-page #legal-hero > .container,
  body.bp-legal-page #bp-legal > .container {
    padding-left: var(--bp-m-gutter, 1.5rem);
    padding-right: var(--bp-m-gutter, 1.5rem);
  }
  body.bp-legal-page #legal-hero {
    padding-top: calc(var(--m-header-h, 73px) + var(--bp-m-hero-top, 2rem));
    padding-bottom: calc(var(--legal-curve-h) + var(--bp-m-hero-curve-above, 2rem));
  }
  body.bp-legal-page #legal-hero > .bp-legal-hero-photo {
    display: none;
  }
  /* mirrored, so it runs the same way as the homepage's phone waves */
  body.bp-legal-page #legal-hero > .bp-legal-curve svg {
    transform: scaleX(-1);
  }
  body.bp-legal-page #wrap #legal-hero h1 {
    font-size: 1.875rem !important;
  }
  body.bp-legal-page #wrap #legal-hero .bp-legal-hero-lead {
    font-size: var(--text-lg, 1.125rem);
    line-height: 1.5;
  }
  body.bp-legal-page #bp-legal {
    padding-top: var(--bp-m-hero-curve-below, 1.25rem);
    padding-bottom: var(--bp-m-content-after, 2rem);
  }
  body.bp-legal-page #wrap #bp-legal .bp-legal-doc h2 {
    font-size: 1.625rem !important;
  }
  body.bp-legal-page #wrap #bp-legal .bp-legal-doc h3 {
    font-size: var(--text-lg, 1.125rem) !important;
  }
  body.bp-legal-page {
    --legal-section-gap: var(--space-8, 2rem);
  }
  body.bp-legal-page #bp-legal .bp-legal-summary {
    padding: var(--space-6, 1.5rem) var(--space-6, 1.5rem) var(--space-2, 0.5rem);
  }
  body.bp-legal-page #wrap #bp-legal .bp-legal-points > li {
    align-items: flex-start;
    font-size: var(--text-base, 1rem);
    line-height: 1.5;
  }
  body.bp-legal-page #bp-legal .bp-legal-card {
    padding: var(--space-6, 1.5rem);
  }
  body.bp-legal-page #wrap #bp-legal .bp-legal-list > li {
    padding-left: 2.5rem;
  }
  /* CTA section on phones, as on the homepage: white tone, a full card, the footer's own wave below */
  body.bp-index-dev #content.content > section.bp-legal-cta {
    --bp-m-raised-bg: radial-gradient(circle at 12% 15%, rgba(2, 135, 237, 0.06), transparent 17rem), linear-gradient(145deg, #fbfcfe 0%, #f5f7fa 100%);
    background: #fff !important;
    color: inherit !important;
    padding-top: 0.75rem !important;
    padding-left: var(--bp-m-gutter) !important;
    padding-right: var(--bp-m-gutter) !important;
  }
  body.bp-index-dev.bp-index7 #wrap #content.content > section.bp-legal-cta {
    padding-bottom: var(--bp-m-footer-wave-above) !important;
  }
  body.bp-legal-page #wrap section.bp-legal-cta h2 {
    font-size: 1.875rem !important;
  }
  body.bp-legal-page #wrap section.bp-legal-cta .lead {
    margin-bottom: var(--space-6, 1.5rem) !important;
  }
  /* left-aligned at natural width, like the homepage's phone CTA button */
  body.bp-legal-page #wrap section.bp-legal-cta .bp-legal-cta-actions {
    justify-content: flex-start;
  }
  body.bp-legal-page #wrap section.bp-legal-cta .bp-legal-related {
    margin-top: var(--space-6, 1.5rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  body.bp-legal-page #wrap #bp-legal .bp-legal-toc-list a {
    transition: none;
  }
}

body.bp-legal-page #bp-legal .bp-legal-doc > section[tabindex="-1"]:focus {
  outline: none;
}

/* homepage-v9.css keeps a megamenu open while anything inside it has focus (li.megamenu:focus-within).
   A mouse click on a menu link that opens a new tab leaves focus on that link, so the menu stayed pinned
   open and stacked under the next one hovered. Here only keyboard focus keeps a menu open. */
@media (min-width: 1200px) {
  body.bp-legal-page .main-header .main-nav > li.megamenu:focus-within:not(:hover):not(:has(:focus-visible)) > .nav-item-children {
    display: none !important;
  }
}

/* One Smart Sheep removed its review, so its logo in the Success stories menu is no longer a link */
body.bp-legal-page .main-header .bp-legal-review-logo {
  cursor: default;
}


/* ---------------------------------------------------------------------------------------------
   Components the policy pages use besides the terms page's
   ------------------------------------------------------------------------------------------- */

/* text that follows a numbered list or a group of cards */
body.bp-legal-page #wrap #bp-legal .bp-legal-list:not(:last-child) {
  margin-bottom: var(--space-4, 1rem);
}
body.bp-legal-page #bp-legal .bp-legal-cards:not(:last-child) {
  margin-bottom: var(--space-6, 1.5rem);
}

/* bullet lists */
body.bp-legal-page #wrap #bp-legal .bp-legal-bullets {
  margin: 0 0 var(--space-4, 1rem);
  padding: 0;
  list-style: none;
}
body.bp-legal-page #wrap #bp-legal .bp-legal-bullets:last-child {
  margin-bottom: 0;
}
body.bp-legal-page #wrap #bp-legal .bp-legal-bullets > li {
  position: relative;
  margin: 0 0 var(--space-2, 0.5rem);
  padding-left: 1.5rem;
}
body.bp-legal-page #wrap #bp-legal .bp-legal-bullets > li::before {
  content: "";
  position: absolute;
  top: 0.7em;
  left: 0.375rem;
  width: 0.375rem;
  height: 0.375rem;
  border-radius: 50%;
  background: var(--legal-link);
}
/* short items (a list of data fields) sit in two columns */
@media (min-width: 768px) {
  body.bp-legal-page #wrap #bp-legal .bp-legal-bullets--cols {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: var(--space-6, 1.5rem);
  }
}

/* checklist with the homepage's green ticks */
body.bp-legal-page #wrap #bp-legal .bp-legal-checks {
  margin: 0 0 var(--space-4, 1rem);
  padding: 0;
  list-style: none;
}
body.bp-legal-page #wrap #bp-legal .bp-legal-checks:last-child {
  margin-bottom: 0;
}
body.bp-legal-page #wrap #bp-legal .bp-legal-checks > li {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3, 0.75rem);
  margin: 0 0 var(--space-3, 0.75rem);
}
body.bp-legal-page .bp-legal-check {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 1.375rem;
  height: 1.375rem;
  margin-top: 0.2rem;
  border-radius: 50%;
  background: #4caf7d;
  color: #fff;
  font-size: 0.625rem;
  line-height: 1;
}

/* the guarantee: a card with the homepage's green check icon */
body.bp-legal-page #bp-legal .bp-legal-icon--check {
  background: #4caf7d;
  color: #fff;
}

/* guarantee stages, like the homepage's "Protected for Up to 24 Months" timeline: a stage label over each
   card's title, and a dark "Ultimate only" badge */
body.bp-legal-page #wrap #bp-legal .bp-legal-doc p.bp-legal-card-kicker {
  margin: 0 0 0.125rem;
  color: var(--legal-muted);
  font-size: var(--text-xs, 0.75rem);
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: var(--tracking-caps, 0.06em);
  text-transform: uppercase;
}
body.bp-legal-page #bp-legal .bp-legal-card-head > .bp-legal-card-title {
  flex: 1 1 auto;
  min-width: 0;
}
body.bp-legal-page #bp-legal .bp-legal-badge {
  flex: 0 0 auto;
  align-self: center;
  padding: 0.375rem 0.75rem;
  border-radius: var(--radius-full, 9999px);
  background: var(--legal-ink);
  color: #fff;
  font-size: 0.625rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  white-space: nowrap;
}

/* two cards side by side */
@media (min-width: 768px) {
  body.bp-legal-page #bp-legal .bp-legal-cards--2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* a card holding one paragraph next to its icon */
body.bp-legal-page #bp-legal .bp-legal-card--row {
  display: flex;
  align-items: flex-start;
  gap: var(--space-4, 1rem);
  padding: var(--space-6, 1.5rem) var(--space-8, 2rem);
}
body.bp-legal-page #wrap #bp-legal .bp-legal-card--row h3 {
  margin-bottom: var(--space-2, 0.5rem);
}
body.bp-legal-page #bp-legal .bp-legal-card--row .bp-legal-icon {
  width: 2.625rem;
  height: 2.625rem;
  font-size: 1rem;
}

/* standalone internal link with the homepage's right chevron ("Read our full guarantee policy >") */
body.bp-legal-page #wrap #bp-legal .bp-legal-doc a.bp-legal-more {
  font-size: 0.9375rem;
  font-weight: 600;
}
body.bp-legal-page #wrap #bp-legal .bp-legal-doc a.bp-legal-more .fa-chevron-right {
  margin-left: 0.5rem;
  font-size: 0.75em;
  vertical-align: 0.04em;
}

/* secondary pill button (the homepage's "Talk to an expert") */
body.bp-legal-page #wrap #bp-legal .bp-legal-btn-secondary {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2, 0.5rem);
  min-height: 3rem;
  margin-top: var(--space-6, 1.5rem);
  padding: 0 var(--space-6, 1.5rem);
  border: 1px solid #e5e7eb;
  border-radius: var(--radius-full, 9999px);
  background: #fff;
  color: var(--legal-ink);
  font-family: inherit;
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1;
  cursor: pointer;
  transition: border-color var(--dur-fast, 160ms) ease, transform var(--dur-press, 140ms) var(--ease-out, ease);
}
body.bp-legal-page #wrap #bp-legal .bp-legal-btn-secondary:hover {
  border-color: #c9ced6;
}
body.bp-legal-page #wrap #bp-legal .bp-legal-btn-secondary:active {
  transform: scale(0.98);
}
body.bp-legal-page #wrap #bp-legal .bp-legal-btn-secondary:focus-visible {
  outline: 2px solid var(--legal-link);
  outline-offset: 2px;
}
body.bp-legal-page #wrap #bp-legal .bp-legal-btn-secondary .fas {
  color: var(--legal-link);
}
/* in the summary card it sits after the points, inside the card's padding */
body.bp-legal-page #wrap #bp-legal .bp-legal-summary .bp-legal-btn-secondary {
  margin: var(--space-2, 0.5rem) 0 var(--space-4, 1rem);
}

/* contact block (privacy: data controller) */
body.bp-legal-page #wrap #bp-legal .bp-legal-contact {
  margin: var(--space-6, 1.5rem) 0 var(--space-4, 1rem);
}
body.bp-legal-page #wrap #bp-legal .bp-legal-contact p {
  margin: 0;
  line-height: 1.6;
}
body.bp-legal-page #wrap #bp-legal .bp-legal-note {
  color: var(--legal-muted);
  font-size: var(--text-sm, 0.875rem);
}

@media (max-width: 767px) {
  body.bp-legal-page #bp-legal .bp-legal-card--row {
    padding: var(--space-6, 1.5rem);
  }
}
@media (prefers-reduced-motion: reduce) {
  body.bp-legal-page #wrap #bp-legal .bp-legal-btn-secondary {
    transition: none;
  }
}
