/*
 * Typography for the generic WordPress content templates (page.php, single.php,
 * index.php, archive.php, search.php, 404.php) — i.e. old WPBakery pages and the
 * classic blog, NOT the designed marketing pages (home/about/contact/solutions/
 * industries/insights/privacy/what-we-do), which never output a .entry-content
 * wrapper and are completely unaffected by anything in this file.
 *
 * Deliberately NOT a max-width wrapper around .entry-content itself: that would
 * clip/break a WPBakery full-width row (vc_row / data-vc-full-width), which
 * relies on bleeding past its ancestors to reach the viewport edge. Instead, the
 * readable-width treatment is applied only to .entry-content's own typographic
 * children (p, headings, lists, etc.) — a WPBakery row/column is a <div>, so
 * these selectors never match it or constrain it. Tailwind Typography ("prose")
 * is not installed, so this is plain hand-written CSS using the theme's own
 * design tokens (see build/tailwind.config.js) rather than @apply.
 */

.entry-content {
  color: #0a1220;
  font-size: 1.125rem;
  line-height: 1.75;
}

.entry-content > p,
.entry-content > h1,
.entry-content > h2,
.entry-content > h3,
.entry-content > h4,
.entry-content > h5,
.entry-content > h6,
.entry-content > ul,
.entry-content > ol,
.entry-content > blockquote,
.entry-content > table,
.entry-content > figure,
.entry-content > .wp-block-image {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

.entry-content > * + * {
  margin-top: 1.5rem;
}

.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
  font-family: var(--font-display);
  font-weight: 700;
  line-height: 1.2;
  color: #0a1220;
}
.entry-content h1 { font-size: 2.25rem; }
.entry-content h2 { font-size: 1.875rem; margin-top: 2.5rem; }
.entry-content h3 { font-size: 1.5rem; margin-top: 2rem; }
.entry-content h4,
.entry-content h5,
.entry-content h6 { font-size: 1.25rem; margin-top: 1.75rem; }

.entry-content a {
  color: #1979ac;
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color 0.3s;
}
.entry-content a:hover { color: #0b367d; }

.entry-content ul,
.entry-content ol {
  padding-left: 1.5rem;
}
.entry-content ul { list-style: disc; }
.entry-content ol { list-style: decimal; }
.entry-content li + li { margin-top: 0.5rem; }

.entry-content blockquote {
  border-left: 3px solid #0b367d;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  padding-left: 1.25rem;
  font-style: italic;
  color: rgba(10, 18, 32, 0.75);
}

.entry-content table {
  width: 100%;
  border-collapse: collapse;
}
.entry-content th,
.entry-content td {
  border: 1px solid #e2e6ee;
  padding: 0.5rem 0.75rem;
  text-align: left;
}
.entry-content th { background: #f6f8fb; font-weight: 600; }

/* Images/embeds: always responsive, regardless of whether they sit inside a
   plain paragraph or an unconstrained WPBakery column. */
.entry-content img {
  max-width: 100%;
  height: auto;
  display: block;
}
.entry-content iframe,
.entry-content embed,
.entry-content object,
.entry-content video {
  max-width: 100%;
  width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;
  border: 0;
}

/* WordPress core alignment classes (classic editor content can still carry
   these even without the block editor in use). */
.entry-content .alignleft {
  float: left;
  margin: 0.25rem 1.5rem 1rem 0;
  max-width: 50%;
}
.entry-content .alignright {
  float: right;
  margin: 0.25rem 0 1rem 1.5rem;
  max-width: 50%;
}
.entry-content .aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.entry-content .alignwide,
.entry-content .alignfull {
  max-width: none;
  width: 100%;
}

/* WordPress caption shortcode / classic-editor caption markup. */
.entry-content .wp-caption {
  max-width: 100%;
}
.entry-content .wp-caption img {
  max-width: 100%;
  height: auto;
}
.entry-content .wp-caption-text,
.entry-content figcaption {
  margin-top: 0.5rem;
  font-size: 0.875rem;
  color: rgba(10, 18, 32, 0.55);
  text-align: center;
}

/* Simple post-list pagination (index.php / archive.php / search.php) and the
   default WP search form (404.php / search.php) — template chrome, not content,
   but kept in this file since it's only ever loaded alongside these templates. */
.daveron-pager .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.5rem;
  height: 2.5rem;
  padding: 0 0.75rem;
  margin: 0 0.25rem 0.5rem 0;
  border-radius: 9999px;
  border: 1px solid #e2e6ee;
  color: #0a1220;
  text-decoration: none;
  font-size: 0.875rem;
  font-weight: 600;
  transition: background-color 0.3s, color 0.3s, border-color 0.3s;
}
.daveron-pager .page-numbers:hover { border-color: #0b367d; color: #0b367d; }
.daveron-pager .page-numbers.current { background: #0b367d; border-color: #0b367d; color: #fff; }
.daveron-pager .page-numbers.dots { border: 0; }

.search-form {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: center;
}
.search-form .search-field {
  flex: 1 1 260px;
  max-width: 360px;
  padding: 0.75rem 1.125rem;
  border-radius: 9999px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  font-size: 0.95rem;
}
.search-form .search-field::placeholder { color: rgba(255, 255, 255, 0.6); }
.search-form .search-submit {
  padding: 0.75rem 1.5rem;
  border-radius: 9999px;
  background: #5fbeff;
  color: #0b367d;
  font-weight: 600;
  font-size: 0.875rem;
  border: 0;
  cursor: pointer;
  transition: background-color 0.3s;
}
.search-form .search-submit:hover { background: #fff; }
