/* Cross-template repairs loaded after Breakdance and the publication template. */
:root {
  --ri-link-fix: #4c218e;
  --ri-link-fix-hover: #351467;
}

body .ri-content-page a:not(.ri-button):not(.ri-buy),
body.single-ri_books_like .bde-post-content a:not(.ri-button):not(.ri-buy),
body.single-ri_support .bde-post-content a:not(.ri-button):not(.ri-buy),
body .qrb-book-page a:not(.qrb-button):not(.qrb-text-action--light),
body .ri-tt-card-actions a:not(:last-child) {
  color: var(--ri-link-fix) !important;
  text-decoration-color: var(--ri-link-fix) !important;
}

body .ri-content-page a:not(.ri-button):not(.ri-buy):hover,
body.single-ri_books_like .bde-post-content a:not(.ri-button):not(.ri-buy):hover,
body.single-ri_support .bde-post-content a:not(.ri-button):not(.ri-buy):hover,
body .qrb-book-page a:not(.qrb-button):not(.qrb-text-action--light):hover,
body .ri-tt-card-actions a:not(:last-child):hover {
  color: var(--ri-link-fix-hover) !important;
  text-decoration-color: var(--ri-link-fix-hover) !important;
}

body .qrb-book-page .qrb-button,
body .ri-content-page .ri-button,
body .ri-tt-card-actions a:last-child {
  color: #fff !important;
}

body .qrb-book-page .qrb-button--light {
  color: var(--qrb-ink) !important;
}

body .qrb-final-cta h2,
body .qrb-final-cta .qrb-text-action--light {
  color: #fff !important;
}

body .ri-content-page .ri-link-directory.ri-book-directory li {
  min-height: 76px;
  padding: 13px 14px !important;
}

body .ri-content-page .ri-link-directory.ri-book-directory li > a {
  min-height: 0 !important;
  height: auto !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  display: block !important;
  transform: none !important;
}

body .ri-content-page .ri-directory-tools label {
  display: block !important;
}

body .ri-content-page .ri-directory-search {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
}

body .ri-content-page .ri-cta {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(240px, auto);
  align-items: center !important;
  gap: 24px 32px !important;
}

body .ri-content-page .ri-cta h2 {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  color: var(--ri-ink) !important;
}

body .ri-content-page .ri-cta > p:last-child {
  min-width: 0;
}

@media (max-width: 760px) {
  body .ri-content-page .ri-cta {
    grid-template-columns: 1fr;
  }

  body .ri-content-page .ri-cta > p:last-child {
    justify-content: flex-start;
  }
}
