/* Public-site body copy. Keep this stylesheet after page-specific styles. */
:root {
  --text-size: 16px;
  --text-weight: 300;
  --text-leading: 1.6;
  --text-color: #344054;
}

body {
  font-family: var(--font-body);
  font-size: var(--text-size);
  font-weight: var(--text-weight);
  line-height: var(--text-leading);
}

.home-page .feature-card,
.site-footer { --copy-color: #fff; }

body main p:not(.product-set-price-value),
body main li,
body main dd,
body main dt,
body .home-page .trust-strip > span,
body .site-footer .footer-contact p,
body .site-footer .footer-registration {
  font-family: var(--font-body) !important;
  font-size: var(--text-size) !important;
  font-weight: var(--text-weight) !important;
  line-height: var(--text-leading) !important;
  letter-spacing: normal !important;
  color: var(--copy-color, var(--text-color)) !important;
}

body main p strong,
body main li strong,
body .site-footer .footer-contact p strong {
  font-family: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
  color: inherit !important;
  font-weight: 800 !important;
}

/* Links remain identifiable; prices retain their separate display role. */
body main p a { color: #016195; text-underline-offset: 3px; }
.home-page .feature-card p a { color: inherit; }

/* Long legal headings must fit narrow screens without horizontal scrolling. */
.agreement-page h1,
.agreement-page h2 { overflow-wrap: anywhere; hyphens: auto; }
