/* Shared typography for the public site, standalone pages, and admin. */
:root {
  --default-font: "Roboto", system-ui, -apple-system, "Segoe UI", sans-serif;
  --heading-font: var(--default-font);
  --nav-font: var(--default-font);
  --bs-font-sans-serif: var(--default-font);
  --bs-body-font-family: var(--default-font);
}

body.public-page {
  --default-font: "Golos Text", system-ui, -apple-system, "Segoe UI", sans-serif;
  --heading-font: var(--default-font);
  --nav-font: var(--default-font);
  --bs-font-sans-serif: var(--default-font);
  --bs-body-font-family: var(--default-font);
}

body.public-page.blog-page {
  --default-font: "Roboto", system-ui, -apple-system, "Segoe UI", sans-serif;
  --heading-font: var(--default-font);
  --nav-font: var(--default-font);
  --bs-font-sans-serif: var(--default-font);
  --bs-body-font-family: var(--default-font);
}

body {
  font-family: var(--default-font);
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--heading-font);
}

button, input, select, textarea, optgroup, .btn {
  font-family: var(--default-font);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible {
  outline: 3px solid #1e3a8a;
  outline-offset: 3px;
}

.post-content {
  color: var(--default-color, #444444);
  font-family: var(--default-font);
  font-size: 1rem;
  line-height: 1.75;
  overflow-wrap: anywhere;
}

.post-content h1,
.post-content h2,
.post-content h3,
.post-content h4,
.post-content h5,
.post-content h6 {
  margin-block: 1.75em 0.65em;
  color: var(--heading-color, #484aaa);
  font-family: var(--heading-font);
  font-size: revert !important;
  font-weight: 700;
  line-height: 1.3;
}

.post-content h1,
.post-content h1[style*="font-size"] { font-size: clamp(1.9rem, 3.5vw, 2.5rem) !important; }
.post-content h2,
.post-content h2[style*="font-size"] { font-size: clamp(1.65rem, 3vw, 2.1rem) !important; }
.post-content h3,
.post-content h3[style*="font-size"] { font-size: clamp(1.35rem, 2.4vw, 1.7rem) !important; }
.post-content h4,
.post-content h4[style*="font-size"] { font-size: 1.2rem !important; }

.post-content p,
.post-content ul,
.post-content ol,
.post-content blockquote {
  margin-block: 0 1.15em;
  font-size: 1rem !important;
  line-height: 1.75;
}

.post-content ul,
.post-content ol {
  padding-inline-start: 1.5rem;
}

.post-content ul {
  list-style: disc;
}

.post-content ol {
  list-style: decimal;
}

.post-content a {
  color: #1e3a8a;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.post-content [style],
.post-content font {
  color: inherit !important;
  font-family: inherit !important;
}

.post-content [style*="font-size"],
.post-content font[size] {
  font-size: inherit !important;
}

.post-content img,
.post-content video,
.post-content iframe {
  max-width: 100%;
}

.post-content img {
  height: auto !important;
}

@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }
}

@media (max-width: 767.98px) {
  button,
  .btn,
  .mobile-nav-toggle,
  #scroll-top {
    min-height: 44px;
  }

  .social-links a {
    display: inline-flex;
    min-width: 44px;
    min-height: 44px;
    align-items: center;
    justify-content: center;
  }
}
