/* BONJOUR SEO-016/R05 — single post unificado; solo entradas marcadas. */
.bonjour-v2--blog-article .bj-blog-article__content,
.bonjour-v2--blog-article .bj-blog-article__bottom {
  max-width: min(100%, 1000px);
}
.bonjour-v2--blog-article .bj-blog-article__content {
  width: 100%;
  font-size: 18px;
  line-height: 1.78;
}
.bonjour-v2--blog-article .bj-blog-article__cover {
  margin: 38px auto 46px;
  padding: clamp(10px, 1.8vw, 20px);
  width: min(100%, 940px);
  border: 1px solid #e1eaf4;
  border-radius: 22px;
  background: #f8fbff;
  box-shadow: 0 20px 54px rgba(13,52,92,.09);
}
.bonjour-v2--blog-article .bj-blog-article__cover img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  object-fit: contain;
  border-radius: 12px;
}
.bonjour-v2--blog-article .bj-blog-article__hero h1 {max-width: 1100px;}
/* Mismo contraste del footer V2, sin afectar otros tipos de páginas. */
.bonjour-v2.bonjour-v2--blog-article .bj-site-footer .bj-footer-column h2 {
  color: rgba(255,255,255,.74) !important;
}
.bonjour-v2.bonjour-v2--blog-article .bj-site-footer .bj-footer-cta h2 {
  color: #fff !important;
}
.bonjour-v2.bonjour-v2--blog-article .bj-site-footer .bj-footer-column a,
.bonjour-v2.bonjour-v2--blog-article .bj-site-footer .bj-footer-column a:visited {
  color: rgba(255,255,255,.88) !important;
}
@media (max-width: 680px) {
  .bonjour-v2--blog-article .bj-blog-article__content {font-size: 16px;line-height: 1.72;}
  .bonjour-v2--blog-article .bj-blog-article__cover {margin: 28px auto 34px;border-radius: 15px;}
}

/* SEO-018/R01 — relacionados: mismo lenguaje visual del Single Post V2. */
.bonjour-v2--blog-article .bj-blog-related {
  max-width: 1080px;
  margin: 48px auto 88px;
  padding-top: 30px;
  border-top: 1px solid #dce8f6;
}
.bonjour-v2--blog-article .bj-blog-related__heading { margin-bottom: 26px; }
.bonjour-v2--blog-article .bj-blog-related__eyebrow {
  display: block; color: #1465b9; text-transform: uppercase;
  letter-spacing: .11em; font-size: 12px; font-weight: 800; margin-bottom: 8px;
}
.bonjour-v2--blog-article .bj-blog-related__heading h2 {
  margin: 0 0 8px; color: #102b52; font-size: clamp(27px, 3vw, 38px);
  letter-spacing: -.025em; line-height: 1.15;
}
.bonjour-v2--blog-article .bj-blog-related__heading p {
  color: #51657c; font-size: 16px; line-height: 1.5; margin: 0;
}
.bonjour-v2--blog-article .bj-blog-related__grid {
  display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px;
}
.bonjour-v2--blog-article .bj-blog-related__card {
  min-width: 0; border: 1px solid #dfebf7; border-radius: 18px;
  background: #fff; box-shadow: 0 10px 30px rgba(13,52,92,.055);
  overflow: hidden; transition: transform .2s ease, box-shadow .2s ease;
}
.bonjour-v2--blog-article .bj-blog-related__card:hover {
  transform: translateY(-3px); box-shadow: 0 16px 38px rgba(13,52,92,.11);
}
.bonjour-v2--blog-article .bj-blog-related__link,
.bonjour-v2--blog-article .bj-blog-related__link:visited {
  display: flex; flex-direction: column; height: 100%; text-decoration: none;
  color: #102b52;
}
.bonjour-v2--blog-article .bj-blog-related__link:focus-visible {
  outline: 3px solid #1c85e6; outline-offset: -3px;
}
.bonjour-v2--blog-article .bj-blog-related__image {
  aspect-ratio: 3 / 2; overflow: hidden; background: #eaf2fb;
}
.bonjour-v2--blog-article .bj-blog-related__image img {
  display: block; width: 100%; height: 100%; object-fit: cover;
}
.bonjour-v2--blog-article .bj-blog-related__body {
  display: flex; flex: 1; flex-direction: column;
  align-items: flex-start; padding: 20px 20px 22px;
}
.bonjour-v2--blog-article .bj-blog-related__category {
  color: #1765ad; font-size: 12px; font-weight: 750;
  letter-spacing: .035em; margin-bottom: 12px;
}
.bonjour-v2--blog-article .bj-blog-related__body h3 {
  margin: 0 0 20px; color: #102b52; font-size: 18px;
  letter-spacing: -.01em; line-height: 1.35; font-weight: 750;
}
.bonjour-v2--blog-article .bj-blog-related__action {
  margin-top: auto; color: #075bb5; font-size: 14px; font-weight: 750;
}
.bonjour-v2--blog-article .bj-blog-related__preview {
  display: block; margin-top: -10px; margin-bottom: 14px;
  font-size: 12px; color: #6d7f91;
}
@media (max-width: 800px) {
  .bonjour-v2--blog-article .bj-blog-related__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 570px) {
  .bonjour-v2--blog-article .bj-blog-related { margin: 32px auto 60px; }
  .bonjour-v2--blog-article .bj-blog-related__grid { grid-template-columns: minmax(0,1fr); }
  .bonjour-v2--blog-article .bj-blog-related__body { padding: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .bonjour-v2--blog-article .bj-blog-related__card { transition: none; }
}
