/* =========================================================
   1. Equal-height image/text sections
   Section class: equal-height
   Image block: block-inline-blockimage-embed
   ========================================================= */

.equal-height.layout-builder__layout:not(.background-image-card-block) {
  align-items: stretch;
}

.equal-height.layout-builder__layout:not(.background-image-card-block) > [class*="col-"] {
  display: flex;
  flex-direction: column;
}

.equal-height.layout-builder__layout:not(.background-image-card-block) > [class*="col-"] > .block {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}

.equal-height.layout-builder__layout:not(.background-image-card-block) .block-inline-blockimage-embed {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}

.equal-height.layout-builder__layout:not(.background-image-card-block) .block-inline-blockimage-embed .field--name-field-block-image {
  flex: 1 1 auto;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.equal-height.layout-builder__layout:not(.background-image-card-block) .block-inline-blockimage-embed .field--name-field-block-image > .field__item,
.equal-height.layout-builder__layout:not(.background-image-card-block) .block-inline-blockimage-embed .field--name-field-block-image .media,
.equal-height.layout-builder__layout:not(.background-image-card-block) .block-inline-blockimage-embed .field--name-field-block-image picture {
  width: 100%;
  height: 100%;
  display: block;
}

.equal-height.layout-builder__layout:not(.background-image-card-block) .block-inline-blockimage-embed .field--name-field-block-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}


/* =========================================================
   2. Background image card sections
   Section class: background-image-card-block
   Image field: field-card-image
   ========================================================= */

.background-image-card-block.layout-builder__layout {
  position: relative;
  overflow: hidden;
}

/* Keep Bootstrap columns flush */
.background-image-card-block.layout-builder__layout > [class*="col-"] {
  position: relative;
  z-index: 2;
  padding-left: 0;
  padding-right: 0;
}

/* Image field becomes the background */
.background-image-card-block .field--name-field-card-image {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
}

/* Drupal image wrappers */
.background-image-card-block .field--name-field-card-image > .field__item,
.background-image-card-block .field--name-field-card-image .media,
.background-image-card-block .field--name-field-card-image picture {
  width: 100%;
  height: 100%;
  display: block;
}

/* Background-style image behavior */
.background-image-card-block .field--name-field-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* Content stays above the background image */
.background-image-card-block .field:not(.field--name-field-card-image),
.background-image-card-block .block-field-blockblock-contentcardfield-heading,
.background-image-card-block .block-field-blockblock-contentcardfield-title-text,
.background-image-card-block .block-field-blockblock-contentcardbody {
  position: relative;
  z-index: 2;
}

/* Content spacing */
.background-image-card-block .field:not(.field--name-field-card-image) {
  padding-left: 3rem;
  padding-right: 3rem;
}

/* Eyebrow */
.background-image-card-block .field--name-field-heading {
  color: #fff;
  text-transform: uppercase;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  padding-top: 3.2rem;
  padding-bottom: 0;
  margin-top: 0;
  margin-bottom: 0.35rem;
}

/* Title */
.background-image-card-block .field--name-field-title-text {
  color: #fff;
  padding-top: 0;
  margin-top: 0;
  margin-bottom: 1rem;
}

/* Body */
.background-image-card-block .field--name-body {
  color: #fff;
  margin-top: 1rem;
  padding-bottom: 1.5rem;
}

/* Optional button cleanup inside body */
.background-image-card-block .field--name-body .btn {
  margin-top: 1rem;
  margin-bottom: 0;
}

/* Mobile spacing */
@media (max-width: 767px) {
  .background-image-card-block .field:not(.field--name-field-card-image) {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  .background-image-card-block .field--name-field-heading {
    padding-top: 2rem;
  }

  .background-image-card-block .field--name-body {
    padding-bottom: 2rem;
  }
}


/* =========================================================
   3. Equal-height background image card pairs
   Handles nested background-image-card-block rows from Layout Builder
   ========================================================= */

/* Outer two-card row only */
.w-100 > .background-image-card-block.layout-builder__layout {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
}

/* Direct two-column children */
.w-100 > .background-image-card-block.layout-builder__layout > .col-lg-6,
.w-100 > .background-image-card-block.layout-builder__layout > .col-md-6 {
  display: flex;
  flex-direction: column;
}

/* Card block inside each outer column */
.w-100 > .background-image-card-block.layout-builder__layout > [class*="col-"] > .block-inline-blockcard {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}

/* Direct card wrappers */
.w-100 > .background-image-card-block.layout-builder__layout > [class*="col-"] > .block-inline-blockcard > ._none,
.w-100 > .background-image-card-block.layout-builder__layout > [class*="col-"] > .block-inline-blockcard > ._none > .w-100 {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}

/* Inner background card row fills the matched height */
.w-100 > .background-image-card-block.layout-builder__layout > [class*="col-"] > .block-inline-blockcard > ._none > .w-100 > .background-image-card-block.layout-builder__layout {
  flex: 1 1 auto;
  min-height: 400px;
}

.card-image-background.block-field-blockblock-contentcardfield-heading {margin-top: 3rem;}
