/* ==========================================================================
   image_block — single image with configurable width/alignment, optional
   link and an optional title/sub-heading overlaid on it.
   ========================================================================== */

/* .biz-imgblock { padding: 3rem 0; } */
.biz-imgblock--bg-muted { background-color: #f9fafb; }

.biz-imgblock__inner {
  /* max-width: 1280px;
  margin: 0 auto;
  padding: 0 1.5rem; */
}

/* The overlay text sits on a fixed-height image, so it has to shrink with the
   viewport or it wraps over the whole picture on a phone. Both sizes reach
   their maximum at roughly a 1066px viewport and scale down from there. */
.biz-imgblock__title {
  color: #fff;
  font-family: var(--font-heading, 'Inter', sans-serif);
  font-weight: 700;
  font-size: clamp(1.15rem, .85rem + 1.5vw, 1.85rem);
  line-height: 1.25;
  margin: 0 0 .5rem;
  text-shadow: 0 1px 4px rgba(0, 0, 0, .65);
}
.biz-imgblock__subheading {
  color: #fff;
  font-size: clamp(.9rem, .8rem + .4vw, 1.05rem);
  line-height: 1.5;
  margin: 0;
  text-shadow: 0 1px 4px rgba(0, 0, 0, .65);
}

.biz-imgblock__figure {
  position: relative;
  display: flex;
}
.biz-imgblock__figure--align-left   { justify-content: flex-start; }
.biz-imgblock__figure--align-center { justify-content: center; }
.biz-imgblock__figure--align-right  { justify-content: flex-end; }

.biz-imgblock__media {
  width: var(--biz-imgblock-width, 100%);
  max-width: 100%;
}

.biz-imgblock__media a {
  display: block;
}

.biz-imgblock__media img {
  display: block;
  width: 100%;
  height: var(--biz-imgblock-height, 300px);
  object-fit: cover;
}

/* always vertically centered; capped at 1280px and centered on screen;
   horizontal position of the text within that box follows text_align */
.biz-imgblock__head {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  max-width: 1280px;
  padding: 0 1.5rem;
  box-sizing: border-box;
  pointer-events: none;
}
.biz-imgblock__head--align-left   { text-align: left; }
.biz-imgblock__head--align-center { text-align: center; }
.biz-imgblock__head--align-right  { text-align: right; }
