/* ── Bambino promo banner — two rounded tiles ───────────────────────── */
.bmb-banner__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.bmb-banner__tile {
  position: relative; border-radius: 20px; overflow: hidden;
  min-height: 338px; display: flex;
}
.bmb-banner__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

/* Left: centered overlay title */
.bmb-banner__tile--left { align-items: center; justify-content: center; }
.bmb-banner__tile--left .bmb-banner__img { object-fit: contain; object-position: center; }
.bmb-banner__overlay-title {
  position: relative; z-index: 2; text-align: center; max-width: 70%;
  font-family: var(--bambino-font-display); font-weight: 700; font-size: clamp(1.75rem, 3vw, 2.25rem);
  color: var(--bambino-teal); line-height: 1.3;
}

/* Right: text + CTA, left-aligned, over image */
.bmb-banner__tile--right { align-items: center; }
.bmb-banner__body {
  position: relative; z-index: 2; padding: 44px 48px;
  display: flex; flex-direction: column; gap: 24px; align-items: flex-start; max-width: 380px;
}
.bmb-banner__heading { font-family: var(--bambino-font-display); font-weight: 700; font-size: clamp(1.6rem, 2.6vw, 2.125rem); color: var(--bambino-teal); line-height: 1.3; }
.bmb-banner__text { font-family: var(--bambino-font-body); font-weight: 500; font-size: 1rem; line-height: 1.4; color: var(--bambino-body); margin: 0; }
.bmb-banner__cta { font-size: 1rem; padding: 12px 30px; }

@media (max-width: 768px) {
  .bmb-banner__grid { grid-template-columns: 1fr; }
  .bmb-banner__tile { min-height: 240px; }
  .bmb-banner__body { padding: 30px 28px; }
}
