/* Privacy + Terms only — classes in information.tpl legal branch */
.tt-legal-page .tt-info-eyebrow,
.tt-legal-cta .tt-info-eyebrow {
  background: #12646C !important;
  border-color: #12646C !important;
  color: white !important;
  border-radius: 5px !important;
  font-family: "Gelasio", serif !important;
}
.tt-legal-page .tt-info-breadcrumb {
  display: none;
}
.tt-legal-page .tt-info-hero-copy p {
  color: white !important;
}
.tt-legal-page .tt-info-hero-copy h1 {
  font-family: "Gelasio", serif !important;
}
.tt-legal-page .tt-info-hero-bg::after {
  display: none !important;
}
.tt-legal-page .tt-info-hero::after {
  background: rgba(7, 24, 39, 0.2);
}
.tt-legal-page h2 {
  font-size: 42px !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  -webkit-text-fill-color: #12646C !important;
}
.tt-legal-page .tt-info-actions .tt-info-btn {
  border-radius: 5px;
  background-color: white;
  border-color: white !important;
  color: #166068 !important;
  transition: 0.3s all;
  line-height: 1;
  font-family: "Inter", sans-serif;
}
.tt-legal-page .tt-info-actions a.tt-info-btn.tt-info-btn-primary {
  background: #166068 !important;
  border-color: #166068 !important;
  color: white !important;
}
.tt-legal-page .tt-info-actions a.tt-info-btn.tt-info-btn-primary:hover {
  color: #166068 !important;
  background-color: white !important;
}
.tt-legal-page .arrow-link {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 42px;
  height: 42px;
  min-width: 196px;
  padding: 0 22px;
  border: 2px solid white;
  border-radius: 5px !important;
  color: white !important;
  font-weight: 900;
  letter-spacing: 0.8px;
  line-height: 1;
  text-transform: uppercase;
  text-decoration: none;
  font-size: 12px !important;
  font-family: "Inter", sans-serif;
  white-space: nowrap;
}
.tt-legal-page .arrow-link .arrow-icon {
  width: 14px;
  height: 14px;
}
.tt-legal-page .arrow-link:hover {
  background-color: white;
  color: #15626A !important;
}
.tt-legal-page .arrow-icon {
  transition: transform 0.25s ease;
}
.tt-legal-page .arrow-link:hover .arrow-icon {
  transform: translateX(6px);
}
.tt-legal-band,
.tt-legal-summary {
  display: none;
}
.tt-legal-aside {
  background-color: #071827 !important;
  border-radius: 8px !important;
}
.tt-legal-aside :is(strong, p) {
  color: white !important;
}
.tt-legal-aside > span {
  padding: 5px 13px !important;
  background-color: #12646C !important;
  border-radius: 5px !important;
  color: white !important;
  width: max-content;
}
.tt-legal-aside a,
.tt-legal-aside nav a {
  color: #12646C !important;
  transition: 0.3s all;
  background-color: white !important;
  border-radius: 8px;
}
.tt-legal-aside a:hover,
.tt-legal-aside nav a:hover {
  background-color: #12646C !important;
  border-color: #12646C !important;
  color: white !important;
}
.tt-legal-cta {
  background-color: rgba(7, 24, 39, 1);
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  text-align: center;
}
.tt-legal-cta :is(h2, p) {
  color: white !important;
  -webkit-text-fill-color: white !important;
}
.tt-legal-cta .tt-info-btn {
  border-radius: 5px;
  background-color: #FBAA06 !important;
  border: 2px solid #FBAA06 !important;
  color: #071827 !important;
  transition: 0.3s all;
  min-width: 200px;
}
.tt-legal-cta .tt-info-btn:hover {
  background-color: #071827 !important;
  transform: none !important;
  color: #FBAA06 !important;
}

@media (max-width: 640px) {
  .tt-legal-page h2 {
    font-size: 28px !important;
  }
}

/* Paired hero CTAs: outline button matches primary height/width */
.tt-info-hero .tt-info-actions {
  display: grid !important;
  grid-auto-flow: column;
  grid-auto-columns: 1fr;
  width: fit-content;
  max-width: 100%;
  align-items: stretch;
}
.tt-info-hero .tt-info-actions > a {
  box-sizing: border-box !important;
  width: 100%;
  min-height: 42px !important;
  height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  padding: 0 22px !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: 0.8px !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  white-space: nowrap;
  border-radius: 5px !important;
}
.tt-info-hero .tt-info-actions .arrow-icon {
  width: 14px !important;
  height: 14px !important;
}

/* Privacy and terms sidebars follow the same viewport pinning as the FAQ navigation. */
@layer tt-card-layout {
  html body #content:is(.tt-legal-page-3, .tt-legal-page-5) .tt-legal-aside nav a:is(.is-active, [aria-current="location"]) {
    background: #12646c !important;
    border-color: #12646c !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
  }
  html body #content:is(.tt-legal-page-3, .tt-legal-page-5) .tt-legal-document [id] {
    scroll-margin-top: calc(var(--tt-privacy-nav-top, 156px) + 8px);
  }
  @media (min-width: 1025px) {
    html:has(#content:is(.tt-legal-page-3, .tt-legal-page-5)),
    html body:has(#content:is(.tt-legal-page-3, .tt-legal-page-5)) {
      overflow-x: clip !important;
      overflow-y: visible !important;
    }
    html body .wrapper:has(#content:is(.tt-legal-page-3, .tt-legal-page-5)),
    html body #midsection:has(#content:is(.tt-legal-page-3, .tt-legal-page-5)),
    html body #midsection .row:has(#content:is(.tt-legal-page-3, .tt-legal-page-5)),
    html body #midsection .row-fluid:has(#content:is(.tt-legal-page-3, .tt-legal-page-5)),
    html body #content:is(.tt-legal-page-3, .tt-legal-page-5),
    html body #content:is(.tt-legal-page-3, .tt-legal-page-5) > section:has(.tt-legal-layout),
    html body #content:is(.tt-legal-page-3, .tt-legal-page-5) .tt-legal-layout {
      overflow: visible !important;
    }
    html body #content:is(.tt-legal-page-3, .tt-legal-page-5) .tt-legal-aside {
      position: sticky !important;
      top: var(--tt-privacy-nav-top, 156px) !important;
      align-self: start;
      height: fit-content;
      max-height: calc(100dvh - var(--tt-privacy-nav-top, 156px) - 16px);
      overflow-y: auto;
      transform: none !important;
      z-index: 10;
    }
  }
}
