/*
 * MediRoyal Blog — CTA banner + contact band.
 * Scoped under body.log-blog-page.
 */

.log-blog-page .bl2-cta-banner {
  /* Blocksy's ".is-layout-constrained > *" rule forces margin-left/right:auto
     !important on every direct child of entry-content (this is a raw wp:html
     block, so no wrapper insulates it). Match with !important + higher
     selector specificity to win. */
  margin: 0 88px 72px !important;
  border-radius: var(--r-lg);
  background: linear-gradient(130deg, var(--plum-950), var(--plum-800) 55%, var(--plum-700));
  padding: 72px 64px;
  text-align: center;
  color: #fff;
  position: relative;
  overflow: hidden;
}

.log-blog-page .bl2-cta-banner h2 {
  font-family: var(--display);
  font-size: clamp(28px, 4vw, 46px);
  font-weight: 700;
  color: #fff;
  position: relative;
  z-index: 2;
  margin-bottom: 12px;
}

.log-blog-page .bl2-cta-banner h2 em {
  font-style: italic;
  color: var(--sage-400);
}

.log-blog-page .bl2-cta-banner p {
  color: rgba(255, 255, 255, 0.62);
  font-size: 15px;
  line-height: 1.7;
  max-width: 520px;
  margin: 0 auto 30px;
  position: relative;
  z-index: 2;
}

.log-blog-page .bl2-cta-btn-row {
  display: flex;
  gap: 14px;
  justify-content: center;
  flex-wrap: wrap;
  position: relative;
  z-index: 2;
}

.log-blog-page .bl2-contact-band {
  background: linear-gradient(160deg, var(--plum-900), var(--plum-700));
  padding: 64px 88px;
}

.log-blog-page .bl2-contact-band-grid {
  max-width: 1220px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 40px;
  flex-wrap: wrap;
}

.log-blog-page .bl2-cb-left h2 {
  font-family: var(--display);
  font-size: clamp(26px, 3vw, 38px);
  font-weight: 700;
  color: #fff;
  line-height: 1.1;
  margin-top: 10px;
}

.log-blog-page .bl2-cb-left h2 em {
  font-style: italic;
  color: var(--sage-400);
}

.log-blog-page .bl2-cb-left p {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.58);
  max-width: 360px;
  line-height: 1.7;
  margin-top: 12px;
}

.log-blog-page .bl2-cc-stack {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.log-blog-page .bl2-cc {
  display: flex;
  align-items: center;
  gap: 14px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: var(--r-md);
  padding: 14px 18px;
  transition: all 0.25s;
}

.log-blog-page .bl2-cc:hover {
  background: rgba(255, 255, 255, 0.1);
  transform: translateX(4px);
}

.log-blog-page .bl2-cc-ico {
  width: 40px;
  height: 40px;
  background: var(--sage-500);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 17px;
  flex-shrink: 0;
}

.log-blog-page .bl2-cc-lbl {
  font-size: 10.5px;
  color: rgba(255, 255, 255, 0.48);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 700;
}

.log-blog-page .bl2-cc-val {
  font-size: 13px;
  font-weight: 700;
  color: #fff;
}

.log-blog-page .bl2-cb-cta {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
