/* Final Scoped Module CSS */

/* This rule is now specific to our module */
.visma-module-wrapper.compact-banner-module {
  padding-top: 16px !important;
  padding-bottom: 16px !important;
}

/* All rules below are now prefixed with our unique class to guarantee they apply */
.compact-banner-module .banner-block {
  --vertical-spacing: var(--space-24);
  --align: flex-start;
  --cta-top-margin: var(--space-16); /* This should now work reliably */
}

.compact-banner-module .banner-block .banner-block__images {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-24);
  align-items: var(--align);
  justify-content: var(--align);
}

.compact-banner-module .banner-block__text + .banner-block__images {
  margin-top: var(--vertical-spacing);
}

.compact-banner-module .banner-block__images:has(+ .banner-block__cta) {
  margin-bottom: calc(var(--vertical-spacing) - var(--cta-top-margin));
}

.compact-banner-module .banner-block__header:last-child {
  margin-bottom: 0;
}

.compact-banner-module .banner-block__image {
  display: inline-block;
  max-width: fit-content;
  object-fit: contain;
}

.compact-banner-module .banner-block__image.height-128,
.compact-banner-module .banner-block__image.height-192,
.compact-banner-module .banner-block__image.height-256 {
  max-width: 300px;
}

.compact-banner-module .banner-block p:last-child {
  margin-bottom: 0;
}

.compact-banner-module .banner-block__cta {
  margin-top: var(--cta-top-margin);
}

.compact-banner-module .banner-block.-center {
  --align: center;
  display: flex;
  flex-flow: column wrap;
  align-items: var(--align);
  text-align: center;
}

@media screen and (min-width: 1000px) {
  .compact-banner-module .banner-block {
    --vertical-spacing: var(--space-32);
    --cta-top-margin: var(--space-12);
  }

  .compact-banner-module .banner-block__text.-narrow {
    max-width: 70%;
  }
}