.zv-related-posts {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  margin-top: 2rem;
}
.zv-related-item {
  display: grid;
  grid-template-rows: auto 1fr;
  background: #fff;
  border: 1px solid rgba(0,0,0,.07);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 6px rgba(0,0,0,.05);
  transition: transform .2s ease, box-shadow .2s ease;
}
.zv-related-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(0,0,0,.08);
}
.zv-related-thumb img,
.zv-related-thumb--placeholder { display:block; width:100%; height:180px; object-fit:cover; background:#f3f4f6; }
.zv-related-content { padding: .9rem 1rem 1.1rem; }
.zv-related-title { margin: 0 0 .25rem; font-size: 1rem; line-height: 1.3; }
.zv-related-title a { text-decoration: none; }
.zv-related-title a:hover { text-decoration: underline; }
.zv-related-date { display:block; font-size:.85rem; color:#6b7280; margin-bottom:.25rem; }
.zv-related-excerpt { margin:.25rem 0 0; color:#374151; font-size:.95rem; }

/* Breadcrumb 2.1.0 — scoped, no Divi 4-only module dependency. */
.zv-breadcrumb {
  --zv-bc-bg: #f5f8fd;
  --zv-bc-text: #34445d;
  --zv-bc-link: #2865a6;
  --zv-bc-current: #263c56;
  --zv-bc-sep: #8799b2;
  --zv-bc-border: #e1eaf5;
  --zv-bc-font: 14px;
  --zv-bc-radius: 10px;
  --zv-bc-padding: 12px;
  --zv-bc-gap: 8px;
  box-sizing: border-box;
  font-size: var(--zv-bc-font);
  color: var(--zv-bc-text);
  line-height: 1.5;
  margin: .5rem 0 1rem;
  width: 100%;
}
.zv-breadcrumb *, .zv-breadcrumb *::before, .zv-breadcrumb *::after { box-sizing: border-box; }
.zv-breadcrumb .zv-breadcrumb__list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--zv-bc-gap);
  line-height: inherit;
}
.zv-breadcrumb .zv-breadcrumb__item {
  padding: 0 !important;
  margin: 0 !important;
  display: inline-flex;
  align-items: center;
  gap: var(--zv-bc-gap);
  max-width: 100%;
}
.zv-breadcrumb .zv-breadcrumb__item::before,
.zv-breadcrumb .zv-breadcrumb__item::after { content: none !important; }
.zv-breadcrumb .zv-breadcrumb__link,
.zv-breadcrumb .zv-breadcrumb__current {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: inherit;
  line-height: inherit;
  text-decoration: none;
  overflow-wrap: anywhere;
}
.zv-breadcrumb .zv-breadcrumb__link { color: var(--zv-bc-link); }
.zv-breadcrumb .zv-breadcrumb__link:hover { text-decoration: underline; }
.zv-breadcrumb .zv-breadcrumb__link:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.zv-breadcrumb .zv-breadcrumb__current { color: var(--zv-bc-current); font-weight: 650; }
.zv-breadcrumb .zv-breadcrumb__sep { color: var(--zv-bc-sep); flex: none; line-height: inherit; }
.zv-breadcrumb .zv-breadcrumb__home { display: inline-block; flex: none; }
.zv-breadcrumb--align-center .zv-breadcrumb__list { justify-content: center; }
.zv-breadcrumb--align-right .zv-breadcrumb__list { justify-content: flex-end; }
.zv-breadcrumb--align-left .zv-breadcrumb__list { justify-content: flex-start; }
.zv-breadcrumb--modern { background: var(--zv-bc-bg); border: 1px solid var(--zv-bc-border); border-radius: var(--zv-bc-radius); padding: var(--zv-bc-padding); }
.zv-breadcrumb--pills { padding: var(--zv-bc-padding) 0; }
.zv-breadcrumb--pills .zv-breadcrumb__link,
.zv-breadcrumb--pills .zv-breadcrumb__current {
  padding: .45em .75em;
  border-radius: var(--zv-bc-radius);
  background: var(--zv-bc-bg);
  border: 1px solid var(--zv-bc-border);
}
.zv-breadcrumb--classic { padding: var(--zv-bc-padding) 0; }
@media (max-width: 700px) {
 .zv-breadcrumb--mobile-scroll .zv-breadcrumb__list { flex-wrap: nowrap; width: 100%; overflow-x: auto; padding-bottom: 4px !important; }
 .zv-breadcrumb--mobile-scroll .zv-breadcrumb__item { flex: none; white-space: nowrap; }
 .zv-breadcrumb--mobile-collapse .zv-breadcrumb__item:not(:first-child):not(:last-child) { display: none; }
}
