/* Small additions only: existing typefaces, page layout and brand CTA colour. */
.offer-context {
  margin-block: 1.5rem;
  padding: 1.25rem;
  border: 1px solid #687384;
  border-radius: 6px;
  color: inherit;
  line-height: 1.6;
  overflow-wrap: anywhere;
}
.about .offer-context h3 { margin: 0 0 1rem; font-size: 1.15rem; font-weight: 600; color: inherit; }
.about .offer-times-list { list-style: none; margin: 0 0 1rem; padding: 0; }
.about .offer-times-list li { padding: .65rem 0; border-bottom: 1px solid #9aa2af; }
.about .offer-times-list li:first-child { padding-top: 0; }
.about .offer-times-list li:last-child { border-bottom: 0; }
.offer-times-list strong { display: inline-block; margin-right: .35rem; }
.offer-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1rem; }
.offer-context .offer-trial-cta {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 44px;
  max-width: 100%;
  padding: .6rem 1.25rem;
  border: 2px solid #da0401;
  border-radius: 50px;
  background: #da0401;
  color: #fff;
  font-family: Raleway, sans-serif;
  font-weight: 600;
  text-align: center;
  text-decoration: none;
}
.offer-context .offer-trial-cta:hover { background: #b80301; border-color: #b80301; color: #fff; }
.offer-context a:not(.offer-trial-cta) { color: inherit; text-decoration: underline; text-underline-offset: .2em; }
.offer-context a:focus-visible, .offer-term-trigger:focus-visible {
  outline: 3px solid currentColor;
  outline-offset: 3px;
}
.offer-term-trigger {
  appearance: none;
  display: inline;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: inherit;
  text-decoration: underline dotted;
  text-underline-offset: .2em;
  cursor: help;
}
.offer-tooltip {
  position: fixed;
  z-index: 1200;
  left: 12px;
  bottom: 12px;
  width: 22rem;
  max-width: calc(100vw - 24px);
  max-height: calc(100vh - 24px);
  overflow: auto;
  padding: .8rem 1rem;
  border: 1px solid #687384;
  border-radius: 6px;
  background: #101418;
  color: #fff;
  box-shadow: 0 4px 16px #0005;
  font-size: .95rem;
  font-weight: 400;
  line-height: 1.6;
  text-align: left;
  visibility: hidden;
  opacity: 0;
}
.terms-enhanced .offer-tooltip { bottom: auto; }
.terms-enhanced .offer-term[data-open="true"] > .offer-tooltip,
html:not(.terms-enhanced) .offer-term:hover > .offer-tooltip,
html:not(.terms-enhanced) .offer-term:focus-within > .offer-tooltip {
  visibility: visible;
  opacity: 1;
}
@media (max-width: 768px) {
  .offer-context { padding: 1rem; }
  .offer-actions { align-items: stretch; flex-direction: column; }
}
@media print {
  .offer-context { color: #000; border-color: #555; }
  .offer-tooltip { display: none; }
}
