:where([data-block-type=cards-container]) {
  container-name: cards;
  container-type: inline-size;
}
:where([data-block-type=cards-container]):has(> .background-photo) {
  display: grid;
  grid-template-columns: 100%;
  gap: 0;
}
:where([data-block-type=cards-container]):has(> .background-photo) > .background-photo {
  grid-row: 1;
  grid-column: 1;
  z-index: 1;
  position: relative;
  background-color: var(--color-secondary-rich);
}
:where([data-block-type=cards-container]):has(> .background-photo) > .background-photo img {
  height: 100%;
  width: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  mix-blend-mode: multiply;
  opacity: 0.5;
}
:where([data-block-type=cards-container]):has(> .background-photo) .inner {
  grid-row: 1;
  grid-column: 1;
  z-index: 2;
  align-items: center;
}
:where([data-block-type=cards-container]) > .inner {
  display: grid;
  grid-template-columns: var(--base-grid);
  row-gap: var(--spacing-large);
}
:where([data-block-type=cards-container]).type-feature .card-item :is(h2, h3, h4, p) {
  text-align: center;
  font-weight: var(--font-weight-bold);
  color: var(--section-feature-color);
  text-transform: uppercase;
  font-family: var(--font-fancy);
  line-height: 1.5;
}
:where([data-block-type=cards-container]).type-property .card-item ul {
  display: grid;
  grid-template-columns: 100%;
  gap: var(--spacing-small);
  list-style: none;
  margin-block: 0;
  margin-inline: 0;
  padding-block: 0;
  padding-inline: 0;
}
:where([data-block-type=cards-container]).type-property .card-item[data-group=contact] ul {
  gap: var(--spacing-tiny);
}
:where([data-block-type=cards-container]).type-property .card-item li:not([class*=pt-]) {
  margin: 0;
  padding-inline: 0;
  padding-block: 0;
}
:where([data-block-type=cards-container]).type-property .card-item strong {
  display: block;
}
:where([data-block-type=cards-container]) .listing {
  --column-count: 1;
  display: grid;
  grid-column: 2/span 12;
  grid-auto-flow: row;
  grid-template-columns: 100%;
  row-gap: var(--spacing-medium);
  column-gap: var(--spacing-small);
}
:where([data-block-type=cards-container]) .listing:has(.card-item.has-background) {
  column-gap: var(--spacing-medium);
}
:where([data-block-type=cards-container]) .listing .heading-group {
  grid-column: 1/-1;
}
:where([data-block-type=cards-container]) .listing .cta-container {
  grid-column: 1/-1;
}
:where([data-block-type=cards-container]) .listing.col-1 {
  --column-count: 1;
  grid-template-columns: 100%;
}
@container cards (min-width: 460px) {
  :where([data-block-type=cards-container]) .listing {
    --column-count: 2;
    grid-template-columns: repeat(var(--column-count), 1fr);
  }
  :where([data-block-type=cards-container]) .listing:has(.quote-wrap) {
    --column-count: 1;
  }
}
@container cards (max-width: 889px) {
  :where([data-block-type=cards-container]) .listing.list-format {
    grid-template-columns: 100%;
  }
}
@container cards (min-width: 890px) {
  :where([data-block-type=cards-container]) .listing.col-2 {
    --column-count: 2;
  }
  :where([data-block-type=cards-container]) .listing.col-3 {
    --column-count: 3;
  }
  :where([data-block-type=cards-container]) .listing.col-4 {
    --column-count: 4;
  }
  :where([data-block-type=cards-container]) .listing.col-5 {
    --column-count: 5;
  }
}
:where([data-block-type=cards-container]) .listing .heading-group,
:where([data-block-type=cards-container]) .listing .wp-block-acf-heading-group,
:where([data-block-type=cards-container]) .listing .cta-container,
:where([data-block-type=cards-container]) .listing .wp-block-acf-cta-container {
  grid-column: 1/-1;
}
:where([data-block-type=cards-container]) .listing .cta-container .listing,
:where([data-block-type=cards-container]) .listing .wp-block-acf-cta-container .listing {
  grid-template-columns: auto;
}
:where([data-block-type=cards-container]) .listing.text-center {
  text-align: center;
}
:where([data-block-type=cards-container]) .listing .card-item figure:has(svg),
:where([data-block-type=cards-container]) .listing .card-item div.icon {
  position: relative;
}
:where([data-block-type=cards-container]) .listing .card-item figure:has(svg) svg,
:where([data-block-type=cards-container]) .listing .card-item div.icon svg {
  z-index: 2;
}
:where([data-block-type=cards-container]) .listing .card-item a:hover figure:has(svg):before,
:where([data-block-type=cards-container]) .listing .card-item a:hover div.icon:before {
  transform: scale(1.1) rotate(15deg);
}

[data-block-type=split] :where([data-block-type=cards-container].type-property) .listing {
  grid-column: 1/-1;
}

[data-block-type=cards-container].type-property .card-item[data-group=availability] {
  --card-color: transparent;
}
[data-block-type=cards-container].type-property .card-item[data-group=availability] ul {
  grid-template-columns: repeat(2, 1fr);
}